# US 10,375,422 B1 · Method and apparatus for motion field based tree splitting

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

- Number: US 10,375,422 B1
- Document ID: US10375422B1
- Status: Granted
- Kind: B1
- Application number: 16/232,592
- Filed: 2018-12-26
- Granted: 2019-08-06
- Earliest claimed: 2018-03-30
- Assignees: Tencent America LLC
- Applicants: Tencent America LLC
- Inventors: Xiang Li; Xin Zhao; Shan Liu
- Web page: https://patentgrep.com/patent/US10375422B1

## CPC

- H04N 19/96: Tree coding, e.g. quad-tree coding
- H04N 19/139: Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
- H04N 19/176: the region being a block, e.g. a macroblock
- H04N 19/70: characterised by syntax aspects related to video coding, e.g. related to compression standards
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

A method and apparatus for encoding or decoding a video sequence includes partitioning the video sequence into coding tree units, each coding tree unit including at least one coding tree block and each coding tree block including at least one coding block, determining the motion field of the at least one coding block, determining whether the motion field of the at least one coding block is homogenous or heterogeneous, and determining whether to signal a further partition of the at least one coding block based on the determination of whether the motion field of the at least one coding block is homogenous or heterogeneous.

## Claims

### Claim 1

A method for encoding or decoding a video sequence, the method comprising:
partitioning the video sequence into coding tree units, each coding tree unit including at least one coding tree block and each coding tree block including at least one coding block,
determining the motion field of the at least one coding block,
determining whether the motion field of the at least one coding block is homogenous or heterogeneous, and
determining whether to signal a further partition of the at least one coding block based on the determination of whether the motion field of the at least one coding block is homogenous or heterogeneous.

### Claim 2 (depends on 1)

The method of claim 1, further comprising:
partitioning the at least one coding block when it is determined that the motion field is heterogeneous,
wherein the motion field is determined to be homogeneous if a derived motion field is available for all sub-blocks of the at least one coding block and all motion vectors in the derived motion field are similar, such that the motion vectors share the same reference frame and the absolute differences among the motion vectors are all below a certain threshold which may be signaled in bit stream or predefined, and
wherein the motion field is determined to be heterogeneous if a derived motion field is available for all sub-blocks of the at least one coding block and motion vectors in the derived motion field are not similar, such that at least one motion vector refers to a reference frame which is not referred to by other motion vectors, or at least one absolute difference between two motion vectors in the motion field is larger than a signaled or predefined threshold.

### Claim 3 (depends on 2)

The method of claim 2, wherein
partitioning of the at least one coding block is not signaled in bit stream.

### Claim 4 (depends on 1)

The method of claim 1, further comprising:
leaving as non-partitioned the at least one coding block when it is determined that the motion field is homogeneous,
wherein the motion field is determined to be homogeneous if a derived motion field is available for all sub-blocks of the at least one coding block and all motion vectors in the derived motion field are similar, such that the motion vectors share the same reference frame and the absolute differences among the motion vectors are all below a certain threshold which may be signaled in bit stream or predefined, and
wherein the motion field is determined to be heterogeneous if a derived motion field is available for all sub-blocks of the at least one coding block and motion vectors in the derived motion field are not similar, such that at least one motion vector refers to a reference frame which is not referred to by other motion vectors, or at least one absolute difference between two motion vectors in the motion field is larger than a signaled or predefined threshold.

### Claim 5 (depends on 4)

The method of claim 4, wherein
non-partitioning of the at least one coding block is not signaled in bit stream.

### Claim 6 (depends on 1)

The method of claim 1, further comprising:
partitioning the at least one coding block using a tree type split such that sub-blocks obtained via the partitioning have the most homogeneous motion field among all available splitting types,
wherein information on how to split the current block is derived.

### Claim 7 (depends on 1)

The method of claim 1, further comprising:
determining split types for partitioning the at least one coding block which result in relatively more heterogeneous motion fields than other available splitting types, and
leaving as non-partitioned the at least one coding block with the split types which result in relatively more heterogeneous motion fields so as to reduce signaling costs.

### Claim 8 (depends on 1)

The method of claim 1, wherein,
the determining of whether to signal the further partition the at least one coding block is implemented on a condition that a size of one of the at least one coding block is larger than a predetermined threshold.

### Claim 9 (depends on 1)

The method of claim 1, further comprising:
determining the size of the coding tree units based on the motion field.

### Claim 10 (depends on 1)

The method of claim 1, further comprising:
deriving the maximum depth of a further partition of the at least one coding block based on a ranking of how homogeneous/heterogeneous the motion field is for the coding block.

### Claim 11

