Patent Description:
The present invention relates to audio/visual systems, and in particular, to interconnecting audio/video source devices, display devices, and speakers.

A traditional audio/video setup is as follows. An audio/video receiver (referred to as an AVR or simply a receiver) connects multiple source devices such as a first source device (e.g., a set-top box) and a second source device (e.g., a Blu-ray Disc® player) to a sink device (e.g., a display device such as a high-definition television (HDTV)); a soundbar (e.g., a connection device that also includes speakers) may also perform the function of the AVR. The AVR (or soundbar) outputs audio via connected speakers (or included speakers, for the soundbar). In this traditional setup, the AVR receives a user selection to select one of the source devices, receives the audio/video stream from the selected source device, provides the video stream to the HDTV, and provides the audio stream to the speakers.

One issue with this traditional setup is that each device typically is associated with its own remote control device. For example, the user uses a first remote to control the AVR to select the source device and to control the volume for the speakers, a second remote to control the first source device when it is selected, a third remote to control the second source device when it is selected, and a fourth remote to control the display device. This quantity of remotes can be unwieldy. A potential solution is that often the functionality of multiple remotes may be combined into a single remote, but the configuration of such an arrangement still involves some effort.

Another issue with this traditional setup is that audio-visual media standards are evolving. For example, the high-definition multimedia interface (HDMI) standard is commonly used for interconnecting audio/visual devices. When one of the devices takes advantage of an updated HDMI standard, generally the other devices will need to be updated as well. For example, assume a current setup uses HDMI version <NUM>, and the user upgrades their HDTV to <NUM> resolution, which requires HDMI version <NUM>. Not only will the user then need to upgrade one of the source devices to HDMI version <NUM> in order to source the <NUM> audio/video stream, but also they will need to upgrade the AVR (or soundbar) to HDMI version <NUM> in order to provide the selected source to the <NUM> HDTV. Such constant upgrading of multiple devices can diminish the user experience.

A second traditional setup is as follows. This second traditional setup is similar to the first traditional setup (a first source device, a second source device, a display device, an AVR, and speakers), with the addition of the display device being a smart display device for interacting with streaming media (e.g., a Netflix™ app, an Amazon Instant™ app, a Skype™ app, etc.). In the second traditional setup, the display device receives a user selection to select the streaming media, displays the streaming media, and sends an audio signal to the AVR (e.g., over the audio return channel (ARC) of an HDMI connection) for output by the speakers. This second traditional setup has similar issues to the first traditional setup.

A third traditional setup is as follows. In this third traditional setup, all source devices are connected to the sink device. The sink device may then output an audio signal via a S/PDIF (Sony/Philips Digital Interface Format) TOSLINK (Toshiba Link) cable to an AVR (or soundbar) via the optical input. This third traditional setup has the issue that the TOSLINK connection does not support some modern (and future) sound formats.

<CIT> discloses an information processing device which is provided with plural HDMI connectors through which an audio signal is supplied to the other information processing device. The device allows selection of an audio signal supply destination. The audio signal supply is requested, and the audio signal is supplied to the specified information processing device in the requested arriving order. The information processing device of a specific type is determined as a priority device which is preferentially selected to receive the audio signal. If the information processing device of specific type is determined as the priority device, and supply of the audio signal therefrom is requested, the audio signal is supplied to the priority device by terminating the audio signal supply to the other information processing device. The audio signal may be supplied to plural supply destinations.

"<NPL> which is a compact audio/video interface for transferring uncompressed video data and compressed/uncompressed digital audio data from a HDMI-compliant device ("the source device") to a compatible computer monitor, video projector, digital television, or digital audio deviceY1 HDMI is a digital replacement for existing analog video standards.

Given the above, there is a need to improve the user experience related to audio/visual systems. An embodiment is directed to an improved audio/video receiver, referred to as a loopback device.

In general, the loopback device connects between one source device and the display device; the other source device connects directly to the display device. The user then uses the display device to select the audio/video stream, and the display device sends the audio signal to the loopback device (e.g., over the ARC).

As compared to the traditional setups described in the background, embodiments have a number of differences and advantages. One difference is that the loopback device just "passes through" the audio/visual stream from the source device to the display device. (The traditional AVR operates as a transmitter/receiver, to receive the stream from the source device, and to retransmit the stream to the display device. ) Thus, when the user upgrades the source device and the display device, the user is not required to upgrade the loopback device.

The loopback device may receives an audio stream over the ARC from a source other than the smart display app. As an example, assume the loopback device is connected to the first source device, and the second source device is connected directly to the display device. When the first source device is selected, the loopback device passes through the first audio/visual stream to the display device, the display device displays the first video stream, and the display device uses the ARC to "loop back" the first audio stream to the loopback device. When the second source device is selected, the display device displays the second video stream (without involving the loopback device), and the display device uses the ARC to "loop back" the second audio stream to the loopback device.

According to an embodiment, an apparatus connects High-Definition Multimedia Interface (HDMI) devices. The apparatus includes a first HDMI interface that is configured to connect to a first HDMI source device, a second HDMI interface that is configured to connect to an HDMI sink device, and a processor. The processor is configured to control the apparatus to pass a first signal through from the first HDMI source device to the HDMI sink device via a first HDMI connection. The HDMI sink device is configured to select a selected signal, where the selected signal is one of a plurality of signals including the first signal from the first HDMI source device via the first HDMI connection and a second signal from a second HDMI source device via a second HDMI connection. (The second HDMI connection differs from the first HDMI connection. ) The processor is configured to control the apparatus to control the apparatus to receive, via loopback from the HDMI sink device, a selected audio signal; the selected audio signal corresponds to the selected signal, as selected by the HDMI sink device. The processor is configured to control the apparatus to output the selected audio signal to a speaker.

