# US 12,114,020 B2 · Intra video coding using multiple reference filters

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

- Number: US 12,114,020 B2
- Document ID: US12114020B2
- Status: Granted
- Kind: B2
- Application number: 17/852,025
- Filed: 2022-06-28
- Published: 2022-12-01
- Granted: 2024-10-08
- Earliest claimed: 2019-05-02
- Assignees: Beijing Bytedance Network Technology Co., Ltd.; Bytedance Inc.
- Applicants: Beijing Bytedance Network Technology Co., Ltd.; Bytedance Inc.
- Inventors: Zhipin Deng; Li Zhang; Hongbin Liu
- Web page: https://patentgrep.com/patent/US12114020B2

## CPC

- H04N 19/157: Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
- H04N 19/80: Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation (H04N19/635, H04N19/86 take precedence)
- H04N 19/117: Filters, e.g. for pre-processing or post-processing (sub-band filter banks H04N19/635)
- H04N 19/132: Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
- H04N 19/176: the region being a block, e.g. a macroblock
- H04N 19/593: involving spatial prediction techniques
- H04N 19/82: involving filtering within a prediction loop
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

A video processing method is provided to include: determining, based on a rule, whether to use a 4-tap interpolation filter for a conversion between a current video block of a current video unit of a video and a coded representation of the video, wherein the current video block is coded using intra mode in the coded representation; and performing the conversion based on the determining.

## Claims

### Claim 1

A method of processing video data, comprising:
determining, for a conversion between a first video block of a video and a bitstream of the video, that a first coding tool is applied for the first video block, wherein in the first coding tool, the first video block is split into multiple sub-regions in horizontal direction or vertical direction;
generating prediction samples for at least one of the multiple sub-regions based on a first reference interpolation filtering process; and
performing the conversion based on the prediction samples,
wherein in the first reference interpolation filtering process, a first 4-tap interpolation filter is applied, and wherein the multiple sub-regions share a same intra mode,
wherein for a second video block without applying the first coding tool, a second reference interpolation filtering process is used, and wherein in the second reference interpolation filtering process, one of the first 4-tap interpolation filter and a second 4-tap interpolation filter is selected based on at least one of the following: an intra mode of the second video block, positions of reference samples of the second video block and a size of the second video block, and the second 4-tap interpolation filter is different from the first 4-tap interpolation filter, and
wherein in a case that an index of the intra mode of the second video block is one of a first indices set, the first 4-tap interpolation filter is selected, and the first indices set includes −14, −12, −10, −6, 2, 34, 66, 72, 76, 78, 80.

### Claim 2 (depends on 1)

The method of claim 1, wherein the first 4-tap interpolation filter corresponds to a cubic filter or a discrete cosine transform interpolation filter.

### Claim 3 (depends on 1)

The method of claim 1, wherein the first 4-tap interpolation filter is determined independently of a size of at least one of the multiple sub-regions.

### Claim 4 (depends on 1)

The method of claim 1, wherein the second 4-tap interpolation filter corresponds to a Gaussian filter.

### Claim 5 (depends on 4)

The method of claim 4, wherein the first and second 4-tap interpolation filters are applied only for a luma component.

### Claim 6 (depends on 1)

The method of claim 1, wherein in response to the index of the intra mode of the second video block being not one of {18, 50} and being not of the first indices set, the reference samples being adjacent to the second video block, and a number of samples included in the second video block being larger than or equal to 1024, the second 4-tap interpolation filter is selected.

### Claim 7 (depends on 1)

The method of claim 1, wherein coefficients of the second 4-tap interpolation filter fG[p][0] are defined as
Fractional sample
the second 4-tap interpolation filter coefficients
position p
fG[p][0]
fG[p][1]
fG[p][2]
fG[p][3]
0
16
32
16
0
1
16
32
16
0
2
15
31
17
1
3
15
31
17
1
4
14
30
18
2
5
14
30
18
2
6
13
29
19
3
7
13
29
19
3
8
12
28
20
4
9
12
28
20
4
10
11
27
21
5
11
11
27
21
5
12
10
26
22
6
13
10
26
22
6
14
9
25
23
7
15
9
25
23
7
16
8
24
24
8
17
8
24
24
8
18
7
23
25
9
19
7
23
25
9
20
6
22
26
10
21
6
22
26
10
22
5
21
27
11
23
5
21
27
11
24
4
20
28
12
25
4
20
28
12
26
3
19
29
13
27
3
19
29
13
28
2
18
30
14
29
2
18
30
14
30
1
17
31
15
31
1
17
31
15.

### Claim 8 (depends on 1)

The method of claim 1, wherein the conversion includes encoding the first video block into the bitstream.

### Claim 9 (depends on 1)

The method of claim 1, wherein the conversion includes decoding the first video block from the bitstream.

### Claim 10

