WO2025149461A1 - Method and apparatus for encoding/decoding with geometric partitioning mode - Google Patents

Method and apparatus for encoding/decoding with geometric partitioning mode

Info

Publication number
WO2025149461A1
WO2025149461A1 PCT/EP2025/050209 EP2025050209W WO2025149461A1 WO 2025149461 A1 WO2025149461 A1 WO 2025149461A1 EP 2025050209 W EP2025050209 W EP 2025050209W WO 2025149461 A1 WO2025149461 A1 WO 2025149461A1
Authority
WO
WIPO (PCT)
Prior art keywords
gpm
mode
partition
intra
candidates
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
Application number
PCT/EP2025/050209
Other languages
French (fr)
Inventor
Ya CHEN
Karam NASER
Fabrice Le Leannec
Kevin REUZE
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
InterDigital CE Patent Holdings SAS
Original Assignee
InterDigital CE Patent Holdings SAS
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by InterDigital CE Patent Holdings SAS filed Critical InterDigital CE Patent Holdings SAS
Publication of WO2025149461A1 publication Critical patent/WO2025149461A1/en
Anticipated expiration legal-status Critical
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods 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/17Methods 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/176Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Definitions

  • FIG.6 illustrates the position of five candidates derived from the neighboring blocks according to an embodiment.
  • FIG. 7 illustrates Template Matching (TM) based reordering for GPM.
  • FIG.9 illustrates Template Matching (TM) based reordering for Spatial Geometric Partitioning Mode (SGPM) according to an embodiment.
  • FIG. 11 illustrates a generic encoding or decoding method using unified GPM according to an embodiment.
  • FIG. 15 illustrates an example of a syntax design of IBC-GPM according to an embodiment.
  • the system 100 includes at least one processor 110 configured to execute instructions loaded therein for implementing, for example, the various aspects described in this application.
  • Processor 110 may include embedded memory, input output interface, and various other circuitries as known in the art.
  • the system 100 includes at least one memory 120 (e.g., a volatile memory device, and/or a non-volatile memory device).
  • System 100 includes a storage device 140, which may include non-volatile memory and/or volatile memory, including, but not limited to, EEPROM, ROM, PROM, RAM, DRAM, SRAM, flash, magnetic disk drive, and/or optical disk drive.
  • the storage device 140 may include an internal storage device, an attached storage device, and/or a network accessible storage device, as non-limiting examples.
  • System 100 includes an encoder/decoder module 130 configured, for example, to process data to provide an encoded video or decoded video, and the encoder/decoder module 130 may include its own processor and memory.
  • the encoder/decoder module 130 represents module(s) that may be included in a device to perform the encoding and/or decoding functions. As is known, a device may include one or both of the encoding and decoding modules. Additionally, encoder/decoder module 130 may be implemented as a separate element of system 100 or may be incorporated within processor 110 as a combination of hardware and software as known to those skilled in the art.
  • Program code to be loaded onto processor 110 or encoder/decoder 130 to perform the various aspects described in this application may be stored in storage device 140 and subsequently loaded onto memory 120 for execution by processor 110.
  • one or more of processor 110, memory 120, storage device 140, and encoder/decoder module 130 may store one or more of various items during the performance of the processes described in this application. Such stored items may include, but are not limited to, the input video, the decoded video or portions of the decoded video, the bitstream, matrices, variables, and intermediate or final results from the processing of equations, formulas, operations, and operational logic.
  • memory inside of the processor 110 and/or the encoder/decoder module 130 is used to store instructions and to provide working memory for processing that is needed during encoding or decoding.
  • a memory external to the processing device (for example, the processing device may be either the processor 110 or the encoder/decoder module 130) is used for one or more of these functions.
  • the external memory may be the memory 120 and/or the storage device 140, for example, a dynamic volatile memory and/or a non-volatile flash memory.
  • an external non-volatile flash memory is used to store the operating system of a television.
  • a fast external dynamic volatile memory such as a RAM is used as working memory for video coding and decoding operations, such as for MPEG-2, HEVC, or VVC.
  • the input devices of block 105 have associated respective input processing elements as known in the art.
  • the RF portion may be associated with elements suitable for (i) selecting a desired frequency (also referred to as selecting a signal, or band-limiting a signal to a band of frequencies), (ii) down converting the selected signal, (iii) band- limiting again to a narrower band of frequencies to select (for example) a signal frequency band which may be referred to as a channel in certain embodiments, (iv) demodulating the down converted and band-limited signal, (v) performing error correction, and (vi) demultiplexing to select the desired stream of data packets.
  • the RF portion of various embodiments includes one or more elements to perform these functions, for example, frequency selectors, signal selectors, band-limiters, channel selectors, filters, downconverters, demodulators, error correctors, and demultiplexers.
  • the RF portion may include a tuner that performs various of these functions, including, for example, down converting the received signal to a lower frequency (for example, an intermediate frequency or a near-baseband frequency) or to baseband.
  • the RF portion and its associated input processing element receives an RF signal transmitted over a wired (for example, cable) medium, and performs frequency selection by filtering, down converting, and filtering again to a desired frequency band.
  • the USB and/or HDMI terminals may include respective interface processors for connecting system 100 to other electronic devices across USB and/or HDMI connections.
  • various aspects of input processing for example, Reed- Solomon error correction, may be implemented, for example, within a separate input processing IC or within processor 110 as necessary.
  • aspects of USB or HDMI interface processing may be implemented within separate interface ICs or within processor 110 as necessary.
  • the demodulated, error corrected, and demultiplexed stream is provided to various processing elements, including, for example, processor 110, and encoder/decoder 130 operating in combination with the memory and storage elements to process the datastream as necessary for presentation on an output device.
  • connection arrangement 115 for example, an internal bus as known in the art, including the I2C bus, wiring, and printed circuit boards.
  • the system 100 includes communication interface 150 that enables communication with other devices via communication channel 190.
  • the communication interface 150 may include, but is not limited to, a transceiver configured to transmit and to receive data over communication channel 190.
  • the communication interface 150 may include, but is not limited to, a modem or network card and the communication channel 190 may be implemented, for example, within a wired and/or a wireless medium.
  • Data is streamed to the system 100, in various embodiments, using a Wi-Fi network such as IEEE 802. 11.
  • the Wi-Fi signal of these embodiments is received over the communications channel 190 and the communications interface 150 which are adapted for WiFi communications.
  • the communications channel 190 of these embodiments is typically connected to an access point or router that provides access to outside networks including the Internet for allowing streaming applications and other over-the-top communications.
  • Other embodiments provide streamed data to the system 100 using a set- top box that delivers the data over the HDMI connection of the input block 105.
  • Still other embodiments provide streamed data to the system 100 using the RF connection of the input block 105.
  • the system 100 may provide an output signal to various output devices, including a display 165, speakers 175, and other peripheral devices 185.
  • the other peripheral devices 185 include, in various examples of embodiments, one or more of a stand-alone DVR, a disk player, a stereo system, a lighting system, and other devices that provide a function based on the output of the system 100.
  • control signals are communicated between the system 100 and the display 165, speakers 175, or other peripheral devices 185 using signaling such as AV. Link, CEC, or other communications protocols that enable device-to-device control with or without user intervention.
  • the output devices may be communicatively coupled to system 100 via dedicated connections through respective interfaces 160, 170, and 180.
  • the output devices may be connected to system 100 using the communications channel 190 via the communications interface 150.
  • the display 165 and speakers 175 may be integrated in a single unit with the other components of system 100 in an electronic device, for example, a television.
  • the display interface 160 includes a display driver, for example, a timing controller (T Con) chip.
  • the display 165 and speaker 175 may alternatively be separate from one or more of the other components, for example, if the RF portion of input 105 is part of a separate set-top box.
  • the output signal may be provided via dedicated output connections, including, for example, HDMI ports, USB ports, or COMP outputs.
  • FIG. 2 illustrates an example video encoder 200, such as a VVC (Versatile Video Coding) encoder.
  • FIG. 2 may also illustrate an encoder in which improvements are made to the VVC standard or an encoder employing technologies similar to VVC.
  • VVC Very Video Coding
  • the terms “reconstructed” and “decoded” may be used interchangeably, the terms “encoded” or “coded” may be used interchangeably, and the terms “image,” “picture” and “frame” may be used interchangeably.
  • the term “reconstructed” is used at the encoder side while “decoded” is used at the decoder side.
  • the video sequence may go through pre-encoding processing (201), for example, applying a color transform to the input color picture (e.g., conversion from RGB 4:4:4 to YCbCr 4:2:0), or performing a remapping of the input picture components in order to get a signal distribution more resilient to compression.
  • Metadata can be associated with the pre-processing, and attached to the bitstream.
  • the prediction residuals are then transformed (225) and quantized (230).
  • the quantized transform coefficients, as well as motion vectors and other syntax elements, are entropy coded (245) to output a bitstream.
  • the encoder can skip the transform and apply quantization directly to the non-transformed residual signal.
  • the encoder can bypass both transform and quantization, i.e., the residual is coded directly without the application of the transform or quantization processes.
  • the encoder decodes an encoded block to provide a reference for further predictions.
  • the quantized transform coefficients are de-quantized (240) and inverse transformed (250) to decode prediction residuals.
  • In-loop filters (265) are applied to the reconstructed picture to perform, for example, deblocking/SAO (Sample Adaptive Offset) filtering to reduce encoding artifacts.
  • the filtered image is stored at a reference picture buffer (280).
  • the input of the decoder includes a video bitstream, which can be generated by video encoder 200.
  • the bitstream is first entropy decoded (330) to obtain transform coefficients, motion vectors, and other coded information.
  • the picture partition information indicates how the picture is partitioned.
  • the decoder may therefore divide (335) the picture according to the decoded picture partitioning information.
  • the transform coefficients are de-quantized (340) and inverse transformed (350) to decode the prediction residuals. Combining (355) the decoded prediction residuals and the predicted block, an image block is reconstructed.
  • the predicted block can be obtained (370) from intra prediction (360) or motion-compensated prediction (i.e., inter prediction) (375).
  • prediction enhancement (390) is applied to the prediction block.
  • In-loop filters (365) are applied to the reconstructed image.
  • the filtered image is stored at a reference picture buffer (380).
  • the decoded picture can further go through post-decoding processing (385), for example, an inverse color transform (e.g., conversion from YCbCr 4:2:0 to RGB 4:4:4) or an inverse remapping performing the inverse of the remapping process performed in the preencoding processing (201).
  • post-decoding processing can use metadata derived in the preencoding processing and signaled in the bitstream.
  • Recent additions to video compression technology include various industry standards, versions of the reference software and/or documentations such as Enhanced Compression Model (ECM) being developed by the JVET (Joint Video Exploration Team) group.
  • ECM Enhanced Compression Model
  • JVET Joint Video Exploration Team
  • the aim is to make further improvements to the existing VVC (Versatile Video Coding) standard.
  • VVC and ECM a geometric partitioning mode (GPM) has been proposed with 64 partitions in total for inter prediction.
  • GPM-Intra GPM with inter and intra predictions
  • GPM-Intra proposes to combine an inter prediction with an intra prediction.
  • the final prediction samples are generated by weighting inter predicted samples and intra predicted samples for each GPM-separated region.
  • the inter predicted samples are derived by the same scheme as the GPM in the current VVC and ECM whereas the intra predicted samples are derived by an intra prediction mode (IPM) candidate list and an index signaled from the encoder.
  • IPM intra prediction mode
  • the template size is fixed to 1.
  • an intra prediction mode (IPM) list is derived for each part.
  • the IPM list size is pre-defined as 3.
  • the available IPM candidates may comprise:
  • the IPM candidate can be inserted in the IPM list if it does not already exist in this list (e.g., if it is not already present in the list). Once the IPM list reaches its size limit (e.g., 3), the generation of the list is terminated.
  • its size limit e.g., 3
  • FIG.10 illustrates a modified Template Matching (TM) based reordering for Spatial Geometric Partitioning Mode (SGPM) according to a variant embodiment.
  • TM Template Matching
  • SGPM Spatial Geometric Partitioning Mode
  • it proposes to further include block-vector based prediction obtained from Intra Template Matching (IntraTMP) and/or Intra Block Copy (IBC) modes of the neighboring blocks in the candidate list of SGPM.
  • Intra Template Matching Intra Template Matching
  • IBC Intra Block Copy
  • the new SGPM candidate could be the combination of one partition mode and two regular or BV-based intra predictors.
  • Identifiers intra_pred_0 and intra_pred_l correspond to be regular prediction or BV-based prediction obtained from neighboring IntraTMP and/or IBC information. That is, one or two available BV-based intra predictor(s) from IntraTMP and/or IBC are added to SGPM intra candidate list after the 3 regular intra predictors from the IPM list.
  • the maximum number of additional BV-based predictors is set to 2.
  • Table 2 New SGPM combinations of geometric partitioning mode with intra prediction mode (IPM) candidates and additional block-vector (BV) based candidates (here 2 additional BV-based candidates) in bold/underlined.
  • IPM intra prediction mode
  • BV block-vector
  • an Intra Block Copy with geometric partitioning mode (IBC-GPM) is defined that is a coding tool which divides a CU into two sub-partitions geometrically.
  • the prediction signals of the two sub-partitions are generated using IBC and intra prediction.
  • IBC-GPM can be applied to regular IBC merge mode or IBC TM merge mode.
  • An IPM candidate list is constructed using the same method as GPM-Intra for intra prediction, and the IPM candidate list size is pre-defined as 3. There are 48 geometry partitioning modes in total, which are divided into two geometry partitioning mode sets as follows:
  • an IBC-GPM geometry partitioning mode set flag is signaled to indicate whether the first or the second geometry partitioning mode set is selected, followed by the geometry partitioning mode index.
  • An IBC-GPM intra flag is signaled to indicate whether intra prediction is used for the first sub-partition.
  • intra prediction mode index is signaled.
  • a merge index is signaled.
  • bi-predictive IBC-GPM two flags are signaled to indicate the prediction modes of two partitions, the first flag indicates whether the first partition is intra predicted, and if not then the second flag is signaled to indicate whether intra prediction is used for the second partition. This method is applied to screen content coding SCC only.
  • the present document proposes improving and harmonizing the geometric partitioning mode (GPM) and related GPM modes that includes GPM with inter and intra prediction (GPM- Intra), spatial geometric partitioning mode (SGPM), and intra block copy with geometry partitioning mode (IBC-GPM).
  • GPM- Intra GPM with inter and intra prediction
  • SGPM spatial geometric partitioning mode
  • IBC-GPM intra block copy with geometry partitioning mode
  • a method is disclosed that reorders the intra prediction mode (IPM) candidates used for GPM- Intra, SGPM, and/or IBC-GPM based on template cost.
  • a method is disclosed that includes non-local neighboring, history-based, and/or temporal candidates into the IPM list.
  • a method is disclosed that includes block-vector (BV) based candidates for GPM-Intra and IBC-GPM.
  • BV block-vector
  • a method is disclosed that builds candidate list with each entry containing both one partition mode and two prediction modes for IBC-GPM.
  • a method is disclosed that divide geometry partitioning modes into several sets for GPM, GPM-Intra, and/or SGPM.
  • FIG. 11 illustrates a generic encoding or decoding method 110 using unified GPM according to an embodiment.
  • the method of video encoding/decoding comprises in a preliminary step not shown on FIG.11 obtained a coding block to encode or to decode.
  • a geometric partitioning mode GPM is used to encode or decode the coding block.
  • the GPM may be one among a plurality of geometric partitioning modes including GPM-Intra, Spatial Geometric Partitioning Mode SGPM, Intra Block Copy geometric partitioning mode IBC-GPM.
  • the GPM may even be regular GPM based on 2 inter predictions.
  • a first GPM partition and a second GPM partition are determined responsive to the partitioning mode that is an indication of the position of the edge between the partitions.
  • the first GPM partition has an Intra or an IBC predication mode.
  • it may be the second GPM partition that has an Intra or an IBC predication mode.
  • any combination of Intra or IBC prediction modes may be considered for the first and second partition.
  • a list of prediction mode candidates is determined.
  • a prediction mode candidate may comprise one of a prediction mode for the first GPM partition (such as Intra prediction mode or IBC prediction mode), or an IBC prediction mode associated with a block-vector for the first GPM partition, or a combination of a partitioning mode of the coding block into the first GPM partition and second GPM partition, a prediction mode for the first GPM partition and a prediction mode for the second GPM partition.
  • a prediction mode candidate is not limited to an intra prediction mode itself.
  • the list of prediction mode candidates for the first GPM partition is ordered by template cost.
  • the prediction mode comprises a parallel mode
  • a mode based on decoder-side intra mode derivation DIMD a mode based on template-based intra mode derivation TIMD
  • a mode derived from neighboring blocks a planar mode
  • a template-based cost (SAD between prediction and value of the template) is determined for each of the considered prediction mode and the considered prediction mode are ordered according to the increasing order of their template cost.
  • the number of prediction modes in the list may be limited, for instance to 3 prediction modes, only a given number of modes are selected for the list of prediction mode candidates.
  • a template cost is also computed for each partitioning mode of the coding block.
  • a shape of a template used for template cost is based on a partitioning mode.
  • an intra prediction mode is determined for the first GPM partition (the first GPM partition having an Intra or an IBC predication mode) from list of prediction mode candidates.
  • a prediction mode is also determined for the second GPM partition and both prediction of the first and second GPM partitions are obtained.
  • the coding block is encoded/decoded based on the GPM prediction.
  • the encoding/decoding method may comprise additional steps for signaling of GPM prediction.
  • IPM intra prediction mode
  • SGPM SGPM
  • IBC-GPM intra prediction mode
  • an intra prediction mode (IPM) list with 3 entries is constructed for generating the intra prediction used for one sub-partition of GPM-Intra, SGPM and IBC-GPM.
  • IPM intra prediction mode
  • These first 3 available and non-redundant IPM candidates in a pre-defined order could be registered in the IPM list.
  • an index is signaled into the bitstream to indicate which IPM candidate is applied.
  • these first 3 available IPM candidates in a pre-defined order might not always be the optimal for each block, or even each split mode.
  • the first embodiment in this invention proposes to reorder the available IPM candidates based on template costs in ascending order and mark the best N IPM candidates in the IPM list used for GPM-Intra, SGPM and IBC-GPM.
  • a reorder could be added prior to the construction of IPM list for GPM- Intra.
  • All the Parallel mode, derived mode from DIMD, derived mode(s) from TIMD, derived modes from the neighboring blocks and the Planar mode could computer the respective template costs and be reordered in ascending order based on the template costs.
  • the template used for reordering may be constructed from row(s) above and/or column(s) left to the current block, and the shape of the template may be determined by the split angle.
  • FIG. 12 illustrates an adaptation of the shape of the template in Template Matching (TM) based reordering of IPM according to an embodiment.
  • TM Template Matching
  • the template size is fixed to 1
  • only one column left to the current block is used for constructing the template if the split mode is horizontal (as T_L shown in FIG. 12).
  • T_A shown in FIG. 12
  • both one row above and one column left to the current block could be used for the template (as T_LA shown in FIG. 12).
  • IPM intra prediction mode
  • the design philosophy of IPM list could be limited since the possible correlations between non-adjacent similar blocks and the current block have been largely ignored.
  • the second embodiment in this invention proposes to consider non-local/non-adjacent neighboring candidates, history-based candidates, and/or temporal candidates.
  • FIG. 13 illustrates positions of adjacent and non-adjacent neighboring candidates for IPM according to an embodiment.
  • N e.g., 18
  • Positions and inclusion order of the spatial non-adjacent neighboring candidates (6-23) are shown in FIG. 13.
  • the distances between non-adjacent spatial candidates and current coding block are based on the width and height of current coding block.
  • these non- adjacent neighboring candidates could also be restricted by the angle of the split mode as shown in Table 1.
  • a history-based IPM table with a pre-defined size N may be maintained to include the recently used intra prediction modes during the encoding/decoding process.
  • the table is reset (emptied) when a new CTU row is encountered.
  • the selected IPM may be added to the last entry of the table as a new history-based IPM candidate.
  • a constrained first- in-first-out (FIFO) rule is utilized wherein redundancy check is firstly applied to find whether there is an identical IPM candidate in the table. If found, the identical IPM candidate is removed from the table and all the history -based IPM candidates afterwards are moved forward, and the identical IPM candidate is inserted to the last entry of the table.
  • An inclusion order of the temporal IPM candidates is as follows: C01 C010. If COi is not available (i.e., the position of COi is outside of picture/slice boundary, or outside of the current CTU row) and Cli is available, Cli will be used to replace COi, where 1 ⁇ i ⁇ 10. Otherwise (both COi and Cli are not available), the next inclusion position is checked.
  • Block-Vector (BY) based candidates for GPM-Intra and IBC-GPM include Block-Vector (BY) based candidates for GPM-Intra and IBC-GPM.
  • a recent approach proposes further including block-vector (BV) based prediction obtained from IntraTMP and/or IBC modes of the neighboring blocks in the candidate list of SGPM.
  • BV block-vector
  • the third embodiment in this invention proposes to include BV-based intra predictors for GPM-Intra.
  • GPM-Intra mode could further test BV candidates obtained from neighboring or coded blocks. That is, the intra predicted samples in GPM-Intra may be derived by a BV candidate list and the corresponding index signaled from the encoder.
  • a GPM-BV flag could be signaled to indicate whether BV-based intra prediction is used for the sub-partition.
  • a BV candidate index is further signaled.
  • the BV candidate list could be appended to the IPM list to extend the length of the total intra candidate list, where only a single index is signaled.
  • IBC-GPM candidate list set flag (candidate Jisl_selJ tg) is to indicate whether the first or the second IBC-GPM candidate list is selected.
  • modules for example, for example, the intra or inter prediction modules (260, 270, 275, 360, 375), of a video encoder 200 and decoder 300 as shown in FIG. 2 and FIG. 3.
  • present aspects are not limited to ECM and VVC, and can be applied, for example, to other standards and recommendations, and extensions of any such standards and recommendations. Unless indicated otherwise, or technically precluded, the aspects described in this application can be used individually or in combination.
  • Decoding may encompass all or part of the processes performed, for example, on a received encoded sequence in order to produce a final output suitable for display.
  • processes include one or more of the processes typically performed by a decoder, for example, entropy decoding, inverse quantization, inverse transformation, and differential decoding.
  • a decoder for example, entropy decoding, inverse quantization, inverse transformation, and differential decoding.
  • references to “one embodiment” or “an embodiment” or “one implementation” or “an implementation”, as well as other variations thereof, means that a particular feature, structure, characteristic, and so forth described in connection with the embodiment is included in at least one embodiment.
  • the appearances of the phrase “in one embodiment” or “in an embodiment” or “in one implementation” or “in an implementation”, as well any other variations, appearing in various places throughout this application are not necessarily all referring to the same embodiment.
  • this application may refer to “determining” various pieces of information. Determining the information may include one or more of, for example, estimating the information, calculating the information, predicting the information, or retrieving the information from memory.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

