CN104661036A - Video encoding method and system - Google Patents

Video encoding method and system Download PDF

Info

Publication number
CN104661036A
CN104661036A CN201310598478.4A CN201310598478A CN104661036A CN 104661036 A CN104661036 A CN 104661036A CN 201310598478 A CN201310598478 A CN 201310598478A CN 104661036 A CN104661036 A CN 104661036A
Authority
CN
China
Prior art keywords
matrix
transformation
row
inverse
dct coefficient
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.)
Pending
Application number
CN201310598478.4A
Other languages
Chinese (zh)
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.)
Nvidia Corp
Original Assignee
Nvidia Corp
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 Nvidia Corp filed Critical Nvidia Corp
Priority to CN201310598478.4A priority Critical patent/CN104661036A/en
Publication of CN104661036A publication Critical patent/CN104661036A/en
Pending legal-status Critical Current

Links

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

The invention provides a video encoding method and system. The video encoding method comprises the following steps: dividing a transposed matrix of a DCT coefficient matrix into a plurality of parts according to columns; carrying out partial DCT on a video data matrix by using the part of the transposed matrix and the DCT coefficient matrix for each part of the transposed matrix to obtain a transformation matrix; carrying out quantification, inverse quantization and IDCT on the transformation matrix to obtain an inversely-transformed matrix; adding the inversely-transformed matrix by a previous video rebuilt matrix obtained for the former part of the transposed matrix to obtain a current video rebuilt matrix so as to obtain a video rebuilt matrix. According to the method and the system for encoding video, the partial DCT is started to be carried out on the next part of the transposed matrix during carrying out quantification, inverse quantization and IDCT on the part of the transformation matrix. The method can be used for implementing flow line operation, optimizing the area of a video encoding circuit and improving the performance of a video encoding rebuilt circuit.

Description

