WO2020182105A1 - 进行编码和解码的方法、解码端和编码端 - Google Patents
进行编码和解码的方法、解码端和编码端 Download PDFInfo
- Publication number
- WO2020182105A1 WO2020182105A1 PCT/CN2020/078489 CN2020078489W WO2020182105A1 WO 2020182105 A1 WO2020182105 A1 WO 2020182105A1 CN 2020078489 W CN2020078489 W CN 2020078489W WO 2020182105 A1 WO2020182105 A1 WO 2020182105A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- block
- sub
- transformation
- check
- current block
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
- H04N19/11—Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/119—Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
- H04N19/107—Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/12—Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/12—Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
- H04N19/122—Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/13—Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
- H04N19/159—Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
Definitions
- the present disclosure relates to the field of audio and video technologies, and in particular to a method for encoding and decoding, a decoding end and an encoding end.
- General coding processing includes: intra-frame prediction (or inter-frame prediction), transformation, quantization, entropy coding, and in-loop filtering.
- intra-frame prediction or inter-frame prediction
- transformation quantization
- entropy coding and in-loop filtering.
- each sub-block of the current block may also be respectively predicted, transformed, quantized, and entropy-coded.
- RDO Rate Distortion Optimization
- a certain preset transform check is usually selected (a transform check is a transform check composed of a horizontal transform core and a vertical transform core), and the sub-block obtained by dividing the current block is transformed to obtain the transform coefficient .
- the inverse transform also called inverse transform
- the sub-block obtained by dividing the current block is subjected to inverse transform processing to obtain the corresponding sub-block Residual data.
- the embodiments of the present disclosure provide a method for encoding and decoding, a decoding end and an encoding end.
- the technical solution is as follows:
- a decoding method includes:
- the size of each sub-block is determined according to the sub-block division information of the current block information
- determining the transformation check corresponding to the sub-block according to the size information of the sub-block includes:
- DCT2 is determined as the vertical transformation core in the transformation check of the sub-block, wherein the first size restriction condition is that the width of the sub-block is greater than or equal to 4 and less than or equal to 16; the second size restriction condition is that the height of the sub-block is greater than or equal to 4 and less than or equal to 16.
- determining the transformation check corresponding to the sub-block according to the size information of the sub-block includes:
- DST7 is determined as the transformation of the sub-block
- the horizontal transformation core in the check is determined as DST7 as the vertical transformation core in the conversion check of the sub-block.
- DST7 is determined as the level in the transformation check of the sub-block Transform core, and DST7 is determined as the vertical transform core in the transform check of the sub-block.
- the width of the sub-block satisfies greater than or equal to 4 and less than or equal to 16, and the height is 32 or 64, the width of the sub-block satisfies the first size limit Condition, and the height of the sub-block does not meet the second size restriction condition;
- DST7 is determined as the horizontal transformation core in the transformation check of the sub-block, and
- DCT2 is determined as the vertical transformation in the transformation check of the sub-block Transform the core.
- the width of the sub-block does not satisfy the first size Restriction condition, and the height of the sub-block meets the second size restriction condition
- DCT2 is determined as the horizontal transformation core in the transformation check of the sub-block
- DST7 is determined as the vertical transformation in the transformation check of the sub-block Transform the core.
- the width of the sub-block is greater than 1 and less than 4, and the height is greater than 16, then the width of the sub-block does not meet the first size restriction condition, and the sub-block The height of does not meet the second size restriction condition, DCT2 is determined as the horizontal transformation core in the transformation check of the sub-block, and DCT2 is determined as the vertical transformation core in the transformation check of the sub-block; or,
- the width of the sub-block does not meet the first size restriction condition, and the height of the sub-block does not meet the second size restriction condition, Determine DCT2 as the horizontal transform core in the transform check of the sub-block, and determine DCT2 as the vertical transform in the transform check of the sub-block; or,
- DCT2 is determined For the horizontal transform core in the transform check of the sub-block, DCT2 is determined as the vertical transform in the transform check of the sub-block.
- a method for encoding includes:
- determining the transformation check corresponding to the sub-block according to the size information of the sub-block includes:
- DST7 is determined as the horizontal transformation core in the transformation check of the sub-block; if the width of the sub-block does not meet the first size restriction condition, then Determine DCT2 as the horizontal transformation core in the transformation check of the sub-block;
- DST7 is determined as the vertical transformation core in the transformation check of the sub-block; if the height of the sub-block does not meet the second size restriction condition, then Determine DCT2 as the vertical transform core in the transform check of the sub-block;
- the first size restriction condition is that the width of the sub-block is greater than or equal to 4 and less than or equal to 16; the second size restriction condition is that the height of the sub-block is greater than or equal to 4 and less than or equal to 16.
- determining the transformation check corresponding to the sub-block according to the size information of the sub-block includes:
- DST7 is determined as the transformation of the sub-block
- the horizontal transformation core in the check is determined as DST7 as the vertical transformation core in the conversion check of the sub-block.
- a decoding end for decoding includes:
- the acquisition module is used to acquire the encoding data of the current block
- the size of each sub-block is determined according to the sub-block division information of the current block information
- a transformation module configured to perform inverse transformation on the inverse-quantized data of each sub-block according to the transformation check of each sub-block;
- the determining module is used for:
- DST7 is determined as the horizontal transformation core in the transformation check of the sub-block; if the width of the sub-block does not meet the first size restriction condition, then Determine DCT2 as the horizontal transformation core in the transformation check of the sub-block;
- DST7 is determined as the vertical transformation core in the transformation check of the sub-block; if the height of the sub-block does not meet the second size restriction condition, then Determine DCT2 as the vertical transform core in the transform check of the sub-block;
- the first size restriction condition is that the width of the sub-block is greater than or equal to 4 and less than or equal to 16; the second size restriction condition is that the height of the sub-block is greater than or equal to 4 and less than or equal to 16.
- an encoding end for encoding includes:
- the acquisition module is used to acquire the residual data of the current block
- a transformation module configured to transform the residual data of each sub-block according to the transformation check of each sub-block
- the determining module is used for:
- DST7 is determined as the horizontal transformation core in the transformation check of the sub-block; if the width of the sub-block does not meet the first size restriction condition, then Determine DCT2 as the horizontal transformation core in the transformation check of the sub-block;
- DST7 is determined as the vertical transformation core in the transformation check of the sub-block; if the height of the sub-block does not meet the second size restriction condition, then Determine DCT2 as the vertical transform core in the transform check of the sub-block;
- the first size restriction condition is that the width of the sub-block is greater than or equal to 4 and less than or equal to 16; the second size restriction condition is that the height of the sub-block is greater than or equal to 4 and less than or equal to 16.
- a decoding end for decoding including a processor and a memory, wherein the memory is used to store a computer program; the processor is used to execute the program stored in the memory to implement The method steps of the first aspect described above.
- an encoding terminal for encoding includes a processor and a memory, wherein the memory is used to store a computer program; the processor is used to execute the The stored program implements the method steps of the second aspect described above.
- a computer-readable storage medium stores a computer program, and the computer program implements the method steps of the first aspect or the second aspect when the computer program is executed by a processor.
- an encoding and decoding system includes an encoding end and a decoding end, wherein:
- the encoding end is the encoding end described in the fourth aspect; the decoding end is the decoding end described in the third aspect.
- the size information of each sub-block of the current block can be used directly to determine the transformation check corresponding to each sub-block. Based on the determined transformation check, the encoding process is performed, and the same applies to the decoding end , You can also directly use the size information of each sub-block of the current block to determine the transformation check corresponding to each sub-block. For each sub-block, if the width of the sub-block meets the first size restriction condition, DST7 is determined as the horizontal transformation core in the transformation check of the sub-block, and if the width of the sub-block does not meet the first size restriction condition, then Determine DCT2 as the horizontal transformation core in the transformation check of the sub-block.
- DCT2 is determined as the vertical transformation core in the transformation check of the sub-block, where the first size restriction condition is that the width of the sub-block is greater than or equal to 4 and less than or equal to 16, and The second size restriction condition is that the height of the sub-block is greater than or equal to 4 and less than or equal to 16.
- the decoding end performs decoding processing based on the determined transformation check. In this way, since the size information of the sub-block is used to determine the transformation check, instead of using the same transformation check, the codec performance can be improved. And when exporting the transformation check, only the height and width are used, the export process is relatively simple, and the codec performance can be further improved.
- FIG. 1 is a schematic diagram of a block division type provided by an embodiment of the present disclosure
- FIG. 2 is a schematic diagram of a CTU divided into CU according to an embodiment of the present disclosure
- Figure 3 is a schematic diagram of three commonly used blocks provided by an embodiment of the present disclosure.
- FIG. 4 is a schematic diagram of directions when performing intra prediction according to an embodiment of the present disclosure.
- FIG. 5 is a schematic diagram of adjustment based on block shape provided by an embodiment of the present disclosure.
- FIG. 6 is a schematic diagram of encoding provided by an embodiment of the present disclosure.
- FIG. 7 is a schematic diagram of a distributed signal provided by an embodiment of the present disclosure.
- FIG. 8 is a schematic diagram of a residual data distribution provided by an embodiment of the present disclosure.
- FIG. 9 is a schematic flowchart of a decoding method provided by an embodiment of the present disclosure.
- FIG. 10 is a schematic flowchart of a method for encoding according to an embodiment of the present disclosure.
- FIG. 11 is a schematic diagram of dividing sub-blocks according to an embodiment of the present disclosure.
- FIG. 12 is a schematic flowchart of a decoding method provided by an embodiment of the present disclosure.
- FIG. 13 is a schematic flowchart of a method for encoding provided by an embodiment of the present disclosure.
- Figure 14 is a schematic structural diagram of a decoding end provided by an embodiment of the present disclosure.
- FIG. 15 is a schematic structural diagram of an encoding end provided by an embodiment of the present disclosure.
- FIG. 16 is a schematic structural diagram of a decoding end provided by an embodiment of the present disclosure.
- FIG. 17 is a schematic structural diagram of an encoding end provided by an embodiment of the present disclosure.
- FIG. 18 is a schematic structural diagram of an encoding terminal provided by an embodiment of the present disclosure.
- FIG. 19 is a schematic structural diagram of a decoding end provided by an embodiment of the present disclosure.
- the present disclosure provides a method for encoding and decoding.
- the execution subject of the encoding method is the encoding end, and the execution subject of the decoding method may be the decoding end, where the encoding end or the decoding end may be a server, a computer, A device that can encode and/or decode video data such as a mobile phone.
- the encoding end or the decoding end may be provided with a processor, a memory, a transceiver, etc.
- the processor may be used to perform encoding and/or decoding processing
- the memory may be used to store data required in the encoding and/or decoding process
- the transceiver can be used to receive and send data, such as obtaining video data.
- transformation is an indispensable stage to achieve video data compression, which can make the energy of the signal more concentrated, and based on DCT (Discrete Cosine Transform, Discrete Cosine Transform)/DST (Discrete Sine Transform, Discrete Sine Transform) transformation Technology has always been the mainstream transformation technology of video coding.
- DCT and DST are divided into multiple transformation cores according to different basis functions. Table 1 shows the basis functions of three commonly used transformation cores.
- the transformation process includes forward transformation and inverse transformation, also called forward transformation and inverse transformation.
- the forward transformation is to convert a two-dimensional residual data (residual coefficient) into a more concentrated two-dimensional energy.
- Dimensional frequency spectrum signal (transform coefficient) the transform coefficient can effectively remove the high frequency components after the quantization process, and retain the middle and low frequency components, which has the effect of compression. Expressed in matrix form as formula (1):
- M represents the width of the residual block
- N represents the height of the residual block
- f represents the original residual data of NxM dimensions
- F represents the frequency domain signal of NxM dimensions.
- a and B represent MxM and NxN-dimensional transformation matrices, both of which satisfy orthogonality.
- Inverse transformation also known as inverse transformation, is the inverse process of forward transformation, that is, the frequency domain signal F is converted into time domain residual data f through orthogonal transformation matrices A and B. Expressed in matrix form as formula (2):
- the positive transformation of a two-dimensional residual data can be realized by two one-dimensional forward transformations.
- an MxN signal X is obtained, which removes the correlation between the horizontal pixels of the two-dimensional residual data. Therefore, the first positive transformation is called the horizontal transformation, and A is called the horizontal transformation matrix.
- the second positive transformation removes the correlation between the vertical pixels of the two-dimensional residual data. Therefore, the second positive transformation is called Vertical transformation, call B the vertical transformation matrix.
- next-generation video coding standard In the next-generation video coding standard, TU (Transmission Unit) supports rectangular blocks, so M is not necessarily equal to N, so the dimensions of A and B are not necessarily equal. In addition, the next-generation video coding standard also supports A And B is not the transformation matrix produced by the same kind of transformation core, so there is a transformation check ⁇ H,V ⁇ composed of the transformation kernels corresponding to A and B in the transformation, where H is called the horizontal transformation kernel and V is called the vertical transformation kernel.
- Block Partition Technology (Block Partition)
- a 64x64 size CTU (Coding Tree Unit) is recursively divided into CU (Coding Unit, coding unit) using a quadtree.
- CU Coding Unit, coding unit
- the CU can be further divided into two or four PUs (Prediction Unit, prediction unit), and the same prediction information is used in the same PU.
- a CU can be further divided into multiple TUs.
- VVC Very Video Coding
- a mixed binary/ternary/quaternary) tree (BT/TT/QT) partition structure replaces the original partition mode, and cancels the distinction between the original concepts of CU, PU, and TU , Which supports a more flexible way of dividing CU.
- the CU can be divided into a square or a rectangle.
- the CTU first divides the quad tree, and then the leaf nodes of the quad tree can be further divided into the binary tree and the ternary tree.
- blocks usually have three shapes, as shown in Figure 3.
- Figure 3 (a) represents a block with a width greater than a height, (b) a block with a width equal to a height, and (c) a width less than a height Block.
- Intra prediction takes into account that there is a strong spatial correlation between adjacent blocks in the image. Therefore, the surrounding pixels that have been reconstructed can be used as reference pixels to predict the current uncoded block, so only the residual data ( The original signal-predicted signal) is subjected to subsequent encoding processing instead of encoding the original signal, which effectively removes the redundancy in the spatial domain and greatly improves the compression efficiency of the video signal. Moreover, in intra-frame prediction, denser angles can bring better prediction results. As shown in Figure 4, it shows a schematic diagram of the angle directions of the 67 intra-frame prediction modes given by VVC for intra-frame prediction. The number of intra prediction modes has been increased from 33 to 65 in HEVC. When the mode number is 0, it means Planar mode.
- the mode number is 1
- DC mode means that the prediction pixels of the current block are all reference The average value of pixels
- the black solid line represents the original HEVC angular direction (2,4,6,8,...,64,66)
- the dashed line is the newly added angular direction (3,5,7,9,..., 63,65)
- more dense angle directions can capture the boundaries of any direction in natural video more effectively, and more reference information can be used for rate-distortion cost selection, so that more suitable intra-frame prediction modes can be found to be more accurate
- the current coding block is predicted to make the prediction block closer to the original coding block, and fewer bits need to be transmitted to encode the current block, resulting in higher coding performance.
- these 67 intra-frame modes are applied to coding blocks of all sizes, including luminance and chrominance components.
- the mode number of the intra prediction mode is 2 to 34
- the angle range between the angle direction and the horizontal right direction is: -45 degrees to 45 degrees
- the mode number of the intra prediction mode is 35 to 66
- the angle The range of the angle between the direction and the horizontal right direction is: -135 degrees to -45 degrees.
- the horizontal right direction is the positive direction of the x-axis
- the vertical upward direction is the positive direction of the y-axis.
- the rays with the origin as the vertex in the first quadrant and the second quadrant
- the angle formed by (the direction of the ray away from the origin) and the positive direction of the x-axis is a positive value
- the third and fourth quadrants are the ray with the origin as the vertex (the direction of the ray away from the origin) and the positive direction of the x-axis.
- the included angle is negative.
- the angle between the horizontal right direction and the axis of symmetry in the fourth quadrant (the direction away from the origin) is -45 degrees.
- Figure 5 (a) represents a square block.
- the angle direction is just clockwise rotated from 45 degrees to -135 degrees, so no adjustment is required.
- Figure 5 (b) represents a block whose width is greater than its height, and the following adjustments need to be made, that is, the upper right corner exceeds -135 degrees to replace the lower left corner.
- Figure 5 (c) represents a block with a width smaller than a height, and the following adjustments need to be made, that is, the lower left corner is lower than 45 degrees instead of the upper right corner.
- a complete video coding method generally includes prediction, transformation, quantization, entropy coding, and in-loop filtering.
- the prediction is divided into intra-frame prediction and inter-frame prediction.
- Intra-frame prediction takes into account the strong spatial correlation between adjacent blocks in the image, so the surrounding pixels that have been reconstructed can be used as reference pixels for the current uncoded Blocks are predicted, so only the residual data (original signal-predicted signal) needs to be subjected to subsequent encoding processing instead of encoding the original signal, which effectively removes the redundancy in the spatial domain and greatly improves the compression efficiency of the video signal.
- Inter-frame prediction refers to the use of the correlation in the time domain of the video signal to predict the pixels of the current image using adjacent coded image pixels to achieve the purpose of removing video temporal redundancy.
- the image block of the current frame is often searched in the adjacent reference image to find the The block with the most matching block is used as the reference block. Since the reference block has a high similarity to the current block, and the difference between the two is very small, the code rate overhead of encoding the difference is usually much smaller than the code rate overhead caused by directly encoding the pixel value of the current block.
- DCT2 ⁇ transform core types they represent The residual distribution of TU is uniform.
- DST7, DST7 ⁇ transformation kernel type it represents that the residual distribution of TU increases from left to right and from top to bottom, mainly distributed in the lower right corner of TU, similarly , ⁇ DCT8,DST7 ⁇ represents the residuals are mainly distributed in the lower left corner of the TU, ⁇ DST7,DCT8 ⁇ represents the residuals are mainly distributed in the upper right corner of the TU, ⁇ DCT8,DCT8 ⁇ represents the residuals are mainly distributed in the upper left corner of the TU.
- the embodiment of the present disclosure provides a method for decoding, and the execution flow of the method may be as shown in FIG. 9.
- Step 901 The decoding end obtains the encoded data of the current block.
- the encoded data when the decoding end has encoded data to be decoded, the encoded data can be obtained, and then the encoded data can be subjected to entropy decoding processing, and the entropy decoding result can be dequantized to obtain the encoded data of the current block.
- Step 902 If the current block satisfies the sub-block division condition, and according to the encoding data of the current block, it is determined that the current block initiates intra-frame sub-block division, then the decoder determines the size information and shape of each sub-block according to the sub-block division information of the current block information.
- the sub-block division information is used to indicate how to divide the current block. For example, for an 8*4 current block, it may be horizontally divided into two 8*2 sub-blocks.
- the decoding end after the decoding end obtains the current block, it can determine whether the current block meets the sub-block division condition. If the current block meets the sub-block division condition, check whether the flag bit of the sub-block division in the frame is checked from the coded data of the current block. It is a preset identifier. If it is a preset identifier, it is determined that the current block initiates intra-frame sub-block division; if it is not a preset identifier, it is determined that the current block does not initiate intra-frame sub-block division.
- the decoder determines that the current block starts the intra-frame sub-block division, it can obtain the sub-block division information of the current block from the encoded data of the current block, and then use the sub-block division information of the current block to divide the current block to obtain each sub-block Block, determine the number of pixels in the height direction of each sub-block of the current block (that is, the height of the sub-block), and the number of pixels in the width direction (that is, the width of the sub-block). In this way, the size information of each sub-block is obtained, and then the height and width of each sub-block can be used to determine the shape information of each sub-block.
- the shape information means that the height of the sub-block is greater than the width, and the height of the sub-block is less than the width. The height is equal to the width.
- the sub-block division condition is that the current block is a luminance block, the height and width of the current block are both less than or equal to the third value, and the current block is a single-line reference and current The number of pixels contained in the block is greater than the fourth value.
- the third value can be preset and stored in the decoding end.
- the third value can be 64.
- the current block is a single-line reference when intra prediction is performed. When the current block is intra prediction, only one line is referenced.
- the fourth The value can be preset and stored in the decoder. The fourth value can be 16.
- Step 903 For each sub-block, the decoding end determines a transformation check corresponding to the sub-block according to the size information and shape information of the sub-block. Among them, for each sub-block, according to the size information and shape information of the sub-block, the transformation check corresponding to the sub-block is determined, including: if the width of the sub-block meets the first size restriction condition and the shape meets the first condition, then DST7 is determined as The horizontal transformation core in the transformation check of the sub-block; if the height of the sub-block satisfies the second size restriction condition and the shape meets the second condition, DST7 is determined as the vertical transformation kernel in the transformation check of the sub-block.
- the first size restriction condition is that the width is greater than or equal to the first value and less than or equal to the second value
- the first condition is that the width is less than or equal to the height
- the second size restriction condition is that the height is greater than or equal to the first value and less than Or equal to the second value
- the second condition is that the width is greater than or equal to the height
- the first size restriction condition is that the width is greater than or equal to the first value and less than or equal to the second value
- the second size restriction condition is that the height is greater than or equal to the first value and less than or equal to the second value
- the first condition is The width is less than the height
- the second condition is that the width is greater than the height.
- the first value and the second value can be preset and stored in the decoding end.
- the first value can be 4 and the second value can be 16.
- a transformation check includes a horizontal transformation kernel and a vertical transformation kernel.
- the decoding end can determine whether the width of the sub-block meets the first size restriction condition, and determine whether the shape of the sub-block meets the first condition, and determine whether the height of the sub-block meets the second size restriction condition, and determine the Whether the shape meets the first condition. If the width of the sub-block satisfies the first size restriction condition and the shape meets the first condition, DST7 is determined as the horizontal transformation core in the transformation check of the sub-block. If the height of the sub-block satisfies the second size restriction condition and the shape If the second condition is met, DST7 is determined as the vertical transformation core in the transformation check of the sub-block.
- DCT2 is determined as the horizontal transformation in the transformation check of the sub-block Core
- DCT2 is determined as the vertical transformation core in the transformation check of the sub-block.
- DCT2 can be determined as the horizontal transformation core in the transformation check of the sub-block. At least one of the height not satisfying the second size restriction condition and the shape not satisfying the second condition is true, then DCT2 is determined as the vertical transformation core in the transformation check of the sub-block.
- the horizontal transform core and the vertical transform core can be combined into the transform check of the sub-block, and the transform check can be determined using the above method for any sub-block. Determine the transformation check of each sub-block.
- Step 904 the decoding end performs inverse transformation on the inversely quantized data of each sub-block according to the transformation check of each sub-block.
- the corresponding transformation check can be used to perform inverse transformation processing on each sub-block to obtain the residual data corresponding to each sub-block, and then use the reconstructed area around the current block
- the pixel value of the intra pixel points constructs the prediction signal of each sub-block according to the intra prediction mode used during encoding. For each sub-block, add the residual data of the sub-block to the prediction signal to obtain the reconstruction information of the sub-block. In this way, the reconstruction information of each sub-block can be obtained, and the reconstruction information of each sub-block can be combined. Get the reconstruction information corresponding to the current block.
- each current block is processed in accordance with the process shown in Figure 9, and then a whole segment of video data can be decoded.
- the embodiment of the present disclosure also provides an encoding process, and the corresponding processing may be as follows:
- Step 1001 The encoding terminal obtains residual data of the current block.
- the encoding end when the encoding end encodes the video data, it first performs intra-frame prediction to obtain residual data (the method of obtaining residual data is consistent with the existing video coding standards, and will not be repeated), and then the residual The data is the residual data of the current block to be processed.
- Step 1002 If the current block meets the sub-block division condition and the intra-frame sub-block division is started, the encoding end determines the size information and shape information of each sub-block of the current block according to the sub-block division information of the current block.
- the sub-block division information is used to indicate how to divide the current block. For example, for an 8*4 current block, it may be horizontally divided into two 8*2 sub-blocks.
- the encoding terminal after the encoding terminal obtains the residual data of the current block, it can determine whether the current block meets the sub-block division condition. If the sub-block division condition is satisfied, it can determine whether to enable intra-frame sub-block division.
- the switch When the switch is in the on state, it means that the intra-frame sub-block division can be enabled, the current block can be divided, and the height and width of each sub-block obtained by dividing the current block can be determined.
- the width of the current block refers to the number of pixels contained in the width direction
- the height of the current block refers to the number of pixels contained in the height direction
- the width of the sub-block refers to the number of pixels contained in the width direction
- the height of the sub-block refers to the number of pixels contained in the height direction.
- the size information of the sub-block can be obtained.
- MxN M represents the width of the current block
- N represents the height of the current block.
- each sub-block can then be used to determine the shape information of each sub-block.
- the shape information means that the height of the sub-block is greater than the width, the height of the sub-block is less than the width, and the height of the sub-block is equal to the width.
- the sub-block division condition is that the current block is a luminance block, the height and width of the current block are both less than or equal to the third value, and the current block is a single-line reference and current The number of pixels contained in the block is greater than the fourth value.
- the third value can be preset and stored in the encoding end.
- the third value can be 64.
- the current block is a single-line reference when intra-frame prediction is performed. When the current block is intra-predicted, only one line is referenced.
- the value can be preset and stored to the encoding end.
- the fourth value can be 16.
- Step 1003 For each sub-block, the encoding end determines the transformation check corresponding to the sub-block according to the size information and shape information of the sub-block; wherein, for each sub-block, according to the size information and shape information of the sub-block, determine the corresponding sub-block
- the transformation check includes: if the width of the sub-block satisfies the first size restriction condition and the shape satisfies the first condition, determining DST7 as the horizontal transformation core in the transformation check of the sub-block; if the height of the sub-block satisfies the second size restriction condition and The shape meets the second condition, and DST7 is determined as the vertical transformation core in the transformation check of the sub-block.
- the encoding end can determine whether the width of the sub-block meets the first size restriction condition, determine whether the shape of the sub-block meets the first condition, and determine whether the height of the sub-block meets the second size restriction condition, and determine the Whether the shape meets the first condition. If the width of the sub-block satisfies the first size restriction condition and the shape meets the first condition, then DST7 is determined as the horizontal transformation core in the transformation check of the sub-block. If the height of the sub-block meets the second size restriction condition and the shape If the second condition is met, DST7 is determined as the vertical transformation core in the transformation check of the sub-block.
- DCT2 is determined as the horizontal transformation in the transformation check of the sub-block Core
- DCT2 is determined as the vertical transformation core in the transformation check of the sub-block.
- DCT2 can be determined as the horizontal transformation core in the transformation check of the sub-block. At least one of the height not satisfying the second size restriction condition and the shape not satisfying the second condition is true, then DCT2 is determined as the vertical transformation core in the transformation check of the sub-block.
- the horizontal transform core and the vertical transform core can be combined into the transform check of the sub-block, and the transform check can be determined using the above method for any sub-block. Determine the transformation check of each sub-block.
- Step 1004 The encoding end performs transformation on the residual data of each sub-block according to the transformation check of each sub-block.
- the sub-block can be transformed based on the transform check corresponding to the sub-block to obtain the transform coefficient corresponding to the sub-block, and then the The transform coefficient is quantized to obtain the quantized coefficient, and the quantized coefficient is subjected to entropy coding processing to obtain the coded data corresponding to the sub-block.
- each sub-block the coded data corresponding to the current block can be obtained, and the coding process of the current block is completed.
- Each current block is processed according to the flow shown in Figure 10, and a whole segment of video data can be encoded.
- the encoding end may obtain the sub-block division information corresponding to the current block, and then add the sub-block division information to the coded data of the current block. In this way, the subsequent decoding end can obtain the sub-block division information corresponding to the current block from the encoded data of the current block, and perform decoding.
- the encoder can divide a current block horizontally or vertically into several small sub-blocks. For example, for a 16x8 current block, it can be divided into 4 16x2 sub-blocks horizontally or vertically into 4 4x8 sub-blocks. Sub-block. However, for a 4x8 block, it can be divided into two 4x4 blocks or two 2x8 sub-blocks. It can be noted that the number of sub-blocks can only be two (for 4x8, 8x4 sub-blocks). And the sub-block contains at least 16 pixels, so the 4x4 block will not be divided again, and there is no need to make corresponding grammar declarations on the encoding and decoding ends.
- Table 3 The specific division rules are shown in Table 3.
- the divided intra sub-blocks share the intra prediction mode of the current block (that is, the sub-blocks obtained by dividing the current block are the same as the intra prediction mode of the current block).
- w represents the width of the sub-block
- h represents the height of the sub-block
- K represents the number of sub-blocks that can be divided
- W represents the width of the current block
- H represents the height of the current block, which can be divided horizontally according to Table 3.
- vertical division for example, as shown in FIG. 11, for a current block of 8*4, it can be divided into two 8*2 sub-blocks according to horizontal division, and it can be divided into two 4*4 sub-blocks according to vertical division.
- the process of using RDO criteria to determine sub-block division information can be as follows:
- the size information and shape information of each sub-block of the current block can be directly used to determine the transformation check corresponding to each sub-block, and based on the determined transformation check, the encoding process is performed.
- the size information and shape information of each sub-block of the current block can also be used directly to determine the transformation check corresponding to each sub-block, and the decoding process is performed based on the determined transformation check. In this way, since the size information and shape information of the sub-blocks are used to determine the transformation check, instead of using the same transformation check for all sub-blocks, the coding and decoding performance can be improved. And when exporting the transformation check, only the height and width are used, the export process is relatively simple, and the codec performance can be further improved.
- Another embodiment of the present disclosure provides a method for decoding, and the execution flow of the method may be as shown in FIG. 12.
- Step 1201 The decoder obtains the encoded data of the current block.
- the encoded data when the decoding end has encoded data to be decoded, the encoded data can be obtained, and then the encoded data can be subjected to entropy decoding processing, and the entropy decoding result can be dequantized to obtain the encoded data of the current block.
- the current block is actually residual data obtained through inverse transform processing.
- Step 1202 If the current block satisfies the sub-block division condition at the decoding end, according to the encoded data of the current block. It is determined that the current block starts the intra-frame sub-block division, and then the size information of each sub-block is determined according to the sub-block division information of the current block, and the intra-frame prediction mode information of each sub-block is determined.
- the sub-block division information is used to indicate how to divide the current block. For example, for an 8*4 current block, it may be horizontally divided into two 8*2 sub-blocks.
- the decoding end after the decoding end obtains the current block, it can determine whether the current block meets the sub-block division condition. If the current block meets the sub-block division condition, check whether the flag bit of the sub-block division in the frame is checked from the coded data of the current block. It is a preset identifier. If it is a preset identifier, it is determined that the current block starts intra-frame sub-block division; if it is not a preset identifier, it is determined that the current block does not start intra-frame sub-block division.
- the decoder determines that the current block starts the intra-frame sub-block division, it can obtain the sub-block division information of the current block from the encoded data of the current block, and then use the sub-block division information of the current block to divide the current block to obtain each sub-block.
- Block determine the number of pixels in the height direction of each sub-block of the current block (that is, the height of the sub-block), and the number of pixels in the width direction (that is, the width of the sub-block). In this way, the size information of each sub-block is obtained.
- the content of the identification bit can be obtained from the identification bit used to indicate the intra prediction mode information from the encoded data of the current block, that is, the intra prediction mode information of the current block can be obtained.
- the sub-block division condition is that the current block is a luminance block, the height and width of the current block are both less than or equal to the first preset value, and the current block is a single-line reference during intra-frame prediction. , The number of pixels contained in the current block is greater than the second preset value.
- the first preset value can be preset and stored in the decoding end (the same as the third value mentioned above).
- the first preset value can be 64.
- the current block is a single-line reference when performing intra prediction. When the current block performs intra-frame prediction, only one line is referenced.
- the second preset value can be preset and stored in the decoding end.
- the second preset value can be 16 (the same as the fourth value mentioned above).
- Step 1203 For each sub-block, the decoding end determines the transformation check of the sub-block according to the size information of the sub-block and the intra-frame prediction mode information of the sub-block; wherein, for each sub-block, according to the size information of the sub-block and the intra-frame of the sub-block Prediction mode information, determining the transformation check of the sub-block, including: for each sub-block, if it is determined that the sub-block does not meet the size restriction condition according to the size information of the sub-block, then the transformation check corresponding to the intra-prediction mode information of the sub-block is determined Check the transformation of sub-blocks.
- the size restriction condition is that the width is not within the preset value range, and the height is not within the preset value range.
- the preset value range is [2, 32] (excluding 2 and 32). Not within the preset value range means greater than 32 And/or less than 2.
- the decoder can determine whether the size information of the sub-block meets the size restriction conditions. If the size restriction conditions are not met (the width is not within the preset value range and the height is not within the preset value range), the current block can be used Using the intra prediction mode information to determine the corresponding transform check in the correspondence between the intra prediction mode information and the transform check, the transform check is determined as the transform check of the sub-block.
- DCT2 is determined as the transformation of the sub-block Check the vertical transformation core in the check, and determine the horizontal conversion core in the conversion check corresponding to the intra prediction mode information of the sub-block as the horizontal conversion core in the sub-block conversion check.
- DCT2 is determined as the horizontal transformation kernel in the transformation check of the sub-block, and the vertical transformation kernel in the transformation check corresponding to the intra prediction mode information of the sub-block is determined Determined as the vertical transformation core in the transformation check of the sub-block, if the width and height of the sub-block are determined to meet the size restriction conditions according to the size information of the sub-block, then DCT2 is determined as the horizontal transformation kernel and the vertical transformation in the transformation check of the sub-block nuclear.
- DCT2 can be determined as the vertical transformation core in the transformation check of the sub-block, and the intra-frame can be directly used.
- Prediction mode information from the corresponding relationship between intra prediction mode information and transform check, determine the transform check corresponding to the intra prediction mode information of the current block, and determine the horizontal transform core in the transform check as the horizontal transform core of the current block .
- DCT2 can be determined as the horizontal transformation core in the transformation check of the sub-block, and the intra prediction mode information can be used directly, From the correspondence between the intra prediction mode information and the transform check, the transform check corresponding to the intra prediction mode information of the current block is determined, and the vertical transform core in the transform check is determined as the vertical transform core of the current block.
- DCT2 can be determined as the horizontal transformation core and the vertical transformation core in the transformation check of the sub-block.
- Step 1204 The decoding end performs inverse transformation on the inverse-quantized data of each sub-block according to the transformation check of each sub-block.
- the corresponding transformation check can be used to perform inverse transformation processing on each sub-block to obtain the residual data corresponding to each sub-block, and then use the reconstructed area around the current block
- the pixel value of the intra pixel points constructs the prediction signal of each sub-block according to the intra prediction mode used during encoding. For each sub-block, add the residual data of the sub-block to the prediction signal to obtain the reconstruction information of the sub-block. In this way, the reconstruction information of each sub-block can be obtained, and the reconstruction information of each sub-block can be combined. Get the reconstruction information corresponding to the current block.
- each current block is processed according to the flow shown in Figure 12, and then a whole segment of video data can be decoded.
- determining the transformation check corresponding to the intra prediction mode information of the sub-block as the transformation check of the sub-block may have the following types of processing:
- the transform check of the sub-block is determined to be (DCT2, DCT2), if the mode number of the intra prediction mode information of the sub-block is 0, 31, 32, 34, 36, 37, the transformation check of the sub-block is determined to be (DST7, DST7), if the mode number of the intra-frame prediction mode information of the sub-block is an even number from 2, 30, 2 to 30, 39, 65 and 39 to 65 are odd numbers, the transform check of the sub-block is determined to be (DST7, DCT8), if the mode number of the intra prediction mode information of the sub-block is odd numbers from 3, 29, 3 to 29, 38, 66 And an even number from 38 to 66, the transformation check of the sub-block is determined to be (DCT8, DST7).
- the transform check of the sub-block is the first transform check. If the mode number of the intra prediction mode information of the sub-block is 0, 31, 32, 33, 34, 35, 36, 37, the transform check of the sub-block is determined to be the second transform check, if the mode number of the intra prediction mode information of the sub-block is an even number from 2, 30, 2 to 30, 39, 65 And an odd number from 39 to 65, the transform check of the sub-block is determined to be the third transform check, if the mode number of the intra prediction mode information of the sub-block is an odd number from 3, 29, 3 to 29, 38, 66, and 38 To an even number in 66, it is determined that the transformation check of the sub-block is the fourth transformation check.
- Manner 3 If the mode number of the intra-frame prediction mode information of the sub-block is 1, the transformation check of the sub-block is determined to be the first transformation check; if the mode number of the intra-prediction mode information of the sub-block is 0, the sub-block’s mode number is determined The transform check is the second transform check; if the mode number of the intra prediction mode information of the sub-block is 2, 34, an even number from 2 to 34, and an odd number from 35, 65, and 35 to 65, the transform check of the sub-block is determined Is the third transform check; if the mode number of the intra prediction mode information of the sub-block is an odd number among 3, 33, 3 to 33, and an even number among 36, 66, and 36 to 66, the transform check of the sub-block is determined to be the first Four transformation checks.
- Manner 4 If the mode number of the intra prediction mode information of the sub-block is 1, it is determined that the transform check of the sub-block is the first transform check; if the mode numbers of the intra prediction mode information of the sub-block are 0, 3, 65, and 3 If it is an odd number from 65 to 65, the transformation check of the sub-block is determined to be the second transformation check; if the mode number of the intra prediction mode information of the sub-block is an even number among 2, 34, and 2 to 34, the transformation check of the sub-block is determined It is the third transform check; if the mode number of the intra prediction mode information of the sub-block is an even number among 36, 66, and 36 to 66, the transform check of the sub-block is determined to be the fourth transform check.
- the first transform check is (DCT2, DCT2)
- the second transform check is (DST7, DST7)
- the third transform check is (DST7, DCT2)
- the fourth transform check is (DCT2, DST7).
- the first transform check is (DCT2, DCT2)
- the second transform check is (DST7, DST7)
- the third transform check is (DST7, DCT8)
- the fourth transform check is (DCT8, DST7).
- the transformation check corresponding to the intra prediction mode information of the sub-block is determined as the transformation check of the sub-block, and the following conditions should be met, and the corresponding processing may be as follows:
- the transform check corresponding to the intra-prediction mode information is determined as the sub-block The transformation check.
- the intra-frame prediction mode range can be preset and stored in the decoder.
- the intra-frame prediction mode range includes intra-frame prediction modes with mode numbers 0, 1, 31 to 37 (see Table 8 and Table 9); or,
- the range of intra prediction modes includes intra prediction modes with mode numbers 0 and 1 (see Table 10); or, the range of intra prediction modes includes frames with an odd number between mode numbers 0, 1, 3, 65, and 3 to 65 Intra prediction mode (see Table 11).
- the decoder after the decoder obtains the mode number of the intra prediction mode information of each sub-block from the encoded data, it can determine whether it belongs to the intra prediction mode range. If it belongs to the intra prediction mode range, it can be directly in the frame In the correspondence relationship between the prediction mode information and the transform check, the transform check corresponding to the intra prediction mode information is determined as the transform check of the sub-block.
- the size information of the sub-block determines whether the sub-block does not meet the size restriction condition, and the intra-prediction mode information does not meet the intra-prediction mode range. If according to the size information of the sub-block, determine the width and The height ratio determines the transformation check of the sub-block according to the ratio of the width to the height of the sub-block and the intra prediction mode information of the sub-block.
- the decoder can determine whether it belongs to the intra-frame prediction mode range. If it does not belong to the intra prediction mode range, the ratio of the width to the height of the sub-block can be determined. Then, the ratio of the width and height of the sub-block and the intra prediction mode information of the sub-block are used to determine the transformation check of the sub-block.
- the following processing can be performed:
- the intra prediction mode range includes the intra prediction mode information with mode numbers 0, 1, 31 to 37.
- the width of the sub-block is represented by w, and the height of the sub-block is represented by h.
- the transformation corresponding to the intra prediction mode information of the mode number 2, 4, 6, ..., 30, 39, 41, 43, ..., 65 The check is (DST7, DCT2) (the first ellipsis represents an even number between 6 and 30, and the second ellipsis represents an odd number between 43 and 65), that is, the transformation check of the sub-block is (DST7, DCT2).
- the check is (DCT2, DST7) (the first ellipsis indicates an odd number between 7 and 29, and the second ellipsis indicates an even number between 42 and 66), that is, the transformation check of the sub-block is (DCT2, DST7).
- the mode number is B+1, B+3,..., 30, 3, 5,..., B, 39, 41, 43,...
- the transformation check corresponding to the 65 intra prediction mode information is (DST7, DCT2) (the first ellipsis indicates an even number between B+3 and 30, the second ellipsis indicates an odd number between 5 and B, and the third ellipsis Represents an odd number between 43 and 65), that is, the transformation check of the sub-block is (DST7, DCT2).
- the mode number is B+2, B+4,..., 29, 38, 40,..., 66, 2, 4,..., (B -1)
- the transform check corresponding to the intra prediction mode information is (DCT2, DST7) (the first ellipsis indicates an odd number between B+4 and 29, the second ellipsis indicates an even number between 40 and 66, and the third The ellipsis indicates an even number between 4 and (B-1)), that is, the transformation check of the sub-block is (DCT2, DST7).
- the mode number is 2, 4, 6,..., 30, B+1, B+3,..., 66, 39, 41,...
- the transform check corresponding to the B-2 intra prediction mode information is (DST7, DCT2) (the first ellipsis indicates an even number between 6 and 30, and the second ellipsis indicates an even number between (B+3) and 66.
- the three ellipsis represent odd numbers between 41 and B-2), that is, the transformation check of the sub-block is (DST7, DCT2).
- the mode number is 3, 5,..., 29, B, B+2,..., 65, 38, 40,..., (B-1
- the transform check corresponding to the intra prediction mode information of) is (DCT2, DST7) (the first ellipsis indicates an odd number between 5 and 29, the second ellipsis indicates an odd number between (B+2) and 65, and the third The ellipsis indicates an even number between 40 and (B-1)), that is, the transformation check of the sub-block is (DCT2, DST7).
- the intra prediction mode range includes the intra prediction mode information with mode numbers 0, 1, 31 to 37.
- the width of the sub-block is represented by w, and the height of the sub-block is represented by h.
- the transformation corresponding to the intra prediction mode information of the mode number 2, 4, 6, ..., 30, 39, 41, 43, ..., 65 The check is (DST7, DCT2) (the first ellipsis represents an even number between 6 and 30, and the second ellipsis represents an odd number between 43 and 65), that is, the transformation check of the sub-block is (DST7, DCT2).
- the check is (DCT2, DST7) (the first ellipsis indicates an odd number between 7 and 29, and the second ellipsis indicates an even number between 42 and 66), that is, the transformation check of the sub-block is (DCT2, DST7).
- the mode number is B+1, B+3,..., 30, 3, 5,..., B, 39, 41, 43,...
- the transformation check corresponding to the 65 intra prediction mode information is (DST7, DCT2) (the first ellipsis indicates an even number between B+3 and 30, the second ellipsis indicates an odd number between 5 and B, and the third ellipsis Represents an odd number between 43 and 65), that is, the transformation check of the sub-block is (DST7, DCT2).
- the mode number is B+2, B+4,..., 29, 38, 40,..., 66, 2, 4,..., (B -1)
- the transform check corresponding to the intra prediction mode information is (DCT2, DST7) (the first ellipsis represents an odd number between B+4 and 29, the second ellipsis represents an even number between 40 and 66, and the third An ellipsis represents an even number between 4 and (B-1)), that is, the transformation check of the sub-block is (DCT2, DST7).
- the mode number is 2, 4, 6,..., 30, B+1, B+3,..., 66, 39, 41,...
- the transform check corresponding to the B-2 intra prediction mode information is (DST7, DCT2) (the first ellipsis indicates an even number between 6 and 30, and the second ellipsis indicates an even number between (B+3) and 66.
- the third ellipsis represents an odd number between 41 and B-2), that is, the transformation check of the sub-block is (DST7, DCT2).
- the mode number is 3, 5,..., 29, B, B+2,..., 65, 38, 40,..., (B-1
- the transform check corresponding to the intra prediction mode information of) is (DCT2, DST7) (the first ellipsis represents an odd number between 5 and 29, the second ellipsis represents an odd number between B+2 and 65, and the third ellipsis Represents an even number between 40 and (B-1)), that is, the transformation check of the sub-block is (DCT2, DST7).
- the intra prediction mode range includes intra prediction mode information with mode numbers 0 and 1; the width of the sub-block is represented by w, and the height of the sub-block is represented by h.
- the mode number is 2, 4, 6, ..., 34, 35, 37, 39, 41, 43, ..., 65 intra prediction modes
- the transformation check corresponding to the information is (DST7, DCT2) (the first ellipsis represents an even number between 6 and 34, and the second ellipsis represents an odd number between 43 and 65), that is, the transformation check of the sub-block is (DST7, DCT2) ).
- the check is (DCT2, DST7) (the first ellipsis indicates an odd number between 7 and 33, and the second ellipsis indicates an even number between 40 and 66), that is, the transformation check of the sub-block is (DCT2, DST7).
- the mode number is B+1, B+3,...,34,3,5,...,B,35,37,39,...
- the transformation check corresponding to the 65 intra prediction mode information is (DST7, DCT2) (the first ellipsis represents an even number between B+3 and 34, the second ellipsis represents an odd number between 5 and B, and the third ellipsis Represents an odd number between 39 and 65), that is, the transformation check of the sub-block is (DST7, DCT2).
- the mode number is B+2, B+4,..., 33, 2, 4,..., (B-1), 36, 38, ...
- the transformation check corresponding to the 66 intra-frame prediction mode information is (DCT2, DST7) (the first ellipsis indicates an odd number between (B+4) and 33, and the second ellipsis indicates a number from 4 to (B-1).
- the third ellipsis represents an even number between 38 and 66), that is, the transformation check of the sub-block is (DCT2, DST7).
- the transformation check corresponding to the intra prediction mode information of B-2 is (DST7, DCT2) (the first ellipsis indicates an even number between 6 and 34, and the second ellipsis indicates an even number between (B+3) and 66 Even, the third ellipsis represents an odd number between 39 and B-2), that is, the transformation check of the sub-block is (DST7, DCT2).
- the mode number is 3, 5,..., 33, B, B+2,..., 65, 36, 38,..., (B-1
- the transform check corresponding to the intra prediction mode information of) is (DCT2, DST7) (the first ellipsis represents an odd number between 5 and 33, the second ellipsis represents an odd number between B+2 and 65, and the third ellipsis It represents an even number between 38 and (B-1)), that is, the transformation check of the sub-block is (DCT2, DST7).
- the intra prediction mode range includes the intra prediction mode information with mode numbers of 0, 1, 3, 65, and odd numbers between 3 and 65.
- the width of the sub-block is represented by w, and the height of the sub-block is represented by h.
- the transformation check corresponding to the intra prediction mode information of the mode number 2, 4, 6, ..., 34 is (DST7, DCT2) (ellipsis Represents an even number between 6 and 34), that is, the transformation check of the sub-block is (DST7, DCT2).
- the transform check corresponding to the intra prediction mode information of the mode number 36, 38, 40, ..., 66 is (DCT2, DST7) (the ellipsis indicates An even number between 40 and 66), that is, the transformation check of the sub-block is (DCT2, DST7).
- the transformation check corresponding to the intra prediction mode information of the mode number B+1, B+3,...,34 is (DST7, DCT2) ( The ellipsis indicates an even number between (B+3) and 34), that is, the transformation check of the sub-block is (DST7, DCT2).
- the check is (DCT2, DST7) (the first ellipsis indicates an even number between 38 and 66, and the second ellipsis indicates an even number between 4 and (B-1), that is, the sub-block transformation check is (DCT2, DST7) .
- the intra prediction mode information of the mode number 2, 4, 6, ..., 34, B+1, B+3, ..., 66 corresponds to
- the transformation check of the sub-block is (DST7, DCT2) (the first ellipsis represents an even number between 6 and 34, and the second ellipsis represents an even number between (B+3) and 66), that is, the transformation check of the sub-block is (DST7 , DCT2).
- the transform check corresponding to the intra prediction mode information with mode numbers 36, 38, ..., (B-1) is (DCT2, DST7) ( The ellipsis indicates an even number between 38 and (B-1)), that is, the transformation check of the sub-block is (DCT2, DST7).
- Table 8 to Table 11 take into account the influence of the intra prediction mode being the wide angle mode, and the B of the wide angle mode is determined by the ratio of the width and height of each sub-block of the current block.
- intra prediction modes with adjacent mode numbers generally correspond to different transformation checks.
- the transformation check of the current block is determined according to the size information of the current block and the intra prediction mode information.
- the size information of the current block and the intra prediction mode information can be used to jointly determine the transformation check of the current block.
- using the size information of the current block and the intra prediction mode information to jointly determine the transformation check of the current block may be processed as follows:
- the transformation check corresponding to the intra prediction mode information is determined as the transformation check of the current block. If according to the size information, it is determined that the height of the current block meets the target size restriction condition and the current When the width of the block does not meet the target size restriction condition, DCT2 is determined as the vertical transformation core in the transformation check of the current block, and the horizontal transformation core in the transformation check corresponding to the intra prediction mode information is determined as the transformation check of the current block If, according to the size information, it is determined that the width of the current block meets the target size restriction condition and the height of the current block does not meet the target size restriction condition, DCT2 is determined as the horizontal transformation core in the transformation check of the current block, and The vertical transform core in the transform check corresponding to the intra prediction mode information is determined as the vertical transform core in the transform check of the current block. If it is determined based on the size information that the width and height of the current block meet the target size restriction conditions, DCT2 is determined It
- the target size restriction condition is that the width is greater than or equal to the target value, and the height is greater than or equal to the target value, and the target value can be 32.
- the decoder can determine whether the current block meets the target size restriction condition, if it meets the target size restriction condition (meaning that both the height and width meet the target size restriction condition), DCT2 can be determined as the horizontal transformation in the transformation check of the current block Nuclear and vertical transformation core.
- the transformation check corresponding to the intra prediction mode information can be determined in the corresponding relationship between the intra prediction mode information and the transformation check Check the transformation of the current block;
- DCT2 is determined as the vertical transformation core in the transformation check of the current block, and can be used in intra prediction mode In the correspondence between the information and the transformation check, determining the horizontal transformation core in the transformation check corresponding to the intra prediction mode information as the horizontal transformation core in the transformation check of the current block;
- DCT2 is determined as the horizontal transformation core in the transformation check of the current block and can be used in intra prediction mode
- the vertical transform core in the transform check corresponding to the intra prediction mode information is determined as the vertical transform core in the transform check of the current block.
- the transformation mode of the current block is the implicit multi-core transformation mode, and the size information and intra prediction mode of the current block can be used Information, together to determine the transformation check of the current block.
- Method 1 As shown in Table 12, the corresponding relationship between intra prediction mode information and transformation check is described. If the mode number of the intra prediction mode information of the current block is 1, 33, 35, the transformation check of the current block is The first transform check, if the mode number of the intra prediction mode information of the current block is 0, 31, 32, 34, 36, 37, the transform check of the current block is the second transform check, if the intra prediction mode of the current block When the information mode number is 2, 30, 39, 65, even numbers from 2 to 30, and odd numbers from 39 to 65, the transformation check of the current block is the third transformation check. If the mode of the intra prediction mode information of the current block is When the numbers are 3, 29, 38, 66, odd numbers from 3 to 29, and even numbers from 38 to 66, the conversion check of the current block is the fourth conversion check.
- Method 2 As shown in Table 13, if the mode number of the intra prediction mode information of the current block is 1, the transform check of the current block is the first transform check, and if the mode number of the intra prediction mode information of the current block is 0, 31, 32, 33, 34, 35, 36, 37, the transformation check of the current block is the second transformation check, if the mode number of the intra prediction mode information of the current block is 2, 30, 39, 65, 2 When the number to 30 is even and the number is 39 to 65, the transformation check of the current block is the third transformation check. If the mode number of the intra prediction mode information of the current block is 3, 29, 38, 66, 3 to 29 When the odd number of and the even number from 38 to 66, the transformation check of the current block is the fourth transformation check.
- Method three if the mode number of the intra prediction mode information of the current block is 1, the transform check of the current block is the first transform check. If the mode number of the intra prediction mode information of the current block is 0: The transform check of the current block is the second transform check. If the mode number of the intra prediction mode information of the current block is 2, 34, 35, 65, even numbers from 2 to 34, and odd numbers from 35 to 65, The transformation check of the current block is the third transformation check. If the mode number of the intra prediction mode information of the current block is 3, 33, 36, 66, odd numbers from 3 to 33, and even numbers from 36 to 66, the current block’s The conversion check is the fourth conversion check.
- Method 4 as shown in Table 15, if the mode number of the intra prediction mode information of the current block is 1, the transform check of the current block is the first transform check. If the mode number of the intra prediction mode information of the current block is 0, 3, 65, and odd numbers from 3 to 65, the transform check of the current block is the second transform check. If the mode number of the intra prediction mode information of the current block is an even number among 2, 34, and 2 to 34, The transform check of the current block is the third transform check. If the mode number of the intra prediction mode information of the current block is an even number among 36, 66, and 36 to 66, the transform check of the current block is the fourth transform check.
- the first conversion check is (DCT2, DCT2)
- the second conversion check is (DST7, DST7)
- the third conversion check is (DST7, DCT2)
- the fourth conversion check is (DCT2, DST7)
- the second transformation check is (DST7, DST7)
- the third transformation check is (DST7, DCT8)
- the fourth transformation check is (DCT8, DST7).
- the intra prediction mode range is also considered, and the corresponding processing may be as follows:
- the transform check corresponding to the intra prediction mode information is determined as the transform check of the current block.
- the intra prediction mode range can be preset and stored in the decoder.
- the intra prediction mode range includes intra prediction modes with mode numbers 0, 1, 31 to 37; or, the intra prediction mode range includes mode numbers. It is an intra prediction mode of 0 and 1; or, the range of intra prediction modes includes intra prediction modes with mode numbers of 0, 1, 3, 65, and odd numbers between 3 and 65.
- the decoder after the decoder obtains the mode number of the intra prediction mode information from the encoded data, it can determine whether it belongs to the intra prediction mode range. If it belongs to the intra prediction mode range, it can directly compare the intra prediction mode information with the intra prediction mode. In the correspondence relationship of the transformation check, the transformation check corresponding to the intra prediction mode information is determined as the transformation check of the current block.
- the following processing can be performed:
- the intra prediction mode range includes the intra prediction mode information with mode numbers 0, 1, 31 to 37.
- the width of the current block is represented by W, and the height of the current block is represented by H.
- the transformation corresponding to the intra prediction mode information of the mode number 2, 4, 6, ..., 30, 39, 41, 43, ..., 65 The check is (DST7, DCT2) (the first ellipsis represents an even number between 6 and 30, and the second ellipsis represents an odd number between 43 and 65).
- the mode number is B+1, B+3,..., 30, 3, 5,..., B, 39, 41, 43,...
- the transformation check corresponding to the 65 intra prediction mode information is (DST7, DCT2) (the first ellipsis indicates an even number between B+3 and 30, the second ellipsis indicates an odd number between 5 and B, and the third ellipsis Represents an odd number between 43 and 65).
- the mode number is B+2, B+4,...,29,38,40,...,66,2,4,...,(B -1)
- the transform check corresponding to the intra prediction mode information is (DCT2, DST7) (the first ellipsis indicates an odd number between B+4 and 29, the second ellipsis indicates an even number between 40 and 66, and the third The ellipsis indicates an even number between 4 and (B-1)).
- the mode number is 2, 4, 6, ..., 30, (B+1), (B+3), ..., 66, 39, 41,..., (B-2)
- intra prediction mode information corresponding to the transformation check is (DST7, DCT2) (the first ellipsis indicates an even number between 6 and 30, and the second ellipsis indicates (B+3) to 66
- the third ellipsis indicates the odd number between 41 and B-2).
- the mode number is 3, 5,..., 29, B, B+2,..., 65, 38, 40,..., (B-1
- the transform check corresponding to the intra prediction mode information of) is (DCT2, DST7) (the first ellipsis indicates an odd number between 5 and 29, the second ellipsis indicates an odd number between (B+2) and 65, and the third The ellipsis indicates an even number between 40 and (B-1)).
- the range of intra prediction mode information includes the intra prediction mode information with mode numbers 0, 1, 31 to 37; the width of the current block is represented by W, and the height of the current block is represented by H .
- the transformation corresponding to the intra prediction mode information of the mode number 2, 4, 6, ..., 30, 39, 41, 43, ..., 65 The check is (DST7, DCT2) (the first ellipsis represents an even number between 6 and 30, and the second ellipsis represents an odd number between 43 and 65).
- the check is (DCT2, DST7) (the first ellipsis represents an odd number between 7 and 29, and the second ellipsis represents an even number between 42 and 66).
- the mode number is B+1, B+3,..., 30, 3, 5,..., B, 39, 41, 43,...
- the transformation check corresponding to the 65 intra prediction mode information is (DST7, DCT2) (the first ellipsis indicates an even number between B+3 and 30, the second ellipsis indicates an odd number between 5 and B, and the third ellipsis Represents an odd number between 43 and 65).
- the mode number is B+2, B+4,...,29,38,40,...,66,2,4,...,(B -1)
- the transform check corresponding to the intra prediction mode information is (DCT2, DST7) (the first ellipsis represents an odd number between B+4 and 29, the second ellipsis represents an even number between 40 and 66, and the third An ellipsis represents an even number between 4 and (B-1)).
- the mode number is 2, 4, 6,..., 30, B+1, B+3,..., 66, 39, 41,...
- the transformation check corresponding to the intra prediction mode information of (B-2) is (DST7, DCT2) (the first ellipsis indicates an even number between 6 and 30, and the second ellipsis indicates a number between (B+3) and 66 Even numbers, the third ellipsis indicates odd numbers between 41 and (B-2)).
- the mode number is 3, 5,..., 29, B, (B+2),..., 65, 38, 40,..., (B).
- the transform check corresponding to the intra prediction mode information of -1) is (DCT2, DST7) (the first ellipsis represents an odd number between 5 and 29, and the second ellipsis represents an odd number between (B+2) and 65.
- the third ellipsis indicates an even number between 40 and (B-1)).
- the range of intra prediction mode information includes intra prediction mode information with mode numbers 0 and 1. As shown in Table 18, the width of the current block is represented by W, and the height of the current block is represented by H.
- the mode number is 2, 4, 6, ..., 34, 35, 37, 39, 41, 43, ..., 65 intra prediction modes
- the transformation check corresponding to the information is (DST7, DCT2) (the first ellipsis represents an even number between 6 and 34, and the second ellipsis represents an odd number between 43 and 65).
- the transformation corresponding to the intra prediction mode information of the mode number 3 5, 7,..., 33, 36, 38, 40,..., 66
- the check is (DCT2, DST7) (the first ellipsis represents an odd number between 7 and 33, and the second ellipsis represents an even number between 40 and 66).
- the mode number is (B+1), (B+3),..., 34, 3, 5,..., B, 35, 37
- the transformation check corresponding to the intra prediction mode information of 39,..., 65 is (DST7, DCT2) (the first ellipsis represents an even number between (B+3) and 34, and the second ellipsis represents an even number between 5 and B. Odd number, the third ellipsis indicates an odd number between 39 and 65).
- the mode number is B+2, B+4,..., 33, 2, 4,..., (B-1), 36, 38, ...
- the transformation check corresponding to the 66 intra-frame prediction mode information is (DCT2, DST7) (the first ellipsis indicates an odd number between (B+4) and 33, and the second ellipsis indicates a number from 4 to (B-1).
- the third ellipsis indicates an odd number between 38 and 66).
- the mode number is 2, 4, 6, ..., 34, (B+1), (B+3), ..., 66, 35
- the transform check corresponding to the intra prediction mode information of 37, 39,..., (B-2) is (DST7, DCT2) (the first ellipsis indicates an even number between 6 and 34, and the second ellipsis indicates (B+3 ) To 66, and the third ellipsis indicates an odd number from 39 to (B-2)).
- the mode number is 3, 5,..., 33, B, (B+2),..., 65, 36, 38,..., (B).
- the transform check corresponding to the intra prediction mode information of -1) is (DCT2, DST7) (the first ellipsis represents an odd number between 5 and 33, and the second ellipsis represents an odd number between (B+2) and 65.
- the third ellipsis indicates an even number between 38 and (B-1)).
- the range of intra prediction mode information includes intra prediction mode information with mode numbers of 0, 1, 3, 65, and odd numbers between 3 and 65; as shown in Table 19, the width of the current block is represented by W , The height of the current block is represented by H.
- the transformation check corresponding to the intra prediction mode information of the mode number 2, 4, 6, ..., 34 is (DST7, DCT2) (ellipsis indicates An even number between 6 and 34).
- the transform check corresponding to the intra prediction mode information of the mode number 36, 38, 40, ..., 66 is (DCT2, DST7) (the ellipsis indicates An even number between 40 and 66).
- the transformation check corresponding to the intra prediction mode information of the mode number B+1, B+3,...,34 is (DST7, DCT2) ( The ellipsis indicates an even number between (B+3) and 34).
- the check is (DCT2, DST7) (the first ellipsis represents an even number between 38 and 66, and the second ellipsis represents an even number between 4 and (B-1).
- the intra prediction mode information of the mode number 2, 4, 6, ..., 34, B+1, B+3, ..., 66 corresponds to
- the conversion check for is (DST7, DCT2) (the first ellipsis represents an even number between 6 and 34, and the second ellipsis represents an even number between (B+3) and 66).
- the transform check corresponding to the intra prediction mode information of the mode number 36, 38,..., (B-1) is (DCT2, DST7) ( The ellipsis indicates an even number between 38 and (B-1)).
- Table 16 to Table 19 take into account the influence of the intra prediction mode information being the wide angle mode, and the B of the wide angle mode is determined by the ratio of the width and height of the current block.
- the encoding process can be as follows:
- Step 1301 The encoding terminal obtains the residual data of the current block.
- the encoding end when the encoding end encodes the video data, it first performs intra-frame prediction to obtain residual data (the method of obtaining residual data is consistent with the existing video coding standards, and will not be repeated), and then the residual The data is the residual data of the current block to be processed.
- Step 1302 If the current block meets the sub-block division condition and the intra-frame sub-block division is started, the encoding end determines the intra-frame prediction mode information of each sub-block of the current block and each sub-block of the current block according to the sub-block division information of the current block. The size information of the block.
- the sub-block division information is used to indicate how to divide the current block. For example, for an 8*4 current block, it may be horizontally divided into two 8*2 sub-blocks.
- the encoding end after the encoding end obtains the residual data of the current block, it can determine whether the current block meets the sub-block division condition, and if it is determined that the current block meets the sub-block division condition, it can determine whether to enable intra-frame sub-block division. If the intra-frame sub-block division switch is turned on, it means that intra-frame sub-block division is enabled, the current block can be divided, and the height and width of each sub-block obtained by dividing the current block can be determined.
- the width of the current block refers to the number of pixels included in the width direction of the current block, and the height of the current block refers to the number of pixels included in the height direction of the current block, so that the size information of the sub-block can be obtained. Among them, for a current block of MxN, M represents the width of the current block, and N represents the height of the current block.
- the content of the identification bit can be obtained from the identification bit used to indicate the intra prediction mode information from the encoded data of the current block, that is, the intra prediction mode information of the current block can be obtained.
- the sub-block division condition is that the current block is a luminance block, the height and width of the current block are both less than or equal to the first preset value, and the current block is a single-line reference during intra-frame prediction. , The number of pixels contained in the current block is greater than the second preset value.
- the first preset value can be preset and stored in the encoding end (the same as the third value mentioned above).
- the first preset value can be 64.
- the current block is a single-line reference when performing intra-frame prediction. When the current block performs intra-frame prediction, only one line is referenced.
- the second preset value can be preset and stored in the encoding end.
- the second preset value can be 16 (the same as the fourth value mentioned above).
- Step 1303 For each sub-block, the encoding end determines the transformation check of the sub-block according to the size information of the sub-block and the intra-frame prediction mode information of the sub-block; wherein, for each sub-block, according to the size information of the sub-block and the intra-frame of the sub-block Prediction mode information, determining the transformation check of the sub-block, including: for each sub-block, if it is determined that the sub-block does not meet the size restriction condition according to the size information of the sub-block, then the transformation check corresponding to the intra-prediction mode information of the sub-block is determined
- the size restriction condition is that the width is not within the first preset range and the height is not within the second preset range.
- step 1303 is completely the same as the process of step 1203, and will not be repeated here.
- the encoding end determines the transformation check process of the sub-block according to the size information of the sub-block and the intra-frame prediction mode information of the sub-block.
- the decoding end in the embodiment shown in FIG. 12 is based on the size information of the sub-block and the sub-block.
- the intra-frame prediction mode information and the process of determining the transformation and checking of the sub-block are completely the same. You can refer to the process of FIG. 12, which will not be repeated here.
- Step 1304 The encoding end performs transformation on the residual data of each sub-block according to the transformation check of each sub-block.
- the sub-block can be transformed based on the transform check corresponding to the sub-block to obtain the transform coefficient corresponding to the sub-block, and then the The transform coefficient is quantized to obtain the quantized coefficient, and the quantized coefficient is subjected to entropy coding processing to obtain the coded data corresponding to the sub-block.
- each sub-block the coded data corresponding to the current block can be obtained, and the coding process of the current block is completed.
- Each current block is processed in accordance with the process shown in Figure 13, and a whole segment of video data can be encoded.
- the encoding end can obtain the sub-block division information corresponding to the current block, and then add the sub-block division information to the encoding data of the current block, so that the subsequent decoding end can start from the current block. From the coded data of the block, the sub-block division information corresponding to the current block is obtained and decoded.
- the encoder can use the RDO criterion to determine the intra prediction mode information of the current block, and the process can be as follows:
- code rate and PSNR (Peak Signal to Noise Ratio, peak signal-to-noise ratio).
- PSNR Peak Signal to Noise Ratio, peak signal-to-noise ratio
- the rate-distortion cost corresponding to the mode: J(mode) D+ ⁇ *R.
- D stands for Distortion (distortion), usually measured by SSE (Sum of Squares Error, sum variance) index.
- SSE refers to the sum of squared differences between the reconstructed block and the source image
- ⁇ is the Lagrangian multiplier
- R It is the actual number of bits required for image block coding in this mode, including the sum of bits required for coding mode information, motion information, residuals, etc.
- the encoding end can use each intra prediction mode information to perform intra prediction to obtain different residuals (which can be considered as the current block), and then use the transformation check corresponding to each intra prediction mode information to transform, then quantize, and then Entropy coding is performed, and then decoding processing is performed, and then the intra prediction mode information with the least rate-distortion cost is selected and determined as the intra prediction mode information corresponding to the current block. In this way, the intra prediction mode information corresponding to the current block can be determined.
- the mode number of the intra-frame prediction mode information can be added to subsequent coded data for processing the current block.
- the divided sub-blocks share the intra prediction mode information of the current block.
- the encoder can divide a current block horizontally or vertically into several small sub-blocks. For example, for a 16x8 current block, it can be divided into 4 16x2 sub-blocks horizontally or vertically into 4 4x8 sub-blocks. Sub-block. However, a 4x8 block can be divided into 2 4x4 blocks or 2 2x8 sub-blocks. It can be noted that the number of sub-blocks can be only 2 (for 4x8, 8x4 sub-blocks). And the sub-block contains at least 16 pixels, so the 4x4 block will not be divided again, and there is no need to make corresponding grammar declarations on the encoding and decoding ends.
- the specific division rules are shown in Table 3 in the embodiment shown in FIG. 9.
- the divided intra sub-blocks share the intra prediction mode of the current block (that is, the sub-blocks obtained by dividing the current block are the same as the intra prediction mode of the current block).
- the process of using RDO criteria to determine sub-block division information can be as follows:
- the intra prediction mode of the current block and the size information of the sub-blocks can be used directly to determine the transformation check corresponding to each sub-block. Based on the determined transformation check, the encoding process is performed.
- the intra prediction mode of the current block and the size information of the sub-blocks of each sub-block are used to determine the transform check, instead of using the same transform check for all sub-blocks, the coding and decoding performance can be improved.
- the selection of transformation check based on the intra-frame prediction mode can save the selection time of the transformation check and further improve the coding and decoding performance.
- each sub-block of the current block is uniformly entropy-decoded in order from top to bottom to obtain the quantized coefficient of each sub-block . Then, in the order from top to bottom, inverse quantization and inverse transformation are performed on each sub-block of the current block to obtain the residual data of each sub-block.
- the pixel value of the pixel constructs the prediction signal of each sub-block according to the intra-frame prediction mode used during encoding, obtains the prediction signal of each sub-block, and adds the residual data of each sub-block to the prediction signal to obtain the prediction signal of each sub-block
- the reconstruction information is to merge the reconstruction information of each sub-block to obtain the reconstruction information corresponding to the current block.
- each sub-block of the current block is uniformly entropy decoded to obtain the quantized coefficient of each sub-block, and then the current block is determined in the order from left to right. Inverse quantization and inverse transformation are performed on each sub-block to obtain the residual data of each sub-block. Finally, in the order from left to right, the pixel values of the pixels in the reconstructed area around the current sub-block are used in accordance with the encoding used
- the intra prediction mode constructs the prediction signal of each sub-block, obtains the preset signal of each sub-block, adds the residual data of each sub-block to the prediction signal, and obtains the reconstruction information of each sub-block. Merge, you can get the reconstruction information corresponding to the current block.
- the sub-blocks in the first row of the current block are firstly predicted, transformed, quantized, and entropy encoded in the order of rows, and then The sub-blocks of the second row are respectively subjected to prediction, transformation, quantization and entropy coding according to the order of the rows, and the third sub-block, the fourth sub-block, etc. are processed sequentially from top to bottom.
- the reason for encoding in this way is that the reference pixels of the intra prediction of the next sub-block depend on the reconstruction information of the previous sub-block, so when the next sub-block is predicted, the previous sub-block has already been predicted and transformed.
- the process of quantization and entropy coding obtains the reconstruction information.
- the current block is divided vertically, first perform prediction, transformation, quantization, and entropy coding on the first sub-block on the far left of the current block in the order of columns, and then perform the prediction, transformation, quantization, and entropy coding on the sub-blocks in the second column from the left in the order of columns Carry out prediction, transformation, quantization and entropy coding respectively, and process the third sub-block and the fourth sub-block from left to right in turn.
- the reason for encoding in this way is that the reference pixels of the intra-frame prediction of the right sub-block depend on the reconstruction information of the previous sub-block, so when the right sub-block is being predicted, the left sub-block has already been predicted and transformed.
- the process of quantization and entropy coding obtains the reconstruction information.
- the encoding end embodiments shown in FIG. 10 and FIG. 13 are all improvements to the transformation step.
- the entire current block is used for intra prediction, and after the residual data is obtained, The current block is divided into sub-blocks, and the residual data of each sub-block is transformed.
- it is directly divided into sub-blocks for intra-frame prediction, the residual data of each sub-block is obtained, and the residual data of each sub-block is transformed.
- the encoding terminal of the foregoing embodiment of the present disclosure can be applied to the foregoing two methods.
- the same understanding of the inverse transformation processing of the code end can also be applied to the above two methods.
- the activation of intra-frame sub-block division refers to activation of the intra-frame sub-block division mode.
- the sub-block division information may be a sub-block division manner, that is, a sub-block division manner determined in the candidate sub-block division supported by the current block.
- the above sub-block division information may also not be added to the encoded data, that is, it does not occupy flag bits. For example, when only horizontal division is enabled, when the decoder determines to perform sub-block division, it determines to perform horizontal division. Similarly, when only vertical division is enabled, Then the decoding end determines to perform sub-block partitioning, and then determines to perform vertical partitioning. Only when both horizontal partitioning and vertical partitioning are enabled, an additional indication will be given in the encoded data, which can save network resources.
- the embodiments of the present disclosure also provide a decoding end.
- the decoding end includes:
- the obtaining module 1410 is used to obtain the coded data of the current block
- the determination module 1420 is used to:
- the size of each sub-block is determined according to the sub-block division information of the current block Information and shape information;
- each sub-block determine the transformation check corresponding to the sub-block according to the size information and shape information of the sub-block;
- the transformation module 1430 is configured to perform inverse transformation on the dequantized data of each sub-block according to the transformation check of each sub-block;
- the determining module 1420 is used for:
- DST7 is determined as the vertical transformation core in the transformation check of the sub-block.
- the determining module 1420 is further used for
- DCT2 determines the horizontal transformation core in the transformation check of the sub-block
- DCT2 is determined as the vertical transformation core in the transformation check of the sub-block.
- the first size restriction condition and the second size restriction condition are greater than or equal to a first value and less than or equal to a second value; the first condition is width Is less than or equal to the height, and the second condition is that the width is greater than or equal to the height; or,
- the first size restriction condition and the second size restriction condition are greater than or equal to a first value and less than or equal to a second value; the first condition is that the width is less than the height, and the second condition is that the width is greater than the height .
- the sub-block division condition is that the current block is a luminance block, the height and width of the current block are both less than or equal to a third value, and the current block is in frame
- the intra prediction is a single-line reference, and the number of pixels included in the current block is greater than the fourth value.
- the embodiments of the present disclosure also provide an encoding terminal.
- the encoding terminal includes:
- the obtaining module 1510 is used to obtain residual data of the current block
- the determination module 1520 is used to:
- the current block satisfies the sub-block division condition and the intra-frame sub-block division is initiated, determine the size information and shape information of each sub-block of the current block according to the sub-block division information of the current block;
- each sub-block determine the transformation check corresponding to the sub-block according to the size information and shape information of the sub-block;
- the transformation module 1530 is configured to transform the residual data of each sub-block according to the transformation check of each sub-block;
- the determining module 1520 is used for:
- DST7 is determined as the vertical transformation core in the transformation check of the sub-block.
- the obtaining module 1510 is further configured to:
- the size information and shape information of each sub-block of the current block can be directly used to determine the transformation check corresponding to each sub-block, and based on the determined transformation check, the encoding process is performed.
- the size information and shape information of each sub-block of the current block can also be used directly to determine the transformation check corresponding to each sub-block, and the decoding process is performed based on the determined transformation check. In this way, since the size information and shape information of the sub-blocks are used to determine the transformation check, instead of using the same transformation check for each sub-block, the coding and decoding performance can be improved. And when exporting the transformation check, only the height and width are used, the export process is relatively simple, and the codec performance can be further improved.
- the embodiments of the present disclosure also provide a decoding terminal.
- the decoding terminal includes:
- the obtaining module 1610 is used to obtain the coded data of the current block
- the determination module 1620 is used for:
- the size of each sub-block is determined according to the sub-block division information of the current block Information, and determine the intra prediction mode information of each sub-block;
- For each sub-block determine the transformation check of the sub-block according to the size information of the sub-block and the intra prediction mode information of the sub-block;
- the transformation module 1630 is configured to perform inverse transformation on the inverse-quantized data of each sub-block according to the transformation check of each sub-block;
- the determining module 1620 is used for:
- the transform check corresponding to the intra-frame prediction mode information of the sub-block is determined as the transform of the sub-block Check, wherein the size restriction condition is that the width is not within the preset numerical range, and the height is not within the preset numerical range.
- the determining module 1620 is further configured to:
- DCT2 is determined as the transformation check of the sub-block And determining the horizontal transformation kernel in the transformation check corresponding to the intra prediction mode information of the sub-block as the horizontal transformation kernel in the transformation check of the sub-block;
- DCT2 is determined as the horizontal transformation core in the transformation check of the sub-block Determining the vertical transformation kernel in the transformation check corresponding to the intra prediction mode information of the sub-block as the vertical transformation kernel in the transformation check of the sub-block;
- DCT2 is determined as the horizontal transform core and the vertical transform core in the transform check of the sub-block.
- the determining module 1620 is configured to:
- the transform check of the sub-block is (DCT2, DCT2)
- the transform check of the sub-block is (DST7, DST7)
- the transform check of the sub-block is (DST7, DCT8 );
- the transform check of the sub-block is (DCT8, DST7 ).
- the determining module 1620 is configured to:
- the transform check of the sub-block is the first transform check
- the transformation check of the sub-block is the second transformation check
- the transform check of the sub-block is the third transform check ;
- the transform check of the sub-block is the fourth transform check .
- the determining module 1620 is configured to:
- the transform check of the sub-block is the first transform check
- the transform check of the sub-block is the second transform check
- the transform check of the sub-block is the third transform check ;
- the transform check of the sub-block is the fourth transform check .
- the determining module 1620 is configured to:
- the transform check of the sub-block is the first transform check
- the transform check of the sub-block is the second transform check
- the transform check of the sub-block is the third transform check
- the transform check of the sub-block is the fourth transform check.
- the first transformation check is (DCT2, DCT2)
- the second transformation check is (DST7, DST7)
- the third transformation check is (DST7, DCT2)
- the fourth transformation check is (DCT2, DST7); or,
- the first conversion check is (DCT2, DCT2)
- the second conversion check is (DST7, DST7)
- the third conversion check is (DST7, DCT8)
- the fourth conversion check is (DCT8, DST7).
- the determining module 1620 is configured to:
- the intra-prediction mode information For each sub-block, if it is determined according to the size information of the sub-block that the sub-block does not meet the size restriction condition, and the intra-prediction mode information meets the intra-prediction mode range, then the intra-prediction mode information The corresponding transformation check is determined as the transformation check of the sub-block.
- the determining module 1620 is further configured to:
- the size of the sub-block Information For each sub-block, if it is determined according to the size information of the sub-block that the sub-block does not meet the size restriction condition and the intra-frame prediction mode information does not satisfy the intra-frame prediction mode range, then according to the size of the sub-block Information to determine the ratio of the width and height of the sub-block;
- the intra-frame prediction mode range includes intra-frame prediction mode information whose mode numbers are 0, 1, 31 to 37;
- the intra-frame prediction mode range includes intra-frame prediction mode information whose mode numbers are 0 and 1.
- the intra prediction mode range includes intra prediction mode information with mode numbers of 0, 1, 3, 65, and odd numbers between 3 and 65.
- the intra-frame prediction mode range includes intra-frame prediction mode information whose mode numbers are 0, 1, 31 to 37;
- the determining module 1620 is also used for:
- the transformation check of the current block is (DST7, DCT2), if the ratio of the width to the height of the current block is equal to 1, and the mode number of the intra prediction mode information is 3, 5, 7 , 29, 7 to 29 are odd numbers, the transformation check of the current block is (DCT2, DST7);
- the transformation check of the current block is (DST7, DCT2), if the current block is The ratio of width to height is greater than 1, and the mode number of the intra prediction mode information is B+2, B+4, 29, 38, 40, 66, 2, 4, (B-1), B+4 to When an odd number in 29, an even number between 40 and 66, and an even number between 4 and (B-1), the transformation check of the current block is (DCT2, DST7);
- the transformation check of the current block is (DST7, DCT2), if the ratio of the width to the height of the current block is less than 1, and the mode number of the intra prediction mode information is 3, 5, 29, B, (B+2), 65, 38, 40, ( B-1), odd numbers between 5 and 29, odd numbers between (B+2) and 65, and even numbers between 40 and (B-1), the transformation check of the current block is (DCT2, DST7 );
- the intra-frame prediction mode range includes intra-frame prediction mode information whose mode numbers are 0 and 1.
- the determining module 1620 is also used for:
- the ratio of the width to the height of the current block is equal to 1, and the mode number of the intra prediction mode information is among 2, 4, 6, 34, 35, 37, 39, 41, 43, 65, 6 to 34
- the current block’s transform check is (DST7, DCT2), if the ratio of the width to the height of the current block is equal to 1, and the intra prediction mode information is When the mode number is 3, 5, 7, 33, 36, 38, 40, 66, odd numbers between 7 and 33, and even numbers between 40 and 66, the transformation check of the current block is (DCT2, DST7);
- the transformation check of the current block is (DST7, DCT2), if the current The ratio of the width to the height of the block is greater than 1, and the mode numbers of the intra prediction mode information are (B+2), (B+4), 33, 2, 4, (B-1), 36, 38, 66.
- the transformation check of the current block is (DCT2, DST7);
- the transformation of the current block is checked Is (DST7, DCT2), if the ratio of the width to the height of the current block is less than 1, and the mode number of the intra prediction mode information is 3, 5, 33, B, (B+2), 65, 36 , 38, (B-1), odd numbers between 5 and 33, odd numbers between (B+2) and 65, and even numbers between 38 and (B-1), the conversion check of the current block is (DCT2, DST7);
- the intra prediction mode range includes intra prediction mode information with mode numbers of 0, 1, 3, 65, and odd numbers between 3 and 65;
- the determining module 1620 is also used for:
- the transformation of the current block is checked Is (DST7, DCT2), if the ratio of the width to the height of the current block is equal to 1, and the mode number of the intra prediction mode information is an even number between 36, 38, 40, 66, 40 to 66,
- the transformation check of the current block is (DCT2, DST7);
- the transform check of the current block is (DST7, DCT2), if the ratio of the width to the height of the current block is greater than 1, and the mode number of the intra prediction mode information is 36, 38, 66, 2 , 4, (B-1), an even number before 38 to 66, and an even number between 4 and (B-1), the transformation check of the current block is (DCT2, DST7);
- the transformation check of the current block is (DST7, DCT2), if the ratio of the width to the height of the current block is less than 1, and the When the mode number of the intra prediction mode information is an even number between 36, 38, (B-1), 38 to (B-1), the transform check of the current block is (DCT2, DST7);
- the determining module 1620 is further configured to:
- the transformation check of the current block is determined according to the size information and the intra prediction mode information of the current block.
- the determining module 1620 is further configured to:
- the transformation check corresponding to the intra prediction mode information is determined as the transformation check of the current block, wherein the target size restriction condition is The width is greater than or equal to the target value, and the height is greater than or equal to the target value;
- DCT2 is determined as the transformation check of the current block And determining the horizontal transformation kernel in the transformation check corresponding to the intra prediction mode information as the horizontal transformation kernel in the transformation check of the current block;
- DCT2 the level in the transformation check of the current block Transform core, and determine the vertical transform core in the transform check corresponding to the intra prediction mode information as the vertical transform core in the transform check of the current block;
- DCT2 is determined as the horizontal transformation core and the vertical transformation core in the transformation check of the current block.
- the sub-block division condition is that the current block is a luminance block, the height and width of the current block are both less than or equal to a first preset value, and the current block is The intra-frame prediction is a single-line reference, and the number of pixels included in the current block is greater than the second preset value.
- the embodiments of the present disclosure also provide an encoding terminal.
- the encoding terminal includes:
- the obtaining module 1710 is used to obtain residual data of the current block
- the determination module 1720 is used to:
- the intra-frame prediction mode information of each sub-block of the current block and the current block are determined according to the sub-block division information of the current block.
- For each sub-block determine the transformation check of the sub-block according to the size information of the sub-block and the intra prediction mode information of the sub-block;
- the transformation module 1730 is configured to transform the residual data of each sub-block according to the transformation check of each sub-block;
- the determining module 1720 is used for:
- the transform check corresponding to the intra-frame prediction mode information of the sub-block is determined as the transform of the sub-block Check, wherein the size restriction condition is that the width is not within the first preset range, and the height is not within the second preset range.
- the obtaining module 1710 is further configured to:
- the intra prediction mode of the current block and the size information of the sub-blocks can be used directly to determine the transformation check corresponding to each sub-block. Based on the determined transformation check, the encoding process is performed.
- the intra prediction mode of the current block and the size information of the sub-blocks of each sub-block are used to determine the transform check, instead of using the same transform check for each sub-block, the coding and decoding performance can be improved.
- the selection of transformation check based on the intra-frame prediction mode can save the selection time of the transformation check and further improve the coding and decoding performance.
- the decoding terminal provided in the above embodiment performs decoding
- only the division of the above functional modules is used as an example.
- the above functions can be allocated by different functional modules as needed, that is, decoding
- the internal structure of the terminal is divided into different functional modules to complete all or part of the functions described above.
- the decoding terminal provided in the above-mentioned embodiment and the method embodiment for decoding belong to the same concept. For the specific implementation process, please refer to the method embodiment, which will not be repeated here.
- the encoding terminal provided in the above embodiment performs encoding
- only the division of the above functional modules is used as an example.
- the above functions can be allocated by different functional modules as needed, that is, encoding
- the internal structure of the terminal is divided into different functional modules to complete all or part of the functions described above.
- the encoding terminal provided in the foregoing embodiment and the encoding method embodiment belong to the same concept, and the specific implementation process is detailed in the method embodiment, which will not be repeated here.
- FIG. 18 is a schematic structural diagram of an encoding terminal provided by an embodiment of the present invention.
- the encoding terminal 1800 may have relatively large differences due to different configurations or performance, and may include one or more processors (central processing units, CPU) 1801 and One or more memories 1802, wherein the memory 1802 stores at least one instruction, and the at least one instruction is loaded and executed by the processor 1801 to implement the steps of the encoding method described above.
- processors central processing units, CPU
- memories 1802 wherein the memory 1802 stores at least one instruction, and the at least one instruction is loaded and executed by the processor 1801 to implement the steps of the encoding method described above.
- FIG. 19 is a schematic structural diagram of a decoding terminal provided by an embodiment of the present invention.
- the decoding terminal 1900 may have relatively large differences due to different configurations or performance, and may include one or more processors 1901 and one or more memories 1902 , Wherein at least one instruction is stored in the memory 1902, and the at least one instruction is loaded and executed by the processor 1901 to implement the steps of the foregoing decoding method.
- the embodiments of the present disclosure also provide a computer-readable storage medium in which a computer program is stored, and when the computer program is executed by a processor, the above-mentioned method steps of encoding and decoding are realized.
- the embodiment of the present disclosure also provides an encoding terminal, including a processor and a memory, wherein the memory is used to store a computer program; the processor is used to execute the program stored in the memory to implement the foregoing The method steps for encoding.
- the embodiment of the present disclosure also provides a decoding terminal, including a processor and a memory, wherein the memory is used to store a computer program; the processor is used to execute the program stored in the memory to realize the above Describe the method steps for decoding.
- the embodiments of the present disclosure also provide an encoding and decoding system.
- the system includes an encoding end and a decoding end, wherein:
- the encoding end is an encoding end that performs encoding processing as described above;
- the decoding end is the decoding end that performs decoding processing as described above.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Discrete Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Description
宽(W)高(H)比值 | 需要替代的帧内预测模式(模式号) |
W/H==16 | Modes(模式)12,13,14,15 |
W/H==8 | Modes 12,13 |
W/H==4 | Modes 2,3,4,5,6,7,8,9,10,11 |
W/H==2 | Modes 2,3,4,5,6,7, |
W/H==1 | None |
W/H==1/2 | Modes 61,62,63,64,65,66 |
W/H==1/4 | Mode 57,58,59,60,61,62,63,64,65,66 |
W/H==1/8 | Modes 55,56 |
W/H==1/16 | Modes 53,54,55,56 |
Claims (10)
- 一种进行解码的方法,其特征在于,所述方法包括:获取当前块的编码数据;如果所述当前块满足子块划分条件,且根据所述当前块的编码数据,确定所述当前块启动帧内子块划分,则根据所述当前块的子块划分信息,确定各个子块的尺寸信息;针对每个子块,根据所述子块的尺寸信息,确定所述子块对应的变换核对;根据各个子块的变换核对,对所述各个子块反量化后的数据进行反变换;其中,针对每个子块,根据所述子块的尺寸信息,确定所述子块对应的变换核对,包括:如果所述子块的宽度满足第一尺寸限制条件,则将DST7确定为所述子块的变换核对中的水平变换核;如果所述子块的宽度不满足第一尺寸限制条件,则将DCT2确定为所述子块的变换核对中的水平变换核;如果所述子块的高度满足所述第二尺寸限制条件,则将DST7确定为所述子块的变换核对中的垂直变换核;如果所述子块的高度不满足第二尺寸限制条件,则将DCT2确定为所述子块的变换核对中的垂直变换核,其中,所述第一尺寸限制条件为子块的宽度大于或等于4且小于或等于16;所述第二尺寸限制条件为子块的高度大于或等于4且小于或等于16。
- 根据权利要求1所述的方法,其特征在于,所述针对每个子块,根据所述子块的尺寸信息,确定所述子块对应的变换核对,包括:如果所述子块的宽度等于高度,且所述子块的宽度满足所述第一尺寸限制条件,所述子块的高度满足第二尺寸限制条件,则将DST7确定为所述子块的变换核对中的水平变换核,将DST7确定为所述子块的变换核对中的垂直变换核。
- 根据权利要求2所述的方法,其特征在于,若所述子块的宽度和高度均为4,或均为8,或均为16,则将DST7确定为所述子块的变换核对中的水平变换核,以及将DST7确定为所述子块的变换核对中的垂直变换核。
- 根据权利要求1所述的方法,其特征在于,如果所述子块的宽度满足大于或等于4且小于或等于16,高度为32或64,则所述子块的宽度满足所述第一尺寸限制条件,且所述子块的高度不满足所述第二尺寸限制条件;将DST7确定为所述子块的变换核对中的水平变换核,将DCT2确定为所述子块的变换核对中的垂直变换核。
- 根据权利要求1所述的方法,其特征在于,如果所述子块的高度满足大于或等于4且小于或等于16,宽度为32或64,则所述子块的宽度不满足所述第一尺寸限制条件,且所述子块的高度满足所述第二尺寸限制条件,将DCT2确定为所述子块的变换核对中的水平变换核,将DST7确定为所述子块的变换核对中的垂直变换核。
- 根据权利要求1所述的方法,其特征在于,如果所述子块的宽度大于1且小于4,高度大于16,则所述子块的宽度不满足所述第一尺寸限制条件,所述子块的高度不满足所述第二尺寸限制条件,将DCT2确定为所述子块的变换核对中的水平变换核,将DCT2确定为所述子块的变换核对中的垂直变换核;或者,如果所述子块的高度大于1且小于4,宽度大于16,则所述子块的宽度不满足所述第一 尺寸限制条件,所述子块的高度不满足所述第二尺寸限制条件,将DCT2确定为所述子块的变换核对中的水平变换核,将DCT2确定为所述子块的变换核对中的垂直变换;或者,如果所述子块的高度大于16且宽度大于16,则所述子块的宽度不满足所述第一尺寸限制条件,所述子块的高度不满足所述第二尺寸限制条件,将DCT2确定为所述子块的变换核对中的水平变换核,将DCT2确定为所述子块的变换核对中的垂直变换。
- 一种进行编码的方法,其特征在于,所述方法包括:获取当前块的残差数据;如果所述当前块满足子块划分条件,且启动帧内子块划分,则根据所述当前块的子块划分信息,确定所述当前块的各个子块的尺寸信息;针对每个子块,根据所述子块的尺寸信息,确定所述子块对应的变换核对;根据各个子块的变换核对,对所述各个子块的残差数据进行变换;其中,针对每个子块,根据所述子块的尺寸信息,确定所述子块对应的变换核对,包括:如果所述子块的宽度满足第一尺寸限制条件,则将DST7确定为所述子块的变换核对中的水平变换核;如果所述子块的宽度不满足所述第一尺寸限制条件,则将DCT2确定为所述子块的变换核对中的水平变换核;如果所述子块的高度满足第二尺寸限制条件,则将DST7确定为所述子块的变换核对中的垂直变换核;如果所述子块的高度不满足所述第二尺寸限制条件,则将DCT2确定为所述子块的变换核对中的垂直变换核;其中,所述第一尺寸限制条件为子块的宽度大于或等于4且小于或等于16;所述第二尺寸限制条件为子块的高度大于或等于4且小于或等于16。
- 根据权利要求7所述的方法,其特征在于,所述针对每个子块,根据所述子块的尺寸信息,确定所述子块对应的变换核对,包括:如果所述子块的宽度等于高度,且所述子块的宽度满足所述第一尺寸限制条件,所述子块的高度满足第二尺寸限制条件,则将DST7确定为所述子块的变换核对中的水平变换核,将DST7确定为所述子块的变换核对中的垂直变换核。
- 一种进行解码的解码端,其特征在于,所述解码端包括:获取模块,用于获取当前块的编码数据;确定模块,用于:如果所述当前块满足子块划分条件,且根据所述当前块的编码数据,确定所述当前块启动帧内子块划分,则根据所述当前块的子块划分信息,确定各个子块的尺寸信息;针对每个子块,根据所述子块的尺寸信息,确定所述子块对应的变换核对;变换模块,用于根据各个子块的变换核对,对所述各个子块反量化后的数据进行反变换;其中,所述确定模块,用于:如果所述子块的宽度满足第一尺寸限制条件,则将DST7确定为所述子块的变换核对中的水平变换核;如果所述子块的宽度不满足所述第一尺寸限制条件,则将DCT2确定为所述子块的变换核对中的水平变换核;如果所述子块的高度满足第二尺寸限制条件,则将DST7确定为所述子块的变换核对中 的垂直变换核;如果所述子块的高度不满足所述第二尺寸限制条件,则将DCT2确定为所述子块的变换核对中的垂直变换核;其中,所述第一尺寸限制条件为子块的宽度大于或等于4且小于或等于16;所述第二尺寸限制条件为子块的高度大于或等于4且小于或等于16。
- 一种进行编码的编码端,其特征在于,所述编码端包括:获取模块,用于获取当前块的残差数据;确定模块,用于:如果所述当前块满足子块划分条件,且启动帧内子块划分,则根据所述当前块的子块划分信息,确定所述当前块的各个子块的尺寸信息;针对每个子块,根据所述子块的尺寸信息,确定所述子块对应的变换核对;变换模块,用于根据各个子块的变换核对,对所述各个子块的残差数据进行变换;其中,所述确定模块,用于:如果所述子块的宽度满足第一尺寸限制条件,则将DST7确定为所述子块的变换核对中的水平变换核;如果所述子块的宽度不满足所述第一尺寸限制条件,则将DCT2确定为所述子块的变换核对中的水平变换核;如果所述子块的高度满足第二尺寸限制条件,则将DST7确定为所述子块的变换核对中的垂直变换核;如果所述子块的高度不满足所述第二尺寸限制条件,则将DCT2确定为所述子块的变换核对中的垂直变换核;其中,所述第一尺寸限制条件为子块的宽度大于或等于4且小于或等于16;所述第二尺寸限制条件为子块的高度大于或等于4且小于或等于16。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910177528.9 | 2019-03-09 | ||
CN201910177528.9A CN111669582B (zh) | 2019-03-09 | 2019-03-09 | 进行编码和解码的方法、编码端、解码端和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2020182105A1 true WO2020182105A1 (zh) | 2020-09-17 |
Family
ID=68289760
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2020/078487 WO2020182103A1 (zh) | 2019-03-09 | 2020-03-09 | 进行编码和解码的方法、编码端和解码端 |
PCT/CN2020/078489 WO2020182105A1 (zh) | 2019-03-09 | 2020-03-09 | 进行编码和解码的方法、解码端和编码端 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2020/078487 WO2020182103A1 (zh) | 2019-03-09 | 2020-03-09 | 进行编码和解码的方法、编码端和解码端 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11825082B2 (zh) |
EP (1) | EP3923575A4 (zh) |
CN (2) | CN110392256B (zh) |
WO (2) | WO2020182103A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116233420A (zh) * | 2023-03-24 | 2023-06-06 | 重庆邮电大学 | 一种基于vvc的帧内快速编码方法 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200288130A1 (en) * | 2019-03-07 | 2020-09-10 | Qualcomm Incorporated | Simplification of sub-block transforms in video coding |
CN110392256B (zh) | 2019-03-09 | 2020-12-11 | 杭州海康威视数字技术股份有限公司 | 进行编码和解码的方法、编码端、解码端和系统 |
US11539952B2 (en) * | 2019-03-12 | 2022-12-27 | Qualcomm Incorporated | Implicit transform selection in video coding |
CN117296323A (zh) * | 2021-04-22 | 2023-12-26 | 抖音视界有限公司 | 基于特征的变换选择 |
CN115379217A (zh) * | 2022-07-14 | 2022-11-22 | 百果园技术(新加坡)有限公司 | 一种视频编码处理方法、装置、设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180020218A1 (en) * | 2016-07-15 | 2018-01-18 | Qualcomm Incorporated | Look-up table for enhanced multiple transform |
WO2018128323A1 (ko) * | 2017-01-03 | 2018-07-12 | 엘지전자(주) | 이차 변환을 이용한 비디오 신호의 인코딩/디코딩 방법 및 장치 |
CN109417636A (zh) * | 2016-06-24 | 2019-03-01 | 韩国电子通信研究院 | 用于基于变换的图像编码/解码的方法和设备 |
CN110392256A (zh) * | 2019-03-09 | 2019-10-29 | 杭州海康威视数字技术股份有限公司 | 进行编码和解码的方法、编码端、解码端和系统 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7760950B2 (en) * | 2002-09-26 | 2010-07-20 | Ntt Docomo, Inc. | Low complexity and unified transforms for video coding |
KR20100095992A (ko) | 2009-02-23 | 2010-09-01 | 한국과학기술원 | 비디오 부호화에서의 분할 블록 부호화 방법, 비디오 복호화에서의 분할 블록 복호화 방법 및 이를 구현하는 기록매체 |
KR101487687B1 (ko) * | 2010-01-14 | 2015-01-29 | 삼성전자주식회사 | 큰 크기의 변환 단위를 이용한 영상 부호화, 복호화 방법 및 장치 |
US8885701B2 (en) * | 2010-09-08 | 2014-11-11 | Samsung Electronics Co., Ltd. | Low complexity transform coding using adaptive DCT/DST for intra-prediction |
KR20120035096A (ko) * | 2010-10-04 | 2012-04-13 | 한국전자통신연구원 | 쿼드 트리 변환 구조에서 부가 정보의 시그널링 방법 및 장치 |
FR2972588A1 (fr) * | 2011-03-07 | 2012-09-14 | France Telecom | Procede de codage et decodage d'images, dispositif de codage et decodage et programmes d'ordinateur correspondants |
CN102843560B (zh) * | 2011-06-21 | 2015-01-21 | 华为技术有限公司 | 图像变换处理方法、设备和系统 |
RU2626013C1 (ru) * | 2011-10-19 | 2017-07-21 | Кт Корпорейшен | Способ декодирования видеосигнала |
EP2840792A4 (en) * | 2012-04-16 | 2016-03-16 | Korea Electronics Telecomm | ENCODING METHOD, DECODING METHOD, AND DEVICE USING THESE METHODS |
JP2014036278A (ja) * | 2012-08-07 | 2014-02-24 | Nippon Hoso Kyokai <Nhk> | 画像符号化装置、画像復号装置及びプログラム |
KR20170116043A (ko) * | 2015-02-12 | 2017-10-18 | 엘지전자 주식회사 | 그래프 기반 변환을 이용하여 비디오 신호를 처리하는 방법 및 장치 |
ES2817100B1 (es) * | 2016-03-28 | 2022-04-13 | Kt Corp | Metodo y aparato para procesar senales de video |
WO2018026166A1 (ko) | 2016-08-01 | 2018-02-08 | 한국전자통신연구원 | 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체 |
US11405645B2 (en) | 2017-02-28 | 2022-08-02 | Google Llc | Transform kernel selection and entropy coding |
KR102389869B1 (ko) | 2017-07-04 | 2022-04-22 | 삼성전자주식회사 | 다중 코어 변환에 의한 비디오 복호화 방법 및 장치, 다중 코어 변환에 의한 비디오 부호화 방법 및 장치 |
US11218694B2 (en) * | 2018-09-24 | 2022-01-04 | Qualcomm Incorporated | Adaptive multiple transform coding |
CN115052164A (zh) | 2019-03-03 | 2022-09-13 | 华为技术有限公司 | 编码器、解码器和用于变换处理的对应方法 |
-
2019
- 2019-03-09 CN CN201910570214.5A patent/CN110392256B/zh active Active
- 2019-03-09 CN CN201910177528.9A patent/CN111669582B/zh active Active
-
2020
- 2020-03-09 WO PCT/CN2020/078487 patent/WO2020182103A1/zh unknown
- 2020-03-09 US US17/437,391 patent/US11825082B2/en active Active
- 2020-03-09 EP EP20770441.2A patent/EP3923575A4/en active Pending
- 2020-03-09 WO PCT/CN2020/078489 patent/WO2020182105A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109417636A (zh) * | 2016-06-24 | 2019-03-01 | 韩国电子通信研究院 | 用于基于变换的图像编码/解码的方法和设备 |
US20180020218A1 (en) * | 2016-07-15 | 2018-01-18 | Qualcomm Incorporated | Look-up table for enhanced multiple transform |
WO2018128323A1 (ko) * | 2017-01-03 | 2018-07-12 | 엘지전자(주) | 이차 변환을 이용한 비디오 신호의 인코딩/디코딩 방법 및 장치 |
CN110392256A (zh) * | 2019-03-09 | 2019-10-29 | 杭州海康威视数字技术股份有限公司 | 进行编码和解码的方法、编码端、解码端和系统 |
Non-Patent Citations (2)
Title |
---|
CHEN, JIANLE ET AL.: "Joint Video Exploration Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 7th Meeting: Torino, IT, 13-21 July 2017", ALGORITHM DESCRIPTION OF JOINT EXPLORATION TEST MODEL 7 (JEM 7), 21 July 2017 (2017-07-21), DOI: 20200526142004A * |
SAXENA, A. ET AL.: "IEEE Transactions on Image Processing", DCT/DST-BASED TRANSFORM CODING FOR INTRA PREDICTION IN IMAGE/VIDEO CODING, vol. 22, no. 10, 31 October 2013 (2013-10-31), DOI: 20200526142205A * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116233420A (zh) * | 2023-03-24 | 2023-06-06 | 重庆邮电大学 | 一种基于vvc的帧内快速编码方法 |
CN116233420B (zh) * | 2023-03-24 | 2024-05-14 | 深圳市博锐高科科技有限公司 | 一种基于vvc的帧内快速编码方法 |
Also Published As
Publication number | Publication date |
---|---|
US20220182624A1 (en) | 2022-06-09 |
EP3923575A1 (en) | 2021-12-15 |
CN110392256B (zh) | 2020-12-11 |
CN110392256A (zh) | 2019-10-29 |
CN111669582B (zh) | 2022-05-20 |
CN111669582A (zh) | 2020-09-15 |
WO2020182103A1 (zh) | 2020-09-17 |
US11825082B2 (en) | 2023-11-21 |
EP3923575A4 (en) | 2022-06-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2020182105A1 (zh) | 进行编码和解码的方法、解码端和编码端 | |
WO2020182102A1 (zh) | 进行编码和解码的方法、解码端和编码端 | |
CN111385584B (zh) | 进行编码、解码的方法、装置和系统 | |
CN111669579B (zh) | 进行编码和解码的方法、编码端、解码端和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 20770445 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 20770445 Country of ref document: EP Kind code of ref document: A1 |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 20770445 Country of ref document: EP Kind code of ref document: A1 |
|
32PN | Ep: public notification in the ep bulletin as address of the adressee cannot be established |
Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 04/08/2022) |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 20770445 Country of ref document: EP Kind code of ref document: A1 |