From eb5aa094c479bc26f3ff88c8e0f262b977a0652e Mon Sep 17 00:00:00 2001 From: Jean-Marc Valin Date: Wed, 10 Jun 2009 17:48:39 -0400 Subject: ietf doc: synthesis --- doc/ietf/draft-valin-celt-codec.xml | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) (limited to 'doc') diff --git a/doc/ietf/draft-valin-celt-codec.xml b/doc/ietf/draft-valin-celt-codec.xml index 7e4940e..9e07c3c 100644 --- a/doc/ietf/draft-valin-celt-codec.xml +++ b/doc/ietf/draft-valin-celt-codec.xml @@ -376,6 +376,9 @@ prediction or a folding vector P is used, the unit vector X becomes: X = P + g_f * y, where g_f = ( sqrt( (y^T*P)^2 + ||y||^2*(1-||P||^2) ) - y^T*P ) / ||y||^2. +This is described in mix_pitch_and_residual() (vq.c). + + The search for the best codevector y is performed by alg_quant() (vq.c). There are several possible approaches to the @@ -399,7 +402,13 @@ formulation one line (or column) at a time to save on memory use. -
+
+ +After all the quantisation is completed, the quantised energy is used along with the +quantised normalised band data to resynthesise the MDCT spectrum. The inverse MDCT () and the weighted overlap-add are applied and the signal is stored in the synthesis buffer so it can be used for pitch prediction. +The encoder MAY omit this step of the processing if it knows that it will not be using +the pitch predictor for the next few frames. +
@@ -455,7 +464,7 @@ multiplied by the square root of the decoded energy. This is done by denormalise
-
+
The inverse MDCT implementation has no special characteristic. The input is N frequency-domain samples and the output is 2*N time-domain samples. The output is windowed using the same low-overlap window -- cgit v1.2.3