Residual and coefficient coding and decoding of video coding and decoding
The method improves video encoding and decoding efficiency by using Golomb-Rice coding and bypass bins with Rice parameter adaptation, addressing challenges in residual and coefficient coding to enhance quality and reduce bit rate.
Patent Information
- Application Number
- JP2025127035
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2021-05-26
- Filing Date
- 2025-07-30
- Publication Date
- 2025-11-05
- Estimated Expiration
- 2042-05-26
AI Technical Summary
Existing video encoding and decoding technologies face challenges in maximizing video quality while minimizing degradation and compressing audio data into a lower bit rate, particularly in handling residual and coefficient coding and decoding processes.
Implementing a method for binarization of abs_remainder and dec_abs_level using Golomb-Rice coding and bypass coded bins, with Rice parameter adaptation based on context-coded bins, and enabling sequence parameter set Rice adaptation to optimize coding efficiency.
Enhances video quality by improving coding efficiency and reducing bit rate, while ensuring effective residual and coefficient decoding in video encoding and decoding processes.
Smart Images

Figure 2025166007000001_ABST
Abstract
Description
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application is a joint venture of U.S. Provisional Patent Application No. 63 / 193,593, filed May 26, 2021. No. 60 / 699,999, filed on Oct. 1, 2003, the entire contents of which are incorporated herein by reference. do. [Technical Field]
[0002] This disclosure relates to video encoding, decoding, and compression. More particularly, this disclosure relates to video encoding, decoding, and compression. This invention relates to improvements and simplifications in residual and coefficient coding and decoding. [Background technology]
[0003] Various video encoding and decoding techniques can be used to compress video data. Video encoding and decoding is performed in accordance with one or more video encoding and decoding standards. For example, video coding and decoding standards include Versatile Video Coding (VVC), Joint Search Test Model, JEM, High Efficiency Video Coding / Decoding (H.265 / HEVC), Advanced Video Coding Decoding (H.264 / AVC), Motion Picture Experts Committee (MPEG) coding and decoding, etc. Video encoding and decoding generally exploits redundancies present in video images or sequences. A prediction method (e.g., inter-prediction, intra-prediction, etc.) is used to encode the video. One important goal of encryption technology is to maximize the video quality while avoiding or minimizing degradation of video quality. The goal is to compress the audio data into a format with a lower bit rate. Summary of the Invention
[0004] Embodiments of the present disclosure provide a video encoding / decoding method and apparatus.
[0005] According to a first aspect of the present disclosure, there is provided a video decoding method, the method comprising: Therefore, for binarization of abs_remainder and dec_abs_level The sequence parameter set (S The parameter abs_rem may include receiving a Rice extension flag. ainder is set when the number of remaining context-coded bins in the first pass is 4 or more. If it is above, then in the second pass, the Golomb-Rice code and bypass coded bins are used. The parameter dec indicates the first syntax element, which is the remainder of the level information of the coded coefficients. _abs_level is the residual of the context coded bins in the first pass coding. If the number is less than 4, it is Golomb-Rice coded and bypass coded in the second pass. indicates the second syntax element, which is the current coefficient directly coded using the selected bin.
[0006] According to a second aspect of the present disclosure, there is provided a video decoding method, the method comprising: Therefore, at the beginning of each transform unit (TU), the statistics accumulated from the previous TU are used to calculate ab Rice parameters for binarization of s_remainder and dec_abs_level Sequence Parameter Set (SPS) Rice adaptation enabled, indicating whether to initialize the data derivation. The parameter abs_remainder may include receiving an enable flag. is when the remaining number of context-coded bins in the first pass is 4 or more. Then, in the second pass, the Golomb-Rice code is coded and the bypass coded bins are The parameter dec_abs_l indicates the first syntax element, which is the remainder of the coefficient level information. level is the value when the number of remaining context-coded bins in the first pass encoding is less than 4. In some cases, the second pass uses Golomb-Rice coding and bypass coded bins. indicates the second syntax element, which is the current coefficient directly coded using
[0007] The foregoing general description and the following detailed description are exemplary and explanatory only. It should be understood that this is not intended to limit the disclosure. [Brief explanation of the drawings]
[0008] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with this disclosure. and together with the description serve to explain the principles of the present disclosure.
[0009] [Figure 1] FIG. 2 is a block diagram of an encoder according to one embodiment of the present disclosure. [Figure 2] FIG. 2 is a block diagram of a decoder according to one embodiment of the present disclosure. [Figure 3] FIG. 1 illustrates block division of a multi-type tree structure according to one embodiment of the present disclosure. [Figure 4] 1 is a diagram illustrating a residual encoding / decoding structure of a transform block according to one embodiment of the present disclosure. [Figure 5] 1 is a diagram illustrating a residual encoding and decoding structure of a transform skip block according to one embodiment of the present disclosure. [Figure 6] 1 is a method for encoding a video signal according to one embodiment of the present disclosure. [Figure 7] 1 is a method for encoding a video signal according to one embodiment of the present disclosure. [Figure 8] FIG. 1 illustrates a computing environment coupled to a user interface according to one embodiment of the present disclosure. [Figure 9] 1 illustrates a video encoding / decoding method according to one embodiment of the present disclosure. [Figure 10] 1 illustrates a video encoding / decoding method according to one embodiment of the present disclosure. [Figure 11] 1 illustrates a video encoding / decoding method according to one embodiment of the present disclosure. [Figure 12] 1 illustrates a video encoding / decoding method according to one embodiment of the present disclosure. [Figure 13] FIG. 1 is a block diagram illustrating an example system for encoding and decoding video blocks, according to one embodiment of the present disclosure. [Figure 14] FIG. 2 is a block diagram illustrating an exemplary video encoder according to one embodiment of the present disclosure. [Figure 15] FIG. 2 is a block diagram illustrating an exemplary video decoder according to one embodiment of the present disclosure. [Figure 16] 1 illustrates a low-delay transform skip residual coding and decoding (TSRC) method according to one embodiment of the present disclosure. [Figure 17] 1 illustrates a video decoding method according to one embodiment of the present disclosure. [Figure 18] 1 illustrates a video decoding method according to one embodiment of the present disclosure. DETAILED DESCRIPTION OF THE INVENTION
[0010] Reference will now be made in detail to specific embodiments, examples of which are illustrated in the accompanying drawings. Unless otherwise stated, the same numbers in different drawings may refer to the same or similar elements.
[0013] Reference is made to the drawings, which illustrate the implementations described in the following description of exemplary embodiments. These do not represent all implementations consistent with this disclosure. The described are merely examples of apparatus and methods consistent with aspects related to the present disclosure.
[0011] The terminology used in this disclosure is used only for the purpose of describing particular embodiments. and are not intended to limit the present disclosure. The singular forms "a kind," "one," and "the" are used unless the context clearly dictates otherwise. Furthermore, as used herein, "and / or" includes the plural form unless otherwise specified. The term "is" refers to any or all of the relevant listed items. The following expressions are intended to indicate or include possible combinations:
[0012] In this specification, terms such as "first," "second," and "third" are used to describe various pieces of information. However, it is understood that this information should not be limited to these terms. These terms are used only to distinguish one type of information from another. For example, the first information may be referred to as the second information without departing from the scope of this disclosure. Similarly, the second information may be referred to as the first information. Thus, depending on the context, the word "if" can be used to mean "when..." or "then..." or " is understood to mean "amenable to judgment."
[0013] Figure 1 shows a general diagram of a VVC block-based video encoder. 1 shows a typical encoder 100. The encoder 100 receives a video input 110, Motion compensation 112, motion estimation 114, intra / inter mode decision 116, block prediction 140, adder 128, transform 130, quantization 132, prediction related information 142, intra prediction measurement 118, image buffer 120, inverse quantization 134, inverse transform 136, adder 126, memory 124, in-loop filter 122, entropy coding 138, and bitstream Includes 144.
[0014] In the encoder 100, a video frame is divided into multiple video blocks for processing. For each given video block, an inter-prediction approach or an intra-prediction approach is used. Based on the approach, a prediction is formed.
[0015] The current video block, which is part of the video input 110, and part of the block predictor 140 The prediction residual, which represents the difference between the predictor, The transform coefficients are then sent from transform 130 to quantization 132 for entropy reduction. The quantized coefficients are then fed to entropy coding 138 to produce compressed video bits. As shown in Figure 1, the video stream is generated by dividing the video blocks into blocks, MV), reference image index, and intra / intermotion prediction modes Prediction related information 142 from the decision 116 is also provided by entropy coding 138, The compressed bitstream 144 is stored in , including the video bitstream.
[0016] The encoder 100 also includes decoder-related circuitry to reconstruct pixels for prediction purposes. First, the prediction residual is reconstructed by inverse quantization 134 and inverse transformation 136. The reconstructed prediction residual is combined with the block predictor 140 to generate a current video block. Produces unfiltered reconstructed pixels for
[0017] Spatial prediction (or "intra prediction") is a prediction performed within the same video frame as the current video block. It uses pixels from samples of already coded neighboring blocks (called reference samples). is used to predict the current video block.
[0018] Temporal prediction (also called "inter-prediction") is the reconstruction of an already coded video image. The constructed pixels are used to predict the current video block. Reduces the time redundancy inherent in a given coding unit (CU) or coding block. The inter-prediction signal is typically one or more signals that indicate the amount and direction of motion between the current CU and its time reference. Furthermore, if multiple reference images are supported, then 1 A reference picture index is further sent, the reference picture index being the reference picture index of the temporal prediction signal. Used to identify which reference image in the image store it comes from.
[0019] The motion estimation 114 takes signals from the video input 110 and the image buffer 120, The motion estimation signal is output to the motion compensation 112. The motion compensation 112 receives the video input 110, the image The signal from the buffer 120 and the motion estimation signal from the motion estimation 114 are taken in, and the motion estimation signal is The compensation signal is output to the intra / inter mode decision 116 .
[0020] After spatial and / or temporal prediction is performed, the intra / inter motion of the encoder 100 The mode decision 116 selects the optimal prediction mode based on, for example, a rate-distortion optimization method. The block predictor 140 is then subtracted from the current video block, resulting in a prediction The residual is decorrelated by transform 130 and quantization 132. The resulting quantized residual coefficients are , which is inversely quantized by inverse quantization 134 and inversely transformed by inverse transformation 136 to be reconstructed. The reconstructed residual is then added to the predicted block to form a reconstructed CU. Deblocking filter, Sample Adaptive Offset (SAO) , and / or further in-loop filtering such as an adaptive in-loop filter (ALF) 122, the reconstructed CU is placed in the reference image storage of the image buffer 120, and be applied to the reconstructed CU before being used to encode the video block. To form the output video bitstream 144, the coding mode (interlace) The prediction mode information, motion information, and quantized residual coefficients are all included in the entropy information. The data is sent to the bit coding unit 138 for further compression and packaging into a bitstream. Form a team.
[0021] Figure 1 shows a block diagram of a typical block-based hybrid video coding system. The input video signal is processed in blocks (called coding units (CUs)). In VTM-1.0, a CU can be up to 128x128 pixels. However, unlike HEVC, which splits blocks based only on quadtrees, VVC ,One coding tree unit (CTU) is based on quadtree / binarytree / ternarytree, ,variable By definition, the coding tree blocks are divided into CUs to adapt to the local characteristics of the blocks. The CTB is a subset of N such that dividing the components into CTBs is a partition. The CTU contains an NxN block of samples. The CTU contains the luminance subsample of the image with three sample arrays. A CTB of one sample, the corresponding CTB of two saturation samples, or a monochrome image, or three of an image encoded with the syntax structure used to encode the distinct color planes and samples of A sample CTB is included. Furthermore, the concept of multiple fragmentation unit types in HEVC is The separation of CU, prediction unit (PU), and transform unit (TU) is no longer instead, each CU is used for both prediction and transformation without further partitioning. In a multi-type tree structure, first, one C The TU is divided into quadtrees. Then, each quadtree leaf node is divided into binary and It can be further divided by a ternary tree structure. As shown in Figure 3E, there are five division types: 4-way division, horizontal 2-way division, vertical 2-way division, horizontal ... There are three horizontal divisions and three vertical divisions.
[0022] FIG. 3A is a diagram illustrating a block quad division in a multi-type tree structure according to the present disclosure. show.
[0023] FIG. 3B illustrates a vertical bisection of a block in a multi-type tree structure according to the present disclosure. The figure is shown.
[0024] FIG. 3C illustrates horizontal bisection of blocks in a multi-type tree structure according to the present disclosure. The figure is shown.
[0025] FIG. 3D illustrates a vertical 3-part division of blocks in a multi-type tree structure according to the present disclosure. The figure is shown.
[0026] FIG. 3E illustrates a horizontal division of blocks into thirds in a multi-type tree structure according to the present disclosure. The figure is shown.
[0027] In FIG. 1, spatial prediction and / or temporal prediction may be performed. The "measurement" is a measure of the already coded samples of neighboring blocks of the same video picture / slice (see The spatial prediction uses pixels from the current video block (called a sample). Temporal prediction (also known as "inter-prediction" or "motion prediction") reduces the spatial redundancy inherent in video signals. (also called "compensated prediction") uses reconstructed pixels from already coded video images. Temporal prediction uses the temporal redundancy inherent in video signals to predict the current video block. The temporal prediction signal for a given CU is typically the sum of the current CU and its time reference. signaled by one or more motion vectors (MVs) indicating the amount and direction of movement between Also, if multiple reference images are supported, one reference image index is updated. and the reference picture index indicates which reference picture in the reference picture store the temporal prediction signal corresponds to. After spatial and / or temporal prediction, the encoder The mode decision block selects the optimal prediction mode, for example, based on a rate-distortion optimization method. The prediction block is then subtracted from the current video block, and the prediction residual is transformed The quantized residual coefficients are dequantized and inverse transformed to to form a reconstructed residual, which is then re-added to the predicted block , form the reconstructed signal of the CU. Furthermore, a deblocking filter, sample adaptive opto- In-loop filtering such as the adaptive offset (SAO) and adaptive in-loop filter (ALF) The reconstructed CU is then placed in a reference picture store to encode future video blocks. It can be applied to the reconstructed CU before being used to encode the output video. To form a bit stream, the coding mode (inter or intra), prediction mode the information, the motion information, and the quantized residual coefficients are all sent to an entropy coding unit; It is further compressed and packed to form a bitstream.
[0028] Figure 2 shows a general block diagram of a video decoder for VVC. 1 shows a block diagram of an exemplary decoder 200. The decoder 200 receives bitstream 2 10, entropy decoding 212, inverse quantization 214, inverse transform 216, adder 218, Intra / Inter mode selection 220, intra prediction 222, memory 230, in-loop filter filter 228, motion compensation 224, picture buffer 226, prediction related information 234, and video output Includes force 232.
[0029] The decoder 200 is similar to the reconstruction-related parts present in the encoder 100 of FIG. In the decoder 200, the input video bitstream 210 undergoes entropy decoding 211. 2 to derive the quantized coefficient levels and prediction related information. The quantized coefficient levels are processed by inverse quantization 214 and inverse transform 216 to reconstruct The block predictor implemented in the intra / inter mode selection 220 is used to obtain the predicted residual. The mechanism performs intra prediction 222 or motion compensation 224 based on the decoded prediction information. The unfiltered set of reconstructed pixels is then subjected to an inverse transform 21. Add the reconstructed prediction residual from 6 and the prediction output generated by the block predictor mechanism. The sum is obtained by summing using the calculator 218.
[0030] The reconstructed blocks are stored in an image buffer 226, which acts as a reference image store. The image may further pass through an in-loop filter 228 before being filtered. The reconstructed video of 6 is not only used to predict future video blocks. The in-loop filter 228 may also be sent to drive a display device. When is turned on, a filtering operation is performed on these reconstructed pixels. are performed to derive the final reconstructed video output 232.
[0031] Figure 2 shows a general block diagram of a block-based video decoder. The stream is first entropy decoded in an entropy decoding unit. The coding mode and prediction information is given in the spatial prediction unit (if intra-coded) or sent to the temporal prediction unit (if inter-coded) to form a prediction block. The residual transform coefficients are sent to the inverse quantization unit and the inverse transform unit to reconstruct the residual block. Then the predicted block and the residual block are added together. The reconstructed block is , can be further subjected to in-loop filtering before being stored in the reference image store. The reconstructed video in the reference image store is then used to predict future video blocks. It is used for driving display devices as well as for driving video signals. Transform Coefficient Coding in VVC
[0032] In the transform coefficient coding / decoding in VVC, the variable remBinsPass1 is It is initially set to the maximum number of context coded bins (MCCB) that will be used. In the encoding process, the variable is incremented by 1 each time a context-coded bin is signaled. If remBinsPass1 is 4 or more, the coefficients are all reduced in the first pass. In this case, we use the context-coded bins, sig_coeff_flag, ab s_level_gt1_flag, par_level_flag, abs_level The remaining coefficient level information is signaled first by the l_gt3_flag syntax. Section 1.2 uses Golomb-Rice coding and bypass coded bins in the second pass. It is coded with the syntax element abs_remainder. If nsPass1 is less than 4, the current coefficient is coded in the first pass. Although not yet implemented, in the second pass, Golomb-Rice coding and bypass coded bins are used. It is directly encoded in the syntax element dec_abs_level using dec_abs_l. The Rice parameter derivation process for evel[] is derived as specified in Table 1A. After all the above levels of coding, all the levels with sig_coeff_flag equal to 1 The sign of the scan position (sign_flag) is finally encoded as a bypass bin. This process is shown in Figure 4. remBinsPass1 is reset for each TB. Ru. sig_coeff_flag, abs_level_gt1_flag, par_ Context mark for level_flag and abs_level_gt3_flag Transition from using coded bins to using bypass coded bins for the remaining coefficients occurs at most once per TB. For coefficient sub-blocks, the Before encoding the first coefficient, if remBinsPass1 is less than 4, the coefficient sub- The entire block is coded using the bypass coded bins.
[0033] FIG. 4 shows a diagram of the residual coding and decoding structure of a transform block. JPEG2025166007000002.jpg162162JPEG2025166007000003.jpg69163Residual coding and decoding in transform skip mode in VVC
[0034] In transform skip mode, the statistical properties of the residual signal and the transform coefficients differ, resulting in low No energy compression around frequency components is observed. Residual coding is performed using (spatial) transform skipping. The residual is modified to take into account different signal characteristics.
[0035] FIG. 5 shows a diagram of the residual coding structure of a transform skip block. General constraint information
[0036] The GCI structure ensures that only intra coding is used and that all layers are coded independently. Do not indicate that the bitstream contains only one AU. Which general bitstream restriction flags and bit depth and chroma format of the encoded image Fields that constrain the format and whether a particular NAL unit type is present in the bitstream Flags indicating that the image cannot be sliced, tiled, or sub- in the bitstream Flags that constrain how an image can be split, the size of the CTU, and the size of the splitting tree flags that constrain the use of specific intra-coding tools; Flags that constrain the use of certain inter-coding tools, transform, quantization, and residual coding flags that constrain the tool and flags that constrain aspects of the in-loop filter. It contains several types of constraint syntax elements.
[0037] The purpose of the GCI syntax structure is to provide configuration information about the features required for decoding the bitstream. To make it easier to discover and to avoid the problems allowed by previous video encoding and decoding standards. It provides finer granularity and limits beyond those specified by the profile, tier, and level (PTL). The purpose of this sub-profile is to enable signaling of interoperability points that enforce limitations. Similarly, according to the GCI syntax structure, it supports all the features of the VVC profile. However, there are many applications for which the decoder implementation addresses the needs of specific applications. It allows the decoder implementation to define how the decoding process works. Determines whether the bitstream is decodable by the decoder. To distinguish between these, the GCI syntax elements are examined to determine whether the bitstream avoids the use of certain features. A decoder that supports all the features of the VVC profile may be checked. The implementation of the decoder is such that the decoder can decode any bitstream that conforms to the specified PTL. Therefore, the value of the GCI syntax element can be ignored. Transform skip residual coding and decoding
[0038] In a 27th aspect of the present disclosure, a variable set of binary code words is used to calculate a transform skip residual In encoding and decoding, specific syntax elements such as abs_remainder are encoded and decoded. It is proposed to simplify the selection based on TB / CB and / or slice / profile. The specific code of the current block, such as the associated quantization parameter or coding bit depth, Depending on the encoded information and / or at the TB / CB / slice / image / sequence level extended_precision_processing_fl associated with The variable set of binary codewords is determined by new flags such as ag. Some exemplary methods are listed below.
[0039] First, we determine the codeword for abs_remainder currently used in VVC. The same procedure is used as in the previous example, but always with a fixed Rice parameter (e.g., 2, 3, The fixed values are TB / CB and / or slice / progression. The quantization parameters associated with the profile, the frame type (e.g., I, P, or B) ), component ID (e.g., luminance or saturation), color format (e.g., 420, 422 or 444) or depending on the specific coded information of the current block, such as the coding bit depth. and / or r associated with TB / CB / slice / image / sequence level Depending on syntax elements such as ice_parameter_value, different conditions may be used. As a specific example, TH1 to TH4 may be <TH2<TH3<TH4 ) and K0 to K4 are predetermined Rice parameters. In practice, the same logic may be implemented differently. For example, a particular expression Or use a lookup table to find the same row from the bit depth value of the current CU / sequence. The iss parameters may be derived.
[0040] Second, fixed-length binarization.
[0041] Third, binarization of truncated rice.
[0042] Fourth, the binarization process of truncated binary (TB).
[0043] Fifth, the kth order exponential-Golomb binarization process (EGk).
[0044] Sixth, restricted k-th order exponential-Golomb binarization.
[0045] An example of the corresponding decoding process based on the VVC draft is shown below, Changes to the C draft are shown in bold italic font in Table 1, and deleted material is shown in italic font. In reality, the same logic may be implemented differently. For example, it is possible to use a specific formula or look-up table to find the same Rice parameter may be derived. JPEG2025166007000004.jpg100163
[0046] In another embodiment, extended_precision_processing_f If a new flag such as lag is equal to 1, the syntax element abs_remainder It has been proposed to use only one fixed value of the Rice parameter in encoding and decoding. The corresponding decoding process based on the VVC draft is shown below, and the changes are: Content is shown in bold italic font, deleted content is shown in italic font. Changes to the software are shown in bold italic font in Table 2. JPEG2025166007000005.jpg126163
[0047] In yet another embodiment, extended_precision_processing If a new flag such as _flag is equal to 1, the rice parameter cRicePara m is fixed to n, where n is a positive number (e.g., 2, 3, 4, 5, 6, 7, or 8). The constant value may be different in different conditions. An example is shown below, with changes indicated in bold italic font and deleted content Changes to the VVC draft are shown in bold italic font in Table 3. is shown. JPEG2025166007000006.jpg86164
[0048] In yet another embodiment, BitDepth is a predetermined threshold (e.g., 10, 11, 12, 1 3, 14, 15 or 16), the rice parameter cRiceParam is n, where n is a positive number, for example, 4, 5, 6, 7, or 8. The fixed value is An example of a corresponding decoding process based on the VVC draft is: where TH is a predetermined threshold (e.g., 10, 11, 12, 13, 14, 1 5 or 16), changes are indicated in bold italic font, deleted content is in italic font. Changes to the VVC draft are shown in bold italic font in Table 4. JPEG2025166007000007.jpg82164
[0049] In yet another embodiment, signaling of Rice parameters for transform skip blocks One control flag indicating whether the slice is enabled or disabled is signaled in the slice header. If the control flag is signaled as enabled, the transform skip slice For each slicing, one syntax element is further signaled indicating the Rice parameters of the transform skip slice. If the control flag is signaled as disabled (e.g., equal to "0"), If set correctly, at the lower level, a structure indicating the Rice parameter of the transform skip slice is used. If no further sentence elements are signaled, the default for all conversion skip slices is The Rice parameter (e.g., 1) is used. The corresponding decoding based on the VVC draft An example of the quantization process is shown below, where TH is a predetermined value (e.g., 0, 1, 2). Changes are indicated in bold italic font, and deletions are indicated in italic font. Changes to the VVC draft are shown in bold italic font in Table 5. s_residual_coding_rice_index is a different coding method It may be an n-bit unsigned integer and / or may have a maximum value. A number u(n), or a set of n bits written left-to-right. The fixed pattern bit string f(n) is used to encode / decode the same syntax element. Good too. Slice Header Syntax JPEG2025166007000008.jpg103167
[0050] sh_ts_residual_coding_rice_flag is equal to 1 sh_ts_residual_coding_rice_ind for the current slice Specifies that ex may be present. sh_ts_residual_coding_ri ce_flag equal to 0 means that the current slice has sh_ts_residual_ Specifies that coding_rice_index does not exist. If idual_coding_rice_flag does not exist, sh_ts_res The value of idual_coding_rice_flag is assumed to be equal to 0.
[0051] sh_ts_residual_coding_rice_index is the residual Specifies the Rice parameters used in the ual_ts_coding() syntax construct. JPEG2025166007000009.jpg91167
[0052] In yet another embodiment, signaling of Rice parameters for transform skip blocks A single control flag indicating whether the (or signaled in the Sequence Parameter Set Range Extension Syntax). Control Flags is signaled as enabled, for each transform skip slice, One additional syntax element is signaled to indicate the Rice parameter of the Rice: Control Flag If is signaled as disabled (e.g., set equal to "0"), At the lower level, there are no further syntax elements indicating the Rice parameters of the transform skip slice. Not nulled, default slice parameters ( For example, 1) is used. An example of the corresponding decoding process based on the VVC draft is: As shown below, TH is a predetermined value (e.g., 0, 1, 2). Changes to the previous version are shown in bold italic font in Table 7, and deletions are shown in italic font. sh_ts_residual_coding_rice_idx is different. It may be coded in different ways and / or may have a maximum value. For example, u(n), an unsigned integer with a byte, or u(n), written left bit first (left to right) The fixed pattern bit string f(n) is the encoding / decoding of the same syntax element. It may be used for decoding. Sequence Parameter Set RBSP Syntax JPEG2025166007000010.jpg58164
[0053] sps_ts_residual_coding_rice_present_in_ sh_flag equal to 1 means that the SH syntax constructs that refer to SPSs have sh_ts_re Specifies that sidual_coding_rice_idx may be present. ts_residual_coding_rice_present_in_sh_fl ag equal to 0 means that the SH syntax constructs that refer to SPSs have sh_ts_residua Specifies that l_coding_rice_idx does not exist. sidual_coding_rice_present_in_sh_flag exists If not, sps_ts_residual_coding_rice_present The value of t_in_sh_flag is assumed to be equal to 0. Slice Header Syntax JPEG2025166007000011.jpg86164
[0054] sh_ts_residual_coding_rice_idx is residuala Specifies the Rice parameters used in the l_ts_coding() syntax construct. JPEG2025166007000012.jpg92165
[0055] In one or more embodiments of the present disclosure, when transform skip is disabled, the transform skip residual code It has been proposed to disable the existence of Rice parameters for encryption. So, to meet such design objectives, sps_transform_skip_e enabled_flag to specify sps_ts_residual_coding_r It is proposed to make the presence of the ice_present_in_sh_flag a condition. For example, the flag sps_transform_skip_enabled_flag If sps_ts is equal to 0 (i.e., transform skipping is disabled for the current image), _residual_coding_rice_present_in_sh_flag is not signaled and is assumed to be 0. If skip_enabled_flag is equal to 1, sps_ts_residua l_coding_rice_present_in_sh_flag is further signal Changes to the current VVC Working Draft are shown in italic font below. do. JPEG2025166007000013.jpg26163
[0056] In other examples, to meet such design objectives, sps_ts_residua For l_coding_rice_present_in_sh_flag, sps Bitstream for _transform_skip_enabled_flag It is proposed to add conformance requirements, e.g., sps_transform_ If skip_enabled_flag is equal to 0, sps_ts_residua The value of l_coding_rice_present_in_sh_flag is equal to 0 This is a requirement for bitstream conformance. Changes are shown in italic font below. Sequence parameter set setting range extension semantics
[0057] sps_ts_residual_coding_rice_present_in_ sh_flag equal to 1 indicates that the slice_header() construct that references the SPS sh_ts_residual_coding_rice_idx_minus in sentence structure Specifies that 1 can be present. sps_ts_residual_coding_ri ce_present_in_sh_flag equal to 0 indicates that the s referring to the SPS sh_ts_residual_coding_ in lice_header() syntax structure Specifies that rice_idx_minus1 does not exist. sps_ts_resi dual_coding_rice_present_in_sh_flag does not exist If not, sps_ts_residual_coding_rice_present_ The value of in_sh_flag is assumed to be equal to 0.
[0058] If sps_transform_skip_enabled_flag is equal to 0 , sps_ts_residual_coding_rice_present_in_ A value of sh_flag equal to 0 is a requirement for bitstream conformance.
[0059] In yet another embodiment, the transform skip flag (sps_transform_skip _enabled_flag) is signaled as enabled, conversion skip 1 indicates whether Rice parameter signaling for the block is enabled or disabled The control flags are used within a sequence parameter set (or within a sequence parameter set range). The control flag is signaled as enabled. For each transform skip slice, one parameter indicating the Rice parameter of the transform skip slice is used. The syntax element is further signaled: the control flag is signaled as invalid If (e.g., set equal to "0"), the transform skip slices at the lower level. No further syntax elements indicating Rice parameters are signaled, and all conversion skips The default slice parameter (e.g., 1) is used for the slice. An example of the corresponding decoding process based on the raft is shown below: VVC Draft Changes to are indicated in italic font. Sequence Parameter Set RBSP Syntax JPEG2025166007000014.jpg62165
[0060] sps_ts_residual_coding_rice_present_in_ sh_flag equal to 1 means that the SH syntax constructs that refer to SPSs have sh_ts_re Specifies that sidual_coding_rice_idx may be present. ts_residual_coding_rice_present_in_sh_fl ag equal to 0 means that the SH syntax constructs that refer to SPSs have sh_ts_residua Specifies that l_coding_rice_idx_minus1 does not exist. sp s_ts_residual_coding_rice_present_in_sh_ If flag does not exist, sps_ts_residual_coding_rice The value of _present_in_sh_flag is assumed to be equal to 0. Slice Header Syntax JPEG2025166007000015.jpg83165
[0061] sh_ts_residual_coding_rice_idx_minus1 to 1 The addition of sh_ts_residual_coding_rice_i If dx_minus1 does not exist, sh_ts_residual_coding_ The value of rice_idx_minus1 is assumed to be equal to 0.
[0062] 9.3.3.11 abs_remainder[] thresholding process
[0063] The input to this process is the syntax element abs_remainder[n], the color component cIdx , the current sub-block index i, the current luminance change for the luminance sample in the top left corner of the image The luminance position (x0, y0) that specifies the upper left sample of the conversion block, the current coefficient scan position The position (xC, yC), the binary logarithm of the transformation block width log2TbWidth, and the This is a binarization request for the binary logarithm of the block height, log2TbHeight.
[0064] The output of this process is a binarization of the syntax elements.
[0065] The variables lastAbsRemainder and lastRiceParam are as follows: It is derived as follows.
[0066] - the first time this process is invoked for the current subblock index i , lastAbsRemainder and lastRiceParam are both set to 0 are set equal.
[0067] - otherwise (this is the first time this process has occurred for the current subblock index i) If not called), lastAbsRemainder and lastRicePar am is the binarization process of the syntax element abs_remainder[n] specified in this section. abs_remainder[n] and abs_remainder[n] are derived during the last call of the process, respectively. Set equal to the value of cRiceParam.
[0068] The rice parameter cRiceParam is derived as follows:
[0069] -transform_skip_flag[x0][y0][cIdx] equals 1 sh_ts_residual_coding_disabled_flag If is equal to 0, the rice parameter cRiceParam is set to sh_ts_resid ual_coding_rice_idx_minus1+1.
[0070] - Otherwise, the rice parameter cRiceParam is set equal to 4. Variable baseLevel, color component index cIdx, luminance position (x0, y0), current Coefficient scan position (xC, yC) of the transform block width, log2TbWidth , and the binary logarithm of the transformed block height, log2TbHeight, is used as input. The Rice parameter derivation process for abs_remainder[] specified in Section .2 It is derived by calling
[0071] In yet another embodiment, for each transform skip slice, the rice parameter of the transform skip slice is A single syntax element is signaled to indicate the corresponding demodulator based on the VVC draft. An example of the encryption process is shown below. Changes to the VVC draft are in bold in Table 10. It is shown in italic font. ce_idx can be coded in different ways and / or may have a maximum value. For example, u(n) is an unsigned integer with n bits, or u(n) is a scalar with the left bit first. A fixed pattern bit string f(n) written with n bits (from left to right) is It may be used to encode / decode syntax elements. Slice Header Syntax JPEG2025166007000016.jpg81165
[0072] sh_ts_residual_coding_rice_idx is residuala Specifies the Rice parameter used in the l_ts_coding() syntax construct. If ts_residual_coding_rice_idx does not exist, sh_t The value of s_residual_coding_rice_idx is assumed to be equal to 0. do. JPEG2025166007000017.jpg62165
[0073] In yet another embodiment, signaling of Rice parameters for transform skip blocks One control flag indicates whether the Image Parameter Set Range Extension is enabled or disabled. If the control flag is signaled as valid, then One syntax element is further signaled to indicate the Rice parameters of the image. If is signaled as disabled (e.g., set equal to "0"), At the lower level, there are no further syntax elements indicating the Rice parameters of the transform skip slice. Not nulled, default slice parameters ( For example, 1) is used. An example of the corresponding decoding process based on the VVC draft is: As shown below, TH is a predetermined value (e.g., 0, 1, 2). Changes to pps_ts_resid are shown in bold italic font in Table 12. ual_coding_rice_idx can be coded in different ways, and / or may have a maximum value, e.g., u(n), an n-bit unsigned integer, Or a fixed pattern of n bits written left bit first (left to right) A sequence of f(n) may be used to encode / decode the same syntax element. Image Parameter Set Range Extension Syntax JPEG2025166007000018.jpg58165
[0074] pps_ts_residual_coding_rice_flag is equal to 1. and pps_ts_residual_coding_rice_ind in the current image Specifies that ex may be present. ice_flag equal to 0 means that the current image has pps_ts_residual_ Specifies that coding_rice_idx does not exist. If dual_coding_rice_flag is not present, pps_ts_res The value of idual_coding_rice_flag is assumed to be equal to 0.
[0075] pps_ts_residual_coding_rice_idx is the residual Specifies the Rice parameters used in the al_ts_coding() syntax construct. JPEG2025166007000019.jpg93165
[0076] In yet another embodiment, the syntax element abs_remainder is coded as follows: It is proposed to use only the Rice parameters that are applied. The value of specifies the current block size, quantization parameter, bit depth, transform type, etc. This may be determined depending on the specific coded information of the lock. is a Rice processor based on the coding bit depth and the quantization parameters applied to one CU. It is proposed to adjust the parameters of the corresponding decoding process based on the VVC draft. An example of the process is shown below, and the changes to the VVC draft are shown in bold italics in Table 14. The deleted content is shown in italic font. Even if the logic is different, it may be implemented differently. For example, a particular formula or lookup The same Rice parameters may be derived using a sparse table. JPEG2025166007000020.jpg217164
[0077] In yet another embodiment, the corresponding decoding process based on the VVC draft is as follows: where TH is a predetermined threshold (e.g., 33 or 34). Changes are shown in bold italic font in Table 15, and deletions are shown in italic font. In reality, the same logic may be implemented differently. For example, the same Rice parameters may be derived using a specific formula or look-up table. stomach. JPEG2025166007000021.jpg73165
[0078] In yet another embodiment, the corresponding decoding process based on the VVC draft is as follows: THA and TH B is a predetermined threshold (e.g., TH A =8,TH B =33 or 3 4) Changes to the VVC draft are shown in bold italic font in Table 16 and have been deleted. The content that has been changed is shown in italic font. Note that in reality, even if the logic is the same, different For example, a specific formula or lookup table may be used to The same Rice parameters may be derived. JPEG2025166007000022.jpg73165
[0079] In yet another embodiment, extended_precision_processing If a new flag such as _flag is equal to 1, the syntax element abs_remainder It has been proposed to use only the varying Rice parameters in the coding and decoding of The values that vary are block size, quantization parameter, bit depth, transform type, etc. , may be determined depending on the specific coded information of the current block. In an embodiment, the quantization parameter is determined based on the coding bit depth and the quantization parameter applied to one CU. It is proposed to adjust the Rice parameter based on the VVC draft. The decoding process is shown below. Changes to the VVC draft are shown in bold italics in Table 17. In reality, the same logic may be implemented differently. For example, it is possible to use a specific formula or lookup table to find the same Rice parameter. The data may be derived. JPEG2025166007000023.jpg165165
[0080] In yet another embodiment, the corresponding decoding process based on the VVC draft is as follows: where TH is a predetermined threshold (e.g., 18, 19). Changes to the VVC draft are shown in bold italic font in Table 18. Note that in reality, even with the same logic, may be implemented differently, for example using a specific formula or lookup table. The same Rice parameters may be derived by JPEG2025166007000024.jpg91166
[0081] In yet another embodiment, the corresponding decoding process based on the VVC draft is as follows: TH A and TH B is a predetermined threshold (e.g., TH A =8,TH B =18 or 1 9). Changes to the VVC draft are shown in bold italic font in Table 19. In reality, the same logic may be implemented differently. The same Rice parameters may be derived using the formula or a look-up table: JPEG2025166007000025.jpg99166
[0082] Figure 6 shows a video coding method, which may be applied, for example, in an encoder. In step 1610, the encoder may receive a video input. In step 1612, the encoder The quantization parameter may be obtained based on the video input. , may be calculated by a quantization unit in the encoder. The encoder determines at least one predetermined threshold, a coding bit depth, and a quantization parameter. The Rice parameters may be derived based on, for example, abs Used for signaling the _remainder and dec_abs_level syntax In step 1616, the encoder determines the video bitrate based on the Rice parameters. The stream may be entropy coded. The image may be tropy coded to produce a compressed video bitstream.
[0083] In yet another embodiment, when BitDepth is greater than 10, the syntax element abs_r In the encoding of the emainder, the Rice parameter is set to a fixed value (e.g., 2, 3, 4, It is proposed to use only the quantization parameters (5, 6, 7 or 8). may differ under different conditions depending on the specific coded information of the current block, such as The corresponding decoding process based on the VVC draft is shown below, where TH is the The changes to the VVC draft are listed in bold italics in Table 20. In reality, the same logic may be implemented differently. For example, it is possible to use a specific formula or lookup table to find the same Rice parameter. The data may be derived. JPEG2025166007000026.jpg88167
[0084] In yet another embodiment, the corresponding decoding process based on the VVC draft is as follows: TH A and TH B is a predetermined threshold (e.g., TH A =8,TH B =18 or 1 9). Changes to the VVC draft are shown in bold italic font in Table 21. In reality, the same logic may be implemented differently. The same Rice parameters may be derived using the formula or a look-up table: JPEG2025166007000027.jpg92167
[0085] In yet another embodiment, the corresponding decoding process based on the VVC draft is as follows: where TH is a predetermined threshold (e.g., 33 or 34). The changes are shown in bold italic font in Table 22. Note that in reality, the same logic is used. may also be implemented differently, for example using a particular formula or lookup table. The same Rice parameters may be derived for both JPEG2025166007000028.jpg92165
[0086] In yet another embodiment, the corresponding decoding process based on the VVC draft is as follows: TH A and TH B is a predetermined threshold (e.g., TH A =8,TH B =33 or 3 4) Changes to the VVC draft are shown in bold italic font in Table 23. In reality, the same logic may be implemented differently. The same Rice parameters may be derived using the formula or a look-up table: JPEG2025166007000029.jpg92165
[0087] In the above explanation, the formula used to calculate the specific Rice parameters is the proposed formula. Please note that this is only used as an example to illustrate the ideas presented. Those skilled in the art of video coding will recognize that other mapping functions (or equivalent mapping formulas) may be used. , which is already applicable to this proposed idea (i.e., coding bits and applied quantization parameters) (The Rice parameter for the conversion skip mode is determined based on the parameter.) In the VVC design, the value of the applied quantization parameter is set at the coding block group level. It should also be noted that the proposed Rice parameter The data adjustment scheme adjusts the Rice parameter of the transform skip mode at the coding block group level. This allows for flexible adaptation of data. Signaling information for normal residual coding / decoding and transform-skip residual coding / decoding
[0088] In a 28th aspect of the present disclosure, in transform skip residual encoding / decoding, abs_re Rice parameters of binary codewords for encoding certain syntax elements such as mainder In normal residual coding and decoding, abs_remainder / d The parameters for deriving the Rice parameters used for ec_abs_level are Shift and offset, associated with TB / CB and / or slice / profile The specific coding information of the current block, such as the quantization parameter or coding bit depth, Depending on the information and / or associated with the TB / CB / slice / image / sequence level sps_residual_coding_info_present_in_sh It is proposed to decide whether to signal or not depending on a new flag such as _flag. It is being done.
[0089] In one embodiment, the signaling of Rice parameters for transform skip blocks and , shifts and / or offsets for deriving Rice parameters in the transform block One control flag indicates whether parameter signaling is enabled or disabled. Signaled in the Rice header. Control flag is signaled as enabled. For each transform skip slice, one parameter indicating the Rice parameter of the transform skip slice is used. The syntax elements of the transform slice are further signaled, and for each transform slice, the slice spacing of the transform slice is Two syntax elements indicating shift and / or offset parameters for deriving the parameter is further signaled. If the control flag is signaled as invalid (e.g. For example, if it is set equal to '0', the lower level No further syntax elements indicating the parameter are signaled for all transform skip slices. The default Rice parameter (e.g., 1) is used for The shift and offset parameters for deriving the Rice parameters of the transform slice are shown. No further syntax elements are signaled and the default syntax is used for all transform slices. A soft and / or offset parameter (e.g., 0) is used. An example of a corresponding decoding process based on TH is shown below, where TH is a predetermined value (e.g. , 0, 1, 2). Changes to the VVC draft are shown in bold italic font in Table 24. Note that sh_residual_coding_rice_shift and sh_r esidual_coding_rice_offset, sh_ts_residua l_coding_rice_index can be coded in different ways, and / or may have a maximum value, e.g., u(n), an n-bit unsigned integer, Or a fixed pattern of n bits written left bit first (left to right) A sequence of f(n) may be used to encode / decode the same syntax element.
[0090] Figure 7 shows a video decoding method, which may be applied, for example, in an encoder. In step 1710, the encoder may receive a video input. In 12, the encoder determines the Rice parameters of the binary codeword for encoding the syntax element as The syntax element to be coded may be a In step 1714, the encoder Entropy encoding the video bitstream based on the parameter and the video input. You may do so. Slice Header Syntax JPEG2025166007000030.jpg116166
[0091] sh_residual_coding_rice_flag equal to 1 indicates that the sh_residual_coding_rice_shift, sh_ residual_coding_rice_offset and sh_residua Specifies that l_coding_rice_index may exist. dual_coding_rice_flag equal to 0 means that the current slice has s h_residual_coding_rice_shift, sh_residual _coding_rice_offset and sh_residual_coding Specifies that _rice_index does not exist.
[0092] sh_residual_coding_rice_shift is abs_rema Rice parameter derivation process for inder[] and dec_abs_level[] Specifies the shift parameter to be used. sh_residual_coding_ri If ce_shift does not exist, sh_residual_coding_rice The value of _shift is inferred to be equal to 0.
[0093] sh_residual_coding_rice_offset is abs_rem Rice parameter derivation process for ainder[] and dec_abs_level[] Specifies the offset parameter used for sh_residual_coding. If _rice_offset does not exist, sh_residual_coding_ The value of rice_offset is assumed to be equal to 0.
[0094] sh_ts_residual_coding_rice_index is the residual Specifies the Rice parameter used in the ual_ts_coding() syntax construct. If h_ts_residual_coding_rice_index does not exist, The value of sh_ts_residual_coding_rice_index is equal to 0. It is estimated that JPEG2025166007000031.jpg108166JPEG2025166007000032.jpg182165
[0095] In another embodiment, signaling of Rice parameters for transform skip blocks; Shift and / or offset parameters for deriving Rice parameters in the transform block One control flag indicates whether parameter signaling is enabled or disabled. Signals within a sequence parameter set (or sequence parameter set range extension syntax) If the control flag is signaled as enabled, the transform skip slide For each slice, one syntax element is further signaled indicating the slice parameters of the transform skip slice. For each transform slice, a Rice parameter for the transform slice is derived. Two syntax elements indicating shift and / or offset parameters are further signaled: If the control flag is signaled as disabled (e.g., set equal to "0"), At the lower level, the syntax element indicating the slice parameter of the transformation skip slice is No further signaling is done and the default slice is used for all transform skip slices. parameter (e.g., 1) is used, and at the lower level, the Rice parameter of the transformation slice Further syntax elements indicate shift and / or offset parameters for deriving the parameter. Not signaled above, default shift and / or off for all transform slices A set parameter (e.g., 0) is used. Corresponding decoding based on the VVC draft An example of the process is shown below, where TH is a predetermined value (e.g., 0, 1, 2). Changes to the VVC draft are shown in bold italic font in Table 27. residual_coding_rice_shift, sh_residual_c oding_rice_offset and sh_ts_residual_codin g_rice_idx can be coded in different ways and / or have a maximum value. For example, u(n) is an unsigned integer with n bits, or f(n) is a fixed-pattern bit sequence with n bits written first (left to right) may be used to encode / decode the same syntax element. Sequence Parameter Set RBSP Syntax JPEG2025166007000033.jpg59165
[0096] sps_residual_coding_info_present_in_sh_ flag equal to 1 means that the SH syntax construct that references the SPS has sh_residual _coding_rice_shift, sh_residual_coding_ri ce_offset and sh_ts_residual_coding_rice_i Specifies that dx may be present. sps_residual_coding_info _present_in_sh_flag equal to 0 indicates that the SH construct that references the SPS sh_residual_coding_rice_shift, sh_res in sentence structure idual_coding_rice_offset and sh_ts_residua Specifies that l_coding_rice_idx does not exist. sps_resid ual_coding_info_present_in_sh_flag does not exist If sps_residual_coding_info_present_in_s The value of h_flag is assumed to be equal to 0.
[0097] Slice Header Syntax JPEG2025166007000034.jpg116165
[0098] sh_residual_coding_rice_shift is abs_rema Rice parameter derivation process for inder[] and dec_abs_level[] Specifies the shift parameter to be used. sh_residual_coding_ri If ce_shift does not exist, sh_residual_coding_rice The value of _shift is inferred to be equal to 0.
[0099] sh_residual_coding_rice_offset is abs_rem Rice parameter derivation process for ainder[] and dec_abs_level[] Specifies the offset parameter used for sh_residual_coding. If _rice_offset does not exist, sh_residual_coding_ The value of rice_offset is assumed to be equal to 0.
[0100] sh_ts_residual_coding_rice_idx is residuala Specifies the Rice parameter used in the l_ts_coding() syntax construct. If ts_residual_coding_rice_index does not exist, sh The value of _ts_residual_coding_rice_index is equal to 0. It is estimated. JPEG2025166007000035.jpg106165JPEG2025166007000036.jpg182163
[0101] In yet another embodiment, for each transform skip slice, the rice parameter of the transform skip slice is One syntax element is signaled to indicate the metric, and for each transform slice, 2 shows the shift and / or offset parameters for deriving the Rice parameter The three syntax elements are signaled for the corresponding decoding process based on the VVC draft. An example is shown below: Changes to the VVC draft are in bold italic font in Table 31 It is shown as follows. sh_residual_coding_rice_shift, s h_residual_coding_rice_offset and sh_ts_re sidual_coding_rice_idx can be coded in different ways , and / or may have a maximum value. For example, u( n), or a fixed pattern with n bits written left bit first (left to right) A sequence of sigma bits, f(n), may be used to encode / decode the same syntax element. Slice Header Syntax JPEG2025166007000037.jpg101166
[0102] sh_ts_residual_coding_rice_idx is residuala Specifies the Rice parameter used in the l_ts_coding() syntax construct. If ts_residual_coding_rice_idx does not exist, sh_t The value of s_residual_coding_rice_idx is assumed to be equal to 0. do.
[0103] sh_residual_coding_rice_offset is abs_rem Rice parameter derivation process for ainder[] and dec_abs_level[] Specifies the offset parameter used for sh_residual_coding. If _rice_offset does not exist, sh_residual_coding_ The value of rice_offset is assumed to be equal to 0.
[0104] sh_ts_residual_coding_rice_idx is residuala Specifies the Rice parameter used in the l_ts_coding() syntax construct. If ts_residual_coding_rice_index does not exist, sh The value of _ts_residual_coding_rice_index is equal to 0. It is estimated. JPEG2025166007000038.jpg81166JPEG2025166007000039.jpg183166
[0105] In yet another embodiment, signaling of Rice parameters for transform skip blocks and shift and / or offset for deriving the Rice parameters in the transform block. One control flag indicates whether signaling of the parameter is enabled or disabled. Signaled within the Image Parameter Set Range Extension Syntax. If the image is encoded using Rice parameters for the transform skip residual coding of that image, One syntax element is further signaled to indicate the image data, and the Rice parameters of the image are also signaled. Two syntax elements indicating the shift and / or offset parameters to be derived are added to the normal remainder. Further signaled for differential coding. Control flag is signaled as invalid. (e.g., set equal to "0"), at the lower level, the transformation skip residual No further syntax elements indicating Rice parameters for encoding are signaled, and all The default Rice parameter (e.g., 1) is used for transform skip residual coding. At a lower level, we also use the Rice parameters for normal residual coding. no further syntax elements indicating shift and / or offset parameters are signaled, The default shift and / or offset parameters ( For example, 0) is used. An example of the corresponding decoding process based on the VVC draft is: As shown below, TH is a predetermined value (e.g., 0, 1, 2). Changes to pps_residual are shown in bold italic font in Table 34. _coding_rice_shift, pps_residual_coding_r ice_offset and pps_ts_residual_coding_rice _idx can be coded in different ways and / or may have a maximum value. For example, u(n) is an unsigned integer with n bits, or u(n) is a left bit first (left A fixed-pattern bit string f(n) with n bits written (from left to right) has the same syntax May be used to encode / decode elements. Image Parameter Set Range Extension Syntax JPEG2025166007000040.jpg77165
[0106] pps_residual_coding_info_flag equal to 1 means pps_residual_coding_rice_shift, pps_resid ual_coding_rice_offset and pps_ts_residual Specifies that _coding_rice_index can be present in the current image. s_residual_coding_info_flag equal to 0 means pps _residual_coding_rice_shift, pps_residual _coding_rice_offset and pps_ts_residual_co Specifies that ding_rice_idx does not exist in the current image. If idual_coding_info_flag does not exist, pps_resid The value of ual_coding_info_flag is assumed to be equal to 0.
[0107] pps_residual_coding_rice_shift is abs_rem Rice parameter derivation process for ainder[] and dec_abs_level[] Specifies the shift parameter used for pps_residual_coding_ If rice_shift is not present, pps_residual_coding_r The value of ice_shift is assumed to be equal to 0.
[0108] pps_residual_coding_rice_offset is abs_re Rice parameter derivation process for mainder[] and dec_abs_level[] Specifies the offset parameter used for the pps_residual_codi If ng_rice_offset does not exist, pps_residual_codi The value of ng_rice_offset is assumed to be equal to 0.
[0109] pps_ts_residual_coding_rice_idx is the residual Specifies the Rice parameters used in the al_ts_coding() syntax construct. If s_ts_residual_coding_rice_index does not exist, The value of pps_ts_residual_coding_rice_index is equal to 0. It is estimated that JPEG2025166007000041.jpg105155JPEG2025166007000042.jpg183165
[0110] In the twenty-ninth aspect of the present disclosure, in the transform skip residual coding / decoding, abs_re Uses different Rice parameters for encoding certain syntax elements such as mainder In normal residual coding and decoding, abs_remainder / dec_abs_ Shift and shift parameters to derive the Rice parameter used for level Sets the quantization parameters associated with the TB / CB and / or slice / profile. Depending on the specific coded information of the current block, such as the data or coding bit depth, and / or sps_r associated with TB / CB / slice / image / sequence level esidual_coding_info_present_in_sh_flag etc. It is proposed to decide which to use depending on the new flags in
[0111] In one embodiment, the derivation process of the Rice parameters for the transform skip block and , shift and / or offset parameters for Rice parameters in the transformation block One control flag indicates whether the data derivation process is enabled or disabled. If the control flag is signaled as valid, the The feature parameters are specific features of the current block, such as the quantization parameter and bit depth. It may vary depending on the coded information. The shift and / or offset parameters for deriving the Rice parameters are used to determine the quantization parameters. The bit depth and the parameters of the current block depend on the specific coded information of the current block. If the control flag is signaled as invalid (e.g. , if set equal to "0"), the default for all transform skip slices Rice parameter (e.g., 1) is used and / or for all transform slices The default shift and / or offset parameters (e.g., 0) are used. An example of the corresponding decoding process based on the C draft is shown below, A and TH B is a predetermined threshold (e.g., TH A =8,TH B =18 or 19). Changes to the raft are shown in bold italic font in Table 37. Note that in practice, the same logic Even blocks may be implemented differently. For example, a particular formula or lookup A table may be used to derive the same Rice parameters. Slice Header Syntax JPEG2025166007000043.jpg62165
[0112] sh_residual_coding_rice_flag equal to 1 indicates that the Specifies that a bit-depth dependent Rice parameter derivation process is used for the current slice. sh_residual_coding_rice_flag equal to 0 means that The current slice does not use a bit-depth dependent Rice parameter derivation process. Specify. JPEG2025166007000044.jpg106164JPEG2025166007000045.jpg203167
[0113] In yet another embodiment, the corresponding decoding process based on the VVC draft is as follows: where TH is a predetermined threshold (e.g., 18, 19). Changes to the VVC draft are shown in bold italic font in Table 40. Note that in reality, even with the same logic, may be implemented differently, for example using a specific formula or lookup table. The same Rice parameters may be derived by JPEG2025166007000046.jpg251166JPEG2025166007000047.jpg31164
[0114] In another aspect of the present disclosure, restrictions are added to the values of the encoding / decoding tool flags. However, it is proposed to provide the same general constraint control as the other flag values in the general constraint information. do.
[0115] For example, sps_ts_residual_coding_rice_present _in_sh_flag equals 1 if an SH syntax construct that references an SPS contains sh_t Specifies that s_residual_coding_rice_idx may be present. sps_ts_residual_coding_rice_present_in_s h_flag equal to 0 means that the SH syntax construct that references the SPS has sh_ts_res Specifies that idual_coding_rice_idx is not present. The general constraint information syntax includes the syntax element gci_no_ts_residual_codin Added g_rice_constraint_flag, which allows the same general constraint as other flags. An example of the decoding process of the VVC draft is as follows: The changes to the VVC draft are highlighted. Added parts are in italics. It is highlighted in font. JPEG2025166007000048.jpg62166
[0116] In another embodiment, pps_ts_residual_coding_rice_fla g equal to 1 means that the current image has pps_ts_residual_coding_ Specifies that the rice_index may exist. coding_rice_flag equal to 0 means that the current image has pps_ts_r Specifies that the esidual_coding_rice_idx is not present. In the general constraint information syntax, the syntax element gci_no_ts_residual_cod Added ing_rice_constraint_flag and made it the same general constraint as other flags. It is proposed to provide control over the decoding process of the VVC draft. The changes to the VVC draft are shown below. The additions are: It is highlighted in italic font. JPEG2025166007000049.jpg64166
[0117] In yet another embodiment, sps_rice_adaptation_enabled_f lag equal to 1 means that abs_remainder[] and dec_abs_le It is shown that the Rice parameters for the binarization of vel can be derived by Eq.
[0118] The formula may include: RiceParam=RiceParam+shiftV al and shiftVal=(localSumAbs <Tx[0])?Rx[0 ]:((localSumAbs <Tx[1])?Rx[1]:((localSumA bs <Tx[2])?Rx[2]:((localSumAbs<Tx[3])?Rx[ 3]:Rx[4]))). The lists Tx[] and Rx[] are specified as follows: Tx[]={32,128, 512,2048}>>(1523) Rx[]={0,2,4,6,8}
[0119] In this disclosure, the general constraint information syntax includes the syntax element gci_no_rice_adapta Added tion_constraint_flag, which provides the same general constraint control as other flags. An example of the decoding process for the VVC draft is shown below: Changes to the VVC draft are highlighted. Added parts are in italic font. The icon will be highlighted. JPEG2025166007000050.jpg64166
[0120] The proposed Rice parameter adaptation scheme is based on transform skip residual coding and decoding (TSR). C), the proposed method is only effective when TSRC is valid. Correspondingly, in one or more embodiments of the present disclosure, the general constraint information level is converted into If skip mode is disabled, e.g., gci_no_transform_ski If the value of p_constraint_flag is set to 1, gci_no_ric Requires the value of e_adaptation_constraint_flag to be 1 It is proposed to add one bitstream constraint:
[0121] In yet another embodiment, sps_range_extension_flag is equal to 1. This means that the sps_range_extension() syntax structure is the SPS RBSP structure. Specifies that it exists in the sentence structure. sps_range_extension_flag A value equal to 0 specifies that this syntax construct is not present. The constraint information syntax includes the syntax element gci_no_range_extension_constr It is proposed to add aint_flag to provide the same general constraint control as the other flags. An example of the VVC draft decoding process is shown below: Changes to the software are highlighted. Additions are highlighted in italic font. JPEG2025166007000051.jpg59169
[0122] 9 illustrates a video encoding / decoding method according to one embodiment of the present disclosure. For example, it may be applied to a decoder. In step 1902, the decoder A parameter set (SPS) range extension flag may be received, the SPS range extension flag being: The value of the syntax structure sps_range_extension is a slice head (SH) raw binary. Indicates whether the RBSP is present in the RBSP syntax structure.
[0123] In step 1904, in response to determining that the value of the SPS range extension flag is equal to 1, The decoder then interprets the sps_range_extension as a SH RBSP syntax structure. It may be determined that it exists.
[0124] In step 1906, in response to determining that the value of the range extension flag is equal to 0, The coder must ensure that sps_range_extension is present in the SH RBSP syntax structure. It may be determined that there is no
[0125] In yet another embodiment, sps_cabac_bypass_alignment_en The fact that abled_flag is equal to 1 indicates that the syntax element sb_coded_flag[][ ], abs_remainder[], dec_abs_level[n], and coe Bypass ff_sign_flag[] before decoding. sps_cabac_bypass_alignment_e Specifies that alignment is possible. enabled_flag equal to 0 indicates that ivlCurrRan In this disclosure, the general constraint information syntax includes the syntax element g ci_no_cabac_bypass_alignment_constraint_ It is proposed to add a flag to provide the same general constraint control as the other flags. An example of the decoding process for a VC draft is shown below. Changes are highlighted. Additions are highlighted in italic font. JPEG2025166007000052.jpg67169
[0126] 10 illustrates a video encoding / decoding method according to one embodiment of the present disclosure. For example, it may be applied to a decoder. In step 2002, the decoder Based on the value of the parameter set (SPS) alignment enable, the syntax element sb_coded_f lag, abs_remainder, dec_abs_level, and coeff_ Bypass the sign_flagn. Adjust the index ivlCurrRange before decoding. An SPS alignment enable flag may be received indicating whether to align.
[0127] In step 2004, in response to determining that the value of the SPS alignment enable flag is equal to 1, Therefore, the decoder decides to align the ivlCurrRange before bypass decoding. Good too.
[0128] In step 2006, in response to determining that the value of the SPS alignment enable flag is equal to 0, Therefore, the decoder decides not to align the ivlCurrRange before bypass decoding. That's fine.
[0129] In yet another embodiment, extended_precision_processing _flag equal to 1 indicates that the transform coefficients are to be subjected to extended dynamic range during the transform process. Specifies that extended_precision_process can be used. ing_flag equal to 0 specifies that extended dynamic range is not used. In this disclosure, the general constraint information syntax includes the syntax element gci_no_extended_ Added precision_processing_constraint_flag It is proposed to provide the same general constraint control as other flags. An example of the code process is shown below. Changes to the VVC draft are highlighted. The additions are highlighted in italic font. JPEG2025166007000053.jpg67169
[0130] 11 illustrates a video encoding / decoding method according to one embodiment of the present disclosure. The method includes: For example, the decoder may be applied to the enhanced precision. The extended precision processing flag may be received, and the extended precision processing flag may be set to perform a transform processing on the transform coefficients in the value. Indicates whether or not to employ an extended dynamic range during
[0131] In step 2104, in response to determining that the value of the extended precision processing flag is equal to 1, , the decoder determines that the transform coefficients employ an extended dynamic range during the transform process. You may do so.
[0132] In step 2106, in response to determining that the value of the extended precision processing flag is equal to 0, , the decoder does not employ extended dynamic range for the transform coefficients or during the transform process. It may be determined that:
[0133] In yet another embodiment, persistent_rice_adaptation_en abled_flag equal to 1 indicates that the beginning of each subblock contains the abs_remainder[] and dec_ Specifies that the Rice parameter derivation for binarization of abs_level can be initialized. persistent_rice_adaptation_enabled_fla g equal to 0 means that the previous subblock state is used in the Rice parameter derivation. In this disclosure, the syntax element gci_no_pe is included in the general constraint information syntax. rsistent_rice_adaptation_constraint_flag It is proposed to add a flag to provide the same general constraint control as the other flags. An example of the software's decoding process is shown below. The changes to the VVC draft are The additions are highlighted in italic font. JPEG2025166007000054.jpg64167
[0134] 12 illustrates a video encoding / decoding method according to one embodiment of the present disclosure. The method includes: For example, it may be applied to a decoder. In step 2202, the decoder A persistent rice adaptation enable flag may be received, and the persistent rice adaptation enable flag may be set to each subblock with a value. At the beginning of the lock, the mode-dependent statistics accumulated from the previous subblock are used to calculate abs_ Rice parameters for binarization of remainder and dec_abs_level Indicates whether the derivation should be initialized.
[0135] In step 2204, it is determined that the value of the persistent Rice adaptation enable flag is equal to 1. In response, the decoder adds the accumulated motion vector from the previous sub-block to the beginning of each sub-block. We adopt the code-dependent statistics to initialize the Rice parameter derivation for binarization. Good too.
[0136] In step 2206, it is determined that the value of the persistent rice adaptation enable flag is equal to 0. Depending on and, the decoder employs the previous sub-block state in the Rice parameter derivation. It may be decided not to.
[0137] In yet another embodiment, sps_rrc_rice_extension_flag is 1. abs_remainder[] and dec_abs_level[] Specifies that the extension of the Rice parameter derivation for binarization of sps_r is enabled. rc_rice_extension_flag equal to 0 means abs_rema Rice parameters for binarization of inder[] and dec_abs_level[] Specifies that the derivation extension is disabled. In this disclosure, the general constraint information syntax includes the syntax element Add gci_no_rrc_rice_extension_flag and other flags It is proposed to provide the same general constraint control as the VVC draft decoding process. An example of this process is shown below. Changes to the VVC draft are highlighted. The selected part is shown in italic font. JPEG2025166007000055.jpg58167
[0138] 17 illustrates a video decoding method according to one embodiment of the present disclosure. , may be applied to the decoder. In step 2702, the decoder Extension of Rice parameter derivation for inder and dec_abs_level binarization An SPS Rice extension flag may be received indicating whether the extension is valid.
[0139] In step 2704, in response to determining that the value of the SPS Rice Expansion Flag is equal to 1, Therefore, the decoder determines that an extension of the Rice parameter derivation for binarization is valid. Good too.
[0140] In step 2706, in response to determining that the value of the SPS Rice Extension Flag is equal to 0, Therefore, the decoder determines that the extension of the Rice parameter derivation for binarization is invalid. Good too.
[0141] In yet another embodiment, sps_persistent_rice_adaptation If n_enabled_flag is equal to 1, the beginning of each TU is multiplied by the number of TUs from the previous TU. abs_remainder[] and dec_abs_level using the calculated statistics Specifies that the Rice parameter derivation for binarization of [] is to be initialized. sps_pe rsistent_rice_adaptation_enabled_flag is set to 0 Equality specifies that the previous TU state is not adopted in the derivation of the Rice parameters. In this disclosure, the general constraint information syntax includes the syntax element gci_no_persistence Add t_rice_adaptation_enabled_flag and other flags It is proposed to provide the same general constraint control as the VVC draft decoding process. An example of this process is shown below. Changes to the VVC draft are highlighted. The selected part is shown in italic font. JPEG2025166007000056.jpg66167
[0142] 18 illustrates a video decoding method according to one embodiment of the present disclosure. , may be applied to the decoder. In step 2802, the decoder At the beginning, abs_remainder and dec are used to calculate the statistics accumulated from the previous TU. Indicates whether to initialize the Rice parameter derivation for binarization of _abs_level An SPS Rice adaptation enable flag may be received.
[0143] In step 2804, it is determined that the value of the SPS Rice Adaptation Enable flag is equal to 1. Depending on the TU, the decoder calculates a binary TU using the statistics accumulated from the previous TU. The Rice parameter derivation for the quantization may be initialized.
[0144] In step 2806, it is determined that the value of the SPS Rice Adaptation Enable flag is equal to 0. Depending on the,decoder must adopt the previous TU state in the,Rice parameter derivation. It may be judged.
[0145] The method may be implemented using an application specific integrated circuit (ASIC), a digital signal processor (DSP), or other , Digital Signal Processing Devices (DSPD), Programmable Logic Devices (PLD) , Field Programmable Gate Array (FPGA), Controller, Microcontroller Contains one or more circuits that include a controller, microprocessor, or other electronic components The apparatus may be implemented using other hardware to perform the above-described method. Alternatively, circuits may be employed in combination with software components. Each module, sub-module, unit, or sub-unit shown may be used one or more times. The present invention may be implemented at least in part using a multi-path architecture. Rice parameter determination
[0146] On the encoder side, TSRC coding and decoding is performed to derive the optimal Rice parameters. This multi-pass encoding may be required to achieve the desired results. To solve this problem, low-latency In a 30th aspect of the present disclosure, a slice / image / current, such as the quantization parameters and / or coding bit depth associated with the sequence. Depending on the specific coded information of the current slice and / or slice / image / sequence It is proposed to derive the Rice parameter depending on the hash ratio associated with the level of The Rice parameters may be derived in different ways, and some exemplary methods are: The following methods can be applied independently or in combination. can.
[0147] 1. The Rice parameters mentioned in the above embodiment are related to the temporal resolution of the video (e.g., video resolution, which includes both frame rate and spatial resolution (e.g., image width and height) There may be further dependency.
[0148] 2. Rice parameters can be set at the sequence level, image level, slice level, and / or may vary in any given region. In one example, the time layer ID (specified in the VVC standard) For images with different nuh_temporal_id_plus1 Alternatively, the Rice parameter can be set at the sequence level. , based on the QP value used at the picture level, slice level, and / or any given region. For example, Rice parameter = Clip3(1,8,( TH-QP) / 6), where TH is a predetermined threshold (e.g., 18, 19).
[0149] 3. Rice parameters are the encoded information between the current slice and the previous slice. Depending on the change in For images where the temporal layer ID has changed compared to the previous image, the default Rice value is used. Alternatively, if ΔQ is greater than TH, the default Rice value is used for the image. is used, and ΔQ is calculated as abs(QPcurrent-QPprevious). where TH is a predetermined threshold value. Rice parameter (e.g., 0, 5). For example, If the slice has a hash ratio in intra-block copy mode greater than TH , Rice parameter = 1, TH is a predetermined threshold, e.g., Max(41*(CTU (number of people), 4200).
[0150] 4. The value of abs_remainder coded in the previous slice, in coding order. Rice parameters for each slice based on After that, we use different Rice parameters for the binarization of abs_remainder. The number of bins for the next slice is calculated, and then the number of bins determines the Rice parameter for the next slice. For example, the Rice Parametric algorithm that achieves the minimum number of bins in the previous slice is used. The meter is selected for the current slice. If the slice before it uses the same QP, the slice before it achieves the minimum number of bins. The slice parameters to be used are selected for the current slice, otherwise the parameters for the previous slice are used. The number of bins generated using the default Rice parameter (e.g., 1) is different from other It is scaled by TH before being compared with the Rice parameter, resulting in the smallest number of bins. The slice parameter is selected for the current slice, and TH is set to a predetermined threshold, e.g., 0 It is .9.
[0151] 5. The value of abs_remainder coded in the previous slice, in coding order. Rice parameters for each slice based on the current slice and the previous It may be adjusted according to changes in coded information between slices. , the Rice parameter that achieves the minimum number of bins in the previous slice is Also, if ΔQ is greater than TH, the Rice value may be adjusted. ΔQ is calculated as abs(QPcurrent-QPprevious), and TH is , is a predetermined threshold. Rice parameter (e.g., 0, 5). Adjustment is performed by a predetermined offset It may be adding (e.g. +1, -1) or scaling by a given value. This may also be the case.
[0152] FIG. 16 illustrates a low-delay transform skip residual coding (TSRC) method according to one embodiment of the present disclosure. This method may be applied to, for example, an encoder. In step 2602, the encoder generates a new slice of video based on the coded information of the current slice of video. The Rice parameters may be derived by using the coded information. or the quantization parameters or coding bit depth associated with the sequence, or One of the parameters, such as the hash ratio, associated with a slice, image, or sequence of It may include the above.
[0153] The above encoder method can also be applied to the decoder side. In this case, the Rice parameters do not need to be signaled to the decoder, and are stored in the encoder / decoder. The reader uses the same method to derive the Rice parameters.
[0154] FIG. 8 illustrates a computing environment 181 coupled to a user interface 1860. 0. The computing environment 1810 may be part of a data processing server. The computing environment 1810 includes a processor 1820, a memory 1840, and Includes an I / O interface 1850.
[0155] The processor 1820 typically handles display, data acquisition, data communication, and image processing. Controlling the overall operation of the computing environment 1810, such as operations related to image processing. The processor 1820 executes instructions to perform all or part of the steps of the methods described above. The processor 1820 may include one or more processors for One or more modules that facilitate interaction between the server 1820 and other components. The processor may include a central processing unit (CPU), a microprocessor, It may be a single-chip machine, a GPU, etc.
[0156] The memory 1840 may include various memory components to support the operation of the computing environment 1810. The memory 1840 is configured to store various types of data. Examples of such data may include the computing environment 1810 instructions for any application or method operating on, video data sets, images The memory 1840 includes static random access memory (SRAM), Electrically Erasable Programmable Read-Only Memory (EEPROM), erasable programmable Programmable Read-Only Memory (EPROM), Programmable Read-Only Memory (PR OM), read-only memory (ROM), magnetic memory, flash memory, magnetic disk or any type of volatile or non-volatile memory device, such as an optical disk, or a combination thereof. This can be implemented by employing a combination.
[0157] The I / O interface 1850 connects the processor 1820 to the keyboard, click-button, and Provides an interface between peripheral interface modules such as wheels and buttons The buttons are the home button, the start scan button, and the stop scan button. The I / O interface 1850 may include, but is not limited to, an encoder. The signal processing unit can be coupled to a reader and a decoder.
[0158] In some embodiments, a computing environment 18 is provided to perform the above-described methods. 10, including a plurality of processors 1820 executable by the processor 1820. A non-transitory computer-readable recording medium including the program is also provided. The computer-readable recording medium may be a ROM, a RAM, a CD-ROM, a magnetic tape, a floppy disk, or the like. It may be a disk, an optical data storage device, or the like.
[0159] The non-transitory computer-readable storage medium may be a computer having one or more processors. The operating device stores a plurality of programs to be executed by the operating device, and the plurality of programs When executed by one or more processors, the computing device performs the above-described operations. The prediction method is then executed.
[0160] In some embodiments, the computing environment 1810 may include a To achieve this, one or more application specific integrated circuits (ASICs), digital signal processors (DSPs) ), Digital Signal Processing Devices (DSPD), Programmable Logic Devices (PLD ), Field Programmable Gate Array (FPGA), Graphical Processing unit (GPU), controller, microcontroller, microprocessor, or It may be implemented using other electronic components.
[0161] FIG. 13 illustrates the encoding and decoding of video blocks according to some implementations of this disclosure. 13 is a block diagram illustrating an exemplary system 10 for performing parallel System 10 is software that generates and encodes video data that is subsequently decoded by target device 14. The source device 12 and the destination device 14 may be a desktop or laptop. laptops, tablet computers, smartphones, set-top boxes, desktops Digital TVs, cameras, display devices, digital media players, video games Any of a wide variety of electronic devices, including music consoles, video streaming devices, etc. In some implementations, source device 12 and target device 14 may include wireless It has wired communication capabilities.
[0162] In some implementations, the target device 14 receives, via link 16, the encoded data to be decoded. The link 16 may receive encoded video data. Any type of communication medium or medium capable of transferring data from the data device 12 to the target device 14 In one embodiment, link 16 may include a device in which source device 12 is encoded. and a communication medium that allows the video data to be transmitted directly to the target device 14 in real time. The encoded video data may be encoded in accordance with a communication standard such as a wireless communication protocol. The communication medium may be in the radio frequency (RF) spectrum. It may include any wireless or wired communication medium, such as a cable or one or more physical transmission lines. The transmission medium may be a local area network, a wide area network, or the Internet. It may form part of a packet-based network such as a global network. The communication medium may be a router, switch, base station, or other communication medium from the source device 12 to the destination device 14. The device may also include any other equipment that may be useful in facilitating the
[0163] In some other implementations, the encoded video data is output to output interface 2 2 to the storage device 32. The video data is accessed by the target device 14 via the input interface 28. The storage device 32 may be a hard drive, a Blu-ray disc, a digital versatile disk, or a DVD, compact disc read-only memory (CD-ROM), flash memory, volatile or non-volatile memory, or storing encoded video data Any other suitable digital storage medium, such as a variety of distributed or locally accessed In a further example, storage device 32 may include any of the following data storage media: A file server or other storage device may be used to store the encoded video generated by device 12. The target device 14 may correspond to a storage device for streaming or downloading. The stored video data from the storage device 32 may be accessed via the The server stores the encoded video data and The computer may be any type of computer capable of transmitting a message to the target device 14. Typical file servers are web servers (for example, for websites), file transfer servers, Protocol (FTP) server, Network Attached Storage (NAS) device, or The target device 14 includes a hard disk drive. A suitable wireless channel (e.g., Wi-Fi) is available to access the video data. less Fidelity connection), wired connection (e.g., DSL (Digital Signal subscriber line, digital subscriber line, cable modem, or both Access encoded video data over any standard data connection, including a combination of The transmission of encoded video data from storage device 32 may be streamed. The transmission may be a streaming transmission, a download transmission, or a combination of both.
[0164] As shown in FIG. 13, the source device 12 includes a video source 18, a video encoder 20, and an output interface 22. The video source 18 may be a video camera, a previously captured Video archives containing captured videos, videos from video content providers a video capture device, such as a receiving video feed interface; and / or , a computer graphics system that generates computer graphics data as a source video; This may include other sources such as a digital system, or a combination of these sources. As an example, if video source 18 is a video camera in a security surveillance system, In this case, source device 12 and target device 14 may form a camera phone or video phone. However, the implementations described herein are applicable to video coding in general. , and is applicable to wireless and / or wired applications.
[0165] Captured video, pre-captured video, or computer-generated The video may be encoded by a video encoder 20. The encoded video data The data is transmitted directly to the destination device 14 via the output interface 22 of the source device 12. The encoded video data may also (or instead) be transmitted to the target device 14 or other The storage device may then be accessed and decoded and / or played back by the device. The output interface 22 may be configured to update the modem and / or transmitter. may be included in.
[0166] The target device 14 includes an input interface 28, a video decoder 30, and a display. The input interface 28 includes a receiver and / or a modem. The encoded video data may be received via link 16. The encoded video data stored or provided to storage device 32 is then video decoded. The various syntax elements generated by the video encoder 20 are used by the decoder 30 to decode the video data. Such syntax elements may be transmitted over a communication medium or stored on a storage medium. or may be included within the encoded video data stored on a file server. .
[0167] In some implementations, the target device 14 includes an integrated display device, and A display may be an external display device configured to communicate with the target device 14. The display device 34 may include a display device 34 that displays the decoded video data. Display data to the user and display it on a variety of displays, including liquid crystal displays (LCDs), plasma displays, and organic light-emitting diode (OLED) displays. such as an organic light emitting diode (OLED) display or other type of display device. The display may include any of a variety of display devices.
[0168] The video encoder 20 and the video decoder 30 are, for example, VVC, HEVC, MPE It may operate according to proprietary or industry standards such as G-4, Part 10, AVC, etc. , may operate according to extensions of those standards. It should be understood that the present invention is not limited to this standard and may be applicable to other video encoding / decoding standards. Generally, video encoder 20 of source device 12 will support any of these current or future It is contemplated that the video data may be encoded in accordance with the standard. Similarly, the video decoder 30 of the target device 14 may be compliant with any of these current or future standards. It is therefore generally contemplated that it may also be configured to decode video data.
[0169] The video encoder 20 and the video decoder 30 each include one or more microprocessors. digital signal processors (DSPs), application specific integrated circuits (ASICs), Field Programmable Gate Arrays (FPGAs), discrete logic, and software Various suitable encoding methods may be used, such as hardware, firmware, or a combination thereof. The electronic device may be implemented as either a software or a decoder circuit. If the software is implemented in part in hardware, you may transfer the software's instructions to a suitable non-transitory computer program. and storing the instructions in a readable medium and executing the instructions in hardware by one or more processors to implement the present disclosure. The video encoder 20 and the video decoder 21 may perform the video encoding / decoding operations disclosed in Each of the video decoders 30 may be included in one or more encoders or decoders. Instead, one of them is the combined encoder / decoder (CODEC) in each device. may be integrated as part of
[0170] FIG. 14 illustrates an example video encoder 200 according to some implementations described herein. 0 is a block diagram showing a video encoder 20 for a video block in a video frame. Intra-prediction and inter-prediction coding of the image can be performed. Coding relies on spatial prediction to predict the spatial distribution of video data within a given video frame or image. Inter-predictive coding relies on temporal prediction to reduce or remove redundancy in a video sequence. reducing or removing temporal redundancy in video data within adjacent video frames or images of a video stream; It should be noted that the term "frame" is often used in the field of video coding to refer to "picture" or "image." It may be used as a synonym for the term
[0171] As shown in FIG. 14, the video encoder 20 includes a video data memory 40, a prediction processing unit 42, and a unit 41, a decoded picture buffer (DPB) 64, an adder 50, a transform processing unit 52, The prediction processing unit 4 includes a quantization unit 54 and an entropy coding unit 56. 1 includes a motion estimation unit 42, a motion compensation unit 44, a division unit 45, and an intra prediction unit. It further includes a processing unit 46, and an intra block copy (BC) unit 48. In some implementations, video encoder 20 performs inverse quantization for video block reconstruction. The deblocking filter also includes a deblocking unit 58, an inverse transform processing unit 60, and an adder 62. An in-loop filter 63, such as a filter, is disposed between the adder 62 and the DPB 64. It is possible to filter the block boundaries and remove blockiness from the reconstructed video. To filter the output of adder 62, a deblocking filter may be added. and a sample adaptive offset (SAO) filter and / or an adaptive in-loop filter (A Other in-loop filters, such as a LF, may also be used. The loop filter may be omitted and the decoded video block is added by adder 62. The video encoder 20 may be a fixed or programmable It may take the form of a programmable hardware unit, fixed or programmable as shown. It may be divided into one or more hardware units.
[0172] The video data memory 40 stores the video data encoded by the components of the video encoder 20. The video data in the video data memory 40 can be stored. , can be obtained from a video source 18, as shown in FIG. 4 is a block diagram of a video encoder 20 (e.g., an intra-prediction coding mode or an inter-prediction coding mode). Reference video data (e.g., reference video data) used in encoding video data (in a measurement encoding mode) The video data memory 40 and the DPB 6 are buffers for storing the video data (referred to as frames or images). 4 may be formed by any of a variety of memory devices. The video data memory 40 is on-chip with the other components of the video encoder 20. It may be present or off-chip relative to those components.
[0173] As shown in FIG. 14, after receiving the video data, the division unit in the prediction processing unit 41 The block 45 divides the video data into video blocks. Sequencing video frames according to a predefined partitioning structure, such as an associated quadtree (QT) structure. Rice, tile (e.g., a set of video blocks), or other larger coding unit A video frame may also be divided into sample units (CUs). The samples in the array are, or may be considered to be, a two-dimensional array or matrix of The horizontal and vertical directions (or axes) of samples in an array or image may also be called pixels or pels. The number defines the size and / or resolution of the video frame. , may be divided into multiple video blocks using QT partitioning. A two-dimensional array of samples or are, or may be considered as, matrices. The number of samples on the x axis (x, y axis) defines the size of a video block. For example, QT partitioning, binary tree (BT) partitioning, ternary tree (TT) partitioning, or any combination of these. By using the same iteratively, one or more block partitions or sub-blocks can be created. It may be further divided into partitions (which may again form blocks). As used herein, the term "block" or "video block" means a frame or image. It may be a part of, especially a rectangular (square or non-square) part. For example, HEVC and V Referring to VC, a block or video block is divided into a coding tree unit (CTU), It may be a CU, a prediction unit (PU), or a transform unit (TU), or and / or coding tree blocks (CTB), coding blocks (CB), a corresponding block, such as a predicted block (PB) or a transformed block (TB), and / or It may be a sub-block or correspond to it.
[0174] The prediction processing unit 41 performs a prediction process based on the error results (e.g., the coding rate and distortion level). selects one of multiple intra-prediction coding modes for the current video block, or The predictive coding mode is one of several possible predictive coding modes, such as one of several inter-predictive coding modes. Prediction processing unit 41 may select one of the obtained intra or inter frames. The predictively coded block is provided to adder 50 to generate a residual block, which is then added to adder 62. The coded block can be reconstructed and used as part of the reference frame. The prediction processing unit 41 also receives motion vectors, intra mode indicators, and segmentation information. , and other such syntax information to the entropy encoding unit 56. do.
[0175] To select an appropriate intra-prediction coding mode for the current video block, The intra prediction processing unit 46 in the prediction processing unit 41 performs intra prediction on the current block to be coded. Intra prediction of the current video block relative to one or more neighboring blocks in the same frame. The motion estimation unit within the prediction processing unit 41 performs spatial coding to provide spatial prediction. 42 and motion compensation unit 44 calculate one or more prediction blocks in one or more reference frames. , and performs inter-predictive coding of the current video block for the current video block to provide a temporal prediction. Video encoder 20 may, for example, select an appropriate encoding mode for each block of video data. To select the best mode, multiple passes of encoding may be performed.
[0176] In some implementations, the motion estimation unit 42 may estimate a given motion within a sequence of video frames. According to the pattern, the current video frame is compared to the predicted block in the reference video frame. The motion vectors are generated to indicate the displacement of the video blocks within the current video frame. The motion estimation unit 42 determines the inter prediction mode for the frame. Motion estimation is the process of generating motion vectors, which estimate the movement of video blocks. A motion vector is, for example, a block in a current video frame relative to a predicted block in a reference frame. The predicted block may represent the displacement of a video block within a frame or image, and the predicted block may represent the displacement of a video block within a current frame or image. The predetermined pattern is for the current block being coded in the sequence Video frames in an intraframe may be designated as P-frames or B-frames. The BC unit 48 calculates the motion vectors for inter prediction by the motion estimation unit 42. In the same way as the determination, vectors for intra BC coding, e.g., block vectors, are determined as Alternatively, the motion estimation unit 42 may be used to determine the block vectors. .
[0177] The prediction of a video block is calculated using the sum of absolute differences (SAD) or sum of squared differences (SSD). The video block to be encoded is then coded in terms of pixel differences, which may be determined by a pixel difference metric, or other difference metric. A block of a reference frame or a reference block that is considered to closely match the block In some implementations, video encoder 20 may The values of the sub-integer pixel positions of the reference frame stored in the DPB 64 may be calculated. For example, , the video encoder 20 may select a quarter pixel position, a one-eighth pixel position, or other fractional positions of the reference frame. The motion estimation unit 42 may interpolate values for all pixel positions and Motion search may be performed on fractional pixel positions to output motion vectors with fractional pixel accuracy.
[0178] Motion estimation unit 42 estimates the location of the video block in the inter-predictive coded frame. and a first reference frame, each of which identifies one or more reference frames stored in the DPB 64. Reference frame selected from the frame list (list 0) or the second reference frame list (list 1) The motion vector of the video block is calculated by comparing it with the position of the predicted block of the frame. The motion estimation unit 42 sends the calculated motion vector to the motion compensation unit 44. and then to entropy coding unit 56.
[0179] The motion compensation performed by the motion compensation unit 44 is and obtaining or generating a prediction block based on the determined motion vector. Upon receiving the motion vector for the current video block, motion compensation unit 44 may , which prediction block the motion vector points to in one reference frame list The predicted block is obtained from the DPB 64 and added to the adder 50. The adder 50 then transfers the current video block being coded. The pixel values of the prediction block provided by the motion compensation unit 44 are subtracted from the pixel values of the forming a residual video block of pixel difference values. The pixel difference values may include a luminance difference component, a chrominance difference component, or both. Compensation unit 44 is used by the video decoder when decoding a video block of a video frame. 30, the syntax elements associated with the video blocks of a video frame The syntax elements can be used to identify the predicted blocks, for example. Syntax elements that define motion vectors, any flags that indicate prediction modes, or It should be noted that the motion estimation unit 42 and the motion compensation unit 43 may also include any other syntactic information that is used. The sets 44 may be highly integrated, but are shown separately for conceptual purposes.
[0180] In some implementations, the intra BC unit 48 is a combination of the motion estimation unit 42 and the motion A vector is generated in a manner similar to that described above in connection with the compensation unit 44, and the prediction block is A block can be obtained, but the predicted block is not the same as the current block being coded. In this case, the vectors are called block vectors rather than motion vectors. In particular, the intra BC unit 48 encodes the intra block used to encode the current block. In some embodiments, the intra BC unit 48 may determine the intra prediction mode. , for example, during the encoding of the separate passes, various intra prediction modes may be used to predict the current block We can then code the inputs and test their performance by rate-distortion analysis. The intra BC unit 48 selects an appropriate intra prediction mode from among the multiple intra prediction modes tested. Selecting and using an intra prediction mode to generate a corresponding intra mode indicator. For example, the intra BC unit 48 can perform various tested intra prediction modes. Rate-distortion analysis was used to calculate the rate-distortion values for each mode, and the selected mode was selected from the modes tested. Then, the intra prediction mode with the best rate-distortion characteristics is selected as the appropriate intra prediction mode. Rate distortion analysis is generally performed on coded blocks and The original uncoded block that was coded to produce the coded block of The amount of distortion (or error) between The intra BC unit 48 determines the bit rate (i.e., the number of bits) allocated to the various The ratio is calculated from the distortion and rate of the coded block, and the intra prediction mode is It can be determined whether σ gives the best rate-distortion value for the block.
[0181] In another embodiment, intra BC unit 48 includes motion estimation unit 42 and motion compensation unit 43. Intra-B according to the implementation described herein by all or a portion of unit 44 In either case, intra-block copying can be performed. In this case, the predicted block is determined by SAD, SSD, or other difference metric. In terms of pixel differences obtained, the block is considered to be a close match to the block being coded. The identification of the prediction block may include calculating values of sub-integer pixel positions.
[0182] Whether the predicted blocks are from the same frame by intra prediction or by inter prediction Whether the frames are from different frames, video encoder 20 Subtracting pixel values of the prediction block from pixel values of the current video block being coded A residual video block can be formed by forming raw difference values. The pixel difference values forming the oblique block may include both luminance and chrominance component differences. .
[0183] The intra-prediction processing unit 46 performs the motion estimation and motion compensation processing in the same manner as described above. Inter prediction performed by the compensation unit 44 or intra prediction by the intra BC unit 48 Instead of intra block copy prediction being performed on the current video block, the current video block is intra predicted. In particular, intra-prediction processing unit 46 may use To do so, the intra prediction process may determine the intra prediction mode to be used for the intra prediction process. Processing unit 46 may, for example, use different intra-prediction modes during the encoding of the separate passes. The current block can be coded using intra-prediction processing unit 46 (or some In some embodiments, the mode selection unit selects an appropriate intra-prediction mode from the tested intra-prediction modes. The intra prediction processing unit 4 can select and use an appropriate intra prediction mode. 6 is a block of entropy coding unit information indicating the selected intra prediction mode of the block. The entropy coding unit 56 may provide the selected intra prediction Information indicating the mode may be coded into the bitstream.
[0184] Prediction processing unit 41 predicts the current video block via inter-prediction or intra-prediction. After determining the predicted block, adder 50 subtracts the predicted block from the current video block. The residual video data in the residual block is subtracted to form a residual video block. The data may be included in one or more TUs and provided to a transformation processing unit 52. Unit 52 generates a residual from a transform such as a discrete cosine transform (DCT) or a conceptually similar transform. The video data is transformed into residual transform coefficients.
[0185] Transform processing unit 52 may send the resulting transform coefficients to quantization unit 54. Quantization unit 54 quantizes the transform coefficients to further reduce the bit rate. The process may also reduce the bit depth associated with some or all of the coefficients. The degree of quantization can be changed by adjusting the quantization parameter. In this embodiment, quantization unit 54 performs a scan of a matrix containing quantized transform coefficients. Alternatively, entropy encoding unit 56 may perform the scan.
[0186] Following quantization, the entropy coding unit 56 may perform, for example, context adaptive variable Concurrent Adaptive Binarization Coder (CAVLC), Context-Adaptive Binary Arithmetic Coding (CABAC), Syntax-Based Context Adaptive Binary Arithmetic Coding (SBAC), Probabilistic Interval Partition Entropy (PIPE) The quantized transform coefficients are converted into video data using a coding or other entropy coding method or technique. The encoded bitstream is then entropy coded as shown in Figure 1. 13, may be transmitted to the video decoder 30 or may be transmitted to the video decoder 30 at a later time. 13 to be transmitted to the video decoder 30 or retrieved by the video decoder 30. The entropy encoding unit 56 may be archived to the storage device 32 as follows: Entries motion vectors and other syntax elements for the current video frame being coded. It may be ropy coded.
[0187] The inverse quantization unit 58 and the inverse transform processing unit 60 perform the inverse quantization and the inverse transform, respectively. of pixel regions to generate reference blocks for prediction of other video blocks. As described above, motion compensation unit 44 reconstructs the residual video block. Generate a motion compensated prediction block from one or more reference blocks of the frame stored in 4. Additionally, motion compensation unit 44 may apply one or more interpolation filters to the prediction block. may be applied to calculate the sub-integer pixel values used for motion estimation.
[0188] Adder 62 adds the reconstructed residual block to the motion compensation unit 44. Add to the motion compensated prediction block to generate a reference block for storage in DPB64 The reference block is then passed through the intra BC unit 48, the motion estimation unit 42, and the motion Compensation unit 44 inter-predicts other video blocks in subsequent video frames. The block may be used as a prediction block for measuring the received signal.
[0189] FIG. 15 is a block diagram illustrating an exemplary video decoder 30 according to some implementations of the present application. The video decoder 30 includes a video data memory 79, an entropy decoding unit 76, and a unit 80, a prediction processing unit 81, an inverse quantization unit 86, an inverse transform processing unit 88, The prediction processing unit 81 includes a motion compensation unit 82, an adder 90, and a DPB 92. It further includes an intra prediction unit 84 and an intra BC unit 85. 30 is substantially the same as the encoding process described above for video encoder 20 in connection with FIG. For example, motion compensation unit 82 may perform the reverse decoding process. Generate prediction data based on the motion vectors received from the tropy decoding unit 80 However, intra prediction unit 84 receives the data from entropy decoding unit 80. Prediction data can be generated based on the received intra-prediction mode information.
[0190] In some embodiments, the units of video decoder 30 perform implementations of the present application. In some examples, implementations of the present disclosure may also include video decode. For example, the intra BC unit 85 may be divided into one or more units of the intra BC unit 85. is used alone or in combination with the motion compensation unit 82, the intra prediction unit 84, and the entropy In combination with other units of the video decoder 30, such as the decoding unit 80, In some embodiments, video decoder 30 may perform an intra-BC The function of the intra BC unit 85 may be replaced by the motion compensation unit. The prediction processing unit 81 may be executed by other components of the prediction processing unit 81, such as processor 82.
[0191] Video data memory 79 stores the video data decoded by other components of video decoder 30. The video data may be stored in a video memory, such as an encoded video bitstream. The video data stored in the video data memory 79 is obtained from the storage device 32, for example. or wired or wireless transmission of video data from a local video source such as a camera. The data may be acquired via network communication or stored on a physical data storage medium (e.g., a flash drive). The video data may be obtained by accessing the video data media (e.g., flash drive or hard disk). The memory 79 stores the encoded video data from the encoded video bitstream. The DPB 92 of the video decoder 30 may include a coded picture buffer (CPB) for storing the coded picture data. is the prediction by video decoder 30 (e.g., in intra- or inter-prediction coding mode). Video data memory 7 stores reference video data used in decoding video data. 9 and DPB92 are dynamic random access memory (DRAM) (synchronous DRAM (including SDRAM, magnetoresistive RAM (MRAM), resistive RAM (RRAM)) or other The memory device may be formed by any of a variety of memory devices, such as For convenience of explanation, the video data memory 79 and the DPB 92 are shown in FIG. However, the video data is shown as two separate components of the video data reader 30. The data memory 79 and the DPB 92 may be provided by the same memory device or by separate memory devices. It will be apparent to those skilled in the art that in some embodiments, video data memory The logic 79 may be on-chip with other components of the video decoder 30 or may be These components may be off-chip.
[0192] During the decoding process, video decoder 30 generates a video block of the encoded video frames. The video bitstream is encoded to represent the block and associated syntax elements. Video decoder 30 may use syntax elements at the video frame level and / or video block level. Entropy decoding unit 80 of video decoder 30 may receive the bitstream. The stream is entropy decoded to obtain quantized coefficients, motion vectors, or intra prediction modes. Next, the entropy decoding unit 80 generates an indicator of the The motion vector or intra-prediction mode indicator and other syntax elements are used as a prediction processing unit. Transfer to unit 81.
[0193] The video frames are encoded as intra-predictive (I) frames or other types of For intra-coded predicted blocks of a frame, if coded, a prediction processing unit The intra prediction unit 84 of the unit 81 receives the signaled intra prediction mode and The current video is decoded based on reference data from previously decoded blocks of the current frame. Predictions for video blocks of a frame may be generated.
[0194] Video frames are coded as inter-predictive (B or P) frames In this case, the motion compensation unit 82 of the prediction processing unit 81 is 0 to obtain the motion vectors of the current video frame based on the received motion vectors and other syntax elements. Each prediction block is based on one reference frame. The video decoder 30 may generate the DPB92 frame from a reference frame in the frame list. Based on the reference frames stored in You may construct a list 0 and a list 1 of
[0195] In some embodiments, the video block may be in intra BC mode as described herein. Therefore, when encoding, the intra BC unit 85 of the prediction processing unit 81 based on the block vectors and other syntax elements received from the tropy decoding unit 80. , to generate a prediction block for the current video block. The prediction block is 20 within the same reconstructed region of the image as the current video block defined by Good too.
[0196] The motion compensation unit 82 and / or the intra BC unit 85 calculates the motion vectors and other Determine prediction information for video blocks of the current video frame by parsing syntax elements. This prediction information is then used to determine the predicted block of the current video block being decoded. For example, motion compensation unit 82 may use some of the received syntax elements to generate a block. and the prediction mode (e.g., Inter prediction frame type (e.g., B or P), the configuration information of one or more reference frame lists for the frame, the inter-prediction coding of the frame Motion vectors for each video block, inter-predictive coded video blocks of a frame Inter prediction state for each video block of the current video frame Determine the information.
[0197] Similarly, the intra BC unit 85 uses some of the received syntax elements, e.g., flags, to It is used to determine whether the current video block is predicted in intra BC mode, and which part of the frame is predicted in intra BC mode. Configuration regarding whether a video block is in the reconstructed region and should be stored in DPB 92 block vectors for each intra BC predicted video block of a frame, Intra BC prediction status for each intra BC predicted video block, Determine other information for decoding the video block.
[0198] Motion compensation unit 82 also provides video encoder 20 with motion compensation information during the encoding of a video block. The interpolation is performed by the interpolation filter used to perform the sub-integer pixel interpolation of the reference block. In this case, motion compensation unit 82 may calculate a video The interpolation filter used by the encoder 20 is determined, and the interpolation filter is used to predict the Measurement blocks may be generated.
[0199] Inverse quantization unit 86 performs video encoding for each video block in a video frame. The same quantization parameters calculated by the decoder 20 are used to provide the bitstream. and entropy decoded by entropy decoding unit 80. The inverse transform processing unit 88 inverse quantizes the coefficients and determines the degree of quantization. To reconstruct the residual block, an inverse transform, e.g., an inverse DCT, an inverse integer transform, or a conceptual A similar inverse transform process is applied to the transform coefficients.
[0200] The motion compensation unit 82 or the intra BC unit 85 calculates the vectors based on the vectors and other syntax elements. After generating a prediction block for the current video block based on the Residual blocks from unit 88, motion compensation unit 82 and intra BC unit 85 and the corresponding prediction block generated by Reconstructs the decoded video blocks. Deblocking filter, SAO filter , and / or an in-loop filter 91 such as an ALF, between the adder 90 and the DPB 92. In some embodiments, the decoded video blocks may be arranged to be further processed. , the in-loop filter 91 may be omitted, and the decoded video block is added The decoded data in a given frame may then be provided directly to the DPB 92 by the decoder 90. The selected video block is the reference frame used for subsequent motion compensation of the next video block. The data is stored in the DPB92, which stores the data. The remote device may then display the decoded video on a display, such as display device 34 of FIG. It may be stored for later display on the playing device.
[0201] The description of this disclosure has been presented for purposes of illustration and is not intended to be exhaustive or limiting of the disclosure. It is not intended to be an exhaustive list of the teachings presented in the foregoing description and associated drawings. Many modifications, variations, and alternative implementations will be apparent to those skilled in the art having the benefit of this disclosure. cormorant.
[0202] The examples illustrate the principles of the present disclosure and allow others skilled in the art to understand the present disclosure in various implementations. and to optimize the underlying principles and various implementations with various modifications suited to the particular use intended. The invention has been selected and described to enable convenient use. The disclosed embodiments should not be construed as limiting the scope of the invention, and modifications and other embodiments are possible. It is understood that this is intended to fall within the scope of the present disclosure.
Claims
1. The decoder uses two values of abs_reminder and dec_abs_level. A sequence parameter that indicates whether the extension of the Rice parameter derivation for quantization is valid. receiving a set of (SPS) Rice extension flags; abs_reminder is the context coded value in the first pass coding. If the remaining number of bins is 4 or more, the Golomb-Rice code and bypass code are used in the second pass. indicates a first syntax element which is the remainder of the level information of the coded coefficients in the coded bins, dec_abs_level is the context coded value in the first pass coding. If the number of remaining bins is less than 4, the Golomb-Rice code and bypass code are used in the second pass. 2 shows a second syntax element, which is the current coefficient directly coded using the coded bins. Decryption method.
2. In response to determining that the value of the SPS Rice extension flag is equal to 1, the decoder determining that the extension of the Rice parameter derivation for binarization is valid by and, In response to determining that the value of the SPS Rice extension flag is equal to 0, the decoder determining that the extension of the Rice parameter derivation for binarization is invalid by The video decoding method of claim 1 , further comprising:
3. The decoder adds the Rice extension flag gci_no_rrc_ Add rice_extension_flag to set one of the SPS rice extension flags. The video decoding method of claim 1 , further comprising providing a general control.
4. Rice extension flag gci_no_rrc_rice_extension_fla In response to determining that the value of g is equal to 1, the value of the SPS Rice extension flag is set to 0. The video decoding method of claim 3 , further comprising: determining whether the video is correct.
5. The decoder adds statistics accumulated from the previous transform unit (TU) at the beginning of each TU. for binarization of abs_reminder and dec_abs_level using Sequence Parameter Set (SPS) indicating whether to initialize the Rice parameter derivation receiving a Rice adaptation enable flag; abs_reminder is the context coded value in the first pass coding. If the remaining number of bins is 4 or more, the Golomb-Rice code and bypass code are used in the second pass. indicates a first syntax element which is the remainder of the level information of the coded coefficients in the coded bins, dec_abs_level is the context coded value in the first pass coding. If the number of remaining bins is less than 4, the Golomb-Rice code and bypass code are used in the second pass. 2 shows a second syntax element, which is the current coefficient directly coded using the coded bins. Decryption method.
6. In response to determining that the value of the SPS Rice adaptation enable flag is equal to 1, The coder uses the statistics accumulated from the previous TU at the beginning of each TU to determining to initialize a Rice parameter derivation for In response to determining that the value of the SPS Rice adaptation enable flag is equal to 0, The coder decides not to use the previous TU state in the Rice parameter derivation. The video decoding method of claim 5 , further comprising:
7. The decoder adds the Rice adaptation enable flag gci_no_p to the general constraint information syntax. Add persistent_rice_adaptation_enabled_flag Additionally, the method further includes providing a general control of the SPS Rice Adaptation Enable flag. Item 6. A video decoding method according to item 5.
8. The Rice adaptation enable flag gci_no_persistent_rice_ada In response to determining that the value of the notification_enabled_flag is equal to 1, 4. The method of claim 3, further comprising: determining that the value of the SPS Rice adaptation enable flag is equal to 0.
8. The video decoding method according to claim 7.
9. one or more processors; a memory configured to store instructions executable by the one or more processors; , including The one or more processors, upon execution of the instructions, perform the steps of any one of claims 1 to 8. A video decoding device configured to implement the method of claim 1.
10. When executed by one or more computer processors, A computer-implemented method for causing a processor to implement the method of any one of claims 1 to 8. A non-transitory computer-readable storage medium for video decoding that stores instructions for decoding the video.
Citation Information
Patent Citations
Residual and coefficient coding and decoding of video coding and decoding
JP7721685B2