Deriving the contents of the EC3SpecificBox
This topic provides additional details on the information specific to Dolby Digital Plus and how information is derived from the Dolby Digital Plus bitstream parameters.
The data inside the EC3SpecificBox
can be calculated by using
information in the Dolby Digital
Plus bitstream parameters, including:
-
frmsiz
-
fscod
-
numblkscod
-
substreamid
-
strmtyp
-
bsmod
-
chanmap
-
addbsi
data_rate
The data_rate
parameter indicates the data rate (in kbps) of the
entire Dolby Digital
Plus bitstream. The value is the sum of the data
rates of all the substreams in the Dolby Digital
Plus bitstream. When a
bitstream uses variable data-rate encoding, data_rate
indicates the
maximum data rate of the bitstream.
The data rate of each substream is calculated using this equation:
In this equation:
-
frmsiz
is the value of thefrmsiz
parameter in the Dolby Digital Plus frame. -
fs
is the sampling frequency of the Dolby Digital Plus bitstream (in kHz). (Thefs
value is derived from thefscod
parameter in the Dolby Digital Plus frame.) -
numblks
is the number of audio blocks per frame. (Thenumblks
value is derived from thenumblkscod
parameter in the Dolby Digital Plus frame.)
num_ind_sub
The num_ind_sub
parameter indicates the number of independent
substreams present in the Dolby Digital
Plus bitstream. The value of
num_ind_sub
is equal to the value of the
substreamid
parameter found in the last independent substream
of the bitstream. During bitstream parsing, this will be the frame with a
strmtyp
value of 0
that precedes the frame
with both a strmtyp
value of 0
and a
substreamid
value of 0
(indicating that this
frame belongs to the first independent substream of the bitstream).
bsmod
The bsmod
parameter is optional in a Dolby Digital
Plus
bitstream. Detecting it requires additional parsing.
If the Dolby Digital
Plus bitstream contains only one independent
substream, inclusion of the value of bsmod
in the
EC3SpecificBox
is optional. If parsing yields more than one
independent substream, the value of bsmod
must be included in the
EC3SpecificBox
for each substream to ensure that the system
parsing the DASH-compliant file can quickly identify the audio services present in
the bitstream.
This field itself is not optional. When there is no bsmod
, the value
must be set to zero.
num_dep_sub
The num_dep_sub
parameter indicates the number of dependent
substreams associated with an independent substream. Its value is equal to the value
of the substreamid
parameter found in the frame with a
strmtyp
value of 1
(that is, in the dependent
substream) immediately preceding a frame with a strmtyp
value of
0
(that is, in the independent substream).
chan_loc
The chan_loc
field indicates channel locations (beyond the standard
5.1 channels) that are carried by dependent substreams associated with an
independent substream. The contents of the chan_loc
field are
determined by parsing the chanmap
bit field in every dependent
substream associated with a particular independent substream, and setting the
corresponding channel locations in the chan_loc
field to a value of
1
.
Because this field is used by the system only to indicate the unique channel
locations present in the bitstream, it is not necessary to reflect replacement
channels in this field. Therefore, duplicate channel locations in the
chanmap
field indicate replacement channels and can be
ignored.
flag_ec3_extension_type_a
The flag_ec3_extension_type_a
parameter indicates whether Dolby
Atmos content is present in a bitstream. Its value is equal to the value of the
flag_ec3_extension_type_a
bit found in the
addbsi
.
complexity_index_type_a
The complexity_index_type_a
parameter indicates the decoding
complexity of a Dolby Digital
Plus bitstream carrying Dolby Atmos content.
If the flag_ec3_extension_type_a
bit in the addbsi
has a value of 0
, the complexity_index_type_a
will
not be available in the EC3SpecificBox
. If the
flag_ec3_extension_type_
a bit in the addbsi
has a value of 1
, the complexity_index_type_a
in
the EC3SpecificBox
shall take the value of the
complexity_index_type_a
field found in the
addbsi
of the bitstream.