US20150135072A1 - Media playback control through remote device control - Google Patents

Media playback control through remote device control Download PDF

Info

Publication number
US20150135072A1
US20150135072A1 US14/600,290 US201514600290A US2015135072A1 US 20150135072 A1 US20150135072 A1 US 20150135072A1 US 201514600290 A US201514600290 A US 201514600290A US 2015135072 A1 US2015135072 A1 US 2015135072A1
Authority
US
United States
Prior art keywords
processor
control command
based device
computing system
connection
Prior art date
Legal status (The legal status 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 status listed.)
Abandoned
Application number
US14/600,290
Inventor
Tanmay Agnihotri
Guru Prashanth Balasubramanian
Kalyana Kota
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Saturn Licensing LLC
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Priority to US14/600,290 priority Critical patent/US20150135072A1/en
Publication of US20150135072A1 publication Critical patent/US20150135072A1/en
Assigned to SATURN LICENSING LLC reassignment SATURN LICENSING LLC ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: SONY CORPORATION
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G08SIGNALLING
    • G08CTRANSMISSION SYSTEMS FOR MEASURED VALUES, CONTROL OR SIMILAR SIGNALS
    • G08C17/00Arrangements for transmitting signals characterised by the use of a wireless electrical link
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • H04L67/025Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements
    • 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
    • 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/41Structure of client; Structure of client peripherals
    • H04N21/4104Peripherals receiving signals from specially adapted client devices
    • H04N21/4122Peripherals receiving signals from specially adapted client devices additional display device, e.g. video projector
    • 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/41Structure of client; Structure of client peripherals
    • H04N21/414Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance
    • H04N21/4143Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance embedded in a Personal Computer [PC]
    • 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/41Structure of client; Structure of client peripherals
    • H04N21/422Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS]
    • H04N21/42204User interfaces specially adapted for controlling a client device through a remote control device; Remote control devices therefor
    • 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/4363Adapting the video or multiplex stream to a specific local network, e.g. a IEEE 1394 or Bluetooth® network
    • H04N21/43632Adapting the video or multiplex stream to a specific local network, e.g. a IEEE 1394 or Bluetooth® network involving a wired protocol, e.g. IEEE 1394
    • 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/443OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
    • 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/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/47217End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for controlling playback functions for recorded or on-demand content, e.g. using progress bars, mode or play-point indicators or bookmarks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/643Communication protocols
    • H04N21/64322IP
    • GPHYSICS
    • G08SIGNALLING
    • G08CTRANSMISSION SYSTEMS FOR MEASURED VALUES, CONTROL OR SIMILAR SIGNALS
    • G08C2201/00Transmission systems of control signals via wireless link
    • G08C2201/40Remote control systems using repeaters, converters, gateways
    • GPHYSICS
    • G08SIGNALLING
    • G08CTRANSMISSION SYSTEMS FOR MEASURED VALUES, CONTROL OR SIMILAR SIGNALS
    • G08C2201/00Transmission systems of control signals via wireless link
    • G08C2201/40Remote control systems using repeaters, converters, gateways
    • G08C2201/42Transmitting or receiving remote control signals via a network

