WO2020182102A1 - 进行编码和解码的方法、解码端和编码端 - Google Patents

进行编码和解码的方法、解码端和编码端 Download PDF

Info

Publication number
WO2020182102A1
WO2020182102A1 PCT/CN2020/078486 CN2020078486W WO2020182102A1 WO 2020182102 A1 WO2020182102 A1 WO 2020182102A1 CN 2020078486 W CN2020078486 W CN 2020078486W WO 2020182102 A1 WO2020182102 A1 WO 2020182102A1
Authority
WO
WIPO (PCT)
Prior art keywords
current block
check
transformation
index
transformation check
Prior art date
Application number
PCT/CN2020/078486
Other languages
English (en)
French (fr)
Inventor
曹小强
陈方栋
王莉
Original Assignee
杭州海康威视数字技术股份有限公司
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 杭州海康威视数字技术股份有限公司 filed Critical 杭州海康威视数字技术股份有限公司
Priority to MX2021010615A priority Critical patent/MX2021010615A/es
Priority to SG11202109129UA priority patent/SG11202109129UA/en
Priority to US17/432,887 priority patent/US20220070458A1/en
Priority to KR1020217026567A priority patent/KR20210113389A/ko
Priority to JP2021549391A priority patent/JP7286783B2/ja
Priority to EP20769784.8A priority patent/EP3913917B1/en
Priority to CA3131035A priority patent/CA3131035C/en
Publication of WO2020182102A1 publication Critical patent/WO2020182102A1/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/12Selection 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/103Selection of coding mode or of prediction mode
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods 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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods 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/17Methods 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/176Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/625Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using discrete cosine transform [DCT]

