Method and apparatus for entropy coding transform coefficients in an image or video coding system

The proposed scheme for entropy coding in video systems addresses inefficiencies by skipping syntax flags based on context probabilities, enhancing coding efficiency and maintaining lossless compression.

WO2026092265A1PCT designated stage Publication Date: 2026-05-07MEDIATEK INC
View PDF 4 Cites 0 Cited by

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
MEDIATEK INC
Filing Date
2025-10-22
Publication Date
2026-05-07

AI Technical Summary

Technical Problem

Existing video coding systems face inefficiencies in entropy coding of transform coefficients, particularly in high or low probability contexts, which can lead to coding distortions and hinder lossless compression.

Method used

Implement a scheme to skip signaling syntax flags when context variables indicate high or low probability ranges, using high-level syntax elements to control this process, and disable the scheme under lossless compression conditions to maintain video quality.

Benefits of technology

Enhances entropy coding efficiency by reducing coding distortions and ensuring lossless compression, thereby improving video quality and compression performance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2025129308_07052026_PF_FP_ABST
    Figure CN2025129308_07052026_PF_FP_ABST
Patent Text Reader

Abstract

Methods and apparatus of decoding for transform coefficients of residual data are disclosed. According to one method, one or more high-level syntax elements indicating whether to enable a controlling scheme are parsed. In response to said one or more high-level syntax elements indicating the controlling scheme being enabled: a value for a target syntax flag related to representation of the transform coefficients is inferred as an inferred value for the target syntax flag when a target probability for a selected context variable associated with the target syntax flag corresponds to a specified high / low probability range. According to another method, one or more high-level syntax elements indicating whether the current bitstream represents a coded input video data by lossless compression are parsed. According to yet another method, a pre-defined parameter setting for lossless compression is determined, wherein all coding tools that cause coding artefacts are disabled.
Need to check novelty before this filing date? Find Prior Art

Description

METHOD AND APPARATUS FOR ENTROPY CODING TRANSFORM COEFFICIENTS IN AN IMAGE OR VIDEO CODING SYSTEMCROSS REFERENCE TO RELATED APPLICATIONS

[0001] The present invention is a non-Provisional Application of and claims priority to U.S. Provisional Patent Application No. 63 / 713,606, filed on October 30, 2024. The U.S. Provisional Patent Application is hereby incorporated by reference in its entirety.FIELD OF THE INVENTION

[0002] The present invention relates to video coding system. In particular, the present invention relates to entropy coding of transform coefficients for residual blocks with lossless compression and / or signalling a syntax flag when a probability for a selected context variable associated with the target syntax flag corresponds to a specified high probability range or a specified low probability range in a video coding system.BACKGROUND

[0003] Versatile video coding (VVC) is the latest international video coding standard developed by the Joint Video Experts Team (JVET) of the ITU-T Video Coding Experts Group (VCEG) and the ISO / IEC Moving Picture Experts Group (MPEG) . The standard has been published as an ISO standard: ISO / IEC 23090-3: 2021, Information technology -Coded representation of immersive media -Part 3: Versatile video coding, published Feb. 2021. VVC is developed based on its predecessor HEVC (High Efficiency Video Coding) by adding more coding tools to improve coding efficiency and also to handle various types of video sources including 3-dimensional (3D) video signals.

[0004] Fig. 1A illustrates an exemplary adaptive Inter / Intra video encoding system incorporating loop processing. For Intra Prediction 110, the prediction data is derived based on previously coded video data in the current picture. For Inter Prediction 112, Motion Estimation (ME) is performed at the encoder side and Motion Compensation (MC) is performed based on the result of ME to provide prediction data derived from other picture (s) and motion data. Switch 114 selects Intra Prediction 110 or Inter Prediction 112 and the selected prediction data is supplied to Adder 116 to form prediction errors, also called residues. The prediction error is then processed by Transform (T) 118 followed by Quantization (Q) 120. The transformed and quantized residues are then coded by Entropy Encoder 122 to be included in a video bitstream corresponding to the compressed video data. The bitstream associated with the transform coefficients is then packed with side information such as motion and coding modes associated with Intra prediction and Inter prediction, and other information such as parameters associated with loop filters applied to underlying image area. The side information associated with Intra Prediction 110, Inter prediction 112 and in-loop filter 130, is provided to Entropy Encoder 122 as shown in Fig. 1A. When an Inter-prediction mode is used, a reference picture or pictures have to be reconstructed at the encoder end as well. Consequently, the transformed and quantized residues are processed by Inverse Quantization (IQ) 124 and Inverse Transformation (IT) 126 to recover the residues. The residues are then added back to prediction data 136 at Reconstruction (REC) 128 to reconstruct video data. The reconstructed video data may be stored in Reference Picture Buffer 134 and used for prediction of other frames.

[0005] As shown in Fig. 1A, incoming video data undergoes a series of processing in the encoding system. The reconstructed video data from REC 128 may be subject to various impairments due to a series of processing. Accordingly, in-loop filter 130 is often applied to the reconstructed video data before the reconstructed video data are stored in the Reference Picture Buffer 134 in order to improve video quality. For example, deblocking filter (DF) , Sample Adaptive Offset (SAO) and Adaptive Loop Filter (ALF) may be used. The loop filter information may need to be incorporated in the bitstream so that a decoder can properly recover the required information. Therefore, loop filter information is also provided to Entropy Encoder 122 for incorporation into the bitstream. In Fig. 1A, Loop filter 130 is applied to the reconstructed video before the reconstructed samples are stored in the reference picture buffer 134. The system in Fig. 1A is intended to illustrate an exemplary structure of a typical video encoder. It may correspond to the High Efficiency Video Coding (HEVC) system, VP8, VP9, H. 264 or VVC.

