Dolby Atmos Filters

Advanced Dolby Atmos Topics

Master Formats

Transform supports the following Dolby Atmos master formats:

  1. Dolby Atmos Master Format (DAMF). This is the native format produced by the Dolby Atmos mastering tools.
  2. Broadcast WAV format (BW64) containing Audio Definition Model (ADM) metadata. This is the format required for iTunes delivery.
  3. Material Exchange Format (MXF) containing an Immersive Audio Bitstream (IAB). This is the standard for Atmos delivery within an IMF package.

The following composition will extract an Atmos track from an IMF package and output a WAV/ADM master:

---
input:
  container:
  - name: imf
    audio:
    - name: stereo
    - name: surround
    - name: atmos
output:
  container:
  - name: bw64
    type: 'wav '
    audio:
    - route:
        name: atmos
{
  "input": {
    "container": [
      {
        "name": "imf",
        "audio": [
          {
            "name": "stereo"
          },
          {
            "name": "surround"
          },
          {
            "name": "atmos"
          }
        ]
      }
    ]
  },
  "output": {
    "container": [
      {
        "name": "bw64",
        "type": "wav ",
        "audio": [
          {
            "route": {
              "name": "atmos"
            }
          }
        ]
      }
    ]
  }
}

Encoding

The Dolby Digital Plus JOC (Joint Object Coding) ec3j encoder supports the following (required) configuration properties:

PropertyValueDescription
ChannelConfigurationintegerChannel configuration for CBI content:
0 9.1.6
1 7.1.4
2 5.1.4
BitRateintegerAllowable bitrates:
384000, 448000, 640000 768000
IntegratedLoudnessnumberIntegrated audio loudness in LUFS. This value represents either the ungated, level gated or speech gated loudness based on user preference.
IntegratedLoudnessRangenumberLoudness range in LU.
SamplePeaknumberPeak audio sample value in dBFS.
TruePeaknumberTrue peak value in dBTP.
DynamicRangeLineModeProfileinteger0 none
1 film standard compression
2 film light compression
3 music standard compression
4 music light compression
5 speech compression
DynamicRangeRFModeProfileinteger0 none
1 film standard compression
2 film light compression
3 music standard compression
4 music light compression
5 speech compression
DownMixModeintegerSpecifies the stereo down mix mode:
0 not indicated
1 ProLogic
2 Stereo
3 ProLogic2
LoRoCenterMixLevelintegerSpecifies the center channel level for a conventional (LoRo) stereo down mix:
0 1.414 (+3.0 dB)
1 1.189 (+1.5 dB)
2 1.000 (0.0 dB)
3 0.841 (-1.5 dB)
4 0.707 (-3.0 dB)
5 0.595 (-4.5 dB)
6 0.500 (-6.0 dB)
7 0.000 (-inf dB)
LoRoSurroundMixLevelintegerSpecifies the surround channel level for a conventional (LoRo) stereo down mix.
LtRtCenterMixLevelintegerSpecifies the center channel level for a matrix (LtRt) stereo down mix.
LtRtSurroundMixLevelintegerSpecifies the surround channel level for a matrix (LtRt) stereo down mix.

For example the following will transcode a Dolby Atmos master file to Dolby Digital Plus:

---
input:
  container:
  - name: atmos
    audio:
    - name: a1
output:
  container:
  - name: mp4
    type: 'mp4 '
    audio:
    - route:
        name: a1
      encode:
        type: ec3j
        properties:
          BitRate: 640000
          IntegratedLoudness: -23.0
          IntegratedLoudnessRange: 25.0
          SamplePeak: -5.0
          TruePeak: -4.0
{
  "input": {
    "container": [
      {
        "name": "atmos",
        "audio": [
          {
            "name": "a1"
          }
        ]
      }
    ]
  },
  "output": {
    "container": [
      {
        "name": "mp4",
        "type": "mp4 ",
        "audio": [
          {
            "route": {
              "name": "a1"
            },
            "encode": {
              "type": "ec3j",
              "properties": {
                "BitRate": 640000,
                "IntegratedLoudness": -23.0,
                "IntegratedLoudnessRange": 25.0,
                "SamplePeak": -5.0,
                "TruePeak": -4.0
              }
            }
          }
        ]
      }
    ]
  }
}

Loudness Measurement

Dolby Atmos encoding requires audio loudness measurements for both object and channel based immersive content.

Dolby Analyzer

Audio loudness measurement is performed in a preperation pass using the Dolby Loudness dala analysis filter. The filter supports the following configuration properties:

PropertyValueDescription
MeteringModeenumSpecifies the loudness measurement mode: BT1770_1 ungated loudness, BT1770_2 gated loudness, BT1770_3 improved true peak, BT1770_4 higher channel count.
DialogIntelligencebooleanIndicates whether Dolby Dialogue Intelligence is enabled.

Loudness measurements are added to each sample as a loud analysis element.

PropertyValueDescription
momentary_loudnessnumberMomentary (400ms) loudness in LUFS.
short_term_loudnessnumberShort term (3 s) loudness in LUFS.
short_term_10s_loudnessnumberShort term (10 s) loudness in LUFS.
ungated_loudnessnumberIntegrated ungated loudness in LUFS.
level_gated_loudnessnumberIntegrated level gated loudness in LUFS.
speech_gated_loudnessnumberPercentage of content detected as speech.
speech_percentagenumberCurrent range of loudness levels in LU.
sample_peaknumberSample peak signal level in dBFS.
true_peaknumberTrue peak signal level in dBTP.

