WO2022037477A1 - 视频解码方法、装置、计算机可读介质及电子设备 - Google Patents

视频解码方法、装置、计算机可读介质及电子设备 Download PDF

Info

Publication number
WO2022037477A1
WO2022037477A1 PCT/CN2021/112355 CN2021112355W WO2022037477A1 WO 2022037477 A1 WO2022037477 A1 WO 2022037477A1 CN 2021112355 W CN2021112355 W CN 2021112355W WO 2022037477 A1 WO2022037477 A1 WO 2022037477A1
Authority
WO
WIPO (PCT)
Prior art keywords
value
quantization
block
coefficients
quantization coefficient
Prior art date
Application number
PCT/CN2021/112355
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 EP21857572.8A priority Critical patent/EP4171029A4/en
Publication of WO2022037477A1 publication Critical patent/WO2022037477A1/zh
Priority to US17/940,467 priority patent/US20230007254A1/en

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/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/124Quantisation
    • H04N19/126Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
    • 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/124Quantisation
    • 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/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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • 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

Definitions

  • the present application relates to the field of computer and communication technologies, and in particular, to a video decoding method, an apparatus, a computer-readable medium, and an electronic device.
  • the encoder In the video encoding process, the encoder usually needs to transform, quantize, and entropy the residual data between the original video data and the predicted video data before sending it to the decoder.
  • DCT Discrete Cosine Transform, discrete cosine transform
  • Embodiments of the present application provide a video decoding method, apparatus, computer-readable medium, and electronic device, which can effectively improve video encoding efficiency at least to a certain extent.
  • a video decoding method including: performing entropy decoding processing on a coding block of a video image frame to obtain a quantized coefficient block of residual data corresponding to the coding block; The quantized coefficients in the designated area in the coefficient block are obtained, and the quantized coefficient statistical value is obtained; the transformation matrix combination corresponding to the quantized coefficient statistical value is selected; based on the selected transformation matrix combination, the inverse quantization result of the quantized coefficient block is inversely transformed processing to obtain reconstructed residual data, where the reconstructed residual data is used for video image reconstruction.
  • a video decoding apparatus including: a decoding unit configured to perform entropy decoding processing on an encoded block of a video image frame, and obtain a quantized coefficient block of residual data corresponding to the encoded block ; a statistical unit, configured to count the quantized coefficients in the designated area in the quantized coefficient block, to obtain a quantized coefficient statistic value; a selection unit, configured to select a transformation matrix combination corresponding to the quantized coefficient statistic value; a processing unit, configured Inverse transform processing is performed on the inverse quantization result of the quantized coefficient block based on the selected transform matrix combination to obtain reconstructed residual data, and the reconstructed residual data is used for video image reconstruction.
  • a computer-readable medium on which a computer program is stored, and when the computer program is executed by a processor, implements the video decoding method described in the foregoing embodiments.
  • an electronic device including: one or more processors; and a storage device for storing one or more programs, when the one or more programs are stored by the one or more programs When executed by multiple processors, the one or more processors are made to implement the video decoding method described in the above embodiments.
  • a computer program product or computer program where the computer program product or computer program includes computer instructions, and the computer instructions are stored in a computer-readable storage medium.
  • the processor of the computer device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, so that the computer device executes the video decoding methods provided in the various optional embodiments described above.
  • a statistical value of the quantization coefficients is obtained by counting the quantization coefficients in a designated area in the quantization coefficient block, and then a combination of transformation matrices corresponding to the statistical values of the quantization coefficients is selected, and based on the selected
  • the transformation matrix combination performs inverse transformation processing on the inverse quantization result of the quantization coefficient block, so that the quantization coefficient in the quantization coefficient block can be used to implicitly indicate the transformation matrix combination corresponding to the encoding block, without the need for the encoding end to encode the transformation matrix for each coding unit. , which reduces the bits occupied by the transform matrix index, thereby effectively improving the video coding efficiency.
  • FIG. 1 shows a schematic diagram of an exemplary system architecture to which the technical solutions of the embodiments of the present application can be applied;
  • FIG. 2 shows a schematic diagram of a placement manner of a video encoding device and a video decoding device in a streaming transmission system
  • Fig. 3 shows the basic flow chart of a video coding process
  • Fig. 4 shows the scanning area marked by SRCC technology
  • Fig. 5 shows the sequence schematic diagram of scanning the marked scanning area
  • FIG. 6 shows a flowchart of a video decoding method according to an embodiment of the present application
  • FIG. 7 shows a schematic diagram of a division manner of a designated area according to an embodiment of the present application.
  • FIG. 8 shows a schematic diagram of a division manner of a designated area according to an embodiment of the present application.
  • FIG. 9 shows a schematic diagram of a division manner of a designated area according to an embodiment of the present application.
  • FIG. 10 shows a block diagram of a video decoding apparatus according to an embodiment of the present application.
  • FIG. 11 shows a schematic structural diagram of a computer system suitable for implementing the electronic device according to the embodiment of the present application.
  • FIG. 1 shows a schematic diagram of an exemplary system architecture to which the technical solutions of the embodiments of the present application can be applied.
  • the system architecture 100 includes a plurality of end devices that can communicate with each other through a network 150, for example.
  • the system architecture 100 may include a first end device 110 and a second end device 120 interconnected by a network 150 .
  • the first terminal device 110 and the second terminal device 120 perform unidirectional data transmission.
  • the first terminal device 110 may encode video data (eg, a video picture stream captured by the terminal device 110) for transmission to the second terminal device 120 through the network 150, and the encoded video data may be encoded in one or more
  • the second terminal device 120 can receive the encoded video data from the network 150, decode the encoded video data to restore the video data, and display the video picture according to the restored video data.
  • the system architecture 100 may include a third end device 130 and a fourth end device 140 that perform bidirectional transmission of encoded video data, such as may occur during a video conference.
  • each of the third end device 130 and the fourth end device 140 may encode video data (eg, a video picture stream captured by the end device) for transmission to the third end device over the network 150 130 and the other terminal device of the fourth terminal device 140 .
  • Each of the third terminal device 130 and the fourth terminal device 140 may also receive encoded video data transmitted by the other one of the third terminal device 130 and the fourth terminal device 140, and may The video data is decoded to recover the video data, and a video picture can be displayed on an accessible display device based on the recovered video data.
  • the first terminal device 110 , the second terminal device 120 , the third terminal device 130 and the fourth terminal device 140 may be servers, personal computers and smart phones, but the principles disclosed in this application may not be limited thereto .
  • Embodiments disclosed herein are applicable to laptop computers, tablet computers, media players, and/or dedicated videoconferencing equipment.
  • Network 150 represents any number of networks, including, for example, wired and/or wireless communication networks, that communicate encoded video data between first end device 110, second end device 120, third end device 130, and fourth end device 140.
  • Communication network 150 may exchange data in circuit-switched and/or packet-switched channels.
  • the network may include a telecommunications network, a local area network, a wide area network, and/or the Internet.
  • the architecture and topology of network 150 may be immaterial to the operations disclosed herein.
  • FIG. 2 illustrates the placement of a video encoding device and a video decoding device in a streaming environment.
  • the subject matter disclosed herein is equally applicable to other video-enabled applications including, for example, videoconferencing, digital TV (television), storing compressed video on digital media including CDs, DVDs, memory sticks, and the like.
  • the streaming transmission system may include a capture subsystem 213 , and the capture subsystem 213 may include a video source 201 such as a digital camera, and the video source creates an uncompressed video picture stream 202 .
  • the video picture stream 202 includes samples captured by a digital camera.
  • the video picture stream 202 is depicted as a thick line to emphasize the high data volume of the video picture stream, and the video picture stream 202 can be processed by the electronic device 220.
  • Device 220 includes video encoding device 203 coupled to video source 201 .
  • Video encoding device 203 may include hardware, software, or a combination of hardware and software to implement or implement various aspects of the disclosed subject matter as described in greater detail below.
  • the encoded video data 204 (or the encoded video code stream 204) is depicted as a thin line to emphasize the lower data volume of the encoded video data 204 (or the encoded video code stream 204).
  • 204 which can be stored on the streaming server 205 for future use.
  • One or more streaming client subsystems such as client subsystem 206 and client subsystem 208 in FIG. 2 , may access streaming server 205 to retrieve copies 207 and 209 of encoded video data 204 .
  • Client subsystem 206 may include, for example, video decoding device 210 in electronic device 230 .
  • the video decoding device 210 decodes the incoming copy 207 of the encoded video data and produces an output video picture stream 211 that can be presented on a display 212 (eg, a display screen) or another presentation device.
  • encoded video data 204, video data 207, and video data 209 may be encoded according to certain video encoding/compression standards. Examples of these standards include ITU-T H.265.
  • video coding standard under development is informally referred to as Versatile Video Coding (VVC), and this application may be used in the context of the VVC standard.
  • electronic device 220 and the electronic device 230 may include other components not shown in the figures.
  • electronic device 220 may include a video decoding device
  • electronic device 230 may also include a video encoding device.
  • the international video coding standard HEVC High Efficiency Video Coding, high efficiency video coding
  • VVC Very Video Coding, multifunctional video coding
  • AVS Anaudio Video coding
  • HEVC High Efficiency Video Coding, high efficiency video coding
  • VVC Very Video Coding, multifunctional video coding
  • AVS Chinese national video coding standard AVS (Audio Video coding) Standard, source coding standard
  • CTU Coding Tree Unit
  • LCU LCU.
  • the CTU can continue to be further divided into finer divisions to obtain one or more basic coding units CU, and CU is the most basic element in a coding link.
  • Predictive Coding includes intra-frame prediction and inter-frame prediction. After the original video signal is predicted by the selected reconstructed video signal, a residual video signal is obtained. The encoder needs to decide which predictive coding mode to select for the current CU and inform the decoder. Among them, intra-frame prediction means that the predicted signal comes from an area that has been coded and reconstructed in the same image; inter-frame prediction means that the predicted signal comes from another image (called a reference image) that has been coded and different from the current image. .
  • Transform & Quantization After the residual video signal undergoes transform operations such as DFT (Discrete Fourier Transform), DCT, etc., the signal is converted into the transform domain, which is called transform coefficient. The transform coefficient is further subjected to a lossy quantization operation, which loses a certain amount of information, so that the quantized signal is beneficial to the compressed expression. In some video coding standards, there may be more than one transformation mode to choose from, so the encoder also needs to select one of the transformation modes for the current CU and inform the decoder. The fineness of quantization is usually determined by the Quantization Parameter (QP for short). If the value of QP is larger, the coefficients representing a larger value range will be quantized into the same output, which usually brings greater distortion and distortion. A lower code rate; on the contrary, if the QP value is smaller, the coefficients representing a smaller value range will be quantized into the same output, so it usually brings less distortion and corresponds to a higher code rate.
  • QP Quantization Parameter
  • Entropy Coding or Statistical Coding The quantized transform domain signal will undergo statistical compression coding according to the frequency of occurrence of each value, and finally output a binarized (0 or 1) compressed code stream. At the same time, other information generated by encoding, such as selected encoding mode, motion vector data, etc., also needs to be entropy encoded to reduce the bit rate.
  • Statistical coding is a lossless coding method that can effectively reduce the code rate required to express the same signal. Common statistical coding methods include Variable Length Coding (VLC) or context-based binary arithmetic coding ( Content Adaptive Binary Arithmetic Coding, referred to as CABAC).
  • Loop Filtering The changed and quantized signal will obtain a reconstructed image through the operations of inverse quantization, inverse transformation and prediction compensation. Compared with the original image, the reconstructed image is different from the original image due to the influence of quantization, that is, the reconstructed image will produce distortion (Distortion). Therefore, filtering operations can be performed on the reconstructed image, such as deblocking filter (DB), SAO (Sample Adaptive Offset, adaptive pixel compensation) or ALF (Adaptive Loop Filter, adaptive loop filter) and other filters , which can effectively reduce the degree of distortion caused by quantization. Since these filtered reconstructed images will be used as references for subsequent encoded images to predict future image signals, the above filtering operation is also called in-loop filtering, ie, a filtering operation in an encoding loop.
  • DB deblocking filter
  • SAO Sample Adaptive Offset, adaptive pixel compensation
  • ALF Adaptive Loop Filter, adaptive loop filter
  • FIG. 3 shows a basic flow chart of a video encoding process, and intra-frame prediction is used as an example for description in the flow.
  • the quantized coefficients are encoded by entropy coding to obtain the encoded bits
  • the reconstructed residual signal u' k [x, y] is obtained through inverse quantization and inverse transformation processing, and the predicted image signal It is superimposed with the reconstructed residual signal u' k [x, y] to generate an image signal image signal
  • it is input to the intra - frame mode decision module and the intra-frame prediction module for intra-frame prediction processing; ] can be used as a reference image for the next frame for motion estimation and motion compensation prediction.
  • the SRCC technology can mark the size of the upper left region of the non-zero coefficients contained in each quantized coefficient block (size W ⁇ H) SRx ⁇ SRy, where SRx is the quantization coefficient The abscissa of the rightmost non-zero coefficient in the coefficient block, SRy is the ordinate of the lowermost non-zero coefficient in the quantized coefficient block, and 1 ⁇ SRx ⁇ W, 1 ⁇ SRy ⁇ H, and the coefficients outside this area are 0.
  • the SRCC technology uses (SRx, SRy) to determine the quantized coefficient area that needs to be scanned in a quantized coefficient block. As shown in Figure 4, only the quantized coefficients in the scanning area marked by (SRx, SRy) need to be coded.
  • the scanning order of the coding is as follows As shown in Figure 5, it can be a reverse zigzag scan from the lower right corner to the upper left corner.
  • the decoding end Based on the above encoding process, for each CU, the decoding end performs entropy decoding to obtain various mode information and quantization coefficients after obtaining the compressed code stream (ie, the bit stream). Then, the quantized coefficients undergo inverse quantization and inverse transformation to obtain residual signals.
  • the predicted signal corresponding to the CU can be obtained, and then the reconstructed signal can be obtained by adding the residual signal and the predicted signal. The reconstructed signal is then subjected to loop filtering and other operations to generate the final output signal.
  • the transform processing of the residual signal makes the energy of the residual signal concentrate on less low-frequency coefficients, that is, most coefficients have smaller values. Then after the subsequent quantization module, the smaller coefficient value will become zero value, which greatly reduces the cost of coding the residual signal.
  • transformation kernels such as DST7 and DCT8 are introduced into the transformation process, and the horizontal transformation and vertical transformation of the residual signal are carried out. Direct transforms can use different transform kernels.
  • the possible transformation combinations for transform processing of a residual signal are as follows: (DCT2, DCT2), (DCT8, DCT8), (DCT8, DST7) ), (DST7, DCT8) and (DST7, DST7).
  • the embodiments of the present application propose to implicitly indicate the transformation matrix combination corresponding to the coding block by using the quantization coefficients in the quantization coefficient block, thereby reducing the bits occupied by the transformation matrix index and effectively improving the video coding efficiency.
  • FIG. 6 shows a flowchart of a video decoding method according to an embodiment of the present application.
  • the video decoding method may be executed by a device with a computing processing function, such as a terminal device or a server.
  • the video decoding method at least includes steps S610 to S640, which are described in detail as follows:
  • step S610 entropy decoding processing is performed on the coded block of the video image frame to obtain a quantized coefficient block of residual data corresponding to the coded block.
  • the video image frame sequence includes a series of video image frames, each video image frame can be further divided into slices, and the slices can be further divided into a series of LCUs (or CTUs). ), the LCU contains several CUs.
  • the video image frame is coded in block units.
  • some new video coding standards such as the H.264 standard, there is a macroblock (MB).
  • the macroblock can be further divided into multiple blocks that can be used for Prediction block (prediction) for predictive coding.
  • prediction Prediction
  • basic concepts such as coding unit CU, prediction unit (Prediction Unit, PU) and transform unit (Transform Unit, TU) are used, and various block units are functionally divided, and a new tree-based structure is used. describe.
  • a CU can be divided into smaller CUs according to a quadtree, and the smaller CUs can be further divided to form a quadtree structure.
  • the coding block in this embodiment of the present application may be a CU, or a block smaller than the CU, such as a smaller block obtained by dividing the CU.
  • step S620 the quantized coefficients in the designated area in the quantized coefficient block are counted to obtain the statistical value of the quantized coefficients.
  • the decoding end before counting the quantization coefficients of the quantization coefficient block, the decoding end first needs to determine whether to use the quantization coefficient to implicitly indicate the transformation matrix combination of the coding block. If used, the quantized coefficients in the specified area in the quantized coefficient block are counted.
  • the encoding end may set an index flag in the header of the encoded data to inform the decoding end to use the quantization coefficient to implicitly indicate the encoding block. Transformation matrix combination; correspondingly, the decoding end determines whether quantization parameter statistics need to be performed by detecting the index identifier of the header of the encoded data.
  • the header may be the sequence header of the encoded data corresponding to the video image sequence, the image header of the encoded data corresponding to the video image frame, the slice header of the encoded data corresponding to the slice in the video image frame, or the LCU in the video image frame.
  • the LCU header of the encoded data which is not limited in this embodiment.
  • the encoding end may set a specified index flag in the sequence header of the video image frame sequence corresponding to the first encoded data to indicate that the encoding block in the first encoded data needs to be quantized according to the quantization coefficient block in the quantization coefficient block.
  • the coefficients select the transformation matrix combination.
  • the encoding end may set a specified index flag in the image header of the video image frame corresponding to the second encoded data to indicate that the encoding block in the second encoded data needs to be based on the quantization coefficients in the quantization coefficient block. Select the transformation matrix combination.
  • the encoding end may set a specified index flag in the header of the slice corresponding to the third encoded data in the video image frame to indicate that the encoding block in the third encoded data needs to be based on the quantization coefficient block.
  • the quantization coefficients in select the transform matrix combination.
  • the encoding end may set a specified index flag in the LCU header of the fourth encoded data corresponding to the LCU in the video image frame to indicate that the encoding block in the fourth encoded data needs to
  • the quantization coefficients select the transform matrix combination.
  • the decoding end can determine whether the encoding block needs to select a transformation matrix according to the quantization coefficients in the quantization coefficient block according to the relationship between the size of the encoding block and the threshold combination.
  • the size of the coding block is small (such as smaller than the threshold), it can be determined that the coding block needs to select the transformation matrix combination according to the quantization coefficients in the quantization coefficient block; on the contrary, if the size of the coding block is large (such as larger than the threshold) , it can be determined that the encoding block does not need to select a combination of transform matrices according to the quantization coefficients in the quantization coefficient block.
  • whether the transform matrix combination needs to be selected according to the quantization coefficients in the quantization coefficient block can be implicitly indicated according to the size of the coding block, and no additional bits are required, so the video coding efficiency can also be improved.
  • the encoder may set index identifiers with different values in the header of the encoded data, so that the encoding based on different levels (such as frame sequence level, frame level, slice level, and LCU level)
  • the value combination of the data header index identifier determines whether the change matrix combination of the coding block at the corresponding level needs to be selected based on the quantization parameter.
  • the index identifier included in the sequence header of the video image frame sequence corresponding to the first encoded data is the first value (for example, it may be 0)
  • the transform matrix combination is selected according to the quantized coefficients in the quantized coefficient block.
  • the index identifier included in the sequence header is the second value (for example, it may be 1), at this time, the decision can be further made according to the index identifier included in the image header of the second encoded data corresponding to the video image frame.
  • the index identifier included in the aforementioned sequence header is the second value (for example, it may be 1)
  • the index identifier included in the aforementioned image header is the first value (eg, it may be 0)
  • it can be determined that the encoding block in the second encoded data does not need to select a transformation matrix combination according to the quantization coefficients in the quantization coefficient block.
  • the index identifier contained in the foregoing sequence header and the index identifier included in the foregoing image header are both second values (for example, may be 1), then it can be determined that the encoding blocks in the second encoded data all need to be based on the quantization coefficient block
  • the quantization coefficients select the transform matrix combination.
  • the slice header, the LCU header and the size of the coding block may no longer be used for decision making.
  • the video image The decision is made according to the index identifier contained in the header of the slice of the third encoded data corresponding to the slice of the frame.
  • the index identifier included in the preceding sequence header and the index identifier included in the preceding image header are both the second value, but the index identifier included in the slice header information of the slice corresponding to the third encoded data is the first value (for example, can be 0), then it can be determined that the encoding block in the third encoded data does not need to select a transformation matrix combination according to the quantization coefficients in the quantization coefficient block.
  • the index identifier included in the foregoing sequence header, the index identifier included in the foregoing image header, and the index identifier included in the foregoing slice header are all second values (for example, may be 1), it can be determined that the third encoded data contains It is necessary to select the transformation matrix combination according to the quantization coefficients in the quantization coefficient block. Optionally, in this case, the decision can no longer be made through the LCU header and the size of the coding block.
  • the decision may be further made according to the index identifier included in the LCU header of the fourth encoded data corresponding to the LCU in the slice.
  • the LCU header information of the fourth encoded data corresponding to the LCU includes The index identifier of is the first value (for example, it may be 0), then it can be determined that the encoding block in the fourth encoded data does not need to select the transformation matrix combination according to the quantization coefficients in the quantization coefficient block.
  • the index identifier included in the aforementioned sequence header, the index identifier included in the aforementioned image header, the index identifier included in the aforementioned slice header, and the index identifier included in the aforementioned LCU header information are all second values (for example, it may be 1 ), then it can be determined that the coding blocks in the fourth coded data all need to select the transformation matrix combination according to the quantization coefficients in the quantization coefficient blocks. Optionally, in this case, the decision can no longer be made by the size of the coding block.
  • the index identifier included in the foregoing sequence header if the index identifier included in the foregoing image header, the index identifier included in the foregoing slice header, and the index included in the foregoing LCU header information If the flags are all second values (for example, it may be 1), then the decision may be further made according to the size of the coding block.
  • the index identifier included in the aforementioned sequence header, the index identifier included in the aforementioned image header, the index identifier included in the aforementioned slice header, and the index identifier included in the aforementioned LCU header information are all second values, but the encoding If the size of the block is small (for example, smaller than the threshold), it can be determined that the encoding block needs to select the corresponding transformation matrix combination according to the quantization coefficients in the quantization coefficient block; on the contrary, if the size of the encoding block is large (for example, larger than the threshold), then It can be determined that the encoding block needs to select a transformation matrix combination according to the quantization coefficients in the quantization coefficient block.
  • the index identifier in the aforementioned sequence header is 1 (the value is only an example), which means that the encoding block in the first encoded data corresponding to the video image frame sequence needs to select a transformation matrix combination according to the quantization coefficients in the quantization coefficient block.
  • the index identifier in the image header is 1 (the value is only an example), which means that the encoding block in the second encoded data corresponding to the video image frame needs to select the transformation matrix combination according to the quantization coefficients in the quantization coefficient block.
  • the index identifier in the aforementioned slice header is 1 (the value is only an example), which means that the encoding block in the third encoded data corresponding to the slice needs to select the transformation matrix combination according to the quantization coefficients in the quantization coefficient block.
  • the index identifier in the aforementioned LCU header is 1 (the value is only an example), which means that the encoding block in the fourth encoded data corresponding to the LCU needs to select a transformation matrix combination according to the quantization coefficients in the quantization coefficient block.
  • the size of the coding block is small (for example, smaller than the threshold value), it can be determined that the coding block needs to select the transformation matrix combination according to the quantization coefficients in the quantization coefficient block; on the contrary, if the size of the coding block is large (for example, larger than the threshold value) ), it can be determined that the coding block does not need to select the corresponding transformation matrix combination according to the quantization coefficients in the quantization coefficient block obtained by entropy decoding.
  • the index identifier in the aforementioned sequence header and the index identifier in the image header it means that the encoding blocks in the second encoded data corresponding to the video image frame all need to be based on the quantization coefficient block.
  • the quantization coefficient in selects the transformation matrix combination; if the index in the sequence header is 1, and the index in the image header is 0 (the value is only an example), it means that the second encoded data corresponding to the video image frame is in the
  • the coding block of the quantization coefficient block does not need to select the transform matrix combination according to the quantization coefficients in the quantization coefficient block.
  • the index identification in the aforementioned sequence header the index identification in the image header and the index identification in the slice header, and the decision is no longer made through the LCU header and the size of the coding block.
  • the index identifier in the sequence header, the index identifier in the image header, and the index identifier in the slice header are all 1 (the value is only an example)
  • it means that the encoding in the third encoded data corresponding to the slice is The block needs to select the transformation matrix combination according to the quantization coefficients in the quantization coefficient block; if the index identification in the sequence header and the index identification in the image header are 1, and the index identification in the slice header is 0 (the value is only an example) ), it means that the encoding block in the third encoded data corresponding to the slice does not need to select the transformation matrix combination according to the quantization coefficients in the quantization coefficient block.
  • index identifier in the aforementioned sequence header the index identifier in the image header, the index identifier in the slice header, and the index identifier in the LCU header, and the decision is no longer made based on the size of the coding block.
  • the index identifier in the sequence header, the index identifier in the image header, the index identifier in the slice header, and the index identifier in the LCU header are all 1 (the value is only an example), it means that the LCU corresponds to the The encoding block in the fourth encoded data needs to select the transformation matrix combination according to the quantization coefficient in the quantization coefficient block; However, the index identifier in the LCU header is 0 (the value is only an example), indicating that the encoding block in the fourth encoded data corresponding to the LCU does not need to select the corresponding transformation matrix combination according to the quantization coefficients in the quantization coefficient block.
  • the decision is made based on the index identifier in the sequence header, the index identifier in the image header, the index identifier in the slice header, the index identifier in the LCU header, and the size of the coding block.
  • the index identifier in the sequence header, the index identifier in the image header, the index identifier in the slice header, and the index identifier in the LCU header are all 1 (the value is only an example), and the size of the encoding block is less than the set threshold, it means that the coding block needs to select the transformation matrix combination according to the quantization coefficients in the quantization coefficient block;
  • the index flags in the LCU header are all 1, but the size of the coding block is larger than the set threshold, indicating that the coding block does not need to select a transformation matrix combination according to the quantization coefficients in the quantization coefficient block.
  • the index identifier in the image header and the index identifier in the slice header are both 1 (the value is only an example), it means that the encoding blocks in the third encoded data corresponding to the slice all need to be based on the quantization coefficient blocks in the The quantization coefficient selection transformation matrix combination; if the index mark in the image header is 1, and the index mark in the slice header is 0 (the value is only an example), it means that the third encoded data corresponding to the slice is marked. Neither coding block needs to select a transform matrix combination according to the quantization coefficients in the quantization coefficient block.
  • the index identifier in the image header, the index identifier in the slice header, and the index identifier in the LCU header are all 1 (the value is only an example), it means that the encoding block in the fourth encoded data corresponding to the LCU is The transformation matrix combination needs to be selected according to the quantization coefficients in the quantization coefficient block; if the index identification in the image header and the index identification in the slice header are 1, and the index identification in the LCU header is 0 (the value is only an example) , it means that the encoding block in the fourth encoded data corresponding to the LCU does not need to select a transformation matrix combination according to the quantization coefficients in the quantization coefficient block.
  • the decision is made based on the index identifier in the image header, the index identifier in the slice header, the index identifier in the LCU header, and the size of the coding block, and the sequence header is no longer used for decision-making.
  • the index identifier in the image header, the index identifier in the slice header, and the index identifier in the LCU header are all 1 (the value is only an example), and the size of the encoding block is smaller than the set threshold, it means that the The encoding block needs to select the transformation matrix combination according to the quantization coefficients in the quantization coefficient block; If the value is greater than the set threshold, it means that the coding block does not need to select the transformation matrix combination according to the quantization coefficients in the quantization coefficient block.
  • the decoding end when performing statistics on quantized coefficients in a specified area in the quantized coefficient block, may perform statistics on all quantized coefficients in the specified area, and when performing statistics, the original quantized coefficients may be used. A numerical value, or a converted numerical value of the quantization coefficient can be used.
  • the encoding end adjusts the quantization parameters in the designated area in the quantization coefficient block during encoding, so as to realize the implicit indication of the transformation matrix combination, without the need for additional indication by bits.
  • the decoding end when counting the quantization coefficients in the specified area in the quantization coefficient block, may obtain the quantization coefficients in the specified area by performing statistics on the quantization coefficients in the specified area according to the value of the quantization coefficients in the specified area in the quantization coefficient block. Statistical result, and then directly use the statistic result as the quantization coefficient statistic value. Alternatively, after the statistical result is obtained, the remainder of the statistical result with respect to the set value may be calculated, and the remainder may be used as the statistical value of the quantization coefficient.
  • the set value may be any non-zero number, such as 2, 3, 4, and so on.
  • the sum of the numerical values of the quantization coefficients in the designated area can be calculated, and the The sum of the quantization coefficients in the specified area can be calculated as the statistical result; or the sum of the absolute values of the quantization coefficients in the specified area can be calculated, and the obtained sum value can be used as the statistical result; or the numerical value of the quantization coefficients with odd values in the specified area can be converted into the first A numerical value, convert the numerical value of the quantization coefficient whose value is an even number into a second numerical value, and then calculate the sum of the numerical values of the quantized coefficients in the specified area after the numerical conversion, and use the obtained sum as the statistical result, where the first numerical value and the One of the second values is odd and the other is even.
  • the decoding end converts the value of the quantization coefficient whose value is an odd number in the specified area to 1, and converts the value of the quantization coefficient whose value is an even number to 0; or converts the value of the quantization coefficient whose value is an odd number in the specified area to 0, Convert the value of the quantization coefficient with an even value to 1; or convert the value of the quantization coefficient with an odd value in the specified area to 3, and convert the value of the quantization coefficient with an even value to 2; or convert the value in the specified area to
  • the numerical value of the odd-numbered quantization coefficient is converted to 2, and the numerical value of the even-numbered quantization coefficient is converted to 3.
  • the embodiments of the present application do not limit the specific values of the first numerical value and the second numerical value.
  • the decoding end when performing statistics on the quantized coefficients in a specified area in the quantized coefficient block, may perform statistics on some quantized coefficients (such as odd-numbered quantization parameters or even-numbered quantization parameters) in the specified area, When performing statistics, the original value of the quantization coefficient or the converted value of the quantization coefficient may be used.
  • the encoding end when encoding, adjusts some quantization parameters in the designated area of the quantization coefficient block, so as to realize the implicit indication of the transformation matrix combination without additional indication by bits.
  • the number of quantization coefficients with odd values in the designated area may be used as Statistical result; or calculate the sum of the quantization coefficients with odd values in the specified area, and use the obtained sum as the statistical result; or calculate the sum of the absolute values of the quantization coefficients with odd values in the specified area, and get the sum value As a statistical result; or convert the numerical value of the quantization coefficient whose value is odd in the specified area into the first value, convert the numerical value of the quantization coefficient whose value is even into the second value, and then calculate the odd value of the quantization coefficient in the specified area after the numerical conversion.
  • the sum of numerical values, the obtained sum value is used as the statistical result, wherein one of the first numerical value and the second numerical value is an odd number, and the other is an even number.
  • the number of quantization coefficients with even values in the designated area may be used as Statistical result; or calculate the sum of the quantization coefficients whose values are even in the specified area, and use the obtained sum as the statistical result; or calculate the sum of the absolute values of the quantization coefficients whose values are even in the specified area, and get the sum.
  • the following methods may be used when performing statistics on the quantization coefficients in the designated area:
  • the above designated area may be all areas in the quantized coefficient block.
  • the above-mentioned designated area may be a designated position or multiple positions in the quantization coefficient block.
  • the above-mentioned designated area may be at least one row designated in the quantized coefficient block.
  • the quantized coefficient block is a 4 ⁇ 4 coefficient block, and each block represents a quantized coefficient
  • one row of the gray area can be used as the designated area; or you can
  • the two lines in the gray area are designated areas.
  • the at least one row may be an upper row in the block of quantized coefficients.
  • the above-mentioned designated area may be at least one column designated in the quantized coefficient block.
  • the quantized coefficient block is a 4 ⁇ 4 coefficient block, and each block represents a quantized coefficient
  • one column of the gray area can be used as the designated area; or you can
  • the two columns in the gray area are designated areas.
  • the at least one column may be the left column in the block of quantized coefficients.
  • the above-mentioned designated area may be at least one designated row and at least one designated column in the quantized coefficient block.
  • the quantized coefficient block is a 4 ⁇ 4 coefficient block, and each block represents a quantized coefficient, then as shown in (a) of FIG.
  • the lower row and the right column (that is, The gray area in it) is used as the designated area; or as shown in (b) in Figure 8, the 2 rows below and the 2 columns on the right (that is, the gray area) can be used as the designated area; or as shown in Figure 8 (c) ), use the upper row and the left column (that is, the gray area) as the designated area; or as shown in (d) in Figure 8, the upper 2 rows and the left 2 columns (that is, where the gray area) as the designated area.
  • the above-mentioned designated area may be a position on at least one oblique line in the quantized coefficient block.
  • the quantized coefficient block is a 4 ⁇ 4 coefficient block, and each block represents a quantized coefficient
  • the position on a diagonal line can be used as Designated area; or, as shown in (c) and (d) of 9, use the position on the two diagonal lines as the designated area.
  • the above-mentioned designated area may be an SRCC area in the quantized coefficient block.
  • the SRCC area is the scanning area marked by the SRCC technology.
  • the above-mentioned designated area may be one location or multiple locations designated in the SRCC area.
  • the position or positions specified in the SRCC area may include: the first N positions in the scanning order, where N is a natural number other than 0.
  • the above-mentioned designated area may be at least one row designated in the SRCC area.
  • the SRCC area is a 4 ⁇ 4 coefficient block, and each block represents a quantized coefficient
  • 1 row of the gray area can be used as the designated area;
  • the two lines in the gray area are designated areas.
  • the at least one row may be an upper row in the block of quantized coefficients.
  • the above-mentioned designated area may be at least one column designated in the SRCC area.
  • the SRCC area is a 4 ⁇ 4 coefficient block, and each block represents a quantized coefficient
  • 1 column of the gray area can be used as the designated area;
  • the two columns in the gray area are designated areas.
  • the at least one column may be the left column in the block of quantized coefficients.
  • the above-mentioned designated area may be at least one designated row and at least one designated column in the SRCC area.
  • the SRCC area is a 4 ⁇ 4 coefficient block, and each block represents a quantized coefficient
  • the lower row and the right column that is, where The gray area of the As shown in Figure 8 (d), the upper row and the left column (that is, the gray area) are used as the designated area; or as shown in (d) in Figure 8, the upper 2 rows and the left 2 columns (that is, the gray area) as the designated area.
  • the above-mentioned designated area may be a position on at least one diagonal line in the SRCC area.
  • the SRCC area is a 4 ⁇ 4 coefficient block, and each block represents a quantized coefficient, then as shown in (a) and (b) in 9, the position on a diagonal line can be designated as area; or as shown in (c) and (d) in 9, the position on the two diagonal lines is used as the designated area.
  • the designated area division manners in the foregoing embodiments may also be combined, so that the combined area is used as the designated area.
  • step S630 the transformation matrix combination corresponding to the statistical value of the quantization coefficient is selected.
  • the decoding end determines the transformation matrix combination corresponding to the coding block based on the parity of the statistical value of the quantization coefficient.
  • the encoding end realizes the parity adjustment of the statistical value of the quantization coefficients by adjusting the quantization parameters in the designated area of the quantization parameter block based on the transformation matrix combination of the encoding block, thereby realizing the implicit indication of the transformation matrix combination. .
  • the transformation matrix combination may be selected according to the parity of the quantized coefficient statistics. For example, if the statistical value of the quantization coefficients is an odd number, the first transformation matrix combination is selected; if the statistical value of the quantization coefficients is an even number, a second transformation matrix combination different from the first transformation matrix combination is selected; or if the statistical value of the quantization coefficients is an odd number, Then the second transformation matrix combination is selected, and if the quantization coefficient statistical value is an even number, the first transformation matrix combination is selected.
  • the first transformation matrix combination and the second transformation matrix combination may be any one of (DCT2, DCT2), (DCT8, DCT8), (DCT8, DST7), (DST7, DCT8) and (DST7, DST7) , but the first transformation matrix combination and the second transformation matrix combination are not the same.
  • the decoding end determines the transformation matrix combination corresponding to the coding block based on the numerical value of the statistical value of the quantization coefficient.
  • the encoding end implements numerical adjustment of the statistical value of the quantization coefficients by adjusting the quantization parameters in the designated area of the quantization parameter block based on the transformation matrix combination of the encoding block, thereby realizing the implicit indication of the transformation matrix combination. It should be noted that, compared with the use of parity for indication, the use of numerical values can achieve a more refined transformation matrix combination indication, but the complexity of the coding at the coding end is correspondingly increased.
  • the transformation matrix combination may be selected according to the numerical value of the statistical value of the quantization coefficient. For example, if the statistical value of the quantization coefficient belongs to the first numerical value set, select the first transformation matrix combination, otherwise, select the second transformation matrix combination different from the first transformation matrix combination; or if the statistical value of the quantization coefficient belongs to the first numerical value If set, select the second transformation matrix combination, otherwise, select the first transformation matrix combination.
  • the first transformation matrix combination and the second transformation matrix combination may be any one of (DCT2, DCT2), (DCT8, DCT8), (DCT8, DST7), (DST7, DCT8) and (DST7, DST7) , but the first transformation matrix combination and the second transformation matrix combination are not the same.
  • (DCT2, DCT2) is selected when the statistical value of the quantization coefficient belongs to the first numerical set
  • (DST7, DST7) is selected when the statistical value of the quantized coefficient does not belong to the first numerical set.
  • the statistical value of the quantization coefficient is the remainder of the statistical result of the quantization coefficient for 4 (the value is only an example), and the first value set is (0, 1, 2), then when the statistical value of the quantization coefficient is 2, you can choose (DCT2 , DCT2); when the statistical value of the quantization coefficient is 3, (DST7, DST7) can be selected.
  • select DST7, DST7
  • select DCT2, DCT2
  • the statistical value of the quantization coefficient is the remainder of the statistical result of the quantization coefficient for 4 (the value is only an example), and the first set of values is (0, 1, 2)
  • the statistical value of the quantization coefficient is 2, you can choose (DST7 , DST7); when the statistical value of the quantization coefficient is 3, (DCT2, DCT2) can be selected.
  • step S640 inverse transform processing is performed on the inverse quantization result of the quantized coefficient block based on the selected transform matrix combination.
  • inverse transform processing is performed on the inverse quantization result of the quantized coefficient block based on the selected transform matrix combination.
  • the technical solutions of the above embodiments of the present application enable the quantization coefficient in the quantization coefficient block to implicitly indicate the combination of transformation matrices corresponding to the coding block, without the need for the coding end to encode the index of the transformation matrix for each coding unit, thereby reducing the transformation matrix index occupied bits, which can effectively improve the video coding efficiency.
  • FIG. 10 shows a block diagram of a video decoding apparatus according to an embodiment of the present application.
  • the video decoding apparatus may be set in a device with a computing processing function, such as a terminal device or a server.
  • a video decoding apparatus 1000 includes: a decoding unit 1002 , a statistics unit 1004 , a selection unit 1006 and a processing unit 1008 .
  • the decoding unit 1002 is configured to perform entropy decoding processing on the coding block of the video image frame to obtain a quantized coefficient block of residual data corresponding to the coding block;
  • the statistics unit 1004 is configured to count the quantized coefficient blocks in the specified area quantizing coefficients to obtain statistical values of quantized coefficients;
  • the selection unit 1006 is configured to select a transformation matrix combination corresponding to the statistical values of the quantized coefficients;
  • the processing unit 1008 is configured to inverse quantization results of the quantized coefficient block based on the selected transformation matrix combination Inverse transformation processing is performed to obtain reconstructed residual data, and the reconstructed residual data is used for video image reconstruction.
  • the video decoding apparatus 1000 further includes: a first determination unit, configured to be configured when the sequence header of the video image frame sequence corresponding to the first encoded data contains a specified index identifier , determining the encoding block in the first encoded data requires selecting a transformation matrix combination according to the quantization coefficients in the quantization coefficient block.
  • the video decoding apparatus 1000 further includes: a second determining unit configured to, when the image header of the video image frame corresponding to the second encoded data contains a specified index identifier, Determining the encoding block in the second encoded data requires selecting a combination of transform matrices according to the quantization coefficients in the quantization coefficient block.
  • the video decoding apparatus 1000 further includes: a third determining unit, configured to include the specified header information in the slice header information of the slice corresponding to the third encoded data in the video image frame.
  • a third determining unit configured to include the specified header information in the slice header information of the slice corresponding to the third encoded data in the video image frame.
  • the video decoding apparatus 1000 further includes: a fourth determination unit, configured to include a specified index in the LCU header information of the LCU corresponding to the fourth encoded data in the video image frame
  • a fourth determination unit configured to include a specified index in the LCU header information of the LCU corresponding to the fourth encoded data in the video image frame
  • the video decoding apparatus 1000 further includes: a fifth determination unit, configured to determine that if the size of the encoding block is smaller than a threshold, the encoding block needs to be determined according to the quantization coefficient block The quantization coefficients in select the transform matrix combination.
  • the video decoding apparatus 1000 further includes: a sixth determination unit, configured to identify the index included in the sequence header of the video image frame sequence corresponding to the first encoded data as the first When it is a value, it is determined that the encoding block in the first encoded data does not need to select a transformation matrix combination according to the quantization coefficients in the quantization coefficient block; and the index identifier included in the sequence header is configured to be the second value, and the When the index identifier contained in the image header of the second encoded data corresponding to the video image frame in the video image frame sequence is the first value, it is not necessary to determine the encoding block in the second encoded data according to the quantization coefficient in the quantization coefficient block. Select the transformation matrix combination.
  • the sixth determining unit is further configured to include an index identifier included in the sequence header as a second value, and an index identifier included in the image header as a second value When the value is determined, it is necessary to select a transformation matrix combination according to the quantization coefficients in the quantization coefficient block to determine the coding block in the second coded data.
  • the sixth determination unit is further configured to identify the index included in the sequence header as a second value, and the index included in the image header as the second value , and when the index identifier included in the slice header information of the third encoded data corresponding to the slice in the video image frame is the first value, it is determined that the encoding block in the third encoded data does not need to be based on the quantization coefficient block
  • the quantization coefficients select the transform matrix combination.
  • the sixth determination unit is further configured to identify the index included in the sequence header as a second value, and the index included in the image header as the second value .
  • the index identifier included in the slice header information is the second value, it is determined that the encoding block in the third encoded data needs to select a transformation matrix combination according to the quantization coefficients in the quantization coefficient block.
  • the sixth determination unit is further configured to identify the index included in the sequence header as a second value, and the index included in the image header as the second value , when the index identifier included in the slice header information is the second value, and the index identifier included in the LCU header information of the fourth encoded data corresponding to the LCU in the slice is the first value, it is determined that the fourth value is identified.
  • No coding block in the coded data needs to select a combination of transform matrices according to the quantized coefficients in the quantized coefficient block.
  • the sixth determination unit is further configured to identify the index included in the sequence header as a second value, and the index included in the image header as the second value , when the index identification included in the slice header information is the second value, and the index identification included in the LCU header information is the second value, it is determined that the encoding block in the fourth encoded data needs to be based on the quantization coefficient block.
  • the quantization coefficients in select the transform matrix combination.
  • the sixth determination unit is further configured to identify the index included in the sequence header as a second value, and the index included in the image header as the second value , when the index identification included in the slice header information is the second value, and the index identification included in the LCU header information is the second value, it is determined that there is an encoding block in the fourth encoded data.
  • the quantization coefficient selection transformation matrix combination; or the sixth determination unit is further configured to identify the index included in the sequence header as the second value, the index included in the image header as the second value, the stripe
  • the index included in the band header information is identified as the second value
  • the index included in the LCU header information is identified as the second value, then according to the relationship between the size of the coding block in the LCU and the threshold, determine the Whether the encoding block needs to select a transform matrix combination according to the quantization coefficients in the quantization coefficient block.
  • the statistics unit 1004 is configured to: perform statistics on the quantization coefficients in the specified area according to the value of the quantization coefficients in the specified area in the quantization coefficient block to obtain a statistical result, Taking the statistical result as the statistical value of the quantization coefficient; or, calculating the remainder of the statistical result with respect to the set value, and taking the remainder as the statistical value of the quantization coefficient.
  • the statistics unit 1004 is configured to: calculate the sum of the numerical values of the quantization coefficients in the designated area according to the numerical values of the quantization coefficients in the designated area, and obtain the sum value as a result of said statistics; or
  • the quantization coefficient whose value is an odd number in the designated area is converted into a first value
  • the quantization coefficient whose value is an even number is converted into a second value
  • the specified value is calculated after the numerical conversion.
  • the sum of the numerical values of the quantization coefficients in the area is used as the statistical result, wherein one of the first numerical value and the second numerical value is an odd number, and the other is an even number.
  • the statistics unit 1004 is configured to: use the number of odd-numbered quantization coefficients in the designated area as the statistical result; or
  • the quantization coefficient in the designated area calculate the sum of the absolute values of the odd-numbered quantization coefficients in the designated area, and use the obtained sum as the statistical result;
  • the quantization coefficient whose value is an odd number in the designated area is converted into a first value
  • the quantization coefficient whose value is an even number is converted into a second value
  • the specified value is calculated after the numerical conversion.
  • the sum of the odd values of the quantization coefficients in the area is used as the statistical result, wherein one of the first value and the second value is an odd number, and the other is an even number.
  • the statistics unit 1004 is configured to: use the number of quantization coefficients whose values are even in the specified area as the statistical result; or
  • the quantization coefficient whose value is an odd number in the designated area is converted into a first value
  • the quantization coefficient whose value is an even number is converted into a second value
  • the specified value is calculated after the numerical conversion.
  • the sum of the even values of the quantization coefficients in the region is used as the statistical result, wherein one of the first value and the second value is an odd number, and the other is an even number.
  • the designated area includes any one of the following:
  • the quantized coefficient block is located on at least one oblique line.
  • the designated area includes any one of the following:
  • the SRCC area is located on at least one diagonal line.
  • the specified position or positions in the SRCC area include: the first N positions in the scanning order, where N is a natural number other than 0.
  • the selection unit 1006 is configured to: if the statistical value of the quantization coefficients is an odd number, select the first transformation matrix combination, and if the statistical value of the quantization coefficients is an even number, select and the first transformation matrix combination is a different second transformation matrix combination; or
  • the second transformation matrix combination is selected, and if the statistical value of the quantization coefficients is an even number, the first transformation matrix combination is selected.
  • the selection unit 1006 is configured to: if the statistical value of the quantization coefficients belongs to the first numerical set, select a first transformation matrix combination; belongs to the first numerical set, select a second transformation matrix combination different from the first transformation matrix combination; or
  • FIG. 11 shows a schematic structural diagram of a computer system suitable for implementing the electronic device according to the embodiment of the present application.
  • the computer system 1100 includes a central processing unit (Central Processing Unit, CPU) 1101, which can be loaded into a random device according to a program stored in a read-only memory (Read-Only Memory, ROM) 1102 or from a storage part 1108
  • the programs in the memory (Random Access Memory, RAM) 1103 are accessed to perform various appropriate actions and processes, for example, the methods described in the above embodiments are performed.
  • RAM Random Access Memory
  • various programs and data required for system operation are also stored.
  • the CPU 1101, the ROM 1102, and the RAM 1103 are connected to each other through a bus 1104.
  • An Input/Output (I/O) interface 1105 is also connected to the bus 1104 .
  • the following components are connected to the I/O interface 1105: an input section 1106 including a keyboard, a mouse, etc.; an output section 1107 including a cathode ray tube (CRT), a liquid crystal display (LCD), etc., and a speaker, etc. ; a storage part 1108 including a hard disk and the like; and a communication part 1109 including a network interface card such as a LAN (Local Area Network) card, a modem, and the like.
  • the communication section 1109 performs communication processing via a network such as the Internet.
  • Drivers 1110 are also connected to I/O interface 1105 as needed.
  • a removable medium 1111 such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, etc., is mounted on the drive 1110 as needed so that a computer program read therefrom is installed into the storage section 1108 as needed.
  • embodiments of the present application include a computer program product comprising a computer program carried on a computer-readable medium, the computer program comprising a computer program for performing the method illustrated in the flowchart.
  • the computer program may be downloaded and installed from the network via the communication portion 1109, and/or installed from the removable medium 1111.
  • CPU central processing unit
  • the computer-readable medium shown in the embodiments of the present application may be a computer-readable signal medium or a computer-readable storage medium, or any combination of the above two.
  • the computer-readable storage medium can be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus or device, or a combination of any of the above.
  • Computer readable storage media may include, but are not limited to, electrical connections with one or more wires, portable computer disks, hard disks, random access memory (RAM), read only memory (ROM), erasable Erasable Programmable Read Only Memory (EPROM), flash memory, optical fiber, portable Compact Disc Read-Only Memory (CD-ROM), optical storage device, magnetic storage device, or any suitable of the above The combination.
  • a computer-readable storage medium can be any tangible medium that contains or stores a program that can be used by or in conjunction with an instruction execution system, apparatus, or device.
  • a computer-readable signal medium may include a data signal propagated in baseband or as part of a carrier wave, carrying a computer-readable computer program therein.
  • Such propagated data signals may take a variety of forms including, but not limited to, electromagnetic signals, optical signals, or any suitable combination of the foregoing.
  • a computer-readable signal medium can also be any computer-readable medium other than a computer-readable storage medium that can transmit, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device .
  • a computer program embodied on a computer-readable medium may be transmitted using any suitable medium, including but not limited to: wireless, wired, etc., or any suitable combination of the foregoing.
  • the units involved in the embodiments of the present application may be implemented in software or hardware, and the described units may also be provided in a processor. Among them, the names of these units do not constitute a limitation on the unit itself under certain circumstances.
  • the present application also provides a computer-readable medium.
  • the computer-readable medium may be included in the electronic device described in the above embodiments; it may also exist alone without being assembled into the electronic device. middle.
  • the above-mentioned computer-readable medium carries one or more programs, and when the above-mentioned one or more programs are executed by an electronic device, enables the electronic device to implement the methods described in the above-mentioned embodiments.
  • the exemplary embodiments described herein may be implemented by software, or may be implemented by software combined with necessary hardware. Therefore, the technical solutions according to the embodiments of the present application may be embodied in the form of software products, and the software products may be stored in a non-volatile storage medium (which may be CD-ROM, U disk, mobile hard disk, etc.) or on the network , which includes several instructions to cause a computing device (which may be a personal computer, a server, a touch terminal, or a network device, etc.) to execute the method according to the embodiments of the present application.
  • a computing device which may be a personal computer, a server, a touch terminal, or a network device, etc.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本申请的实施例提供了一种视频解码方法、装置、计算机可读介质及电子设备。该视频解码方法包括:对视频图像帧的编码块进行熵解码处理,获得所述编码块对应的残差数据的量化系数块;统计所述量化系数块中指定区域内的量化系数,得到量化系数统计值;选择与所述量化系数统计值相对应的变换矩阵组合;基于选择的变换矩阵组合对所述量化系数块的反量化结果进行反变换处理,得到重构残差数据,所述重构残差数据用于视频图像重建。本申请实施例的技术方案可以有效提高视频编码效率。

