Transmission Coding Technique Using Transform Omission Blocks
By introducing technologies such as conversion omitting mode and block incremental pulse decoding modulation in the video decoding system, the problem of insufficient conversion coefficient and residual signal processing efficiency in the prior art is solved, and more efficient video decoding performance is achieved.
Patent Information
- Application Number
- CN202080045630.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2020-06-22
- Filing Date
- 2020-06-24
- Publication Date
- 2025-05-09
- Estimated Expiration
- 2040-06-24
AI Technical Summary
In the process of efficient video decoding, existing video decoding systems are difficult to effectively process conversion coefficients and residual signals, resulting in insufficient encoding efficiency and performance.
Techniques such as conversion omission mode (TSM) and block incremental pulse decoding modulation (BDPCM) are introduced. By transmitting higher-order syntax elements in video decoders, controlling the use of decoding tools, directly quantizing and entropy encoding residual signals, and skipping the conversion operation.
It improves the encoding efficiency and performance of the video decoding system, reduces computing complexity and resource consumption, and enhances the compression ability of video data.
Smart Images

Figure CN114009015B_ABST
Abstract
Description
[0001] [Cross-reference to related applications]
[0002] The present invention is part of a non-provisional application claiming priority to U.S. provisional patent application No. 62 / 868,830 filed on June 28, 2019. The contents of the above patent application are incorporated into this specification by reference. [Technical field]
[0003] The present disclosure relates generally to video processing and, more particularly, to a method for signaling coding a block of video data. [Background technology]
[0004] Unless otherwise indicated herein, the approaches described in this section are not prior art to the claims and are not admitted to be prior art by inclusion in this section.
[0005] In a video decoding system implementing high-efficiency video coding (HEVC), an input video signal is predicted based on a reconstructed signal, which originates from a coded picture region. The prediction residual signal is processed by a linear transform. The transform coefficients are quantized and entropy coded along with other auxiliary information in the bitstream. A reconstructed signal is generated from the prediction signal and the reconstructed residual signal after inverse transforming the dequantized transform coefficients. The reconstructed signal is further processed by loop filtering to remove coding artifacts. The decoded image is stored in a frame buffer for output and prediction of future images in the input video signal.
[0006] In HEVC, the decoded image is divided into non-overlapping square block regions represented by associated coding tree units (CTUs). The decoded image can be represented by a set of slices, each slice containing an integer number of CTUs. The individual CTUs in a slice are processed in raster scan order. Bi-predicted (B) slices can be decoded using intra prediction or inter prediction, where intra prediction or inter prediction uses up to two motion vectors and reference indices to predict the sample values of each block. Predicted (P) slices are decoded using intra prediction or inter prediction using up to one motion vector and reference index to predict the sample values of each block. Intra (I) slices are decoded using only intra prediction.
[0007] A CTU can be divided into multiple non-overlapping coding units (CUs) using a recursive quadtree (QT) structure to accommodate various local motion and texture characteristics. One or more prediction units (PUs) are specified for each CU. The prediction unit, together with the associated CU syntax, serves as the basic unit for communicating predictor information. The values of related pixel samples within the PU are predicted using a specified prediction process. The CU can be further divided using a residual quadtree (RQT) structure for representing the associated prediction residual signal. The leaf nodes of the RQT correspond to transform units (TUs). The transform unit includes a transform block (TB) of luma samples of size 8x8, 16x16, or 32x32 or a transform block of four luma samples of size 4x4, and two corresponding transform blocks of chroma samples for an image in 4:2:0 color format. Integer transforms are applied to the transform blocks, and the level values of the quantized coefficients are entropy encoded in the bitstream along with other auxiliary information.
[0008] The terms coding tree block (CTB), coding block (CB), prediction block (PB), and transform block (TB) are defined to specify a 2-D sample array of one color component associated with a CTU, CU, PU, and TU, respectively. Thus, a CTU consists of one luma CTB, two chroma CTBs, and associated syntax elements. Similar relationships are valid for CUs, PUs, and TUs. Tree partitioning is usually applied to both luma and chroma, but there are exceptions when certain minimum sizes for chroma are reached. In some other coding standards, each CTU can be divided into one or more smaller-sized coding units (CUs) using a quadtree using nested multi-type trees, using binary and ternary splits. The resulting CU partitions can be square or rectangular. [Summary of the invention]
[0009] The following summary is illustrative only and is not intended to be limiting in any way. That is, the following summary is provided to introduce the concepts, highlights, benefits, and advantages of the novel and non-obvious technologies described herein. Selected but not all implementations will be further described in the detailed description below. Therefore, the following summary is not intended to identify the essential features of the claimed subject matter, nor is it intended to be used to determine the scope of the claimed subject matter.
[0010] Some embodiments provide a method for performing a transform skip mode (TSM) in a video decoder. The video decoder receives data from a bitstream to decode it into a plurality of video pictures. The video decoder parses the bitstream of a first syntax element in a sequence parameter set (SPS) of a current sequence of video pictures. When the first syntax element indicates that a transform skip mode of a current sequence of video pictures is allowed, and when a current block in a current picture of the current sequence uses the transform skip mode, the video decoder reconstructs the current block by using an untransformed quantized residual signal.
[0011] When the first syntax element indicates that the current sequence of video images allows the transition skip mode, the video decoder parses the bitstream of the second syntax element in the SPS to indicate whether block delta pulse code modulation (BDPCM) is allowed for the current sequence of video images. In some embodiments, when the first syntax element indicates that the current sequence of video images allows the transition skip mode, the video decoder further parses the bitstream of the third syntax element to indicate whether the residual signal of the current block is entropy decoded by using other residual decoding processes.
Brief Description of the Drawings
[0012] The accompanying drawings are included to provide a further understanding of the present disclosure and are incorporated into and constitute a part of the present disclosure. The accompanying drawings illustrate embodiments of the present disclosure and together with the description are used to explain the principles of the present disclosure. It is understood that the drawings are not necessarily drawn to scale, as some components may be shown out of proportion to the size in actual implementation in order to clearly illustrate the concepts of the present disclosure.
[0013] Figure 1 The signaling of TSM-related signals in a high-level syntax set is conceptually illustrated.
[0014] Figure 2 An example video encoder capable of implementing a transform skip mode is described.
[0015] Figure 3 A portion of a video encoder that implements a transition skip mode is described.
[0016] Figure 4 The process of using a transform skip mode during video encoding is conceptually illustrated.
[0017] Figure 5 An example video decoder capable of implementing a transition skip mode is described.
[0018] Figure 6 A portion of a video decoder that implements a transition skip mode is described.
[0019] Figure 7 The process of using a transition skip mode during video decoding is conceptually illustrated.
[0020] Figure 8 An electronic system for implementing some embodiments of the present disclosure is conceptually illustrated. [Specific implementation method]
[0021] In the detailed description below, many specific details are set forth by way of example to provide a thorough understanding of the relevant teachings. Any variations, derivations, and / or extensions based on the teachings described herein are within the scope of protection of the present disclosure. In some cases, well-known methods, processes, components, and / or circuits related to one or more example implementations disclosed herein may be described at a relatively high level without detail to avoid unnecessarily confusing various aspects of the teachings of the present disclosure.
[0022] I. Entropy Coding of Pixel Blocks
[0023] Some embodiments of the present disclosure provide methods for controlling the use of decoding tools in a video decoding system. Some video decoding systems (e.g., Versatile Video Coding (VVC)) are developed to support various video applications. Certain decoding tools for new decoding applications such as screen content decoding may not be suitable for decoding video content captured by traditional cameras. According to some aspects of the present invention, a video decoder may communicate one or more high-level syntax elements to control the use of certain decoding tools for target applications.
[0024] In some embodiments, a coded block flag (CBF) is used to signal whether there are any non-zero transform coefficients in the transform block. When CBF is equal to 0, no further decoding is performed on the associated transform block, and it is inferred that all coefficients in the current transform block are equal to 0. Otherwise, the associated transform block contains at least one non-zero transform coefficient. The non-zero transform block is further divided into non-overlapping sub-blocks. The syntax element coded_sub_block_flag can be signaled to indicate whether the current sub-block contains any non-zero coefficients. When coded_sub_block_flag is equal to 0, no further encoding is performed on the associated transform sub-block, and it is inferred that all coefficients in the current transform sub-block are equal to 0. Otherwise, the associated transform block contains at least one non-zero transform coefficient. Multiple subblock coding passes are used to entropy decode the values of the transform coefficient level in the associated sub-block. In each decoding pass, a single transform coefficient is accessed once according to a predefined scanning order.
[0025] In some embodiments, the syntax element sig_coeff_flag is signaled in the first sub-block decoding pass to indicate whether the absolute value of the current transform coefficient level is greater than 0. In the second decoding process, the syntax element coeff_abs_level_greater1_flag is further signaled for the current coefficient with sig_coeff_flag equal to 1 to indicate whether the absolute value of the related transform coefficient level is greater than 1. For the current coefficient with coeff_abs_level_greater1_flag equal to 1, the syntax element coeff_abs_level_greater2_flag is further signaled in the third decoding pass to indicate whether the maximum value of the related transform coefficient level is greater than 2. In the fourth and fifth sub-block decoding passes, the sign information and the remaining level value are further signaled by the syntax elements coeff_sign_flag and coeff_abs_level_remaining, respectively.
[0026] In some embodiments, the transform coefficients may be quantized by subordinate scalar quantization. The selection of one of the two quantizers is determined by a state machine having four states. The state of the current transform coefficient is determined by the state and the parity of the absolute level value of the previous transform coefficient in the scan order. The transform block is divided into non-overlapping sub-blocks. The transform coefficient level in each sub-block is entropy decoded using multiple sub-block decoding channels. The syntax elements sig_coeff_flag, abs_level_gt1_flag, par_level_flag, and abs_level_gt3_flag are signaled in the first sub-block decoding channel. The elements abs_level_gt1_flag and abs_level_gt3_flag indicate whether the absolute value of the current coefficient level is greater than 1 and greater than 3, respectively. The syntax element par_level_flag indicates the parity bits of the absolute value of the current level. The absolute value of the partially reconstructed transform coefficient level from the first channel is given by
[0027] AbsLevelPass1=sig_coeff_flag+par_level_flag+
[0028] abs_level_gt1_flag+2*abs_level_gt3_flag
[0029] The context selection for entropy coding sig_coeff_flag depends on the state of the current coefficient. Therefore, par_level_flag is signaled in the first decoding pass to derive the state of the next coefficient. The syntax elements abs_remainder and coeff_sign_flag are further signaled in subsequent sub-block decoding passes to indicate the remaining coefficient criterion value and sign, respectively. The absolute value of the fully reconstructed transformed coefficient criterion is given by
[0030] AbsLevel=AbsLevelPass1+2*abs_remainder
[0031] The conversion coefficient is given by
[0032] TransCoeffLevel=(2*AbsLevel-(QState>1?1:0))*(1-2*
[0033] coeff_sign_flag),
[0034] Among them, QState indicates the state of the current conversion coefficient.
[0035] In order to achieve high compression efficiency, the context-based adaptive binary arithmetic coding (CABAC) mode or the normal mode is used to entropy decode the values of the syntax elements in the HEVC and VVC drafts. Since the arithmetic decoder in the CABAC engine can only encode binary symbol values, the CABAC operation first needs to convert the values of the syntax elements into binary strings, a process usually called binarization. In the decoding process, a probability model is gradually established based on the decoded symbols of different contexts. The selection of the modeling context for decoding the next binary symbol can be determined by the decoding information. Symbols can be decoded without a context modeling stage, and equal probability distributions are assumed (usually called bypass mode) to improve the bitstream parsing throughput.
[0036] In some embodiments, the values of the syntax elements coded_sub_block_flag, sig_coeff_flag, coeff_abs_level_greater1_flag and coeff_abs_level_greater2_flag in the transform subblock are decoded in a normal mode. The values of the syntax elements coeff_sign_flag and coeff_abs_level_remaining in the transform subblock are decoded in a bypass mode. In order to limit the total number of normal bit bins of the entropy coded transform coefficient level in a subblock in the worst case, at most eight coeff_abs_level_greater1_flag values and one coeff_abs_level_greater2_flag value may be decoded per subblock. Thus, the maximum number of normal bit bins per subblock may be limited to 25.
[0037] In some embodiments, the syntax elements sig_coeff_flag, coeff_sign_flag, abs_level_gt1_flag, and par_level_flag are signaled in the first sub-block pass. The syntax elements abs_level_gt3_flag, abs_level_gt5_flag, abs_level_gt7_flag, and abs_level_gt9_flag are entropy coded in sub-block coding passes 2, 3, 4, and 5, respectively. The context modeling of sig_coeff_flag is conditioned on the sig_coeff_flag values of two neighbors. The context modeling of abs_level_gt1_flag and par_level_flag each uses a single context. In some embodiments, the syntax element abs_level_gtx_flag[n][j], j=0..4,] specifies whether the absolute value of the conversion coefficient criterion (at scan position n) is greater than (j<<1)+1 and corresponds to the syntax elements abs_level_gt1_flag, abs_level_gt3_flag, abs_level_gt3_flag, abs_level_gt5_flag, abs_level_gt7_flag, and abs_level_gt9_flag, respectively. The syntax elements par_level_flag and abs_level_gtx_flag[n][j], j=0..4,] are both coded using a single context variable.
[0038] II. Transform-SkippedBlocks
[0039] In some embodiments, methods are provided for signaling a transform skip (TS) mode, a block-based delta pulse coding modulation (BDPCM) mode, and other tools related to transform skip. When a block is decoded using the transform skip mode, a quantized residual signal is entropy decoded without undergoing a transform operation. When a block is decoded using the BDPCM mode, the residual is quantized, and the difference between each quantized residual and its predictor (e.g., the residual of a previously decoded horizontal or vertical (depending on the BDPCM prediction direction) neighbor) is decoded.
[0040] In some embodiments, a video coder may signal multiple syntax elements in a high-level syntax (HLS) set, such as a sequence parameter set (SPS), a picture parameter set (PPS), and / or a slice header for controlling the use of a transform skip mode and related coding tools. In some embodiments, a high-level syntax (HLS) set represents a set of syntax for a level above the block level, such as a sequence parameter set (SPS), a picture parameter set (PPS), a slice header, or any other set for a level above the block level. The video coder may signal one or more high-level syntax elements to indicate whether a transform skip mode (TSM) is enabled in a current bitstream. When the transform skip mode is enabled, the video coder may further signal one or more high-level syntax elements to indicate whether BDPCM is enabled in the current bitstream.
[0041] In some embodiments, when the transform skip mode is enabled, the video coder may further signal one or more high-level syntax elements to indicate whether to adopt an alternative residual coding tool or process to code the residual block in the TSM. Specifically, when a CU is coded in the transform skip mode (in other words, the transform skip mode is used for the CU), its prediction residual may be quantized and (entropy) coded using a transform skip residual coding process (also referred to as an alternative residual coding process). In some embodiments, the alternative residual coding process is modified from a conventional transform coefficient coding process. Specifically, the residual of the TU is decoded in units of non-overlapping sub-blocks of size 4x4, and the forward scanning order is applied to scan the sub-blocks within the converted block and the positions within the sub-blocks; the last (x, y) position is not communicated; when all the previous flags are equal to 0, each sub-block except the last sub-block decodes coded_sub_block_flag; the sig_coeff_flag context modeling uses a simplified template, and the context model of sig_coeff_flag depends on the neighboring values at the top and left; abs_l The context model for the evel_gt1 flag also depends on the left and top sig_coeff_flag values; par_level_flag uses only one context model; additional flags greater than 3, 5, 7, and 9 are signaled to indicate the coefficient level, one context per flag; the remainder value is binarized using modified parameter derivation; and the context model for the sign flag is determined based on the neighboring values on the left and above, and the sign flag is parsed after sig_coeff_flag to keep all context-coded bits together.
[0042] In some embodiments, the video decoder may signal the SPS syntax element sps_transform_skip_enabled_flag and the PPS syntax elements pps_bdpcm_enabled_flag and pps_alternative_residual_coding_flag to signal whether TSM, BDPCM and alternative residual coding tools are enabled. The relevant syntax tables for SPS, PPS and transform units are provided below:
[0043]
[0044]
[0045]
[0046]
[0047]
[0048]
[0049] In some embodiments, the video decoder may signal the SPS syntax elements sps_transform_skip_enabled_flag, sps_bdpcm_enabled_flag, and sps_alternative_residual_coding_flag to signal whether TSM, BDPCM, and alternative residual coding tools are enabled. The relevant syntax tables for SPS, PPS, and transform units are as follows:
[0050]
[0051]
[0052]
[0053]
[0054]
[0055]
[0056] Figure 1 The signaling of TSM related signals in a high-level syntax set such as an SPS is conceptually shown. The figure shows three SPSs 110, 120 and 130. SPS 110 applies to a sequence of video pictures 115. SPS 120 applies to a sequence of video pictures 125. SPS 130 applies to a sequence of video pictures 135.
[0057] SPS 110 includes a TSM enable syntax element set to "false". Therefore, video sequence 115 does not allow TSM, and all blocks in sequence 115 are decoded without TSM. In some embodiments, this means that each block of video sequence 125 is decoded by converting spatial domain signals (e.g., prediction residuals) into transform domain signals (e.g., transform coefficients), which are then quantized and entropy coded. In addition, since the TSM enable syntax element in the SPS is set to false, there are no other syntax elements related to TSM, such as BDPCM or other residual decoding.
[0058] The SPS 120 includes a TSM enable syntax element set to true. Thus, TSM is allowed for the video sequence 125, and some blocks in some images in the sequence 125 are decoded using TSM. For TSM-coded blocks, the spatial domain residual signal is directly quantized and entropy-coded without conversion. Since the TSM enable syntax element is set to true, the SPS may include other TSM-related syntax elements, such as the BDPCM enable syntax element. In this case, the BDPCM enable syntax element is set to false, and BDPCM is not used to decode any block in the sequence 125. Although not shown, there may be a syntax element (e.g., alternate_residual_coding_flag) that enables or disables alternative residual decoding for certain blocks in the sequence 125.
[0059] SPS 130 includes a TSM enable syntax element set to true and a BDPCM enable flag set to true. Thus, some blocks in sequence 135 are coded using both TSM and BDPCM. For those blocks, the time domain residual signal is coded using BDPCM before being quantized and entropy coded without being converted. Although not shown, there may be a syntax element (e.g., alternate_residual_coding_flag) that enables or disables alternate residual coding for some blocks in sequence 135.
[0060] Any of the aforementioned proposed methods may be implemented in an encoder and / or a decoder. For example, any proposed method may be implemented in an entropy decoding module of an encoder and / or an entropy decoding module of a decoder. Alternatively, any proposed method may be implemented as a circuit integrated into an entropy decoding module of an encoder and / or an entropy decoding module of a decoder.
[0061] III. Video Decoder Example
[0062] Figure 2An example video encoder 200 capable of implementing a transform skip mode is illustrated. As shown, the video encoder 200 receives an input video signal from a video source 205 and encodes the signal into a bitstream 295. The video encoder 200 has several components or modules for encoding the signal from the video source 205, including at least some components selected from the following: a transform module 210, a quantization module 211, an inverse quantization module 214, an inverse transform module 215, an intra-image estimation module 220, an intra-frame prediction module 225, a motion compensation module 230, a motion estimation module 235, a loop filter 245, a reconstructed image buffer 250, an MV buffer 265, and an MV prediction module 275, and an entropy encoder 290. The motion compensation module 230 and the motion estimation module 235 are part of the inter-frame prediction module 240.
[0063] In some embodiments, modules 210-290 are modules of software instructions executed by one or more processing units (e.g., processors) of a computing device or electronic device. In some embodiments, modules 210-290 are modules of hardware circuits implemented by one or more integrated circuits (ICs) of an electronic device. Although modules 210-290 are illustrated as separate modules, some modules may be combined into a single module.
[0064] The video source 205 provides a raw video signal that presents the pixel data of each video frame without compression. The subtractor 208 calculates the difference between the raw video pixel data of the video source 205 and the predicted pixel data 213 from the motion compensation module 230 or the intra-frame prediction module 225. The conversion module 210 converts the difference (or residual pixel data or residual signal 209) into a conversion coefficient 216 (e.g., by performing a discrete cosine transform or DCT). The quantization module 211 quantizes the conversion coefficient 216 into quantized data (or quantized coefficients) 212, which is encoded into a bitstream 295 by the entropy encoder 290.
[0065] The inverse quantization module 214 dequantizes the quantized data (or quantized coefficients) 212 to obtain conversion coefficients, and the inverse conversion module 215 performs inverse conversion on the conversion coefficients to generate a reconstructed residual 219. The reconstructed residual 219 is added to the predicted pixel data 213 to generate reconstructed pixel data 217 together with the predicted pixel data 213. In some embodiments, the reconstructed pixel data 217 is temporarily stored in a line buffer (line buffer) (not shown) for intra-image prediction and spatial MV prediction. The reconstructed pixels are filtered by the loop filter 245 and stored in the reconstructed image buffer 250. In some embodiments, the reconstructed image buffer 250 is a memory outside the video encoder 200. In some embodiments, the reconstructed image buffer 250 is a memory inside the video encoder 200.
[0066] An intra-picture estimation module 220 performs intra-prediction based on the reconstructed pixel data 217 to generate intra-prediction data. The intra-prediction data is provided to an entropy encoder 290 to be encoded into a bitstream 295. The intra-prediction data is also used by an intra-prediction module 225 to generate predicted pixel data 213.
[0067] The motion estimation module 235 performs inter-frame prediction by generating MVs to refer to reference pixel data of a previously decoded frame stored in the reconstructed image buffer 250. These MVs are provided to the motion compensation module 230 to generate predicted pixel data.
[0068] Instead of encoding the complete actual MV in the bitstream, the video encoder 200 generates a predicted MV using MV prediction, and encodes the difference between the MV used for motion compensation and the predicted MV as residual motion data and stores in the bitstream 295 .
[0069] The MV prediction module 275 generates a predicted MV based on a reference MV generated for encoding a previous video frame, that is, a motion compensation MV for performing motion compensation. The MV prediction module 275 retrieves a reference MV from a previous video frame in the MV buffer 265. The video encoder 200 stores the MV generated for the current video frame in the MV buffer 265 as a reference MV for generating a predicted MV.
[0070] The MV prediction module 275 creates a predicted MV using a reference MV. The predicted MV may be calculated by spatial MV prediction or temporal MV prediction. The entropy encoder 290 encodes the difference (residual motion data) between the predicted MV and the motion compensated MV (MC MV) of the current frame into a bitstream 295.
[0071] The entropy encoder 290 encodes various parameters and data into a bitstream 295 by using an entropy coding technique such as context adaptive binary arithmetic coding (CABAC) or Huffman coding. The entropy encoder 290 encodes various header elements, flags, and quantized transform coefficients 212 and residual motion data as syntax elements into the bitstream 295. The bitstream 295 is in turn stored in a storage device or sent to a decoder through a communication medium such as a network.
[0072] The loop filter 245 performs filtering or smoothing operations on the reconstructed pixel data 217 to reduce decoding artifacts, particularly at the boundaries of pixel blocks. In some embodiments, the filtering operations performed include sample adaptive offset (SAO). In some embodiments, the filtering operations include adaptive loop filtering (ALF).
[0073] Figure 3 A portion of the video encoder 200 implementing a transform skip mode is described. Specifically, the encoder 200 determines whether to use a skip transform operation and whether to use transform skip-related operations such as BDPCM and / or alternative residual coding for each pixel block based on whether those tools are enabled for the current picture or the current sequence including the current picture.
[0074] As illustrated, the transform module 210 performs a transform operation on the residual signal 209, and the inverse transform module 215 performs a corresponding inverse transform operation. If TSM is activated for the current block being decoded, the encoder 200 can skip the transform and inverse transform operations. When the transform skip mode is used, the residual signal 209 is not processed by the transform module 210, but is directly quantized by the quantization module 211. Moreover, when TSM is used, the output of the inverse quantization module 214 is directly used as the reconstructed residual instead of being processed by the inverse transform module 215.
[0075] When BDPCM is enabled for the current block, the BDPCM module 311 performs BDPCM processing on the output of the quantization module 211 before entropy coding, and the inverse BDPCM module 314 performs corresponding BDPCM processing at the input of the inverse quantization module 214. The entropy encoder 290 receives the syntax element 390 from the decoding control module 300, and it can perform a regular residual coding (RRC) process 313 or a transform skipped residual coding (TSRC) process 312 based on whether alternative residual coding is used.
[0076] The decoding control module 300 may control the skipping of the conversion and inverse conversion operations at the conversion module 210 and the inverse conversion module 215. The decoding control module 300 may also enable or disable the corresponding BDPCM operations at the BDPCM module 311 and the inverse BDPCM module 314. The decoding control module may also enable or disable alternative residual decoding by selecting one of TSRC or RRC in the entropy encoder 290.
[0077] Depending on whether TSM, BDPCM and / or alternative residual coding is used for the current sequence of video pictures, the current picture or the current block, the decoding control module 300 can encode corresponding syntax elements, such as sps_transform_skip_enable_flag, sps_bdpcm_enable_flag and / or alternative_residual_coding_flag (for PPS or SPS or slice header) into the bitstream 295.
[0078] Figure 4A process 400 for using a transform skip mode during video encoding is conceptually illustrated. In some embodiments, one or more processing units (e.g., processors) of a computing device implementing encoder 200 perform process 400 by executing instructions stored in a computer-readable medium. In some embodiments, an electronic device implementing encoder 200 performs process 400.
[0079] The encoder receives (at block 410) data to be encoded as one or more video pictures in a bitstream. The encoder signals (at block 420) a TSM syntax element (e.g., sps_transform_skip_enable_flag) in the SPS of the current sequence of video pictures in the bitstream. The encoder determines (at block 425) whether the current sequence of video pictures allows TSM. If the current sequence allows TSM, the process proceeds to 440. If the current sequence does not allow TSM, the process proceeds to 430.
[0080] At block 430, the encoder encodes the pictures of the current sequence without using TSM. In some embodiments, when the TSM syntax element indicates that transform skip mode is not enabled for the current sequence of video pictures, all blocks in the current sequence of video pictures are encoded using quantized transform coefficients.
[0081] At block 440, the encoder signals in the bitstream a BDPCM syntax element in the SPS (e.g., sps_bdpcm_enable_flag) to indicate whether the pictures in the current sequence are allowed to use BDPCM. The encoder also signals (at block 450) an alternative residual coding syntax element in the bitstream (e.g., alternative_residual_coding_flag or slice header for PPS or SPS). The process then proceeds to block 460.
[0082] If the video picture sequence allows the use of TSM, and if the current block is TSM enabled, the encoder encodes (at block 460) the current block in the current sequence of video pictures by using TSM. For example, if a flag in the bitstream indicates that TSM is active for the current block, the encoder encodes the current block by using a quantized residual signal that is not converted and remains in the spatial domain.
[0083] When the current block is decoded by using TSM, if BDPCM and / or alternative residual decoding are enabled for the current block, the encoding of the current block may also use BDPCM and / or alternative residual decoding mode. Specifically, when the current sequence of video images allows BDPCM and the current block enables BDPCM (for example, a flag in the bitstream indicating that BDPCM is valid for the current block), BDPCM is used to encode the current block (by using the difference between the residual signal and the previously decoded residual signal of the adjacent position to decode the residual signal at a certain position in the current block). When alternative residual decoding is enabled for the current block (for example, there is no flag in the bitstream that disables alternative residual decoding of the current slice), the residual signal of the current block is entropy encoded using alternative residual decoding (such as TSRC), otherwise conventional residual coding (RRC) is used.
[0084] IV. Video Decoder Example
[0085] Figure 5 An example video decoder 500 capable of implementing a transform skip mode is illustrated. As shown, the video decoder 500 is an image decoding or video decoding circuit that receives a bitstream 595 and decodes the contents of the bitstream into pixel data of a video frame for display. The video decoder 500 has several components or modules for decoding the bitstream 595, including some components selected from an inverse quantization module 505, an inverse transform module 510, an intra prediction module 525, a motion compensation module 530, a loop filter 545, a decoded image buffer 550, an MV buffer 565, an MV prediction module 575, and a parser 590. The motion compensation module 530 is part of the inter prediction module 540.
[0086] In some embodiments, modules 510-590 are modules of software instructions executed by one or more processing units (e.g., processors) of a computing device. In some embodiments, modules 510-590 are modules of hardware circuits implemented by one or more ICs of an electronic device. Although modules 510-590 are shown as separate modules, some modules may be combined into a single module.
[0087] The parser 590 (or entropy decoder) receives the bitstream 595 and performs initial parsing according to the syntax defined by the video coding or image coding standard. The parsed syntax elements include various header elements, flags, and quantized data (or quantized coefficients) 512. The parser 590 parses the various syntax elements by using entropy coding techniques such as context adaptive binary arithmetic coding (CABAC) or Huffman coding.
[0088] The inverse quantization module 505 dequantizes the quantized data (or quantized coefficients) 512 to obtain transform coefficients, and the inverse transform module 510 performs inverse transform on the transform coefficients 516 to generate a reconstructed residual signal 519. The reconstructed residual signal 519 is added to the predicted pixel data 513 from the intra prediction module 525 or the motion compensation module 530 to generate decoded pixel data 517. The decoded pixel data is filtered by the loop filter 545 and stored in the decoded image buffer 550. In some embodiments, the decoded image buffer 550 is a memory external to the video decoder 500. In some embodiments, the decoded image buffer 550 is a memory internal to the video decoder 500.
[0089] The intra prediction module 525 receives intra prediction data from the bitstream 595 and generates predicted pixel data 513 from decoded pixel data 517 stored in the decoded picture buffer 550. In some embodiments, the decoded pixel data 517 is also stored in a line buffer (not shown) for intra prediction and spatial MV prediction.
[0090] In some embodiments, the contents of the decoded image buffer 550 are used for display. The display device 555 either retrieves the contents of the decoded image buffer 550 for direct display or retrieves the contents of the decoded image buffer to a display buffer. In some embodiments, the display device receives pixel values from the decoded image buffer 550 via pixel transfer.
[0091] The motion compensation module 530 generates predicted pixel data 513 from the decoded pixel data 517 stored in the decoded picture buffer 550 according to the motion compensated MV (MC MV). These motion compensated MVs are decoded by adding the residual motion data received from the bitstream 595 to the predicted MV received from the MV prediction module 575.
[0092] The MV prediction module 575 generates a predicted MV based on a reference MV generated for decoding a previous video frame (e.g., a motion compensated MV for performing motion compensation). The MV prediction module 575 retrieves the reference MV of the previous video frame from the MV buffer 565. The video decoder 500 stores the motion compensated MV generated for decoding the current video frame in the MV buffer 565 as a reference MV for generating a predicted MV.
[0093] The loop filter 545 performs a filtering or smoothing operation on the decoded pixel data 517 to reduce decoding artifacts, particularly at the boundaries of pixel blocks. In some embodiments, the filtering operation performed includes sample adaptive offset (SAO). In some embodiments, the filtering operation includes adaptive loop filtering (ALF).
[0094] Figure 6A portion of the video decoder 500 implementing a transform skip mode is described. Specifically, the decoder 500 determines whether to skip (inverse) transform operations and whether to use transform skip-related operations such as BDPCM and / or alternative residual coding for each pixel block based on whether those tools are enabled for the current image or the current sequence including the current image.
[0095] As shown, the inverse quantizer 514 performs an inverse quantization operation on the quantized coefficients 512 parsed by the entropy decoder 590. The output of the inverse quantizer 514 is provided to the inverse transform module 516 to be inversely transformed into a residual signal. When TSM is used, the output of the inverse quantization module 514 is directly used as a reconstructed residual, rather than being processed by the inverse transform module 515.
[0096] When BDPCM is enabled for the current block, the inverse BDPCM module 614 performs BDPCM processing at the input of the inverse quantization module 514. The entropy decoder 590 may perform a regular residual coding (RRC) process 611 or a transform skip residual coding (TSRC) process 612 based on whether alternative residual coding is used.
[0097] The decoding control module 600 may control the skipping of the inverse transform operation at the inverse transform module 515. The decoding control module 600 may also enable or disable the BDPCM operation at the inverse BDPCM module 614. The decoding control module may also enable or disable the alternative residual decoding by selecting one of TSRC or RRC in the entropy decoder 590. The decoding control module 600 may generate controls corresponding to these TSM related operations based on syntax elements 690, such as sps_transform_skip_enable_flag, sps_bdpcm_enable_flag, and / or alternate_residual_coding_flag (for PPS or SPS or slice header) parsed by the entropy decoder 590 word bitstream 595.
[0098] Figure 7 A process 700 for using a transform skip mode during video encoding is conceptually illustrated. In some embodiments, one or more processing units (e.g., processors) of a computing device implementing decoder 500 perform process 700 by executing instructions stored in a computer-readable medium. In some embodiments, an electronic device implementing decoder 500 performs process 700.
[0099] The decoder receives (at block 710) data to be decoded into one or more video pictures from a bitstream. The decoder parses (at block 720) the bitstream to obtain a TSM syntax element (e.g., sps_transform_skip_enable_flag) in the SPS of the current video picture sequence. The decoder determines (at block 725) whether the current video picture sequence allows TSM. If the current sequence allows TSM, the process proceeds to 740. If the current sequence does not allow TSM, the process proceeds to 730.
[0100] At block 730, the decoder reconstructs the pictures of the current sequence without using TSM.In some embodiments, when the TSM syntax element indicates that transform skip mode is not allowed for the current sequence of video pictures, all blocks in the current sequence of video pictures are coded by using quantized transform coefficients.
[0101] At block 740, the decoder parses the bitstream to obtain the BDPCM syntax element (e.g., sps_bdpcm_enable_flag) in the SPS to indicate whether the picture in the current sequence is allowed to use BDPCM. The decoder also parses (at block 750) the bitstream to obtain the alternate residual coding syntax element (e.g., alternate_residual_coding_flag for PPS or SPS or slice header). The process then proceeds to block 760.
[0102] If TSM is allowed for the sequence of video pictures, and if TSM is enabled for the current block, the decoder reconstructs (at block 760) the current block in the current picture of the current sequence of video pictures by using TSM. For example, if a flag in the bitstream indicates that TSM is active for the current block, the decoder will reconstruct the current block by using the quantized residual signal that is not converted and remains in the spatial domain.
[0103] When the current block is decoded by using TSM, if BDPCM and / or alternative residual decoding are enabled for the current block, the decoding of the current block can also use BDPCM and / or alternative residual decoding. Specifically, when the current sequence of video images allows BDPCM and the current block enables BDPCM (for example, a flag in the bitstream indicates that BDPCM is valid for the current block), BDPCM is used to decode the current block (the residual signal at a certain position in the current block is decoded by using the difference between the residual signal and the previously decoded residual signal at the adjacent position.) When alternative residual decoding is enabled for the current block (for example, there is no flag in the bitstream to disable alternative residual decoding for the current slice), the residual signal of the current block is entropy decoded using alternative residual decoding (such as TSRC), otherwise conventional residual decoding (RRC) is used.
[0104] V. Example Electronic Systems
[0105] Many of the above features and applications are implemented as software processes designated as a set of instructions recorded on a computer-readable storage medium (also referred to as a computer-readable medium). When these instructions are executed by one or more computing or processing units (e.g., one or more processors, cores of processors, or other processing units), they cause the processing units to perform the actions indicated in the instructions. Examples of computer-readable media include, but are not limited to, CD-ROMs, flash drives, random access memory (RAM) chips, hard drives, erasable programmable read-only memories (EPROMs), electrically erasable programmable read-only memories (EEPROMs), etc. Computer-readable media do not include carrier waves and electronic signals transmitted wirelessly or via wired connections.
[0106] In this specification, the term "software" is intended to include firmware residing in a read-only memory or an application stored in a magnetic storage, which can be read into the memory for processing by the processor. Likewise, in some embodiments, multiple software inventions can be implemented as sub-parts of a larger program while retaining different software inventions. In some embodiments, multiple software inventions can also be implemented as separate programs. Finally, any combination of separate programs that together implement the software inventions described herein are within the scope of this disclosure. In some embodiments, the software program, when installed to run on one or more electronic systems, defines one or more specific machine implementations that implement and execute the operations of the software program.
[0107] Figure 8 An electronic system 800 is conceptually shown that implements some embodiments of the present disclosure. The electronic system 800 may be a computer (e.g., a desktop computer, a personal computer, a tablet computer, etc.), a phone, a PDA, or any other kind of electronic device. Such an electronic system includes various types of computer-readable media and interfaces for various other types of computer-readable media. The electronic system 800 includes a bus 805, (one or more) processing units 810, a graphics processing unit (GPU) 815, a system memory 820, a network 825, a read-only memory 830, a permanent storage device 835, an input device 840, and an output device 845.
[0108] Bus 805 collectively represents all system buses, peripheral busses, and chipset buses that communicatively connect the numerous internal devices of electronic system 800. For example, bus 805 communicatively connects processing unit(s) 810, read-only memory 830, system memory 820, and permanent storage device 835 with GPU 815.
[0109] The processing unit 810 retrieves instructions to be executed and data to be processed from these various storage units in order to perform the processes of the present disclosure. In different embodiments, the processing unit can be a single processor or a multi-core processor. Some instructions are passed to and executed by the GPU 815. The GPU 815 can offload various calculations or supplement the image processing provided by the processing unit 810.
[0110] The read-only memory (ROM) 830 stores static data and instructions used by the processing unit 810 and other modules of the electronic system. On the other hand, the permanent storage device 835 is a read-write storage device. This device is a non-volatile storage unit that stores instructions and data even when the electronic system 800 is turned off. Some embodiments of the present disclosure use a mass storage device (such as a magnetic disk or optical disk and its corresponding magnetic disk drive) as the permanent storage device 835.
[0111] Other embodiments use removable storage devices (e.g., floppy disks, flash memory devices, etc., and their corresponding disk drives) as permanent storage devices. Like the permanent storage device 835, the system memory 820 is a read-write storage device. However, unlike the storage device 835, the system memory 820 is a volatile read-write memory, such as a random access memory. The system memory 820 stores some instructions and data used by the processor at runtime. In some embodiments, processing according to the present disclosure is stored in the system memory 820, the permanent storage device 835, and / or the read-only memory 830. For example, various storage units include instructions for processing multimedia clips according to some embodiments. The processing unit 810 retrieves instructions to be executed and data to be processed from these various storage units in order to perform the processing of some embodiments.
[0112] The bus 805 is also connected to input and output devices 840 and 845. The input device 840 enables a user to convey information to the electronic system and select commands. The input device 840 includes an alphanumeric keyboard and a pointing device (also referred to as a "mouse control device"), a camera (e.g., a webcam), a microphone, or a similar device for receiving voice commands, etc. The output device 845 displays images or other output data generated by the electronic system. The output device 845 includes a printer and a display device, such as a cathode ray tube (CRT) or a liquid crystal display (LCD), and a speaker or similar audio output device. Some embodiments include devices that act as both input devices and output devices, such as a touch screen.
[0113] Finally, if Figure 8As shown, bus 805 also couples electronic system 800 to a network 825 via a network adapter (not shown). In this manner, the computer may be part of a computer network (e.g., a local area network ("LAN"), a wide area network ("WAN"), or an intranet, or a network (e.g., the Internet). Any or all components of electronic system 800 may be used in conjunction with the present disclosure.
[0114] Some embodiments include electronic components, such as microprocessors, storage and memory that store computer program instructions in machine-readable or computer-readable media (or otherwise referred to as computer-readable storage media, machine-readable media or machine-readable storage media). Some examples of such computer-readable media include RAM, ROM, compact disk-read only media (CD-ROM), compact disk-recordable media (CD-R), compact disk-rewritable media (CD-RW), read-only digital versatile disks (e.g., DVD-ROM, dual-layer DVD-ROM), various recordable / rewritable DVDs (e.g., DVD-RAM, DVD-RW, DVD+RW, etc.), flash memory (e.g., SD card, mini-SD card, micro-SD card, etc.), magnetic and / or solid-state hard drives, read-only and recordable The computer readable medium may store a computer program executable by at least one processing unit and including a set of instructions for performing various operations. Examples of computer programs or computer codes include machine code such as produced by a compiler, and files including high-level code executed by a computer, electronic component, or microprocessor using an interpreter.
[0115] Although the above discussion refers primarily to microprocessors or multi-core processors that execute software, many of the above features and applications are performed by one or more integrated circuits, such as application specific integrated circuits (ASICs) or field programmable gate arrays (FPGAs). In some embodiments, such integrated circuits execute instructions stored on the circuits themselves. In addition, some embodiments execute software stored in programmable logic devices (PLDs), ROM, or RAM devices.
[0116] As used in this specification and any claims of this application, the terms "computer", "server", "processor" and "memory" refer to electronic or other technical devices. These terms do not include a person or group of people. For the purpose of this description, the term "display" or "displaying" means displaying on an electronic device. As used in this specification and any claims of this application, the terms "computer-readable medium", "computer-readable media" and "machine-readable medium" are entirely limited to tangible physical objects that store information in a form that can be read by a computer. These terms do not include any wireless signals, wired download signals, and any other temporary signals.
[0117] Although the present disclosure has been described with reference to many specific details, those skilled in the art will recognize that the present disclosure may be embodied in other specific forms without departing from the spirit of the present disclosure. Figure 4 and Figure 7 ) conceptually illustrates the processes. The specific operations of these processes may not be performed in the exact order shown and described. The specific operations may not be performed in a continuous series of operations, and different specific operations may be performed in different embodiments. In addition, the process may be implemented using several sub-processes or as part of a larger macro-process. Therefore, it will be understood by those skilled in the art that the present disclosure is not limited by the foregoing illustrative details, but is defined by the appended claims.
[0118] Additional Statement
[0119] The subject matter described herein sometimes shows different components contained in or connected to other different components. It should be understood that the architecture depicted in this way is only exemplary, and many other architectures that realize the same function can actually be implemented. In a conceptual sense, any arrangement of components that realize the same function is effectively "associated" so that the desired function is realized. Therefore, any two components that are combined to obtain a specific function in the text can be regarded as "associated" with each other to realize the desired function, regardless of the architecture or intermediate components. Similarly, any two components that are associated in this way can also be regarded as "operably connected" or "operably coupled" to each other to realize the desired function, and any two components that can be associated in this way can also be regarded as "operably coupled" to each other to realize the desired function. The specific examples of "operably coupled" include but are not limited to: components that can be physically connected and / or physically interact with each other, and / or components that can interact wirelessly and / or wirelessly interact, and / or components that can interact logically and / or logically interact.
[0120] Furthermore, with respect to the use of substantially any plural and / or singular terms herein, those skilled in the art may convert the plural to the singular, and / or the singular to the plural, as appropriate for the context and / or application. For clarity, various singular / plural arrangements may be expressly set forth herein.
[0121] Those skilled in the art will understand that, in general, the terms used herein, particularly in the appended claims (e.g., the subject matter of the appended claims), are generally intended as "open" terms (e.g., the term "comprising" should be interpreted as "including but not limited to", the term "having" should be interpreted as "having at least", the term "comprising" should be interpreted as "including but not limited to", etc.). Those skilled in the art will also understand that if a specific number of an introduced claim recitation object is intended, such intent will be explicitly stated in the claim, and in the absence of such a statement, no such intent exists. For example, to aid understanding, the appended claims may include the use of the introductory phrases "at least one" and "one or more" to introduce claim recitation objects. However, the use of such phrases should not be interpreted as limiting any claim containing such introduced claim recitation with the indefinite article "a or an" to an invention containing only one such recitation, even if the same claim contains the introductory phrases "one or more" or "at least one" and an indefinite article such as "a" or "an" (e.g., "a" and / or "an" should generally be interpreted as meaning "at least one" or "one or more"); the same applies to the case where the claim recitation is introduced with a definite article. In addition, even if a specific number of introduced claim recitations is explicitly stated, those skilled in the art will recognize that such a statement should generally be interpreted as meaning at least the stated number (e.g., a statement of "two recitations" without other modifiers generally means at least two recitations, or two or more recitations). Furthermore, where phrases similar to “at least one of A, B, and C, etc.” are used, generally such constructions are intended to have the meaning of the phrase as understood by those of ordinary skill in the art (e.g., “a system having at least one of A, B, and C” would include, but not be limited to, systems having A alone, B alone, C alone, A and B together, A and C together, B and C together, and / or A, B, and C together, etc.). Where phrases similar to “at least one of A, B, or C, etc.” are used, generally such constructions are intended to have the meaning of the phrase as understood by those of ordinary skill in the art (e.g., “a system having at least one of A, B, or C” would include, but not be limited to, systems having A alone, B alone, C alone, A and B together, A and C together, B and C together, and / or A, B, and C together, etc.). Those of ordinary skill in the art will further understand that, whether in the specification, claims, or drawings, substantially any disjunctive word and / or phrase representing two or more alternative terms should be understood to contemplate the possibility of including one of the terms, any of the terms, or both of the terms.For example, the phrase "A or B" should be understood to include the possibilities of "A", "B", or "A and B".
[0122] It can be understood from the foregoing that various embodiments of the present disclosure have been described herein for illustrative purposes, and various modifications may be made without departing from the scope and spirit of the present disclosure. Therefore, the various embodiments disclosed herein are not intended to be limiting, and the true scope and spirit are indicated by the appended claims.
Claims
1. A video decoding method, comprising: receiving data from a bitstream to decode it into a plurality of video images; Obtaining a first syntax element from a sequence parameter set of a current sequence of the plurality of video pictures, the first syntax element indicating whether the current sequence of the plurality of video pictures to which the current block belongs allows a transition omission mode; In response to the first syntax element indicating that the current sequence of the plurality of video pictures allows a transform skip mode, obtaining one or more other syntax elements from the sequence parameter set, the one or more other syntax elements indicating whether one or more coding tools are enabled for the current sequence; as well as When the first syntax element indicates that the current sequence of the multiple video images allows the use of the transform omission mode and the one or more other syntax elements indicate that a specific encoding tool of the one or more encoding tools is enabled to be used for the current sequence, the bitstream is parsed to determine one or more flags indicating whether the specific encoding tool is used to encode the current block, and when the parsing result indicates that the specific encoding tool is used to encode the current block, the current block is reconstructed according to the specific encoding tool using a quantized residual signal that is not transformed and retained in the spatial domain.
2. The video decoding method according to claim 1, wherein: The one or more other syntax elements including a second syntax element are enabled, wherein the second syntax element indicates whether block delta pulse coding modulation is enabled for the current sequence of the plurality of video pictures.
3. The video decoding method according to claim 2, wherein: When the block delta pulse coding modulation is enabled for the current sequence of the plurality of video pictures, a flag associated with the current block of the current picture is coded in the bitstream to indicate whether the current block is coded by using the block delta pulse coding modulation.
4. The video decoding method according to claim 3, wherein: The residual signal at a position in the current block is coded by using a difference between the residual signal and a previously coded residual signal at a neighboring position.
5. The video decoding method according to claim 2, wherein: The one or more other syntax elements including a third syntax element are enabled, wherein the third syntax element indicates whether an alternative residual coding process is enabled for entropy coding the residual signal of the current block.
6. The video decoding method according to claim 1, wherein: When the first syntax element indicates that the transform omission mode is allowed for the current sequence of the plurality of video pictures, the bitstream is parsed to obtain a flag for indicating whether to enable an alternative residual decoding process for entropy decoding the residual signal of the current block.
7. The video decoding method according to claim 1, wherein: When the first syntax element indicates that the transform skip mode is allowed for the current sequence of the plurality of video pictures, a first flag is parsed from the bitstream to indicate whether the current block of the current picture is decoded by using the transform skip mode.
8. The video decoding method according to claim 7, wherein: When the current block is decoded by using the transform skip mode and when an alternative residual decoding process is enabled, the residual signal of the current block is entropy decoded by using transform skip residual decoding.
9. The video decoding method according to claim 1, wherein: When the first syntax element indicates that the transform skip mode is not enabled for the current sequence of the plurality of video pictures, all blocks in the current sequence of the plurality of video pictures are decoded by using quantized transform coefficients.
10. An electronic device comprising: A video decoder circuit is configured to perform the following operations: receiving data from a bitstream to decode it into a plurality of video images; Obtaining a first syntax element from a sequence parameter set of a current sequence of the plurality of video pictures, the first syntax element indicating whether the current sequence of the plurality of video pictures to which the current block belongs allows a transition omission mode; In response to the first syntax element indicating that the current sequence of the plurality of video pictures allows a transform skip mode, obtaining one or more other syntax elements from the sequence parameter set, the one or more other syntax elements indicating whether one or more coding tools are enabled for the current sequence; as well as When the first syntax element indicates that the current sequence of the multiple video images allows the use of the transform omission mode and the one or more other syntax elements indicate that a specific encoding tool of the one or more encoding tools is enabled to be used for the current sequence, the bitstream is parsed to determine one or more flags indicating whether the specific encoding tool is used to encode the current block, and when the parsing result indicates that the specific encoding tool is used to encode the current block, the current block is reconstructed according to the specific encoding tool using a quantized residual signal that is not transformed and retained in the spatial domain.
11. A video encoding method, comprising: receiving data of a plurality of video pictures to be encoded and included in a bitstream; signaling in the bitstream a first syntax element in a sequence parameter set for a current sequence of the plurality of video pictures, the first syntax element indicating whether a switch skip mode is allowed for the current sequence of the plurality of video pictures to which a current block belongs; In response to the first syntax element indicating that the current sequence of the plurality of video pictures allows a transform skip mode, obtaining one or more other syntax elements from the sequence parameter set, the one or more other syntax elements indicating whether one or more coding tools are enabled for the current sequence; as well as When the first syntax element indicates that the current sequence of the multiple video images allows the use of the transform omission mode and the one or more other syntax elements indicate that a specific encoding tool that enables the one or more encoding tools is used for the current sequence, the bitstream is parsed to determine one or more flags indicating whether the specific encoding tool is used to encode the current block, and when the parsing result indicates that the specific encoding tool is used to encode the current block, the current block is encoded according to the specific encoding tool by quantizing a residual signal that is not converted and retained in the spatial domain.
12. A video decoding method, comprising: receiving data to be encoded or decoded as a plurality of video images; signaling or parsing a first syntax element in a sequence parameter set of a current sequence of the plurality of video pictures, the first syntax element indicating whether a transform skip mode is allowed for the current sequence of the plurality of video pictures to which a current block belongs; as well as In response to the first syntax element indicating that the current sequence of the plurality of video pictures allows a transform skip mode, signaling or parsing a second syntax element in the sequence parameter set, the second syntax element indicating whether an alternative residual coding process is enabled for a current slice of the current sequence; as well as When the first syntax element indicates that the current sequence of the multiple video pictures allows the transform skip mode, and when the current block in the current picture of the current sequence uses the transform skip mode, when the second syntax element indicates that the alternative residual decoding process is enabled for the current slice, the current block is encoded or decoded according to the alternative residual decoding process by using a quantized residual signal that is not converted and remains in the spatial domain.
Citation Information
Patent Citations
Method and apparatus for intra transform skip mode
CN104380734A
Devices and methods for modifications of syntax related to transform SKIP for high efficiency video coding (HEVC)
US20140146894A1