[0006] The decoder, as shown in Fig. 1B, can use some of the functional blocks as the encoder. For example, the decoder can reuse Inverse Quantization 124 and Inverse Transform 126; however, Transform 118 and Quantization 120 are not needed at the decoder. Instead of Entropy Encoder 122, the decoder uses an Entropy Decoder 140 to decode the video bitstream into quantized transform coefficients and needed coding information (e.g. ILPF information, Intra prediction information and Inter prediction information) . The Intra prediction 150 at the decoder side does not need to perform the mode search. Instead, the decoder only needs to generate Intra prediction according to Intra prediction information received from the Entropy Decoder 140. Furthermore, for Inter prediction, the decoder only needs to perform motion compensation (MC 152) according to Inter prediction information received from the Entropy Decoder 140 without the need for motion estimation.

[0007] In VVC, the sequence parameter set (SPS) and the picture parameter set (PPS) contain high-level syntax elements that apply to entire coded video sequences and pictures, respectively. The picture header (PH) and slice header (SH) contain high-level syntax elements that apply to a current coded picture and a current coded slice, respectively.

[0008] In VVC, a coded picture is partitioned into non-overlapped square block regions represented by the associated coding tree units (CTUs) . A coded picture can be represented by a collection of slices, each comprising an integer number of CTUs. The individual CTUs in a slice are processed in raster-scan order. A bi-predictive (B) slice may be decoded using intra prediction or inter prediction with at most two motion vectors and reference indices to predict the sample values of each block. A predictive (P) slice is decoded using intra prediction or inter prediction with at most one motion vector and reference index to predict the sample values of each block. An intra (I) slice is decoded using intra prediction only.

[0009] In VVC, each CTU can be partitioned into one or multiple non-overlapped coding units (CUs) using a quaternary tree (QT) with nested multi-type-tree (MTT) structure. The partitioning information is signalled by a coding tree syntax structure, where each CTU is treated as the root of a coding tree. The CTUs may be first partitioned by the quaternary tree (a. k. a. quadtree) structure, as shown in Fig. 2A. Then the quaternary tree leaf nodes can be further partitioned by a MTT structure, as shown in Fig. 2B-Fig. 2E. There are four split types in multi-type tree structure: vertical binary split (SPLIT_BT_VER) as shown in Fig. 2B, horizontal binary split (SPLIT_BT_HOR) as shown in Fig. 2C, vertical ternary split (SPLIT_TT_VER) as shown in Fig. 2D, and horizontal ternary split (SPLIT_TT_HOR) as shown in Fig. 2E. Each quadtree child node may be further split into smaller coding tree nodes using any one of five splitting types in Fig. 2. However, each multi-type-tree child node is only allowed to be further split by one of four MTT splitting types. The coding tree leaf nodes correspond to the coding units (CUs) . Fig. 3 provides an example of a CTU recursively partitioned by QT with the nested MTT, where the bold block edges represent QT partitioning and the remaining edges represent multi-type tree partitioning.

[0010] Each CU contains one or more prediction units (PUs) . The prediction unit, together with the associated CU syntax, works as a basic unit for signalling the predictor information. The specified prediction process is employed to predict the values of the associated pixel samples inside the PU. Each CU may contain one or more transform units (TUs) for representing the prediction residual blocks. A transform unit (TU) is comprised of one transform block (TB) of luma samples and two corresponding transform blocks of chroma samples. Each TB corresponds to one residual block of samples from one colour component. An integer transform is applied to a transform block. The level values of quantized coefficients together with other side information are entropy coded in the bitstream. The terms coding tree block (CTB) , coding block (CB) , prediction block (PB) , and transform block (TB) are defined to specify the 2-D sample array of one colour component associated with CTU, CU, PU, and TU, respectively. Thus, a CTU consists of one luma CTB, two chroma CTBs, and associated syntax elements. A similar relationship is valid for CU, PU, and TU.

[0011] In VVC, an intra dual tree mode can be employed for coding intra slices. When the intra dual tree mode is applied, the luma CTB is partitioned into CUs by one coding tree structure, and the two chroma CTBs are partitioned into chroma CUs by another coding tree structure. There are two coding tree syntax structures thus signalled for luma and chroma, respectively, in a CTU. As a result, each CU consists of either one coding block from the luma component or two coding blocks, respectively from the two chroma components, when the intra dual tree mode is applied.

[0012] In VVC, a multiple transform selection (MTS) scheme, in addition to DCT-II, derives four two-dimensional separable transforms from DCT8 and DST7 for primary transformation of residual blocks. The selected primary transform type for a current CU is indicated by a syntax element mts_idx. When a residual block is transformed by DCT2 in an intra CU, it can be further transformed by a low-frequency non-separable transform (LFNST) with a selected LFNST type indicated by a syntax element lfnst_idx. A residual block can be quantized and coded without a transformation process, indicated by a syntax flag transform_skip_flag equal to 1.

[0013] In VVC, the coded block flag (CBF) is utilized to signal if there is any non-zero transform coefficient in a transform block. When the CBF is equal to 0, the associated transform block is not further coded and all the coefficients in the current transform block are inferred to be equal to 0. Otherwise, the associated transform block contains at least one nonzero transform coefficient. A nonzero transform block is further divided into non-overlapped subblocks. A syntax element sb_coded_flag may be signaled to indicate whether a current subblock contains any nonzero coefficients. When sb_coded_flag is equal to 0, the associated transform subblock is not further coded and all the coefficients in the current transform subblock are inferred to be equal to 0. Otherwise, the associated transform block contains at least one non-zero transform coefficient.

