ref: cbc2afb118f17a3c1062fc31f9c05a7d3f22b7f5
parent: 6ed927f2bfa59a5558011b6c3920bd3cdf60047f
author: Jean-Marc Valin <[email protected]>
date: Mon Jun 8 13:45:00 EDT 2009
Illustrating the bit-stream
--- a/doc/ietf/draft-valin-celt-codec.xml
+++ b/doc/ietf/draft-valin-celt-codec.xml
@@ -23,6 +23,34 @@
</address>
</author>
+<author initials="T" surname="Terriberry" fullname="Timothy B. Terriberry">
+<organization>Xiph.Org Foundation</organization>
+<address>
+<postal>
+<street></street>
+<city></city>
+<region></region>
+<code></code>
+<country></country>
+</postal>
+<email>[email protected]</email>
+</address>
+</author>
+
+<author initials="G" surname="Maxwell" fullname="Gregory Maxwell">
+<organization>Juniper Networks</organization>
+<address>
+<postal>
+<street>2251 Corporate Park Drive, Suite 100</street>
+<city>Herndon</city>
+<region>VA</region>
+<code>20171-1817</code>
+<country>USA</country>
+</postal>
+<email>[email protected]</email>
+</address>
+</author>
+
<!-- <author initials="et" surname="al." fullname="et al.">
<organization></organization>
</author>
@@ -144,6 +172,21 @@
(<xref target="celt.c">celt.c</xref>).
</t>
+<t>
+<figure>
+<artwork>
++-----------------+---------------------+------------------------------+
+| Feature flags | (pitch period if P) | (transient scalefactor if S) |
++-----------------+---------------------+------------------------------+
+| (transient time if scalefactor == 3) | coarse energy |
++----------------+----------------------+------------------------------+
+| fine energy | PVQ indices for all bands | end of frame pattern |
++----------------+-----------------------------------------------------+
+</artwork>
+</figure>
+</t>
+
+
<section anchor="Range Coder" title="Range Coder">
<t>
derf?
@@ -209,6 +252,7 @@
<section anchor="folding" title="Spectral folding (F)">
<t>
+The last encoding feature in CELT is spectral folding. It is designed to prevent "birdie" artefacts caused by the sparse spectra often generated by low-bitrate transform codecs.
</t>
</section>
@@ -222,7 +266,6 @@
It is derived from a basic (with full overlap) window that is the same as the one used in the Vorbis codec: W(n)=[sin(pi/2*sin(pi/2*(n+.5)/L))]^2. The low-overlap window is created by zero padding the basic window and inserting ones in the middle, such that the resulting window still satisfies power complementarity. The MDCT is computed in mdct_forward()
(<xref target="mdct.c">mdct.c</xref>), which includes the windowing operation.
</t>
-
</section>
<section anchor="Bands and Normalization" title="Bands and Normalization">