CN100562111C - Discrete cosine inverse transformation method and device thereof - Google Patents

Discrete cosine inverse transformation method and device thereof Download PDF

Info

Publication number
CN100562111C
CN100562111C CN 200610090250 CN200610090250A CN100562111C CN 100562111 C CN100562111 C CN 100562111C CN 200610090250 CN200610090250 CN 200610090250 CN 200610090250 A CN200610090250 A CN 200610090250A CN 100562111 C CN100562111 C CN 100562111C
Authority
CN
China
Prior art keywords
matrix
processing
rounds
coefficient
floating
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.)
Expired - Fee Related
Application number
CN 200610090250
Other languages
Chinese (zh)
Other versions
CN101047849A (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN 200610090250 priority Critical patent/CN100562111C/en
Publication of CN101047849A publication Critical patent/CN101047849A/en
Application granted granted Critical
Publication of CN100562111C publication Critical patent/CN100562111C/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Complex Calculations (AREA)

Abstract

The invention discloses a kind of discrete cosine inverse transformation method, be included in the transformation coefficient block in the image encoding is carried out in the inverse discrete cosine transform processing procedure based on the AAN algorithm, respectively each conversion coefficient in the transformation coefficient block of initial input is amplified to revise and round processing; Revise the conversion process that rounds processing for each conversion coefficient through amplifying, based on the corresponding floating-point multiplication that occurs in the fixed point displacement accumulating operation alternative transforms process; Each final inverse discrete cosine transform result data is carried out the corresponding processing of dwindling respectively.The invention also discloses a kind of inverse discrete cosine transform device accordingly.The present invention can further accelerate the idct transform processing speed based on the AAN algorithm, better meets the demand of modern real time communication business.

Description

Discrete cosine inverse transformation method and device thereof
Technical field
The present invention relates to the discrete cosine transform (DCT of communication technical field, Discrete CosineTransform) technology and inverse discrete cosine transform (IDCT, Inverse Discrete Cosine Transform) technology especially relates to a kind of discrete cosine inverse transformation method and device thereof.
Background technology
Since Ahmed and Rao have proposed discrete cosine transform (DCT in 1974, Discrete CosineTransform) since the definition, discrete cosine transform and inverse discrete cosine transform (IDCT, Inverse DiscreteCosine Transform) important technology of just become the signal processing that is widely used in the communications field, image processing, handling especially for compress speech and image compression encoding and decoding, so DCT technology and IDCT technology all are the research focuses of international academic community and high-tech industry circle all the time.
Because the demand of real-time communication characteristic, be used for (the JPEG of rest image panel of expert that the rest image compression coding and decoding is handled, Joint Picture Expert Group) in the standard, and be used for (the MPEG of dynamic image panel of expert that the dynamic image compression coding and decoding is handled, Motion Pictures Expert Group) all adopted DCT processing and IDCT to handle in the standard, the feasible thus research to DCT fast algorithm and IDCT fast algorithm more seems significant.
Because conventional DCT algorithm and IDCT algorithm have all been used more multiplying and add operation, and well-known multiplying is unusual consume system resources in calculating process, as to consumption of computer software and hardware resource etc., multiplying simultaneously is also more consuming time, just makes that therefore conventional DCT calculating process and IDCT calculating process show slowly slightly.The DCT fast algorithm of follow-up proposition and IDCT fast algorithm all are to reduce multiplying number of times in the calculating process and add operation number of times as main purpose, to refer in particular to the operation times that reduces multiplication for above-mentioned reasons.In recent years, various DCT fast algorithms and IDCT fast algorithm all emerge in an endless stream, but mostly are based on dish-shaped computational methods, reduce redundancy in the computational process with the periodicity that makes full use of trigonometric function, thereby reach quick computation purpose.
The AAN algorithm that has proposed to be used for dct transform and idct transform by people such as Arai in 1988 is recommended to use by the Joint Photographic Experts Group tissue.Measured AAN algorithm carries out need carrying out 13 multiplyings and 29 sub-addition computings when idct transform is handled to one dimension 8 dot image, but 8 multiplyings are wherein carried out before input signal being carried out the IDCT processing in advance synchronously, be convenient to that like this input signal is carried out unified cut position processing and sequencing control and handle, realize idct transform thereby help hardware.Based on this basis, the AAN algorithm will at first multiply by the coefficient zoom factor of correspondence respectively to the IDCT coefficient of each input signal, data after will handling are then sent into the AAN process chart and are carried out the idct transform processing, thereby obtain one dimension 8 dot image are carried out the intermediate conversion data that idct transform is handled.Help hardware and realize it being the superiority of AAN algorithm with respect to other IDCT fast algorithm.In the AAN algorithm, the multiplication preliminary treatment of coefficient zoom factor can be handled with the inverse quantization of input signal and combine, thereby can further reduce the amount of calculation of AAN algorithm simultaneously.
A kind of IDCTAAN process chart of standard as shown in Figure 1, by this figure as seen, in the AAN process chart, one dimension 8 dot image are carried out only need carrying out 5 times when idct transform is handled floating-point multiplication, and Duhamel has proved that the floating-point multiplication number of times lower limit of using general IDCT fast algorithm that one dimension 8 dot image are carried out need carrying out when IDCT handles is 11 times, and this just illustrates that the AAN algorithm has certain superiority with respect to other IDCT fast algorithm.In IDCT AAN process chart shown in Figure 1, a 1The multiplication constant term that occurs in the multiplication procedure is C 4, a 2The multiplication constant term that occurs in the multiplication procedure is C 2-C 6, a 3The multiplication constant term that occurs in the multiplication procedure is C 4, a 4The multiplication constant term that occurs in the multiplication procedure is C 2+ C 6, a 5The constant term that occurs in the multiplication procedure is C 6Coefficient zoom factor wherein A 0 = 1 / ( 2 2 ) , A i=1/ (4C i), i=1 ... 7, in this formula C i = cos ( π 16 i ) .
The IDCT AAN process chart of another kind of standard needing too to carry out 5 times when idct transform is handled to carry out floating-point multiplication to one dimension 8 dot image as shown in Figure 2 in the AAN process chart shown in this figure.Coefficient zoom factor among the figure A 0 = 1 2 2 , A 1 = 1 4 C 5 , A 2 = cos ( π / 8 ) 2 , A 3 = 1 4 C 1 , A 4 = 1 2 2 , A 5 = 1 4 C 7 , A 6 = cos ( 3 π / 8 ) 2 , A 7 = 1 4 C 3 , C i = cos iπ 16 .
As fully visible, though the AAN algorithm belongs to IDCT fast algorithm technology, but be based on the AAN algorithm one dimension 8 dot image signals are carried out idct transform when handling, still need to do cosine function value floating-point multiplication 5 times, because when the picture signal of 8 * 8 of two dimensions is carried out DCT and idct transform encoding and decoding processing, the situation that normally with the two dimensional image signal decomposition is row one peacekeeping row one dimension is handled respectively, use the AAN algorithm that one 8 * 8 two dimensional image signal is carried out just need carrying out 80 times when DCT and idct transform are handled floating-point multiplication like this, because the floating-point multiplication process is that very consumption systems is handled resource, wherein the resource of Xiao Haoing comprises to the consumption of operation time with to consumption of system hardware and software resource etc., therefore with regard to also needing the idct transform processing procedure based on the AAN algorithm is carried out further optimization process, to accelerate the conversion process speed of IDCT, better meet the demand of modern real time communication business.
Summary of the invention
The present invention proposes a kind of discrete cosine inverse transformation method and device thereof, with the idct transform processing speed of further quickening based on the AAN algorithm, better meets the demand of modern real time communication business.
For addressing the above problem, the technical scheme that the present invention proposes is as follows:
A kind of discrete cosine inverse transformation method comprises step:
In the inverse discrete cosine transform processing procedure of the transformation coefficient block in the image encoding being carried out, respectively each conversion coefficient in the transformation coefficient block of initial input is amplified correction and round processing based on the AAN algorithm;
Revise the conversion process that rounds processing for each conversion coefficient through amplifying, based on the corresponding floating-point multiplication that occurs in the fixed point displacement accumulating operation alternative transforms process;
Each final inverse discrete cosine transform result data based on the corresponding floating-point multiplication that occurs in the fixed point displacement accumulating operation alternative transforms process is carried out the corresponding processing of dwindling respectively.
Preferably, described transformation coefficient block refers to two dimension 8 * 8 dot factor matrixes in the image encoding.
Preferably, described each conversion coefficient in the transformation coefficient block of initial input is amplified to revise round processing and specifically be meant to amplify and revise the correspondence position element and second that rounds in the matrix and amplify and revise the correspondence position element that rounds in the matrix and respectively the same position coefficient element in two dimension 8 * 8 dot factor matrixes is amplified to revise and round processing based on first.
Preferably, each the coefficient element in two dimension 8 * 8 dot factor matrixes is carried out following amplification correction and rounds processing:
Block[i][j]=Block[i][j]×Coef0[i][j]+((Block[i][j]×Coef1[i][j])>>P 2);
And to the coefficient element B lock[0 in the coefficient matrix] [0] carry out following processing and amplifying:
Block[0][0]=Block[0][0]+(1<<(P 1-1));
Block[i wherein] [j] refer to the coefficient element in two dimension 8 * 8 dot factor matrixes, i, j=0,1 ..., 7; P 1And P 2Be two default amplifying parameters; Coef0 refers to that the first amplification correction rounds matrix, and Coef1 refers to that the second amplification correction rounds matrix.
Preferably, it is definite according to following processing procedure that the first amplification correction rounds Matrix C oef0:
Default one rounds corrected parameter Δ τ;
Based on Coef[i] each element in 8 * 8 floating-point parameter matrixs of [j] expression, i, j=0,1 ..., 7;
Respectively to each the Elements C oef[i in the described floating-point parameter matrix] [j] carry out following processing and amplifying:
Coef[i][j]=Coef[i][j]×(1<<P 1);
Then respectively to each the Elements C oef[i after the processing and amplifying] [j] carry out the following processing that rounds:
Coef0[i] and [j]=(int) (Coef[i] [j]+Δ τ), obtain the first amplification correction and round Matrix C oef0.
Preferably, it is definite according to following processing procedure that the second amplification correction rounds Matrix C oef1:
Default one rounds corrected parameter Δ τ;
Based on Coef[i] each element in 8 * 8 floating-point parameter matrixs of [j] expression, i, j=0,1 ..., 7;
Respectively to each the Elements C oef[i in the described floating-point parameter matrix] [j] carry out following processing and amplifying:
Coef[i][j]=Coef[i][j]×(1<<P 1);
Then respectively to each the Elements C oef[i after the processing and amplifying] [j] carry out the following processing that rounds:
Coef0[i] and [j]=(int) (Coef[i] [j]+Δ τ), obtain the first amplification correction and round Matrix C oef0;
Calculate the relevant position Elements C oef[i in the floating-point parameter matrix after the described processing and amplifying respectively] [j] and described first amplify revise the relevant position Elements C oef0[i that rounds in the matrix] difference of [j]:
Coef[i] [j]=Coef[i] [j]-Coef0[i] [j], obtain corresponding matrix of differences;
Respectively to each the Elements C oef[i in the described matrix of differences] [j] carry out following processing:
Coef1[i] [j]=(int) (Coef[i] [j] * (1<<P 2)+Δ τ), obtain the second amplification correction and round Matrix C oef1.
Preferably, each Elements C oef[i in described 8 * 8 floating-point parameter matrixs] [j]=A i* A j, wherein A 0 = 1 2 2 , A 1 = 1 4 C 5 , A 2 = cos ( π / 8 ) 2 , A 3 = 1 4 C 1 , A 4 = 1 2 2 , A 5 = 1 4 C 7 , A 6 = cos ( 3 π / 8 ) 2 , A 7 = 1 4 C 3 , C i = cos iπ 16 ;
Described P 1=18, P 2=3, Δ τ=0.5;
The described first amplification correction rounds Matrix C oef0 and is:
Coef 0 = 32768 41706 60547 23624 32768 118768 25080 27867 41706 53081 77062 30068 41706 151163 31920 35468 60547 77062 111877 43652 60547 219455 46341 51491 23624 30068 43652 17032 23624 85627 18081 20091 32768 41706 60547 23624 32768 118768 25080 27867 118768 151163 219455 85627 118768 430476 90901 101004 25080 31920 46341 18081 25080 90901 19195 21328 27867 35468 51491 20091 27867 01004 21328 23699 .
Preferably, each Elements C oef[i in described 8 * 8 floating-point parameter matrixs] [j]=A i* A j, wherein A 0 = 1 2 2 , A 1 = 1 4 C 5 , A 2 = cos ( π / 8 ) 2 , A 3 = 1 4 C 1 , A 4 = 1 2 2 , A 5 = 1 4 C 7 , A 6 = cos ( 3 π / 8 ) 2 , A 7 = 1 4 C 3 , C i = cos iπ 16 ;
Described P 1=12, P 2=3, Δ τ=0.5;
The described first amplification correction rounds Matrix C oef0 and is:
Coef 0 = 512 652 946 369 512 1856 392 435 652 829 1204 470 652 2362 499 554 946 1204 1748 682 946 3429 724 805 369 470 682 266 369 1338 283 314 512 652 946 369 512 1856 392 435 1856 2362 3429 1338 1856 6726 1420 1578 392 499 724 283 392 1420 300 333 435 554 805 314 435 1578 333 370 .
Preferably, each Elements C oef[i in described 8 * 8 floating-point parameter matrixs] [j]=A i* A j, wherein A 0 = 1 2 2 , A 1 = 1 4 C 5 , A 2 = cos ( π / 8 ) 2 , A 3 = 1 4 C 1 , A 4 = 1 2 2 , A 5 = 1 4 C 7 , A 6 = cos ( 3 π / 8 ) 2 , A 7 = 1 4 C 3 , C i = cos iπ 16 ;
Described P 1=18, P 2=3, Δ τ=0.5;
The described second amplification correction rounds Matrix C oef1 and is:
Coef 1 = 0 - 2 3 3 0 0 - 4 - 1 - 2 3 2 2 - 2 0 2 - 2 3 2 0 2 3 0 0 2 3 2 2 2 3 - 1 2 - 1 0 - 2 3 3 0 0 - 4 - 1 0 0 0 - 1 0 0 0 0 - 4 2 0 2 - 4 0 1 3 - 1 - 2 2 - 1 - 1 0 3 - 2 .
Preferably, each Elements C oef[i in described 8 * 8 floating-point parameter matrixs] [j]=A i* A j, wherein A 0 = 1 2 2 , A 1 = 1 4 C 5 , A 2 = cos ( π / 8 ) 2 , A 3 = 1 4 C 1 , A 4 = 1 2 2 , A 5 = 1 4 C 7 , A 6 = cos ( 3 π / 8 ) 2 , A 7 = 1 4 C 3 , C i = cos iπ 16 ;
Described P 1=12, P 2=3, Δ τ=0.5;
The described second amplification correction rounds Matrix C oef1 and is:
Coef 1 = 0 - 2 0 1 0 - 1 - 1 3 - 2 3 0 - 1 - 2 0 - 1 1 0 0 0 0 0 0 0 - 3 1 - 1 0 1 1 0 - 3 0 0 - 2 0 1 0 - 1 - 1 3 - 1 0 0 0 - 1 1 2 1 - 1 - 1 0 - 3 - 1 2 0 2 3 1 - 3 0 3 1 2 2 .
Preferably, the process based on the corresponding floating-point multiplication that occurs in the fixed point displacement accumulating operation alternative transforms process specifically comprises:
At utilizing aw based on different input value a, b in the conversion process 1+ bw 2Each varitron process of output valve is asked in computing, by with constant value w 1And w 2Dissolve and be binary form, with aw 1+ bw 2Computing is converted to
Figure C20061009025000151
Computing, wherein m i, n iValue is 0 or 1 respectively, and t is a positive integer; And
Calculating is respectively changed out based on fixed point displacement accumulating operation
Figure C20061009025000152
End value, and with the output valve of result of calculation value as the correspondent transform subprocess, wherein, the transformed value when described input value a, b are respectively the transformation coefficient block in the image encoding carried out inverse discrete cosine transform and handle; Or be the median in the inverse discrete cosine transform processing procedure; Or the image coefficient piece element value when in the compressed image decode procedure, carrying out inverse discrete cosine transform and handle.
Preferably, based on 24 shift register and the accumulator accumulating operation that is shifted of fixing a point.
Preferably, based on 32 shift register and the accumulator accumulating operation that is shifted of fixing a point.
Preferably, calculating End value before also comprise the step of calculating different input value a, b sum a+b in advance.
Preferably, respectively to each final inverse discrete cosine transform result data Block1[i] [j], i, j=0,1 ..., 7 dwindling of execution are treated to:
Block1[i][j]=(Block1[i][j])>>P 1
A kind of inverse discrete cosine transform device comprises:
The conversion coefficient processing unit is used in the transformation coefficient block to image encoding carries out inverse discrete cosine transform processing procedure based on the AAN algorithm, respectively each conversion coefficient in the transformation coefficient block of initial input is amplified to revise to round processing;
The displacement unit that adds up is used for each conversion coefficient amplified through the conversion coefficient processing unit and revises the conversion process that rounds after the processing, based on the corresponding floating-point multiplication that occurs in the fixed point displacement accumulating operation alternative transforms process;
The result data processing unit is used for add up each final inverse discrete cosine transform result data of the corresponding floating-point multiplication that the unit occurs based on fixed point displacement accumulating operation alternative transforms process of displacement is carried out the corresponding processing of dwindling respectively.
Preferably, described conversion coefficient processing unit specifically comprises:
Matrix amplifies subelement, is used for based on first amplification coefficient, and the floating-point parameter matrix to the transformation coefficient block in the image encoding carries out processing and amplifying respectively, obtains corresponding amplification floating-point parameter matrix;
First matrix is determined subelement, is used for matrix is amplified amplification floating-point parameter matrix after the subelement processing and amplifying revising and rounding processing based on rounding corrected parameter, obtains corresponding first and amplifies to revise and round matrix;
Matrix of differences is asked for subelement, and what be used for that compute matrix amplifies that amplification floating-point parameter matrix and first matrix after the subelement processing and amplifying determine that subelement obtains first amplifies and revise the difference that rounds between the matrix, obtains the matrix of differences of correspondence;
Second matrix is determined subelement, is used for based on second amplification coefficient and rounds corrected parameter matrix of differences is asked for matrix of differences that subelement obtains amplifying to revise and rounding processing, obtains corresponding second and amplifies to revise and round matrix;
Transform coefficient matrix amplifies subelement, is used for first amplifying revise that the element that rounds the matrix relevant position and second matrix determine that subelement obtains second amplify and revise the element that rounds relevant position in the matrix element of same position in the transform coefficient matrix of described initial input is carried out processing and amplifying based on what first matrix determined that subelement obtains.
Preferably, the described displacement unit that adds up specifically comprises:
The conversion subelement is used for utilizing aw at conversion process based on different input value a, b 1+ bw 2Each varitron process of output valve is asked in computing, by with constant value w 1And w 2Dissolve and be binary form, with aw 1+ bw 2Computing is converted to
Figure C20061009025000161
Computing, wherein m i, n iValue is 0 or 1 respectively, and t is a positive integer;
Displacement adds up and exports the unit that bears fruit, and is used for changing out based on fixed point displacement accumulating operation calculating conversion subelement
Figure C20061009025000162
End value, and with the output valve of result of calculation value as the correspondent transform subprocess, wherein, the transformed value when described input value a, b are respectively the transformation coefficient block in the image encoding carried out inverse discrete cosine transform and handle; Or be the median in the inverse discrete cosine transform processing procedure; Or the image coefficient piece element value when in the compressed image decode procedure, carrying out inverse discrete cosine transform and handle.
Preferably, the described displacement unit that adds up specifically also comprises input value addition subelement, is used in the described displacement output subunit computes as a result that adds up
Figure C20061009025000171
End value before, calculate described
Figure C20061009025000172
In different input value a, b sum a+b.
Preferably, the described displacement unit that adds up is 24 a displacement accumulation processor.
Preferably, the described displacement unit that adds up is 32 a displacement accumulation processor.
The beneficial effect that the present invention can reach is as follows:
Technical solution of the present invention is in the idct transform processing procedure of carrying out based on AAN, each conversion coefficient of initial input amplified respectively to revise round processing, and in the idct transform process, use fixed point displacement accumulating operation to substitute floating-point multiplication, thereby make and in idct transform processing procedure, avoided floating-point multiplication fully based on the AAN algorithm, and then realized guaranteeing that idct transform is as a result under the prerequisite of precision, accelerated the conversion process speed of IDCT greatly, and reduced too much consumption to the system hardware and software resource, especially when fixing a point shifting processing and fixed point accumulation process respectively based on 24 bit shift register and accumulator, chip area and energy consumption in the time of can saving hardware preferably and realize; Therefore the present invention program has better met the demand of modern real time communication business, and in like manner the technical solution of the present invention principle is equally applicable to the DCT Fast transforms processing procedure based on the AAN algorithm.
Description of drawings
Fig. 1 is a kind of IDCTAAN process chart of standard;
Fig. 2 is the IDCTAAN process chart of another kind of standard;
Fig. 3 is the main realization principle flow chart of discrete cosine inverse transformation method of the present invention;
Fig. 4 is for after using the inventive method principle, and the idct transform based on AAN among above-mentioned prior art Fig. 2 is handled and upgraded flow chart;
Fig. 5 is for after using the inventive method principle, and the idct transform based on AAN among above-mentioned prior art Fig. 1 is handled and upgraded flow chart;
Fig. 6 is the main composition structured flowchart of the inverse discrete cosine transform device of the present invention's proposition;
Fig. 7 is the concrete composition structured flowchart of conversion coefficient processing unit in apparatus of the present invention;
Fig. 8 is the add up concrete composition structured flowchart of unit of displacement in apparatus of the present invention.
Embodiment
Technical solution of the present invention is here by calculating principle analysis fast to the IDCT based on the AAN algorithm of the prior art, proposition rounds processing to amplifying based on the initial input coefficient in the idct transform process of AAN algorithm to revise, and the mode that the part that needs to do floating-point multiplication in the conversion process uses fixed point displacement and fixed point to add up handled, so that the whole quick computational process of IDCT based on AAN has been avoided floating-point multiplication, thereby realized guaranteeing that idct transform is as a result under the prerequisite of precision, accelerated the conversion rate of IDCT greatly, and reduced too much consumption to the system hardware and software resource, better met the demand of modern real time communication business with this, in like manner the technical solution of the present invention principle is equally applicable to handle based on the DCT Fast transforms of AAN algorithm.
Be explained in detail to the main realization principle of technical solution of the present invention, embodiment and to the beneficial effect that should be able to reach below in conjunction with each accompanying drawing.
Please refer to Fig. 3, this figure is the main realization principle flow chart of discrete cosine inverse transformation method of the present invention, and it realizes that mainly principle is as follows:
Step S10 in the idct transform processing procedure of digital signal being carried out based on the AAN algorithm, amplifies to revise to each conversion coefficient of initial input respectively and rounds processing; Wherein the digital signal here can refer in the image encoding each element data value of two dimension 8 * 8 coefficient block, preferably each conversion coefficient of initial input is amplified to revise to round processing and specifically can refer to amplify based on first and revise the relevant position element and second that rounds in the matrix and amplify and revise the relevant position element that rounds in the matrix and the same position coefficient element in two dimension 8 * 8 dot factor matrixes is amplified to revise round processing;
Step S20 rounds conversion process after the processing for each conversion coefficient through above-mentioned amplification correction, comes the corresponding floating-point multiplication that occurs in the alternative transforms process based on fixed point displacement accumulating operation;
Step S30 carries out the corresponding processing of dwindling respectively to each final idct transform result data at last.
Because dct transform technology and idct transform technology are widely used in digital signal processing technique field at present, particularly be applied to the digital compression technology field, since 2D-IDCT conversion can be respectively one dimension IDCT (1D-IDCT) conversion by row and column realize, so based on the following quick computational process that in execution mode, discusses the 1D-IDCT conversion of the inventive method principle.
To be applied in the inventive principle of said method of the present invention below 8 * 8 dot image signals are carried out being treated to example based on the idct transform of AAN, the specific implementation process of the inventive method will be explained in detail.
First embodiment: as shown in Figure 4, after using the inventive method principle, the idct transform based on AAN among above-mentioned prior art Fig. 2 is handled and is upgraded flow chart, here suppose in idct transform processing procedure, use 32 shift register and the accumulator accumulating operation that is shifted to handle based on AAN.
The product of (one) wherein high order end is represented to import in Fig. 48 image signal values and coefficient of correspondence zoom factor, low order end is 8 picture signal output valves finishing idct transform of output, when application the inventive method principle is carried out the processing of AAN idct transform to two dimension 8 * 8 dot image signals, at first will carry out preliminary treatment to 64 transformation matrix coefficients of two dimension 8 * 8 dot image signals, its pretreated principle process is as follows:
1. preestablishing two amplifying parameters is respectively: P 1=18 and P 2=3, and set one and round corrected parameter Δ τ=0.5;
2. suppose that each element is based on Coef[i in 8 * 8 floating-point parameter matrixs] [j] expression, i, j=0,1 ..., 7; Then the value of each element is respectively among the Matrix C oef: Coef[i] [j]=A i* A j, wherein A 0 = 1 2 2 , A 1 = 1 4 C 5 , A 2 = cos ( π / 8 ) 2 , A 3 = 1 4 C 1 , A 4 = 1 2 2 , A 5 = 1 4 C 7 , A 6 = cos ( 3 π / 8 ) 2 , A 7 = 1 4 C 3 , C i = cos iπ 16 ;
3. to each the Elements C oef[i among the above-mentioned floating-point parameter matrix Coef] [j] carry out following processing and amplifying respectively:
Coef[i][j]=Coef[i][j]×(1<<P 1)=Coef[i][j]×(1<<18);
4. then to each the Elements C oef[i after the above-mentioned processing and amplifying] [j] carry out and followingly to round processing, amplify to revise and round Matrix C oef0 thereby obtain corresponding first:
Coef0[i] [j]=(int) (Coef[i] [j]+0.5), can obtain like this amplifying and revise 8 * 8 integer constant Matrix C oef0 that round after the processing based on first of 8 * 8 dot image signals, specific as follows:
Coef 0 = 32768 41706 60547 23624 32768 118768 25080 27867 41706 53081 77062 30068 41706 151163 31920 35468 60547 77062 111877 43652 60547 219455 46341 51491 23624 30068 43652 17032 23624 85627 18081 20091 32768 41706 60547 23624 32768 118768 25080 27867 118768 151163 219455 85627 118768 430476 90901 101004 25080 31920 46341 18081 25080 90901 19195 21328 27867 35468 51491 20091 27867 01004 21328 23699 ;
5. and then respectively calculating among the floating-point parameter matrix Coef after the above-mentioned processing and amplifying relevant position element and above-mentioned first amplifies to revise and rounds the difference between the element of relevant position among the Matrix C oef0:
Coef[i] [j]=Coef[i] [j]-Coef0[i] [j], thus obtain corresponding matrix of differences;
6. each element is carried out following amplification correction respectively and is rounded processing and then in the matrix of differences that aforementioned calculation is obtained:
Coef1[i] [j]=(int) (Coef[i] [j] * (1<<P 2)+0.5)=(int) (Coef[i] [j] * (1<<3)+0.5), round Matrix C oef1 thereby obtain the second corresponding amplification correction;
Can obtain second 8 * 8 integer constant matrix that amplify after correction rounds processing like this based on 8 * 8 dot image signals, specific as follows:
Coef 1 = 0 - 2 3 3 0 0 - 4 - 1 - 2 3 2 2 - 2 0 2 - 2 3 2 0 2 3 0 0 2 3 2 2 2 3 - 1 2 - 1 0 - 2 3 3 0 0 - 4 - 1 0 0 0 - 1 0 0 0 0 - 4 2 0 2 - 4 0 1 3 - 1 - 2 2 - 1 - 1 0 3 - 2 ;
7. suppose that each the coefficient element in the primary input transition coefficient matrix of 8 * 8 dot image signals is respectively Block[i] [j], then to each the coefficient element B lock[i in this transform coefficient matrix] [j] carry out following processing and amplifying respectively:
Block[i][j]=Block[i][j]×Coef0[i][j]+((Block[i][j]×Coef1[i][j])>>P 2)=
Block[i][j]=Block[i][j]×Coef0[i][j]+((Block[i][j]×Coef1[i][j])>>3);
And then to the coefficient element B lock[0 in the transform coefficient matrix] [0] carry out following processing and amplifying:
Block[0][0]=Block[0][0]+(1<<(P 1-1))=Block[0][0]+(1<<17)。
(2) round the conversion coefficient of pretreated 64 initial inputs based on above-mentioned amplification correction, and then the row one peacekeeping row one dimension of picture signal of 8 * 8 of two dimensions carried out conversion process according to process chart shown in Figure 4 respectively, at first go the calculation process of one dimension direction, carry out the calculation process of row one dimension direction again.
Here with the T among Fig. 4 1Calculating process is that example describes, according to following computing formula computational transformation subprocess T 1Output valve:
T 1=a×cos(π/8)-b×cos(3π/8)
Thereby can obtain following general expression formula according to following formula:
T 1=aw 1+bw 2
A in the following formula, b are respectively the image coefficient piece element values of input, also may be the picture signal median in the idct transform processing procedure certainly.The input value a here, b can also be for carrying out the digital signal conversion value of idct transform when handling to digital signal in addition, or are the median etc. in the idct transform processing procedure.
To specify below and how to calculate above-mentioned general expression formula T based on fixed point displacement and fixed point accumulation process 1=aw 1+ bw 2End value:
Here be without loss of generality, respectively with two constant value w 1, w 2Be decomposed into the binary expression form:
w 1=m 0+ m 12 -1+ ...+m T-12 -t+1+ m t 2-t(m i=0 or 1, i=0,1 ... t)
w 2=n 0+ n 12 -1+ ...+n T-12 -t+1+ n t 2-t(n i=0 or 1, i=0,1 ... t)
Like this based on above-mentioned with constant value w 1, w 2Be decomposed into the basis of binary expression form, then T 1=aw 1+ bw 2Expression formula just can be represented based on following expression formula:
T = aw 1 + bw 2 = ( am 0 + bn 0 ) + ( am 1 + bn 1 ) 2 - 1 + . . . + ( am t + bn t ) 2 - t = Σ i = 0 t ( am i + bn i ) 2 - i
Respectively with each am in the following formula i+ bn i, i=0,1 ..., t calculates, and just can calculate the T value by every result of calculation right shift is added up respectively, because m i, n iValue is 0 or 1 respectively, so each am i+ bn iHaving 4 kinds of possible values is respectively: 0, and a, b, a+b is for further speed up processing can be in the accumulation process calculating that is shifted based on fixed point T = Σ i = 0 t ( am i + bn i ) 2 - i End value before, precompute the value of a+b, thereby calculating each am i+ bn iThe time just can be according to m i, n iValue condition effectively avoided multiplication.
According to above-mentioned to T 1The calculating principle of calculating process, following table has provided after fixed point displacement accumulation process is used in corresponding multiplying place in the IDCTAAN process chart based on the inventive method principle, in requisition for shift count and accumulative frequency, wherein B1 in this table and B2 represent w respectively 1, w 2Binary fraction:
Figure C20061009025000222
Wherein go up in the table once ">>" representative shifting processing of need once fixing a point of every appearance, the accumulation process of need once fixing a point is represented in every appearance once "+" or "-", then as can be seen from the above table, IDCTAAN process chart based on the inventive method principle, one dimension 8 dot image signals are carried out idct transform when handling, and add up (Adds) number of times and fixed point displacement (Shifts) number of times of the fixed point that need carry out altogether is as shown in the table:
Figure C20061009025000223
From the aforementioned calculation analytic process as can be seen, finish the idct transform of one dimension 8 dot image signals based on the inventive method and handle to fix a point for 50 times at most add operation and the shift operation of 26 fixed points, and avoided floating-point multiplication fully; Expand to two-dimensional case like this, finish the idct transform of two dimension 8 * 8 dot image signals and handle to fix a point for 801 times at most add operation and the shift operation of 416 fixed points, and avoided floating-point multiplication fully.This shows that the inventive method can be so that whole idct transform processing procedure based on the AAN algorithm had floating-point multiplication, thereby obtained a kind of IDCT Fast transforms scheme of brand-new no floating-point multiplication process, this IDCT Fast transforms scheme can be under the prerequisite that guarantees the idct transform operational precision, improved the arithmetic speed of idct transform greatly, and reduced too much consumption to the system hardware and software resource, therefore satisfied the demand of modern real time communication business preferably.
(3) last corresponding 64 output result signals also will finishing the IDCTAAN process chart conversion process shown in Fig. 4 (be designated as Block1[i] [j], i, j=0,1 ..., 7) carry out the following reprocessing of dwindling respectively:
Block1[i][j]=(Block1[i][j])>>P 1=(Block1[i][j])>>18;
Thereby the idct transform of two dimension 8 * 8 dot image signals after the inventive method that finally the is applied principle is handled the output end value.
Be that hypothesis is in the idct transform processing procedure based on AAN among above-mentioned first embodiment, use 32 shift register and accumulator fix a point respectively shifting processing and fixed point accumulation process, certainly can also use 24 shift register and accumulator fix a point respectively shifting processing and fixed point accumulation process here, taking and energy consumption when reducing to realize the inventive method principle to chip area based on hardware.When selecting for use 24 shift register and accumulator to fix a point shifting processing and fixed point accumulation process respectively, the default first amplification coefficient P in the above-mentioned first embodiment processing procedure 1Preferably adopt 12, amplify that to revise two integer constant matrixes that round processing as follows respectively thereby obtain 64 conversion coefficients to 8 * 8 dot image signal initial inputs:
Coef 0 = 512 652 946 369 512 1856 392 435 652 829 1204 470 652 2362 499 554 946 1204 1748 682 946 3429 724 805 369 470 682 266 369 1338 283 314 512 652 946 369 512 1856 392 435 1856 2362 3429 1338 1856 6726 1420 1578 392 499 724 283 392 1420 300 333 435 554 805 314 435 1578 333 370 ;
Coef 1 = 0 - 2 0 1 0 - 1 - 1 3 - 2 3 0 - 1 - 2 0 - 1 1 0 0 0 0 0 0 0 - 3 1 - 1 0 1 1 0 - 3 0 0 - 2 0 1 0 - 1 - 1 3 - 1 0 0 0 - 1 1 2 1 - 1 - 1 0 - 3 - 1 2 0 2 3 1 - 3 0 3 1 2 2 ;
Other implementation procedures repeat no more here with first embodiment.
Second embodiment: as shown in Figure 5, after using the inventive method principle, the idct transform based on AAN among above-mentioned prior art Fig. 1 is handled and is upgraded flow chart, wherein in this second embodiment, no matter in idct transform processing procedure based on AAN, use 32 shift register and the accumulator accumulating operation that is shifted to handle, also be to use 24 shift register and the accumulator accumulating operation that is shifted to handle, it is all similar respectively that it carries out the implementation procedure narrated among process that idct transform handles and above-mentioned first embodiment to 8 * 8 dot image signals, and its specific implementation process please refer to the associated description among above-mentioned first embodiment.
Method principle corresponding to the above-mentioned proposition of the present invention, the proposition that the present invention is also corresponding here a kind of inverse discrete cosine transform device, as shown in Figure 6, the main composition structured flowchart of the inverse discrete cosine transform device that proposes for the present invention, it mainly comprises conversion coefficient processing unit 10, unit 20 and the result data processing unit 30 of adding up that be shifted, and wherein the concrete effect of each component units is as follows:
Conversion coefficient processing unit 10 is mainly used in the idct transform processing procedure of digital signal being carried out based on the AAN algorithm, respectively each conversion coefficient of initial input is amplified to revise to round processing;
The displacement unit 20 that adds up is mainly used in each conversion coefficient amplified through above-mentioned conversion coefficient processing unit 10 and revises the idct transform process that rounds after the processing, based on the corresponding floating-point multiplication that occurs in the fixed point displacement accumulating operation alternative transforms process;
Result data processing unit 30 is mainly used in the above-mentioned displacement unit 20 that adds up is carried out the corresponding processing of dwindling respectively based on each final idct transform result data of the corresponding floating-point multiplication that occurs in the fixed point displacement accumulating operation alternative transforms process.
Further please refer to Fig. 7, this figure is the concrete composition structured flowchart of conversion coefficient processing unit in apparatus of the present invention, wherein conversion coefficient processing unit 10 comprises that specifically matrix amplifies subelement 110, first matrix determines that subelement 120, matrix of differences are asked for subelement 130, second matrix determines that subelement 140 and transform coefficient matrix amplify subelement 150, and wherein each concrete effect of forming subelement is as follows:
Matrix amplifies subelement 110, is used for based on first amplification coefficient each element of floating-point parameter matrix of digital signal being carried out processing and amplifying respectively, obtains corresponding amplification floating-point parameter matrix;
First matrix is determined subelement 120, is used for above-mentioned matrix is amplified each element of amplification floating-point parameter matrix after subelement 110 processing and amplifying revising respectively and rounding processing based on rounding corrected parameter, obtains corresponding first and amplifies to revise and round matrix;
Matrix of differences is asked for subelement 130, be used for calculating respectively that above-mentioned matrix amplifies that amplification floating-point parameter matrix relevant position element and above-mentioned first matrix after subelement 110 processing and amplifying determine that subelement 120 obtains first amplifies to revise and round the difference between the element of relevant position in the matrix, obtain the matrix of differences of correspondence;
Second matrix is determined subelement 140, be used for above-mentioned matrix of differences is asked for each element of matrix of differences that subelement 130 obtains amplifying respectively to revise and rounding processing, obtain corresponding second and amplify to revise and round matrix based on second amplification coefficient and the above-mentioned corrected parameter that rounds;
Transform coefficient matrix amplifies subelement 150, be used for first amplifying revise that the element that rounds the matrix relevant position and second matrix determine that subelement 140 obtains second amplify and revise the element that rounds relevant position in the matrix and respectively the element of same position in the primary input transition coefficient matrix of digital signal is carried out corresponding processing and amplifying, revise the purpose that rounds processing thereby reach each conversion coefficient of initial input carried out to amplify based on what above-mentioned first matrix determined that subelement 120 obtains.
Further please refer to Fig. 8, this figure is the add up concrete composition structured flowchart of unit of displacement in apparatus of the present invention, wherein the displacement unit 20 that adds up specifically comprises conversion subelement 210, displacement add up output bear fruit unit 220 and input value addition subelement 230, and wherein each concrete effect of forming subelement is as follows:
Conversion subelement 210 is used for utilizing aw at the idct transform process based on different input value a, b 1+ bw 2Each varitron process of output valve is asked in computing, by inciting somebody to action constant value w wherein 1And w 2Dissolve and be binary form, with aw 1+ bw 2Computing is converted to
Figure C20061009025000261
Computing, wherein m i, n iValue is 0 or 1 respectively;
Input value addition subelement 230 is used for calculating in displacement the bear fruit unit 220 of output that adds up
Figure C20061009025000262
End value before, precompute
Figure C20061009025000263
In different input value a, b sum a+b;
The displacement output unit 220 that bears fruit that adds up is used for the result of calculation according to above-mentioned input value addition subelement 230, calculates based on fixed point displacement accumulating operation that above-mentioned conversion subelement 210 changes out End value, and with the output valve of result of calculation value as the correspondent transform subprocess.
The wherein above-mentioned displacement unit 20 that adds up can adopt 24 displacement accumulation processor to realize, also can adopt 32 displacement accumulation processor to realize.
Wherein the input value a that mentions in the said apparatus, b can but be not limited to be respectively digital signal carried out the digital signal conversion value of idct transform when handling, or be the median in the idct transform processing procedure; Can also be respectively the image coefficient piece element value when in the compressed image decode procedure, carrying out the idct transform processing, or be respectively the median in the idct transform processing procedure.
Realize that for other the concrete technology in the inverse discrete cosine transform device of the present invention details can realize the description of details with reference to the correlation technique in the above-mentioned discrete cosine inverse transformation method of the present invention, no longer gives too much to give unnecessary details here.
In addition, because the algorithm structure of dct transform and idct transform is similar, so relevant dct transform based on the AAN algorithm is handled equally and can just no longer be given too much to give unnecessary details here with reference to the idct transform processing procedure that the present invention is based on the AAN algorithm.
Obviously, those skilled in the art can carry out various changes and modification to the present invention and not break away from the spirit and scope of the present invention.Like this, if of the present invention these are revised and modification belongs within the scope of claim of the present invention and equivalent technologies thereof, then the present invention also is intended to comprise these changes and modification interior.

Claims (21)

1, a kind of discrete cosine inverse transformation method is characterized in that, comprises step:
In the inverse discrete cosine transform processing procedure of the transformation coefficient block in the image encoding being carried out, respectively each conversion coefficient in the transformation coefficient block of initial input is amplified correction and round processing based on the AAN algorithm;
Revise the conversion process that rounds after the processing for each conversion coefficient through amplifying, based on the corresponding floating-point multiplication that occurs in the fixed point displacement accumulating operation alternative transforms process;
Each final inverse discrete cosine transform result data based on the corresponding floating-point multiplication that occurs in the fixed point displacement accumulating operation alternative transforms process is carried out the corresponding processing of dwindling respectively.
2, the method for claim 1 is characterized in that, described transformation coefficient block refers to two dimension 8 * 8 dot factor matrixes in the image encoding.
3, method as claimed in claim 2, it is characterized in that, described each conversion coefficient in the transformation coefficient block of initial input is amplified to revise round processing and specifically be meant: amplify based on first and revise the correspondence position element and second that rounds in the matrix and amplify and revise the correspondence position element that rounds in the matrix and respectively the same position coefficient element in two dimension 8 * 8 dot factor matrixes is amplified to revise and round processing.
4, method as claimed in claim 3 is characterized in that, each the coefficient element in two dimension 8 * 8 dot factor matrixes is carried out following amplification correction round processing:
Block[i][j]=Block[i][j]×Coef0[i][j]+((Block[i][j]×Coef1[i][j])>>P 2);
And to the coefficient element B lock[0 in the coefficient matrix] [0] carry out following processing and amplifying:
Block[0][0]=Block[0][0]+(1<<(P 1-1));
Block[i wherein] [j] refer to the coefficient element in two dimension 8 * 8 dot factor matrixes, i, j=0,1 ..., 7; P 1And P 2Be two default amplifying parameters; Coef0 refers to that the first amplification correction rounds matrix, and Coef1 refers to that the second amplification correction rounds matrix.
5, method as claimed in claim 4 is characterized in that, the described first amplification correction rounds Matrix C oef0 and determines according to following processing procedure:
Default one rounds corrected parameter Δ τ;
Based on Coef[i] each element in 8 * 8 floating-point parameter matrixs of [j] expression, i, j=0,1 ..., 7;
Respectively to each the Elements C oef[i in the described floating-point parameter matrix] [j] carry out following processing and amplifying:
Coef[i][j]=Coef[i][j]×(1<<P 1);
Then respectively to each the Elements C oef[i after the processing and amplifying] [j] carry out the following processing that rounds:
Coef0[i] and [j]=(int) (Coef[i] [j]+Δ τ), obtain the first amplification correction and round Matrix C oef0.
6, method as claimed in claim 4 is characterized in that, the described second amplification correction rounds Matrix C oef1 and determines according to following processing procedure:
Default one rounds corrected parameter Δ τ;
Based on Coef[i] each element in 8 * 8 floating-point parameter matrixs of [j] expression, i, j=0,1 ..., 7;
Respectively to each the Elements C oef[i in the described floating-point parameter matrix] [j] carry out following processing and amplifying:
Coef[i][j]=Coef[i][j]×(1<<P 1);
Then respectively to each the Elements C oef[i after the processing and amplifying] [j] carry out the following processing that rounds:
Coef0[i] and [j]=(int) (Coef[i] [j]+Δ τ), obtain the first amplification correction and round Matrix C oef0;
Calculate the relevant position Elements C oef[i in the floating-point parameter matrix after the described processing and amplifying respectively] [j] and described first amplify revise the relevant position Elements C oef0[i that rounds in the matrix] difference of [j]:
Coef[i] [j]=Coef[i] [j]-Coef0[i] [j], obtain corresponding matrix of differences;
Respectively to each the Elements C oef[i in the described matrix of differences] [j] carry out following processing:
Coef1[i] [j]=(int) (Coef[i] [j] * (1<<P 2)+Δ τ), obtain the second amplification correction and round Matrix C oef1.
7, method as claimed in claim 5 is characterized in that,
Each Elements C oef[i in described 8 * 8 floating-point parameter matrixs] [j]=A i* A j, wherein A 0 = 1 2 2 , A 1 = 1 4 C 5 , A 2 = cos ( π / 8 ) 2 , A 3 = 1 4 C 1 , A 4 = 1 2 2 , A 5 = 1 4 C 7 , A 6 = cos ( 3 π / 8 ) 2 , A 7 = 1 4 C 3 , C i = cos iπ 16 ;
Described P 1=18, P 2=3, Δ τ=0.5;
The described first amplification correction rounds Matrix C oef0 and is:
Coef 0 = 32768 41706 60547 23624 32768 118768 25080 27867 41706 53081 77062 30068 41706 151163 31920 35468 60547 77062 111877 43652 60547 219455 46341 51491 23624 30068 43652 17032 23624 85627 18081 20091 32768 41706 60547 23624 32768 118768 25080 27867 118768 151163 219455 85627 118768 430476 90901 101004 25080 31920 46341 18081 25080 90901 19195 21328 27867 35468 51491 20091 27867 01004 21328 23699 .
8, method as claimed in claim 5 is characterized in that,
Each Elements C oef[i in described 8 * 8 floating-point parameter matrixs] [j]=A i* A j, wherein A 0 = 1 2 2 , A 1 = 1 4 C 5 , A 2 = cos ( π / 8 ) 2 , A 3 = 1 4 C 1 , A 4 = 1 2 2 , A 5 = 1 4 C 7 , A 6 = cos ( 3 π / 8 ) 2 , A 7 = 1 4 C 3 , C i = cos iπ 16 ;
Described P 1=12, P 2=3, Δ τ=0.5;
The described first amplification correction rounds Matrix C oef0 and is:
Coef 0 = 512 652 946 369 512 1856 392 435 652 829 1204 470 652 2362 499 554 946 1204 1748 682 946 3429 724 805 369 470 682 266 369 1338 283 314 512 652 946 369 512 1856 392 435 1856 2362 3429 1338 1856 6726 1420 1578 392 499 724 283 392 1420 300 333 435 554 805 314 435 1578 333 370 .
9, method as claimed in claim 6 is characterized in that,
Each Elements C oef[i in described 8 * 8 floating-point parameter matrixs] [j]=A i* A j, wherein A 0 = 1 2 2 , A 1 = 1 4 C 5 , A 2 = cos ( π / 8 ) 2 , A 3 = 1 4 C 1 , A 4 = 1 2 2 , A 5 = 1 4 C 7 , A 6 = cos ( 3 π / 8 ) 2 , A 7 = 1 4 C 3 , C i = cos iπ 16 ;
Described P 1=18, P 2=3, Δ τ=0.5;
The described second amplification correction rounds Matrix C oef1 and is:
Coef 1 = 0 - 2 3 3 0 0 - 4 - 1 - 2 3 2 2 - 2 0 2 - 2 3 2 0 2 3 0 0 2 3 2 2 2 3 - 1 2 - 1 0 - 2 3 3 0 0 - 4 - 1 0 0 0 - 1 0 0 0 0 - 4 2 0 2 - 4 0 1 3 - 1 - 2 2 - 1 - 1 0 3 - 2 .
10, method as claimed in claim 6 is characterized in that,
Each Elements C oef[i in described 8 * 8 floating-point parameter matrixs] [j]=A i* A j, wherein A 0 = 1 2 2 , A 1 = 1 4 C 5 , A 2 = cos ( π / 8 ) 2 , A 3 = 1 4 C 1 , A 4 = 1 2 2 , A 5 = 1 4 C 7 , A 6 = cos ( 3 π / 8 ) 2 , A 7 = 1 4 C 3 , C i = cos iπ 16 ;
Described P 1=12, P 2=3, Δ τ=0.5;
The described second amplification correction rounds Matrix C oef1 and is:
Coef 1 = 0 - 2 0 1 0 - 1 - 1 3 - 2 3 0 - 1 - 2 0 - 1 1 0 0 0 0 0 0 0 - 3 1 - 1 0 1 1 0 - 3 0 0 - 2 0 1 0 - 1 - 1 3 - 1 0 0 0 - 1 1 2 1 - 1 - 1 0 - 3 - 1 2 0 2 3 1 - 3 0 3 1 2 2 .
11, the method for claim 1 is characterized in that, the process of the corresponding floating-point multiplication that occurs in the accumulating operation alternative transforms that is shifted based on the fixing a point process specifically comprises:
At utilizing aw based on different input value a, b in the conversion process 1+ bw 2Each varitron process of output valve is asked in computing, by with constant value w 1And w 2Dissolve and be binary form, with aw 1+ bw 2Computing is converted to
Figure C2006100902500005C12
Computing, wherein m i, n iValue is 0 or 1 respectively, and t is a positive integer; And
Calculating is respectively changed out based on fixed point displacement accumulating operation End value, and with the output valve of result of calculation value as the correspondent transform subprocess, wherein, the transformed value when described input value a, b are respectively the transformation coefficient block in the image encoding carried out inverse discrete cosine transform and handle; Or be the median in the inverse discrete cosine transform processing procedure; Or the image coefficient piece element value when in the compressed image decode procedure, carrying out inverse discrete cosine transform and handle.
12, as claim 1 or 11 described methods, it is characterized in that, based on 24 shift registers and the accumulator accumulating operation that is shifted of fixing a point.
13, as claim 1 or 11 described methods, it is characterized in that, based on 32 shift registers and the accumulator accumulating operation that is shifted of fixing a point.
14, method as claimed in claim 11 is characterized in that, is calculating
Figure C2006100902500006C1
End value before also comprise the step of calculating different input value a, b sum a+b in advance.
15, method as claimed in claim 4 is characterized in that, respectively to each final inverse discrete cosine transform result data Block1[i] [j], i, j=0,1 ..., 7 dwindling of execution are treated to:
Block1[i][j]=(Block1[i][j])>>P 1
16, a kind of inverse discrete cosine transform device is characterized in that, comprising:
The conversion coefficient processing unit is used in the transformation coefficient block to image encoding carries out inverse discrete cosine transform processing procedure based on the AAN algorithm, respectively each conversion coefficient in the transformation coefficient block of initial input is amplified to revise to round processing;
The displacement unit that adds up is used for each conversion coefficient amplified through the conversion coefficient processing unit and revises the conversion process that rounds after the processing, based on the corresponding floating-point multiplication that occurs in the fixed point displacement accumulating operation alternative transforms process;
The result data processing unit is used for add up each final inverse discrete cosine transform result data of the corresponding floating-point multiplication that the unit occurs based on fixed point displacement accumulating operation alternative transforms process of displacement is carried out the corresponding processing of dwindling respectively.
17, device as claimed in claim 16 is characterized in that, described conversion coefficient processing unit specifically comprises:
Matrix amplifies subelement, is used for based on first amplification coefficient, respectively each element in the floating-point parameter matrix of the transformation coefficient block in the image encoding is carried out processing and amplifying, obtains corresponding amplification floating-point parameter matrix;
First matrix is determined subelement, is used for based on rounding corrected parameter each element correction that matrix amplifies the amplification floating-point parameter matrix after the subelement processing and amplifying being rounded processing, obtains corresponding first and amplifies to revise and round matrix;
Matrix of differences is asked for subelement, what be used for that element that compute matrix respectively amplifies the amplification floating-point parameter matrix relevant position after the subelement processing and amplifying and first matrix determine that subelement obtains first amplifies the difference of revising between the element that rounds relevant position in the matrix, obtains the matrix of differences of correspondence;
Second matrix is determined subelement, is used for based on second amplification coefficient and rounds corrected parameter respectively matrix of differences being asked for each element of matrix of differences that subelement obtains and amplifying to revise and round processing, obtains corresponding second and amplifies to revise and round matrix;
Transform coefficient matrix amplifies subelement, is used for first amplifying revise that the element that rounds the matrix relevant position and second matrix determine that subelement obtains second amplify and revise the element that rounds relevant position in the matrix and respectively the element of same position in the transform coefficient matrix of described initial input is carried out processing and amplifying based on what first matrix determined that subelement obtains.
18, device as claimed in claim 16 is characterized in that, the described displacement unit that adds up specifically comprises:
The conversion subelement is used for utilizing aw at conversion process based on different input value a, b 1+ bw 2Each varitron process of output valve is asked in computing, by with constant value w 1And w 2Dissolve and be binary form, with aw 1+ bw 2Computing is converted to
Figure C2006100902500007C1
Computing, wherein m i, n iValue is 0 or 1 respectively, and t is a positive integer;
Displacement adds up and exports the unit that bears fruit, and is used for changing out based on fixed point displacement accumulating operation calculating conversion subelement
Figure C2006100902500007C2
End value, and with the output valve of result of calculation value as the correspondent transform subprocess, wherein, the transformed value when described input value a, b are respectively the transformation coefficient block in the image encoding carried out inverse discrete cosine transform and handle; Or be the median in the inverse discrete cosine transform processing procedure; Or the image coefficient piece element value when in the compressed image decode procedure, carrying out inverse discrete cosine transform and handle.
19, device as claimed in claim 18 is characterized in that, the described displacement unit that adds up specifically also comprises input value addition subelement, is used in the described displacement output subunit computes as a result that adds up End value before, calculate described
Figure C2006100902500008C2
In different input value a, b sum a+b.
As claim 16,18 or 19 described devices, it is characterized in that 20, the described displacement unit that adds up is 24 a displacement accumulation processor.
As claim 16,18 or 19 described devices, it is characterized in that 21, the described displacement unit that adds up is 32 a displacement accumulation processor.
CN 200610090250 2006-03-28 2006-07-07 Discrete cosine inverse transformation method and device thereof Expired - Fee Related CN100562111C (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 200610090250 CN100562111C (en) 2006-03-28 2006-07-07 Discrete cosine inverse transformation method and device thereof

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN200610066200 2006-03-28
CN200610066200.2 2006-03-28
CN 200610090250 CN100562111C (en) 2006-03-28 2006-07-07 Discrete cosine inverse transformation method and device thereof

Publications (2)

Publication Number Publication Date
CN101047849A CN101047849A (en) 2007-10-03
CN100562111C true CN100562111C (en) 2009-11-18

Family

ID=38772004

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200610090250 Expired - Fee Related CN100562111C (en) 2006-03-28 2006-07-07 Discrete cosine inverse transformation method and device thereof

Country Status (1)

Country Link
CN (1) CN100562111C (en)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101316367B (en) * 2008-06-03 2010-06-09 北京大学 Two-dimension inverse transformation method of video encoding and decoding standard, and its implementing circuit
US9110849B2 (en) 2009-04-15 2015-08-18 Qualcomm Incorporated Computing even-sized discrete cosine transforms
US9069713B2 (en) 2009-06-05 2015-06-30 Qualcomm Incorporated 4X4 transform for media coding
US9118898B2 (en) * 2009-06-24 2015-08-25 Qualcomm Incorporated 8-point transform for media data coding
US9081733B2 (en) 2009-06-24 2015-07-14 Qualcomm Incorporated 16-point transform for media data coding
US9075757B2 (en) 2009-06-24 2015-07-07 Qualcomm Incorporated 16-point transform for media data coding
US8451904B2 (en) * 2009-06-24 2013-05-28 Qualcomm Incorporated 8-point transform for media data coding
CN102547263B (en) * 2010-12-27 2016-09-14 联芯科技有限公司 The inverse discrete cosine transform of variable complexity is tabled look-up fast algorithm
CN102200963B (en) * 2010-12-28 2013-06-19 上海山景集成电路股份有限公司 Method of fixed-point inverse modified discrete cosine transform for audio decoding
US9824066B2 (en) 2011-01-10 2017-11-21 Qualcomm Incorporated 32-point transform for media data coding
CN107608714B (en) * 2017-09-30 2020-06-30 广州酷狗计算机科技有限公司 Byte alignment method, device and computer readable storage medium
CN110856000B (en) 2019-10-22 2020-10-27 深圳市华星光电技术有限公司 Image decompression method and device
CN112637606B (en) * 2020-12-30 2023-07-14 乐鑫信息科技(上海)股份有限公司 Two-dimensional DCT/IDCT apparatus and method, and JPEG encoding/decoding apparatus and method
CN112911289B (en) * 2021-05-10 2021-08-17 杭州雄迈集成电路技术股份有限公司 DCT/IDCT transformation optimization method and system

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
A new algorithm to compute the discrete cosine transform. B. G Lee.IEEE Trans.Acoust,Speech,signal Processing,Vol.ASSP-32 . 1984 *
A new algorithm to compute the discrete cosine transform. B.G Lee.IEEE Trans.Acoust,Speech,signal Processing,Vol.ASSP-32. 1984 *

Also Published As

Publication number Publication date
CN101047849A (en) 2007-10-03

Similar Documents

Publication Publication Date Title
CN100562111C (en) Discrete cosine inverse transformation method and device thereof
CN100463522C (en) Improved block transform and quantization for image and video coding
US7127482B2 (en) Performance optimized approach for efficient downsampling operations
EP0661886A2 (en) Method and apparatus for fast digital signal decoding
CN1697328B (en) Fast video codec transform implementations
CN100531393C (en) Method for discrete cosine transform and reverse discrete cosine transform of pipeline structure
WO2008002881A3 (en) Reduction of errors during computation of inverse discrete cosine transform
CN100563337C (en) Integer transform based on AVS quantizes and the integral inverse transform quantification method
US6317767B2 (en) Methods and systems for performing short integer chen IDCT algorithm with fused multiply/add
KR19990022657A (en) Discrete Cosine Transformation Computation Circuit
CN1193621C (en) Approximate IDCT for scalable video and image decoding of computational complexity
US20060117078A1 (en) Performance optimized approach for efficient numerical computations
US20010033617A1 (en) Image processing device
EP1416738A3 (en) Adaptive DCT/IDCT apparatus based on energy and method for controlling the same
Walmsley et al. A fast picture compression technique
Vishwanath et al. A common architecture for the DWT and IDWT
CN112911289B (en) DCT/IDCT transformation optimization method and system
CN1526103B (en) Discrete cosine transform device
US7555510B2 (en) Scalable system for inverse discrete cosine transform and method thereof
CN100388316C (en) High-precision number cosine converting circuit without multiplier and its conversion
CN101001378A (en) Method of quick discrete cosine transform and quick reverse discrete cosine transform and its device
JPH0644291A (en) Discrete cosine converter and information encoder
CN101552009B (en) Quantitative method and apparatus in MP3 coding
WO2006126377A1 (en) Matrix operating device
CN100562115C (en) Filtering method and device in a kind of MPEG4 file decoding process

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20091118

Termination date: 20170707

CF01 Termination of patent right due to non-payment of annual fee