Definitions

  • the present disclosure relates to the field of audio and video technologies, and in particular to a method for encoding and decoding, a decoding end and an encoding end.
  • General coding processing includes: intra-frame prediction (or inter-frame prediction), transformation, quantization, entropy coding, and in-loop filtering.
  • the residual block (which can be called a TU (Transmission Unit, transformation unit), which can be called the residual signal of the current block) is obtained through intra-frame prediction, and the TU is transformed (the transformation refers to The image described in the form of pixels in the spatial domain is converted to the transform domain and expressed in the form of transform coefficients) to obtain transform coefficients.
  • the transform coefficients are quantized and entropy coded to obtain the coded data.
  • a certain preset transformation check is usually selected (the transformation check is a transformation check composed of a horizontal transformation core and a vertical transformation core), and the TU is transformed to obtain the transformation coefficient.
  • the preset transformation check used during encoding is also selected, and the TU is inversely transformed to obtain the residual signal.
  • the embodiments of the present disclosure provide a method for encoding and decoding, a decoding end and an encoding end.
  • the technical solution is as follows:
  • a decoding method includes:
  • a transformation check corresponding to the current block is determined, wherein the transformation check includes a horizontal transformation core and a vertical transformation core.
  • the binarization codeword corresponding to the conversion check index includes a plurality of bits, and among the plurality of bits, other bits except the first bit are At least one of the bits is encoded using bypass binary arithmetic decoding.
  • the determining the transformation check corresponding to the current block according to the transformation check index includes:
  • a transformation check corresponding to the current block is determined.
  • a method for encoding includes:
  • the conversion check index is coded and added to the coding of the current block Data.
  • the method of performing adaptive binary arithmetic coding based on a context model on the first bit of the binarized codeword corresponding to the transformation check index is performed on the
  • the transformation and verification of the encoding of the index and adding it to the encoded data of the current block includes:
  • the binarized codeword corresponding to the transformation check index includes multiple bits, then adaptive binary arithmetic coding is performed on the first bit based on a context model, and the first bit is divided by the first bit. At least one of the other bits except one bit is encoded by the bypass binary arithmetic coding method;
  • the encoded transformation check index is added to the encoded data.
  • the determining the transformation check corresponding to the current block and the transformation check index corresponding to the current block includes:
  • a decoding method includes:
  • a transformation check corresponding to the current block is determined, wherein the transformation check includes a horizontal transformation core and a vertical transformation core.
  • the first bit of the transformation check index is adaptive binary arithmetic decoding based on a context model.
  • the determining the transformation check corresponding to the current block according to the transformation check index includes:
  • a transformation check corresponding to the current block is determined, wherein the transformation check includes a horizontal transformation core and a vertical transformation core.
  • a method for encoding includes:
  • the binarization codeword corresponding to the conversion check index includes multiple bits, use a side-by-side method for at least one of the multiple bits except the first bit.
  • the binary arithmetic coding mode of the channel is coded and added to the coded data of the current block.
  • the method further includes:
  • the determining the transformation check corresponding to the current block and the transformation check index corresponding to the current block includes:
  • a decoding method includes:
  • the transformation check wherein the transformation check includes a horizontal transformation kernel and a vertical transformation kernel.
  • the determining the transform check corresponding to the current block according to the intra prediction mode of the current block and the transform check index includes:
  • the transform check index is the first index, and the mode number of the intra prediction mode of the current block is less than or equal to a preset value, determining that the transform check corresponding to the current block is the first transform check;
  • the transform check index is the first index, and the mode number of the intra prediction mode of the current block is greater than a preset value, determining that the transform check corresponding to the current block is the second transform check;
  • the transform check index is a second index, and the mode number of the intra prediction mode of the current block is less than or equal to a preset value, determining that the transform check corresponding to the current block is the second transform check;
  • the transformation check index is the second index and the mode number of the intra prediction mode of the current block is greater than the preset value, it is determined that the transformation check corresponding to the current block is the first transformation check.
  • the determining the transformation check corresponding to the current block according to the shape information of the current block and the transformation check index includes:
  • the transformation check index is the first index, and the shape information of the current block meets a preset shape restriction condition, determining that the transformation check corresponding to the current block is the first transformation check;
  • the transformation check index is the first index, and the shape information of the current block does not meet the preset shape restriction condition, determining that the transformation check corresponding to the current block is the second transformation check;
  • transformation check index is a second index
  • shape information of the current block meets a preset shape restriction condition, determining that the transformation check corresponding to the current block is the second transformation check
  • the transformation check index is the second index, and the shape information of the current block does not satisfy the preset shape restriction condition, it is determined that the transformation check corresponding to the current block is the first transformation check.
  • the first bit of the binarized codeword corresponding to the transform check index is adaptive binary arithmetic decoding based on a context model.
  • the binarization codeword corresponding to the transformation check index includes a plurality of bits, and among the plurality of bits except the first bit, At least one bit is encoded using bypass binary arithmetic decoding.
  • a method for encoding includes:
  • the transformation check index is encoded and added to the encoded data of the current block.
  • the determining the transform check index corresponding to the current block according to the intra prediction mode of the current block and the transform check corresponding to the current block includes:
  • the transformation check is a first transformation check, and the mode number of the intra prediction mode of the current block is less than or equal to a preset value, determining that the transformation check index corresponding to the current block is the first index;
  • the transform check is a second transform check, and the mode number of the intra prediction mode of the current block is greater than a preset value, determining that the transform check index corresponding to the current block is the first index;
  • the transformation check is a second transformation check, and the mode number of the intra prediction mode of the current block is less than or equal to a preset value, determining that the transformation check index corresponding to the current block is the second index;
  • the transformation check is a first transformation check and the mode number of the intra prediction mode of the current block is greater than a preset value, it is determined that the transformation check index corresponding to the current block is the second index.
  • the determining the transformation check index corresponding to the current block according to the shape information of the current block and the transformation check corresponding to the current block includes:
  • the transformation check is a first transformation check, and the shape information of the current block meets a preset shape restriction condition, determining that the transformation check index corresponding to the current block is the first index;
  • the transformation check is a second transformation check, and the shape information of the current block does not meet a preset shape restriction condition, determining that the transformation check index corresponding to the current block is the first index;
  • transformation check is a second transformation check, and the shape information of the current block meets a preset shape restriction condition, determining that the transformation check index corresponding to the current block is the second index;
  • the transformation check is a first transformation check, and the shape information of the current block does not satisfy a preset shape restriction condition, it is determined that the transformation check index corresponding to the current block is a second index.
  • the encoding process on the transformation check index includes:
  • Encoding is performed in a manner of performing adaptive binary arithmetic coding based on a context model on the first bit of the binarized codeword corresponding to the conversion check index.
  • the encoding process on the transformation check index includes:
  • the binarization codeword corresponding to the conversion check index includes multiple bits, bypassing is adopted for at least one of the multiple bits except the first bit.
  • Binary arithmetic coding method for coding is adopted.
  • a decoding end for decoding includes:
  • the determining module is configured to determine the transformation check corresponding to the current block according to the transformation check index, wherein the transformation check includes a horizontal transformation core and a vertical transformation core.
  • the binarization codeword corresponding to the conversion check index includes a plurality of bits, and among the plurality of bits, other bits except the first bit are At least one of the bits is encoded using bypass binary arithmetic decoding.
  • the determining module is configured to:
  • a transformation check corresponding to the current block is determined.
  • an encoding end for encoding includes:
  • a determining module configured to determine the transformation check corresponding to the current block and the transformation check index corresponding to the current block
  • the encoding process is used for encoding the transformation verification index based on a context model based on the first bit of the binarized codeword corresponding to the transformation verification index and adding it to all In the coded data of the current block.
  • the encoding module is used to:
  • the binarized codeword corresponding to the transformation check index includes multiple bits, then adaptive binary arithmetic coding is performed on the first bit based on a context model, and the first bit is divided by the first bit. At least one of the other bits except one bit is encoded by the bypass binary arithmetic coding method;
  • the encoded transformation check index is added to the encoded data.
  • the determining module is configured to:
  • a decoding end for decoding includes:
  • the determining module is configured to determine the transformation check corresponding to the current block according to the transformation check index, wherein the transformation check includes a horizontal transformation core and a vertical transformation core.
  • the first bit of the transformation check index is adaptive binary arithmetic decoding based on a context model.
  • the determining module is configured to:
  • a transformation check corresponding to the current block is determined, wherein the transformation check includes a horizontal transformation core and a vertical transformation core.
  • an encoding end for encoding includes:
  • a determining module configured to determine the transformation check corresponding to the current block and the transformation check index corresponding to the current block
  • Encoding module configured to: if the binarization codeword corresponding to the conversion check index includes multiple bits, then at least one bit among the multiple bits except the first bit Bits are coded using a bypass binary arithmetic coding method and added to the coded data of the current block.
  • the encoding module is further used for:
  • the determining module is configured to:
  • a decoding end for decoding includes:
  • the determining module is configured to determine the transform check corresponding to the current block according to the intra prediction mode of the current block and the transform check index, or determine according to the shape information of the current block and the transform check index
  • the transformation check corresponding to the current block, wherein the transformation check includes a horizontal transformation kernel and a vertical transformation kernel.
  • the determining module is configured to:
  • the transform check index is the first index, and the mode number of the intra prediction mode of the current block is less than or equal to a preset value, determining that the transform check corresponding to the current block is the first transform check;
  • the transform check index is the first index, and the mode number of the intra prediction mode of the current block is greater than a preset value, determining that the transform check corresponding to the current block is the second transform check;
  • the transformation check index is the second index, and the mode number of the intra prediction mode of the current block is less than or equal to a preset value, determining that the transformation check corresponding to the current block is the second transformation check;
  • the transformation check index is the second index and the mode number of the intra prediction mode of the current block is greater than the preset value, it is determined that the transformation check corresponding to the current block is the first transformation check.
  • the determining module is configured to:
  • the transformation check index is the first index, and the shape information of the current block meets a preset shape restriction condition, determining that the transformation check corresponding to the current block is the first transformation check;
  • the transformation check index is the first index, and the shape information of the current block does not meet the preset shape restriction condition, determining that the transformation check corresponding to the current block is the second transformation check;
  • transformation check index is a second index
  • shape information of the current block meets a preset shape restriction condition, determining that the transformation check corresponding to the current block is the second transformation check
  • the transformation check index is the second index, and the shape information of the current block does not satisfy the preset shape restriction condition, it is determined that the transformation check corresponding to the current block is the first transformation check.
  • the first bit of the binarized codeword corresponding to the transform check index is adaptive binary arithmetic decoding based on a context model.
  • the binarization codeword corresponding to the transformation check index includes a plurality of bits, and among the plurality of bits except the first bit, At least one bit is encoded using bypass binary arithmetic decoding.
  • an encoding end for encoding includes:
  • An acquiring module configured to acquire the intra prediction mode of the current block, the transformation check corresponding to the current block, or the shape information of the current block and the transformation check corresponding to the current block;
  • the determining module is configured to determine the transform check index corresponding to the current block according to the intra prediction mode of the current block and the transform check corresponding to the current block, or according to the shape information of the current block and the current The transformation check corresponding to the block, determining the transformation check index corresponding to the current block;
  • the coding module is used to perform coding processing on the transformation check index and add it to the coding data of the current block.
  • the determining module is configured to:
  • the transformation check is a first transformation check, and the mode number of the intra prediction mode of the current block is less than or equal to a preset value, determining that the transformation check index corresponding to the current block is the first index;
  • the transform check is a second transform check, and the mode number of the intra prediction mode of the current block is greater than a preset value, determining that the transform check index corresponding to the current block is the first index;
  • the transformation check is a second transformation check, and the mode number of the intra prediction mode of the current block is less than or equal to a preset value, determining that the transformation check index corresponding to the current block is the second index;
  • the transformation check is a first transformation check and the mode number of the intra prediction mode of the current block is greater than a preset value, it is determined that the transformation check index corresponding to the current block is the second index.
  • the determining module is configured to:
  • the transformation check is a first transformation check, and the shape information of the current block meets a preset shape restriction condition, determining that the transformation check index corresponding to the current block is the first index;
  • the transformation check is a second transformation check, and the shape information of the current block does not meet a preset shape restriction condition, determining that the transformation check index corresponding to the current block is the first index;
  • transformation check is a second transformation check, and the shape information of the current block meets a preset shape restriction condition, determining that the transformation check index corresponding to the current block is the second index;
  • the transformation check is a first transformation check, and the shape information of the current block does not satisfy a preset shape restriction condition, it is determined that the transformation check index corresponding to the current block is a second index.
  • the encoding module is used to:
  • Encoding is performed in a manner of performing adaptive binary arithmetic coding based on a context model on the first bit of the binarized codeword corresponding to the conversion check index.
  • the encoding module is used to:
  • the binarization codeword corresponding to the conversion check index includes multiple bits, use a side-by-side method for at least one of the multiple bits except the first bit.
  • the way of binary arithmetic coding is used for coding.
  • a decoding end for decoding including a processor and a memory, wherein the memory is used to store computer programs; the processor is used to execute the programs stored in the memory, The method steps described in any one of the foregoing first aspect, third aspect, and fifth aspect are implemented.
  • an encoding terminal for encoding includes: a processor and a memory, wherein the memory is used for storing a computer program; the processor is used for executing the memory
  • the program stored above implements the method steps of any aspect of the second aspect, the fourth aspect, and the sixth aspect.
  • a computer-readable storage medium in which a computer program is stored in the storage medium, and the computer program, when executed by a processor, implements the method in any one of the first to sixth aspects above step.
  • a system for encoding and decoding includes an encoding end and a decoding end, wherein:
  • the encoding end is the encoding end described in the eighth aspect; the decoding end is the decoding end described in the seventh aspect; or,
  • the encoding end is the encoding end described in the tenth aspect; the decoding end is the decoding end described in the ninth aspect; or,
  • the encoding end is the encoding end described in the twelfth aspect; the decoding end is the decoding end described in the eleventh aspect.
  • the encoding end when encoding the current block, can obtain the transformation check corresponding to the current block and perform encoding processing instead of directly obtaining the preset transformation check, so the encoding and decoding performance can be improved.
  • the encoding end encoding transformation check index corresponding to the binarization codeword
  • use a context model to encode the first bit in the binarization codeword corresponding to the transformation check index, without requiring multiple context models, so you can Save memory space.
  • multiple context models since multiple context models are not required, there is no need to update the context, which can reduce the complexity of encoding and decoding.
  • FIG. 1 is a schematic diagram of a block division type provided by an embodiment of the present disclosure
  • FIG. 2 is a schematic diagram of a CTU divided into CU according to an embodiment of the present disclosure
  • Figure 3 is a schematic diagram of three commonly used blocks provided by an embodiment of the present disclosure.
  • FIG. 4 is a schematic diagram of directions when performing intra prediction according to an embodiment of the present disclosure.
  • Figure 5 is a schematic diagram of encoding provided by an embodiment of the present disclosure.
  • FIG. 6 is a schematic diagram of a distributed signal provided by an embodiment of the present disclosure.
  • FIG. 7 is a schematic diagram of a residual signal distribution provided by an embodiment of the present disclosure.
  • FIG. 8 is a schematic flowchart of a method for encoding provided by an embodiment of the present disclosure.
  • FIG. 9 is a schematic flowchart of a decoding method provided by an embodiment of the present disclosure.
  • FIG. 10 is a schematic flowchart of a method for encoding according to an embodiment of the present disclosure.
  • FIG. 11 is a schematic flowchart of a decoding method provided by an embodiment of the present disclosure.
  • FIG. 12 is a schematic flowchart of a method for encoding according to an embodiment of the present disclosure.
  • FIG. 13 is a schematic flowchart of a decoding method provided by an embodiment of the present disclosure.
  • Figure 14 is a schematic structural diagram of a decoding end provided by an embodiment of the present disclosure.
  • FIG. 15 is a schematic structural diagram of an encoding end provided by an embodiment of the present disclosure.
  • FIG. 16 is a schematic structural diagram of a decoding end provided by an embodiment of the present disclosure.
  • FIG. 17 is a schematic structural diagram of an encoding end provided by an embodiment of the present disclosure.
  • FIG. 18 is a schematic structural diagram of a decoding end provided by an embodiment of the present disclosure.
  • FIG. 19 is a schematic structural diagram of an encoding end provided by an embodiment of the present disclosure.
  • 20 is a schematic structural diagram of an encoding end provided by an embodiment of the present disclosure.
  • FIG. 21 is a schematic structural diagram of a decoding end provided by an embodiment of the present disclosure.
  • the present disclosure provides a method for encoding and decoding.
  • the execution subject of the encoding method is the encoding end, and the execution subject of the decoding method may be the decoding end, where the encoding end or the decoding end may be a server, a computer, A device that can encode and/or decode video data such as a mobile phone.
  • the encoding end or the decoding end may be provided with a processor, a memory, a transceiver, etc.
  • the processor may be used to perform encoding and/or decoding processing
  • the memory may be used to store data required in the encoding and/or decoding process
  • the transceiver can be used to receive and send data, such as obtaining video data.
  • transformation is an indispensable stage to achieve video data compression, which can make the energy of the signal more concentrated, and based on DCT (Discrete Cosine Transform, Discrete Cosine Transform)/DST (Discrete Sine Transform, Discrete Sine Transform) transformation Technology has always been the mainstream transformation technology of video coding.
  • DCT and DST are divided into multiple transformation cores according to different basis functions. Table 1 shows the basis functions of three commonly used transformation cores.
  • the transformation process includes forward transformation and inverse transformation, also called forward transformation and inverse transformation.
  • the forward transformation is the conversion of a two-dimensional residual signal (residual coefficient) into a more concentrated energy.
  • Dimensional frequency spectrum signal (transform coefficient) the transform coefficient can effectively remove the high frequency components after the quantization process, and retain the middle and low frequency components, which has the effect of compression. Expressed in matrix form as formula (1):
  • M represents the width of the residual block
  • N represents the height of the residual block
  • f represents the original residual signal of NxM dimensions
  • F represents the frequency domain signal of NxM dimensions.
  • a and B represent MxM and NxN-dimensional transformation matrices, both of which satisfy orthogonality.
  • Inverse transformation also known as inverse transformation, is the inverse process of forward transformation, that is, the frequency domain signal F is converted into the time domain residual signal f through orthogonal transformation matrices A and B. Expressed in matrix form as formula (2):
  • the positive transformation of a two-dimensional residual signal can be realized by two one-dimensional forward transformations.
  • an MxN signal X is obtained, which removes the correlation between the horizontal pixels of the two-dimensional residual signal. Therefore, the first positive transformation is called horizontal transformation, and A is called horizontal transformation matrix.
  • the second positive transformation removes the correlation between pixels in the vertical direction of the two-dimensional residual signal. Therefore, the second positive transformation is called Vertical transformation, call B the vertical transformation matrix.
  • next-generation video coding standard In the next-generation video coding standard, TU (Transmission Unit) supports rectangular blocks, so M is not necessarily equal to N, so the dimensions of A and B are not necessarily equal. In addition, the next-generation video coding standard also supports A And B is not the transformation matrix produced by the same kind of transformation core, so there is a transformation check ⁇ H,V ⁇ composed of the transformation kernels corresponding to A and B in the transformation, where H is called the horizontal transformation kernel and V is called the vertical transformation kernel.
  • Block Partition Technology (Block Partition)
  • a 64x64 size CTU (Coding Tree Unit) is recursively divided into CU (Coding Unit, coding unit) using a quadtree.
  • CU Coding Unit, coding unit
  • the CU can be further divided into two or four PUs (Prediction Unit, prediction unit), and the same prediction information is used in the same PU.
  • a CU can be further divided into multiple TUs.
  • VVC Very Video Coding
  • a mixed binary/ternary/quaternary) tree (BT/TT/QT) partition structure replaces the original partition mode, and cancels the distinction between the original concepts of CU, PU, and TU , Which supports a more flexible way of dividing CU.
  • the CU can be divided into a square or a rectangle.
  • the CTU first divides the quad tree, and then the leaf nodes of the quad tree can be further divided into the binary tree and the ternary tree.
  • blocks usually have three shapes, as shown in Figure 3.
  • Figure 3 (a) represents a block with a width greater than a height, (b) a block with a width equal to a height, and (c) a width less than a height Block.
  • Intra-frame prediction takes into account that there is a strong spatial correlation between adjacent blocks in the image, so the surrounding pixels that have been reconstructed can be used as reference pixels to predict the current uncoded block, so only the residual signal ( The original signal-predicted signal) performs subsequent encoding processing instead of encoding the original signal, which effectively removes the redundancy in the spatial domain and greatly improves the compression efficiency of the video signal.
  • denser angles can bring better prediction results.
  • Figure 4 shows a schematic diagram of the angle directions of the 67 intra-frame prediction modes given by VVC for intra-frame prediction.
  • the number of intra prediction modes has been increased from 33 to 65 in HEVC. When the mode number is 0, it means Planar mode.
  • the mode number is 1
  • DC mode means that the prediction pixels of the current block are all reference The average value of pixels
  • the black solid line represents the original HEVC angular direction (2,4,6,8,...,64,66)
  • the dashed line is the newly added angular direction (3,5,7,9,..., 63,65)
  • more dense angle directions can capture the boundaries of any direction in natural video more effectively, and more reference information can be used for rate-distortion cost selection, so that more suitable intra-frame prediction modes can be found to be more accurate
  • the current block is predicted to make the prediction block closer to the original block, and fewer bits need to be transmitted to encode the current block, resulting in higher coding performance.
  • these 67 intra-frame modes are applied to coding blocks of all sizes, including luminance and chrominance components.
  • the mode number of the intra prediction mode is 2 to 34
  • the angle range between the angle direction and the horizontal right direction is: -45 degrees to 45 degrees
  • the mode number of the intra prediction mode is 35 to 66
  • the angle The range of the angle between the direction and the horizontal right direction is: -135 degrees to -45 degrees.
  • the horizontal right direction is the positive direction of the x-axis
  • the vertical upward direction is the positive direction of the y-axis.
  • the rays with the origin as the vertex in the first quadrant and the second quadrant
  • the angle formed by (the direction of the ray away from the origin) and the positive direction of the x-axis is a positive value
  • the third and fourth quadrants are the ray with the origin as the vertex (the direction of the ray away from the origin) and the positive direction of the x-axis.
  • the included angle is negative.
  • the angle between the horizontal right direction and the axis of symmetry in the fourth quadrant (the direction away from the origin) is -45 degrees.
  • a complete video coding method generally includes prediction, transformation, quantization, entropy coding, and in-loop filtering.
  • prediction is divided into intra-frame prediction and inter-frame prediction.
  • Intra-frame prediction takes into account the strong spatial correlation between adjacent blocks in the image, so the surrounding pixels that have been reconstructed can be used as reference pixels for the current
  • the coding block is predicted, so it only needs to perform subsequent coding processing on the residual signal (original signal-predicted signal) instead of coding the original signal, which effectively removes the redundancy in the spatial domain and greatly improves the compression efficiency of the video signal.
  • Inter-frame prediction refers to the use of the correlation in the time domain of the video signal to predict the pixels of the current image using adjacent coded image pixels to achieve the purpose of removing video temporal redundancy.
  • the image block of the current frame is often searched in the adjacent reference image to find the The block with the most matching block is used as the reference block. Since the reference block has a high similarity to the current block, and the difference between the two is very small, the code rate overhead of encoding the difference is usually much smaller than the code rate overhead caused by directly encoding the pixel value of the current block.
  • ⁇ DCT2,DCT2 ⁇ transform core types they represent The residual distribution of TU is uniform.
  • ⁇ DST7, DST7 ⁇ transformation kernel type it represents that the residual distribution of TU increases from left to right and from top to bottom, mainly distributed in the lower right corner of TU, similarly , ⁇ DCT8,DST7 ⁇ represents the residuals are mainly distributed in the lower left corner of the TU, ⁇ DST7,DCT8 ⁇ represents the residuals are mainly distributed in the upper right corner of the TU, ⁇ DCT8,DCT8 ⁇ represents the residuals are mainly distributed in the upper left corner of the TU.
  • Context model refers to the process of updating symbol probability based on context in video coding, which is called context model.
  • the embodiment of the present disclosure provides a method for encoding, and the execution process of the method may be as shown in FIG. 8.
  • Step 801 The encoding terminal obtains the residual signal of the current block.
  • the encoding end when the encoding end encodes the video data, it first performs intra-frame prediction to obtain the residual signal (the method of obtaining the residual block is consistent with the existing video coding standard, and will not be repeated), and then the residual The signal is used as the residual signal of the current block to be processed.
  • the way to select the intra prediction mode can be as follows:
  • code rate and PSNR (Peak Signal to Noise Ratio, peak signal-to-noise ratio).
  • PSNR Peak Signal to Noise Ratio, peak signal-to-noise ratio
  • D Distortion
  • SSE Standard of Squares Error, and variance index.
  • SSE refers to the sum of squared differences between the reconstructed block and the source image
  • is the Lagrangian multiplier
  • R It is the actual number of bits required for image block coding in the intra-frame prediction mode, including the sum of bits required for coding mode information, motion information, residual signals, etc.
  • the encoding end can obtain the explicit multi-core transform syntax table. As shown in Table 2, as long as one intra prediction mode is selected, each transform check in Table 2 is selected for transformation processing, then quantization, then entropy coding, and then Perform decoding processing, so that each intra-frame prediction mode is traversed, and then the intra-frame prediction mode with the least rate-distortion cost is selected and the transformation check is performed, and the intra-frame prediction mode is determined as the intra-frame prediction mode corresponding to the current block. In this way, the intra prediction mode and transformation check corresponding to the current block can be determined. For example, there are 67 intra prediction modes, one with 5 transformation checks, so there will be 67*5 combinations. Each combination includes one intra prediction mode and one transformation check. The one with the least rate-distortion cost is selected. Combination for final intra prediction and transformation.
  • Table 2 can also be using DCT4 instead of DCT8, DST4 instead of DST7, or using other transform cores instead of DCT8 and DST7.
  • the transformation check (DCT8, DCT8) can be deleted, that is, the RDO decision of (DCT8, DCT8) is not performed.
  • the above combination will change from 67*5 becomes 67*4, which reduces the number of RDO decisions and therefore shortens the coding time.
  • the bit bits of the binary codeword corresponding to the transformation check index will also be reduced from 4 to 3, which can also reduce the bit overhead of coding.
  • Table 3 can also be to use DCT2 to replace DCT8, or to use DCT2 to replace DCT8 under certain preset shape constraints.
  • the transformation check (DST7, DCT8) can be deleted. That is, the RDO decision-making of (DST7, DCT8) is not performed. In this way, the above-mentioned combination will be changed from 67*4 to 67*3, which reduces the number of RDO decisions and therefore shortens the coding time. Moreover, due to the lack of transformation checks (DCT8, DCT8) and (DST7, DCT8), the bits of the binary codeword corresponding to the transformation check index will also be reduced from 3 to 2, which can also reduce the bit overhead of encoding.
  • the transformation check (DCT8, DST7) can be deleted. That is, the RDO decision of (DCT8, DST7) is not performed. In this way, the above-mentioned combinations will be changed from 67*4 to 67*3, which reduces the number of RDO decisions and therefore shortens the coding time.
  • the bit bits of the binary codeword corresponding to the transformation check index will also be reduced from 3 to 2, which can also reduce the bit overhead of encoding.
  • the transformation check (DCT8, DCT8), (DCT8, DST7), (DST7, DCT8) can be deleted. That is, the RDO decision-making of (DCT8, DCT8), (DCT8, DST7), (DST7, DCT8) is not performed, so the above-mentioned combination will be changed from 67*4 to 67*2, reducing the number of RDO decisions. Therefore, the coding time is shortened.
  • Table 4 and Table 5 may also use DCT2 instead of DCT8, or use DCT2 instead of DCT8 under certain preset shape constraints.
  • the first bit of the binarized codeword corresponding to the conversion pair index is used to distinguish the current block using the conversion check corresponding to the conversion check index 1, or the conversion check index 2-5.
  • the conversion check corresponding to index 3 is still the conversion check corresponding to the conversion check index 4-5;
  • the fourth bit of encoding is to distinguish the current block using the conversion check corresponding to the conversion check index 4, or the conversion corresponding to the conversion check index 5 Check.
  • the first bit it means the conversion check of (DCT2, DCT2) is used. If the first bit is 1, the second bit is 0, it means the conversion check of (DST7, DST7) is used. ; If the first bit is 1, the second bit is 1, and the third bit is 0, it means using (DCT8, DST7) transformation check; if the first bit is 1, the second bit The bit is 1, the third bit is 1, and the fourth bit is 0, indicating the use of (DST7, DCT8) conversion check; if the first bit is 1, the second bit is 1, and the third The ones bit is 1, and the fourth bit is 1, indicating that the conversion check of (DCT8, DCT8) is used.
  • the first bit of the binary codeword corresponding to the conversion pair index is used to distinguish the current block using the conversion check corresponding to the conversion check index 1, or the conversion check index 2-4 Corresponding transformation check; encoding the second bit is to distinguish the current block using the transformation check corresponding to the transformation check index 2 or the transformation check corresponding to the transformation check index 3-4; encoding the third bit is to distinguish the current block use
  • the transformation check corresponding to index 3 is changed to the transformation check corresponding to index 4.
  • the first bit is 0, it means that the conversion check of (DCT2, DCT2) is used; if the first bit is 1, and the second bit is 0, it means that the conversion check of (DST7, DST7) is used ; If the first bit is 1, the second bit is 1, and the third bit is 0, it means using (DCT8, DST7) transformation check; if the first bit is 1, the second bit The bit is 1, and the third bit is 1, indicating the use of (DST7, DCT8) conversion check.
  • the first bit of the binarization codeword corresponding to the conversion pair index is used to distinguish the current block using the conversion check corresponding to the conversion check index 1, or the conversion check index 2-3.
  • Corresponding transformation check encoding the second bit is to distinguish the current block using the transformation check corresponding to the transformation check index 2 or the transformation check corresponding to the transformation check index 3. That is, if the first bit is 0, it means that the conversion check of (DCT2, DCT2) is used; if the first bit is 1, and the second bit is 0, it means that the conversion check of (DST7, DST7) is used ; If the first bit is 1, and the second bit is 1, it means that the conversion check of (DCT8, DST7) is used.
  • the first bit of the binary codeword corresponding to the conversion pair index is used to distinguish the current block using the conversion check corresponding to the conversion check index 1, or the conversion check index 2-3.
  • Corresponding transformation check; encoding the second bit is to distinguish the current block using the transformation check corresponding to the transformation check index 2 or the transformation check corresponding to the transformation check index 3. That is, if the first bit is 0, it means that the conversion check of (DCT2, DCT2) is used; if the first bit is 1, and the second bit is 0, it means that the conversion check of (DST7, DST7) is used ; If the first bit is 1, and the second bit is 1, it means that the conversion check of (DST7, DCT8) is used.
  • the first bit of the binarized codeword corresponding to the conversion pair index is used to distinguish the current block using the conversion check corresponding to the conversion check index 1 or the conversion check index 2 corresponding to the current block.
  • Change check That is, if the first bit is 0, it means that the conversion check of (DCT2, DCT2) is used, and if the first bit is 1, it means that the conversion check of (DST7, DST7) is used.
  • step 802 the encoding terminal determines the transformation check corresponding to the current block and the transformation check index corresponding to the current block.
  • the transformation check includes a vertical transformation core and a horizontal transformation core.
  • the encoding end can obtain the final selected transformation check, and then select the transformation check index corresponding to the transformation check from the corresponding relationship between the transformation check and the transformation check index described in any one of Table 2 to Table 6.
  • step 802 the following judgments may also be made:
  • the encoding end determines that the height and width of the current block are both smaller than or equal to the preset threshold, and the current block is a brightness block.
  • the preset threshold can be preset and stored in the encoding end.
  • the preset threshold is generally N (N may be 32).
  • the encoding end can determine the number of pixels in the height direction of the current block, that is, the height of the current block, and determine the number of pixels in the width direction of the current block, that is the current block after performing step 801. The width of the block. And it can be judged whether the current block is a brightness block, and if the current block is a brightness block, and the height and width of the current block are both less than or equal to the preset threshold, the processing of step 802 is executed.
  • the intra prediction mode or the shape information of the current block may also be used to determine the transform check index, as shown below:
  • Manner 1 The encoding end determines the transform check corresponding to the current block, and determines the transform check index corresponding to the current block according to the intra prediction mode and transform check of the current block.
  • the encoder can determine the transformation check and the intra prediction mode of the current block in the aforementioned manner, and then obtain the preset syntax table of explicit multi-core transformation check, in which the intra prediction mode is used Check with the transformation to determine the transformation check index corresponding to the current block.
  • the following method may be used to determine the transformation check index using the intra prediction mode, and the corresponding processing may be as follows:
  • the transformation check is the first transformation check, and the mode number of the intra prediction mode of the current block is less than or equal to the preset value, then it is determined that the transformation check index corresponding to the current block is the first index. If the transformation check is the second transformation check, And the mode number of the intra prediction mode of the current block is greater than the preset value, it is determined that the transform check index corresponding to the current block is the first index, if the transform check is the second transform check, and the mode number of the intra prediction mode of the current block If it is less than or equal to the preset value, it is determined that the transform check index corresponding to the current block is the second index. If the transform check is the first transform check and the mode number of the intra prediction mode of the current block is greater than the preset value, the current block is determined The corresponding transformation check index is the second index.
  • the first transform check in Table 7 is (DST7, DCT8), the mode number of the intra prediction mode is less than or equal to the preset value (the preset value is 34), and the transform check index can be determined to be 3, then the corresponding binarization There are 3 bits of the codeword, which are 1, 1, 0 in sequence.
  • the second transformation check is (DCT8, DST7), the mode number of the intra prediction mode is greater than 34, and the corresponding transformation check index can be determined to be 3, then the corresponding binary codeword has 3 bits, which are 1, in order. 1, 0.
  • the second transform check is (DCT8, DST7), the mode number of the intra prediction mode is less than or equal to 34, and the corresponding transform check index can be determined to be 4, then the corresponding binary codeword has 4 bits, followed by 1, 1, 1, 0.
  • the first transform check is (DST7, DCT8), the mode number of the intra prediction mode is greater than 34, and the transform check index can be determined to be 4, then the corresponding binary codeword has 4 bits, which are 1, 1, 1, 0.
  • the condition that is met at the time of the process is: the determined transformation check is not (DCT2, DCT2), (DST7, DST7), (DCT8, DCT8) ) Any one of them.
  • DCT8 means: when the mode number of the intra prediction mode is 0 to 34, the horizontal transform core is DST7, otherwise the horizontal transform core is DCT8.
  • the conversion check index is 4
  • Mode 0 ⁇ 34? DST7: DCT8 means: when the mode number of the intra prediction mode is 0 to 34, the vertical transform core is DST7, otherwise the vertical transform core is DCT8.
  • Manner 2 The encoding end determines the transformation check corresponding to the current block, and determines the transformation check index corresponding to the current block according to the shape information and the transformation check of the current block.
  • the encoding end can determine the transformation check and the shape information of the current block in the manner mentioned above, and then obtain the preset syntax table of explicit multi-core transformation check.
  • the transformation check and the current block s shape information are used.
  • the shape information determines the transformation check index corresponding to the current block.
  • the process of determining the transformation check index by referring to the shape information of the current block may be as follows:
  • the transformation check is the first transformation check, and the shape information of the current block meets the preset shape restriction condition, it is determined that the transformation check index corresponding to the current block is the first index. If the transformation check is the second transformation check, and the shape information of the current block does not satisfy the preset shape restriction condition, it is determined that the transformation check index corresponding to the current block is the first index. If the transformation check is the second transformation check, and the shape information of the current block meets the preset shape restriction condition, it is determined that the transformation check index corresponding to the current block is the second index. If the transformation check is the first transformation check, and the shape information of the current block does not satisfy the preset shape restriction condition, it is determined that the transformation check index corresponding to the current block is the second index.
  • the preset shape restriction condition can be preset and stored in the encoding end, and the preset shape restriction condition is that the width is greater than or equal to the height.
  • the first transformation check in Table 8 is (DST7, DCT8), the shape information of the current block is that the width is greater than or equal to the height, and the transformation check index can be determined to be 3, then the corresponding binary codeword has 3 bits, The order is 1, 1, 0.
  • the second transformation check is (DCT8, DST7), the shape information of the current block is that the width is less than the height, and the corresponding transformation check index can be determined to be 3, then the corresponding binary codeword has 3 bits, which are 1, in order. 1, 0.
  • the second transformation check is (DCT8, DST7), the shape information of the current block is that the width is greater than or equal to the height, and the corresponding transformation check index can be determined to be 4, then the corresponding binary codeword has 4 bits, followed by 1, 1, 1, 0.
  • the first transformation check is (DST7, DCT8), the shape information of the current block is that the width is less than the height, and the transformation check index can be determined to be 4, then the corresponding binary codeword has 4 bits, which are 1, 1, 0.
  • the shape information of the current block is that the width is greater than or equal to the height, and the first transformation check is (DST7, DCT8), the first index is 3; the shape information of the current block is that the width is less than the height, and the second The transformation check is (DCT8, DST7), the first index is 3; the shape information of the current block is that the width is less than the height, the first transformation check is (DST7, DCT8), the second index is 4, and the shape information of the current block is that the width is greater than Or equal to height, the second transformation check is (DCT8, DST7), and the second index is 4.
  • the condition that is met when performing the second method is: the determined transformation check is not (DCT2, DCT2), (DST7, DST7), (DCT8, Any of DCT8).
  • Mode represents the mode number
  • W represents the width
  • H represents the height
  • the encoder can first determine whether the height and width of the current block are both less than or equal to N (N can be 32), and determine whether it is a brightness block, if the height and width of the current block are both less than or It is equal to N and is a brightness block, then step 801 can be continued. If at least one of the height and width is less than or equal to N and the brightness block is not satisfied, then directly obtain the preset transformation check (ie (DCT2, DCT2) ).
  • N can be 32
  • step 801 can be continued. If at least one of the height and width is less than or equal to N and the brightness block is not satisfied, then directly obtain the preset transformation check (ie (DCT2, DCT2) ).
  • step 803 the encoding end performs encoding processing on the residual signal of the current block according to the transformation check, to obtain encoded data corresponding to the current block.
  • the encoding end can transform the residual signal of the current block based on the transform check to obtain transform coefficients, and then quantize the transform coefficients to obtain quantized coefficients.
  • the coefficient is subjected to entropy coding processing to obtain the coded data corresponding to the current block.
  • Step 804 The encoding end performs adaptive binary arithmetic coding based on a context model based on the first bit of the binarized codeword corresponding to the conversion check index, and encodes the conversion check index and adds it to the coded data of the current block. in.
  • a transformation check index in order for the decoder to know the transformation check used by the encoder, a transformation check index must be added to the encoded data.
  • the encoding end can perform adaptive binary arithmetic coding based on a context model on the first bit of the binarized codeword corresponding to the transformation check index. If the binarized codeword also includes other bits, for these other bits, CABAC (Context-based Adaptive Binary Arithmetic Coding, context-based adaptive binary arithmetic coding) can be used for coding, or a bypass binary arithmetic coding method can be used for coding. Then the encoding end adds the encoded transformation check index to the encoded data of the current block.
  • CABAC Context-based Adaptive Binary Arithmetic Coding, context-based adaptive binary arithmetic coding
  • Each current block is processed in accordance with the process shown in FIG. 8 to encode a whole segment of video data.
  • a bypass binary arithmetic coding method may be used for encoding, and the corresponding processing may be as follows:
  • the binary codeword corresponding to the transformation check index includes multiple bits
  • the first bit is subjected to adaptive binary arithmetic coding based on a context model, and the multiple bits except for the first bit
  • At least one of the other bits is encoded by the bypass binary arithmetic coding method, and the encoded transformation check index is added to the encoded data of the current block.
  • the first bit when the binarized codeword corresponding to the transformation check index includes multiple bits, the first bit can be adaptively encoded based on a context model, and the first bit can be divided into multiple bits. At least one of the other bits except one bit is encoded by the bypass binary arithmetic coding method, and then the encoded transformation check index is added to the encoded data of the current block.
  • the transformation check used is (DCT8, DCT8), which corresponds to 4 bits, which are 1, 1, 1, and 1.
  • DCT8 DCT8
  • 3 Bits are encoded using bypass binary arithmetic coding. In this way, there is no need to store the context model of the next few bits, so memory space can be saved and the complexity of encoding and decoding can be reduced.
  • a target identifier can be added to the encoded data, and the target identifier is used to indicate that the explicit multi-core transformation method is used.
  • the processing flow may be as follows:
  • Step 901 The decoding end obtains the encoded data of the current block.
  • the encoded data when the decoding end has encoded data to be decoded, the encoded data can be obtained, and then the encoded data can be subjected to entropy decoding processing, and the entropy decoding result can be dequantized to obtain the encoded data of the current block.
  • step 902 the decoding end obtains the transformation check index of the current block from the encoded data, where the first bit of the binarized codeword corresponding to the transformation check index is adaptive binary arithmetic decoding based on a context model.
  • the decoding end can obtain the transformation check index corresponding to the current block from the encoded data of the current block.
  • the first binary codeword corresponding to the transformation check index Bits are adaptive binary arithmetic coding based on a context model. In this way, when decoding the first bit, the decoding end also performs adaptive binary arithmetic decoding based on a context model.
  • step 902 the following judgments may also be made:
  • the decoding end determines that the height and width of the current block are both smaller than or equal to the preset threshold, and the current block is a brightness block.
  • the preset threshold can be preset and stored in the decoding end.
  • the preset threshold is generally N (N may be 32).
  • the decoder when the decoder finishes step 901, it can determine the number of pixels in the height direction of the current block, which is the height of the current block, and determine the number of pixels in the width direction of the current block, which is the current block. The width of the block. And the decoding end can determine whether the current block is a brightness block, and if the current block is a brightness block, and the height and width of the current block are both less than or equal to the preset threshold, the processing of step 902 is executed.
  • step 902 it can also be determined whether the encoded data carries a target identifier, and the target identifier is used to indicate that an explicit multi-core transformation process is performed. If the target identifier is included in the encoded data, it indicates that explicit multi-core transformation processing is used, and the processing of step 902 can be performed.
  • Step 903 The decoding end determines a transformation check corresponding to the current block according to the transformation check index, where the transformation check includes a horizontal transformation core and a vertical transformation core.
  • the decoding end may determine the transform check corresponding to the current block in the correspondence relationship between the transform check index and the transform check.
  • Step 904 the decoding end performs decoding processing on the current block according to the transformation check, and obtains reconstruction information corresponding to the current block.
  • the decoder after the decoder determines the transform check corresponding to the current block, it can use the transform check to perform inverse transform processing on the dequantized data of the current block to obtain the residual signal corresponding to the current block, and then convert the residual signal Add the prediction signal to obtain the reconstruction information corresponding to the current block.
  • each current block is processed in accordance with the process shown in Figure 9, and then a whole segment of video data can be decoded.
  • step 903 there are multiple ways to determine the transformation check of the current block, and multiple feasible ways are given below:
  • Method 1 As shown in Table 2, the transform core index is 1, which means that the transform check used is (DCT2, DCT2), the transform core index is 2, which means the transform check used is (DST7, DST7), and the transform core index is 3. ,
  • the transform check used is (DCT8, DST7), the transform core index is 4, the transform check used is (DST7, DCT8), the transform core index is 5, and the transform check used is (DCT8, DCT8).
  • the intra mode information of the current block or the shape information of the current block may also be used to determine the transformation check, and the corresponding processing may be as follows:
  • the decoding end determines the transform check corresponding to the current block according to the intra prediction mode and the transform check index of the current block; or,
  • the decoding end determines the transformation check corresponding to the current block according to the transformation check index and the width and height of the current block.
  • the transform check index is the first index, and the mode number of the intra prediction mode of the current block is less than or equal to the preset value, it is determined that the transform check corresponding to the current block is the first transform core, and if the transform check index is The first index, and the mode number of the intra prediction mode of the current block is greater than the preset value, it is determined that the transform check corresponding to the current block is the second transform core. If the transform check index is the second index, and the intra prediction of the current block is If the mode number of the mode is less than or equal to the preset value, it is determined that the transform check corresponding to the current block is the second transform core. If the transform check index is the second index, and the mode number of the intra prediction mode of the current block is greater than the preset value, It is determined that the transform check corresponding to the current block is the first transform core.
  • the transformation check index is the first index, and the shape information of the current block meets the preset shape restriction condition, it is determined that the transformation check corresponding to the current block is the first transformation check. If the transformation check index is the first index, and the current block If the shape information of the current block does not meet the preset shape restriction condition, it is determined that the transformation check corresponding to the current block is the second transformation check. If the transformation check index is the second index, and the shape information of the current block meets the preset shape restriction condition, it is determined that the current block The transformation check corresponding to the block is the second transformation check. If the transformation check index is the second index and the shape information of the current block does not meet the preset shape restriction condition, the transformation check corresponding to the current block is determined to be the first transformation check. (This process can correspond to the process of step 803, which will not be repeated here)
  • the aforementioned preset value may be 34 in Table 7, the first index may be 3, the first transformation check may be (DST7, DCT8), the second index may be 4, and the second transformation check may be (DCT8, DST7).
  • the encoding end when the encoding end encodes the binarization codeword corresponding to the transformation check index, if the binarization codeword corresponding to the transformation check index includes multiple One bit, at least one of the multiple bits except the first bit is encoded by the bypass binary arithmetic coding method. In this way, if a certain bit is encoded by the bypass binary arithmetic coding method, there is no need to store the context model, so memory space can be saved.
  • the decoder when decoding, the decoder also uses the corresponding method to decode.
  • the encoding end when encoding the current block, can obtain the transformation check corresponding to the current block and perform encoding processing instead of directly obtaining the preset transformation check, so the encoding and decoding performance can be improved.
  • the encoding end encoding transformation check index corresponding to the binarization codeword
  • use a context model to encode the first bit in the binarization codeword corresponding to the transformation check index, without requiring multiple context models, so you can Save memory space.
  • multiple context models since multiple context models are not required, there is no need to update the context, which can reduce the complexity of encoding and decoding.
  • Step 1001 The encoding terminal obtains the residual signal of the current block.
  • the encoding end when the encoding end encodes the video data, it first performs intra-frame prediction to obtain the residual signal (the method of obtaining the residual signal is consistent with the existing video coding standards, and will not be repeated), and then the residual The signal is used as the residual signal of the current block to be processed.
  • the manner of selecting the intra-frame prediction mode is the same as the manner of selecting the intra-frame prediction mode in step 801, and can refer to step 801, which will not be repeated here.
  • Step 1002 The encoding terminal determines the transformation check corresponding to the current block and the transformation check index corresponding to the current block.
  • the transformation check includes a vertical transformation core and a horizontal transformation core.
  • the encoding end can obtain the final selected transformation check, and then select the transformation check index corresponding to the transformation check from any one of Tables 2 to 6. (For this process, please refer to the process of step 802).
  • Manner 1 The encoding end determines the transform check corresponding to the current block, and determines the transform check index corresponding to the current block according to the intra prediction mode and transform check of the current block.
  • Manner 2 The encoding end determines the transformation check corresponding to the current block, and determines the transformation check index corresponding to the current block according to the shape information and the transformation check of the current block.
  • the encoding end can first determine whether the height and width of the current block are both less than or equal to N (N can be 32), and determine whether it is a brightness block. If the height and width of the current block are both less than or If the height and width are both less than or equal to 32 and at least one of the brightness blocks is not satisfied, then directly obtain the preset transformation check (ie (DCT2, DCT2) ).
  • Step 1003 The encoding end performs encoding processing on the residual signal of the current block according to the transformation check, to obtain encoded data corresponding to the current block.
  • the encoding end may transform the residual signal of the current block based on the transformation check to obtain the transform coefficient. Then the encoding end performs quantization processing on the transform coefficients to obtain quantized coefficients, and the encoding end performs entropy encoding processing on the quantized coefficients to obtain encoded data corresponding to the current block.
  • Step 1004 If the binarized codeword corresponding to the transformation check index includes multiple bits, the encoding end uses bypass for at least one of the multiple bits except the first bit.
  • the binary arithmetic coding method is used for coding and added to the coding data of the current block.
  • a transformation check index in order for the decoder to know the transformation check used by the encoder, a transformation check index must be added to the encoded data.
  • the encoding end can use CABAC to encode the first bit in the binarization codeword corresponding to the transformation check index. Including other bits, for these other bits, at least one bit is encoded using a bypass binary arithmetic coding method, and then the encoded transformation check index is added to the encoded data. In this way, since the bypassed binary arithmetic coding method does not need to store the context model, if the bypassed binary arithmetic coding method is used for encoding, this bit does not need to store the context model.
  • Each current block is processed according to the flow shown in Figure 10, and a whole segment of video data can be encoded.
  • adaptive binary arithmetic coding is performed on the first bit based on a context model.
  • one context model when using CABAC to encode the first bit, one context model can be used for adaptive binary arithmetic coding instead of multiple context models, so there is no need to store multiple context models, or you can Save storage space.
  • a target identifier can be added to the encoded data, and the target identifier is used to indicate that the explicit multi-core transformation method is used.
  • the embodiment of the present disclosure also provides a corresponding decoding method:
  • Step 1101 The decoder obtains the encoded data of the current block.
  • the coded data when there is coded data to be decoded at the decoding end, the coded data can be obtained, and then the coded data can be entropy decoded.
  • the decoding end performs inverse quantization processing on the entropy decoding result to obtain the current block in the encoded data as the encoded data of the current block.
  • Step 1102 The decoding end obtains the transformation check index from the encoded data, where, if the binarization codeword corresponding to the transformation check index includes multiple bits, the other bits of the multiple bits except the first bit are At least one of the bits is decoded using bypass binary arithmetic coding.
  • the decoding end can obtain the transformation check index corresponding to the current block from the encoded data.
  • the encoding end encodes the transformation check index of the current block, if the binary codeword corresponding to the transformation check index includes multiple bits , Then at least one of the multiple bits except the first bit is encoded by the bypass binary arithmetic coding method.
  • the bypassed binary arithmetic decoding method is also used for decoding, which can also save the memory space of the decoder.
  • the first bit of the multiple bits is coded by a context model.
  • step 1102 before performing step 1102, it is determined that the height and width of the current block are both smaller than or equal to the target value, and the current block is a brightness block.
  • the target value can be preset and stored in the decoder, generally N (N can be 32).
  • N can be 32.
  • the processing of step 1102 is performed. Otherwise, it can be determined that the transform check corresponding to the current block is (DCT2, DCT2), and then the transform check can be used directly for decoding processing.
  • step 1102 it can also be determined whether the encoded data carries a target identifier, and the target identifier is used to instruct to perform explicit multi-core transformation processing. If the target identifier in the encoded data indicates that explicit multi-core transformation processing is used, the processing of step 1102 can be performed.
  • Step 1103 The decoding end determines the transformation check corresponding to the current block according to the transformation check index, where the transformation check includes a horizontal transformation core and a vertical transformation core.
  • step 903 This process is completely the same as the processing process of step 903, and can refer to the processing of step 903, which is not repeated here.
  • the height and width of the current block or the intra prediction mode of the current block may also be used, and the corresponding processing may be as follows:
  • the process is the same as the method of determining the transformation check using the height and width of the current block or the intra prediction mode of the current block in step 903, and the processing of step 903 can be referred to, which will not be repeated here.
  • Step 1104 the decoding end performs decoding processing on the current block according to the transformation check, and obtains reconstruction information corresponding to the current block.
  • the decoder can use the transform check to perform inverse transform processing on the quantized coefficients corresponding to the current block to obtain the residual signal corresponding to the current block. Then the decoder uses the pixel values of the pixels in the reconstructed area around the current block to construct a prediction signal according to the intra prediction mode used, and then adds the residual signal and the prediction signal to obtain the reconstruction information corresponding to the current block.
  • each current block is processed according to the flow shown in Figure 11, and then a whole segment of video data can be decoded.
  • the encoding end when encoding the current block, can obtain the transformation check corresponding to the current block and perform encoding processing instead of directly obtaining the preset transformation check, so the encoding and decoding performance can be improved.
  • the bypass binary arithmetic coding method is used to encode at least one of the other bits except the first bit in the binary index corresponding to the conversion check index. For this At least one bit does not need to store the context model, so memory space can be saved.
  • the CABAC method is not used for at least one bit, but the bypass binary arithmetic coding method is used, there is no need to update the context model, so the complexity of coding and parsing can also be reduced.
  • a process of determining the transformation check based on the shape information of the current block or the intra prediction mode of the current block is also provided:
  • Step 1201 The encoding terminal obtains the residual signal of the current block.
  • the encoding end when the encoding end encodes the video data, it first performs intra-frame prediction to obtain the residual signal (the method of obtaining the residual signal is consistent with the existing video coding standards, and will not be repeated). Then the encoding end uses the residual signal as the residual signal of the current block to be processed.
  • the TU in the embodiment of the present disclosure is the same as the aforementioned CU.
  • the manner of selecting the intra-frame prediction mode is the same as the manner of selecting the intra-frame prediction mode in step 801, and can refer to step 801, which will not be repeated here.
  • Step 1202 The encoding end obtains the intra prediction mode of the current block, the transformation check corresponding to the current block, or the shape information of the current block and the transformation check corresponding to the current block.
  • the transformation check includes a vertical transformation core and a horizontal transformation core.
  • the encoder can obtain the intra prediction mode (that is, the intra prediction mode corresponding to the current block) used in the final intra prediction in step 1201, and when the rate distortion cost is minimized, the intra prediction mode corresponds to The transformation check (that is, the transformation check corresponding to the current block).
  • the encoding end can determine the height and width of the current block (that is, the number of pixels in the height direction of the encoding block, and the number of pixels in the width direction of the encoding block), so that the encoding end can obtain the shape information of the current block. And obtain the transformation check used when the rate-distortion cost is minimized (that is, the transformation check corresponding to the current block).
  • the encoder can first determine whether the height and width of the current block are both less than or equal to N (N can be 32), and determine whether it is a brightness block, if the height and width of the current block are both less than or It is equal to N and is a brightness block, then step 1202 can be continued. If the height and width are both less than or equal to N, and at least one of the brightness blocks is not satisfied, then directly obtain the preset transformation check (ie (DCT2, DCT2) ).
  • N can be 32
  • step 1202 can be continued. If the height and width are both less than or equal to N, and at least one of the brightness blocks is not satisfied, then directly obtain the preset transformation check (ie (DCT2, DCT2) ).
  • Step 1203 The encoding end determines the transform check index corresponding to the current block according to the intra prediction mode of the current block and the transform check corresponding to the current block, or, according to the shape information of the current block and the transform check corresponding to the current block, determines the current block corresponds to The transformation check index.
  • the transform check determined in step 1202 is not any of (DCT2, DCT2), (DST7, DST7), (DCT8, DCT8)
  • the syntax table of the preset explicit multi-core transform pair can be obtained (As shown in Table 7 above)
  • the transform check index corresponding to the intra-frame prediction mode and the transform check corresponding to the current block can be determined from the table 7, that is, the transform check index corresponding to the current block.
  • the transform check is (DST7, DCT8)
  • the mode number of the intra prediction mode corresponding to the current block is 32
  • the common corresponding transform check index is 3.
  • the transformation check determined in step 1202 is not any of (DCT2, DCT2), (DST7, DST7), (DCT8, DCT8), the syntax table of the preset explicit multi-core transformation pair (such as As shown in Table 8 above), the transformation check index corresponding to the shape information of the current block and the transformation check can be determined from Table 8, that is, the transformation check index corresponding to the current block. For example, if the transformation check is (DST7, DCT8), and the width of the current block is greater than the height, the corresponding transformation check index is 3.
  • the following methods when the encoding end uses the intra prediction mode and the transformation check to determine the transformation core index, the following methods may be used:
  • the transformation check is the first transformation check, and the mode number of the intra prediction mode of the current block is less than or equal to the preset value, then it is determined that the transformation check index corresponding to the current block is the first index. If the transformation check is the second transformation check, And the mode number of the intra prediction mode of the current block is greater than the preset value, it is determined that the transform check index corresponding to the current block is the first index, if the transform check is the second transform check, and the mode number of the intra prediction mode of the current block If it is less than or equal to the preset value, it is determined that the transform check index corresponding to the current block is the second index. If the transform check is the first transform check and the mode number of the intra prediction mode of the current block is greater than the preset value, the current block is determined The corresponding transformation check index is the second index.
  • the transformation check index corresponding to the current block is determined to be the first index. If the transformation check is the second transformation check, and the shape of the current block If the information does not meet the preset shape restriction condition, the transformation check index corresponding to the current block is determined to be the first index. If the transformation check is the second transformation check, and the shape information of the current block meets the preset shape restriction condition, the current block is determined The corresponding transformation check index is the second index. If the transformation check is the first transformation check and the shape information of the current block does not meet the preset shape restriction condition, the transformation check index corresponding to the current block is determined to be the second index.
  • Step 1204 The encoding end performs encoding processing on the residual signal of the current block according to the transformation check to obtain encoded data corresponding to the current block.
  • the encoding end may transform the residual signal of the current block based on the transformation check to obtain the transform coefficient. Then the encoding end performs quantization processing on the transform coefficients to obtain quantized coefficients, and the encoding end performs entropy encoding processing on the quantized coefficients to obtain encoded data corresponding to the current block.
  • Step 1205 The encoding end performs encoding processing on the transformation check index, and adds it to the encoded data of the current block.
  • the binary codeword of the transformation check index should be added to the encoded data.
  • the encoding end may perform encoding processing on the transformation check index, and then add the encoded transformation check index to the encoded data.
  • Each current block is processed according to the flow shown in Figure 12, and a whole segment of video data can be encoded.
  • the encoding conversion check index may be coded in the following manner, and the corresponding processing of step 1205 may be as follows:
  • the binarization codeword corresponding to the transformation check index includes multiple bits
  • the first bit is encoded using CABAC, and among the multiple bits except the first bit, At least one bit is coded using bypass binary arithmetic coding.
  • the CABAC method can be used directly for encoding processing, and if the binarization codeword corresponding to the transformation check index includes multiple bits, it can be The first bit is encoded using the CABAC method, and at least one of the other bits except the first bit is encoded using a bypass binary arithmetic encoding method. Then the encoding end adds the encoded transformation check index to the encoded data of the current block. In this way, when the binarized codeword corresponding to the transform check index includes multiple bits, some bits are encoded in a bypass binary arithmetic coding mode, and there is no need to store the context model, so memory space can be saved.
  • the encoding end performs adaptive binary arithmetic encoding on the first bit of the binary codeword corresponding to the transformation check index based on a context model.
  • the encoding end can use a context model to encode the first bit in the binary codeword corresponding to the transformation check index. In this way, since only one context model is used, only one context model is stored, and the memory space occupied is relatively small, which saves storage space on the encoding side.
  • a target identifier can be added to the encoded data, and the target identifier is used to indicate that the explicit multi-core transformation method is used.
  • the embodiments of the present disclosure also provide a decoding process, as shown in FIG. 13:
  • Step 1301 The decoding end obtains the encoded data of the current block.
  • the decoder when there is coded data to be decoded, can obtain the coded data, and then perform entropy decoding processing on the coded data.
  • the decoding end performs inverse quantization processing on the entropy decoding result to obtain the current block in the encoded data as the encoded data of the current block.
  • Step 1302 The decoder obtains the transformation check index from the encoded data, and obtains the intra prediction mode of the current block or the shape information of the current block.
  • the decoding end can obtain the transformation check index corresponding to the current block from the encoded data, and can determine the number of pixels (ie height) included in the current block in the height direction, and can determine that the current block includes in the width direction The number of pixels (ie width). Then the decoder judges the height and width of the current block, that is, obtains the shape information of the current block.
  • the decoding end may obtain the transformation check index corresponding to the current block from the encoded data, and obtain the mode number of the intra prediction mode by analyzing the identification bit of the intra prediction mode in the encoded data.
  • the binarized codeword corresponding to the transformation check index includes multiple bits, the first bit is decoded using CABAC, and among the multiple bits, the first bit is divided by At least one of the other bits is decoded using bypass binary arithmetic coding.
  • the conversion check index includes multiple bits at the encoding end, some bits are encoded using the bypass binary arithmetic coding method, and there is no need to store the context model, so memory space can be saved.
  • the decoding side needs to use the bypass binary arithmetic decoding method to decode the bits that are encoded using the bypass binary arithmetic coding method, and the decoding side does not need to store the context model, which can also save memory space.
  • the first bit of the transformation check index is decoded using a context model.
  • the decoder only uses one context model, only one context model is stored, and the memory space occupied is relatively small.
  • step 1302 before step 1302 is performed, it is determined that the height and width of the current block are both smaller than or equal to the target value, and that the current block is a brightness block.
  • the target value can be preset and stored in the decoding end, generally N (N is 32).
  • N is 32.
  • the processing of step 1302 is performed. Otherwise, it can be determined that the transform check corresponding to the current block is (DCT2, DCT2), and then the transform check can be used directly for decoding processing.
  • step 1302 it can also be determined whether the encoded data carries a target identifier, and the target identifier is used to indicate an explicit multi-core transformation process. If the target identifier in the encoded data indicates that explicit multi-core transformation processing is used, the processing of step 1302 can be performed.
  • Step 1303 the decoding end determines the transformation check corresponding to the current block according to the intra prediction mode and the transformation check index of the current block, or determines the transformation check corresponding to the current block according to the shape information and the transformation check index of the current block.
  • the check includes a horizontal transformation core and a vertical transformation core.
  • the transformation check includes a horizontal transformation core and a vertical transformation core.
  • the transformation check determined in step 1302 is not any of (DCT2, DCT2), (DST7, DST7), (DCT8, DCT8), the syntax table of the preset explicit multi-core transformation pair (such as the above table 7), the transform check corresponding to the intra prediction mode and the transform check index of the current block can be determined from Table 7, that is, the transform check corresponding to the current block.
  • the mode number of the intra prediction mode corresponding to the current block is 32
  • the transform check index is 3
  • the transform check is (DST7, DCT8).
  • the transformation check determined in step 1302 is not any of (DCT2, DCT2), (DST7, DST7), (DCT8, DCT8), the syntax table of the preset explicit multi-core transformation pair (such as As shown in Table 8 above), the conversion check corresponding to the height and width of the current block and the conversion check index can be determined from Table 8, that is, the conversion check corresponding to the current block. For example, if the width of the current block is greater than the width, and the transform check index is 3, the transform check is (DST7, DCT8).
  • the following methods may be used:
  • the transformation check index is the first index, and the mode number of the intra prediction mode of the current block is less than or equal to the preset value, it is determined that the transformation check corresponding to the current block is the first transformation check. If the transformation check index is the first index, And the mode number of the intra prediction mode of the current block is greater than the preset value, it is determined that the transform check corresponding to the current block is the second transform check. If the transform check index is the second index, and the mode number of the intra prediction mode of the current block If it is less than or equal to the preset value, it is determined that the transformation check corresponding to the current block is the second transformation check. If the transformation check index is the second index, and the mode number of the intra prediction mode of the current block is greater than the preset value, the current block is determined The corresponding transformation check is the first transformation check.
  • the transformation check determined in step 1302 is not any of (DCT2, DCT2), (DST7, DST7), (DCT8, DCT8)
  • the syntax table of the preset explicit multi-core transformation pair can be obtained (As shown in Table 7 above), the transformation check corresponding to the current block can be determined from Table 7.
  • the first index is 3, the preset value is 34, the first transformation check is (DST7, DCT8), the second index is 4, the preset value is 34, and the second transformation check is (DCT8, DST7).
  • the transformation check corresponding to the current block is determined as the first transformation check. If the transformation check index is the first index, and the shape of the current block If the information does not meet the preset shape restriction conditions, it is determined that the transformation check corresponding to the current block is the second transformation check. If the transformation check index is the second index, and the shape information of the current block meets the preset shape restriction conditions, it is determined that the current block corresponds If the transformation check index is the second index and the shape information of the current block does not meet the preset shape restriction condition, the transformation check corresponding to the current block is determined to be the first transformation check.
  • the transformation check determined in step 1302 is not any of (DCT2, DCT2), (DST7, DST7), (DCT8, DCT8)
  • the syntax table of the preset explicit multi-core transformation pair can be obtained (As shown in Table 8 above), the transformation check corresponding to the current block can be determined from Table 8.
  • the above-mentioned first index is 3, W ⁇ H
  • the first transformation check is (DST7, DCT8)
  • the second index is 4, W ⁇ H
  • the second transformation check is (DCT8, DST7).
  • Step 1304 The decoding end performs decoding processing on the current block according to the transformation check, and obtains reconstruction information corresponding to the current block.
  • the target transform check can be used to perform inverse transform processing on the quantized coefficients corresponding to the current block to obtain the residual signal corresponding to the current block. Then the decoder uses the pixel values of the pixels in the reconstructed area around the current block to construct a prediction signal according to the intra prediction mode used, and then adds the residual signal and the prediction signal to obtain the reconstruction information corresponding to the current block.
  • each current block is processed according to the flow shown in Figure 13, and then a whole segment of video data can be decoded.
  • the priority of the transformation check is adaptively adjusted, so that the transformation check with the higher probability can be made as much as possible, and the coded code is required. The shorter the word.
  • the encoding end when encoding, also uses the intra prediction mode of the current block or the shape information of the current block when selecting the transformation check, instead of using the preset transformation check, correspondingly when decoding , It also uses the intra prediction mode of the current block or the shape information of the current block instead of using the preset transformation check, so the codec performance can be improved.
  • the embodiments of the present disclosure also provide a decoding terminal for decoding.
  • the decoding terminal includes:
  • the determining module 1420 is configured to determine a transformation check corresponding to the current block according to the transformation check index, wherein the transformation check includes a horizontal transformation core and a vertical transformation core.
  • the binarization codeword corresponding to the conversion check index includes a plurality of bits, and among the plurality of bits, other bits except the first bit are At least one of the bits is encoded using bypass binary arithmetic decoding.
  • the determining module 1420 is configured to:
  • a transformation check corresponding to the current block is determined.
  • the embodiments of the present disclosure also provide an encoding terminal for encoding.
  • the encoding terminal includes:
  • the determining module 1510 is configured to determine the transformation check corresponding to the current block and the transformation check index corresponding to the current block;
  • the encoding module 1520 is configured to perform adaptive binary arithmetic coding based on a context model on the first bit of the binarized codeword corresponding to the conversion check index to encode the conversion check index and add it to In the encoded data of the current block.
  • the encoding module 1520 is configured to:
  • the binarized codeword corresponding to the transformation check index includes multiple bits, then adaptive binary arithmetic coding is performed on the first bit based on a context model, and the first bit is divided by the first bit. At least one of the other bits except one bit is encoded by the bypass binary arithmetic coding method;
  • the encoded transformation check index is added to the encoded data.
  • the determining module 1510 is configured to:
  • the encoding end when encoding the current block, can obtain the transformation check corresponding to the current block and perform encoding processing instead of directly obtaining the preset transformation check, so the encoding and decoding performance can be improved.
  • the encoding end encoding transformation check index corresponding to the binarization codeword
  • use a context model to encode the first bit in the binarization codeword corresponding to the transformation check index, without requiring multiple context models, so you can Save memory space.
  • multiple context models since multiple context models are not required, there is no need to update the context, which can reduce the complexity of encoding and decoding.
  • the embodiments of the present disclosure also provide a decoding end for decoding.
  • the decoding end includes:
  • the acquisition module 1610 is used to:
  • the determining module 1620 is configured to determine a transformation check corresponding to the current block according to the transformation check index, wherein the transformation check includes a horizontal transformation core and a vertical transformation core.
  • the first bit of the transformation check index is adaptive binary arithmetic decoding based on a context model.
  • the determining module 1620 is configured to:
  • a transformation check corresponding to the current block is determined, wherein the transformation check includes a horizontal transformation core and a vertical transformation core.
  • the embodiments of the present disclosure also provide an encoding terminal for encoding.
  • the encoding terminal includes:
  • the determining module 1710 is configured to determine the transformation check corresponding to the current block and the transformation check index corresponding to the current block;
  • the encoding module 1720 is configured to, if the binarization codeword corresponding to the conversion check index includes multiple bits, perform at least one of the multiple bits except the first bit Bits are coded by a bypass binary arithmetic coding method and added to the coded data of the current block.
  • the encoding module 1720 is further configured to:
  • the determining module 1710 is configured to:
  • the encoding end when encoding the current block, can obtain the transformation check corresponding to the current block and perform encoding processing instead of directly obtaining the preset transformation check, so the encoding and decoding performance can be improved.
  • the bypass binary arithmetic coding method is used to encode at least one of the other bits except the first bit in the binary index corresponding to the conversion check index. For this At least one bit does not need to store the context model, so memory space can be saved.
  • at least one bit does not use the CABAC mode, but uses the bypass binary arithmetic coding mode, the complexity of coding and analysis can also be reduced.
  • the embodiments of the present disclosure also provide a decoding end for decoding.
  • the decoding end includes:
  • the acquisition module 1810 is used to:
  • the determining module 1820 is configured to determine the transform check corresponding to the current block according to the intra prediction mode of the current block and the transform check index, or, according to the shape information of the current block and the transform check index, The transformation check corresponding to the current block is determined, wherein the transformation check includes a horizontal transformation kernel and a vertical transformation kernel.
  • the determining module 1820 is configured to:
  • the transform check index is the first index, and the mode number of the intra prediction mode of the current block is less than or equal to a preset value, determining that the transform check corresponding to the current block is the first transform check;
  • the transform check index is the first index, and the mode number of the intra prediction mode of the current block is greater than a preset value, determining that the transform check corresponding to the current block is the second transform check;
  • the transform check index is a second index, and the mode number of the intra prediction mode of the current block is less than or equal to a preset value, determining that the transform check corresponding to the current block is the second transform check;
  • the transformation check index is the second index and the mode number of the intra prediction mode of the current block is greater than the preset value, it is determined that the transformation check corresponding to the current block is the first transformation check.
  • the determining module 1820 is configured to:
  • the transformation check index is the first index, and the shape information of the current block meets a preset shape restriction condition, determining that the transformation check corresponding to the current block is the first transformation check;
  • the transformation check index is the first index, and the shape information of the current block does not meet the preset shape restriction condition, determining that the transformation check corresponding to the current block is the second transformation check;
  • transformation check index is a second index
  • shape information of the current block meets a preset shape restriction condition, determining that the transformation check corresponding to the current block is the second transformation check
  • the transformation check index is the second index, and the shape information of the current block does not satisfy the preset shape restriction condition, it is determined that the transformation check corresponding to the current block is the first transformation check.
  • the first bit of the binarized codeword corresponding to the transform check index is adaptive binary arithmetic decoding based on a context model.
  • the binarization codeword corresponding to the transformation check index includes a plurality of bits, and among the plurality of bits except the first bit, At least one bit is encoded using bypass binary arithmetic decoding.
  • the embodiments of the present disclosure also provide an encoding terminal for encoding.
  • the encoding terminal includes:
  • the obtaining module 1910 is configured to obtain the intra prediction mode of the current block, the transformation check corresponding to the current block, or the shape information of the current block, and the transformation check corresponding to the current block;
  • the determining module 1920 is configured to determine the transform check index corresponding to the current block according to the intra prediction mode of the current block and the transform check corresponding to the current block, or according to the shape information of the current block and the The transformation check corresponding to the current block, determining the transformation check index corresponding to the current block;
  • the encoding module 1930 is configured to encode the transformation check index and add it to the encoded data of the current block.
  • the determining module 1920 is configured to:
  • the transformation check is a first transformation check, and the mode number of the intra prediction mode of the current block is less than or equal to a preset value, determining that the transformation check index corresponding to the current block is the first index;
  • the transform check is a second transform check, and the mode number of the intra prediction mode of the current block is greater than a preset value, determining that the transform check index corresponding to the current block is the first index;
  • the transformation check is a second transformation check, and the mode number of the intra prediction mode of the current block is less than or equal to a preset value, determining that the transformation check index corresponding to the current block is the second index;
  • the transformation check is a first transformation check and the mode number of the intra prediction mode of the current block is greater than a preset value, it is determined that the transformation check index corresponding to the current block is the second index.
  • the determining module 1920 is configured to:
  • the transformation check is a first transformation check, and the shape information of the current block meets a preset shape restriction condition, determining that the transformation check index corresponding to the current block is the first index;
  • the transformation check is a second transformation check, and the shape information of the current block does not meet a preset shape restriction condition, determining that the transformation check index corresponding to the current block is the first index;
  • transformation check is a second transformation check, and the shape information of the current block meets a preset shape restriction condition, determining that the transformation check index corresponding to the current block is the second index;
  • the transformation check is a first transformation check, and the shape information of the current block does not satisfy a preset shape restriction condition, it is determined that the transformation check index corresponding to the current block is a second index.
  • the encoding module 1930 is configured to:
  • Encoding is performed in a manner of performing adaptive binary arithmetic coding based on a context model on the first bit of the binarized codeword corresponding to the conversion check index.
  • the encoding module 1930 is configured to:
  • the binarization codeword corresponding to the conversion check index includes multiple bits, bypassing is adopted for at least one of the multiple bits except the first bit.
  • Binary arithmetic coding method for coding is adopted.
  • the encoding end when encoding, also uses the intra prediction mode of the current block or the shape information of the current block when selecting the transformation check, instead of using the preset transformation check, correspondingly when decoding , It also uses the intra prediction mode of the current block or the shape information of the current block instead of using the preset transformation check, so the codec performance can be improved.
  • the decoding terminal provided in the above embodiment performs decoding
  • only the division of the above functional modules is used as an example.
  • the above functions can be allocated by different functional modules as needed, that is, decoding
  • the internal structure of the terminal is divided into different functional modules to complete all or part of the functions described above.
  • the decoding terminal provided in the foregoing embodiment and the method embodiment for decoding belong to the same concept, and the specific implementation process is detailed in the method embodiment, which will not be repeated here.
  • the encoding terminal provided in the above embodiment performs encoding
  • only the division of the above functional modules is used as an example.
  • the above functions can be allocated by different functional modules as needed, that is, encoding
  • the internal structure of the terminal is divided into different functional modules to complete all or part of the functions described above.
  • the encoding terminal provided in the foregoing embodiment and the encoding method embodiment belong to the same concept, and the specific implementation process is detailed in the method embodiment, which will not be repeated here.
  • FIG. 20 is a schematic structural diagram of an encoding terminal provided by an embodiment of the present invention.
  • the encoding terminal 2000 may have relatively large differences due to different configurations or performance, and may include one or more processors (central processing units, CPU) 2001 and One or more memories 2002, wherein at least one instruction is stored in the memory 2002, and the at least one instruction is loaded and executed by the processor 2001 to implement the steps of the encoding method described above.
  • processors central processing units, CPU
  • memories 2002 wherein at least one instruction is stored in the memory 2002, and the at least one instruction is loaded and executed by the processor 2001 to implement the steps of the encoding method described above.
  • FIG. 21 is a schematic structural diagram of a decoding terminal provided by an embodiment of the present invention.
  • the decoding terminal 2100 may have relatively large differences due to different configurations or performance, and may include one or more processors (central processing units, CPU) 2101 and One or more memories 2102, wherein at least one instruction is stored in the memory 2102, and the at least one instruction is loaded and executed by the processor 2101 to implement the steps of the foregoing decoding method.
  • processors central processing units, CPU
  • memories 2102 wherein at least one instruction is stored in the memory 2102, and the at least one instruction is loaded and executed by the processor 2101 to implement the steps of the foregoing decoding method.
  • the embodiments of the present disclosure also provide a computer-readable storage medium in which a computer program is stored, and when the computer program is executed by a processor, the above-mentioned method steps of encoding and decoding are realized.
  • the embodiment of the present disclosure also provides an encoding terminal, including a processor and a memory, wherein the memory is used to store a computer program; the processor is used to execute the program stored in the memory to implement the foregoing The method steps for encoding.
  • the embodiment of the present disclosure also provides a decoding terminal, including a processor and a memory, wherein the memory is used to store a computer program; the processor is used to execute the program stored in the memory to realize the above Describe the method steps for decoding.
  • the embodiments of the present disclosure also provide an encoding and decoding system.
  • the system includes an encoding end and a decoding end, wherein:
  • the encoding end is an encoding end that performs encoding processing as described above;
  • the decoding end is the decoding end that performs decoding processing as described above.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