Definitions

  • Several embodiments of the invention provide a method comprising establishing a connection with a first processor-based device at a second processor-based device, receiving through the connection a control command from the first processor-based device implemented according to a first protocol, wherein the command corresponds to a remote control command received through a remote control device at the first processor-based device, translating the control command from the first protocol to a second protocol executable at the second processor-based device, and executing an event in response to the control command having been translated into the second protocol.
  • the invention can be characterized as a processor based device comprising a network interface module configured to establish a connection with an external device and further configured to receive through the connection a control command from the external device implemented according to a first protocol, wherein the command corresponds to a remote control command received through a remote control device at the external device, a command module configured to translate the control command from the first protocol to a second protocol executable at the processor-based device, and one or more media player applications configured to execute an event in response to the control command having been translated into the second protocol.
  • a processor based device comprising a network interface module configured to establish a connection with an external device and further configured to receive through the connection a control command from the external device implemented according to a first protocol, wherein the command corresponds to a remote control command received through a remote control device at the external device, a command module configured to translate the control command from the first protocol to a second protocol executable at the processor-based device, and one or more media player applications configured to execute an event in response to the control command having been translated
  • the invention can be characterized as a tangible non-transitory computer readable medium storing one or more computer readable programs adapted to cause a processor based system to execute steps comprising establishing a connection with a first processor-based device at a second processor-based device, receiving through the connection a control command from the first processor-based device implemented according to a first protocol, wherein the command corresponds to a remote control command received through a remote control device at the first processor-based device, translating the control command from the first protocol to a second protocol executable at the second processor-based device, and executing an event in response to the control command having been translated into the second protocol.
  • FIG. 1 is a block diagram of the overall system structure for implementing one or more of the techniques and methods of the present invention, according to several embodiments of the present invention.
  • FIG. 2 is a high level flow diagram of a method performed at a display device, according to several embodiments of the present invention.
  • FIG. 3 is a more detailed flow diagram of the process for receiving media rendering remote control commands at the display device, and forwarding media player commands to a computing system for controlling media playback at the computing system, according to several embodiments of the present invention.
  • FIG. 4 is a high level flow diagram of a method performed at the computing system, according to several embodiments of the present invention.
  • FIG. 5 is a more detailed flow diagram of a process for controlling media playback at the computing system in response to a media player control commands received from a display device, according to several embodiments of the present invention.
  • FIGS. 6 a and 6 b are exemplary embodiments of the methods and apparatuses described above, according to several embodiments of the present invention.
  • FIG. 7 is an exemplary embodiment of a look up table according to several embodiments of the present invention.
  • FIG. 8 is a block diagram illustrating a processor-based system that may be used to run, implement and/or execute the methods and/or techniques shown and described herein according to several embodiments of the present invention.
  • Computing systems provide a convenient option for viewing multimedia and other content due to their support for the various media formats and storage capabilities.
  • the viewing experience is incomplete or even stressful, due to the limited screen sizes of the computer monitors, especially when compared to the display devices most consumers have in their living rooms.
  • desktop computers computing systems
  • laptops solve the mobility issue, their smaller screen sizes make movie viewing from a distance extremely difficult.
  • the computing system may be connected to display devices and media playing on the computing system can be viewed comfortably on display device by connecting the computing system output to display device using, for example, the VGA/HDMI/S-Video input.
  • the only way to perform any of the playback-related operations is by going to the computing system and controlling the operations directly through the computer input means.
  • connecting the computing system output to the television allows movies to be played on the larger screen of the television, whenever users wish to pause or rewind or otherwise alter the playback of a movie, they are forced to get up and go to the computing system.
  • Other options include a wireless keyboard or mouse or a media center computing system requiring an extra remote. This is very inconvenient for the user and can disrupt the movie watching experience.
  • wireless control means for the computing system such as a wireless keyboard or mouse
  • the range of control is limited and the keyboard or mouse needs to be used in addition to the remote control of the display device the viewing is taking place on.
  • the user must be familiar with the specific controls of the media player on the computing system. The result is a sub-optimal viewing experience.
  • the present invention provides a system to allow a user/viewer to control the computing system's playback operations through the display device remote control.
  • an Internet Protocol-based system is provided to control the computing system through the display device remote control.
  • the system employs a socket-based application installed on the computing system to enable computing system Media Playback control.
  • the application may compromise a VC++ application.
  • the display device is provided with a TCP server to provide a connection means to the computing system.
  • the proposed application allows control of computing system media playback from the display device remote control device seamlessly, much like a normal television experience. Controlling content rendering from the display device's remote control removes the need for the viewer to go over to the computing system thereby providing for an optimal viewing experience.
  • the application further provides greater ease of use than using a pointing device of the computing system (e.g., the computer mouse) as no extra hardware is involved and the display device remote is the single point for media playback control on the display device.
  • FIG. 1 a block diagram of the overall system structure for implementing one or more of the techniques and methods of the present invention is illustrated.
  • the environment comprises a display device 110 and a computing system 120 .
  • the display device 110 and computing system 120 are communicatively coupled through a content transport connection 140 .
  • the display device 110 and computing system 120 are further communicatively coupled through a network 130 .
  • the display device is further communicatively coupled to a remote control 150 .
  • the display device 110 may comprise a television, projection display, and/or any other display device having connection means for receiving content input from a computing system and a display screen 112 for displaying the content.
  • the display device 110 comprises an input interface 111 , a display screen 112 , a receiver 113 , a command processor 114 , a command server 115 , and a network interface 116 .
  • the input interface 111 is communicatively coupled to the content transport connection 140 and configured to receive media content from the computing system 120 .
  • the input interface is configured to forward the media to be played back at the display screen 112 .
  • the input interface may provide the content to a processor at the display device for processing before the content is sent to the display screen 112 .
  • the processor may be integrated with the input interface 111 , display screen 112 and/or may be a separate from and communicatively coupled to the input interface and display screen.
  • the receiver 113 in one or more embodiments, is configured to receive control commands from the remote control 150 and forward the commands to a command processor 114 for processing.
  • the command processor 114 may be configured to determine the source of content being displayed on the display screen 112 .
  • the command processor may determine that the command received from the receiver 113 comprises a command to control playback of content received from the computing system 120 and received at input interface 111 .
  • the command processor 114 is configured to translate the remote control command to TCP data and forward the TCP data to the command server 115 .
  • the command processor may forward the control command from the controller to the command server 115 and one or more of the processing steps may be performed at the command server 115 .
  • the TCP data Upon receiving and/or processing the TCP data corresponding to the control command received from the remote control 150 , the TCP data is then forwarded to the network interface 116 .
  • the network interface 116 may comprise and/or be coupled to communication means such as a receiver/transceiver and in communication with network 130 .
  • the network interface 116 forwards the TCP data corresponding to the control command to the Network 130 .
  • the network interface 116 is connected to network 130 by wired or wireless means.
  • the network interface may comprise a modem for facilitating communication with the network 130 .
  • the computing system may comprise a personal computer (computing system), a mobile device, a tablet device, a game console, and entertainment device and/or other device having browser and/or media player capabilities.
  • the computing system 120 comprises one or more modules and/or applications comprising an output interface 121 , a network interface 122 , a command client 123 , an operating system 124 and a media player 125 .
  • the output interface 121 is configured to forward media content to be displayed at the display device through the content transport connection. That is, the output interface provides a communicational coupling between the computing system 120 and the display device 110 .
  • the output interface may comprise a USB, mini display port, display port and/or other port at the computing system for receiving the content transport connection 140 and for providing content to the display device.
  • the output interface 121 may comprise a wireless connection means for connecting to the display device and for forwarding media content to the display device 110 .
  • the computing system is further in communication with the display device through network interface 122 .
  • the network interface 122 is configured to establish a connection with the display device 110 through the network 130 and further configured to receive media player control commands from the display device 110 through the connection.
  • the connection comprises a TCP connection and the media player commands may comprise TCP data corresponding to the control command received from the remote control 150 at the display device 110 .
  • the network interface 122 is further configured to send an acknowledgement to the display device upon receiving the media player control commands and/or upon the command being executed at the computing system.
  • the command client 123 is in communication with the network interface and configured to receive the media player commands.
  • the command client 123 upon receiving the media player control command the command client 123 detects an active media player application running at the computing system and translates the media player control command to a control command for the specific media player application.
  • the media player application may comprise any application either installed on the computing system 120 and/or accessed through a browser at the computing system.
  • each player application may comprise one or more commands implemented in a specific protocol and/or platform, and the command client 123 is configured to determine the appropriate command and/or commands executable at the media player application and forward the one or more commands to the active media player application.
  • the command client is coupled to the operating system 124 .
  • one or more of the processing steps including the determining the active media player application and the translation of the media player control command may be performed at the operating system 124 . That is, in some instances, upon receiving the media player control command, the command client forwards the media player control command to the operating system for processing. In another embodiment, the command client may process the command and translate the command into a media player specific command and may then forward the translated command to the operating system 124 . In one or more embodiments, the operating system is configured to then send the executable command to the active media player application to be executed.
  • the media player module 125 comprises one or more media player applications for accessing and/or playing media content.
  • the media player module 125 comprises an active media player application playing media content at the computing system.
  • the media content of the active media player application is sent to display device 110 through the content transport connection to be displayed at display screen 112 .
  • the active media player application is configured to receive the executable control command or commands from the command client 123 and or operating system 124 and to execute an event in response to the command.
  • the event comprises simulating a function at the active media player application corresponding to the remote control command received at the display device.
  • the executable command may comprise a keyboard or mouse event.
  • remote control inputs such as navigation key inputs are detected at the display device and sent to the computing system as TCP data.
  • the data is converted into Windows or other platform specific mouse events using system calls such as mouse_event( )to simulate playback or control functions typically performed through inputs received through the mouse, e.g. to navigate and/or click on the computing system screen.
  • mouse_event( ) to simulate playback or control functions typically performed through inputs received through the mouse, e.g. to navigate and/or click on the computing system screen.
  • remote control inputs are detected at the display device and sent to the computing system as TCP data.
  • the data is converted into Windows or other platform specific keyboard events using system calls such as keyboard_event( ) to simulate a playback function typically performed through inputs received through the keyboard.
  • the network 130 may comprise an internet, intranet, Local Area Network (LAN), power network, or any type of network known in the art for communicating data. While, the control command data is described as being formatted as TCP data to be communicated over network 130 , it should be appreciated by one skilled in the art that alternative data protocols may be used for sending the control command over the network depending on the type of network and the capabilities of the display device 110 and/or computing system 120 .
  • LAN Local Area Network
  • the display device 110 and computing system 120 are further coupled through the content transport connection 140 .
  • the content transport connection may comprise HTTP, VGA, HDMI, S-Video and/or other similar connection means.
  • the content transport connection is coupled to the input interface 111 at the display device and the output interface 121 at the computing system.
  • the content transport connection comprise a cord, connector and or other means for receiving media content from the computing system 120 and providing the media content to be displayed at the display device 110 .
  • the computing system may be connected to the display device through a wired or wireless connection configured to transfer media content.
  • the remote control device 150 may comprise any wired or wireless remote control device configured to send remote control media rendering commands to the display device.
  • the media rendering control commands are executable at the television to perform a function related to retrieving, rendering or playback of media content.
  • the remote control device may comprise a television remote control, a universal remote control, a game controller, etc.
  • FIG. 2 illustrates a high level flow diagram of a method performed at the display device 110 , according to several embodiments of the present invention.
  • step 210 when a viewer of the display device chooses to view content from a computing device connected to the display device through a connection means.
  • step 210 the display device 110 establishes a connection with the computing system 120 .
  • the user may choose to control the computing system media playback and enter the IP address of the computing system at the display device to enable communication between the computing system and the display device.
  • the viewer has access to the IP address or some other identifier means of one or both the display device and computing system and may enter the IP address of the computing system to establish the connection.
  • the display device may automatically query the computing system 120 for the IP address information and may initiate a request to establish the connection.
  • the computing device may automatically query the display device 110 for the IP address or other identifier information and may initiate a request to establish the connection.
  • the display device may open a TCP socket and connect to the computing system 120 using a specified port.
  • the computing system through the network interface 122 , will listen on the specified port for communication from the display device.
  • the computing system 120 and display device are connected to the same network 130
  • the display device 110 begins monitoring for media rendering remote control commands. Once the display device remote control 150 issues Media rendering control commands, the display device detects the remote control command in step 220 and continues to step 230 .
  • the display device 110 converts the remote control commands to media player commands that can be sent to the computing system 120 over the connection.
  • the display device 110 converts the remote control signals to TCP data.
  • the remote control commands are implemented in Sony Integrated Remote Control Systems (SIRCS) protocol. In such embodiments, SIRCS commands from the remote control are converted into TCP data
  • the display device sends the media player control command over the network connection.
  • the display device 110 forwards the TCP data to the computing system using the connection port, i.e. the TCP socket.
  • FIG. 3 illustrates a more detailed flow diagram of the process for receiving media rendering remote control commands at the display device, and forwarding media player commands to the computing system for controlling media playback at the computing system, according to several embodiments of the present invention.
  • the display device detects a content signal on a predetermined input.
  • the display device detects media content at the input interface 111 .
  • the content signal comprises media content being sent from the computing system 120 through content transport connection 140 .
  • the content transport connection may comprise HTTP, VGA, HDMI, S-Video and/or other similar connection means.
  • the connect transport connection is coupled to the input interface 111 at the display device and the output interface 121 at the computing system and is configured to transfer media content playing at the computing system 120 to the display device 110 to be displayed.
  • a viewer of the display device chooses to view content from a computing system/device connected to the display device through the content transport connection.
  • a data transfer connection means such as HDMI, VGA, S-video, or other means
  • the content being played at a media player of the computing system is transferred to the display device 110 .
  • the detected content signal is displayed on the display screen 112 of the display device 110 .
  • the user may choose to control the computing system media playback and enter the IP address of the computing system at the display device to enable communication between the computing system and the display device.
  • the computing system 120 and display device are connected to the same network 130 .
  • the viewer has access to the IP address of both the display device and computing system and may enter the IP address of the computing system to establish the connection.
  • the display device may automatically query the computing system 120 for the IP address information and may initiate a request to establish the connection.
  • the display device may open a TCP socket and connect to the computing system 120 using a specified port or vice versa.
  • the computing system through the network interface 212 , will listen on the specified port for communication from the display device. Once the communication is established the display device 110 begins monitoring for media rendering remote control commands.
  • the display device receives a content rendering control command issued by the display device remote control 150 .
  • the remote control commands are implemented in Sony Integrated Remote Control Systems (SIRCS) protocol.
  • the display device translates the content rendering control command to a media player control command.
  • the display device 110 converts the remote control commands to media player commands that can be sent to the computing system 120 over the connection.
  • the display device 110 converts the remote control signals to TCP data.
  • the remote control commands are implemented in Sony Integrated Remote Control Systems (SIRCS) protocol. In such embodiments, SIRCS commands from the remote control are converted into TCP data
  • the display device sends the media player control command over the network connection.
  • the display device 110 forwards the TCP data to the computing system using the connection port, i.e. the TCP socket and may begin monitoring for an acknowledgment message from the network 130 and/or computing system 120 .
  • the acknowledgment message may comprise an acknowledgment that the control command was received at the computing system and/or that the function corresponding to the control command was performed at the computing system.
  • the display device 110 may process the acknowledgment to determine whether the message was received, and further whether the function corresponding to the content was successfully performed at the computing device.
  • the device may display a notification to the viewer that the media player control command was not successful.
  • the message may comprise text or audio presented to the viewer through the display screen 112 or other output means such as a microphone coupled to the display device.
  • the display device may similarly issue a notification when the function is performed. For example, in one embodiment, a text or audio may appear notifying the user that the command was received at the computing system, and/or performed.
  • the function carried out at the computing system may cause some change in the media playback experience at the display device, such that it signals to the user whether the command was successful. For example, in one embodiment, where the user chooses to click on a pause button or pause playback, if the playback is paused for content being displayed on the display screen 112 then the viewer will know that the control command was successfully received and performed at the computing system 120 .
  • FIG. 4 a high level flow diagram of a method performed at the computing system 120 is illustrated according to several embodiments of the present invention.
  • the computing system establishes a connection with a display device 110 having a display for displaying content being played at the computing system/device.
  • a viewer of the display device chooses to view content from a computing device connected to the display device through a connection means.
  • the user may choose to control the computing system media playback and enter the IP address of the computing system at the display device to enable communication between the computing system and the display device.
  • the viewer has access to the IP address of both the display device and computing system and may enter the IP address or some other identifier of the computing system to establish the connection.
  • the viewer may enter the IP address or some other identifier of the TV at the computing system 120 to initiate the connection.
  • the computing system 120 may automatically query the display device 110 for the IP address or other identifier information and may initiate a request to establish the connection.
  • the display device may instead query the computing device for identifier information and begin establishing the communication.
  • the display device and/or computing device may open a TCP socket and connect to connect to one another through a specified port.
  • the computing system application will listen on the specified port for communication from the display device.
  • the computing device may receive a media player control command.
  • the media player control command may comprise TCP data received through the communication port.
  • the computing system upon receiving the media player control command the computing system continues to step 430 and begins processing the command.
  • the computing system upon receiving the command, e.g. TCP data, the computing system identifies the media player application currently running at computing system, e.g., WMP, VLC, etc, in step 430 .
  • the computing system identifies appropriate commands to perform the function associated with the media player control command, e.g. TCP data, based on the identified player application.
  • the computing system determines the appropriate media player application, brings the media player application's interface to the foreground of the desktop and transmits the specified commands to control the media playback of the identified application.
  • the computing system translates the control command to an executable command for the active media player application.
  • the translation process of step 440 may comprise receiving the media player command through the network interface and accessing a lookup table for the specific active application, to determine one or more executable commands associated with the active media player.
  • FIG. 7 illustrates an exemplary embodiment of a look up table according to one embodiment of the present invention.
  • the look up table includes a list of possible media player commands that may be received from the display device 110 and further includes one or more commands for each specific player application available at the computing system, which correspond to each of the one or more possible media player control commands.
  • the look up table may be created upon connection initialization, at the time of installing the application for performing the commands at each of the display device and the computing device and/or at any other time prior to performing the translation step.
  • the look up table may further be updated periodically.
  • the media player commands within the lookup table correspond to possible remote control commands that may be received from the remote control device 150 .
  • the translated commands may comprise one or more of keyboard events and/or mouse events.
  • the commands are forwarded to the media player application for executing and the process continues to step 450 .
  • the active media player receives the one or more executable commands and executes an event in response to the received control commands.
  • the event comprises simulating a function corresponding to the remote control command received at the display device 110 through remote control device 150 .
  • the event comprises a mouse or keyboard event causing the active media player to simulate a function typically performed by a mouse or keyboard input at the computing device.
  • remote control inputs such as navigation key inputs are detected at the display device and sent to the computing system as TCP data.
  • the data is converted into Windows or other platform specific mouse events using system calls such as mouse_event( ) to simulate playback or control functions typically performed through inputs received through the mouse, e.g. to navigate and/or click on the computing system screen.
  • mouse_event( ) when controlling or simulating functions performed by the computer keyboard, remote control inputs are detected at the display device and sent to the computing system as TCP data.
  • the data is converted into Windows or other platform specific keyboard events using system calls such as keyboard_event( ) to simulate a playback function typically performed through inputs received through the keyboard.
  • the present system enables control of computing system media playback using the display device's remote control.
  • This application thus ensures that a user accessing media from their computing system 120 using means such as HDMI/VGA/S-Video to control playback of such media through interaction with the display device rather than the computing system, while watching media content.
  • FIG. 5 illustrates a more detailed flow diagram of a process for controlling media playback at the computing system in response to a media player control commands received from a display device, according to several embodiments of the present invention.
  • the process begins in step 510 , when computing system 120 receives a media player control command.
  • the media player control command may comprise TCP data or other command data received through the network interface 122 of the computing system.
  • the computing system Upon receiving the media player control command the computing system continues to step 520 and detects an active media player application currently running at the computing system. For example, in one embodiment, upon receiving the command, e.g. TCP data, the computing system identifies the media player application currently running at computing system, e.g., WMP, VLC, etc.
  • the command e.g. TCP data
  • the computing system identifies the media player application currently running at computing system, e.g., WMP, VLC, etc.
  • the computing system translates the media player control command to a control command for the active media player.
  • the translation step is performed by the command client 123 .
  • the command client 123 identifies appropriate commands to perform the function associated with the media player control command, e.g. TCP data, based on the identified player application.
  • the computing system determines the appropriate media player application, brings the media player application's interface to the foreground of desktop and transmits the specified commands to control the media playback of the identified application.
  • the computing system translates the control command to one or more executable commands for the active media player application.
  • the translation process may comprise accessing a lookup table to determine one or more executable commands associated for the specific active media player application.
  • FIG. 7 illustrates an exemplary embodiment of a look up table according to one embodiment of the present invention. As illustrated the look up table includes a list of possible media player commands that may be received from the display device 110 and further includes one or more commands for each specific player application available at the computing system, which correspond to each of the one or more possible media player control commands.
  • the look up table may be created upon connection initialization, at the time of installing the application for performing the commands at each of the display device and the computing device and/or at any other time prior to performing the translation step.
  • the look up table may further be updated periodically.
  • the media player commands within the lookup table correspond to possible remote control commands that may be received from the remote control device 150 .
  • the translated commands may comprise one or more of keyboard events and/or mouse events.
  • the commands upon determining the appropriate commands, the commands are forwarded to the media player application.
  • the command client signals the active media player and the one or more executable control commands are forwarded to the active media player application for executing.
  • the command client 123 may not be directly coupled to the media player module. For example, when the media player is accessed through a browser application, the command client 123 may be in communication with the media player through the operating system 124 . In such embodiments, instead of continuing to step 540 , the command client upon translating the media player control command signals the operating system 124 during step 550 , which then communicates with the media player in step 560 .
  • the active media player upon signaling the active media player, in step 540 or 560 , receives the one or more executable commands and executes an event in response to the received control commands.
  • the event comprises simulating a function corresponding to the remote control command received at the display device 110 through remote control device 150 .
  • the event comprises a mouse or keyboard event causing the active media player to simulate a function typically performed by a mouse or keyboard input at the computing device.
  • remote control inputs such as navigation key inputs are detected at the display device and sent to the computing system as TCP data.
  • the data is converted into Windows or other platform specific mouse events using system calls such as mouse_even( ) to simulate playback or control functions typically performed through inputs received through the mouse, e.g. to navigate and/or click on the computing system screen.
  • remote control inputs are detected at the display device and sent to the computing system as TCP data.
  • the data is converted into Windows or other platform specific keyboard events using system calls such as keyboard_even( ) to simulate a playback function typically performed through inputs received through the keyboard.
  • the present system enables control of computing system media playback using the display device's remote control.
  • This application thus ensures that a user accessing media from their computing system 120 using means such as HDMI/VGA/S-Video to control playback of such media through interaction with the display device rather than the computing system, while watching media content.
  • the process continues to step 570 and the computing system may issue an acknowledgment message and may forward the acknowledgment message to the display device.
  • the acknowledgment message may indicate whether the media player command was received and further whether it was successful.
  • Media rendering control command Play is issued by the television remote 650 .
  • the remote control signals, e.g. SIRCS, received at the television 610 are converted into TCP data and sent to the computer 620 (computing system) over network 630 using the socket created according to the several embodiments described above.
  • the command client on the computer 620 identifies the media player application currently running (e.g., WMP, VLC) and brings the application's interface to the foreground, and the play function is carried out on the active media player.
  • the media player application currently running e.g., WMP, VLC
  • FIG. 6 b illustrates another exemplary embodiment of the methods and apparatuses described above.
  • Media rendering control command Pause is issued by the television remote 650 .
  • the remote control signals, e.g. SIRCS, received at the television 610 are converted into TCP data and sent to the computer 620 over network 630 using the socket created according to the several embodiments described above.
  • the command client on the computer 620 identifies the media player application currently running (e.g., WMP, VLC) and brings the application's interface to the foreground, and the pause function is carried out on the active media player.
  • the media player application currently running e.g., WMP, VLC
  • FIG. 8 there is illustrated a system 800 that may be used for any such implementations.
  • One or more components of the system 800 may be used for implementing any system or device mentioned above, such as for example any of the above-mentioned display devices, computing devices, applications, modules, servers, databases, etc.
  • the use of the system 800 or any portion thereof is certainly not required.
  • the system 800 may comprise a Central Processing Unit a User Input Device 810 , (CPU) 820 , a Graphic Processing Unit (GPU) 830 , a Random Access Memory (RAM) 840 , a mass storage 850 , such as a disk drive, a user interface 860 such as a display External Memory 870 , and Communication Interface 880 .
  • the CPU 820 and/or GPU 830 may be used to execute or assist in executing the steps of the methods and techniques described herein, and various program content, images, games, simulations, representations, communities, interfaces, etc. may be rendered on the user interface 860 .
  • the system 800 may further comprise a user input device 810 .
  • the user input device may comprise any user input device such a keyboard, mouse, touch pad, game controller, etc.
  • the system 800 may comprise a communication interface 880 such as a communication port for establishing a communication with one or more other processor-based systems and receiving one or more content.
  • the communication interface 880 may further comprise a transmitter for transmitting content, messages, or other types of data to one or more systems such as external devices, applications and/or servers.
  • the system 800 comprises an example of a processor-based system.
  • the mass storage unit 850 may include or comprise any type of computer readable storage or recording medium or media.
  • the computer readable storage or recording medium or media may be fixed in the mass storage unit 850 , or the mass storage unit 850 may optionally include external memory and/or removable storage media 870 , such as a digital video disk (DVD), Blu-ray disc, compact disk (CD), USB storage device, floppy disk, or other media.
  • DVD digital video disk
  • CD compact disk
  • USB storage device floppy disk
  • the mass storage unit 850 may comprise a disk drive, a hard disk drive, flash memory device, USB storage device, Blu-ray disc drive, DVD drive, CD drive, floppy disk drive, etc.
  • the mass storage unit 850 or external memory/removable storage media 870 may be used for storing code that implements the methods and techniques described herein.
  • external memory and/or removable storage media 870 may optionally be used with the mass storage unit 850 , which may be used for storing code that implements the methods and techniques described herein, such as code for generating and storing the tag data described above, performing the initiation of a session, evaluating, and matching of the users.
  • code that implements the methods and techniques described herein, such as code for generating and storing the tag data described above, performing the initiation of a session, evaluating, and matching of the users.
  • any of the storage devices such as the RAM 840 or mass storage unit 850 , may be used for storing such code.
  • any of such storage devices may serve as a tangible computer readable storage medium for embodying a computer program for causing a console, system, computer, computing system or other processor based system to execute or perform the steps of any of the methods, code, and/or techniques described herein.
  • any of the storage devices, such as the RAM 840 , mass storage unit 850 and/or external memory 870 may be used for storing any
  • one or more of the embodiments, methods, approaches, and/or techniques described above may be implemented in a computer program executable by a processor-based system.
  • processor based system may comprise the processor based system 800 , or a television, mobile device, tablet computing device, computer, computing system, entertainment system, game console, graphics workstation, etc.
  • Such computer program may be used for executing various steps and/or features of the above-described methods and/or techniques. That is, the computer program may be adapted to cause or configure a processor-based system to execute and achieve the functions described above.
  • such computer program may be used for implementing any embodiment of the above-described steps or techniques for generating tag data and matching players based on the tag data, etc.
  • such computer program may be used for implementing any type of tool or similar utility that uses any one or more of the above described embodiments, methods, approaches, and/or techniques.
  • program code modules, loops, subroutines, etc., within the computer program may be used for executing various steps and/or features of the above-described methods and/or techniques.
  • the computer program may be stored or embodied on a computer readable storage or recording medium or media, such as any of the computer readable storage or recording medium or media described herein.
  • the present invention provides a computer program product comprising a medium for embodying a computer program for input to a computing system and a computer program embodied in the medium for causing the computing system to perform or execute steps comprising any one or more of the steps involved in any one or more of the embodiments, methods, approaches, and/or techniques described herein.
  • the present invention provides a computer-readable storage medium storing a computer program for use with a computer simulation, the computer program adapted to cause a processor based system to execute steps comprising: establishing a connection with a first processor-based device at a second processor-based device, receiving through the connection a control command from the first processor-based device implemented according to a first protocol, wherein the command corresponds to a remote control command received through a remote control device at the first processor-based device, translating the control command from the first protocol to a second protocol executable at the second processor-based device and executing an event in response to the control command having been translated into the second protocol.
  • the present system enables control of computing system media playback using the display device's remote control.
  • This application thus ensures that a user accessing media from their computing system using means such as HDMI/VGA/S-Video to control playback of such media through interaction with the display device rather than the computing system, while watching media content.
  • modules may be implemented as a hardware circuit comprising custom VLSI circuits or gate arrays, off-the-shelf semiconductors such as logic chips, transistors, or other discrete components.
  • a module may also be implemented in programmable hardware devices such as field programmable gate arrays, programmable array logic, programmable logic devices or the like.
  • Modules may also be implemented in software for execution by various types of processors.
  • An identified module of executable code may, for instance, comprise one or more physical or logical blocks of computer instructions that may, for instance, be organized as an object, procedure, or function. Nevertheless, the executables of an identified module need not be physically located together, but may comprise disparate instructions stored in different locations which, when joined logically together, comprise the module and achieve the stated purpose for the module.
  • a module of executable code could be a single instruction, or many instructions, and may even be distributed over several different code segments, among different programs, and across several memory devices.
  • operational data may be identified and illustrated herein within modules, and may be embodied in any suitable form and organized within any suitable type of data structure. The operational data may be collected as a single data set, or may be distributed over different locations including over different storage devices, and may exist, at least partially, merely as electronic signals on a system or network.