A device for encoding or decoding a video sequence, the device comprising:
at least one memory configured to store program code;
at least one processor configured to read the program code and operate as instructed by the program code, the program code including:
first partitioning code configured to cause the at least one processor to partition the video sequence into coding tree units, each coding tree unit including at least one coding tree block and each coding tree block including at least one coding block,
first determining code configured to cause the at least one processor to determine the motion field of the at least one coding block,
second determining code configured to cause the at least one processor to determine whether the motion field of the at least one coding block is homogenous or heterogeneous, and
third determining code configured to cause the at least one processor to determine whether to signal a further partition of the at least one coding block based on the determination of whether the motion field of the at least one coding block is homogenous or heterogeneous.

### Claim 12 (depends on 11)

The device of claim 11, further comprising:
second partitioning code configured to cause the at least one processor to partition the at least one coding block when it is determined that the motion field is heterogeneous,
wherein the second determining code is configured to cause the at least one processor to determine whether the motion field of the at least one coding block is homogenous if a derived motion field is available for all sub-blocks of the at least one coding block and all motion vectors in the derived motion field are similar, such that the motion vectors share the same reference frame and the absolute differences among the motion vectors are all below a certain threshold which may be signaled in bit stream or predefined, and
wherein the second determining code is configured to cause the at least one processor to determine whether the motion field of the at least one coding block is heterogeneous if a derived motion field is available for all sub-blocks of the at least one coding block and motion vectors in the derived motion field are not similar, such that at least one motion vector refers to a reference frame which is not referred to by other motion vectors, or at least one absolute difference between two motion vectors in the motion field is larger than a signaled or predefined threshold.

### Claim 13 (depends on 12)

The device of claim 12, wherein
the second partitioning code is configured to cause the at least one processor to not signal in bit stream the partitioning of the at least one coding block.

### Claim 14 (depends on 11)

The device of claim 11, wherein
the third determining code is configured to cause the at least one processor to signal a non-partitioning of the at least one coding block when it is determined that the motion field is homogeneous,
wherein the second determining code is configured to cause the at least one processor to determine whether the motion field of the at least one coding block is homogenous if a derived motion field is available for all sub-blocks of the at least one coding block and all motion vectors in the derived motion field are similar, such that the motion vectors share the same reference frame and the absolute differences among the motion vectors are all below a certain threshold which may be signaled in bit stream or predefined, and
wherein the second determining code is configured to cause the at least one processor to determine whether the motion field of the at least one coding block is heterogeneous if a derived motion field is available for all sub-blocks of the at least one coding block and motion vectors in the derived motion field are not similar, such that at least one motion vector refers to a reference frame which is not referred to by other motion vectors, or at least one absolute difference between two motion vectors in the motion field is larger than a signaled or predefined threshold.

### Claim 15 (depends on 11)

The device of claim 11, further comprising:
second partitioning code configured to cause the at least one processor to partition the at least one coding block using a tree type split such that sub-blocks obtained via the second partitioning code have the most homogeneous motion field among all available splitting types,
wherein information on how to split the current block is derived.

### Claim 16 (depends on 11)

The device of claim 11, further comprising:
fourth determining code configured to cause the at least one processor to determine split types for partitioning the at least one coding block which result in relatively more heterogeneous motion fields than other available splitting types, and
second partitioning code configured to cause the at least one processor to not partition the at least one coding block with the split types which result in relatively more heterogeneous motion fields so as to reduce signaling costs.

### Claim 17 (depends on 11)

The device of claim 11, further comprising:
fourth determining code configured to cause the at least one processor to determine whether to signal the further partition of the at least one coding block when the at least one coding block is larger than a predetermined threshold.

### Claim 18 (depends on 11)

The device of claim 11, further comprising:
first deriving code configured to cause the at least one processor to derive the maximum depth of a further partition of the at least one coding block based on a ranking of how homogeneous/heterogeneous the motion field is for the coding block.

### Claim 19

A non-transitory computer-readable medium storing instructions, the instructions comprising: one or more instructions that, when executed by one or more processors of a device, cause the one or more processors to:
partition a video sequence into coding tree units, each coding tree unit including at least one coding tree block and each coding tree block including at least one coding block,
determine the motion field of the at least one coding block,
determine whether the motion field of the at least one coding block is homogenous or heterogeneous, and
determine whether to signal a further partition of the at least one coding block based on the determination of whether the motion field of the at least one coding block is homogenous or heterogeneous.

### Claim 20 (depends on 1)

The method of claim 1, further comprising:
determining a CABAC context for entropy coding flags signaled for indicating the further partitioning of the at least one coding block based on the determination of whether the motion field of the at least one coding block is homogenous or heterogeneous,
wherein the motion field is determined to be homogeneous if a derived motion field is available for all sub-blocks of the at least one coding block and all motion vectors in the derived motion field are similar, such that the motion vectors share the same reference frame and the absolute differences among the motion vectors are all below a certain threshold which may be signaled in bit stream or predefined, and
wherein the motion field is determined to be heterogeneous if a derived motion field is available for all sub-blocks of the at least one coding block and motion vectors in the derived motion field are not similar, such that at least one motion vector refers to a reference frame which is not referred to by other motion vectors, or at least one absolute difference between two motion vectors in the motion field is larger than a signaled or predefined threshold.
