The present invention relates generally to audio/video (AV) networks, and in particular to AV streaming in AV networks.
The ever increasing amount of multimedia content, and in particular, high quality multimedia content presents a number of challenges to designers and administrators of computing platforms and networks alike. In this regard, a number of standards have been developed for transporting high quality multimedia data. For example, Video Electronics Standards Association (VESA) has developed the emerging DisplayPort (DP) standard. DiiVA and HDBaseT are other recent standards developed to support high quality multimedia data transportation. In all such standards, the video path is normally unidirectional wherein between two physical ports, video data is only allowed to go unidirectional.
According to an embodiment of the invention, communication in an AV network includes a Talker device initiating communication with a Listener device via a proxy device for data streaming. The proxy device participates in one or more of: content discovery, connection establishment, AV selection and AV streaming between the Talker device initiating communication with a Listener device.
According to an embodiment of the invention, a network-based architecture is employed such that a proxy entity is used to represent connected HDMI1.x devices. The proxy entity actively participates in content discovery, connection establishment, AV selection and AV transmission. An embodiment of the invention provides a method whereby Next Generation High-Definition Multimedia Interface device functions as a proxy between HDMI1.x devices and a next generation Next Generation HDMI Network.
These and other features, aspects and advantages of the present invention will become understood with reference to the following description, appended claims and accompanying figures.
The present invention relates to data streaming in AV networks. According to an embodiment of the invention, a network-based architecture is employed such that a proxy entity is used to represent connected High-Definition Multimedia Interface (HDMI) entities such as HDMI1.x devices. The proxy entity actively participates in content discovery, connection establishment, AV selection and AV transmission. An embodiment of the invention provides support for bi-directional video transmission over a switched network. An embodiment of the invention provides a method whereby Next Generation HDMI device functions as a proxy between HDMI1.x devices and a next generation Next Generation HDMI Network. Next generation HDMI interface will provide backward compatibility to current generation of HDMI devices.
Audio Video Bridging (AVB) technical standard includes a set of specifications to allow transport of high-quality, time-sensitive AV applications over IEEE 802 bridged local area networks (LANs). IEEE 802.1Qat Stream Reservation Protocol (SRP) specification enables an AVB destination electronic device (commonly known as a Listener) to register a request for delivery of a specified AV stream from an AVB source electronic device (commonly known as Talker) in an AVB network. In addition, an AVB source device may request reservation of network resources, which enables the transmission of a specified AV stream. The SRP defined within the IEEE 802.1Qat specification provides a mechanism whereby the AVB source device may register a request to reserve network resources (such as bandwidth) within an AVB network to enable the transmission of the specified AV stream. A Listener indicates which data stream is to be received, and a Talker announces a data stream that can be supported by a bridged entity. Network resources are allocated and configured in both the end nodes (e.g., Talker and Listener) of a data stream and the transit nodes (e.g., bridges) along the path for data stream. An end-to-end signaling mechanism to detect the success/failure of the effort is also provided.
A typical IEEE 802.1AVB network comprises a set of AVB devices, which are collectively referred to as an AVB block or domain. An AVB network may comprise wired or optical local area networks (LANs) and/or wireless LANs (WLANs) such as 802.11ad/ac/a/g/n/ad/ac. Individual AVB devices within the AVB network may include AVB-enabled endpoint devices (e.g., TV, AV Receiver, Desktop/laptop, BlueRay Player, etc.), AVB-enabled switching devices (i.e., AV switches or bridges) within LANs and AVB-enabled access points (i.e., APs) within WLANs. Within the AVB block, AV destination devices may request AV streams from AV source devices, which may be transported across the AVB network within specified latency target values as determined from Quality of Service (QoS) descriptors associated with delivery of an AV stream.
According to an embodiment of the invention, a proxy entity (device) in an AVB network present pseudo IEEE802.1AVB talker and listener entities mapped to HDMI1.x entities including HDMI1.x source and sink devices. The proxy entity negotiates and establishes IEEE802.1AVB connections (such as 802.1Qat SRP) on behalf of HDMI1.x source and sink devices. The proxy device maintains unique IDs (e.g., GUID, IP, etc.) for HDMI1.x entities, and publishes AV content and capabilities of HDMI1.x entity at Layer-3 in Next Generation HDMI Interface.
According to an embodiment of the invention, an AV device may comprise an Application Layer (Layer 7) including processes that use the network, a Transport or TCP Layer (Layer 4) including processes that provide end-to-end data delivery, an IP Layer or Network/Internet Layer (Layer 3) including processes handling routing of data, a Link Layer (Layer 2) and a Physical Layer (Layer 1) for accessing physical communication medium. These layers are similar to TCP/IP layers which can be loosely mapped to the Open System Architecture (OSI). The Link Layer includes a MAC Layer and the Physical Layer includes a PHY Layer, configured for communication over an AV network.
Next Generation HDMI Interface, hereafter referred as NGI, may comprise the aforementioned AVB network including AVB end points optionally supporting ultra high speed Next Generation Interface (NGI) that could support at least 20 Gbps. It is expected that typical room-to-room network connections will support at least 1000BASE-T. However, 10GBASE-T and beyond will become common in the future.
The streaming payload may comprise AV content that may be native video or AV content that is formatted by a display interface process such as HDMI, Display Port or DVI. A variety of video formats may be supported ranging from 3D, 4 KUD, HD, lossless and visually lossless. An example NGI network 20 is shown in
IEEE 802.1AS specifies transport of timing and synchronization in a network of bridges. AVB nodes comprise within a reserved path may implement IEEE 802.1Qav to govern forwarding and queuing of time sensitive AV data. The Multiple Multicast Registration Protocol (MMRP) may enable an AVB destination device to register the request for delivery of a specified AV stream. The function of the IEC61883 block is to packetize video received from the application layer and send it to the AVTP for transport.
At a high level, a connection setup in the network follows the following steps. A user selects a particular AV content via an NGI controller device. IEEE 802.1AVB path set up messages are exchanged between the AV switch 42 and sink device 43 for setting up a path for AV streaming from source device 41 to sink device 43. AV streaming flows from source device 41 to sink device 43.
As shown in
The Talker entity 41 is connected to the proxy entity 42 via a compression block 49. Similarly, the Listener entity 43 is connected to the proxy entity 42 via decompression block 50. In one embodiment, the compression block 49 performs lossless and visually lossless compression. In another embodiment, the compression block 49 does not perform any compression, hence, uncompressed video is transmitted. The decompression block 50 performs exactly opposite of the compression block. The compressed AV is transported over IEEE 1722. The control and management transport block 51 represents functionality of IEEE802.Qat SRP, IEEE802.1AS gPTP, IEEE802.1Qav, AV capability and discovery, HDMI CEO and HDMI DDC conversion block to NGI messages.
For HDMI1.x entities 41 and 43, the proxy entity 42 capable of NGI, assigns unique GUID (Global Unique ID) to such connected HDMI1.x entities. In addition, a unique IP address is assigned to HDMI1.x entities such that the proxy entity 42 and the connected HDMI1.x entities are in the same subnet. For example, if the proxy entity 42 has IP address of 192.168.10.z then the two connected HDMI1.x entities 41, 43 will have IP address of 192.168.10.x and 192.168.10.y, respectively. In addition, each entity 41, 43 has a unique GUID. As shown in
In one embodiment, the proxy entity 42 encapsulates HDMI-CEC and -DDC messages received via the control and management block 46 (
As shown in
In one embodiment, IEEE 1722.1 can be used in the NGI, wherein Table 1 below includes modifications, according to an embodiment of the invention, to include messages for HDMI1.x or native NGI. For example, HDMI_CEC_Command and HDMI_CEC_Response are included. Similarly, HDMI_DDC_Command and HDMI_DDC_Response are included. When indicating HDMI— in the message type, the receiver is notified that the sender is actually an HDMI1.x device.
IEEE802.1Qat SRP registers a stream and reserves the resources required through the entire path taken by the stream. A Talker initiates by sending an SRP Talker Advertise message. AVB intermediate bridges receiving a Talker Advertise message check for bandwidth availability on their output ports. If a bridge has sufficient resources available on that port, then the Talker Advertise message is propagated to the next node. If the resources are not available, rather than propagating the Talker Advertise message, the bridge sends a Talker Failed message. An intermediate bridge receiving a Talker Failed message passes the message out towards the Listener.
The Listener can respond with a Listener Ready message that is forwarded back towards the Talker. Intermediate bridges use the Ready message to maintain the resources needed by the stream and to make the appropriate entries in their forwarding tables to allow the stream to be sent on the port that received the Ready message. When the Talker receives a Ready message, it can start transmitting the stream.
The proxy entity generates and processes IEEE802.1Qat SRP messages on behalf of connected HDMI1.x entities 42, 43.
For example, the proxy entity 42 in
The proxy entity selects and maintains StreamiD for connected HDMI1.x Talker entities. The Tspec is selected based on many factors but not limited to capabilities of connected HDMI1.x source and remote HDMI1.x sink entity, minimum available bandwidth from the source to the sink. The proxy entity emulates the functioning of IEEE802.1 Qat. For example, if sufficient bandwidth is not available on the HDMI link between the proxy device 42 and HDMI1.x sink 43, the proxy entity 42 will not generate Listener Advertise message.
The quality of video (e.g., uncompressed video, lossless compressed, visually compressed and compressed) is a factor of available bandwidth (or Tspec). Even when sufficient bandwidth is available, the option to select HDMI1.x or non-HDMI format is based on whether the sink entity is HDMI1.x.
In process block 91 if source and sink are not HDMI1.x, the process block 94 comprises determining if the source is HDMI1.x. If not, process block 97 comprises selecting transmission of AV content over NGI network and proceeding to process block 99, otherwise process block 96 comprises converting HDMI1.x to NGI format. Then process block 98 comprises selecting transmission over NGI network.
AV data can be transmitted as HDMI or compressed-HDMI or non-HDMI compressed. HDMI format is wherein a pass through mode is used. In compressed HDMI, control portion of HDMI is extracted and sent separately. For example, AVI Info frame is extracted and sent using IEEE 1722 AVTP. Non-HDMI compressed uses H.264 codec, for example. In this case, HDMI control is not preserved.
Embodiments of the invention allow Next Generation HDMI Interface interoperability with IEEE 802.1AVB. Existing HDMI1.x devices appear in Next Generation HDMI Interface network as another Next Generation HDMI Interface device.
As is known to those skilled in the art, the aforementioned example architectures described above can be implemented in many ways, such as program instructions for execution by a processor, as software modules, microcode, as computer program product on computer readable media, as logic circuits, as application specific integrated circuits, as firmware, as consumer electronic devices, etc., in wireless devices, in wireless transmitters/receivers, in wireless networks, etc. The disclosed embodiments can take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment containing both hardware and software elements.
Information transferred via communications interface 317 may be in the form of signals such as electronic, electromagnetic, optical, or other signals capable of being received by communications interface 317, via a communication link that carries signals and may be implemented using wire or cable, fiber optics, a phone line, a cellular phone link, an radio frequency (RF) link, and/or other communication channels. Computer program instructions representing the block diagram and/or flowcharts herein may be loaded onto a computer, programmable data processing apparatus, or processing devices to cause a series of operations performed thereon to produce a computer implemented process.
Embodiments of the present invention have been described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the invention. Each block of such illustrations/diagrams, or combinations thereof, can be implemented by computer program instructions. The computer program instructions when provided to a processor produce a machine, such that the instructions, which execute via the processor create means for implementing the functions/operations specified in the flowchart and/or block diagram. Each block in the flowchart /block diagrams may represent a hardware and/or software module or logic, implementing embodiments of the present invention. In alternative implementations, the functions noted in the blocks may occur out of the order noted in the figures, concurrently, etc.
The terms “computer program medium,” “computer usable medium,” “computer readable medium”, and “computer program product,” are used to generally refer to media such as main memory, secondary memory, removable storage drive, a hard disk installed in hard disk drive. These computer program products are means for providing software to the computer system. The computer readable medium allows the computer system to read data, instructions, messages or message packets, and other computer readable information from the computer readable medium. The computer readable medium, for example, may include non-volatile memory, such as a floppy disk, ROM, flash memory, disk drive memory, a CD-ROM, and other permanent storage. It is useful, for example, for transporting information, such as data and computer instructions, between computer systems. Computer program instructions may be stored in a computer readable medium that can direct a computer, other programmable data processing apparatus, or other devices to function in a particular manner, such that the instructions stored in the computer readable medium produce an article of manufacture including instructions which implement the function/act specified in the flowchart and/or block diagram block or blocks.
Computer programs (i.e., computer control logic) are stored in main memory and/or secondary memory. Computer programs may also be received via a communications interface. Such computer programs, when executed, enable the computer system to perform the features of the present invention as discussed herein. In particular, the computer programs, when executed, enable the processor multi-core processor to perform the features of the computer system. Such computer programs represent controllers of the computer system.
Though the present invention has been described with reference to certain versions thereof; however, other versions are possible. Therefore, the spirit and scope of the appended claims should not be limited to the description of the preferred versions contained herein.
This application claims the benefit of U.S. provisional patent application Ser. No. 61/494,825 filed on Jun. 8, 2011, incorporated herein by reference.
Number | Date | Country | |
---|---|---|---|
61494825 | Jun 2011 | US |