Abstract:
Techniques are described for encoding and decoding digital video data using macroblocks that are larger than the macroblocks prescribed by conventional video encoding and decoding standards. For example, the techniques include encoding and decoding a video stream using macroblocks comprising greater than 16×16 pixels. In one example, an apparatus includes a video encoder configured to encode a coded unit comprising a plurality of video blocks, wherein at least one of the plurality of video blocks comprises a size of more than 16×16 pixels and to generate syntax information for the coded unit that includes a maximum size value, wherein the maximum size value indicates a size of a largest one of the plurality of video blocks in the coded unit. The syntax information may also include a minimum size value. In this manner, the encoder may indicate to a decoder the proper syntax decoder to apply to the coded unit.
Abstract:
Systems and methods for separately defining and indicating inter-layer prediction dependencies for a first layer with respect to each of a number of enhancement layers associated with the first layer are described herein. One aspect of the subject matter described in the disclosure provides a video encoder comprising a memory unit configured to store a first picture associated with a first layer and enhancement layer pictures associated with a plurality of enhancement layers. The video encoder further comprises a processor in communication with the memory unit. The processor is configured to provide a separate indication for each of the enhancement layers that indicates whether the first picture can be used for inter-layer prediction of the enhancement layer picture in a respective enhancement layer.
Abstract:
An apparatus configured to code video information includes a memory unit and a processor in communication with the memory unit. The memory unit is configured to store video information associated with a current layer and an enhancement layer, the current layer having a current picture. The processor is configured to determine whether the current layer may be coded using information from the enhancement layer, determine whether the enhancement layer has an enhancement layer picture corresponding to the current picture, and in response to determining that the current layer may be coded using information from the enhancement layer and that the enhancement layer has an enhancement layer picture corresponding to the current picture, code the current picture based on the enhancement layer picture. The processor may encode or decode the video information.
Abstract:
In one implementation, an apparatus is provided for encoding or decoding video information. The apparatus comprises a memory unit configured to store reference layer pictures associated with a reference layer, an enhancement layer, or both. The apparatus further comprises a processor operationally coupled to the memory unit. In one embodiment, the processor is configured to restrict usage of at most one reference layer pictures that has been resampled as an inter-layer reference picture, and predict a current picture using inter-layer prediction and the inter-layer reference picture.
Abstract:
In general, techniques are described for reducing the space required to store rate distortion values when selecting from multiple, different prediction modes. A video coding device comprising a processor may perform the techniques. The processor may determine first and second sets of intra-prediction modes for a current block of video data. The first and second sets of intra-prediction modes may include less intra-prediction modes, collectively, than a total number of intra-prediction modes. The processor may compute an approximate cost for each intra-prediction mode included in the first and second sets of intra-prediction modes. The processor may store the approximate cost for each intra-prediction mode identified in the first and second sets of intra-prediction modes to a memory. The processor may perform intra-prediction to encode the current block using a mode identified in at least one of the first or second set.
Abstract:
An apparatus for coding video data according to certain aspects includes a memory unit and a processor in communication with the memory unit. The memory unit stores video data. The video data may include a base layer comprising samples with a lower bit depth and an enhancement layer comprising samples with a higher bit depth. The processor predicts the values of samples in the enhancement layer based on the values of samples in the base layer. The prediction performed by the processor includes applying a preliminary mapping to the base layer samples to obtain preliminary predictions, and then applying adaptive adjustments to the preliminary predictions to obtain refined predictions. Parameters used for the adaptive adjustments may depend on the values and distribution of base layer samples. The processor may encode or decode the video data.
Abstract:
An apparatus configured to code video information includes a memory unit and a processor in communication with the memory unit. The memory unit is configured to store video information associated with a base layer and an enhancement layer. The video information comprises at least one enhancement layer (EL) block and at least one co-located base layer (BL) block. The co-located BL block has motion information associated therewith. The processor is configured to, in response to determining that the size of the EL block is smaller than a threshold size, either (1) use less than all of the motion information associated with the co-located BL block to code the EL block, or (2) refrain from using any motion information associated with the co-located BL block to code the EL block. The processor may encode or decode the video information.
Abstract:
An apparatus for coding video information according to certain aspects includes a memory unit and a processor in communication with the memory unit. The memory unit stores video information associated with a reference layer and a corresponding enhancement layer. The processor receives a mode list associated with the enhancement layer, the mode list comprising three entities, each entity identifying a different mode for determining a value of a video unit located at a position within the enhancement layer. The processor changes the mode list when a mode associated with a co-located video unit in the reference layer is not stored as the first entity in the mode list. The co-located video unit is located at a position in the reference layer corresponding to the position of the video unit in the enhancement layer.
Abstract:
An apparatus for coding video data according to certain aspects includes a memory and a processor in communication with the memory. The memory stores video block information. The video block information includes reference layer block information. The processor determines, based on a parameter of the video block information, a transform function that may be used to code the video block information. The processor may encode or decode the video block information. The transform function may be an alternative transform when the parameter is a predetermined value and a primary transform when the parameter is not the predetermined value. The alternative transform includes one of: a discrete-sine-transform (DST), a Type-I DST, a Type-III DST, a Type-IV DST, a Type-VII DST, a discrete-cosine-transform (DCT), a DCT of different types, and a Karhunen-Loeve transform (KLT).
Abstract:
An apparatus for coding video information according to certain aspects includes a memory unit and a processor in communication with the memory unit. The memory unit stores difference video information associated with a difference video layer of pixel information derived from a difference between an enhancement layer and a corresponding base layer of the video information. The processor determines an enhancement layer weight and a base layer weight, and determines a value of a current video unit based on the difference video layer, a value of a video unit in the enhancement layer weighted by the enhancement layer weight, and a value of a video unit in the base layer weighted by the base layer weight.