[0014] Subblocks in a transform block are coded according to a diagonal scan order in a backward scan direction. Transform coefficients in each subblock are coded according to a diagonal scan order in a backward scan direction. Fig. 4 illustrates the diagonal scan order for a 4x4 block in a forward scan direction. The information on the position of the last significant coefficient in scanning order within a transform block is signaled by entropy coding the Cartesian coordinates of the last significant coefficient (LastSignificantCoeffX, LastSignificantCoeffY) , wherein LastSignificantCoeffX and LastSignificantCoeffY indicate the column position of the last significant coefficient and the row position of the last significant coefficient within a transform block, respectively. The values of LastSignificantCoeffX and LastSignificantCoeffY are entropy coded by sepeare sets of syntax elements.

[0015] The transform coefficients in a transform block may be quantized by dependent scalar quantization using two quantizers of different dead-zone sizes. The selection of one of the two quantizers is determined by a state machine with four states. The state for a current transform coefficient is determined by the state and the parity of the absolute level value for the preceding transform coefficient in scanning order. The values of the transform coefficient levels in the associated subblock are entropy coded using multiple subblock coding passes. In each coding pass, the individual transform coefficients are visited once according to a diagonal scan order in a backward scan direction. The syntax elements sig_coeff_flag, abs_level_gt1_flag, par_level_flag and abs_level_gt3_flag are signaled in the 1st sub-block coding pass. The elements abs_level_gt1_flag and abs_level_gt3_flag indicate whether the absolute value of the current coefficient level is greater than 1 and greater than 3, respectively. The syntax element par_level_flag indicates the party bit of the absolute value of the current level. The partially reconstructed absolute value of a transform coefficient level from the 1st pass is given by AbsLevelPass1 = sig_coeff_flag + par_level_flag + abs_level_gt1_flag + 2 * abs_level_gt3_flag

[0016] The syntax elements abs_remainder and coeff_sign_flag are further signaled in the following sub-block coding passes to indicate the remaining coefficient level values and signs, respectively. The fully reconstructed absolute value of a transform coefficient level is given by AbsLevel = AbsLevelPass1 + 2 *abs_remainder

[0017] The transform coefficient level is given by TransCoeffLevel = (2 *AbsLevel - (QState > 1 ? 1 : 0 ) ) * (1 -2 * coeff_sign_flag) , where QState indicates the transition state of dependent quantization for the current transform coefficient.

[0018] For achieving high compression efficiency, the context-based adaptive binary arithmetic coding (CABAC) mode, or known as regular mode, is employed for entropy coding of the values of the syntax elements in VVC. Fig. 5 provides the block diagram of the CABAC process. As the arithmetic coder in the CABAC engine can only encode the binary symbol values, the CABAC operation first needs to convert the value of a syntax element into a binary string using a binarizer (510) , the process commonly referred to as binarization. During the coding process, the accurate probability models are gradually built up from the coded symbols for the different contexts. The selection of modelling context for coding the next binary symbol can be determined by the coded information. Symbols can be coded without the context modelling stage and assume a pre-defined probability distribution, commonly referred to as the bypass mode, for improving bitstream parsing throughput rate. In Fig. 5, the context modeller (520) serves the modelling purpose. During normal context based coding, the regular coding engine (530) is used, which corresponds to a binary arithmetic coder. For the bypassed symbols, a bypass coding engine (540) may be used. As shown in Fig. 5, switches (S1, S2 and S3) are used to direct the data flow between the regular CABAC mode and the bypass mode. When the regular CABAC mode is selected, the switches are flipped to the upper contacts. When the bypass mode is selected, the switches are flipped to the lower contacts as shown in Fig. 5.

[0019] In VVC, the lossless compression of video data can be achieved by entropy coding all residual blocks in transform skip mode, setting quantization parameter (QP) value equal to 4 (corresponding to a step size equal to 1) , turning off luma mapping with chroma scaling (LMCS) , disabling joint coding of chroma residuals (JCCR) , and turning off all in-loop filtering tools such as deblock filter, adaptive loop filtering (ALF) and sample-adaptive offset (SAO) .

[0020] Joint Video Expert Team (JVET) of ITU-T SG16 WP3 and ISO / IEC JTC1 / SC29 / WG11 are currently in the process of exploring the next-generation video coding standard. Some promising new coding tools have been adopted into Enhanced Compression Model 14 (ECM 14) (M. Coban, F. Le Léannec, R. -L. Liao, K. Naser, J.  L. Zhang “Algorithm description of Enhanced Compression Model 11 (ECM 14) , ” Joint Video Expert Team (JVET) of ITU-T SG 16 WP 3 and ISO / IEC JTC 1 / SC 29, Doc. JVET-AF2025, 35th Meeting, Sapporo, JP, 12–19 July 2024) to further improve VVC. In ECM 14, the MTS scheme is further enhanced to include additional separable transforms derived by DCT5, DST4, DST1, and identity transform (IDT) for intra coding. For 4-pt, 8-pt and 16-pt transforms, the current MTS transform cores, i.e., DST-7 and DCT-8, is replaced with separable KLTs. The previous LFNST design in VVC is further extended to include more LFNST sets and candidate transform types. The separable DCT2 plus LFNST transform combinations are replaced with non-separable primary transform (NSPT) for the block shapes 4x4, 4x8, 8x4 and 8x8, 4x16, 16x4, 8x16 and 16x8.

[0021] The present invention is intended to further improve the performance of entropy coding for transform coefficients of residual data in a video coding system. BRIEF SUMMARY OF THE INVENTION

