DTS-HD: Difference between revisions

From MultimediaWiki
Jump to navigation Jump to search
(link to the 1.4.1 spec)
(the specification is available, so it's not really incomplete)
 
Line 3: Line 3:
* [http://www.etsi.org/deliver/etsi_ts/102100_102199/102114/01.04.01_60/ts_102114v010401p.pdf Specification (PDF)] (v1.4.1, 2012-09-28); [[Mirrored Files|mirrored locally]].
* [http://www.etsi.org/deliver/etsi_ts/102100_102199/102114/01.04.01_60/ts_102114v010401p.pdf Specification (PDF)] (v1.4.1, 2012-09-28); [[Mirrored Files|mirrored locally]].


DTS-HD is an audio coding technology developed by DTS and targeted for the HD generation of optical discs (namely [[Blu-Ray]] and [[HD-DVD]]). The technology specification embodies various modes and extensions, one of which is XLL, an extension for lossless audio coding.
DTS-HD is an audio coding technology developed by DTS and targeted for the HD generation of optical discs (namely [[Blu-Ray]] and [[HD-DVD]]). The technology specification embodies various coding modes and extensions to the [[DTS]] core.


DTS-HD contains a normal [[DTS]] core. There's always one DTS core
DTS-HD frames may either extend DTS core (then they will follow each DTS core frame) or form an independent stream of DTS-HD frames only. In the former case DTS-HD frame may contain some extensions to the core frame (e.g. XBR for the additional resolution, XXCh for the additional channels or even XLL for reconstructing the original audio bit-perfectly). Independent DTS-HD frames may contain several streams internally, for example core audio (with possible extensions signalled explicitly), DTS-HD Master Audio (lossless audio) or DTS Express (a low-bitrate codec related to [[QDesign Music Codec]]).
package and then one DTS-HD package. Then again one DTS core
package and then again one DTS-HD package.


The DTS-HD packages begin with the text "dX %", which is in hex
The DTS-HD packages begin with the text "dX %", which is in hex
Line 20: Line 18:
So the length calculates like "(sixthByte & 0xf) << 11 + seventhByte
So the length calculates like "(sixthByte & 0xf) << 11 + seventhByte
<< 3 + (eightthByte >> 5) & 7 + 1".
<< 3 + (eightthByte >> 5) & 7 + 1".
DTS-HD can be either DTS-HD High Resolution (lossy, constant
bit rate) or DTS-HD Master Audio (lossless, variable bit rate).
Obviously DTS-HD High Resolution packages in a specific DTS-HD
stream always have the same size. While DTS-HD Master Audio
packages vary in size. But the size field in the DTS-HD package
is always set correctly, so you don't really need to worry about
High Resolution vs. Master Audio.
Skipping over full DTS-HD packages is much better
than to search for a new sync word because the sync
word could theoretically also occur inside of a DTS-HD package.
It has occured in regular dts core payload.


[[Category:Audio Codecs]]
[[Category:Audio Codecs]]
[[Category:Lossless Audio Codecs]]
[[Category:Lossless Audio Codecs]]
[[Category:Multichannel Audio Codecs]]
[[Category:Multichannel Audio Codecs]]
[[Category:Incomplete Audio Codecs]]

Latest revision as of 06:39, 22 July 2023

DTS-HD is an audio coding technology developed by DTS and targeted for the HD generation of optical discs (namely Blu-Ray and HD-DVD). The technology specification embodies various coding modes and extensions to the DTS core.

DTS-HD frames may either extend DTS core (then they will follow each DTS core frame) or form an independent stream of DTS-HD frames only. In the former case DTS-HD frame may contain some extensions to the core frame (e.g. XBR for the additional resolution, XXCh for the additional channels or even XLL for reconstructing the original audio bit-perfectly). Independent DTS-HD frames may contain several streams internally, for example core audio (with possible extensions signalled explicitly), DTS-HD Master Audio (lossless audio) or DTS Express (a low-bitrate codec related to QDesign Music Codec).

The DTS-HD packages begin with the text "dX %", which is in hex "64 58 20 25". There's a length field in the DTS-HD package which tells you how long the DTS-HD package is exactly. If you skip this length, you should end up on the next DTS core package. The length of the DTS-HD package is stored in the bytes 6-8. The lowest four bits of the sixth bytes are the most significant bits of the length field. All 8 bits of the seventh byte are used for the length field. And the 3 most significant bits of the eightth byte are the least significant bits of the length field. Finally you need to add 1 to the length field. So the length calculates like "(sixthByte & 0xf) << 11 + seventhByte << 3 + (eightthByte >> 5) & 7 + 1".