本公开提供了一种进行编码和解码的方法、解码端和编码端,属于音视频技术领域。该方法包括:获取当前块的编码数据;从编码数据中获取当前块的变换核对索引,其中,变换核对索引对应的二值化码字的第一个比特位是基于一个上下文模型进行的自适应二进制算术解码;根据变换核对索引,确定当前块对应的变换核对,其中,该变换核对包括水平变换核和垂直变换核。采用本公开,可以提升编解码的性能。

Description

进行编码和解码的方法、解码端和编码端
本申请要求于2019年03月09日提交的申请号为201910177580.4、发明名称为“进行编码和解码的方法、解码端、编码端和系统”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本公开涉及音视频技术领域,特别涉及一种进行编码和解码的方法、解码端和编码端。
背景技术
随着互联网技术和计算机技术的发展,视频应用程序越来越多,用户对视频应用程序中高清视频的需求越来越大,但是由于高清视频的数据量比较大,想要高清视频在有限的网络带宽中传输,需要对高清视频进行编码处理。一般编码处理包括:帧内预测(或帧间预测)、变换、量化、熵编码、环内滤波等环节。在进行编码处理时,通过帧内预测获取到残差块(可以称为是TU(Transmission Unit,变换单元),可以称为是当前块的残差信号),对TU进行变换(变换是指将以空间域中像素形式描述的图像转换至变换域,以变换系数的形式加以表示),得到变换系数。然后对变换系数进行量化和熵编码后,得到编码数据。
相关技术中,在变换时,通常是选择某个预设变换核对(变换核对是由水平变换核和垂直变换核组成的变换核对),对TU进行变换处理,得到变换系数。相应的,在解码时也是选择编码时使用的预设变换核对,对TU进行逆变换处理,得到残差信号。
这样,由于同一TU采用不同的变换核对进行变换,压缩效果大不相同,所以使用同一个预设变换核对,对所有TU进行变换处理,有可能会导致编解码性能较差。
发明内容
为了解决相关技术的问题,本公开实施例提供了一种进行编码和解码的方法、解码端和编码端。所述技术方案如下:
第一方面,提供了一种进行解码的方法,所述方法包括:
获取当前块的编码数据;
从所述编码数据中获取所述当前块的变换核对索引,其中,所述变换核对索引对应的二值化码字的第一个比特位是基于一个上下文模型进行的自适应二进制算术解码;
根据所述变换核对索引,确定所述当前块对应的变换核对,其中,所述变换核对包括水平变换核和垂直变换核。
在本公开的一种可能的实施方式中,所述变换核对索引对应的二值化码字包括多个比特位,所述多个比特位中除所述第一个比特位之外的其它比特位中至少有一个比特位采用旁路的二进制算术解码方式进行编码。
在本公开的一种可能的实施方式中,所述根据所述变换核对索引,确定所述当前块对应的变换核对,包括:
根据所述当前块的帧内预测模式和所述变换核对索引,确定所述当前块对应的变换核对; 或者,
根据所述当前块的形状信息和所述变换核对索引,确定所述当前块对应的变换核对。
第二方面,提供了一种进行编码的方法,所述方法包括:
确定当前块对应的变换核对以及所述当前块对应的变换核对索引;
根据对所述变换核对索引对应的二值化码字的第一个比特位基于一个上下文模型进行自适应二进制算术编码的方式,对所述变换核对索引进行编码,添加至所述当前块的编码数据中。
在本公开的一种可能的实施方式中,所述根据对所述变换核对索引对应的二值化码字的第一个比特位基于一个上下文模型进行自适应二进制算术编码的方式,对所述变换核对索引进行编码,添加至所述当前块的编码数据中,包括:
如果所述变换核对索引对应的二值化码字包括多个比特位,则对第一个比特位基于一个上下文模型进行自适应二进制算术编码,并对所述多个比特位中除所述第一个比特位之外的其它比特位中至少有一个比特位采用旁路的二进制算术编码方式进行编码;
将编码后的变换核对索引,添加至所述编码数据中。
在本公开的一种可能的实施方式中,所述确定当前块对应的变换核对以及所述当前块对应的变换核对索引,包括:
确定所述当前块对应的变换核对,根据所述当前块的帧内预测模式和所述变换核对,确定所述当前块对应的变换核对索引;或者,
确定所述当前块对应的变换核对,根据所述当前块的形状信息和所述变换核对,确定所述当前块对应的变换核对索引。
第三方面,提供了一种进行解码的方法,所述方法包括:
获取当前块的编码数据;
从所述编码数据中获取变换核对索引,其中,如果所述变换核对索引对应的二值化码字包括多个比特位,则所述多个比特位中除第一个比特位之外的其它比特位中至少有一个比特位采用旁路的二进制算术解码方式进行编码;
根据所述变换核对索引,确定所述当前块对应的变换核对,其中,所述变换核对包括水平变换核和垂直变换核。
在本公开的一种可能的实施方式中,所述变换核对索引的第一个比特位是基于一个上下文模型进行的自适应二进制算术解码。
在本公开的一种可能的实施方式中,所述根据所述变换核对索引,确定所述当前块对应的变换核对,包括:
根据所述当前块的帧内预测模式和所述变换核对索引,确定所述当前块对应的变换核对;或者,
根据所述当前块的形状信息和所述变换核对索引,确定所述当前块对应的变换核对,其中,所述变换核对包括水平变换核和垂直变换核。
第四方面,提供了一种进行编码的方法,所述方法包括:
确定当前块对应的变换核对以及所述当前块对应的变换核对索引;
如果所述变换核对索引对应的二值化码字包括多个比特位,则对所述多个比特位中除所述第一个比特位之外的其它比特位中至少有一个比特位采用旁路的二进制算术编码方式进行编码,添加至所述当前块的编码数据中。
在本公开的一种可能的实施方式中,所述方法还包括:
对所述第一个比特位基于一个上下文模型进行自适应二进制算术编码。
在本公开的一种可能的实施方式中,所述确定当前块对应的变换核对以及所述当前块对应的变换核对索引,包括:
确定所述当前块对应的变换核对,根据所述当前块的帧内预测模式和所述变换核对,确定所述当前块对应的变换核对索引;或者,
确定所述当前块对应的变换核对,根据所述当前块的形状信息和所述变换核对,确定所述当前块对应的变换核对索引。
第五方面,提供了一种进行解码的方法,所述方法包括:
获取当前块的编码数据;
从所述编码数据中获取变换核对索引,并获取所述当前块的帧内预测模式或者所述当前块的形状信息;
根据所述当前块的帧内预测模式和所述变换核对索引,确定所述当前块对应的变换核对,或者,根据所述当前块的形状信息和所述变换核对索引,确定所述当前块对应的变换核对,其中,所述变换核对包括水平变换核和垂直变换核。
在本公开的一种可能的实施方式中,所述根据所述当前块的帧内预测模式和所述变换核对索引,确定所述当前块对应的变换核对,包括:
如果所述变换核对索引为第一索引,且所述当前块的帧内预测模式的模式号小于或等于预设数值,则确定所述当前块对应的变换核对为第一变换核对;
如果所述变换核对索引为第一索引,且所述当前块的帧内预测模式的模式号大于预设数值,则确定所述当前块对应的变换核对为第二变换核对;
如果所述变换核对索引为第二索引,且所述当前块的帧内预测模式的模式号小于或等于预设数值,则确定所述当前块对应的变换核对为第二变换核对;
如果所述变换核对索引为第二索引,且所述当前块的帧内预测模式的模式号大于预设数值,则确定所述当前块对应的变换核对为第一变换核对。
在本公开的一种可能的实施方式中,所述根据所述当前块的形状信息和所述变换核对索引,确定所述当前块对应的变换核对,包括:
如果所述变换核对索引为第一索引,且所述当前块的形状信息满足预设形状限制条件,则确定所述当前块对应的变换核对为第一变换核对;
如果所述变换核对索引为第一索引,且所述当前块的形状信息不满足预设形状限制条件,则确定所述当前块对应的变换核对为第二变换核对;
如果所述变换核对索引为第二索引,且所述当前块的形状信息满足预设形状限制条件,则确定所述当前块对应的变换核对为第二变换核对;
如果所述变换核对索引为第二索引,且所述当前块的形状信息不满足预设形状限制条件,则确定所述当前块对应的变换核对为第一变换核对。
在本公开的一种可能的实施方式中,所述变换核对索引对应的二值化码字的第一个比特位是基于一个上下文模型进行的自适应二进制算术解码。
在本公开的一种可能的实施方式中,所述变换核对索引对应的二值化码字包括多个比特位,所述多个比特位中除第一个比特位之外的其它比特位中至少有一个比特位采用旁路的二进制算术解码方式进行编码。
第六方面,提供了一种进行编码的方法,所述方法包括:
获取当前块的帧内预测模式、所述当前块对应的变换核对,或者所述当前块的形状信息、所述当前块对应的变换核对;
根据所述当前块的帧内预测模式和所述当前块对应的变换核对,确定所述当前块对应的变换核对索引,或者,根据所述当前块的形状信息和所述当前块对应的变换核对,确定所述当前块对应的变换核对索引;
对变换核对索引进行编码处理,添加至所述当前块的编码数据中。
在本公开的一种可能的实施方式中,所述根据所述当前块的帧内预测模式和所述当前块对应的变换核对,确定所述当前块对应的变换核对索引,包括:
如果所述变换核对为第一变换核对,且所述当前块的帧内预测模式的模式号小于或等于预设数值,则确定所述当前块对应的变换核对索引为第一索引;
如果所述变换核对为第二变换核对,且所述当前块的帧内预测模式的模式号大于预设数值,则确定所述当前块对应的变换核对索引为第一索引;
如果所述变换核对为第二变换核对,且所述当前块的帧内预测模式的模式号小于或等于预设数值,则确定所述当前块对应的变换核对索引为第二索引;
如果所述变换核对为第一变换核对,且所述当前块的帧内预测模式的模式号大于预设数值,则确定所述当前块对应的变换核对索引为第二索引。
在本公开的一种可能的实施方式中,所述根据所述当前块的形状信息和所述当前块对应的变换核对,确定所述当前块对应的变换核对索引,包括:
如果所述变换核对为第一变换核对,且所述当前块的形状信息满足预设形状限制条件,则确定所述当前块对应的变换核对索引为第一索引;
如果所述变换核对为第二变换核对,且所述当前块的形状信息不满足预设形状限制条件,则确定所述当前块对应的变换核对索引为第一索引;
如果所述变换核对为第二变换核对,且所述当前块的形状信息-满足预设形状限制条件,则确定所述当前块对应的变换核对索引为第二索引;
如果所述变换核对为第一变换核对,且所述当前块的形状信息不满足预设形状限制条件,则确定所述当前块对应的变换核对索引为第二索引。
在本公开的一种可能的实施方式中,所述对所述变换核对索引进行编码处理,包括:
根据对所述变换核对索引对应的二值化码字的第一个比特位基于一个上下文模型进行自适应二进制算术编码的方式进行编码。
在本公开的一种可能的实施方式中,所述对所述变换核对索引进行编码处理,包括:
如果所述变换核对索引对应的二值化码字包括多个比特位,则对所述多个比特位中除第一个比特位之外的其它比特位中至少有一个比特位采用旁路的二进制算术编码方式进行编码。
第七方面,提供了一种进行解码的解码端,所述解码端包括:
获取模块,用于:
获取当前块的编码数据;
从所述编码数据中获取所述当前块的变换核对索引,其中,所述变换核对索引对应的二值化码字的第一个比特位是基于一个上下文模型进行的自适应二进制算术解码;
确定模块,用于根据所述变换核对索引,确定所述当前块对应的变换核对,其中,所述 变换核对包括水平变换核和垂直变换核。
在本公开的一种可能的实施方式中,所述变换核对索引对应的二值化码字包括多个比特位,所述多个比特位中除所述第一个比特位之外的其它比特位中至少有一个比特位是采用旁路的二进制算术解码方式进行编码。
在本公开的一种可能的实施方式中,所述确定模块,用于:
根据所述当前块的帧内预测模式和所述变换核对索引,确定所述当前块对应的变换核对;或者,
根据所述当前块的形状信息和所述变换核对索引,确定所述当前块对应的变换核对。
第八方面,提供了一种进行编码的编码端,所述编码端包括:
确定模块,用于确定当前块对应的变换核对以及所述当前块对应的变换核对索引;
编码处理,用于根据对所述变换核对索引对应的二值化码字的第一个比特位基于一个上下文模型进行自适应二进制算术编码的方式,对所述变换核对索引进行编码,添加至所述当前块的编码数据中。
在本公开的一种可能的实施方式中,所述编码模块,用于:
如果所述变换核对索引对应的二值化码字包括多个比特位,则对第一个比特位基于一个上下文模型进行自适应二进制算术编码,并对所述多个比特位中除所述第一个比特位之外的其它比特位中至少有一个比特位采用旁路的二进制算术编码方式进行编码;
将编码后的变换核对索引,添加至所述编码数据中。
在本公开的一种可能的实施方式中,所述确定模块,用于:
确定所述当前块对应的变换核对,根据所述当前块的帧内预测模式和所述变换核对,确定所述当前块对应的变换核对索引;或者,
确定所述当前块对应的变换核对,根据所述当前块的形状信息和所述变换核对,确定所述当前块对应的变换核对索引。
第九方面,提供了一种进行解码的解码端,所述解码端包括:
获取模块,用于:
获取当前块的编码数据;
从所述编码数据中获取变换核对索引,其中,如果所述变换核对索引对应的二值化码字包括多个比特位,则所述多个比特位中除第一个比特位之外的其它比特位中至少有一个比特位采用旁路的二进制算术解码方式进行编码;
确定模块,用于根据所述变换核对索引,确定所述当前块对应的变换核对,其中,所述变换核对包括水平变换核和垂直变换核。
在本公开的一种可能的实施方式中,所述变换核对索引的第一个比特位是基于一个上下文模型进行的自适应二进制算术解码。
在本公开的一种可能的实施方式中,所述确定模块,用于:
根据所述当前块的帧内预测模式和所述变换核对索引,确定所述当前块对应的变换核对;或者,
根据所述当前块的形状信息和所述变换核对索引,确定所述当前块对应的变换核对,其中,所述变换核对包括水平变换核和垂直变换核。
第十方面,提供了一种进行编码的编码端,所述编码端包括:
确定模块,用于确定当前块对应的变换核对以及所述当前块对应的变换核对索引;
编码模块,用于如果所述变换核对索引对应的二值化码字包括多个比特位,则对所述多个比特位中除第一个比特位之外的其它比特位中至少有一个比特位采用旁路的二进制算术编码方式进行编码,添加至所述当前块的编码数据中。
在本公开的一种可能的实施方式中,所述编码模块,还用于:
对所述第一个比特位基于一个上下文模型进行自适应二进制算术编码。
在本公开的一种可能的实施方式中,所述确定模块,用于:
确定所述当前块对应的变换核对,根据所述当前块的帧内预测模式和所述变换核对,确定所述当前块对应的变换核对索引;或者,
确定所述当前块对应的变换核对,根据所述当前块的形状信息和所述变换核对,确定所述当前块对应的变换核对索引。
第十一方面,提供了一种进行解码的解码端,所述解码端包括:
获取模块,用于:
获取当前块的编码数据;
从所述编码数据中获取变换核对索引,并获取所述当前块的帧内预测模式或者所述当前块的形状信息;
确定模块,用于根据所述当前块的帧内预测模式和所述变换核对索引,确定所述当前块对应的变换核对,或者,根据所述当前块的形状信息和所述变换核对索引,确定所述当前块对应的变换核对,其中,所述变换核对包括水平变换核和垂直变换核。
在本公开的一种可能的实施方式中,所述确定模块,用于:
如果所述变换核对索引为第一索引,且所述当前块的帧内预测模式的模式号小于或等于预设数值,则确定所述当前块对应的变换核对为第一变换核对;
如果所述变换核对索引为第一索引,且所述当前块的帧内预测模式的模式号大于预设数值,则确定所述当前块对应的变换核对为第二变换核对;
如果所述变换核对索引为第二索引,且所述当前块的帧内预测模式的模式号小于或等于预设数值,则确定所述当前块对应的变换核对为第二变换核对;
如果所述变换核对索引为第二索引,且所述当前块的帧内预测模式的模式号大于预设数值,则确定所述当前块对应的变换核对为第一变换核对。
在本公开的一种可能的实施方式中,所述确定模块,用于:
如果所述变换核对索引为第一索引,且所述当前块的形状信息满足预设形状限制条件,则确定所述当前块对应的变换核对为第一变换核对;
如果所述变换核对索引为第一索引,且所述当前块的形状信息不满足预设形状限制条件,则确定所述当前块对应的变换核对为第二变换核对;
如果所述变换核对索引为第二索引,且所述当前块的形状信息满足预设形状限制条件,则确定所述当前块对应的变换核对为第二变换核对;
如果所述变换核对索引为第二索引,且所述当前块的形状信息不满足预设形状限制条件,则确定所述当前块对应的变换核对为第一变换核对。
在本公开的一种可能的实施方式中,所述变换核对索引对应的二值化码字的第一个比特位是基于一个上下文模型进行的自适应二进制算术解码。
在本公开的一种可能的实施方式中,所述变换核对索引对应的二值化码字包括多个比特位,所述多个比特位中除第一个比特位之外的其它比特位中至少有一个比特位采用旁路的二 进制算术解码方式进行编码。
第十二方面,提供了一种进行编码的编码端,所述编码端包括:
获取模块,用于获取当前块的帧内预测模式、所述当前块对应的变换核对,或者所述当前块的形状信息、所述当前块对应的变换核对;
确定模块,用于根据所述当前块的帧内预测模式和所述当前块对应的变换核对,确定所述当前块对应的变换核对索引,或者,根据所述当前块的形状信息和所述当前块对应的变换核对,确定所述当前块对应的变换核对索引;
编码模块,用于对变换核对索引进行编码处理,添加至所述当前块的编码数据中。
在本公开的一种可能的实施方式中,所述确定模块,用于:
如果所述变换核对为第一变换核对,且所述当前块的帧内预测模式的模式号小于或等于预设数值,则确定所述当前块对应的变换核对索引为第一索引;
如果所述变换核对为第二变换核对,且所述当前块的帧内预测模式的模式号大于预设数值,则确定所述当前块对应的变换核对索引为第一索引;
如果所述变换核对为第二变换核对,且所述当前块的帧内预测模式的模式号小于或等于预设数值,则确定所述当前块对应的变换核对索引为第二索引;
如果所述变换核对为第一变换核对,且所述当前块的帧内预测模式的模式号大于预设数值,则确定所述当前块对应的变换核对索引为第二索引。
在本公开的一种可能的实施方式中,所述确定模块,用于:
如果所述变换核对为第一变换核对,且所述当前块的形状信息满足预设形状限制条件,则确定所述当前块对应的变换核对索引为第一索引;
如果所述变换核对为第二变换核对,且所述当前块的形状信息不满足预设形状限制条件,则确定所述当前块对应的变换核对索引为第一索引;
如果所述变换核对为第二变换核对,且所述当前块的形状信息-满足预设形状限制条件,则确定所述当前块对应的变换核对索引为第二索引;
如果所述变换核对为第一变换核对,且所述当前块的形状信息不满足预设形状限制条件,则确定所述当前块对应的变换核对索引为第二索引。
在本公开的一种可能的实施方式中,所述编码模块,用于:
根据对所述变换核对索引对应的二值化码字的第一个比特位基于一个上下文模型进行自适应二进制算术编码的方式进行编码。
在本公开的一种可能的实施方式中,所述编码模块,用于:
如果所述变换核对索引对应的二值化码字包括多个比特位,则对所述多个比特位中除所述第一个比特位之外的其它比特位中至少有一个比特位采用旁路的二进制算术编码方式进行编码。
第十三方面,提供了一种进行解码的解码端,包括处理器和存储器,其中,所述存储器,用于存放计算机程序;所述处理器,用于执行所述存储器上所存放的程序,实现上述第一方面、第三方面、第五方面任一方面的所述的方法步骤。
第十四方面,提供了一种进行编码的编码端,所述编码端包括:包括处理器和存储器,其中,所述存储器,用于存放计算机程序;所述处理器,用于执行所述存储器上所存放的程序,实现上述第二方面、第四方面、第六方面任一方面的方法步骤。
第十五方面,提供了一种计算机可读存储介质,所述存储介质内存储有计算机程序,所 述计算机程序被处理器执行时实现上述第一方面至第六方面任一方面所述的方法步骤。
第十六方面,提供了一种进行编码的和解码的系统,所述系统包括编码端和解码端,其中:
所述编码端,如上述第八方面所述的编码端;所述解码端,如上述第七方面所述的解码端;或者,
所述编码端,如上述第十方面所述的编码端;所述解码端,如上述第九方面所述的解码端;或者,
所述编码端,如上述第十二方面所述的编码端;所述解码端,如上述第十一方面所述的解码端。
本公开实施例提供的技术方案带来的有益效果至少包括:
本公开实施例中,编码端在编码当前块时,可以获取当前块对应的变换核对,进行编码处理,而不是直接获取预设的变换核对,所以可以提升编解码性能。编码端编码变换核对索引对应的二值化码字时,使用一个上下文模型对变换核对索引对应的二值化码字中第一个比特位进行编码处理,而不需要多个上下文模型,所以可以节约内存空间。另外,由于不需要多个上下文模型,所以也不需要更新上下文,可以降低编码和解码的复杂度。
附图说明
图1是本公开实施例提供的一种块的划分类型示意图;
图2是本公开实施例提供的一种CTU划分成CU的示意图;
图3是本公开实施例提供的常用的三种块的示意图;
图4是本公开实施例提供的进行帧内预测时的方向示意图;
图5是本公开实施例提供的一种进行编码的示意图;
图6是本公开实施例提供的一种分布信号的示意图;
图7是本公开实施例提供的一种残差信号分布的示意图;
图8是本公开实施例提供的一种进行编码的方法流程示意图;
图9是本公开实施例提供的一种进行解码的方法流程示意图;
图10是本公开实施例提供的一种进行编码的方法流程示意图;
图11是本公开实施例提供的一种进行解码的方法流程示意图;
图12是本公开实施例提供的一种进行编码的方法流程示意图;
图13是本公开实施例提供的一种进行解码的方法流程示意图;
图14是本公开实施例提供的一种解码端的结构示意图;
图15是本公开实施例提供的一种编码端的结构示意图;
图16是本公开实施例提供的一种解码端的结构示意图;
图17是本公开实施例提供的一种编码端的结构示意图;
图18是本公开实施例提供的一种解码端的结构示意图;
图19是本公开实施例提供的一种编码端的结构示意图;
图20是本公开实施例提供的一种编码端的结构示意图;
图21是本公开实施例提供的一种解码端的结构示意图。
具体实施方式
为使本公开的目的、技术方案和优点更加清楚,下面将结合附图对本公开实施方式作进一步地详细描述。
本公开提供了一种进行编码和进行解码的方法,进行编码的方法的执行主体为编码端,进行解码的方法的执行主体可以是解码端,其中,编码端或解码端可以是服务器、电脑、手机等能对视频数据进行编码和/或解码的设备。
其中,编码端或解码端中可以设置有处理器、存储器和收发器等,处理器可以用于进行编码和/或解码的处理,存储器可以用于存储进行编码和/或解码过程中需要的数据以及产生的数据,收发器可以用于接收以及发送数据,如获取视频数据等。
在进行实施前,首先对本公开实施例可能涉及的概念进行解释:
变换核(transform kernel):
在视频编码中,变换是实现视频数据压缩必不可少的阶段,能够使信号的能量更加集中,而基于DCT(Discrete Cosine Transform,离散余弦变换)/DST(Discrete Sine Transform,离散正弦变换)的变换技术一直是视频编码主流的变换技术。DCT和DST根据基函数的不同又具体分为多种变换核,表一给出了常用的三种变换核的基函数。
表一
Figure PCTCN2020078486-appb-000001
正变换(forward transform)和逆变换(inverse transform):
在视频编码过程中,变换过程包含了正变换和逆变换过程,又叫前向变换和反向变换,其中正变换是将一个二维残差信号(残差系数)转换成能量更加集中的二维频谱信号(变换系数),变换系数再经过量化过程可以有效去除高频成分,保留中低频成分,起到了压缩的作用。用矩阵形式表示如公式(1):
F=B·f·A T    (1)
其中,M表示残差块宽度,N表示残差块高度,f表示NxM维的原始残差信号,F表示NxM维的频域信号。A和B表示MxM和NxN维的变换矩阵,它们均满足正交性。
逆变换又称反变换,是正变换的逆过程,即通过正交变换矩阵A和B,将频域信号F转换成时域残差信号f。用矩阵形式表示为公式(2):
f=B T·F·A   (2)
水平变换(Horizental transform)和垂直变换(Vertical transform):
在视频编码的变换阶段,输入的是一个二维残差信号,如公式(3)所示,X=A·f T,则F=B·X T
F=B·f·A T=B·(A·f T) T   (3)
因此一个二维残差信号的正变换可以通过两次一维的正变换方式实现,第一次正变换后得到一个MxN的信号X,去除了二维残差信号的水平方向像素之间的相关性,因此第一次正变换称为水平变换,称A为水平变换矩阵,第二次正变换去除了二维残差信号的垂直方向像素之间的相关性,因此第二次正变换称为垂直变换,称B为垂直变换矩阵。
变换核对(Transform pair):
在下一代视频编码标准中,TU(Transmission Unit,变换单元)支持矩形块,因此M不一定等于N,因此A和B的维度不一定相等,除此之外,下一代视频编码标准还支持A和B不是同一种变换核生产的变换矩阵,因此在变换中存在A和B对应的变换核组成的变换核对{H,V},其中H称为水平变换核,V称为垂直变换核。
块划分技术(Block Partition)
在HEVC(High Efficiency Video Coding,高效率的视频压缩)中,一个64x64大小的CTU(Coding Tree Unit,编码树单元)使用四叉树递归划分成CU(Coding Unit,编码单元)。在叶子节点CU级确定是否使用帧内编码或者帧间编码。CU可以进一步划分成两个或者四个PU(Prediction Unit,预测单元),同一个PU内使用相同的预测信息。在预测完成后得到残差信号后,一个CU可以进一步四叉划分成多个TU。
但是在新提出的VVC(Versatile Video Coding,通用视频编码)中的块划分技术有了较大变化。一种混合了二叉树/三叉树/四叉树((binary/ternary/quaternary)tree(BT/TT/QT))划分结构取代了原先的划分模式,取消了原先CU,PU,TU的概念的区分,支持了CU的更灵活的划分方式。CU可以是正方形也可以是矩形划分,CTU首先进行四叉树的划分,然后四叉树划分的叶子节点可以进一步进行二叉树和三叉树的划分。也就是说总共有五种划分类型,四叉树划分,水平二叉树划分,垂直二叉树划分,水平三叉树划分和垂直三叉树划分,如图1所示,表示了五种划分类型,在图1中,(a)表示不划分,(b)表示四叉树划分,(c)水平二叉树划分,(d)垂直二叉树划分,(e)水平三叉树划分,(f)垂直三叉树划分。如图2所示,提供一个CTU划分成CU的示例图。
因此,基于上述划分方式,块通常存在三种形状,如图3所示,在图3中,(a)表示宽大于高的块,(b)宽等于高的块,(c)宽小于高的块。
帧内预测:
帧内预测是考虑到在图像中,相邻块之间存在很强的空域相关性,因此可以利用周围已经重建的像素作为参考像素对当前未编码块进行预测,因此只需要对残差信号(原始信号-预测信号)进行后续编码处理,而不是对原始信号进行编码处理,有效去除了空域上的冗余,大大提高了视频信号的压缩效率。而且在帧内预测中,更加密集的角度可以带来更好的预测效果,如图4所示,示出了VVC给出的67种帧内预测模式进行帧内预测时的角度方向示意图,帧内预测模式数量从HEVC的33种增加到65种,当模式号为0时,表示Planar(平面)模式,当模式号为1时,表示DC模式(DC模式指当前块的预测像素均为参考像素的平均值),黑色实线表示原来HEVC的角度方向(2,4,6,8,…,64,66),虚线是新增的角度方向(3,5,7,9,..,63,65),更加密集的角度方向能够更加有效地捕捉到自然视频中任意方向的边界,可以利用更多的参考信息进行率失真代价选择,从而可以找到更加适合的帧内预测模式来更 加准确地预测当前块,使得预测块更加接近原始块,编码当前块所需要传输的比特更少,从而编码性能更高。在进行帧内预测编码时,这67种帧内模式运用在所有尺寸的编码块上,包括亮度分量和色度分量。
在图4中,帧内预测模式的模式号为2~34,角度方向与水平向右方向的夹角范围为:-45度~45度,帧内预测模式的模式号为35~66,角度方向与水平向右方向的夹角范围为:-135度~-45度。
需要说明的是,在一个平面直角坐标系中,水平向右方向为x轴的正方向,竖直向上为y轴的正方向,这样,第一象限与第二象限中以原点为顶点的射线(射线远离原点的方向)与x轴的正方向构成的夹角为正值,第三象限与第四象限为中以原点为顶点的射线(射线远离原点的方向)与x轴的正方向构成的夹角为负值。例如,水平向右方向与第四象限中的对称轴(远离原点的方向)的夹角为-45度。
本公开实施例提供了一种常见的编码框架,如图5所示,完整的视频编码方法一般包括预测、变换、量化、熵编码、环内滤波等环节。其中预测具体分为帧内预测和帧间预测,帧内预测是考虑到在图像中,相邻块之间存在很强的空域相关性,因此可以利用周围已经重建的像素作为参考像素对当前未编码块进行预测,因此只需要对残差信号(原始信号-预测信号)进行后续编码处理,而不是对原始信号进行编码,有效去除了空域上的冗余,大大提高了视频信号的压缩效率。帧间预测是指利用视频信号时间域上的相关性,使用邻近已编码图像像素预测当前图像的像素,以达到去除视频时域冗余的目的。在帧间预测时,由于视频存在很强的时域相关性,即时域相邻的两帧图像有很多相似图像块,当前帧的图像块往往在相邻参考图像中进行运动搜索,找到与当前块最匹配的块作为参考块。由于参考块与当前块相似度高,两者的差值非常小,因此编码差值的码率开销通常远小于直接编码当前块像素值带来的码率开销。
在上述的变换过程中,对于同一TU(也可以称为是残差块,也可以称为是当前块)采用不同的变换核对对残差块进行压缩,压缩的效果大不相同。这是由变换核本身基函数所决定的,如图6所示,对应DCT2、DST7和DCT8三种变换核基函数,输入信号位为64点。从图中的零阶基函数可以看出,DCT2对均匀分布的信号具有较强的能量集中效果,并且形成的直流分量是输入信号均值的倍数,DST7对幅值递增的输入信号具有较强的能量集中效果,DCT8对幅值递减的输入信号具有较强的能量集中效果。
为了更直观感受不同变换核与残差特性的关系,如图7所示,5种不同的水平垂直变换核对代表的是不同类型的残差分布情况,对于{DCT2,DCT2}变换核类型,代表的是TU的残差分布均匀,对于{DST7,DST7}变换核类型,代表的是TU的残差分布从左到右,从上到下依次变大,主要分布在TU的右下角,类似地,{DCT8,DST7}代表残差主要分布在TU的左下角,{DST7,DCT8}代表残差主要分布在TU的右上角,{DCT8,DCT8}代表残差主要分布在TU的左上角。
上下文模型,指在视频编码中,基于上下文更新符号概率的过程称为上下文模型。
本公开实施例提供了一种进行编码的方法,该方法的执行流程可以如图8所示。
步骤801,编码端获取当前块的残差信号。
在实施中,编码端在对视频数据进行编码时,首先进行帧内预测,得到残差信号(得到残差块的方式与现有的视频编码标准中一致,不再赘述),然后将残差信号作为当前要进行处 理的当前块的残差信号。
选择帧内预测模式的方式可以如下:
一般评价编码效率的有两大指标:码率和PSNR(Peak Signal to Noise Ratio,峰值信噪比)。一般比特流越小,则压缩率越大;PSNR越大,重建图像质量越好。在进行模式选择的时候,判别公式实质上也就是对这二者的综合评价。
模式对应的率失真代价:J(mode)=D+λ*R。其中,D表示Distortion(失真),通常使用SSE(Sum of Squares Error,和方差)指标来衡量,SSE是指重建块与源图像的差值均方和,λ是拉格朗日乘子,R就是该帧内预测模式下图像块编码所需的实际比特数,包括编码模式信息、运动信息、残差信号等所需的比特总和。
编码端可以获取显式多核变换语法表,如表二所示,只要选取一种帧内预测模式,就选取表二中的每一个变换核对进行变换处理,再进行量化,再进行熵编码,再进行解码处理,这样,遍历完每一种帧内预测模式,然后选择率失真代价最小的帧内预测模式和变换核对,将该帧内预测模式,确定为当前块对应的帧内预测模式。这样,就可以确定当前块对应的帧内预测模式和变换核对。例如,帧内预测模式有67种,一种有5个变换核对,这样,会有67*5个组合,每个组合中包括一种帧内预测模式和一个变换核对,选取率失真代价最小的组合,用于最终的帧内预测和变换。
表二
Figure PCTCN2020078486-appb-000002
需要说明的是,表二的另外一种可能的实现形式也可以是使用DCT4替代DCT8,DST4来替代DST7,或者使用其它变换核来替代DCT8和DST7。
另外,如表三所示,为了缩短编码时长,在表二的基础上,可以将变换核对(DCT8,DCT8)删除,也即不进行(DCT8,DCT8)的RDO决策,这样,上述组合会从67*5个,变为67*4个,减少了RDO决策的次数,因此缩短了编码时长。而且由于少了变换核对(DCT8,DCT8),变换核对索引对应的二值化码字的比特位也会从4个减少至3个,也可以减少编码的比特开销。
表三
Figure PCTCN2020078486-appb-000003
需要说明的是,表三的另外一种可能的实现形式也可以是使用DCT2来替代DCT8,或者满足一定预设形状限制条件下使用DCT2替代DCT8。
另外,如表四所示,为了缩短编码时长,在表三的基础上,可以将变换核对(DST7,DCT8)删除。也即不进行(DST7,DCT8)的RDO决策,这样,上述组合会从67*4个,变为67*3个,减少了RDO决策的次数,因此缩短了编码时长。而且由于少了变换核对(DCT8,DCT8)、(DST7,DCT8),变换核对索引对应的二值化码字的比特位也会从3个减少至2个,也可以减少编码的比特开销。
表四
Figure PCTCN2020078486-appb-000004
另外,如表五所示,为了缩短编码时长,在表三的基础上,可以将变换核对(DCT8,DST7)删除。也即不进行(DCT8,DST7)的RDO决策,这样,上述组合会从67*4个,变为67*3个,减少了RDO决策的次数,因此缩短了编码时长。而且由于少了变换核对(DCT8,DCT8)、(DCT8,DST7),变换核对索引对应的二值化码字的比特位也会从3个减少至2个,也可以减少编码的比特开销。
表五
Figure PCTCN2020078486-appb-000005
另外,如表六所示,为了缩短编码时长,在表二的基础上,可以将变换核对(DCT8,DCT8)、(DCT8,DST7)、(DST7,DCT8)删除。也即不进行(DCT8,DCT8)、(DCT8,DST7)、(DST7,DCT8)的RDO决策,这样,上述组合会从67*4个,变为67*2个,减少了RDO决策的次数,因此缩短了编码时长。而且由于少了变换核对(DCT8,DCT8)、(DCT8,DST7)、(DST7,DCT8),变换核对索引对应的二值化码字的比特位也会从3个减少至1个,也可以减少编码的比特开销。
需要说明的是,表四和表五的另外一种可能的实现形式也可以是使用DCT2来替代DCT8,或者满足一定预设形状限制条件下使用DCT2替代DCT8。
表六
Figure PCTCN2020078486-appb-000006
需要说明的是,使用表四时,虽然RDO决策的次数减少,但是编码性能也降低了。
另外,还需要说明的是,对于表二,变换对索引对应的二值化码字的第一个比特位是为了区分当前块使用变换核对索引1对应的变换核对,还是变换核对索引2-5对应的变换核对;编码第二个比特位是为了区分当前块使用变换核对索引2对应的变换核对,还是变换核对索引3-5对应的变换核对;编码第三个比特位是为了区分当前块使用变换核对索引3对应的变换核对,还是变换核对索引4-5对应的变换核对;编码第四个比特位是为了区分当前块使用变换核对索引4对应的变换核对,还是变换核对索引5对应的变换核对。也即,如果第一个比特位为0,说明使用(DCT2,DCT2)的变换核对,如果第一个比特位为1,第二个比特位为0,说明使用(DST7,DST7)的变换核对;如果第一个比特位为1,第二个比特位为1,第三个比特位为0,说明使用(DCT8,DST7)的变换核对;如果第一个比特位为1,第二个比特位为1,第三个比特位为1,第四个比特位为0,说明使用(DST7,DCT8)的变换核对;如果第一个比特位为1,第二个比特位为1,第三个比特位为1,第四个比特位为1,说明使用(DCT8,DCT8)的变换核对。
另外,还需要说明的是,对于表三,变换对索引对应的二值化码字的第一个比特位是为了区分当前块使用变换核对索引1对应的变换核对,还是变换核对索引2-4对应的变换核对;编码第二个比特位是为了区分当前块使用变换核对索引2对应的变换核对,还是变换核对索引3-4对应的变换核对;编码第三个比特位是为了区分当前块使用变换核对索引3对应的变换核对,还是变换核对索引4对应的变换核对。也即,如果第一个比特位为0,说明使用(DCT2,DCT2)的变换核对;如果第一个比特位为1,第二个比特位为0,说明使用(DST7,DST7)的变换核对;如果第一个比特位为1,第二个比特位为1,第三个比特位为0,说明使用(DCT8,DST7)的变换核对;如果第一个比特位为1,第二个比特位为1,第三个比特位为1,说明使用(DST7,DCT8)的变换核对。
另外,还需要说明的是,对于表四,变换对索引对应的二值化码字的第一个比特位是为了区分当前块使用变换核对索引1对应的变换核对,还是变换核对索引2-3对应的变换核对,编码第二个比特位是为了区分当前块使用变换核对索引2对应的变换核对,还是变换核对索引3对应的变换核对。也即,如果第一个比特位为0,说明使用(DCT2,DCT2)的变换核对;如果第一个比特位为1,第二个比特位为0,说明使用(DST7,DST7)的变换核对;如果第一个比特位为1,第二个比特位为1,说明使用(DCT8,DST7)的变换核对。
另外,还需要说明的是,对于表五,变换对索引对应的二值化码字的第一个比特位是为了区分当前块使用变换核对索引1对应的变换核对,还是变换核对索引2-3对应的变换核对;编码第二个比特位是为了区分当前块使用变换核对索引2对应的变换核对,还是变换核对索引3对应的变换核对。也即,如果第一个比特位为0,说明使用(DCT2,DCT2)的变换核对;如果第一个比特位为1,第二个比特位为0,说明使用(DST7,DST7)的变换核对;如果第一个比特位为1,第二个比特位为1,说明使用(DST7,DCT8)的变换核对。
另外,还需要说明的是,对于表六,变换对索引对应的二值化码字的第一个比特位是为了区分当前块使用变换核对索引1对应的变换核对,还是变换核对索引2对应的变换核对。也即,如果第一个比特位为0,说明使用(DCT2,DCT2)的变换核对,如果第一个比特位为1,说明使用(DST7,DST7)的变换核对。
步骤802,编码端确定当前块对应的变换核对以及当前块对应的变换核对索引。
其中,变换核对包括垂直变换核和水平变换核。
在实施中,编码端可以获取最终选择的变换核对,然后在表二至表六任一个表所描述的 变换核对与变换核对索引的对应关系中,选取出该变换核对对应的变换核对索引。
需要说明的是,在编码时,一般已经固定了使用表二至表六中的哪一个,所以仅能获取到表二至表六中的一个表。
在本公开的一种可能的实施方式中,在步骤802之前,还可以进行如下判断:
编码端确定当前块的高度与宽度均小于或者等于预设阈值,且当前块为亮度块。
其中,预设阈值可以预设,并且存储至编码端,预设阈值一般为N(N可以为32)。
在实施中,编码端在执行完步骤801时,可以确定当前块在高度方向的像素点的数目,即为当前块的高度,并且确定当前块在宽度方向上的像素点的数目,即为当前块的宽度。并且可以判断当前块是否为亮度块,如果是当前块为亮度块,且当前块的高度与宽度均小于或等于预设阈值,才执行步骤802的处理。
在本公开的一种可能的实施方式中,还可以使用帧内预测模式或者当前块的形状信息,确定变换核对索引,如下所示:
方式一,编码端确定当前块对应的变换核对,根据当前块的帧内预测模式和变换核对,确定当前块对应的变换核对索引。
在实施中,编码端可以按照前面提到的方式确定变换核对和当前块的帧内预测模式,然后获取预设的显式多核变换核对的语法表,在该语法表中,使用帧内预测模式和变换核对,确定出当前块对应的变换核对索引。
在本公开的一种可能的实施方式中,可以使用如下方式,使用帧内预测模式,确定变换核对索引,相应的处理可以如下:
如果变换核对为第一变换核对,且当前块的帧内预测模式的模式号小于或等于预设数值,则确定当前块对应的变换核对索引为第一索引,如果变换核对为第二变换核对,且当前块的帧内预测模式的模式号大于预设数值,则确定当前块对应的变换核对索引为第一索引,如果变换核对为第二变换核对,且当前块的帧内预测模式的模式号小于或等于预设数值,则确定当前块对应的变换核对索引为第二索引,如果变换核对为第一变换核对,且当前块的帧内预测模式的模式号大于预设数值,则确定当前块对应的变换核对索引为第二索引。
在实施中,预设的显式多核变换对的语法表,如表七所示:
表七
Figure PCTCN2020078486-appb-000007
在表七中第一变换核对为(DST7,DCT8),帧内预测模式的模式号小于或等于预设数值(预设数值为34),可以确定变换核对索引为3,那么对应的二值化码字的比特位有3个,依次为1、1、0。第二变换核对为(DCT8,DST7),帧内预测模式的模式号大于34,可以确定 对应的变换核对索引为3,那么对应的二值化码字的比特位有3个,依次为1、1、0。第二变换核对为(DCT8,DST7),帧内预测模式的模式号小于或等于34,可以确定对应的变换核对索引为4,那么对应的二值化码字的比特位有4个,依次为1、1、1、0。第一变换核对为(DST7,DCT8),帧内预测模式的模式号大于34,可以确定变换核对索引为4,那么对应的二值化码字的比特位有4个,依次为1、1、1、0。
需要说明的是,由于某些变换核对可以直接确定出变换核对索引,所以在进行方式一时满足的条件为:确定出的变换核对不是(DCT2,DCT2)、(DST7,DST7)、(DCT8,DCT8)中的任一种。
还需要说明的是,在表七中,变换核对索引为3时,上述Mode=0~34?DST7:DCT8指:帧内预测模式的模式号为0至34为真时,水平变换核为DST7,否则水平变换核为DCT8。Mode=0~34?DCT8:DST7指:帧内预测模式的模式号为0至34为真时,垂直变换核为DCT8,否则垂直变换核为DST7。变换核对索引为4时,上述Mode=0~34?DCT8:DST7指:帧内预测模式的模式号为0至34为真时,水平变换核为DCT8,否则水平变换核为DST7。Mode=0~34?DST7:DCT8指:帧内预测模式的模式号为0至34为真时,垂直变换核为DST7,否则垂直变换核为DCT8。
方式二,编码端确定当前块对应的变换核对,根据当前块的形状信息和变换核对,确定当前块对应的变换核对索引。
在实施中,编码端可以按照前面提到的方式,确定变换核对和当前块的形状信息,然后获取预设的显式多核变换核对的语法表,在该表中,使用变换核对和当前块的形状信息,确定出当前块对应的变换核对索引。
在本公开的一种可能的实施方式中,在参考当前块的形状信息确定出变换核对索引的处理可以如下:
如果变换核对为第一变换核对,且当前块的形状信息满足预设形状限制条件,则确定当前块对应的变换核对索引为第一索引。如果变换核对为第二变换核对,且当前块的形状信息不满足预设形状限制条件,则确定当前块对应的变换核对索引为第一索引。如果变换核对为第二变换核对,且当前块的形状信息满足预设形状限制条件,则确定当前块对应的变换核对索引为第二索引。如果变换核对为第一变换核对,且当前块的形状信息不满足预设形状限制条件,则确定当前块对应的变换核对索引为第二索引。
其中,预设形状限制条件可以预设,并且存储至编码端,预设形状限制条件为宽度大于或等于高度。
在实施中,预设的显式多核变换对的语法表如表八所示:
表八
Figure PCTCN2020078486-appb-000008
Figure PCTCN2020078486-appb-000009
在表八中第一变换核对为(DST7,DCT8),当前块的形状信息为宽度大于或等于高度,可以确定变换核对索引为3,那么对应的二值化码字的比特位有3个,依次为1、1、0。第二变换核对为(DCT8,DST7),当前块的形状信息为宽度小于高度,可以确定对应的变换核对索引为3,那么对应的二值化码字的比特位有3个,依次为1、1、0。第二变换核对为(DCT8,DST7),当前块的形状信息为宽度大于或等于高度,可以确定对应的变换核对索引为4,那么对应的二值化码字的比特位有4个,依次为1、1、1、0。第一变换核对为(DST7,DCT8),当前块的形状信息为宽度小于高度,可以确定变换核对索引为4,那么对应的二值化码字的比特位有4个,依次为1、1、1、0。
基于表八,方式二中,当前块的形状信息为宽度大于或等于高度,第一变换核对为(DST7,DCT8)时,第一索引为3;当前块的形状信息为宽度小于高度,第二变换核对为(DCT8,DST7),第一索引为3;当前块的形状信息为宽度小于高度,第一变换核对为(DST7,DCT8),第二索引为4,当前块的形状信息为宽度大于或等于高度,第二变换核对为(DCT8,DST7),第二索引为4。
需要说明的是,由于某些变换核对可以直接确定出变换核对索引,所以在进行方式二时满足的条件为:确定出的变换核对不是(DCT2,DCT2)、(DST7,DST7)、(DCT8,DCT8)中的任一种。
还需要说明的是,在表八中,变换核对索引为3时,上述W≥H?DST7:DCT8指:当前块的宽度大于或等于高度为真时,水平变换核为DST7,否则水平变换核为DCT8。W≥H?DCT8:DST7指:当前块的宽度大于或等于高度为真时,垂直变换核为DCT8,否则垂直变换核为DST7。变换核对索引为4时,上述W≥H?DCT8:DST7指:当前块的宽度大于或等于高度为真时,水平变换核为DCT8,否则水平变换核为DST7。W≥H?DST7:DCT8指:当前块的宽度大于或等于高度为真时,垂直变换核为DST7,否则垂直变换核为DCT8。
还需要说明的是,上述表七中,Mode表示模式号,上述表八中,W表示宽度,H表示高度。
这样,由于上述基于当前块的形状信息、帧内预测模式自适应的调整变换核对的优先级,可以使概率越高的变换核对,需要编码的变换核对索引对应的二值化码字越短。
另外,编码端在获取到当前块后,可以首先判断当前块的高度和宽度是否均小于或等于N(N可以为32),并且判断是否是亮度块,如果当前块的高度和宽度均小于或等于N,且是亮度块,则可以继续执行步骤801,如果高度和宽度均小于或等于N、是亮度块二者至少一个不满足,则直接获取预设的变换核对(即(DCT2,DCT2))。
步骤803,编码端根据变换核对,对当前块的残差信号进行编码处理,得到当前块对应的编码数据。
在实施中,编码端在获取到当前块对应的变换核对后,可以基于变换核对,对当前块的残差信号进行变换,得到变换系数,然后对变换系数进行量化处理,得到量化系数,对量化系数进行熵编码处理,得到当前块对应的编码数据。
步骤804,编码端根据对变换核对索引对应的二值化码字的第一个比特位基于一个上下文模型进行自适应二进制算术编码的方式,对变换核对索引进行编码,添加至当前块的编码 数据中。
在实施中,为了使解码端可以知道编码端所使用的变换核对,所以要在编码数据中添加变换核对索引。
编码端可以对变换核对索引对应的二值化码字的第一个比特位基于一个上下文模型进行自适应的二进制算术编码,如果二值化码字还包括其它比特位,对这些其它比特位,可以使用CABAC(Context-based Adaptive Binary Arithmetic Coding,基于上下文的自适应二进制算术编码)的方式进行编码,也可以使用旁路的二进制算术编码方式进行编码。然后编码端将编码后的变换核对索引添加至当前块的编码数据中。
这样,就完成了当前块的编码处理。每个当前块都按照图8所示的流程进行处理,即可编码一整段的视频数据。
在本公开的一种可能的实施方式中,对于上述其它比特位,可以使用旁路的二进制算术编码方式进行编码,相应的处理可以如下:
如果变换核对索引对应的二值化码字包括多个比特位,则对第一个比特位基于一个上下文模型进行自适应二进制算术编码,并对多个比特位中除第一个比特位之外的其它比特位中至少有一个比特位采用旁路的二进制算术编码方式进行编码,将编码后的变换核对索引,添加至当前块的编码数据中。
在实施中,在变换核对索引对应的二值化码字包括多个比特位时,可以对第一个比特位基于一个上下文模型进行自适应的二进制算术编码,并且对多个比特位中除第一个比特位之外的其它比特位中至少一个比特位采用旁路的二进制算术编码方式进行编码,然后将编码后的变换核对索引,添加至当前块的编码数据中。
例如,所使用的变换核对为(DCT8,DCT8),对应有4个比特位,依次为1、1、1、1,在编码第一个比特位时,使用一个上下文模型,在编码后面3个比特位时,均使用旁路的二进制算术编码方式进行编码。这样,不需要存储后面几个比特位的上下文模型,所以可以节约内存空间,并且降低编码和解码的复杂度。
另外,为了使解码端也可以使用显式多核变换方式,可以在编码数据中添加目标标识,目标标识用于指示使用了显式多核变换方式。
对于上述图8所示的编码方式,本公开实施例还提供了对应的解码方式,如图9所示,处理流程可以如下:
步骤901,解码端获取当前块的编码数据。
在实施中,解码端有编码数据要进行解码时,可以获取编码数据,然后对编码数据进行熵解码处理,对熵解码结果进行反量化处理,得到当前块的编码数据。
步骤902,解码端从编码数据中获取当前块的变换核对索引,其中,变换核对索引对应的二值化码字的第一个比特位是基于一个上下文模型进行的自适应二进制算术解码。
在实施中,解码端可以从当前块的编码数据中获取当前块对应的变换核对索引,编码端对当前块的变换核对索引进行编码时,变换核对索引对应的二值化码字的第一个比特位是基于一个上下文模型进行的自适应二进制算术编码。这样,在解码第一个比特位时,解码端也是基于一个上下文模型进行的自适应二进制算术解码。
在本公开的一种可能的实施方式中,在步骤902之前,还可以进行如下判断:
解码端确定当前块的高度与宽度均小于或者等于预设阈值,且当前块为亮度块。
其中,预设阈值可以预设,并且存储至解码端,预设阈值一般为N(N可以为32)。
在实施中,解码端在执行完步骤901时,可以确定当前块在高度方向的像素点的数目,即为当前块的高度,并且确定当前块在宽度方向上的像素点的数目,即为当前块的宽度。并且解码端可以判断当前块是否为亮度块,如果是当前块为亮度块,且当前块的高度与宽度均小于或等于预设阈值,才执行步骤902的处理。
另外,在执行步骤902的处理之前,还可以判断编码数据中是否携带有目标标识,目标标识用于指示进行显式多核变换处理。如果编码数据中包括目标标识,说明使用了显式多核变换处理,可以进行步骤902的处理。
步骤903,解码端根据变换核对索引,确定当前块对应的变换核对,其中,变换核对包括水平变换核和垂直变换核。
在实施中,解码端在确定出当前块的变换核对索引之后,可以在变换核对索引和变换核对的对应关系中,确定当前块对应的变换核对。
步骤904,解码端根据变换核对,对当前块进行解码处理,得到当前块对应的重建信息。
在实施中,解码端在确定出当前块对应的变换核对后,可以使用该变换核对,对当前块反量化后的数据进行反变换处理,得到当前块对应的残差信号,然后将残差信号与预测信号进行相加,得到当前块对应的重建信息。
这样,就完成了当前块的解码处理。每个当前块都按照图9所示的流程进行处理,即可解码一整段的视频数据。
在步骤903中,有多种方式可以确定当前块的变换核对,以下给出多种可行的方式:
方式一:如表二所示,变换核索引为1,说明使用的变换核对为(DCT2,DCT2),变换核索引为2,说明使用的变换核对为(DST7,DST7),变换核索引为3,说明使用的变换核对为(DCT8,DST7),变换核索引为4,说明使用的变换核对为(DST7,DCT8),变换核索引为5,说明使用的变换核对为(DCT8,DCT8)。
方式二,可以使用表三描述的变换核对索引与变换核对的对应关系、当前块的变换核对索引,确定当前块的变换核对。
方式三,可以使用表四描述的变换核对索引与变换核对的对应关系、当前块的变换核对索引,确定当前块的变换核对。
方式四,可以使用表五描述的变换核对索引与变换核对的对应关系、当前块的变换核对索引,确定当前块的变换核对。
方式五,可以使用表六描述的变换核对索引与变换核对的对应关系、当前块的变换核对索引,确定当前块的变换核对。
在本公开的一种可能的实施方式中,还可以使用当前块的帧内模式信息或者,当前块的形状信息,确定变换核对,相应的处理可以如下:
解码端根据当前块的帧内预测模式和变换核对索引,确定当前块对应的变换核对;或者,
解码端根据变换核对索引、当前块的宽度和高度,确定当前块对应的变换核对。
在实施中,如果变换核对索引为第一索引,且当前块的帧内预测模式的模式号小于或等于预设数值,则确定当前块对应的变换核对为第一变换核,如果变换核对索引为第一索引,且当前块的帧内预测模式的模式号大于预设数值,则确定当前块对应的变换核对为第二变换核,如果变换核对索引为第二索引,且当前块的帧内预测模式的模式号小于或等于预设数值,则确定当前块对应的变换核对为第二变换核,如果变换核对索引为第二索引,且当前块的帧内预测模式的模式号大于预设数值,则确定当前块对应的变换核对为第一变换核。
或者,如果变换核对索引为第一索引,且当前块的形状信息满足预设形状限制条件,则确定当前块对应的变换核对为第一变换核对,如果变换核对索引为第一索引,且当前块的形状信息不满足预设形状限制条件,则确定当前块对应的变换核对为第二变换核对,如果变换核对索引为第二索引,且当前块的形状信息满足预设形状限制条件,则确定当前块对应的变换核对为第二变换核对,如果变换核对索引为第二索引,且当前块的形状信息不满足预设形状限制条件,则确定当前块对应的变换核对为第一变换核对。(该过程可以步骤803的过程相对应,此处不再赘述)
上述预设数值可以为表七中的34,第一索引可以为3,第一变换核对为(DST7,DCT8),第二索引可以为4,第二变换核对为(DCT8,DST7)。
在本公开的一种可能的实施方式中,为了节约编码端的内存空间,编码端在对变换核对索引对应的二值化码字进行编码时,如果变换核对索引对应的二值化码字包括多个比特位,多个比特位中除第一个比特位之外的其它比特位中至少有一个比特位采用旁路的二进制算术编码方式进行编码。这样,如果某个比特位采用旁路的二进制算术编码方式进行编码,就不需要存储上下文模型,所以可以节约内存空间。同样,解码端在解码时,也使用相应的方式进行解码。
本公开实施例中,编码端在编码当前块时,可以获取当前块对应的变换核对,进行编码处理,而不是直接获取预设的变换核对,所以可以提升编解码性能。编码端编码变换核对索引对应的二值化码字时,使用一个上下文模型对变换核对索引对应的二值化码字中第一个比特位进行编码处理,而不需要多个上下文模型,所以可以节约内存空间。另外,由于不需要多个上下文模型,所以也不需要更新上下文,可以降低编码和解码的复杂度。
本公开另一实施例,考虑到变换核对索引对应的二值化码字包括多个比特位时内存空间的节约,提供了以下的编解码过程,如图10所示:
步骤1001,编码端获取当前块的残差信号。
在实施中,编码端在对视频数据进行编码时,首先进行帧内预测,得到残差信号(得到残差信号的方式与现有的视频编码标准中一致,不再赘述),然后将残差信号作为当前要进行处理的当前块的残差信号。
选择帧内预测模式的方式与步骤801中选择帧内预测模式的方式相同,可以参见步骤801,此处不再赘述。
步骤1002,编码端确定当前块对应的变换核对以及当前块对应的变换核对索引。
其中,变换核对包括垂直变换核和水平变换核。
在实施中,编码端可以获取最终选择的变换核对,然后在表二至表六任一个表中选取出该变换核对对应的变换核对索引。(此处理过程可以参见步骤802的处理)。
需要说明的是,在编码时,一般已经固定了使用表二至表六中的哪一个,所以仅能获取到表二至表六中的一个表。
在本公开的一种可能的实施方式中,有多种方式可以确定变换核对索引,以下给出两种可行的实施方式:
方式一,编码端确定当前块对应的变换核对,根据当前块的帧内预测模式和变换核对,确定当前块对应的变换核对索引。
此过程与步骤802中表七所示的方式一完全相同,此处不再赘述。
方式二,编码端确定当前块对应的变换核对,根据当前块的形状信息和变换核对,确定当前块对应的变换核对索引。
此过程与步骤802中表八所示的方式二完全相同,此处不再赘述。
另外,编码端在获取到当前块后,可以首先判断当前块的高度和宽度是否均小于或等于N(N可以取32),并且判断是否是亮度块,如果当前块的高度和宽度均小于或等于32,且是亮度块,则可以继续执行步骤1002,如果高度和宽度均小于或等于32、是亮度块二者至少一个不满足,则直接获取预设的变换核对(即(DCT2,DCT2))。
步骤1003,编码端根据变换核对,对当前块的残差信号进行编码处理,得到当前块对应的编码数据。
在实施中,编码端在获取到当前块对应的变换核对后,可以基于变换核对,对当前块的残差信号进行变换,得到变换系数。然后编码端对变换系数进行量化处理,得到量化系数,编码端对量化系数进行熵编码处理,得到当前块对应的编码数据。
步骤1004,如果变换核对索引对应的二值化码字包括多个比特位,编码端则对多个比特位中除第一个比特位之外的其它比特位中至少有一个比特位采用旁路的二进制算术编码方式进行编码,添加至当前块的编码数据中。
在实施中,为了使解码端可以知道编码端所使用的变换核对,所以要在编码数据中添加变换核对索引。
如果变换核对索引对应的二值化码字包括多个比特位,编码端可以对变换核对索引对应的二值化码字中第一个比特位采用CABAC的方式进行编码,如果变换核对索引中还包括其它比特位,对这些其它比特位,至少一个比特位使用旁路的二进制算术编码方式进行编码,然后将编码后的变换核对索引添加至编码数据中。这样,由于旁路的二进制算术编码方式不需要存储上下文模型,所以如果使用旁路的二进制算术编码方式进行编码,该比特位不需要存储上下文模型。
这样,就完成了当前块的编码处理。每个当前块都按照图10所示的流程进行处理,即可编码一整段的视频数据。
在本公开的一种可能的实施方式中,对第一个比特位基于一个上下文模型进行自适应二进制算术编码。
在实施中,在使用CABAC的方式对第一个比特位进行编码时,可以使用一个上下文模型进行的自适应二进制算术编码,而不是多个上下文模型,所以不需要存储多个上下文模型,也可以节约存储空间。
另外,为了使解码端也可以使用显式多核变换方式,可以在编码数据中添加目标标识,目标标识用于指示使用了显式多核变换方式。
基于图10所示的编码方式,如图11所示,本公开实施例还提供了相应的解码方式:
步骤1101,解码端获取当前块的编码数据。
在实施中,解码端有编码数据要进行解码时,可以获取编码数据,然后对编码数据进行熵解码处理。解码端对熵解码结果进行反量化处理,得到编码数据中的当前块,作为当前块的编码数据。
步骤1102,解码端从编码数据中获取变换核对索引,其中,如果变换核对索引对应的二值化码字包括多个比特位,则多个比特位中除第一个比特位之外的其它比特位中至少有一个 比特位采用旁路的二进制算术编码方式进行解码。
在实施中,解码端可以从编码数据中获取当前块对应的变换核对索引,在编码端对当前块的变换核对索引进行编码时,如果变换核对索引对应的二值化码字包括多个比特位,则多个比特位中除第一个比特位之外的其它比特位中至少有一个比特位采用旁路的二进制算术编码方式进行编码。这样,在解码端解码使用旁路的二进制算术编码方式进行编码的比特位时,也是使用旁路的二进制算术解码方式进行解码,也可以节约解码端的内存空间。
在本公开的一种可能的实施方式中,为了节约内存空间,多个比特位中的第一个比特位采用一个上下文模型编码。
在本公开的一种可能的实施方式中,在进行步骤1102之前,确定当前块的高度与宽度均小于或者等于目标数值,且当前块为亮度块。
在实施中,目标数值可以预设并且存储至解码端,一般为N(N可以为32)。在当前块的高度和宽度均小于或者等于N,且当前块为亮度块时,才进行步骤1102的处理。否则可以确定当前块对应的变换核对为(DCT2,DCT2),后续可以直接使用该变换核对进行解码处理。
另外,在执行步骤1102的处理之前,还可以判断编码数据中是否携带有目标标识,目标标识用于指示进行显式多核变换处理。如果编码数据中目标标识,说明使用了显式多核变换处理,可以进行步骤1102的处理。
步骤1103,解码端根据变换核对索引,确定当前块对应的变换核对,其中,变换核对包括水平变换核和垂直变换核。
此过程与步骤903的处理过程完全相同,可以参见步骤903的处理,此处不再赘述。
在本公开的一种可能的实施方式中,在确定变换核对时,还可以使用当前块的高度和宽度,或者当前块的帧内预测模式,相应的处理可以如下:
根据当前块的帧内预测模式和变换核对索引,确定当前块对应的变换核对;或者,根据当前块的形状信息和变换核对索引,确定当前块对应的变换核对,其中,变换核对包括水平变换核和垂直变换核。
在实施中,该过程与步骤903中使用当前块的高度和宽度,或者当前块的帧内预测模式确定变换核对的方式相同,可以参见步骤903的处理,此处不再赘述。
步骤1104,解码端根据变换核对,对当前块进行解码处理,得到当前块对应的重建信息。
在实施中,在确定出当前块对应的变换核对后,解码端可以使用该变换核对,对当前块对应的量化系数进行反变换处理,得到当前块对应的残差信号。然后解码端利用当前块周围已经重建区域内像素点的像素值,按照所使用的帧内预测模式构建预测信号,然后将残差信号与预测信号进行相加,得到当前块对应的重建信息。
这样,就完成了当前块的解码处理。每个当前块都按照图11所示的流程进行处理,即可解码一整段的视频数据。
本公开实施例中,编码端在编码当前块时,可以获取当前块对应的变换核对,进行编码处理,而不是直接获取预设的变换核对,所以可以提升编解码性能。编码端编码变换核对索引时,使用旁路的二进制算术编码方式对变换核对索引对应的二值化索引中除第一个比特位之外的其它比特位中至少一个比特位进行编码处理,对于这至少一个比特位不需要存储上下文模型,所以可以节约内存空间。另外,由于至少一个比特位未使用CABAC方式,而使用旁路的二进制算术编码方式,不需要更新上下文模型,所以也可以降低编码和解析的复杂度。
本公开另一实施例中,如图12所示,还提供了基于当前块的形状信息、或者当前块的帧内预测模式,确定变换核对的处理:
步骤1201,编码端获取当前块的残差信号。
在实施中,编码端在对视频数据进行编码时,首先进行帧内预测,得到残差信号(得到残差信号的方式与现有的视频编码标准中一致,不再赘述)。然后编码端将残差信号作为当前要进行处理的当前块的残差信号。
需要说明的是,本公开实施例中的TU与前面提到的CU一样。
选择帧内预测模式的方式与步骤801中选择帧内预测模式的方式相同,可以参见步骤801,此处不再赘述。
步骤1202,编码端获取当前块的帧内预测模式、当前块对应的变换核对,或者当前块的形状信息、当前块对应的变换核对。
其中,变换核对包括垂直变换核和水平变换核。
在实施中,编码端可以获取步骤1201最终在帧内预测时,使用的帧内预测模式(即为当前块对应的帧内预测模式),以及使率失真代价最小时,该帧内预测模式对应的变换核对(即为当前块对应的变换核对)。
或者,编码端可以确定该当前块的高度和宽度(即编码块在高度方向像素点的数目,编码块在宽度方向像素点的数目),这样,编码端就可以获取到当前块的形状信息,并且获取使率失真代价最小时,所使用的变换核对(即为当前块对应的变换核对)。
另外,编码端在获取到当前块后,可以首先判断当前块的高度和宽度是否均小于或等于N(N可以为32),并且判断是否是亮度块,如果当前块的高度和宽度均小于或等于N,且是亮度块,则可以继续执行步骤1202,如果高度和宽度均小于或等于N、是亮度块二者至少一个不满足,则直接获取预设的变换核对(即(DCT2,DCT2))。
步骤1203,编码端根据当前块的帧内预测模式和当前块对应的变换核对,确定当前块对应的变换核对索引,或者,根据当前块的形状信息和当前块对应的变换核对,确定当前块对应的变换核对索引。
在实施中,在步骤1202确定出的变换核对不是(DCT2,DCT2)、(DST7,DST7)、(DCT8,DCT8)中的任一种时,可以获取预设的显式多核变换对的语法表(如上述表七所示),可以从表七中确定出当前块对应的帧内预测模式和变换核对共同对应的变换核对索引,即为当前块对应的变换核对索引。例如,变换核对为(DST7,DCT8),当前块对应的帧内预测模式的模式号为32,则共同对应的变换核对索引为3。
或者,在步骤1202确定出的变换核对不是(DCT2,DCT2)、(DST7,DST7)、(DCT8,DCT8)中的任一种时,可以获取预设的显式多核变换对的语法表(如上述表八所示),可以从表八中确定出当前块的形状信息、变换核对共同对应的变换核对索引,即为当前块对应的变换核对索引。例如,变换核对为(DST7,DCT8),当前块的宽度大于高度,则共同对应的变换核对索引为3。
在本公开的一种可能的实施方式中,编码端在使用帧内预测模式和变换核对确定变换核索引时,可以使用如下方式:
如果变换核对为第一变换核对,且当前块的帧内预测模式的模式号小于或等于预设数值,则确定当前块对应的变换核对索引为第一索引,如果变换核对为第二变换核对,且当前块的帧内预测模式的模式号大于预设数值,则确定当前块对应的变换核对索引为第一索引,如果 变换核对为第二变换核对,且当前块的帧内预测模式的模式号小于或等于预设数值,则确定当前块对应的变换核对索引为第二索引,如果变换核对为第一变换核对,且当前块的帧内预测模式的模式号大于预设数值,则确定当前块对应的变换核对索引为第二索引。
在实施中,该过程与步骤802中的表七所示的方式一完全相同,此处不再赘述。
在本公开的一种可能的实施方式中,编码端在使用当前块的形状信息、变换核对确定变换核索引时,可以使用如下方式:
如果变换核对为第一变换核对,且当前块的形状信息满足预设形状限制条件,则确定当前块对应的变换核对索引为第一索引,如果变换核对为第二变换核对,且当前块的形状信息不满足预设形状限制条件,则确定当前块对应的变换核对索引为第一索引,如果变换核对为第二变换核对,且当前块的形状信息-满足预设形状限制条件,则确定当前块对应的变换核对索引为第二索引,如果变换核对为第一变换核对,且当前块的形状信息不满足预设形状限制条件,则确定当前块对应的变换核对索引为第二索引。
在实施中,该过程与步骤802中的表八所示的方式二完全相同,此处不再赘述。
步骤1204,编码端根据变换核对,对当前块的残差信号进行编码处理,得到当前块对应的编码数据。
在实施中,编码端在获取到当前块对应的变换核对后,可以基于变换核对,对当前块的残差信号进行变换,得到变换系数。然后编码端对变换系数进行量化处理,得到量化系数,编码端对量化系数进行熵编码处理,得到当前块对应的编码数据。
步骤1205,编码端对变换核对索引进行编码处理,添加至当前块的编码数据中。
在实施中,为了使解码端可以知道编码端所使用的变换核对,所以要在编码数据中添加变换核对索引的二值化码字。
编码端可以对变换核对索引进行编码处理,然后将编码处理后的变换核对索引添加至编码数据中。
这样,就完成了当前块的编码处理。每个当前块都按照图12所示的流程进行处理,即可编码一整段的视频数据。
在本公开的一种可能的实施方式中,为了节约内存空间,可以按照如下方式编码变换核对索引,相应的步骤1205的处理可以如下:
如果变换核对索引对应的二值化码字包括多个比特位,则对第一个比特位使用CABAC方式进行编码,并对多个比特位中除第一个比特位之外的其它比特位中至少有一个比特位采用旁路的二进制算术编码方式进行编码。
在实施中,如果变换核对索引对应的二值化码字仅包括一个比特位,则可以直接使用CABAC方式进行编码处理,如果变换核对索引对应的二值化码字包括多个比特位,则可以对第一个比特位使用CABAC方式进行编码,并且对除第一个比特位之外的其它比特位中至少一个比特位采用旁路的二进制算术编码方式进行编码。然后编码端将编码后的变换核对索引,添加至当前块的编码数据中。这样,由于变换核对索引对应的二值化码字包括多个比特位时,有些比特位采用旁路的二进制算术编码方式进行编码,不需要存储上下文模型,所以可以节约内存空间。
在本公开的一种可能的实施方式中,编码端对变换核对索引对应的二值化码字中第一个比特位基于一个上下文模型进行自适应的二进制算术编码。
在实施中,编码端可以对变换核对索引对应的二值化码字中第一个比特位采用一个上下 文模型进行编码。这样,由于仅采用了一个上下文模型,所以仅会存储一个上下文模型,占用的内存空间也比较少,节约编码端的存储空间。
另外,为了使解码端也可以使用显式多核变换方式,可以在编码数据中添加目标标识,目标标识用于指示使用了显式多核变换方式。
基于上述图12所示的编码过程,本公开实施例还提供了解码的过程,如图13所示:
步骤1301,解码端获取当前块的编码数据。
在实施中,有编码数据要进行解码时,解码端可以获取编码数据,然后对编码数据进行熵解码处理。解码端对熵解码结果进行反量化处理,得到编码数据中的当前块,作为当前块的编码数据。
步骤1302,解码端从编码数据中获取变换核对索引,并获取当前块的帧内预测模式或者当前块的形状信息。
在实施中,解码端可以从编码数据中获取当前块对应的变换核对索引,并且可以确定当前块在高度方向上包括的像素点的数目(即高度),并且可以确定当前块在宽度方向上包括的像素点的数目(即宽度)。然后解码端判断当前块的高度与宽度的大小,即获取到当前块的形状信息。
或者,解码端可以从编码数据中获取当前块对应的变换核对索引,并且从编码数据中帧内预测模式的标识位解析得到帧内预测模式的模式号。
在本公开的一种可能的实施方式中,变换核对索引对应的二值化码字包括多个比特位,第一个比特位使用CABAC方式解码,多个比特位中除第一个比特位之外的其它比特位中至少有一个比特位采用旁路的二进制算术编码方式进行解码。这样,在编码端由于变换核对索引包括多个比特位时,有些比特位采用旁路的二进制算术编码方式进行编码,不需要存储上下文模型,所以可以节约内存空间。这样,使用旁路的二进制算术编码方式进行编码的比特位,解码端也需要使用旁路的二进制算术解码方式进行解码,解码端也不需要存储上下文模型,也可以节约内存空间。
在本公开的一种可能的实施方式中,变换核对索引的第一个比特位采用一个上下文模型解码。这样,由于解码端仅采用了一个上下文模型,所以仅会存储一个上下文模型,占用的内存空间也比较少。
在本公开的一种可能的实施方式中,在进行步骤1302之前,确定当前块的高度与宽度均小于或者等于目标数值,且当前块为亮度块。
在实施中,目标数值可以预设并且存储至解码端,一般为N(N为32)。在当前块的高度和宽度均小于或者等于N,且当前块为亮度块时,才进行步骤1302的处理。否则可以确定当前块对应的变换核对为(DCT2,DCT2),后续可以直接使用该变换核对进行解码处理。
另外,在执行步骤1302的处理之前,还可以判断编码数据中是否携带有目标标识,目标标识用于指示进行显式多核变换处理。如果编码数据中目标标识,说明使用了显式多核变换处理,可以进行步骤1302的处理。
步骤1303,解码端根据当前块的帧内预测模式和变换核对索引,确定当前块对应的变换核对,或者,根据当前块的形状信息和变换核对索引,确定当前块对应的变换核对,其中,变换核对包括水平变换核和垂直变换核。
在实施中,变换核对包括水平变换核和垂直变换核。在步骤1302确定出的变换核对不是(DCT2,DCT2)、(DST7,DST7)、(DCT8,DCT8)中的任一种时,可以获取预设的显式 多核变换对的语法表(如上述表七所示),可以从表七中确定出当前块对应的帧内预测模式和变换核对索引共同对应的变换核对,即为当前块对应的变换核对。例如,当前块对应的帧内预测模式的模式号为32,变换核对索引为3,变换核对则为(DST7,DCT8)。
或者,在步骤1302确定出的变换核对不是(DCT2,DCT2)、(DST7,DST7)、(DCT8,DCT8)中的任一种时,可以获取预设的显式多核变换对的语法表(如上述表八所示),可以从表八中确定出当前块的高度和宽度、变换核对索引共同对应的变换核对,即为当前块对应的变换核对。例如,当前块的宽度大于宽度,变换核对索引为3,则变换核对为(DST7,DCT8)。
在本公开的一种可能的实施方式中,在使用帧内预测模式和变换核对索引确定变换核对时,可以使用如下方式:
如果变换核对索引为第一索引,且当前块的帧内预测模式的模式号小于或等于预设数值,则确定当前块对应的变换核对为第一变换核对,如果变换核对索引为第一索引,且当前块的帧内预测模式的模式号大于预设数值,则确定当前块对应的变换核对为第二变换核对,如果变换核对索引为第二索引,且当前块的帧内预测模式的模式号小于或等于预设数值,则确定当前块对应的变换核对为第二变换核对,如果变换核对索引为第二索引,且当前块的帧内预测模式的模式号大于预设数值,则确定当前块对应的变换核对为第一变换核对。
在实施中,在步骤1302确定出的变换核对不是(DCT2,DCT2)、(DST7,DST7)、(DCT8,DCT8)中的任一种时,可以获取预设的显式多核变换对的语法表(如上述表七所示),可以从表七中确定出当前块对应的变换核对。
上述第一索引为3,预设数值为34,第一变换核对为(DST7,DCT8),第二索引为4,预设数值为34,第二变换核对为(DCT8,DST7)。
在本公开的一种可能的实施方式中,在使用当前块的高度和宽度、变换核对索引确定变换核对时,可以使用如下方式:
如果变换核对索引为第一索引,且当前块的形状信息满足预设形状限制条件,则确定当前块对应的变换核对为第一变换核对,如果变换核对索引为第一索引,且当前块的形状信息不满足预设形状限制条件,则确定当前块对应的变换核对为第二变换核对,如果变换核对索引为第二索引,且当前块的形状信息满足预设形状限制条件,则确定当前块对应的变换核对为第二变换核对,如果变换核对索引为第二索引,且当前块的形状信息不满足预设形状限制条件,则确定当前块对应的变换核对为第一变换核对。
在实施中,在步骤1302确定出的变换核对不是(DCT2,DCT2)、(DST7,DST7)、(DCT8,DCT8)中的任一种时,可以获取预设的显式多核变换对的语法表(如上述表八所示),可以从表八中确定出当前块对应的变换核对。
上述第一索引为3,W≥H,第一变换核对为(DST7,DCT8),第二索引为4,W≥H,第二变换核对为(DCT8,DST7)。
步骤1304,解码端根据变换核对,对当前块进行解码处理,得到当前块对应的重建信息。
在实施中,在确定出当前块对应的目标变换核对后,可以使用目标变换核对,对当前块对应的量化系数进行反变换处理,得到当前块对应的残差信号。然后解码端利用当前块周围已经重建区域内像素点的像素值,按照所使用的帧内预测模式构建预测信号,然后将残差信号与预测信号进行相加,得到当前块对应的重建信息。
这样,就完成了当前块的解码处理。每个当前块都按照图13所示的流程进行处理,即可解码一整段的视频数据。
需要说明的是,本公开实施例中,基于帧内预测模式、或者当前块的形状信息,自适应的调整变换核对的优先级,可以尽可能的使概率越高的变换核对,需要编码的码字越短。
本公开实施例中,编码端在进行编码时,在选取变换核对时,还使用了当前块的帧内预测模式或者当前块的形状信息,而不是使用预设的变换核对,相应的在解码时,也使用当前块的帧内预测模式或者当前块的形状信息,而不是使用预设的变换核对,所以可以提升编解码性能。
基于相同的技术构思,本公开实施例还提供了一种进行解码的解码端,如图14所示,该解码端包括:
获取模块1410,用于:
获取当前块的编码数据;
从所述编码数据中获取所述当前块的变换核对索引,其中,所述变换核对索引对应的二值化码字的第一个比特位是基于一个上下文模型进行的自适应二进制算术解码;
确定模块1420,用于根据所述变换核对索引,确定所述当前块对应的变换核对,其中,所述变换核对包括水平变换核和垂直变换核。
在本公开的一种可能的实施方式中,所述变换核对索引对应的二值化码字包括多个比特位,所述多个比特位中除所述第一个比特位之外的其它比特位中至少有一个比特位采用旁路的二进制算术解码方式进行编码。
在本公开的一种可能的实施方式中,所述确定模块1420,用于:
根据所述当前块的帧内预测模式和所述变换核对索引,确定所述当前块对应的变换核对;或者,
根据所述当前块的形状信息和所述变换核对索引,确定所述当前块对应的变换核对。
基于相同的技术构思,本公开实施例还提供了一种进行编码的编码端,如图15所示,该编码端包括:
确定模块1510,用于确定当前块对应的变换核对以及所述当前块对应的变换核对索引;
编码模块1520,用于根据对所述变换核对索引对应的二值化码字的第一个比特位基于一个上下文模型进行自适应二进制算术编码的方式,对所述变换核对索引进行编码,添加至所述当前块的编码数据中。
在本公开的一种可能的实施方式中,所述编码模块1520,用于:
如果所述变换核对索引对应的二值化码字包括多个比特位,则对第一个比特位基于一个上下文模型进行自适应二进制算术编码,并对所述多个比特位中除所述第一个比特位之外的其它比特位中至少有一个比特位采用旁路的二进制算术编码方式进行编码;
将编码后的变换核对索引,添加至所述编码数据中。
在本公开的一种可能的实施方式中,所述确定模块1510,用于:
确定所述当前块对应的变换核对,根据所述当前块的帧内预测模式和所述变换核对,确定所述当前块对应的变换核对索引;或者,
确定所述当前块对应的变换核对,根据所述当前块的形状信息和所述变换核对,确定所述当前块对应的变换核对索引。
本公开实施例中,编码端在编码当前块时,可以获取当前块对应的变换核对,进行编码处理,而不是直接获取预设的变换核对,所以可以提升编解码性能。编码端编码变换核对索 引对应的二值化码字时,使用一个上下文模型对变换核对索引对应的二值化码字中第一个比特位进行编码处理,而不需要多个上下文模型,所以可以节约内存空间。另外,由于不需要多个上下文模型,所以也不需要更新上下文,可以降低编码和解码的复杂度。
基于相同的技术构思,本公开实施例还提供了一种进行解码的解码端,如图16所示,该解码端包括:
获取模块1610,用于:
获取当前块的编码数据;
从所述编码数据中获取变换核对索引,其中,如果所述变换核对索引对应的二值化码字包括多个比特位,则所述多个比特位中除第一个比特位之外的其它比特位中至少有一个比特位采用旁路的二进制算术解码方式进行编码;
确定模块1620,用于根据所述变换核对索引,确定所述当前块对应的变换核对,其中,所述变换核对包括水平变换核和垂直变换核。
在本公开的一种可能的实施方式中,所述变换核对索引的第一个比特位是基于一个上下文模型进行的自适应二进制算术解码。
在本公开的一种可能的实施方式中,所述确定模块1620,用于:
根据所述当前块的帧内预测模式和所述变换核对索引,确定所述当前块对应的变换核对;或者,
根据所述当前块的形状信息和所述变换核对索引,确定所述当前块对应的变换核对,其中,所述变换核对包括水平变换核和垂直变换核。
基于相同的技术构思,本公开实施例还提供了一种进行编码的编码端,如图17所示,该编码端包括:
确定模块1710,用于确定当前块对应的变换核对以及所述当前块对应的变换核对索引;
编码模块1720,用于如果所述变换核对索引对应的二值化码字包括多个比特位,则对多个比特位中除所述第一个比特位之外的其它比特位中至少有一个比特位采用旁路的二进制算术编码方式进行编码,添加至所述当前块的编码数据中。
在本公开的一种可能的实施方式中,所述编码模块1720,还用于:
对所述第一个比特位基于一个上下文模型进行自适应二进制算术编码。
在本公开的一种可能的实施方式中,所述确定模块1710,用于:
确定所述当前块对应的变换核对,根据所述当前块的帧内预测模式和所述变换核对,确定所述当前块对应的变换核对索引;或者,
确定所述当前块对应的变换核对,根据所述当前块的形状信息和所述变换核对,确定所述当前块对应的变换核对索引。
本公开实施例中,编码端在编码当前块时,可以获取当前块对应的变换核对,进行编码处理,而不是直接获取预设的变换核对,所以可以提升编解码性能。编码端编码变换核对索引时,使用旁路的二进制算术编码方式对变换核对索引对应的二值化索引中除第一个比特位之外的其它比特位中至少一个比特位进行编码处理,对于这至少一个比特位不需要存储上下文模型,所以可以节约内存空间。另外,由于至少一个比特位未使用CABAC方式,而使用旁路的二进制算术编码方式,所以也可以降低编码和解析的复杂度。
基于相同的技术构思,本公开实施例还提供了一种进行解码的解码端,如图18所示,该解码端包括:
获取模块1810,用于:
获取当前块的编码数据;
从所述编码数据中获取变换核对索引,并获取所述当前块的帧内预测模式或者所述当前块的形状信息;
确定模块1820,用于根据所述当前块的帧内预测模式和所述变换核对索引,确定所述当前块对应的变换核对,或者,根据所述当前块的形状信息和所述变换核对索引,确定所述当前块对应的变换核对,其中,所述变换核对包括水平变换核和垂直变换核。
在本公开的一种可能的实施方式中,所述确定模块1820,用于:
如果所述变换核对索引为第一索引,且所述当前块的帧内预测模式的模式号小于或等于预设数值,则确定所述当前块对应的变换核对为第一变换核对;
如果所述变换核对索引为第一索引,且所述当前块的帧内预测模式的模式号大于预设数值,则确定所述当前块对应的变换核对为第二变换核对;
如果所述变换核对索引为第二索引,且所述当前块的帧内预测模式的模式号小于或等于预设数值,则确定所述当前块对应的变换核对为第二变换核对;
如果所述变换核对索引为第二索引,且所述当前块的帧内预测模式的模式号大于预设数值,则确定所述当前块对应的变换核对为第一变换核对。
在本公开的一种可能的实施方式中,所述确定模块1820,用于:
如果所述变换核对索引为第一索引,且所述当前块的形状信息满足预设形状限制条件,则确定所述当前块对应的变换核对为第一变换核对;
如果所述变换核对索引为第一索引,且所述当前块的形状信息不满足预设形状限制条件,则确定所述当前块对应的变换核对为第二变换核对;
如果所述变换核对索引为第二索引,且所述当前块的形状信息满足预设形状限制条件,则确定所述当前块对应的变换核对为第二变换核对;
如果所述变换核对索引为第二索引,且所述当前块的形状信息不满足预设形状限制条件,则确定所述当前块对应的变换核对为第一变换核对。
在本公开的一种可能的实施方式中,所述变换核对索引对应的二值化码字的第一个比特位是基于一个上下文模型进行的自适应二进制算术解码。
在本公开的一种可能的实施方式中,所述变换核对索引对应的二值化码字包括多个比特位,所述多个比特位中除第一个比特位之外的其它比特位中至少有一个比特位采用旁路的二进制算术解码方式进行编码。
基于相同的技术构思,本公开实施例还提供了一种进行编码的编码端,如图19所示,该编码端包括:
获取模块1910,用于获取当前块的帧内预测模式、所述当前块对应的变换核对,或者所述当前块的形状信息、所述当前块对应的变换核对;
确定模块1920,用于根据所述当前块的帧内预测模式和所述当前块对应的变换核对,确定所述当前块对应的变换核对索引,或者,根据所述当前块的形状信息和所述当前块对应的变换核对,确定所述当前块对应的变换核对索引;
编码模块1930,用于对变换核对索引进行编码处理,添加至所述当前块的编码数据中。
在本公开的一种可能的实施方式中,所述确定模块1920,用于:
如果所述变换核对为第一变换核对,且所述当前块的帧内预测模式的模式号小于或等于 预设数值,则确定所述当前块对应的变换核对索引为第一索引;
如果所述变换核对为第二变换核对,且所述当前块的帧内预测模式的模式号大于预设数值,则确定所述当前块对应的变换核对索引为第一索引;
如果所述变换核对为第二变换核对,且所述当前块的帧内预测模式的模式号小于或等于预设数值,则确定所述当前块对应的变换核对索引为第二索引;
如果所述变换核对为第一变换核对,且所述当前块的帧内预测模式的模式号大于预设数值,则确定所述当前块对应的变换核对索引为第二索引。
在本公开的一种可能的实施方式中,所述确定模块1920,用于:
如果所述变换核对为第一变换核对,且所述当前块的形状信息满足预设形状限制条件,则确定所述当前块对应的变换核对索引为第一索引;
如果所述变换核对为第二变换核对,且所述当前块的形状信息不满足预设形状限制条件,则确定所述当前块对应的变换核对索引为第一索引;
如果所述变换核对为第二变换核对,且所述当前块的形状信息-满足预设形状限制条件,则确定所述当前块对应的变换核对索引为第二索引;
如果所述变换核对为第一变换核对,且所述当前块的形状信息不满足预设形状限制条件,则确定所述当前块对应的变换核对索引为第二索引。
在本公开的一种可能的实施方式中,所述编码模块1930,用于:
根据对所述变换核对索引对应的二值化码字的第一个比特位基于一个上下文模型进行自适应二进制算术编码的方式进行编码。
在本公开的一种可能的实施方式中,所述编码模块1930,用于:
如果所述变换核对索引对应的二值化码字包括多个比特位,则对所述多个比特位中除第一个比特位之外的其它比特位中至少有一个比特位采用旁路的二进制算术编码方式进行编码。
本公开实施例中,编码端在进行编码时,在选取变换核对时,还使用了当前块的帧内预测模式或者当前块的形状信息,而不是使用预设的变换核对,相应的在解码时,也使用当前块的帧内预测模式或者当前块的形状信息,而不是使用预设的变换核对,所以可以提升编解码性能。
需要说明的是:上述实施例提供的解码端在进行解码时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将解码端的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的解码端与进行解码的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
需要说明的是:上述实施例提供的编码端在进行编码时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将编码端的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的编码端与进行编码的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图20是本发明实施例提供的一种编码端的结构示意图,该编码端2000可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,CPU)2001和一个或一个以上的存储器2002,其中,所述存储器2002中存储有至少一条指令,所 述至少一条指令由所述处理器2001加载并执行以实现上述进行编码的方法的步骤。
图21是本发明实施例提供的一种解码端的结构示意图,该解码端2100可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,CPU)2101和一个或一个以上的存储器2102,其中,所述存储器2102中存储有至少一条指令,所述至少一条指令由所述处理器2101加载并执行以实现上述进行解码的方法的步骤。
本公开实施例还提供了一种计算机可读存储介质,所述存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述所述的进行编码和进行解码的方法步骤。
本公开实施例还提供了一种编码端,包括处理器和存储器,其中,所述存储器,用于存放计算机程序;所述处理器,用于执行所述存储器上所存放的程序,实现上述所述的进行编码的方法步骤。
本公开实施例还提供了一种解码端,包括处理器和存储器,其中,所述存储器,用于存放计算机程序;所述处理器,用于执行所述存储器上所存放的程序,实现上述所述的进行解码的方法步骤。
本公开实施例还提供了一种编码和解码的系统,所述系统包括编码端和解码端,其中:
所述编码端,如上述进行编码处理的编码端;
所述解码端,如上述进行解码处理的解码端。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本公开的较佳实施例,并不用以限制本公开,凡在本公开的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。