In various implementations, method and devices for encoding or decoding with the geometric partitioning mode GPM and related GPM modes that includes GPM with inter and intra prediction GPM-Intra, spatial geometric partitioning mode SGPM, and intra block copy with geometry partitioning mode IBC-GPM. According to a first aspect the intra prediction mode IPM candidates used for GPM-Intra, SGPM, and/or IBC-GPM are ordered based on template cost. According to a second aspect, non-local neighboring, history-based, and/or temporal candidates are added for GPM. According to a third aspect, block- vector (BV) based candidates are added for GPM-Intra and IBC-GPM. According to a fourth aspect, an IPM candidate comprises both one partition mode and two prediction modes for IBC-GPM. According to a fifth aspect, geometry partitioning modes are divided into several sets for GPM, GPM-Intra, and/or SGPM.

Description

METHOD AND APPARATUS FOR ENCODING/DECODING WITH GEOMETRIC PARTITIONING MODE
CROSS REFERENCE TO RELATED APPLICATION
[1] This application claims the benefit of European Patent Application No. 24305029.1, filed on January 8, 2024, which is incorporated herein by reference in their entirety.
TECHNICAL FIELD
[2] The present embodiments generally relate to a method and an apparatus for video encoding or decoding with geometric partitioning mode.
BACKGROUND
[3] To achieve high compression efficiency, image and video coding schemes usually employ prediction and transform to leverage spatial and temporal redundancy in the video content. Generally, intra or inter prediction is used to exploit the intra or inter picture correlation, then the differences between the original block and the predicted block, often denoted as prediction errors or prediction residuals, are transformed, quantized, and entropy coded. To reconstruct the video, the compressed data are decoded by inverse processes corresponding to the entropy coding, quantization, transform, and prediction.
SUMMARY
[4] In various implementations, methods and devices are disclosed that implements geometric partitioning mode (GPM) including GPM with inter and intra prediction (GPM- Intra), spatial geometric partitioning mode (SGPM), and intra block copy with geometry partitioning mode (IBC-GPM). According to a first aspect of an embodiment of GPM, a method is disclosed that reorders the intra prediction mode (IPM) candidates used for GPM- Intra, SGPM, and/or IBC-GPM based on template cost. According to a second aspect of an embodiment of GPM, a method is disclosed that includes non-local neighboring, history-based, and/or temporal candidates into the IPM list. According to a third aspect of an embodiment of GPM, a method is disclosed that includes block- vector (BV) based candidates for GPM-Intra and IBC-GPM. According to a fourth aspect of an embodiment of GPM, a method is disclosed that builds candidate list with each entry containing both one partition mode and two prediction modes for IBC-GPM. According to a fifth aspect of an embodiment of GPM, a method is disclosed that divide geometry partitioning modes into several sets for GPM, GPM-Intra, and/or SGPM.
[5] According to one or more embodiments, a method of video encoding or decoding is disclosed that comprises determining, for a coding block, a geometric partitioning mode GPM among a plurality of geometric partitioning modes including GPM-Intra, Spatial Geometric Partitioning Mode SGPM, Intra Block Copy geometric partitioning mode IBC-; GPM; determining, for a coding block, a first GPM partition and a second GPM partition; determining a list of prediction mode candidates for the first GPM partition ordered by template cost; determining an intra prediction mode from list of prediction mode candidates for the first GPM partition; determining a prediction of a first GPM partition based on the determined intra prediction mode; and encoding or decoding the coding block from the prediction of a first GPM partition and a prediction of the second GPM partition.
[6] One or more embodiments also provide an apparatus for encoding/decoding video comprising one or more processors and at least one memory coupled to said one or more processors, wherein said one or more processors are configured to perform the encoding/decoding method according to any of the embodiments described herein.
[7] One or more embodiments also provide a computer program comprising instructions which when executed by one or more processors cause the one or more processors to perform the encoding or decoding method according to any of the embodiments described herein. One or more of the present embodiments also provide a computer readable storage medium having stored thereon instructions for encoding or decoding a video according to the methods described herein.
[8] One or more embodiments also provide a computer readable storage medium having stored thereon video data generated according to the methods described above. One or more embodiments also provide a method and apparatus for transmitting or receiving the video data generated according to the methods described herein.
BRIEF DESCRIPTION OF THE DRAWINGS
[9] FIG. 1 illustrates a block diagram of a system within which aspects of the present embodiments may be implemented.
[10] FIG. 2 illustrates a block diagram of an embodiment of a video encoder.
[11] FIG. 3 illustrates a block diagram of an embodiment of a video decoder. [12] FIG. 4 illustrates 64 partitions of a Geometric Partitioning Mode (GPM) of a CU in VVC.
[13] FIG. 5 illustrates the 3 Intra Prediction Modes IPM candidates in GPM-Intra. according to an embodiment.
[14] FIG.6 illustrates the position of five candidates derived from the neighboring blocks according to an embodiment.
[15] FIG. 7 illustrates Template Matching (TM) based reordering for GPM.
[16] FIG.8 illustrates a Spatial Geometric Partitioning Mode (SGPM) according to an embodiment.
[17] FIG.9 illustrates Template Matching (TM) based reordering for Spatial Geometric Partitioning Mode (SGPM) according to an embodiment.
[18] FIG.10 illustrates a modified Template Matching (TM) based reordering for Spatial Geometric Partitioning Mode (SGPM) according to a variant embodiment.
[19] FIG. 11 illustrates a generic encoding or decoding method using unified GPM according to an embodiment.
[20] FIG. 12 illustrates an adaptation of the shape of the template in Template Matching (TM) based reordering of IPM according to an embodiment.
[21] FIG. 13 illustrates positions and order of adjacent and non-adjacent neighboring candidates for IPM according to an embodiment.
[22] IG. 14 illustrates positions and inclusion order of the temporal IPM candidates according to an embodiment.
[23] FIG. 15 illustrates an example of a syntax design of IBC-GPM according to an embodiment.
[24] FIG. 16 illustrates various alternative examples of a syntax design of IBC-GPM according to an embodiment.
DETAILED DESCRIPTION
[25] FIG. 1 illustrates a block diagram of an example of a system in which various aspects and embodiments can be implemented. System 100 may be embodied as a device including the various components described below and is configured to perform one or more of the aspects described in this application. Examples of such devices, include, but are not limited to, various electronic devices such as personal computers, laptop computers, smartphones, tablet computers, digital multimedia set top boxes, digital television receivers, personal video recording systems, connected home appliances, and servers. Elements of system 100, singly or in combination, may be embodied in a single integrated circuit, multiple ICs, and/or discrete components. For example, in at least one embodiment, the processing and encoder/decoder elements of system 100 are distributed across multiple ICs and/or discrete components. In various embodiments, the system 100 is communicatively coupled to other systems, or to other electronic devices, via, for example, a communications bus or through dedicated input and/or output ports. In various embodiments, the system 100 is configured to implement one or more of the aspects described in this application.
[26] The system 100 includes at least one processor 110 configured to execute instructions loaded therein for implementing, for example, the various aspects described in this application. Processor 110 may include embedded memory, input output interface, and various other circuitries as known in the art. The system 100 includes at least one memory 120 (e.g., a volatile memory device, and/or a non-volatile memory device). System 100 includes a storage device 140, which may include non-volatile memory and/or volatile memory, including, but not limited to, EEPROM, ROM, PROM, RAM, DRAM, SRAM, flash, magnetic disk drive, and/or optical disk drive. The storage device 140 may include an internal storage device, an attached storage device, and/or a network accessible storage device, as non-limiting examples.
[27] System 100 includes an encoder/decoder module 130 configured, for example, to process data to provide an encoded video or decoded video, and the encoder/decoder module 130 may include its own processor and memory. The encoder/decoder module 130 represents module(s) that may be included in a device to perform the encoding and/or decoding functions. As is known, a device may include one or both of the encoding and decoding modules. Additionally, encoder/decoder module 130 may be implemented as a separate element of system 100 or may be incorporated within processor 110 as a combination of hardware and software as known to those skilled in the art.
[28] Program code to be loaded onto processor 110 or encoder/decoder 130 to perform the various aspects described in this application may be stored in storage device 140 and subsequently loaded onto memory 120 for execution by processor 110. In accordance with various embodiments, one or more of processor 110, memory 120, storage device 140, and encoder/decoder module 130 may store one or more of various items during the performance of the processes described in this application. Such stored items may include, but are not limited to, the input video, the decoded video or portions of the decoded video, the bitstream, matrices, variables, and intermediate or final results from the processing of equations, formulas, operations, and operational logic.
[29] In several embodiments, memory inside of the processor 110 and/or the encoder/decoder module 130 is used to store instructions and to provide working memory for processing that is needed during encoding or decoding. In other embodiments, however, a memory external to the processing device (for example, the processing device may be either the processor 110 or the encoder/decoder module 130) is used for one or more of these functions. The external memory may be the memory 120 and/or the storage device 140, for example, a dynamic volatile memory and/or a non-volatile flash memory. In several embodiments, an external non-volatile flash memory is used to store the operating system of a television. In at least one embodiment, a fast external dynamic volatile memory such as a RAM is used as working memory for video coding and decoding operations, such as for MPEG-2, HEVC, or VVC.
[30] The input to the elements of system 100 may be provided through various input devices as indicated in block 105. Such input devices include, but are not limited to, (i) an RF portion that receives an RF signal transmitted, for example, over the air by a broadcaster, (ii) a Composite input terminal, (iii) a USB input terminal, and/or (iv) an HDMI input terminal.
[31] In various embodiments, the input devices of block 105 have associated respective input processing elements as known in the art. For example, the RF portion may be associated with elements suitable for (i) selecting a desired frequency (also referred to as selecting a signal, or band-limiting a signal to a band of frequencies), (ii) down converting the selected signal, (iii) band- limiting again to a narrower band of frequencies to select (for example) a signal frequency band which may be referred to as a channel in certain embodiments, (iv) demodulating the down converted and band-limited signal, (v) performing error correction, and (vi) demultiplexing to select the desired stream of data packets. The RF portion of various embodiments includes one or more elements to perform these functions, for example, frequency selectors, signal selectors, band-limiters, channel selectors, filters, downconverters, demodulators, error correctors, and demultiplexers. The RF portion may include a tuner that performs various of these functions, including, for example, down converting the received signal to a lower frequency (for example, an intermediate frequency or a near-baseband frequency) or to baseband. In one set-top box embodiment, the RF portion and its associated input processing element receives an RF signal transmitted over a wired (for example, cable) medium, and performs frequency selection by filtering, down converting, and filtering again to a desired frequency band. Various embodiments rearrange the order of the above-described (and other) elements, remove some of these elements, and/or add other elements performing similar or different functions. Adding elements may include inserting elements in between existing elements, for example, inserting amplifiers and an analog-to-digital converter. In various embodiments, the RF portion includes an antenna.
[32] Additionally, the USB and/or HDMI terminals may include respective interface processors for connecting system 100 to other electronic devices across USB and/or HDMI connections. It is to be understood that various aspects of input processing, for example, Reed- Solomon error correction, may be implemented, for example, within a separate input processing IC or within processor 110 as necessary. Similarly, aspects of USB or HDMI interface processing may be implemented within separate interface ICs or within processor 110 as necessary. The demodulated, error corrected, and demultiplexed stream is provided to various processing elements, including, for example, processor 110, and encoder/decoder 130 operating in combination with the memory and storage elements to process the datastream as necessary for presentation on an output device.
[33] Various elements of system 100 may be provided within an integrated housing, Within the integrated housing, the various elements may be interconnected and transmit data therebetween using suitable connection arrangement 115, for example, an internal bus as known in the art, including the I2C bus, wiring, and printed circuit boards.
[34] The system 100 includes communication interface 150 that enables communication with other devices via communication channel 190. The communication interface 150 may include, but is not limited to, a transceiver configured to transmit and to receive data over communication channel 190. The communication interface 150 may include, but is not limited to, a modem or network card and the communication channel 190 may be implemented, for example, within a wired and/or a wireless medium.
[35] Data is streamed to the system 100, in various embodiments, using a Wi-Fi network such as IEEE 802. 11. The Wi-Fi signal of these embodiments is received over the communications channel 190 and the communications interface 150 which are adapted for WiFi communications. The communications channel 190 of these embodiments is typically connected to an access point or router that provides access to outside networks including the Internet for allowing streaming applications and other over-the-top communications. Other embodiments provide streamed data to the system 100 using a set- top box that delivers the data over the HDMI connection of the input block 105. Still other embodiments provide streamed data to the system 100 using the RF connection of the input block 105.
[36] The system 100 may provide an output signal to various output devices, including a display 165, speakers 175, and other peripheral devices 185. The other peripheral devices 185 include, in various examples of embodiments, one or more of a stand-alone DVR, a disk player, a stereo system, a lighting system, and other devices that provide a function based on the output of the system 100. In various embodiments, control signals are communicated between the system 100 and the display 165, speakers 175, or other peripheral devices 185 using signaling such as AV. Link, CEC, or other communications protocols that enable device-to-device control with or without user intervention. The output devices may be communicatively coupled to system 100 via dedicated connections through respective interfaces 160, 170, and 180. Alternatively, the output devices may be connected to system 100 using the communications channel 190 via the communications interface 150. The display 165 and speakers 175 may be integrated in a single unit with the other components of system 100 in an electronic device, for example, a television. In various embodiments, the display interface 160 includes a display driver, for example, a timing controller (T Con) chip.
[37] The display 165 and speaker 175 may alternatively be separate from one or more of the other components, for example, if the RF portion of input 105 is part of a separate set-top box. In various embodiments in which the display 165 and speakers 175 are external components, the output signal may be provided via dedicated output connections, including, for example, HDMI ports, USB ports, or COMP outputs.
[38] FIG. 2 illustrates an example video encoder 200, such as a VVC (Versatile Video Coding) encoder. FIG. 2 may also illustrate an encoder in which improvements are made to the VVC standard or an encoder employing technologies similar to VVC.
[39] In the present application, the terms “reconstructed” and “decoded” may be used interchangeably, the terms “encoded” or “coded” may be used interchangeably, and the terms “image,” “picture” and “frame” may be used interchangeably. Usually, but not necessarily, the term “reconstructed” is used at the encoder side while “decoded” is used at the decoder side.
[40] Before being encoded, the video sequence may go through pre-encoding processing (201), for example, applying a color transform to the input color picture (e.g., conversion from RGB 4:4:4 to YCbCr 4:2:0), or performing a remapping of the input picture components in order to get a signal distribution more resilient to compression. Metadata can be associated with the pre-processing, and attached to the bitstream.
[41] In the encoder 200, a picture is encoded by the encoder elements as described below. The picture to be encoded is partitioned (202) and processed in units of, for example, CUs. Each unit is encoded using, for example, either an intra or inter mode. When a unit is encoded in an intra mode, it performs intra prediction (260). In an inter mode, motion estimation (275) and compensation (270) are performed. The encoder decides (205) which one of the intra mode or inter mode to use for encoding the unit, and indicates the intra/inter decision by, for example, a prediction mode flag. After prediction, prediction enhancement (285) is applied to the prediction block. Prediction residuals are calculated, for example, by subtracting (210) the predicted block from the original image block.
[42] The prediction residuals are then transformed (225) and quantized (230). The quantized transform coefficients, as well as motion vectors and other syntax elements, are entropy coded (245) to output a bitstream. The encoder can skip the transform and apply quantization directly to the non-transformed residual signal. The encoder can bypass both transform and quantization, i.e., the residual is coded directly without the application of the transform or quantization processes.
[43] The encoder decodes an encoded block to provide a reference for further predictions. The quantized transform coefficients are de-quantized (240) and inverse transformed (250) to decode prediction residuals. Combining (255) the decoded prediction residuals and the predicted block, an image block is reconstructed. In-loop filters (265) are applied to the reconstructed picture to perform, for example, deblocking/SAO (Sample Adaptive Offset) filtering to reduce encoding artifacts. The filtered image is stored at a reference picture buffer (280).
[44] FIG. 3 illustrates a block diagram of an example video decoder 300. In the decoder 300, a bitstream is decoded by the decoder elements as described below. Video decoder 300 generally performs a decoding pass reciprocal to the encoding pass as described in FIG. 2. The encoder 200 also generally performs video decoding as part of encoding video data.
[45] In particular, the input of the decoder includes a video bitstream, which can be generated by video encoder 200. The bitstream is first entropy decoded (330) to obtain transform coefficients, motion vectors, and other coded information. The picture partition information indicates how the picture is partitioned. The decoder may therefore divide (335) the picture according to the decoded picture partitioning information. The transform coefficients are de-quantized (340) and inverse transformed (350) to decode the prediction residuals. Combining (355) the decoded prediction residuals and the predicted block, an image block is reconstructed. The predicted block can be obtained (370) from intra prediction (360) or motion-compensated prediction (i.e., inter prediction) (375). After prediction, prediction enhancement (390) is applied to the prediction block. In-loop filters (365) are applied to the reconstructed image. The filtered image is stored at a reference picture buffer (380).
[46] The decoded picture can further go through post-decoding processing (385), for example, an inverse color transform (e.g., conversion from YCbCr 4:2:0 to RGB 4:4:4) or an inverse remapping performing the inverse of the remapping process performed in the preencoding processing (201). The post-decoding processing can use metadata derived in the preencoding processing and signaled in the bitstream.
[47] Recent additions to video compression technology include various industry standards, versions of the reference software and/or documentations such as Enhanced Compression Model (ECM) being developed by the JVET (Joint Video Exploration Team) group. The aim is to make further improvements to the existing VVC (Versatile Video Coding) standard. In VVC and ECM, a geometric partitioning mode (GPM) has been proposed with 64 partitions in total for inter prediction.
[48] FIG. 4 illustrates 64 partitions of a CU with geometric partitioning mode (GPM) in VVC. When the GPM is used, a CU is split into two partitions by a geometrically located straight line as shown in FIG. 4. The location of the splitting line is mathematically derived from the angle (pt and distance offset pt of a specific partition. Each partition in the CU is interpredicted using its own motion parameters; only uni-prediction is allowed for each partition, that is, each partition has one motion vector (MV) and one reference index. After predicting each of the partitions, the sample values along the splitting edge are adjusted using a blending process with adaptive weights.
[49] Recent additions to ECM comprise GPM with inter and intra predictions (GPM-Intra). GPM-Intra proposes to combine an inter prediction with an intra prediction. In GPM with inter and intra prediction (GPM-Intra), the final prediction samples are generated by weighting inter predicted samples and intra predicted samples for each GPM-separated region. The inter predicted samples are derived by the same scheme as the GPM in the current VVC and ECM whereas the intra predicted samples are derived by an intra prediction mode (IPM) candidate list and an index signaled from the encoder.
[50] FIG. 5 illustrates the 3 IPM candidates in GPM-Intra according to an embodiment. The IPM candidate list size is pre-defined as 3. The initial available IPM candidates are the parallel angular mode against the GPM block boundary (Parallel mode), the perpendicular angular mode against the GPM block boundary (Perpendicular mode), and the Planar mode as shown FIG. 5(a)-5(c).
[51] Others recent additions to ECM comprise decoder- side intra mode derivation (DIMD) and Template-based intra mode derivation (TIMD).
[52] DIMD is a process that may be used by both the encoder and the decoder. According to DIMD, indices of two intra prediction modes (e.g., two intra prediction modes that most likely yield the predictions of the current block (e.g., luminance CB) of highest qualities according to DIMD) are derived (e.g., selected). The derivation may comprise creation (e.g., filling) of a Histogram of Oriented Gradients (HOG) of a context (e.g., an L-shape template) of decoded reference samples surrounding the current block. The indices of the two derived intra prediction modes may be the indices of the two HOG bins of largest magnitudes.
[53] TIMD is a process that may be used by both the encoder and the decoder. According to TIMD, indices of the two intra prediction modes (e.g., two intra prediction modes that most likely yield the predictions of the current block (e.g., luminance CB) of highest qualities according to TIMD) are derived (e.g., selected). The derivation may comprise testing a plurality of intra prediction mode. For each tested intra prediction mode, a template of the current block (e.g., luminance CB) may be predicted from a set of decoded reference samples surrounding the template via this tested mode and the prediction SATD may be computed. The indices of the two derived intra prediction modes may be the indices of the two tested modes incurring the two smallest prediction SATDs.
[54] DIMD and TIMD may be also used for IPM candidates of GPM-Intra to further improve the coding performance. For instance, the Parallel mode may be registered first, then IPM candidates of TIMD, DIMD, neighboring blocks, and the Planar mode, may be registered if there is not the same IPM candidate in the list. According to a particular variant, the available IPM may be registered in following order:
1) Parallel mode;
2) one derived mode from DIMD; 3) one derived mode from TIMD;
4) five candidates derived from the neighboring blocks;
5) and the Planar mode.
[55] In this variant, the perpendicular mode was removed. FIG. 6 illustrates the position of five candidates derived from the neighboring blocks according to an embodiment. A mode is derived from the neighboring blocks by inheriting the available intra prediction mode of the neighboring blocks. As for the neighboring mode derivation, there are five positions A, L, AL, AR, BL for available neighboring blocks at most, but they are restricted by the angle of GPM block boundary as shown in Table 1. For instance, A in Table 1 means that neighboring blocks A, AL, AR of the above side are considered while L means that neighboring blocks L, AL, BL of the left side are considered for the derivation.
Table 1. The position of available neighboring blocks for IPM candidate derivation based on the angle of GPM block boundary. A and L denotes the above and left side of the prediction block.
[56] Others recent additions to ECM comprise template matching (TM) based reordering for GPM and GPM-Intra partitioning modes.
[57] FIG. 7 illustrates templates and an edge in template matching (TM) based reordering for GPM. In such embodiment, given the motion information of the current GPM block, the respective TM cost values of GPM split modes are computed. Then, all GPM split modes are reordered in ascending ordering based on the TM cost values. Instead of sending GPM split mode, an index using Golomb-Rice code to indicate where the exact GPM split mode located in the reordering list is signaled. The reordering method for GPM split modes is a two-step process performed after the respective reference templates of the two GPM partitions in a CU are generated, as follows:
1) extending GPM partition edge into the reference templates of the two GPM partitions, resulting in 64 reference templates and computing the respective TM cost for each of the 64 reference templates;
2) reordering GPM split modes based on their TM cost values in ascending order and marking the best 32 split modes as available split modes.
[58] As shown in FIG.7, the edge is extended on the template from that of the current CU, but GPM blending process is not used in the template area across the edge.
[59] According to yet another prior art approach, a Spatial Geometric Partitioning Mode (SGPM) was introduced which is an intra mode that resembles the inter coding tool of geometric partitioning mode (GPM), where the two prediction parts are generated from intra predicted process.
[60] FIG. 8 illustrates a Spatial Geometric Partitioning Mode according to an embodiment. In a recent addition of SGPM to ECM, a candidate list is built with each entry containing one partition split and two intra prediction modes as shown in FIG. 8. 26 partition modes and 3 of intra prediction modes are used to form the combinations. The length of the candidate list is set equal to 16. The selected candidate index is signaled.
[61] FIG. 9 illustrates Template Matching (TM) based reordering for Spatial Geometric Partitioning Mode (SGPM) according to an embodiment. The list is reordered using template where the sum of absolute difference (SAD) between the prediction and reconstruction of the template is used for ordering. The prediction of the template is obtained by applying the corresponding intra prediction mode on the reference samples of the template, as shown in FIG.
9. The template size is fixed to 1. For each partition mode, an intra prediction mode (IPM) list is derived for each part. The IPM list size is pre-defined as 3. The available IPM candidates may comprise:
1) two derived modes from TIMD with horizontal and vertical orientations;
2) Parallel mode;
3) one derived mode from DIMD;
4) five candidates derived from the neighboring blocks; and
5) Planar mode.
[62] As for the neighboring mode derivation, there are five positions illustrated in FIG. 6 for available neighboring blocks at most, but they are restricted by the angle of SGPM block boundary.
[63] According to the aforementioned order, the IPM candidate can be inserted in the IPM list if it does not already exist in this list (e.g., if it is not already present in the list). Once the IPM list reaches its size limit (e.g., 3), the generation of the list is terminated.
[64] FIG.10 illustrates a modified Template Matching (TM) based reordering for Spatial Geometric Partitioning Mode (SGPM) according to a variant embodiment. In this variant, it proposes to further include block-vector based prediction obtained from Intra Template Matching (IntraTMP) and/or Intra Block Copy (IBC) modes of the neighboring blocks in the candidate list of SGPM. Specifically, the following is proposed:
1) obtain block vectors of all available merge candidates;
2) select the best two block vectors (if available) according to SAD template cost;
3) test the best two block vectors (if available) inside SGPM candidate list construction.
[65] As shown on FIG. 10, it is about generalizing the two intra predictors from regular to regular or block- vector (BV) based. That is, the new SGPM candidate could be the combination of one partition mode and two regular or BV-based intra predictors. Identifiers intra_pred_0 and intra_pred_l correspond to be regular prediction or BV-based prediction obtained from neighboring IntraTMP and/or IBC information. That is, one or two available BV-based intra predictor(s) from IntraTMP and/or IBC are added to SGPM intra candidate list after the 3 regular intra predictors from the IPM list.
[66] As the number of SGPM intra candidate entries for each partition is increased, the corresponding combination and template analysis increases more at both encoder and decoder side. Therefore, it is proposed that the maximum number of additional BV-based predictors is set to 2. This IBC mode corresponds to the first entry of the merge list. For example, when two BV-based intra predictors from IntraTMP and/or IBC are available, the number of the possible SGPM candidates raises from 26 X 3 X 2 = 156 combinations to 26 X 5 X 4 = 520 combinations, as shown in Table 2.
Table 2: New SGPM combinations of geometric partitioning mode with intra prediction mode (IPM) candidates and additional block-vector (BV) based candidates (here 2 additional BV-based candidates) in bold/underlined.
[67] The same process for SGPM candidate list generation is performed. That is, for each list entry of the combination table above, SAD is measured between the reconstructed signals and prediction signals in the template, and the best 16 candidates are retained. SGPM index is signaled to indicate the chosen combination in the SGPM candidate list.
[68] Finally, in another prior art approach, an Intra Block Copy with geometric partitioning mode (IBC-GPM) is defined that is a coding tool which divides a CU into two sub-partitions geometrically. The prediction signals of the two sub-partitions are generated using IBC and intra prediction. IBC-GPM can be applied to regular IBC merge mode or IBC TM merge mode.
An IPM candidate list is constructed using the same method as GPM-Intra for intra prediction, and the IPM candidate list size is pre-defined as 3. There are 48 geometry partitioning modes in total, which are divided into two geometry partitioning mode sets as follows:
Table 3 - Geometry partitioning modes in the first geometry partitioning mode set
Table 4 - Geometry partitioning modes in the second geometry partitioning mode set
[69] When IBC-GPM is used, an IBC-GPM geometry partitioning mode set flag is signaled to indicate whether the first or the second geometry partitioning mode set is selected, followed by the geometry partitioning mode index. An IBC-GPM intra flag is signaled to indicate whether intra prediction is used for the first sub-partition. When intra prediction is used for a sub-partition, an intra prediction mode index is signaled. When IBC is used for a sub-partition, a merge index is signaled.
[70] In bi-predictive IBC-GPM, two flags are signaled to indicate the prediction modes of two partitions, the first flag indicates whether the first partition is intra predicted, and if not then the second flag is signaled to indicate whether intra prediction is used for the second partition. This method is applied to screen content coding SCC only.
[71] The skilled in the art will recognize that the candidate list generation and the processing of the various embodiments of GPM and related GPM modes quickly result in a very large amount of syntax data and a complexity of the various implementations. Besides, there is still room for improvement of the performance of the various geometric prediction modes. It is therefore desirable to harmonize the candidate list generation and to improve the signaling of the geometric partitioning mode (GPM) to cover other related GPM modes.
[72] The present document proposes improving and harmonizing the geometric partitioning mode (GPM) and related GPM modes that includes GPM with inter and intra prediction (GPM- Intra), spatial geometric partitioning mode (SGPM), and intra block copy with geometry partitioning mode (IBC-GPM). According to a first aspect of an embodiment for unified GPM, a method is disclosed that reorders the intra prediction mode (IPM) candidates used for GPM- Intra, SGPM, and/or IBC-GPM based on template cost. According to a second aspect of an embodiment for unified GPM, a method is disclosed that includes non-local neighboring, history-based, and/or temporal candidates into the IPM list. According to a third aspect of an embodiment for unified GPM, a method is disclosed that includes block-vector (BV) based candidates for GPM-Intra and IBC-GPM. According to a fourth aspect of an embodiment for unified GPM, a method is disclosed that builds candidate list with each entry containing both one partition mode and two prediction modes for IBC-GPM. According to a fifth aspect of an embodiment for unified GPM, a method is disclosed that divide geometry partitioning modes into several sets for GPM, GPM-Intra, and/or SGPM.
[73] Generic encoding/decoding method with a modified GPM.
[74] FIG. 11 illustrates a generic encoding or decoding method 110 using unified GPM according to an embodiment. The method of video encoding/decoding comprises in a preliminary step not shown on FIG.11 obtained a coding block to encode or to decode. In a first step (1110), it is determined that a geometric partitioning mode GPM is used to encode or decode the coding block. The GPM may be one among a plurality of geometric partitioning modes including GPM-Intra, Spatial Geometric Partitioning Mode SGPM, Intra Block Copy geometric partitioning mode IBC-GPM. In a particular variant, the GPM may even be regular GPM based on 2 inter predictions. In a second step (1120), a first GPM partition and a second GPM partition are determined responsive to the partitioning mode that is an indication of the position of the edge between the partitions. For instance, the first GPM partition has an Intra or an IBC predication mode. However, in a variant, it may be the second GPM partition that has an Intra or an IBC predication mode. In yet another variant, any combination of Intra or IBC prediction modes may be considered for the first and second partition. In a third step (1130), a list of prediction mode candidates is determined. According to different variants, a prediction mode candidate may comprise one of a prediction mode for the first GPM partition (such as Intra prediction mode or IBC prediction mode), or an IBC prediction mode associated with a block-vector for the first GPM partition, or a combination of a partitioning mode of the coding block into the first GPM partition and second GPM partition, a prediction mode for the first GPM partition and a prediction mode for the second GPM partition. Thus, a prediction mode candidate is not limited to an intra prediction mode itself. According to a first embodiment, the list of prediction mode candidates for the first GPM partition is ordered by template cost. For instance, considering that the prediction mode comprises a parallel mode, a mode based on decoder-side intra mode derivation DIMD, a mode based on template-based intra mode derivation TIMD, a mode derived from neighboring blocks, a planar mode, a template-based cost (SAD between prediction and value of the template) is determined for each of the considered prediction mode and the considered prediction mode are ordered according to the increasing order of their template cost. Then, according to yet another variant, as the number of prediction modes in the list may be limited, for instance to 3 prediction modes, only a given number of modes are selected for the list of prediction mode candidates. According to yet another variant, a template cost is also computed for each partitioning mode of the coding block. According to yet another variant, a shape of a template used for template cost is based on a partitioning mode. Then, in a fourth step (1140), an intra prediction mode is determined for the first GPM partition (the first GPM partition having an Intra or an IBC predication mode) from list of prediction mode candidates. A prediction mode is also determined for the second GPM partition and both prediction of the first and second GPM partitions are obtained. Finally, the coding block is encoded/decoded based on the GPM prediction. Although, not explicitly detailed here, the encoding/decoding method may comprise additional steps for signaling of GPM prediction. Besides, even if the generic embodiment proposes to reorder the intra prediction mode (IPM) candidates used for GPM-Intra, SGPM, and/or IBC-GPM based on template cost, other features may be proposed either in combination or independently of the first embodiment. For instance, more candidates could be considered for the IPM list. Moreover, BV-based candidates could be included for GPM-Intra. Furthermore, the candidate list with each entry containing both one partition mode and two prediction modes for IBC-GPM is described. Last but not least, the geometry partitioning modes could be divided into several sets for GPM, GPM-Intra, and/or SGPM.
[75] Reorder the intra prediction mode (IPM) candidates based on template cost.
[76] In the prior-art, an intra prediction mode (IPM) list with 3 entries, is constructed for generating the intra prediction used for one sub-partition of GPM-Intra, SGPM and IBC-GPM. These first 3 available and non-redundant IPM candidates in a pre-defined order could be registered in the IPM list. For GPM-Intra and IBC-GPM, an index is signaled into the bitstream to indicate which IPM candidate is applied. However, these first 3 available IPM candidates in a pre-defined order might not always be the optimal for each block, or even each split mode.
[77] To construct an optimal IPM list adjusted for each block and/or each split mode, the first embodiment in this invention proposes to reorder the available IPM candidates based on template costs in ascending order and mark the best N IPM candidates in the IPM list used for GPM-Intra, SGPM and IBC-GPM.
[78] For example, a reorder could be added prior to the construction of IPM list for GPM- Intra. All the Parallel mode, derived mode from DIMD, derived mode(s) from TIMD, derived modes from the neighboring blocks and the Planar mode could computer the respective template costs and be reordered in ascending order based on the template costs. Up to one predefined maximum number of IPM candidates N (e.g., N = 3) could be selected and included to the IPM list from the reordered IPM candidates. That is, various IPM list could be generated for each split mode and each GPM-Intra block. After ascending reordering using template cost, the best N GPM-Intra IPM candidates are assigned to their respective indices, according to their template cost from small to large.
[79] In one variant of the first embodiment, the template used for reordering, may be constructed from row(s) above and/or column(s) left to the current block, and the shape of the template may be determined by the split angle. FIG. 12 illustrates an adaptation of the shape of the template in Template Matching (TM) based reordering of IPM according to an embodiment. For example, when the template size is fixed to 1, only one column left to the current block is used for constructing the template if the split mode is horizontal (as T_L shown in FIG. 12). For instance, only one row above to the current block is used for constructing the template if the split mode is vertical (as T_A shown in FIG. 12). In yet another example, for some other split modes, both one row above and one column left to the current block could be used for the template (as T_LA shown in FIG. 12).
[80] Include more intra prediction mode (IPM) candidates.
[81] The design philosophy of IPM list could be limited since the possible correlations between non-adjacent similar blocks and the current block have been largely ignored. The second embodiment in this invention proposes to consider non-local/non-adjacent neighboring candidates, history-based candidates, and/or temporal candidates.
[82] FIG. 13 illustrates positions of adjacent and non-adjacent neighboring candidates for IPM according to an embodiment. For example, up to one pre-defined maximum number of non-local/non-adjacent neighboring candidates N (e.g., N = 18) may be considered after all spatial adjacent neighbors are checked in the IPM list of GPM-Intra/SGPM/IBC-GPM coded block. Positions and inclusion order of the spatial non-adjacent neighboring candidates (6-23) are shown in FIG. 13. The distances between non-adjacent spatial candidates and current coding block are based on the width and height of current coding block. Moreover, these non- adjacent neighboring candidates could also be restricted by the angle of the split mode as shown in Table 1.
[83] Another example, a history-based IPM table with a pre-defined size N (e.g., N = 6) may be maintained to include the recently used intra prediction modes during the encoding/decoding process. The table is reset (emptied) when a new CTU row is encountered. Whenever there is a GPM-Intra/SGPM/IBC-GPM coded block, the selected IPM may be added to the last entry of the table as a new history-based IPM candidate. When inserting a new IPM candidate to the table, a constrained first- in-first-out (FIFO) rule is utilized wherein redundancy check is firstly applied to find whether there is an identical IPM candidate in the table. If found, the identical IPM candidate is removed from the table and all the history -based IPM candidates afterwards are moved forward, and the identical IPM candidate is inserted to the last entry of the table.
[84] FIG. 14 illustrates positions and inclusion order of the temporal IPM candidates. For the GPM-Intra/SGPM/IBC-GPM coded block in inter-slice (i.e., P/B slice), temporal IPM candidates could be considered for the IPM list construction. These temporal IPM candidates could be selected from the collocated picture. FIG. 14 depicts positions and inclusion order of the temporal IPM candidates, which are the same as those for temporal candidates in inter merge mode. The definition of a collocated picture is also the same as that in VVC: the index of the collocated reference picture list and the reference index to be used for derivation of the co-located CU is explicitly signaled in the slice header. An inclusion order of the temporal IPM candidates is as follows: C01 C010. If COi is not available (i.e., the position of COi is outside of picture/slice boundary, or outside of the current CTU row) and Cli is available, Cli will be used to replace COi, where 1 < i < 10. Otherwise (both COi and Cli are not available), the next inclusion position is checked.
[85] Include Block-Vector (BY) based candidates for GPM-Intra and IBC-GPM.
[86] A recent approach proposes further including block-vector (BV) based prediction obtained from IntraTMP and/or IBC modes of the neighboring blocks in the candidate list of SGPM.
[87] The third embodiment in this invention proposes to include BV-based intra predictors for GPM-Intra. In addition to regular intra prediction modes in the IPM list, GPM-Intra mode could further test BV candidates obtained from neighboring or coded blocks. That is, the intra predicted samples in GPM-Intra may be derived by a BV candidate list and the corresponding index signaled from the encoder.
[88] For each partition mode, a BV candidate list is derived for each part. The size of BV candidate list N could be pre-defined (e.g., N = 3); or could be signaled in sequence parameter set (SPS) / view parameter set (VPS) / picture parameter set (PPS) / picture header (PH); or could be determined based on some conditions/parameters, such as block size, QP, color components, slice types, content types, frame resolution and configuration.
[89] The BV candidate list could be obtained from block vectors of all available merge candidates, such as several adjacent spatial neighboring blocks, and/or some non-adjacent spatial neighboring blocks. The final BV candidates to be included in the list for GPM-Intra mode test, could be selected according to the template cost.
[90] For signaling, a GPM-BV flag could be signaled to indicate whether BV-based intra prediction is used for the sub-partition. When BV-based intra prediction is used for a subpartition, a BV candidate index is further signaled. Alternatively, the BV candidate list could be appended to the IPM list to extend the length of the total intra candidate list, where only a single index is signaled.
[91] In one variant of the third embodiment, the BV-based intra predictors obtained from IntraTMP and IBC mode could be used for the intra prediction part of the IBC-GPM. As those BV candidates may be derived in a different way from the regular IBC merge candidate list, they results in different BV-based prediction compared to the regular IBC prediction part of the IBC-GPM.
[92] Build candidate list with each entry containing both one partition mode and two prediction modes for IBC-GPM.
[93] FIG. 15 illustrates an example of a syntax design of IBC-GPM according to an embodiment. When IBC-GPM is used (IBC_GPMJlag set to be TRUE), an IBC-GPM geometry partitioning mode set flag (split node_selJ'lag) is signaled to indicate whether the first or the second geometry partitioning mode set is selected, followed by the geometry partitioning mode index (split _mode_sel_index). The first flag (intra -prediction _Jlag_0) is always signaled to indicate whether the first partition is intra predicted or not. When intra prediction is used for the first sub-partition, an intra prediction mode index (inlra_inode_index_0) is signaled. When IBC is used for the first sub-partition, a merge index (merge _index_0) is signaled. The second flag (intra -prediction Jlag_l) only needs to be signaled when the first flag is false (i.e., the first partition is IBC predicted) to indicate whether the intra prediction is applied to the second partition. Additionally, when both flags are false (indicating that both partitions are generated using the IBC), the maximum codeword of the second partition is reduced by 1 due to the fact that the merge indices of two partitions cannot be identical.
[94] The prior-art signaling design philosophy of IBC-GPM with several syntax parameters is quite complicated, therefore an alternative signaling design is proposed for IBC-GPM to reduce the syntax overhead.
[95] Inspired by the syntax design philosophy of SGPM, the fourth embodiment in this invention proposes to build candidate list with each entry containing both one partition mode and two prediction modes for IBC-GPM, and only the selected candidate index is signaled into the bitstream.
[96] For example, 48 geometry partitioning modes used for IBC-GPM could still be divided into two geometry partitioning mode sets, where 8 partitioning modes belong to the first geometry partitioning mode set and the remaining 40 partitioning modes belong to second set. An IBC-GPM candidate list set flag (candidate Jisl_selJ tg) is to indicate whether the first or the second IBC-GPM candidate list is selected.
[97] When the first IBC-GPM candidate list is employed, 8 partition modes in the first geometry partitioning mode set, 3 intra prediction modes, and all available IBC merge candidates are used to form the combinations. Each entry of this first IBC-GPM candidate list could contain one partition mode from the first geometry partition mode set, with two IBC merge candidates, or with one IBC merge candidate and one intra prediction mode. An entry with one partition mode with two intra prediction modes is restricted for IBC-GPM candidate list. For example, when 3 IBC merge candidates are available, the first IBC-GPM candidate list with possible 8 x (5 x 3 + 3 x 3) = 192 combinations could be constructed as shown in Table 5.
Table 5: IBC-GPM combinations of partitioning mode with intra or IBC prediction mode (here 3 IBC merge candidates) for the first IBC-GPM candidate set.
[98] To reduce the signaling overhead and to restrict the complexity, the length of the first IBC-GPM candidate list is set equal to one pre-defined value Nlst (e.g., Nlst = 16), and a template is used to generate the candidate list. For each possible combination of the first IBC- GPM candidate set, a prediction is generated for the template with the partitioning weight extended to the template, as shown in FIG. 9. These combinations are ranked in ascending order of their SATD between the prediction and reconstruction of the template. These first N reordered combinations could be regarded as the most probable candidates and be included in the first IBC-GPM candidate list. Both encoder and decoder construct the same first IBC-GPM candidate list based upon the template. The selected candidate index (candidate _index_0) is signaled.
[99] The same process of the second IBC-GPM candidate list generation is performed. That is, the remaining 40 partition modes in the second geometry partitioning mode set, 3 intra prediction modes, and all available IBC merge candidates are used to form the combinations. These combinations of the second IBC-GPM candidate set are also ranked in ascending order based on template cost. The length of the second IBC-GPM candidate list is set equal to another pre-defined value N2nd (e.g., N2nd = 40). The selected candidate index (candidate _index_l) is signaled.
[100] FIG. 16 illustrates various alternative examples of a syntax design of IBC-GPM according to an embodiment. One alternative proposed syntax design of IBC-GPM is illustrated in FIG. 16 (a), which significantly reduce the syntax overhead.
[101] Another example, 48 geometry partitioning modes used for IBC-GPM could no need to be divided into two geometry partitioning mode sets, and one single IBC-GPM candidate list could be employed. That is, all the 48 partition modes, 3 intra prediction modes, and all available IBC merge candidates are used to form the combinations. Therefore, the IBC-GPM candidate list set flag (candidate Jdsl_selJl'ag) could be removed, which further simplify the syntax design of IBC-GPM, as illustrated in FIG. 16 (b).
[102] Divide geometry partitioning modes into several sets for GPM, GPM-Intra and/or SGPM,
[103] Inspired by the syntax design philosophy of IBC-GPM, the fifth embodiment in this invention proposes to divide geometry partitioning modes into several sets for GPM/GPM- Intra/SGPM, and one syntax is signaled to indicate which geometry partitioning mode set is selected.
[104] For example, there are 64 geometry partitioning modes used for GPM and GPM-Intra in total, which could be divided into a pre-defined value M (e. g. , M = 8) geometry partitioning mode sets. That is, one pre-defined value N partitioning modes belong to the first geometry partitioning mode set, and the remaining partitioning modes belong to second set. When this pre-defined value N is set to 8 (i. e. , N = 8), the first geometry partitioning mode set could use the same 8 partitioning modes selected for the first set for IBC-GPM, as shown in Table x; and the remaining 56 partitioning modes belong to second set. A GPM/GPM-Intra geometry partitioning mode set flag is signalled to indicate whether the first or the second geometry partitioning mode set is selected. Moreover, to achieve a better performance/complexity tradeoff, the TM based reordering is only applied to the first set of GPM/GPM-Intra partitioning modes.
[105] Another example, the separation of the geometry partitioning modes used for GPM and GPM-Intra into several sets could be performed after the TM based reordering. Only the best 32 out of 64 partitioning modes could be employed for GPM/GPM-Intra coded block after reordering. If dividing into two geometry partitioning mode sets, one pre-defined value N reordered partitioning modes belong to the first geometry partitioning mode set, and the remaining 32 — N reordered partitioning modes belong to second set.
[106] In one variant of the fifth embodiment, the number of geometry partitioning mode sets and the number of entries in each geometry partitioning mode set, could be signaled in SPS/VPS/PPS/PH; or could be determined based on some conditions/parameters, such as block size, QP, color components, slice types, content types, frame resolution and configuration.
[107] Various methods are described herein, and each of the methods comprises one or more steps or actions for achieving the described method. Unless a specific order of steps or actions is required for proper operation of the method, the order and/or use of specific steps and/or actions may be modified or combined. Additionally, terms such as “first”, “second”, etc. may be used in various embodiments to modify an element, component, step, operation, etc., for example, a “first decoding” and a “second decoding”. Use of such terms does not imply an ordering to the modified operations unless specifically required. So, in this example, the first decoding need not be performed before the second decoding, and may occur, for example, before, during, or in an overlapping time period with the second decoding.
[108] Various methods and other aspects described in this application can be used to modify modules, for example, for example, the intra or inter prediction modules (260, 270, 275, 360, 375), of a video encoder 200 and decoder 300 as shown in FIG. 2 and FIG. 3. Moreover, the present aspects are not limited to ECM and VVC, and can be applied, for example, to other standards and recommendations, and extensions of any such standards and recommendations. Unless indicated otherwise, or technically precluded, the aspects described in this application can be used individually or in combination.
[109] Various numeric values are used in the present application. The specific values are for example purposes and the aspects described are not limited to these specific values.
[110] Various implementations involve decoding. “Decoding,” as used in this application, may encompass all or part of the processes performed, for example, on a received encoded sequence in order to produce a final output suitable for display. In various embodiments, such processes include one or more of the processes typically performed by a decoder, for example, entropy decoding, inverse quantization, inverse transformation, and differential decoding. Whether the phrase “decoding process” is intended to refer specifically to a subset of operations or generally to the broader decoding process will be clear based on the context of the specific descriptions and is believed to be well understood by those skilled in the art.
[111] Various implementations involve encoding or decoding. In an analogous way to the above discussion about “decoding”, “encoding” as used in this application may encompass all or part of the processes performed, for example, on an input video sequence in order to produce an encoded bitstream.
[112] Note that the syntax elements as used herein are descriptive terms. As such, they do not preclude the use of other syntax element names.
[113] The implementations and aspects described herein may be implemented in, for example, a method or a process, an apparatus, a software program, a data stream, or a signal. Even if only discussed in the context of a single form of implementation (for example, discussed only as a method), the implementation of features discussed may also be implemented in other forms (for example, an apparatus or program). An apparatus may be implemented in, for example, appropriate hardware, software, and firmware. The methods may be implemented in, for example, an apparatus, for example, a processor, which refers to processing devices in general, including, for example, a computer, a microprocessor, an integrated circuit, or a programmable logic device. Processors also include communication devices, for example, computers, cell phones, portable/personal digital assistants (“PDAs”), and other devices that facilitate communication of information between end-users.
[114] Reference to “one embodiment” or “an embodiment” or “one implementation” or “an implementation”, as well as other variations thereof, means that a particular feature, structure, characteristic, and so forth described in connection with the embodiment is included in at least one embodiment. Thus, the appearances of the phrase “in one embodiment” or “in an embodiment” or “in one implementation” or “in an implementation”, as well any other variations, appearing in various places throughout this application are not necessarily all referring to the same embodiment.
[115] Additionally, this application may refer to “determining” various pieces of information. Determining the information may include one or more of, for example, estimating the information, calculating the information, predicting the information, or retrieving the information from memory.
[116] Further, this application may refer to “accessing” various pieces of information. Accessing the information may include one or more of, for example, receiving the information, retrieving the information (for example, from memory), storing the information, moving the information, copying the information, calculating the information, determining the information, predicting the information, or estimating the information.
[117] Additionally, this application may refer to “receiving” various pieces of information. Receiving is, as with “accessing”, intended to be a broad term. Receiving the information may include one or more of, for example, accessing the information, or retrieving the information (for example, from memory). Further, “receiving” is typically involved, in one way or another, during operations, for example, storing the information, processing the information, transmitting the information, moving the information, copying the information, erasing the information, calculating the information, determining the information, predicting the information, or estimating the information.
[118] It is to be appreciated that the use of any of the following “/”, “and/or”, and “at least one of’, for example, in the cases of “A/B”, “A and/or B” and “at least one of A and B”, is intended to encompass the selection of the first listed option (A) only, or the selection of the second listed option (B) only, or the selection of both options (A and B). As a further example, in the cases of “A, B, and/or C” and “at least one of A, B, and C”, such phrasing is intended to encompass the selection of the first listed option (A) only, or the selection of the second listed option (B) only, or the selection of the third listed option (C) only, or the selection of the first and the second listed options (A and B) only, or the selection of the first and third listed options (A and C) only, or the selection of the second and third listed options (B and C) only, or the selection of all three options (A and B and C). This may be extended, as is clear to one of ordinary skill in this and related arts, for as many items as are listed.
[119] Also, as used herein, the word “signal” refers to, among other things, indicating something to a corresponding decoder. For example, in certain embodiments the encoder signals a quantization matrix for de-quantization. In this way, in an embodiment the same parameter is used at both the encoder side and the decoder side. Thus, for example, an encoder can transmit (explicit signaling) a particular parameter to the decoder so that the decoder can use the same particular parameter. Conversely, if the decoder already has the particular parameter as well as others, then signaling can be used without transmitting (implicit signaling) to simply allow the decoder to know and select the particular parameter. By avoiding transmission of any actual functions, a bit savings is realized in various embodiments. It is to be appreciated that signaling can be accomplished in a variety of ways. For example, one or more syntax elements, flags, and so forth are used to signal information to a corresponding decoder in various embodiments. While the preceding relates to the verb form of the word “signal”, the word “signal” can also be used herein as a noun.
[120] As will be evident to one of ordinary skill in the art, implementations may produce a variety of signals formatted to carry information that may be, for example, stored or transmitted. The information may include, for example, instructions for performing a method, or data produced by one of the described implementations. For example, a signal may be formatted to carry the bitstream of a described embodiment. Such a signal may be formatted, for example, as an electromagnetic wave (for example, using a radio frequency portion of spectrum) or as a baseband signal. The formatting may include, for example, encoding a data stream and modulating a carrier with the encoded data stream. The information that the signal carries may be, for example, analog or digital information. The signal may be transmitted over a variety of different wired or wireless links, as is known. The signal may be stored on a processor-readable medium.
[121] We describe a number of embodiments. Features of these embodiments can be provided alone or in any combination, across various claim categories and types. Further, embodiments can include one or more of the following features, devices, or aspects, alone or in any combination, across various claim categories and types.

Claims

1. A video decoding method comprising: determining, for a coding block, a geometric partitioning mode GPM among a plurality of geometric partitioning modes including GPM-Intra, Spatial Geometric Partitioning Mode SGPM, Intra Block Copy geometric partitioning mode IBC-GPM; determining, for a coding block, a first GPM partition and a second GPM partition; determining a list of prediction mode candidates for the first GPM partition ordered by template cost; determining an intra prediction mode from list of prediction mode candidates for the first GPM partition; determining a prediction of a first GPM partition based on the determined intra prediction mode; and decoding the coding block from the prediction of a first GPM partition and a prediction of the second GPM partition.
2. A video encoding method comprising: determining, for a coding block, a geometric partitioning mode GPM among a plurality of geometric partitioning modes including GPM-Intra, Spatial Geometric Partitioning Mode SGPM, Intra Block Copy geometric partitioning mode IBC-GPM; determining, for a coding block, a first GPM partition and a second GPM partition; determining a list of prediction mode candidates for the first GPM partition ordered by template cost; determining an intra prediction mode from list of prediction mode candidates for the first GPM partition; determining a prediction of a first GPM partition based on the determined intra prediction mode; and encoding the coding block from the prediction of a first GPM partition and a prediction of the second GPM partition.
3. The video decoding method of claim 1 or the video encoding method of claim 2, wherein determining a list of prediction mode candidates for the first GPM partition ordered by template cost comprising: for each of a parallel mode, a mode based on decoder-side intra mode derivation DIMD, a mode based on template-based intra mode derivation TIMD, a mode derived from neighboring blocks, a planar mode, determining a template cost; ordering modes according to an increasing order of their template cost.
4. The video decoding method of claim 3 or the video encoding method of claim 3, wherein determining a list of prediction mode candidates for the first GPM partition ordered by template cost further comprising:
Selecting a given number of prediction modes in the list of prediction mode candidates.
5. The video decoding method of claim 1 or the video encoding method of claim 2, further comprising obtaining an index of an intra prediction mode for the coding block in the list of prediction mode candidates.
6. The video decoding method of claim 3 or the video encoding method of claim 3, wherein determining a list of prediction mode candidates for the first GPM partition ordered by template cost further comprising: determine a template cost for each partitioning mode.
7. The video decoding method of claim 3 or the video encoding method of claim 3, wherein determining a list of prediction mode candidates for the first GPM partition ordered by template cost further comprising: determine a shape of a template used for template cost based on a partitioning mode.
8. The video decoding method of claim 1 or the video encoding method of claim 2, wherein the list of prediction mode candidates further comprises at least one of a mode derived from a non-adjacent neighboring block, a mode derived from an history-based candidate, a mode derived from a temporal candidate.
9. The video decoding method of claim 1 or the video encoding method of claim 2, wherein the geometric partitioning mode GPM for the coding block is GPM-Intra or IBC-GPM and wherein the list of prediction mode candidates further comprises a block- vector based mode.
10. The video decoding method of claim 10 or the video encoding method of claim 10, wherein at least one block- vector based candidates are associated to a block-vector based mode and wherein the at least one block-vector based candidates are obtained from an adjacent spatial neighboring block or from a non-adjacent spatial neighboring block.
11. The video decoding method of claim 10 or the video encoding method of claim 10, wherein determining a list of prediction mode candidates for the first GPM partition ordered by template cost further comprising determining a template cost for the at least one block-vector based candidates of the block- vector based mode and ordering modes according to increasing order of the template cost.
12. The video decoding method of claim 10 or the video encoding method of claim 10, further comprising obtaining an index of a block- vector for the first GPM partition among at least one block- vector based candidates.
13. The video decoding method of claim 10 or the video encoding method of claim 10, further comprising obtaining an index of an intra prediction mode associated to a block-vector candidate for the coding block in the list of prediction mode candidates.
14. The video decoding method of claim 10 or the video encoding method of claim 10, wherein the geometric partitioning mode (GPM) for the coding block is IBC-GPM; wherein a prediction mode candidate comprise a combination of a partitioning mode of the coding block into the first GPM partition and second GPM partition; a prediction mode for the first GPM partition; and a prediction mode for the second GPM partition; and wherein responsive that the intra prediction mode for the first GPM partition is a block-vector based mode, a block-vector candidate is associated to block- vector based mode.
15. The video decoding method of claim 14 or the video encoding method of claim 14, wherein the list of prediction mode candidates is divided into a first set of prediction mode candidates and a second set of prediction mode candidates based on a partitioning mode of the coding block into the first GPM partition and second GPM partition.
16. The video decoding method of claim 1 or the video encoding method of claim 2, wherein the geometric partitioning mode GPM for the coding block is GPM-Intra or SGPM; wherein an intra prediction mode candidate comprise a combination of a partitioning mode of the coding block into the first GPM partition and second GPM partition; a prediction mode for the first GPM partition; and a prediction mode for the second GPM partition, and wherein the list of prediction mode candidates is divided into a plurality of sets of prediction mode candidates based on a partitioning mode of the coding block into the first GPM partition and second GPM partition.
17. An apparatus, comprising one or more processors, wherein said one or more processors are configured to perform the method of any of claims 1-16.
18. A signal comprising video data, formed by performing the video encoding method of any one of claims 2-16.
19. A computer readable storage medium having stored thereon instructions for video decoding or encoding according to the method of any one of claims 1-16.
PCT/EP2025/050209 2024-01-08 2025-01-07 Method and apparatus for encoding/decoding with geometric partitioning mode Pending WO2025149461A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP24305029.1 2024-01-08
EP24305029 2024-01-08

Publications (1)

Publication Number Publication Date
WO2025149461A1 true WO2025149461A1 (en) 2025-07-17

Family

ID=89661780

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2025/050209 Pending WO2025149461A1 (en) 2024-01-08 2025-01-07 Method and apparatus for encoding/decoding with geometric partitioning mode

Country Status (1)

Country Link
WO (1) WO2025149461A1 (en)

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
COBAN M ET AL: "Algorithm description of Enhanced Compression Model 11 (ECM 11)", no. m65800 ; JVET-AF2025, 28 December 2023 (2023-12-28), XP030313758, Retrieved from the Internet <URL:https://dms.mpeg.expert/doc_end_user/documents/144_Hannover/wg11/m65800-JVET-AF2025-v1-JVET-AF2025.zip JVET-AF2025-v1.docx> [retrieved on 20231228] *
NASER (INTERDIGITAL) K ET AL: "AHG12: SGPM with IntraTMP and IBC", no. JVET-AF0226 ; m65261, 14 October 2023 (2023-10-14), XP030312429, Retrieved from the Internet <URL:https://jvet-experts.org/doc_end_user/documents/32_Hannover/wg11/JVET-AF0226-v2.zip JVET-AF0226-v2.docx> [retrieved on 20231014] *

Similar Documents

Publication Publication Date Title
US20220078405A1 (en) Simplifications of coding modes based on neighboring samples dependent parametric models
US12401782B2 (en) Intra sub partitions for video encoding and decoding combined with multiple transform selection, matrix weighted intra prediction or multi-reference-line intra prediction
US20240314301A1 (en) Template-based intra mode derivation
KR20250100770A (en) Syntax elements for video encoding or decoding
US12256068B2 (en) Signaling of merge indices for triangle partitions
US12143567B2 (en) Subblock merge candidates in triangle merge mode
EP3815373A1 (en) Virtual temporal affine candidates
EP3987780A1 (en) Method and device for picture encoding and decoding using position dependent intra prediction combination
CN114270844A (en) Motion vector processing for video encoding and decoding
EP3854078A1 (en) Translational and affine candidates in a unified list
EP4569805A1 (en) Geometric partition mode boundary prediction
WO2022101018A1 (en) A method and an apparatus for encoding or decoding a video
EP4676035A1 (en) Method and apparatus for encoding/decoding with mip2 in intra mode candidates list
WO2020112451A1 (en) Combining affine candidates
EP4676033A1 (en) Method and apparatus for encoding/decoding with an interpolated matrix based intra prediction mode
EP4676032A1 (en) Method and apparatus for encoding/decoding with intra merge prediction mode
EP4676036A1 (en) Unequal offset multiple reference line (mrl) for intra prediction
EP4714107A1 (en) Removing some redundancies in motion information coding
WO2025114195A1 (en) Template-based intra mode derivation (timd) &amp; decoder side intra mode derivation (dimd)
WO2025261729A1 (en) Encoding and decoding methods using geometric partition modes and corresponding apparatuses
WO2024235610A1 (en) Inferring motion vector predictor based on motion vector difference
WO2024078867A1 (en) Intra prediction mode improvements based on available reference samples
WO2024208650A1 (en) Intra geometric partition mode with template matching
WO2025114149A1 (en) Template-based reordering of gpm candidates
KR20250169173A (en) Coding of intra-geometric partition mode using template matching

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: 25700311

Country of ref document: EP

Kind code of ref document: A1