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:

Property

Value

Description

ChannelConfiguration

integer

Channel configuration for CBI content:
0 9.1.6
1 7.1.4
2 5.1.4

BitRate

integer

Allowable bitrates:
384000, 448000, 640000 768000

IntegratedLoudness

number

Integrated audio loudness in LUFS. This value represents either the ungated, level gated or speech gated loudness based on user preference.

IntegratedLoudnessRange

number

Loudness range in LU.

SamplePeak

number

Peak audio sample value in dBFS.

TruePeak

number

True peak value in dBTP.

DynamicRangeLineModeProfile

integer

0 none
1 film standard compression
2 film light compression
3 music standard compression
4 music light compression
5 speech compression

DynamicRangeRFModeProfile

integer

0 none
1 film standard compression
2 film light compression
3 music standard compression
4 music light compression
5 speech compression

DownMixMode

integer

Specifies the stereo down mix mode:
0 not indicated
1 ProLogic
2 Stereo
3 ProLogic2

LoRoCenterMixLevel

integer

Specifies 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)

LoRoSurroundMixLevel

integer

Specifies the surround channel level for a conventional (LoRo) stereo down mix.

LtRtCenterMixLevel

integer

Specifies the center channel level for a matrix (LtRt) stereo down mix.

LtRtSurroundMixLevel

integer

Specifies 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:

Property

Value

Description

MeteringMode

enum

Specifies the loudness measurement mode: BT1770_1 ungated loudness, BT1770_2 gated loudness, BT1770_3 improved true peak, BT1770_4 higher channel count.

DialogIntelligence

boolean

Indicates whether Dolby Dialogue Intelligence is enabled.

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

Property

Value

Description

momentary_loudness

number

Momentary (400ms) loudness in LUFS.

short_term_loudness

number

Short term (3 s) loudness in LUFS.

short_term_10s_loudness

number

Short term (10 s) loudness in LUFS.

ungated_loudness

number

Integrated ungated loudness in LUFS.

level_gated_loudness

number

Integrated level gated loudness in LUFS.

speech_gated_loudness

number

Percentage of content detected as speech.

speech_percentage

number

Current range of loudness levels in LU.

sample_peak

number

Sample peak signal level in dBFS.

true_peak

number

True 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:

Property

Value

Description

ChannelConfiguration

enum

Output channel configuration: stereo, C_L_R_Ls_Rs_LFE, C_Lc_Rc_L_R_Ls_Rs_LFE. Default is stereo.

MeteringMode

enum

Specifies 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.

DialogIntelligence

boolean

Indicates whether Dolby Dialogue Intelligence is enabled. Default is false.

Normalization

number

Loudness 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
              }
            }
          }
        ]
      }
    ]
  }
}

Did this page help you?