CN111669579B - Method, encoding end, decoding end and system for encoding and decoding - Google Patents
Method, encoding end, decoding end and system for encoding and decoding Download PDFInfo
- Publication number
- CN111669579B CN111669579B CN201910177527.4A CN201910177527A CN111669579B CN 111669579 B CN111669579 B CN 111669579B CN 201910177527 A CN201910177527 A CN 201910177527A CN 111669579 B CN111669579 B CN 111669579B
- Authority
- CN
- China
- Prior art keywords
- current block
- prediction mode
- transformation
- transform
- intra prediction
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 83
- 230000009466 transformation Effects 0.000 claims abstract description 358
- 238000013139 quantization Methods 0.000 claims abstract description 13
- 230000001131 transforming effect Effects 0.000 claims description 5
- 230000008569 process Effects 0.000 description 21
- 230000015654 memory Effects 0.000 description 19
- 238000005192 partition Methods 0.000 description 18
- 238000010586 diagram Methods 0.000 description 16
- 238000012545 processing Methods 0.000 description 15
- 230000006870 function Effects 0.000 description 9
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 8
- 238000004590 computer program Methods 0.000 description 7
- 238000007906 compression Methods 0.000 description 6
- 230000006835 compression Effects 0.000 description 6
- 230000000694 effects Effects 0.000 description 6
- 238000013507 mapping Methods 0.000 description 5
- 239000011159 matrix material Substances 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 3
- 238000001914 filtration Methods 0.000 description 2
- 238000000638 solvent extraction Methods 0.000 description 2
- 241000023320 Luma <angiosperm> Species 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
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/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/103—Selection of coding mode or of prediction mode
-
- 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/124—Quantisation
-
- 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
- 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/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive 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
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
The disclosure provides a method, a coding end, a decoding end and a system for coding and decoding, and belongs to the technical field of audio and video. The method comprises the following steps: the method comprises the steps of obtaining coded data of a current block, obtaining size information and intra-frame prediction mode information of the current block when the transformation mode of the current block is determined to be an implicit multi-core transformation mode according to the coded data of the current block, determining a transformation check corresponding to the intra-frame prediction mode information as the transformation check of the current block if the current block is determined not to meet the size limitation condition according to the size information, wherein the size limitation condition is that the width of the current block is larger than or equal to a preset numerical value, and the height of the current block is larger than or equal to the preset numerical value, and carrying out inverse transformation on data after inverse quantization of the current block according to the transformation check of the current block. By adopting the method and the device, the coding and decoding performance can be improved.
Description
Technical Field
The present disclosure relates to the field of audio and video technologies, and in particular, to a method, an encoding end, a decoding end, and a system for encoding and decoding.
Background
With the development of internet technology and computer technology, video application programs are more and more, and the demand of users for high-definition videos in the video application programs is greater and greater, but because the data volume of the high-definition videos is large, the high-definition videos are required to be transmitted in limited network bandwidth, and the high-definition videos need to be encoded. The general encoding process includes: the method comprises the steps of intra-frame prediction, inter-frame prediction, transformation, quantization, entropy coding, in-loop filtering and the like. When encoding processing is performed, a residual block (which may be referred to as a TU (Transmission Unit) or a current block) is obtained by intra prediction or inter prediction, and image transform coding (image transform coding refers to converting an image described in the form of pixels in a spatial domain into a transform domain and expressing the image in the form of transform coefficients) is performed on the current block to obtain transform coefficients. And then quantizing and entropy coding the transformation coefficient to obtain a coded code stream.
In the related art, when performing transform coding on an image, a predetermined transform kernel (a transform kernel is a transform kernel composed of a horizontal transform kernel and a vertical transform kernel) is usually selected, and a transform process is performed on a current block to obtain a transform coefficient. Correspondingly, the preset transformation check used in coding is selected during decoding, and inverse transformation processing is carried out on the current block to obtain a residual signal.
Therefore, the same block is transformed by adopting different transformation checks, and the compression effects are greatly different, so that the coding and decoding performance is possibly poor by using the same preset transformation check to transform all the blocks.
Disclosure of Invention
In order to solve the problems of the prior art, the embodiments of the present disclosure provide a method, an encoding end, a decoding end and a system for encoding and decoding. The technical scheme is as follows:
in a first aspect, a method for decoding is provided, where the method includes:
acquiring coded data of a current block;
according to the coded data of the current block, when the transformation mode of the current block is determined to be an implicit multi-core transformation mode, acquiring the size information and intra-frame prediction mode information of the current block;
determining a transform kernel of the current block according to the size information and the intra prediction mode information;
according to the transformation check of the current block, carrying out inverse transformation on the data after inverse quantization of the current block;
wherein the determining a transform check of the current block according to the size information and the intra prediction mode information includes:
and if the current block is determined not to meet the size limitation condition according to the size information, determining the transformation check corresponding to the intra-frame prediction mode information as the transformation check of the current block, wherein the size limitation condition is that the width of the current block is greater than or equal to a preset value and the height of the current block is greater than or equal to the preset value.
In one possible embodiment of the present disclosure, the determining a transform check of the current block according to the size information and the intra prediction mode information further includes:
if it is determined that the height of the current block satisfies the size restriction condition and the width of the current block does not satisfy the size restriction condition according to the size information, determining the DCT2 as a vertical transformation kernel in a transformation kernel pair of the current block, and determining a horizontal transformation kernel in the transformation kernel pair corresponding to the intra prediction mode information as a horizontal transformation kernel in the transformation kernel pair of the current block;
if it is determined that the width of the current block satisfies the size restriction condition and the height of the current block does not satisfy the size restriction condition according to the size information, determining the DCT2 as a horizontal transformation kernel in a transformation kernel pair of the current block, and determining a vertical transformation kernel in the transformation kernel pair corresponding to the intra prediction mode information as a vertical transformation kernel in the transformation kernel pair of the current block;
and if the width and the height of the current block are determined to meet the size limit condition according to the size information, determining the DCT2 as a horizontal transformation kernel and a vertical transformation kernel in the transformation kernel pair of the current block.
In a possible implementation manner of the present disclosure, before the determining, according to the encoded data of the current block, that the transform mode of the current block is the implicit multi-core transform mode, and before obtaining the size information and the intra prediction mode information of the current block, the method further includes:
and if the coded data of the current block comprises the target identification, determining that the transformation mode of the current block is an implicit multi-core transformation mode.
In a possible embodiment of the disclosure, the determining, if it is determined that the current block does not satisfy the size restriction condition according to the size information, a transform check corresponding to the intra prediction mode information as the transform check of the current block includes:
and if the current block is determined to not meet the size limitation condition according to the size information and the intra-frame prediction mode information meets the intra-frame prediction mode range, determining the transformation check corresponding to the intra-frame prediction mode information as the transformation check of the current block.
In one possible embodiment of the present disclosure, the method further comprises:
and if the current block does not meet the size limiting condition and the intra-frame prediction mode information does not meet the intra-frame prediction mode range according to the size information, determining the transformation check of the current block according to the ratio of the width and the height of the current block and the intra-frame prediction mode information.
In one possible embodiment of the present disclosure, the intra prediction mode range includes intra prediction modes having mode numbers 0, 1, 31 to 37;
or, the intra prediction mode range includes intra prediction modes having mode numbers 0 and 1;
alternatively, the intra prediction mode range includes odd intra prediction modes having mode numbers of 0, 1, 3,65, and in the middle of 3 to 65.
In one possible embodiment of the present disclosure, the intra prediction mode range includes intra prediction mode information having a mode number of 0, 1, 31 to 37;
the determining a transform check of the current block according to the ratio of the width to the height of the current block and the intra prediction mode information includes:
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 of 2,4,6, 30, 39, 41, 43, 65, 6 to 30, and an odd number of 43 to 65, the transform checkup of the current block is (DST7, DCT2), and 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 odd number of 3,5,7, 29, 7 to 29, the transform checkup of the current block is (DCT2, DST 7);
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 (B +1), (B +3), 30, 3,5, B, 39, 41, 43, 65, (even of B +3) to 30, odd of 5 to B, odd of 43 to 65, the transform checkup of the current block is (DST7, DCT2), and 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 B +2, B +4, 29, 38, 40, 66, 2,4, (B-1), odd of B +4 to 29, even between 40 to 66, even of 4 to (B-1), the transform checkup of the current block is (DCT2, DST 7);
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 2,4,6, 30, (B +1), (B +3), 66, 39, 41, (B-2), an even number between 6 and 30, (an even number between B +3) and 66, an odd number between 41 and (B-2), the transform checkup of the current block is (DST7, DCT2), and 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), an odd number between 5 and 29, (an odd number between B +2) and 65, an even number between 40 and (B-1), the transform checkup of the current block is (DCT2, DST 7);
wherein when the ratio of the width to the height of the current block is 2,4, 8, 16, B is 7, 11, 13, 15, respectively, and when the ratio of the width to the height of the current block is 1/2, 1/4, 1/8, 1/16, B is 61, 57, 55, 53, respectively.
In one possible embodiment of the present disclosure, the intra prediction mode range includes intra prediction mode information having mode numbers 0 and 1;
the determining a transform check of the current block according to the ratio of the width to the height of the current block and the intra prediction mode information includes:
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 2,4,6, 34, 35, 37, 39, 41, 43, 65, 6 to 34, an odd number between 43 to 65, the transform checkup of the current block is (DST7, DCT2), and 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 odd number between 3,5,7, 33, 36, 38, 40, 66, 7 to 33, an even number between 40 to 66, the transform checkup of the current block is (DCT2, DST 7);
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 (B +1), (B +3), 34, 3,5, B, 35, 37, 39, 65, (B +3) to 34 previous even, 5 to B between odd, 39 to 65 between odd, the transform checkup of the current block is (DST7, DCT2), and 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 (B +2), (B +4), 33, 2,4, (B-1), 36, 38, 66, (B +4) to 33 between odd, 4 to (B-1) between even, 38 to 66 between even, the transform checkup of the current block is (DCT2, DST 7);
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 2,4,6, 34, (B +1), (B +3), 66, 35, 37, 39, (B-2), an even number between 6 and 34, (an odd number between B +3) and 66, an odd number between 39 and (B-2), the transform checkup of the current block is (DST7, DCT2), and 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), an odd number between 5 and 33, (an odd number between B +2) and 65, an even number between 38 and (B-1), the transform checkup of the current block is (DCT2, DST 7);
wherein, when the ratio of the width to the height of the current block is 2,4, 8, 16, B is 7, 11, 13, 15, respectively, and when the ratio of the width to the height of the current block is 1/2, 1/4, 1/8, 1/16, B is 61, 57, 55, 53, respectively.
In one possible embodiment of the present disclosure, the intra prediction mode range includes intra prediction mode information having mode numbers of 0, 1, 3,65, and an odd number in the middle of 3 to 65;
the determining a transform check of the current block according to the ratio of the width to the height of the current block and the intra prediction mode information includes:
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 2,4,6, 34, 6 to 34, the transform checkup 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 an even number between 36, 38, 40, 66, 40 to 66, the transform checkup of the current block is (DCT2, DST 7);
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 an even number between (B +1), (B +3), 34, (B +3) to 34, the transform checkup of the current block is (DST7, DCT2), and 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 an even number between 36, 38, 66, 2,4, (B-1), 38 to 66, 4 to (B-1), the transform checkup of the current block is (DCT2, DST 7);
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 an even number between 2,4,6, 34, (B +1), (B +3), 66, 6 to 34, (B +3) to 66, the transform checkup 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 an even number between 36, 38, (B-1), 38 to (B-1), the transform checkup of the current block is (DCT2, DST 7);
wherein, when the ratio of the width to the height of the current block is 2,4, 8, 16, B is 7, 11, 13, 15, respectively, and when the ratio of the width to the height of the current block is 1/2, 1/4, 1/8, 1/16, B is 61, 57, 55, 53, respectively.
In one possible embodiment of the present disclosure, the determining the transform check corresponding to the intra prediction mode information as the transform check of the current block includes:
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 a first transformation check;
if the mode number of the intra prediction mode information of the current block is 0, 31, 32, 34, 36, 37, the transformation check of the current block is a second transformation check;
the transform checkup of the current block is a third transform checkup if the mode number of the intra prediction mode information of the current block is an even number of 2, 30, 39, 65, 2 through 30, and an odd number of 39 through 65;
the transform checkup of the current block is a fourth transform checkup if the mode number of the intra prediction mode information of the current block is an odd number of 3, 29, 38, 66, 3 through 29 and an odd number of 38 through 66.
In one possible embodiment of the present disclosure, the determining the transform check corresponding to the intra prediction mode information as the transform check of the current block includes:
if the mode number of the intra-frame prediction mode information of the current block is 1, the transformation check of the current block is a first transformation check;
if the mode number of the intra prediction mode information of the current block is 0, 31, 32, 33, 34, 35, 36, 37, the transform checkup of the current block is a second transform checkup;
the transform checkup of the current block is a third transform checkup if the mode number of the intra prediction mode information of the current block is an even number of 2, 30, 39, 65, 2 through 30, and an odd number of 39 through 65;
the transform checkup of the current block is a fourth transform checkup if the mode number of the intra prediction mode information of the current block is odd number of 3, 29, 38, 66, 3 through 29 and even number of 38 through 66.
In one possible embodiment of the present disclosure, the determining the transform check corresponding to the intra prediction mode information as the transform check of the current block includes:
if the mode number of the intra-frame prediction mode information of the current block is 1, the transformation check of the current block is a first transformation check;
if the mode number of the intra-frame prediction mode information of the current block is 0, the transformation check of the current block is a second transformation check;
the transform checkup of the current block is a third transform checkup if the mode number of the intra prediction mode information of the current block is an even number of 2, 34, 35, 65, 2 through 34, and an odd number of 35 through 65;
the transform checkup of the current block is a fourth transform checkup if the mode number of the intra prediction mode information of the current block is odd number of 3, 33, 36, 66, 3 through 33 and even number of 36 through 66.
In one possible embodiment of the present disclosure, the determining the transform check corresponding to the intra prediction mode information as the transform check of the current block includes:
if the mode number of the intra-frame prediction mode information of the current block is 1, the transformation check of the current block is a first transformation check;
the transform checkup of the current block is a second transform checkup if the mode number of the intra prediction mode information of the current block is an odd number of 0, 3,65, and 3 to 65;
the transform checkup of the current block is a third transform checkup if the mode number of the intra prediction mode information of the current block is an even number of 2, 34 and 2 to 34;
the transform checkup of the current block is a fourth transform checkup 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.
In one possible embodiment of the present disclosure, the first transformation checkup is (DCT 2), the second transformation checkup is (DST 7), the third transformation checkup is (DST7, DCT2), the fourth transformation checkup is (DCT2, DST 7); or,
the first transform checkup is (DCT 2), the second transform checkup is (DST 7), the third transform checkup is (DST7, DCT8), and the fourth transform checkup is (DCT8, DST 7).
In a second aspect, a method of encoding is provided, the method comprising:
acquiring a residual signal of a current block;
when the transformation mode of the current block is determined to be the implicit multi-core transformation mode, acquiring intra-frame prediction mode information of the current block and size information of the current block;
determining a transform kernel of the current block according to the size information and the intra prediction mode information;
transforming the residual error signal of the current block according to the transformation check of the current block to obtain a transformation coefficient corresponding to the current block;
wherein the determining a transform check of the current block according to the size information and the intra prediction mode information includes:
and if the current block is determined not to meet the size limitation condition according to the size information, determining the transformation check corresponding to the intra-frame prediction mode information as the transformation check of the current block, wherein the size limitation condition is that the width of the current block is greater than or equal to a preset value and the height of the current block is greater than or equal to the preset value.
In one possible embodiment of the present disclosure, the method further comprises:
adding a target identifier in the coded data of the current block, wherein the target identifier is used for indicating that the transformation mode is an implicit multi-core transformation mode.
In a third aspect, a decoding end for decoding is provided, the decoding end comprising:
an acquisition module to:
acquiring coded data of a current block;
according to the coded data of the current block, when the transformation mode of the current block is determined to be an implicit multi-core transformation mode, acquiring the size information and intra-frame prediction mode information of the current block;
a determining module for determining a transform check of the current block according to the size information and the intra prediction mode information;
the transformation module is used for carrying out inverse transformation on the data after the inverse quantization of the current block according to the transformation check of the current block;
wherein the determining module is configured to:
and if the current block is determined not to meet the size limitation condition according to the size information, determining the transformation check corresponding to the intra-frame prediction mode information as the transformation check of the current block, wherein the size limitation condition is that the width of the current block is greater than or equal to a preset value and the height of the current block is greater than or equal to the preset value.
In a possible implementation manner of the present disclosure, the determining module is further configured to:
if it is determined that the height of the current block satisfies the size restriction condition and the width of the current block does not satisfy the size restriction condition according to the size information, determining the DCT2 as a vertical transformation kernel in a transformation kernel pair of the current block, and determining a horizontal transformation kernel in the transformation kernel pair corresponding to the intra prediction mode information as a horizontal transformation kernel in the transformation kernel pair of the current block;
if it is determined that the width of the current block satisfies the size restriction condition and the height of the current block does not satisfy the size restriction condition according to the size information, determining the DCT2 as a horizontal transformation kernel in a transformation kernel pair of the current block, and determining a vertical transformation kernel in the transformation kernel pair corresponding to the intra prediction mode information as a vertical transformation kernel in the transformation kernel pair of the current block;
and if the width and the height of the current block are determined to meet the size limit condition according to the size information, determining the DCT2 as a horizontal transformation kernel and a vertical transformation kernel in the transformation kernel pair of the current block.
In a possible implementation manner of the present disclosure, the determining module is further configured to:
and if the coded data of the current block comprises the target identification, determining that the transformation mode of the current block is an implicit multi-core transformation mode.
In a possible implementation of the disclosure, the determining module is configured to:
and if the current block is determined to not meet the size limitation condition according to the size information and the intra-frame prediction mode information meets the intra-frame prediction mode range, determining the transformation check corresponding to the intra-frame prediction mode information as the transformation check of the current block.
In a possible implementation manner of the present disclosure, the determining module is further configured to:
and if the current block does not meet the size limiting condition and the intra-frame prediction mode information does not meet the intra-frame prediction mode range according to the size information, determining the transformation check of the current block according to the ratio of the width and the height of the current block and the intra-frame prediction mode information.
In one possible embodiment of the present disclosure, the intra prediction mode range includes intra prediction modes having mode numbers 0, 1, 31 to 37;
or, the intra prediction mode range includes intra prediction modes having mode numbers 0 and 1;
alternatively, the intra prediction mode range includes odd intra prediction modes having mode numbers of 0, 1, 3,65, and in the middle of 3 to 65.
In one possible embodiment of the present disclosure, the intra prediction mode range includes intra prediction mode information having a mode number of 0, 1, 31 to 37;
the determining module is configured to:
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 of 2,4,6, 30, 39, 41, 43, 65, 6 to 30, and an odd number of 43 to 65, the transform checkup of the current block is (DST7, DCT2), and 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 odd number of 3,5,7, 29, 7 to 29, the transform checkup of the current block is (DCT2, DST 7);
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 (B +1), (B +3), 30, 3,5, B, 39, 41, 43, 65, (even of B +3) to 30, odd of 5 to B, odd of 43 to 65, the transform checkup of the current block is (DST7, DCT2), and 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 B +2, B +4, 29, 38, 40, 66, 2,4, (B-1), odd of B +4 to 29, even between 40 to 66, even of 4 to (B-1), the transform checkup of the current block is (DCT2, DST 7);
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 2,4,6, 30, (B +1), (B +3), 66, 39, 41, (B-2), an even number between 6 and 30, (an even number between B +3) and 66, an odd number between 41 and (B-2), the transform checkup of the current block is (DST7, DCT2), and 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), an odd number between 5 and 29, (an odd number between B +2) and 65, an even number between 40 and (B-1), the transform checkup of the current block is (DCT2, DST 7);
wherein, when the ratio of the width to the height of the current block is 2,4, 8, 16, B is 7, 11, 13, 15, respectively, and when the ratio of the width to the height of the current block is 1/2, 1/4, 1/8, 1/16, B is 61, 57, 55, 53, respectively.
In one possible embodiment of the present disclosure, the intra prediction mode range includes intra prediction mode information having mode numbers 0 and 1;
the determining module is configured to:
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 2,4,6, 34, 35, 37, 39, 41, 43, 65, 6 to 34, an odd number between 43 to 65, the transform checkup of the current block is (DST7, DCT2), and 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 odd number between 3,5,7, 33, 36, 38, 40, 66, 7 to 33, an even number between 40 to 66, the transform checkup of the current block is (DCT2, DST 7);
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 (B +1), (B +3), 34, 3,5, B, 35, 37, 39, 65, (B +3) to 34 previous even, 5 to B between odd, 39 to 65 between odd, the transform checkup of the current block is (DST7, DCT2), and 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 (B +2), (B +4), 33, 2,4, (B-1), 36, 38, 66, (B +4) to 33 between odd, 4 to (B-1) between even, 38 to 66 between even, the transform checkup of the current block is (DCT2, DST 7);
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 2,4,6, 34, (B +1), (B +3), 66, 35, 37, 39, (B-2), an even number between 6 and 34, (an odd number between B +3) and 66, an odd number between 39 and (B-2), the transform checkup of the current block is (DST7, DCT2), and 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), an odd number between 5 and 33, (an odd number between B +2) and 65, an even number between 38 and (B-1), the transform checkup of the current block is (DCT2, DST 7);
wherein when the ratio of the width to the height of the current block is 2,4, 8, 16, B is 7, 11, 13, 15, respectively, and when the ratio of the width to the height of the current block is 1/2, 1/4, 1/8, 1/16, B is 61, 57, 55, 53, respectively.
In one possible embodiment of the present disclosure, the intra prediction mode range includes intra prediction mode information having mode numbers of 0, 1, 3,65, and an odd number in the middle of 3 to 65;
the determining module is configured to:
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 2,4,6, 34, 6 to 34, the transform checkup 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 an even number between 36, 38, 40, 66, 40 to 66, the transform checkup of the current block is (DCT2, DST 7);
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 an even number between (B +1), (B +3), 34, (B +3) to 34, the transform checkup of the current block is (DST7, DCT2), and 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 an even number between 36, 38, 66, 2,4, (B-1), 38 to 66, 4 to (B-1), the transform checkup of the current block is (DCT2, DST 7);
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 2,4,6, 34, (B +1), (B +3), 66, an even number between 6 to 34, an even number between (B +3) to 66, the transform checkup of the current block is (DST7, DCT2), and 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 36, 38, (B-1), an even number between 38 to (B-1), the transform checkup of the current block is (DCT2, DST 7);
wherein, when the ratio of the width to the height of the current block is 2,4, 8, 16, B is 7, 11, 13, 15, respectively, and when the ratio of the width to the height of the current block is 1/2, 1/4, 1/8, 1/16, B is 61, 57, 55, 53, respectively.
In a possible implementation of the disclosure, the determining module is configured to:
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 a first transformation check;
if the mode number of the intra prediction mode information of the current block is 0, 31, 32, 34, 36, 37, the transformation check of the current block is a second transformation check;
the transform checkup of the current block is a third transform checkup if the mode number of the intra prediction mode information of the current block is an even number of 2, 30, 39, 65, 2 through 30, and an odd number of 39 through 65;
the transform checkup of the current block is a fourth transform checkup if the mode number of the intra prediction mode information of the current block is an odd number of 3, 29, 38, 66, 3 through 29 and an odd number of 38 through 66.
In a possible implementation of the disclosure, the determining module is configured to:
if the mode number of the intra-frame prediction mode information of the current block is 1, the transformation check of the current block is a first transformation check;
if the mode number of the intra prediction mode information of the current block is 0, 31, 32, 33, 34, 35, 36, 37, the transform check of the current block is a second transform check;
the transform checkup of the current block is a third transform checkup if a mode number of the intra prediction mode information of the current block is an even number of 2, 30, 39, 65, 2 to 30, and an odd number of 39 to 65;
the transform checkup of the current block is a fourth transform checkup if the mode number of the intra prediction mode information of the current block is odd number of 3, 29, 38, 66, 3 through 29 and even number of 38 through 66.
In a possible implementation of the disclosure, the determining module is configured to:
if the mode number of the intra-frame prediction mode information of the current block is 1, the transformation check of the current block is a first transformation check;
if the mode number of the intra-frame prediction mode information of the current block is 0, the transformation check of the current block is a second transformation check;
the transform checkup of the current block is a third transform checkup if a mode number of the intra prediction mode information of the current block is an even number of 2, 34, 35, 65, 2 to 34 and an odd number of 35 to 65;
the transform checkup of the current block is a fourth transform checkup if the mode number of the intra prediction mode information of the current block is odd number of 3, 33, 36, 66, 3 through 33 and even number of 36 through 66.
In a possible implementation of the disclosure, the determining module is configured to:
if the mode number of the intra-frame prediction mode information of the current block is 1, the transformation check of the current block is a first transformation check;
the transform checkup of the current block is a second transform checkup if the mode number of the intra prediction mode information of the current block is an odd number of 0, 3,65, and 3 to 65;
the transform checkup of the current block is a third transform checkup if the mode number of the intra prediction mode information of the current block is an even number of 2, 34 and 2 to 34;
the transform checkup of the current block is a fourth transform checkup 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.
In one possible embodiment of the present disclosure, the first transformation checkup is (DCT 2), the second transformation checkup is (DST 7), the third transformation checkup is (DST7, DCT2), the fourth transformation checkup is (DCT2, DST 7); or,
the first transform checkup is (DCT 2), the second transform checkup is (DST 7), the third transform checkup is (DST7, DCT8), and the fourth transform checkup is (DCT8, DST 7).
In a fourth aspect, there is provided an encoding end for encoding, the encoding end comprising:
an acquisition module to:
acquiring a residual signal of a current block;
when the transformation mode of the current block is determined to be the implicit multi-core transformation mode, acquiring intra-frame prediction mode information of the current block and size information of the current block;
a determining module for determining a transform check of the current block according to the size information and the intra prediction mode information;
the transformation module is used for transforming the residual signal of the current block according to the transformation check of the current block to obtain a transformation coefficient corresponding to the current block;
wherein the determining module is configured to:
and if the current block is determined not to meet the size limitation condition according to the size information, determining the transformation check corresponding to the intra-frame prediction mode information as the transformation check of the current block, wherein the size limitation condition is that the width of the current block is greater than or equal to a preset value and the height of the current block is greater than or equal to the preset value.
In a possible implementation manner of the present disclosure, the obtaining module is further configured to:
adding a target identifier in the coded data of the current block, wherein the target identifier is used for indicating that the transformation mode is an implicit multi-core transformation mode.
In a fifth aspect, a decoding end for decoding is provided, which includes a processor and a memory, wherein the memory is used for storing a computer program; the processor is configured to execute the program stored in the memory, so as to implement the method steps of the first aspect.
In a sixth aspect, there is provided an encoding end for encoding, the encoding end comprising: the system comprises a processor and a memory, wherein the memory is used for storing computer programs; the processor is configured to execute the program stored in the memory to implement the method steps of the second aspect.
In a seventh aspect, a computer-readable storage medium is provided, in which a computer program is stored, which, when being executed by a processor, carries out the method steps of the first or second aspect.
In an eighth aspect, there is provided a system for encoding and decoding, the system comprising an encoding side and a decoding side, wherein:
the encoding end is the encoding end of the fourth aspect; the decoding end is the decoding end according to the third aspect.
The beneficial effects brought by the technical scheme provided by the embodiment of the disclosure at least comprise:
in the embodiment of the disclosure, at an encoding end, an intra-frame prediction mode of a current block and a height and a width of the current block are used to determine a transformation check corresponding to the current block, the transformation check is used to encode the current block, the same mode is used at a decoding end to determine the transformation check, and the current block is decoded to obtain reconstruction information corresponding to the current block. In this way, when the height and the width of the current block are within the first preset value and the second preset value, the transformation check is determined based on the intra-frame prediction mode and the height and the width of the current block instead of adopting the fixed transformation check, so that the determined transformation check is more suitable for the current block, and the coding and decoding performance is better.
Drawings
Fig. 1 is a schematic diagram illustrating partition types of a block according to an embodiment of the present disclosure;
fig. 2 is a schematic diagram of a CTU divided into CUs provided by an embodiment of the present disclosure;
FIG. 3 is a schematic diagram of three blocks commonly used provided by embodiments of the present disclosure;
FIG. 4 is a schematic diagram illustrating an exemplary direction of intra prediction according to an embodiment of the present disclosure;
FIG. 5 is a schematic diagram of block-shape based adjustment provided by embodiments of the present disclosure;
fig. 6 is a schematic diagram of encoding according to 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 signal distribution provided by an embodiment of the present disclosure;
fig. 9 is a flowchart illustrating a method for decoding according to an embodiment of the disclosure;
fig. 10 is a flowchart illustrating a method for encoding according to an embodiment of the disclosure;
fig. 11 is a schematic structural diagram of a decoding end for decoding according to an embodiment of the present disclosure;
fig. 12 is a schematic structural diagram of an encoding end for encoding according to an embodiment of the present disclosure;
fig. 13 is a schematic structural diagram of an encoding end provided in an embodiment of the present disclosure;
fig. 14 is a schematic structural diagram of a decoding end according to an embodiment of the present disclosure.
Detailed Description
To make the objects, technical solutions and advantages of the present disclosure more apparent, embodiments of the present disclosure will be described in detail with reference to the accompanying drawings.
To make the objects, technical solutions and advantages of the present disclosure more apparent, embodiments of the present disclosure will be described in detail with reference to the accompanying drawings.
The present disclosure provides a method for encoding and decoding, wherein an execution main body of the method for encoding is an encoding end, and an execution main body of the method for decoding can be a decoding end, wherein the encoding end or the decoding end can be a server, a computer, a mobile phone, and other devices capable of encoding and/or decoding video data.
The encoding end or the decoding end may be provided with a processor, a memory, a transceiver, and the like, the processor may be configured to perform encoding and/or decoding, the memory may be configured to store data required in the encoding and/or decoding process and generated data, and the transceiver may be configured to receive and transmit data, such as to obtain video data.
Before carrying out the implementation, first, a concept that may be involved in the embodiments of the present disclosure is explained:
transform kernel:
in video coding, Transform is an essential stage for realizing video data compression, and can make the energy of a signal more concentrated, and a Transform technique based on DCT (Discrete Cosine Transform)/DST (Discrete Sine Transform) has been a mainstream Transform technique for video coding. DCT and DST are divided into multiple transformation kernels according to different basis functions, and the table I shows the basis functions of five commonly used transformation kernels.
Forward transform (forward transform) and inverse transform (inverse transform):
in the video coding process, the transformation process comprises forward transformation and inverse transformation processes, namely forward transformation and reverse transformation, wherein the forward transformation is to convert a two-dimensional residual signal (residual coefficient) into a two-dimensional frequency spectrum signal (transformation coefficient) with more concentrated energy, and the transformation coefficient can effectively remove high-frequency components and keep medium-low frequency components through the quantization process, thereby playing a role in compression. Expressed in matrix form as formula (1):
F=B·f·A T (1)
where M denotes a residual block width, N denotes a residual block height, F denotes an original residual signal of NxM dimension, and F denotes a frequency domain signal of NxM dimension. A and B represent transform matrices of MxM and NxN dimensions, both of which satisfy orthogonality.
The inverse transformation, also called inverse transformation, is the inverse process of the forward transformation, i.e. the frequency domain signal F is transformed into a time domain residual signal F by orthogonal transformation matrices a and B. Expressed in matrix form as formula (2):
f=B T ·F·A (2)
horizontal transformation (Horizental transform) and Vertical transformation (Vertical transform):
in the transform stage of video coding, a two-dimensional residual signal is input, and X is a · f as shown in equation (3) T If F is equal to B.X T 。
F=B·f·A T =B·(A·f T ) T (3)
Therefore, the forward transformation of a two-dimensional residual signal can be realized by two times of one-dimensional forward transformation, an MxN signal X is obtained after the first forward transformation, and the correlation between the horizontal direction pixels of the two-dimensional residual signal is removed, so that the first forward transformation is called horizontal transformation, and is called a horizontal transformation matrix, and the second forward transformation is called vertical transformation, and is called B a vertical transformation matrix, because the correlation between the vertical direction pixels of the two-dimensional residual signal is removed.
Transform pair (Transform pair):
in the next generation video coding standard, TU (transform Unit) supports matrix blocks, so M is not necessarily equal to N, and therefore the dimensions of a and B are not necessarily equal, and besides, the next generation video coding standard also supports transform matrices that a and B are not produced by the same transform kernel, so that there is a transform kernel { H, V } in the transform composed of transform kernels corresponding to a and B, where H is called a horizontal transform kernel and V is called a vertical transform kernel.
Block partitioning technique (Block partition)
In HEVC (High Efficiency Video Coding), a CTU (Coding Tree Unit) of size 64 × 64 is recursively divided into CUs (Coding units) using quadtrees. It is determined at the leaf node CU level whether intra-coding or inter-coding is used. A CU may be further divided into two or four PUs (Prediction units), and the same Prediction information is used in the same PU. After obtaining the residual signal after the prediction is completed, one CU may be further divided into a plurality of TUs.
However, there is a great change in the block partitioning technique in the newly proposed VVC (universal Video Coding). A mixed binary tree/ternary tree/quadtree (BT/TT/QT) partition structure replaces the original partition mode, cancels the original concept distinction of CU, PU and TU, and supports a more flexible partition mode of CU. The CU can be divided into squares or rectangles, the CTU firstly carries out the division of the quadtree, and then leaf nodes of the quadtree division can further carry out the division of the binary tree and the ternary tree. That is, there are five partition types in total, quadtree partition, horizontal binary tree partition, vertical binary tree partition, horizontal ternary tree partition, and vertical ternary tree partition, as shown in fig. 1, five partition types are represented, and in fig. 1, (a) represents no partition, (b) represents quadtree partition, (c) horizontal binary tree partition, (d) vertical binary tree partition, (e) horizontal ternary tree partition, and (f) vertical ternary tree partition. As shown in fig. 2, an exemplary diagram of the division of CTUs into CUs is provided.
Therefore, based on the above-described division manner, there are generally three shapes of blocks, as shown in fig. 3, (a) denotes a block having a width greater than a height, (b) a block having a width equal to a height, and (c) a block having a width smaller than a height in fig. 3.
Intra-frame prediction:
in the intra-frame prediction, strong spatial correlation exists between adjacent blocks in an image, so that pixels which are reconstructed around can be used as reference pixels to predict a current uncoded block, and only a residual signal (an original signal-a predicted signal) needs to be subjected to subsequent coding processing instead of the original signal, thereby effectively removing redundancy in a spatial domain and greatly improving the compression efficiency of a video signal. In the intra prediction, a denser angle can bring better prediction effect, as shown in fig. 4, a schematic diagram of angular directions when 67 intra prediction modes given by VVC are intra predicted is shown, the number of intra prediction modes is increased from 33 to 65 in HEVC, when the mode number is 0, a Planar mode is shown, when the mode number is 1, a DC mode is shown (the DC mode refers to an average value of prediction pixels of the current block which are all reference pixels), a black solid line represents an angular direction (2,4,6,8, …,64,66) of the original HEVC, a dotted line represents a newly added angular direction (3,5,7,9, 63,65), the denser angular direction can more effectively capture a boundary in any direction in the natural video, rate distortion cost selection can be performed by using more reference information, and thus a more suitable intra prediction mode can be found to more accurately predict the current coding block, the prediction block is closer to the original coding block, and fewer bits need to be transmitted for coding the current block, so that the coding performance is higher. When performing intra prediction coding, these 67 intra modes are applied to coding blocks of all sizes, including luma and chroma components.
In fig. 4, the mode numbers of the intra prediction modes are 2 to 34, and the range of the included angle between the angular direction and the horizontal right direction is: -45 degrees to 45 degrees, the mode number of the intra prediction mode is 35 to 66, and the angle range between the angular direction and the horizontal right direction is as follows: the temperature is-135 to-45 degrees.
In a rectangular plane coordinate system, the horizontal rightward direction is the positive direction of the x axis, and the vertical upward direction is the positive direction of the y axis, so that the angle formed by the ray with the origin as the vertex in the first quadrant and the second quadrant (the direction in which the ray is away from the origin) and the positive direction of the x axis is a positive value, and the angle formed by the ray with the origin as the vertex in the third quadrant and the fourth quadrant (the direction in which the ray is away from the origin) and the positive direction of the x axis is a negative value. For example, the horizontal rightward direction makes an angle of-45 degrees with the axis of symmetry in the fourth quadrant (the direction away from the origin).
Wide-angle (wide-angle) intra prediction:
for rectangular blocks, a wide angle prediction mode based on block shape is introduced to replace some traditional intra prediction modes, and the replaced modes still use the original mode numbers, so that the whole set still has 65 angle modes, but the adjustment can be performed based on different shapes. As shown in fig. 5:
in fig. 5 (a) shows a square block for which the angular direction is rotated from just 45 degrees clockwise to-135 degrees, so no adjustment is required.
In fig. 5 (b) representing blocks with a width greater than the height, adjustments are made to replace the angles in the lower left corner with angles in the upper right corner exceeding-135 degrees.
In fig. 5 (c) representing blocks with a width less than the height, adjustments are made to replace the angles in the upper right corner with angles lower than 45 degrees in the lower left corner.
The specific mapping relationship of the wide-angle prediction mode is shown in table two:
watch two
Width (W) to height (H) ratio | Requiring an alternative intra prediction mode (mode number) |
W/H==16 | |
W/H==8 | |
W/H==4 | |
W/H==2 | |
W/H==1 | None |
W/H==1/2 | |
W/H==1/4 | |
W/H==1/8 | |
W/H==1/16 | |
The disclosed embodiment provides a common coding framework, and as shown in fig. 6, the complete video coding method generally includes the steps of prediction, transformation, quantization, entropy coding, in-loop filtering, and the like. The prediction is specifically divided into intra-frame prediction and inter-frame prediction, and the intra-frame prediction considers that strong spatial correlation exists between adjacent blocks in an image, so that pixels which are reconstructed around can be used as reference pixels to predict a current uncoded block, and only a residual signal (an original signal-a predicted signal) needs to be subjected to subsequent coding processing instead of the original signal, so that redundancy in a spatial domain is effectively removed, and the compression efficiency of a video signal is greatly improved. Inter-frame prediction refers to using the correlation in the video signal time domain to predict the pixels of the current image by using the pixels of the adjacent coded images, so as to achieve the purpose of removing the video time domain redundancy. In the inter-frame prediction module, because the video has strong time-domain correlation, even if two adjacent frames of images in the time domain have many similar image blocks, the image block of the current frame is usually subjected to motion search in the adjacent reference images, and the block most matched with the current block is found out to be used as the reference block. Because the similarity between the reference block and the current block is high and the difference between the reference block and the current block is very small, the code rate overhead for coding the difference is usually much smaller than the code rate overhead brought by directly coding the pixel value of the current block.
In the above transformation process, different transformation pairs are used for the same TU (which may also be referred to as a residual block, a current block, etc.) to compress the residual block, and the compression effects are greatly different. This is determined by the basis functions of the transform kernels themselves, and as shown in fig. 7, the input signal bit is 64 points for three transform kernel basis functions DCT2, DST7, and DCT 8. As can be seen from the zeroth order basis function in the figure, DCT2 has a strong energy concentration effect on uniformly distributed signals, and the formed dc component is a multiple of the mean value of the input signals, DST7 has a strong energy concentration effect on input signals with increasing amplitudes, and DCT8 has a strong energy concentration effect on input signals with decreasing amplitudes.
In order to more intuitively feel the relationship between different transformation kernels and residual characteristics, as shown in fig. 8, 5 different horizontal-vertical transformation kernels represent different types of residual distribution, for { DCT2, DCT2} transformation kernel types, it represents that the residual distribution of TUs is uniform, for { DST7, DST7} transformation kernel types, it represents that the residual distribution of TUs is sequentially larger from left to right and mainly distributed at the lower right corner of TU, similarly, { DCT8, DST7} represents that the residual is mainly distributed at the lower left corner of TU, { DST7, DCT8} represents that the residual is mainly distributed at the upper right corner of TU, and { DCT8, DCT8} represents that the residual is mainly distributed at the upper left corner of 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.
In step 901, the decoding end obtains the encoded data of the current block.
In implementation, when there is encoded data to be decoded, the encoded data may be obtained, then entropy decoding is performed on the encoded data, and inverse quantization processing is performed on the entropy decoding result to obtain a current block corresponding to the encoded data. The current block is actually data that has undergone inverse quantization processing.
In implementation, the decoding end may determine whether the transform mode used by the current block is an implicit multi-core transform mode, and if the transform mode used by the current block is the implicit multi-core transform mode, the decoding end may determine the number of pixels included in the horizontal direction of the current block, that is, the width of the current block, and may determine the number of pixels included in the vertical direction of the current block, that is, the height of the current block, so that the width and the height of the current block, that is, the size information of the current block, may be obtained. And the value of the identification bit can be obtained from the identification bit of the intra-frame prediction mode information in the coded data to obtain the mode number of the intra-frame prediction mode information, so that the intra-frame prediction mode information of the current block can be obtained.
In a possible embodiment of the present disclosure, when the target identifier is included in the encoded data, the size information of the current block and the intra prediction mode information of the current block are determined, and the corresponding processing of step 1002 may be as follows:
and if the target identification is included in the coded data of the current block, determining that the transformation mode of the current block is an implicit multi-core transformation mode.
Wherein, the target identifier is used for indicating that implicit multi-core transformation is enabled, such as 1.
In implementation, as can be known from an encoding end, when the implicit multi-core transform is used, an identification bit indicating whether the implicit multi-core transform is enabled is set as a target identification, and if a decoding end determines whether the identification bit indicating whether the implicit multi-core transform is enabled is the target identification in encoded data, the transform mode of the current block can be determined to be the implicit multi-core transform mode.
The size limitation condition is that the width of the current block is greater than or equal to a preset value, and the height of the current block is greater than or equal to the preset value. The preset value may be preset and stored to the decoding end, and the preset value may be 32. A transform kernel includes a vertical transform kernel and a horizontal transform kernel.
In implementation, the decoding end may determine whether the current block satisfies a size restriction condition, and if the height and the width of the current block do not satisfy the size restriction condition (that is, the height and the width are both less than 32), may obtain a corresponding relationship between preset intra-frame prediction mode information and a transformation check, wherein a transformation check corresponding to the intra-frame prediction mode information of the current block is determined, and the transformation check is determined as the transformation check of the current block.
In a possible embodiment of the present disclosure, a process is further provided in which the height and/or width of the decoding end satisfies the size constraint condition, and the corresponding process may be as follows:
if it is determined that the height of the current block satisfies the size restriction condition and the width of the current block does not satisfy the size restriction condition according to the size information, the DCT2 is determined as a vertical transform kernel among the pair of transform kernels of the current block, and determines a horizontal transform core in the transform core pair corresponding to the intra prediction mode information as a horizontal transform core in the transform core pair of the current block, if it is determined that the width of the current block satisfies the size restriction condition and the height of the current block does not satisfy the size restriction condition according to the size information, the DCT2 is determined as a horizontal transform kernel of the transform kernel pair of the current block, and determines a vertical transform core in the transform core pair corresponding to the intra prediction mode information as a vertical transform core in the transform core pair of the current block, if it is determined that the width and the height of the current block both satisfy the size restriction condition according to the size information, the DCT2 is determined as a horizontal transform kernel and a vertical transform kernel of a transform kernel pair of the current block.
In implementation, the decoding side determines a vertical transform kernel of the current block as DCT2 using the size information if it is determined that the height of the current block is greater than or equal to a preset value but the width is less than the preset value, and determines a horizontal transform kernel of a transform kernel pair corresponding to the intra prediction mode information of the current block as the horizontal transform kernel of the current block using the intra prediction mode information of the current block in the correspondence relationship between the intra prediction mode information and the transform kernels. If it is determined that the width of the current block is greater than or equal to the preset value but the height is less than the preset value, determining the horizontal transform kernel of the current block as the DCT2, and determining a vertical transform kernel of a transform kernel pair corresponding to the intra prediction mode information of the current block as the vertical transform kernel of the current block in the correspondence relationship between the intra prediction mode information and the transform kernel using the intra prediction mode information of the current block. If it is determined that the width and the height of the current block are both greater than or equal to the preset values, the horizontal transform kernel and the vertical transform kernel of the current block are determined as DCT 2.
In implementation, after determining the transform check corresponding to the current block, the transform check may be used to perform inverse transform processing on the data obtained by inverse quantization of the current block to obtain a residual signal corresponding to the current block, and then add the residual signal and the prediction signal to obtain reconstruction information corresponding to the current block.
Thus, the decoding process of the current block is completed. Each current block is processed according to the flow shown in fig. 9, and a whole segment of video data can be decoded.
In one possible implementation manner of the present disclosure, in step 903, there are multiple manners for determining the transform check corresponding to the intra prediction mode information as the transform check of the current block, and several possible implementation manners are given below:
the first method is as follows: the transform checkup of the current block is a first transform checkup if the mode number of the intra prediction mode information of the current block is 1, 33, 35, the transform checkup of the current block is a second transform checkup if the mode number of the intra prediction mode information of the current block is 0, 31, 32, 34, 36, 37, the transform checkup of the current block is a third transform checkup if the mode number of the intra prediction mode information of the current block is an even number of 2, 30, 39, 65, 2 to 30 and an odd number of 39 to 65, and the transform checkup of the current block is a fourth transform checkup if the mode number of the intra prediction mode information of the current block is an odd number of 3, 29, 38, 66, 3 to 29 and an odd number of 38 to 66.
In the implementation, the first mode may be implemented by a table look-up mode or condition judgment, and the mapping relationship is shown in table three, which describes the corresponding relationship between the intra-frame prediction mode information and the transformation check.
Watch III
The second method comprises the following steps: the transform checkup of the current block is a first transform checkup if the mode number of the intra prediction mode information of the current block is 1, a second transform checkup if the mode number of the intra prediction mode information of the current block is 0, 31, 32, 33, 34, 35, 36, 37, a third transform checkup if the mode number of the intra prediction mode information of the current block is an even number of 2, 30, 39, 65, 2 to 30 and an odd number of 39 to 65, and a fourth transform checkup if the mode number of the intra prediction mode information of the current block is an odd number of 3, 29, 38, 66, 3 to 29 and an even number of 38 to 66.
In the implementation, the second mode may be implemented by table lookup or condition determination, and the mapping relationship is shown in table four, which describes the corresponding relationship between the intra-frame prediction mode information and the transformation check.
Watch four
Third, the transform checkup of the current block is a first transform checkup if the mode number of the intra prediction mode information of the current block is 1, the transform checkup of the current block is a second transform checkup if the mode number of the intra prediction mode information of the current block is 0, the transform checkup of the current block is a third transform checkup if the mode number of the intra prediction mode information of the current block is an even number of 2, 34, 35, 65, 2 to 34 and an odd number of 35 to 65, and the transform checkup of the current block is a fourth transform checkup if the mode number of the intra prediction mode information of the current block is an odd number of 3, 33, 36, 66, 3 to 33 and an even number of 36 to 66.
In the implementation, the third mode may be implemented by a table look-up mode or condition judgment, and the mapping relationship is shown in table five, which describes the corresponding relationship between the intra-frame prediction mode information and the transformation check.
Watch five
Fourth, the transform checkup of the current block is a first transform checkup if the mode number of the intra prediction mode information of the current block is 1, a second transform checkup if the mode number of the intra prediction mode information of the current block is an odd number of 0, 3,65, and 3 to 65, a third transform checkup if the mode number of the intra prediction mode information of the current block is an even number of 2, 34, and 2 to 34, and a fourth transform checkup if the mode number of the intra prediction mode information of the current block is an even number of 36, 66, and 36 to 66.
In the implementation, the fourth mode may be implemented by table lookup or conditional determination, and the mapping relationship is shown in table six, which describes the corresponding relationship between the intra-frame prediction mode information and the transformation check.
Watch six
In one possible embodiment of the present disclosure, there may be two various combinations of the first transformation checkup to the fourth transformation checkup, and two possible combinations are given as follows:
the first transformation checkup is (DCT 2), the second transformation checkup is (DST 7), the third transformation checkup is (DST7, DCT2), the fourth transformation checkup is (DCT2, DST 7); alternatively, the first transformation checkup is (DCT 2), the second transformation checkup is (DST 7), the third transformation checkup is (DST7, DCT8), and the fourth transformation checkup is (DCT8, DST 7).
In a possible embodiment of the present disclosure, when determining the transform kernel pair in step 903, the intra prediction mode range is also considered, and the corresponding processing may be as follows:
and if the current block is determined not to satisfy the size limit condition according to the size information and the intra-frame prediction mode information satisfies the intra-frame prediction mode range, determining the transformation check corresponding to the intra-frame prediction mode information as the transformation check of the current block.
The intra-frame prediction mode range can be preset and stored in a decoding end, and the intra-frame prediction mode range comprises intra-frame prediction modes with mode numbers of 0, 1, 31 to 37 (see table seven and table eight); alternatively, the intra prediction mode range includes intra prediction modes having mode numbers 0 and 1 (see table nine); alternatively, the intra prediction mode range includes the mode numbers 0, 1, 3,65 and the odd-numbered intra prediction modes in the middle of 3 to 65 (see table ten).
In an implementation, after acquiring the mode number of the intra prediction mode information from the encoded data, the decoding end may determine whether the intra prediction mode belongs to the intra prediction mode range, and if the intra prediction mode belongs to the intra prediction mode range, the decoding end may directly determine the transform kernel corresponding to the intra prediction mode information as the transform kernel of the current block in the correspondence between the intra prediction mode information and the transform kernel.
In Table seven, if the mode number of the intra prediction mode information of the current block is 0, 33, 35, the transform core of the current block is (DCT2 ). If the mode number of the intra prediction mode information of the current block is 1, 31, 32, 34, 36, 37, the transform core of the current block is (DST7 ).
In Table eight, if the mode number of the intra prediction mode information of the current block is 0, the transform core of the current block is checked as (DCT2 ). If the mode number of the intra prediction mode information of the current block is 1, 31, 32, 33, 34, 35, 36, 37, the transform core of the current block is (DST7 ).
In Table nine, if the mode number of the intra prediction mode information of the current block is 0, the transform core of the current block is checked as (DCT2 ). If the mode number of the intra prediction mode information of the current block is 1, the transform core of the current block is (DST7 ).
In Table ten, if the mode number of the intra prediction mode information of the current block is 0, the transform core of the current block is checked as (DCT2 ). If the mode number of the intra prediction mode information of the current block is an odd number among 1, 3,65, and 3 through 65, the transform core of the current block is (DST7 ).
In one possible embodiment of the present disclosure, if the mode number of the intra prediction mode information of the current block does not belong to the intra prediction mode range, the following processes may be performed:
first, as shown in table seven, the intra prediction mode range includes intra prediction mode information having 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.
When the ratio of the width to the height of the current block is 1 (i.e., W ═ H), the intra prediction mode information having the mode numbers 2,4,6, …, 30, 39, 41, 43, …,65 corresponds to the transform checkup (DST7, DCT2) (the first ellipses indicate even numbers between 6 and 30, and the second ellipses indicate odd numbers between 43 and 65), i.e., the frame transform checkup of the current block is (DST7, DCT 2).
When the ratio of the width to the height of the current block is 1 (i.e., W ═ H), the intra prediction mode information having the mode numbers 3,5,7, …, 29, 38, 40, 42, …,66 corresponds to the transform checkup (DCT2, DST7) (the first ellipses indicate odd numbers between 7 and 29, and the second ellipses indicate even numbers between 42 and 66), i.e., the frame transform checkup of the current block is (DCT2, DST 7).
When the ratio of the width to the height of the current block is greater than 1 (i.e., W > H), the intra prediction mode information having the mode numbers B +1, B +3, …, 30, 3,5, …, B, 39, 41, 43, …,65 corresponds to the transform checkup (DST7, DCT2) (the first ellipses represent even numbers between B +3 and 30, the second ellipses represent odd numbers between 5 and B, and the third ellipses represent odd numbers between 43 and 65), i.e., the frame transform checkup of the current block is (DST7, DCT 2).
When the ratio of the width to the height of the current block is greater than 1 (i.e., W > H), the intra prediction mode information having the mode numbers B +2, B +4, …, 29, 38, 40, …,66, 2,4, …, and (B-1) corresponds to the transform checkup of (DCT2, DST7) (the first ellipses indicate odd numbers between B +4 and 29, the second ellipses indicate even numbers between 40 and 66, and the third ellipses indicate even numbers between 4 and (B-1)), i.e., the frame transform checkup of the current block is (DCT2, DST 7).
When the ratio of the width to the height of the current block is less than 1 (i.e., W < H), the intra prediction mode information having the mode numbers 2,4,6, …, 30, (B +1), (B +3), …,66, 39, 41, …, and (B-2) corresponds to the transform checkup of (DST7, DCT2) (the first ellipses indicate even numbers between 6 and 30, the second ellipses indicate even numbers between (B +3) and 66, and the third ellipses indicate odd numbers between 41 and B-2), i.e., the frame transform checkup of the current block is (DST7, DCT 2).
When the ratio of the width to the height of the current block is less than 1 (i.e., W < H), the intra prediction mode information of the mode numbers 3,5, …, 29, B, B +2, …,65, 38, 40, …, (B-1) corresponds to the transform checkup of (DCT2, DST7) (the first ellipses indicate odd numbers between 5 and 29, the second ellipses indicate odd numbers between (B +2) and 65, and the third ellipses indicate even numbers between 40 and (B-1)), i.e., the frame transform checkup of the current block is (DCT2, DST 7).
Watch seven
Mode two, the intra prediction mode information range includes intra prediction mode information having mode numbers 0, 1, 31 to 37; as shown in table eight, the width of the current block is represented by W, and the height of the current block is represented by H.
When the ratio of the width to the height of the current block is 1 (i.e., W ═ H), the intra prediction mode information having the mode numbers 2,4,6, …, 30, 39, 41, 43, …,65 corresponds to the transform checkup (DST7, DCT2) (the first ellipses indicate even numbers between 6 and 30, and the second ellipses indicate odd numbers between 43 and 65), i.e., the frame transform checkup of the current block is (DST7, DCT 2).
When the ratio of the width to the height of the current block is 1 (i.e., W ═ H), the intra prediction mode information having the mode numbers 3,5,7, …, 29, 38, 40, 42, …,66 corresponds to the transform checkup (DCT2, DST7) (the first ellipses indicate odd numbers between 7 and 29, and the second ellipses indicate even numbers between 42 and 66), i.e., the frame transform checkup of the current block is (DCT2, DST 7).
When the ratio of the width to the height of the current block is greater than 1 (i.e., W > H), the intra prediction mode information having the mode numbers B +1, B +3, …, 30, 3,5, …, B, 39, 41, 43, …,65 corresponds to the transform checkup (DST7, DCT2) (the first ellipses represent even numbers between B +3 and 30, the second ellipses represent odd numbers between 5 and B, and the third ellipses represent odd numbers between 43 and 65), i.e., the frame transform checkup of the current block is (DST7, DCT 2).
When the ratio of the width to the height of the current block is greater than 1 (i.e., W > H), the intra prediction mode information having the mode numbers B +2, B +4, …, 29, 38, 40, …,66, 2,4, …, and (B-1) corresponds to the transform checkup of (DCT2, DST7) (the first ellipses indicate odd numbers between B +4 and 29, the second ellipses indicate even numbers between 40 and 66, and the third ellipses indicate even numbers between 4 and (B-1)), i.e., the frame transform checkup of the current block is (DCT2, DST 7).
When the ratio of the width to the height of the current block is less than 1 (i.e., W < H), the intra prediction mode information having the mode numbers 2,4,6, …, 30, B +1, B +3, …,66, 39, 41, …, and (B-2) corresponds to the transform checkup of (DST7, DCT2) (the first ellipses represent even numbers between 6 and 30, the second ellipses represent even numbers between (B +3) and 66, and the third ellipses represent odd numbers between 41 and (B-2)), i.e., the frame transform checkup of the current block is (DST7, DCT 2).
When the ratio of the width to the height of the current block is less than 1 (i.e., W < H), the intra prediction mode information having the mode numbers 3,5, …, 29, B, (B +2), …,65, 38, 40, …, and (B-1) corresponds to the transform checkup of (DCT2, DST7) (the first ellipses represent odd numbers between 5 and 29, the second ellipses represent odd numbers between (B +2) and 65, and the third ellipses represent even numbers between 40 and (B-1)), i.e., the frame transform checkup of the current block is (DCT2, DST 7).
Table eight
In a third mode, the intra prediction mode information range includes intra prediction mode information having mode numbers 0 and 1, and as shown in table nine, the width of the current block is represented by W and the height of the current block is represented by H.
When the ratio of the width to the height of the current block is 1 (i.e., W ═ H), the transform checkups corresponding to the intra prediction mode information having mode numbers of 2,4,6, …, 34, 35, 37, 39, 41, 43, …,65 are (DST7, DCT2) (the first ellipses indicate even numbers between 6 and 34, and the second ellipses indicate odd numbers between 43 and 65), i.e., the frame transform checkups of the current block are (DST7, DCT 2).
When the ratio of the width to the height of the current block is 1 (i.e., W ═ H), the intra prediction mode information having the mode numbers 3,5,7, …, 33, 36, 38, 40, …,66 corresponds to the transform checkup (DCT2, DST7) (the first ellipses indicate odd numbers between 7 and 33, and the second ellipses indicate even numbers between 40 and 66), i.e., the frame transform checkup of the current block is (DCT2, DST 7).
When the ratio of the width to the height of the current block is greater than 1 (i.e., W > H), the intra prediction mode information having the mode numbers of (B +1), (B +3), …, 34, 3,5, …, B, 35, 37, 39, …,65 corresponds to a transform checkup of (DST7, DCT2) (the first ellipses indicate even numbers between (B +3) to 34, the second ellipses indicate odd numbers between 5 and B, and the third ellipses indicate odd numbers between 39 to 65), i.e., the frame transform checkup of the current block is (DST7, DCT 2).
When the ratio of the width to the height of the current block is greater than 1 (i.e., W > H), the intra prediction mode information having the mode numbers B +2, B +4, …, 33, 2,4, …, (B-1), 36, 38, …,66 corresponds to the transform checkup of (DCT2, DST7) (the first ellipses represent odd numbers between (B +4) to 33, the second ellipses represent even numbers between 4 to (B-1), and the third ellipses represent odd numbers between 38 to 66), i.e., the frame transform checkup of the current block is (DCT2, DST 7).
When the ratio of the width to the height of the current block is less than 1 (i.e., W < H), the intra prediction mode information of mode numbers 2,4,6, …, 34, (B +1), (B +3), …,66, 35, 37, 39, …, (B-2) corresponds to a transform checkup of (DST7, DCT2) (the first ellipses represent even numbers between 6 and 34, the second ellipses represent even numbers between (B +3) and 66, and the third ellipses represent odd numbers between 39 and (B-2)), i.e., the frame transform checkup of the current block is (DST7, DCT 2).
When the ratio of the width to the height of the current block is less than 1 (i.e., W < H), the intra prediction mode information having the mode numbers 3,5, …, 33, B, (B +2), …,65, 36, 38, …, and (B-1) corresponds to the transform checkup of (DCT2, DST7) (the first ellipses represent odd numbers between 5 and 33, the second ellipses represent odd numbers between (B +2) and 65, and the third ellipses represent even numbers between 38 and (B-1)), i.e., the frame transform checkup of the current block is (DCT2, DST 7).
Watch nine
Mode four, the intra prediction mode information range includes intra prediction mode information with mode numbers 0, 1, 3,65 and odd numbers in the middle of 3 to 65; as shown in table ten, the width of the current block is represented by W, and the height of the current block is represented by H.
When the ratio of the width to the height of the current block is 1 (i.e., W ═ H), the transform checksums corresponding to the intra prediction mode information having the mode numbers 2,4,6, …, and 34 are (DST7, DCT2) (the ellipses indicate even numbers between 6 and 34), i.e., the frame transform checksums of the current block are (DST7, DCT 2).
When the ratio of the width to the height of the current block is 1 (i.e., W ═ H), the intra prediction mode information having the mode numbers 36, 38, 40, …,66 corresponds to the transform checkup (DCT2, DST7) (the ellipses indicate even numbers between 40 and 66), i.e., the frame transform checkup of the current block is (DCT2, DST 7).
When the ratio of the width to the height of the current block is greater than 1 (i.e., W > H), the intra prediction mode information having mode numbers B +1, B +3, …, 34 corresponds to a transform checkup (DST7, DCT2) (the ellipses indicate even numbers between (B +3) to 34), i.e., the frame transform checkup of the current block is (DST7, DCT 2).
When the ratio of the width to the height of the current block is greater than 1 (i.e., W > H), the intra prediction mode information having the mode numbers 36, 38, …,66, 2,4, … and (B-1) corresponds to the transform checkup as (DCT2, DST7) (the first ellipses indicate even numbers between 38 and 66, and the second ellipses indicate even numbers between 4 and (B-1), i.e., the frame transform checkup of the current block is (DCT2, DST 7).
When the ratio of the width to the height of the current block is less than 1 (i.e., W < H), the intra prediction mode information of the mode numbers 2,4,6, …, 34, B +1, B +3, …,66 corresponds to a transform checkup of (DST7, DCT2) (the first ellipses indicate even numbers between 6 and 34, and the second ellipses indicate even numbers between (B +3) and 66), i.e., the frame transform checkup of the current block is (DST7, DCT 2).
When the ratio of the width to the height of the current block is less than 1 (i.e., W < H), the intra prediction mode information having the mode numbers 36, 38, … and (B-1) corresponds to the transform checkup (DCT2, DST7) (the ellipses indicate an even number between 38 and (B-1)), i.e., the frame transform checkup of the current block is (DCT2, DST 7).
Watch ten
It should be noted that, in tables seven to ten, the influence of the intra prediction mode information being the wide angle mode is considered, and B of the wide angle mode is determined by the ratio of the width to the height of the current block. In tables seven to ten, when W/H is 2,4,6,8, corresponding B is 7, 11, 13, 15, respectively, and when W/H is 1/2, 1/4, 1/6, 1/8, corresponding B is 61, 57, 55, 53, respectively.
In tables seven to ten, the intra prediction mode information having adjacent mode numbers generally corresponds to different transform coefficients.
Note that, in tables seven to ten above, (DCT2, DST7) may be replaced with (DCT8, DST 7); (DST7, DCT2) may be replaced with (DST7, DCT 8).
Corresponding to the decoding process shown in fig. 9, as shown in fig. 10, the encoding process may be as follows:
In implementation, when an encoding end encodes video data, intra-frame prediction is performed first to obtain a residual block (the method of obtaining the residual block is the same as that in the existing video encoding standard and is not described again), and then the residual block is used as a residual signal of a current block to be currently processed.
In implementation, after acquiring a current block, a coding end needs to perform transformation processing, and may first determine whether to enable implicit multi-core transformation, where the coding end is configured with identifiers of explicit multi-core transformation and implicit multi-core transformation, and the explicit multi-core transformation and the implicit multi-core transformation may only be enabled, that is, the explicit multi-core transformation and the implicit multi-core transformation may not exist at the same time. Wherein, for a current block of MxN, M represents the width of the current block, and N represents the height of the current block. In this way, size information of the current block can be obtained.
The encoding end may determine the intra-frame prediction mode information of the current block, and the process of determining the intra-frame prediction mode information of the current block may be as follows:
after acquiring the current block, the encoding end may determine intra-frame prediction mode information of the current block using an RDO (Rate Distortion Optimization) criterion, which may be as follows:
there are two general indicators for evaluating coding efficiency: code rate and PSNR (Peak Signal to Noise Ratio). Generally, the smaller the bitstream, the larger the compression rate; the larger the PSNR, the better the reconstructed image quality. When the mode is selected, the discriminant formula is essentially a comprehensive evaluation of the two.
Cost corresponding to the mode: j (mode) ═ D + λ R. Wherein D represents Distortion, which is usually measured by using SSE (Sum of square Error, and variance) index, SSE refers to the Sum of mean square of difference between reconstructed block and source image, λ is lagrange multiplier, and R is the actual number of bits required for encoding image block in this mode, including the Sum of bits required for encoding mode information, motion information, residual, and so on.
The encoding end can use each intra-frame prediction mode information to perform intra-frame prediction to obtain different residuals (which can be regarded as current blocks), then a transformation core corresponding to each intra-frame prediction mode information is transformed, then quantization is performed, entropy encoding is performed, then decoding processing is performed, and then the intra-frame prediction mode information with the minimum rate distortion cost is selected to be determined as the intra-frame prediction mode information corresponding to the current blocks. In this way, the intra prediction mode information corresponding to the current block can be determined.
In addition, after obtaining the intra prediction mode information of the current block, a mode number of the intra prediction mode information may be added to subsequent encoded data for processing of the current block.
The process of determining the transformation and matching in step 1003 is completely the same as the process of determining the transformation and matching in step 903 in fig. 9, and is not described herein again.
And 1004, the coding end transforms the residual error signal of the current block according to the transformation check of the current block to obtain a transformation coefficient corresponding to the current block.
In implementation, after obtaining the transform check corresponding to the current block, the encoding end may transform the current block based on the transform check to obtain a transform coefficient, then quantize the transform coefficient to obtain a quantized coefficient, and perform entropy encoding on the quantized coefficient to obtain encoded data corresponding to the current block.
Thus, the encoding process of the current block is completed. Each current block is processed according to the flow shown in fig. 9, i.e. a whole segment of video data can be encoded.
In a possible implementation manner of the present disclosure, in order to enable the decoding end to perform correct decoding, the target identifier may be carried in the encoded data, and the corresponding processing may be as follows:
and adding a target identifier in the coded data of the current block, wherein the target identifier is used for indicating that the implicit multi-core transformation is enabled.
In implementation, when the encoding end encodes using the method of fig. 10, a target identifier may be added to the encoded data, where the target identifier is used to indicate that the implicit multi-core transformation is enabled.
In the embodiment of the disclosure, at an encoding end, intra-frame prediction mode information of a current block and size information of the current block are used to determine a transformation check corresponding to the current block, the current block is encoded by using the transformation check, the transformation check is determined in the same way at a decoding end, and the current block is subjected to inverse transformation to obtain reconstruction information corresponding to the current block. In this way, since the transform collation is determined based on the intra prediction mode information and the size information of the current block, instead of using the fixed transform collation, the determined transform collation is more suitable for the current block, and the encoding and decoding performance is better.
Based on the same technical concept, an embodiment of the present disclosure further provides a decoding end for performing decoding, as shown in fig. 11, the decoding end includes:
an obtaining module 1110 configured to:
acquiring coded data of a current block;
according to the coded data of the current block, when the transformation mode of the current block is determined to be an implicit multi-core transformation mode, acquiring the size information and intra-frame prediction mode information of the current block;
a determining module 1120 for determining a transform check of the current block according to the size information and the intra prediction mode information;
a transform module 1130, configured to perform inverse transform on the inverse quantized data of the current block according to the transform check of the current block;
wherein the determining module 1120 is configured to:
and if the current block is determined not to meet the size limitation condition according to the size information, determining the transformation check corresponding to the intra-frame prediction mode information as the transformation check of the current block, wherein the size limitation condition is that the width of the current block is greater than or equal to a preset value and the height of the current block is greater than or equal to the preset value.
In a possible implementation manner of the present disclosure, the determining module 1120 is further configured to:
if it is determined that the height of the current block satisfies the size restriction condition and the width of the current block does not satisfy the size restriction condition according to the size information, determining the DCT2 as a vertical transformation kernel in a transformation kernel pair of the current block, and determining a horizontal transformation kernel in the transformation kernel pair corresponding to the intra prediction mode information as a horizontal transformation kernel in the transformation kernel pair of the current block;
if it is determined that the width of the current block satisfies the size restriction condition and the height of the current block does not satisfy the size restriction condition according to the size information, determining the DCT2 as a horizontal transformation kernel in a transformation kernel pair of the current block, and determining a vertical transformation kernel in the transformation kernel pair corresponding to the intra prediction mode information as a vertical transformation kernel in the transformation kernel pair of the current block;
and if the width and the height of the current block are determined to meet the size limit condition according to the size information, determining the DCT2 as a horizontal transformation kernel and a vertical transformation kernel in the transformation kernel pair of the current block.
In a possible implementation manner of the present disclosure, the determining module 1120 is further configured to:
and if the coded data of the current block comprises the target identification, determining that the transformation mode of the current block is an implicit multi-core transformation mode.
In a possible implementation manner of the present disclosure, the determining module 1120 is configured to:
and if the current block is determined to not meet the size limitation condition according to the size information and the intra-frame prediction mode information meets the intra-frame prediction mode range, determining the transformation check corresponding to the intra-frame prediction mode information as the transformation check of the current block.
In a possible implementation manner of the present disclosure, the determining module 1120 is further configured to:
and if the current block does not meet the size limiting condition and the intra-frame prediction mode information does not meet the intra-frame prediction mode range according to the size information, determining the transformation check of the current block according to the ratio of the width and the height of the current block and the intra-frame prediction mode information.
In one possible embodiment of the present disclosure, the intra prediction mode range includes intra prediction modes having mode numbers 0, 1, 31 to 37;
or, the intra prediction mode range includes intra prediction modes having mode numbers 0 and 1;
alternatively, the intra prediction mode range includes odd intra prediction modes having mode numbers of 0, 1, 3,65, and in the middle of 3 to 65.
In one possible embodiment of the present disclosure, the intra prediction mode range includes intra prediction mode information having a mode number of 0, 1, 31 to 37;
the determining module 1120 is configured to:
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 of 2,4,6, 30, 39, 41, 43, 65, 6 to 30, and an odd number of 43 to 65, the transform checkup of the current block is (DST7, DCT2), and 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 odd number of 3,5,7, 29, 7 to 29, the transform checkup of the current block is (DCT2, DST 7);
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 (B +1), (B +3), 30, 3,5, B, 39, 41, 43, 65, (even of B +3) to 30, odd of 5 to B, odd of 43 to 65, the transform checkup of the current block is (DST7, DCT2), and 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 B +2, B +4, 29, 38, 40, 66, 2,4, (B-1), odd of B +4 to 29, even between 40 to 66, even of 4 to (B-1), the transform checkup of the current block is (DCT2, DST 7);
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 2,4,6, 30, (B +1), (B +3), 66, 39, 41, (B-2), an even number between 6 and 30, (an even number between B +3) and 66, an odd number between 41 and (B-2), the transform checkup of the current block is (DST7, DCT2), and 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), an odd number between 5 and 29, (an odd number between B +2) and 65, an even number between 40 and (B-1), the transform checkup of the current block is (DCT2, DST 7);
wherein, when the ratio of the width to the height of the current block is 2,4, 8, 16, B is 7, 11, 13, 15, respectively, and when the ratio of the width to the height of the current block is 1/2, 1/4, 1/8, 1/16, B is 61, 57, 55, 53, respectively.
In one possible embodiment of the present disclosure, the intra prediction mode range includes intra prediction mode information having mode numbers 0 and 1;
the determining module 1120 is configured to:
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 2,4,6, 34, 35, 37, 39, 41, 43, 65, 6 to 34, an odd number between 43 to 65, the transform checkup of the current block is (DST7, DCT2), and 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 odd number between 3,5,7, 33, 36, 38, 40, 66, 7 to 33, an even number between 40 to 66, the transform checkup of the current block is (DCT2, DST 7);
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 (B +1), (B +3), 34, 3,5, B, 35, 37, 39, 65, (B +3) to 34 previous even, 5 to B between odd, 39 to 65 between odd, the transform checkup of the current block is (DST7, DCT2), and 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 (B +2), (B +4), 33, 2,4, (B-1), 36, 38, 66, (B +4) to 33 between odd, 4 to (B-1) between even, 38 to 66 between even, the transform checkup of the current block is (DCT2, DST 7);
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 2,4,6, 34, (B +1), (B +3), 66, 35, 37, 39, (B-2), an even number between 6 and 34, (an odd number between B +3) and 66, an odd number between 39 and (B-2), the transform checkup of the current block is (DST7, DCT2), and 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), an odd number between 5 and 33, (an odd number between B +2) and 65, an even number between 38 and (B-1), the transform checkup of the current block is (DCT2, DST 7);
wherein, when the ratio of the width to the height of the current block is 2,4, 8, 16, B is 7, 11, 13, 15, respectively, and when the ratio of the width to the height of the current block is 1/2, 1/4, 1/8, 1/16, B is 61, 57, 55, 53, respectively.
In one possible embodiment of the present disclosure, the intra prediction mode range includes intra prediction mode information having mode numbers of 0, 1, 3,65, and an odd number in the middle of 3 to 65;
the determining module 1120 is configured to:
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 2,4,6, 34, 6 to 34, the transform checkup 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 an even number between 36, 38, 40, 66, 40 to 66, the transform checkup of the current block is (DCT2, DST 7);
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 an even number between (B +1), (B +3), 34, (B +3) to 34, the transform checkup of the current block is (DST7, DCT2), and 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 an even number before 36, 38, 66, 2,4, (B-1), 38 to 66, an even number between 4 to (B-1), the transform checkup of the current block is (DCT2, DST 7);
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 2,4,6, 34, (B +1), (B +3), 66, an even number between 6 to 34, an even number between (B +3) to 66, the transform checkup of the current block is (DST7, DCT2), and 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 36, 38, (B-1), an even number between 38 to (B-1), the transform checkup of the current block is (DCT2, DST 7);
wherein, when the ratio of the width to the height of the current block is 2,4, 8, 16, B is 7, 11, 13, 15, respectively, and when the ratio of the width to the height of the current block is 1/2, 1/4, 1/8, 1/16, B is 61, 57, 55, 53, respectively.
In a possible implementation manner of the present disclosure, the determining module 1120 is configured to:
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 a first transformation 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 a second transform check;
the transform checkup of the current block is a third transform checkup if the mode number of the intra prediction mode information of the current block is an even number of 2, 30, 39, 65, 2 through 30, and an odd number of 39 through 65;
the transform checkup of the current block is a fourth transform checkup if the mode number of the intra prediction mode information of the current block is an odd number of 3, 29, 38, 66, 3 through 29 and an odd number of 38 through 66.
In a possible implementation manner of the present disclosure, the determining module 1120 is configured to:
if the mode number of the intra-frame prediction mode information of the current block is 1, the transformation check of the current block is a first transformation check;
if the mode number of the intra prediction mode information of the current block is 0, 31, 32, 33, 34, 35, 36, 37, the transform checkup of the current block is a second transform checkup;
the transform checkup of the current block is a third transform checkup if a mode number of the intra prediction mode information of the current block is an even number of 2, 30, 39, 65, 2 to 30, and an odd number of 39 to 65;
the transform checkup of the current block is a fourth transform checkup if the mode number of the intra prediction mode information of the current block is an odd number of 3, 29, 38, 66, 3 to 29 and an even number of 38 to 66.
In a possible implementation of the disclosure, the determining module is configured to:
if the mode number of the intra-frame prediction mode information of the current block is 1, the transformation check of the current block is a first transformation check;
if the mode number of the intra-frame prediction mode information of the current block is 0, the transformation check of the current block is a second transformation check;
the transform checkup of the current block is a third transform checkup if the mode number of the intra prediction mode information of the current block is an even number of 2, 34, 35, 65, 2 through 34, and an odd number of 35 through 65;
the transform checkup of the current block is a fourth transform checkup if the mode number of the intra prediction mode information of the current block is odd number of 3, 33, 36, 66, 3 through 33 and even number of 36 through 66.
In a possible implementation manner of the present disclosure, the determining module 1120 is configured to:
if the mode number of the intra-frame prediction mode information of the current block is 1, the transformation check of the current block is a first transformation check;
the transform checkup of the current block is a second transform checkup if the mode number of the intra prediction mode information of the current block is an odd number of 0, 3,65, and 3 to 65;
the transform checkup of the current block is a third transform checkup if the mode number of the intra prediction mode information of the current block is an even number of 2, 34 and 2 to 34;
the transform checkup of the current block is a fourth transform checkup 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.
In one possible embodiment of the present disclosure, the first transformation checkup is (DCT 2), the second transformation checkup is (DST 7), the third transformation checkup is (DST7, DCT2), the fourth transformation checkup is (DCT2, DST 7); or,
the first transform checkup is (DCT 2), the second transform checkup is (DST 7), the third transform checkup is (DST7, DCT8), and the fourth transform checkup is (DCT8, DST 7).
Based on the same technical concept, an embodiment of the present disclosure further provides an encoding end for encoding, as shown in fig. 12, the encoding end includes:
an obtaining module 1210 configured to:
acquiring a residual signal of a current block;
when the transformation mode of the current block is determined to be the implicit multi-core transformation mode, acquiring intra-frame prediction mode information of the current block and size information of the current block;
a determining module 1220 for determining a transform kernel of the current block according to the size information and the intra prediction mode information;
a transforming module 1230, configured to transform the residual signal of the current block according to the transform kernel of the current block, so as to obtain a transform coefficient corresponding to the current block;
wherein the determining module 1220 is configured to:
and if the current block is determined not to meet the size limitation condition according to the size information, determining the transformation check corresponding to the intra-frame prediction mode information as the transformation check of the current block, wherein the size limitation condition is that the width of the current block is greater than or equal to a preset value and the height of the current block is greater than or equal to the preset value.
In a possible implementation manner of the present disclosure, the obtaining module 1210 is further configured to:
adding a target identifier in the coded data of the current block, wherein the target identifier is used for indicating that the transformation mode is an implicit multi-core transformation mode.
In the embodiment of the disclosure, at an encoding end, intra-frame prediction mode information of a current block and size information of the current block are used to determine a transformation check corresponding to the current block, the current block is encoded by using the transformation check, the transformation check is determined in the same way at a decoding end, and the current block is subjected to inverse transformation to obtain reconstruction information corresponding to the current block. In this way, since the transform collation is determined based on the intra prediction mode information and the size information of the current block, instead of using the fixed transform collation, the determined transform collation is more suitable for the current block, and the encoding and decoding performance is better.
It should be noted that: in the decoding end provided in the above embodiment, only the division of the above functional modules is used for illustration when decoding, and in practical applications, the above function distribution may be completed by different functional modules according to needs, that is, the internal structure of the decoding end is divided into different functional modules to complete all or part of the above described functions. In addition, the decoding end and the embodiment of the method for decoding provided by the above embodiments belong to the same concept, and the specific implementation process is detailed in the embodiment of the method and will not be described herein again.
It should be noted that: in the encoding end provided in the above embodiment, only the division of the functional modules is used for illustration when encoding, and in practical applications, the function distribution may be completed by different functional modules according to needs, that is, the internal structure of the encoding end is divided into different functional modules to complete all or part of the functions described above. In addition, the encoding end and the encoding method provided by the above embodiments belong to the same concept, and the specific implementation process is described in the method embodiments, which is not described herein again.
Fig. 13 is a schematic structural diagram of an encoding end according to an embodiment of the present invention, where the encoding end 1300 may generate a relatively large difference due to different configurations or performances, and may include one or more processors (CPUs) 1301 and one or more memories 1302, where the memory 1302 stores at least one instruction, and the at least one instruction is loaded and executed by the processor 1301 to implement the steps of the encoding method.
Fig. 14 is a schematic structural diagram of a decoding end according to an embodiment of the present invention, where the decoding end 1400 may generate a relatively large difference due to different configurations or performances, and may include one or more processors (CPUs) 1401 and one or more memories 1402, where the memory 1402 stores at least one instruction, and the at least one instruction is loaded and executed by the processors 1401 to implement the steps of the decoding method.
The embodiment of the present disclosure further provides a computer-readable storage medium, in which a computer program is stored, and when the computer program is executed by a processor, the method steps for encoding and decoding are implemented.
The embodiment of the present disclosure further provides an encoding end, which includes a processor and a memory, where the memory is used for storing a computer program; the processor is configured to execute the program stored in the memory, so as to implement the above-mentioned method steps for encoding.
The embodiment of the present disclosure further provides a decoding end, which includes a processor and a memory, where the memory is used for storing a computer program; the processor is configured to execute the program stored in the memory, so as to implement the above-mentioned decoding method.
The embodiment of the present disclosure further provides an encoding and decoding system, which includes an encoding end and a decoding end, wherein:
the encoding end is used for encoding processing as described above;
the decoding end is the decoding end for performing the decoding processing.
It will be understood by those skilled in the art that all or part of the steps for implementing the above embodiments may be implemented by hardware, or may be implemented by a program instructing relevant hardware, where the program may be stored in a computer-readable storage medium, and the above-mentioned storage medium may be a read-only memory, a magnetic disk or an optical disk, etc.
The above description is meant to be illustrative of the preferred embodiments of the present disclosure and not to be taken as limiting the disclosure, and any modifications, equivalents, improvements and the like that are within the spirit and scope of the present disclosure are intended to be included therein.
Claims (17)
1. A method of decoding, the method comprising:
acquiring coded data of a current block;
according to the coded data of the current block, when the transformation mode of the current block is determined to be an implicit multi-core transformation mode, acquiring the size information and intra-frame prediction mode information of the current block;
determining a transform kernel of the current block according to the size information and the intra prediction mode information;
according to the transformation check of the current block, carrying out inverse transformation on the data after inverse quantization of the current block;
wherein the determining a transform check of the current block according to the size information and the intra prediction mode information includes:
if the current block is determined not to meet the size limitation condition according to the size information, determining a transformation check corresponding to the intra-frame prediction mode information as the transformation check of the current block, wherein the size limitation condition is that the width of the current block is greater than or equal to a preset value and the height of the current block is greater than or equal to the preset value;
if it is determined that the height of the current block satisfies the size restriction condition and the width of the current block does not satisfy the size restriction condition according to the size information, determining the DCT2 as a vertical transformation kernel in a transformation kernel pair of the current block, and determining a horizontal transformation kernel in the transformation kernel pair corresponding to the intra prediction mode information as a horizontal transformation kernel in the transformation kernel pair of the current block;
if it is determined that the width of the current block satisfies the size restriction condition and the height of the current block does not satisfy the size restriction condition according to the size information, determining the DCT2 as a horizontal transformation kernel in a transformation kernel pair of the current block, and determining a vertical transformation kernel in the transformation kernel pair corresponding to the intra prediction mode information as a vertical transformation kernel in the transformation kernel pair of the current block;
and if the width and the height of the current block are determined to meet the size limit condition according to the size information, determining the DCT2 as a horizontal transformation kernel and a vertical transformation kernel in the transformation kernel pair of the current block.
2. The method of claim 1, wherein before the obtaining the size information and the intra-prediction mode information of the current block when the transform mode of the current block is determined to be the implicit multi-core transform mode according to the encoded data of the current block, the method further comprises:
and if the coded data of the current block comprises the target identification, determining that the transformation mode of the current block is an implicit multi-core transformation mode.
3. The method of claim 1, wherein determining the transform check corresponding to the intra prediction mode information as the transform check of the current block if it is determined that the current block does not satisfy the size restriction condition according to the size information comprises:
and if the current block is determined to not meet the size limitation condition according to the size information and the intra-frame prediction mode information meets the intra-frame prediction mode range, determining the transformation check corresponding to the intra-frame prediction mode information as the transformation check of the current block.
4. The method of claim 3, further comprising:
and if the current block does not meet the size limiting condition and the intra-frame prediction mode information does not meet the intra-frame prediction mode range according to the size information, determining the transformation check of the current block according to the ratio of the width and the height of the current block and the intra-frame prediction mode information.
5. The method according to claim 3 or 4, wherein the intra prediction mode range comprises intra prediction modes with mode numbers 0, 1, 31 to 37;
or, the intra prediction mode range includes intra prediction modes having mode numbers 0 and 1;
alternatively, the intra prediction mode range includes odd intra prediction modes having mode numbers of 0, 1, 3,65, and in the middle of 3 to 65.
6. The method according to claim 4, wherein the intra prediction mode range includes intra prediction mode information having mode numbers of 0, 1, 31 to 37;
the determining a transform check of the current block according to the ratio of the width to the height of the current block and the intra prediction mode information includes:
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 of 2,4,6, 30, 39, 41, 43, 65, 6 to 30, and an odd number of 43 to 65, the transform checkup of the current block is (DST7, DCT2), and 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 odd number of 3,5,7, 29, 7 to 29, the transform checkup of the current block is (DCT2, DST 7);
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 (B +1), (B +3), 30, 3,5, B, 39, 41, 43, 65, (even of B +3) to 30, odd of 5 to B, odd of 43 to 65, the transform checkup of the current block is (DST7, DCT2), and 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 (B +2), (B +4), 29, 38, 40, 66, 2,4, (B-1), (odd of B +4) to 29, even between 40 to 66, even of 4 to (B-1), the transform checkup of the current block is (DCT2, DST 7);
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 2,4,6, 30, (B +1), (B +3), 66, 39, 41, (B-2), an even number between 6 and 30, (an even number between B +3) and 66, an odd number between 41 and (B-2), the transform checkup of the current block is (DST7, DCT2), and 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), an odd number between 5 and 29, (an odd number between B +2) and 65, an even number between 40 and (B-1), the transform checkup of the current block is (DCT2, DST 7);
wherein, when the ratio of the width to the height of the current block is 2,4, 8, 16, B is 7, 11, 13, 15, respectively, and when the ratio of the width to the height of the current block is 1/2, 1/4, 1/8, 1/16, B is 61, 57, 55, 53, respectively.
7. The method according to claim 4, wherein the intra prediction mode range includes intra prediction mode information having mode numbers 0 and 1;
the determining a transform check of the current block according to the ratio of the width to the height of the current block and the intra prediction mode information includes:
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 2,4,6, 34, 35, 37, 39, 41, 43, 65, 6 to 34, an odd number between 43 to 65, the transform checkup of the current block is (DST7, DCT2), and 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 odd number between 3,5,7, 33, 36, 38, 40, 66, 7 to 33, an even number between 40 to 66, the transform checkup of the current block is (DCT2, DST 7);
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 (B +1), (B +3), 34, 3,5, B, 35, 37, 39, 65, (B +3) to 34 previous even, 5 to B between odd, 39 to 65 between odd, the transform checkup of the current block is (DST7, DCT2), and 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 (B +2), (B +4), 33, 2,4, (B-1), 36, 38, 66, (B +4) to 33 between odd, 4 to (B-1) between even, 38 to 66 between even, the transform checkup of the current block is (DCT2, DST 7);
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 2,4,6, 34, (B +1), (B +3), 66, 35, 37, 39, (B-2), an even number between 6 and 34, (an odd number between B +3) and 66, an odd number between 39 and (B-2), the transform checkup of the current block is (DST7, DCT2), and 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), an odd number between 5 and 33, (an odd number between B +2) and 65, an even number between 38 and (B-1), the transform checkup of the current block is (DCT2, DST 7);
wherein, when the ratio of the width to the height of the current block is 2,4, 8, 16, B is 7, 11, 13, 15, respectively, and when the ratio of the width to the height of the current block is 1/2, 1/4, 1/8, 1/16, B is 61, 57, 55, 53, respectively.
8. The method of claim 4, wherein the intra prediction mode range comprises intra prediction mode information with mode numbers of 0, 1, 3,65, and odd numbers in the middle of 3 to 65;
the determining a transform check of the current block according to the ratio of the width to the height of the current block and the intra prediction mode information includes:
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 2,4,6, 34, 6 to 34, the transform checkup 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 an even number between 36, 38, 40, 66, 40 to 66, the transform checkup of the current block is (DCT2, DST 7);
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 an even number between (B +1), (B +3), 34, (B +3) to 34, the transform checkup of the current block is (DST7, DCT2), and 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 an even number between 36, 38, 66, 2,4, (B-1), 38 to 66, 4 to (B-1), the transform checkup of the current block is (DCT2, DST 7);
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 2,4,6, 34, (B +1), (B +3), 66, an even number between 6 to 34, an even number between (B +3) to 66, the transform checkup of the current block is (DST7, DCT2), and 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 36, 38, (B-1), an even number between 38 to (B-1), the transform checkup of the current block is (DCT2, DST 7);
wherein, when the ratio of the width to the height of the current block is 2,4, 8, 16, B is 7, 11, 13, 15, respectively, and when the ratio of the width to the height of the current block is 1/2, 1/4, 1/8, 1/16, B is 61, 57, 55, 53, respectively.
9. The method of claim 1, wherein determining the transform check corresponding to the intra prediction mode information as the transform check for the current block comprises:
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 a first transformation 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 a second transform check;
the transform checkup of the current block is a third transform checkup if the mode number of the intra prediction mode information of the current block is an even number of 2, 30, 39, 65, 2 through 30, and an odd number of 39 through 65;
the transform checkup of the current block is a fourth transform checkup if the mode number of the intra prediction mode information of the current block is an odd number of 3, 29, 38, 66, 3 through 29 and an odd number of 38 through 66.
10. The method of claim 1, wherein determining the transform check corresponding to the intra prediction mode information as the transform check for the current block comprises:
if the mode number of the intra-frame prediction mode information of the current block is 1, the transformation check of the current block is a first transformation check;
if the mode number of the intra prediction mode information of the current block is 0, 31, 32, 33, 34, 35, 36, 37, the transform check of the current block is a second transform check;
the transform checkup of the current block is a third transform checkup if the mode number of the intra prediction mode information of the current block is an even number of 2, 30, 39, 65, 2 through 30, and an odd number of 39 through 65;
the transform checkup of the current block is a fourth transform checkup if the mode number of the intra prediction mode information of the current block is odd number of 3, 29, 38, 66, 3 through 29 and even number of 38 through 66.
11. The method of claim 1, wherein determining the transform check corresponding to the intra prediction mode information as the transform check for the current block comprises:
if the mode number of the intra-frame prediction mode information of the current block is 1, the transformation check of the current block is a first transformation check;
if the mode number of the intra-frame prediction mode information of the current block is 0, the transformation check of the current block is a second transformation check;
the transform checkup of the current block is a third transform checkup if the mode number of the intra prediction mode information of the current block is an even number of 2, 34, 35, 65, 2 through 34, and an odd number of 35 through 65;
the transform checkup of the current block is a fourth transform checkup if the mode number of the intra prediction mode information of the current block is an odd number of 3, 33, 36, 66, 3 to 33 and an even number of 36 to 66.
12. The method of claim 1, wherein determining the transform check corresponding to the intra prediction mode information as the transform check for the current block comprises:
if the mode number of the intra-frame prediction mode information of the current block is 1, the transformation check of the current block is a first transformation check;
the transform checkup of the current block is a second transform checkup if the mode number of the intra prediction mode information of the current block is an odd number of 0, 3,65, and 3 to 65;
the transform checkup of the current block is a third transform checkup if the mode number of the intra prediction mode information of the current block is an even number of 2, 34 and 2 to 34;
the transform checkup of the current block is a fourth transform checkup 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.
13. The method of any of claims 9 to 12, wherein the first transform check is (DCT 2), the second transform check is (DST 7), the third transform check is (DST7, DCT2), and the fourth transform check is (DCT2, DST 7); or,
the first transform checkup is (DCT 2), the second transform checkup is (DST 7), the third transform checkup is (DST7, DCT8), and the fourth transform checkup is (DCT8, DST 7).
14. A method of encoding, the method comprising:
acquiring a residual signal of a current block;
when the transformation mode of the current block is determined to be an implicit multi-core transformation mode, obtaining intra-frame prediction mode information of the current block and size information of the current block;
determining a transform kernel of the current block according to the size information and the intra prediction mode information;
transforming the residual signal of the current block according to the transformation check of the current block to obtain a transformation coefficient corresponding to the current block;
wherein the determining a transform check of the current block according to the size information and the intra prediction mode information includes:
if the current block is determined not to meet the size limitation condition according to the size information, determining a transformation check corresponding to the intra-frame prediction mode information as the transformation check of the current block, wherein the size limitation condition is that the width of the current block is greater than or equal to a preset value and the height of the current block is greater than or equal to the preset value;
if it is determined that the height of the current block satisfies the size restriction condition and the width of the current block does not satisfy the size restriction condition according to the size information, determining the DCT2 as a vertical transformation kernel in a transformation kernel pair of the current block, and determining a horizontal transformation kernel in the transformation kernel pair corresponding to the intra prediction mode information as a horizontal transformation kernel in the transformation kernel pair of the current block;
if the width of the current block is determined to meet the size limit condition and the height of the current block is determined not to meet the size limit condition according to the size information, determining DCT2 as a horizontal transformation core in a transformation core pair of the current block, and determining a vertical transformation core in the transformation core pair corresponding to the intra-frame prediction mode information as a vertical transformation core in the transformation core pair of the current block;
and if the width and the height of the current block are determined to meet the size limit condition according to the size information, determining the DCT2 as a horizontal transformation kernel and a vertical transformation kernel in the transformation kernel pair of the current block.
15. The method of claim 14, further comprising:
adding a target identifier in the coded data of the current block, wherein the target identifier is used for indicating that the transformation mode is an implicit multi-core transformation mode.
16. A decoding end for decoding, the decoding end comprising:
an acquisition module to:
acquiring coded data of a current block;
according to the coded data of the current block, when the transformation mode of the current block is determined to be an implicit multi-core transformation mode, acquiring the size information and intra-frame prediction mode information of the current block;
a determining module for determining a transform check of the current block according to the size information and the intra prediction mode information;
the transformation module is used for carrying out inverse transformation on the data after the inverse quantization of the current block according to the transformation check of the current block;
wherein the determining module is configured to:
if the current block is determined not to meet the size limitation condition according to the size information, determining a transformation check corresponding to the intra-frame prediction mode information as the transformation check of the current block, wherein the size limitation condition is that the width of the current block is greater than or equal to a preset value and the height of the current block is greater than or equal to the preset value;
if it is determined that the height of the current block satisfies the size restriction condition and the width of the current block does not satisfy the size restriction condition according to the size information, determining the DCT2 as a vertical transformation kernel in a transformation kernel pair of the current block, and determining a horizontal transformation kernel in the transformation kernel pair corresponding to the intra prediction mode information as a horizontal transformation kernel in the transformation kernel pair of the current block;
if it is determined that the width of the current block satisfies the size restriction condition and the height of the current block does not satisfy the size restriction condition according to the size information, determining the DCT2 as a horizontal transformation kernel in a transformation kernel pair of the current block, and determining a vertical transformation kernel in the transformation kernel pair corresponding to the intra prediction mode information as a vertical transformation kernel in the transformation kernel pair of the current block;
and if the width and the height of the current block are determined to meet the size limit condition according to the size information, determining the DCT2 as a horizontal transformation kernel and a vertical transformation kernel in the transformation kernel pair of the current block.
17. An encoding end for encoding, the encoding end comprising:
an acquisition module to:
acquiring a residual error signal of a current block;
when the transformation mode of the current block is determined to be the implicit multi-core transformation mode, acquiring intra-frame prediction mode information of the current block and size information of the current block;
a determining module for determining a transform check of the current block according to the size information and the intra prediction mode information;
the transformation module is used for transforming the residual signal of the current block according to the transformation check of the current block to obtain a transformation coefficient corresponding to the current block;
wherein the determining module is configured to:
if the current block is determined not to meet the size limitation condition according to the size information, determining a transformation check corresponding to the intra-frame prediction mode information as the transformation check of the current block, wherein the size limitation condition is that the width of the current block is greater than or equal to a preset value and the height of the current block is greater than or equal to the preset value;
if it is determined that the height of the current block satisfies the size restriction condition and the width of the current block does not satisfy the size restriction condition according to the size information, determining the DCT2 as a vertical transformation kernel in a transformation kernel pair of the current block, and determining a horizontal transformation kernel in the transformation kernel pair corresponding to the intra prediction mode information as a horizontal transformation kernel in the transformation kernel pair of the current block;
if it is determined that the width of the current block satisfies the size restriction condition and the height of the current block does not satisfy the size restriction condition according to the size information, determining the DCT2 as a horizontal transformation kernel in a transformation kernel pair of the current block, and determining a vertical transformation kernel in the transformation kernel pair corresponding to the intra prediction mode information as a vertical transformation kernel in the transformation kernel pair of the current block;
and if the width and the height of the current block are determined to meet the size limit condition according to the size information, determining the DCT2 as a horizontal transformation kernel and a vertical transformation kernel in the transformation kernel pair of the current block.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910177527.4A CN111669579B (en) | 2019-03-09 | 2019-03-09 | Method, encoding end, decoding end and system for encoding and decoding |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910177527.4A CN111669579B (en) | 2019-03-09 | 2019-03-09 | Method, encoding end, decoding end and system for encoding and decoding |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111669579A CN111669579A (en) | 2020-09-15 |
CN111669579B true CN111669579B (en) | 2022-09-16 |
Family
ID=72382042
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910177527.4A Active CN111669579B (en) | 2019-03-09 | 2019-03-09 | Method, encoding end, decoding end and system for encoding and decoding |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111669579B (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113129395B (en) * | 2021-05-08 | 2021-09-10 | 深圳市数存科技有限公司 | Data compression encryption system |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105791867A (en) * | 2016-03-23 | 2016-07-20 | 北京大学 | Optimized video data coding method based on boundary adaptive transform |
CN109076226A (en) * | 2016-05-13 | 2018-12-21 | 索尼公司 | Image processing apparatus and method |
CN109089117A (en) * | 2017-05-11 | 2018-12-25 | 联发科技股份有限公司 | The method and device of coding or decoding video data |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050265445A1 (en) * | 2004-06-01 | 2005-12-01 | Jun Xin | Transcoding videos based on different transformation kernels |
KR20100095992A (en) * | 2009-02-23 | 2010-09-01 | 한국과학기술원 | Method for encoding partitioned block in video encoding, method for decoding partitioned block in video decoding and recording medium implementing the same |
US8885701B2 (en) * | 2010-09-08 | 2014-11-11 | Samsung Electronics Co., Ltd. | Low complexity transform coding using adaptive DCT/DST for intra-prediction |
US10616581B2 (en) * | 2012-01-19 | 2020-04-07 | Huawei Technologies Co., Ltd. | Modified coding for a transform skipped block for CABAC in HEVC |
KR20180101711A (en) * | 2016-02-04 | 2018-09-13 | 삼성전자주식회사 | Method and apparatus for video decoding by chroma multiple conversion, video coding method and apparatus by chroma multiple conversion |
EP4106333A1 (en) * | 2016-02-12 | 2022-12-21 | Samsung Electronics Co., Ltd. | Image encoding method and apparatus, and image decoding method and apparatus |
CN113411578B (en) * | 2016-05-13 | 2024-04-12 | 夏普株式会社 | Image decoding device and method, image encoding device and method |
US10855997B2 (en) * | 2017-04-14 | 2020-12-01 | Mediatek Inc. | Secondary transform kernel size selection |
-
2019
- 2019-03-09 CN CN201910177527.4A patent/CN111669579B/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105791867A (en) * | 2016-03-23 | 2016-07-20 | 北京大学 | Optimized video data coding method based on boundary adaptive transform |
CN109076226A (en) * | 2016-05-13 | 2018-12-21 | 索尼公司 | Image processing apparatus and method |
CN109089117A (en) * | 2017-05-11 | 2018-12-25 | 联发科技股份有限公司 | The method and device of coding or decoding video data |
Also Published As
Publication number | Publication date |
---|---|
CN111669579A (en) | 2020-09-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110392256B (en) | Method, encoding end, decoding end and system for encoding and decoding | |
CN110708550B (en) | Method for encoding and decoding, decoding device and encoding device | |
CN111385584B (en) | Method, device and system for encoding and decoding | |
CN111988618B (en) | Decoding and encoding method, decoding end and encoding end | |
CN111669579B (en) | Method, encoding end, decoding end and system for encoding and decoding |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |