WO2006020968A2 - Systems and methods for remotely controlling computer applications - Google Patents

Systems and methods for remotely controlling computer applications Download PDF

Info

Publication number
WO2006020968A2
WO2006020968A2 PCT/US2005/028961 US2005028961W WO2006020968A2 WO 2006020968 A2 WO2006020968 A2 WO 2006020968A2 US 2005028961 W US2005028961 W US 2005028961W WO 2006020968 A2 WO2006020968 A2 WO 2006020968A2
Authority
WO
WIPO (PCT)
Prior art keywords
host computer
application
audio
video
receiver
Prior art date
Application number
PCT/US2005/028961
Other languages
French (fr)
Other versions
WO2006020968A3 (en
Inventor
Joseph Gerard Aguilar
Original Assignee
Cmware, Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Cmware, Inc. filed Critical Cmware, Inc.
Priority to CA002577087A priority Critical patent/CA2577087A1/en
Priority to JP2007525872A priority patent/JP2008510392A/en
Priority to AU2005272636A priority patent/AU2005272636A1/en
Priority to EP05786709A priority patent/EP1810165A2/en
Publication of WO2006020968A2 publication Critical patent/WO2006020968A2/en
Publication of WO2006020968A3 publication Critical patent/WO2006020968A3/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/436Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
    • H04N21/43615Interfacing a Home Network, e.g. for connecting the client to a plurality of peripherals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/65Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/70Media network packetisation

Definitions

  • the present invention relates to computer networks, and more particularly to content streaming.
  • This application provides a methods and systems where the processing power required for running a computer application is separated from devices that control the execution of the application remotely. This allows such devices to be simple and inexpensive.
  • Digital Media Receiver device to run, control and view arbitrary computer operating systems and applications (i.e., Microsoft Windows, Apple MacOS, Microsoft Word, Microsoft Internet Explorer, PC Video Games, Microsoft Media Player, Real Networks Media Player, etc.) that are hosted on remote computers.
  • the disclosed systems and methods provide for concurrent delivery and control of a host computer application via an audio and video stream and a network control channel.
  • the real-time audio and video streams are referred to as Application Interface Media Stream (AIMS).
  • AIMS Application Interface Media Stream
  • the AIMS is sent from the host computer to DMR over a computer network.
  • the DMR receives AIMS, decodes it, and renders it for display on a TV device.
  • the Host Computer application is controlled through the use of user controlled DMR control devices. Commands issued by the DMR control devices are sent to a Host Computer Application over a computer network, which in turn enables the update and control of the application GUI and video screen events and audio application interface output in response to these commands.
  • the DMR device to run, control and view a media player application hosted on a remote computer which is different from other applications in two ways: (1) the remote computer must have components for converting of media formats which the DMR is unable to decode to those that the DMR is able to decode, and (2) the media player application provides context switching so that the video of a file selected by the user completely replaces the GUI which facilitates the file selection on the TV display
  • the general operation of the preferred embodiment is a follows: first, a session is established between the DMR and the Host Computer; then concurrently the audio and video on the Host Computer is encoded in the time slices streams which are sent to the DMR and the DMR receives control messages from the user, which are encoded and sent to the Host Computer, where they are decoded and used to manipulate the execution of the application.
  • a method for controlling computer applications remotely comprises the steps of running a computer application on a host computer; establishing an electronic data communication between the host computer and a remote receiver over a media channel and an application control channel; sending application output from the host computer to the remote receiver over the media channel; presenting the application output at the remote receiver; and receiving at the host computer of a command related to the presented output from the remote receiver over the application control channel is disclosed.
  • a receiver for presentation and control of computer applications running on a remote host computer comprising: data handling means for establishing one or more communication channels between the receiver and the remote host; data processing means for decoding application output data received from the remote host; data control means for encoding control signals from the receiver to the remote host; and input means for entering control commands by a user of the receiver is disclosed.
  • Figure 1 is a block diagram of a system for controlling, displaying, transmitting and receiving a Host Computer's Application Interface through a plurality of control and media streams over a computer network;
  • Figure 2 is a block diagram of a system for controlling, displaying, transmitting and receiving a Host Computer's Media Player Application Interface as well as it's A/V media archive through a plurality of control and video streams over a computer network.
  • DMR Digital Media Receiver
  • the network interfaces 260 and 310 may be "wired" (i.e. IEEE 802.3 Ethernet) or wireless (i.e. IEEE 802.11) hardware devices that use Transmission Control Protocol/Internet Protocol (TCP/IP) stack 100 and 300, respectively.
  • TCP/IP Transmission Control Protocol/Internet Protocol
  • the stack may be provided as a software communications service and should at least provide standard TCP/IP and UDP/IP packet switched data communication channels between the DMR and any TCP/IP based device on the network, such as the Host Computer 91.
  • the network interfaces could also be USB, IEEE 1394, etc.
  • Session Setup and Control components are used to establish communication session between the DMR 90 and the Host Computer 91.
  • Session Setup and Control components on the DMR 250 may use Universal Plug and Play (UPnP) as outlined by UPnP Forum.
  • UDPnP Universal Plug and Play
  • the Session Setup and Control component 250 essentially provides: [0012] 1. An IP address for the DMR, using either static or Dynamic Host Control
  • DHCP DHCP based assignment
  • TCP/IP based socket connections between the DMR and the compliant Host Computers on the network. These socket connections are both TCP/IP and UDP/IP based communication channels. These socket connections carry Real-Time Video, Audio, and control messages between the DMR and the Host Computer.
  • DRM Digital Rights Management
  • a proprietary low complexity DRM scheme is intended to be run between the DMR and the Host Computer known as Light Weight DRM and that high complexity industry standard based DRM platforms will be terminated on the Host Computer.
  • an industry standard such as Digital Transmission Content Protocol (DTCP) can be used between the DMR 90 and Host Computer 91 to protect the media from illegal copying.
  • DTCP Digital Transmission Content Protocol
  • the Session Setup and Control component 305 essentially provides:
  • TCP/IP based socket connections between the Host computer and DMR' s on the network. These socket connections are both TCP/IP and UDP/IP based communication channels. These socket connections carry Real -Time Video, Audio, and control messages between the DMR and the Host Computer.
  • Application (Event Loop) 410 which runs on the Host Computer handles and processes all control events. It has direct access to all application sub-systems as well as the GUI interface.
  • Application Sound component 430 generates audio specific to the application such as operating system sound beeps, or audio indicators that are generated as a GUI auditory aid.
  • the Audio Encoder 420 compresses the audio streams using compression codecs that are compatible with those used on the DMR device.
  • Application Window (GUI) 490 is an actual window or set of windows and dialog boxes that make up the user interface of the application.
  • the Window Video Encoder 480 generates a raw video stream by sampling the video buffer within the region of memory occupied by the application's GUI window on the Host Computer 91.
  • the resolution and scan structure of the video is then resampled to an optimal display format supported and previously negotiated by the DMR during the Session Setup.
  • Typical video resolution formats are as follows: interlaced or progressive 720 x 480 pixels for standard definition NTCS-TV or 72Op, 108Oi, 108Op HDTV.
  • the raw video frame rate is then resampled to an optimal display rate supported by the DMR hardware.
  • the raw video is then passed on the Video Encoder 470 which compresses the video streams using compressing codecs that are compatible with those used on the DMR device.
  • the two compressed streams, audio and video, are then sent to the Audio/Video (A/V) Media component 460, which maintains the information regarding system time synchronization between the audio and video streams resulting from the application 410.
  • the A/V Media component 460 also constructs the Audio/Video stream formats used during the Real-time Transfer Protocol (RTP) sessions.
  • RTP Real-time Transfer Protocol
  • the Audio /Video media packets are encrypted by the Encryption component 450 using the encryption key negotiated during the session setup process by the Session Setup and Control component 305.
  • RTP Streaming Engine 440 packetizes A/V data using RTP and forwards the packets to the DMR via the IP network over the Network Interface 310, where appropriate headers are appended to the packets by TCP/IP stack 300 over Media Stream Channel 22. It should be noted that RTP can be replaced with Hyper Text Transfer Protocol (HTTP), or any packetized streaming media format.
  • HTTP Hyper Text Transfer Protocol
  • the DMR receives the media streams on its Network Interface 260 and processes the packets extracting the payload by its TCP/IP stack 100.
  • the A/V Jitter Buffer 110 manages the receipt, synchronization and sequencing of all real-time media packets that are sent to the DMR. It separates the packets into stream type (audio and video) and then manages the optimum Jitter Buffer length based on the joint inter-arrival time of each media stream.
  • the Decryption component 120 decrypts all the encrypted media packets that are sent to the DMR with the decryption key which was provided to it during session setup by the Session Setup and Control component 250.
  • A/V Framer 130 separates the decrypted audio and video packets from the A/V Jitter Buffer 110 and encapsulates them into hardware dependent media stream formats.
  • the video stream is then forwarded to the Video Decoder 140 which takes video frames from the A/V Framer 130 and decodes them into a raw video stream.
  • the raw video stream is then forwarded to the NTSC/PAL Encoder 150, which converts it either to NTSC or PAL format depending on the country of operation specified.
  • the analog NTSC/PAL signal is then forwarded to the TV Video Out component 160 which takes the analog video signal from the NTSC/PAL Encoder 150, power amplifies the signal and sends it to a standard TV out interface such as composite, interlaced component, or progressive component.
  • the audio stream is forwarded to the Audio Decoder 170 which takes the compressed audio signal channels(s) from the A/V Framer 130 and decompresses them into linear pcm channel(s).
  • the linear pcm channel(s) are then forwarded to the 5.1 D/A converter 180 which converts the linear pcm audio signal channel(s) from the Audio Decoder component 170 to analog audio signal channels.
  • the Audio Out 190 component provides both an analog and digital interface mode of operation.
  • the analog mode of operation takes the low level audio analog signal from the 5.1 D/A converter 180 and provides power amplification on the audio signal before sending it over a standard multi-channel Radio Corporation of America (RCA) audio out interface.
  • the digital mode of operation takes the raw digital channels from the 5.1 D/A converter 180 and outputs them over optical or electrical Sony/Philips Digital Interface Format (S/PDIF).
  • the Control In component 230 is a physical interface by which any controlling devices (i.e. keyboard 231, Mouse 232, joystick 233, infrared (IR) remote control device 240) communicates with the DMR 90.
  • the controlling devices are used by the user to manipulate and navigate through the application interface displayed by the DMR as well as to control and manipulate the playback of arbitrary stream of media (i.e., video, audio, photos) through the DMR.
  • the Decode Control component 210 decodes the electrical control messages received from the controlling devices 231, 232, 233, and 240 by the Control In component 230 into a data control code. For example, when a button is depressed on the IR remote 240, an electrical signal is generated within the Control In component 230. This electrical signal corresponds to a physical button that was depressed on the IR remote 240. The Decode Control component 210 then maps this signal into the data control code which corresponds to the physical button that was depressed. The decoded control message is then encapsulated by the Encapsulation component 200. Any control protocol can be used in this component. Typical examples are Real Time Streaming Protocol (RTSP), and HTTP.
  • RTSP Real Time Streaming Protocol
  • the encapsulated message is then sent over the Network Interface 260 via TCP/IP Application Control Channel 24 to the Host Computer 91.
  • the Host Computer 91 receives the packets on its Network Interface 310 and processes them by the TCP/IP stack 300. It then passes the payloads of these packets to the Decoder 400 which decodes the control messages from the DMRs and forwards them to the appropriate application on the Host Computer.
  • the control protocol used here can also be translated to other control protocols in order to support arbitrary applications. For example the proprietary low memory/complexity protocol can be translated to RTSP or HTTP so that it may support Digital Home Working Group (DHWG) compliant hosting applications.
  • the Decoder 400 then forwards the control messages to the Application (Event Loop) 410, which handles and processes all control events.
  • the second embodiment of the invention is schematically illustrated in FIG. 2, where the Host Computer with Media Player 92 is utilized.
  • the Host Computer 92 has several additional components compared to the Host Computer 91 of the first embodiment.
  • the Host Computer with Media Player 92 contains a Media Location Database (DB) 570 which contains information regarding the type, format, name and computer addressable location of every audio, video, and photo file available for computer access.
  • the Media Location DB 570 interfaces with A/V Archive 520 that is the location where the audio and video files are physically stored for computer retrieval and Photo Archive 560 that is the location where the photo files are physically stored for computer retrieval.
  • A/V Archive 520 and Photo Archive 560 can be local to the Host Computer 92 or stored on the network (IP, IEEE 1394, USB, etc.) device attached to the Host Computer 92.
  • the Media Location DB 570 communicates with the Application 410, so the content of the database may be transferred to the DMR 90.
  • the file is an audio or video file, or a static photograph. If an audio or video file is requested by the user at the DMR 90, the Application 410 will access the A/V Parser 530 which converts audio and video files into seekable packetized media streams.
  • the A/V Parser 510 supports common media control commands such as play, pause, stop, fast forward, rewind, and seekable rate with and without time scale modification, etc. These commands are supported through primitive file seek and read commands.
  • the A/V Parser 510 locates the index within the file that corresponds to the absolute time requested by the DMR it proceeds to send frames of audio or time synchronized frames of audio and video to the respective transcoder components along with an absolute real-time stamp of each packet of media.
  • the absolute real-time stamp is used to identify fast forward and rewind commands that require the media to be resampled in time by subsequent processing components within the system.
  • the Audio Transcoder 500 is used to reformat audio channels which are not stored in formats supported by the DMR 90. This is achieved by first decompressing the audio channels into raw audio and then recompressing it with a compression format supported by the DMR 90.
  • the DMR supported audio compression formats are negotiated during session setup. If the absolute real-time stamp and sampling frequency are different than the original sampling frequency time scale modification is performed over the audio packets.
  • the time scale modification can either be continuous (with or without pitch scale modification) or discrete depending on the user's preference.
  • the Video Transcoder 530 is used to reformat video channels which are not stored in formats supported by the DMR 90. This is achieved by first decompressing the video channels into raw video and then recompressing them with a compression format supported by the DMR 90.
  • the DMR supported video compression formats are negotiated during session setup. If the absolute real-time stamp and sampling frequency are different than the original sampling frequency time scale modification is performed over the video packets. The time scale modification can either be continuous or discrete depending on the users preference.
  • the selected file is an audio file, there is not video channel and the Video Transcoder 530 is not used.
  • the Photo Parser 550 converts the photographs into a raw video stream. It performs this by first decompressing the photograph into a raw still image frame. The still image frame is then resampled to a video resolution and scan structure supported and previously negotiated by the DMR device 90 during session setup. Typical video resolution formats are as follows: interlaced or progressive 720 x 480 pixels for standard definition NTCS-TV or 72Op, 108Oi, 1080p HDTV. The video frame is then repeated at a frame rate supported by the DMR hardware. For example, based on the knowledge that the DMR supports NTSC devices, the optimal NTSC frame rate will be selected.
  • the raw video is then passed on to the Video Encoder 540, which is similar to Video Encoder 470, and then to Video Transcoder 530.
  • the outputs of Audio Transcoder 500 and Video Transcoder 530 are then passed to A/V Media component 460, and then processed and sent to the DMR 90 according to the method described for the first embodiment.
  • the context is switched. In other words, the video completely replaces the GUI seen by the user.
  • the playback of the selected file may be interrupted by the user's request and the context can be switched back at any point.

Abstract

A modular system and method is for displaying and controlling a host computer application interface using a real-time video and control stream to a remote digital media receiver client is disclosed. The continuous graphical display pixels and audio of a host computer application interface window are divided into time segments of a predetermined length. These segments are then subsequently coded as video and audio streams. These video and audio streams are then sent to a remote digital media receiver client where they are decoded for display on a television device or played back on an audio system. The host computer application interface is controlled by user commands that originate at the remote digital media receiver client. The commands are sent over a control channel that is established between the host computer and the digital media receiver.

Description

SYSTEMS AND METHODS FOR REMOTELY CONTROLLING COMPUTER
APPLICATIONS
This application is a continuation in part of a utility application Serial No. 11/068,612, filed on February 28, 2005, incorporated herein by reference, that claims priority of provisional application Serial No. 60/548,726, filed on February 27, 2004, and this application also claims priority of provisional application Serial No. 60/601,244 filed on August 13, 2004.
FIELD OF THE INVENTION
[0001] The present invention relates to computer networks, and more particularly to content streaming.
BACKGROUND OF THE INVENTION
Currently, there is a perceived need for devices capable of both remotely controlling the execution of a computer application running on a remote host and presenting the application output. Such devices should be robust and should be able to decode encrypted data sent from the remote host. An example includes remotely controlling a media player and viewing its output.
This application provides a methods and systems where the processing power required for running a computer application is separated from devices that control the execution of the application remotely. This allows such devices to be simple and inexpensive.
SUMMARY OF THE INVENTION
[0002] In a preferred embodiment, the system and method disclosed herein enable a
Digital Media Receiver (DMR) device to run, control and view arbitrary computer operating systems and applications (i.e., Microsoft Windows, Apple MacOS, Microsoft Word, Microsoft Internet Explorer, PC Video Games, Microsoft Media Player, Real Networks Media Player, etc.) that are hosted on remote computers. The disclosed systems and methods provide for concurrent delivery and control of a host computer application via an audio and video stream and a network control channel. The real-time audio and video streams are referred to as Application Interface Media Stream (AIMS). The AIMS is sent from the host computer to DMR over a computer network. The DMR then receives AIMS, decodes it, and renders it for display on a TV device. The Host Computer application is controlled through the use of user controlled DMR control devices. Commands issued by the DMR control devices are sent to a Host Computer Application over a computer network, which in turn enables the update and control of the application GUI and video screen events and audio application interface output in response to these commands.
[0003] In another aspect, the system and methods of this application also enable the
DMR device to run, control and view a media player application hosted on a remote computer which is different from other applications in two ways: (1) the remote computer must have components for converting of media formats which the DMR is unable to decode to those that the DMR is able to decode, and (2) the media player application provides context switching so that the video of a file selected by the user completely replaces the GUI which facilitates the file selection on the TV display
[0004] The general operation of the preferred embodiment is a follows: first, a session is established between the DMR and the Host Computer; then concurrently the audio and video on the Host Computer is encoded in the time slices streams which are sent to the DMR and the DMR receives control messages from the user, which are encoded and sent to the Host Computer, where they are decoded and used to manipulate the execution of the application.
[0005] In particular, in one aspect, a method for controlling computer applications remotely is disclosed that comprises the steps of running a computer application on a host computer; establishing an electronic data communication between the host computer and a remote receiver over a media channel and an application control channel; sending application output from the host computer to the remote receiver over the media channel; presenting the application output at the remote receiver; and receiving at the host computer of a command related to the presented output from the remote receiver over the application control channel is disclosed.
[0006] Also described is a receiver for presentation and control of computer applications running on a remote host computer, comprising: data handling means for establishing one or more communication channels between the receiver and the remote host; data processing means for decoding application output data received from the remote host; data control means for encoding control signals from the receiver to the remote host; and input means for entering control commands by a user of the receiver is disclosed. BRIEF DESCRIPTION OF THE DRAWINGS
[0007] Embodiments described in this application may be understood more fully by reference to the following detailed description of the preferred embodiments, and the appended figures in which:
[0008] Figure 1 is a block diagram of a system for controlling, displaying, transmitting and receiving a Host Computer's Application Interface through a plurality of control and media streams over a computer network;
[0009] Figure 2 is a block diagram of a system for controlling, displaying, transmitting and receiving a Host Computer's Media Player Application Interface as well as it's A/V media archive through a plurality of control and video streams over a computer network.
DETAILED DESCRIPTION OF THE EMBODIMENTS
[0010] In the first embodiment of the invention schematically illustrated in FIG. 1, there is a Digital Media Receiver (DMR) 90 (which could be a network enabled DVD player, a personal computer running software specialized to support the DMR functions, etc.) with its network interface 260 connected to the network interface 310 of the Host Computer 91. The network interfaces 260 and 310 may be "wired" (i.e. IEEE 802.3 Ethernet) or wireless (i.e. IEEE 802.11) hardware devices that use Transmission Control Protocol/Internet Protocol (TCP/IP) stack 100 and 300, respectively. The stack may be provided as a software communications service and should at least provide standard TCP/IP and UDP/IP packet switched data communication channels between the DMR and any TCP/IP based device on the network, such as the Host Computer 91. The network interfaces could also be USB, IEEE 1394, etc.
[0011] Session Setup and Control components are used to establish communication session between the DMR 90 and the Host Computer 91. Session Setup and Control components on the DMR 250 may use Universal Plug and Play (UPnP) as outlined by UPnP Forum. For the DMR the Session Setup and Control component 250 essentially provides: [0012] 1. An IP address for the DMR, using either static or Dynamic Host Control
Protocol (DHCP) based assignment;
[0013] 2. A method for discovering and connecting a compliant Host Computers on the network to DMR.
[0014] 3. A method for negotiating, establishing and tearing down session based
TCP/IP based socket connections between the DMR and the compliant Host Computers on the network. These socket connections are both TCP/IP and UDP/IP based communication channels. These socket connections carry Real-Time Video, Audio, and control messages between the DMR and the Host Computer.
[0015] 4. When applicable it also negotiates encryption decryption keys for secure communication channels as well as Digital Rights Management (DRM) schemes. It then forwards the decryption keys to the Decryption component 120 of the DMR 90. It should be noted that in the preferred embodiment a proprietary low complexity DRM scheme is intended to be run between the DMR and the Host Computer known as Light Weight DRM and that high complexity industry standard based DRM platforms will be terminated on the Host Computer. Alternatively an industry standard such as Digital Transmission Content Protocol (DTCP) can be used between the DMR 90 and Host Computer 91 to protect the media from illegal copying.
[0016] For the Host Computer 91, the Session Setup and Control component 305 essentially provides:
[0017] 1. A method for discovering and connecting the DMR devices on the network.
[0018] 2. A method for negotiating, establishing and tearing down session based
TCP/IP based socket connections between the Host computer and DMR' s on the network. These socket connections are both TCP/IP and UDP/IP based communication channels. These socket connections carry Real -Time Video, Audio, and control messages between the DMR and the Host Computer.
[0019] 3. When applicable it also negotiates Encryption/Decryption Keys for secure communication channels as well as Digital Rights Management (DRM) platforms. It then forwards the decryption keys to the Encryption component 450 of the Host Computer 91. [0020] This exchange occurs over a session control channel 20. Once the session between the DMR and the Host Computer is established, the media streams may be sent from the Host Computer 91 to the DMR 90 over Media Stream Channel 22, and the control messages may be sent from the DMR 90 to the Host Computer 91 over Application Control Channel 24.
[0021] Application (Event Loop) 410 which runs on the Host Computer handles and processes all control events. It has direct access to all application sub-systems as well as the GUI interface. Application Sound component 430 generates audio specific to the application such as operating system sound beeps, or audio indicators that are generated as a GUI auditory aid. The Audio Encoder 420 compresses the audio streams using compression codecs that are compatible with those used on the DMR device. Application Window (GUI) 490 is an actual window or set of windows and dialog boxes that make up the user interface of the application. The Window Video Encoder 480 generates a raw video stream by sampling the video buffer within the region of memory occupied by the application's GUI window on the Host Computer 91. The resolution and scan structure of the video is then resampled to an optimal display format supported and previously negotiated by the DMR during the Session Setup. Typical video resolution formats are as follows: interlaced or progressive 720 x 480 pixels for standard definition NTCS-TV or 72Op, 108Oi, 108Op HDTV. The raw video frame rate is then resampled to an optimal display rate supported by the DMR hardware. The raw video is then passed on the Video Encoder 470 which compresses the video streams using compressing codecs that are compatible with those used on the DMR device. The two compressed streams, audio and video, are then sent to the Audio/Video (A/V) Media component 460, which maintains the information regarding system time synchronization between the audio and video streams resulting from the application 410. The A/V Media component 460 also constructs the Audio/Video stream formats used during the Real-time Transfer Protocol (RTP) sessions. Then the Audio /Video media packets are encrypted by the Encryption component 450 using the encryption key negotiated during the session setup process by the Session Setup and Control component 305. [0022] RTP Streaming Engine 440 packetizes A/V data using RTP and forwards the packets to the DMR via the IP network over the Network Interface 310, where appropriate headers are appended to the packets by TCP/IP stack 300 over Media Stream Channel 22. It should be noted that RTP can be replaced with Hyper Text Transfer Protocol (HTTP), or any packetized streaming media format.
[0023] The DMR receives the media streams on its Network Interface 260 and processes the packets extracting the payload by its TCP/IP stack 100. The A/V Jitter Buffer 110 manages the receipt, synchronization and sequencing of all real-time media packets that are sent to the DMR. It separates the packets into stream type (audio and video) and then manages the optimum Jitter Buffer length based on the joint inter-arrival time of each media stream. The Decryption component 120 decrypts all the encrypted media packets that are sent to the DMR with the decryption key which was provided to it during session setup by the Session Setup and Control component 250. A/V Framer 130 separates the decrypted audio and video packets from the A/V Jitter Buffer 110 and encapsulates them into hardware dependent media stream formats. The video stream is then forwarded to the Video Decoder 140 which takes video frames from the A/V Framer 130 and decodes them into a raw video stream. The raw video stream is then forwarded to the NTSC/PAL Encoder 150, which converts it either to NTSC or PAL format depending on the country of operation specified. The analog NTSC/PAL signal is then forwarded to the TV Video Out component 160 which takes the analog video signal from the NTSC/PAL Encoder 150, power amplifies the signal and sends it to a standard TV out interface such as composite, interlaced component, or progressive component.
[0024] The audio stream is forwarded to the Audio Decoder 170 which takes the compressed audio signal channels(s) from the A/V Framer 130 and decompresses them into linear pcm channel(s). The linear pcm channel(s) are then forwarded to the 5.1 D/A converter 180 which converts the linear pcm audio signal channel(s) from the Audio Decoder component 170 to analog audio signal channels. The Audio Out 190 component provides both an analog and digital interface mode of operation. The analog mode of operation takes the low level audio analog signal from the 5.1 D/A converter 180 and provides power amplification on the audio signal before sending it over a standard multi-channel Radio Corporation of America (RCA) audio out interface. The digital mode of operation takes the raw digital channels from the 5.1 D/A converter 180 and outputs them over optical or electrical Sony/Philips Digital Interface Format (S/PDIF).
[0025] As audio and video information is transferred to DMR 90 from the Host
Computer 91 the user at the DMR 90 may control the execution of the application on the Host Computer 91. The Control In component 230 is a physical interface by which any controlling devices (i.e. keyboard 231, Mouse 232, joystick 233, infrared (IR) remote control device 240) communicates with the DMR 90. The controlling devices are used by the user to manipulate and navigate through the application interface displayed by the DMR as well as to control and manipulate the playback of arbitrary stream of media (i.e., video, audio, photos) through the DMR.
[0026] The Decode Control component 210 decodes the electrical control messages received from the controlling devices 231, 232, 233, and 240 by the Control In component 230 into a data control code. For example, when a button is depressed on the IR remote 240, an electrical signal is generated within the Control In component 230. This electrical signal corresponds to a physical button that was depressed on the IR remote 240. The Decode Control component 210 then maps this signal into the data control code which corresponds to the physical button that was depressed. The decoded control message is then encapsulated by the Encapsulation component 200. Any control protocol can be used in this component. Typical examples are Real Time Streaming Protocol (RTSP), and HTTP. The encapsulated message is then sent over the Network Interface 260 via TCP/IP Application Control Channel 24 to the Host Computer 91. The Host Computer 91 receives the packets on its Network Interface 310 and processes them by the TCP/IP stack 300. It then passes the payloads of these packets to the Decoder 400 which decodes the control messages from the DMRs and forwards them to the appropriate application on the Host Computer. It should be noted that the control protocol used here can also be translated to other control protocols in order to support arbitrary applications. For example the proprietary low memory/complexity protocol can be translated to RTSP or HTTP so that it may support Digital Home Working Group (DHWG) compliant hosting applications. The Decoder 400 then forwards the control messages to the Application (Event Loop) 410, which handles and processes all control events.
[0027] The second embodiment of the invention is schematically illustrated in FIG. 2, where the Host Computer with Media Player 92 is utilized. In this embodiment, the Host Computer 92 has several additional components compared to the Host Computer 91 of the first embodiment. Specifically, the Host Computer with Media Player 92 contains a Media Location Database (DB) 570 which contains information regarding the type, format, name and computer addressable location of every audio, video, and photo file available for computer access. The Media Location DB 570 interfaces with A/V Archive 520 that is the location where the audio and video files are physically stored for computer retrieval and Photo Archive 560 that is the location where the photo files are physically stored for computer retrieval. A/V Archive 520 and Photo Archive 560 can be local to the Host Computer 92 or stored on the network (IP, IEEE 1394, USB, etc.) device attached to the Host Computer 92. The Media Location DB 570 communicates with the Application 410, so the content of the database may be transferred to the DMR 90. Once the user at the DMR selects a file which he wants to retrieve, and this information is propagated to the Application 410 from the DMR 90, two situation are possible: the file is an audio or video file, or a static photograph. If an audio or video file is requested by the user at the DMR 90, the Application 410 will access the A/V Parser 530 which converts audio and video files into seekable packetized media streams. The A/V Parser 510 supports common media control commands such as play, pause, stop, fast forward, rewind, and seekable rate with and without time scale modification, etc. These commands are supported through primitive file seek and read commands. Once the A/V Parser 510 locates the index within the file that corresponds to the absolute time requested by the DMR it proceeds to send frames of audio or time synchronized frames of audio and video to the respective transcoder components along with an absolute real-time stamp of each packet of media. The absolute real-time stamp is used to identify fast forward and rewind commands that require the media to be resampled in time by subsequent processing components within the system.
[0028] The Audio Transcoder 500 is used to reformat audio channels which are not stored in formats supported by the DMR 90. This is achieved by first decompressing the audio channels into raw audio and then recompressing it with a compression format supported by the DMR 90. The DMR supported audio compression formats are negotiated during session setup. If the absolute real-time stamp and sampling frequency are different than the original sampling frequency time scale modification is performed over the audio packets. The time scale modification can either be continuous (with or without pitch scale modification) or discrete depending on the user's preference.
[0029] The Video Transcoder 530 is used to reformat video channels which are not stored in formats supported by the DMR 90. This is achieved by first decompressing the video channels into raw video and then recompressing them with a compression format supported by the DMR 90. The DMR supported video compression formats are negotiated during session setup. If the absolute real-time stamp and sampling frequency are different than the original sampling frequency time scale modification is performed over the video packets. The time scale modification can either be continuous or discrete depending on the users preference. When the selected file is an audio file, there is not video channel and the Video Transcoder 530 is not used.
[0030] When a user selects a digital photographs for retrieval, the Photo Parser 550 converts the photographs into a raw video stream. It performs this by first decompressing the photograph into a raw still image frame. The still image frame is then resampled to a video resolution and scan structure supported and previously negotiated by the DMR device 90 during session setup. Typical video resolution formats are as follows: interlaced or progressive 720 x 480 pixels for standard definition NTCS-TV or 72Op, 108Oi, 1080p HDTV. The video frame is then repeated at a frame rate supported by the DMR hardware. For example, based on the knowledge that the DMR supports NTSC devices, the optimal NTSC frame rate will be selected. The raw video is then passed on to the Video Encoder 540, which is similar to Video Encoder 470, and then to Video Transcoder 530. [0031] The outputs of Audio Transcoder 500 and Video Transcoder 530 are then passed to A/V Media component 460, and then processed and sent to the DMR 90 according to the method described for the first embodiment. When the user at the DMR 90 requests a media file from the Host Computer 92, the context is switched. In other words, the video completely replaces the GUI seen by the user. The playback of the selected file may be interrupted by the user's request and the context can be switched back at any point. [0032] The invention described and claimed herein is not to be limited in scope by the exemplary embodiments herein disclosed, since these embodiments are intended as illustrations of several aspects of the invention. Any equivalent embodiments are intended to be within the scope of this invention. Indeed, various modifications of the invention in addition to those shown and described herein will become apparent to those skilled in the art from the foregoing description. Such modifications are also intended to fall within the scope of the appended claims.

Claims

CLAIMSWE CLAIM:
1. A method for controlling computer applications remotely, comprising the steps of: running a computer application on a host computer; establishing an electronic data communication between the host computer and a remote receiver over (1) media channel and (2) an application control channel; sending application output from the host computer to the remote receiver over the media channel; presenting the application output at the remote receiver; and receiving at the host computer of a command related to the presented output from the remote receiver over the application control channel.
2. The method of claim 1 further comprising the step of modifying the presentation of the application output at the remote receiver in response to the received command.
3. The method of claim 1, wherein the application output comprises user interface and sounds.
4. The method of claim 1, wherein the step of establishing electronic data communication comprises: obtaining a network address for the remote receiver; and negotiating parameters associated with the media channel and the application control channel.
5. The method of claim 1, wherein establishing the electronic data communication is in accordance with the Universal Plug and Play standard.
6. The method of claim 4 wherein the host computer and the remote receiver are connected by IP computer network.
7. The method of claim 6 wherein the step of negotiating comprises exchanging encryption and decryption keys between the remote receiver and the host computer.
8. The method of claim 7 further comprising: encrypting the output of the application on the host computer; and decrypting the output of the application on the remote receiver.
9. The method of claim 6 wherein the step of sending further comprises: encoding the user interface into a video format which the remote receiver is capable of decoding; encoding the sounds into an audio format which the remote receiver is capable of decoding; combining the encoded video and the encoded audio into an audio/video stream; formatting the audio/video stream into date packets.
10. The method of claim 6 wherein the step of presenting further comprises: sending the packets to the remote receiver; reconstructing the audio/video stream from the packets on the remote receiver; separating the encoded audio and the encoded video; decoding the video of the graphical user interface; sending the video of the graphical user interface to a video output device; decoding the audio of the application sounds; and sending the audio of the application sounds to an audio output device.
11. The method of claim 6 wherein the application executed by the host computer is a media player, and the method further comprises the steps of: displaying at the remote receiver a user interface for browsing through one or more media files accessible by the host computer; receiving at the host computer a selection of one or more media files, the selection being made at the remote receiver; and sending the selected one or more media files from the host computer to the remote receiver.
12. The method of claim 11 further comprising packaging the media files with Digital Right Management (DRM) platform.
13. The method of claim 11 , wherein encrypting of media files is performed with a standard implementation of the Digital Right Management (DRM) platform.
14. The method of claim 12, wherein decrypting of media files is performed with a limited implementation of the Digital Right Management (DRM) platform.
15. A receiver for presentation and control of computer applications running on a remote host computer, comprising: data handling means for establishing one or more communication channels between the receiver and the remote host; data processing means for decoding application output data received from the remote host; data control means for encoding control signals from the receiver to the remote host; and input means for entering control commands by a user of the receiver.
16. The receiver of claim 16 capable of automatically obtaining a computer network address.
17. The receiver of claim 16 comprising means for decrypting encrypted application output data received from the remote host.
18. The receiver of claim 16 comprising means for decrypting data packaged with the Digital Rights Management (DRM) platform.
PCT/US2005/028961 2004-08-13 2005-08-15 Systems and methods for remotely controlling computer applications WO2006020968A2 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CA002577087A CA2577087A1 (en) 2004-08-13 2005-08-15 Systems and methods for remotely controlling computer applications
JP2007525872A JP2008510392A (en) 2004-08-13 2005-08-15 System and method for controlling computer applications from a remote site
AU2005272636A AU2005272636A1 (en) 2004-08-13 2005-08-15 Systems and methods for remotely controlling computer applications
EP05786709A EP1810165A2 (en) 2004-08-13 2005-08-15 Systems and methods for remotely controlling computer applications

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US60124404P 2004-08-13 2004-08-13
US60/601,244 2004-08-13

Publications (2)

Publication Number Publication Date
WO2006020968A2 true WO2006020968A2 (en) 2006-02-23
WO2006020968A3 WO2006020968A3 (en) 2006-09-14

Family

ID=35908228

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2005/028961 WO2006020968A2 (en) 2004-08-13 2005-08-15 Systems and methods for remotely controlling computer applications

Country Status (6)

Country Link
EP (1) EP1810165A2 (en)
JP (1) JP2008510392A (en)
KR (1) KR20070092198A (en)
AU (1) AU2005272636A1 (en)
CA (1) CA2577087A1 (en)
WO (1) WO2006020968A2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006020968A3 (en) * 2004-08-13 2006-09-14 Cmware Inc Systems and methods for remotely controlling computer applications
WO2007149466A3 (en) * 2006-06-21 2008-03-27 Lucent Technologies Inc User interface methods and apparatus for roaming access to subscription services

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101251099B1 (en) * 2012-07-03 2013-04-05 알서포트 주식회사 Method for monitoring a process of remote access and system for monitoring a process of remote access
KR101389214B1 (en) * 2012-09-04 2014-04-24 주식회사 엘지씨엔에스 Remote managing system and method

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001063430A1 (en) * 2000-02-22 2001-08-30 Mankovitz Roy M Portable electronic audio-visual apparatus and method employing cellular network architecture
WO2001078350A1 (en) * 2000-04-07 2001-10-18 Domiras Oy Providing services with server in tcp/ip network
US20030009542A1 (en) * 2001-06-14 2003-01-09 Kasal Alpay O. Digital entertainment solution
US20030194093A1 (en) * 2002-04-16 2003-10-16 Microsoft Corporation Secure transmission of digital content between a host and a peripheral by way of a digital rights management (DRM) system
EP1391226A1 (en) * 2002-08-12 2004-02-25 Alcatel Method and devices for implementing highly interactive entertainment services using interactive media-streaming technology, enabling remote provisioning of virtual reality services
US20040064575A1 (en) * 2002-09-27 2004-04-01 Yasser Rasheed Apparatus and method for data transfer
WO2004034689A2 (en) * 2002-10-10 2004-04-22 Myriad Entertainment, Inc. Entertainment and information services delivered via mobile telecommunication devices
US20040086120A1 (en) * 2002-11-06 2004-05-06 Akins Glendon L. Selecting and downloading content to a portable player
US20040133908A1 (en) * 2003-01-03 2004-07-08 Broadq, Llc Digital media system and method therefor
US20050216949A1 (en) * 2004-03-23 2005-09-29 Ray Candelora Systems and methods for a universal media server with integrated networking and telephony
WO2005122025A2 (en) * 2004-06-07 2005-12-22 Sling Media, Inc. Personal media broadcasting system
US20060048236A1 (en) * 2004-09-01 2006-03-02 Microsoft Corporation Licensing the use of software to a particular user

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07128408A (en) * 1993-11-04 1995-05-19 Nec Corp Eo probe
JP3546662B2 (en) * 1997-09-12 2004-07-28 日本ビクター株式会社 Distributed home network
JP3785107B2 (en) * 2002-03-28 2006-06-14 株式会社東芝 Moving picture and audio data recording / reproducing apparatus and reproducing method
US7529846B2 (en) * 2002-05-14 2009-05-05 Thomson Licensing Video receiver architecture for digital subscriber line networks
JP2004193791A (en) * 2002-12-09 2004-07-08 Toshiba Corp Av transmission apparatus, av reception apparatus, av communication system, av transmission program, and av reception program
JP4127053B2 (en) * 2003-01-10 2008-07-30 ソニー株式会社 Electronic device control system and electronic device control method
AU2005272636A1 (en) * 2004-08-13 2006-02-23 Cmware, Inc. Systems and methods for remotely controlling computer applications

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001063430A1 (en) * 2000-02-22 2001-08-30 Mankovitz Roy M Portable electronic audio-visual apparatus and method employing cellular network architecture
WO2001078350A1 (en) * 2000-04-07 2001-10-18 Domiras Oy Providing services with server in tcp/ip network
US20030009542A1 (en) * 2001-06-14 2003-01-09 Kasal Alpay O. Digital entertainment solution
US20030194093A1 (en) * 2002-04-16 2003-10-16 Microsoft Corporation Secure transmission of digital content between a host and a peripheral by way of a digital rights management (DRM) system
EP1391226A1 (en) * 2002-08-12 2004-02-25 Alcatel Method and devices for implementing highly interactive entertainment services using interactive media-streaming technology, enabling remote provisioning of virtual reality services
US20040064575A1 (en) * 2002-09-27 2004-04-01 Yasser Rasheed Apparatus and method for data transfer
WO2004034689A2 (en) * 2002-10-10 2004-04-22 Myriad Entertainment, Inc. Entertainment and information services delivered via mobile telecommunication devices
US20040086120A1 (en) * 2002-11-06 2004-05-06 Akins Glendon L. Selecting and downloading content to a portable player
US20040133908A1 (en) * 2003-01-03 2004-07-08 Broadq, Llc Digital media system and method therefor
US20050216949A1 (en) * 2004-03-23 2005-09-29 Ray Candelora Systems and methods for a universal media server with integrated networking and telephony
WO2005122025A2 (en) * 2004-06-07 2005-12-22 Sling Media, Inc. Personal media broadcasting system
US20060048236A1 (en) * 2004-09-01 2006-03-02 Microsoft Corporation Licensing the use of software to a particular user

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
'Secure communication between lighweight computing devices over the Internet' PROCEEDINGS OF THE 35TH ANNUAL HAWAII INTERNATIONAL CONFERENCE ON SYSTEM SCIENCES 07 January 2002 - 10 January 2002, pages 2535 - 2539, XP010587551 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006020968A3 (en) * 2004-08-13 2006-09-14 Cmware Inc Systems and methods for remotely controlling computer applications
WO2007149466A3 (en) * 2006-06-21 2008-03-27 Lucent Technologies Inc User interface methods and apparatus for roaming access to subscription services
US7676823B2 (en) 2006-06-21 2010-03-09 Alcatel-Lucent Usa Inc. User interface methods and apparatus for roaming access to subscription services

Also Published As

Publication number Publication date
JP2008510392A (en) 2008-04-03
WO2006020968A3 (en) 2006-09-14
AU2005272636A1 (en) 2006-02-23
CA2577087A1 (en) 2006-02-23
EP1810165A2 (en) 2007-07-25
KR20070092198A (en) 2007-09-12

Similar Documents

Publication Publication Date Title
US20060188096A1 (en) Systems and methods for remotely controlling computer applications
JP4794440B2 (en) Apparatus and method for handling high-speed changes in digital streaming format or source
US9954862B2 (en) System and method for using resources of a computer system in conjunction with a thin media client
TWI565310B (en) Video streaming in a wireless communication system
US7664872B2 (en) Media transfer protocol
EP2136509B1 (en) Information processing system, apparatus, method and program for providing information from a parent terminal to a child terminal
US20090235170A1 (en) Methods and apparatus for sharing either a computer display screen or a media file and selecting therebetween
US20060195884A1 (en) Interactive multichannel data distribution system
TWI513315B (en) Method, system, and tv with picture re-producing function
KR101821123B1 (en) Method and apparatus for playing media stream on web-browser
EP2549680A2 (en) Content output system and codec information sharing method in same system
WO2011043983A2 (en) Systems and methods for media format transcoding
EP1933529A1 (en) Content distribution system by SIP(Session Initiation Protocol), content server side user terminal, content client side user terminal and authentication method
TWI552605B (en) Systems and methods for presenting media content obtained from multiple sources
EP1810165A2 (en) Systems and methods for remotely controlling computer applications
EP2661877B1 (en) System and method for video distribution over internet protocol networks
EP1684183A1 (en) Content distribution system, content server, content receiving apparatus, content distribution method, program and recording medium
WO2017020607A1 (en) Rdp data playback method, server and system
US20080133656A1 (en) Reproducer and content reproduction method
KR100768514B1 (en) Method and system for retransmitting contents in pts of dlna network
JP5337499B2 (en) Data transmission apparatus and data transmission method
TW200826587A (en) Multi-media streaming system with network service
CN113965788A (en) Teaching same-screen interaction system in local area network
JP2019053350A (en) Distribution apparatus, reproduction apparatus, distribution method, reproduction method, reproduction program and data structure
JP2013255265A (en) Data transmission device

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KM KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NG NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SM SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): BW GH GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LT LU LV MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

DPEN Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed from 20040101)
WWE Wipo information: entry into national phase

Ref document number: 2007525872

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 2577087

Country of ref document: CA

WWE Wipo information: entry into national phase

Ref document number: 12007500377

Country of ref document: PH

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2005272636

Country of ref document: AU

WWE Wipo information: entry into national phase

Ref document number: 2005786709

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 1020077005878

Country of ref document: KR

ENP Entry into the national phase

Ref document number: 2005272636

Country of ref document: AU

Date of ref document: 20050815

Kind code of ref document: A

WWP Wipo information: published in national office

Ref document number: 2005272636

Country of ref document: AU

WWP Wipo information: published in national office

Ref document number: 2005786709

Country of ref document: EP

ENPW Started to enter national phase and was withdrawn or failed for other reasons

Ref document number: PI0514332

Country of ref document: BR

Free format text: PEDIDO RETIRADO EM RELACAO AO BRASIL, FACE AO ARQUIVAMENTO DA PETICAO DE ENTRADA NA FASE NACIONAL.

DPE2 Request for preliminary examination filed before expiration of 19th month from priority date (pct application filed from 20040101)