For the method and system of Video coding
Technical field
The present invention generally relates to Video processing, and relates more specifically to the method and system for Video coding.
Background technology
Efficient video coding (HEVC), namely H.265, introduce the converter unit (TransformUnit, TU) of 32x32, it can comprise the TU of 4x4 to 32x32.In addition, because transformation matrix is simple unlike H.264, so conversion process is than H.264 much complicated.In h .264, multiplier can be reduced to shift unit and adder.But, in order to use the canonical transformation matrix meeting HEVC specification, in HEVC encoding scheme, must multiplier be used.Usually, the multiplier of use is more, and the area of coding circuit is larger.In addition, in current Video coding, reconstruction video frame comprises and performs discrete cosine transform (Discrete Cosine Transformation successively to each TU in whole frame of video, DCT), quantification, inverse quantization and inverse discrete cosine transformation (Inverse Discrete CosineTransformation, IDCT).Because DCT and IDCT is based on foursquare piece, and there is precedence in line translation and rank transformation, if adopt traditional method namely first to complete row (or row) conversion of whole TU, then perform row (or row) conversion of whole TU, whole reconstruction performance can be made lower.Particularly for the TU(of large-size as 16x16,32x32), hydraulic performance decline more obvious.In addition, traditional algorithm is many for adopting direct matrix to be multiplied to need the multiplier used in DCT with IDCT matrix multiplication, and therefore circuit area is also larger.
Summary of the invention
Therefore, a kind of method for Video coding is needed to provide to solve above-mentioned circuit area large and rebuild inefficient problem.
The invention provides a kind of method for Video coding, comprising: DCT coefficient transpose of a matrix matrix is divided into multiple part according to row; Every part for transposed matrix: utilize this part of transposed matrix and DCT coefficient matrix to perform part DCT to obtain the matrix through conversion to video data matrix; Quantification, inverse quantization, IDCT are performed to obtain the matrix through inverse transformation to the matrix through conversion; Last video reconstruction matrix matrix through inverse transformation and the front portion for transposed matrix obtained is added to obtain current video reconstruction matrix, finally to obtain video reconstruction matrix.Wherein, while this part for transposed matrix performs quantification, inverse quantization, IDCT, the next part started for transposed matrix performs part DCT.
Preferably, utilize this part of transposed matrix to perform part DCT with DCT coefficient matrix to video data matrix to comprise: each row for this part of transposed matrix: the symbol of two factors that the row in these row is symmetrical is identical, every a line of video data matrix, first will be added with two of a two fac-tor coefficient, then be multiplied by any one in two factors; The symbol of two factors that the row in these row is symmetrical is different, every a line of video data matrix, first will subtract each other with two of a two fac-tor coefficient, then be multiplied by the factor of the corresponding minuend in two factors.
Preferably, utilize this part of transposed matrix to perform part DCT with DCT coefficient matrix to video data matrix to comprise: video data matrix and this part of transposed matrix are multiplied by the matrix obtained through horizontal transformation mutually; Each row in the matrix of horizontal transformation: when DCT coefficient matrix, the symbol of two factors of two multiplication that will be symmetrical with the row in these row identical, first two coefficients are added, then are multiplied by any one in two factors; When DCT coefficient matrix, the symbol of two factors of two multiplication that will be symmetrical from the row in these row different, first two coefficients subtract each other, then are multiplied by the factor of the corresponding minuend in two factors.
Preferably, quantifications is performed to the matrix through conversion, inverse quantization, IDCT comprise through the matrix of inverse transformation with acquisition: the matrix through converting is divided into multiple part; Every part for the matrix through conversion: this part of the matrix through conversion is performed to the part quantized to obtain the matrix through quantizing; Inverse quantization is performed to obtain the part through the matrix of inverse quantization to a part for the matrix through quantizing; The part of transposed matrix to the matrix through inverse quantization is utilized to perform vertical IDCT to obtain the part through the matrix of vertical inverse transformation; Wherein, while performing inverse quantization to a part for the matrix through quantizing, the next part started for the matrix through conversion performs quantification; The matrix through vertical inverse transformation is obtained according to all parts of the matrix through vertical inverse transformation obtained for all parts of matrix through conversion; And utilize DCT coefficient matrix to the matrix executive level IDCT through vertical inverse transformation to obtain the matrix through inverse transformation.
Preferably, DCT coefficient matrix is utilized to comprise with the matrix obtained through inverse transformation the matrix executive level IDCT through vertical inverse transformation: the matrix through vertical inverse transformation is divided into multiple part; For every part of the matrix through vertical inverse transformation, by this part of the matrix through vertical inverse transformation and DCT coefficient matrix multiple to obtain a part for the matrix through inverse transformation; And all parts of the matrix through inverse transformation to obtain according to all parts for the matrix through vertical inverse transformation, obtain the matrix through inverse transformation.
Preferably, the matrix through conversion being divided into multiple part is mode according to each partial row symmetry.
Preferably, utilize this part of transposed matrix and DCT coefficient matrix to perform part DCT to video data matrix to comprise: video data matrix is divided into multiple part according to row; Every part for video data matrix: the part this part of video data matrix and this part of transposed matrix being multiplied by mutually the matrix obtained through horizontal transformation; A part for the DCT coefficient matrix corresponding with it is obtained according to a part for the matrix through horizontal transformation; A part for DCT coefficient matrix and a part for the matrix through horizontal transformation are multiplied by mutually a part for the matrix obtained through vertical transitions; The last matrix through a converting part for matrix through vertical transitions and the front portion for video data matrix obtained is added to obtain the current matrix through converting, finally to obtain the matrix through conversion.
Preferably, video data matrix being divided into multiple part according to row is mode according to each partial row symmetry.
Preferably, each part of video data matrix is made up of two row.
Preferably, a part for DCT coefficient matrix is multiplied by with a part for the matrix through horizontal transformation the part obtained through the matrix of vertical transitions mutually comprise: arrange for each in a part for the matrix of horizontal transformation: when DCT coefficient matrix, the symbol of two factors of two multiplication that will be symmetrical with the row in these row identical, first two coefficients are added, then are multiplied by any one in two factors; When DCT coefficient matrix, the symbol of two factors of two multiplication that will be symmetrical from the row in these row different, first two coefficients subtract each other, then are multiplied by the factor of the corresponding minuend in two factors.
Preferably, utilize this part of transposed matrix to perform part DCT with DCT coefficient matrix to video data matrix to comprise: video data matrix and this part of transposed matrix are multiplied by the matrix obtained through horizontal transformation mutually; Displacement and saturation arithmetic are performed to the matrix through horizontal transformation; By DCT coefficient matrix with through the matrix multiple of horizontal transformation to obtain the matrix through vertical transitions; And displacement and saturation arithmetic are performed to the matrix through vertical transitions.
Preferably, the coefficient in video data matrix is intra prediction data or motion-prediction residual data.
According to a further aspect in the invention, additionally provide a kind of system for Video coding, comprise interconnective first circuit and second circuit.First circuit is for receiving DCT coefficient matrix, the part of DCT coefficient transpose of a matrix matrix and video data matrix and utilizing a part for transposed matrix and DCT coefficient matrix to perform part DCT operation to obtain the matrix through conversion to video data matrix.The last video reconstruction matrix acquisition current video reconstruction matrix that second circuit obtains through the matrix of inverse transformation and according to the matrix through inverse transformation and the front portion for transposed matrix with acquisition for performing quantification, inverse quantization and an inverse dct operation to the matrix through conversion, finally to obtain video reconstruction matrix.Wherein, while second circuit performs quantification, inverse quantization and an inverse dct operation for the part of transposed matrix, the first circuit starts to receive DCT coefficient matrix, the next part of transposed matrix and video data matrix.
Preferably, the first circuit comprises the multiple adder and multiple multiplier that connect correspondingly.For each adder in multiple adder, this adder is used for two coefficients of receiving video data matrix column symmetry, and when transposed matrix, will identical with the symbol of two of a two multiplication factor, two coefficients are added, when transposed matrix, will different from the symbol of two of a two multiplication factor, two coefficients are subtracted each other, to obtain intermediate object program.Corresponding multiplier be used for when transposed matrix, will identical with the symbol of two of a two multiplication factor, intermediate object program is multiplied by any one in two factors, when transposed matrix, will different from the symbol of two of a two multiplication factor, intermediate object program is multiplied by the factor of the corresponding minuend in two factors.
Preferably, the first circuit comprises interconnective horizontal transformation circuit and vertical transitions circuit.Horizontal transformation circuit is used for a part for receiving video data matrix and transposed matrix and obtains the matrix through horizontal transformation according to a part for video data matrix and transposed matrix.Vertical transitions circuit comprises the multiple adder and multiple multiplier that connect correspondingly.For each adder in multiple adder, this adder is for receiving through two symmetrical coefficients of the row of the matrix of horizontal transformation, and when DCT coefficient matrix, will identical with the symbol of two of a two multiplication factor, two coefficients are added, when DCT coefficient matrix, will different from the symbol of two of a two multiplication factor, two coefficients are subtracted each other, to obtain intermediate object program.Corresponding multiplier be used for when DCT coefficient matrix, will identical with the symbol of two of a two multiplication factor, intermediate object program is multiplied by any one in two factors, when DCT coefficient matrix, will different from the symbol of two of a two multiplication factor, intermediate object program is multiplied by the factor of the corresponding minuend in two factors.
Preferably, second circuit comprises the sample circuit, inverse quantization circuit, vertical inverse transform circuit and the horizontal reverse translation circuit that connect in turn.Sample circuit is for receiving a part for the matrix through converting and performing quantization operation to obtain a part for the matrix through quantizing to a part for the matrix through conversion.Inverse quantization circuit is used for performing inverse quantization operation to obtain the part through the matrix of inverse quantization to a part for the matrix through quantizing.Vertical inverse transform circuit operates with the part obtained through the matrix of vertical inverse transformation for utilizing the part of transposed matrix to the matrix through inverse quantization to perform vertical IDCT and obtains the matrix through vertical inverse transformation according to all parts of the matrix through vertical inverse transformation obtained for all parts of matrix through conversion.Horizontal reverse translation circuit operates with the matrix obtained through inverse transformation the matrix executive level IDCT through vertical inverse transformation for utilizing DCT coefficient matrix.Wherein, while inverse quantization circuit performs inverse quantization operation to a part for the matrix through quantizing, sample circuit starts to perform quantization operation for the next part of the matrix through conversion.
Preferably, the first circuit comprises interconnective horizontal transformation circuit and vertical transitions circuit.Horizontal transformation circuit is used for a part for receiving video data matrix and a part for transposed matrix and obtains the part through the matrix of horizontal transformation according to a part for video data matrix and a part for transposed matrix.Vertical transitions circuit comprises the multiple mlultiplying circuits connected correspondingly, multiple register and multiple adder, and multiple mlultiplying circuit obtains the part through the matrix of vertical transitions for the part of the part and the part according to DCT coefficient matrix and the matrix through horizontal transformation that receive the DCT coefficient matrix corresponding with a part for the matrix through horizontal transformation.Multiple adder for receive through the matrix of vertical transitions a part and from multiple register, the last matrix through conversion that obtains for the front portion of video data matrix and obtain the current matrix through conversion according to the part of the matrix through vertical transitions and the last matrix through conversion.Multiple register is for storing the current matrix through conversion.
Method provided by the invention can be optimized the area of video coding circuit and improve the efficiency of Video coding.
Below in conjunction with accompanying drawing, describe advantages and features of the invention in detail.
Accompanying drawing explanation
In order to make advantage of the present invention be easier to understand, concise and to the point the present invention described above will be described in more detail by reference to instantiation illustrated in the accompanying drawings.Be appreciated that these accompanying drawings depict only exemplary embodiments of the present invention, therefore should do not think the restriction to its protection range, described and explanation the present invention with additional characteristic and details by accompanying drawing.
Fig. 1 shows according to an embodiment of the invention for the schematic flow sheet of the method for Video coding, and wherein DCT coefficient matrix is the square matrix of 32 × 32;
Fig. 2 shows the schematic flow sheet of the method for Video coding according to other embodiments of the invention;
Fig. 3 shows the schematic diagram of each matrix involved by DCT;
Fig. 4 shows according to an embodiment of the invention for performing the schematic diagram of the logical circuit of part DCT;
Fig. 5 shows the schematic diagram of each matrix according to an embodiment of the invention involved by part DCT;
Fig. 6 shows the schematic diagram of each matrix involved by IDCT;
Fig. 7 shows the schematic diagram of the vertical according to an embodiment of the invention each matrix involved by IDCT;
Fig. 8 shows the schematic diagram of each matrix involved by horizontal according to an embodiment of the invention IDCT;
Fig. 9 shows according to an embodiment of the invention for the schematic flow sheet of the method for interframe TU search; And
Figure 10 shows the schematic block diagram of the system for Video coding according to the embodiment of the present invention.
Embodiment
In discussion hereafter, give details to provide more thorough understanding of the invention.But those skilled in the art can understand, the present invention can be implemented without the need to these details one or more.In specific example, in order to avoid obscuring with the present invention, technical characteristics more well known in the art are at large described.
In this article, " level " and " vertically " define relative to the matrix be multiplied with DCT coefficient matrix or transposed matrix.When the matrix be multiplied with DCT coefficient matrix or transposed matrix participate in computing be row element time, be called " level ", and when the matrix be multiplied with DCT coefficient matrix or transposed matrix participate in computing be column element time, be called " vertically ".Such as, horizontal DCT refers to that the computing that video data matrix (or its part) is multiplied with DCT coefficient transpose of a matrix matrix (or its part), vertical DCT refer to the computing that DCT coefficient matrix (or its part) is multiplied with the matrix (or its part) through horizontal transformation.Vertical IDCT refers to that the computing that DCT coefficient transpose of a matrix matrix (or its part) is multiplied with the matrix (or its part) through inverse quantization, horizontal IDCT refer to the computing that the matrix (or its part) through vertical inverse transformation is multiplied with DCT coefficient matrix (or it is a part of).In addition, " connection " as herein described comprise and directly connect and be indirectly connected.
According to an aspect of the present invention, a kind of method for Video coding is disclosed.The method can comprise the following steps.DCT coefficient transpose of a matrix matrix is divided into multiple part according to row.DCT coefficient matrix is the square matrix of n × n, such as, 4 × 4DCT coefficient matrix H.264 in specification or 4 × 4,8 × 8,16 × 16 or 32 × 32DCT coefficient matrix in HEVC specification.DCT coefficient transpose of a matrix matrix is also the square matrix of n × n.Each part of transposed matrix comprises at least one row, such as two row or four row.Such as, DCT coefficient matrix is the 32 × 32DCT coefficient matrix in HEVC specification, and the size of its transposed matrix is also 32 × 32.32 × 32 transposed matrixes can be divided into 16 parts, every part comprises two row.Each part can be considered as the matrix of 32 × 2.It will be understood by those skilled in the art that each part of transposed matrix can comprise the row of any suitable number.Every part afterwards for transposed matrix performs following operation.Utilize this part and the DCT of transposed matrix
Coefficient matrix performs part DCT to obtain the matrix through conversion to video data matrix.Quantification, inverse quantization, IDCT are performed to obtain the matrix through inverse transformation to the matrix through conversion.Last video reconstruction matrix matrix through inverse transformation and the front portion for transposed matrix obtained is added to obtain current video reconstruction matrix, finally to obtain video reconstruction matrix.While this part for transposed matrix performs quantification, inverse quantization, IDCT, the next part started for transposed matrix performs part DCT.
In description herein, X matrix representative video data matrix, C matrix representative DCT coefficient matrix, C tmatrix representative DCT coefficient transpose of a matrix matrix.According to HEVC or H.264 specification, can according to Y=CXC tformula comes to perform DCT to video data matrix, and wherein Y is through the matrix of dct transform.In an embodiment of the present invention, when performing DCT to video data matrix at every turn, in fact that participate in computing is not whole C tmatrix, but it is a part of.Herein such DCT computing is called " part DCT ".Fig. 1 shows according to an embodiment of the invention for the schematic flow sheet of the method 100 of Video coding, and wherein DCT coefficient matrix is the square matrix of 32 × 32.DCT coefficient transpose of a matrix matrix is also the square matrix of 32 × 32.Transposed matrix can be divided into 16 parts, each part comprises two row.In FIG, RECON represents reconstruction, and Q represents quantification, IQ represents inverse quantization, IDCT(V) represent vertical IDCT, IDCT(H) represent horizontal IDCT, 1/2c representative through inverse quantization matrix 1/2 row be performed vertical IDCT, 1c, 3/2c and 2c and 1/2c is similar, repeat no more.As shown in Figure 1, in step S101, utilize the Part I of transposed matrix, such as first row and last row, perform part DCT to video data matrix.Preferably, part DCT utilizes 16 cycles, and namely 16 circulations have come.The matrix through conversion that size is 32 × 2 can be obtained afterwards.This matrix through conversion can be sent to the downstream of streamline.Preferably, this transport process utilizes one-period, and this cycle can be called bubble period.In step S102, quantification, inverse quantization, IDCT are performed to obtain the matrix through inverse transformation to the matrix through conversion.Meanwhile, start the Part II utilizing DCT coefficient transpose of a matrix matrix, such as secondary series and the 15 row, perform part DCT to video data matrix.In step s 102, quantification, inverse quantization and IDCT can utilize multiple cycle to complete.Quantification, inverse quantization and IDCT also can adopt the executive mode of pipeline system.IDCT can comprise vertical IDCT and horizontal IDCT.Preferably, for 32 × 32 conversion, quantification, inverse quantization can utilize 4 cycles to complete with vertical IDCT, and horizontal IDCT can utilize 8 cycles to complete.In addition, after the idct, step S102 can also comprise 3 null cycles, does not namely perform any operation.As shown in Figure 1, quantification, inverse quantization and IDCT utilize 14 cycles to complete altogether.This 14 cycles add the number of cycles equaling to perform each part DCT 3 null cycles and consume.The number of cycles that the whole implementation of method 100 consumes is 286, i.e. 17 × 16+14=286.Current video reconstruction matrix obtained in step s 102 is the matrix through inverse transformation obtained for the Part I of transposed matrix.Afterwards, the matrix through inverse transformation that the Part II for transposed matrix obtains can be obtained in the next step.In this step, the matrix through inverse transformation that the matrix through inverse transformation and the Part I for transposed matrix that are obtained by the Part II for transposed matrix obtain is added, and can obtain current video reconstruction matrix.In this step, the matrix through inverse transformation obtained for the Part I of transposed matrix is called last video reconstruction matrix.Therefore, to be that the matrix through inverse transformation that obtains for each several part of transposed matrix is cumulative gradually obtain video reconstruction matrix.The implementation of method 100 is pipelinings, and execution efficiency is higher.Fig. 2 shows the indicative flowchart of the method for Video coding according to other embodiments of the invention.In fig. 2, it is similar that 1r representative has been performed horizontal IDCT, 2r, 4r, 6r and 8r and 1r through 1 row of the matrix of vertical inverse transformation, repeats no more.According to the above description for Fig. 1, it will be appreciated by those skilled in the art that the execution mode of each embodiment in Fig. 2, do not repeat them here.
DCT operation for video data matrix is divided into multiple circulation step to implement by method provided by the invention, and it adopts the executive mode of pipeline system.Multiple circulation step can reuse identical circuit and implement, and therefore circuit area is optimized.In addition, the coding method of pipeline system can save the operating time, has very high efficiency.
In one embodiment, utilize this part of transposed matrix and DCT coefficient matrix to perform part DCT to video data matrix can comprise the following steps.Each row for this part of transposed matrix: the symbol of two factors that the row in these row is symmetrical is identical, every a line of video data matrix, first will be added with two of a two fac-tor coefficient, then be multiplied by any one in two factors.The symbol of two factors that the row in these row is symmetrical is different, every a line of video data matrix, first will subtract each other with two of a two fac-tor coefficient, then be multiplied by the factor of the corresponding minuend in two factors.Table 1 shows the 8 × 8DCT coefficient matrix in HEVC specification.As shown in table 1, this 8 × 8DCT coefficient matrix is symmetrical." symmetry " herein refers in this matrix that the absolute value of the factor of two the row symmetries being positioned at same row is equal, and symbol is identical or contrary.At HEVC or H.264 in specification, the odd-numbered line of DCT coefficient matrix, symbol that two row are symmetrical are identical, the symbol that two row of even number line are symmetrical are contrary.That be appreciated that the odd column of DCT coefficient transpose of a matrix matrix, that two row are symmetrical symbol are identical, and the symbol that two row of even column are symmetrical are contrary.Therefore, when performing DCT, this symmetry can be utilized to be optimized algorithm.Fig. 3 shows the schematic diagram of each matrix involved by DCT.Suppose DCT coefficient matrix, namely the size of C matrix is n × n, then DCT coefficient transpose of a matrix matrix, i.e. C tthe size of matrix is also n × n.In the process of the execution DCT of routine, first by X and C tbe multiplied, obtain intermediary matrix, namely through the matrix of horizontal transformation.Secondly by C and the matrix multiple through horizontal transformation.It will be understood by those skilled in the art that C tmatrix is symmetrical.At C tin matrix, C t[1,1] and C tthe absolute value of [n, 1] is equal, and symbol is identical, C t[2,1] and C tthe absolute value of [n-1,1] is equal, and symbol is identical ... such as, is calculating the matrix X C through horizontal transformation ttime, first element is according to following formulae discovery: XC t[1,1]=X [1,1] × C t[1,1]+X [1,2] × C t[2,1]+...+X [1, n-1] × C t[n-1,1]+X [1, n] × C t[n, 1].Because C t[1,1] and C tthe absolute value of [n, 1] is equal, and symbol is identical, so can be first added by X [1,1] and X [n, 1], is then multiplied by C t[1,1] and C tany one in [1, n].Therefore, " X [1,1] × C t[1,1]+X [1, n] × C t[n, 1] " be simplified.In like manner, X [1,2] × C can be simplified t[2,1]+X [1, n-1] × C t[n-1,1] etc.According to above description, it will be appreciated by those skilled in the art that the account form of other elements of the matrix through horizontal transformation, do not repeat them here.Adopt aforesaid way, in the process of executive level DCT, the multiplier of half can be saved.Because multiplier is more, circuit area is larger, and institute can be optimized circuit area in the above described manner effectively.In like manner, in vertical DCT, optimized algorithm can be carried out by first two row symmetry elements of the same row of the matrix through horizontal transformation being added or being subtracted each other.Fig. 4 shows according to an embodiment of the invention for performing the schematic diagram of the logical circuit of part DCT.As shown in Figure 4, in horizontal DCT, 32 of video data matrix elements are inputted 16 adders.Utilize 16 multipliers by obtained result and the corresponding fac-tor in DCT coefficient transpose of a matrix matrix afterwards.Pass through sum operation for several times afterwards, can intermediate object program be obtained.This intermediate object program can be stored in a register.This intermediate object program is one of them element of the matrix through horizontal transformation.
8 × 8DCT coefficient matrix in table 1HEVC specification
In one embodiment, utilize this part of transposed matrix and DCT coefficient matrix to perform part DCT to video data matrix can comprise the following steps.Video data matrix and this part of transposed matrix are multiplied by the matrix obtained through horizontal transformation mutually.Each row in the matrix of horizontal transformation: when DCT coefficient matrix, the symbol of two factors of two multiplication that will be symmetrical with the row in these row identical, first two coefficients are added, then are multiplied by any one in two factors; When DCT coefficient matrix, the symbol of two factors of two multiplication that will be symmetrical from the row in these row different, first two coefficients subtract each other, then are multiplied by the factor of the corresponding minuend in two factors.To when performing vertical IDCT through the matrix of horizontal transformation, the symmetry of DCT coefficient matrix can be utilized to carry out optimized algorithm.According to the description to previous embodiment, it will be appreciated by those skilled in the art that the execution mode of the present embodiment, do not repeat them here.
In one embodiment, utilize this part of transposed matrix and DCT coefficient matrix to perform part DCT to video data matrix can comprise the following steps.Video data matrix is divided into multiple part according to row.Every part for video data matrix: the part this part of video data matrix and this part of transposed matrix being multiplied by mutually the matrix obtained through horizontal transformation; A part for the DCT coefficient matrix corresponding with it is obtained according to a part for the matrix through horizontal transformation; A part for DCT coefficient matrix and a part for the matrix through horizontal transformation are multiplied by mutually a part for the matrix obtained through vertical transitions; The last matrix through a converting part for matrix through vertical transitions and the front portion for video data matrix obtained is added to obtain the current matrix through converting, finally to obtain the matrix through conversion.Fig. 5 shows the schematic diagram of each matrix according to an embodiment of the invention involved by part DCT.It should be noted that each entry of a matrix element in Fig. 5 is only schematic, its number does not represent the number of real element.As shown in Figure 5, X matrix can be divided into multiple part, each part comprises at least a line.Such as, X matrix is 32 × 32 matrixes, and X matrix can be divided into 16 parts, each part comprises two row.Suppose C tmatrix is divided into 16 parts, and each part comprises two row.By two row of X matrix and C ttwo row of matrix are multiplied, and can obtain four elements.These four elements are included in the matrix of horizontal transformation, are parts for the matrix through horizontal transformation.A part for C matrix, namely two row of C matrix are corresponding with these four elements.This two part be listed in for the matrix through horizontal transformation of C matrix performs in the process of vertical DCT and participates in computing.Therefore, by two of C matrix row and these four element multiplication, first group of 32 × 2 median can be obtained.First group of 32 × 2 median is parts of the matrix through vertical transitions.Each median can be stored in a register.Afterwards, above step can be performed to the next one two row of X matrix, second group of 32 × 2 median can be obtained.Second group of 32 × 2 median is added in first group of 32 × 2 median.Alternatively, this accumulation step can be realized by the input output being used for the register storing median being connected to adder.After 16 circulations, the matrix of complete 32 × 2 can be obtained, namely through the matrix of conversion.Video data matrix is divided into multiple part and can code efficiency be improved to the mode of each several part circulation execution part DCT of video data matrix.
In one embodiment, video data matrix being divided into multiple part according to row can be mode according to each partial row symmetry.Such as, video data matrix can be divided into multiple part, wherein Part I comprises the first row and last column, and Part II comprises the second row and row second from the bottom, etc.In another embodiment, video data matrix can be divided into multiple part, wherein Part I comprises the first row, the second row, row second from the bottom and last column, and it is capable that Part II comprises the third line, fourth line, countdown line 3 and fourth from the last, etc.It will be understood by those skilled in the art that each several part that can divide video data matrix in any suitable manner.Video data matrix is made according to the model split that row is symmetrical the multiplier can saving half in follow-up vertical DCT process, and this is conducive to optimized circuit area.
In one embodiment, each part of video data matrix can be made up of two row.Such as, Part I comprises the first row and last column, and Part II comprises the second row and row second from the bottom, etc.
In one embodiment, a part for DCT coefficient matrix and a part for the matrix through horizontal transformation are multiplied by the part obtained through the matrix of vertical transitions mutually can comprise the following steps.Each row in a part for the matrix of horizontal transformation: when DCT coefficient matrix, the symbol of two factors of two multiplication that will be symmetrical with the row in these row identical, first two coefficients are added, then are multiplied by any one in two factors; When DCT coefficient matrix, the symbol of two factors of two multiplication that will be symmetrical from the row in these row different, first two coefficients subtract each other, then are multiplied by the factor of the corresponding minuend in two factors.Each part due to video data matrix is that row is symmetrical, so it is multiplied with the part of transposed matrix, the obtained element in the matrix of horizontal transformation is also that row is symmetrical, and this is conducive in vertical DCT, utilize the symmetry of DCT coefficient matrix to carry out optimized algorithm further.Referring back to Fig. 5.Such as, as shown in Figure 5, the X matrix of 32 × 32 is divided into 16 parts, every part comprises two row.Part I comprises the first row and last column.Suppose C tthe Part I of matrix comprises first row and last row.As X and C twhen being multiplied, obtain the matrix part through horizontal transformation, i.e. four elements wherein.These four elements are XC respectively t[1,1], XC t[1,32], XC t[32,1] and XC t[32,32].In the process performing vertical DCT, when calculating the first row first row element through the matrix of conversion, can first by XC t[1,1] and XC t[32,1] is added, then is multiplied with any one in the factor C [1,1] of Matrix C and C [1,32].The result obtained is 1 median of the 1st row the 1st column element of the corresponding matrix through conversion.Same, C matrix and XC t[1,32] and XC tthe algorithm that [32,32] are multiplied also can be optimised, and the result obtained is 1 median of the 1st row the 32nd column element of the corresponding matrix through conversion.When vertical DCT is complete, the median of 32 × 2 elements of correspondence in the 1st row and the 32nd row of the matrix of conversion can be obtained.Adopt above-mentioned optimized algorithm can save multiplier further.
Be appreciated that hypothesis X matrix, C matrix and C tmatrix is all 32 × 32 matrixes, then above-mentioned optimized algorithm needs 128 multipliers (64 multipliers are used for horizontal DCT, and 64 multipliers are used for vertical DCT).
In one embodiment, quantification is performed to the matrix through conversion, inverse quantization, IDCT can comprise the following steps through the matrix of inverse transformation with acquisition.Matrix through conversion is divided into multiple part.For operation below every part execution of the matrix through conversion.This part of matrix through conversion is performed to the part quantized to obtain the matrix through quantizing.Inverse quantization is performed to obtain the part through the matrix of inverse quantization to a part for the matrix through quantizing.The part of transposed matrix to the matrix through inverse quantization is utilized to perform vertical IDCT to obtain the part through the matrix of vertical inverse transformation.While performing inverse quantization to a part for the matrix through quantizing, the next part started for the matrix through conversion performs quantification.The matrix through vertical inverse transformation is obtained according to all parts of the matrix through vertical inverse transformation obtained for all parts of matrix through conversion.Utilize DCT coefficient matrix to the matrix executive level IDCT through vertical inverse transformation to obtain the matrix through inverse transformation.To through conversion matrix perform quantification, inverse quantization, IDCT process can adopt pipeline system to realize.Referring back to Fig. 1, as can be seen from Figure 1, for every part of transposed matrix, all can be divided into each process in the quantification performed by video data matrix, inverse quantization and IDCT and repeatedly realizing.Such as, when DCT coefficient matrix is 32 × 32 matrix, every part of transposed matrix comprises two row.Therefore, the matrix through converting is the matrix of 32 × 2.What need to carry out quantizing is 64 elements.Preferably, 64 elements can be divided into four parts, only quantize 16 elements at every turn.The number of the element once quantized is more, and need the computing unit of quantification more, then circuit area is larger.But the number of the element once quantized can cause cycle-index more very little, may conflict mutually with the quantizing process performed by the next part for transposed matrix.Each number of elements quantized can be determined as required.While inverse quantization is carried out to first group of 16 element, the quantification to second group of 16 element can be performed, as shown in Figure 1.The part of the matrix through vertical inverse transformation obtained for the every part of matrix through conversion can be the median of a part of element through the matrix of vertical inverse transformation or a part of element.The processing mode of pipelining can improve code efficiency further.
In one embodiment, the matrix through conversion being divided into multiple part is mode according to each partial row symmetry.According to HEVC or H.264 specification, can according to Y '=C tx ' C formula comes to perform IDCT to the matrix through inverse quantization, and wherein X ' is the matrix through inverse quantization, and Y ' is through the matrix of idct transform.Fig. 6 shows the schematic diagram of each matrix involved by IDCT.In IDCT calculating process, C tthe row element of matrix and X ' matrix column element multiplication.Due to C tthe absolute value being positioned at the factor of two row symmetries of same row in matrix is equal, and symbol is identical or contrary, so at calculating C tthis symmetry can be utilized during X ' matrix.Such as, at calculating C ttime X ' [1,1], can by C tthe median that each row element and the corresponding X ' matrix column element multiplication of matrix produce stores in a register.Such as, can by C tthe accumulation storage of [1,1] × X ' [1,1] in a register.At calculating C ttime X ' [n, 1], due to C t[1,1] and C tthe absolute value of [n, 1] is equal, and symbol is identical, so do not need to re-execute multiply operation again.Only need C tthe long-pending of [1,1] × X ' [1,1] directly adds C tthe computational process of X ' [n, 1].As executive level IDCT, similar fashion optimized algorithm can be adopted equally, not repeat them here.The symmetry of the DCT factor can be utilized by the way to optimize IDCT algorithm, save multiplier, and therefore can optimized circuit area.Fig. 7 shows the schematic diagram of the vertical according to an embodiment of the invention each matrix involved by IDCT.In order to utilize the symmetry of DCT coefficient matrix IDCT the term of execution in the manner, each part through the matrix of conversion can be made to comprise the symmetrical element of row.Such as, as shown in Figure 7, the matrix through conversion of 32 × 2 is divided into four parts.Part I comprises 8, top element in first row and 8, below element.Part II comprises 16, the centre element of first row.Part III comprise last row in 8, top element and 8, below element.Part IV comprises 16, the centre element of last row.Element in each part is that row is symmetrical.Vertical IDCT for every part can utilize less multiplier to realize by the way.Be appreciated that hypothesis is 32 × 2 matrixes through the matrix of conversion, and DCT coefficient matrix and transposed matrix are 32 × 32 matrixes, then according to the algorithm of above-mentioned optimization, need 256 multipliers when performing vertical IDCT.
In one embodiment, DCT coefficient matrix is utilized can to comprise the following steps with the matrix obtained through inverse transformation the matrix executive level IDCT through vertical inverse transformation.Matrix through vertical inverse transformation is divided into multiple part.For every part of the matrix through vertical inverse transformation, by this part of the matrix through vertical inverse transformation and DCT coefficient matrix multiple to obtain a part for the matrix through inverse transformation.According to all parts of the matrix through inverse transformation that all parts of the matrix for vertical inverse transformation obtain, obtain the matrix through inverse transformation.Fig. 8 shows the schematic diagram of each matrix involved by horizontal according to an embodiment of the invention IDCT.As shown in Figure 8, the matrix through vertical inverse transformation can be divided into 8 parts.Each part comprises 4 × 2 elements.It will be understood by those skilled in the art that the number of the element included by each part of this matrix through vertical inverse transformation can be selected as required.Be appreciated that hypothesis is 32 × 2 matrixes through the matrix of conversion, and DCT coefficient matrix and transposed matrix are 32 × 32 matrixes, then need 128 multipliers when executive level IDCT.
Utilize this part of transposed matrix and DCT coefficient matrix to perform part DCT to video data matrix can comprise the following steps.Video data matrix and this part of transposed matrix are multiplied by the matrix obtained through horizontal transformation mutually.Displacement and saturation arithmetic are performed to the matrix through horizontal transformation.By DCT coefficient matrix with through the matrix multiple of horizontal transformation to obtain the matrix through vertical transitions.Displacement and saturation arithmetic are performed to the matrix through vertical transitions.It will be understood by those skilled in the art that above-mentioned displacement and saturation arithmetic refer to according to standard, such as HEVC or H.264 standard performed.Referring back to Fig. 4, to video data matrix executive level DCT with in the process of vertical DCT, can perform displacement and saturation arithmetic.
In one embodiment, the coefficient in video data matrix is intra prediction data or motion-prediction residual data.In the process of Video coding, the pattern of infra-frame prediction or inter prediction can be adopted.Coefficient in video data matrix can be the brightness value relevant to the pixel of frame of video or chromatic value.
Pipeline system manner of execution of the present invention can be used in total transform unit (TU) search of HEVC specification.Interframe TU search does not need neighbor to predict.Whole TU search adopts pipeline mode can be very efficient.When coding unit (CU) has 32 × 32 pixels, the order of full search is (4) 4x4-> (1) 8x8-> (4) 4x4-> (1) 8x8->...-> (1) 16x16....-> (1) 32x32.First calculate total signal to noise ratio of 44 × 4TU, and compare with the signal to noise ratio of 18 × 8TU." signal to noise ratio " herein refers to the signal to noise ratio for weighing the difference between video reconstruction matrix and original video data matrix.Because whole CU has 32 × 32 pixels, so need to carry out comparing of 16 44 × 4TU and 18 × 8TU.Need afterwards the signal to noise ratio of the signal to noise ratio of calculating 1 16 × 16TU, 4 16 × 16TU and and 1 32 × 32TU signal to noise ratio and compare step by step.Finally can select the TU size with optimum signal-noise ratio.Fig. 9 shows according to an embodiment of the invention for the schematic flow sheet of the method for interframe TU search.As shown in Figure 9, when adopting the preferred embodiment, for the CU of 32 × 32,606 cycleoperations are only needed just can to complete this full search procedure, i.e. (2 × 2+3 × 2) × 16+5 × 8 × 4+17 × 16+14=606.For the CU of 16 × 16, need 206 cycleoperations, i.e. (2 × 2+3 × 2) × 16+5 × 8+6=206.Dependence is had between the adjacent block that the difference of frame mode and inter-frame mode is frame mode, so can not the reconstruction operation of executed in parallel two blocks, so the cycle required for DCT operation of each 4 × 4TU is the twice of 4 × 4TU under inter-frame mode, i.e. 4 cycles.Other are identical with inter-frame mode.
According to a further aspect of the invention, a kind of system for Video coding is additionally provided.Figure 10 shows the schematic block diagram of the system 1000 for Video coding according to the embodiment of the present invention.As shown in Figure 10, system 1000 comprises interconnective first circuit 1001 and second circuit 1002.First circuit 1001 is for receiving DCT coefficient matrix, the part of DCT coefficient transpose of a matrix matrix and video data matrix and utilizing a part for transposed matrix and DCT coefficient matrix to perform part DCT operation to obtain the matrix through conversion to video data matrix.The last video reconstruction matrix acquisition current video reconstruction matrix that second circuit 1002 obtains through the matrix of inverse transformation and according to the matrix through inverse transformation and the front portion for transposed matrix with acquisition for performing quantification, inverse quantization and an inverse dct operation to the matrix through conversion, finally to obtain video reconstruction matrix.Wherein, while second circuit 1002 performs quantification, inverse quantization and an inverse dct operation for the part of transposed matrix, the first circuit 1001 starts to receive DCT coefficient matrix, the next part of transposed matrix and video data matrix.
In one embodiment, the first circuit 1001 comprises the multiple adder and multiple multiplier that connect correspondingly.For each adder in multiple adder, this adder is used for two coefficients of receiving video data matrix column symmetry, and when transposed matrix, will identical with the symbol of two of a two multiplication factor, two coefficients are added, when transposed matrix, will different from the symbol of two of a two multiplication factor, two coefficients are subtracted each other, to obtain intermediate object program.Corresponding multiplier be used for when transposed matrix, will identical with the symbol of two of a two multiplication factor, intermediate object program is multiplied by any one in two factors, when transposed matrix, will different from the symbol of two of a two multiplication factor, intermediate object program is multiplied by the factor of the corresponding minuend in two factors.
In one embodiment, the first circuit 1001 comprises interconnective horizontal transformation circuit and vertical transitions circuit.Horizontal transformation circuit is used for a part for receiving video data matrix and transposed matrix and obtains the matrix through horizontal transformation according to a part for video data matrix and transposed matrix.Vertical transitions circuit comprises the multiple adder and multiple multiplier that connect correspondingly.For each adder in multiple adder, this adder is for receiving through two symmetrical coefficients of the row of the matrix of horizontal transformation, and when DCT coefficient matrix, will identical with the symbol of two of a two multiplication factor, two coefficients are added, when DCT coefficient matrix, will different from the symbol of two of a two multiplication factor, two coefficients are subtracted each other, to obtain intermediate object program.Corresponding multiplier be used for when DCT coefficient matrix, will identical with the symbol of two of a two multiplication factor, intermediate object program is multiplied by any one in two factors, when DCT coefficient matrix, will different from the symbol of two of a two multiplication factor, intermediate object program is multiplied by the factor of the corresponding minuend in two factors.
In one embodiment, second circuit 1002 comprises the sample circuit, inverse quantization circuit, vertical inverse transform circuit and the horizontal reverse translation circuit that connect in turn.Sample circuit is for receiving a part for the matrix through converting and performing quantization operation to obtain a part for the matrix through quantizing to a part for the matrix through conversion.Inverse quantization circuit is used for performing inverse quantization operation to obtain the part through the matrix of inverse quantization to a part for the matrix through quantizing.Vertical inverse transform circuit operates with the part obtained through the matrix of vertical inverse transformation for utilizing the part of transposed matrix to the matrix through inverse quantization to perform vertical IDCT and obtains the matrix through vertical inverse transformation according to all parts of the matrix through vertical inverse transformation obtained for all parts of matrix through conversion.Horizontal reverse translation circuit operates with the matrix obtained through inverse transformation the matrix executive level IDCT through vertical inverse transformation for utilizing DCT coefficient matrix.Wherein, while inverse quantization circuit performs inverse quantization operation to a part for the matrix through quantizing, sample circuit starts to perform quantization operation for the next part of the matrix through conversion.
In one embodiment, the first circuit 1001 comprises interconnective horizontal transformation circuit and vertical transitions circuit.Horizontal transformation circuit is used for a part for receiving video data matrix and a part for transposed matrix and obtains the part through the matrix of horizontal transformation according to a part for video data matrix and a part for transposed matrix.Vertical transitions circuit comprises the multiple mlultiplying circuits connected correspondingly, multiple register and multiple adder, and multiple mlultiplying circuit obtains the part through the matrix of vertical transitions for the part of the part and the part according to DCT coefficient matrix and the matrix through horizontal transformation that receive the DCT coefficient matrix corresponding with a part for the matrix through horizontal transformation.Multiple adder for receive through the matrix of vertical transitions a part and from multiple register, the last matrix through conversion that obtains for the front portion of video data matrix and obtain the current matrix through conversion according to the part of the matrix through vertical transitions and the last matrix through conversion.Multiple register is for storing the current matrix through conversion.
Concrete structure and the operational mode of the above-mentioned system for Video coding can be understood about the description of the embodiment of the method for Video coding above those skilled in the art also combines with reference to figure 1-10.For simplicity, omit it at this to specifically describe.
In order to be described, aforementioned description have references to specific embodiment and is described.But exemplary discussion above is also not intended to be without omitting ground or limiting the present invention to disclosed in form clear and definite.In view of above instruction, also likely there is a lot of modification and change.Select and describe embodiment, to explain principle of the present invention and practical application best, utilize the present invention best to make others skilled in the art and there are the various embodiments of various modification, so that the special-purpose expected can be applicable to.
Be thus described according to embodiments of the invention.Although the disclosure is described in a particular embodiment, should understand, the present invention should not be construed as and limited by these embodiments, and should understand according to claim.

