# US 10,321,151 B2 · Method of adaptive interpolation filtering in video coding

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,321,151 B2
- Document ID: US10321151B2
- Status: Granted
- Kind: B2
- Application number: 15/126,365
- Filed: 2015-04-01
- Published: 2017-03-23
- Granted: 2019-06-11
- Earliest claimed: 2014-04-01
- Assignees: Mediatek Inc.
- Applicants: MediaTek Inc.
- Inventors: Ching-Yeh Chen; Yu-Wen Huang
- Web page: https://patentgrep.com/patent/US10321151B2

## CPC

- H04N 19/523: with sub-pixel accuracy
- H04N 19/105: Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
- H04N 19/117: Filters, e.g. for pre-processing or post-processing (sub-band filter banks H04N19/635)
- H04N 19/167: Position within a video image, e.g. region of interest [ROI]
- H04N 19/182: the unit being a pixel
- H04N 19/583: Motion compensation with overlapping blocks
- H04N 19/82: involving filtering within a prediction loop
- H04N 19/96: Tree coding, e.g. quad-tree coding
- H04N 19/174: the region being a slice, e.g. a line of blocks or a group of blocks
- H04N 19/176: the region being a block, e.g. a macroblock
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

A method and apparatus of adaptive interpolation filter for motion compensation with fractional-pixel accuracy are disclosed. Embodiments of the present invention generate interpolated reference samples at non-integer locations based on existing reference samples in a reference block by using an interpolation filter set adaptively according to pixel location and/or pixel characteristics. A current block is then encoded or decoded using a temporal predictor including the interpolated reference samples. The adaptive interpolation filter can be applied to the prediction unit (PU). In one embodiment, the interpolation filter set consists of interpolation filters having different filter lengths. An interpolation filter with a longer tap length is applied to generate interpolated reference samples farther from the block boundary and an interpolation filter with a shorter tap length is applied to generate interpolated reference samples closer to the block boundary.

## Claims

### Claim 1

A method of interpolation for motion compensation with fractional pixel accuracy in a video coding system, the method comprising:
receiving input data associated with one or more current blocks in a current picture;
determining one or more current MVs (motion vectors) associated with said one or more current blocks;
locating one or more reference blocks in a reference picture according to said one or more current MVs; and
for each of said one or more current MVs corresponding to a fractional-pixel location:
generating interpolated reference samples at non-integer locations based on existing reference samples in one reference block by using an interpolation filter set adaptively according to at least one of pixel location or pixel characteristics, wherein the interpolation filter set comprises a longer-tap filter and a shorter-tap filter, wherein the longer-tap filter is configured to generate a first interpolated reference sample, the shorter-tap filter is configured to generate a second interpolated reference sample, and the first interpolated reference sample is farther from a related block boundary than the second interpolated reference sample, wherein the shorter-tap filter is applied to generate the interpolated reference samples in an overlapped area between said two adjacent blocks, and wherein the block boundary separates reference pixels from current pixels in a current block among the one or more current blocks; and
encoding or decoding one current block using a temporal predictor including the interpolated reference samples.

### Claim 2 (depends on 1)

The method of claim 1, wherein said one or more current blocks and said one or more reference block correspond to prediction unit (PU).

### Claim 3 (depends on 1)

The method of claim 1, wherein said one or more current blocks correspond to two adjacent blocks for overlapped motion compensation (OBMC).

### Claim 4 (depends on 3)

The method of claim 3, wherein the shorter-tap filter corresponds to a 4-tap filter.

### Claim 5 (depends on 4)

The method of claim 4, wherein the longer-tap filter corresponds to an 8-tap filter and the longer-tap filter is applied to generate the interpolated reference samples in a non-overlapped area of said two adjacent blocks.

### Claim 6 (depends on 1)

The method of claim 1, wherein said one or more current blocks corresponds to one current block for motion boundary enhancement (MBE), and the shorter-tap filter is applied to generate boundary interpolated reference samples of said one current block.

### Claim 7 (depends on 6)

The method of claim 6, wherein the shorter-tap filter corresponds to a 4-tap filter.

### Claim 8 (depends on 7)

The method of claim 7, wherein the longer-tap filter corresponds to an 8-tap filter and the longer-tap filter is applied to generate the interpolated reference samples in said one current block.

### Claim 9 (depends on 1)

The method of claim 1, wherein the current picture is partitioned into multiple regions and an individual interpolation filter set is determined for each region.

### Claim 10 (depends on 9)

The method of claim 9, wherein each region corresponds to one slice, one tile, one coding tree unit (CTU), one coding tree block (CTB), one coding unit (CU) or one prediction unit (PU).

### Claim 11 (depends on 9)

The method of claim 9, wherein information related to the individual interpolation filter set for each region is signaled explicitly or derived implicitly at a decoder side.

### Claim 12 (depends on 11)

The method of claim 11, wherein a syntax element related to the individual interpolation filter set for each region is signaled to indicate the individual interpolation filter set selected for a current region.

### Claim 13 (depends on 11)

The method of claim 11, wherein the information related to the individual interpolation filter set for each region is derived at the decoder side based on coding unit (CU) size, prediction unit (PU) size, characteristic of reference pixels, prediction mode, motion vector, or any combination thereof.

### Claim 14 (depends on 1)

The method of claim 1, wherein:
the longer-tap filter is a horizontal long-tap filter;
the shorter-tap filter is a horizontal short-tap filter; and
the related block boundary is a vertical block boundary such that the first interpolated reference sample is farther from the vertical block boundary than the second interpolated reference sample.

### Claim 15 (depends on 1)

The method of claim 1, wherein:
the longer-tap filter is a vertical long-tap filter;
the shorter-tap filter is a vertical short-tap filter; and
the related block boundary is a horizontal block boundary such that the first interpolated reference sample is farther from the horizontal block boundary than the second interpolated reference sample.

### Claim 16 (depends on 14)

The method of claim 14, wherein
the interpolation filter set further comprises a vertical longer-tap filter and a vertical shorter-tap filter.

### Claim 17

An apparatus for motion compensation with fractional pixel accuracy in a video coding system, the apparatus comprising one or more electronic circuits configured to:
receive input data associated with one or more current blocks in a current picture;
determine one or more current MVs (motion vectors) associated with said one or more current blocks;
locate one or more reference blocks in a reference picture according to said one or more current MVs; and
for each of said one or more current MVs corresponding to a fractional-pixel location:
generate interpolated reference samples at non-integer locations based on existing reference samples in one reference block by using an interpolation filter set adaptively according to at least one of pixel location or pixel characteristics, wherein the interpolation filter set comprises a longer-tap filter and a shorter-tap filter, wherein the longer-tap filter is configured to generate a first interpolated reference sample, the shorter-tap filter is configured to generate a second interpolated reference sample, and the first interpolated reference sample is farther from a related block boundary than the second interpolated reference sample, wherein the shorter-tap filter is applied to generate the interpolated reference samples in an overlapped area between said two adjacent blocks, and wherein the block boundary separates reference pixels from current pixels in a current block among the one or more current blocks; and
encode or decode one current block using a temporal predictor including the interpolated reference samples.
