Abstract:
PROBLEM TO BE SOLVED: To describe techniques for entropy coding of video blocks, and provide a syntax element that may promote coding efficiency.SOLUTION: The syntax element may identify a number of non-zero value sub-blocks within a video block, where the non-zero value sub-blocks comprise sub-blocks within the video block that include at least one non-zero coefficient. A method of coding a video block comprises coding the syntax element, generating the non-zero value sub-blocks of the video block, and entropy-coding the non-zero value sub-blocks.
Abstract:
PROBLEM TO BE SOLVED: To provide scalable video coding techniques.SOLUTION: The techniques may be used to encode refinements of a video block for enhancement layer bit streams in a single coding pass, thereby reducing coding complexity, coding delay and memory requirements. In some instances, the techniques encode each nonzero coefficient of a coefficient vector of the enhancement layer without knowledge of any subsequent coefficients. Coding the enhancement layer in a single pass may eliminate the need to perform a first pass for analyzing the coefficient vector and a second pass for coding the coefficient vector based on the analysis.
Abstract:
PROBLEM TO BE SOLVED: To provide techniques for coding an enhancement layer in a scalable video coding (SVC) scheme.SOLUTION: The techniques for coding an enhancement layer involve run-length coding of significant coefficients and refinement coefficients of the enhancement layer. Rather than performing two different run-length passes to separately code the significant coefficients and refinement coefficients, the techniques perform run-length coding of the significant coefficients and refinement coefficients together. Therefore, run values of the run-length coding codes the significant coefficients with the refinement coefficients. In addition, the need to send sign information for some of the refinement coefficients can be eliminated. Instead, this sign information for some of the refinement coefficients may be derived at the decoder based on the sign values of corresponding coefficients of previously encoded layers of the SVC scheme.
Abstract:
PROBLEM TO BE SOLVED: To provide techniques for coding header information of video blocks.SOLUTION: The techniques select one of a plurality of prediction modes for use in generating a prediction block of a video block of a coding unit, the plurality of prediction modes including unidirectional prediction modes and multi-directional prediction modes that combine at least two unidirectional prediction modes. An encoding device encodes the prediction mode of the current video block on the basis of prediction modes of one or more previously encoded video blocks of the coding unit. Likewise, a decoding unit receives encoded video data of a video block of a coding unit, and decodes the encoded video data to identify one of a plurality of prediction modes for use in generating a prediction block of the video block on the basis of prediction modes of one or more previously decoded video blocks of the coding unit.
Abstract:
PROBLEM TO BE SOLVED: To provide techniques for encoding and decoding digital video data using macroblocks that are larger than the macroblocks prescribed by conventional video encoding and decoding standards.SOLUTION: A method comprises: receiving, with a video decoder, a coded unit comprising a plurality of video blocks, where at least one of the plurality of video blocks comprises a size of more than 16×16 pixels; receiving syntax information for the coded unit that includes a maximum size value indicating a size of the largest one of the plurality of video blocks in the coded unit; selecting a block-type syntax decoder according to the maximum size value; and decoding each of the plurality of video blocks in the coded unit using the selected block-type syntax decoder.
Abstract:
PROBLEM TO BE SOLVED: To provide systems and methods of filtering video data using a plurality of filters.SOLUTION: A method includes receiving and decoding a plurality of filters embedded in a video data bitstream at a video decoder. The method also includes selecting, based on information included in the video data bitstream, a particular filter of the plurality of filters. The method further includes applying the particular filter to at least a portion of decoded video data of the video data bitstream to produce filtered decoded video data.
Abstract:
PROBLEM TO BE SOLVED: To provide various interpolation techniques performed by an encoder and a decoder during a motion compensation process of video coding.SOLUTION: An encoder interpolates pixel values of reference video data on the basis of a plurality of different predefined interpolation filters. In this example, the decoder receives a syntax element that identifies an interpolation filter, and interpolates pixel values of reference video data on the basis of the interpolation filter identified by the syntax element. In another example, a method of interpolating predictive video data includes: generating half-pixel values on the basis of integer pixel values; rounding the half-pixel values to generate half-pixel interpolated values; storing the half-pixel values as non-rounded versions of the half-pixel values; and generating quarter-pixel values on the basis of the non-rounded versions of the half-pixel values and the integer pixel values.
Abstract:
PROBLEM TO BE SOLVED: To provide a proper method of interpolating predictive video data for motion-compensated coding of video.SOLUTION: An encoder interpolates pixel values of reference video data on the basis of a plurality of different predefined interpolation filters. The decoder receives a syntax element that identifies an interpolation filter, and interpolates pixel values of reference video data on the basis of the interpolation filter identified by the syntax element. A method of interpolating predictive video data includes: generating half-pixel values on the basis of integer pixel values; rounding the half-pixel values to generate half-pixel interpolated values; storing the half-pixel values as non-rounded versions of the half-pixel values; and generating quarter-pixel values on the basis of the non-rounded versions of the half-pixel values and the integer pixel values.
Abstract:
PROBLEM TO BE SOLVED: To provide techniques for generating a layered encoded bitstream structure that exploits correlation in header information among video blocks of a coded unit of video data.SOLUTION: A video encoder separates header information of the video blocks of a slice (or other coded unit) from the residual information of the video blocks of the slice. The video encoder run-length encodes the header information of the video blocks to better exploit correlation of the header information among the blocks of the slice. After encoding the header information of the blocks of the slice, the video encoder encodes the residual information for each of the blocks of the slice. The video encoder transmits the encoded header information as a first sequence of bits, and transmits the encoded residual information as a second sequence of bits.
Abstract:
PROBLEM TO BE SOLVED: To provide a technique for adding an offset to a prediction video block during video coding.SOLUTION: A method of encoding a video block includes: interpolating a first block of predicted values based upon a first reference video unit in a first list of reference data, and interpolating a second block of predicted values based upon a second reference video unit in a second list of reference data; calculating, for sub-integer pixel positions, a first offset value based upon the first block and a current video block, and calculating a second offset value based upon the first offset value and the second block; determining a final block of offset values based upon the first block of predicted values, the second block of predicted values, the first offset value, and the second offset value; and encoding the current video block based upon the final block of offset values.