From 469feb1568201997be599ed0ff19e32d15ce77ca Mon Sep 17 00:00:00 2001 From: Jean-Marc Valin <jean-marc.valin@octasic.com> Date: Thu, 2 Jul 2009 17:12:13 -0400 Subject: [PATCH] ietf doc: minor changes --- Doxyfile | 2 +- Doxyfile.devel | 2 +- doc/ietf/draft-valin-celt-codec.xml | 20 +++++++++++--------- 3 files changed, 13 insertions(+), 11 deletions(-) diff --git a/Doxyfile b/Doxyfile index eac017589..e309b62be 100644 --- a/Doxyfile +++ b/Doxyfile @@ -5,7 +5,7 @@ #--------------------------------------------------------------------------- DOXYFILE_ENCODING = UTF-8 PROJECT_NAME = CELT -PROJECT_NUMBER = 0.5.2 +PROJECT_NUMBER = 0.6.0 OUTPUT_DIRECTORY = doc/API CREATE_SUBDIRS = NO OUTPUT_LANGUAGE = English diff --git a/Doxyfile.devel b/Doxyfile.devel index 39ef5134d..569e83db4 100644 --- a/Doxyfile.devel +++ b/Doxyfile.devel @@ -5,7 +5,7 @@ #--------------------------------------------------------------------------- DOXYFILE_ENCODING = UTF-8 PROJECT_NAME = CELT -PROJECT_NUMBER = 0.5.0 +PROJECT_NUMBER = 0.6.0 OUTPUT_DIRECTORY = doc/devel CREATE_SUBDIRS = NO OUTPUT_LANGUAGE = English diff --git a/doc/ietf/draft-valin-celt-codec.xml b/doc/ietf/draft-valin-celt-codec.xml index 8d3e1f0a3..bbe56e06f 100644 --- a/doc/ietf/draft-valin-celt-codec.xml +++ b/doc/ietf/draft-valin-celt-codec.xml @@ -244,19 +244,21 @@ bands is computed in compute_pbands() (<xref target="modes.c">modes.c</xref>). <section anchor="CELT Encoder" title="CELT Encoder"> <t> +The top-level function for encoding a CELT frame in the reference implementation is +celt_encode() (<xref target="celt.c">celt.c</xref>). The basic block diagram of the CELT encoder is illustrated in <xref target="encoder-diagram"></xref>. The encoder contains most of the building blocks of the decoder and can, with very little extra computation, compute the signal that would be decoded by the decoder. -The top-level function for encoding a CELT frame in the reference implementation is -celt_encode() (<xref target="celt.c">celt.c</xref>). +CELT has three main quantizers denoted Q1, Q2 and Q3 and that apply to band energies, pitch gains +and normalised MDCT bins, respectively. </t> <figure anchor="encoder-diagram"> <artwork> <![CDATA[ - +-----------+ +--+ - +--| Energy |-+---->|Q1|--------------+ - | |computation| | +--+ | + +-----------+ +--+ + +--| Energy |-+----->|Q1|-------------+ + | |computation| | +--+ | | +-----------+ | | | +-----+ | | v v @@ -625,10 +627,10 @@ The best PVQ codeword is encoded by encode_pulses() (<xref target="cwrs.c">cwrs. The codeword is converted to a unique index in the same way as specified in <xref target="PVQ"></xref>. The indexing is based on the calculation of V(N,K) (denoted N(L,K) in <xref target="PVQ"></xref>), which is the number of possible combinations of K pulses in N samples. The number of combinations can be computed recursively as -V(N,K) = V(N+1,K) + V(N,K+1) + V(N+1,K+1), with V(N,0) = 1 and V(0,K) = 0 for K != 0. -There are many different ways to compute V(N,K), including pre-compute tables and direct -use of the recursive formulation. The reference implementation applies the recursive -formulation one line (or column) at a time to save on memory use. +V(N,K) = V(N+1,K) + V(N,K+1) + V(N+1,K+1), with V(N,0) = 1 and V(0,K) = 0, K != 0. +There are many different ways to compute V(N,K), including pre-computed tables and direct +use of the recursive formulation. To save on memory use, the reference implementation applies the recursive +formulation one line (or column) at a time. </t> </section> -- GitLab