An apparatus for processing video data comprising a processor and a non-transitory memory with instructions thereon, wherein the instructions upon execution by the processor, cause the processor to:
determine, for a conversion between a first video block of a video and a bitstream of the video, that a first coding tool is applied for the first video block, wherein in the first coding tool, the first video block is split into multiple sub-regions in horizontal direction or vertical direction;
generate prediction samples for at least one of the multiple sub-regions based on a first reference interpolation filtering process; and
perform the conversion based on the prediction samples,
wherein in the first reference interpolation filtering process, a first 4-tap interpolation filter is applied, and wherein the multiple sub-regions share a same intra mode,
wherein for a second video block without applying the first coding tool, a second reference interpolation filtering process is used, and wherein in the second reference interpolation filtering process, one of the first 4-tap interpolation filter and a second 4-tap interpolation filter is selected based on at least one of the following: an intra mode of the second video block, positions of reference samples of the second video block and a size of the second video block, and the second 4-tap interpolation filter is different from the first 4-tap interpolation filter, and
wherein in a case that an index of the intra mode of the second video block is one of a first indices set, the first 4-tap interpolation filter is selected, and the first indices set includes −14, −12, −10, −6, 2, 34, 66, 72, 76, 78, 80.

### Claim 11 (depends on 10)

The apparatus of claim 10, wherein the first 4-tap interpolation filter corresponds to a cubic filter or a discrete cosine transform interpolation filter.

### Claim 12 (depends on 10)

The apparatus of claim 10, wherein the first 4-tap interpolation filter is determined independently of a size of at least one of the multiple sub-regions.

### Claim 13 (depends on 10)

The apparatus of claim 10, wherein the first and second 4-tap interpolation filters are applied only for a luma component, and
wherein the second 4-tap interpolation filter corresponds to a Gaussian filter.

### Claim 14

A non-transitory computer-readable storage medium storing instructions that cause a processor to:
determine, for a conversion between a first video block of a video and a bitstream of the video, that a first coding tool is applied for the first video block, wherein in the first coding tool, the first video block is split into multiple sub-regions in horizontal direction or vertical direction;
generate prediction samples for at least one of the multiple sub-regions based on a first reference interpolation filtering process; and
perform the conversion based on the prediction samples,
wherein in the first reference interpolation filtering process, a first 4-tap interpolation filter is applied, and wherein the multiple sub-regions share a same intra mode,
wherein for a second video block without applying the first coding tool, a second reference interpolation filtering process is used, and wherein in the second reference interpolation filtering process, one of the first 4-tap interpolation filter and a second 4-tap interpolation filter is selected based on at least one of the following: an intra mode of the second video block, positions of reference samples of the second video block and a size of the second video block, and the second 4-tap interpolation filter is different from the first 4-tap interpolation filter, and
wherein in a case that an index of the intra mode of the second video block is one of a first indices set, the first 4-tap interpolation filter is selected, and the first indices set includes −14, −12, −10, −6, 2, 34, 66, 72, 76, 78, 80.

### Claim 15 (depends on 14)

The non-transitory computer-readable storage medium of claim 14, wherein the first 4-tap interpolation filter corresponds to a cubic filter or a discrete cosine transform interpolation filter.

### Claim 16

A non-transitory computer-readable recording medium storing a bitstream of a video which is generated by a method performed by a video processing apparatus, wherein the method comprises:
determining that a first coding tool is applied for a first video block of the video, wherein in the first coding tool, the first video block is split into multiple sub-regions in horizontal direction or vertical direction;
generating prediction samples for at least one of the multiple sub-regions based on a first reference interpolation filtering process; and
generating the bitstream based on the prediction samples,
wherein in the first reference interpolation filtering process, a first 4-tap interpolation filter is applied, and wherein the multiple sub-regions share a same intra mode,
wherein for a second video block without applying the first coding tool, a second reference interpolation filtering process is used, and wherein in the second reference interpolation filtering process, one of the first 4-tap interpolation filter and a second 4-tap interpolation filter is selected based on at least one of the following: an intra mode of the second video block, positions of reference samples of the second video block and a size of the second video block, and the second 4-tap interpolation filter is different from the first 4-tap interpolation filter, and
wherein in a case that an index of the intra mode of the second video block is one of a first indices set, the first 4-tap interpolation filter is selected, and the first indices set includes −14, −12, −10, −6, 2, 34, 66, 72, 76, 78, 80.

### Claim 17 (depends on 14)

The non-transitory computer-readable storage medium of claim 14, wherein the first 4-tap interpolation filter is determined independently of a size of at least one of the multiple sub-regions.

### Claim 18 (depends on 14)

The non-transitory computer-readable storage medium of claim 14, wherein the first and second 4-tap interpolation filters are applied only for a luma component, and wherein the second 4-tap interpolation filter corresponds to a Gaussian filter.

### Claim 19 (depends on 16)

The non-transitory computer-readable recording medium of claim 16, wherein the first 4-tap interpolation filter corresponds to a cubic filter or a discrete cosine transform interpolation filter.

### Claim 20 (depends on 16)

The non-transitory computer-readable recording medium of claim 16, wherein the first 4-tap interpolation filter is determined independently of a size of at least one of the multiple sub-regions.