Claims (28)

  1. 一种进行解码的方法,其特征在于,所述方法包括:
    获取当前块的编码数据;
    从所述编码数据中获取所述当前块的变换核对索引,其中,所述变换核对索引对应的二值化码字的第一个比特位是基于一个上下文模型进行的自适应二进制算术解码;
    根据所述变换核对索引,确定所述当前块对应的变换核对,其中,所述变换核对包括水平变换核和垂直变换核。
  2. 根据权利要求1所述的方法,其特征在于,所述变换核对索引对应的二值化码字包括多个比特位,所述多个比特位中除所述第一个比特位之外的其它比特位中至少有一个比特位采用旁路的二进制算术编码方式进行解码。
  3. 根据权利要求1或2所述的方法,其特征在于,所述根据所述变换核对索引,确定所述当前块对应的变换核对,包括:
    根据所述当前块的帧内预测模式和所述变换核对索引,确定所述当前块对应的变换核对;或者,
    根据所述当前块的形状信息和所述变换核对索引,确定所述当前块对应的变换核对。
  4. 一种进行编码的方法,其特征在于,所述方法包括:
    确定当前块对应的变换核对以及所述当前块对应的变换核对索引;
    根据对所述变换核对索引对应的二值化码字的第一个比特位基于一个上下文模型进行自适应二进制算术编码的方式,对所述变换核对索引进行编码,添加至所述当前块的编码数据中。
  5. 根据权利要求4所述的方法,其特征在于,所述根据对所述变换核对索引对应的二值化码字的第一个比特位基于一个上下文模型进行自适应二进制算术编码的方式,对所述变换核对索引进行编码,添加至所述当前块的编码数据中,包括:
    如果所述变换核对索引对应的二值化码字包括多个比特位,则对第一个比特位基于一个上下文模型进行自适应二进制算术编码,并对所述多个比特位中除所述第一个比特位之外的其它比特位中至少有一个比特位采用旁路的二进制算术编码方式进行编码;
    将编码后的变换核对索引,添加至所述编码数据中。
  6. 根据权利要求4或5所述的方法,其特征在于,所述确定当前块对应的变换核对以及所述当前块对应的变换核对索引,包括:
    确定所述当前块对应的变换核对,根据所述当前块的帧内预测模式和所述变换核对,确定所述当前块对应的变换核对索引;或者,
    确定所述当前块对应的变换核对,根据所述当前块的形状信息和所述变换核对,确定所述当前块对应的变换核对索引。
  7. 一种进行解码的方法,其特征在于,所述方法包括:
    获取当前块的编码数据;
    从所述编码数据中获取变换核对索引,其中,如果所述变换核对索引对应的二值化码字 包括多个比特位,则所述多个比特位中除第一个比特位之外的其它比特位中至少有一个比特位采用旁路的二进制算术编码方式进行解码;
    根据所述变换核对索引,确定所述当前块对应的变换核对,其中,所述变换核对包括水平变换核和垂直变换核。
  8. 根据权利要求7所述的方法,其特征在于,所述变换核对索引的第一个比特位是基于一个上下文模型进行的自适应二进制算术解码。
  9. 根据权利要求7或8所述的方法,其特征在于,所述根据所述变换核对索引,确定所述当前块对应的变换核对,包括:
    根据所述当前块的帧内预测模式和所述变换核对索引,确定所述当前块对应的变换核对;或者,
    根据所述当前块的形状信息和所述变换核对索引,确定所述当前块对应的变换核对,其中,所述变换核对包括水平变换核和垂直变换核。
  10. 一种进行编码的方法,其特征在于,所述方法包括:
    确定当前块对应的变换核对以及所述当前块对应的变换核对索引;
    如果所述变换核对索引对应的二值化码字包括多个比特位,则对所述多个比特位中除第一个比特位之外的其它比特位中至少有一个比特位采用旁路的二进制算术编码方式进行编码,添加至所述当前块的编码数据中。
  11. 根据权利要求10所述的方法,其特征在于,所述方法还包括:
    对所述第一个比特位基于一个上下文模型进行自适应二进制算术编码。
  12. 根据权利要求10或11所述的方法,其特征在于,所述确定当前块对应的变换核对以及所述当前块对应的变换核对索引,包括:
    确定所述当前块对应的变换核对,根据所述当前块的帧内预测模式和所述变换核对,确定所述当前块对应的变换核对索引;或者,
    确定所述当前块对应的变换核对,根据所述当前块的形状信息和所述变换核对,确定所述当前块对应的变换核对索引。
  13. 一种进行解码的方法,其特征在于,所述方法包括:
    获取当前块的编码数据;
    从所述编码数据中获取变换核对索引,并获取所述当前块的帧内预测模式或者所述当前块的形状信息;
    根据所述当前块的帧内预测模式和所述变换核对索引,确定所述当前块对应的变换核对,或者,根据所述当前块的形状信息和所述变换核对索引,确定所述当前块对应的变换核对,其中,所述变换核对包括水平变换核和垂直变换核。
  14. 根据权利要求13所述的方法,其特征在于,所述根据所述当前块的帧内预测模式和所述变换核对索引,确定所述当前块对应的变换核对,包括:
    如果所述变换核对索引为第一索引,且所述当前块的帧内预测模式的模式号小于或等于预设数值,则确定所述当前块对应的变换核对为第一变换核对;
    如果所述变换核对索引为第一索引,且所述当前块的帧内预测模式的模式号大于预设数 值,则确定所述当前块对应的变换核对为第二变换核对;
    如果所述变换核对索引为第二索引,且所述当前块的帧内预测模式的模式号小于或等于预设数值,则确定所述当前块对应的变换核对为第二变换核对;
    如果所述变换核对索引为第二索引,且所述当前块的帧内预测模式的模式号大于预设数值,则确定所述当前块对应的变换核对为第一变换核对。
  15. 根据权利要求13所述的方法,其特征在于,所述根据所述当前块的形状信息和所述变换核对索引,确定所述当前块对应的变换核对,包括:
    如果所述变换核对索引为第一索引,且所述当前块的形状信息满足预设形状限制条件,则确定所述当前块对应的变换核对为第一变换核对;
    如果所述变换核对索引为第一索引,且所述当前块的形状信息不满足所述预设形状限制条件,则确定所述当前块对应的变换核对为第二变换核对;
    如果所述变换核对索引为第二索引,且所述当前块的形状信息满足所述预设形状限制条件,则确定所述当前块对应的变换核对为第二变换核对;
    如果所述变换核对索引为第二索引,且所述当前块的形状信息不满足所述预设形状限制条件,则确定所述当前块对应的变换核对为第一变换核对。
  16. 根据权利要求13至15任一所述的方法,其特征在于,所述变换核对索引对应的二值化码字的第一个比特位是基于一个上下文模型进行的自适应二进制算术编码。
  17. 根据权利要求13至15任一所述的方法,其特征在于,所述变换核对索引对应的二值化码字包括多个比特位,所述多个比特位中除第一个比特位之外的其它比特位中至少有一个比特位采用旁路的二进制算术编码方式进行解码。
  18. 一种进行编码的方法,其特征在于,所述方法包括:
    获取当前块的帧内预测模式、所述当前块对应的变换核对,或者所述当前块的形状信息、所述当前块对应的变换核对;
    根据所述当前块的帧内预测模式和所述当前块对应的变换核对,确定所述当前块对应的变换核对索引,或者,根据所述当前块的形状信息和所述当前块对应的变换核对,确定所述当前块对应的变换核对索引;
    对变换核对索引进行编码处理,添加至所述当前块的编码数据中。
  19. 根据权利要求18所述的方法,其特征在于,所述根据所述当前块的帧内预测模式和所述当前块对应的变换核对,确定所述当前块对应的变换核对索引,包括:
    如果所述变换核对为第一变换核对,且所述当前块的帧内预测模式的模式号小于或等于预设数值,则确定所述当前块对应的变换核对索引为第一索引;
    如果所述变换核对为第二变换核对,且所述当前块的帧内预测模式的模式号大于预设数值,则确定所述当前块对应的变换核对索引为第一索引;
    如果所述变换核对为第二变换核对,且所述当前块的帧内预测模式的模式号小于或等于预设数值,则确定所述当前块对应的变换核对索引为第二索引;
    如果所述变换核对为第一变换核对,且所述当前块的帧内预测模式的模式号大于预设数值,则确定所述当前块对应的变换核对索引为第二索引。
  20. 根据权利要求18所述的方法,其特征在于,所述根据所述当前块的形状信息和所述 当前块对应的变换核对,确定所述当前块对应的变换核对索引,包括:
    如果所述变换核对为第一变换核对,且所述当前块的形状信息满足预设形状限制条件,则确定所述当前块对应的变换核对索引为第一索引;
    如果所述变换核对为第二变换核对,且所述当前块的形状信息不满足预设形状限制条件,则确定所述当前块对应的变换核对索引为第一索引;
    如果所述变换核对为第二变换核对,且所述当前块的形状信息-满足预设形状限制条件,则确定所述当前块对应的变换核对索引为第二索引;
    如果所述变换核对为第一变换核对,且所述当前块的形状信息不满足预设形状限制条件,则确定所述当前块对应的变换核对索引为第二索引。
  21. 根据权利要求18至20任一所述的方法,其特征在于,所述对所述变换核对索引进行编码处理,包括:
    根据对所述变换核对索引对应的二值化码字的第一个比特位基于一个上下文模型进行自适应二进制算术编码的方式进行编码。
  22. 根据权利要求18至20任一所述的方法,其特征在于,所述对所述变换核对索引进行编码处理,包括:
    如果所述变换核对索引对应的二值化码字包括多个比特位,则对所述多个比特位中除第一个比特位之外的其它比特位中至少有一个比特位采用旁路的二进制算术编码方式进行编码。
  23. 一种进行解码的解码端,其特征在于,所述解码端包括:
    获取模块,用于:
    获取当前块的编码数据;
    从所述编码数据中获取所述当前块的变换核对索引,其中,所述变换核对索引对应的二值化码字的第一个比特位是基于一个上下文模型进行的自适应二进制算术解码;
    确定模块,用于根据所述变换核对索引,确定所述当前块对应的变换核对,其中,所述变换核对包括水平变换核和垂直变换核。
  24. 一种进行编码的编码端,其特征在于,所述编码端包括:
    确定模块,用于确定当前块对应的变换核对以及所述当前块对应的变换核对索引;
    编码处理,用于根据对所述变换核对索引对应的二值化码字的第一个比特位基于一个上下文模型进行自适应二进制算术编码的方式,对所述变换核对索引进行编码,添加至所述当前块的编码数据中。
  25. 一种进行解码的解码端,其特征在于,所述解码端包括:
    获取模块,用于:
    获取当前块的编码数据;
    从所述编码数据中获取变换核对索引,其中,如果所述变换核对索引对应的二值化码字包括多个比特位,则所述多个比特位中除所述第一个比特位之外的其它比特位中至少有一个比特位采用旁路的二进制算术编码方式进行解码;
    确定模块,用于根据所述变换核对索引,确定所述当前块对应的变换核对,其中,所述变换核对包括水平变换核和垂直变换核。
  26. 一种进行编码的编码端,其特征在于,所述编码端包括:
    确定模块,用于确定当前块对应的变换核对以及所述当前块对应的变换核对索引;
    编码模块,用于如果所述变换核对索引对应的二值化码字包括多个比特位,则对所述多个比特位中除所述第一个比特位之外的其它比特位中至少有一个比特位采用旁路的二进制算术编码方式进行编码,添加至所述当前块的编码数据中。
  27. 一种进行解码的解码端,其特征在于,所述解码端包括:
    获取模块,用于:
    获取当前块的编码数据;
    从所述编码数据中获取变换核对索引,并获取所述当前块的帧内预测模式或者所述当前块的形状信息;
    确定模块,用于根据所述当前块的帧内预测模式和所述变换核对索引,确定所述当前块对应的变换核对,或者,根据所述当前块的形状信息和所述变换核对索引,确定所述当前块对应的变换核对,其中,所述变换核对包括水平变换核和垂直变换核。
  28. 一种进行编码的编码端,其特征在于,所述编码端包括:
    获取模块,用于获取当前块的帧内预测模式、所述当前块对应的变换核对,或者所述当前块的形状信息、所述当前块对应的变换核对;
    确定模块,用于根据所述当前块的帧内预测模式和所述当前块对应的变换核对,确定所述当前块对应的变换核对索引,或者,根据所述当前块的形状信息和所述当前块对应的变换核对,确定所述当前块对应的变换核对索引;
    编码模块,用于对变换核对索引进行编码处理,添加至所述当前块的编码数据中。
PCT/CN2020/078486 2019-03-09 2020-03-09 进行编码和解码的方法、解码端和编码端 WO2020182102A1 (zh)

Priority Applications (7)

Application Number Priority Date Filing Date Title
MX2021010615A MX2021010615A (es) 2019-03-09 2020-03-09 Metodos de codificacion y decodificacion, codificador y decodificador, y medio de almacenamiento.
SG11202109129UA SG11202109129UA (en) 2019-03-09 2020-03-09 Coding and decoding methods, coder and decoder,and storage medium
US17/432,887 US20220070458A1 (en) 2019-03-09 2020-03-09 Coding and decoding methods, coder and decoder, and storage medium
KR1020217026567A KR20210113389A (ko) 2019-03-09 2020-03-09 코딩 및 디코딩을 진행하는 방법, 디코더, 코더 및 저장 매체
JP2021549391A JP7286783B2 (ja) 2019-03-09 2020-03-09 符号化方法、復号化方法、デコーダ、エンコーダー及び記憶媒体
EP20769784.8A EP3913917B1 (en) 2019-03-09 2020-03-09 Methods for performing encoding and decoding, decoding end and encoding end
CA3131035A CA3131035C (en) 2019-03-09 2020-03-09 Coding and decoding methods, coder and decoder, and storage medium

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201910177580.4 2019-03-09
CN201910177580.4A CN111669580B (zh) 2019-03-09 2019-03-09 进行编码和解码的方法、解码端、编码端和系统

