Home | History | Annotate | Download | only in doc

Lines Matching refs:of

8 This document provides a high level description of the Vorbis codec's
12 understanding of the Vorbis decode process, which is
18 over an exceptionally wide range of bitrates. At the high
19 quality/bitrate end of the scale (CD or DAT rate stereo, 16/24 bits)
24 masters) and a range of channel representations (monaural,
32 addition of a hybrid wavelet filterbank in Vorbis II to offer better
43 codebooks used in the first stage of decoding from the bitstream are
50 Vorbis provides none of its own framing, synchronization or protection
51 against errors; it is solely a method of accepting input audio,
55 them, and reassembles the frames into a facsimile of the original
67 transport) or RTP (for network multicast). For purposes of a few
80 reflects a desire to allow multiple decades of continuous encoder
81 improvement before running out of room within the codec specification.
82 For these reasons, configurable aspects of codec setup intentionally
83 lean toward the extreme of forward adaptive.
87 probability model of the codec, the Huffman and VQ codebooks, is
103 unbounded, although for streaming a rule-of-thumb of 4kB or less is
106 Our own design work indicates the primary liability of the
108 causes some amount of complaint among engineers as this runs against
125 into specific limitations of an embedded design. For this reason,
133 Decoder setup consists of configuration of multiple, self-contained
135 pipeline. Each different component instance of a specific type is
136 semantically interchangeable; decoder configuration consists both of
137 internal component configuration, as well as arrangement of specific
147 Global codec configuration consists of a few audio related fields
149 bitrate hints, and the lists of component instances. All other
150 configuration is in the context of specific components.
157 The mode mechanism is used to encode a frame according to one of
158 multiple possible methods with the intention of choosing a method best
160 is changed from frame to frame. The mode number of a frame serves as a
161 top level configuration switch for all other specific aspects of frame
164 A 'mode' configuration consists of a frame size setting, window type
173 A mapping contains a channel coupling description and a list of
174 'submaps' that bundle sets of channel vectors together for grouped
178 A 'submap' is a configuration/grouping that applies to a subset of
180 last layer of indirection such that specific special floor or residue
190 Therefore it would be wasteful to encode a full-spectrum version of it
195 of a full-range floor) and channel 5 belongs to submap 1, which uses a
202 vector is a low-resolution representation of the audio spectrum for
208 A floor encoding may be of two types. Floor 0 uses a packed LSP
218 Floor 0 is not to be considered deprecated, but it is of limited
220 use of floor 0.
223 make use of entropy coding to save space. For this reason, a floor
231 The spectral residue is the fine structure of the audio spectrum
234 quantization according to one of three specific packing/coding
245 offset into an index of output value vectors, returning the indicated
246 vector of values.
250 one of several methods, depending on whether codeword lengths are
255 single list of values of possible values that are then permuted into
256 a list of n-dimensional rows (lattice VQ).
276 version, and the simple audio characteristics of the stream such as
277 sample rate and number of channels.
282 encoding and proper use of the comment header is described in \xref{vorbis:spec:comment}.
299 \item inverse channel coupling of residue vectors
301 \item compute dot product of floor and residue, producing audio spectrum vector
302 \item inverse monolithic transform of audio spectrum vector, always an MDCT in Vorbis I
303 \item overlap/add left-hand output of transform with right-hand output of previous frame
304 \item store right hand-data from transform of current frame for future lapping
305 \item if not first frame, return results of overlap/add as audio result of current frame
308 Note that clever rearrangement of the synthesis arithmetic is
309 possible; as an example, one can take advantage of symmetries in the
310 MDCT to store the right-hand transform data of a partial MDCT for a
320 of the three Vorbis headers described above. The fourth packet type
325 are audio. The first step of audio packet decode is to read and
336 as described earlier, all of which may be used in a given Vorbis
343 Vorbis frames may be one of two PCM sample sizes specified during
344 codec setup. In Vorbis I, legal frame sizes are powers of two from 64
350 artifacts. The MDCT output of one frame is windowed according to MDCT
351 requirements, overlapped 50\% with the output of the previous frame and
354 This is easy to visualize in the case of equal sized-windows:
358 \captionof{figure}{overlap of two equal-sized windows}
361 And slightly more complex in the case of overlapping unequal sized
366 \captionof{figure}{overlap of a long and a short window}
369 In the unequal-sized window case, the window shape of the long window
372 knowing the sizes of the current, previous and next window. It is
373 legal for a decoder to use this method. However, in the case of a long
377 to be fully decoded to the point of lapping entirely independently of
378 any other packet, allowing easier abstraction of decode layers as well
379 as allowing a greater level of easy parallelism in encode and
382 A description of valid window functions for use with an inverse MDCT
397 Although the number of residue vectors equals the number of channels,
413 A detailed discussion of stereo in the Vorbis codec can be found in
416 the stereo document also gives a good overview of the generic coupling
419 Vorbis coupling applies to pairs of residue vectors at a time;
426 After decoupling, in order, each pair of vectors on the coupling list,
428 of each output channel.
451 producing the finished audio spectrum of each channel.
458 multiplication of the vectors is sufficient for acceptable spectral
463 the audio spectrum vector should represent a minimum of 120dB (\~{}21
483 description of the MDCT is available in \cite{Sporer/Brandenburg/Edler}.
494 of the previous window such that the 3/4 point of the previous window
495 is aligned with the 1/4 point of the current window (as illustrated in
497 center of the previous frame and the center of the current frame is
502 The decoder must cache the right hand portion of the current frame to
503 be lapped with the left hand portion of the next frame.
511 This data spans from the center of the previous window to the center
512 of the current window. In the case of same-sized windows, the amount
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
517 correct data range; the amount of data to be returned is:
523 from the center of the previous window to the center of the current