IP Library › Granted Patent US 11,558,607
Granted Patent B2
US 11,558,607 · App. 17/351,783 · Granted Jan 17, 2023

Encoder, a decoder and corresponding methods using history based motion vector prediction

Inventors: Anand Meher Kotra (Munich, DE); Jianle Chen (San Diego, CA); Semih Esenlik (Munich, DE); Biao Wang (Shenzhen, CN); Han Gao (Munich, DE); Zhijie Zhao (Munich, DE)
Assignee: HUAWEI TECHNOLOGIES CO., LTD.
H04N19/105H04N19/129H04N19/176H04N19/1883
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,558,607
App. No.
17/351,783
Granted
Jan 17, 2023
Kind
B2
Abstract

Embodiments provide methods and devices (encoder and/or decoder) of coding a picture. A History Based Motion Vector Prediction (HMVP) list for a current Coding Tree Unit (CTU) row within a tile of a picture is initialized and a CTU of the current CTU row is processed based on the initialized HMVP list.

Claims (40)

1. A method of coding a picture implemented by a decoding device, comprising:

initializing a history based motion vector prediction (HMVP) list for a current coding tree unit (CTU) row within a tile of a picture; and

processing a CTU of the current CTU row based on the initialized HMVP list, wherein initializing the HMVP list for the current CTU row comprises:

resetting the HMVP list for the current CTU row, and wherein the HMVP list is reset for each CTU row in a tile irrespective of a size of the tile.

2. The method according to claim 1 , wherein the initializing the HMVP list for the current CTU row comprises resetting the HMVP list for the current CTU row, and wherein the resetting the HMVP list for the current CTU row comprises:

setting a length of the HMVP list to zero for processing a first CTU in the current CTU row in a coding or scanning order.

3. The method according to claim 2 , wherein the length of the HMVP list is only incremented until a maximum length of the HMVP list is reached.

4. The method according to claim 2 , wherein the method further comprises:

coding a current block of a current CTU by only considering a reduced number of HMVP list candidates according to a current length of the HMVP list, wherein the current length of the HMVP list is smaller than a maximum length of the HMVP list.

5. The method according to claim 4 , wherein the reduced number of HMVP list candidates corresponds to the current length of the HMVP list.

6. The method according to claim 1 , wherein the initializing the HMVP list for the current CTU row comprises resetting the HMVP list for the current CTU row, wherein resetting the HMVP list for a first CTU in a tile allows tiles to be processed or coded in parallel.

7. The method according to claim 6 , wherein the initializing the HMVP list for the current CTU row comprises resetting the HMVP list for the current CTU row, wherein resetting the HMVP list for the first CTU of each tile allows tiles to be processed or coded in parallel.

8. The method according to claim 1 , wherein the initializing the HMVP list for the current CTU row is performed for each CTU row in a tile before a first CTU in the respective CTU row is processed.

9. The method according to claim 8 , wherein the resetting the HMVP list for the current CTU row further comprises:

incrementing a length of the HMVP list by one when a block of the first CTU is inter-coded using a motion vector and adding the motion vector to the HMVP list.

10. The method according to claim 9 , wherein the length of the HMVP list is only incremented and the motion vector is only added if motion information is not already contained in the HMVP list.

11. The method according to claim 10 , wherein the motion information comprises at least one of a motion vector and a reference picture index.

12. The method according to claim 1 , wherein a CTU in a CTU row has a corresponding address, wherein the address of a first CTU in a CTU row is identified by determining a first coding tree block (CTB) in a CTU row in a tile by using expression:

FirstCtbInCtuRowInTile=((ctbAddrInTs−FirstCtbAddrTs[tileIdx]−NumCtusInTile[tileIdx])% ColWidth[tileIdx]==0)?1:0,

If ((tile_group_type !=I) && (FirstCtbInCtuRowInTile))

HMVPCandNum=0

where FirstCtbInCtuRowInTile denotes the first CTU in a CTU row in the tile, ctbAddrInTx denotes an address of a CTB in a tile, FirstCtbAddrTs denotes a first address of a CTB in a tile, tileIdx denotes an index of the respective tile, NumCtusInTile denotes a number of CTUs in a tile, ColWidth denotes a width of the tile in terms of number of CTUs, and “%” is a modulus operator; and tile_groupe_type denotes a type of tile group.

13. The method according to claim 1 , wherein a CTU in a CTU row has a corresponding address, wherein an address of a first CTU in a CTU row is identified by determining whether a modulus operation of the address j with respect to a current tile yields zero by using expression:

if( j % ColWidth[tileIdx]==0),

where J is the address of a current CTU and ColWidth[tileIdx] indicates a width of the tile in terms of number of CTUs, tileIdx denotes an index of the respective tile, and “%” is a modulus operator.

14. The method according to claim 1 , wherein a CTU in a CTU row has a corresponding address, wherein an address of a first CTU in each CTU row inside a tile is identified by determining whether an address of a current CTU is same as an address of a CTU in a list or array storing an address of a left tile column boundary in units of CTBs, such that the first CTU of each CTU row inside a tile is deduced.

15. The method according to claim 14 , wherein the determining whether an address of the current CTU is the same as an address of a CTU in the list storing an address of the left tile column boundary in units of CTBs uses expression:

if(CtbAddrX==CtbToTileColBd[CtbAddrX]),

where list or array CtbToTileColBd[ctbAddrX] includes conversion from a horizontal CTB address to an address of a left tile column boundary in units of CTBs, for “ctbAddrX” ranging from “0 to PicWidthInCtbsY”, inclusively, where ctbAddrX indicates an index of a horizontal CTB.

16. A method of coding a picture implemented by an encoding device, comprising:

initializing a history based motion vector prediction (HMVP) list for a current coding tree unit (CTU) row within a tile of a picture; and

processing a CTU of the current CTU row based on the initialized HMVP list, wherein initializing the HMVP list for the current CTU row comprises:

resetting the HMVP list for the current CTU row, and wherein the HMVP list is reset for each CTU row in a tile irrespective of a size of the tile.

17. A computer-readable non-transitory medium storing a program, including instructions which when executed on a processor cause the processor to perform the method according to claim 1 .

18. A decoder, comprising:

one or more processors; and

a non-transitory computer-readable storage medium coupled to the one or more processors and storing instructions for execution by the one or more processors, wherein the instructions, when executed by the one or more processors, configures the decoder to carry out the method according to claim 1 .

19. An encoder, comprising:

one or more processors; and

a non-transitory machine-readable storage medium coupled to the one or more processors and storing instructions for execution by the one or more processors, wherein the instructions, when executed by the one or more processors, configures the encoder to carry out the method according to claim 16 .

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 6, 2022
From: KOTRA, ANAND MEHER; CHEN, JIANLE; ESENLIK, SEMIH; WANG, BIAO; GAO, HAN; ZHAO, ZHIJIE
To: HUAWEI TECHNOLOGIES CO., LTD.
Reel/Frame 060997/0541 →
Continuity (5)
Continuation PCTCN2019126842 · Dec 20, 2019
Provisional Application 62792856 · Jan 15, 2019
Provisional Application 62787725 · Jan 2, 2019
Provisional Application 62784338 · Dec 21, 2018
Related Publication 20210360228A1 · Nov 18, 2021
Cited By (1)
US 12,278,986