CN106254883B - Inverse transformation method and device in video decoding - Google Patents

Inverse transformation method and device in video decoding Download PDF

Info

Publication number
CN106254883B
CN106254883B CN201610624119.5A CN201610624119A CN106254883B CN 106254883 B CN106254883 B CN 106254883B CN 201610624119 A CN201610624119 A CN 201610624119A CN 106254883 B CN106254883 B CN 106254883B
Authority
CN
China
Prior art keywords
matrix
transformation
horizontal
transform
coefficient matrix
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201610624119.5A
Other languages
Chinese (zh)
Other versions
CN106254883A (en
Inventor
刘西富
王金童
曾小光
陈世雷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hisense Visual Technology Co Ltd
Original Assignee
Hisense Visual Technology Co Ltd
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 Hisense Visual Technology Co Ltd filed Critical Hisense Visual Technology Co Ltd
Priority to CN201610624119.5A priority Critical patent/CN106254883B/en
Publication of CN106254883A publication Critical patent/CN106254883A/en
Application granted granted Critical
Publication of CN106254883B publication Critical patent/CN106254883B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • 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

Landscapes

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

Abstract

The embodiment of the invention provides an inverse transformation method and a device in video decoding, wherein the method comprises the following steps: reading transformed serial data from the buffer; writing the converted serial data into the register to obtain a conversion coefficient matrix; generating a first horizontal inverse transform matrix by using the transform coefficient matrix; converting the first horizontal inverse transform matrix into a second horizontal inverse transform matrix; extracting a residual sample value matrix from the second horizontal inverse transformation matrix; and the residual sample value matrix is subjected to image prediction, image reconstruction and loop filtering to obtain decoded video data. The embodiment of the invention is improved according to an AVS standard inverse transformation method, originally, horizontal and vertical inverse transformations are respectively needed to be carried out, only two times of horizontal inverse transformations can be carried out through conversion, multiplication can be simplified into shift addition/subtraction to be realized, thereby reducing system hardware resources, greatly simplifying circuit complexity and improving system operation speed.

Description

Inverse transformation method and device in video decoding
Technical Field
The present invention relates to the field of video decoding technologies, and in particular, to an inverse transform method and an inverse transform apparatus in video decoding.
Background
Video decoding technology is one of the key technologies for digital media transmission. At present, the latest Video Coding and decoding technology mainly comprises an Audio Video Coding Standard (AVS), a dynamic image Experts Group-2 (MPEG-2), a dynamic image Experts Group-4 (MPEG-4), and the like, wherein the AVS is a digital Audio and Video Coding and decoding technical Standard which is independently established in China and is provided by a digital Audio and Video Coding and decoding technical Standard working Group established by the China information industry department, and a method for transformation, quantization and entropy Coding of a residual matrix and entropy decoding, inverse quantization and inverse transformation of subsequent steps are defined.
In the prior art, an integer inverse transformation method is to further decompose odd cells of an integer inverse transformation matrix into two matrices, one of which satisfies dual-scale symmetry and can be decomposed into two 2 × 2 matrix combinations again as an even cell, and the other matrix completes calculation with fewer addition times, so that the multiplexing degree of 8 × 8 integer inverse transformation matrix processing logic is improved. However, the decomposition process is relatively complicated, and the processing mode of another matrix is complex and has higher program, and more hardware resources are occupied.
Disclosure of Invention
In view of the above, embodiments of the present invention are proposed to provide an inverse transform method in video decoding and a corresponding inverse transform in video decoding that overcome or at least partially solve the above-mentioned problems.
In order to solve the above problem, an embodiment of the present invention discloses an inverse transform method in video decoding, where the video decoding is performed in a processor, the processor is in communication with a memory, the processor includes a register, the memory includes a buffer, and the method includes:
reading transformed serial data from the buffer;
writing the converted serial data into the register to obtain a conversion coefficient matrix;
generating a first horizontal inverse transform matrix by using the transform coefficient matrix;
converting the first horizontal inverse transform matrix into a second horizontal inverse transform matrix;
extracting a residual sample value matrix from the second horizontal inverse transformation matrix;
and the residual sample value matrix is subjected to image prediction, image reconstruction and loop filtering to obtain decoded video data.
Preferably, the writing of the transformed serial data into a register, and the obtaining of the transform coefficient matrix includes:
sequentially writing the converted serial data into a register from left to right every N data intervals; wherein N > 1;
and repeating the writing operation for N-1 times to obtain a transformation coefficient matrix.
Preferably, the transform coefficient matrix is a set of a plurality of transform coefficients of N rows by N columns, each transform coefficient matrix includes a corresponding block identifier, and the transform coefficient column of each column includes a feature identifier.
Preferably, the step of generating a first horizontal inverse transform matrix using the transform coefficient matrix includes:
transposing the transform coefficient matrix in the register to obtain a transposed transform coefficient matrix;
and the transposed transformation coefficient matrix is multiplied by an inverse transformation matrix to obtain the first horizontal inverse transformation matrix.
Preferably, the transposing transform coefficient matrix is a set of a plurality of transposing transform coefficients of N rows by N columns, the transposing the transform coefficient matrix in the register, and the step of obtaining the transposing transform coefficient matrix includes:
reading the transformation coefficients of each column in the transformation coefficient matrix from left to right in sequence according to the feature marks;
and sequentially writing the transformation coefficients of each column into the transposed transformation coefficient rows of each row from top to bottom to obtain a transposed transformation coefficient matrix.
Preferably, the method includes reading the transform coefficients of each column in the transform coefficient matrix sequentially from left to right according to the characteristic flag after the N-1 th execution of the write operation of the transformed serial data and before the N-th execution.
Preferably, the step of converting the first horizontal inverse transform matrix into a second horizontal inverse transform matrix comprises:
shifting the first horizontal inverse transformation matrix to obtain a shifted horizontal transformation matrix;
transposing the shift horizontal transformation matrix to obtain a transposed shift horizontal transformation matrix;
and the transposed shift horizontal transformation matrix is multiplied by an inverse transformation matrix to obtain a second horizontal inverse transformation matrix.
The embodiment of the invention also discloses an inverse transformation device in video decoding, wherein the video decoding is executed in a processor, the processor is mutually communicated with a memory, the processor comprises a register, the memory comprises a buffer area, and the device comprises:
a transformed serial data reading module for reading transformed serial data from the buffer;
a transformation coefficient matrix obtaining module, configured to write the transformed serial data into the register to obtain a transformation coefficient matrix;
the first horizontal inverse transformation matrix generation module is used for generating a first horizontal inverse transformation matrix by adopting the transformation coefficient matrix;
a second horizontal inverse transformation matrix conversion module, configured to convert the first horizontal inverse transformation matrix into a second horizontal inverse transformation matrix;
a residual sample matrix extraction module, configured to extract a residual sample matrix from the second horizontal inverse transform matrix;
and the video obtaining module is used for obtaining the decoded video data after the residual sample value matrix is subjected to the operations of image prediction, image reconstruction and loop filtering.
Preferably, the transform coefficient matrix obtaining module includes:
the conversion serial data writing sub-module is used for sequentially writing the conversion serial data into the register from left to right every N data; wherein N > 1;
and the transformation coefficient matrix obtaining submodule is used for repeatedly executing the writing operation for N-1 times to obtain a transformation coefficient matrix.
Preferably, the transform coefficient matrix is a set of a plurality of transform coefficients of N rows by N columns, each transform coefficient matrix includes a corresponding block identifier, and the transform coefficient column of each column includes a feature identifier.
Preferably, the first horizontal inverse transformation matrix generating module includes:
a transposition transform coefficient matrix obtaining submodule for transposing the transform coefficient matrix in the register to obtain a transposition transform coefficient matrix;
and the first horizontal inverse transformation matrix obtaining submodule is used for multiplying the transposed transformation coefficient matrix by an inverse transformation matrix to obtain the first horizontal inverse transformation matrix.
Preferably, the transposed transform coefficient matrix is a set of a plurality of transposed transform coefficients of N rows by N columns, and the transposed transform coefficient matrix obtaining sub-module includes:
the conversion coefficient reading unit is used for sequentially reading the conversion coefficient of each column in the conversion coefficient matrix from left to right according to the characteristic identifier;
and the transposed transform coefficient matrix obtaining unit is used for sequentially writing the transform coefficients of each column into the transposed transform coefficient rows of each row from top to bottom to obtain the transposed transform coefficient matrix.
Preferably, the apparatus includes reading the transform coefficients of each column in the transform coefficient matrix sequentially from left to right according to the characteristic flag after the N-1 th execution of the write operation of the transformed serial data and before the N-th execution.
Preferably, the second horizontal inverse transform matrix conversion module includes:
the shift horizontal transformation matrix shift submodule is used for shifting the first horizontal inverse transformation matrix to obtain a shift horizontal transformation matrix;
a transposition shift horizontal transformation matrix obtaining submodule for transposing the shift horizontal transformation matrix to obtain a transposition shift horizontal transformation matrix;
and the two-horizontal inverse transformation matrix obtaining submodule is used for multiplying the transposed shifting horizontal transformation matrix by an inverse transformation matrix to obtain a second horizontal inverse transformation matrix.
The embodiment of the invention has the following advantages:
in the embodiment of the invention, after the writing operation of the transformed serial data is executed for the (N-1) th time and before the writing operation of the transformed serial data is executed for the (N) th time, the transformation coefficients of each column in the transformation coefficient matrix are read sequentially from left to right according to the characteristic identification. The writing sequence is written row by row, when the data is written into the N-1 th row and then written into the N-th row, the transposition operation is started, the conversion coefficient rows in the conversion coefficient matrix of each row are read simultaneously and written into the transposition coefficient matrix, and when the writing operation of the N-th row is completed, the conversion coefficient rows of each row are read simultaneously and completely, so that the time for writing data is saved.
Furthermore, the method is improved according to the AVS standard inverse transformation method, the horizontal inverse transformation can be performed twice after the horizontal inverse transformation and the vertical inverse transformation are performed respectively, the horizontal inverse transformation and the vertical inverse transformation are performed by left-multiplying the same transformation coefficient matrix, and the vertical inverse transformation is a submodule with the largest operation amount in the whole inverse integer transformation circuit. The multiplication can be realized by simplifying the multiplication into shift addition/subtraction, thereby reducing the hardware resource of the system, greatly simplifying the complexity of the circuit and improving the running speed of the system.
Drawings
Fig. 1 is a flowchart illustrating a first embodiment of an inverse transform method in video decoding according to an embodiment of the present invention;
FIG. 2 is a block diagram of an inverse transform method of the AVS standard;
fig. 3 is a flowchart illustrating steps of a second embodiment of an inverse transform method in video decoding according to the present invention;
fig. 4 is a diagram of data read/write operations of an inverse transform method in video decoding according to an embodiment of the present invention;
FIG. 5 is an inverse transform matrix of the AVS standard;
fig. 6 is a flowchart illustrating an inverse transform apparatus in video decoding according to a third embodiment of the present invention.
Detailed Description
In order to make the aforementioned objects, features and advantages of the embodiments of the present invention more comprehensible, the present invention is described in detail with reference to the accompanying drawings and the detailed description.
Example one
Referring to fig. 1, a flowchart illustrating steps of a first embodiment of an inverse transform method in video decoding according to an embodiment of the present invention is shown, where the video decoding is performed in a processor, the processor is in communication with a memory, the processor includes a register, the memory includes a buffer, and the method specifically includes the following steps:
step 101, reading the transformed serial data from the buffer;
in the embodiment of the present invention, the video decoding process is performed in a processor, the processor includes a register, the processor communicates with a memory, the memory includes a buffer, and the converted serial data is read from the buffer of the memory, and the converted serial data is converted data obtained by inverse quantization of quantized data, in the prior art, the video decoding process corresponds to a video encoding process, the video encoding process is composed of image prediction (subtracting adjacent frame images of original video data to obtain a residual sample matrix), a conversion process (converting the residual sample matrix into a conversion coefficient matrix), a quantization process (converting the conversion coefficient matrix into a quantization coefficient matrix), and an entropy encoding process (converting the quantization coefficient matrix into a data stream), and then the video decoding process is performed through data transmission, including: the method comprises the steps of entropy decoding (converting a data stream into a quantization coefficient matrix), inverse quantization (converting the quantization coefficient matrix into a transformation coefficient matrix), inverse transformation (converting the transformation coefficient matrix into a residual sample value matrix), image prediction, image reconstruction and loop filtering to obtain original video data, wherein in the process of transmitting the video data, the data can be in a serial form or a parallel form. The transformation coefficient matrix in the embodiment of the invention is obtained from the inverse quantization process, the transformed data after the inverse quantization process is stored in a buffer area of an inverse quantization memory in a serial form, and the transformed serial data is read from the buffer area.
Step 102, writing the converted serial data into the register to obtain a conversion coefficient matrix;
the converted serial data is written into a register of the processor, where the register includes a general register, an index register, a stack register, and may also be a flag bit register, a special purpose register, and a segment register, which is not limited in this embodiment of the present invention. And writing the converted serial data into a register of the processor, converting the converted serial data into a parallel mode and storing the converted serial data to obtain a conversion coefficient matrix.
103, generating a first horizontal inverse transformation matrix by using the transformation coefficient matrix;
in a specific implementation, the transform coefficient matrix is used to generate a first horizontal inverse transform matrix through a first horizontal inverse transform operation, which may be a transposition operation followed by a pre-multiplication by an inverse transform matrix, which may be a standard inverse transform matrix T of the AVS standard8
Step 104, converting the first horizontal inverse transformation matrix into a second horizontal inverse transformation matrix;
further, the first horizontal inverse transform matrix is subjected to a second horizontal inverse transform operation to generate a second horizontal inverse transform matrix, where the operations may be performing a shift operation, performing a transpose operation, and finally performing a left-hand multiplication on a standard inverse transform matrix of the AVS standard to obtain the second horizontal inverse transform matrix.
105, extracting a residual sample value matrix from the second horizontal inverse transformation matrix;
in practical application, each data in the second horizontal inverse transformation matrix is subjected to selection and extraction, and a residual sample value matrix is extracted. Referring to fig. 2, there is shown a block diagram of an inverse transform method of the AVS standard, in which all inverse transform processes in the embodiment of the present invention are horizontal inverse transforms without vertical inverse transforms, with respect to the inverse transform method of the AVS standard.
And 106, after the residual sample value matrix is subjected to the operations of image prediction, image reconstruction and loop filtering, the decoded video data is obtained.
In the embodiment of the invention, the residual sample value matrix can obtain the decoded video data through a series of reduction of the image relation between the current frame and the previous frame or the next frame.
In the embodiment of the invention, improvement is carried out according to an AVS standard inverse transformation method, horizontal inverse transformation and vertical inverse transformation are respectively required to be carried out originally, only two times of horizontal inverse transformation can be carried out after conversion, the horizontal inverse transformation and the vertical inverse transformation are both left-multiplied by the same transformation coefficient matrix, and the vertical inverse transformation is a submodule with the largest operation amount in the whole inverse integer transformation circuit. The multiplication can be realized by simplifying the multiplication into shift addition/subtraction, thereby reducing the hardware resource of the system, greatly simplifying the complexity of the circuit and improving the running speed of the system.
Example two
Referring to fig. 3, a flowchart illustrating steps of a second embodiment of an inverse transform method in video decoding according to an embodiment of the present invention is shown, where the video decoding is performed in a processor, the processor is in communication with a memory, the processor includes a register, the memory includes a buffer, and the method specifically includes the following steps:
step 201, reading the transformed serial data from the buffer;
the data transmission process is changed, and the data form can be serial or parallel. The transformation coefficient matrix in the embodiment of the invention is obtained from the inverse quantization process, the transformed data after the inverse quantization process is stored in a buffer area of an inverse quantization memory in a serial form, and the transformed serial data is read from the buffer area.
Step 202, writing the converted serial data into a register from left to right in sequence every N data intervals; wherein N > 1;
specifically, every other data with the same number in the transformed serial data is sequentially written into the register of the processor from left to right, in the embodiment of the present invention, N may be 8, and the transformed serial data is sequentially written into the register every 8 numbers.
Step 203, repeatedly executing the writing operation for N-1 times to obtain a transformation coefficient matrix;
because the writing step is performed once, and the writing operation is repeated N-1 times, a transform coefficient matrix of N rows by N columns can be obtained, for example, the writing operation is performed 7 times, and a transform coefficient matrix of 8 rows by 8 columns can be obtained.
Step 204, transposing the transform coefficient matrix in the register to obtain a transposed transform coefficient matrix;
in this embodiment of the present invention, the transposed transform coefficient matrix is a set of a plurality of transposed transform coefficients obtained by multiplying N rows by N columns, each transform coefficient matrix includes a corresponding block identifier, a transform coefficient column of each column includes a feature identifier, and the step of transposing the transform coefficient matrix in the register to obtain the transposed transform coefficient matrix includes the following sub-steps:
substep S2041, reading the transform coefficients of each column in the transform coefficient matrix from left to right in sequence according to the feature identifier;
substep S2042, sequentially writing the transform coefficients of each column into the transposed transform coefficient row of each row from top to bottom, to obtain a transposed transform coefficient matrix.
For example, the process of the transpose operation is to write the transform coefficients of each column of the transform coefficient matrix into the transposed transform coefficient row of each row, where the row and the column correspond to each other, for example, the data of the 1 st column and the 3 rd row of the transform coefficient matrix is written into the position of the 3 rd column and the 1 st row of the transposed transform coefficient matrix. It should be noted that each transform coefficient matrix includes a corresponding block identifier, a transform coefficient column of each column includes a feature identifier, the transform coefficient matrix flows in the whole program according to the block identifier, and the transform coefficient matrix performs a transposition operation according to the feature identifier.
Further, after the writing operation of the transformed serial data is performed for the (N-1) th time and before the writing operation is performed for the (N) th time, the transform coefficients of each column in the transform coefficient matrix are sequentially read from left to right according to the characteristic identifier. Referring to fig. 4, a data read/write operation diagram of an inverse transform method in video decoding is shown, where transformed serial data is written into an 8-row by 8-column transform coefficient matrix, the writing sequence is written row by row, when the transformed serial data is written into the 7 th row and then written into the 8 th row, a transposition operation is started, the transform coefficient columns in the transform coefficient matrix of each column are simultaneously read and written into the transposition transform coefficient matrix, and when the writing operation of the 8 th row is completed, the transform coefficient columns of each column are simultaneously read and completed, so as to save the time for writing data.
Step 205, pre-multiplying the transposed transform coefficient matrix by an inverse transform matrix to obtain the first horizontal inverse transform matrix;
step 206, shifting the first horizontal inverse transformation matrix to obtain a shifted horizontal transformation matrix;
in the first horizontal inverse transformation process (step 205), the number of bits of the data in the matrix may be shifted to the left by at least three bits, so that a shift operation is performed to modify the first horizontal inverse transformation matrix to obtain a shifted horizontal transformation matrix.
Step 207, transposing the shift horizontal transformation matrix to obtain a transposed shift horizontal transformation matrix;
in the embodiment of the present invention, the transposition operation is performed on the shift horizontal transformation matrix again to obtain the transposition shift horizontal transformation matrix.
Step 208, the transposed horizontal transformation matrix is multiplied by an inverse transformation matrix to obtain a second horizontal inverse transformation matrix;
specifically, the transposed horizontal transformation matrix is subjected to a second horizontal inverse transformation operation, and is subjected to a first multiplication by an inverse transformation matrix to obtain a first flat inverse transformation matrix.
Step 209, extracting a residual sample matrix from the second horizontal inverse transformation matrix;
and selecting or rejecting each data in the second horizontal inverse transformation matrix, and extracting a residual sample value matrix.
And step 210, obtaining decoded video data after the residual sample value matrix is subjected to the operations of image prediction, image reconstruction and loop filtering.
In the embodiment of the invention, after the writing operation of the transformed serial data is executed for the (N-1) th time and before the writing operation of the transformed serial data is executed for the (N) th time, the transformation coefficients of each column in the transformation coefficient matrix are read sequentially from left to right according to the characteristic identification. The writing sequence is written row by row, when the data is written into the N-1 th row and then written into the N-th row, the transposition operation is started, the conversion coefficient rows in the conversion coefficient matrix of each row are read simultaneously and written into the transposition coefficient matrix, and when the writing operation of the N-th row is completed, the conversion coefficient rows of each row are read simultaneously and completely, so that the time for writing data is saved.
In order to make the person skilled in the art better understand the embodiments of the present invention, the following describes the technical solutions of the embodiments of the present invention through the inverse transformation process of the AVS standard.
Referring to FIG. 5, an inverse transform matrix T of the AVS standard is shown8(ii) a The inverse transform is an Inverse Integer Cosine Transform (IICT) of the transform coefficients obtained after inverse quantization to transform the transform coefficients in the frequency domain into residual samples in the spatial domain. AVS adopts 8 x 8 integer variation, both encoding and decoding ends are completely matched, and truncation errors in floating point DCT (cosine transform) can not occur.
In an actual operation process, converting the incoming transformed serial data into a transform coefficient matrix CoeffMatrix, performing a series of processing, and finally outputting an inverse cosine transform result, where the implementation process can be generally described as follows:
stage 1: horizontal inverse transformation:
H1=CoeffMatrix×T8 T
this is the first step of the inverse transform, where T8Is an 8 x 8 inverse transform matrix, T8 TIs T8H1 represents the intermediate result after horizontal inverse transformation. The range of values of H1 matrix elements decoded from the bitstream conforming to this section should be-215~215-4, which is a 16-bit signed integer matrix.
Stage 2: reducing the intermediate variable:
H2[i][j]=(H1[i][j]+22)>>3i,j=0…7
this is the second step of the inverse transform, during which the data processing has actually shifted the values of the elements by at least three bits to the left, where the values of the elements of the resulting matrix H1 are shifted by three bits to the right to obtain the matrix H2 in order to allow the next vertical transform to be within 16 bits.
Stage 3: vertical inverse transformation:
H=T8×H2
this is the third step of the inverse transformation, H denotes the inverse transformed 8 x 8 matrix, resulting in a 16 bit signed integer momentArray with a value range of [ -2 [)15,215-65]。
Stage 4: and (4) correcting the result:
H[i][j]=(H[i][j]+26)>>7i,j=0…7
in the inverse quantization process, the result is shifted to the left by 7 bits at least, the result is corrected, the result is shifted to the right by 7 bits and limited to 9 bits, and no truncation error exists.
The process flow of the inverse transformation process of the common AVS standard decoding module is shown in figure 2, namely, the data stream sequentially passes through a transformation coefficient matrix input module, a horizontal inverse transformation module, a shifting module, a vertical inverse transformation module, a result correction module and a residual sample value matrix output module to achieve the purpose of the inverse transformation of the AVS data.
Analyzing the definition of the inverse transformation method of the AVS standard, the second and fourth steps are not considered for the moment, and the inverse transformation formula can be abbreviated as:
Figure BDA0001067771460000101
wherein M isCFor a matrix of transform coefficients, MRFor residual sample matrices, if the transform coefficient matrix M is first alignedCTranspose and let NC=MC TThen M isC=NC TThen the inverse transform formula can be written as:
Figure BDA0001067771460000111
in the embodiment of the invention, T8First and NCMultiplication is a first horizontal inversion operation, followed by T8Then multiplying the result by the transpose of the result to perform a second horizontal inverse transform operation, so that the horizontal inverse transform can be performed twice after the horizontal inverse transform and the vertical inverse transform are performed respectively, and the same coefficient matrix T is multiplied by the left side8Such a conversion may greatly simplify the complexity of the circuit.
It should be noted that the foregoing is a principle of an improvement scheme of an inverse transform process in the AVS standard, and a technical scheme in the embodiment of the present invention is to change an original vertical inverse transform into a horizontal inverse transform through mathematical transformation, so that an operation process is simpler and a resource saving effect is achieved.
It should be noted that, for simplicity of description, the method embodiments are described as a series of acts or combination of acts, but those skilled in the art will recognize that the present invention is not limited by the illustrated order of acts, as some steps may occur in other orders or concurrently in accordance with the embodiments of the present invention. Further, those skilled in the art will appreciate that the embodiments described in the specification are presently preferred and that no particular act is required to implement the invention.
EXAMPLE III
Referring to fig. 6, a block diagram of a third embodiment of an inverse transform apparatus in video decoding according to the present invention is shown, where the video decoding is performed in a processor, the processor is in communication with a memory, the processor includes a register, the memory includes a buffer, and the following modules may be specifically included:
a transformed serial data reading module 301 for reading transformed serial data from the buffer;
a transform coefficient matrix obtaining module 302, configured to write the transformed serial data into the register to obtain a transform coefficient matrix;
a first horizontal inverse transformation matrix generating module 303, configured to generate a first horizontal inverse transformation matrix by using the transformation coefficient matrix;
a second horizontal inverse transformation matrix conversion module 304, configured to convert the first horizontal inverse transformation matrix into a second horizontal inverse transformation matrix;
a residual sample matrix extraction module 305, configured to extract a residual sample matrix from the second horizontal inverse transform matrix;
and the video obtaining module 306 is configured to obtain decoded video data after the residual sample matrix is subjected to operations of image prediction, image reconstruction, and loop filtering.
In a preferred embodiment of the present invention, the transform coefficient matrix obtaining module includes:
the conversion serial data writing sub-module is used for sequentially writing the conversion serial data into the register from left to right every N data; wherein N > 1;
and the transformation coefficient matrix obtaining submodule is used for repeatedly executing the writing operation for N-1 times to obtain a transformation coefficient matrix.
In a preferred embodiment of the present invention, the transform coefficient matrix is a set of a plurality of transform coefficients of N rows by N columns, each transform coefficient matrix includes a corresponding block identifier, and the transform coefficient column of each column includes a feature identifier.
In a preferred embodiment of the present invention, the first horizontal inverse transform matrix generating module includes:
a transposition transform coefficient matrix obtaining submodule for transposing the transform coefficient matrix in the register to obtain a transposition transform coefficient matrix;
and the first horizontal inverse transformation matrix obtaining submodule is used for multiplying the transposed transformation coefficient matrix by an inverse transformation matrix to obtain the first horizontal inverse transformation matrix.
In a preferred embodiment of the present invention, the transposed transform coefficient matrix is a set of a plurality of transposed transform coefficients obtained by multiplying N rows by N columns, and the transposed transform coefficient matrix obtaining sub-module includes:
the conversion coefficient reading unit is used for sequentially reading the conversion coefficient of each column in the conversion coefficient matrix from left to right according to the characteristic identifier;
and the transposed transform coefficient matrix obtaining unit is used for sequentially writing the transform coefficients of each column into the transposed transform coefficient rows of each row from top to bottom to obtain the transposed transform coefficient matrix.
In a preferred embodiment of the present invention, the apparatus includes reading the transform coefficients of each column in the transform coefficient matrix sequentially from left to right according to the signature after the N-1 th execution of the write operation of the transformed serial data and before the N-th execution.
In a preferred embodiment of the present invention, the second inverse horizontal transform matrix converting module includes:
the shift horizontal transformation matrix shift submodule is used for shifting the first horizontal inverse transformation matrix to obtain a shift horizontal transformation matrix;
a transposition shift horizontal transformation matrix obtaining submodule for transposing the shift horizontal transformation matrix to obtain a transposition shift horizontal transformation matrix;
and the two-horizontal inverse transformation matrix obtaining submodule is used for multiplying the transposed shifting horizontal transformation matrix by an inverse transformation matrix to obtain a second horizontal inverse transformation matrix.
For the device embodiment, since it is basically similar to the method embodiment, the description is simple, and for the relevant points, refer to the partial description of the method embodiment.
The embodiments in the present specification are described in a progressive manner, each embodiment focuses on differences from other embodiments, and the same and similar parts among the embodiments are referred to each other.
As will be appreciated by one skilled in the art, embodiments of the present invention may be provided as a method, apparatus, or computer program product. Accordingly, embodiments of the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, embodiments of the present invention may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, and the like) having computer-usable program code embodied therein.
Embodiments of the present invention are described with reference to flowchart illustrations and/or block diagrams of methods, terminal devices (systems), and computer program products according to embodiments of the invention. It will be understood that each flow and/or block of the flow diagrams and/or block diagrams, and combinations of flows and/or blocks in the flow diagrams and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing terminal to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing terminal, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing terminal to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be loaded onto a computer or other programmable data processing terminal to cause a series of operational steps to be performed on the computer or other programmable terminal to produce a computer implemented process such that the instructions which execute on the computer or other programmable terminal provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
While preferred embodiments of the present invention have been described, additional variations and modifications of these embodiments may occur to those skilled in the art once they learn of the basic inventive concepts. Therefore, it is intended that the appended claims be interpreted as including preferred embodiments and all such alterations and modifications as fall within the scope of the embodiments of the invention.
Finally, it should also be noted that, herein, relational terms such as first and second, and the like may be used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions. Also, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or terminal that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or terminal. Without further limitation, an element defined by the phrase "comprising an … …" does not exclude the presence of other like elements in a process, method, article, or terminal that comprises the element.
The method and the apparatus provided by the present invention are described in detail, and the principle and the embodiment of the present invention are explained by applying specific examples, and the description of the above examples is only used to help understanding the method and the core idea of the present invention; meanwhile, for a person skilled in the art, according to the idea of the present invention, there may be variations in the specific embodiments and the application scope, and in summary, the content of the present specification should not be construed as a limitation to the present invention.