Publications (1)

Publication Number Publication Date
WO2020182102A1 true WO2020182102A1 (zh) 2020-09-17

Family

ID=69229943

Family Applications (2)

Application Number Title Priority Date Filing Date
PCT/CN2020/078486 WO2020182102A1 (zh) 2019-03-09 2020-03-09 进行编码和解码的方法、解码端和编码端
PCT/CN2020/078488 WO2020182104A1 (zh) 2019-03-09 2020-03-09 进行编码和解码的方法、解码装置和编码装置

Family Applications After (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/078488 WO2020182104A1 (zh) 2019-03-09 2020-03-09 进行编码和解码的方法、解码装置和编码装置

Country Status (9)

Country Link
US (1) US20220070458A1 (zh)
EP (1) EP3913917B1 (zh)
JP (2) JP7286783B2 (zh)
KR (1) KR20210113389A (zh)
CN (22) CN113596448A (zh)
CA (2) CA3131035C (zh)
MX (1) MX2021010615A (zh)
SG (1) SG11202109129UA (zh)
WO (2) WO2020182102A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113596448A (zh) * 2019-03-09 2021-11-02 杭州海康威视数字技术股份有限公司 进行编码和解码的方法、解码端、编码端和系统
CN112533000B (zh) * 2020-10-16 2022-08-05 腾讯科技(深圳)有限公司 视频解码方法、装置、计算机可读介质及电子设备
CN114900703A (zh) * 2022-03-31 2022-08-12 中南大学 一种通用视频编码系统及数据处理方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018013953A1 (en) * 2016-07-15 2018-01-18 Qualcomm Incorporated Look-up table for enhanced multiple transform
WO2018035127A1 (en) * 2016-08-15 2018-02-22 Qualcomm Incorporated Intra video coding using a decoupled tree structure
CN109089117A (zh) * 2017-05-11 2018-12-25 联发科技股份有限公司 编码或解码视频数据的方法及装置
WO2019009584A1 (ko) * 2017-07-04 2019-01-10 삼성전자 주식회사 다중 코어 변환에 의한 비디오 복호화 방법 및 장치, 다중 코어 변환에 의한 비디오 부호화 방법 및 장치
CN109417636A (zh) * 2016-06-24 2019-03-01 韩国电子通信研究院 用于基于变换的图像编码/解码的方法和设备
CN110708550A (zh) * 2019-03-09 2020-01-17 杭州海康威视数字技术股份有限公司 进行编码和解码的方法、解码装置和编码装置

Family Cites Families (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100488254C (zh) * 2005-11-30 2009-05-13 联合信源数字音视频技术(北京)有限公司 一种基于上下文的熵编码方法及解码方法
KR101375668B1 (ko) * 2008-03-17 2014-03-18 삼성전자주식회사 변환 계수의 부호화, 복호화 방법 및 장치
US9154801B2 (en) * 2010-09-30 2015-10-06 Texas Instruments Incorporated Method and apparatus for diagonal scan and simplified coding of transform coefficients
CN102238387B (zh) * 2011-05-25 2017-07-18 深圳市云宙多媒体技术有限公司 一种视频熵编码、熵解码方法、装置
KR20130008119A (ko) * 2011-07-11 2013-01-22 주식회사 잉카인터넷 파일 변조 검출방법
GB2554311B (en) * 2011-10-19 2018-12-26 Kt Corp Decoding image based on transform skip modes for luma and chroma components
US10390046B2 (en) * 2011-11-07 2019-08-20 Qualcomm Incorporated Coding significant coefficient information in transform skip mode
JP6134651B2 (ja) * 2011-12-28 2017-05-24 シャープ株式会社 算術復号装置、算術符号化装置および算術復号方法
US8552890B2 (en) * 2012-01-19 2013-10-08 Sharp Laboratories Of America, Inc. Lossless coding with different parameter selection technique for CABAC in HEVC
CN105378835B (zh) * 2013-02-20 2019-10-01 弗劳恩霍夫应用研究促进协会 使用依赖瞬态位置的重叠对音频信号编码或译码的设备及方法
US20160044314A1 (en) * 2014-08-08 2016-02-11 Qualcomm Incorporated System and method for reusing transform structure for multi-partition transform
US10567763B2 (en) * 2015-05-26 2020-02-18 Lg Electronics Inc. Method and device for processing a video signal by using an adaptive separable graph-based transform
US20180220158A1 (en) * 2015-07-21 2018-08-02 Lg Electronics Inc. Method and device for processing video signal using graph-based transform
WO2017061671A1 (ko) * 2015-10-08 2017-04-13 엘지전자 주식회사 영상 코딩 시스템에서 적응적 변환에 기반한 영상 코딩 방법 및 장치
CN105262229A (zh) * 2015-11-23 2016-01-20 重庆安迈科技有限公司 基于输变电设备的监控方法
EP3389274A4 (en) * 2016-02-04 2019-01-09 Samsung Electronics Co., Ltd. VIDEO CODING METHOD AND DEVICE THROUGH CHROMA MULTITRANSFORMATION AND VIDEO CODING METHOD AND APPARATUS THROUGH CHROMA MULTITRANSFORMATION
MX2019011211A (es) * 2017-03-21 2019-12-05 Lg Electronics Inc Metodo de transformacion en el sistema de codificacion de imagenes y aparato para el mismo.
BR112020002317A8 (pt) * 2017-08-04 2023-01-24 Lg Electronics Inc Método e aparelho para configurar uma transformada para compressão de vídeo
WO2019190284A1 (ko) * 2018-03-29 2019-10-03 엘지전자 주식회사 비디오 압축을 위한 변환 커널의 저복잡도 연산을 수행하는 방법 및 장치
US11368691B2 (en) * 2018-03-29 2022-06-21 Lg Electronics Inc. Method and device for designing low-complexity calculation DST7
CN112532979A (zh) * 2018-03-31 2021-03-19 华为技术有限公司 图像块编码中的变换方法、解码中的反变换方法及装置
HUE063982T2 (hu) * 2018-04-01 2024-02-28 Lg Electronics Inc Videojel feldolgozás csökkentett másodlagos transzformáció használatával
US10999604B2 (en) * 2018-04-13 2021-05-04 Mediatek Inc. Adaptive implicit transform setting
ES2949998T3 (es) * 2018-06-03 2023-10-04 Lg Electronics Inc Método y dispositivo para procesar una señal de vídeo usando una transformada reducida
KR20230156805A (ko) * 2018-06-06 2023-11-14 엘지전자 주식회사 인트라 예측 모드에 기초하여 변환 인덱스 코딩을 수행하는 방법 및 이를 위한 장치
KR20230061564A (ko) * 2018-07-02 2023-05-08 엘지전자 주식회사 이차 변환을 기반으로 비디오 신호를 처리하는 방법 및 장치
WO2020046091A1 (ko) * 2018-09-02 2020-03-05 엘지전자 주식회사 다중 변환 선택에 기반한 영상 코딩 방법 및 그 장치
WO2020046086A1 (ko) * 2018-09-02 2020-03-05 엘지전자 주식회사 영상 신호를 처리하기 위한 방법 및 장치
WO2020050651A1 (ko) * 2018-09-05 2020-03-12 엘지전자 주식회사 다중 변환 선택에 기반한 영상 코딩 방법 및 그 장치
EP3723374A4 (en) * 2018-09-05 2021-02-24 LG Electronics Inc. METHOD AND APPARATUS FOR PROCESSING A VIDEO SIGNAL
KR20210046002A (ko) * 2018-09-07 2021-04-27 주식회사 윌러스표준기술연구소 다중 변환 커널을 사용하는 비디오 신호 처리 방법 및 장치
US11218694B2 (en) * 2018-09-24 2022-01-04 Qualcomm Incorporated Adaptive multiple transform coding
WO2020064732A1 (en) * 2018-09-25 2020-04-02 Telefonaktiebolaget Lm Ericsson (Publ) Transformation selection by transmitting a transformation set indicator for use in video coding
CN113411612B (zh) * 2019-01-11 2022-06-24 华为技术有限公司 对图像块进行视频译码的方法、解码设备和编/解码器
KR20230174294A (ko) * 2019-01-12 2023-12-27 (주)휴맥스 다중 변환 커널을 사용하는 비디오 신호 처리 방법 및 장치
CN113412626B (zh) * 2019-01-12 2024-01-23 Lg 电子株式会社 在图像编译系统中使用残差信息的图像解码方法及其装置
KR20240000610A (ko) 2019-01-15 2024-01-02 로즈데일 다이나믹스 엘엘씨 변환 스킵 플래그를 이용한 영상 코딩 방법 및 장치
US10986339B2 (en) * 2019-02-08 2021-04-20 Tencent America LLC Method and apparatus for harmonization between transform skip mode and multiple transform selection
CN113812155B (zh) 2019-05-11 2023-10-27 北京字节跳动网络技术有限公司 多种帧间编解码方法之间的交互

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109417636A (zh) * 2016-06-24 2019-03-01 韩国电子通信研究院 用于基于变换的图像编码/解码的方法和设备
WO2018013953A1 (en) * 2016-07-15 2018-01-18 Qualcomm Incorporated Look-up table for enhanced multiple transform
WO2018035127A1 (en) * 2016-08-15 2018-02-22 Qualcomm Incorporated Intra video coding using a decoupled tree structure
CN109089117A (zh) * 2017-05-11 2018-12-25 联发科技股份有限公司 编码或解码视频数据的方法及装置
WO2019009584A1 (ko) * 2017-07-04 2019-01-10 삼성전자 주식회사 다중 코어 변환에 의한 비디오 복호화 방법 및 장치, 다중 코어 변환에 의한 비디오 부호화 방법 및 장치
CN110708550A (zh) * 2019-03-09 2020-01-17 杭州海康威视数字技术股份有限公司 进行编码和解码的方法、解码装置和编码装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
LIN, YONGBING ET AL.: "Simplified Multiple-Core Transform for Intra Residual Coding", JOINT VIDEO EXPLORATION TEAM (JVET) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11, 11TH MEETING: LJUBLJANA, SI, 10–18 JUL. 2018, DOCUMENT: JVET-K0126_R2, 18 July 2018 (2018-07-18), XP030199729 *
See also references of EP3913917A4

Also Published As

Publication number Publication date
EP3913917B1 (en) 2024-05-01
JP7286783B2 (ja) 2023-06-05
CN113365054B (zh) 2022-08-05
SG11202109129UA (en) 2021-09-29
KR20210113389A (ko) 2021-09-15
CN113365056A (zh) 2021-09-07
CN113365055B (zh) 2023-03-14
CN113365057A (zh) 2021-09-07
MX2021010615A (es) 2021-09-28
CN113596447A (zh) 2021-11-02
CN113905232A (zh) 2022-01-07
CN113365051B (zh) 2022-04-08
JP2022521933A (ja) 2022-04-13
CN110708550B (zh) 2020-11-27
CN113365058A (zh) 2021-09-07
CN113905231A (zh) 2022-01-07
CN113365049B (zh) 2023-02-28
CA3221507A1 (en) 2020-09-17
CN113596445B (zh) 2022-09-09
CN111669580B (zh) 2023-02-28
CN113365057B (zh) 2023-02-28
CN111669580A (zh) 2020-09-15
CA3131035A1 (en) 2020-09-17
CA3131035C (en) 2024-01-16
CN113365049A (zh) 2021-09-07
EP3913917A1 (en) 2021-11-24
CN113365050B (zh) 2023-02-28
CN113596445A (zh) 2021-11-02
CN113596446A (zh) 2021-11-02
JP2023107803A (ja) 2023-08-03
CN110708550A (zh) 2020-01-17
CN113365056B (zh) 2022-04-15
CN113596448A (zh) 2021-11-02
CN113365048B (zh) 2022-08-05
WO2020182104A1 (zh) 2020-09-17
CN113365050A (zh) 2021-09-07
CN113365052B (zh) 2022-03-25
CN113365053A (zh) 2021-09-07
CN113365058B (zh) 2023-02-28
EP3913917A4 (en) 2022-05-11
CN113365054A (zh) 2021-09-07
CN113596447B (zh) 2022-09-09
CN113365052A (zh) 2021-09-07
CN113365053B (zh) 2023-02-28
CN113365048A (zh) 2021-09-07
CN113365051A (zh) 2021-09-07
CN113747157A (zh) 2021-12-03
CN113365055A (zh) 2021-09-07
CN113747156A (zh) 2021-12-03
US20220070458A1 (en) 2022-03-03
CN113747158A (zh) 2021-12-03

Similar Documents

Publication Publication Date Title
WO2020182103A1 (zh) 进行编码和解码的方法、编码端和解码端
WO2020182102A1 (zh) 进行编码和解码的方法、解码端和编码端
CN111669579B (zh) 进行编码和解码的方法、编码端、解码端和系统

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20769784

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2021549391

Country of ref document: JP

Kind code of ref document: A

Ref document number: 3131035

Country of ref document: CA

Ref document number: 20217026567

Country of ref document: KR

Kind code of ref document: A

ENP Entry into the national phase

Ref document number: 2020769784

Country of ref document: EP

Effective date: 20210819

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2021125967

Country of ref document: RU