Dolby Atmos Filters
Advanced Dolby Atmos Topics
Master Formats
Transform supports the following Dolby Atmos master formats:
- Dolby Atmos Master Format (DAMF). This is the native format produced by the Dolby Atmos mastering tools.
- Broadcast WAV format (BW64) containing Audio Definition Model (ADM) metadata. This is the format required for iTunes delivery.
- 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.61 7.1.42 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 none1 film standard compression2 film light compression3 music standard compression4 music light compression5 speech compression |
DynamicRangeRFModeProfile | integer | 0 none1 film standard compression2 film light compression3 music standard compression4 music light compression5 speech compression |
DownMixMode | integer | Specifies the stereo down mix mode:0 not indicated1 ProLogic2 Stereo3 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
}
}
}
]
}
]
}
}
Updated about 1 year ago