Description

视频解码方法、装置、计算机可读介质及电子设备
本申请实施例要求于2020年08月21日提交,申请号为202010855608.8、发明名称为“视频解码方法、装置、计算机可读介质及电子设备”的中国专利申请的优先权,其全部内容通过引用结合在本申请实施例中。
技术领域
本申请涉及计算机及通信技术领域,具体而言,涉及一种视频解码方法、装置、计算机可读介质及电子设备。
背景技术
在视频编码过程中,编码端通常需要对原始视频数据与预测视频数据之间的残差数据进行变换、量化及熵编码处理之后发送给解码端。
由于残差数据的多样性,单一的DCT(Discrete Cosine Transform,离散余弦变换)变换核无法适应所有的残差特性,因此对于一个残差块可能需要选择多个DCT变换核作为变换矩阵组合。
在这种情况下,虽然提升了变换矩阵组合对残差块的适应性,但是由于需要针对每个编码单元(Coding Unit,简称CU)来编码变换核的索引,因此导致编码效率较低。
发明内容
本申请的实施例提供了一种视频解码方法、装置、计算机可读介质及电子设备,进而至少在一定程度上可以有效提高视频编码效率。
本申请的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本申请的实践而习得。
根据本申请实施例的一个方面,提供了一种视频解码方法,包括:对视频图像帧的编码块进行熵解码处理,获得所述编码块对应的残差数据的量化系数块;统计所述量化系数块中指定区域内的量化系数,得到量化系数统计值;选择与所述量化系数统计值相对应的变换矩阵组合;基于选择的变换矩阵组合对所述量化系数块的反量化结果进行反变换处理,得到重构残差数据,所述重构残差数据用于视频图像重建。
根据本申请实施例的一个方面,提供了一种视频解码装置,包括:解码单元,配置为对视频图像帧的编码块进行熵解码处理,获得所述编码块对应的残差数据的量化系数块;统计单元,配置为统计所述量化系数块中指定区域内的量化系数,得到量化系数统计值;选择单元,配置为选择与所述量化系数统计值相对应的变换矩阵组合;处理单元,配置为基于选择的变换矩阵组合对所述量化系数块的反量化结果进行反变换处理,得到重构残差数据,所述重构残差数据用于视频图像重建。
根据本申请实施例的一个方面,提供了一种计算机可读介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述实施例中所述的视频解码方法。
根据本申请实施例的一个方面,提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上述实施例中所述的视频解码方法。
根据本申请实施例的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各种可选实施例中提供的视频解码方法。
在本申请的一些实施例所提供的技术方案中,通过统计量化系数块中指定区域内的量化系数得到量化系数统计值,然后选择与量化系数统计值相对应的变换矩阵组合,并基于选择的变换矩阵组合对量化系数块的反量化结果进行反变换处理,使得能够通过量化系数块中的量化系数来隐含指示编码块对应的变换矩阵组合,无需编码端针对每个编码单元都编码变换矩阵的索引,降低了变换矩阵索引所占用的比特位,进而可以有效提高视频编码效率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
图1示出了可以应用本申请实施例的技术方案的示例性系统架构的示意图;
图2示出视频编码装置和视频解码装置在流式传输系统中的放置方式示意图;
图3示出了一个视频编码过程的基本流程图;
图4示出了通过SRCC技术标记出的扫描区域;
图5示出了对标记出的扫描区域进行扫描的顺序示意图;
图6示出了根据本申请的一个实施例的视频解码方法的流程图;
图7示出了根据本申请的一个实施例的指定区域的划分方式示意图;
图8示出了根据本申请的一个实施例的指定区域的划分方式示意图;
图9示出了根据本申请的一个实施例的指定区域的划分方式示意图;
图10示出了根据本申请的一个实施例的视频解码装置的框图;
图11示出了适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。
具体实施方式
图1示出了可以应用本申请实施例的技术方案的示例性系统架构的示意图。
如图1所示,系统架构100包括多个终端装置,所述终端装置可通过例如 网络150彼此通信。举例来说,系统架构100可以包括通过网络150互连的第一终端装置110和第二终端装置120。在图1的实施例中,第一终端装置110和第二终端装置120执行单向数据传输。
举例来说,第一终端装置110可对视频数据(例如由终端装置110采集的视频画面流)进行编码以通过网络150传输到第二终端装置120,已编码的视频数据以一个或多个已编码视频码流形式传输,第二终端装置120可从网络150接收已编码视频数据,对已编码视频数据进行解码以恢复视频数据,并根据恢复的视频数据显示视频画面。
在本申请的一个实施例中,系统架构100可以包括执行已编码视频数据的双向传输的第三终端装置130和第四终端装置140,所述双向传输比如可以发生在视频会议期间。对于双向数据传输,第三终端装置130和第四终端装置140中的每个终端装置可对视频数据(例如由终端装置采集的视频画面流)进行编码,以通过网络150传输到第三终端装置130和第四终端装置140中的另一终端装置。第三终端装置130和第四终端装置140中的每个终端装置还可接收由第三终端装置130和第四终端装置140中的另一终端装置传输的已编码视频数据,且可对已编码视频数据进行解码以恢复视频数据,并可根据恢复的视频数据在可访问的显示装置上显示视频画面。
在图1的实施例中,第一终端装置110、第二终端装置120、第三终端装置130和第四终端装置140可为服务器、个人计算机和智能电话,但本申请公开的原理可不限于此。本申请公开的实施例适用于膝上型计算机、平板电脑、媒体播放器和/或专用视频会议设备。网络150表示在第一终端装置110、第二终端装置120、第三终端装置130和第四终端装置140之间传送已编码视频数据的任何数目的网络,包括例如有线和/或无线通信网络。通信网络150可在电路交换和/或分组交换信道中交换数据。该网络可包括电信网络、局域网、广域网和/或互联网。出于本申请的目的,除非在下文中有所解释,否则网络150的架构和拓扑对于本申请公开的操作来说可能是无关紧要的。
在本申请的一个实施例中,图2示出视频编码装置和视频解码装置在流式传输环境中的放置方式。本申请所公开主题可同等地适用于其它支持视频的应用,包括例如视频会议、数字TV(television,电视机)、在包括CD、DVD、存储棒等的数字介质上存储压缩视频等等。
流式传输系统可包括采集子系统213,采集子系统213可包括数码相机等视频源201,视频源创建未压缩的视频画面流202。在实施例中,视频画面流202包括由数码相机拍摄的样本。相较于已编码的视频数据204(或已编码的视频码流204),视频画面流202被描绘为粗线以强调高数据量的视频画面流,视频画面流202可由电子装置220处理,电子装置220包括耦接到视频源201的视频编码装置203。视频编码装置203可包括硬件、软件或软硬件组合以实现或实施如下文更详细地描述的所公开主题的各方面。相较于视频画面流202,已编码的视频数据204(或已编码的视频码流204)被描绘为细线以强调较低数据量的已编码的视频数据204(或已编码的视频码流204),其可存储在流式传 输服务器205上以供将来使用。一个或多个流式传输客户端子系统,例如图2中的客户端子系统206和客户端子系统208,可访问流式传输服务器205以检索已编码的视频数据204的副本207和副本209。客户端子系统206可包括例如电子装置230中的视频解码装置210。视频解码装置210对已编码的视频数据的传入副本207进行解码,且产生可在显示器212(例如显示屏)或另一呈现装置上呈现的输出视频画面流211。在一些流式传输系统中,可根据某些视频编码/压缩标准对已编码的视频数据204、视频数据207和视频数据209(例如视频码流)进行编码。该些标准的实施例包括ITU-T H.265。在实施例中,正在开发的视频编码标准非正式地称为下一代视频编码(Versatile Video Coding,VVC),本申请可用于VVC标准的上下文中。
应注意,电子装置220和电子装置230可包括图中未示出的其它组件。举例来说,电子装置220可包括视频解码装置,且电子装置230还可包括视频编码装置。
在本申请的一个实施例中,以国际视频编码标准HEVC(High Efficiency Video Coding,高效率视频编码)、VVC(Versatile Video Coding,多功能视频编码),以及中国国家视频编码标准AVS(Audio Video coding Standard,信源编码标准)为例,当输入一个视频帧图像之后,会根据一个块大小,将视频帧图像划分成若干个不重叠的处理单元,每个处理单元将进行类似的压缩操作。这个处理单元被称作CTU(Coding Tree Unit,编码树单元),或者称之为LCU。CTU再往下可以继续进行更加精细的划分,得到一个或多个基本的编码单元CU,CU是一个编码环节中最基本的元素。以下介绍对CU进行编码时的一些概念:
预测编码(Predictive Coding):预测编码包括了帧内预测和帧间预测等方式,原始视频信号经过选定的已重建视频信号的预测后,得到残差视频信号。编码端需要为当前CU决定选择哪一种预测编码模式,并告知解码端。其中,帧内预测是指预测的信号来自于同一图像内已经编码重建过的区域;帧间预测是指预测的信号来自已经编码过的、不同于当前图像的其它图像(称之为参考图像)。
变换及量化(Transform&Quantization):残差视频信号经过DFT(Discrete Fourier Transform,离散傅里叶变换)、DCT等变换操作后,将信号转换到变换域中,称之为变换系数。变换系数进一步进行有损的量化操作,丢失掉一定的信息,使得量化后的信号有利于压缩表达。在一些视频编码标准中,可能有多于一种变换方式可以选择,因此编码端也需要为当前CU选择其中的一种变换方式,并告知解码端。量化的精细程度通常由量化参数(Quantization Parameter,简称QP)来决定,QP取值较大,表示更大取值范围的系数将被量化为同一个输出,因此通常会带来更大的失真及较低的码率;相反,QP取值较小,表示较小取值范围的系数将被量化为同一个输出,因此通常会带来较小的失真,同时对应较高的码率。
熵编码(Entropy Coding)或统计编码:量化后的变换域信号将根据各个值出现的频率进行统计压缩编码,最后输出二值化(0或者1)的压缩码流。同时, 编码产生其他信息,例如选择的编码模式、运动矢量数据等,也需要进行熵编码以降低码率。统计编码是一种无损的编码方式,可以有效的降低表达同样信号所需要的码率,常见的统计编码方式有变长编码(Variable Length Coding,简称VLC)或者基于上下文的二值化算术编码(Content Adaptive Binary Arithmetic Coding,简称CABAC)。
环路滤波(Loop Filtering):经过变化及量化的信号会通过反量化、反变换及预测补偿的操作获得重建图像。重建图像与原始图像相比由于存在量化的影响,部分信息与原始图像有所不同,即重建图像会产生失真(Distortion)。因此,可以对重建图像进行滤波操作,例如去块效应滤波(Deblocking filter,简称DB)、SAO(Sample Adaptive Offset,自适应像素补偿)或者ALF(Adaptive Loop Filter,自适应环路滤波)等滤波器,可以有效降低量化所产生的失真程度。由于这些经过滤波后的重建图像将作为后续编码图像的参考来对将来的图像信号进行预测,因此上述的滤波操作也被称为环路滤波,即在编码环路内的滤波操作。
在本申请的一个实施例中,图3示出了一个视频编码过程的基本流程图,在该流程中以帧内预测为例进行说明。其中,原始图像信号s k[x,y]与预测图像信号
Figure PCTCN2021112355-appb-000001
做差值运算,得到残差信号u k[x,y],残差信号u k[x,y]经过变换及量化处理之后得到量化系数,量化系数一方面通过熵编码得到编码后的比特流,另一方面通过反量化及反变换处理得到重构残差信号u' k[x,y],预测图像信号
Figure PCTCN2021112355-appb-000002
与重构残差信号u' k[x,y]叠加生成图像信号
Figure PCTCN2021112355-appb-000003
图像信号
Figure PCTCN2021112355-appb-000004
一方面输入至帧内模式决策模块和帧内预测模块进行帧内预测处理,另一方面通过环路滤波输出重建图像信号s' k[x,y],重建图像信号s' k[x,y]可以作为下一帧的参考图像进行运动估计及运动补偿预测。然后基于运动补偿预测的结果s' r[x+m x,y+m y]和帧内预测结果
Figure PCTCN2021112355-appb-000005
得到下一帧的预测图像信号
Figure PCTCN2021112355-appb-000006
并继续重复上述过程,直至编码完成。
此外,由于残差信号在经过变换和量化处理后的量化系数块中非零系数较大概率会集中在块的左边和上方区域,而块的右边和下方区域往往为0,因此引入了SRCC(Scan Region Coefficient Coding,扫描区域系数编码)技术中,通过SRCC技术可以标记出每个量化系数块(尺寸为W×H)中包含的非零系数的左上区域的大小SRx×SRy,其中SRx是量化系数块中最右面的非零系数的横坐标,SRy是量化系数块中最下面的非零系数的纵坐标,且1≤SRx≤W,1≤SRy≤H,而该区域外的系数均为0。SRCC技术利用(SRx,SRy)来确定一个量化系数块中需要扫描的量化系数区域,如图4所示,只有(SRx,SRy)标记的扫描区域内的量化系数需要编码,编码的扫描顺序如图5所示,可以是从右下角到左上角的反向Z字型扫描。
基于上述的编码过程,在解码端针对每一个CU,在获取到压缩码流(即比特流)之后,进行熵解码获得各种模式信息及量化系数。然后量化系数经过反量化及反变换处理得到残差信号。另一方面,根据已知的编码模式信息,可获得该CU对应的预测信号,然后将残差信号与预测信号相加之后即可得到重 建信号,重建信号再经过环路滤波等操作,产生最终的输出信号。
在上述的编解码过程中,对残差信号的变换处理使得残差信号的能量集中在较少的低频系数,也就是多数系数值较小。然后经过后续的量化模块后,较小系数值将变为零值,极大降低了编码残差信号的代价。但是,由于残差分布的多样性,单一的DCT变换无法适应所有的残差特性,因此,DST7和DCT8这样的变换核被引入到变换处理过程中,并且对残差信号进行的水平变换和竖直变换可以采用不同的变换核。以AMT(Adaptive multiple core transform,自适应多核变换)技术为例,对于一个残差信号进行变换处理可能选择的变换组合如下所示:(DCT2,DCT2)、(DCT8,DCT8)、(DCT8,DST7)、(DST7,DCT8)和(DST7,DST7)。
对于残差信号具体选择哪种变换组合,需要在编码端使用RDO(Rate–Distortion Optimization,率失真优化)进行决策,虽然采用多个变换核提升了变换矩阵组合对残差块的适应性,但是由于需要针对每个编码单元来编码变换核的索引,因此导致编码效率较低。
针对上述问题,本申请的实施例提出了通过量化系数块中的量化系数来隐含指示编码块对应的变换矩阵组合,进而可以降低变换矩阵索引所占用的比特位,有效提高了视频编码效率。
以下对本申请实施例的技术方案的实现细节进行详细阐述:
图6示出了根据本申请的一个实施例的视频解码方法的流程图,该视频解码方法可以由具有计算处理功能的设备来执行,比如可以由终端设备或服务器来执行。参照图6所示,该视频解码方法至少包括步骤S610至步骤S640,详细介绍如下:
在步骤S610中,对视频图像帧的编码块进行熵解码处理,获得编码块对应的残差数据的量化系数块。
在本申请的一个实施例中,视频图像帧序列包括了一系列视频图像帧,每帧视频图像帧可以被进一步划分为条带(Slice),条带又可以划分为一系列的LCU(或CTU),LCU包含有若干CU。视频图像帧在编码时是以块为单位进行编码处理,在一些新的视频编码标准中,比如在H.264标准中有宏块(MacroBlock,MB),宏块可进一步划分成多个可用于预测编码的预测块(prediction)。在HEVC标准中,采用编码单元CU、预测单元(Prediction Unit,PU)和变换单元(Transform Unit,TU)等基本概念,从功能上划分了多种块单元,并采用全新的基于树的结构进行描述。比如CU可以按照四叉树划分为更小的CU,而更小的CU还可以继续划分,从而形成一种四叉树结构。本申请实施例中的编码块可以是CU,或者是比CU更小的块,如对CU进行划分得到的更小的块。
在步骤S620中,统计量化系数块中指定区域内的量化系数,得到量化系数统计值。
在一种可能的实施方式中,在统计量化系数块的量化系数前,解码端首先需要确定是否采用量化系数隐式指示编码块的变换矩阵组合。若采用,则统计 量化系数块中指定区域内的量化系数。
关于确定是否采用量化系数隐式指示变换矩阵组合的方式,在一种可能的实施方式中,编码端可以通过在编码数据的头部设置索引标识,告知解码端采用量化系数隐式指示编码块的变换矩阵组合;相应的,解码端即通过检测编码数据的头部的索引标识来确定是都需要进行量化参数统计。
其中,该头部可以为视频图像序列对应编码数据的序列头部、视频图像帧对应编码数据的图像头部、视频图像帧中条带对应编码数据的条带头部或视频图像帧中LCU对应编码数据的LCU头部,本实施例对此不作限定。
在本申请的一个实施例中,编码端可以通过在视频图像帧序列对应第一编码数据的序列头部设置指定索引标识,来指示第一编码数据中的编码块需要根据量化系数块中的量化系数选择变换矩阵组合。采用该实施例的技术方案,通过在第一编码数据的序列头部设置索引标识实现对整个视频图像帧序列对应的所有编码块的指示,进而可以有效降低索引标识所占用的比特位,提高了视频编码效率。
在本申请的一个实施例中,编码端可以通过在视频图像帧对应第二编码数据的图像头部设置指定索引标识,来指示第二编码数据中的编码块需要根据量化系数块中的量化系数选择变换矩阵组合。采用该实施例的技术方案,通过在第二编码数据的图像头部设置索引标识实现对整个视频图像帧对应的所有编码块的指示,同样可以降低索引标识所占用的比特位,提高了视频编码效率。
在本申请的一个实施例中,编码端可以通过在视频图像帧中条带对应第三编码数据的条带头部设置指定索引标识,来指示第三编码数据中的编码块需要根据量化系数块中的量化系数选择变换矩阵组合。采用该实施例的技术方案,通过在第三编码数据的条带头部设置索引标识实现对整个条带对应的所有编码块的指示,同样可以降低索引标识所占用的比特位,提高了视频编码效率。
在本申请的一个实施例中,编码端可以通过在视频图像帧中LCU对应的第四编码数据的LCU头部设置指定索引标识,来指示第四编码数据中的编码块需要根据量化系数块中的量化系数选择变换矩阵组合。采用该实施例的技术方案,通过在第四编码数据的LCU头部设置索引标识实现了对整个LCU对应的所有编码块的指示,同样可以降低索引标识所占用的比特位,提高了视频编码效率。
除了采用索引标识进行显示指示外,在本申请的一个实施例中,解码端可以根据编码块的尺寸大小和阈值之间的关系,确定编码块是否需要根据量化系数块中的量化系数选择变换矩阵组合。
比如,若编码块的尺寸较小(如小于阈值),则可以确定该编码块需要根据量化系数块中的量化系数选择变换矩阵组合;相反地,若编码块的尺寸较大(如大于阈值),则可以确定该编码块不需要根据量化系数块中的量化系数选择变换矩阵组合。该实施例的技术方案中,可以根据编码块的尺寸来隐含指示是否需要根据量化系数块中的量化系数选择变换矩阵组合,无需额外的比特位,因此也可以提高视频编码效率。
在另一种可能的实施方式中,编码端可以在编码数据的头部设置不同取值 的索引标识,从而基于不同层级(比如帧序列层级、帧层次、条带层级、LCU等级)下,编码数据头部索引标识的取值组合,确定是否需要基于量化参数选择对应层级下编码块的变化矩阵组合。
在本申请的一个实施例中,如果视频图像帧序列对应第一编码数据的序列头部包含的索引标识为第一值(比如可以为0),则确定第一编码数据中的编码块不需要根据量化系数块中的量化系数选择变换矩阵组合。如果该序列头部包含的索引标识为第二值(比如可以为1),此时可以进一步根据视频图像帧所对应第二编码数据的图像头部包含的索引标识来进行决策。
在本申请的一个实施例中,如果前述的序列头部包含的索引标识为第二值(比如可以为1),且前述的图像头部包含的索引标识为第一值(比如可以为0),则可以确定第二编码数据中的编码块不需要根据量化系数块中的量化系数选择变换矩阵组合。如果前述的序列头部包含的索引标识和前述的图像头部包含的索引标识均为第二值(比如可以为1),那么可以确定第二编码数据中的编码块均需要根据量化系数块中的量化系数选择变换矩阵组合。可选的,这种情况下,可以不再通过条带头、LCU头和编码块的大小进行决策。
当然,在本申请的一个实施例中,如果前述的序列头部包含的索引标识和前述的图像头部包含的索引标识均为第二值(比如可以为1),那么也可以进一步根据视频图像帧的条带所对应第三编码数据的条带头部包含的索引标识来进行决策。比如,若前述序列头部包含的索引标识、前述图像头部包含的索引标识均为第二值,但条带对应第三编码数据的条带头部信息包含的索引标识为第一值(比如可以为0),那么可以确定第三编码数据中的编码块不需要根据量化系数块中的量化系数选择变换矩阵组合。如果前述的序列头部包含的索引标识、前述的图像头部包含的索引标识和前述条带头部包含的索引标识均为第二值(比如可以为1),那么可以确定第三编码数据中的编码块均需要根据量化系数块中的量化系数选择变换矩阵组合。可选的,这种情况下,可以不再通过LCU头和编码块的大小进行决策。
当然,在本申请的一个实施例中,如果前述的序列头部包含的索引标识、前述的图像头部包含的索引标识和前述条带头部包含的索引标识均为第二值(比如可以为1),那么也可以进一步根据条带中LCU所对应的第四编码数据的LCU头部包含的索引标识来进行决策。比如,若前述序列头部包含的索引标识、前述图像头部包含的索引标识和前述条带头部包含的索引标识均为第二值,但LCU对应的第四编码数据的LCU头部信息包含的索引标识为第一值(比如可以为0),那么可以确定第四编码数据中的编码块不需要根据量化系数块中的量化系数选择变换矩阵组合。如果前述的序列头部包含的索引标识、前述的图像头部包含的索引标识、前述条带头部包含的索引标识和前述LCU头部信息包含的索引标识均为第二值(比如可以为1),那么可以确定第四编码数据中的编码块均需要根据量化系数块中的量化系数选择变换矩阵组合。可选的,这种情况下,可以不再通过编码块的大小进行决策。
当然,在本申请的一个实施例中,如果前述的序列头部包含的索引标识、 前述的图像头部包含的索引标识、前述条带头部包含的索引标识和前述LCU头部信息包含的索引标识均为第二值(比如可以为1),那么也可以进一步根据编码块的大小来进行决策。比如,若前述的序列头部包含的索引标识、前述的图像头部包含的索引标识、前述条带头部包含的索引标识和前述LCU头部信息包含的索引标识均为第二值,但编码块的尺寸较小(如小于阈值),则可以确定该编码块需要根据量化系数块中的量化系数选择对应的变换矩阵组合;相反地,若编码块的尺寸较大(如大于阈值),则可以确定该编码块需要根据量化系数块中的量化系数选择变换矩阵组合。
综上,在确定需要根据量化系数块中的量化系数选择编码块对应的变换矩阵组合时,有以下方式:
1、仅通过前述序列头部中的索引标识来指示,不再通过图像头部、条带头部、LCU头部和编码块的大小来进行决策。此时,序列头部中的索引标识为1(数值仅为示例),就说明视频图像帧序列对应的第一编码数据中的编码块需要根据量化系数块中的量化系数选择变换矩阵组合。
2、仅通过前述图像头部中的索引标识来指示,不再通过序列头部、条带头部、LCU头部和编码块的大小来进行决策。此时,图像头部中的索引标识为1(数值仅为示例),就说明视频图像帧对应的第二编码数据中的编码块需要根据量化系数块中的量化系数选择变换矩阵组合。
3、仅通过前述条带头部中的索引标识来指示,不再通过序列头部、图像头部、LCU头部和编码块的大小来进行决策。此时,条带头部中的索引标识为1(数值仅为示例),就说明条带对应的第三编码数据中的编码块需要根据量化系数块中的量化系数选择变换矩阵组合。
4、仅通过前述LCU头部中的索引标识来指示,不再通过序列头部、图像头部、条带头部和编码块的大小来进行决策。此时,LCU头部中的索引标识为1(数值仅为示例),就说明LCU对应的第四编码数据中的编码块需要根据量化系数块中的量化系数选择变换矩阵组合。
5、仅通过编码块的尺寸大小来隐含指示,不再通过序列头部、图像头部、条带头部和LCU头部来进行决策。此时,若编码块的尺寸较小(如小于阈值),则可以确定该编码块需要根据量化系数块中的量化系数选择变换矩阵组合;相反地,若编码块的尺寸较大(如大于阈值),则可以确定该编码块不需要根据熵解码得到的量化系数块中的量化系数选择对应的变换矩阵组合。
6、通过前述序列头部中的索引标识和图像头部中的索引标识来指示,不再通过条带头部、LCU头部和编码块的大小来进行决策。此时,若序列头部中的索引标识和图像头部中的索引标识均为1(数值仅为示例),则说明视频图像帧对应的第二编码数据中的编码块均需要根据量化系数块中的量化系数选择变换矩阵组合;若序列头部中的索引标识为1,而图像头部中的索引标识为0(数值仅为示例),则说明该视频图像帧对应的第二编码数据中的编码块不需要根据量化系数块中的量化系数选择变换矩阵组合。
7、通过前述序列头部中的索引标识、图像头部中的索引标识和条带头部中 的索引标识来指示,不再通过LCU头部和编码块的大小来进行决策。此时,若序列头部中的索引标识、图像头部中的索引标识和条带头部的索引标识均为1(数值仅为示例),则说明条带对应的第三编码数据中的编码块需要根据量化系数块中的量化系数选择变换矩阵组合;若序列头部中的索引标识和图像头部中的索引标识为1,而条带头部中的索引标识为0(数值仅为示例),则说明该条带对应的第三编码数据中的编码块不需要根据量化系数块中的量化系数选择变换矩阵组合。
8、通过前述序列头部中的索引标识、图像头部中的索引标识、条带头部中的索引标识和LCU头部中的索引标识来指示,不再通过编码块的大小来进行决策。此时,若序列头部中的索引标识、图像头部中的索引标识、条带头部的索引标识和LCU头部中的索引标识均为1(数值仅为示例),则说明LCU对应的第四编码数据中的编码块需要根据量化系数块中的量化系数选择变换矩阵组合;若序列头部中的索引标识、图像头部中的索引标识和条带头部中的索引标识为1,而LCU头部中的索引标识为0(数值仅为示例),则说明该LCU对应的第四编码数据中的编码块不需要根据量化系数块中的量化系数选择对应的变换矩阵组合。
9、通过前述序列头部中的索引标识、图像头部中的索引标识、条带头部中的索引标识、LCU头部中的索引标识和编码块的大小来进行决策。此时,若序列头部中的索引标识、图像头部中的索引标识、条带头部的索引标识、LCU头部中的索引标识均为1(数值仅为示例),且编码块的尺寸小于设定阈值,则说明该编码块需要根据量化系数块中的量化系数选择变换矩阵组合;若序列头部中的索引标识、图像头部中的索引标识、条带头部中的索引标识和LCU头部中的索引标识均为1,但是编码块的尺寸大于设定阈值,则说明该编码块不需要根据量化系数块中的量化系数选择变换矩阵组合。
当然,还可以有如下方式:
10、通过前述图像头部中的索引标识和条带头部中的索引标识来指示,不再通过序列头部、LCU头部和编码块的大小来进行决策。此时,若图像头部中的索引标识和条带头部的索引标识均为1(数值仅为示例),则说明条带对应的第三编码数据中的编码块均需要根据量化系数块中的量化系数选择变换矩阵组合;若图像头部中的索引标识为1,而条带头部中的索引标识为0(数值仅为示例),则说明该条带对应的第三编码数据中的编码块均不需要根据量化系数块中的量化系数选择变换矩阵组合。
11、通过前述图像头部中的索引标识、条带头部中的索引标识和LCU头部中的索引标识来指示,不再通过序列头部、编码块的大小来进行决策。此时,若图像头部中的索引标识、条带头部的索引标识和LCU头部中的索引标识均为1(数值仅为示例),则说明LCU对应的第四编码数据中的编码块需要根据量化系数块中的量化系数选择变换矩阵组合;若图像头部中的索引标识和条带头部中的索引标识为1,而LCU头部中的索引标识为0(数值仅为示例),则说明该LCU对应的第四编码数据中的编码块不需要根据量化系数块中的量化系数选 择变换矩阵组合。
12、通过前述图像头部中的索引标识、条带头部中的索引标识、LCU头部中的索引标识和编码块的大小来进行决策,不再通过序列头部来进行决策。此时,若图像头部中的索引标识、条带头部的索引标识、LCU头部中的索引标识均为1(数值仅为示例),且编码块的尺寸小于设定阈值,则说明该编码块需要根据量化系数块中的量化系数选择变换矩阵组合;若图像头部中的索引标识、条带头部中的索引标识和LCU头部中的索引标识均为1,但是编码块的尺寸大于设定阈值,则说明该编码块不需要根据量化系数块中的量化系数选择变换矩阵组合。
此外,在本申请的实施例中,还有其它更多种指示方式,不再详述。
在一种可能的实施方式中,在对量化系数块中指定区域内的量化系数进行统计时,解码端可以对指定区域内的所有量化系数进行统计,且进行统计时,可以采用量化系数的原始数值,也可以采用量化系数的转换数值。相应的,编码端在进行编码时,对量化系数块中指定区域内的量化参数进行调整,从而实现变换矩阵组合的隐式指示,无需额外通过比特位进行指示。
在本申请的一个实施例中,在统计量化系数块中指定区域内的量化系数时,解码端可以根据量化系数块中指定区域内的量化系数的数值,对指定区域内的量化系数进行统计得到统计结果,然后直接将该统计结果作为量化系数统计值。或者,也可以在得到统计结果之后,计算统计结果针对设定值的余数,将该余数作为量化系数统计值。其中,该设定值可以是任意非零的数,比如可以是2、3、4等。
在本申请的一个实施例中,在根据量化系数块中指定区域内的量化系数的数值,对指定区域内的量化系数进行统计时,可以计算指定区域内的量化系数的数值之和,将得到的和值作为统计结果;或者可以计算指定区域内的量化系数的绝对值之和,将得到的和值作为统计结果;或者还可以先将指定区域内数值为奇数的量化系数的数值转换为第一数值,将数值为偶数的量化系数的数值转换为第二数值,然后计算指定区域内的量化系数在数值转换之后的数值之和,将得到的和值作为统计结果,其中,第一数值和第二数值中的一个为奇数,另一个为偶数。
比如,解码端将指定区域内数值为奇数的量化系数的数值转换为1,将数值为偶数的量化系数的数值转换为0;或者将指定区域内数值为奇数的量化系数的数值转换为0,将数值为偶数的量化系数的数值转换为1;或者将指定区域内数值为奇数的量化系数的数值转换为3,将数值为偶数的量化系数的数值转换为2;或者将指定区域内数值为奇数的量化系数的数值转换为2,将数值为偶数的量化系数的数值转换为3。本申请实施例并不对第一数值和第二数值的具体取值构成限定。
在另一种可能的实施方式中,在对量化系数块中指定区域内的量化系数进行统计时,解码端可以对指定区域内的部分量化系数(比如奇数量化参数或偶数量化参数)进行统计,且进行统计时,可以采用量化系数的原始数值,也可 以采用量化系数的转换数值。相应的,编码端在进行编码时,对量化系数块中指定区域内的部分量化参数进行调整,从而实现变换矩阵组合的隐式指示,无需额外通过比特位进行指示。
在本申请的一个实施例中,在根据量化系数块中指定区域内的量化系数的数值,对指定区域内的量化系数进行统计时,可以将指定区域内数值为奇数的量化系数的个数作为统计结果;或者计算指定区域内数值为奇数的量化系数的数值之和,将得到的和值作为统计结果;或者计算指定区域内数值为奇数的量化系数的绝对值之和,将得到的和值作为统计结果;或者将指定区域内数值为奇数的量化系数的数值转换为第一数值,将数值为偶数的量化系数的数值转换为第二数值,然后计算数值转换后指定区域内量化系数的奇数值之和,将得到的和值作为统计结果,其中,第一数值和第二数值中的一个为奇数,另一个为偶数。
在本申请的一个实施例中,在根据量化系数块中指定区域内的量化系数的数值,对指定区域内的量化系数进行统计时,可以将指定区域内数值为偶数的量化系数的个数作为统计结果;或者计算指定区域内数值为偶数的量化系数的数值之和,将得到的和值作为统计结果;或者计算指定区域内数值为偶数的量化系数的绝对值之和,将得到的和值作为统计结果;或者将指定区域内数值为奇数的量化系数的数值转换为第一数值,将数值为偶数的量化系数的数值转换为第二数值,然后计算数值转换后指定区域内量化系数的偶数值之和,将得到的和值作为统计结果,其中,第一数值和第二数值中的一个为奇数,另一个为偶数。
综上,本申请的实施例在根据量化系数块中指定区域内的量化系数的数值,对指定区域内的量化系数进行统计时可以有如下方式:
1、对指定区域内的量化系数的数值直接求和;
2、对指定区域内的量化系数求数值的绝对值之和;
3、先根据指定区域内的量化系数的奇偶性对奇数和偶数进行转换,然后对指定区域内转换后的所有数值求和;
4、统计指定区域内数值为奇数的量化系数的个数;
5、对指定区域内数值为奇数的量化系数的数值求和;
6、对指定区域内数值为奇数的量化系数求数值的绝对值之和;
7、先根据指定区域内的量化系数的奇偶性对奇数和偶数进行转换,然后对指定区域内转换后的所有数值中的奇数求和;
8、统计指定区域内数值为偶数的量化系数的个数;
9、对指定区域内数值为偶数的量化系数的数值求和;
10、对指定区域内数值为偶数的量化系数求数值的绝对值之和;
11、先根据指定区域内的量化系数的奇偶性对奇数和偶数进行转换,然后对指定区域内转换后的所有数值中的偶数求和。
关于量化系数块中指定区域的具体位置,在本申请的一个实施例中,上述的指定区域可以是量化系数块中的全部区域。
在本申请的一个实施例中,上述的指定区域可以是量化系数块中指定的一个位置或多个位置。
在本申请的一个实施例中,上述的指定区域可以是量化系数块中指定的至少一行。如图7所示,假设量化系数块是4×4的系数块,每个方块表示一个量化系数,那么可以如图7中(a)所示,将灰色区域的1行作为指定区域;或者可以如图7中(b)所示,将灰色区域的2行作为指定区域。可选地,这至少一行可以是量化系数块中靠上边的行。
在本申请的一个实施例中,上述的指定区域可以是量化系数块中指定的至少一列。如图7所示,假设量化系数块是4×4的系数块,每个方块表示一个量化系数,那么可以如图7中(c)所示,将灰色区域的1列作为指定区域;或者可以如图7中(d)所示,将灰色区域的2列作为指定区域。可选地,这至少一列可以是量化系数块中靠左边的列。
在本申请的一个实施例中,上述的指定区域可以是量化系数块中指定的至少一行和指定的至少一列。如图8所示,假设量化系数块是4×4的系数块,每个方块表示一个量化系数,那么可以如图8中(a)所示,将下方的1行和右边的1列(即其中的灰色区域)作为指定区域;或者可以如图8中(b)所示,将下方的2行和右边的2列(即其中的灰色区域)作为指定区域;或者可以如图8中(c)所示,将上方的1行和左边的1列(即其中的灰色区域)作为指定区域;或者可以如图8中(d)所示,将上方的2行和左边的2列(即其中的灰色区域)作为指定区域。
在本申请的一个实施例中,上述的指定区域可以是量化系数块中处于至少一条斜线上的位置。如图9所示,假设量化系数块是4×4的系数块,每个方块表示一个量化系数,那么可以如9中的(a)和(b)所示,将一条斜线上的位置作为指定区域;或者如9中的(c)和(d)所示,将两条斜线上的位置作为指定区域。
在本申请的一个实施例中,上述的指定区域可以是量化系数块中的SRCC区域。其中,SRCC区域即为通过SRCC技术标记出的扫描区域。
在本申请的一个实施例中,上述的指定区域可以是SRCC区域中指定的一个位置或多个位置。可选地,SRCC区域中指定的一个位置或多个位置可以包括:按照扫描顺序的前N个位置,N为非0的自然数。
在本申请的一个实施例中,上述的指定区域可以是SRCC区域中指定的至少一行。如图7所示,假设SRCC区域是4×4的系数块,每个方块表示一个量化系数,那么可以如图7中(a)所示,将灰色区域的1行作为指定区域;或者可以如图7中(b)所示,将灰色区域的2行作为指定区域。可选地,这至少一行可以是量化系数块中靠上边的行。
在本申请的一个实施例中,上述的指定区域可以是SRCC区域中指定的至少一列。如图7所示,假设SRCC区域是4×4的系数块,每个方块表示一个量化系数,那么可以如图7中(c)所示,将灰色区域的1列作为指定区域;或者可以如图7中(d)所示,将灰色区域的2列作为指定区域。可选地,这至少一 列可以是量化系数块中靠左边的列。
在本申请的一个实施例中,上述的指定区域可以是SRCC区域中指定的至少一行和指定的至少一列。如图8所示,假设SRCC区域是4×4的系数块,每个方块表示一个量化系数,那么可以如图8中(a)所示,将下方的1行和右边的1列(即其中的灰色区域)作为指定区域;或者可以如图8中(b)所示,将下方的2行和右边的2列(即其中的灰色区域)作为指定区域;或者可以如图8中(c)所示,将上方的1行和左边的1列(即其中的灰色区域)作为指定区域;或者可以如图8中(d)所示,将上方的2行和左边的2列(即其中的灰色区域)作为指定区域。
在本申请的一个实施例中,上述的指定区域可以是SRCC区域中处于至少一条斜线上的位置。如图9所示,假设SRCC区域是4×4的系数块,每个方块表示一个量化系数,那么可以如9中的(a)和(b)所示,将一条斜线上的位置作为指定区域;或者如9中的(c)和(d)所示,将两条斜线上的位置作为指定区域。
在本申请的其它实施例中,也可以将上述实施例中的指定区域划分方式进行组合,以将组合后的区域作为指定区域。
继续参照图6所示,在步骤S630中,选择与量化系数统计值相对应的变换矩阵组合。
在一种可能的实施方式中,解码端基于量化系数统计值的奇偶性确定编码块对应的变换矩阵组合。相应的,编码端在编码过程中,基于编码块的变换矩阵组合,通过调整量化参数块中指定区域内的量化参数,实现量化系数统计值的奇偶性调整,从而实现变换矩阵组合的隐式指示。
在本申请的一个实施例中,可以根据量化系数统计值的奇偶性来选择变换矩阵组合。比如若量化系数统计值是奇数,则选择第一变换矩阵组合,若量化系数统计值是偶数,则选择与第一变换矩阵组合不同的第二变换矩阵组合;或者若量化系数统计值是奇数,则选择第二变换矩阵组合,若量化系数统计值是偶数,则选择第一变换矩阵组合。可选地,第一变换矩阵组合和第二变换矩阵组合可以是(DCT2,DCT2)、(DCT8,DCT8)、(DCT8,DST7)、(DST7,DCT8)和(DST7,DST7)中的任意一个,但是第一变换矩阵组合和第二变换矩阵组合不相同。
在另一种可能的实施方式中,解码端基于量化系数统计值的数值确定编码块对应的变换矩阵组合。相应的,编码端在编码过程中,基于编码块的变换矩阵组合,通过调整量化参数块中指定区域内的量化参数,实现量化系数统计值的数值调整,从而实现变换矩阵组合的隐式指示。需要说明的是,相较于利用奇偶性进行指示,采用数值能够实现更加精细化的变换矩阵组合指示,但是编码端进行编码时的复杂度相应提升。
在本申请的一个实施例中,可以根据量化系数统计值的数值来选择变换矩阵组合。比如,若量化系数统计值归属于第一数值集合,则选择第一变换矩阵组合,否则,选择与第一变换矩阵组合不同的第二变换矩阵组合;或者若量化 系数统计值归属于第一数值集合,则选择第二变换矩阵组合,否则,选择第一变换矩阵组合。可选地,第一变换矩阵组合和第二变换矩阵组合可以是(DCT2,DCT2)、(DCT8,DCT8)、(DCT8,DST7)、(DST7,DCT8)和(DST7,DST7)中的任意一个,但是第一变换矩阵组合和第二变换矩阵组合不相同。
在本申请的一个具体示例中,假设量化系数统计值归属于第一数值集合时,选择(DCT2,DCT2),量化系数统计值归不属于第一数值集合时,选择(DST7,DST7)。同时假设量化系数统计值是量化系数的统计结果针对4(数值仅为示例)的余数,第一数值集合为(0、1、2),那么当量化系数统计值为2时,可以选择(DCT2,DCT2);当量化系数统计值为3时,可以选择(DST7,DST7)。
类似的,假设量化系数统计值归属于第一数值集合时,选择(DST7,DST7),量化系数统计值归不属于第一数值集合时,,选择(DCT2,DCT2)。同时假设量化系数统计值是量化系数的统计结果针对4(数值仅为示例)的余数,第一数值集合为(0、1、2),那么当量化系数统计值为2时,可以选择(DST7,DST7);当量化系数统计值为3时,可以选择(DCT2,DCT2)。
继续参照图6所示,在步骤S640中,基于选择的变换矩阵组合对量化系数块的反量化结果进行反变换处理。该过程可以参照前述实施例中的相关描述,不再赘述。
本申请上述实施例的技术方案使得能够通过量化系数块中的量化系数来隐含指示编码块对应的变换矩阵组合,无需编码端针对每个编码单元都编码变换矩阵的索引,降低了变换矩阵索引所占用的比特位,进而可以有效提高视频编码效率。
以下介绍本申请的装置实施例,可以用于执行本申请上述实施例中的视频解码方法。对于本申请装置实施例中未披露的细节,请参照本申请上述的视频解码方法的实施例。
图10示出了根据本申请的一个实施例的视频解码装置的框图,该视频解码装置可以设置在具有计算处理功能的设备内,比如可以设置在终端设备或服务器内。
参照图10所示,根据本申请的一个实施例的视频解码装置1000,包括:解码单元1002、统计单元1004、选择单元1006和处理单元1008。
其中,解码单元1002配置为对视频图像帧的编码块进行熵解码处理,获得所述编码块对应的残差数据的量化系数块;统计单元1004配置为统计所述量化系数块中指定区域内的量化系数,得到量化系数统计值;选择单元1006配置为选择与所述量化系数统计值相对应的变换矩阵组合;处理单元1008配置为基于选择的变换矩阵组合对所述量化系数块的反量化结果进行反变换处理,得到重构残差数据,所述重构残差数据用于视频图像重建。
在本申请的一些实施例中,基于前述方案,所述的视频解码装置1000还包括:第一确定单元,配置为在视频图像帧序列对应第一编码数据的序列头部包含指定的索引标识时,确定所述第一编码数据中的编码块需要根据量化系数块中的量化系数选择变换矩阵组合。
在本申请的一些实施例中,基于前述方案,所述的视频解码装置1000还包括:第二确定单元,配置为在视频图像帧对应第二编码数据的图像头部包含指定的索引标识时,确定所述第二编码数据中的编码块需要根据量化系数块中的量化系数选择变换矩阵组合。
在本申请的一些实施例中,基于前述方案,所述的视频解码装置1000还包括:第三确定单元,配置为在视频图像帧中条带对应第三编码数据的条带头部信息包含指定的索引标识时,确定所述第三编码数据中的编码块需要根据量化系数块中的量化系数选择变换矩阵组合。
在本申请的一些实施例中,基于前述方案,所述的视频解码装置1000还包括:第四确定单元,配置为在视频图像帧中LCU对应第四编码数据的LCU头部信息包含指定的索引标识时,确定所述第四编码数据中的编码块需要根据量化系数块中的量化系数选择变换矩阵组合。
在本申请的一些实施例中,基于前述方案,所述的视频解码装置1000还包括:第五确定单元,配置为若所述编码块的尺寸小于阈值,确定所述编码块需要根据量化系数块中的量化系数选择变换矩阵组合。
在本申请的一些实施例中,基于前述方案,所述的视频解码装置1000还包括:第六确定单元,配置为在视频图像帧序列对应第一编码数据的序列头部包含的索引标识为第一值时,确定所述第一编码数据中的编码块不需要根据量化系数块中的量化系数选择变换矩阵组合;并且配置为在所述序列头部包含的索引标识为第二值,且所述视频图像帧序列中视频图像帧所对应第二编码数据的图像头部包含的索引标识为第一值时,确定所述第二编码数据中的编码块不需要根据量化系数块中的量化系数选择变换矩阵组合。
在本申请的一些实施例中,基于前述方案,所述第六确定单元还配置为在所述序列头部包含的索引标识为第二值,且所述图像头部包含的索引标识为第二值时,确定所述第二编码数据中的编码块需要根据量化系数块中的量化系数选择变换矩阵组合。
在本申请的一些实施例中,基于前述方案,所述第六确定单元还配置为在所述序列头部包含的索引标识为第二值、所述图像头部包含的索引标识为第二值,且所述视频图像帧中条带对应的第三编码数据的条带头部信息包含的索引标识为第一值时,确定所述第三编码数据中的编码块不需要根据量化系数块中的量化系数选择变换矩阵组合。
在本申请的一些实施例中,基于前述方案,所述第六确定单元还配置为在所述序列头部包含的索引标识为第二值、所述图像头部包含的索引标识为第二值、所述条带头部信息包含的索引标识为第二值时,确定所述第三编码数据中的编码块需要根据量化系数块中的量化系数选择变换矩阵组合。
在本申请的一些实施例中,基于前述方案,所述第六确定单元还配置为在所述序列头部包含的索引标识为第二值、所述图像头部包含的索引标识为第二值、所述条带头部信息包含的索引标识为第二值,且所述条带中LCU对应的第 四编码数据的LCU头部信息包含的索引标识为第一值时,确定所述第四编码数据中的编码块均不需要根据量化系数块中的量化系数选择变换矩阵组合。
在本申请的一些实施例中,基于前述方案,所述第六确定单元还配置为在所述序列头部包含的索引标识为第二值、所述图像头部包含的索引标识为第二值、所述条带头部信息包含的索引标识为第二值,且所述LCU头部信息包含的索引标识为第二值时,确定所述第四编码数据中的编码块需要根据量化系数块中的量化系数选择变换矩阵组合。
在本申请的一些实施例中,基于前述方案,所述第六确定单元还配置为在所述序列头部包含的索引标识为第二值、所述图像头部包含的索引标识为第二值、所述条带头部信息包含的索引标识为第二值、所述LCU头部信息包含的索引标识为第二值时,确定所述第四编码数据中有编码块需要根据量化系数块中的量化系数选择变换矩阵组合;或者所述第六确定单元还配置为在所述序列头部包含的索引标识为第二值、所述图像头部包含的索引标识为第二值、所述条带头部信息包含的索引标识为第二值、所述LCU头部信息包含的索引标识为第二值,则根据所述LCU中的编码块的尺寸大小和阈值之间的关系,确定所述编码块是否需要根据量化系数块中的量化系数选择变换矩阵组合。
在本申请的一些实施例中,基于前述方案,统计单元1004配置为:根据所述量化系数块中指定区域内的量化系数的数值,对所述指定区域内的量化系数进行统计得到统计结果,将所述统计结果作为所述量化系数统计值;或,计算所述统计结果针对设定值的余数,将所述余数作为所述量化系数统计值。
在本申请的一些实施例中,基于前述方案,统计单元1004配置为:根据所述指定区域内的量化系数的数值,计算所述指定区域内的量化系数的数值之和,将得到的和值作为所述统计结果;或
根据所述量化系数块中指定区域内的量化系数的数值,计算所述指定区域内的量化系数的绝对值之和,将得到的和值作为所述统计结果;或
根据所述指定区域内的量化系数的数值,将所述指定区域内数值为奇数的量化系数转换为第一数值,将数值为偶数的量化系数转换为第二数值,计算数值转换后所述指定区域内量化系数的数值之和,将得到的和值作为所述统计结果,其中,所述第一数值和所述第二数值中的一个为奇数,另一个为偶数。
在本申请的一些实施例中,基于前述方案,统计单元1004配置为:将所述指定区域内数值为奇数的量化系数的个数作为所述统计结果;或
根据所述指定区域内的量化系数的数值,计算所述指定区域内数值为奇数的量化系数的数值之和,将得到的和值作为所述统计结果;或
根据所述指定区域内的量化系数的数值,计算所述指定区域内数值为奇数的量化系数的绝对值之和,将得到的和值作为所述统计结果;或
根据所述指定区域内的量化系数的数值,将所述指定区域内数值为奇数的量化系数转换为第一数值,将数值为偶数的量化系数转换为第二数值,计算数值转换后所述指定区域内的量化系数的奇数值之和,将得到的和值作为所述统计结果,其中,所述第一数值和所述第二数值中的一个为奇数,另一个为偶数。
在本申请的一些实施例中,基于前述方案,统计单元1004配置为:将所述指定区域内数值为偶数的量化系数的个数作为所述统计结果;或
根据所述指定区域内的量化系数的数值,计算所述指定区域内数值为偶数的量化系数的数值之和,将得到的和值作为所述统计结果;或
根据所述指定区域内的量化系数的数值,计算所述指定区域内数值为偶数的量化系数的绝对值之和,将得到的和值作为所述统计结果;或
根据所述指定区域内的量化系数的数值,将所述指定区域内数值为奇数的量化系数转换为第一数值,将数值为偶数的量化系数转换为第二数值,计算数值转换后所述指定区域内的量化系数的偶数值之和,将得到的和值作为所述统计结果,其中,所述第一数值和所述第二数值中的一个为奇数,另一个为偶数。
在本申请的一些实施例中,基于前述方案,所述指定区域包括以下任意一个:
所述量化系数块中的全部区域;
所述量化系数块中指定的一个位置或多个位置;
所述量化系数块中指定的至少一行;
所述量化系数块中指定的至少一列;
所述量化系数块中指定的至少一行和指定的至少一列;
所述量化系数块中处于至少一条斜线上的位置。
在本申请的一些实施例中,基于前述方案,所述指定区域包括以下任意一个:
所述量化系数块中的SRCC区域;
所述SRCC区域中指定的一个位置或多个位置;
所述SRCC区域中指定的至少一行;
所述SRCC区域中指定的至少一列;
所述SRCC区域中指定的至少一行和指定的至少一列;
所述SRCC区域中处于至少一条斜线上的位置。
在本申请的一些实施例中,基于前述方案,所述SRCC区域中指定的一个位置或多个位置包括:按照扫描顺序的前N个位置,N为非0的自然数。
在本申请的一些实施例中,基于前述方案,选择单元1006配置为:若所述量化系数统计值是奇数,则选择第一变换矩阵组合,若所述量化系数统计值是偶数,则选择与所述第一变换矩阵组合不同的第二变换矩阵组合;或
若所述量化系数统计值是奇数,则选择所述第二变换矩阵组合,若所述量化系数统计值是偶数,则选择所述第一变换矩阵组合。
在本申请的一些实施例中,基于前述方案,选择单元1006配置为:若所述量化系数统计值归属于第一数值集合,则选择第一变换矩阵组合,若所述量化系数统计值归不属于第一数值集合,则选择与所述第一变换矩阵组合不同的第二变换矩阵组合;或
若所述量化系数统计值归属于所述第一数值集合,则选择所述第二变换矩阵组合,若所述量化系数统计值归不属于第一数值集合,则选择所述第一变换 矩阵组合。
图11示出了适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。
需要说明的是,图11示出的电子设备的计算机系统1100仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图11所示,计算机系统1100包括中央处理单元(Central Processing Unit,CPU)1101,其可以根据存储在只读存储器(Read-Only Memory,ROM)1102中的程序或者从存储部分1108加载到随机访问存储器(Random Access Memory,RAM)1103中的程序而执行各种适当的动作和处理,例如执行上述实施例中所述的方法。在RAM 1103中,还存储有系统操作所需的各种程序和数据。CPU1101、ROM 1102以及RAM 1103通过总线1104彼此相连。输入/输出(Input/Output,I/O)接口1105也连接至总线1104。
以下部件连接至I/O接口1105:包括键盘、鼠标等的输入部分1106;包括诸如阴极射线管(Cathode Ray Tube,CRT)、液晶显示器(Liquid Crystal Display,LCD)等以及扬声器等的输出部分1107;包括硬盘等的存储部分1108;以及包括诸如LAN(Local Area Network,局域网)卡、调制解调器等的网络接口卡的通信部分1109。通信部分1109经由诸如因特网的网络执行通信处理。驱动器1110也根据需要连接至I/O接口1105。可拆卸介质1111,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1110上,以便于从其上读出的计算机程序根据需要被安装入存储部分1108。
特别地,根据本申请的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本申请的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的计算机程序。在这样的实施例中,该计算机程序可以通过通信部分1109从网络上被下载和安装,和/或从可拆卸介质1111被安装。在该计算机程序被中央处理单元(CPU)1101执行时,执行本申请的系统中限定的各种功能。
需要说明的是,本申请实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、闪存、光纤、便携式紧凑磁盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的计算机程序。这种传播的数据信号可以采用多种形式,包括但不限于电磁 信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的计算机程序可以用任何适当的介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该电子设备执行时,使得该电子设备实现上述实施例中所述的方法。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本申请实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、触控终端、或者网络设备等)执行根据本申请实施方式的方法。
本领域技术人员在考虑说明书及实践这里公开的实施方式后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。