Claims (4)

1. A method of inverse transformation in video decoding, the video decoding being performed in a processor, the processor being in communication with a memory, the processor including a register, the memory including a buffer, the method comprising:
reading transformed serial data from the buffer;
writing the converted serial data into the register to obtain a conversion coefficient matrix; the transformation coefficient matrix is obtained by inverse quantization process of the transformation serial data;
generating a first horizontal inverse transform matrix by using the transform coefficient matrix;
converting the first horizontal inverse transform matrix into a second horizontal inverse transform matrix;
extracting a residual sample value matrix from the second horizontal inverse transformation matrix;
after the residual sample value matrix is subjected to the operations of image prediction, image reconstruction and loop filtering, the decoded video data is obtained;
wherein the generating of the first horizontal inverse transform matrix using the transform coefficient matrix comprises:
transposing the transform coefficient matrix in the register to obtain a transposed transform coefficient matrix;
the transposed transformation coefficient matrix is multiplied by an inverse transformation matrix to obtain a first horizontal inverse transformation matrix;
the step of converting the first horizontal inverse transform matrix into a second horizontal inverse transform matrix comprises:
shifting the first horizontal inverse transformation matrix to obtain a shifted horizontal transformation matrix;
transposing the shift horizontal transformation matrix to obtain a transposed shift horizontal transformation matrix;
the transposed displacement horizontal transformation matrix is multiplied by the inverse transformation matrix to obtain a second horizontal inverse transformation matrix;
the step of writing the transformed serial data into a register to obtain a matrix of transform coefficients comprises:
sequentially writing the converted serial data into a register from left to right every N data intervals; wherein N > 1;
repeatedly executing the writing operation for N-1 times to obtain a transformation coefficient matrix;
the transformation coefficient matrix is a set of a plurality of transformation coefficients of N rows by N columns, each transformation coefficient matrix comprises a corresponding block identifier, and each transformation coefficient column of each column comprises a feature identifier;
the transposed transform coefficient matrix is a set of a plurality of transposed transform coefficients of N rows by N columns, and the transposing the transform coefficient matrix in the register to obtain the transposed transform coefficient matrix includes:
reading the transformation coefficients of each column in the transformation coefficient matrix from left to right in sequence according to the feature marks;
and sequentially writing the transformation coefficients of each column into the transposed transformation coefficient rows of each row from top to bottom to obtain a transposed transformation coefficient matrix.
2. The method according to claim 1, wherein the method comprises reading the transform coefficients of each column in the transform coefficient matrix from left to right in sequence according to the signature after performing the writing operation of the transformed serial data for the N-1 th time and before performing the writing operation for the N-th time.
3. An apparatus for inverse transformation in video decoding, wherein the video decoding is performed in a processor, wherein the processor is in communication with a memory, wherein the processor comprises a register, wherein the memory comprises a buffer, and wherein the apparatus comprises:
a transformed serial data reading module for reading transformed serial data from the buffer;
a transformation coefficient matrix obtaining module, configured to write the transformed serial data into the register to obtain a transformation coefficient matrix; the transformation coefficient matrix is obtained by inverse quantization process of the transformation serial data;
the first horizontal inverse transformation matrix generation module is used for generating a first horizontal inverse transformation matrix by adopting the transformation coefficient matrix;
a second horizontal inverse transformation matrix conversion module, configured to convert the first horizontal inverse transformation matrix into a second horizontal inverse transformation matrix;
a residual sample matrix extraction module, configured to extract a residual sample matrix from the second horizontal inverse transform matrix;
the video obtaining module is used for obtaining decoded video data after the residual sample value matrix is subjected to the operations of image prediction, image reconstruction and loop filtering;
wherein the first horizontal inverse transformation matrix generating module comprises:
a transposition transform coefficient matrix obtaining submodule for transposing the transform coefficient matrix in the register to obtain a transposition transform coefficient matrix;
a first horizontal inverse transform matrix obtaining submodule, configured to multiply the transposed transform coefficient matrix by an inverse transform matrix to obtain a first horizontal inverse transform matrix;
the second horizontal inverse transform matrix conversion module includes:
the shift horizontal transformation matrix shift submodule is used for shifting the first horizontal inverse transformation matrix to obtain a shift horizontal transformation matrix;
a transposition shift horizontal transformation matrix obtaining submodule for transposing the shift horizontal transformation matrix to obtain a transposition shift horizontal transformation matrix;
a second horizontal inverse transformation matrix obtaining submodule, configured to pre-multiply the transposed shift horizontal transformation matrix by the inverse transformation matrix to obtain a second horizontal inverse transformation matrix;
the transform coefficient matrix obtaining module includes:
the conversion serial data writing sub-module is used for sequentially writing the conversion serial data into the register from left to right every N data; wherein N > 1;
the transformation coefficient matrix obtaining submodule is used for repeatedly executing the writing operation for N-1 times to obtain a transformation coefficient matrix;
the transformation coefficient matrix is a set of a plurality of transformation coefficients of N rows by N columns, each transformation coefficient matrix comprises a corresponding block identifier, and each transformation coefficient column of each column comprises a feature identifier;
the transposed transform coefficient matrix is a set of a plurality of transposed transform coefficients of N rows by N columns, and the transposed transform coefficient matrix obtaining sub-module includes:
the conversion coefficient reading unit is used for sequentially reading the conversion coefficient of each column in the conversion coefficient matrix from left to right according to the characteristic identifier;
and the transposed transform coefficient matrix obtaining unit is used for sequentially writing the transform coefficients of each column into the transposed transform coefficient rows of each row from top to bottom to obtain the transposed transform coefficient matrix.
4. The apparatus of claim 3, wherein the apparatus comprises reading the transform coefficients of each column in the transform coefficient matrix sequentially from left to right according to the signature after the N-1 th execution of the write operation of the transformed serial data and before the N-th execution.
CN201610624119.5A 2016-08-02 2016-08-02 Inverse transformation method and device in video decoding Active CN106254883B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610624119.5A CN106254883B (en) 2016-08-02 2016-08-02 Inverse transformation method and device in video decoding

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610624119.5A CN106254883B (en) 2016-08-02 2016-08-02 Inverse transformation method and device in video decoding

