Abstract:
An audio decoder provides a combination of decoding components including components implementing base band decoding, spectral peak decoding, frequency extension decoding and channel extension decoding techniques. The audio decoder decodes a compressed bitstream structured by a bitstream syntax scheme to permit the various decoding components to extract the appropriate parameters for their respective decoding technique.
Abstract:
Traditional audio encoders may conserve coding bit-rate by encoding fewer than all spectral coefficients, which can produce a blurry low-pass sound in the reconstruction. An audio encoder using wide-sense perceptual similarity improves the quality by encoding a perceptually similar version of the omitted spectral coefficients, represented as a scaled version of already coded spectrum. The omitted spectral coefficients are divided into a number of sub-bands. The sub-bands are encoded as two parameters: a scale factor, which may represent the energy in the band; and a shape parameter, which may represent a shape of the band. The shape parameter may be in the form of a motion vector pointing to a portion of the already coded spectrum, an index to a spectral shape in a fixed code-book, or a random noise vector. The encoding thus efficiently represents a scaled version of a similarly shaped portion of spectrum to be copied at decoding.
Abstract:
It can be determined whether relative one way delay for data packets in a data stream exceeds a delay threshold. If so, then a delay congestion signal indicating that the relative one way delay exceeds the delay threshold can be generated. The delay congestion signal can be used in calculating an adaptive bandwidth estimate for the data stream. A packet loss rate congestion signal may also be used in calculating the bandwidth estimate. It can be determined whether a data stream of data packets is in a contention state. If the data stream is in the contention state, then an adaptive bandwidth estimate can be calculated for the data stream using a first bandwidth estimation technique. If the data stream is not in the contention state, then the bandwidth estimate for the data stream can be calculated using a second bandwidth estimation technique.
Abstract:
A method of encoding an input video stream comprising a video component and an audio component is disclosed. The input video stream is split into a plurality of segments, each comprising a plurality of frames. Each of the segments is encoded as a low bit rate layer, a high bit rate layer, and one or more intermediate bit rate layers. The bit rate of the low bit rate layer is selected such that a network streaming the segment will always be able to stream the segment encoded as the low bit rate layer. The bit rate of the high bit rate layer is selected such that the segment is able to be decoded and played back at or above a quality threshold. The bit rates of the intermediate bit rate layers are produced by applying a bit rate factor to another bit rate.
Abstract:
A multi-channel audio decoder provides a reduced complexity processing to reconstruct multi-channel audio from an encoded bitstream in which the multi-channel audio is represented as a coded subset of the channels along with a complex channel correlation matrix parameterization. The decoder translates the complex channel correlation matrix parameterization to a real transform that satisfies the magnitude of the complex channel correlation matrix. The multi-channel audio is derived from the coded subset of channels via channel extension processing using a real value effect signal and real number scaling.
Abstract:
An audio encoder performs entropy encoding of audio data. For example, an audio encoder determines a Huffman code from a Huffman code table to use for encoding a vector of audio data symbols, where the determining is based on a sum of values of the audio data symbols. An audio decoder performs corresponding entropy decoding.
Abstract:
An audio encoder/decoder provides efficient compression of spectral transform coefficient data characterized by sparse spectral peaks. The audio encoder/decoder applies a temporal prediction of the frequency position of spectral peaks. The spectral peaks in the transform coefficients that are predicted from those in a preceding transform coding block are encoded as a shift in frequency position from the previous transform coding block and two non-zero coefficient levels. The prediction may avoid coding very large zero-level transform coefficient runs as compared to conventional run length coding. For spectral peaks not predicted from those in a preceding transform coding block, the spectral peaks are encoded as a value trio of a length of a run of zero-level spectral transform coefficients, and two non-zero coefficient levels.
Abstract:
An audio encoder performs adaptive entropy encoding of audio data. For example, an audio encoder switches between variable dimension vector Huffman coding of direct levels of quantized audio data and run-level coding of run lengths and levels of quantized audio data. The encoder can use, for example, context-based arithmetic coding for coding run lengths and levels. The encoder can determine when to switch between coding modes by counting consecutive coefficients having a predominant value (e.g., zero). An audio decoder performs corresponding adaptive entropy decoding.
Abstract:
Techniques and tools for selectively using multiple entropy models in adaptive coding and decoding are described herein. For example, for multiple symbols, an audio encoder selects an entropy model from a first model set that includes multiple entropy models. Each of the multiple entropy models includes a model switch point for switching to a second model set that includes one or more entropy models. The encoder processes the multiple symbols using the selected entropy model and outputs results. Techniques and tools for generating entropy models are also described.
Abstract:
Coding of spectral data by representing certain portions of the spectral data as a scaled version of a code-vector, where the code-vector is chosen from either a fixed predetermined codebook or a codebook taken from a baseband. Various optional features are described for modifying the code-vectors in the codebook according to some rules which allow the code-vector to better represent the data they are modeling. The code-vector modification comprises a linear or non-linear transform of one or more code-vectors, such as, by exponentiation, negation, reversing, or combining elements from plural code-vectors.