Claims (17)

1., for a method for Video coding, comprising:
The transposed matrix of dct coefficient matrix is divided into multiple part according to row;
Every part for described transposed matrix:
This part of described transposed matrix and described dct coefficient matrix is utilized to perform some discrete cosine transform to obtain the matrix through conversion to video data matrix;
Quantification, inverse quantization, inverse discrete cosine transformation are performed to obtain the matrix through inverse transformation to the described matrix through conversion;
The described matrix through inverse transformation is added to obtain current video reconstruction matrix with the last video reconstruction matrix that the front portion for described transposed matrix obtains, finally to obtain video reconstruction matrix;
Wherein, while this part for described transposed matrix performs described quantification, described inverse quantization, described inverse discrete cosine transformation, start to perform described some discrete cosine transform for the next part of described transposed matrix.
2. the method for claim 1, is characterized in that, described this part of described transposed matrix and the described dct coefficient matrix of utilizing comprises the cosine transform of video data matrix execution some discrete:
Each row for this part of described transposed matrix:
The symbol of two factors that the row in these row is symmetrical is identical, every a line of described video data matrix, first will be added with two coefficients of described two fac-tor, then be multiplied by any one in two factors;
The symbol of two factors that the row in these row is symmetrical is different, every a line of described video data matrix, first will subtract each other with two coefficients of described two fac-tor, then be multiplied by the factor of the corresponding minuend in two factors.
3. the method for claim 1, is characterized in that, described this part of described transposed matrix and the described dct coefficient matrix of utilizing comprises the cosine transform of video data matrix execution some discrete:
Described video data matrix and this part of described transposed matrix are multiplied by the matrix obtained through horizontal transformation mutually;
For described each row in the matrix of horizontal transformation:
When described dct coefficient matrix, the symbol of two factors of two multiplication that will be symmetrical with the row in these row identical, first described two coefficients are added, then are multiplied by any one in two factors;
When described dct coefficient matrix, the symbol of two factors of two multiplication that will be symmetrical from the row in these row different, first described two coefficients subtract each other, then are multiplied by the factor of the corresponding minuend in two factors.
4. the method for claim 1, is characterized in that, describedly performs quantification to the described matrix through conversion, inverse quantization, inverse discrete cosine transformation comprise through the matrix of inverse transformation with acquisition:
The described matrix through conversion is divided into multiple part;
Every part for the described matrix through conversion:
This part of the described matrix through conversion is performed to the part quantized to obtain the matrix through quantizing;
Inverse quantization is performed to obtain the part through the matrix of inverse quantization to a part for the described matrix through quantizing;
The part of described transposed matrix to the described matrix through inverse quantization is utilized to perform vertical inverse discrete cosine transformation to obtain the part through the matrix of vertical inverse transformation;
Wherein, while performing described inverse quantization to a part for the described matrix through quantizing, the next part started for the described matrix through conversion performs described quantification;
The matrix of the vertical inverse transformation of described warp is obtained according to all parts of the matrix for the described vertical inverse transformation of described warp obtained through all parts of matrix of conversion; And
Utilize described dct coefficient matrix to the matrix executive level inverse discrete cosine transformation of the vertical inverse transformation of described warp to obtain the described matrix through inverse transformation.
5. method as claimed in claim 4, is characterized in that, describedly utilizes described dct coefficient matrix to comprise with the matrix obtained through inverse transformation the matrix executive level inverse discrete cosine transformation of the vertical inverse transformation of described warp:
The matrix of vertical for described warp inverse transformation is divided into multiple part;
For every part of the matrix of the vertical inverse transformation of described warp, this part of the matrix of vertical for described warp inverse transformation and described dct coefficient matrix are multiplied by mutually the part obtaining the described matrix through inverse transformation; And
According to all parts of the described matrix through inverse transformation that all parts of the matrix for the vertical inverse transformation of described warp obtain, obtain the described matrix through inverse transformation.
6. method as claimed in claim 4, is characterized in that, described the described matrix through conversion to be divided into multiple part be mode according to each partial row symmetry.
7. the method for claim 1, is characterized in that, described this part of described transposed matrix and the described dct coefficient matrix of utilizing comprises the cosine transform of video data matrix execution some discrete:
Described video data matrix is divided into multiple part according to row;
Every part for described video data matrix:
This part of described video data matrix and this part of described transposed matrix are multiplied by mutually a part for the matrix obtained through horizontal transformation;
A part for the described dct coefficient matrix corresponding with it is obtained according to a part for the described matrix through horizontal transformation;
A part for described dct coefficient matrix and a part for the described matrix through horizontal transformation are multiplied by mutually a part for the matrix obtained through vertical transitions;
The last matrix through converting that a part for the described matrix through vertical transitions and the front portion for described video data matrix obtain is added to obtain the current matrix through converting, finally to obtain the described matrix through conversion.
8. method as claimed in claim 7, is characterized in that, described described video data matrix is divided into multiple part according to row is mode according to each partial row symmetry.
9. method as claimed in claim 8, it is characterized in that, each part of described video data matrix is made up of two row.
10. method as claimed in claim 8, is characterized in that, describedly a part for described dct coefficient matrix is multiplied by with a part for the described matrix through horizontal transformation the part obtained through the matrix of vertical transitions mutually comprises:
Each row in a part for the described matrix through horizontal transformation:
When described dct coefficient matrix, the symbol of two factors of two multiplication that will be symmetrical with the row in these row identical, first described two coefficients are added, then are multiplied by any one in two factors;
When described dct coefficient matrix, the symbol of two factors of two multiplication that will be symmetrical from the row in these row different, first described two coefficients subtract each other, then are multiplied by the factor of the corresponding minuend in two factors.
11. the method for claim 1, is characterized in that, described this part of described transposed matrix and the described dct coefficient matrix of utilizing comprises the cosine transform of video data matrix execution some discrete:
Described video data matrix and this part of described transposed matrix are multiplied by the matrix obtained through horizontal transformation mutually;
Displacement and saturation arithmetic are performed to the described matrix through horizontal transformation;
By described dct coefficient matrix and the described matrix multiple through horizontal transformation to obtain the matrix through vertical transitions; And
Displacement and saturation arithmetic are performed to the described matrix through vertical transitions.
12. the method for claim 1, is characterized in that, the coefficient in described video data matrix is intra prediction data or motion-prediction residual data.
13. 1 kinds of systems for Video coding, comprise interconnective first circuit and second circuit,
Described first circuit is for receiving dct coefficient matrix, the part of transposed matrix of described dct coefficient matrix and video data matrix and utilizing a part for described transposed matrix and described dct coefficient matrix to perform some discrete cosine transform operations to obtain the matrix through conversion to described video data matrix;
Described second circuit is used for performing quantification, inverse quantization and inverse discrete cosine transformation to the described matrix through conversion and operates with the matrix obtained through inverse transformation and obtain current video reconstruction matrix according to the described matrix through inverse transformation with for the last video reconstruction matrix that the front portion of described transposed matrix obtains, finally to obtain video reconstruction matrix
Wherein, while described second circuit performs quantification, inverse quantization and inverse discrete cosine transformation operation for the part of described transposed matrix, described first circuit starts to receive described dct coefficient matrix, the next part of described transposed matrix and described video data matrix.
14. systems as claimed in claim 13, is characterized in that, described first circuit comprises the multiple adder and multiple multiplier that connect correspondingly,
For each adder in described multiple adder, this adder is for receiving two coefficients of described video data matrix column symmetry, and when described transposed matrix, will identical with the symbol of two factors of described two multiplication, described two coefficients are added, when described transposed matrix, will different from the symbol of two factors of described two multiplication, described two coefficients are subtracted each other, to obtain intermediate object program;
Corresponding multiplier be used for when described transposed matrix, will identical with the symbol of two factors of described two multiplication, described intermediate object program is multiplied by any one in two factors, when described transposed matrix, will different from the symbol of two factors of described two multiplication, described intermediate object program is multiplied by the factor of the corresponding minuend in two factors.
15. systems as claimed in claim 13, it is characterized in that, described first circuit comprises interconnective horizontal transformation circuit and vertical transitions circuit,
Described horizontal transformation circuit is for receiving a part for described video data matrix and described transposed matrix and obtaining the matrix through horizontal transformation according to a part for described video data matrix and described transposed matrix;
Described vertical transitions circuit comprises the multiple adder and multiple multiplier that connect correspondingly,
For each adder in described multiple adder, this adder is for receiving two coefficients of the row symmetry of the described matrix through horizontal transformation, and when described dct coefficient matrix, will identical with the symbol of two factors of described two multiplication, described two coefficients are added, when described dct coefficient matrix, will different from the symbol of two factors of described two multiplication, described two coefficients are subtracted each other, to obtain intermediate object program;
Corresponding multiplier be used for when described dct coefficient matrix, will identical with the symbol of two factors of described two multiplication, described intermediate object program is multiplied by any one in two factors, when described dct coefficient matrix, will different from the symbol of two factors of described two multiplication, described intermediate object program is multiplied by the factor of the corresponding minuend in two factors.
16. systems as claimed in claim 13, is characterized in that, described second circuit comprises the sample circuit, inverse quantization circuit, vertical inverse transform circuit and the horizontal reverse translation circuit that connect in turn,
Described sample circuit is for receiving a part for the described matrix through conversion and performing quantization operation to obtain a part for the matrix through quantizing to a part for the described matrix through conversion;
Described inverse quantization circuit is used for performing inverse quantization operation to obtain the part through the matrix of inverse quantization to a part for the described matrix through quantizing;
Described vertical inverse transform circuit performs the operation of vertical inverse discrete cosine transformation to obtain a part through the matrix of vertical inverse transformation and to obtain the matrix of the vertical inverse transformation of described warp according to all parts of the matrix for the described vertical inverse transformation of described warp obtained through all parts of matrix of conversion for utilizing the part of described transposed matrix to the described matrix through inverse quantization; And
Described horizontal reverse translation circuit operates to obtain the described matrix through inverse transformation the matrix executive level inverse discrete cosine transformation of the vertical inverse transformation of described warp for utilizing described dct coefficient matrix,
Wherein, while the part of described inverse quantization circuit to the described matrix through quantizing performs described inverse quantization operation, described sample circuit starts to perform described quantization operation for the next part of the described matrix through conversion.
17. systems as claimed in claim 13, it is characterized in that, described first circuit comprises interconnective horizontal transformation circuit and vertical transitions circuit,
Described horizontal transformation circuit for the part and described transposed matrix that receive described video data matrix a part and obtain the part through the matrix of horizontal transformation according to a part for described video data matrix and a part for described transposed matrix;
Described vertical transitions circuit comprises the multiple mlultiplying circuits connected correspondingly, multiple register and multiple adder, and described multiple mlultiplying circuit is for receiving a part for the described dct coefficient matrix corresponding with a part for the described matrix through horizontal transformation and obtaining the part of the matrix through vertical transitions according to a part for described dct coefficient matrix and a part for the described matrix through horizontal transformation;
Described multiple adder for receive the described matrix through vertical transitions a part and from described multiple register, the last matrix through conversion that obtains for the front portion of described video data matrix and obtain the current matrix through conversion according to the part of the described matrix through vertical transitions and the described last matrix through conversion;
Described multiple register is for storing the described current matrix through conversion.
CN201310598478.4A 2013-11-22 2013-11-22 Video encoding method and system Pending CN104661036A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310598478.4A CN104661036A (en) 2013-11-22 2013-11-22 Video encoding method and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310598478.4A CN104661036A (en) 2013-11-22 2013-11-22 Video encoding method and system

Publications (1)

Publication Number Publication Date
CN104661036A true CN104661036A (en) 2015-05-27

Family

ID=53251659

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310598478.4A Pending CN104661036A (en) 2013-11-22 2013-11-22 Video encoding method and system

Country Status (1)

Country Link
CN (1) CN104661036A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108462877A (en) * 2016-02-25 2018-08-28 联发科技股份有限公司 Residual noise reduction circuit and relevant residual noise reduction method
WO2020057537A1 (en) * 2018-09-21 2020-03-26 华为技术有限公司 Video decoding method and video decoder, and video encoding method and video encoder
CN113761464A (en) * 2021-08-25 2021-12-07 安谋科技(中国)有限公司 Data processing method, medium, and electronic device

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1169072C (en) * 1998-12-23 2004-09-29 Lg情报通信株式会社 Pipline discrete cosine transformation apparatus
US20080192985A1 (en) * 2006-10-27 2008-08-14 Yoshihisa Shimazu Motion detection device, MOS (metal-oxide semiconductor) integrated circuit, and video system
CN101383970A (en) * 2007-09-06 2009-03-11 北京中电华大电子设计有限责任公司 Intra-frame predictor implementing method based on AVS parallel flow
CN102595137A (en) * 2012-02-27 2012-07-18 上海交通大学 Fast mode judging device and method based on image pixel block row/column pipelining

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1169072C (en) * 1998-12-23 2004-09-29 Lg情报通信株式会社 Pipline discrete cosine transformation apparatus
US20080192985A1 (en) * 2006-10-27 2008-08-14 Yoshihisa Shimazu Motion detection device, MOS (metal-oxide semiconductor) integrated circuit, and video system
CN101383970A (en) * 2007-09-06 2009-03-11 北京中电华大电子设计有限责任公司 Intra-frame predictor implementing method based on AVS parallel flow
CN102595137A (en) * 2012-02-27 2012-07-18 上海交通大学 Fast mode judging device and method based on image pixel block row/column pipelining

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
马赫,张文军,高志勇,陈立: "基于图像行/列流水线的AVS快速模式判决的设计", 《电视技术》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108462877A (en) * 2016-02-25 2018-08-28 联发科技股份有限公司 Residual noise reduction circuit and relevant residual noise reduction method
CN108462877B (en) * 2016-02-25 2020-11-13 联发科技股份有限公司 Residual error processing circuit and related residual error processing method
WO2020057537A1 (en) * 2018-09-21 2020-03-26 华为技术有限公司 Video decoding method and video decoder, and video encoding method and video encoder
CN113761464A (en) * 2021-08-25 2021-12-07 安谋科技(中国)有限公司 Data processing method, medium, and electronic device

Similar Documents

Publication Publication Date Title
CN102740077B (en) H.264/AVC standard-based intra-frame prediction mode selection method
CN103636205A (en) Mode-dependent transforms for residual coding with low latency
Amish et al. Fully pipelined real time hardware solution for high efficiency video coding (HEVC) intra prediction
CN110933445B (en) DCT operation method based on coefficient matrix transformation and transformation device thereof
CN102572430B (en) Method for implementing H.264 deblocking filter algorithm based on reconfigurable technique
CN111836050A (en) Method and device for calculating sum of absolute transformation differences in video coding
CN104320668B (en) HEVC/H.265 dct transform and the SIMD optimization methods of inverse transformation
CN104661036A (en) Video encoding method and system
CN100413344C (en) Method for realizing high-parallel frame predicator
CN102595112B (en) Method for coding and rebuilding image block in video coding
CN103092559B (en) For the multiplier architecture of DCT/IDCT circuit under HEVC standard
CN103237219A (en) Two-dimensional discrete cosine transformation (DCT)/inverse DCT circuit and method
CN105100799A (en) Method for reducing intraframe coding time delay in HEVC encoder
CN100452880C (en) Integral discrete cosine transform method in use for encoding video
KR101412964B1 (en) Low area and high performance multi-mode 1D transform block for HEVC and data processing method using thereof
CN102625109B (en) Multi-core-processor-based moving picture experts group (MPEG)-2-H.264 transcoding method
Zhang et al. SIMD acceleration for HEVC encoding on DSP
CN105227959A (en) For odd encoder point shuffling flowing water method and the device thereof of Video coding
CN104602026A (en) Reconstruction loop structure applicable to full multiplexing of encoder under HEVC (high efficiency video coding) standard
CN203279074U (en) Two-dimensional discrete cosine transform (DCT)/inverse discrete cosine transform (IDCT) circuit
CN101562744B (en) Two-dimensional inverse transformation device
CN105407358B (en) A kind of Integer DCT Transform method based on HEVC
CN102340659A (en) Parallel mode decision device and method based on AVS (Audio Video Standard)
CN101938643A (en) Hardware parallel realization structure of video compression by intra-frame predictive 16*16 mode
CN104363459A (en) Hardware filling method applicable to infra-frame prediction reference pixels in HEVC (high efficiency video coding) standard

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20150527

WD01 Invention patent application deemed withdrawn after publication