Claims (19)

  1. 一种视频解码方法,其特征在于,包括:
    对视频图像帧的编码块进行熵解码处理,获得所述编码块对应的残差数据的量化系数块;
    统计所述量化系数块中指定区域内的量化系数,得到量化系数统计值;
    选择与所述量化系数统计值相对应的变换矩阵组合;
    基于选择的变换矩阵组合对所述量化系数块的反量化结果进行反变换处理,得到重构残差数据,所述重构残差数据用于视频图像重建。
  2. 根据权利要求1所述的视频解码方法,其特征在于,还包括:
    若视频图像帧序列对应第一编码数据的序列头部包含指定的索引标识,则确定所述第一编码数据中的编码块需要根据量化系数块中的量化系数选择变换矩阵组合;或者
    若所述视频图像帧对应第二编码数据的图像头部包含指定的索引标识,则确定所述第二编码数据中的编码块需要根据量化系数块中的量化系数选择变换矩阵组合;或者
    若所述视频图像帧中条带对应第三编码数据的条带头部信息包含指定的索引标识,则确定所述第三编码数据中的编码块需要根据量化系数块中的量化系数选择变换矩阵组合;或者
    若所述视频图像帧中最大编码单元LCU对应的第四编码数据的LCU头部信息包含指定的索引标识,则确定所述第四编码数据中的编码块需要根据量化系数块中的量化系数选择变换矩阵组合。
  3. 根据权利要求1所述的方法,其特征在于,还包括:
    若所述编码块的尺寸小于阈值,确定所述编码块需要根据量化系数块中的量化系数选择变换矩阵组合。
  4. 根据权利要求1所述的视频解码方法,其特征在于,还包括:
    若视频图像帧序列对应第一编码数据的序列头部包含的索引标识为第一值,则确定所述第一编码数据中的编码块不需要根据量化系数块中的量化系数选择变换矩阵组合;
    若所述序列头部包含的索引标识为第二值,且所述视频图像帧序列中视频图像帧所对应第二编码数据的图像头部包含的索引标识为第一值,则确定所述第二编码数据中的编码块不需要根据量化系数块中的量化系数选择变换矩阵组合;
    若所述序列头部包含的索引标识为第二值,且所述图像头部包含的索引标识为第二值,则确定所述第二编码数据中的编码块需要根据量化系数块中的量化系数选择变换矩阵组合。
  5. 根据权利要求4所述的视频解码方法,其特征在于,还包括:
    若所述序列头部包含的索引标识为第二值、所述图像头部包含的索引标识为第二值,且所述视频图像帧中条带对应的第三编码数据的条带头部信息包含的索引标识为第一值,则确定所述第三编码数据中的编码块均不需要根据量化 系数块中的量化系数选择变换矩阵组合;
    若所述序列头部包含的索引标识为第二值、所述图像头部包含的索引标识为第二值、所述条带头部信息包含的索引标识为第二值,则确定所述第三编码数据中的编码块需要根据量化系数块中的量化系数选择变换矩阵组合。
  6. 根据权利要求5所述的视频解码方法,其特征在于,还包括:
    若所述序列头部包含的索引标识为第二值、所述图像头部包含的索引标识为第二值、所述条带头部信息包含的索引标识为第二值,且所述条带中LCU对应的第四编码数据的LCU头部信息包含的索引标识为第一值,则确定所述第四编码数据中的编码块均不需要根据量化系数块中的量化系数选择变换矩阵组合;
    若所述序列头部包含的索引标识为第二值、所述图像头部包含的索引标识为第二值、所述条带头部信息包含的索引标识为第二值,且所述LCU头部信息包含的索引标识为第二值,则确定所述第四编码数据中的编码块需要根据熵解码得到的量化系数块中的量化系数选择对应的变换矩阵组合。
  7. 根据权利要求6所述的视频解码方法,其特征在于,还包括:
    若所述序列头部包含的索引标识为第二值、所述图像头部包含的索引标识为第二值、所述条带头部信息包含的索引标识为第二值、所述LCU头部信息包含的索引标识为第二值,则确定所述第四编码数据中的编码块需要根据量化系数块中的量化系数选择变换矩阵组合;或者
    若所述序列头部包含的索引标识为第二值、所述图像头部包含的索引标识为第二值、所述条带头部信息包含的索引标识为第二值、所述LCU头部信息包含的索引标识为第二值,则根据所述LCU中的编码块的尺寸大小和阈值之间的关系,确定所述编码块是否需要根据量化系数块中的量化系数选择变换矩阵组合。
  8. 根据权利要求1所述的视频解码方法,其特征在于,统计所述量化系数块中指定区域内的量化系数,得到量化系数统计值,包括:
    根据所述量化系数块中指定区域内的量化系数的数值,对所述指定区域内的量化系数进行统计得到统计结果;
    将所述统计结果作为所述量化系数统计值,或,计算所述统计结果针对设定值的余数,将所述余数作为所述量化系数统计值。
  9. 根据权利要求8所述的视频解码方法,其特征在于,根据所述量化系数块中指定区域内的量化系数的数值,对所述指定区域内的量化系数进行统计得到统计结果,包括:
    根据所述指定区域内的量化系数的数值,计算所述指定区域内量化系数的数值之和,将得到的和值作为所述统计结果;或
    根据所述量化系数块中指定区域内的量化系数的数值,计算所述指定区域内量化系数的绝对值之和,将得到的和值作为所述统计结果;或
    根据所述指定区域内的量化系数的数值,将所述指定区域内数值为奇数的量化系数转换为第一数值,将数值为偶数的量化系数转换为第二数值,计算数值转换后所述指定区域内量化系数的数值之和,将得到的和值作为所述统计结 果,其中,所述第一数值和所述第二数值中的一个为奇数,另一个为偶数。
  10. 根据权利要求8所述的视频解码方法,其特征在于,根据所述量化系数块中指定区域内的量化系数的数值,对所述指定区域内的量化系数进行统计得到统计结果,包括:
    将所述指定区域内数值为奇数的量化系数的个数作为所述统计结果;或
    根据所述指定区域内的量化系数的数值,计算所述指定区域内数值为奇数的量化系数的数值之和,将得到的和值作为所述统计结果;或
    根据所述指定区域内的量化系数的数值,计算所述指定区域内数值为奇数的量化系数的绝对值之和,将得到的和值作为所述统计结果;或
    根据所述指定区域内的量化系数的数值,将所述指定区域内数值为奇数的量化系数转换为第一数值,将数值为偶数的量化系数转换为第二数值,计算数值转换后所述指定区域内量化系数的奇数值之和,将得到的和值作为所述统计结果,其中,所述第一数值和所述第二数值中的一个为奇数,另一个为偶数。
  11. 根据权利要求8所述的视频解码方法,其特征在于,根据所述量化系数块中指定区域内的量化系数的数值,对所述指定区域内的量化系数进行统计得到统计结果,包括:
    将所述指定区域内数值为偶数的量化系数的个数作为所述统计结果;或
    根据所述指定区域内的量化系数的数值,计算所述指定区域内数值为偶数的量化系数的数值之和,将得到的和值作为所述统计结果;或
    根据所述指定区域内的量化系数的数值,计算所述指定区域内数值为偶数的量化系数的绝对值之和,将得到的和值作为所述统计结果;或
    根据所述指定区域内的量化系数的数值,将所述指定区域内数值为奇数的量化系数转换为第一数值,将数值为偶数的量化系数转换为第二数值,计算数值转换后所述指定区域内量化系数的偶数值之和,将得到的和值作为所述统计结果,其中,所述第一数值和所述第二数值中的一个为奇数,另一个为偶数。
  12. 根据权利要求1至11中任一项所述的视频解码方法,其特征在于,所述指定区域包括以下任意一个:
    所述量化系数块中的全部区域;
    所述量化系数块中指定的一个位置或多个位置;
    所述量化系数块中指定的至少一行;
    所述量化系数块中指定的至少一列;
    所述量化系数块中指定的至少一行和指定的至少一列;
    所述量化系数块中处于至少一条斜线上的位置。
  13. 根据权利要求1至11中任一项所述的视频解码方法,其特征在于,所述指定区域包括以下任意一个:
    所述量化系数块中的扫描区域系数编码SRCC区域;
    所述SRCC区域中指定的一个位置或多个位置;
    所述SRCC区域中指定的至少一行;
    所述SRCC区域中指定的至少一列;
    所述SRCC区域中指定的至少一行和指定的至少一列;
    所述SRCC区域中处于至少一条斜线上的位置。
  14. 根据权利要求13所述的视频解码方法,其特征在于,所述SRCC区域中指定的一个位置或多个位置包括:按照扫描顺序的前N个位置,N为非0的自然数。
  15. 根据权利要求1至11中任一项所述的视频解码方法,其特征在于,选择与所述量化系数统计值相对应的目标变换矩阵组合,包括:
    若所述量化系数统计值是奇数,则选择第一变换矩阵组合;若所述量化系数统计值是偶数,则选择与所述第一变换矩阵组合不同的第二变换矩阵组合;或
    若所述量化系数统计值是奇数,则选择所述第二变换矩阵组合;若所述量化系数统计值是偶数,则选择所述第一变换矩阵组合。
  16. 根据权利要求1至11中任一项所述的视频解码方法,其特征在于,选择与所述量化系数统计值相对应的目标变换矩阵组合,包括:
    若所述量化系数统计值归属于第一数值集合,则选择第一变换矩阵组合;若所述量化系数统计值归不属于第一数值集合,则选择与所述第一变换矩阵组合不同的第二变换矩阵组合;或
    若所述量化系数统计值归属于所述第一数值集合,则选择所述第二变换矩阵组合;若所述量化系数统计值归不属于第一数值集合,则选择所述第一变换矩阵组合。
  17. 一种视频解码装置,其特征在于,包括:
    解码单元,配置为对视频图像帧的编码块进行熵解码处理,获得所述编码块对应的残差数据的量化系数块;
    统计单元,配置为统计所述量化系数块中指定区域内的量化系数,得到量化系数统计值;
    选择单元,配置为选择与所述量化系数统计值相对应的变换矩阵组合;
    处理单元,配置为基于选择的变换矩阵组合对所述量化系数块的反量化结果进行反变换处理,得到重构残差数据,所述重构残差数据用于视频图像重建。
  18. 一种计算机可读介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至16中任一项所述的视频解码方法。
  19. 一种电子设备,其特征在于,包括:
    一个或多个处理器;
    存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1至16中任一项所述的视频解码方法。