Abstract

Methods and systems are provided for establishing a connection with a first processor-based device at a second processor-based device, receiving through the connection a control command from the first processor-based device implemented according to a first protocol, wherein the command corresponds to a remote control command received through a remote control device at the first processor-based device, translating the control command from the first protocol to a second protocol executable at the second processor-based device, and executing an event in response to the control command having been translated into the second protocol.

Description

  • This application claims the benefit of U.S. Provisional Application No. 61/411,112, filed Nov. 8, 2010, entitled “PC MEDIA PLAYBACK CONTROL USING SONY REMOTE”, which is incorporated in its entirety herein by reference.
  • BACKGROUND OF THE INVENTION
  • Owing to their support for the various media formats and storage capabilities, computers have become a convenient option for viewing stored movie content. However, the viewing experience is incomplete or even stressful, due to the limited screen sizes of the computer monitors, especially when compared to the display devices most consumers have in their living rooms. In addition, desktop computers (computing systems) are usually located on a desk or table, away from couches and other comfortable furniture most suited for extended viewing. While laptops solve the mobility issue, their smaller screen sizes make movie viewing from a distance extremely difficult. In this scenario, the only way to watch them on display device is to play them on the computing system, and then connect the computing system output to display device using the VGA/HDMI/S-Video input.
  • While, there are many ways of playing media from a computing system on the display device, typically if the user is watching a movie from a computing system connected to the display device, via HDM1 or S-Video, VGA, or any other similar means, the only way to perform any of the playback-related operations (such as fast-forward/rewind/pause) is by going to the computing system and controlling them directly through the computer input.
  • SUMMARY OF THE INVENTION
  • Several embodiments of the invention provide a method comprising establishing a connection with a first processor-based device at a second processor-based device, receiving through the connection a control command from the first processor-based device implemented according to a first protocol, wherein the command corresponds to a remote control command received through a remote control device at the first processor-based device, translating the control command from the first protocol to a second protocol executable at the second processor-based device, and executing an event in response to the control command having been translated into the second protocol.
  • In one embodiment, the invention can be characterized as a processor based device comprising a network interface module configured to establish a connection with an external device and further configured to receive through the connection a control command from the external device implemented according to a first protocol, wherein the command corresponds to a remote control command received through a remote control device at the external device, a command module configured to translate the control command from the first protocol to a second protocol executable at the processor-based device, and one or more media player applications configured to execute an event in response to the control command having been translated into the second protocol.
  • In another embodiment, the invention can be characterized as a tangible non-transitory computer readable medium storing one or more computer readable programs adapted to cause a processor based system to execute steps comprising establishing a connection with a first processor-based device at a second processor-based device, receiving through the connection a control command from the first processor-based device implemented according to a first protocol, wherein the command corresponds to a remote control command received through a remote control device at the first processor-based device, translating the control command from the first protocol to a second protocol executable at the second processor-based device, and executing an event in response to the control command having been translated into the second protocol.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • The above and other aspects, features and advantages of several embodiments of the present invention will be more apparent from the following more particular description thereof, presented in conjunction with the following drawings.
  • FIG. 1 is a block diagram of the overall system structure for implementing one or more of the techniques and methods of the present invention, according to several embodiments of the present invention.
  • FIG. 2 is a high level flow diagram of a method performed at a display device, according to several embodiments of the present invention.
  • FIG. 3 is a more detailed flow diagram of the process for receiving media rendering remote control commands at the display device, and forwarding media player commands to a computing system for controlling media playback at the computing system, according to several embodiments of the present invention.
  • FIG. 4 is a high level flow diagram of a method performed at the computing system, according to several embodiments of the present invention.
  • FIG. 5 is a more detailed flow diagram of a process for controlling media playback at the computing system in response to a media player control commands received from a display device, according to several embodiments of the present invention.
  • FIGS. 6 a and 6 b are exemplary embodiments of the methods and apparatuses described above, according to several embodiments of the present invention.
  • FIG. 7 is an exemplary embodiment of a look up table according to several embodiments of the present invention.
  • FIG. 8 is a block diagram illustrating a processor-based system that may be used to run, implement and/or execute the methods and/or techniques shown and described herein according to several embodiments of the present invention.
  • Corresponding reference characters indicate corresponding components throughout the several views of the drawings. Skilled artisans will appreciate that elements in the figures are illustrated for simplicity and clarity and have not necessarily been drawn to scale. For example, the dimensions of some of the elements in the figures may be exaggerated relative to other elements to help to improve understanding of various embodiments of the present invention. Also, common but well-understood elements that are useful or necessary in a commercially feasible embodiment are often not depicted in order to facilitate a less obstructed view of these various embodiments of the present invention.
  • DETAILED DESCRIPTION
  • The following description is not to be taken in a limiting sense, but is made merely for the purpose of describing the general principles of exemplary embodiments. The scope of the invention should be determined with reference to the claims.
  • Computing systems provide a convenient option for viewing multimedia and other content due to their support for the various media formats and storage capabilities. However, the viewing experience is incomplete or even stressful, due to the limited screen sizes of the computer monitors, especially when compared to the display devices most consumers have in their living rooms. In addition, desktop computers (computing systems) are usually located on a desk or table, away from couches and other comfortable furniture most suited for extended viewing. While laptops solve the mobility issue, their smaller screen sizes make movie viewing from a distance extremely difficult. To allow for comfortable viewing while taking advantage of the advantages provided by a computing system, the computing system may be connected to display devices and media playing on the computing system can be viewed comfortably on display device by connecting the computing system output to display device using, for example, the VGA/HDMI/S-Video input.
  • However, when the user is viewing the content from a computing system connected to the display device, via HDMI, S-Video, VGA, or any other means, the only way to perform any of the playback-related operations (such as fast-forward/rewind/pause) is by going to the computing system and controlling the operations directly through the computer input means. While connecting the computing system output to the television allows movies to be played on the larger screen of the television, whenever users wish to pause or rewind or otherwise alter the playback of a movie, they are forced to get up and go to the computing system. Other options include a wireless keyboard or mouse or a media center computing system requiring an extra remote. This is very inconvenient for the user and can disrupt the movie watching experience. Furthermore, where wireless control means for the computing system such as a wireless keyboard or mouse are used, the range of control is limited and the keyboard or mouse needs to be used in addition to the remote control of the display device the viewing is taking place on. Further, the user must be familiar with the specific controls of the media player on the computing system. The result is a sub-optimal viewing experience.
  • The present invention provides a system to allow a user/viewer to control the computing system's playback operations through the display device remote control. In one embodiment, an Internet Protocol-based system is provided to control the computing system through the display device remote control.
  • In one or more embodiments, the system employs a socket-based application installed on the computing system to enable computing system Media Playback control. In one embodiment the application may compromise a VC++ application. Furthermore, in some embodiments, the display device is provided with a TCP server to provide a connection means to the computing system.
  • The proposed application allows control of computing system media playback from the display device remote control device seamlessly, much like a normal television experience. Controlling content rendering from the display device's remote control removes the need for the viewer to go over to the computing system thereby providing for an optimal viewing experience. The application further provides greater ease of use than using a pointing device of the computing system (e.g., the computer mouse) as no extra hardware is involved and the display device remote is the single point for media playback control on the display device.
  • Referring to FIG. 1, a block diagram of the overall system structure for implementing one or more of the techniques and methods of the present invention is illustrated.
  • As shown, the environment comprises a display device 110 and a computing system 120. In one embodiment, as shown, the display device 110 and computing system 120 are communicatively coupled through a content transport connection 140. Additionally, according to several embodiments, the display device 110 and computing system 120 are further communicatively coupled through a network 130. In one embodiment, the display device is further communicatively coupled to a remote control 150.
  • In one embodiment the display device 110 may comprise a television, projection display, and/or any other display device having connection means for receiving content input from a computing system and a display screen 112 for displaying the content. In one embodiment, as shown, the display device 110 comprises an input interface 111, a display screen 112, a receiver 113, a command processor 114, a command server 115, and a network interface 116.
  • The input interface 111 is communicatively coupled to the content transport connection 140 and configured to receive media content from the computing system 120. In one embodiment, the input interface is configured to forward the media to be played back at the display screen 112. In one embodiment, the input interface may provide the content to a processor at the display device for processing before the content is sent to the display screen 112. The processor may be integrated with the input interface 111, display screen 112 and/or may be a separate from and communicatively coupled to the input interface and display screen. The receiver 113, in one or more embodiments, is configured to receive control commands from the remote control 150 and forward the commands to a command processor 114 for processing. In one embodiment, the command processor 114 may be configured to determine the source of content being displayed on the display screen 112. For example, in one embodiment, the command processor may determine that the command received from the receiver 113 comprises a command to control playback of content received from the computing system 120 and received at input interface 111.
  • If the command processor determines that the command from the remote control is intended to control media playback for content being received from the computing system 120, in one embodiment, the command processor 114 is configured to translate the remote control command to TCP data and forward the TCP data to the command server 115. In one embodiment, alternatively, the command processor may forward the control command from the controller to the command server 115 and one or more of the processing steps may be performed at the command server 115.
  • Upon receiving and/or processing the TCP data corresponding to the control command received from the remote control 150, the TCP data is then forwarded to the network interface 116. In one embodiment, the network interface 116 may comprise and/or be coupled to communication means such as a receiver/transceiver and in communication with network 130. The network interface 116 forwards the TCP data corresponding to the control command to the Network 130. According to one embodiment, the network interface 116 is connected to network 130 by wired or wireless means. In one embodiment, the network interface may comprise a modem for facilitating communication with the network 130.
  • The computing system may comprise a personal computer (computing system), a mobile device, a tablet device, a game console, and entertainment device and/or other device having browser and/or media player capabilities. As illustrated in FIG. 1, the computing system 120 comprises one or more modules and/or applications comprising an output interface 121, a network interface 122, a command client 123, an operating system 124 and a media player 125. In one embodiment, the output interface 121 is configured to forward media content to be displayed at the display device through the content transport connection. That is, the output interface provides a communicational coupling between the computing system 120 and the display device 110. In one embodiment, the output interface may comprise a USB, mini display port, display port and/or other port at the computing system for receiving the content transport connection 140 and for providing content to the display device. In another embodiment, the output interface 121 may comprise a wireless connection means for connecting to the display device and for forwarding media content to the display device 110.
  • In addition to the output interface 121, in one or more embodiments, the computing system is further in communication with the display device through network interface 122. As shown in FIG. 1, in several embodiments, the network interface 122 is configured to establish a connection with the display device 110 through the network 130 and further configured to receive media player control commands from the display device 110 through the connection. In one embodiment, for example, the connection comprises a TCP connection and the media player commands may comprise TCP data corresponding to the control command received from the remote control 150 at the display device 110. In one or more embodiments, the network interface 122 is further configured to send an acknowledgement to the display device upon receiving the media player control commands and/or upon the command being executed at the computing system.
  • The command client 123 is in communication with the network interface and configured to receive the media player commands. In one embodiment, upon receiving the media player control command the command client 123 detects an active media player application running at the computing system and translates the media player control command to a control command for the specific media player application. That is, the media player application may comprise any application either installed on the computing system 120 and/or accessed through a browser at the computing system. In one embodiment, each player application may comprise one or more commands implemented in a specific protocol and/or platform, and the command client 123 is configured to determine the appropriate command and/or commands executable at the media player application and forward the one or more commands to the active media player application.
  • Alternatively, in one embodiment, instead of being communicatively coupled to the media player module 125, the command client is coupled to the operating system 124. In one embodiment, one or more of the processing steps including the determining the active media player application and the translation of the media player control command may be performed at the operating system 124. That is, in some instances, upon receiving the media player control command, the command client forwards the media player control command to the operating system for processing. In another embodiment, the command client may process the command and translate the command into a media player specific command and may then forward the translated command to the operating system 124. In one or more embodiments, the operating system is configured to then send the executable command to the active media player application to be executed.
  • The media player module 125 comprises one or more media player applications for accessing and/or playing media content. In one embodiment, the media player module 125 comprises an active media player application playing media content at the computing system. According to the several embodiments, the media content of the active media player application is sent to display device 110 through the content transport connection to be displayed at display screen 112. The active media player application is configured to receive the executable control command or commands from the command client 123 and or operating system 124 and to execute an event in response to the command. In one embodiment, the event comprises simulating a function at the active media player application corresponding to the remote control command received at the display device.
  • In one embodiment, the executable command may comprise a keyboard or mouse event. For example, when simulating control of the mouse, remote control inputs such as navigation key inputs are detected at the display device and sent to the computing system as TCP data. The data is converted into Windows or other platform specific mouse events using system calls such as mouse_event( )to simulate playback or control functions typically performed through inputs received through the mouse, e.g. to navigate and/or click on the computing system screen. Similarly, when controlling or simulating functions performed by the computer keyboard, remote control inputs are detected at the display device and sent to the computing system as TCP data. The data is converted into Windows or other platform specific keyboard events using system calls such as keyboard_event( ) to simulate a playback function typically performed through inputs received through the keyboard.
  • In one embodiment, the network 130 may comprise an internet, intranet, Local Area Network (LAN), power network, or any type of network known in the art for communicating data. While, the control command data is described as being formatted as TCP data to be communicated over network 130, it should be appreciated by one skilled in the art that alternative data protocols may be used for sending the control command over the network depending on the type of network and the capabilities of the display device 110 and/or computing system 120.
  • In one embodiment, the display device 110 and computing system 120 are further coupled through the content transport connection 140. In one embodiment, the content transport connection may comprise HTTP, VGA, HDMI, S-Video and/or other similar connection means. In one embodiment, as shown, the content transport connection is coupled to the input interface 111 at the display device and the output interface 121 at the computing system. According to one embodiment, the content transport connection comprise a cord, connector and or other means for receiving media content from the computing system 120 and providing the media content to be displayed at the display device 110. In one embodiment for example, the computing system may be connected to the display device through a wired or wireless connection configured to transfer media content.
  • In one embodiment, the remote control device 150 may comprise any wired or wireless remote control device configured to send remote control media rendering commands to the display device. In one embodiment, the media rendering control commands are executable at the television to perform a function related to retrieving, rendering or playback of media content. In one embodiment, the remote control device may comprise a television remote control, a universal remote control, a game controller, etc.
  • FIG. 2 illustrates a high level flow diagram of a method performed at the display device 110, according to several embodiments of the present invention.
  • The process begins in step 210, when a viewer of the display device chooses to view content from a computing device connected to the display device through a connection means. In step 210, the display device 110 establishes a connection with the computing system 120. In one embodiment, once the display device is in HDMI/VGA/S-Video mode, the user may choose to control the computing system media playback and enter the IP address of the computing system at the display device to enable communication between the computing system and the display device.
  • In some embodiments, the viewer has access to the IP address or some other identifier means of one or both the display device and computing system and may enter the IP address of the computing system to establish the connection. In another embodiment, upon connecting the display device to the computer via VGA, HDMI, S-video or other means, the display device may automatically query the computing system 120 for the IP address information and may initiate a request to establish the connection. In yet another embodiment, upon connecting the display device to the computing system 120 via VGA, HDMI, S-video or other means, the computing device may automatically query the display device 110 for the IP address or other identifier information and may initiate a request to establish the connection.
  • Upon establishing the connection, in one embodiment, the display device may open a TCP socket and connect to the computing system 120 using a specified port. In one embodiment, the computing system, through the network interface 122, will listen on the specified port for communication from the display device. According to one or more embodiments, the computing system 120 and display device are connected to the same network 130
  • Thus, the communication is established the display device 110 begins monitoring for media rendering remote control commands. Once the display device remote control 150 issues Media rendering control commands, the display device detects the remote control command in step 220 and continues to step 230.
  • In one embodiment, in step 230, the display device 110 converts the remote control commands to media player commands that can be sent to the computing system 120 over the connection. For example, in one embodiment, the display device 110 converts the remote control signals to TCP data. In one embodiment, for example, the remote control commands are implemented in Sony Integrated Remote Control Systems (SIRCS) protocol. In such embodiments, SIRCS commands from the remote control are converted into TCP data
  • Next, in step 240, the display device sends the media player control command over the network connection. For example, in one embodiment the display device 110 forwards the TCP data to the computing system using the connection port, i.e. the TCP socket.
  • FIG. 3 illustrates a more detailed flow diagram of the process for receiving media rendering remote control commands at the display device, and forwarding media player commands to the computing system for controlling media playback at the computing system, according to several embodiments of the present invention.
  • First, in step 310, the display device detects a content signal on a predetermined input. For example, in one exemplary embodiment, the display device detects media content at the input interface 111. In one embodiment, the content signal comprises media content being sent from the computing system 120 through content transport connection 140. In one embodiment, the content transport connection may comprise HTTP, VGA, HDMI, S-Video and/or other similar connection means. In one embodiment, as shown, the connect transport connection is coupled to the input interface 111 at the display device and the output interface 121 at the computing system and is configured to transfer media content playing at the computing system 120 to the display device 110 to be displayed.
  • In one embodiment, in step 310, a viewer of the display device chooses to view content from a computing system/device connected to the display device through the content transport connection. In one embodiment, upon coupling the display device and computing device through a data transfer connection means such as HDMI, VGA, S-video, or other means, the content being played at a media player of the computing system is transferred to the display device 110. In one embodiment, the detected content signal is displayed on the display screen 112 of the display device 110. /
  • In one embodiment, once the display device is in HDMI/VGA/S-Video or other data transfer mode, the user may choose to control the computing system media playback and enter the IP address of the computing system at the display device to enable communication between the computing system and the display device. According to one or more embodiments, the computing system 120 and display device are connected to the same network 130. In some embodiments, the viewer has access to the IP address of both the display device and computing system and may enter the IP address of the computing system to establish the connection. In another embodiment, upon connecting the display device to the computing system 120 via VGA, HDMI, S-video or other means, the display device may automatically query the computing system 120 for the IP address information and may initiate a request to establish the connection.
  • Upon establishing the connection, in one embodiment, the display device may open a TCP socket and connect to the computing system 120 using a specified port or vice versa. In one embodiment, the computing system, through the network interface 212, will listen on the specified port for communication from the display device. Once the communication is established the display device 110 begins monitoring for media rendering remote control commands.
  • Next, in step 320, the display device receives a content rendering control command issued by the display device remote control 150. In one embodiment, for example, the remote control commands are implemented in Sony Integrated Remote Control Systems (SIRCS) protocol.
  • Next, in step 330 the display device translates the content rendering control command to a media player control command. For example, in one embodiment, in step 330, the display device 110 converts the remote control commands to media player commands that can be sent to the computing system 120 over the connection. For example, in one embodiment, the display device 110 converts the remote control signals to TCP data. In one embodiment, for example, the remote control commands are implemented in Sony Integrated Remote Control Systems (SIRCS) protocol. In such embodiments, SIRCS commands from the remote control are converted into TCP data
  • Next, in step 340, the display device sends the media player control command over the network connection. For example, in one embodiment the display device 110 forwards the TCP data to the computing system using the connection port, i.e. the TCP socket and may begin monitoring for an acknowledgment message from the network 130 and/or computing system 120. In one embodiment, the acknowledgment message may comprise an acknowledgment that the control command was received at the computing system and/or that the function corresponding to the control command was performed at the computing system.
  • Upon receiving the acknowledgment, in step 350, the display device 110 may process the acknowledgment to determine whether the message was received, and further whether the function corresponding to the content was successfully performed at the computing device.
  • In one embodiment, when the device determines that the function is not performed, in step 360 the device may display a notification to the viewer that the media player control command was not successful. In one embodiment, the message may comprise text or audio presented to the viewer through the display screen 112 or other output means such as a microphone coupled to the display device. In a further embodiment, during step 360, the display device may similarly issue a notification when the function is performed. For example, in one embodiment, a text or audio may appear notifying the user that the command was received at the computing system, and/or performed.
  • In another embodiment, the function carried out at the computing system may cause some change in the media playback experience at the display device, such that it signals to the user whether the command was successful. For example, in one embodiment, where the user chooses to click on a pause button or pause playback, if the playback is paused for content being displayed on the display screen 112 then the viewer will know that the control command was successfully received and performed at the computing system 120.
  • Next, referring to FIG. 4, a high level flow diagram of a method performed at the computing system 120 is illustrated according to several embodiments of the present invention.
  • First, in step 410, the computing system establishes a connection with a display device 110 having a display for displaying content being played at the computing system/device. In one embodiment, prior to step 410 a viewer of the display device chooses to view content from a computing device connected to the display device through a connection means. In one embodiment, once the display device is coupled to the computing system 120 and in HDMI/VGA/S-Video or other media transfer mode, the user may choose to control the computing system media playback and enter the IP address of the computing system at the display device to enable communication between the computing system and the display device. For example, in some embodiments, the viewer has access to the IP address of both the display device and computing system and may enter the IP address or some other identifier of the computing system to establish the connection. In another embodiment, the viewer may enter the IP address or some other identifier of the TV at the computing system 120 to initiate the connection.
  • In another embodiment, upon connecting the display device to the computing system 120 via VGA, HDMI, S-video or other means, the computing system 120 may automatically query the display device 110 for the IP address or other identifier information and may initiate a request to establish the connection. In yet another embodiment, the display device may instead query the computing device for identifier information and begin establishing the communication.
  • Upon establishing the connection, in one embodiment, the display device and/or computing device may open a TCP socket and connect to connect to one another through a specified port. In one embodiment, the computing system application will listen on the specified port for communication from the display device.
  • Next, in step 420, the computing device may receive a media player control command. In one embodiment, the media player control command may comprise TCP data received through the communication port. In one embodiment, upon receiving the media player control command the computing system continues to step 430 and begins processing the command.
  • For example, in one embodiment, upon receiving the command, e.g. TCP data, the computing system identifies the media player application currently running at computing system, e.g., WMP, VLC, etc, in step 430, Next, in step 440, according to the determination, the computing system identifies appropriate commands to perform the function associated with the media player control command, e.g. TCP data, based on the identified player application. In one embodiment, for example, the computing system determines the appropriate media player application, brings the media player application's interface to the foreground of the desktop and transmits the specified commands to control the media playback of the identified application. In one embodiment, during step 440 the computing system translates the control command to an executable command for the active media player application.
  • In one embodiment, the translation process of step 440 may comprise receiving the media player command through the network interface and accessing a lookup table for the specific active application, to determine one or more executable commands associated with the active media player.
  • FIG. 7 illustrates an exemplary embodiment of a look up table according to one embodiment of the present invention. As illustrated the look up table includes a list of possible media player commands that may be received from the display device 110 and further includes one or more commands for each specific player application available at the computing system, which correspond to each of the one or more possible media player control commands. In one or more embodiments, the look up table may be created upon connection initialization, at the time of installing the application for performing the commands at each of the display device and the computing device and/or at any other time prior to performing the translation step.
  • In one embodiment, the look up table may further be updated periodically. The media player commands within the lookup table correspond to possible remote control commands that may be received from the remote control device 150. As shown, the translated commands may comprise one or more of keyboard events and/or mouse events.
  • Upon determining the appropriate commands, the commands are forwarded to the media player application for executing and the process continues to step 450. During step 450 the active media player receives the one or more executable commands and executes an event in response to the received control commands. In one embodiment, the event comprises simulating a function corresponding to the remote control command received at the display device 110 through remote control device 150. In one or more embodiments the event comprises a mouse or keyboard event causing the active media player to simulate a function typically performed by a mouse or keyboard input at the computing device.
  • For example, when simulating control of the mouse, remote control inputs such as navigation key inputs are detected at the display device and sent to the computing system as TCP data. The data is converted into Windows or other platform specific mouse events using system calls such as mouse_event( ) to simulate playback or control functions typically performed through inputs received through the mouse, e.g. to navigate and/or click on the computing system screen. Similarly, when controlling or simulating functions performed by the computer keyboard, remote control inputs are detected at the display device and sent to the computing system as TCP data. The data is converted into Windows or other platform specific keyboard events using system calls such as keyboard_event( ) to simulate a playback function typically performed through inputs received through the keyboard.
  • Using the determined commands the present system enables control of computing system media playback using the display device's remote control. This application thus ensures that a user accessing media from their computing system 120 using means such as HDMI/VGA/S-Video to control playback of such media through interaction with the display device rather than the computing system, while watching media content.
  • FIG. 5 illustrates a more detailed flow diagram of a process for controlling media playback at the computing system in response to a media player control commands received from a display device, according to several embodiments of the present invention.
  • The process begins in step 510, when computing system 120 receives a media player control command. In one embodiment, the media player control command may comprise TCP data or other command data received through the network interface 122 of the computing system.
  • Upon receiving the media player control command the computing system continues to step 520 and detects an active media player application currently running at the computing system. For example, in one embodiment, upon receiving the command, e.g. TCP data, the computing system identifies the media player application currently running at computing system, e.g., WMP, VLC, etc.
  • Next, in step 530, according to the determination of the active media player application, the computing system translates the media player control command to a control command for the active media player. In one embodiment, the translation step is performed by the command client 123. In one embodiment, for example, the command client 123 identifies appropriate commands to perform the function associated with the media player control command, e.g. TCP data, based on the identified player application. In one embodiment, for example, the computing system determines the appropriate media player application, brings the media player application's interface to the foreground of desktop and transmits the specified commands to control the media playback of the identified application. In one embodiment, during step 430 the computing system translates the control command to one or more executable commands for the active media player application.
  • In one embodiment, the translation process may comprise accessing a lookup table to determine one or more executable commands associated for the specific active media player application. FIG. 7 illustrates an exemplary embodiment of a look up table according to one embodiment of the present invention. As illustrated the look up table includes a list of possible media player commands that may be received from the display device 110 and further includes one or more commands for each specific player application available at the computing system, which correspond to each of the one or more possible media player control commands.
  • In one or more embodiments, the look up table may be created upon connection initialization, at the time of installing the application for performing the commands at each of the display device and the computing device and/or at any other time prior to performing the translation step. In one embodiment, the look up table may further be updated periodically. In one embodiment, the media player commands within the lookup table correspond to possible remote control commands that may be received from the remote control device 150. As shown, the translated commands may comprise one or more of keyboard events and/or mouse events. In one embodiment, upon determining the appropriate commands, the commands are forwarded to the media player application.
  • Next, in step 540, the command client signals the active media player and the one or more executable control commands are forwarded to the active media player application for executing. In an alternative embodiment as describe above, the command client 123 may not be directly coupled to the media player module. For example, when the media player is accessed through a browser application, the command client 123 may be in communication with the media player through the operating system 124. In such embodiments, instead of continuing to step 540, the command client upon translating the media player control command signals the operating system 124 during step 550, which then communicates with the media player in step 560.
  • In either embodiment, upon signaling the active media player, in step 540 or 560, the active media player receives the one or more executable commands and executes an event in response to the received control commands. In one embodiment, the event comprises simulating a function corresponding to the remote control command received at the display device 110 through remote control device 150. In one or more embodiments the event comprises a mouse or keyboard event causing the active media player to simulate a function typically performed by a mouse or keyboard input at the computing device.
  • For example, when simulating control of the mouse, remote control inputs such as navigation key inputs are detected at the display device and sent to the computing system as TCP data. The data is converted into Windows or other platform specific mouse events using system calls such as mouse_even( ) to simulate playback or control functions typically performed through inputs received through the mouse, e.g. to navigate and/or click on the computing system screen. Similarly, when controlling or simulating functions performed by the computer keyboard, remote control inputs are detected at the display device and sent to the computing system as TCP data. The data is converted into Windows or other platform specific keyboard events using system calls such as keyboard_even( ) to simulate a playback function typically performed through inputs received through the keyboard.
  • Using the determined commands the present system enables control of computing system media playback using the display device's remote control. This application thus ensures that a user accessing media from their computing system 120 using means such as HDMI/VGA/S-Video to control playback of such media through interaction with the display device rather than the computing system, while watching media content.
  • Next, in some embodiments, upon completing the one or more commands the process continues to step 570 and the computing system may issue an acknowledgment message and may forward the acknowledgment message to the display device. In one embodiment, the acknowledgment message may indicate whether the media player command was received and further whether it was successful.
  • Referring to FIG. 6 a, an exemplary embodiment of the methods and apparatuses described above is illustrated. As illustrated, according to the exemplary embodiment, Media rendering control command Play is issued by the television remote 650, The remote control signals, e.g. SIRCS, received at the television 610 are converted into TCP data and sent to the computer 620 (computing system) over network 630 using the socket created according to the several embodiments described above. The command client on the computer 620 identifies the media player application currently running (e.g., WMP, VLC) and brings the application's interface to the foreground, and the play function is carried out on the active media player.
  • Similarly FIG. 6 b illustrates another exemplary embodiment of the methods and apparatuses described above. As shown, Media rendering control command Pause is issued by the television remote 650. The remote control signals, e.g. SIRCS, received at the television 610 are converted into TCP data and sent to the computer 620 over network 630 using the socket created according to the several embodiments described above. The command client on the computer 620 identifies the media player application currently running (e.g., WMP, VLC) and brings the application's interface to the foreground, and the pause function is carried out on the active media player.
  • The methods and techniques described herein may be utilized, implemented and/or run on many different types of systems. Referring to FIG. 8, there is illustrated a system 800 that may be used for any such implementations. One or more components of the system 800 may be used for implementing any system or device mentioned above, such as for example any of the above-mentioned display devices, computing devices, applications, modules, servers, databases, etc. However, the use of the system 800 or any portion thereof is certainly not required.
  • By way of example, the system 800 may comprise a Central Processing Unit a User Input Device 810, (CPU) 820, a Graphic Processing Unit (GPU) 830, a Random Access Memory (RAM) 840, a mass storage 850, such as a disk drive, a user interface 860 such as a display External Memory 870, and Communication Interface 880. The CPU 820 and/or GPU 830 may be used to execute or assist in executing the steps of the methods and techniques described herein, and various program content, images, games, simulations, representations, communities, interfaces, etc. may be rendered on the user interface 860. The system 800 may further comprise a user input device 810. The user input device may comprise any user input device such a keyboard, mouse, touch pad, game controller, etc.
  • Furthermore, the system 800 may comprise a communication interface 880 such as a communication port for establishing a communication with one or more other processor-based systems and receiving one or more content. In one embodiment, the communication interface 880 may further comprise a transmitter for transmitting content, messages, or other types of data to one or more systems such as external devices, applications and/or servers. The system 800 comprises an example of a processor-based system.
  • The mass storage unit 850 may include or comprise any type of computer readable storage or recording medium or media. The computer readable storage or recording medium or media may be fixed in the mass storage unit 850, or the mass storage unit 850 may optionally include external memory and/or removable storage media 870, such as a digital video disk (DVD), Blu-ray disc, compact disk (CD), USB storage device, floppy disk, or other media. By way of example, the mass storage unit 850 may comprise a disk drive, a hard disk drive, flash memory device, USB storage device, Blu-ray disc drive, DVD drive, CD drive, floppy disk drive, etc. The mass storage unit 850 or external memory/removable storage media 870 may be used for storing code that implements the methods and techniques described herein.
  • Thus, external memory and/or removable storage media 870 may optionally be used with the mass storage unit 850, which may be used for storing code that implements the methods and techniques described herein, such as code for generating and storing the tag data described above, performing the initiation of a session, evaluating, and matching of the users. However, any of the storage devices, such as the RAM 840 or mass storage unit 850, may be used for storing such code. For example, any of such storage devices may serve as a tangible computer readable storage medium for embodying a computer program for causing a console, system, computer, computing system or other processor based system to execute or perform the steps of any of the methods, code, and/or techniques described herein. Furthermore, any of the storage devices, such as the RAM 840, mass storage unit 850 and/or external memory 870, may be used for storing any needed database(s), tables, content, etc.
  • In some embodiments, one or more of the embodiments, methods, approaches, and/or techniques described above may be implemented in a computer program executable by a processor-based system. By way of example, such processor based system may comprise the processor based system 800, or a television, mobile device, tablet computing device, computer, computing system, entertainment system, game console, graphics workstation, etc. Such computer program may be used for executing various steps and/or features of the above-described methods and/or techniques. That is, the computer program may be adapted to cause or configure a processor-based system to execute and achieve the functions described above.
  • For example, such computer program may be used for implementing any embodiment of the above-described steps or techniques for generating tag data and matching players based on the tag data, etc. As another example, such computer program may be used for implementing any type of tool or similar utility that uses any one or more of the above described embodiments, methods, approaches, and/or techniques. In some embodiments, program code modules, loops, subroutines, etc., within the computer program may be used for executing various steps and/or features of the above-described methods and/or techniques. In some embodiments, the computer program may be stored or embodied on a computer readable storage or recording medium or media, such as any of the computer readable storage or recording medium or media described herein.
  • Therefore, in some embodiments the present invention provides a computer program product comprising a medium for embodying a computer program for input to a computing system and a computer program embodied in the medium for causing the computing system to perform or execute steps comprising any one or more of the steps involved in any one or more of the embodiments, methods, approaches, and/or techniques described herein.
  • For example, in some embodiments the present invention provides a computer-readable storage medium storing a computer program for use with a computer simulation, the computer program adapted to cause a processor based system to execute steps comprising: establishing a connection with a first processor-based device at a second processor-based device, receiving through the connection a control command from the first processor-based device implemented according to a first protocol, wherein the command corresponds to a remote control command received through a remote control device at the first processor-based device, translating the control command from the first protocol to a second protocol executable at the second processor-based device and executing an event in response to the control command having been translated into the second protocol.
  • Thus the present system enables control of computing system media playback using the display device's remote control. This application thus ensures that a user accessing media from their computing system using means such as HDMI/VGA/S-Video to control playback of such media through interaction with the display device rather than the computing system, while watching media content.
  • Reference throughout this specification to “one embodiment,” “an embodiment,” or similar language means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the present invention. Thus, appearances of the phrases “in one embodiment,” “in an embodiment,” and similar language throughout this specification may, but do not necessarily, all refer to the same embodiment.
  • Furthermore, the described features, structures, or characteristics of the invention may be combined in any suitable manner in one or more embodiments. In the following description, numerous specific details are provided, such as examples of programming, software modules, user selections, network transactions, database queries, database structures, hardware modules, hardware circuits, hardware chips, etc., to provide a thorough understanding of embodiments of the invention. One skilled in the relevant art will recognize, however, that the invention can be practiced without one or more of the specific details, or with other methods, components, materials, and so forth. In other instances, well-known structures, materials, or operations are not shown or described in detail to avoid obscuring aspects of the invention.
  • Many of the functional units described in this specification have been labeled as modules, in order to more particularly emphasize their implementation independence. For example, a module may be implemented as a hardware circuit comprising custom VLSI circuits or gate arrays, off-the-shelf semiconductors such as logic chips, transistors, or other discrete components. A module may also be implemented in programmable hardware devices such as field programmable gate arrays, programmable array logic, programmable logic devices or the like.
  • Modules may also be implemented in software for execution by various types of processors. An identified module of executable code may, for instance, comprise one or more physical or logical blocks of computer instructions that may, for instance, be organized as an object, procedure, or function. Nevertheless, the executables of an identified module need not be physically located together, but may comprise disparate instructions stored in different locations which, when joined logically together, comprise the module and achieve the stated purpose for the module.
  • Indeed, a module of executable code could be a single instruction, or many instructions, and may even be distributed over several different code segments, among different programs, and across several memory devices. Similarly, operational data may be identified and illustrated herein within modules, and may be embodied in any suitable form and organized within any suitable type of data structure. The operational data may be collected as a single data set, or may be distributed over different locations including over different storage devices, and may exist, at least partially, merely as electronic signals on a system or network.
  • While the invention herein disclosed has been described by means of specific embodiments, examples and applications thereof, numerous modifications and variations could be made thereto by those skilled in the art without departing from the scope of the invention set forth in the claims.