[0022] A method and apparatus of decoding transform coefficients of residual data in a video coding system are disclosed. According to this method, coded data for one or more syntax elements associated with transform coefficients corresponding to a residual block of a current block is received at a decoder side. One or more high-level syntax elements indicating whether to enable a controlling scheme are parsed. In response to said one or more high-level syntax elements indicating the controlling scheme being enabled: parsing a value for a target syntax flag related to representation of the transform coefficients is skipped with an inferred value for the target syntax flag when a target probability for a selected context variable associated with the target syntax flag corresponds to a specified high probability range or a specified low probability range; and decoded data for said one or more syntax elements associated with the transform coefficients comprising the inferred value for the target syntax flag is derived.

[0023] In one embodiment, the inferred value is equal to 1 when a probability of the value of the target syntax flag being equal to 1, determined based on the selected context variable, corresponds to the specified high probability range, and the inferred value is equal to 0 when said probability corresponds to the specified low probability range.

[0024] In one embodiment, said one or more high-level syntax elements are in SPS (Sequence Parameter Set) , PPS (Picture Parameter Set) , PH (Picture header) , SH (Slice header) , or a combination thereof.

[0025] In one embodiment, when lossless compression is applied to the current block, said one or more high-level syntax elements indicate the controlling scheme being disabled.

[0026] In another method, the video decoding system utilizes high-level syntax for indicating lossless video compression. According to this method, a current bitstream comprising coded data for one or more syntax elements associated with transform coefficients corresponding to a residual block of a current block is received at a decoder side. One or more high-level syntax elements indicating whether the current bitstream represents coded input video data by lossless compression are parsed. In response to said one or more high-level syntax elements indicating that the current bitstream represents the coded input video data by the lossless compression: the current bitstream is decoded to reconstruct the transform coefficients using the lossless compression; and reconstructed transform coefficients are provided.

[0027] In one embodiment, the method further comprises inferring a value for a target syntax flag related to representation of the transform coefficients as an inferred value for the target syntax flag when a target probability for a selected context variable associated with the target syntax flag corresponds to a specified high probability range or a specified low probability range.

[0028] In one embodiment, when said one or more high-level syntax elements indicates that the current bitstream represents the coded input video data by the lossless compression, said inferring the value for the target syntax flag related to the representation of the transform coefficients as the inferred value for the target syntax flag is disabled when the target probability for the selected context variable associated with the target syntax flag corresponds to the specified high probability range or the specified low probability range.

[0029] In one embodiment, one or more second high-level syntax elements are parsed to indicate whether to enable or disable said inferring the value for the target syntax flag related to the representation of the transform coefficients as the inferred value for the target syntax flag when the target probability for the selected context variable associated with the target syntax flag corresponds to the specified high probability range or the specified low probability range.

[0030] In one embodiment, said one or more second high-level syntax elements are not parsed when said one or more high-level syntax elements indicates that the current bitstream represents the coded input video data by the lossless compression.

[0031] In another method, the system disables skipping syntax under lossless compression condition. According to this method, a current bitstream comprising coded data for one or more syntax elements associated with transform coefficients corresponding to a residual block of a current block is received at a decoder side. A pre-defined parameter setting for lossless compression is determined, wherein all coding tools that cause coding artefacts are disabled. If the defined parameter setting is used for the current block: inferring a value for a target syntax flag related to representation of the transform coefficients as an inferred value for the target syntax flag is disabled when a target probability for a selected context variable associated with the target syntax flag corresponds to a specified high probability range or a specified low probability range; the current bitstream is decoded to reconstruct the transform coefficients using the lossless compression; and reconstructed transform coefficients are provided.

[0032] In one embodiment, the pre-defined parameter setting comprises disabling in-loop filtering, disabling LMCS, setting quantization step size equal to 1, skipping transformation on residual blocks, disabling Joint Coding of Chroma Residuals (JCCR) , or a combination thereof.

[0033] The encoding methods for the above decoding methods are also disclosed.BRIEF DESCRIPTION OF THE DRAWINGS

[0034] Fig. 1A illustrates an exemplary adaptive Inter / Intra video coding system incorporating loop processing.

[0035] Fig. 1B illustrates a corresponding decoder for the encoder in Fig. 1A.

[0036] Fig. 2 illustrates that a CU can be split into smaller CUs using one of the five split types (quad-tree partitioning, vertical binary tree partitioning, horizontal binary tree partitioning, vertical center-side triple-tree partitioning, and horizontal center-side triple-tree partitioning) .

[0037] Fig. 3 illustrates an example of a CTU being recursively partitioned by QT with the nested MTT.

[0038] Fig. 4 illustrates diagonal scan order for a 4x4 block in a forward scan direction.

[0039] Fig. 5 illustrates an exemplary block diagram of the CABAC process.

[0040] Fig. 6 illustrates an example of neighboring coefficients used for context modeling for entropy coding a current coefficient (in dark) in VVC.

[0041] Fig. 7 illustrates an example of previous coefficients used for context modeling for entropy coding a current coefficient (in dark) from a LFNST / NSPT block in ECM.

[0042] Fig. 8 illustrates a flowchart of an exemplary video decoding system that utilizes high-level syntax for enabling / disabling skipping syntax according to an embodiment of the present invention.

[0043] Fig. 9 illustrates a flowchart of an exemplary video decoding system that utilizes high-level syntax for indicating lossless video compression according to an embodiment of the present invention.

[0044] Fig. 10 illustrates a flowchart of an exemplary video decoding system that disables skipping syntax under lossless compression condition according to an embodiment of the present invention.DETAILED DESCRIPTION OF THE INVENTION

