DTS: Difference between revisions
No edit summary |
|||
Line 53: | Line 53: | ||
| 4 bits || Sample frequency || See table below | | 4 bits || Sample frequency || See table below | ||
|- | |- | ||
| 5 bits || Bitrate || | | 5 bits || Bitrate || See table below | ||
|- | |- | ||
| 1 bit || Down mix || | |||
|- | |||
| 1 bit || Dynamic range || | |||
|- | |||
| 1 bit || Time stamp || | |||
|- | |||
| 1 bit || Auxiliary data || | |||
|- | |||
| 1 bit || HDCD || | |||
|- | |||
| 3 bits || External descr || | |||
|- | |||
| 1 bit || External coding || | |||
|- | |||
| 1 bit || ASPF || | |||
|- | |||
| 2 bits || LFE || | |||
|- | |||
| 1 bit || Predictor history || | |||
|- | |||
| 16 bits || Header CRC || if CRC present above is set | |||
|- | |||
| 1 bit || Multirate inter || | |||
|- | |||
| 4 bits || Version || | |||
|- | |||
| 2 bits || Copy history || | |||
|- | |||
| 3 bits || Source PCM resolution || | |||
|- | |||
| 1 bit || Front sum || | |||
|- | |||
| 1 bit || Surround sum || | |||
|- | |||
| 4 bits || Dialog normalization || dB of recovery | |||
|- | |||
| ""SUBFRAMES"" | |||
| '''TODO''' | | '''TODO''' | ||
|} | |} |
Revision as of 14:47, 20 February 2008
- Codec ID: 0x2001
- Company: DTS Inc.
DTS Coherent Acoustics is a perceptual audio codec. The main technique used is a QMF filter together with Huffman, ADPCM and vector quantization.
Specification can be found through the ETSI (mirrored here), search for DTS. Info completing the incomplete specification can be found here: http://webapp.etsi.org/action%5CPU/20021224/ts_102114v010201p.pdf, http://gauss.ffii.org/PatentView/EP864146, and http://ofi.epoline.org/view/GetDossier?dosnum=&pubnum=EP864146&lang=EN# .
The VideoLAN project has created libdts/libdca an open source implementation of DTS. Unfortunately libdts was pushed underground through patent scare tactics for a while.
Bitstream coding
There are four different bitstream formats -- little- or big-endian and 16 or 14 bits per word.
Raw bitstream coding
Raw bitstream is packed into 16-bit words with possible little- or big-endian.
14-bit words
This kind of bitstream is packed into 16-bit words where high two bits contain some auxiliary information (parity?). This coding is used in many DTS-in-WAV files.
How to distinguish different versions
Every frame in DTS starts with 32-bit syncword which can be used to distinguish current bitstream encoding:
Sequence | Bitstream type |
---|---|
7F FE 80 01 | raw big-endian |
FE 7F 01 80 | raw little-endian |
1F FF E8 00 07 Fx | 14-bit big-endian |
FF 1F 00 E8 Fx 07 | 14-bit little-endian |
Frame format
Size | Explanation | Value |
---|---|---|
32 bits | Sync marker | 0x7FFE8001 |
1 bit | Frame type (or last frame) | 0 - termination frame, 1 - normal frame |
5 bits | Deficit sample count | number of samples in block - 1 (should be 31 for normal frame) |
1 bit | CRC present | |
7 bits | Number of blocks | 5-127 |
14 bits | Frame size in bytes - 1 | 95-16383 |
6 bits | Channel configuration | values 0-15 are standard, 16-63 are user-defined |
4 bits | Sample frequency | See table below |
5 bits | Bitrate | See table below |
1 bit | Down mix | |
1 bit | Dynamic range | |
1 bit | Time stamp | |
1 bit | Auxiliary data | |
1 bit | HDCD | |
3 bits | External descr | |
1 bit | External coding | |
1 bit | ASPF | |
2 bits | LFE | |
1 bit | Predictor history | |
16 bits | Header CRC | if CRC present above is set |
1 bit | Multirate inter | |
4 bits | Version | |
2 bits | Copy history | |
3 bits | Source PCM resolution | |
1 bit | Front sum | |
1 bit | Surround sum | |
4 bits | Dialog normalization | dB of recovery |
""SUBFRAMES"" | TODO |