DTS: Difference between revisions

From MultimediaWiki
Jump to navigation Jump to search
(Some notes on bitstream coding)
(Bitstream format)
Line 32: Line 32:
|}
|}


== Frame format ==
{| border="1"
! 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 ||
|-
| '''TODO'''
|}
[[Category:Audio Codecs]]
[[Category:Audio Codecs]]

Revision as of 10:49, 11 February 2007

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, search for DTS. Info completeing the incomplete specification can be found here [1], [2] and here [3].

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
TODO