The third of HEVC core coding technology. Inter-frame prediction

Source: Internet
Author: User
Tags arithmetic relative
Overview of the Efficiency Video Coding (HEVC) standard Four

H. Inter-frame prediction
Interpicture Prediction

1) Partitioning of prediction blocks (PB)
PB Partitioning:

Compared to Intrapicture-predicted
CBs, HEVC supports more PB partition shapes for
Interpicture-predicted CBs. The partitioning modes of
PART_2NX2N, PART_2NXN, and part_nx2n indicate
The cases when the CB isn't split, split into and equal-size
PBS horizontally, and split into equal-size PBS vertically,
respectively. PART_NXN Specifies that the CB was split into
Four equal-size PBs, but this mode was only supported when the
CB size is equal to the smallest allowed CB size. In addition,
There is four partitioning types this support splitting the
CB into the PBs having different sizes:part_2nxnu,
Part_2nxnd, part_nlx2n, and part_nrx2n. These
Types is known as asymmetric motion partitions.
Compared with the intra-frame prediction CB, HEVC provides more PB partition shape for the inter-frame prediction CB.
The following four modes correspond to the CB partition shape as follows:
PART_2NX2N, CB does not divide;
PART_2NXN, CB level divided into two equal-size PB;
PART_NX2N, CB vertically divided into two equal-size PB;
PART_NXN, CB divided into four equal-size PB,
However, this mode is only effective when the CB size is equal to the minimum allowable CB size.

In addition, there are four types of partitioning to divide CB into two different sizes of PB:
Art_2nxnu,
Part_2nxnd,
PART_NLX2N,
Part_nrx2n.
These types of partitioning are called asymmetric motion partitioning;


Fig. 7. The Integer and fractional sample positions for Luma interpolation.

2) sub-pixel interpolation
Fractional Sample interpolation:

The samples of the PB for an intrapicture-predicted CB is obtained from those of
corresponding block region in the reference picture identified
By a reference picture index, which are at a position displaced
By the horizontal and vertical components of the motion vector.
For inter-frame prediction blocks (CB), the Prediction block (PB) pixels are from the reference image--with reference to the image index tag--
The corresponding block area is obtained, and this position is expressed as the horizontal and vertical component of the motion vector;

Except for the case when the motion vector have an integer
Value, fractional sample interpolation is used to generate the
Prediction samples for Noninteger sampling positions. As in
H.264/mpeg-4 AVC, HEVC supports motion vectors with
Units of one quarter of the distance between Luma samples.
In addition to the MV with integer values, the pixel interpolation is used to generate the predicted pixels for neighboring pixel positions.
Like H.264/mpeg-4 AVC, HEVC also supports one-fourth luminance pixels of MV;

For chroma samples, the motion vector accuracy is determined
According to the chroma sampling format, which for 4:2:0
Sampling results in units of one eighth of the distance between
Chroma samples.
For chroma pixels, the accuracy of the MV is determined by the chroma pixel format,
For 4:2:0 pixel format, the accuracy of MV is one-eighth pixels;

The fractional sample interpolation for Luma samples in
HEVC uses separable application of an EIGHT-TAP filter for the
Half-sample positions and a seven-tap filter for the Quartersample
Positions. Contrast to the process used in
H.264/mpeg-4 AVC, which applies a two-stage interpolation
Process by first generating the values of one or both
Neighboring samples at Half-sample positions using Six-tap
Filtering, rounding the intermediate results, and then averaging
The values at integer or half-sample positions. HEVC instead
Uses a single consistent separable interpolation process for
Generating all fractional positions without intermediate rounding
Operations, which improves precision and simplifies the
Architecture of the fractional sample interpolation. The interpolation
Precision is also improved in HEVC by using longer
filters, i.e, SEVEN-TAP or eight-tap filtering rather than the SIXTAP
Filtering used in H.264/mpeg-4 AVC. Using only Seven
Taps rather than the eight used for half-sample positions was
Sufficient for the quarter-sample interpolation positions since
The quarter-sample positions is relatively close to integer sample
Positions, the most distant of the sample in an Eight-tap
Interpolator would effectively be farther away than in the half sample
Case (where the relative distances of the integer-sample
Positions is symmetric). The actual filter tap values of the
Interpolation filtering kernel were partially derived from DCT
Basis function equations.
In Hevc, the pixel interpolation of luminance pixels is applied in two ways:
Eight-order filter used in half-pixel;
Use 7-step filter for one-fourth pixels;
This is not the same as h.264/mpeg-4 AVC;
H.264/mpeg-4 AVC is a two-step interpolation process:
The value of one or two neighboring pixels is generated at the half pixel position by first using the six-order filter, rounding the mean value;
Then the average of two values is taken in the whole pixel and half pixel position;
HEVC uses a separate interpolation process for all sub-pixel locations without intermediate rounding operations,
This method improves the accuracy and simplifies the architecture of pixel interpolation;
Furthermore, in HEVC, a longer filter, such as seven-and eight-order filters, is used to improve the interpolation accuracy,
Rather than the six-order filter used in h.264/mpeg-4 AVC;
The seven-order filter is used in the half-pixel position instead of the eight-step filter, unlike the One-fourth interpolation pixel position.
is because the One-fourth pixel position is closer to the whole pixel position,
Therefore, in the eight-order interpolation, the furthest pixel is farther than the half-pixel;
In half pixels, the position is asymmetric relative to the whole pixel;
In fact, the filtering order of the interpolation filter kernel is deduced from the basic function equation of DCT.

In Fig. 7, the positions labeled with upper-case letters,
Ai,j, represent the available Luma samples at integer sample
locations, whereas the other positions labeled with lower-case
Letters represent samples at Noninteger sample locations, which
Need to is generated by interpolation.
In Figure 7, the position marked as uppercase, Ai,j, represents the luminance pixels that are valid at the whole pixel position;
Therefore, other locations marked as lowercase are pixels that represent non-integer pixel locations, and they require interpolation to be generated;

The samples labeled A0,j, B0,j, C0,j, d0,0, h0,0, and n0,0
is derived from the samples ai,j by applying the Eight-tap
Filter for Half-sample positions and the Seven-tap filter for the
Quarter-sample positions as follows:
A0,j, B0,j, C0,j, d0,0, h0,0, and n0,0 pixels are all pairs of ai,j pixels,
In the half-pixel position, with the eight-order filter,
In the One-fourth pixel position, with the seven-order filter, the equation is deduced as follows:

A0,j = (i=_3..3 ai,j qfilter[i]) >> (B _ 8)
B0,j = (i=_3..4 ai,j hfilter[i]) >> (B _ 8)
C0,j = (i=_2..4 ai,j qfilter[1 _ i]) >> (B _ 8)
d0,0 = (i=_3..3 a0,j qfilter[j]) >> (B _ 8)
h0,0 = (i=_3..4 a0,j hfilter[j]) >> (B _ 8)
n0,0 = (j=_2..4 a0,j qfilter[1 _ j]) >> (B _ 8)

Where the constant b≥8 is the bit depth of the reference
Samples (and typically B = 8 for most applications) and the
Filter coefficient values is given in Table Ii. In these formulas,
>> denotes a arithmetic right shift operation.
In the equation, B is the bit depth of the reference pixel, usually 8;
The filter coefficient values are shown in Table II,
In these equations,>> represents the arithmetic right shift operation;

TABLE II
Filter coefficients for Luma fractional Sample interpolation


The samples labeled e0,0, f0,0, g0,0, i0,0, j0,0, k0,0, p0,0, q0,0,
and r0,0 can derived by applying the corresponding filters
To samples located at vertically adjacent a0,j, B0,j and C0,j
Positions as follows:
Pixels e0,0, f0,0, g0,0, i0,0, j0,0, k0,0, p0,0, Q0,0,and r0,0 the value is
For vertically adjacent pixel positions a0,j, b0,j and c0,j are obtained using the following equation:

e0,0 = (v=_3..3 a0,v qfilter[v]) >> 6
f0,0 = (v=_3..3 b0,v qfilter[v]) >> 6
g0,0 = (v=_3..3 c0,v qfilter[v]) >> 6
i0,0 = (v=_3..4 a0,v hfilter[v]) >> 6
j0,0 = (v=_3..4 b0,v hfilter[v]) >> 6
k0,0 = (v=_3..4 c0,v hfilter[v]) >> 6
p0,0 = (v=_2..4 a0,v qfilter[1 _ v]) >> 6
q0,0 = (v=_2..4 b0,v qfilter[1 _ v]) >> 6
r0,0 = (v=_2..4 c0,v qfilter[1 _ v]) >> 6.

The interpolation filtering was separable when B was equal to
8, so the same values could is computed
Applying the vertical filtering before the horizontal filtering.
When implemented appropriately, the motion compensation
Process of HEVC can be performed using only 16-b storage
Elements (although care must is taken to doing this correctly).
When B equals 8 o'clock, the interpolation filter is independent;
Therefore, the same value is calculated by the vertical filter before the horizontal filtering;
If implemented well, HEVC's motion compensation processing can only require 16 bits of storage space;

It is at the weighted prediction
is applied when selected by the encoder. Whereas

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.