WO2025214712A1 - Coding with multiple history-based motion vector prediction tables - Google Patents
Coding with multiple history-based motion vector prediction tablesInfo
- Publication number
- WO2025214712A1 WO2025214712A1 PCT/EP2025/057074 EP2025057074W WO2025214712A1 WO 2025214712 A1 WO2025214712 A1 WO 2025214712A1 EP 2025057074 W EP2025057074 W EP 2025057074W WO 2025214712 A1 WO2025214712 A1 WO 2025214712A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- coding
- history
- current
- motion vector
- vector prediction
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
- H04N19/517—Processing of motion vectors by encoding
- H04N19/52—Processing of motion vectors by encoding by predictive encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/96—Tree coding, e.g. quad-tree coding
Definitions
- the teachings in accordance with the exemplary embodiments of this invention relate generally to multiple history-based motion vector prediction (HMVP) tables for a current coding unit (CU) in a current coding tree unit (CTU) row of a current picture.
- Multiple history-based motion vector prediction tables aim to capture the motion information and, more specifically, relate to multiple history-based motion vector prediction tables for a current coding unit in a current coding tree unit row of a current picture, wherein the multiple history-based motion vector prediction tables aim to capture the motion information, not only from coding tree units above the current coding tree unit row in the current picture and even from the temporal collocated coding tree units in reference pictures.
- VVC Versatile Video Coding
- ECM Enhanced Compression Model
- Example embodiments of this invention proposes improved operations for at least such Enhanced Compression Model (ECM).
- ECM Enhanced Compression Model
- an apparatus such as a user equipment side apparatus, comprising: at least one processor; and at least one non-transitory memory storing instructions, that when executed by the at least one processor, cause the apparatus at least to: input current picture data into a signal input decoder, wherein the current picture data is divided into at least one coding tree unit, and wherein the at least one coding tree unit is split into at least one coding unit; and process a current coding unit from a current coding tree unit or another current coding tree unit above the current coding tree unit to capture at least motion information in the current picture data, wherein the processing is using more than one history-based motion vector prediction table constructed using at least motion information of prior coded coding units.
- a method comprising: inputting current picture data into a signal input decoder, wherein the current picture data is divided into at least one coding tree unit, and wherein the at least one coding tree unit is split into at least one coding unit; and processing a current coding unit from a current coding tree unit or another current coding tree unit above the current coding tree unit to capture at least motion information in the current picture data, wherein the processing is using more than one history-based motion vector prediction table constructed using at least motion information of prior coded coding units.
- a further example embodiment is an apparatus and a method comprising the apparatus and the method of the previous paragraphs, wherein the signal input decoder is using an enhanced compression model, wherein the at least one coding unit of the picture data is encoded or decoded into at least one of an inter coding mode, wherein based on at least one coding unit in the inter coding mode, the processing comprises searching for an associated temporal prediction block from reference pictures, wherein for current inter-coding in the current picture data, the associated temporal prediction block from reference pictures is represented by the at least motion information, wherein the more than one history-based motion vector prediction table are constructed using at least motion information of prior coded coding units of the more than one history-based motion vector prediction table is from a same current coding tree unit row in the current picture, wherein the more than one history-based motion vector prediction table are constructed using at least motion information of prior coded coding units is from the current coding tree unit row above the current coding tree unit row in the current picture and from temporal collocated coding tree units in the reference
- an apparatus comprising: means for inputting current picture data into a signal input decoder, wherein the current picture data is divided into at least one coding tree unit, and wherein the at least one coding tree unit is split into at least one coding unit; and means for processing a current coding unit from a current coding tree unit or another current coding tree unit above the current coding tree unit to capture at least motion information in the current picture data, wherein the processing is using more than one history-based motion vector prediction table constructed using at least motion information of prior coded coding units.
- At least the means for inputting, encoding, and decoding comprises a network interface, and computer program code stored on a computer-readable medium and executed by at least one processor.
- a communication system comprising a user equipment side apparatus and/or a network side apparatus performing operations as described above.
- FIG. 1. shows an HMVP table is reset at each new CTU row;
- FIG. 2 shows coding tree units (CTUs) coded from left to right and top to bottom, and within a CTU CUs are coded along Zigzag path;
- CTUs coding tree units
- FIG. 3 shows a high level block diagram of various devices used in carrying out various aspects of the invention.
- FIG. 4 shows a method in accordance with example embodiments of the invention which may be performed by an apparatus.
- example embodiments of this invention there is proposed at least a method and apparatus for determining and using multiple history-based motion vector prediction tables for a current coding unit in a current coding tree unit or current coding tree row of a current picture, wherein the multiple history-based motion vector prediction tables aim to capture the motion information, not only from the same current coding tree unit or current coding tree row in the current picture, but also from the coding tree unit rows above the current coding tree unit or current coding tree row in the current picture and even from the temporal collocated coding tree units in reference pictures.
- VVC Versatile Video Coding
- ECM Enhanced Compression Model
- encoder constructs a spatial prediction block from the current picture, and signal decoder how to form the same spatial prediction block from the current picture at the decoder end.
- motion information e.g. motion vectors and reference pictures
- Encoder signals the motion information to decoder and decoder uses the motion information to form the temporal prediction block from reference pictures.
- the motion information is either coded directly or derived from the merge candidates defined around the current CU.
- VVC and ECM create a merge candidate list.
- the list may include the motion information of the spatial and temporal neighboring blocks of the current CU, HMVP (History-Based MVP) entries, non- adjacent blocks at specific positions, pairwise MVP, and zero MVs.
- HMVP History-Based MVP
- HMVP aims to allow more diversity in MVP candidate list by including past coded motion information.
- a HMVP candidate may correspond to a past inter coded CU that is not adjacent to a current CU.
- HMVP maintains a table of size up to 5 during the encoding/decoding process.
- the entries of HMVP table are the motion information (MI) of the past inter coded CUs, and may be used as merge candidates and/or AMVP candidates.
- MI motion information
- the HMVP table is updated, with the associated motion information (MI) being added to the HMVP table following the first-in-first-out (FIFO) rule.
- MI motion information
- FIFO first-in-first-out
- FIG. 1. shows an HMVP table is reset at each new CTU row, and for the current CU (X), the HMVP table is constructed with the motion information from the past inter coded CUs up to the current CU (X).
- HMVP table is reset.
- the HMVP table is constructed with the motion information from the past inter coded CUs up to the current CU (X).
- HMVP table may capture the motion information of the past inter coded CUs in the current CTU row, but not the motion information from the CTU rows above the current CTU row in the current picture.
- This invention proposes multiple HMVP tables for a current CU in a current CTU row of a current picture.
- Multiple HMVP tables aim to capture the motion information, not only from the same current CTU row in the current picture, but also from the CTU rows above the current CTU row in the current picture and even from the temporal collocated CTUs in reference pictures.
- a first HMVP table is constructed with the motion information from the past inter coded CUs in the current picture up to the current CU in the current picture.
- a second HMVP table is constructed with the motion information from the past inter coded CUs in the current picture up to the end of the above neighboring CTU (A) of the current CTU in the current picture.
- a third HMVP table is constructed with the motion information from the past inter coded CUs in the current picture up to the end of the above-left neighboring CTU (AL) of the current CTU in the current picture.
- a fourth HMVP table is constructed with the motion information from the past inter coded CUs in the current picture up to the end of the above-right neighboring CTU (AR) of the current CTU in the current picture.
- a fifth HMVP table is constructed with the motion information from the past inter coded CUs in current picture up to the end of other CTU(s) on the left side of or above the current CTU in the current picture.
- a sixth HMVP table is constructed with the motion information from the past inter coded CUs in reference pictures up to the end of the temporal collocated CTU (T) of the current CTU in the reference picture.
- a seventh HMVP table is constructed with the motion information from the past inter coded CUs in reference picture up to the end of other CTU(s) around the temporal collocated CTU of the current CTU in the reference picture.
- HMVP tables are constructed with the motion information from the past inter coded CUs, which are available at both encoder and decoder ends, encoder and decoder can have the same multiple HMVP tables for the current CU.
- FIG. 2 shows an example, where for a current CU (X) in a current picture, the first HMVP table is constructed with the motion information from the past inter coded CUs up to the current CU (X), the second HMVP table is constructed with motion information from the past inter coded CUs up to the end of CTU (A), the third HMVP table is constructed with the motion information from the past inter coded CUs up to the end of CTU (AL), the fourth HMVP table is considered with the motion information from the past inter coded CUs up to the end of CTU (AR), and the fifth HMVP table is constructed with the motion information from the past inter coded CUs in reference pictures up to the end of temporal collocated CTU (T).
- the first HMVP table is constructed with the motion information from the past inter coded CUs up to the current CU (X)
- the second HMVP table is constructed with motion information from the past inter coded CUs up to the end of CTU (A)
- CTUs are coded from left to right and top to bottom.
- CUs are coded along Zigzag path, as shown in FIG. 2.
- HMVP tables are constructed with the motion information from the past inter coded CUs up to the current CU (X), up to the end of CTU (A), up to CTU (AL), up to CTU (AR) in the current picture, and up to CTU (T) in reference picture.
- the multiple HMVP tables may be combined and used together. Since there are likely more unique motion information in the multiple HMVP tables than in a single HMVP table, merge candidate list and/or AMP candidate list may need to be enlarged accordingly.
- HMVP tables are selected and used for a current CU. Encoder then needs to signal decoder which HMVP table is used for the current CU.
- IBC (Intra Block Copy) mode was introduced in VVC.
- encoder For a current CU in IBC mode in a current picture, encoder searches for a prediction block in the current picture. The position of the prediction block is represented by a spatial displacement vector, called block vector (BV), from the current CU to the prediction block.
- BV block vector
- Encoder signals decoder the BV for the current CU in IBC mode, and decoder uses the BV to find the same prediction block in the current picture.
- FIG. 3 Before describing the example embodiments as disclosed herein in detail, reference is made to FIG. 3 for illustrating a simplified block diagram of various electronic devices that are suitable for use in practicing the example embodiments of this invention.
- FIG. 3 shows a block diagram of one possible and non-limiting exemplary system in which the example embodiments may be practiced.
- a user equipment (UE) 10 is in wireless communication with a wireless network 1 or network, 1 as in FIG. 3.
- the wireless network 1 or network 1 as in FIG. 3 can comprise a communication network such as a mobile network e.g., the mobile network 1 or first mobile network as disclosed herein. Any reference herein to a wireless network 1 as in FIG. 3 can be seen as a reference to any wireless network as disclosed herein. Further, the wireless network 1 as in FIG. 3 can also comprises hardwired features as may be required by a communication network.
- a UE is a wireless, typically mobile device that can access a wireless network.
- the UE may be a mobile phone (or called a "cellular" phone) and/or a computer with a mobile terminal function.
- the UE or mobile terminal may also be a portable, pocket, handheld, computer- embedded or vehicle-mounted mobile device and performs a language signaling and/or data exchange with the RAN.
- the UE 10 includes one or more processors DP 10 A, one or more memories MEM 10B, and one or more transceivers TRANS 10D interconnected through one or more buses.
- Each of the one or more transceivers TRANS 10D includes a receiver and a transmitter.
- the one or more buses may be address, data, or control buses, and may include any interconnection mechanism, such as a series of lines on a motherboard or integrated circuit, fiber optics or other optical communication equipment, and the like.
- the one or more transceivers TRANS 10D which can be optionally connected to one or more antennas for communication to NN 12 and NN 13, respectively.
- the one or more memories MEM 10B include computer program code PROG 10C.
- the UE 10 communicates with NN 12 and/or NN 13 via a wireless link 11 or 16.
- the NN 12 (NR/5G/6G Node B, an evolved NB, or LTE device) is a network node such as a master or secondary node base station (e.g., for NR or LTE long term evolution) that communicates with devices such as NN 13 and UE 10 of FIG. 3.
- the NN 12 provides access to wireless devices such as the UE 10 to the wireless network 1.
- the NN 12 includes one or more processors DP 12 A, one or more memories MEM 12B, and one or more transceivers TRANS 12D interconnected through one or more buses.
- these TRANS 12D can include X2 and/or Xn interfaces for use to perform the example embodiments.
- Each of the one or more transceivers TRANS 12D includes a receiver and a transmitter.
- the one or more transceivers TRANS 12D can be optionally connected to one or more antennas for communication over at least link 11 with the UE 10.
- the one or more memories MEM 12B and the computer program code PROG 12C are configured to cause, with the one or more processors DP 12 A, the NN 12 to perform one or more of the operations as described herein.
- the NN 12 may communicate with another gNB or eNB, or a device such as the NN 13 such as via link 16 or link 18. Further, the link 11, link 16 and/or any other link may be wired or wireless or both and may implement, e.g., an X2 or Xn interface.
- link 11 and/or link 16 and/or link 18 may be through other network devices such as, but not limited to an NCE/MME/SGW/UDM/PCF/AMF/SMF/LMF 14 device as in FIG. 3.
- the NN 12 may perform functionalities of an MME (Mobility Management Entity) or SGW (Serving Gateway), such as a User Plane Functionality, and/or an Access Management functionality for LTE and similar functionality for 5G or 6G.
- MME Mobility Management Entity
- SGW Serving Gateway
- the NN 13 can be for WiFi or Bluetooth or other wireless device associated with a mobility function device such as an AMF or SMF, further the NN 13 may comprise a NR/5G/6GNode B or possibly an evolved NB a base station such as a master or secondary node base station (e.g., for NR or LTE long term evolution) that communicates with devices such as the NN 12 and/or UE 10 and/or the wireless network 1.
- the NN 13 includes one or more processors DP 13 A, one or more memories MEM 13B, one or more network interfaces, and one or more transceivers TRANS 13D interconnected through one or more buses.
- these network interfaces of NN 13 can include X2 and/or Xn interfaces for use to perform the example embodiments.
- Each of the one or more transceivers TRANS 13D includes a receiver and a transmitter that can optionally be connected to one or more antennas.
- the one or more memories MEM 13B include computer program code PROG 13C.
- the one or more memories MEM 13B and the computer program code PROG 13C are configured to cause, with the one or more processors DP 13 A, the NN 13 to perform one or more of the operations as described herein.
- the NN 13 may communicate with another mobility function device and/or eNB such as the NN 12 and the UE 10 or any other device using, e.g., link 11 or link 16 or link 18 or another link.
- the link 16 or link 18 as shown in FIG. 3 can be used for communication with the NN12.
- These links maybe wired or wireless or both and may implement, e.g., an X2 or Xn interface.
- the link 11 and/or link 16 and/or link 18 may be through other network devices such as, but not limited to an NCE/MME/SGW device such as the NCE/MME/SGW/UDM/PCF/AMF/SMF/LMF 14 of FIG. 3.
- the one or more buses of the device of FIG. 3 may be address, data, or control buses, and may include any interconnection mechanism, such as a series of lines on a motherboard or integrated circuit, fiber optics or other optical communication equipment, wireless channels, and the like.
- the one or more transceivers TRANS 12D, TRANS 13D and/or TRANS 10D may be implemented as a remote radio head (RRH), with the other elements of the NN 12 being physically in a different location from the RRH, and these devices can include one or more buses that could be implemented in part as fiber optic cable to connect the other elements of the NN 12 to a RRH.
- RRH remote radio head
- FIG. 3 shows a network nodes such as NN 12 and NN 13, any of these nodes may can incorporate or be incorporated into an eNodeB or eNB or gNB such as for LTE and NR, and would still be configurable to perform example embodiments.
- cells perform functions, but it should be clear that the gNB that forms the cell and/or a user equipment and/or mobility management function device that will perform the functions. In addition, the cell makes up part of a gNB, and there can be multiple cells per gNB.
- the wireless network 1 or any network it can represent may or may not include a NCE/MME/SGW/UDM/PCF/AMF/SMF/LMF 14 that may include (NCE) network control element functionality, MME (Mobility Management Entity)/SGW (Serving Gateway) functionality, and/or serving gateway (SGW), and/or MME (Mobility Management Entity) and/or SGW (Serving Gateway) functionality, and/or user data management functionality (UDM), and/or PCF (Policy Control) functionality, and/or Access and Mobility Management Function (AMF) functionality, and/or Session Management (SMF) functionality, and/or Location Management Function (LMF), and/or Authentication Server (AUSF) functionality and which provides connectivity with a further network, such as a telephone network and/or a data communications network (e.g., the Internet), and which is configured to perform any 5G, 6G, and/or NR operations in addition to or instead of other standard operations at the time of this application.
- NCE network
- the NCE/MME/SGW/UDM/PCF/AMF/SMF/LMF 14 is configurable to perform operations in accordance with example embodiments in any of an LTE, NR, 5G, 6G, and/or any standards based communication technologies being performed or discussed at the time of this application.
- the operations in accordance with example embodiments, as performed by the NN 12 and/or NN 13, may also be performed at the NCE/MME/SGW/UDM/PCF/AMF/SMF/LMF 14.
- the NCE/MME/SGW/UDM/PCF/AMF/SMF/LMF 14 includes one or more processors DP 14A, one or more memories MEM 14B, and one or more network interfaces (N/W I/F(s)), interconnected through one or more buses coupled with the link 13 and/or link 16 and/or link 18.
- these network interfaces can include X2 and/or Xn interfaces for use to perform the example embodiments.
- the one or more memories MEM 14B include computer program code PROG 14C.
- the one or more memories MEM14B and the computer program code PROG 14C are configured to, with the one or more processors DP 14 A, cause the NCE/MME/SGW/UDM/PCF/AMF/SMF/LMF 14 to perform one or more operations which may be needed to support the operations in accordance with the example embodiments.
- the NN 12 and/or NN 13 and/or UE 10 can be configured (e.g. based on standards implementations etc.) to perform functionality of a Location Management Function (LMF).
- LMF Location Management Function
- the LMF functionality may be embodied in any of these network devices or other devices associated with these devices.
- an LMF such as the LMF of the MME/SGW/UDM/PCF/AMF/SMF/LMF 14 of FIG. 3, as at least described below, can be co-located with UE 10 such as to be separate from the NN 12 and/or NN 13 of FIG. 3 for performing operations in accordance with example embodiments as disclosed herein.
- the wireless Network 1 may implement network virtualization, which is the process of combining hardware and software network resources and network functionality into a single, software-based administrative entity, a virtual network.
- Network virtualization involves platform virtualization, often combined with resource virtualization.
- Network virtualization is categorized as either external, combining many networks, or parts of networks, into a virtual unit, or internal, providing network-like functionality to software containers on a single system. Note that the virtualized entities that result from the network virtualization are still implemented, at some level, using hardware such as processors DP10, DP12A, DP13A, and/or DP14A and memories MEM 10B, MEM 12B, MEM 13B, and/or MEM 14B, and also such virtualized entities create technical effects.
- the computer readable memories MEM 12B, MEM 13B, and MEM 14B may be of any type suitable to the local technical environment and may be implemented using any suitable data storage technology, such as semiconductor based memory devices, flash memory, magnetic memory devices and systems, optical memory devices and systems, fixed memory and removable memory.
- the computer readable memories MEM 12B, MEM 13B, and MEM 14B may be means for performing storage functions.
- the processors DP10, DP12A, DP13A, and DP14A may be of any type suitable to the local technical environment, and may include one or more of general purpose computers, special purpose computers, microprocessors, digital signal processors (DSPs) and processors based on a multi-core processor architecture, as non-limiting examples.
- the processors DP10, DP12A, DP13A, and DP14A may be means for performing functions, such as controlling the UE 10, NN 12, NN 13, and other functions as described herein.
- any of these devices can include, but are not limited to, cellular telephones such as smart phones, tablets, personal digital assistants (PDAs) having wireless communication capabilities, portable computers having wireless communication capabilities, image capture devices such as digital cameras having wireless communication capabilities, gaming devices having wireless communication capabilities, music storage and playback appliances having wireless communication capabilities, Internet appliances permitting wireless Internet access and browsing, tablets with wireless communication capabilities, as well as portable units or terminals that incorporate combinations of such functions.
- PDAs personal digital assistants
- image capture devices such as digital cameras having wireless communication capabilities
- gaming devices having wireless communication capabilities
- music storage and playback appliances having wireless communication capabilities
- Internet appliances permitting wireless Internet access and browsing, tablets with wireless communication capabilities, as well as portable units or terminals that incorporate combinations of such functions.
- any of these devices can be used with a UE vehicle, a High Altitude Platform Station, or any other such type node associated with a terrestrial network or any drone type radio or a radio in aircraft or other airborne vehicle or a vessel that travels on water such as a boat.
- IBC Intelligent Block Copy
- encoder For a current CU in IBC mode in a current picture, encoder searches for a prediction block in the current picture. The position of the prediction block is represented by a spatial displacement vector, called block vector (BV), from the current CU to the prediction block. Encoder signals decoder the BV for the current CU in IBC mode, and decoder uses the B V to find the same prediction block in the current picture
- BV block vector
- VVC and ECM maintains a separate merge candidate list and a separate HMVP table for IBC.
- the IBC HMVP table contains the BV information from the past coded IBC blocks in the current picture up to the current CU.
- the BV of a current CU in IBC mode is either coded directly or derived from the IBC merge candidates of the current CU, which may include some entries from IBC HMVP table.
- multiple HMVP tables may be constructed from the BV information from the past coded IBC CUs up to the current CU, up to the end of the above neighboring CTU, up to the above-left neighboring CTU, up to the above-right neighboring CTU in the current picture, and even up to the temporal collocated CTU in reference pictures.
- non-transitory is a limitation of the medium itself (i.e., tangible, not a signal ) as opposed to a limitation on data storage persistency (e g., RAM vs. ROM).
- a software claim can be claimed as a computer program, a data structure, and/or a computer readable medium.
- FIG. 4 shows a method in accordance with example embodiments of the invention which may be performed by an apparatus.
- FIG. 4 illustrates operations which may be performed by a device such as, but not limited to, a device such as a network node (e.g., the UE 10, the NN12 and/or NN13 as in FIG. 3).
- a device such as a network node (e.g., the UE 10, the NN12 and/or NN13 as in FIG. 3).
- a device such as a device such as a network node (e.g., the UE 10, the NN12 and/or NN13 as in FIG. 3).
- a device such as a network node (e.g., the UE 10, the NN12 and/or NN13 as in FIG. 3).
- a signal input decoder As shown in block 420 of FIG. 4, wherein the current picture data is divided into at least one coding tree unit. As shown in block 430 of FIG. 4, wherein the at
- FIG. 4 there processing a current coding unit from a current coding tree unit or another current coding tree unit above the current coding tree unit to capture at least motion information in the current picture data. Then as shown in block 450 of FIG. 4, wherein the processing is using more than one history-based motion vector prediction table constructed using at least motion information of prior coded coding units.
- processing comprises at least one of encoding or decoding the current picture data to capture the at least motion information.
- the processing comprises searching for an associated temporal prediction block from reference pictures.
- the associated temporal prediction block from reference pictures is represented by the at least motion information.
- the more than one history-based motion vector prediction table are constructed using at least motion information of prior coded coding units of the more than one history-based motion vector prediction table is from a same current coding tree unit row in the current picture.
- the more than one history-based motion vector prediction table are constructed using at least motion information of prior coded coding units is from coding tree units above the current coding tree unit row in the current picture and from temporal collocated coding tree units in the reference pictures.
- encoding is using the more than one history-based motion vector prediction table at least one of jointly or separately and wherein the more than one history-based motion vector prediction table are constructed with the motion information from past inter coded coding units up to at least one of: an end of current coding unit, an end of above coding tree unit, an end of above-left coding tree unit, an end of above-right coding tree unit, or an of a temporal collocated coding tree unit.
- the entries using at least motion information of prior coded coding units of the history-based motion vector prediction table are used as at least one of merge candidates or historybased motion vector prediction table candidates.
- a history-based motion vector prediction table of the more than one history-based motion vector prediction table is constructed with the motion information from the prior coded coding units in the current picture up to a current coding unit in the current picture.
- a history-based motion vector prediction table of the more than one history-based motion vector prediction table is constructed with motion information from the prior coded coding units in the current picture up to an end of an above neighboring coding tree unit of a current coding tree unit in the current picture.
- a history-based motion vector prediction table of the more than one history-based motion vector prediction table is constructed with motion information from the prior coded coding units in the current picture up to an end of an above-left neighboring coding tree unit of a current coding tree unit in the current picture.
- a history-based motion vector prediction table of the more than one history-based motion vector prediction table is constructed with motion information from the prior coded coding units in the current picture up to an end of an above-right neighboring coding tree unit of a current coding tree unit in the current picture.
- a history-based motion vector prediction table of the more than one history-based motion vector prediction table is constructed with motion information from the prior coded coding units in the current picture up to an end of other coding tree units on the left side of or above a current coding tree unit in the current picture.
- a history-based motion vector prediction table of the more than one history-based motion vector prediction table is constructed with the motion information from the prior coded coding units in reference pictures up to an end of a temporal collocated coding tree unit of a current coding tree unit in the reference picture.
- a history-based motion vector prediction table of the more than one history-based motion vector prediction table is constructed with the motion information from the prior coded coding units in reference pictures up to an end of other coding tree units around the temporal collocated coding tree unit of the current coding tree unit in the reference picture.
- a history-based motion vector prediction table is constructed with the motion information from prior inter coded coding units up to the current coding unit
- another history-based motion vector prediction table is constructed with motion information from the past inter coded coding units up to the end of a coding tree unit above the current coding tree unit
- another history-based motion vector prediction table is constructed with the motion information from the past inter coded coding units up to the end of coding tree unit above-left the current coding tree unit
- another history-based motion vector prediction table is considered with the motion information from the past inter coded coding units up to the end of a coding tree unit above-right the current coding tree unit
- still another history-based motion vector prediction table is constructed with the motion information from the past inter coded coding unit in reference pictures up to the end of temporal collocated coding tree unit.
- the at least one coding tree unit is coded from left to right and top to bottom.
- the at least one coding tree unit and the at least one coding tree unit within the at least one coding tree unit are coded along Zigzag path.
- a non-transitory computer-readable medium (MEM 10B and/or MEM 12B/ and/or MEM 13B as in FIG. 3) storing program code (PROG 10C and/or PROG 12C and/or PROG 13C as in FIG. 3), the program code executed by at least one processor (DP 10A and/or DP 12A and/or DP 13 A as in FIG. 3) to perform the operations as at least described in the paragraphs above.
- an apparatus comprising: means for inputting (DP 10A and/or DP 12A and/or DP 13A, PROG 10C and/or PROG 12C and/or PROG 13C, and MEM 10B and/or MEM 12B/ and/or MEM 13B as in FIG. 3) current picture data into a signal input decoder, wherein the current picture data is divided (DP 10A and/or DP 12A and/or DP 13A, PROG 10C and/or PROG 12C and/or PROG 13C, and MEM 10B and/or MEM 12B/ and/or MEM 13B as in FIG.
- At least the means for inputting, dividing, and processing comprises a non-transitory computer readable medium [MEM 10B and/or MEM 12B and/or MEM 13B as in FIG. 3] encoded with a computer program [PROG 10C and/or PROG 12C and/or PROG 13C as in FIG. 3] executable by at least one processor [DP 10A and/or DP 12A and/or DP 13A as in FIG 3],
- circuitry for performing operations in accordance with example embodiments of the invention as disclosed herein.
- This circuitry can include any type of circuitry including content coding circuitry, content decoding circuitry, processing circuitry, image generation circuitry, data analysis circuitry, etc.).
- this circuitry can include discrete circuitry, application-specific integrated circuitry (ASIC), and/or field- programmable gate array circuitry (FPGA), etc. as well as a processor specifically configured by software to perform the respective function, or dual-core processors with software and corresponding digital signal processors, etc.).
- ASIC application-specific integrated circuitry
- FPGA field- programmable gate array circuitry
- circuitry can include at least one or more or all of the following:
- any portions of hardware processor(s) with software including digital signal processor(s)), software, and memory(ies) that work together to cause an apparatus, such as a mobile phone or server, to perform various functions, such as functions or operations in accordance with example embodiments of the invention as disclosed herein);
- circuitry for performing at least novel operations in accordance with example embodiments of the invention as disclosed in this application, this 'circuitry' as may be used herein refers to at least the following:
- circuits such as a microprocessor(s) or a portion of a microprocessor s), that require software or firmware for operation, even if the software or firmware is not physically present.
- circuitry would also cover an implementation of merely a processor (or multiple processors) or portion of a processor and its (or their) accompanying software and/or firmware.
- circuitry would also cover, for example and if applicable to the particular claim element, a baseband integrated circuit or applications processor integrated circuit for a mobile phone or a similar integrated circuit in a server, a cellular network device, or other network device.
- the various embodiments may be implemented in hardware or special purpose circuits, software, logic or any combination thereof.
- aspects may be implemented in hardware, while other aspects may be implemented in firmware or software which may be executed by a controller, microprocessor or other computing device, although the invention is not limited thereto. While various aspects of the invention may be illustrated and described as block diagrams, flow charts, or using some other pictorial representation, it is well understood that these blocks, apparatus, systems, techniques or methods described herein may be implemented in, as non-limiting examples, hardware, software, firmware, special purpose circuits or logic, general purpose hardware or controller or other computing devices, or some combination thereof.
- Embodiments of the inventions may be practiced in various components such as integrated circuit modules.
- the design of integrated circuits is by and large a highly automated process.
- Complex and powerful software tools are available for converting a logic level design into a semiconductor circuit design ready to be etched and formed on a semiconductor substrate.
- the coupling or connection between the elements can be physical, logical, or a combination thereof.
- two elements may be considered to be “connected” or “coupled” together by the use of one or more wires, cables and/or printed electrical connections, as well as by the use of electromagnetic energy, such as electromagnetic energy having wavelengths in the radio frequency region, the microwave region and the optical (both visible and invisible) region, as several non-limiting and non-exhaustive examples.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
In accordance with example embodiments of the invention there is at least a method an apparatus to perform inputting current picture data into a signal input decoder, wherein the current picture data is divided into at least one coding tree unit, and wherein the at least one coding tree unit is split into at least one coding unit; and at least one of encoding or decoding to capture at least motion information of a current coding unit from a current coding tree unit row or another current coding tree unit row above the current coding tree unit row in the current picture data, wherein the processing is using more than one history-based motion vector prediction table constructed using at least motion information of prior coded coding units
Description
CODING WITH MULTIPLE HISTORY-BASED MOTION VECTOR PREDICTION TABLES
TECHNICAL FIELD
[0001] The teachings in accordance with the exemplary embodiments of this invention relate generally to multiple history-based motion vector prediction (HMVP) tables for a current coding unit (CU) in a current coding tree unit (CTU) row of a current picture. Multiple history-based motion vector prediction tables aim to capture the motion information and, more specifically, relate to multiple history-based motion vector prediction tables for a current coding unit in a current coding tree unit row of a current picture, wherein the multiple history-based motion vector prediction tables aim to capture the motion information, not only from coding tree units above the current coding tree unit row in the current picture and even from the temporal collocated coding tree units in reference pictures.
BACKGROUND:
[0002] This section is intended to provide a background or context to the invention that is recited in the claims. The description herein may include concepts that could be pursued, but are not necessarily ones that have been previously conceived or pursued. Therefore, unless otherwise indicated herein, what is described in this section is not prior art to the description and claims in this application and is not admitted to be prior art by inclusion in this section.
[0003] Certain abbreviations that may be found in the description and/or in the Figures are herewith defined as follows:
AMVP advanced motion vector prediction
CTU coding tree unit
CU coding unit
ECM enhanced compression model
HMVP history-based motion vector prediction
JVET joint video experts team
MVP motion vector prediction
VVC versatile video coding
[0004] Versatile Video Coding (VVC) is a new international video coding standard and Enhanced Compression Model (ECM) built on top of VVC is potentially a future video coding standard that is currently under the development sponsored by JVET. Both VVC and ECM are block-based video coding standards, where an input picture is divided into CTUs, and each CTU may be further split into CUs. A CU (or block) is coded in either inter coding mode or intra coding mode. If the block is in inter coding mode, encoder searches for a temporal prediction block in reference picture(s), and signals decoder how to find the same prediction block in reference picture(s) at the decoder end. If the block is in intra coding mode, encoder constructs a spatial prediction block from the current picture, and signal decoder how to form the same spatial prediction block from the current picture at the decoder end.
[0005] Example embodiments of this invention proposes improved operations for at least such Enhanced Compression Model (ECM).
SUMMARY:
[0006] This section contains examples of possible implementations and is not meant to be limiting.
[0007] In another example aspect of the invention, there is an apparatus, such as a user equipment side apparatus, comprising: at least one processor; and at least one non-transitory memory storing instructions, that when executed by the at least one processor, cause the apparatus at least to: input current picture data into a signal input decoder, wherein the current picture data is divided into at least one coding tree unit, and wherein the at least one coding tree unit is split into at least one coding unit; and process a current coding unit from a current coding tree unit or another current coding tree unit above the current coding tree unit to capture at least motion information in the
current picture data, wherein the processing is using more than one history-based motion vector prediction table constructed using at least motion information of prior coded coding units.
[0008] In still another example aspect of the invention, there is a method, comprising: inputting current picture data into a signal input decoder, wherein the current picture data is divided into at least one coding tree unit, and wherein the at least one coding tree unit is split into at least one coding unit; and processing a current coding unit from a current coding tree unit or another current coding tree unit above the current coding tree unit to capture at least motion information in the current picture data, wherein the processing is using more than one history-based motion vector prediction table constructed using at least motion information of prior coded coding units.
[0009] A further example embodiment is an apparatus and a method comprising the apparatus and the method of the previous paragraphs, wherein the signal input decoder is using an enhanced compression model, wherein the at least one coding unit of the picture data is encoded or decoded into at least one of an inter coding mode, wherein based on at least one coding unit in the inter coding mode, the processing comprises searching for an associated temporal prediction block from reference pictures, wherein for current inter-coding in the current picture data, the associated temporal prediction block from reference pictures is represented by the at least motion information, wherein the more than one history-based motion vector prediction table are constructed using at least motion information of prior coded coding units of the more than one history-based motion vector prediction table is from a same current coding tree unit row in the current picture, wherein the more than one history-based motion vector prediction table are constructed using at least motion information of prior coded coding units is from the current coding tree unit row above the current coding tree unit row in the current picture and from temporal collocated coding tree units in the reference pictures, wherein there is updating, after a non-subblock inter coding unit is coded, the history-based motion vector prediction table with associated motion information, wherein the update is following a first-in-first-out rule, wherein before updating the associated motion information into the history-based motion vector prediction table, at least one of identical motion information, or an oldest entry in the history-based motion vector prediction table is removed from the history-based motion
vector prediction table and all the history-based motion vector prediction table entries afterwards are moved forward, wherein the history-based motion vector prediction table is reset at a beginning of each coding tree unit row, wherein the encoding is using the more than one history -based motion vector prediction table at least one of jointly or separately and wherein the more than one history-based motion vector prediction table are constructed with motion information from past inter coded coding units up to at least one of: an end of current coding unit, an end of above coding tree unit, an end of above-left coding tree unit, an end of above-right coding tree unit, or an of a temporal collocated coding tree unit, wherein at least one of the at least one coding unit, the entries using at least motion information of prior coded coding units of the historybased motion vector prediction table are used as at least one of merge candidates or history-based motion vector prediction table candidates, wherein a history-based motion vector prediction table of the more than one history-based motion vector prediction table is constructed with the motion information from the prior coded coding units in the current picture up to a current coding unit in the current picture, wherein a second history -based motion vector prediction table of the more than one history -based motion vector prediction table is constructed with motion information from the prior coded coding units in the current picture up to an end of an above neighboring coding tree unit of a current coding tree unit in the current picture, wherein a third historybased motion vector prediction table of the more than one history-based motion vector prediction table is constructed with motion information from the prior coded coding units in the current picture up to an end of an above-left neighboring coding tree unit of a current coding tree unit in the current picture, wherein a fourth history-based motion vector prediction table of the more than one history-based motion vector prediction table is constructed with motion information from the prior coded coding units in the current picture up to an end of an above-right neighboring coding tree unit of a current coding tree unit in the current picture, wherein a fifth history-based motion vector prediction table of the more than one history-based motion vector prediction table is constructed with motion information from the prior coded coding units in the current picture up to an end of other coding tree units on the left side of or above a current coding tree unit in the current picture, wherein a sixth history-based motion vector prediction table of the more than one history-based motion vector prediction table is constructed with the motion information from the prior coded coding units in
reference pictures up to an end of a temporal collocated coding tree unit of a current coding tree unit in the reference picture, wherein a seventh history -based motion vector prediction table of the more than one history-based motion vector prediction table is constructed with the motion information from the prior coded coding units in reference pictures up to an end of other coding tree units around the temporal collocated coding tree unit of the current coding tree unit in the reference picture, wherein for a current coding unit in the current picture data, wherein a history -based motion vector prediction table is constructed with the motion information from prior inter coded coding units up to the current coding unit, a second history-based motion vector prediction table is constructed with motion information from the past inter coded coding units up to the end of a coding tree unit above the current CTU, a third history-based motion vector prediction table is constructed with the motion information from the past inter coded coding units up to the end of coding tree unit above-left the current CTU, a fourth history-based motion vector prediction table is considered with the motion information from the past inter coded coding units up to the end of a coding tree unit above-right the current CTU, and a fifth history-based motion vector prediction table is constructed with the motion information from the past inter coded coding unit in reference pictures up to the end of temporal collocated coding tree unit, wherein an order of the at least one of encoding or decoding follows a path specified in the versatile video coding and enhanced compression model, wherein the order follows the at least one coding tree unit is coded from left to right and top to bottom, wherein the at least one coding tree unit and the at least one coding tree unit within the at least one coding tree unit are coded along Zigzag path, wherein construction of a first history-based motion vector prediction table is similar or same as one in a current versatile video coding and enhanced compression mode design, wherein at a current coding unit, entries in a history-based motion vector prediction table tables are available, wherein after the current coding unit is coded, only the first history-based motion vector prediction table is updated if the current coding unit is in inter coding mode, and other history-based motion vector prediction table will not be updated, and/or wherein the current coding unit and another coding unit tree are different.
[0010] A non-transitory computer-readable medium storing program code, the program code executed by at least one processor to perform at least the method as described in the paragraphs above.
[0011] In yet another example aspect of the invention, there is an apparatus comprising: means for inputting current picture data into a signal input decoder, wherein the current picture data is divided into at least one coding tree unit, and wherein the at least one coding tree unit is split into at least one coding unit; and means for processing a current coding unit from a current coding tree unit or another current coding tree unit above the current coding tree unit to capture at least motion information in the current picture data, wherein the processing is using more than one history-based motion vector prediction table constructed using at least motion information of prior coded coding units.
[0012] In accordance with the example embodiments as described in the paragraph above, at least the means for inputting, encoding, and decoding comprises a network interface, and computer program code stored on a computer-readable medium and executed by at least one processor.
[0013] A communication system comprising a user equipment side apparatus and/or a network side apparatus performing operations as described above.
BRIEF DESCRIPTION OF THE DRAWINGS:
[0014] The above and other aspects, features, and benefits of various embodiments of the present disclosure will become more fully apparent from the following detailed description with reference to the accompanying drawings, in which like reference signs are used to designate like or equivalent elements. The drawings are illustrated for facilitating better understanding of the embodiments of the disclosure and are not necessarily drawn to scale, in which:
[0015] FIG. 1. shows an HMVP table is reset at each new CTU row;
[0016] FIG. 2 shows coding tree units (CTUs) coded from left to right and top to bottom, and within a CTU CUs are coded along Zigzag path;
[0017] FIG. 3 shows a high level block diagram of various devices used in carrying out various aspects of the invention; and
[0018] FIG. 4 shows a method in accordance with example embodiments of the invention which may be performed by an apparatus.
DETAILED DESCRIPTION:
[0019] In example embodiments of this invention there is proposed at least a method and apparatus for determining and using multiple history-based motion vector prediction tables for a current coding unit in a current coding tree unit or current coding tree row of a current picture, wherein the multiple history-based motion vector prediction tables aim to capture the motion information, not only from the same current coding tree unit or current coding tree row in the current picture, but also from the coding tree unit rows above the current coding tree unit or current coding tree row in the current picture and even from the temporal collocated coding tree units in reference pictures.
[0020] As similarly stated above, Versatile Video Coding (VVC) is a new international video coding standard and Enhanced Compression Model (ECM) built on top of VVC is potentially a future video coding standard that is currently under the development sponsored by JVET. Both VVC and ECM are block-based video coding standards, where an input picture is divided into CTUs, and each CTU may be further split into CUs. A CU (or block) is coded in either inter coding mode or intra coding mode. If the block is in inter coding mode, encoder searches for a temporal prediction block in reference picture(s), and signals decoder how to find the same prediction block in reference picture(s) at the decoder end. If the block is in intra coding mode, encoder constructs a spatial prediction block from the current picture, and signal decoder how to form the same spatial prediction block from the current picture at the decoder end.
[0021] For a current inter-CU in a current picture, the associated temporal prediction block from reference pictures is represented by motion information (e.g. motion vectors and reference pictures) with respect to the current CU in the current picture. Encoder signals the motion information to decoder and decoder uses the motion information to form the temporal prediction block from reference pictures. The motion information is either coded directly or derived from the merge candidates defined around the current CU.
[0022] For a current CU in a current picture, VVC and ECM create a merge candidate list. The list may include the motion information of the spatial and temporal neighboring blocks of the current CU, HMVP (History-Based MVP) entries, non- adjacent blocks at specific positions, pairwise MVP, and zero MVs. Among the merge candidates, HMVP aims to allow more diversity in MVP candidate list by including past coded motion information. Unlike spatial neighbor candidates, a HMVP candidate may correspond to a past inter coded CU that is not adjacent to a current CU.
[0023] In VVC and ECM, HMVP maintains a table of size up to 5 during the encoding/decoding process. For a current CU, the entries of HMVP table are the motion information (MI) of the past inter coded CUs, and may be used as merge candidates and/or AMVP candidates. After a non-subblock inter CU is coded, the HMVP table is updated, with the associated motion information (MI) being added to the HMVP table following the first-in-first-out (FIFO) rule. Before adding new motion information into the HMVP table, identical entry (motion information), if existing, or the oldest entry in the HMVP table is removed from the HMVP table and all the HMVP entries afterwards are moved forward. The table is reset (emptied) at the beginning of each CTU (Coding Tree Unit) row.
[0024] FIG. 1. shows an HMVP table is reset at each new CTU row, and for the current CU (X), the HMVP table is constructed with the motion information from the past inter coded CUs up to the current CU (X).
[0025] For example, in FIG. 1, at the beginning of the second CTU row, HMVP table is reset. For a current CU (X), the HMVP table is constructed with the motion information from the past inter coded CUs up to the current CU (X).
[0026] In VVC and ECM, for a current CU in a current CTU row of a current picture, HMVP table may capture the motion information of the past inter coded CUs in the current CTU row, but not the motion information from the CTU rows above the current CTU row in the current picture.
[0027] This invention proposes multiple HMVP tables for a current CU in a current CTU row of a current picture. Multiple HMVP tables aim to capture the motion information, not only from the same current CTU row in the current picture, but also from the CTU rows above the current CTU row in the current picture and even from the temporal collocated CTUs in reference pictures.
[0028] In this invention, for a current CU in a current CTU row of a current picture, multiple HMVP tables are constructed.
[0029] In one embodiment, a first HMVP table is constructed with the motion information from the past inter coded CUs in the current picture up to the current CU in the current picture.
[0030] In a second embodiment, a second HMVP table is constructed with the motion information from the past inter coded CUs in the current picture up to the end of the above neighboring CTU (A) of the current CTU in the current picture.
[0031] In a third embodiment, a third HMVP table is constructed with the motion information from the past inter coded CUs in the current picture up to the end of the above-left neighboring CTU (AL) of the current CTU in the current picture.
[0032] In a fourth embodiment, a fourth HMVP table is constructed with the motion information from the past inter coded CUs in the current picture up to the end of the above-right neighboring CTU (AR) of the current CTU in the current picture.
[0033] In a fifth embodiment, a fifth HMVP table is constructed with the motion information from the past inter coded CUs in current picture up to the end of other CTU(s) on the left side of or above the current CTU in the current picture.
[0034] In a sixth embodiment, a sixth HMVP table is constructed with the motion information from the past inter coded CUs in reference pictures up to the end of the temporal collocated CTU (T) of the current CTU in the reference picture.
[0035] In a seventh embodiment, a seventh HMVP table is constructed with the motion information from the past inter coded CUs in reference picture up to the end of other CTU(s) around the temporal collocated CTU of the current CTU in the reference picture.
[0036] Since, for a current CU, HMVP tables are constructed with the motion information from the past inter coded CUs, which are available at both encoder and decoder ends, encoder and decoder can have the same multiple HMVP tables for the current CU.
[0037] FIG. 2 shows an example, where for a current CU (X) in a current picture, the first HMVP table is constructed with the motion information from the past inter coded CUs up to the current CU (X), the second HMVP table is constructed with motion information from the past inter coded CUs up to the end of CTU (A), the third HMVP table is constructed with the motion information from the past inter coded CUs up to the end of CTU (AL), the fourth HMVP table is considered with the motion information from the past inter coded CUs up to the end of CTU (AR), and the fifth HMVP table is constructed with the motion information from the past inter coded CUs in reference pictures up to the end of temporal collocated CTU (T).
[0038] Note that the coding order still follows the path specified in VVC and ECM. That is, CTUs are coded from left to right and top to bottom. Within a CTU, CUs are coded along Zigzag path, as shown in FIG. 2.
[0039] In FIG. 2, for the current CU (X), five HMVP tables are constructed with the motion information from the past inter coded CUs up to the current CU (X), up to the end of CTU (A), up to CTU (AL), up to CTU (AR) in the current picture, and up to CTU (T) in reference picture.
[0040] The multiple HMVP tables may be combined and used together. Since there are likely more unique motion information in the multiple HMVP tables than in a
single HMVP table, merge candidate list and/or AMP candidate list may need to be enlarged accordingly.
[0041] Alternatively, only one of the multiple HMVP tables is selected and used for a current CU. Encoder then needs to signal decoder which HMVP table is used for the current CU.
[0042] IBC (Intra Block Copy) mode was introduced in VVC. For a current CU in IBC mode in a current picture, encoder searches for a prediction block in the current picture. The position of the prediction block is represented by a spatial displacement vector, called block vector (BV), from the current CU to the prediction block. Encoder signals decoder the BV for the current CU in IBC mode, and decoder uses the BV to find the same prediction block in the current picture.
[0043] Before describing the example embodiments as disclosed herein in detail, reference is made to FIG. 3 for illustrating a simplified block diagram of various electronic devices that are suitable for use in practicing the example embodiments of this invention.
[0044] FIG. 3 shows a block diagram of one possible and non-limiting exemplary system in which the example embodiments may be practiced. In FIG. 3, a user equipment (UE) 10 is in wireless communication with a wireless network 1 or network, 1 as in FIG. 3. The wireless network 1 or network 1 as in FIG. 3 can comprise a communication network such as a mobile network e.g., the mobile network 1 or first mobile network as disclosed herein. Any reference herein to a wireless network 1 as in FIG. 3 can be seen as a reference to any wireless network as disclosed herein. Further, the wireless network 1 as in FIG. 3 can also comprises hardwired features as may be required by a communication network. A UE is a wireless, typically mobile device that can access a wireless network. The UE, for example, may be a mobile phone (or called a "cellular" phone) and/or a computer with a mobile terminal function. For example, the UE or mobile terminal may also be a portable, pocket, handheld, computer- embedded or vehicle-mounted mobile device and performs a language signaling and/or data exchange with the RAN.
[0045] The UE 10 includes one or more processors DP 10 A, one or more memories MEM 10B, and one or more transceivers TRANS 10D interconnected through one or more buses. Each of the one or more transceivers TRANS 10D includes a receiver and a transmitter. The one or more buses may be address, data, or control buses, and may include any interconnection mechanism, such as a series of lines on a motherboard or integrated circuit, fiber optics or other optical communication equipment, and the like. The one or more transceivers TRANS 10D which can be optionally connected to one or more antennas for communication to NN 12 and NN 13, respectively. The one or more memories MEM 10B include computer program code PROG 10C. The UE 10 communicates with NN 12 and/or NN 13 via a wireless link 11 or 16.
[0046] The NN 12 (NR/5G/6G Node B, an evolved NB, or LTE device) is a network node such as a master or secondary node base station (e.g., for NR or LTE long term evolution) that communicates with devices such as NN 13 and UE 10 of FIG. 3. The NN 12 provides access to wireless devices such as the UE 10 to the wireless network 1. The NN 12 includes one or more processors DP 12 A, one or more memories MEM 12B, and one or more transceivers TRANS 12D interconnected through one or more buses. In accordance with the example embodiments these TRANS 12D can include X2 and/or Xn interfaces for use to perform the example embodiments. Each of the one or more transceivers TRANS 12D includes a receiver and a transmitter. The one or more transceivers TRANS 12D can be optionally connected to one or more antennas for communication over at least link 11 with the UE 10. The one or more memories MEM 12B and the computer program code PROG 12C are configured to cause, with the one or more processors DP 12 A, the NN 12 to perform one or more of the operations as described herein. The NN 12 may communicate with another gNB or eNB, or a device such as the NN 13 such as via link 16 or link 18. Further, the link 11, link 16 and/or any other link may be wired or wireless or both and may implement, e.g., an X2 or Xn interface. Further the link 11 and/or link 16 and/or link 18 may be through other network devices such as, but not limited to an NCE/MME/SGW/UDM/PCF/AMF/SMF/LMF 14 device as in FIG. 3. The NN 12 may perform functionalities of an MME (Mobility Management Entity) or SGW (Serving
Gateway), such as a User Plane Functionality, and/or an Access Management functionality for LTE and similar functionality for 5G or 6G.
[0047] The NN 13 can be for WiFi or Bluetooth or other wireless device associated with a mobility function device such as an AMF or SMF, further the NN 13 may comprise a NR/5G/6GNode B or possibly an evolved NB a base station such as a master or secondary node base station (e.g., for NR or LTE long term evolution) that communicates with devices such as the NN 12 and/or UE 10 and/or the wireless network 1. The NN 13 includes one or more processors DP 13 A, one or more memories MEM 13B, one or more network interfaces, and one or more transceivers TRANS 13D interconnected through one or more buses. In accordance with the example embodiments these network interfaces of NN 13 can include X2 and/or Xn interfaces for use to perform the example embodiments. Each of the one or more transceivers TRANS 13D includes a receiver and a transmitter that can optionally be connected to one or more antennas. The one or more memories MEM 13B include computer program code PROG 13C. For instance, the one or more memories MEM 13B and the computer program code PROG 13C are configured to cause, with the one or more processors DP 13 A, the NN 13 to perform one or more of the operations as described herein. The NN 13 may communicate with another mobility function device and/or eNB such as the NN 12 and the UE 10 or any other device using, e.g., link 11 or link 16 or link 18 or another link. The link 16 or link 18 as shown in FIG. 3 can be used for communication with the NN12. These links maybe wired or wireless or both and may implement, e.g., an X2 or Xn interface. Further, as stated above the link 11 and/or link 16 and/or link 18 may be through other network devices such as, but not limited to an NCE/MME/SGW device such as the NCE/MME/SGW/UDM/PCF/AMF/SMF/LMF 14 of FIG. 3.
[0048] The one or more buses of the device of FIG. 3 may be address, data, or control buses, and may include any interconnection mechanism, such as a series of lines on a motherboard or integrated circuit, fiber optics or other optical communication equipment, wireless channels, and the like. For example, the one or more transceivers TRANS 12D, TRANS 13D and/or TRANS 10D may be implemented as a remote radio head (RRH), with the other elements of the NN 12 being physically in a different
location from the RRH, and these devices can include one or more buses that could be implemented in part as fiber optic cable to connect the other elements of the NN 12 to a RRH.
[0049] It is noted that although FIG. 3 shows a network nodes such as NN 12 and NN 13, any of these nodes may can incorporate or be incorporated into an eNodeB or eNB or gNB such as for LTE and NR, and would still be configurable to perform example embodiments.
[0050] Also it is noted that description herein indicates that “cells” perform functions, but it should be clear that the gNB that forms the cell and/or a user equipment and/or mobility management function device that will perform the functions. In addition, the cell makes up part of a gNB, and there can be multiple cells per gNB.
[0051] The wireless network 1 or any network it can represent may or may not include a NCE/MME/SGW/UDM/PCF/AMF/SMF/LMF 14 that may include (NCE) network control element functionality, MME (Mobility Management Entity)/SGW (Serving Gateway) functionality, and/or serving gateway (SGW), and/or MME (Mobility Management Entity) and/or SGW (Serving Gateway) functionality, and/or user data management functionality (UDM), and/or PCF (Policy Control) functionality, and/or Access and Mobility Management Function (AMF) functionality, and/or Session Management (SMF) functionality, and/or Location Management Function (LMF), and/or Authentication Server (AUSF) functionality and which provides connectivity with a further network, such as a telephone network and/or a data communications network (e.g., the Internet), and which is configured to perform any 5G, 6G, and/or NR operations in addition to or instead of other standard operations at the time of this application. The NCE/MME/SGW/UDM/PCF/AMF/SMF/LMF 14 is configurable to perform operations in accordance with example embodiments in any of an LTE, NR, 5G, 6G, and/or any standards based communication technologies being performed or discussed at the time of this application. In addition, it is noted that the operations in accordance with example embodiments, as performed by the NN 12 and/or NN 13, may also be performed at the NCE/MME/SGW/UDM/PCF/AMF/SMF/LMF 14.
[0052] The NCE/MME/SGW/UDM/PCF/AMF/SMF/LMF 14 includes one or more processors DP 14A, one or more memories MEM 14B, and one or more network interfaces (N/W I/F(s)), interconnected through one or more buses coupled with the link 13 and/or link 16 and/or link 18. In accordance with the example embodiments these network interfaces can include X2 and/or Xn interfaces for use to perform the example embodiments. The one or more memories MEM 14B include computer program code PROG 14C. The one or more memories MEM14B and the computer program code PROG 14C are configured to, with the one or more processors DP 14 A, cause the NCE/MME/SGW/UDM/PCF/AMF/SMF/LMF 14 to perform one or more operations which may be needed to support the operations in accordance with the example embodiments.
[0053] It is noted that that the NN 12 and/or NN 13 and/or UE 10 can be configured (e.g. based on standards implementations etc.) to perform functionality of a Location Management Function (LMF). The LMF functionality may be embodied in any of these network devices or other devices associated with these devices. In addition, an LMF such as the LMF of the MME/SGW/UDM/PCF/AMF/SMF/LMF 14 of FIG. 3, as at least described below, can be co-located with UE 10 such as to be separate from the NN 12 and/or NN 13 of FIG. 3 for performing operations in accordance with example embodiments as disclosed herein.
[0054] The wireless Network 1 may implement network virtualization, which is the process of combining hardware and software network resources and network functionality into a single, software-based administrative entity, a virtual network. Network virtualization involves platform virtualization, often combined with resource virtualization. Network virtualization is categorized as either external, combining many networks, or parts of networks, into a virtual unit, or internal, providing network-like functionality to software containers on a single system. Note that the virtualized entities that result from the network virtualization are still implemented, at some level, using hardware such as processors DP10, DP12A, DP13A, and/or DP14A and memories MEM 10B, MEM 12B, MEM 13B, and/or MEM 14B, and also such virtualized entities create technical effects.
[0055] The computer readable memories MEM 12B, MEM 13B, and MEM 14B may be of any type suitable to the local technical environment and may be implemented using any suitable data storage technology, such as semiconductor based memory devices, flash memory, magnetic memory devices and systems, optical memory devices and systems, fixed memory and removable memory. The computer readable memories MEM 12B, MEM 13B, and MEM 14B may be means for performing storage functions. The processors DP10, DP12A, DP13A, and DP14A may be of any type suitable to the local technical environment, and may include one or more of general purpose computers, special purpose computers, microprocessors, digital signal processors (DSPs) and processors based on a multi-core processor architecture, as non-limiting examples. The processors DP10, DP12A, DP13A, and DP14A may be means for performing functions, such as controlling the UE 10, NN 12, NN 13, and other functions as described herein.
[0056] In general, various embodiments of any of these devices can include, but are not limited to, cellular telephones such as smart phones, tablets, personal digital assistants (PDAs) having wireless communication capabilities, portable computers having wireless communication capabilities, image capture devices such as digital cameras having wireless communication capabilities, gaming devices having wireless communication capabilities, music storage and playback appliances having wireless communication capabilities, Internet appliances permitting wireless Internet access and browsing, tablets with wireless communication capabilities, as well as portable units or terminals that incorporate combinations of such functions.
[0057] Further, the various embodiments of any of these devices can be used with a UE vehicle, a High Altitude Platform Station, or any other such type node associated with a terrestrial network or any drone type radio or a radio in aircraft or other airborne vehicle or a vessel that travels on water such as a boat.
[0058] As similarly stated above, IBC (Intra Block Copy) mode was introduced in VVC. For a current CU in IBC mode in a current picture, encoder searches for a prediction block in the current picture. The position of the prediction block is represented by a spatial displacement vector, called block vector (BV), from the current
CU to the prediction block. Encoder signals decoder the BV for the current CU in IBC mode, and decoder uses the B V to find the same prediction block in the current picture
[0059] VVC and ECM maintains a separate merge candidate list and a separate HMVP table for IBC. For a current CU in IBC mode, the IBC HMVP table contains the BV information from the past coded IBC blocks in the current picture up to the current CU. In VVC and ECM, the BV of a current CU in IBC mode is either coded directly or derived from the IBC merge candidates of the current CU, which may include some entries from IBC HMVP table.
[0060] The same or similar embodiments (or ideas) of multiple HMVP tables described for inter CUs above can also apply to CUs in IBC mode.
[0061] For a current CU in IBC mode in a current CTU row of a current picture, multiple HMVP tables may be constructed from the BV information from the past coded IBC CUs up to the current CU, up to the end of the above neighboring CTU, up to the above-left neighboring CTU, up to the above-right neighboring CTU in the current picture, and even up to the temporal collocated CTU in reference pictures.
[0062] It is noted that computer-implemented inventions (CII) may be claimed as apparatus claims, method claims, and software claims. In some jurisdictions, such as in Europe, signal claims can also be made. In the U.S., a software claim must be claimed as a non-transitory computer program product or a non-transitory computer readable medium.
[0063] The term “non-transitory,” as used herein, is a limitation of the medium itself (i.e., tangible, not a signal ) as opposed to a limitation on data storage persistency (e g., RAM vs. ROM).
[0064] In other jurisdictions, a software claim can be claimed as a computer program, a data structure, and/or a computer readable medium.
[0065] FIG. 4 shows a method in accordance with example embodiments of the invention which may be performed by an apparatus.
[0066] FIG. 4 illustrates operations which may be performed by a device such as, but not limited to, a device such as a network node (e.g., the UE 10, the NN12 and/or NN13 as in FIG. 3). As shown in block 410 of FIG. 4 there is inputting current picture data into a signal input decoder. As shown in block 420 of FIG. 4, wherein the current picture data is divided into at least one coding tree unit. As shown in block 430 of FIG. 4, wherein the at least one coding tree unit is split into at least one coding unit. As shown in block 440 of FIG. 4 there processing a current coding unit from a current coding tree unit or another current coding tree unit above the current coding tree unit to capture at least motion information in the current picture data. Then as shown in block 450 of FIG. 4, wherein the processing is using more than one history-based motion vector prediction table constructed using at least motion information of prior coded coding units.
[0067] In accordance with the example embodiments as described in the paragraph above, wherein the signal input decoder is using an enhanced compression model.
[0068] In accordance with the example embodiments as described in the paragraphs above, wherein the processing comprises at least one of encoding or decoding the current picture data to capture the at least motion information.
[0069] In accordance with the example embodiments as described in the paragraphs above, wherein the at least one coding unit of the picture data is encoded or decoded into at least one of an inter coding mode, wherein based on at least one coding unit in the inter coding mode, the processing comprises searching for an associated temporal prediction block from reference pictures.
[0070] In accordance with the example embodiments as described in the paragraphs above, wherein for current inter-coding in the current picture data, the associated temporal prediction block from reference pictures is represented by the at least motion information.
[0071] In accordance with the example embodiments as described in the paragraphs above, wherein the more than one history-based motion vector prediction table are constructed using at least motion information of prior coded coding units of the more than one history-based motion vector prediction table is from a same current coding tree unit row in the current picture.
[0072] In accordance with the example embodiments as described in the paragraphs above, wherein the more than one history-based motion vector prediction table are constructed using at least motion information of prior coded coding units is from coding tree units above the current coding tree unit row in the current picture and from temporal collocated coding tree units in the reference pictures.
[0073] In accordance with the example embodiments as described in the paragraphs above, wherein there is updating, after a non-subblock inter coding unit is coded, the history-based motion vector prediction table with associated motion information.
[0074] In accordance with the example embodiments as described in the paragraphs above, wherein the update is following a first-in-first-out rule.
[0075] In accordance with the example embodiments as described in the paragraphs above, wherein before updating the associated motion information into the history-based motion vector prediction table, at least one of identical motion information, or an oldest entry in the history-based motion vector prediction table is removed from the history-based motion vector prediction table and all the history -based motion vector prediction table entries afterwards are moved forward.
[0076] In accordance with the example embodiments as described in the paragraphs above, wherein the history-based motion vector prediction table is reset at a beginning of each coding tree unit row.
[0077] In accordance with the example embodiments as described in the paragraphs above, wherein encoding is using the more than one history-based motion
vector prediction table at least one of jointly or separately and wherein the more than one history-based motion vector prediction table are constructed with the motion information from past inter coded coding units up to at least one of: an end of current coding unit, an end of above coding tree unit, an end of above-left coding tree unit, an end of above-right coding tree unit, or an of a temporal collocated coding tree unit.
[0078] In accordance with the example embodiments as described in the paragraphs above, wherein for at least one of the at least one coding unit, the entries using at least motion information of prior coded coding units of the history-based motion vector prediction table are used as at least one of merge candidates or historybased motion vector prediction table candidates.
[0079] In accordance with the example embodiments as described in the paragraphs above, wherein a history-based motion vector prediction table of the more than one history-based motion vector prediction table is constructed with the motion information from the prior coded coding units in the current picture up to a current coding unit in the current picture.
[0080] In accordance with the example embodiments as described in the paragraphs above, wherein a history-based motion vector prediction table of the more than one history-based motion vector prediction table is constructed with motion information from the prior coded coding units in the current picture up to an end of an above neighboring coding tree unit of a current coding tree unit in the current picture.
[0081] In accordance with the example embodiments as described in the paragraphs above, wherein a history-based motion vector prediction table of the more than one history-based motion vector prediction table is constructed with motion information from the prior coded coding units in the current picture up to an end of an above-left neighboring coding tree unit of a current coding tree unit in the current picture.
[0082] In accordance with the example embodiments as described in the paragraphs above, wherein a history-based motion vector prediction table of the more
than one history-based motion vector prediction table is constructed with motion information from the prior coded coding units in the current picture up to an end of an above-right neighboring coding tree unit of a current coding tree unit in the current picture.
[0083] In accordance with the example embodiments as described in the paragraphs above, wherein a history-based motion vector prediction table of the more than one history-based motion vector prediction table is constructed with motion information from the prior coded coding units in the current picture up to an end of other coding tree units on the left side of or above a current coding tree unit in the current picture.
[0084] In accordance with the example embodiments as described in the paragraphs above, wherein a history-based motion vector prediction table of the more than one history-based motion vector prediction table is constructed with the motion information from the prior coded coding units in reference pictures up to an end of a temporal collocated coding tree unit of a current coding tree unit in the reference picture.
[0085] In accordance with the example embodiments as described in the paragraphs above, wherein a history-based motion vector prediction table of the more than one history-based motion vector prediction table is constructed with the motion information from the prior coded coding units in reference pictures up to an end of other coding tree units around the temporal collocated coding tree unit of the current coding tree unit in the reference picture.
[0086] In accordance with the example embodiments as described in the paragraphs above, wherein for a current coding unit in the current picture data, wherein a history-based motion vector prediction table is constructed with the motion information from prior inter coded coding units up to the current coding unit, another history-based motion vector prediction table is constructed with motion information from the past inter coded coding units up to the end of a coding tree unit above the current coding tree unit, another history-based motion vector prediction table is
constructed with the motion information from the past inter coded coding units up to the end of coding tree unit above-left the current coding tree unit, another history-based motion vector prediction table is considered with the motion information from the past inter coded coding units up to the end of a coding tree unit above-right the current coding tree unit, and still another history-based motion vector prediction table is constructed with the motion information from the past inter coded coding unit in reference pictures up to the end of temporal collocated coding tree unit.
[0087] In accordance with the example embodiments as described in the paragraphs above, wherein an order of the at least one of encoding or decoding follows a path specified in the versatile video coding and enhanced compression model.
[0088] In accordance with the example embodiments as described in the paragraphs above, wherein the order follows the at least one coding tree unit is coded from left to right and top to bottom.
[0089] In accordance with the example embodiments as described in the paragraphs above, wherein the at least one coding tree unit and the at least one coding tree unit within the at least one coding tree unit are coded along Zigzag path.
[0090] In accordance with the example embodiments as described in the paragraphs above, wherein construction of a first history-based motion vector prediction table is similar or same as one in a current versatile video coding and enhanced compression mode design.
[0091] In accordance with the example embodiments as described in the paragraphs above, wherein at a current coding unit, entries in a history-based motion vector prediction table tables are available.
[0092] In accordance with the example embodiments as described in the paragraphs above, wherein after the current coding unit is coded, only the first historybased motion vector prediction table is updated if the current coding unit is in inter
coding mode, and other history-based motion vector prediction table will not be updated.
[0093] In accordance with the example embodiments as described in the paragraphs above, wherein the current coding unit and another coding unit tree are different.
[0094] A non-transitory computer-readable medium (MEM 10B and/or MEM 12B/ and/or MEM 13B as in FIG. 3) storing program code (PROG 10C and/or PROG 12C and/or PROG 13C as in FIG. 3), the program code executed by at least one processor (DP 10A and/or DP 12A and/or DP 13 A as in FIG. 3) to perform the operations as at least described in the paragraphs above.
[0095] In accordance with an example embodiment of the invention as described above there is an apparatus comprising: means for inputting (DP 10A and/or DP 12A and/or DP 13A, PROG 10C and/or PROG 12C and/or PROG 13C, and MEM 10B and/or MEM 12B/ and/or MEM 13B as in FIG. 3) current picture data into a signal input decoder, wherein the current picture data is divided (DP 10A and/or DP 12A and/or DP 13A, PROG 10C and/or PROG 12C and/or PROG 13C, and MEM 10B and/or MEM 12B/ and/or MEM 13B as in FIG. 3) into at least one coding tree unit, and wherein the at least one coding tree unit is split into at least one coding unit; and means for processing (DP 10A and/or DP 12A and/or DP 13 A, PROG 10C and/or PROG 12C and/or PROG 13C, and MEM 10B and/or MEM 12B/ and/or MEM 13B as in FIG. 3) a current coding unit from a current coding tree unit or another current coding tree unit above the current coding tree unit to capture at least motion information in the current picture data, wherein the processing is using more than one history-based motion vector prediction table constructed using at least motion information of prior coded coding units.
[0096] In accordance with the example embodiments as described in the paragraph above, at least the means for inputting, dividing, and processing comprises a non-transitory computer readable medium [MEM 10B and/or MEM 12B and/or MEM 13B as in FIG. 3] encoded with a computer program [PROG 10C and/or PROG 12C
and/or PROG 13C as in FIG. 3] executable by at least one processor [DP 10A and/or DP 12A and/or DP 13A as in FIG 3],
[0097] Further, in accordance with example embodiments of the invention there is circuitry for performing operations in accordance with example embodiments of the invention as disclosed herein. This circuitry can include any type of circuitry including content coding circuitry, content decoding circuitry, processing circuitry, image generation circuitry, data analysis circuitry, etc.). Further, this circuitry can include discrete circuitry, application-specific integrated circuitry (ASIC), and/or field- programmable gate array circuitry (FPGA), etc. as well as a processor specifically configured by software to perform the respective function, or dual-core processors with software and corresponding digital signal processors, etc.). Additionally, there are provided necessary inputs to and outputs from the circuitry, the function performed by the circuitry and the interconnection (perhaps via the inputs and outputs) of the circuitry with other components that may include other circuitry in order to perform example embodiments of the invention as described herein.
[0098] In accordance with example embodiments of the invention as disclosed in this application this application, the “circuitry” provided can include at least one or more or all of the following:
(a) hardware-only circuit implementations (such as implementations in only analog and/or digital circuitry);
(b) combinations of hardware circuits and software, such as (as applicable):
(i) a combination of analog and/or digital hardware circuit(s) with software/firmware; and
(ii) any portions of hardware processor(s) with software (including digital signal processor(s)), software, and memory(ies) that work together to cause an apparatus, such as a mobile phone or server, to perform various functions, such as functions or
operations in accordance with example embodiments of the invention as disclosed herein); and
(c) hardware circuit(s) and or processor(s), such as a microprocessor(s) or a portion of a microprocessor s), that requires software (e.g., firmware) for operation, but the software may not be present when it is not needed for operation.”
[0099] In accordance with example embodiments of the invention, there is adequate circuitry for performing at least novel operations in accordance with example embodiments of the invention as disclosed in this application, this 'circuitry' as may be used herein refers to at least the following:
(a) hardware-only circuit implementations (such as implementations in only analog and/or digital circuitry); and
(b) to combinations of circuits and software (and/or firmware), such as (as applicable): (i) to a combination of processor(s) or (ii) to portions of processor(s)/software (including digital signal processor(s)), software, and memory(ies) that work together to cause an apparatus, such as a mobile phone or server, to perform various functions); and
(c) to circuits, such as a microprocessor(s) or a portion of a microprocessor s), that require software or firmware for operation, even if the software or firmware is not physically present.
[00100] This definition of 'circuitry' applies to all uses of this term in this application, including in any claims. As a further example, as used in this application, the term "circuitry" would also cover an implementation of merely a processor (or multiple processors) or portion of a processor and its (or their) accompanying software and/or firmware. The term "circuitry" would also cover, for example and if applicable to the particular claim element, a baseband integrated circuit or applications processor integrated circuit for a mobile phone or a similar integrated circuit in a server, a cellular network device, or other network device.
[00101] In general, the various embodiments may be implemented in hardware or special purpose circuits, software, logic or any combination thereof. For example, some aspects may be implemented in hardware, while other aspects may be implemented in firmware or software which may be executed by a controller, microprocessor or other computing device, although the invention is not limited thereto. While various aspects of the invention may be illustrated and described as block diagrams, flow charts, or using some other pictorial representation, it is well understood that these blocks, apparatus, systems, techniques or methods described herein may be implemented in, as non-limiting examples, hardware, software, firmware, special purpose circuits or logic, general purpose hardware or controller or other computing devices, or some combination thereof.
[00102] Embodiments of the inventions may be practiced in various components such as integrated circuit modules. The design of integrated circuits is by and large a highly automated process. Complex and powerful software tools are available for converting a logic level design into a semiconductor circuit design ready to be etched and formed on a semiconductor substrate.
[00103] The word "exemplary" is used herein to mean "serving as an example, instance, or illustration." Any embodiment described herein as "exemplary" is not necessarily to be construed as preferred or advantageous over other embodiments. All of the embodiments described in this Detailed Description are exemplary embodiments provided to enable persons skilled in the art to make or use the invention and not to limit the scope of the invention which is defined by the claims.
[00104] The foregoing description has provided by way of exemplary and nonlimiting examples a full and informative description of the best method and apparatus presently contemplated by the inventors for carrying out the invention. However, various modifications and adaptations may become apparent to those skilled in the relevant arts in view of the foregoing description, when read in conjunction with the accompanying drawings and the appended claims. However, all such and similar modifications of the teachings of example embodiments of this invention will still fall within the scope of this invention.
[00105] It should be noted that the terms "connected," "coupled," or any variant thereof, mean any connection or coupling, either direct or indirect, between two or more elements, and may encompass the presence of one or more intermediate elements between two elements that are "connected" or "coupled" together. The coupling or connection between the elements can be physical, logical, or a combination thereof. As employed herein two elements may be considered to be "connected" or "coupled" together by the use of one or more wires, cables and/or printed electrical connections, as well as by the use of electromagnetic energy, such as electromagnetic energy having wavelengths in the radio frequency region, the microwave region and the optical (both visible and invisible) region, as several non-limiting and non-exhaustive examples.
[00106] Furthermore, some of the features of the preferred embodiments of this invention could be used to advantage without the corresponding use of other features. As such, the foregoing description should be considered as merely illustrative of the principles of the invention, and not in limitation thereof.
Claims
1. An apparatus comprising: at least one processor; and at least one non-transitory memory storing instructions, that when executed by the at least one processor, cause the apparatus at least to: input current picture data into a signal input decoder, wherein the current picture data is divided into at least one coding tree unit, and wherein the at least one coding tree unit is split into at least one coding unit; and process a current coding unit from a current coding tree unit row or another current coding tree unit row above the current coding tree unit row to capture at least motion information in the current picture data, wherein the processing is using more than one history-based motion vector prediction table constructed using at least motion information of prior coded coding units.
2. The apparatus of claim 1, wherein the processing comprises at least one of encoding or decoding the current picture data to capture the at least motion information.
3. The apparatus of claim 1, wherein the signal input decoder is using an enhanced compression model.
4. The apparatus of claim 1, wherein the at least one coding unit of the picture data is encoded or decoded into at least one of an inter coding mode, wherein based on at least one coding unit in the inter coding mode, the processing comprises searching for an associated temporal prediction block from reference pictures.
5. The apparatus of claim 4, wherein for current inter-coding in the current picture data, the associated temporal prediction block from reference pictures is represented by the at least motion information.
6. The apparatus of claim 4, wherein entries in the more than one history-based motion vector prediction table are constructed using at least motion information of prior coded coding units from a same current coding tree unit row in the current picture.
7. The apparatus of claim 4, wherein entries in the more than one history-based motion vector prediction table are constructed using at least motion information of prior coded coding units from coding tree units above the current coding tree unit row in the current picture and from temporal collocated coding tree units in the reference pictures.
8. The apparatus of claim 6, wherein the at least one non-transitory memory is storing instructions, that when executed by the at least one processor, cause the apparatus at least to: update, after a non-subblock inter coding unit is coded, the history-based motion vector prediction table with associated motion information, wherein the update is following a first-in-first-out rule.
9. The apparatus of claim 8, wherein before updating the associated motion information into the history-based motion vector prediction table, at least one of identical motion information, or an oldest entry in the history-based motion vector prediction table is removed from the history-based motion vector prediction table and all the history-based motion vector prediction table entries afterwards are moved forward.
10. The apparatus of claim 8, wherein the history -based motion vector prediction table is reset at a beginning of each coding tree unit row.
11. The apparatus of claim 1, wherein the encoding is using the more than one history-based motion vector prediction table at least one of jointly or separately and wherein the more than one history-based motion vector prediction table are constructed with motion information from past inter coded coding units up to at least one of: an end of current coding unit, an end of above coding tree unit, an end of above-left coding tree unit, an end of above-right coding tree unit, or an end of a temporal collocated coding tree unit.
12. The apparatus of claim 1, wherein for at least one of the at least one coding unit, the entries using at least motion information of prior coded coding units in the history-based motion vector prediction table are used as at least one of merge candidates.
13. The apparatus of claim 1, wherein a history -based motion vector prediction table of the more than one history-based motion vector prediction table is constructed with the motion information from the prior coded coding units in the current picture up to a current coding unit in the current picture.
14. The apparatus of claim 1, wherein a history-based motion vector prediction table of the more than one history-based motion vector prediction table is constructed with motion information from the prior coded coding units in the current picture up to an end of an above neighboring coding tree unit of a current coding tree unit in the current picture.
15. The apparatus of claim 1, wherein a history -based motion vector prediction table of the more than one history-based motion vector prediction table is constructed with motion information from the prior coded coding units in the current picture up to an end of an above-left neighboring coding tree unit of a current coding tree unit in the current picture.
16. The apparatus of claim 1, wherein a history -based motion vector prediction table of the more than one history-based motion vector prediction table is constructed with motion information from the prior coded coding units in the current picture up to an end of an above-right neighboring coding tree unit of a current coding tree unit in the current picture.
17. The apparatus of claim 1, wherein a history -based motion vector prediction table of the more than one history-based motion vector prediction table is constructed with motion information from the prior coded coding units in the current picture up to an end of other coding tree units on the left side of or above a current coding tree unit in the current picture.
18. The apparatus of claim 1, wherein a history-based motion vector prediction table of the more than one history-based motion vector prediction table is constructed with the motion information from the prior coded coding units in reference pictures up to an end of a temporal collocated coding tree unit of a current coding tree unit in the reference picture.
19. The apparatus of claim 1, wherein a history -based motion vector prediction table of the more than one history-based motion vector prediction table is constructed with the motion information from the prior coded coding units in reference pictures up to an end of other coding tree units around the temporal collocated coding tree unit of the current coding tree unit in the reference picture.
20. The apparatus according to any one of claims 12-19, wherein for a current coding unit in the current picture data, a history -based motion vector prediction table is constructed with the motion information from prior inter coded coding units up to the current coding unit, a second history-based motion vector prediction table is constructed with motion information from the past inter coded coding units up to the end of a coding tree unit above the current coding tree unit, a third history-based motion vector prediction table is constructed with the motion information from the past inter coded coding units up to the end of coding tree unit above-left the current coding tree unit, a fourth history-based motion vector prediction
table is considered with the motion information from the past inter coded coding units up to the end of a coding tree unit above-right the current coding tree unit, and a fifth history-based motion vector prediction table is constructed with the motion information from the past inter coded coding unit in reference pictures up to the end of temporal collocated coding tree unit.
21. The apparatus of claim 1, wherein an order of the at least one of encoding or decoding follows a path specified in the versatile video coding and enhanced compression model.
22. The apparatus of claim 21, wherein the order follows the at least one coding tree unit is coded from left to right and top to bottom.
23. The apparatus of claim 21, wherein the at least one coding tree unit within the at least one coding tree unit and are coded along Zigzag path.
24. The apparatus of claim 1, wherein construction of a first history -based motion vector prediction table is similar or same as one in a current versatile video coding and enhanced compression mode design.
25. The apparatus of claim 24, wherein at a current coding unit, entries in a history-based motion vector prediction table tables are available.
26. The apparatus of claim 25, wherein after the current coding unit is coded, only the first history-based motion vector prediction table is updated if the current coding unit is in inter coding mode, and any other history -based motion vector prediction tables will not be updated.
27. A method, comprising: inputting current picture data into a signal input decoder, wherein the current picture data is divided into at least one coding tree unit, and
wherein the at least one coding tree unit is split into at least one coding unit; and processing a current coding unit from a current coding tree unit or another current coding tree unit above the current coding tree unit to capture at least motion information in the current picture data, wherein the processing is using more than one history-based motion vector prediction table constructed using at least motion information of prior coded coding units.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US202463632118P | 2024-04-10 | 2024-04-10 | |
| US63/632,118 | 2024-04-10 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2025214712A1 true WO2025214712A1 (en) | 2025-10-16 |
Family
ID=95064220
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/EP2025/057074 Pending WO2025214712A1 (en) | 2024-04-10 | 2025-03-14 | Coding with multiple history-based motion vector prediction tables |
Country Status (1)
| Country | Link |
|---|---|
| WO (1) | WO2025214712A1 (en) |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20200404342A1 (en) * | 2018-08-10 | 2020-12-24 | Huawei Technologies Co., Ltd. | Video processing method, video processing apparatus, encoder, decoder, medium and computer program |
| US20220232238A1 (en) * | 2018-07-06 | 2022-07-21 | Hfi Innovation Inc. | Inherited motion information for decoding a current coding unit in a video coding system |
| WO2024012045A1 (en) * | 2022-07-14 | 2024-01-18 | Mediatek Inc. | Methods and apparatus for video coding using ctu-based history-based motion vector prediction tables |
-
2025
- 2025-03-14 WO PCT/EP2025/057074 patent/WO2025214712A1/en active Pending
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20220232238A1 (en) * | 2018-07-06 | 2022-07-21 | Hfi Innovation Inc. | Inherited motion information for decoding a current coding unit in a video coding system |
| US20200404342A1 (en) * | 2018-08-10 | 2020-12-24 | Huawei Technologies Co., Ltd. | Video processing method, video processing apparatus, encoder, decoder, medium and computer program |
| WO2024012045A1 (en) * | 2022-07-14 | 2024-01-18 | Mediatek Inc. | Methods and apparatus for video coding using ctu-based history-based motion vector prediction tables |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP6874947B2 (en) | Motion vector prediction method and device | |
| US11882300B2 (en) | Low complexity affine merge mode for versatile video coding | |
| US12341989B2 (en) | Picture prediction method and picture prediction apparatus | |
| JP7536973B2 (en) | Motion Vector Prediction | |
| CN115988206B (en) | Image processing method, processing apparatus, and storage medium | |
| US12143569B2 (en) | Inter prediction method and apparatus | |
| CN115955565B (en) | Processing method, processing apparatus, and storage medium | |
| WO2025214712A1 (en) | Coding with multiple history-based motion vector prediction tables | |
| WO2025011822A1 (en) | Decoder-side intra mode derivation merge improvements | |
| AU2024246689A1 (en) | Context adapaptive binary arithmetic coding initialization for gradual decoder refresh pictures | |
| CN116939205A (en) | Image processing method, processing apparatus, and storage medium | |
| WO2025008112A1 (en) | Decoder-side intra mode derivation merge | |
| EP4468778A1 (en) | Multi user sim measurement requirements | |
| US12342232B2 (en) | Method to detect and prioritize closed access group mobile IAB cells | |
| WO2024199841A1 (en) | High granularity decoder-side cross-component loop filter | |
| US20240251428A1 (en) | Nr sidelink resource selection based on overheard resource recommendations | |
| US20250379986A1 (en) | Template-based intra mode derivation merge mode improvements | |
| WO2024213967A1 (en) | Dynamic probability confidence indication for top-k user equipment sided model beam prediction | |
| WO2024208539A1 (en) | Reference sample selection in block vector guided cross-component prediction | |
| WO2025131454A1 (en) | Reference pixels selection for dimd extensions | |
| WO2025209728A1 (en) | A method for location based conditional ho optimization for non-terrestrial networks | |
| EP4652730A1 (en) | Flexible gradual decoding refresh |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 25712903 Country of ref document: EP Kind code of ref document: A1 |