Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
литература / Digital_Video_and_HD_Second_Edition_Algorithms_and_Interfaces.pdf
Скачиваний:
0
Добавлен:
13.05.2026
Размер:
38.02 Mб
Скачать

noun, ah-RITH-meh-tik; adjective, are-ith-MEH-tik.

CABAC is part of the main and high profiles of H.264; however, its use may be gated by concerns outside H.264 proper. For example, CABAC is allowed in AVC-Intra 50, but prohibited in AVC-Intra 100.

Context adaptivity

The MPEG-2 designers used their judgement and experience, and the results of many experiments, to set up MPEG-2’s VLC tables. However, those tables are static.

Usage of VLC entries by particular source material can be considered as a statistical distribution – that is, VLC table usage depends upon history, upon context.

Context adaptivity refers to an encoder dynamically keeping track of the use of table entries, estimating the probability of their use, and changing VLC mapping so that the coded bitstream has a compact representation for the symbols that are likely to be encountered.

Context adaptivity leads to increased complexity at both the encoder and the decoder. In H.264, the basic form of context adaptivity is context-adaptive variablelength coding (CAVLC), used at slice level and below.

CABAC

VLC (and its relative, CAVLC) as outlined above are optimal when coding symbols whose probabilities can be expressed as binary fractions, for example, if in the Scheme V example of Table 48.3 the probabilities of [A, B, C, and D] were [1/2,1/4,1/8,1/8]. In general, symbols being coded don’t have probabilities that all lie close to binary fractions. For example, your task may be to code three symbols having probabilities [1/3,1/3,1/3].

A technique called arithmetic coding can be used to efficiently encode distributions where individual symbols occupy the equivalent of fractions of a bit. A potentially large group of symbols is collected, then

coded into what amounts to a single number, where the range of the number is divided into subranges corresponding to the probabilities of the individual symbols. Like VLC, arithmetic coding can be made context adaptive – hence, CABAC: context-adaptive binary arithmetic coding. If that sounds complicated, it is. CABAC can yield 10% or so bit rate improvement; however, it adds complexity to both the encoder and the decoder

and it consumes processing and memory resources. CABAC is available in H.264’s main and high profiles.

Deblocking filter

In MPEG-2, it is a problem that the inverse transform tends to produce discontinuities – blocking artifacts –

546

DIGITAL VIDEO AND HD ALGORITHMS AND INTERFACES

where two 8× 8 blocks abut. Many MPEG-2 decoders include post-processing to mitigate the effects of blocking artifacts, but treatment after the fact (“out of the loop”) is invisible to the encoder.

H.264 standardizes an adaptive, in the loop deblocking filter. The filter adapts to picture content, such as edges (which typically cause the worst artifacts). Deblocking is standardized, and it takes place within the encoder’s prediction loop.

Buffer control

In MPEG-2, a video buffer verification (VBV) value is transmitted from the encoder to the decoder, to ensure that the decoder’s buffer tracks that of the encoder without underflowing or overflowing.

In H.264 it’s more complicated. Memory occupancy is tracked at both the encoder and the decoder for two hypothetical buffers: the coded picture buffer (CPB), representing pictures in the coded bitstream; and the decoded picture buffer (DPB), representing pictures after decoding.

Scalable video coding (SVC)

Scalable video coding – defined in Annex G of H.264 – allows conveyance of information structured in a hierarchical manner to allow portions of the bitstream to be extracted at lower bit rate than the complete sequence to enable decoding of pictures with multiple image structures (for sequences encoded with spatial scalability), pictures at multiple picture rates (for sequences encoded with temporal scalability), and/or pictures with multiple levels of image quality (for sequences encoded with SNR/quality scalability).

In a single bitstream, a decoder having limited computational resources can extract the base bitstream to decode a low-level representation. (No data rate advantage accrues in this case.)

Different layers can be separated into different bitstreams. All decoders access the base stream; more capable decoders can access enhancement streams. However, for some applications – like HTTP live streaming – it may be more efficient to encode a single program at several different rates, each in a self-

CHAPTER 48

H.264 VIDEO COMPRESSION

547

Profile

High 10 Intra

@Level

(Hi10Intra)

 

 

 

L3.2

AVC-Intra 50: CABAC, 4:2:2, 1280× 720p downsampled to 960× 720

 

 

L4.0

AVC-Intra 50: CABAC, 4:2:2, 1920× 1080 downsampled to 1440× 1080

 

 

L4.1

AVC-Intra 100: CAVLC, 4:2:2, native 1280× 720p and 1920× 1080

 

 

Table 48.6 AVC-Intra profile/level combinations are summarized.

contained stream, so that a decoder can simply access a single stream at a suitable rate.

Multiview video coding (MVC)

Multiview video coding – Annex H of H.264 – standardizes features to efficiently code two (or potentially more than two) pictures that are highly spatially correlated.

The common application is to code the left and right images of a stereo pair.

MVC adds two new profiles, multiview high profile (MHP) and stereo high profile (SHP). Video encoded with either of these profiles is backward compatible with H.264 high profile; the decoder sees just the base view. (In the case of SHP, this is typically the left eye.)

AVC-Intra

AVC-Intra is Panasonic’s notation for studio-quality H.264 using Hi10Intra profile. Video in 720p, 1080i, or 1080p format at various frame rates is represented in 10-bit Y’CBCR 4:2:2 components. In AVC-Intra 50, 720p, 1080i, and 1080p video is downsampled and compressed to 50 Mb/s. In AVC-Intra 100, 720p, 1080i, and 1080p video at native pixel count are compressed to 100 Mb/s. Table 48.6 summarizes.

Further reading

Richardson, Iain E.G. (2010), The H.264 Advanced Video Compression Standard (Chichester, U.K.: Wiley).

Sullivan, Gary J., Pankaj N. Topiwala, and Ajay Luthra

(2004), “The H.264/AVC advanced video coding standard: Overview and introduction to the fidelity range extensions,” in Proc. SPIE 5558: 454–474.

Sullivan, Gary J. and Thomas Wiegand (2005), “Video compression – From concepts to the H.264/AVC standard,” in Proc. IEEE 93 (1): 18–31.

548

DIGITAL VIDEO AND HD ALGORITHMS AND INTERFACES

Соседние файлы в папке литература