Claims (13)

1-10. (canceled)
11. A processor based system comprising:
a network interface module configured to establish a connection with an external device and further configured to receive through the connection a control command from the external device implemented according to a first protocol, wherein the control command corresponds to a remote control command received through a remote control device at the external device;
a command module configured to translate the control command from the first protocol to a second protocol executable at the processor based system;
one or more media player applications configured to execute an event in response to the control command having been translated into the second protocol;
an output interface for providing a media content to the external device through a content transport connection separate from the connection;
wherein the network interface module is further configured to send, over the connection that is separate from the content transport connection, an acknowledgement message indicating successful execution of the event controlling the playback of the media content; and
a processor programmed to determine whether the event controlling the playback of the media content was successfully executed and display a notification that the control command was not successful upon a determination by the processor that the acknowledgment message indicates that the event controlling the playback of the media content was not successfully executed.
12. The processor based system of claim 11, wherein the event comprises simulating a function at the processor based device corresponding to the remote control command received at the external device.
13. The processor based system of claim 11, wherein the command module is further configured to:
detect an active media player application of the one or more media player applications, the active media player application comprising a media player application currently providing media content to the external device; and
translate the control command to execute the event for the active media player application.
14. The processor based system of claim 11, wherein establishing the connection comprises establishing a TCP connection.
15. The processor based system of claim 11, wherein the event comprises a mouse event that simulates a function typically performed by a mouse input.
16. The processor based system of claim 11, wherein the network interface module is further configured to send an acknowledgment to the external device.
17. The processor based system of claim 11, wherein the external device comprises a second processor-based device configured to:
receive the remote control command; and
send the control command corresponding to the remote control command over the connection to the processor based device.
18. The processor based system of claim 17, wherein sending the control command comprises:
translating the remote control command implemented in a remote control signaling protocol to the control command.
19. The processor based system of claim 11, wherein the second protocol comprises a protocol executable by the one or more media player applications.
20. A tangible non-transitory computer readable medium storing one or more computer readable programs adapted to cause a processor based system to execute steps comprising:
establishing a connection with a first processor-based device at a second processor-based device;
receiving through the connection a control command from the first processor-based device implemented according to a first protocol, wherein the control command corresponds to a remote control command received through a remote control device at the first processor-based device;
translating the control command from the first protocol to a second protocol executable at the second processor-based device;
executing an event in response to the control command having been translated into the second protocol; and
transporting media content from the second processor-based device to the first processor-based device through a content transport connection separate from the connection; and
sending from the second processor-based device, over the connection that is separate from the content transport connection, an acknowledgement message to the first processor-based device indicating whether the event controlling the playback of the media content was successfully executed, the sending of the acknowledgement message from the second processor-based device to the first processor-based further including determining by the first processor-based device whether the event controlling the playback of the media content was successfully executed and displaying a notification on the first processor-based device that the control command was not successful upon a determination by the first processor-based device that the acknowledgment message indicates that the event controlling the playback of the media content was not successfully executed.
21. The processor based system of claim 11, wherein the executing an event controlling the playback of the media content further includes displaying the media content on both the second processor-based device and the first processor-based device and one of:
executing a pause command to pause the playback of the media content on both the second processor-based device and the first processor-based device; and
executing a play command to start the playback of the media content on both the second processor-based device and the first processor-based device.
22. The tangible non-transitory computer readable medium of claim 20, wherein the executing an event controlling the playback of the media content further includes displaying the media content on both the second processor-based device and the first processor-based device and one of:
executing a pause command to pause the playback of the media content on both the second processor-based device and the first processor-based device; and
executing a play command to start the playback of the media content on both the second processor-based device and the first processor-based device.
US14/600,290 2010-11-08 2015-01-20 Media playback control through remote device control Abandoned US20150135072A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US14/600,290 US20150135072A1 (en) 2010-11-08 2015-01-20 Media playback control through remote device control

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US41111210P 2010-11-08 2010-11-08
US13/100,258 US9009768B2 (en) 2010-11-08 2011-05-03 Media playback control through remote device control
US14/600,290 US20150135072A1 (en) 2010-11-08 2015-01-20 Media playback control through remote device control

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US13/100,258 Continuation US9009768B2 (en) 2010-11-08 2011-05-03 Media playback control through remote device control