The first HDMI connection includes a source connection and a sink connection, and the selected audio signal may be received from the HDMI sink device via an audio return channel (ARC) of the sink connection. Alternatively, the selected audio signal may be received from the HDMI sink device via an enhanced audio return channel (eARC) of the sink connection.

When the selected audio signal is associated with the second HDMI connection, the selected audio signal may be received from the HDMI sink device via an audio return channel (ARC) of the first HDMI connection.

When the selected audio signal corresponds to one of a first audio signal associated with the first signal, a second audio signal associated with the second signal, and a third audio signal associated with a third signal (as selected by the HDMI sink device), the third audio signal may be associated with a different source than the first HDMI source device and the second HDMI source device, and the selected audio signal may be received from the HDMI sink device via an audio return channel (ARC) of the first HDMI connection.

When the selected audio signal corresponds to one of a first audio signal associated with the first signal, a second audio signal associated with the second signal, and a third audio signal associated with a third signal (as selected by the HDMI sink device), the third audio signal may be associated with a different source than the first HDMI source device and the second HDMI source device, where the selected audio signal corresponds to the third audio signal, and the selected audio signal may be received from the HDMI sink device via an audio return channel (ARC) of the first HDMI connection.

The first HDMI interface and the second HDMI interface includes a transition-minimized differential signaling (TMDS) channel, where the apparatus is configured to pass the first signal through from the first HDMI source device to the HDMI sink device on the TMDS channel by passing the first signal through from the first HDMI interface to the second HDMI interface on the TMDS channel. The first HDMI interface is hence configured to receive the first signal from the first HDMI source device, the apparatus is configured to pass the first signal through from the first HDMI interface to the second HDMI interface on the TMDS channel, and the second HDMI interface is configured to send the first signal to the HDMI sink device.

The apparatus is configured to receive a physical address from an Extended Display Identification Data (EDID) of the HDMI sink device, to generate a modified EDID, and to provide the modified EDID to the HDMI source device; the HDMI source device may be configured to use the modified EDID instead of the EDID to generate the first signal.

The apparatus may have the form factor of a dongle, or of a soundbar.

According to another embodiment, a method connects High-Definition Multimedia Interface (HDMI) devices. The method includes passing through, by a loopback device, a first signal from a first HDMI source device to an HDMI sink device via a first HDMI connection.

The method further includes receiving, by the loopback device from the HDMI sink device via loopback, a selected audio signal. The method further includes outputting, by the loopback device, the selected audio signal to a speaker.

The method includes similar details to those discussed above regarding the apparatus.

According to another embodiment, a system includes a first HDMI source device, a second HDMI source device, an HDMI sink device, a speaker, and a loopback device. The loopback device includes similar details to those discussed above regarding the apparatus, such as passing signals through from the first HDMI source device to the HDMI sink device, and receiving a selected audio signal via loopback from the HDMI sink device.

The following detailed description and accompanying drawings provide a further understanding of the nature and advantages of various implementations.

Described herein are techniques for using the HDMI audio return channel (ARC). In the following description, for purposes of explanation, numerous examples and specific details are set forth in order to provide a thorough understanding of the present invention. It will be evident, however, to one skilled in the art that the present invention as defined by the claims may include some or all of the features in these examples alone or in combination with other features described below, and may further include modifications and concepts described herein.

In the following description, various methods, processes and procedures are detailed. Although particular steps may be described in a certain order, such order is mainly for convenience and clarity. A particular step may be repeated more than once, may occur before or after other steps (even if those steps are otherwise described in another order), and may occur in parallel with other steps. A second step is required to follow a first step only when the first step must be completed before the second step is begun. Such a situation will be specifically pointed out when not clear from the context.

In this document, the terms "and", "or" and "and/or" are used. Such terms are to be read as having an inclusive meaning. For example, "A and B" may mean at least the following: "both A and B", "at least both A and B". As another example, "A or B" may mean at least the following: "at least A", "at least B", "both A and B", "at least both A and B". As another example, "A and/or B" may mean at least the following: "A and B", "A or B". When an exclusive-or is intended, such will be specifically noted (e.g., "either A or B", "at most one of A and B").

This document describes using implementations of the High-Definition Multimedia Interface (HDMI) standard. In general, HDMI is an audio/video interface for transmitting uncompressed video data and compressed or uncompressed digital audio data from an HDMI source device (e.g., a display controller, etc.) to an HDMI sink device (e.g., a computer monitor, video projector, digital television, digital audio device, etc.). HDMI implements the EIA/CEA (Electronic Industries Alliance/Consumer Electronics Association) <NUM> standard, which defines video formats, transport of compressed and uncompressed (i.e. linear pulse code modulation (LPCM)) audio, auxiliary data, and implementations of the Video Electronics Standards Association (VESA) Extended Display Identification Data (EDID). Several versions of HDMI have been developed and deployed since initial release of the technology but all use the same cable and connector in a <NUM>-pin configuration.

For digital audio, HDMI has a baseline format of stereo (uncompressed) PCM. Other formats are optional, with HDMI allowing up to <NUM> channels of uncompressed audio at sample sizes of <NUM>-bit, <NUM>-bit and <NUM>-bit, with sample rates of <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, <NUM> and <NUM>. HDMI also carries any International Electrotechnical Commission (IEC) <NUM>-compliant (e.g., Sony/Philips Digital Interface Format - S/PDIF) compressed audio stream, such as Dolby Digital® and DTS® (Dedicated To Sound), and up to <NUM> channels of one-bit Direct Stream Digital (DSD) audio (used on Super Audio compact discs (CDs)) at rates up to four times that of Super Audio CD. With version <NUM>, HDMI allows lossless compressed audio streams Dolby® TrueHD and DTS-HD (Dedicated To Sound High Definition) Master Audio.