[0045] It will be readily understood that the components of the present invention, as generally described and illustrated in the figures herein, may be arranged and designed in a wide variety of different configurations. Thus, the following more detailed description of the embodiments of the systems and methods of the present invention, as represented in the figures, is not intended to limit the scope of the invention, as claimed, but is merely representative of selected embodiments of the invention. References throughout this specification to “one embodiment, ” “an embodiment, ” or similar language mean that a particular feature, structure, or characteristic described in connection with the embodiment may be included in at least one embodiment of the present invention. Thus, appearances of the phrases “in one embodiment” or “in an embodiment” in various places throughout this specification are not necessarily all referring to the same embodiment.

[0046] Furthermore, the described features, structures, or characteristics may be combined in any suitable manner in one or more embodiments. One skilled in the relevant art will recognize, however, that the invention can be practiced without one or more of the specific details, or with other methods, components, etc. In other instances, well-known structures, or operations are not shown or described in detail to avoid obscuring aspects of the invention. The illustrated embodiments of the invention will be best understood by reference to the drawings, wherein like parts are designated by like numerals throughout. The following description is intended only by way of example, and simply illustrates certain selected embodiments of apparatus and methods that are consistent with the invention as claimed herein.

[0047] In VVC, context modelling for entropy coding the absolute value of a current transform coefficient level is dependent on the sum of partially reconstructed absolute values of five coded spatial neighbouring transform coefficient levels after the first subblock coding pass, indicated by a variable locSumAbsPass1. Fig. 6 illustrates the positions of neighbouring coefficients used for entropy coding a current transform coefficient level in VVC. Context modelling is further dependent on the Cartesian coordinates of the current transform coefficient level within a current transform block, indicated by (xC, yC ) . Selection of a context subset offset for entropy coding the current coefficient level is determined by the diagonal distance between the position of the current transform coefficient and the current block origin, indicated by a variable d = xC + yC.

[0048] For entropy coding the syntax element sig_coeff_flag for a current transform coefficient level, the selected context variable is derived as follows: - For luma, ctxInc = 12 *Max (0, QState -1) + Min ( (locSumAbsPass1 + 1) >> 1, 3 ) + (d < 2 ? 8 : (d < 5 ? 4 : 0) ) - For chroma, ctxInc = 8 *Max (0, QState -1) + Min ( (locSumAbsPass1 + 1) >> 1, 3) + (d < 2? 4: 0) , where each subset comprises 4 context variables and the selected subset for the current transform level is determined by the diagonal distance d.

[0049] For entropy coding the syntax element abs_level_gtx for a current transform coefficient level, the selected context variable is derived as follows: - For Luma, ctxIdxSig = 1 + Min (locSumAbsPass1 –locNumSig, 4) + (d == 0 ? 15 : (d < 3 ? 10: (d < 10 ? 5: 0) ) ) – For chroma, ctxIdxSig = 1 + Min (locSumAbsPass1 –locNumSig, 4) + (d == 0 ? 5: 0) ctxIdxGtx = 0 is reserved for the last significance coefficient. where the variable locNumSig indicate the total number of the significant coefficients among the five spatial neighbouring transform coefficients, each subset comprises 5 context variables, and the selected subset for the current transform level is determined by d.

[0050] In ECM-14, a separate set of context variables are assigned for entropy coding syntax information in LFNST or NSPT transform blocks. When a current block is transformed by a LFNST or NSPT type, the variable locSumAbsPass1 is derived as the sum of partially reconstructed absolute values from five coded previous transform coefficient levels, instead of five coded spatial neighbouring transform coefficient levels. Fig. 7 illustrates the positions of previous coefficients used for entropy coding a current transform coefficient level from a LFNST or NSPT block in ECM-14. In an adopted proposal (P. Nikitin, M. Coban, M. Karczewicz, P. Garus, V. Seregin, “EE2.3-2: Transform coefficient coding, ” Joint Video Expert Team (JVET) of ITU-T SG 16 WP 3 and ISO / IEC JTC 1 / SC 29, Doc. JVET-AG0100, 33rd Meeting, by teleconference, 17–26 January 2024. ) , up to 8 syntax flags are coded in regular mode: sig_coeff_flag, gt1_flag, gt2_flag, gt3_flag, …, gt7_flag. The parity flag is coded in bypass mode. The context modelling scheme for entropy coding transform coefficients in a certain dependent quantization transition state is as follows:

[0051] Context modelling for the sig_coeff_flag ctxIdxSig = Min ( (locSumAbsPass1 + 1) >> 1, 5) ) + (d < 2 ? 6: 0) + (Luma ? (d < 5? 6: 0) : 0) , where Luma indicates whether the current block belongs to a Luma component or not.

[0052] Context modelling for the abs_level_gtX flags ctxIdxGtx = Min (locSumAbsPass1 –locNumSig, 6 ) + (d == 0 ? (Luma ? 21: 7) : Luma? d < 3 ? 14: (d < 10? 7: 0) : 0) .

