1. HDMI 1.4 Compliance Specification Overview
The HDMI 1.4 Compliance Specification offers detailed test requirements for source devices, sink devices, mechanical connections, repeaters, and more. Note that this document focuses on HDMI functional test of Section 7: HDMI Sources (for example, Blu-ray disc players, set-top boxes, camcorders, mobile devices, and so on). Throughout the HDMI Sources section, there are key tests for audio, video, protocol, EDID, electrical properties, and others. While these tests are vital to gaining compliance certification, there are three items that are most important for any end-of-line test applications: HDMI protocol, audio quality, and video quality. The following sections offer key measurements to ensure that these three components of the HDMI signal are intact and can successfully interoperate with other devices.
2. HDMI Protocol Overview
HDMI offers much more to consumers than traditional analog interfaces because it does more than transfer audio and video signals. The HDMI protocol allows devices to communicate settings, preferred formats, and force actions. The HDMI protocol has three sections:
The CEC (Consumer Electronics Control) is an independent feature based on a single line that is daisy chained between all of the devices on an HDMI link. The CEC line allows any device that is CEC-enabled to exchange information with any other device(s). CEC can be used to command all of the devices using a single remote control or to automatically change settings on a device when the status of another device changes (for example, if powered on or off). For instance, if a consumer places a disc into a Blu-ray Player and shuts the drawer, the HDTV automatically powers on, sets the correct video input, and turns on the surround-sound receiver. This communication is all done over the CEC line and provides a much better customer experience.
EDID (Extended Display Identification Data) is a set of data physically stored in a sink device such as an HDTV or DVR. EDID contains information about the sink's supported features and capability. A source device (like a Blu-ray Player) can access that information and adjust to the preferred or supported settings of the sink. For example, a 3D-capable Blu-ray Player would need to read the EDID table of an HDTV to ensure that it supports not only 3D content but also a common 3D structure such as the Blu-ray Player. If no common structure can be identified, then a 2D resolution and frame rate is negotiated. The communication between the source device(s) and the sink device is implemented through the DDC lines (Display Data Channel), which is an I2C bus included in the HDMI cable.
The HPD (Hot-Plug-Detect) feature is a communication mechanism between a source and a sink device that makes the source device aware that it has been connected/disconnected to/from the sink device. When an HDMI cable is inserted between the two devices, the resulting hot-plug detection instantiates a start-up communication sequence. The EDID information stored in the sink device gets read by the source device though the DDC bus, and the source device typically presents itself on the CEC link and requests basic status information from the sink device such as its power status as well as other devices on the HDMI chain.
3. HDMI Protocol Tests
As previously mentioned, most end-of-line applications cannot afford (both in time and hardware) to test every aspect of the HDMI Compliance Specification, so a sufficient functional test must be developed. The following section identifies the key measurements and tests for CEC, EDID, and HPD to show a high level of confidence in interoperability with other HDMI devices.
Note: The NI Digital Video Analyzer solution described in this article was superseded by the NI PXIe-1491 HDMI Analyzer, a single-card solution for HDMI audio and video test. The NI CEC Analyzer and the NI EDID Update Utility described below also support the PXIe-1491.
CEC Protocol Testing
To properly communicate with other devices on the network, a device must be able to receive, process, and send CEC commands. It must also adhere to all of the electrical and timing properties of the HDMI specification to guarantee interoperability. In end-of-line testing, it is often sufficient to test the CEC line to ensure proper soldering and operability. For this type of test, the device should be subjected to a CEC message to ensure it responds accordingly.
When an HDMI device sends a command or responds to a request on the CEC line, it first identifies itself as the Initiator device. It then sends information about the recipient for the message, the Follower. Both initiator and follower are identified by their logical address. For example, the first playback device on the CEC link takes logical address 0x4 while the TV always uses address 0x0. Then the initiator device optionally sends an operation code (opcode) and one or more parameters (operands).
Figure 1. In this example CEC transmit/receive communication, the initiator in this case is Playback Device 1 and the follower represents all of the devices on the CEC line and identifies the message as a Broadcast message. The opcode with value 0x84 tells that the playback device is broadcasting its physical address, while the operands include the actual physical address value 0x10 00 followed by the logical address 0x04.
CEC Test 1: Power-Up Sequence Test Using the NI Digital Video Analyzer with the NI CEC Analyzer
When the source device is powered up, it sends a sequence of messages to reserve a logical address and inform other devices about its own conditions. The following screenshot shows a typical start-up sequence for a Blu-ray Player as logged using the NI CEC Analyzer stand-alone utility.
Figure 2. A Blu-ray Player power-up sequence is captured with the NI CEC Analyzer. The CEC Activity window on the right side shows all of the messages sent by the player. In this case, the player is the Initiator (Playback Device 1) of all of the messages while the Followers are the recipients of each message.
This example below presents three different cases.
- The Follower is Playback Device 1. This is used by the device to ping itself and check that no other device acknowledges the message. The missing acknowledge that shows up as an error flag confirms that the used logical address (Playback Device 1, Logical address 0x4) is available for use by the player.
- The Follower is specified as Broadcast. This is used by the device to send specific information to all of the devices. In this example, the player is reporting its own physical address as explained above.
- The Follower is the TV. This is used to send specific requests or command messages to the TV. An example of command is the <Image View On>, requesting the TV to turn on and/or to switch to the Image Display state if previously in Text Display state.
One major benefit to test engineers is that analyzing the power-up sequence of the device cuts down on overall test time. Because all set-top boxes must be powered on during test, it is an ideal time to test CEC line functionality.
CEC Test 2: CEC Request/Response
A second CEC test assesses a device’s ability to respond to requests from other devices on the CEC line. For this example, the NI Digital Video Analyzer emulates an HDTV by sending an active command, which results in physical action by the UUT. The following screenshots show a series of three messages being sent to the player sequentially as well as a view of the entire resulting activity on the CEC line.
Figure 3. (Top) Three types of messages were sent to a UUT: ping, request for system ID, and forcing playback. (Bottom) CEC activity resulting from the sent messages is shown in the NI CEC Analyzer.
The first message in Figure 3 shows a single Ping message with no opcode and operands. The message is just acknowledged by the player. The second message consists of a simple opcode <Get CEC Version> requesting the UUT to report its supported CEC protocol version. As seen in the Activity window, the playback device then responds directly to the TV with the message <CEC Version> and the actual version value 0x04. Finally the last message is a command with opcode <Play> and a single operand [Play Mode] whose value 0x24 corresponds to an actual "Play" command. The player should then start playing the loaded disc. The player does not send any specific message confirming the actual action, but confirmation can, for example, be made by acquiring and analyzing the actual video signal using appropriate test tools like the NI Video Measurement Suite.
The CEC line can be used to force a UUT into a specific configuration required for the automated test procedure. In this example, the Blu-ray Player has been forced to start playback of audio and video, which can then be analyzed for total quality.
EDID Information and Hot-Plug-Detect Testing
When a source device is powered on or is connected to a sink device with an HDMI cable, a Hot-Plug Detect (HPD) event is initiated. During the initiation sequence, the EDID information from the sink is read over the DDC line and a format/resolution is negotiated.
During product testing, the sink is replaced by an HDMI test system such as the NI Digital Video Analyzer. It is ideal to have a user-controlled EDID table that can be edited or replaced to provoke different reactions by the UUT (similarly to connecting the Blu-ray Player to various HDTVs from different vendors). This allows engineers to ensure their source devices work with the variety of HDTVs available on the market without the manual process of plugging into each one and purchasing all of the HDTVs. All they need are the EDID files to verify a successful negotiation.
EDID-HPD Test 1: EDID With Reduced Image Resolution Support
For high-throughput applications, it is important to test that the DDC and HPD lines are functional on the HDMI link. One way to achieve this is to load a new EDID table to the HDMI test system that supports a different resolution/frame rate and force an HPD event. If the device reacts accordingly by changing formats, engineers know the DDC and HPD lines are working properly. Figure 4 shows the initial Blu-ray Player format of 3D content in Frame Packed format at 1080p24 as identified by the NI Digital Video Analyzer. This is supported because the EDID table on the NI Digital Video Analyzer is configured to work with 3D content.
Figure 4. The Video Signal Information measurement on the NI Digital Video Analyzer provides details on the signal being acquired from the source after the source has read the EDID table and chosen a format to generate. In this instance, 3D video is being generated.
Next, the EDID table on the NI Digital Video Analyzer is replaced with one that does not support 3D content. Figure 5 shows the NI EDID Update Utility that is used to replace the EDID table on the NI Digital Video Analyzer. This utility also forces an HPD event that restarts the initiation sequence with the Blu-ray Player as if it were connected to a different HDTV.
Figure 5. The NI EDID Update Utility loads a new EDID table to the NI Digital Video Analyzer, which does not support 3D content. All bits are visible for the user as well as detailed information about the supported file features. There is also a tab the user can select to force an HPD event after the file is loaded. This process can be automated or interactive based on application needs.
Once the EDID table has been reloaded and the HPD event has been forced, the HDMI signal is acquired again by the NI Digital Video Analyzer to ensure the Blu-ray Player generates a supported format instead of the 3D content. Figure 6 shows the newly acquired data from the Video Signal Information measurements on the NI Digital Video Analyzer.
Figure 6. The HDMI signal is acquired after the HPD event to ensure the format and resolution have adjusted to the new EDID table. This instance show that 8-bit/pixel, 720p60 is the chosen format.
During this test, both the DDC and HPD lines are examined to ensure they function properly on the source device. If the new format is not correct, the device has exhibited errors on one of these lines that must be investigated further.
By using the HPD event with various EDID tables, engineers can conduct a complete test on the DDC and HPD lines of the HDMI signal. While this offers a complete functional test, the test time associated depends on the reaction time of the HDMI source, so test time could prove to be more extensive than the application can afford. For engineers requiring a faster approach, NI recommends monitoring the DDC line for activity.
EDID-HPD Test 2: Monitoring the EDID Transfer and HDCP Negotiation on the DDC Lines
The EDID information is transferred from the HDTV or DVR to the Blu-ray Player using the DDC lines, an I2C type bus that is included in the HDMI cable. It is possible to monitor the DDC traffic to detect and read the EDID transfer. The EDID information captured on the DDC lines should reflect the EDID information presented on the EDID utility.
Figure 7. The DDC Bus Communication at Power-Up or Following a Hot-Plug-Detect Event
Compare the EDID sequence above to the one presented on the front panel of the EDID Update Utility.
Note that the 256 bytes of data representing the EDID information are transferred over the DDC bus as two consecutive datasets of 128 bytes, both from address 0xA1.
Apart from transferring the EDID information, the DDC bus carries information related to HDCP identification (High-bandwidth Digital Content Protection). HDCP is a way to prevent a source device from playing unauthorized HDCP-encrypted material. HDCP authorization requires an exchange of key information between the source and the sink device. Monitoring the DDC bus also presents the HDCP-related traffic as shown in Figure 8. HDCP communication uses address 0x74.
Figure 8. Example of HDCP Information Exchange Made Over the DDC Bus
4. HDMI Audio and Video Tests
One of the greatest features of HDMI is that it offers high-definition video and surround-sound audio in a single cable, providing a theater-like experience for consumers. To test the audio and video quality of these products, NI recommends a static test for the analysis of timing, noise, and color levels and a streaming video test for motion video artifacts such as macroblocking, stuck frames, and audio drops caused by decoding or buffer errors. The following tests briefly examine audio and video testing, but you can read White Paper: Picture Quality Analysis: Real-Time Measurements for Objective Video Quality for more detailed test concepts for measuring streaming video quality.
Audio and Video Test 1: Single-Tone, Timing, Noise, and Color Levels Test
Once the HDMI Protocol has been verified, the DUT needs to generate a static test pattern and a single audio tone over the HDMI interface. The test pattern should contain a traditional color bar pattern that offers full-scale colors for the 8-, 10-, or 12-bit color values as well as a ramp for each RGB/YUV component to measure noise or LSB-toggling on the TMDS channels. Figure 9 shows the test patterns and measurements made on the static video quality using NI Video Measurement Suite (VMS).
Figure 9. (Top Left) A single audio tone and test pattern containing a color bar pattern and ramps for each RGB component are generated over the HDMI interface. (Top Right) The line timing of the HDMI signal is analyzed for accurate timing and resolution using the NI Digital Video Analyzer. (Bottom) The H-lines and single-tone properties are analyzed and compared to expected values.
Audio and Video Test 2: Streaming Video Quality Analysis
Many artifacts such as macroblocking, stuck or dropped frames, pixelation, and audio clips or drops are not always evident in every frame because they are caused by component failure as a device is stressed. These errors present a poor customer experience and should be tested for in any production environment. Typically, a 5- to 10-second test is sufficient for identifying major defects, but NI recommends this test be the final test of a DUT to give it maximum stress time. Depending on the application, engineers may want to use defect-specific measurements to look for macroblocking or pixelation, or they may want to use overall picture quality metrics that measure the total image quality against a reference frame. The NI Digital Video Analyzer provides both sets of measurements. Figure 10 shows an example of streaming video test with the NI Digital Video Analyzer and the NI Picture Quality Analysis (PQA) software.
Figure 10. NI Picture Quality Analysis measures an incoming HDMI video stream and measures each frame for macroblocking in the horizontal (red) and vertical (blue) space. The HDMI Audio signal is also monitored to ensure the single-tone property retains quality throughout the test.
While the HDMI technology offers great value to consumers with high-definition video and smart protocols, it increases the test complexity of HDMI devices. The HDMI protocol, which consists of various InfoFrames, CEC communication, and EDID/DDC/HPD negotiations, has become a vital component of many test requirements along with static and streaming audio and video tests. With a few key measurements in each of these areas, engineers can create a highly automated test solution for HDMI devices.