# US 11,115,653 B2 · Intra block copy merge list simplification

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

- Number: US 11,115,653 B2
- Document ID: US11115653B2
- Status: Granted
- Kind: B2
- Application number: 16/795,491
- Filed: 2020-02-19
- Published: 2020-08-27
- Granted: 2021-09-07
- Earliest claimed: 2019-02-22
- Assignees: Mediatek Inc.
- Applicants: MediaTek Inc.
- Inventors: Yu-Cheng Lin; Chun-Chia Chen; Chih-Wei Hsu
- Web page: https://patentgrep.com/patent/US11115653B2

## CPC

- 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/137: Motion inside a coding unit, e.g. average field, frame or block difference
- H04N 19/159: Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
- H04N 19/176: the region being a block, e.g. a macroblock
- H04N 19/52: by predictive encoding
- H04N 19/96: Tree coding, e.g. quad-tree coding
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

A method for generating a list of merge candidates for Intra Block Copy (IBC) prediction is provided. A video codec receives data to be encoded or decoded as a current block of a current picture of a video. A plurality of spatially adjacent neighboring blocks of the current block are coded before the current block. The video codec generates a list of merge candidates including intra picture candidates that are associated with motion information referencing pixels in the current picture. The intra picture candidates comprises candidates that are associated with some but not all of the two or more spatially adjacent neighboring blocks of the current block. The video codec selects a merge candidate from the generated list. The video codec encodes or decodes the current block by using the motion information of the selected merge candidate to generate a prediction of the current block.

## Claims

### Claim 1

A video decoding method comprising:
receiving data from a bitstream for a block of pixels to be decoded as a current block of a current picture of a video, wherein a plurality of spatially adjacent neighboring blocks of the current block are coded before the current block;
generating a list of merge candidates including intra picture candidates that are associated with motion information referencing pixels in the current picture, the intra picture candidates comprising spatial merge candidates that are associated with the plurality of spatially adjacent neighboring blocks of the current block, the list of merge candidates comprising at most two spatial merge candidates,
wherein whether a history-based motion vector prediction (HMVP) candidate is included in the list of merge candidates or not is dependent on whether at least one HMVP candidate is available, and whether a default merge candidate is included in the list of merge candidates or not is dependent on a number of the spatial merge candidates and the HMVP candidate in the list of merge candidates;
selecting a merge candidate from the generated list of merge candidates; and
decoding the current block by using the motion information of the selected merge candidate,
wherein generating the list of merge candidates comprises determining which merge candidate to include in the list based on a size of the current block.

### Claim 2 (depends on 1)

The method of claim 1, wherein the plurality of spatially adjacent neighboring blocks of the current block are to the left and to the top of the current block, wherein generating the list of merge candidates comprises excluding some of the spatially adjacent neighboring blocks from the generated list of merge candidates.

### Claim 3 (depends on 1)

The method of claim 1, wherein generating the list of merge candidates comprises including the intra picture candidates that are associated with one spatially adjacent neighboring block above the current block and one spatially adjacent neighboring block to the left of the current block and no other spatially adjacent neighboring block of the current block.

### Claim 4 (depends on 1)

The method of claim 1, further comprising:
maintaining a plurality of HMVP candidates for a current slice that includes the current block, each HMVP candidate associated with motion information of a previously coded block; and
comparing no more than N HMVP candidates with the intra picture candidates for detecting redundancy.

### Claim 5 (depends on 4)

The method of claim 4, wherein generating the list of merge candidates comprise a simplified pruning process that adds one or more of the plurality of the HMVP candidates into the list of merge candidates without comparing for detecting redundancy, the one or more of the plurality of the HMVP candidates including the HMVP candidate.

### Claim 6 (depends on 4)

The method of claim 4, where N is equal to 1.

### Claim 7 (depends on 1)

The method of claim 1, wherein the list of merge candidates includes the default merge candidate when the two spatial merge candidates and the HMVP candidate are not all available.

### Claim 8