[0053] In JVET-AJ0198 (F. Le Léannec, M. Balcilar, C. Salmon-Legagneur, F. Galpin, “AHG12: on residual coding in ECM, ” Joint Video Expert Team (JVET) of ITU-T SG 16 WP 3 and ISO / IEC JTC 1 / SC 29, Doc. JVET-AJ0198, 36th Meeting, Kemer, TR, 1–8 November 2024) , it is observed that the predicted probability distribution corresponding to a context variable for entropy coding sig_coeff_flag, or abs_level_gtX flags may sometimes be highly askew, corresponding to a probability model with an extremely high or low probability of a source sample value being equal to 1. In their proposed method, when the 15-bit CABAC probability prediction for the significant and gtX flags of regular residual transform is very high (e.g. above to 32720) , it is assumed the true probability is higher than the probability that CABAC’s arithmetic engine is able to perform. Similarly, when the 15-bit CABAC probability prediction for these flags is very low (e.g. below 48) , the true probability is lower than the probability that CABAC’s arithmetic engine is able to compute. Since there is a limitation in CABAC arithmetic engine to perform such low or high probability, it is assumed that the corrected probability is 1 when 15-bit predicted probability is higher than some certain threshold (e.g. 32720) and the corrected probability is 0 when 15-bit predicted probability is lower than some certain threshold (e.g. 48) . Therefore, in their method, it is proposed not to signal these flags at all and to assume it is 1 or 0, but keep updating CABAC context model when the current context variable corresponding to such high or low probability. The encoding search scheme can invalidate the candidate of solutions that includes bits where the assumption is not true. That is, the encoder will exclude a candidate syntax flag equal to 0 when the current context variable corresponding to such high probability, assuming the current syntax flag is always to be equal to 1. Similarly, the encoder will exclude a candidate syntax flag equal to 1 when the current context variable corresponding to such low probability, assuming the current syntax flag is always equal to 0. However, excluding a specified syntax flag value may lead to coding distortion. Therefore, this method cannot be applied to achieving lossless video compression.

[0054] In the present invention, methods are revealed to deal with entropy coding under such low or high probability for lossless compression. According to the aspect of the present invention, a video coder may employ the scheme of skipping a syntax flag when the probability associated with the selected context variable is higher than some specified threshold or lower than some another specified threshold, wherein the syntax flag is inferred to be equal to 1 when the probability of a source sample being equal to 1 associated with the selected context variable is higher than some specified threshold and the syntax flag is inferred to be equal to 0 when the probability of a source sample being equal to 1 associated with the selected context variable is lower than some another specified threshold. However, when lossless compression is performed, the video coder shall disable the said scheme of skipping signalling a syntax flag even when the probability associated with the selected context variable corresponds to the specified high or low probability range.

[0055] High-Level Syntax for Enabling / Disabling Skipping Syntax

[0056] In one method, a video coder may comprise a scheme of skipping signalling a syntax flag when the probability associated with the selected context variable corresponds to a specified high or low probability range, wherein the syntax flag is inferred to be equal to 1 when the selected context variable corresponds to the specified high probability range of being equal to 1, and the syntax flag is inferred to be equal to 0 when the selected context variable corresponds to the specified low probability range of being equal to 1. The video coder may further comprise signalling one or more high-level syntax elements to indicate whether to enable or disable the said scheme for coding video data. In this way, when lossless compression is performed, a video coder can disable the said scheme of skipping signalling a syntax flag when the selected context variable corresponds to a specified high or low probability range. In some embodiments, the one or more high-level syntax sets may comprise SPS, PPS, PH, SH, or a combination thereof.

[0057] High-Level Syntax for Lossless Compression

[0058] In another method, a video coder may comprise signalling one or more high-level syntax elements to indicate whether the current bitstream represents a coded input video data by lossless compression, wherein the reconstructed video at the decoder is identical to the input video at the encoder. In some embodiments, the one or more high-level syntax sets may comprise SPS, PPS, PH, SH, or a combination thereof.

[0059] The video coder may further comprise a scheme of skipping signalling a syntax flag when the selected context variable corresponds to a specified high or low probability range. When the said one or more high-level syntax elements indicate that the current bitstream is coded by lossless compression, the video coder shall disable the scheme of skipping signalling a syntax flag even when the selected context variable corresponds to a specified high or low probability range.

[0060] In some embodiment, the said one or more high-level syntax elements may comprise a first syntax to indicate whether the current bitstream represents a coded input video data by lossless compression. The video coder may further comprise a second high-level syntax to indicate whether to enable or disable the said scheme of skipping signalling a syntax flag when the selected context variable corresponds to a specified high or low probability range. When the first syntax indicates that the current bitstream represents a coded input video data by lossless compression, the value of the second syntax flag shall indicate to disable the said scheme of skipping signalling a syntax flag when the selected context variable corresponds to a specified high or low probability range. In some specific embodiment, when the first syntax indicates that the current bitstream represents a coded input video data by lossless compression, the second syntax flag is not signalled with an inferred value indicating to disable the said scheme of skipping signalling a syntax flag when the selected context variable corresponds to a specified high or low probability range.

[0061] Disabling Skipping Syntax under Lossless Compression Condition

[0062] In another method, a video coder may comprise a scheme of skipping signalling a syntax flag when the selected context variable corresponds to a specified high or low probability range, wherein the syntax flag is inferred to be equal to 1 when the selected context variable corresponds to the specified high probability range, and the syntax flag is inferred to be equal to 0 when the selected context variable corresponds to the specified low probability range. The video coder may further comprise a pre-defined parameter setting for lossless compression, wherein all the coding tools that may introduce any coding artefacts are disabled. The pre-defined parameter setting may comprise disabling in-loop filtering, disabling LMCS, setting the quantization step size equal to 1, skipping transformation on residual blocks, and disabling joint coding of chroma residuals (JCCR) . The video coder shall disable the said scheme of skipping signalling a syntax flag when the pre-defined parameter setting is adopted.

[0063] Any of the foregoing proposed methods can be implemented in encoders and / or decoders. For example, any of the proposed methods can be implemented in a coefficient coding module of an encoder, and / or a coefficient coding module of a decoder. Alternatively, any of the proposed methods can be implemented as a circuit integrated to the coefficient coding module of the encoder and / or the coefficient coding module of the decoder.