The HDMI Audio Return Channel (ARC) was introduced in the HDMI <NUM> standard. "Return" refers to the case where the audio comes from the TV and can be sent "upstream" to the AV receiver using the HDMI cable connected to the AV receiver. As an example, consider a TV that directly receives a terrestrial/satellite broadcast (or has a video source built in, or implements a streaming app, etc.), and sends the audio "upstream" to the AV receiver. The ARC is associated with HDMI Ethernet, together referred to as the HDMI Ethernet and Audio Return Channel (HEAC) feature. HEAC adds a high-speed bidirectional data communication link (HEC) and the ability to send audio data upstream to the source device (ARC). HEAC utilizes two lines from the connector: the Reserved pin (pin <NUM>, called HEAC+) and the Hot Plug Detect pin (pin <NUM>, called HEAC-). If only ARC transmission is required, a single mode signal using the HEAC+ line can be used; otherwise, HEC is transmitted as a differential signal over the pair of lines, and ARC as a common mode component of the pair.

The HDMI Enhanced Audio Return Channel (eARC) was introduced in the HDMI <NUM> standard. eARC may be used for lossless audio formats such as Dolby® TrueHD and DTS-HD (Dedicated To Sound High Definition) Master Audio, which can carry object-based audio formats such as Dolby® Atmos™ and DTS:X™ format at the highest quality. eARC is otherwise similar to ARC, and references herein to ARC should be read as including references to eARC as appropriate.

<FIG> is a block diagram of an audio/video system <NUM>. The audio/video system <NUM> includes a first source device <NUM>, a second source device <NUM>, a sink device <NUM>, a loopback device <NUM>, and a speaker <NUM>. In general, these devices (other than the speaker <NUM>) are HDMI compatible devices, and implement HDMI connections. The audio/video system <NUM> is a typical system setup for a home environment, where a single sink device connects to multiple source devices, and is associated with speakers.

The first source device <NUM> and the second source device <NUM> generally correspond to HDMI compatible devices, such as a set-top box (e.g., for receiving a cable or satellite signal), a disc player (e.g., a Blu-ray Disc® player), a gaming console (e.g., Microsoft Xbox One™), a video camera, a computer, etc. The sink device <NUM> generally corresponds to an HDMI compatible display device, e.g. a high definition television (HDTV). In general, an HDMI cable connects the first source device <NUM> and the sink device <NUM>.

The loopback device <NUM> provides an HDMI connection between the second source device <NUM> and the sink device <NUM>. In general, the loopback device <NUM> "passes through" the HDMI signal from the second source device <NUM> to the sink device <NUM>, as further detailed below.

In general, the loopback device <NUM> receives an audio signal from the sink device <NUM>. The audio signal corresponds to a selected HDMI stream (e.g., an HDMI stream from the first source device <NUM>, an HDMI stream from the second source device <NUM>, etc.). In general, the sink device <NUM> and the loopback device <NUM> use the HDMI Audio Return Channel (ARC) or eARC for this purpose. Since the loopback device <NUM> does not receive the HDMI stream from the first source device <NUM>, the sink device <NUM> uses the ARC to provide the corresponding audio signal. However, even though the loopback device <NUM> does receive the HDMI stream from the second source device <NUM>, since it passes the HDMI signal through to the sink device <NUM>, the sink device <NUM> uses the ARC to provide the corresponding audio signal. In this manner, the audio signal is "looped back" to the loopback device <NUM>.

The sink device <NUM> may perform decoding of the audio signal if the audio signal is encoded in the selected HDMI stream.

In addition to the features discussed in more detail herein, the loopback device <NUM> may implement one or more of the features described in International Application Pub. For example, the loopback device <NUM> may include a wireless transceiver for communicating with a remote control device. As an example, the loopback device <NUM> may include an IEEE <NUM>. <NUM> compliant transceiver that pairs with a mobile telephone, enabling the loopback device <NUM> to be controlled by an app executed by the mobile telephone. It may also include audio amplification and speakers, depending on form factor.

The speaker <NUM> generally outputs the audio signal provided by the loopback device <NUM>. Although only one speaker <NUM> is shown, the speaker <NUM> may include multiple speakers, such as a headset, six speakers implementing <NUM> surround sound, etc. The loopback device <NUM> may provide the audio signal to the speaker <NUM> via a wired connection or a wireless connection.

The operation of the audio/video system <NUM> is described below with reference to <FIG>.

<FIG> is a flowchart of a method <NUM> of connecting HDMI devices. The method <NUM> may be performed by one or more components of the audio/video system <NUM> (see <FIG>, e.g. the loopback device <NUM>), for example according to a computer program executed by a processor.

At <NUM>, a loopback device passes a first signal through from a first HDMI source device to an HDMI sink device via a first HDMI connection. For example, in <FIG> the loopback device <NUM> passes HDMI signals through from the second source device <NUM> to the sink device <NUM>. Once the various HDMI devices have been physically connected, they make HDMI connections using the various features of the HDMI protocol (e.g., using the Display Data Channel (DDC), the Consumer Electronics Control (CEC) channel, the HDMI Ethernet and Audio Return Channel (HEAC), the Enhanced Audio Return Channel (eARC), etc.).

As discussed in more detail below, the loopback device <NUM> (see <FIG>) is configured to make this HDMI connection in a pass through manner. In general, the HDMI connection includes a transition-minimized differential signaling (TMDS) or fixed-rate link (FRL) channel, and the loopback device <NUM> passes through the signals on the TMDS or FRL channel from the second source device <NUM> to the sink device <NUM>. (The FRL channel uses the same wires as the TMDS channel, but instead of one clock pair and three data pairs, the FRL channel uses all four pairs for data, with an embedded clock. The following discussion refers specifically to the TMDS channel, but applies equally to the FRL channel.

At <NUM>, the HDMI sink device selects a signal, where the selected signal is one of a number of signals including the first signal from the first HDMI source device via the first HDMI connection and a second signal from the second HDMI source device via a second HDMI connection. For example, in <FIG> the sink device <NUM> selects (e.g., according to a user input) the signal from one of the first source device <NUM> and the second source device <NUM>. As a further example, if an HDTV (the sink device <NUM>) is connected to a Blu-ray™ device (the source device <NUM>) and a set-top box (the source device <NUM>), the HDTV may switch among the signals from those devices for display. The second HDMI connection differs from the first HDMI connection. For example, in <FIG> the second source device <NUM> has a first HDMI connection with the sink device <NUM> using the loopback device <NUM>, and the first source device <NUM> has a second HDMI connection with the sink device <NUM>.

At <NUM>, the loopback device receives, via loopback from the HDMI sink device, a selected audio signal. The selected audio signal corresponds to the selected signal, as selected by the HDMI sink device (see <NUM>). For example, in <FIG> the loopback device <NUM> receives the selected audio signal from the sink device <NUM>, according to the selected signal (see <NUM>). As discussed in more detail below, the HDMI sink device may use the HDMI ARC or eARC for sending the audio signal to the loopback device.

At <NUM>, the loopback device outputs the selected audio signal to a speaker. For example, in <FIG> the loopback device <NUM> outputs the selected audio signal to the speaker <NUM> via a wired or wireless connection. The speaker <NUM> then outputs the selected audio signal.

<FIG> is a block diagram of an audio/video system <NUM>. The audio/video system <NUM> is similar to the audio/video system <NUM> (see <FIG>), with the added feature of the sink device <NUM> including a streaming app <NUM>. The sink device <NUM> may also include another connection (e.g., to the Internet via a router or other device) for receiving streaming content for the streaming app <NUM>. The sink device <NUM> is otherwise similar to the sink device <NUM> (see <FIG>).

The operation of the audio/video system <NUM> is similar to that described above with reference to the method <NUM> of <FIG>. One modification is that at <NUM>, the selected signal may include a third signal from the streaming app <NUM>. Another modification is that at <NUM>, the selected audio signal may correspond to the third signal from the streaming app <NUM>.

Similarly to the audio/video system <NUM> (see <FIG>), the audio/video system <NUM> differs from traditional systems in that since the loopback device <NUM> passes the HDMI signals through, the user is not required to upgrade the loopback device <NUM> when the source device <NUM> and the sink device <NUM> are upgraded to a new HDMI version.

<FIG> is a block diagram of an audio/video system <NUM>. The audio/video system <NUM> shows more details for the source device, the loopback device and the sink device (see <FIG>, <FIG>, <FIG>, etc.). The audio/video system <NUM> includes an HDMI source device <NUM>, an HDMI sink device <NUM>, and an HDMI loopback device <NUM>. Each of the devices may include a processor that controls its operation, for example according to a computer program executed by the processor.

The HDMI source device <NUM> generally provides an HDMI signal, and generally corresponds to the second source device <NUM> (see <FIG>). As shown in <FIG>, the HDMI source device <NUM> provides the HDMI signal via a connection to the HDMI loopback device <NUM>, with the TMDS signals being passed through the HDMI loopback device <NUM> to the HDMI sink device <NUM> (as further discussed below). The HDMI source device <NUM> includes a receiver detection circuit <NUM>, a TMDS transmitter circuit <NUM>, a hot plug detection circuit <NUM>, a High-bandwidth Digital Content Protection (HDCP) circuit <NUM>, a DDC master circuit <NUM>, and a CEC circuit <NUM>. (The HDMI source device <NUM> may also include other components, such as a processor and a memory (e.g., that control its operation); for brevity, the details of these other components are omitted.

The receiver detection circuit <NUM> generates and outputs a clock signal "Clock". The clock signal is a TMDS clock signal output using three pins (e.g., pin <NUM> for Clock+, pin <NUM> for Clock Shield, and pin <NUM> for Clock-).

The TMDS transmitter circuit <NUM> generates and outputs three data signals, "Data <NUM>", "Data <NUM>" and "Data <NUM>". These data signals are TMDS signals, each output using three pins (e.g., pins <NUM>-<NUM> for Data1+, Data1 Shield and Data1-; pins <NUM>-<NUM> for Data2+, Data2 Shield and Data2-; and pins <NUM>-<NUM> for Data3+, Data3 Shield and Data3-).

The hot plug detection circuit <NUM> performs hot plug detection (e.g., using pin <NUM>). When the source device <NUM> is powered on or is connected to a sink device (here, the HDMI loopback device <NUM>) with an HDMI cable, a Hot-Plug Detect (HPD) event is initiated. During the initiation sequence, the HDMI source device <NUM> reads the EDID information from the sink (here, the HDMI loopback device <NUM>) over the DDC line (discussed in more detail below) and negotiates a format/resolution for the data in the TMDS signals. The hot plug detection circuit <NUM> also provides a voltage (<NUM> volts as shown, using pin <NUM>).

The HDCP circuit <NUM> works with the DDC master circuit <NUM> to perform HDCP. In general, the when the sink device requires HDCP, the HDCP circuit <NUM> works with the DDC master circuit <NUM> to communicate this information, in order for the HDMI source device <NUM> to encrypt the data in the TMDS signals.

The DDC master circuit <NUM> generates a serial clock signal "SCL" (e.g., using pin <NUM>) and communicates a serial data signal "SDA" (e.g., using pin <NUM>). These serial signals are I<NUM>C (Inter-Integrated Circuit) signals. As mentioned above, the DDC master circuit <NUM> exchanges HDCP-related information with other devices (e.g., the HDMI sink device <NUM>, the HDMI loopback device <NUM>, etc.). The DDC master circuit <NUM> also reads E-EDID data from other connected devices (e.g., the HDMI sink device <NUM>) to learn what audio/video formats the other device can take. The DDC master circuit <NUM> may also exchange other information on the DDC channel with other connected devices.

The CEC circuit <NUM> generally implements CEC functionality (e.g., using pin <NUM>). In general, CEC allows a user to command and control up to <NUM> CEC-enabled devices, that are connected through HDMI, by using only one of their remote controls.

Note that the TMDS signals (Clock, Data <NUM>, Data <NUM> and Data <NUM>) are passed through the HDMI loopback device <NUM> to the HDMI sink device <NUM>; the other signals (e.g., SCL, SDA, etc.) are exchanged with the HDMI loopback device <NUM>. Further features of the pass-through, and further features of the other signals, are discussed in more detail below.

The HDMI loopback device <NUM> generally connects between the HDMI source device <NUM> and the HDMI sink device <NUM>, and generally corresponds to the loopback device <NUM> (see <FIG>). The HDMI loopback device <NUM> includes an HDMI interface <NUM> that connects (e.g., using an HDMI cable) to the HDMI source device <NUM>, and HDMI interface <NUM> that connects (e.g., using an HDMI cable) to the HDMI sink device <NUM>, and a processor <NUM> that generally controls the operation of the HDMI loopback device <NUM>. As mentioned above, the HDMI interface <NUM> may be in the form of a <NUM>-pin HDMI male connector; the HDMI interface <NUM> may be in the form of a <NUM>-pin HDMI female connector on a short HDMI cable (giving the HDMI loopback device <NUM> the form factor of a dongle), or a <NUM>-pin HDMI male connector that is connectable to the HDMI sink device <NUM> using an HDMI cable. Alternatively in a soundbar implementation, the HDMI interfaces <NUM> and <NUM> may be HDMI female connectors. The HDMI loopback device <NUM> also includes a power detection circuit <NUM>, a DDC slave circuit <NUM>, an EDID circuit <NUM>, a CEC circuit <NUM>, a hot plug detection circuit <NUM>, a DDC master circuit <NUM>, a HEAC circuit <NUM>, and an eARC receiver circuit <NUM>.

The power detection circuit <NUM> receives a voltage from the HDMI source device <NUM> (e.g., from the hot plug detection circuit <NUM>) and communicates the HPD event back to the hot plug detection circuit <NUM>. In this manner, the HDMI loopback device <NUM> communicates the fact of its connection to the HDMI source device <NUM>.

The DDC master circuit <NUM> (in the HDMI source device <NUM>) communicates with the DDC slave circuit <NUM> using the serial data signal SDA over the DDC link. As discussed above, this data may include HDCP-related information, E-EDID data, and other information. The DDC slave circuit <NUM> also receives the serial clock signal SCL (from the HDMI source device <NUM>) over the DDC link.

The EDID circuit <NUM> works with the DDC master circuit <NUM> to obtain the E-EDID data from the HDMI sink device <NUM>, and works with the DDC slave circuit <NUM> to communicate the obtained and modified E-EDID data to the HDMI source device <NUM>. In this manner, the HDMI source device <NUM> becomes aware of the capabilities of the HDMI sink device <NUM>.

The CEC circuit <NUM> generally implements CEC functionality (e.g., using pin <NUM>). The CEC circuit <NUM> communicates with the CEC circuit <NUM> in the HDMI source device <NUM>, and with a corresponding CEC circuit in the HDMI sink device <NUM>, in order to transfer CEC information among the various connected devices.

The hot plug detection circuit <NUM> performs hot plug detection (e.g., using pin <NUM>). When the source device <NUM> is powered on or is connected to a sink device (here, the HDMI sink device <NUM>) with an HDMI cable, a Hot-Plug Detect (HPD) event is initiated. During the initiation sequence, the HDMI loopback device <NUM> reads the EDID information from the sink (here, the HDMI sink device <NUM>) over the DDC line (discussed in more detail below) and passes this information on to the HDMI source device <NUM> for it to negotiate a format/resolution for the data in the TMDS signals. The hot plug detection circuit <NUM> also provides a voltage (<NUM> volts as shown, using pin <NUM>).

The DDC master circuit <NUM> generates a serial clock signal "SCL" (e.g., using pin <NUM>) and communicates a serial data signal "SDA" (e.g., using pin <NUM>). These serial signals are I<NUM>C (Inter-Integrated Circuit) signals. As mentioned above, the DDC master circuit <NUM> exchanges HDCP-related information with other devices (e.g., the HDMI sink device <NUM>). The DDC master circuit <NUM> also reads E-EDID data from other connected devices (e.g., the HDMI sink device <NUM>) to learn what audio/video formats the other device can take. The DDC master circuit <NUM> may also exchange other information on the DDC channel with other connected devices. In this manner, the HDMI loopback device <NUM> communicates the HDCP-related information and the E-EDID data between the HDMI source device <NUM> and the HDMI sink device <NUM>.

The HEAC circuit <NUM> generally receives an audio signal from the HDMI sink device <NUM> on the audio return channel (ARC), and provides the audio signal to a speaker (e.g., the speaker <NUM> of <FIG>). If the HDMI loopback device <NUM> is receiving only an ARC transmission, a single mode signal using the HEAC+ line (e.g., pin <NUM>) can be used; otherwise, HEC is transmitted as a differential signal over the pair of lines (e.g., both HEAC+ on pin <NUM> and HEAC- on pin <NUM>), and ARC as a common mode component of the pair.

The eARC receiver circuit <NUM> generally receives an audio signal from the HDMI sink device <NUM> on the enhanced audio return channel (eARC), and provides the audio signal to a speaker (e.g., the speaker <NUM> of <FIG>). eARC is similar to ARC, but the connection for eARC uses two pins and a shield twisted pair for Ethernet. In addition, the eARC receiver circuit <NUM> may perform discovery independently of the CEC circuit <NUM> (whereas ARC interacts with the CEC circuit <NUM> to perform discovery).

As mentioned above, the HDMI loopback device <NUM> passes the TMDS signals (Clock, Data <NUM>, Data <NUM> and Data <NUM>) through from the HDMI source device <NUM> to the HDMI sink device <NUM>; the other signals (e.g., SCL, SDA, etc.) are exchanged between the HDMI source device <NUM> and the HDMI loopback device <NUM>, and between the HDMI loopback device <NUM> and the HDMI sink device <NUM>. In general, "pass through" means that the HDMI loopback device <NUM> operates similarly to an HDMI cable with respect to the TMDS signals, for example without modifying the TMDS signals, without using active components to retransmit the TMDS signals, etc..

The HDMI sink device <NUM> generally receives an HDMI signal (and transmits ARC or eARC signals, as discussed above), and generally corresponds to the sink device <NUM> (see <FIG>). As shown in <FIG>, the HDMI sink device <NUM> receives the HDMI signal via a connection to the HDMI loopback device <NUM>, with the TMDS signals being passed through the HDMI operates similarly to an HDMI cable with respect to the TMDS signals without modifying the TMDS signals, without using active components to retransmit the TMDS signals, etc..

The HDMI sink device <NUM> generally receives an HDMI signal (and transmits ARC or eARC signals, as discussed above), and generally corresponds to the sink device <NUM> (see <FIG>). As shown in <FIG>, the HDMI sink device <NUM> receives the HDMI signal via a connection to the HDMI loopback device <NUM>, with the TMDS signals being passed through the HDMI loopback device <NUM> from the HDMI source device <NUM>; and the HDMI sink device <NUM> transmits ARC (or eARC) signals to the HDMI loopback device <NUM>. The HDMI sink device <NUM> includes a clock detection circuit <NUM>, a TMDS receiver circuit <NUM>, a power detection circuit <NUM>, a DDC slave circuit <NUM>, a HDCP circuit <NUM>, an EDID circuit <NUM>, a CEC circuit <NUM>, a HEAC circuit <NUM>, and (optionally) an eARC transmitter circuit <NUM>. (The HDMI sink device <NUM> may also include other components, such as a processor and a memory (e.g., that control its operation); for brevity, the details of these other components are omitted.

The clock detection circuit <NUM> receives the clock signal "Clock". As discussed above, the clock signal is a TMDS clock signal received using three pins.

The TMDS receiver circuit <NUM> receives the data signals "Data <NUM>", "Data <NUM>" and "Data <NUM>". As discussed above, these data signals are TMDS signals, each received using three pins.

The power detection circuit <NUM> receives a voltage from the HDMI loopback device <NUM> (e.g., from the hot plug detection circuit <NUM>) and communicates the HPD event back to the hot plug detection circuit <NUM>. In this manner, the HDMI sink device <NUM> communicates the fact of its connection to the HDMI loopback device <NUM>.

The DDC slave circuit <NUM> communicates with the DDC master circuit <NUM> (in the HDMI loopback device <NUM>) using the serial data signal SDA over the DDC link. As discussed above, this data may include HDCP-related information, E-EDID data, and other information. The DDC slave circuit <NUM> also receives the serial clock signal SCL (from the HDMI loopback device <NUM>) over the DDC link. with the CEC circuit <NUM> in the HDMI source device <NUM>, in order to transfer CEC information among the various connected devices.

The HEAC circuit <NUM> generally transmits an audio signal on the ARC to the HDMI loopback device <NUM>, as discussed above.

The eARC transmitter circuit <NUM> generally transmits an audio signal on the eARC to the HDMI loopback device <NUM>, as discussed above.

The operation of the HDMI source device <NUM>, the HDMI sink device <NUM>, and the HDMI loopback device <NUM> is detailed below with reference to <FIG>.

<FIG> is a flowchart of a method <NUM> of connecting HDMI devices. The method <NUM> may be performed by one or more components of the audio/video system <NUM> (see <FIG>, e.g. the HDMI loopback device <NUM> and the other devices), for example according to a computer program executed by a processor.

At <NUM>, the HDMI loopback device <NUM> attempts to negotiate eARC with the HDMI sink device <NUM>, using the common mode data channel of eARC. For example, the HDMI loopback device <NUM> uses the eARC receiver circuit <NUM>, and the HDMI sink device <NUM> uses the eARC transmitter circuit <NUM>, to negotiate eARC.

At <NUM>, if the devices fail to negotiate eARC, the HDMI loopback device <NUM> negotiates ARC with the HDMI sink device <NUM> over the CEC link. For example, the HDMI loopback device <NUM> uses the CEC circuit <NUM> to communicate with the CEC circuit <NUM> in the HDMI sink device <NUM>.

At <NUM>, the HDMI loopback device <NUM> configures its EDID information. First, the HDMI loopback device <NUM> propagates power and hot plug information in a controlled way. For example, the HDMI loopback device <NUM> uses the power detection circuit <NUM> to propagate power and hot plug information with the HDMI source device <NUM>, and uses the hot plug detection circuit <NUM> to propagate power and hot plug information with the HDMI sink device <NUM>.

Second, the HDMI loopback device <NUM> receives an individual HDMI physical address (PhysAddr) from the EDID of the HDMI sink device <NUM>. To read the EDID, the HDMI loopback device <NUM> uses the DDC master circuit <NUM> to communicate with the DDC slave circuit <NUM> of the HDMI sink device <NUM>. The DDC bus does not allow for multiple I<NUM>C masters, so the HDMI loopback device <NUM> maintains two independent DDC buses, one to the HDMI sink device <NUM> (using the DDC master circuit <NUM>) and one to the HDMI source device <NUM> (using the DDC slave circuit <NUM>).

Third, the HDMI loopback device <NUM> generates a modified EDID and provides the modified EDID to the HDMI source device <NUM>, in order to propagate the HDMI PhysAddr to the HDMI source device <NUM>. More details of the process of generating the modified EDID are provided below.

As mentioned above, the HDMI loopback device <NUM> includes a DDC repeater (the DDC master circuit <NUM> and the DDC slave circuit <NUM>), which are used when modifying the HDMI physical address of the HDMI sink device <NUM>. The HDMI loopback device <NUM>, as an active participant on the CEC bus, takes its HDMI PhyAddr from the sink device's EDID, then modifies it for the downstream source device, and makes that available in its own EDID. For example, if the HDMI sink device <NUM> provides a PhysAddr of <NUM>. <NUM>, the HDMI loopback device <NUM> may put <NUM>. <NUM> into the EDID for the source device.

More specifically, first the HDMI loopback device <NUM> reads all of the EDID data from the HDMI sink device <NUM>. Second, the HDMI loopback device <NUM> locates the HDMI Vendor Specific Data Block (HDMI VSDB) within the CTA (Consumer Technology Association) Data Block Collection of a CTA Extension Block version <NUM> (CTA Data Block of Type <NUM> with an IEEE identifier of 0x000C03). Third, the HDMI loopback device <NUM> extracts the two bytes holding the HDMI Physical Address (at offset <NUM> of the VSDB). Fourth, the HDMI loopback device <NUM> splits the two bytes (e.g. 0x10 0x00) into the <NUM> numbers representing the HDMI Physical Address (e.g. <NUM>. This will be used by the CEC circuit <NUM> of the HDMI loopback device <NUM>. Fifth, the HDMI loopback device <NUM> amends the physical address by incrementing the first number that is zero (e.g. <NUM>. Sixth, the HDMI loopback device <NUM> encodes the new address into two bytes (e.g. 0x11 0x00) and inserts into the EDID data at the same offset, overwriting the old physical address. Finally, the HDMI loopback device <NUM> calculates a new checksum for the EDID block, and makes the new EDID data available to the source via the EDID circuit <NUM>.

At <NUM>, the HDMI loopback device <NUM> performs HDCP functionality as needed. As part of this process, the HDMI loopback device <NUM> receives HDCP-related messages on the SDA link from the HDMI source device <NUM> (e.g., using the DDC slave circuit <NUM>), and passes them on to the HDMI sink device <NUM> (e.g., using the DDC master circuit <NUM> and the corresponding SDA link). For example, the HDMI loopback device <NUM> passes on the <NUM>-byte HDCP <NUM> locality check in <NUM> msec.

The HDMI loopback device (e.g., the loopback device <NUM> of <FIG>, the HDMI loopback device <NUM> of <FIG>, etc.) may be implemented using a microcontroller, an interrupt-driven I<NUM>C and CEC implementation, an I<NUM>C master implementation, and <NUM> general-purpose input/output (GPIO) pins to detect and control voltages on the Hot Plug and Power lines. These features drive the following electrical requirements:.

For TMDS, the pass-through is passive (as discussed above), similar to a straight cable. The requirements may be as described in HDMI <NUM>. 4b, Sections <NUM>. <NUM> through <NUM>. <NUM>, and in HDMI <NUM>. 0b, Section <NUM>.

For power, <NUM> Volts may be provided, as described in HDMI <NUM>. 4b, Section <NUM>. Power out to the HDMI sink device may be between <NUM> and <NUM> Volt, and greater than or equal to <NUM> mA.

For DDC, the I<NUM>C bus may operate at <NUM>, as described in HDMI <NUM>. 4b, Section <NUM>. The transmitter (e.g., the DDC master circuit <NUM>, connecting to the HDMI sink device) may have a capacitance of <NUM> pF, and pull-up resistors with a resistance between <NUM> and <NUM> kOhm. The receiver (e.g., the DDC slave circuit <NUM>, connecting to the HDMI source device) may have a capacitance of <NUM> pF, and pull-up resistors with a resistance of <NUM> kOhm (+/-<NUM>%).

For hot plug detection, <NUM> Volts may be provided, as described in HDMI <NUM>. 4b, Section <NUM>. The transmitter (e.g., the hot plug detection circuit <NUM>) may operate using between <NUM> to <NUM> Volt for low, <NUM> to <NUM> Volt for high, at a resistance of <NUM> Ohm (+/-<NUM>%).

For CEC, the CEC circuit <NUM> may conform to HDMI <NUM>. 4b, Section <NUM>. <NUM>, with <NUM> ohms max through, power-off leakage no more than <NUM> uA, and a maximum capacitance of <NUM> pF.

For ARC (or utility), the HEAC circuit <NUM> may conform to HDMI <NUM>. 4b, Section <NUM>. <NUM>, with a maximum impedance of <NUM> Ohm (+/-<NUM>%), and a Dolby® Digital Plus bandwidth of <NUM>.

For eARC, the eARC receiver <NUM> may conform to HDMI <NUM>, Section <NUM>. The electrical specifications may be as described for HEC (Ethernet) in HDMI <NUM>. 4b, Section HEAC <NUM>. The Utility / HPD lines are implemented as a shielded pair carrying a differential signal at +/- <NUM> Volt (+/-<NUM>%) and at <NUM>.

All of the control lines may be implemented using <NUM> Volt or <NUM> Volt GPIO pins, with some external circuitry. The ARC line may be connected to a <NUM>-capable S/PDIF (Sony/Philips Digital Interface Format) input pin. The eARC implementation may include an I<NUM>S (Inter-IC Sound) interface with <NUM> data lines, at up to <NUM>. The CEC line and the DDC busses may be connected to hardware blocks implementing the low-level protocol functionality; alternatively, raw GPIOs with interrupt request (IRQ) may also be used. The DDC master circuit <NUM> may be implemented with a source-controlled clock, at up to <NUM> respective kbit/s, having no IRQ requirement. The DDC slave circuit <NUM> may be implemented with an externally initiated clock, but the slave can hold the clock if it is too slow to respond (clock stretching); there is an IRQ requirement for the clock line, but no IRQ for the data line. The CEC circuit <NUM> may be a multi-node implementation, with a single wire transmitter and receiver with collision detection; it may operate slowly, nominally at <NUM> per bit (<NUM> bit/second), with IRQ optional, and may perform polling (depending upon the speed of the processor). The power detection circuit <NUM> and hot plug detection circuit <NUM> may perform sampling at up to <NUM> granularity, with no IRQ required.

The loopback device (e.g., the loopback device <NUM> of <FIG>, etc.) may be in the form factor of a dongle, with a male HDMI connector at one end for connecting to the second source device <NUM> via an HDMI cable, and a female connector at the other end (optionally on a short HDMI cable) for connecting to the sink device <NUM> (or a male connector, for connecting to the sink device <NUM> via another HDMI cable).

Alternatively, the loopback device may be in the form factor of a soundbar, with no requirement to connect to additional external speakers (such as the speaker <NUM> of <FIG>).

An embodiment may be implemented in hardware, executable modules stored on a computer readable medium, or a combination of both (e.g., programmable logic arrays). Unless otherwise specified, the steps executed by embodiments need not inherently be related to any particular computer or other apparatus, although they may be in certain embodiments. In particular, various general-purpose machines may be used with programs written in accordance with the teachings herein, or it may be more convenient to construct more specialized apparatus (e.g., integrated circuits) to perform the required method steps. Thus, embodiments may be implemented in one or more computer programs executing on one or more programmable computer systems each comprising at least one processor, at least one data storage system (including volatile and non-volatile memory and/or storage elements), at least one input device or port, and at least one output device or port. Program code is applied to input data to perform the functions described herein and generate output information. The output information is applied to one or more output devices, in known fashion.

Each such computer program is preferably stored on or downloaded to a storage media or device (e.g., solid state memory or media, or magnetic or optical media) readable by a general or special purpose programmable computer, for configuring and operating the computer when the storage media or device is read by the computer system to perform the procedures described herein. The inventive system may also be considered to be implemented as a computer-readable storage medium, configured with a computer program, where the storage medium so configured causes a computer system to operate in a specific and predefined manner to perform the functions described herein. (Software per se and intangible or transitory signals are excluded to the extent that they are unpatentable subject matter.

Claim 1:
An apparatus (<NUM>, <NUM>) for connecting High-Definition Multimedia Interface, HDMI, devices, the apparatus comprising:
a first HDMI interface that is configured to connect to a first HDMI source device (<NUM>);
a second HDMI interface that is configured to connect to an HDMI sink device (<NUM>, <NUM>, <NUM>), wherein the first HDMI interface and the second HDMI interface include a transition-minimized differential signaling, TMDS, channel,
wherein the apparatus (<NUM>, <NUM>) is configured to pass TDMS signals representing a first audio and video signal through the apparatus (<NUM>, <NUM>) from the first HDMI source device (<NUM>) to the HDMI sink device (<NUM>, <NUM>, <NUM>) on the TDMS channel via a first HDMI connection, without using active components to retransmit the TDMS signals; and
wherein the second HDMI interface is configured to receive an audio signal from the HDMI sink device (<NUM>, <NUM>, <NUM>), and
wherein the apparatus is configured to output the received audio signal to a speaker (<NUM>)
said apparatus further configured to
read extended display identification data, EDID, information from the HDMI sink device (<NUM>, <NUM>, <NUM>),
extract an HDMI physical address from the EDID information,
amend the physical address,
generate modified EDID information by inserting the amended physical address into the EDID information such that the extracted HDMI physical address is overwritten, and
pass the modified EDID information to the first HDMI source device (<NUM>).