• ← back to all posts

    Dolby Audio Over HDMI Part 2: Signaling and Carriage

    May 22, 2017 by Dolby Developer

    In Part 1, we talked about Dolby Audio codecs and what was supported on HDMI and S/PDIF.  Now let's talk about how devices know what type of audio to send and how it's actually sent.

    Signaling Dolby Audio Support

    HDMI introduced signaling in the form of the Enhanced Extended Display Identification Data (E-EDID) structure that allows a source device (e.g. set-top box, game console) to detect the capabilities of the connected sink device (e.g. TV, soundbar, A/V receiver) before sending any audio or video. This ensures that only formats that the sink device supports are transmitted by the source device, ensuring no blank screens or silent speakers. The main audio parameters in the E-EDID are carried in one or more Short Audio Descriptors (SAD). Each SAD describes a supported audio format, including sampling rates, bit rates and (for PCM) bit depths.  Here's an example of the HDMI EDID from a television:

    Since Dolby Atmos is NOT a codec and is carried as an extension to existing codecs, there's an "audio format specific" byte in each SAD that indicates whether a device supports Dolby Atmos.  A source device that wants to send Atmos to a sink device can check for Dolby Atmos support in the SAD for each Dolby audio codec. 

    It's common for televisions to support stereo PCM, Dolby Digital, Dolby Digital Plus and it's common for AVRs and sound bars to additionally support Dolby TrueHD.  When a source device connects to a sink device, it reads the E-EDID to see what codecs it supports before sending audio.  In the case where the sink device doesn't support the source's audio codec, the source device will decode the audio and send stereo or 5.1 PCM audio.  

    Carrying Dolby Audio over HDMI

    When delivering encoded audio formats over HDMI, the data space normally taken up by the PCM audio data can instead be thought of as one big data pipe where the clock rate determines how much data can be sent across the pipe.  The 3 main clock rates that are important for Dolby codecs are 48 kHz, 192 kHz and 768 kHz. The data pipe is 2 channels with 16 bits per channel, so when you multiply the pipe size and the clock rate, you correspondingly get 1.5 Mbps, 6 Mbps, and 24.5 Mbps.  Dolby audio codecs fit into the different clock rates like this:

    Sample RateMax Bit RateSupported Dolby Audio Formats
    48 kHz1.5 Mbps• Dolby Digital
    192 kHz6 Mbps• Dolby Digital Plus (with or without Dolby Atmos)
    768 kHz24.5 Mbps• Dolby True HD (with or without Dolby Atmos)

    Why can't I just send PCM?

    There's a lot more to Dolby audio than just compression!  You get the best possible audio quality when the final device in the chain does the audio decoding.  Dolby audio bitstreams have metadata parameters that define how surround sound is downmixed to stereo, what type of dynamic range compression should be applied and other useful information.  To get the best sound quality out of a television or home theater system, it's best if they receive a Dolby bitstream over HDMI.  Additionally, there is NO way of sending Dolby Atmos over PCM over HDMI, so you have to send Dolby Digital Plus or Dolby TrueHD to get the Dolby Atmos experience.

    HDMI Audio Return Channel

    The HDMI Audio Return Channel (ARC) provides a way for TVs to send audio "upstream" to an A/V receiver or sound bar.   Without HDMI ARC, consumers would have to connect their home theater systems using S/PDIF along with its shortcomings. The benefit of ARC is that it simplifies the home theater set up - all of your sources plug into the TV and audio is passed-through the TV out to the home theater device.  TV makers have also simplified device control by using HDMI Consumer Electronics Control (CEC) to send commands (volume/power/etc.) to the home theater system to give consumers a single-remote experience.

    HDMI ARC signaling works similarly to the HDMI forward channel - there's an E-EDID to indicate what audio formats and features are supported.  The key difference between HDMI ARC and the HDMI forward channel is how much data can be transmitted - ARC only supports the 48 kHz and 192 kHz clock rates which means that Dolby Digital and Dolby Digital Plus are supported but Dolby TrueHD is not supported as there isn't enough bandwidth.

    For Dolby Atmos, Dolby Digital Plus-based Dolby Atmos content (that's a mouthful) can be sent via HDMI ARC, but Dolby TrueHD-based Dolby Atmos content can't. What this means is that Dolby Atmos can be sent over ARC, but only within Dolby Digital Plus. In the future, televisions will be able to transcode Dolby TrueHD to Dolby Digital Plus to send Dolby Atmos audio over ARC, and with HDMI 2.1 and enhanced audio return channel (E-ARC), lossless audio can be sent over ARC.

    In the past, many televisions have replicated the same audio that was sent over S/PDIF to HDMI ARC. While this was fine for stereo and Dolby Digital, Dolby Digital Plus can only be sent over ARC, and requires a different higher clock rate than S/PDIF, so care needs to be taken in order to give consumers the Dolby Atmos experience over HDMI ARC.

    Summary

    • HDMI E-EDID signaling tells a source device what the sink device supports
    • Dolby audio is sent using different clock rates within HDMI
    • The HDMI audio return channel supports Dolby audio (including Dolby Atmos)

    In the next post, we'll talk about some of the common issues that consumers see today and what should work better.

    ABOUT THE AUTHORS



    facebook twitter