[0064] Fig. 8 illustrates a flowchart of an exemplary video decoding system that utilizes high-level syntax for enabling / disabling skipping syntax according to an embodiment of the present invention. The steps shown in the flowchart may be implemented as program codes executable on one or more processors (e.g., one or more CPUs) at the encoder side. The steps shown in the flowchart may also be implemented based hardware such as one or more electronic devices or processors arranged to perform the steps in the flowchart. According to this method, coded data for one or more syntax elements associated with transform coefficients corresponding to a residual block of a current block is received at a decoder side in step 810. One or more high-level syntax elements indicating whether to enable a controlling scheme are parsed in step 820. Whether said one or more high-level syntax elements indicate the controlling scheme is enabled is checked in step 830. If said one or more high-level syntax elements indicate the controlling scheme is enabled (i.e., the “Yes” path from step 830) , steps 840 and 850 are performed. Otherwise (i.e., the “No” path from step 830) , steps 840 and 850 are skipped. In step 840, skipping parsing a value for a target syntax flag related to representation of the transform coefficients by using an inferred value for the target syntax flag when a target probability for a selected context variable associated with the target syntax flag corresponds to a specified high probability range or a specified low probability range. In step 850, decoded data for said one or more syntax elements associated with the transform coefficients comprising the inferred value for the target syntax flag is derived.

[0065] Fig. 9 illustrates a flowchart of an exemplary video decoding system that utilizes high-level syntax for indicating lossless video compression according to an embodiment of the present invention. According to this method, a current bitstream comprising coded data for one or more syntax elements associated with transform coefficients corresponding to a residual block of a current block is received at a decoder side in step 910. One or more high-level syntax elements indicating whether the current bitstream represents coded input video data by lossless compression are parsed in step 920. Whether said one or more high-level syntax elements indicate that the current bitstream represents the coded input video data by lossless compression is checked at step 930. If said one or more high-level syntax elements indicate that the current bitstream represents the coded input video data by the lossless compression (i.e., the “Yes” path from step 930) , steps 940 and 950 are performed. Otherwise (i.e., the “No” path from step 930) , steps 940 and 950 are skipped. In step 940, the current bitstream is decoded to reconstruct the transform coefficients using the lossless compression. In step 950, reconstructed transform coefficients are provided.

[0066] Fig. 10 illustrates a flowchart of an exemplary video decoding system that disables skipping syntax under lossless compression condition according to an embodiment of the present invention. According to this method, a current bitstream comprising coded data for one or more syntax elements associated with transform coefficients corresponding to a residual block of a current block is received at a decoder side in step 1010. A pre-defined parameter setting for lossless compression is determined in step 1020, wherein all coding tools that cause coding artefacts are disabled. Whether the defined parameter setting is used for the current block is checked in step 1030. If the defined parameter setting is used for the current block (i.e., the “Yes” path from step 1030) , steps 1040 to 1060 are performed. Otherwise (i.e., the “No” path from step 1030) , steps 1040 to 1060 are skipped. In step 1040, inferring a value for a target syntax flag related to representation of the transform coefficients as an inferred value for the target syntax flag is disabled when a target probability for a selected context variable associated with the target syntax flag corresponds to a specified high probability range or a specified low probability range. In step 1050, the current bitstream is decoded to reconstruct the transform coefficients using the lossless compression. In step 1060, reconstructed transform coefficients are provided.

[0067] The flowcharts shown are intended to illustrate an example of video coding according to the present invention. A person skilled in the art may modify each step, re-arranges the steps, split a step, or combine steps to practice the present invention without departing from the spirit of the present invention. In the disclosure, specific syntax and semantics have been used to illustrate examples to implement embodiments of the present invention. A skilled person may practice the present invention by substituting the syntax and semantics with equivalent syntax and semantics without departing from the spirit of the present invention.

[0068] The above description is presented to enable a person of ordinary skill in the art to practice the present invention as provided in the context of a particular application and its requirement. Various modifications to the described embodiments will be apparent to those with skill in the art, and the general principles defined herein may be applied to other embodiments. Therefore, the present invention is not intended to be limited to the particular embodiments shown and described, but is to be accorded the widest scope consistent with the principles and novel features herein disclosed. In the above detailed description, various specific details are illustrated in order to provide a thorough understanding of the present invention. Nevertheless, it will be understood by those skilled in the art that the present invention may be practiced.

[0069] Embodiment of the present invention as described above may be implemented in various hardware, software codes, or a combination of both. For example, an embodiment of the present invention can be one or more circuit circuits integrated into a video compression chip or program code integrated into video compression software to perform the processing described herein. An embodiment of the present invention may also be program code to be executed on a Digital Signal Processor (DSP) to perform the processing described herein. The invention may also involve a number of functions to be performed by a computer processor, a digital signal processor, a microprocessor, or field programmable gate array (FPGA) . These processors can be configured to perform particular tasks according to the invention, by executing machine-readable software code or firmware code that defines the particular methods embodied by the invention. The software code or firmware code may be developed in different programming languages and different formats or styles. The software code may also be compiled for different target platforms. However, different code formats, styles and languages of software codes and other means of configuring code to perform the tasks in accordance with the invention will not depart from the spirit and scope of the invention.

[0070] The invention may be embodied in other specific forms without departing from its spirit or essential characteristics. The described examples are to be considered in all respects only as illustrative and not restrictive. The scope of the invention is therefore, indicated by the appended claims rather than by the foregoing description. All changes which come within the meaning and range of equivalency of the claims are to be embraced within their scope.

Claims

