SYSTEM AND METHOD FOR REPRESENTING AN INFRARED PASS-THROUGH PROTOCOL IN A HOME NETWORK

Abstract
A system and method in a local area network based on the Universal-Plug-and-Play (UPnP™) technology represents an infrared (IR) remote control (RC) pass-through protocol in the Content Directory Service (CDS) of a media server that transmits an audio-video (AV) media stream over the network to a media renderer. The CDS includes a listing of media content items that represent media source devices that provide media content to the media server, and a listing of associated IR pass-through protocol identifiers (IRPT-IDs) for each media content item. Each IRPT-ID identifies an IR pass-through encoding/decoding protocol usable by the IR decoder in the media server and each IRPT-ID has an associated internet protocol (IP) connection point (IRPT-CP). The media renderer browses the CDS to identify the media content item and its associated IRPT-ID/IRPT-CP pair. The IR RC at the media renderer sends RC commands to the media renderer that are encoded using the IR pass-through protocol represented by the IRPT-ID. The encoded RC commands are transmitted over the network in the reverse direction of the AV media stream back to the media server, where they are decoded using the same IR pass-through protocol and then IR transmitted via IR to the media source device to control its operation.
Description

BRIEF DESCRIPTION OF THE DRAWING


FIG. 1 is a block diagram of a home network with the system and method of this invention.





DETAILED DESCRIPTION OF THE INVENTION

This invention allows the discovery of a specific IR pass-through protocol used to control a network device. It allows a media rendering device to determine when connecting to an AV media stream if the stream can be controlled by IR RC and the IR pass-through protocol used to carry the RC commands over the network. The invention is applicable to a home network that distributes AV media content between a serving device and a rendering device, and in particular to a home network that uses UPnP AV technology. UPnP technology is defined in “UPnP Device Architecture, Version 1.0,” and is built upon Internet Protocol (IP), Transmission Control Protocol (TCP), User Datagram Protocol (UDP), Hypertext Transfer Protocol HTTP, and Extensible Markup Language (XML).


UPnP AV technology defines a Media Server, a Media Renderer and a Control Point. The Media Server has access to media content and can send that media content to other devices on the network. Examples of newer digital devices that can function as a Media Servers include MP3 servers, personal video recorder (PVRs), and Home Media Servers such as the personal computer (PC). Traditional media source devices that can connect to a Media Server include VCRs, CD players, DVD players, audio-tape players, still-image cameras, camcorders, radios, TV Tuners, and set-top boxes. The Media Renderer is able to receive media content and render that content. Examples of media rendering devices include traditional devices such as TVs and stereo systems. In typical implementations, the Media Renderer is either connected to or integrated with a display device for displaying the rendered content. The Control Point coordinates the operation of the Media Server and the Media Renderer to accomplish the desires of the user.


The UPnP AV specification includes a template for necessary services to manage the Media Renderer and Media Server. Such services include a connection manager service, an AV transport service, and a Content Directory Service (CDS). The connection manager service provides the methods for a control point to get sink and source capabilities of media source devices (called media content “items” in the CDS) and media rendering devices, along with other control details. The AV transport service provides control methods for media rendering devices.


The CDS provides control methods and schema for organizing media content and its attributes. In implementations of the CDS, media files (e.g., audio files, video files, images, etc.) and live media content are represented as objects. The current version of the CDS specification describes a class system for representing media objects. The base class is the object class. Two classes are derived from the object class, the item class and the container class. An item (i.e., an instance of the item class) does not include any other objects. A container (i.e., an instance of the container class) may include at least one other object. The CDS is primarily defined by an XML schema but additional constraints may be placed on it by other standards. The XML schema uses the DIDL-Lite element set. DIDL-Lite is derived from a subset of DIDL, a Digital Item Declaration Language developed within ISO/MPEG21 (DIDL). An example of a portion of a CDS is provided in the XML fragment 1 below which shows XML data that represents a TV tuner with a number of channels. This example is taken from DLNA guidelines.












XML fragment 1