PCT/CN2021/112355 2020-08-21 2021-08-12 视频解码方法、装置、计算机可读介质及电子设备 WO2022037477A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP21857572.8A EP4171029A4 (en) 2020-08-21 2021-08-12 VIDEO DECODING METHOD AND APPARATUS, COMPUTER READABLE MEDIUM, AND ELECTRONIC DEVICE
US17/940,467 US20230007254A1 (en) 2020-08-21 2022-09-08 Video decoding method and apparatus, computerreadable medium, and electronic device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202010855608.8 2020-08-21
CN202010855608.8A CN114079772B (zh) 2020-08-21 2020-08-21 视频解码方法、装置、计算机可读介质及电子设备

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/940,467 Continuation US20230007254A1 (en) 2020-08-21 2022-09-08 Video decoding method and apparatus, computerreadable medium, and electronic device

Publications (1)

Publication Number Publication Date
WO2022037477A1 true WO2022037477A1 (zh) 2022-02-24

Family

ID=80282791

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/112355 WO2022037477A1 (zh) 2020-08-21 2021-08-12 视频解码方法、装置、计算机可读介质及电子设备

Country Status (4)

Country Link
US (1) US20230007254A1 (zh)
EP (1) EP4171029A4 (zh)
CN (1) CN114079772B (zh)
WO (1) WO2022037477A1 (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101771868A (zh) * 2008-12-31 2010-07-07 华为技术有限公司 对图像的量化处理方法及装置
CN101895756A (zh) * 2010-07-15 2010-11-24 北京大学 视频图像块的编码、解码、重构方法及系统
CN102210151A (zh) * 2008-11-07 2011-10-05 三菱电机株式会社 图像编码装置以及图像解码装置
CN103096052A (zh) * 2011-11-04 2013-05-08 华为技术有限公司 一种图像编码、解码的方法和装置
US20170064335A1 (en) * 2015-08-31 2017-03-02 Samsung Electronics Co., Ltd. Method and apparatus for image transformation, and method and apparatus for image inverse-transformation based on scanning sequence
JP2020108179A (ja) * 2010-12-09 2020-07-09 ヴェロス メディア インターナショナル リミテッドVelos Media International Limited 画像処理装置、画像処理方法、プログラム及び記録媒体
CN112543337A (zh) * 2020-09-27 2021-03-23 腾讯科技(深圳)有限公司 视频解码方法、装置、计算机可读介质及电子设备
CN112565751A (zh) * 2020-09-27 2021-03-26 腾讯科技(深圳)有限公司 视频解码方法、装置、计算机可读介质及电子设备

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012516627A (ja) * 2009-01-27 2012-07-19 トムソン ライセンシング ビデオ符号化およびビデオ復号における変換の選択のための方法および装置
JP5740239B2 (ja) * 2011-08-03 2015-06-24 日本放送協会 モード情報伝送置換装置、画像符号化装置、画像復号装置、及びこれらのプログラム
FR3038196A1 (fr) * 2015-06-29 2016-12-30 B<>Com Procede de codage d'une image numerique, procede de decodage, dispositifs et programmes d'ordinateurs associes
JP6595711B2 (ja) * 2015-12-23 2019-10-23 華為技術有限公司 階層的分割内でのブロックレベルの変換選択および黙示的シグナリングを伴う変換コーディングのための方法および装置
WO2020050651A1 (ko) * 2018-09-05 2020-03-12 엘지전자 주식회사 다중 변환 선택에 기반한 영상 코딩 방법 및 그 장치
CN113950829A (zh) * 2019-06-06 2022-01-18 北京字节跳动网络技术有限公司 简化的变换编解码工具
CN110708552B (zh) * 2019-08-27 2021-12-31 杭州海康威视数字技术股份有限公司 解码方法、编码方法及装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102210151A (zh) * 2008-11-07 2011-10-05 三菱电机株式会社 图像编码装置以及图像解码装置
CN101771868A (zh) * 2008-12-31 2010-07-07 华为技术有限公司 对图像的量化处理方法及装置
CN101895756A (zh) * 2010-07-15 2010-11-24 北京大学 视频图像块的编码、解码、重构方法及系统
JP2020108179A (ja) * 2010-12-09 2020-07-09 ヴェロス メディア インターナショナル リミテッドVelos Media International Limited 画像処理装置、画像処理方法、プログラム及び記録媒体
CN103096052A (zh) * 2011-11-04 2013-05-08 华为技术有限公司 一种图像编码、解码的方法和装置
US20170064335A1 (en) * 2015-08-31 2017-03-02 Samsung Electronics Co., Ltd. Method and apparatus for image transformation, and method and apparatus for image inverse-transformation based on scanning sequence
CN112543337A (zh) * 2020-09-27 2021-03-23 腾讯科技(深圳)有限公司 视频解码方法、装置、计算机可读介质及电子设备
CN112565751A (zh) * 2020-09-27 2021-03-26 腾讯科技(深圳)有限公司 视频解码方法、装置、计算机可读介质及电子设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP4171029A4

Also Published As

Publication number Publication date
US20230007254A1 (en) 2023-01-05
EP4171029A4 (en) 2024-01-10
EP4171029A1 (en) 2023-04-26
CN114079772A (zh) 2022-02-22
CN114079772B (zh) 2023-04-07

Similar Documents

Publication Publication Date Title
WO2022078163A1 (zh) 视频解码方法、视频编码方法及相关装置
WO2022063033A1 (zh) 视频解码方法、视频编码方法、装置、计算机可读介质及电子设备
WO2022062880A1 (zh) 视频解码方法、装置、计算机可读介质及电子设备
WO2022078304A1 (zh) 视频解码方法、装置、计算机可读介质、程序及电子设备
WO2022174660A1 (zh) 视频编解码方法、装置、计算机可读介质及电子设备
US20230053118A1 (en) Video decoding method, video coding method, and related apparatus
CN113207002B (zh) 视频编解码方法、装置、计算机可读介质及电子设备
WO2022037477A1 (zh) 视频解码方法、装置、计算机可读介质及电子设备
WO2022037478A1 (zh) 视频解码方法、视频编码方法、装置、介质及电子设备
WO2022174701A1 (zh) 视频编解码方法、装置、计算机可读介质及电子设备
WO2022116854A1 (zh) 视频解码方法、装置、可读介质、电子设备及程序产品
WO2022174637A1 (zh) 视频编解码方法、装置、计算机可读介质及电子设备
US20230077935A1 (en) Video Encoding Method and Apparatus, Video Decoding Method and Apparatus, Computer-Readable Medium, and Electronic Device
WO2023130899A1 (zh) 环路滤波方法、视频编解码方法、装置、介质及电子设备
WO2022174638A1 (zh) 视频编解码方法、装置、计算机可读介质及电子设备
WO2022063040A1 (zh) 视频编解码方法、装置及设备
CN115209146A (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: 21857572

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE