WO2025148775A1 - Procédé et appareil pour zone de prédiction intra dans un codage vidéo - Google Patents
Procédé et appareil pour zone de prédiction intra dans un codage vidéoInfo
- Publication number
- WO2025148775A1 WO2025148775A1 PCT/CN2025/070190 CN2025070190W WO2025148775A1 WO 2025148775 A1 WO2025148775 A1 WO 2025148775A1 CN 2025070190 W CN2025070190 W CN 2025070190W WO 2025148775 A1 WO2025148775 A1 WO 2025148775A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- intra prediction
- area
- intra
- block
- intratmp
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/593—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/103—Selection of coding mode or of prediction mode
- H04N19/11—Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
Definitions
- Embodiments of the present disclosure relate to video coding.
- Video coding techniques may be used to compress video data, such that coding on the video data can be performed using one or more video coding standards.
- Exemplary video coding standards may include, but not limited to, versatile video coding (H. 266/VVC) , high-efficiency video coding (H. 265/HEVC) , advanced video coding (H. 264/AVC) , moving picture expert group (MPEG) coding, enhanced video coding model (ECM) , to name a few.
- a method of decoding by a decoder may include determining, by a processor, an intra prediction mode is enabled for a current block.
- the method may include, in response to an intra prediction area being fully reconstructed and the intra prediction area being located in a same slice or a same tile as the current block, performing, by the processor, an intra prediction to identify a prediction block based on the intra prediction area and the intra prediction mode.
- the method may include decoding, by the processor, the current block based on the prediction block. An entirety of the intra prediction area may be used to perform intra prediction for all intra prediction modes.
- an apparatus for decoding may include a processor and memory storing instructions.
- the memory storing instructions, which when executed by the processor, may cause the processor to determine an intra prediction mode is enabled for a current block.
- the memory storing instructions, which when executed by the processor, may cause the processor to, in response to an intra prediction area being fully reconstructed and the intra prediction area being located in a same slice or a same tile as the current block, perform an intra prediction to identify a prediction block based on the intra prediction area and the intra prediction mode.
- the memory storing instructions, which when executed by the processor, may cause the processor to decode the current block based on the prediction block.
- An entirety of the intra prediction area may be used to perform intra prediction for all intra prediction modes.
- a non-transitory computer-readable medium storing instructions.
- the instructions which when executed by a processor of a decoder, may cause the processor of the decoder to determine an intra prediction mode is enabled for a current block.
- the instructions which when executed by the processor of the decoder, may cause the processor of the decoder to, in response to an intra prediction area being fully reconstructed and the intra prediction area being located in a same slice or a same tile as the current block, perform an intra prediction to identify a prediction block based on the intra prediction area and the intra prediction mode.
- the instructions which when executed by the processor of the decoder, may cause the processor of the decoder to decode the current block based on the prediction block.
- An entirety of the intra prediction area may be used to perform intra prediction for all intra prediction modes.
- a non-transitory computer-readable medium storing a bitstream, the bitstream being generated according to one or more of the operations described herein.
- FIG. 3 illustrates a detailed block diagram of an exemplary encoder in the encoding system in FIG. 1, according to some embodiments of the present disclosure.
- FIG. 5 illustrates an exemplary picture divided into coding tree units (CTUs) , according to some embodiments of the present disclosure.
- CTUs coding tree units
- FIG. 6 illustrates an exemplary CTU divided into coding units (CUs) , according to some embodiments of the present disclosure.
- FIG. 7 illustrates a schematic visualization of a current CU block and spatially adjacent and non-adjacent reconstructed samples to the current block, according to some embodiments of the present disclosure.
- FIG. 8 illustrates a schematic visualization of the angular modes of VVC, according to some embodiments of the present disclosure.
- FIG. 9A illustrates a diagram of slice partitioning for intra prediction, according to some embodiments of the present disclosure.
- FIG. 10A illustrates a diagram of intra block copy (IBC) , according to some embodiments of the present disclosure.
- FIG. 10C illustrates a reference area for IBC prediction for a current coding tree unit (CTU) , according to some embodiments of the present disclosure.
- FIG. 10E illustrates a diagram of an extended search region for intraTMP, according to some embodiments of the present disclosure.
- FIG. 10F illustrates a diagram of further extended search regions for intraTMP, according to some embodiments of the present disclosure.
- FIG. 10G illustrates a diagram of a maximum search range for intraTMP, according to some embodiments of the present disclosure.
- FIG. 11A illustrates a representation of spatial geometric partitioning mode (SGPM) signaling, according to some embodiments of the present disclosure.
- FIG. 11B illustrates a representation of modified SGPM signaling, according to some embodiments of the present disclosure.
- FIG. 14 illustrates a flowchart of a method of decoding, according to some embodiments of the present disclosure.
- FIG. 15 illustrates a flowchart of a method of encoding, according to some embodiments of the present disclosure.
- references in the specification to “one embodiment, ” “an embodiment, ” “an example embodiment, ” “some embodiments, ” “certain embodiments, ” etc., indicate that the embodiment described may include a particular feature, structure, or characteristic, but every embodiment may not necessarily include the particular feature, structure, or characteristic. Moreover, such phrases do not necessarily refer to the same embodiment. Further, when a particular feature, structure, or characteristic is described in connection with an embodiment, it would be within the knowledge of a person skilled in the pertinent art to effect such feature, structure, or characteristic in connection with other embodiments whether or not explicitly described.
- terminology may be understood at least in part from usage in context.
- the term “one or more” as used herein, depending at least in part upon context may be used to describe any feature, structure, or characteristic in a singular sense or may be used to describe combinations of features, structures or characteristics in a plural sense.
- terms, such as “a, ” “an, ” or “the, ” again, may be understood to convey a singular usage or to convey a plural usage, depending at least in part upon context.
- the term “based on” may be understood as not necessarily intended to convey an exclusive set of factors and may, instead, allow for existence of additional factors not necessarily expressly described, again, depending at least in part on context.
- video coding includes both encoding and decoding a video.
- Encoding and decoding of a video can be performed by the unit of block.
- an encoding/decoding process such as transform, quantization, prediction, in-loop filtering, reconstruction, or the like may be performed on a coding block, a transform block, or a prediction block.
- a block to be encoded/decoded will be referred to as a “current block. ”
- the current block may represent a coding block, a transform block, or a prediction block according to a current encoding/decoding process.
- unit indicates a basic unit for performing a specific encoding/decoding process
- block indicates a sample array of a predetermined size. Unless otherwise stated, the “block” and “unit” may be used interchangeably.
- FIG. 1 illustrates a block diagram of an exemplary encoding system 100, according to some embodiments of the present disclosure.
- FIG. 2 illustrates a block diagram of an exemplary decoding system 200, according to some embodiments of the present disclosure.
- Each system 100 or 200 may be applied or integrated into various systems and apparatus capable of data processing, such as computers and wireless communication devices.
- system 100 or 200 may be the entirety or part of a mobile phone, a desktop computer, a laptop computer, a tablet, a vehicle computer, a gaming console, a printer, a positioning device, a wearable electronic device, a smart sensor, a virtual reality (VR) device, an argument reality (AR) device, or any other suitable electronic devices having data processing capability.
- VR virtual reality
- AR argument reality
- system 100 or 200 may include a processor 102, a memory 104, and an interface 106. These components are shown as connected to one another by a bus, but other connection types are also permitted. It is understood that system 100 or 200 may include any other suitable components for performing functions described here.
- Processor 102 may include microprocessors, such as a graphic processing unit (GPU) , image signal processor (ISP) , central processing unit (CPU) , digital signal processor (DSP) , tensor processing unit (TPU) , vision processing unit (VPU) , neural processing unit (NPU) , synergistic processing unit (SPU) , or physics processing unit (PPU) , microcontroller units (MCUs) , application-specific integrated circuits (ASICs) , field-programmable gate arrays (FPGAs) , programmable logic devices (PLDs) , state machines, gated logic, discrete hardware circuits, and other suitable hardware configured to perform the various functions described throughout the present disclosure.
- microprocessors such as a graphic processing unit (GPU) , image signal processor (ISP) , central processing unit (CPU) , digital signal processor (DSP) , tensor processing unit (TPU) , vision processing unit (VPU) , neural processing unit (
- Processor 102 may be a hardware device having one or more processing cores.
- Processor 102 may execute software.
- Software shall be construed broadly to mean instructions, instruction sets, code, code segments, program code, programs, subprograms, software modules, applications, software applications, software packages, routines, subroutines, objects, executables, threads of execution, procedures, functions, etc., whether referred to as software, firmware, middleware, microcode, hardware description language, or otherwise.
- Software can include computer instructions written in an interpreted language, a compiled language, or machine code. Other techniques for instructing hardware are also permitted under the broad category of software.
- Memory 104 can broadly include both memory (a.k.a, primary/system memory) and storage (a.k.a. secondary memory) .
- memory 104 may include random-access memory (RAM) , read-only memory (ROM) , static RAM (SRAM) , dynamic RAM (DRAM) , ferro-electric RAM (FRAM) , electrically erasable programmable ROM (EEPROM) , compact disc read-only memory (CD-ROM) or other optical disk storage, hard disk drive (HDD) , such as magnetic disk storage or other magnetic storage devices, Flash drive, solid-state drive (SSD) , or any other medium that can be used to carry or store desired program code in the form of instructions that can be accessed and executed by processor 102.
- RAM random-access memory
- ROM read-only memory
- SRAM static RAM
- DRAM dynamic RAM
- FRAM ferro-electric RAM
- EEPROM electrically erasable programmable ROM
- CD-ROM compact disc read-only memory
- HDD hard disk
- Interface 106 can broadly include a data interface and a communication interface that is configured to receive and transmit a signal in a process of receiving and transmitting information with other external network elements.
- interface 106 may include input/output (I/O) devices and wired or wireless transceivers.
- I/O input/output
- FIGs. 7 and 8 it is understood that multiple interfaces can be included.
- Processor 102, memory 104, and interface 106 may be implemented in various forms in system 100 or 200 for performing video coding functions.
- processor 102, memory 104, and interface 106 of system 100 or 200 are implemented (e.g., integrated) on one or more system-on-chips (SoCs) .
- SoCs system-on-chips
- processor 102, memory 104, and interface 106 may be integrated on an application processor (AP) SoC that handles application processing in an operating system (OS) environment, including running video encoding and decoding applications.
- API application processor
- processor 102, memory 104, and interface 106 may be integrated on a specialized processor chip for video coding, such as a GPU or ISP chip dedicated to image and video processing in a real-time operating system (RTOS) .
- RTOS real-time operating system
- processor 102 may include one or more modules, such as a decoder 201.
- FIG. 2 shows that decoder 201 is within one processor 102, it is understood that decoder 201 may include one or more sub-modules that can be implemented on different processors located closely or remotely with each other.
- Decoder 201 (and any corresponding sub-modules or sub-units) can be hardware units (e.g., portions of an integrated circuit) of processor 102 designed for use with other components or software units implemented by processor 102 through executing at least part of a program, e.g., instructions.
- a residual block including a prediction unit that has performed prediction based on the prediction unit generated by prediction module 304 or 306 and residual coefficient information (also referred to herein as the “residual” ) , which is a difference value of the prediction unit with the original block, may be generated.
- the generated residual block may be input into transform module 308. Additional details of residuals and transforms for video coding will now be provided.
- Each CB consists of a single TB, except in the cases of Intra Subpartition (ISP) mode and implicit splitting.
- ISP Intra Subpartition
- luma TBs are further specified as W ⁇ H rectangular blocks of width W and height H, where W, H ⁇ ⁇ 4, 8, 16, 32, 64 ⁇ .
- W, H ⁇ ⁇ 2, 4, 8, 16, 32 ⁇ are rectangular W ⁇ H blocks of width W and height H.
- W, H ⁇ ⁇ 2, 4, 8, 16, 32 ⁇ but blocks of shapes 2 ⁇ H and 4 ⁇ 2 are excluded in order to address memory architecture and throughput requirements.
- the intra prediction samples for the current block are generated using reference samples that are obtained from reconstructed samples of neighboring blocks.
- the reference samples are spatially adjacent to the current block, consisting of the vertical line of 2 ⁇ H reconstructed samples to the left of the block and extending downwards, the top left reconstructed sample, and the horizontal line of 2 ⁇ W reconstructed samples above the current block and extending to the right.
- This “L” shaped set of samples may be referred to in this disclosure as a “reference line. ”
- the reference line directly adjacent to current CU block 702 is shown as the line with index 0 in FIG. 7.
- the intra modes that can be used for MRL are the DC mode and the angular prediction modes. However, for a given block, not all of these modes can be combined with MRL.
- the MRL mode is always coupled with a mode in the Most Probable Mode (MPM) list in VVC. This coupling means that if non-adjacent reference lines are used, the intra prediction mode is one of the MPMs.
- MPM Most Probable Mode
- Such a design of an MPM-based MRL prediction mode is motivated by the observation that non-adjacent reference lines are mainly beneficial for texture patterns with sharp and strongly directed edges. In these cases, MPMs are much more frequently selected since there is typically a strong correlation between the texture patterns of the neighboring and the current blocks.
- an intra prediction fusion method was proposed to improve the accuracy of intra prediction. More specifically, if the current block is a luma block, and it is coded with a non-integer slope angular mode and not in the ISP mode, and the block size (width *height) is greater than 16, two prediction blocks generated from two different reference lines will be “fused, ” where the prediction fusion is calculated as a weighted summation of the two prediction blocks.
- a first reference line at index i (line i ) is specified with the current methods of signaling in the bitstream, and the prediction block generated from this reference line using the selected intra prediction mode is denoted as p (line i ) , where p ( ⁇ ) represents the operation of generating a prediction block from a reference line with a given intra prediction mode.
- the reference line line i+1 is implicitly selected as the second reference line. That is, the second reference line is one index position further away from the current block relative to the first reference line.
- the prediction block generated from the second reference line is denoted as p (line i+1 ) .
- the weighted sum of the two prediction blocks is obtained as follows and serves as the predictor for the current block according to equation (1) .
- p fusion w 0 *p (line i ) +w 1 *p (line i+1 ) (1) , where p fusion represents the fused prediction, w 0 and w 1 are two weighting factors, and they are set as 3/4 and 1/4 in the experiment, respectively.
- a predictor is derived dependent on neighboring reference samples. However, this is itself dependent on the reference samples being available to the current CU. Availability of samples depends on two factors: 1) whether the samples have already been reconstructed, and 2) whether the samples belong to a logical unit that the current CU is permitted to use.
- each picture is divided into a tiling of square CTUs, which are processed in raster scan order.
- an intra prediction method is performed on a current CU 602 in a current CTU 502
- samples belonging to other CTUs preceding current CTU 502 in raster scan order are reconstructed and may be available for prediction.
- Samples belonging to CTUs following the current CTU 502 in raster scan order are not reconstructed and, therefore, are not available.
- Each CTU 502 itself is partitioned into CUs by a hierarchical structure consisting of quadtree, binary tree, and ternary tree splits, with an example of such splits shown in FIG. 6.
- the scan order of CUs within a CTU 502 is determined by the partitioning structure. For a single level of partitioning split, the partitions are scanned in the following order: 1) left to right for the cases of horizontal binary tree split or horizontal ternary tree split, 2) top to bottom for the cases of vertical binary tree split or vertical ternary tree split, and 3) top-left, top-right, bottom-left, bottom-right for the case of quadtree split.
- FIG. 6 shows an example of partitioning of a CTU 502 into 15 CUs.
- Each CU 602 in FIG. 6 is numbered from 1 to 15 to indicate their scan order.
- FIG. 9A illustrates a diagram of slice partitioning 900 of a picture for intra prediction, according to some embodiments of the present disclosure. Samples belonging to a slice partition 904 other than the slice containing the current CU (of CTU 902) are not available for intra prediction. Imposing this restriction allows slices to be decoded independently.
- FIG. 9B illustrates a diagram of tile partitioning 901 of a picture for intra prediction, according to some embodiments of the present disclosure. Samples belonging to a tile partition 906 other than the tile containing the current CU (of CTU 902) are not available for intra prediction. Imposing this restriction allows tiles to be decoded independently.
- FIG. 9C illustrates a diagram of wavefront-parallel processing 903 of a picture for intra prediction, according to some embodiments of the present disclosure.
- an intra prediction method e.g., slice partitioning, tile partitioning, or wavefront-parallel processing
- the method may simply be disabled when such samples are not available.
- some extrapolation of the unavailable samples may be performed, such as by boundary extension.
- the predictor is derived only from spatially neighboring reference samples.
- greater coding gain can be achieved by expanding the region of reconstructed samples that may be used to derive a predictor.
- IBC intra block copy
- FIG. 10A illustrates a diagram of IBC 1000, according to some embodiments of the present disclosure.
- a block vector (BV) 1010 is signalled to indicate which block within the same picture will be copied to serve as a predictor 1012 for the current block.
- Signalling of this block vector may by performed by signalling a block vector difference (BVD) in the bitstream, such that the block vector can be determined by adding the BVD to a block vector predictor.
- BVD block vector difference
- a block vector from a previous CU is an exact match for the current block vector, it may be signalled by a merge flag.
- the block vector points at a location within the same picture to indicate a block of samples equal in size to the current CU 1004 that is used as a predictor block for the current CU 1004.
- Some restrictions may apply to the block vector.
- the block vector 1010 may point at a block of samples in the current picture that are available for intra prediction.
- the block vector 1010 may be restricted to a search region defined for the IBC tool, which may be smaller than the current picture. For example, in VVC the IBC search region is current CTU 1002 and the previous CTU.
- the IBC search region is the current CTU row 1006 and the above CTU row 1014 when the CTU size is 256x256, or the current CTU row 1006 and the above 2 CTU rows when the current CTU size is 128x128 or smaller.
- a fractional-pel IBC method was proposed in ECM-9.0. More specifically, a 1/16-pel resolution is supported in addition to the existing full-pel IBC.
- the 8-tap luma filter as well as the chroma filter used in VVC for fractional motion compensation are used to interpolate the fractional-pel values. After an IBC block is coded, the 1/16-pel resolution is stored for coding future blocks.
- FIG. 10B illustrates an example visualization of IBC prediction 1001, according to some embodiments of the present disclosure.
- a block vector (BV) is signalled to indicate which block within the same picture will be copied toserve as a predictor for the current block.
- Signalling of this block vector may be performed bysignalling a block vector difference (BVD) in the bitstream, such that the block vector can bedetermined by adding the BVD to a block vector predictor.
- VBD block vector difference
- a block vector from aprevious CU may be signalled by a merge flag.
- the block vector points at a location within the samepicture to indicate a block of samples equal in size to the current CU that is used as a predictorblock for the current CU.
- Some restrictions may apply to the block vector, as it must point at alocation in the current picture that has been decoded before the current CU.
- the illustration inFIG. 10B summarizes the IBC concept in HEVC and VVC, with each tiled square shape in thefigure representing a coding tree unit (CTU) .
- CTU coding tree unit
- FIG. 10C illustrates a reference area for IBC prediction 1003 for a current codingtree unit (CTU) , according to some embodiments of the present disclosure.
- CTU current codingtree unit
- the reference area for IBC is extended to two CTU rowsabove in the ECM.
- ⁇ ! ⁇ .0 illustrates the reference area 1040 for coding CTU(m, n) 1050.
- the reference area includes CTUs withindex (m–2, n–2)...(W, n–2) ,(0, n–1)...(W, n–1) ,(0, n)...(m, n) , where W denotes the maximumhorizontal index within the current tile, slice or picture.
- W denotes the maximumhorizontal index within the current tile, slice or picture.
- the reference area1040 is limited to one CTU row above.
- the per-sample block vectorsearch (or called local search) range is limited to [–(C ⁇ 1) , C >> 2] horizontally and [–C, C >>2] vertically to adapt to the reference area extension, where C denotes the CTU size.
- FIG. 10D illustrates a diagram of intraTMP 1005, according to some embodimentsof the present disclosure.
- ‘a’ is set to 5 in the ECM-7.0 test software.
- the search region is initially traversed horizontally or vertically in increments of 2 pixels at a time. This is also referred to as a search sub-sampling factor of 2. This leads to a 4-fold reduction in the template matching search complexity.
- a refinement process is performed. The refinement is done via a second template matching search around the best match with a reduced range. In ECM-7.0, the reduced range is set to BlkH/2.
- FIG. 10E illustrates a diagram of an extended search region for intraTMP 1007, according to some embodiments of the present disclosure.
- This implementation excludes some regions in the current CTU 1020 that are available for prediction.
- the proposed modified search region is FIG. 10E, with the areas added to the search region relative to that of FIG. 10D marked with crosshatch shading.
- FIG. 10F illustrates a diagram of further extended search regions for intraTMP 1009, according to some embodiments of the present disclosure.
- FIG. 10F it is proposed to further extend the search region in the current CTU 1020 to include areas left and below and right and above the current CU 1022.
- the proposed modified search region is FIG. 10F, with the areas added to the search region relative to that of FIG. 10E marked with crosshatch shading.
- FIG. 10G illustrates a diagram of a maximum search range for intraTMP, according to some embodiments of the present disclosure.
- the search policy of intraTMP includes some regions that are fully searched regardless of the maximum search range.
- the current CTU 1020 was always fully searched, and the maximum search range of (searchRangeWidth 1028, searchRangeHeight 1030) is applied to all intraTMP block vector (s) 1024 regardless of the search region.
- FIG. 10G shows an example intraTMP search area where the maximum search range for intraTMP predictor 1026 has limited the search area to less than the full size of the current CTU 1020.
- the neighboring block of the current block may be coded as IBC or intraTMP mode, which can provide a BV to find a reference block for that neighboring block.
- the current block may have a high correlation with its neighboring blocks. Therefore, the BVs provided by neighboring IBC or intraTMP coded blocks may also provide a good reference for the current block.
- IntraTMP with merge candidates proposed to augment the intraTMP candidate list with predictors specified by BVs from the neighboring blocks if these neighboring blocks are coded as either IBC or intraTMP. For instance, the same merge candidate list as for IBC merge is considered for intraTMP with merge candidates. Whenever a block vector is found in the merge list, it is added to the current intraTMP candidate list. The candidate list is refined with a second template matching step, which is already used in intraTMP.
- FIG. 11A illustrates a representation of spatial geometric partitioning mode (SGPM) signaling 1100, according to some embodiments of the present disclosure.
- SGPM spatial geometric partitioning mode
- SGPM is an intra mode similar to the inter GPM mode, where two regular intra predictors are used instead of inter predictors.
- this mode a candidate list is built with each entry containing one partition split and two intra prediction modes as shown in FIG. 11A.
- the list is template-based reordered where SAD between the prediction and reconstruction of the template is used for ordering.
- the template size is fixed to 1.
- SGPM was further proposed to combine block-vector based prediction and regular intra prediction from IBC-GPM to SGPM. That is, SGPM mode tests block vectors of neighboring CU’s in addition to regular prediction modes. For instance, the block vectors of all merge candidates as IBC merge are obtained. The best block vector is selected to provide the the least cost according to SATD template cost. The best block vector (if available) pointed reference block will be tested inside SGPM candidate list construction.
- FIG. 11B illustrates a representation of modified SGPM signaling 1101, according to some embodiments of the present disclosure.
- FIG. 11B the difference with original SGPM design is depicted in FIG. 11B as follows. It is about generalizing the two intra predictors from regular to regular or block-vector based.
- Identifiers intra_pred_0 and intra_pred_1 correspond to regular prediction or block-vector based obtained from neighboring IntraTMP/IBC information.
- FIG. 12 illustrates a diagram 1200 of a decoder-side intra mode derivation (DIMD) mode for ECM, according to some embodiments of the present disclosure.
- DIMD decoder-side intra mode derivation
- an intra prediction mode (or multiple intra prediction modes) is derived implicitly from an L-shaped template 1204 (referred to hereinafter as “template 1204” ) of reconstructed samples neighbouring the current CU 1202.
- the template 1204 has a size of a 3-sample width.
- Decoder 201 moves a 3x3 gradient analyzing window 1206 over the template 1204.
- a local gradient is calculated by applying Sobel filters. Assuming the 3x3 set of samples at one position in the template 1204 is T k , the Sobel filter can be described according to equation (2) .
- the local gradient’s magnitude G k and the local gradient’s angle ⁇ k may be estimated according to equations (5) and (6) , respectively.
- G k
- the local gradient’s angle ⁇ k can be associated with an intra angular prediction direction IPM k .
- IPM k may be estimated directly by decoder 201 from G k, k and G k,y with a fast implementation such as a look-up table.
- an empty histogram H (populated with zeroes in each entry) is initialized with a size equal to the number of intra prediction modes.
- the histogram H is updated according to equation (7) .
- H[IPM k ] + G k (7) .
- each local gradient analysis “votes” for an intra prediction mode.
- the intra prediction mode with the highest count in H may be selected as the single representative intra prediction mode for the current CU.
- multiple intra prediction modes may also be obtained from H in order of the highest counts.
- Quantization module 310 may be configured to quantize the coefficient of each position in the coding block to generate quantization levels of the positions.
- the current block may be the residual block. That is, quantization module 310 can perform a quantization process on each residual block.
- the residual block may include N ⁇ M positions (samples) , each associated with a transformed or non-transformed video signal/data, such as luma and/or chroma information, where N and M are positive integers.
- the transformed or non-transformed video signal at a specific position is referred to herein as a “coefficient. ”
- the quantized value of the coefficient is referred to herein as a “quantization level” or “level. ”
- quantization module 310 it may depend on the status of the previous quantization level along the coding scan order.
- more than one quantizer e.g., two scalar quantizers, can be used by quantization module 310. Which quantizer will be used for quantizing the current coefficient may depend on the information preceding the current coefficient in coding scan order. Such a quantization process is referred to as dependent quantization.
- encoding module 320 may be configured to encode the quantization level of each position in the coding block into the bitstream.
- encoding module 320 may perform entropy encoding on the coding block.
- Entropy encoding may use various binarization methods, such as Golomb-Rice binarization, to convert each quantization level into a respective binary representation, such as binary bins. Then, the binary representation can be further compressed using entropy encoding algorithms. The compressed data may be added to the bitstream.
- Non-binary syntax elements may be mapped to binary codewords.
- the bijective mapping between symbols and codewords, for which typically simple structured codes are used, is called binarization.
- the binary symbols, also called bins, of both binary syntax elements and codewords for non-binary data may be coded using binary arithmetic coding.
- the core coding engine of context-adaptive binary arithmetic coding can support two operating modes: a context coding mode, in which the bins are coded with adaptive probability models, and a less complex bypass mode that uses a fixed probability of 1/2.
- the adaptive probability models are also called contexts, and the assignment of probability models to individual bins is referred to as context modeling.
- dequantization module 312 may be configured to dequantize the quantization levels by dequantization module 312, and inverse transform module 314 may be configured to inversely transform the coefficients transformed by transform module 308.
- the reconstructed residual block generated by dequantization module 312 and inverse transform module 314 may be combined with the prediction units predicted through prediction module 304 or 306 to generate a reconstructed block.
- Filter module 316 may include at least one among a deblocking filter, a sample adaptive offset (SAO) , and an adaptive loop filter (ALF) .
- the deblocking filter may remove block distortion generated by the boundary between blocks in the reconstructed picture.
- the SAO module may correct an offset to the original video by the unit of pixel for a video on which the deblocking has been performed.
- ALF may be performed based on a value obtained by comparing the reconstructed and filtered video with the original video.
- Buffer module 318 may be configured to store the reconstructed block or picture calculated through filter module 316, and the reconstructed and stored block or picture may be provided to inter prediction module 304 when inter prediction is performed.
- decoding module 402 may perform entropy decoding (decompressing) corresponding to the entropy encoding (compressing) performed by the encoder, such as, for example, video local-area network (VideoLAN) coding (VLC) , context-adaptive variable-length coding (CAVLC) , CABAC, syntax-based binary arithmetic coding (SBAC) , PIPE coding, and the like to obtain the binary representation (e.g., binary bins) .
- Decoding module 402 may further convert the binary representations to quantization levels using Golomb-Rice binarization, including, for example, EGk binarization and combined TR and limited EGk binarization.
- decoding module 402 may decode various other information, such as the parameters used for Golomb-Rice binarization (e.g., the Rice parameter) , block type information of a coding unit, prediction mode information, partitioning unit information, prediction unit information, transmission unit information, motion vector information, reference frame information, block interpolation information, and filtering information.
- decoding module 402 may perform rearrangement on the bitstream to reconstruct and rearrange the data from a 1D order into a 2D rearranged block through a method of inverse-scanning based on the coding scan order used by the encoder.
- Dequantization module 404 may be configured to dequantize the quantization level of each position of the coding block (e.g., the 2D reconstructed block) to obtain the coefficient of each position.
- dequantization module 404 may perform dependent dequantization based on quantization parameters provided by the encoder as well, including the information related to the quantizers used in dependent quantization, for example, the quantization step size used by each quantizer.
- Inverse transform module 406 may be configured to perform inverse transformation, for example, inverse discrete cosine transform (DCT) , inverse DST, and inverse Karhunen–Loève transform (KLT) , for DCT, DST, and KLT performed by the encoder, respectively, to transform the data from the transform domain (e.g., coefficients) back to the pixel domain (e.g., luma and/or chroma information) .
- inverse transform module 406 may selectively perform a transform operation (e.g., DCT, DST, KLT) according to a plurality of pieces of information such as a prediction method, a size of the current block, a prediction direction, and the like.
- Inter prediction module 408 and intra prediction module 410 may be configured to generate a prediction block based on information related to the generation of a prediction block provided by decoding module 402 and information of a previously decoded block or picture provided by buffer module 414. As described above, if the size of the prediction unit and the size of the transform unit are the same when intra prediction is performed in the same manner as the operation of the encoder, intra prediction may be performed on the prediction unit based on the pixel existing on the left side, the pixel on the top-left side, and the pixel on the top of the prediction unit. However, if the size of the prediction unit and the size of the transform unit are different when intra prediction is performed, intra prediction may be performed using a reference pixel based on a transform unit.
- inter prediction module 408 may be configured to receive a bitstream that includes a reference frame, a current frame, and an indication of a weighting factor associated with a multiple-hypothesis prediction (MHP) procedure from an encoder.
- Inter prediction module 408 may be configured to perform the MHP procedure for a CU located in the current frame based on a search block (e.g., reference frame and/or reference template) in the reference frame.
- a search block e.g., reference frame and/or reference template
- the inter prediction module 408 may be configured to perform template matching for the CU located in the current frame based on a search block in the reference frame and the weighting factor to obtain motion information.
- inter prediction module 408 may be configured to identify a weighting factor index associated with the weighting factor based on the template matching.
- Inter prediction module 408 may be configured to identify a weighting factor sign of the weighting factor based on an indication included in the bitstream.
- Inter prediction module performs an inter prediction procedure based on the current frame, the reference frame, the weighting factor index, and the weighting factor sign of the weighting factor to decode the bitstream.
- the reconstructed block or reconstructed picture combined from the outputs of inverse transform module 406 and prediction module 408 or 410 may be provided to filter module 412.
- Filter module 412 may include a deblocking filter, an offset correction module, and an ALF.
- Buffer module 414 may store the reconstructed picture or block and use it as a reference picture or a reference block for inter prediction module 408 and may output the reconstructed picture.
- encoding module 320 and decoding module 402 may be configured to adopt a scheme of quantization level binarization with Rice parameter adapted to the bit depth and/or the bit rate for encoding the picture of the video to improve the coding efficiency.
- the neighboring blocks of the current block may be coded with either IBC or intraTMP.
- the prediction block pointed at by a BV from a neighboring block may be used as the prediction directly or fused with some other predictions for the current block.
- the entire previous decoded area within the current slice/tile may be used as a prediction for the current block because the BV from the neighboring block may point to any previously decoded area while the BV for the current block from both IBC and intraTMP have a limited area for intra prediction due to the hardware implementation limitation. That is to say, although an IBC reference area and an intraTMP reference area are both stored in in-chip memory to identify a reference block, the entirety of these areas is not searched. This negatively impacts coding performance, while at the same time increasing the in-chip memory footprint.
- an intra prediction area should be defined for the current block within which pixels could be used to form the intra prediction for the current block, either by direct copying or through additional processing to form an intra prediction for any possible tools (e.g., IBC, intraTMP, SGPM with intraTMP and IBC, or intraTMP extension to DIMD, etc. ) . All positions within this intra prediction area are first reconstructed. In addition, all positions within this intra prediction area are located inside the same slice/tile as the current block. The reconstructed values for all positions within this intra prediction area could be used to form intra prediction for the current block. Additional details of the intra prediction area are provided below in connection with FIG. 13.
- various intra prediction areas are depicted for a current CU 1304 of a current CTU 1302.
- the reconstructed area 1306 includes previously coded CUs above and to the left of current CU 1304.
- the unreconstructed area 1308 includes CUs that have yet to be coded, which are located below and to the right of current CU 1304.
- To code current CU 1304, one or more of an IBC search area 1310 and/or an intraTMP search area 1312 may be searched to identify a prediction block (not shown) .
- the prediction block may then be used to code current CU 1304.
- Various implementations of the intra prediction area will now be described.
- the IBC search area 1310 search area is considered as the intra prediction area for current CU 1304 (e.g., the current block) . This means that any position used to form the intra prediction (e.g., used to identify the prediction block) for current CU 1304 is located within IBC search area 1310.
- the intraTMP search area 1312 is considered as the intra prediction area for current CU 1304. This means that any position used to form the intra prediction for current CU 1304 is located within intraTMP search area 1312.
- both IBC search area 1310 and intraTMP search area 1312 are considered as the intra prediction area for current CU 1304. This means that any position used to form the intra prediction for current CU 1304 is located within the superset of the IBC search area 1310 and the intraTMP search area 1312.
- the superset of IBC search area 1310 and intraTMP search area 1312 plus additional pixels 1314 within reconstructed area 1306 is considered as the intra prediction area for current CU 1304. This means that any position used to form the intra prediction for the current block should be located within the superset of IBC search area 1310 and intraTMP search area 1312 plus additional pixels 1314 within the current slice.
- a common area 1316 (the region overlapped by IBC search area 1310 and intraTMP search area 1312) within reconstructed area 1306 of the same slice/tile as current CU 1304 is considered as the intra prediction area for the current block.
- intra prediction area is defined for the current CU 1304, all positions within the reference block pointed by a BV from intraTMP with merge candidates, SGPM with intraTMP and IBC, or intraTMP extension to DIMD will be located within the specified intra prediction area. If any position within the reference block is out of the specified intra prediction area, this prediction block (or reference block) is not eligible to be considered as an intra prediction for current CU 1304.
- FIG. 14 illustrates a flowchart of a method 1400 of decoding, according to some embodiments of the present disclosure.
- Method 1400 may be performed by a system, e.g., decoding system 200, decoder 201, intra prediction module 410, just to name a few.
- Method 1400 may include operations 1402-1406, as described below. It is to be appreciated that some of the steps may be optional, and some of the steps may be performed simultaneously, or in a different order than shown in FIG. 14.
- the system may, in response to an intra prediction area being fully reconstructed and the intra prediction area being located in a same slice or a same tile as the current block, perform an intra prediction to identify a prediction block based on the intra prediction area and the intra prediction mode.
- the intra prediction area may be an IBC search area.
- the intra prediction area may be an intraTMP search area.
- the intra prediction area may be a superset of an IBC search area and an intraTMP search area.
- the intra prediction area may further include additional pixels outside of the superset of the IBC search area and the intraTMP search area.
- FIG. 15 illustrates a flowchart of a method of encoding 1500, according to some embodiments of the present disclosure.
- Method 1500 may be performed by a system, e.g., encoding system 100, encoder 101, or intra prediction module 306, just to name a few.
- Method 1500 may include operations 1502-1506, as described below. It is to be appreciated that some of the steps may be optional, and some of the steps may be performed simultaneously, or in a different order than shown in FIG. 15.
- the system may determine an intra prediction mode is enabled for a current block.
- the intra prediction mode includes one of IBC, intraTMP, SGPM, or DIMD.
- the system may encode the current block based on the prediction block.
- Computer-readable media includes computer storage media. Storage media may be any available media that can be accessed by a processor, such as processor 102 in FIGs. 1 and 2.
- processor such as processor 102 in FIGs. 1 and 2.
- computer-readable media can include RAM, ROM, EEPROM, CD-ROM or other optical disk storage, HDD, such as magnetic disk storage or other magnetic storage devices, Flash drive, SSD, or any other medium that can be used to carry or store desired program code in the form of instructions or data structures and that can be accessed by a processing system, such as a mobile device or a computer.
- a non-transitory computer-readable medium storing instructions.
- the instructions which when executed by a processor of a decoder, may cause the processor of the decoder to determine an intra prediction mode is enabled for a current block.
- the instructions which when executed by the processor of the decoder, may cause the processor of the decoder to, in response to an intra prediction area being fully reconstructed and the intra prediction area being located in a same slice or a same tile as the current block, perform an intra prediction to identify a prediction block based on the intra prediction area and the intra prediction mode.
- the instructions which when executed by the processor of the decoder, may cause the processor of the decoder to decode the current block based on the prediction block.
- An entirety of the intra prediction area may be used to perform intra prediction for all intra prediction modes.
- the intra prediction area may be an IBC search area.
- the intra prediction area may include all previously reconstructed pixels in the same slice or the same tile in which the current block is located.
- the intra prediction area may be a common area of an IBC search area and an intraTMP search area.
- the intra prediction area may be a common area of an IBC search area and an intraTMP search area.
- the intra prediction mode includes one of IBC, intraTMP, SGPM, or DIMD.
- an encoder may include a processor and memory storing instructions.
- the memory storing instructions, which when executed by the processor, may cause the processor to determine an intra prediction mode is enabled for a current block.
- the memory storing instructions, which when executed by the processor, may cause the processor to, in response to an intra prediction area being fully reconstructed and the intra prediction area being located in a same slice or a same tile as the current block, perform an intra prediction to identify a prediction block based on the intra prediction area and the intra prediction mode.
- the memory storing instructions, which when executed by the processor, may cause the processor to encode the current block based on the prediction block.
- An entirety of the intra prediction area may be used to perform intra prediction for all intra prediction modes.
- the intra prediction area may be an IBC search area.
- the intra prediction area may be an intraTMP search area.
- the intra prediction area may further include additional pixels outside of the superset of the IBC search area and the intraTMP search area.
- the intra prediction area may include all previously reconstructed pixels in the same slice or the same tile in which the current block is located.
- the intra prediction area may be a common area of an IBC search area and an intraTMP search area.
- an apparatus for encoding may include a processor and memory storing instructions.
- the memory storing instructions, which when executed by the processor, may cause the processor to determine an intra prediction mode is enabled for a current block.
- the memory storing instructions, which when executed by the processor, may cause the processor to, in response to an intra prediction area being fully reconstructed and the intra prediction area being located in a same slice or a same tile as the current block, perform an intra prediction to identify a prediction block based on the intra prediction area and the intra prediction mode.
- the memory storing instructions, which when executed by the processor, may cause the processor to encode the current block based on the prediction block.
- An entirety of the intra prediction area may be used to perform intra prediction for all intra prediction modes.
- a non-transitory computer-readable medium storing instructions.
- the instructions which when executed by a processor of an encoder, may cause the processor of the encoder to determine an intra prediction mode is enabled for a current block.
- the instructions which when executed by the processor of the encoder, may cause the processor of the encoder to, in response to an intra prediction area being fully reconstructed and the intra prediction area being located in a same slice or a same tile as the current block, perform an intra prediction to identify a prediction block based on the intra prediction area and the intra prediction mode.
- the instructions which when executed by the processor of the encoder, may cause the processor of the encoder to encode the current block based on the prediction block.
- An entirety of the intra prediction area may be used to perform intra prediction for all intra prediction modes.
- the intra prediction area may be an IBC search area.
- the intra prediction area may be an intraTMP search area.
- the intra prediction area may be a superset of an IBC search area and an intraTMP search area.
- the intra prediction area may include all previously reconstructed pixels in the same slice or the same tile in which the current block is located.
- the intra prediction area may be a common area of an IBC search area and an intraTMP search area.
- the intra prediction mode includes one of IBC, intraTMP, SGPM, or DIMD.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Un aspect de la présente divulgation concerne un procédé de décodage par un décodeur. Le procédé peut consister à déterminer, au moyen d'un processeur, un mode de prédiction intra qui est activé pour un bloc actuel. Le procédé peut consister, en réponse à la reconstruction complète d'une zone de prédiction intra et à la localisation de la zone de prédiction intra dans une même tranche ou une même tuile que le bloc actuel, à exécuter, au moyen du processeur, une prédiction intra afin d'identifier un bloc de prédiction d'après la zone de prédiction intra et le mode de prédiction intra. Le procédé peut consister à décoder, au moyen du processeur, le bloc actuel sur la base du bloc de prédiction. Une totalité de la zone de prédiction intra peut être utilisée pour effectuer une prédiction intra pour tous les modes de prédiction intra.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US202463619286P | 2024-01-09 | 2024-01-09 | |
| US63/619,286 | 2024-01-09 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2025148775A1 true WO2025148775A1 (fr) | 2025-07-17 |
Family
ID=96386356
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/CN2025/070190 Pending WO2025148775A1 (fr) | 2024-01-09 | 2025-01-02 | Procédé et appareil pour zone de prédiction intra dans un codage vidéo |
Country Status (1)
| Country | Link |
|---|---|
| WO (1) | WO2025148775A1 (fr) |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20150055703A1 (en) * | 2013-08-26 | 2015-02-26 | Qualcomm Incorporated | Determining regions when performing intra block copying |
| US20150139296A1 (en) * | 2013-11-18 | 2015-05-21 | Arris Enterprises, Inc. | Intra block copy for intra slices in high efficiency video coding (hevc) |
| US20170134726A1 (en) * | 2014-03-31 | 2017-05-11 | Intellectual Discovery Co., Ltd. | Template-matching-based method and apparatus for encoding and decoding intra picture |
| WO2019087978A1 (fr) * | 2017-10-30 | 2019-05-09 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | Dispositif de codage, dispositif de décodage, procédé de codage et procédé de décodage |
| WO2021138164A1 (fr) * | 2020-01-03 | 2021-07-08 | Intel Corporation | Codage vidéo avec de multiples modes de copie intra-bloc |
-
2025
- 2025-01-02 WO PCT/CN2025/070190 patent/WO2025148775A1/fr active Pending
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20150055703A1 (en) * | 2013-08-26 | 2015-02-26 | Qualcomm Incorporated | Determining regions when performing intra block copying |
| US20150139296A1 (en) * | 2013-11-18 | 2015-05-21 | Arris Enterprises, Inc. | Intra block copy for intra slices in high efficiency video coding (hevc) |
| US20170134726A1 (en) * | 2014-03-31 | 2017-05-11 | Intellectual Discovery Co., Ltd. | Template-matching-based method and apparatus for encoding and decoding intra picture |
| WO2019087978A1 (fr) * | 2017-10-30 | 2019-05-09 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | Dispositif de codage, dispositif de décodage, procédé de codage et procédé de décodage |
| WO2021138164A1 (fr) * | 2020-01-03 | 2021-07-08 | Intel Corporation | Codage vidéo avec de multiples modes de copie intra-bloc |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US11533470B2 (en) | Method and apparatus for encoding/decoding an image signal | |
| CN112930683B (zh) | 用于对图像信号进行编码/解码的方法及其设备 | |
| CN113574874B (zh) | 用于编码和解码视频样本的块树的方法、设备和系统 | |
| CN111886861A (zh) | 根据图像编码系统中的块划分结构的图像解码方法和设备 | |
| AU2019350336B2 (en) | Image encoding/decoding method and device | |
| KR20190029732A (ko) | 인트라 예측 모드 기반 영상 처리 방법 및 이를 위한 장치 | |
| CN113557731B (zh) | 用于编码和解码视频样本的块树的方法、设备和系统 | |
| CN108353165A (zh) | 使用几何修改图片对图像进行编码/解码的方法和设备 | |
| KR20190096432A (ko) | 인트라 예측 모드 기반 영상 처리 방법 및 이를 위한 장치 | |
| US12143620B2 (en) | Filtering methods for angular intra prediction | |
| WO2025148775A1 (fr) | Procédé et appareil pour zone de prédiction intra dans un codage vidéo | |
| WO2024158549A1 (fr) | Détermination d'un mode de prédiction intra permettant une indexation dans des noyaux de transformée non séparable | |
| WO2024255897A1 (fr) | Système et procédé de prédiction intra à l'aide d'un vecteur de bloc de pel fractionnaire | |
| WO2025073278A1 (fr) | Procédé et appareil de codage de chrominance | |
| WO2025067264A1 (fr) | Procédé et appareil de codage de chrominance | |
| WO2025067271A1 (fr) | Procédé et appareil de prédiction de modèle linéaire à composantes croisées pour codage de chrominance | |
| WO2024213139A1 (fr) | Système et procédé de mise en correspondance de modèles intra | |
| WO2025067503A1 (fr) | Procédé et appareil de prédiction inter filtrée | |
| WO2025209578A1 (fr) | Procédé et appareil de décalage de centre de quantification pour de multiples quantifications | |
| WO2025218721A1 (fr) | Procédé et appareil de décalage de centre de quantification pour quantifications multiples | |
| WO2025113106A1 (fr) | Procédé et appareil de codage de coefficient résiduel dans un codage vidéo | |
| WO2025148996A1 (fr) | Procédé et appareil de codage de coefficient résiduel dans un codage vidéo | |
| WO2025148495A1 (fr) | Procédé et appareil de codage de coefficient dans un codage vidéo | |
| US20250240406A1 (en) | Method of encoding, method of decoding, and system | |
| US20250294185A1 (en) | System and method for chromaticity intra prediction |
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: 25738306 Country of ref document: EP Kind code of ref document: A1 |