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.
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.
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
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.
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.
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.
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.
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.