Abstract:
A video decoder determines whether a first condition is satisfied. The first condition is satisfied when any sibling residual quad tree (RQT) node of a current RQT node is associated with a significant luma coefficient block. In addition, the video decoder determines whether a second condition is satisfied. The second condition is satisfied when a chroma transform block of a parent RQT node of the current RQT node is significant and is split along with a luma transform block of the parent RQT node. In response to determining that neither the first nor the second condition is satisfied, the video decoder determines that a luma coded block flag (CBF) for the current RQT node is omitted from the bitstream.
Abstract:
Techniques are described for initializing a Rice parameter used to define codes for coefficient level coding. According to the techniques, the initial value of the Rice parameter is determined for a coefficient group (CG) in a transform block of video data based on statistics of coefficient levels that are gathered for previously coded coefficients of the video data. The statistics may be statistics of absolute values of coefficient levels or remaining absolute values of coefficient levels of previously coded coefficients. A value of the statistics may be initialized to zero at a beginning of a video slice and updated based on coefficient levels coded in each CG of the slice. The statistics may be updated once per CG. In some cases, statistics may be gathered separately for each of a plurality of different categories of CGs that are defined based on characteristics of transform blocks that include the CGs.
Abstract:
A device for coding video data includes a video coder configured to code first significance information for transform coefficients associated with residual data, wherein the first significance information indicates if a first sub-block comprises at least one non-zero coefficient, wherein the first sub-block is a sub-block of an entire transform block; and, code second significance information, wherein the second significance information indicates if a second sub-block comprises at least one non-zero coefficient, wherein the second sub-block is a sub-block of the first sub-block, wherein coding the second significance information comprises performing an arithmetic coding operation on the second significance information, wherein a context for the arithmetic coding operation is determined based on one or more neighboring sub-blocks of a same size as the first sub-block.
Abstract:
An apparatus for coding video information includes a memory unit configured to store video information associated with a reference block; and a processor in communication with the memory unit, wherein the processor is configured to determine a value of a current video unit associated with the reference block based on, at least in part, a classification of the reference block and a scan order selected by the processor based upon the classification. The scan order indicates an order in which values within the reference block are processed to at least partially determine the value of the current video unit.
Abstract:
Techniques for coding data, such as, e.g., video data, include coding a first syntax element, conforming to a particular type of syntax element, of a first slice of video data, conforming to a first slice type, using an initialization value set. The techniques further include coding a second syntax element, conforming to the same type of syntax element, of a second slice of video data, conforming to a second slice type, using the same initialization value set. In this example, the first slice type may be different from the second slice type. Also in this example, at least one of the first slice type and the second slice type may be a temporally predicted slice type. For example, the at least one of the first and second slice types may be a unidirectional inter-prediction (P) slice type, or a bi-directional inter-prediction (B) slice type.
Abstract:
In one example, an apparatus for context adaptive entropy coding a video unit comprises a coder configured to code a syntax element, wherein a first value of the syntax element indicates that one or more of a plurality of context states are initialized using an adaptive initialization mode for the video unit, and a second value of the syntax element indicates that each of the plurality of context states is initialized using a default initialization mode for the video unit. In some examples, when the syntax element has the first value, the coder is further configured to code a map that indicates which of the context states are initialized using the adaptive initialization mode, and to further code either an initial state value for those contexts, or information from which the initial state values of those adaptively initialized context may be derived.
Abstract:
A video encoder is configured to encode a binary sting indicating a position of a last significant coefficient within a video block. A video decoder is configured to decode the encoded binary string. The string may be coded using context adaptive binary arithmetic coding (CABAC). Binary indices of the binary string may be assigned a context. The context may be determined according to a mapping function. A context may be a assigned to one or more binary indices where each index is associated with a different block size. The last binary index of a 16×16 video block may share a context with the last binary index of a 32×32 video block.
Abstract:
In one example, an apparatus for context adaptive entropy coding may include a coder configured to determine one or more initialization parameters for a context adaptive entropy coding process based on one or more initialization parameter index values. The coder may be further configured to determine one or more initial context states for initializing one or more contexts of the context adaptive entropy coding process based on the initialization parameters. The coder may be still further configured to initialize the contexts based on the initial context states. In some examples, the initialization parameters may be included in one or more tables, wherein, to determine the initialization parameters, the coder may be configured to map the initialization parameter index values to the initialization parameters in the tables. Alternatively, the coder may be configured to calculate the initialization parameters using the initialization parameter index values and one or more formulas.