1.A method of video decoding, the method comprising:receiving coded data for one or more syntax elements associated with transform coefficients corresponding to a residual block of a current block at a decoder side;parsing one or more high-level syntax elements indicating whether to enable a controlling scheme;in response to said one or more high-level syntax elements indicating the controlling scheme being enabled:skipping parsing a value for a target syntax flag related to representation of the transform coefficients by using an inferred value for the target syntax flag when a target probability for a selected context variable associated with the target syntax flag corresponds to a specified high probability range or a specified low probability range; andderiving decoded data for said one or more syntax elements associated with the transform coefficients comprising the inferred value for the target syntax flag.2.The method of Claim 1, wherein the inferred value is equal to 1 when a probability of the value of the target syntax flag being equal to 1, determined based on the selected context variable, corresponds to the specified high probability range, and the inferred value is equal to 0 when said probability corresponds to the specified low probability range.3.The method of Claim 1, wherein said one or more high-level syntax elements are in SPS (Sequence Parameter Set) , PPS (Picture Parameter Set) , PH (Picture header) , SH (Slice header) , or a combination thereof.4.The method of Claim 1, wherein when lossless compression is applied to the current block, said one or more high-level syntax elements indicate the controlling scheme being disabled.5.A method of video encoding, the method comprising:receiving one or more syntax elements associated with transform coefficients corresponding to a residual block of a current block at an encoder side;signalling one or more high-level syntax elements indicating whether to enable a controlling scheme; andin response to said one or more high-level syntax elements indicating the controlling scheme being enabled:skipping signalling a target syntax flag from said one or more syntax elements when a target probability for a selected context variable associated with the target syntax flag corresponds to a specified high probability range or a specified low probability range; andproviding coded data for said one or more syntax elements associated with the transform coefficients with the target syntax flag being skipped.6.A method of video decoding, the method comprising:receiving a current bitstream comprising coded data for one or more syntax elements associated with transform coefficients corresponding to a residual block of a current block at a decoder side;parsing one or more high-level syntax elements indicating whether the current bitstream represents coded input video data by lossless compression;in response to said one or more high-level syntax elements indicating that the current bitstream represents the coded input video data by the lossless compression:decoding the current bitstream to reconstruct the transform coefficients using the lossless compression; andproviding reconstructed transform coefficients.7.The method of Claim 6, further comprising inferring a value for a target syntax flag related to representation of the transform coefficients as an inferred value for the target syntax flag when a target probability for a selected context variable associated with the target syntax flag corresponds to a specified high probability range or a specified low probability range.8.The method of Claim 7, wherein when said one or more high-level syntax elements indicates that the current bitstream represents the coded input video data by the lossless compression, said inferring the value for the target syntax flag related to the representation of the transform coefficients as the inferred value for the target syntax flag is disabled when the target probability for the selected context variable associated with the target syntax flag corresponds to the specified high probability range or the specified low probability range.9.The method of Claim 7, wherein one or more second high-level syntax elements are parsed to indicate whether to enable or disable said inferring the value for the target syntax flag related to the representation of the transform coefficients as the inferred value for the target syntax flag when the target probability for the selected context variable associated with the target syntax flag corresponds to the specified high probability range or the specified low probability range.10.The method of Claim 9, wherein said one or more second high-level syntax elements are not parsed when said one or more high-level syntax elements indicates that the current bitstream represents the coded input video data by the lossless compression.11.A method of video encoding, the method comprising:receiving one or more syntax elements associated with transform coefficients corresponding to a residual block of a current block at an encoder side;signalling one or more high-level syntax elements indicating whether input video data is coded by lossless compression;in response to said one or more high-level syntax elements indicating that the input video data is coded by the lossless compression:encoding said one or more syntax elements associated with the transform coefficients using the lossless compression; andproviding a current bitstream comprising coded data of said one or more syntax elements associated with the transform coefficients.12.A method of video decoding, the method comprising:receiving a current bitstream comprising coded data for one or more syntax elements associated with transform coefficients corresponding to a residual block of a current block at a decoder side;determining a pre-defined parameter setting for lossless compression, wherein all coding tools that cause coding artefacts are disabled;if the defined parameter setting is used for the current block:disabling inferring a value for a target syntax flag related to representation of the transform coefficients as an inferred value for the target syntax flag when a target probability for a selected context variable associated with the target syntax flag corresponds to a specified high probability range or a specified low probability range;decoding the current bitstream to reconstruct the transform coefficients using the lossless compression; andproviding reconstructed transform coefficients.13.The method of Claim 12, wherein the pre-defined parameter setting comprises disabling in-loop filtering, disabling LMCS, setting quantization step size equal to 1, skipping transformation on residual blocks, disabling Joint Coding of Chroma Residuals (JCCR) , or a combination thereof.14.A method of video encoding, the method comprising:receiving one or more syntax elements associated with transform coefficients corresponding to a residual block of a current block at an encoder side;determining a pre-defined parameter setting for lossless compression, wherein all coding tools that cause coding artefacts are disabled;if the defined parameter setting is used for the current block:disabling skipping signalling a target syntax flag from said one or more syntax elements when a target probability for a selected context variable associated with the target syntax flag corresponds to a specified high probability range or a specified low probability range; andencoding said one or more syntax elements associated with the transform coefficients using the lossless compression; andproviding a current bitstream comprising coded data of said one or more syntax elements associated with the transform coefficients.

Citation Information

Patent Citations

  • Regular coded bin reduction for coefficient coding using threshold and rice parameter

    CN112640457A

  • Reducing the number of regular coded bins

    EP3709657A1

  • Method and apparatus for the signaling of lossless video coding

    US20170180737A1

  • Method and apparatus for coding video data

    WO2021050193A1