Properties Writer

The properties prop container writer is used to write the analyzer results to a JSON file:

---
input:
  container:
  - name: atmos
    audio:
    - name: a1
output:
  container:
  - name: json
    type: prop
    properties:
      Kind: data
    audio:
    - route:
        name: a1
      filter:
      - type: dala
        properties:
          MeteringMode: BT1770_4
          DialogIntelligence: true
{
   "input": {
      "container": [
         {
            "name": "atmos",
            "audio": [
               {
                  "name": "a1"
               }
            ]
         }
      ]
   },
   "output": {
      "container": [
         {
            "name": "json",
            "type": "prop",
            "properties": {
               "Kind": "data"
            },
            "audio": [
               {
                  "route": {
                     "name": "a1"
                  },
                  "filter": [
                     {
                        "type": "dala",
                        "properties": {
                           "MeteringMode": "BT1770_4",
                           "DialogIntelligence": true
                        }
                     }
                  ]
               }
            ]
         }
      ]
   }
}

The properties writer will produce an output similar to the following:

{
  "audio": [
    {
      "format": "in24",
      "sample_rate": {
        "numerator": 48000,
        "denominator": 1
      },
      "channels": 26,
      "sample": [
        {
          "duration": 1536,
          "analysis": [
            {
              "type": "loud",
              "momentary_loudness": -10.0,
              "short_term_loudness": -12.0,
              "short_term_10s_loudness": -12.0,
              "ungated_loudness": -21.0,
              "level_gated_loudness": -21.0,
              "speech_gated_loudness": -22.0,
              "speech_percentage": 65.0,
              "loudness_range": 25.0,
              "sample_peak": -5.0,
              "true_peak": -4.0
            }
          ]
        }
      ]
    }
  ]
}

Rendering

Dolby Atmos object based audio content can be rendered to standard channel configurations (stereo, 5.1 or 7.1). Rendering allows Atmos content to be encoded in other formats such as AC-3 or AAC.

Atmos Converter

Rendering is implement using the Dolby Atmos converter dacv filter which supports the following properties:

PropertyValueDescription
ChannelConfigurationenumOutput channel configuration: stereo, C_L_R_Ls_Rs_LFE, C_Lc_Rc_L_R_Ls_Rs_LFE. Default is stereo.
MeteringModeenumSpecifies the loudness measurement mode: none, BT1770_1 ungated loudness, BT1770_2 gated loudness, BT1770_3 improved true peak, BT1770_4 higher channel count. Default is none.
DialogIntelligencebooleanIndicates whether Dolby Dialogue Intelligence is enabled. Default is false.
NormalizationnumberLoudness normalization in dB. Default is 0.0 dB.

Rendered Loudness

The following composition renders a Dolby Atmos master file to 5.1 surround and measures the audio loudness:

---
input:
  container:
  - name: atmos
    audio:
    - name: a1
output:
  container:
  - name: json
    type: prop
    audio:
    - route:
        name: a1
      filter:
        type: dacv
        properties:
          ChannelConfiguration: C_L_R_Ls_Rs_LFE
          MeteringMode: BT1770_4
{
  "input": {
    "container": [
      {
        "name": "atmos",
        "audio": [
          {
            "name": "a1"
          }
        ]
      }
    ]
  },
  "output": {
    "container": [
      {
        "name": "json",
        "type": "prop",
        "audio": [
          {
            "route": {
              "name": "a1"
            },
            "filter": {
              "type": "dacv",
              "properties": {
                "ChannelConfiguration": "C_L_R_Ls_Rs_LFE",
                "MeteringMode": "BT1770_4"
              }
            }
          }
        ]
      }
    ]
  }
}

Rendered Encoding

The following composition encodes a Dolby ATMOS master file to Dolby Digital 5.1 with audio normalization:

---
input:
  container:
  - name: atmos
    audio:
    - name: a1
output:
  container:
  - name: mp4
    type: 'mp4 '
    audio:
    - route:
        name: a1
      filter:
        type: dacv
        properties:
          ChannelConfiguration: C_L_R_Ls_Rs_LFE
          Normalization: -1.0
      encode:
        type: 'ec3 '
        properties:
          OutputFormat: ac-3
          BitRate: 128000
{
  "input": {
    "container": [
      {
        "name": "atmos",
        "audio": [
          {
            "name": "a1"
          }
        ]
      }
    ]
  },
  "output": {
    "container": [
      {
        "name": "mp4",
        "type": "mp4 ",
        "audio": [
          {
            "route": {
              "name": "a1"
            },
            "filter": {
              "type": "dacv",
              "properties": {
                "ChannelConfiguration": "C_L_R_Ls_Rs_LFE",
                "Normalization": -1.0
              }
            },
            "encode": {
              "type": "ec3 ",
              "properties": {
                "OutputFormat": "ac-3",
                "BitRate": 128000
              }
            }
          }
        ]
      }
    ]
  }
}