diff options
author | Jean-Marc Valin <jmvalin@jmvalin.ca> | 2011-09-11 16:12:36 -0400 |
---|---|---|
committer | Jean-Marc Valin <jmvalin@jmvalin.ca> | 2011-09-11 16:12:36 -0400 |
commit | 5257e3fee8838e0198a3e4888e4742319a204053 (patch) | |
tree | 9ac5a0ef034bf87ee74017e4019b45ccb9e3aad0 /doc | |
parent | 904e7a87009d3f7fba6a4124cb8fdf0cf3fca2c4 (diff) | |
download | opus-5257e3fee8838e0198a3e4888e4742319a204053.tar.gz |
TF decoding details
Diffstat (limited to 'doc')
-rw-r--r-- | doc/draft-ietf-codec-opus.xml | 78 |
1 files changed, 71 insertions, 7 deletions
diff --git a/doc/draft-ietf-codec-opus.xml b/doc/draft-ietf-codec-opus.xml index 65f75fef..4bf79b9d 100644 --- a/doc/draft-ietf-codec-opus.xml +++ b/doc/draft-ietf-codec-opus.xml @@ -9,16 +9,16 @@ <author initials="JM" surname="Valin" fullname="Jean-Marc Valin"> -<organization>Octasic Inc.</organization> +<organization>Mozilla</organization> <address> <postal> -<street>4101, Molson Street</street> -<city>Montreal</city> -<region>Quebec</region> -<code></code> -<country>Canada</country> +<street>650 Castro Street</street> +<city>Mountain View</city> +<region>CA</region> +<code>94041</code> +<country>USA</country> </postal> -<phone>+1 514 282-8858</phone> +<phone>+1 650 903-0800</phone> <email>jmvalin@jmvalin.ca</email> </address> </author> @@ -4336,6 +4336,70 @@ of stereo audio. <section anchor="tf-change" title="Time-Frequency change"> <t> +The time-frequency (TF) parameters are used to control the time-frequency resolution tradeoff +in each coded band. For each band, there are two possible TF choices. For the first +band coded, the PDF is {3, 1}/4 for frames marked as transient and {15, 1}/16 for +the other frames. For subsequent bands, the TF choice is coded relative to the +previous TF choice with probability {15, 1}/15 for transient frames and {31, 1}/32 +otherwise. The mapping between the decoded TF choices and the adjustment in TF +resolution is shown in the tables below. +</t> + +<texttable anchor='tf_00'> +<ttcol align='center'>Frame size (ms)</ttcol> +<ttcol align='center'>0</ttcol> +<ttcol align='center'>1</ttcol> +<c>2.5</c> <c>0</c> <c>-1</c> +<c>5</c> <c>0</c> <c>-1</c> +<c>10</c> <c>0</c> <c>-2</c> +<c>20</c> <c>0</c> <c>-2</c> +<postamble>TF adjustments for non-transient frames and tf_select=0</postamble> +</texttable> + +<texttable anchor='tf_01'> +<ttcol align='center'>Frame size (ms)</ttcol> +<ttcol align='center'>0</ttcol> +<ttcol align='center'>1</ttcol> +<c>2.5</c> <c>0</c> <c>-1</c> +<c>5</c> <c>0</c> <c>-2</c> +<c>10</c> <c>0</c> <c>-3</c> +<c>20</c> <c>0</c> <c>-3</c> +<postamble>TF adjustments for non-transient frames and tf_select=1</postamble> +</texttable> + + +<texttable anchor='tf_10'> +<ttcol align='center'>Frame size (ms)</ttcol> +<ttcol align='center'>0</ttcol> +<ttcol align='center'>1</ttcol> +<c>2.5</c> <c>0</c> <c>-1</c> +<c>5</c> <c>1</c> <c>0</c> +<c>10</c> <c>2</c> <c>0</c> +<c>20</c> <c>3</c> <c>0</c> +<postamble>TF adjustments for transient frames and tf_select=0</postamble> +</texttable> + +<texttable anchor='tf_11'> +<ttcol align='center'>Frame size (ms)</ttcol> +<ttcol align='center'>0</ttcol> +<ttcol align='center'>1</ttcol> +<c>2.5</c> <c>0</c> <c>-1</c> +<c>5</c> <c>1</c> <c>-1</c> +<c>10</c> <c>1</c> <c>-1</c> +<c>20</c> <c>1</c> <c>-1</c> +<postamble>TF adjustments for transient frames and tf_select=1</postamble> +</texttable> + +<t> +A negative TF adjustment means that the temporal resolution is increased, +while a positive TF adjustment means that the frequency resolution is increased. +Changes in TF resolution are implemented using the Hadamard transform. To increase +the time resolution by N, N "levels" of the Hadamard transform are applied to the +decoded vector for each interleaved MDCT vector. To increase the frequency resolution +(assumes a transient frame), then N levels of the Hadamard transform are applied +<spanx style="emph">across</spanx> the interleaved MDCT vector. In the case of increased +time resolution the decoder uses the "sequency order" because the input vector +is sorted in time. </t> </section> |