Publications (1)

Publication Number Publication Date
US20150135072A1 true US20150135072A1 (en) 2015-05-14

Family

ID=46020664

Family Applications (2)

Application Number Title Priority Date Filing Date
US13/100,258 Expired - Fee Related US9009768B2 (en) 2010-11-08 2011-05-03 Media playback control through remote device control
US14/600,290 Abandoned US20150135072A1 (en) 2010-11-08 2015-01-20 Media playback control through remote device control

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US13/100,258 Expired - Fee Related US9009768B2 (en) 2010-11-08 2011-05-03 Media playback control through remote device control

Country Status (1)

Country Link
US (2) US9009768B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10154122B1 (en) * 2017-09-05 2018-12-11 Sonos, Inc. Grouping in a system with multiple media playback protocols

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9699503B2 (en) 2010-09-07 2017-07-04 Opentv, Inc. Smart playlist
US10210160B2 (en) 2010-09-07 2019-02-19 Opentv, Inc. Collecting data from different sources
US20130238992A1 (en) * 2012-03-08 2013-09-12 Motorola Mobility, Inc. Method and Device for Content Control Based on Data Link Context
US8682248B2 (en) * 2012-04-07 2014-03-25 Samsung Electronics Co., Ltd. Method and system for reproducing contents, and computer-readable recording medium thereof
US9338517B2 (en) 2012-04-07 2016-05-10 Samsung Electronics Co., Ltd. Method and system for reproducing contents, and computer-readable recording medium thereof
TWI548995B (en) * 2012-04-16 2016-09-11 宏碁股份有限公司 Electronic systems, host electronic devices, electronic devices and communication methods
US20140122644A1 (en) * 2012-10-29 2014-05-01 Google Inc. Computer-based exploration, research and control of tv
PT2987333T (en) * 2013-04-16 2019-07-26 Home Control Singapore Pte Ltd Remote control for first and second apparatus
US20150074728A1 (en) * 2013-09-10 2015-03-12 Opentv, Inc. Systems and methods of displaying content
US10080060B2 (en) 2013-09-10 2018-09-18 Opentv, Inc. Systems and methods of displaying content
US20190132398A1 (en) * 2017-11-02 2019-05-02 Microsoft Technology Licensing, Llc Networked User Interface Back Channel Discovery Via Wired Video Connection

