shithub: opus

Download patch

ref: 224824b01724f0568d7726fe592d5714f58ccb6a
parent: 66a57c8e96077a242b0157fab352590f31cce077
author: Jean-Marc Valin <[email protected]>
date: Mon Jun 29 13:35:41 EDT 2009

ietf doc: pitch description

--- a/doc/ietf/draft-valin-celt-codec.xml
+++ b/doc/ietf/draft-valin-celt-codec.xml
@@ -443,9 +443,16 @@
 
 <section anchor="pitch-prediction" title="Pitch Prediction">
 <t>
-The pitch period is computed by find_spectral_pitch()
-(<xref target="pitch.c">pitch.c</xref>) and the pitch gain is computed by
-compute_pitch_gain() (<xref target="bands.c">bands.c</xref>).
+The pitch period T is computed in the frequency domain using a generalized 
+cross-correlation, as implemented in find_spectral_pitch()
+(<xref target="pitch.c">pitch.c</xref>). An MDCT is then computed on the 
+synthsis signal memory using the offset T. If there is sufficient energy in this
+part of the signal, the pitch gain for each pitch band
+is computed as g = X^T*P, where X is the normalised (unquantised) signal and
+P is the normalised pitch signal.
+The gain is computed by compute_pitch_gain() (<xref target="bands.c">bands.c</xref>)
+and if a sufficient number of bands have a high enough gain, then the pitch bit is set.
+Otherwise, no use of pitch is made.
 </t>
 
 </section>