A video encoding method comprising:
receiving raw pixel data for a block of pixels to be encoded as a current block of a current picture of a video into a bitstream, wherein a plurality of spatially adjacent neighboring blocks of the current block are coded before the current block;
generating a list of merge candidates including intra picture candidates that are associated with motion information referencing pixels in the current picture, the intra picture candidates comprising spatial merge candidates that are associated with the plurality of spatially adjacent neighboring blocks of the current block, the list of merge candidates comprising at most two spatial merge candidates,
wherein whether a history-based motion vector prediction (HMVP) candidate is included in the list of merge candidates or not is dependent on whether at least one HMVP candidate is available, and whether a default merge candidate is included in the list of merge candidates or not is dependent on a number of the spatial merge candidates and the HMVP candidate in the list of merge candidates;
selecting a merge candidate from the generated list of merge candidates; and
encoding the current block into the bitstream by using the motion information of the selected merge candidate,
wherein generating the list of merge candidates comprises determining which merge candidate to include in the list based on a size of the current block.

### Claim 9

An electronic apparatus comprising:
a video decoder circuit configured to perform operations comprising:
receiving data from a bitstream for a block of pixels to be decoded as a current block of a current picture of a video, wherein a plurality of spatially adjacent neighboring blocks of the current block are coded before the current block;
generating a list of merge candidates including intra picture candidates that are associated with motion information referencing pixels in the current picture, the intra picture candidates comprising spatial merge candidates that are associated with the plurality of spatially adjacent neighboring blocks of the current block, the list of merge candidates comprising at most two spatial merge candidates,
wherein whether a history-based motion vector prediction (HMVP) candidate is included in the list of merge candidates or not is dependent on whether at least one HMVP candidate is available, and whether a default merge candidate is included in the list of merge candidates or not is dependent on a number of the spatial merge candidates and the HMVP candidate in the list of merge candidates;
selecting a merge candidate from the generated list; and
decoding the current block by using the motion information of the selected merge candidate,
wherein generating the list of merge candidates comprises determining which merge candidate to include in the list based on a size of the current block.

### Claim 10 (depends on 9)

The electronic apparatus of claim 9, wherein the list of merge candidates includes the default merge candidate when the two spatial merge candidates and the HMVP candidate are not all available.

### Claim 11

A video decoding method comprising:
receiving data from a bitstream for a block of pixels to be decoded as a current block of a current picture of a video, wherein a plurality of spatially adjacent neighboring blocks of the current block are coded before the current block;
performing a merge mode in an intra block copy (IBC) prediction for the current block, comprising:
generating a list of merge candidates to include merge indices that are associated with spatial merge candidates that are associated with the plurality of the coded spatially adjacent neighboring blocks of the current block, the list of merge candidates comprising at most two spatial merge candidates,
wherein whether a history-based motion vector prediction (HMVP) candidate is included in the list of merge candidates or not is dependent on whether at least one HMVP candidate is available, and whether a default merge candidate is included in the list of merge candidates or not is dependent on a number of the spatial merge candidates and the HMVP candidate in the list of merge candidates;
selecting a merge candidate from the generated list of merge candidates; and
decoding the current block by using motion information of the selected merge candidate,
wherein generating the list of merge candidates comprises determining which merge candidate to include in the list based on a size of the current block.

### Claim 12 (depends on 11)

The method of claim 11, wherein the step of generating the list of merge candidates comprises generating the list of merge candidates to include merge indices that are associated with only two of the neighboring blocks that are to the left and to the top of the current block.

### Claim 13 (depends on 11)

The method of claim 11, further comprising:
maintaining a list of HMVP candidates for a current slice that includes the current block, each HMVP candidate associated with motion information of a previously coded block;
comparing only first N HMVP candidates from the list of HMVP candidates with the list of merge candidates; and
adding a compared HMVP candidate into the list of merge candidates when the comparing result indicates that the compared HMVP candidate is different from the candidates in the list of merge candidates, the compared HMVP candidate being the HMVP candidate.

### Claim 14 (depends on 13)

The method of claim 13, wherein N is equal to 1.

### Claim 15 (depends on 11)

The method of claim 11, further comprising:
maintaining a list of HMVP candidates for a current slice that includes the current block, each HMVP candidate associated with motion information of a previously coded block; and
adding one or more of the list of HMVP candidates into the list of merge candidates without comparing for detecting redundancy.

### Claim 16 (depends on 11)

The method of claim 11, wherein the list of merge candidates includes the default merge candidate when the two spatial merge candidates and the HMVP candidate are not all available.