<DIDL-Lite


 xmlns=“urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/”


 xmlns:dc=”http://purl.org/dc/elements/1.1/”


 xmlns:upnp=“urn:schemas-upnp-org:metadata-1-0/upnp/”


 xmlns:dlna=“urn:schemas-dlna-org:metadata-1-0/”>


 <!-- Root Container -->


 <container id=“0” parentID=“−1” restricted=”1” childCount=”2”>


  <dc:title>DLNA Device</dc:title>


  <upnp:class>object.container</upnp:class>


  <!-- NTSC TV Tuner Container --><container id=“1” parentID=“0”


  restricted=“1”


childCount=“2”>


   <dc:title>NTSC TV Tuner</dc:title>


<upnp:class>object.container</upnp:class>


   <dlna:containerType>Tuner_1_0</dlna:containerType>


   <!-- NTSC TV Channels -->


   <item id=“1-1” parentID=“1” restricted=“1”>


    <!-- Full Description -- >


    <dc:title>Cartoons, Cartoons, Cartoons</dc:title>


    <upnp:class>object.item.videoItem.videoBroadcast</upnp:class>


    <upnp:genre>Movie</upnp:genre>


    <upnp:channelNr>2</upnp:channelNr>


    <upnp:channelName>PBS</upnp:channelName>


    <res protocolInfo=“http-get:*:video/


    mpeg:DLNA.ORG_PN=MPEG_PS_NTSC”>


     http://192.168.0.20:58849/Tuner1/ch2.mpg


    </res>


   </item>


   <item id=“1-2” parentID=“1” restricted=“1”>


    <!-- Minimal Description -->


    <dc:title>Channel 4</dc:title>


    <upnp:class>object.item.videoItem.videoBroadcast</upnp:class>


    <upnp:channelNr>4</ upnp:channelNr>


    <res protocolInfo=“http-get:*:video/


    mpeg:DLNA.ORG_PN=MPEG_PS_NTSC”>


     http://192.168.0.20:58849/Tuner1/ch4.mpg


    </res>


   </item>


  </container>


  <!-- FM Radio Tuner Container -->


  <Container id=“2” parentID=“0” restricted=“1” childCount=“3”>


   <dc:title>FM Radio Tuner</dc:title>


   <upnp:class>object.container</upnp:class>


   <dlna:containerType>Tuner_1_0</dlna:containerType>


   <!-- FM Radio Channels -->


   <item id=“2-1” parentID=“2” restricted=“1”>


    <!-- preset #1 -->


    <dc:title>FM 89.9</dc:title>


    <upnp:class>object.item.audioItem.audioBroadcast</upnp:class>


    <upnp:channelNr>1</upnp:channelNr>


    <upnp:channelName>FM 89.9</upnp:channelName>


    <res protocolInfo=“http-get:*:audio/


    L16:DLNA.ORG_PN=LPCM”>


     http://192.168.0.20:58849/Tuner2/ch1.L16


    </res>


   </item>


   <item id=“2-2” parentID=“2” restricted=“1”>


    <!-- Preset #2 -->


    <dc:title>FM 101.9</dc:title>


    <upnp:class>object.item.audioItem.audioBroadcast</upnp:class>


    <upnp:channelNr>2</upnp:channelNr>


    <res protocolInfo=“http-get:*:audio/


    L16:DLNA.ORG_PN=LPCM”>


     http://192.168.0.20:58849/Tuner2/ch2.L16


    </res>


   </item>


   <item id=“2-3” parentID=“2” restricted=“1”>


    <!-- Preset #3 -->


    <dc:title>FM 95.5</dc:title>


    <upnp:class>object.item.audioItem.audioBroadcast</upnp:class>


    <upnp:channelNr>3</upnp:channelNr>


    <res protocolInfo=“http-get:*:audio/


    L16:DLNA.ORG_PN=LPCM”>


     http://192.168.0.20:58849/Tuner2/ch3.L16


    </res>


   </item>


  </container>


 </container>


</DIDL-Lite>










FIG. 1 is a high-level block diagram of a home network with the system and method of this invention. The network is illustrated as a wireless network, such as an IEEE 802.11 wireless LAN, with a media server and a media renderer connected to the network. A wireless LAN is shown for illustration purposes only. However, numerous other types of wireless and wired networks are possible for use with the invention.