Citations (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6008777A (en) * 1997-03-07 1999-12-28 Intel Corporation Wireless connectivity between a personal computer and a television
US6008921A (en) * 1997-03-31 1999-12-28 Comaq Computer Corporation Methods and apparatus for converting remote control signals into computer keyboard signals
US20020068558A1 (en) * 2000-04-25 2002-06-06 Janik Craig M. System and method for providing content, management, and interactivity for client devices
US20050015805A1 (en) * 2003-07-17 2005-01-20 Sony Corporation Power line home network
US20050120382A1 (en) * 2003-11-07 2005-06-02 Televiewer Systems Ltd. System and method of remotely controlling a TV tuner over a TCP/IP network
US20050219424A1 (en) * 2004-03-31 2005-10-06 Kabushiki Kaisha Toshbia Digital tuner control apparatus and control method
US7102691B2 (en) * 2001-08-08 2006-09-05 Matsushita Electric Industrial Co., Ltd. Method and apparatus for remote use of personal computer
US20070162938A1 (en) * 2006-01-12 2007-07-12 Bennett James D Laptop based television remote control
US20080028430A1 (en) * 2006-07-28 2008-01-31 Barrett Kreiner Control gateways that control consumer electronic devices responsive to RF command signals
US20080291074A1 (en) * 2007-05-22 2008-11-27 Owlink Technology, Inc. Universal Remote Control Device
US20080294667A1 (en) * 2007-04-03 2008-11-27 Daniel Kopf Method of communication for data transfer to an electronic microdevice
US20080301260A1 (en) * 2007-05-28 2008-12-04 Rachel Clare Goldeen Method and User Interface for Accessing Groups of Media Assets
US20090165059A1 (en) * 2007-12-21 2009-06-25 Kabushiki Kaisha Toshiba Information processing apparatus
US20090300699A1 (en) * 2008-05-30 2009-12-03 Echostar Technologies L.L.C. Methods and apparatus for presenting substitute content in an audio/video stream using text data
US20100097357A1 (en) * 2008-10-22 2010-04-22 Asustek Computer Inc. Computer and method for controlling external display device
US20100208147A1 (en) * 2007-10-31 2010-08-19 Fujitsu Limited Control signal conversion method
US20100268761A1 (en) * 2007-06-05 2010-10-21 Steve Masson Methods and systems for delivery of media over a network
US20110066679A1 (en) * 2009-09-14 2011-03-17 The Directv Group, Inc. Method and system for distributing content
US7954128B2 (en) * 2005-02-11 2011-05-31 Time Warner Cable Inc. Methods and apparatus for variable delay compensation in networks
US20110287757A1 (en) * 2008-05-08 2011-11-24 Unify4Life Corporation Remote control system and method
US20120001724A1 (en) * 2010-07-01 2012-01-05 Petros Belimpasakis Interacting with Peer Devices Based on Machine Detection of Physical Characteristics of Objects
US8531613B1 (en) * 2005-08-19 2013-09-10 Nongqiang Fan Method of controlling computer using television screen
US8607291B2 (en) * 2006-08-25 2013-12-10 Samsung Electronics Co., Ltd. Method, AV CP device and home network system for executing AV content with segment unit
US9142120B2 (en) * 2008-12-23 2015-09-22 At&T Intellectual Property I, L.P. Remote control device signal distribution

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6208384B1 (en) 1996-07-11 2001-03-27 Douglas G. Brown Methods and systems for providing information to a television using a personal computer
US6144376A (en) 1996-11-15 2000-11-07 Intel Corporation Method and apparatus for merging, displaying and accessing personal computer content listings via a television user interface
US6262713B1 (en) 1997-03-31 2001-07-17 Compaq Computer Corporation Mechanism and method for focusing remote control input in a PC/TV convergence system
US8077263B2 (en) * 2006-10-23 2011-12-13 Sony Corporation Decoding multiple remote control code sets

Patent Citations (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6008777A (en) * 1997-03-07 1999-12-28 Intel Corporation Wireless connectivity between a personal computer and a television
US6008921A (en) * 1997-03-31 1999-12-28 Comaq Computer Corporation Methods and apparatus for converting remote control signals into computer keyboard signals
US20020068558A1 (en) * 2000-04-25 2002-06-06 Janik Craig M. System and method for providing content, management, and interactivity for client devices
US7102691B2 (en) * 2001-08-08 2006-09-05 Matsushita Electric Industrial Co., Ltd. Method and apparatus for remote use of personal computer
US20050015805A1 (en) * 2003-07-17 2005-01-20 Sony Corporation Power line home network
US20050120382A1 (en) * 2003-11-07 2005-06-02 Televiewer Systems Ltd. System and method of remotely controlling a TV tuner over a TCP/IP network
US20050219424A1 (en) * 2004-03-31 2005-10-06 Kabushiki Kaisha Toshbia Digital tuner control apparatus and control method
US7954128B2 (en) * 2005-02-11 2011-05-31 Time Warner Cable Inc. Methods and apparatus for variable delay compensation in networks
US8531613B1 (en) * 2005-08-19 2013-09-10 Nongqiang Fan Method of controlling computer using television screen
US20070162938A1 (en) * 2006-01-12 2007-07-12 Bennett James D Laptop based television remote control
US20080028430A1 (en) * 2006-07-28 2008-01-31 Barrett Kreiner Control gateways that control consumer electronic devices responsive to RF command signals
US8607291B2 (en) * 2006-08-25 2013-12-10 Samsung Electronics Co., Ltd. Method, AV CP device and home network system for executing AV content with segment unit
US20080294667A1 (en) * 2007-04-03 2008-11-27 Daniel Kopf Method of communication for data transfer to an electronic microdevice
US20080291074A1 (en) * 2007-05-22 2008-11-27 Owlink Technology, Inc. Universal Remote Control Device
US20080301260A1 (en) * 2007-05-28 2008-12-04 Rachel Clare Goldeen Method and User Interface for Accessing Groups of Media Assets
US20100268761A1 (en) * 2007-06-05 2010-10-21 Steve Masson Methods and systems for delivery of media over a network
US20100208147A1 (en) * 2007-10-31 2010-08-19 Fujitsu Limited Control signal conversion method
US20090165059A1 (en) * 2007-12-21 2009-06-25 Kabushiki Kaisha Toshiba Information processing apparatus
US20110287757A1 (en) * 2008-05-08 2011-11-24 Unify4Life Corporation Remote control system and method
US20090300699A1 (en) * 2008-05-30 2009-12-03 Echostar Technologies L.L.C. Methods and apparatus for presenting substitute content in an audio/video stream using text data
US20100097357A1 (en) * 2008-10-22 2010-04-22 Asustek Computer Inc. Computer and method for controlling external display device
US9142120B2 (en) * 2008-12-23 2015-09-22 At&T Intellectual Property I, L.P. Remote control device signal distribution
US20110066679A1 (en) * 2009-09-14 2011-03-17 The Directv Group, Inc. Method and system for distributing content
US20120001724A1 (en) * 2010-07-01 2012-01-05 Petros Belimpasakis Interacting with Peer Devices Based on Machine Detection of Physical Characteristics of Objects

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10154122B1 (en) * 2017-09-05 2018-12-11 Sonos, Inc. Grouping in a system with multiple media playback protocols
US10631017B2 (en) 2017-09-05 2020-04-21 Sonos, Inc. Grouping in a system with multiple media playback protocols
US11051048B2 (en) 2017-09-05 2021-06-29 Sonos, Inc. Grouping in a system with multiple media playback protocols
US11076177B2 (en) * 2017-09-05 2021-07-27 Sonos, Inc. Grouped zones in a system with multiple media playback protocols
US11539984B2 (en) 2017-09-05 2022-12-27 Sonos, Inc. Grouping in a system with multiple media playback protocols
US11758199B2 (en) 2017-09-05 2023-09-12 Sonos, Inc. Grouped zones in a system with multiple media playback protocols
US11956480B2 (en) 2017-09-05 2024-04-09 Sonos, Inc. Grouping in a system with multiple media playback protocols

Also Published As

Publication number Publication date
US20120117179A1 (en) 2012-05-10
US9009768B2 (en) 2015-04-14

Similar Documents

Publication Publication Date Title
US9009768B2 (en) Media playback control through remote device control
US8782150B2 (en) Method and apparatus for enabling device communication and control using XMPP
US8769054B2 (en) Pairing a media server and a media client
EP3005649B1 (en) Systems, methods, and media for presenting media content
JP5662397B2 (en) How to press content towards a connected device
RU2504829C2 (en) Systems and methods for managing multimedia operations in remote sessions
KR101541851B1 (en) Sending human input device commands over internet protocol
US9733810B2 (en) System for presenting media programs
US20140195587A1 (en) Method and system for providing digital content
JP2016505915A (en) Flexible implementation of serial bus support via display interface
US8872765B2 (en) Electronic device, portable terminal, computer program product, and device operation control method
US20080010482A1 (en) Remote control of a media computing device
US20150082355A1 (en) Method and Apparatus for Interfacing Broadcast Television and Video Displayed Media with Networked Components
US20160205440A1 (en) Information processing apparatus, television receiver, information processing method, program, and information processing system
US20240089538A1 (en) Port-connected television upgrader device
US20100201876A1 (en) Multimedia management device, system, and method
US11838589B2 (en) Port-connected television upgrader device
US20120117511A1 (en) Method and apparatus for providing an external menu display
US20090044221A1 (en) Information Processing Apparatus and Program Startup Control Method
US8671437B2 (en) Universal remote control management in digital display devices
US20120084653A1 (en) System and method for content rendering control
KR20210025812A (en) Electronic apparatus, display apparatus and method for controlling thereof
US9762704B2 (en) Service based media player
JP2015050709A (en) Controller, control method and program
TW201328326A (en) Device providing a real time live video data stream file and method thereof

Legal Events

Date Code Title Description
AS Assignment

Owner name: SATURN LICENSING LLC, NEW YORK

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:SONY CORPORATION;REEL/FRAME:043305/0766

Effective date: 20150911

STPP Information on status: patent application and granting procedure in general

Free format text: ADVISORY ACTION MAILED

STPP Information on status: patent application and granting procedure in general

Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION

STPP Information on status: patent application and granting procedure in general

Free format text: NON FINAL ACTION MAILED

STPP Information on status: patent application and granting procedure in general

Free format text: NOTICE OF ALLOWANCE MAILED -- APPLICATION RECEIVED IN OFFICE OF PUBLICATIONS

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO PAY ISSUE FEE