Lines Matching refs:And
4 \section{Introduction and Description} \label{vorbis:spec:intro}
20 it is in the same league as MPEG-2 and MPC. Similarly, the 1.0
21 encoder can encode high-quality CD and DAT rate stereo at below 48kbps
23 lower and higher sample rates (from 8kHz telephony to 192kHz digital
24 masters) and a range of channel representations (monaural,
33 transient response and reproduction using a transform better suited to
40 encoder and simple, low-complexity decoder. Vorbis decode is
52 dividing it into individual frames and compressing these frames into
55 them, and reassembles the frames into a facsimile of the original
56 audio stream. Vorbis is a free-form variable bit rate (VBR) codec and packets have no
58 are designed that they may be truncated (or padded) and remain
59 decodable; this is not to be considered an error condition and is used
61 mechanism and decoder must allow that a packet may be any size, or
65 that provides free-form framing, sync, positioning and error correction
77 \subsubsection{Codec Setup and Probability Model}
79 Vorbis' heritage is as a research CODEC and its current design
85 The single most controversial design decision in Vorbis (and the most
87 probability model of the codec, the Huffman and VQ codebooks, is
101 Thus, Vorbis headers are both required for decode to begin and
104 recommended (and Xiph.Org's Vorbis encoder follows this suggestion).
107 required header is in mindshare; it is an unusual design and thus
109 current design trends (and also points out limitations in some
119 Vorbis encoder. A decoder must faithfully and completely implement
149 bitrate hints, and the lists of component instances. All other
166 type 0, the MDCT, in Vorbis I) and a mapping number. The mapping
168 low-level packet decode and synthesis.
173 A mapping contains a channel coupling description and a list of
175 encoding and decoding. These submaps are not references to external
176 components; the submap list is internal and specific to a mapping.
179 floor and residue vectors within a mapping. The submap functions as a
183 the proper floor and residue instance number to use for decoding that
184 submap's spectral floor and spectral residue vectors.
192 apply a full range floor and residue encoding to channels 0 through 4,
193 and a bass-only representation to the bass channel, thus saving space.
195 of a full-range floor) and channel 5 belongs to submap 1, which uses a
209 representation on a dB amplitude scale and Bark frequency scale.
211 representation on a dB amplitude scale and linear frequency scale.
214 inter-frame behavior, and so is the preferred choice in all
215 coupled-stereo and high bitrate modes. Floor 1 is also considerably
222 The values coded/decoded by a floor are both compactly formatted and
226 and each floor instance may choose from any and all available
238 and each residue instance may choose from any and all available
244 decoding and, optionally, use the entropy-decoded integer value as an
272 header, the comments header, and the setup header.
276 version, and the simple audio characteristics of the stream such as
277 sample rate and number of channels.
280 The comment header includes user text comments (``tags'') and a vendor
282 encoding and proper use of the comment header is described in \xref{vorbis:spec:comment}.
286 the complete VQ and Huffman codebooks needed for decode.
291 The decoding and synthesis procedure for all audio packets is
301 \item compute dot product of floor and residue, producing audio spectrum vector
311 50\% inter-frame buffer space savings, and then complete the transform
313 produces entirely equivalent output and is naturally perfectly legal.
325 are audio. The first step of audio packet decode is to read and
328 must ignore the packet and not attempt decoding it to
346 independent vectors and these frame sizes are in samples per channel.
351 requirements, overlapped 50\% with the output of the previous frame and
361 And slightly more complex in the case of overlapping unequal sized
366 \captionof{figure}{overlap of a long and a short window}
372 knowing the sizes of the current, previous and next window. It is
375 flag bits to specify pre- and post- window shape. Although not
379 as allowing a greater level of easy parallelism in encode and
402 and may differ from frame to frame, due to different mode numbers.
420 decoupling is done in-place a pair at a time in the order and using
423 polar representation (where one vector is magnitude and the second
437 inverse coupling and applied to the spectral residue directly,
438 combining generation and the dot product into one step and eliminating
441 Both floor 0 and floor 1 generate a linear-range, linear-domain output
450 multiplies the floor curve and residue vectors element by element,
457 fixed-point representation for floor and residue and direct
462 However, floor vector values can span \~{}140dB (\~{}24 bits unsigned), and
471 residue vector must be able to represent a 48 bit range and the dot
493 Windowed MDCT output is overlapped and added with the right hand data
497 center of the previous frame and the center of the current frame is
498 now finished and ready to be returned.
509 The overlapped portion produced from overlapping the previous and
513 of data to return is one-half block consisting of and only of the
514 overlapped portions. When overlapping a short and long window, much of