The media server is illustrated as being connected to two legacy media source devices (media content items), such as a video cassette recorder (VCR) and a digital-versatile-disc (DVD) player, that provide media content. The legacy devices are presented to the media server as “auxiliary” inputs so that their media content, e.g., the actual video files to be sent to the media server, are considered as “live” media content. The media server, such as a PVR or home media PC, would also typically include a hard disk drive that-contains “stored” media content, such as digital videos, photographs and music.


The media server includes at least one IR transmitter (xmtr) for transmitting IR RC commands to the media source devices. Each media source device has an IR receiver (rcvr) and is controllable by an IR RC. The media source devices are located with their IR receivers within IR range of the media server's IR transmitter. FIG. 1 depicts the media sever with only one IR transmitter but it may have one or more additional IR transmitters, e.g., with each IR transmitter assigned to one or more media source devices, to assure IR connection with the multiple media source devices. The IR transmission from the media server to the media source devices can be facilitated by a commercially available IR “dongle” that plugs into a universal serial bus (USB) or other port on the media server and allows the IR output to be positioned near the media source device's IR receiver.


The media server also includes a media server adapter for converting the media content from the media source devices into a format that can be transmitted as an AV media stream over the network to the media renderer. The VCR and DVD player media source devices are for illustration purposes only; numerous other media source devices are possible, including CD players, audio-tape players, still-image cameras, camcorders, radios and TV tuners, and including other media source devices that supply live media content. In the case of a wireless LAN, the media server adapter would include a wireless transceiver.


The media server also includes a processor (e.g., a microprocessor or microcontroller) and associated memory. The memory includes an encoding/decoding algorithm corresponding to the IR pass-through protocol or scheme that enables RC commands transmitted over the network from the media renderer to be converted into RC commands for transmission by the media server's IR transmitter to control the VCR and DVD player. The media server is capable of handling multiple IR pass-through protocols, so multiple algorithms may be stored in memory. The memory also includes the CDS. The CDS is depicted as containing not only a listing of the media content items and associated metadata, but the IR pass-through protocol identifiers (IRPT-IDs) associated with the media content items and the IRPT connection points (IRPT-CPs) associated with the IRPT-IDs. A media content item in the CDS represents a specific media source device. Associated with each media content item in the CDS is at least one IRPT-ID/IRPT-CP pair or a list of IRPT-ID/IRPT-CP pairs. Each pair represents an IR pass-through protocol and its IP connection point. If there are multiple media content items controlled by a single IR transmitter in the media server, then the multiple media content items may have the same IRPT-ID/IRPT-CP pairs. If the media server has more than one IR transmitter, for example a second IR transmitter for controlling a second media source device, then the second media content item may have the same IRPT-IDs as the first media content item, but would have different IRPT-CPs. Based on the IRPT-CP the media server selects which IR transmitter to use.


The media renderer includes a display and a media renderer adapter for converting the network transmission from the media server back to a format capable of being rendered on the display. The media renderer is also controllable by an IR RC and thus includes an IR receiver. The media renderer also includes a processor (e.g., a microprocessor or microcontroller) and associated memory. As shown in FIG. 1, all of the components of the media renderer may be included in a single unit, such as a digital TV. The media renderer may also be a legacy TV connected to a separate media renderer adapter, in which case the media renderer adapter would include the processor and associated memory. For example, commercial media renderer adapters are available, such as the Linksys® WMA11b that attaches to legacy TVs and stereo systems using standard consumer electronics cables and connects to a home networked PC (the media server) through wireless IEEE 802.11b or 10/100 Ethernet cabling.


The media renderer's memory contains one or more IR pass-through encoding/decoding algorithms, each algorithm corresponding to a particular type of IR pass-through protocol or scheme and identifiable by a unique IRPT-ID. The information provided in the CDS allows the media renderer to discover the IRPT-ID/IRPT-CP pair or pairs associated with the media content item when the browse function of the media renderer is initiated. The output of the IR RC is received by the media renderer's IR receiver. The processor recalls from memory the IR pass-through encoding algorithm associated with the IRPT-ID and uses this algorithm to encode the IR signal from the IR receiver. The encoded RC commands are converted by the media renderer adapter to a format that can be transmitted over the network and then transmitted back to the media server adapter in the reverse direction of the AV media stream. The media server adapter receives the network transmission and converts it back to encoded RC commands. The encoded RC commands are then decoded by the media server's processor using the same IR pass-through encoding/decoding algorithm identified by the IRPT-ID. The IR RC commands are then transmitted by the media server's IR transmitter to the IR receiver on the media source device (the VCR or DVD player) to control the media source device. If the media server has more than one IR transmitter, for example, with each one designated for one or more media source devices, the correct IR transmitter is selected because it is identified by the specific IRPT-CP in the IRPT-ID/IRPT-CP pair.


There are a number of implementations of the invention. To better understand the possible implementations, the XML fragment 2 below shows the baseline case where no IR pass-through protocol support is published in the CDS.












XML fragment 2















<item id=“1-2” parentID=“1” restricted=“1”>


    <dc:title>Auxilary Input 1</dc:title>


    <upnp:class>object.item.videoItem.videoBroadcast</upnp:class>


    <upnp:channelNr>1</ upnp:channelNr>


    <res protocolInfo=“http-get:*:video/


    mpeg:DLNA.ORG_PN=MPEG_PS_NTSC”>


     http://192.168.0.20:58849/Tuner1/ch1.mpg


    </res>


   </item>









This shows that the media content item corresponds to an “auxiliary input” where any type of media source device may be connected. The AV media stream is class “videoBroadcast” indicating that it is live, not stored, media content. The protocol to retrieve the AV media stream is “HTTP” and “GET” method must be used. The media format is defined by DLNA MIME type and is MPEG 2 PS. The host IP address and port number are provided in the URI field of the resource or “res” element.


The XML fragment 3 below shows one implementation where IR pass-through protocol support is added to the baseline case.












XML fragment 3















<item id=“1-2” parentID=“1” restricted=“1”>


    <dc:title>Auxilary Input 1</dc:title>


    <upnp:class>object.item.videoItem.videoBroadcast</upnp:class>


    <upnp:channelNr>1</ upnp:channelNr>


    <res protocolInfo=“http-get:*:video/


    mpeg:DLNA.ORG_PN=MPEG_PS_NTSC”


       CntrlIRProtocol=”IRPT_FFIR”


    CntrlProtocol =”tcp” CntrlIPAddress=”192.168.0.20”


    CntrlPortNumber=”60000”>


     http://192.168.0.20:58849/Tuner1/ch1.mpg


    </res>


</item>









In this case new attributes are added to the “res” element associated with the media content item. These new attributes provide the needed information for IR pass-through according to the method of this invention. The “CntrlIRProtocol” attribute functions to inform the media renderer that the media content item is controllable by IR RC and identifies the IR pass-through protocol associated with the media content item (called “FFIR” in XML fragment 3). “CntrlProtocol” identifies the IP protocol used, which can be either TCP or UDP. “CntrlIPAddress” and “CntrlPortNumber” provide the IRPT-CP information.


The method shown by XML fragment 3 requires that the schema be modified to allow new attributes to be understood. In this method only a single IR pass-through protocol is supported per “res” item. Also this method links the IR pass-through protocol to a specific media format (i.e., “res” item), whereas typically there is no dependency between the IR pass-through protocol and the media format.


The XML fragment 4 below shows a second implementation where IR pass-through protocol support is added to the baseline case.












XML fragment 4















<item id=“1-2” parentID=“1” restricted=“1”>


    <dc:title>Auxilary Input 1</dc:title>


    <upnp:class>object.item.videoItem.videoBroadcast</upnp:class>


    <upnp:channelNr>1</ upnp:channelNr>


    <res protocolInfo=“http-get:*:video/


    mpeg:DLNA.ORG_PN=MPEG_PS_NTSC”>


     http://192.168.0.20:58849/Tuner1/ch1.mpg


    </res>


     <res protocolInfo=


     “sharp.co.jp.*:x-infrared:SHARP.COM_PN=IRPT_FFIR”>


     tcp://192.168.0.20:60000


    </res>


   </item>









In this case a second “res” element is added to the media content item to provide the IRPT-ID and the IRPT-CP. In this case the same property “protocolInfo” is used but the values of the property are used to identify the IR pass-through protocol and the value of the “res” element is used to determine the connection point. The IRPT-ID is defined by the value of the “protocolInfo” attribute. The method defined in UPnP for defining a proprietary protocol is used. In this case the first field “sharp.co.jp” defines this as a Sharp proprietary IR pass-through protocol and the last field “x-infrared:SHARP.COM_PN=IRPT_FFIR” is the MIME type defining the protocol. The “res” element value “tcp://192.168.0.20:60000” provides the IRPT-CP information in a proprietary URI-like format.


This method does not require a change to the DIDL-Lite schema. In this method the “res” element is used in an unintended way because the “res” element is designed for some type of binary asset, such as a photo, song, video, etc., and not for a control protocol. However, this does not cause a problem for client devices that browse the CDS because they will typically ignore “res” elements that are not understood. Only clients that understand the “protocolInfo” will use the “res” item. This method also allows multiple different IR pass-through protocols to be published in the CDS without any dependency on the media format.


The XML fragment 5 below shows a third implementation where IR pass-through protocol support is added to the baseline case.












XML fragment 5















<DIDL-Lite


xmlns=“urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/”


 xmlns:dc=”http://purl.org/dc/elements/1.1/”


 xmlns:upnp=“urn:schemas-upnp-org:metadata-1-0/upnp/”


 xmlns:dlna=“urn:schemas-dlna-org:metadata-1-0/”>


 <item id=“1-2” parentID=“1” restricted=“1”>


    <dc:title>Auxilary Input 1</dc:title>


    <upnp:class>object.item.videoItem.videoBroadcast</upnp:class>


    <upnp:channelNr>1</ upnp:channelNr>


    <res protocolInfo=“http-get:*:video/


    mpeg:DLNA.ORG_PN=MPEG_PS_NTSC”>


     http://192.168.0.20:58849/Tuner1/ch1.mpg


    </res>


    <desc xmlns:av=”urn:schemas-sharp-co-jp:av”


    id=”l1description” nameSpace=”urn:schemas-


sharp-co-jp:av”>


     <av:irpt protocolInfo=


     “sharp.co.jp:*:x-infrared:SHARP.COM_PN=IRPT_FFIR”>


      tcp://192.168.0.20:65531


     </av:irpt>


    </desc>


   </item>









In this case a new XML namespace (“xmlnms”) is used. A new element “av:irpt” is defined belonging to the namespace “urn:schemas-sharp-co-jp:av”. This allows XML parsers which do not understand the proprietary element to ignore it without checking attributes or values of such a proprietary element. This method also conforms to the DIDL-Lite schema.


While the present invention has been particularly shown and described with reference to the preferred embodiments, it will be understood by those skilled in the art that various changes in form and detail may be made without departing from the spirit and scope of the invention. Accordingly, the disclosed invention is to be considered merely as illustrative and limited in scope only as specified in the appended claims.

Claims
  • 1. An audio-video (AV) media server adapted for connection to a local area network for network transmission of AV media content from a media source device, the media server comprising: an infrared (IR) transmitter for transmitting IR remote control (RC) commands to the media source device;an adapter for conversion of the media content from the media source device to a network transmission format;an IR decoder for decoding encoded IR RC signals received over the network into RC commands for transmission from the media server's IR transmitter to the media source device; andmemory containing media content items representing media source devices available to the server and at least one IR pass-through protocol identifier (IRPT-ID) associated with each media content item and representing the IR pass-through encoding/decoding scheme usable by the media server's IR decoder.
  • 2. The media server of claim 1 wherein the memory includes a universal-plug-and-play (UPnP) content directory service (CDS), the media content items being included in the CDS.
  • 3. The media server of claim 2 wherein the CDS is expressed in Extensible Markup Language (XML) and wherein each media content item associated with its at least one IRPT-ID includes a first resource (RES) XML element having a first attribute representing the media format of the media content item.
  • 4. The media server of claim 3 wherein said first (RES) XML element has a second attribute representing the IRPT-ID.
  • 5. The media server of claim 3 wherein each media content item associated with its at least one IRPT-ID includes a second (RES) XML element representing the IRPT-ID.
  • 6. The media server of claim 3 wherein each media content item associated with its at least one IRPT-ID is represented in a first XML namespace and the at least one IRPT-ID is represented in a second XML namespace.
  • 7. The media server of claim 1 wherein there are a plurality of IRPT-IDs in the memory, each representing a unique IR pass-through encoding/decoding scheme.
  • 8. The media server of claim 1 wherein at least one of the media content items in the memory is a live media content item and wherein the IRPT-ID is associated with said at least one live media content item.
  • 9. The media server of claim 1 wherein the memory includes an internet protocol (IP) connection point (IRPT-CP) associated with each IRPT-ID.
  • 10. The media server of claim 9 wherein the IR transmitter is a first IR transmitter and further comprising a second IR transmitter, each IR transmitter being identified by a IRPT-CP.
  • 11. An audio-video (AV) media server system capable of connection to a local area network for transmission of AV media content on the network, the system comprising: a media server for providing media content to the network;a media source device controllable by infrared (IR) remote control (RC) commands for supplying media content to the media server;an adapter for conversion of the media content to a network transmission format;an infrared (IR) decoder for decoding encoded IR remote control (RC) signals received over the network into RC commands;an IR blaster for transmitting the RC commands to the media source device for controlling the media source device; andmemory containing a content directory service (CDS) expressed in Extensible Markup Language (XML), the CDS including media content items representing media source devices available to the media server and at least one IR pass-through protocol identifier (IRPT-ID) associated with each media content item and representing the IR pass-through encoding/decoding scheme usable by the IR decoder.
  • 12. The system of claim 11 wherein each media content item associated with an IRPT-ID includes a first resource (RES) XML element having a first attribute representing the media format of the media content item and a second attribute representing the IRPT-ID.
  • 13. The system of claim 11 wherein each media content item associated with an IRPT-ID includes a first resource (RES) XML element representing the media format of the media content item and a second (RES) XML element representing the IRPT-ID.
  • 14. The system of claim 11 wherein each media content item associated with an IRPT-ID is represented in a first XML namespace and the IRPT-ID is represented in a second XML namespace.
  • 15. The system of claim 11 wherein the CDS includes an internet protocol (IP) connection point (IRPT-CP) associated with each IRPT-ID.
  • 16. The system of claim 16 wherein the IR blaster is a first IR blaster, and further comprising a second IR blaster, each IR blaster being identified by an IRPT-CP.
  • 17. In a local area network for transmission of audio-video (AV) media content from a media source device through a media server to a media renderer, a method for enabling infrared (IR) remote control (RC) of the media source device by the media renderer, the method comprising: providing in the media server a content directory service (CDS), the CDS including a media content item representing a media source device providing media content through the media server to the media renderer and at least one IR pass-through protocol identifier (IRPT-ID) associated with the media content item and representing an IR pass-through encoding/decoding scheme;browsing the CDS from the media renderer to identify the media content item to be transmitted and its associated at least one IRPT-ID;sending RC commands from a RC to the media renderer via IR;encoding said RC commands at the media renderer according to the IR pass-through encoding/decoding scheme represented by the at least one IRPT-ID;transmitting said encoded RC commands from the media renderer over the network to the media server;decoding said RC commands at the media server according to the IR pass-through encoding/decoding scheme represented by the at least one IRPT-ID; andtransmitting the RC commands via IR from the media server to the media source device to control the operation of the media source device.
  • 18. The method of claim 17 wherein providing an IRPT-ID comprises providing the IRPT-ID expressed in Extensible Markup Language (XML) and wherein providing the media content item associated with the IRPT-ID includes expressing a first resource (RES) XML element having a first attribute representing the media format of the media content item.
  • 19. The method of claim 18 further comprising expressing said first (RES) XML element having a second attribute representing the IRPT-ID.
  • 20. The method of claim 18 wherein providing the media content item associated with the IRPT-ID includes expressing a second (RES) XML representing the IRPT-ID element.
  • 21. The method of claim 18 wherein providing the media content item associated with the IRPT-ID includes expressing the media content item in a first XML namespace and providing the IRPT-ID includes expressing the IRPT-ID in a second XML namespace.
  • 22. The method of claim 17 further comprising providing in the CDS an internet protocol (IP) connection point (IRPT-CP) for each IRPT-ID.
  • 23. The method of claim 17 wherein there are at least two media source devices on the network and wherein transmitting the RC commands via IR from the media server comprises transmitting to said at least two media source devices.