# US 11,910,004 B2 · Difference calculation based on partial position

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

- Number: US 11,910,004 B2
- Document ID: US11910004B2
- Status: Granted
- Kind: B2
- Application number: 17/534,968
- Filed: 2021-11-24
- Published: 2022-03-17
- Granted: 2024-02-20
- Earliest claimed: 2018-11-20
- Assignees: Beijing Bytedance Network Technology Co., Ltd.; Bytedance Inc.
- Applicants: Beijing Bytedance Network Technology Co., Ltd.; Bytedance Inc.
- Inventors: Hongbin Liu; Li Zhang; Kai Zhang; Jizheng Xu; Yue Wang
- Web page: https://patentgrep.com/patent/US11910004B2

## CPC

- H04N 19/52: by predictive encoding
- 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/119: Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
- 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/184: the unit being bits, e.g. of the compressed video stream
- H04N 19/577: Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
- H04N 19/593: involving spatial prediction techniques
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

Difference calculation based on partial position is described. In a representative aspect, a method of video processing comprising: calculating, during a conversion between a current block of video and a bitstream representation of the current block, differences between two reference blocks associated with the current block or differences between two reference sub-blocks associated with a sub-block within the current block based on representative positions of the reference blocks or representative positions of the reference sub-blocks; and performing the conversion based on the differences.

## Claims

### Claim 1

A method of video processing, comprising:
determining whether to enable a first tool, for a conversion between a current block and a bitstream based on a rule, wherein the rule indicates that the first tool and a second tool are not both used by the current block; and
performing, based on the determining, a conversion between the current block and the bitstream;
wherein one of the first tool and the second tool is a decoder side motion vector derivation tool to derive a refinement of motion information related to the current block, and
the other of the first tool and the second tool comprises:
a merge mode with motion vector differences which comprises motion vector expression comprising a first parameter representing a motion vector difference and a second parameter indicating a base candidate, wherein the first parameter comprises a motion magnitude and a motion direction,
wherein the decoder side motion vector derivation tool is disabled upon a determination that the current block is coded with the merge mode with motion vector differences.

### Claim 2 (depends on 1)

The method of claim 1, wherein the other of the first tool and the second tool further comprises:
a combined inter and intra prediction tool, wherein a weight pair is determined for the combined inter and intra prediction tool, and the weight pair comprising a first weight for an inter prediction signal of a block and a second weight for an intra prediction signal of the block, wherein a prediction signal of the block is generated at least based on weighted sum of the intra prediction signal and the inter prediction signal.

### Claim 3 (depends on 2)

The method of claim 2, wherein the decoder side motion vector derivation tool is disabled upon a determination that the combined inter and intra prediction tool is used for the current block.

### Claim 4 (depends on 1)

The method of claim 1, wherein the other of the first tool and the second tool further comprises:
a geometric partitioning tool comprising a partition scheme which divides a block in to two partitions, at least one of which is non-square and non-rectangular.

### Claim 5 (depends on 4)

The method of claim 4, wherein the geometric partitioning tool is a triangular prediction tool.

### Claim 6 (depends on 1)

The method of claim 1, wherein the decoder side motion vector derivation tool comprises a decoder side motion vector refinement tool.

### Claim 7 (depends on 1)

The method of claim 1, wherein the decoder side motion vector derivation tool comprises a bi-directional optical flow tool.

### Claim 8 (depends on 1)

The method of claim 1, wherein the first tool is the decoder side motion vector derivation tool, and the conversion comprises:
dividing the current block into at least one subblock;
calculating differences between two reference subblocks associated with a subblock within the current block based on representative positions of the reference subblocks;
deriving the refinement of the motion information based on the differences.

### Claim 9 (depends on 8)

The method of claim 8, wherein the differences are calculated in an early termination stage of the first tool, wherein the differences are used to determine whether to terminate the first tool.

### Claim 10 (depends on 8)

The method of claim 8, wherein calculating differences comprises:
calculating differences of specific rows of two reference subblocks.

### Claim 11 (depends on 10)

The method of claim 10, wherein the specific rows are composed of one row of every N rows, wherein N is greater than 1.

### Claim 12 (depends on 10)

The method of claim 10, wherein N is equal to 2.

### Claim 13 (depends on 8)

The method of claim 8, wherein deriving the refinement of the motion information based on the differences comprises:
summing up the differences calculated for the representative positions of the reference sub blocks to obtain the difference for the subblock;
deriving the refinement of the motion information using the difference for the subblock.

### Claim 14 (depends on 13)

The method of claim 13, wherein the difference for the subblock include sum of absolute differences (SAD) of the representative positions.

### Claim 15

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 whether to enable a first tool, for a conversion between a current block and a bitstream based on a rule, wherein the rule indicates that the first tool and a second tool are not both used by the current block; and
perform, based on the determining, a conversion between the current block and the bitstream;
wherein one of the first tool and the second tool is a decoder side motion vector derivation tool to derive a refinement of motion information related to the current block, and
the other of the first tool and the second tool comprises:
a merge mode with motion vector differences which comprises motion vector expression comprising a first parameter representing a motion vector difference and a second parameter indicating a base candidate, wherein the first parameter comprises a motion magnitude and a motion direction,
wherein the decoder side motion vector derivation tool is disabled upon a determination that the current block is coded with the merge mode with motion vector differences.

### Claim 16 (depends on 15)

The apparatus of claim 15, wherein the other of the first tool and the second tool further comprises:
a combined inter and intra prediction tool, wherein a weight pair is determined for the combined inter and intra prediction tool, and the weight pair comprising a first weight for an inter prediction signal of a block and a second weight for an intra prediction signal of the block, wherein a prediction signal of the block is generated at least based on weighted sum of the intra prediction signal and the inter prediction signal.

### Claim 17 (depends on 15)

The apparatus of claim 15, wherein the decoder side motion vector derivation tool is disabled upon a determination that a combined inter and intra prediction tool is used for the current block.

### Claim 18 (depends on 15)

The apparatus of claim 15, wherein the other of the first tool and the second tool further comprises:
a geometric partitioning tool comprising a partition scheme which divides a block in to two partitions, at least one of which is non-square and non-rectangular.

### Claim 19

A non-transitory computer-readable storage medium storing instructions that cause a processor to:
determine whether to enable a first tool, for a conversion between a current block and a bitstream based on a rule, wherein the rule indicates that the first tool and a second tool are not both used by the current block; and
perform, based on the determining, a conversion between the current block and the bitstream;
wherein one of the first tool and the second tool is a decoder side motion vector derivation tool to derive a refinement of motion information related to the current block, and
the other of the first tool and the second tool comprises:
a merge mode with motion vector differences which comprises motion vector expression comprising a first parameter representing a motion vector difference and a second parameter indicating a base candidate, wherein the first parameter comprises a motion magnitude and a motion direction,
wherein the decoder side motion vector derivation tool is disabled upon a determination that the current block is coded with the merge mode with motion vector differences.

### Claim 20

A non-transitory computer-readable recording medium storing a bitstream which is generated by a method performed by a video processing apparatus, wherein the method comprises:
determining whether to enable a first tool, for a conversion between a current block and a bitstream based on a rule, wherein the rule indicates that the first tool and a second tool are not both used by the current block; and
generating the bitstream from the current block based on the determining;
wherein one of the first tool and the second tool is a decoder side motion vector derivation tool to derive a refinement of motion information related to the current block, and
the other of the first tool and the second tool comprises:
a merge mode with motion vector differences which comprises motion vector expression comprising a first parameter representing a motion vector difference and a second parameter indicating a base candidate, wherein the first parameter comprises a motion magnitude and a motion direction,
wherein the decoder side motion vector derivation tool is disabled upon a determination that the current block is coded with the merge mode with motion vector differences.

### Claim 21 (depends on 1)

The method of claim 1, wherein the performing of the conversion includes encoding the current block into the bitstream.

### Claim 22 (depends on 1)

The method of claim 1, wherein the performing of the conversion includes decoding the current block from the bitstream.