Publications (2)

Publication Number Publication Date
CN106254883A CN106254883A (en) 2016-12-21
CN106254883B true CN106254883B (en) 2021-01-22

Family

ID=57606230

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610624119.5A Active CN106254883B (en) 2016-08-02 2016-08-02 Inverse transformation method and device in video decoding

Country Status (1)

Country Link
CN (1) CN106254883B (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2762873C2 (en) * 2017-12-15 2021-12-23 ЭлДжи ЭЛЕКТРОНИКС ИНК. Method for images encoding based on conversion and device for this
CN111200732B (en) 2018-11-20 2023-04-07 深圳市中兴微电子技术有限公司 Inverse quantization and inverse transformation method and device
WO2021120122A1 (en) 2019-12-19 2021-06-24 Oppo广东移动通信有限公司 Image component prediction method, encoder, decoder, and storage medium
WO2021139572A1 (en) 2020-01-08 2021-07-15 Oppo广东移动通信有限公司 Encoding method, decoding method, encoder, decoder, and storage medium

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101640791A (en) * 2009-03-10 2010-02-03 青岛海信信芯科技有限公司 Decoding method, decoding device and decoder
CN102006478A (en) * 2010-11-29 2011-04-06 青岛海信信芯科技有限公司 Inverse transformation method and device of video decoding
CN104683817A (en) * 2015-02-11 2015-06-03 广州柯维新数码科技有限公司 AVS-based methods for parallel transformation and inverse transformation

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
MX338867B (en) * 2010-07-15 2016-05-03 Toshiba Kk Image encoding method and image decoding method.

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101640791A (en) * 2009-03-10 2010-02-03 青岛海信信芯科技有限公司 Decoding method, decoding device and decoder
CN102006478A (en) * 2010-11-29 2011-04-06 青岛海信信芯科技有限公司 Inverse transformation method and device of video decoding
CN104683817A (en) * 2015-02-11 2015-06-03 广州柯维新数码科技有限公司 AVS-based methods for parallel transformation and inverse transformation

Also Published As

Publication number Publication date
CN106254883A (en) 2016-12-21

Similar Documents

Publication Publication Date Title
CN106254883B (en) Inverse transformation method and device in video decoding
CN102007489B (en) Reduction of errors during computation of inverse discrete cosine transform
CN103026705B (en) For the method and apparatus to encoding video signal and for the method and apparatus to decoding video signal
CN101796506B (en) Transform design with scaled and non-scaled interfaces
CN101330616B (en) Hardware implementing apparatus and method for inverse discrete cosine transformation during video decoding process
US8170334B2 (en) Image processing systems employing image compression and accelerated image decompression
US8170333B2 (en) Image processing systems employing image compression
CN108200439B (en) Method for improving digital signal conversion performance and digital signal conversion method and device
CN101282476A (en) Method for transferring video and image process
CN108574849B (en) DCT inverse transformation method, inverse transformation device, electronic apparatus, and storage medium
CN104144346B (en) For executing the data processing equipment and method of the transformation between airspace and frequency domain
WO2019004749A1 (en) Method and apparatus for performing low complexity computation in transform kernel for video compression
US8170335B2 (en) Image processing systems employing image compression and accelerated decompression
CN101083769A (en) Coder/decoder and coding/decoding method for processing N bit video data
WO2020060832A1 (en) Fast implementation of odd one dimensional transforms
CN101640791A (en) Decoding method, decoding device and decoder
CN101646080A (en) Method for fast switching parallel pipeline IDCT based on AVS and device thereof
CN102037729B (en) Efficient fixed-point approximations of forward and inverse discrete cosine transforms
CN100520765C (en) Process and device for determining a transforming element for a given transformation function, method and device for transforming a digital signal and computer readable medium
WO2018226067A1 (en) Method and apparatus for performing low-complexity computation of transform kernel for video compression
CN102006478A (en) Inverse transformation method and device of video decoding
Viitamäki et al. High-level synthesized 2-D IDCT/IDST implementation for HEVC codecs on FPGA
JP2020150338A5 (en)
CN110737869A (en) DCT/IDCT multiplier circuit optimization method and application
CN101316367B (en) Two-dimension inverse transformation method of video encoding and decoding standard, and its implementing circuit

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Address after: 266100, No. 218, Bay Road, Qingdao economic and Technological Development Zone, Shandong

Applicant after: Hisense Visual Technology Co., Ltd.

Address before: 266100 Zhuzhou Road, Laoshan District, Shandong, No. 151, No.

Applicant before: QINGDAO HISENSE ELECTRONICS Co.,Ltd.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant