CN102547263B - The inverse discrete cosine transform of variable complexity is tabled look-up fast algorithm - Google Patents
The inverse discrete cosine transform of variable complexity is tabled look-up fast algorithm Download PDFInfo
- Publication number
- CN102547263B CN102547263B CN201010607560.5A CN201010607560A CN102547263B CN 102547263 B CN102547263 B CN 102547263B CN 201010607560 A CN201010607560 A CN 201010607560A CN 102547263 B CN102547263 B CN 102547263B
- Authority
- CN
- China
- Prior art keywords
- matrix
- discrete cosine
- cosine transform
- inverse discrete
- inquiry table
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Complex Calculations (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
The present invention discloses the inverse discrete cosine transform of a kind of variable complexity and tables look-up fast algorithm, primarily to the redundant operation reduced in original acceleration IDCT algorithm, further speeds up the calculating speed of IDCT module and designs.First DCT coefficient matrix F after inverse quantization, is disassembled into Multi-Nominal Matrix and is added by the present invention;Then, respectively the every matrix obtained after disassembling is carried out inverse discrete cosine transform;Finally, the every matrix after inverse discrete cosine transform is added tries to achieve and go back original matrix f.Algorithm of the present invention decreases the redundant computation in original algorithm, effectively accelerates the calculating speed of inverse discrete cosine transform.
Description
Technical field
The present invention relates to digital picture and technical field of video compression, particularly relate to a kind of JPEG, MPEG, H26X compression
In standard, the inverse discrete cosine transform of the variable complexity of IDCT (inverse discrete cosine transform) module is tabled look-up the realization of fast algorithm.
Background technology
The positive inverse transformation of discrete cosine be current most of multimedia compression standard important component part (including: JPEG,
MPEG、H26X).The discrete cosine transform (2D-DCT) of two dimension, by space-domain signal redistributed power, makes containing major part energy
The low frequency component of amount concentrates in together, and uses different lossy compression method strategies according to Energy distribution, makes energy be lost in frequency domain
Controlled.And the frequency-region signal after compression is reverted to spatial domain by inverse discrete cosine transform (2D-IDCT), coordinate shape with other modules
Becoming optical signal, idiographic flow is shown in Fig. 1.DCT's and IDCT is computationally intensive, in the occasion that requirement of real-time is the highest, and can be quick
Complete the key during IDCT has just become decoding.
The one-dimensional discrete cosine transform formula of 8 is as follows:
Wherein, x, u=0,1 ... 6,7.
The two-dimension discrete cosine transform formula of 8 × 8 matrixes is as follows:
Wherein, x, y, u, v=0,1 ... 6,7.
(u is v) that in DCT coefficient matrix, (u, v) value of position, (x, y) for going back (x, y) value of position in original matrix for f to F.
Existing two-dimension discrete cosine transform technology is based primarily upon the extension of one-dimensional discrete cosine transform (1D-IDCT), first
Afterwards DCT coefficient matrix is both horizontally and vertically performed 1D-IDCT, i.e. complete 2D-IDCT.Week according to trigonometric function
Phase property and half-wave odd symmetry, mainly use butterfly computation (such as Fig. 2) to accelerate 1D-IDCT.The 1D-IDCT of 8 needs 24 times
Multiplication and 24 sub-additions, and the two-dimentional IDCT of 8 × 8 matrixes needs 384 multiplication and 384 sub-additions.In order to further speed up
IDCT, at IDCT module outer layer, to 8 × 8 stand growth model in addition labelling, does not perform IDCT, permissible in the case of stand growth model is a lot
Save a lot of computing.
Shortcoming that prior art exists and problem following some:
1, prior art exists substantial amounts of multiplication and additive operation.
2, fixing computational burden.What prior art was the most rough has distinguished stand growth model and non-full zero block, in DCT coefficient matrix
Even if whole matrix to be also complete IDCT by only one of which nonzero coefficient;
3 are difficult to couple with other modules, it is not easy to realize parallel.IDCT have to wait until all systems in DCT coefficient matrix
Number is just carried out when all decoding complete, in addition it is also necessary to open up and initialize the caching depositing DCT coefficient matrix.
Summary of the invention
In order to overcome the problem of above-mentioned shortcoming and existence, the present invention provides the discrete cosine inversion of a kind of variable complexity
Change fast algorithm of tabling look-up, decrease the number of times of IDCT addition and multiplication, and then accelerate the calculating speed of IDCT module.
For reaching above-mentioned purpose, the inverse discrete cosine transform of variable complexity of the present invention is tabled look-up fast algorithm, including
Following steps:
(1) the DCT coefficient matrix F after inverse quantization is transformed into the form of Multi-Nominal Matrix sum;
(2) respectively every matrix is carried out inverse discrete cosine transform;
(3) the every matrix after inverse discrete cosine transform is added tries to achieve and go back original matrix f.
Further, also include: using the every matrix after inverse discrete cosine transform as constant, set up inquiry table;
Step (3) also includes: by retrieving described inquiry table, find out the every matrix after inverse discrete cosine transform.
Further, for improving the calculating speed of the present invention further, described step (2) also includes: according to required precision,
It is amplified rounding process to the element in the every matrix after inverse discrete cosine transform;
Described step (3) also includes: each element going back in original matrix f tried to achieve reduces identical with amplification times
Number, obtains going back original matrix f ' after precision controlling.
Especially, described step (1) particularly as follows:
DCT coefficient matrix F after inverse quantization is transformed to:
F=F (0,0) × I00+ ...+F (u, v) × Iuv+ ...+F (n, n) × Inn
Wherein, u, v=0,1 ... 6, n, n are line number and the columns of matrix F, and (u v) represents in DCT coefficient matrix F F
(u, v) value of position, IuvRepresent only (u, v) position is 1, and other positions are the matrix of 0;
Described step (2) particularly as follows:
To non-zero F (u, v) corresponding I in the DCT coefficient matrix F after disassemblinguvCarry out inverse discrete cosine transform and obtain matrix
iuv,
Step (3) particularly as follows:
Non-zero F (u, v) and iuvIt is multiplied and again the summation of every product is shown that DCT coefficient matrix F is after inverse discrete cosine transform
Go back original matrix f.
Further, also include: by matrix iuvAs constant, set up inquiry table;
Step (3) also includes: by retrieving described inquiry table, find out matrix iuv。
Wherein, described inquiry table to set up process as follows:
Determine each matrix iuvSymmetrical structure type;
Finding out can be according to matrix iuvSymmetrical structure type recovery go out the elementary cell of whole matrix;
To there is the matrix i of close symmetrical structure typeuvElementary cell list in same inquiry table.
Wherein, the matrix i of described close symmetrical structure typeuvIncluding: all matrixes that symmetrical structure type is identical
iuv, and two matrix i of transposition each otheruvAnd ivu。
Further, based on described inquiry table, the concrete calculating process of described step (3) is as follows:
According to non-zero F (u, v) corresponding to matrix iuv, search inquire about table accordingly, draw non-zero F (u, v) corresponding to
Matrix iuvElementary cell, and with the element multiplication in described elementary cell;
To have close symmetrical structure type matrix iuvEvery result of product be added to cache accordingly;
Matrix in each caching above-mentioned steps drawn is extended superposition, draws and goes back original matrix f.
Further, described step (2) also includes: according to required precision, to matrix iuvIn element be amplified rounding
Process;
Described step (3) also includes: each element going back in original matrix f tried to achieve reduces identical with amplification times
Number, obtains going back original matrix f ' after precision controlling.
The present invention is had the beneficial effect that
1, the present invention effectively reduces addition and multiplication number of times.Compared with the algorithm of existing fixing complexity, this calculation
The computation complexity of method is variable, depends on number and the nonzero coefficient position of nonzero coefficient number, eliminates DCT accurately
Redundancy addition that in coefficient matrix, IDCT is brought by neutral element and multiplication, distinguished Elemental redistribution in DCT coefficient matrix flexibly
Various situations, be distinguished by processing, nonzero coefficient seldom in the case of, it is possible to be greatly improved IDCT calculating speed (
Limiting case, the most only DC coefficient, then have only to 1 multiplication and 1 sub-addition);
2, the present invention utilizes the quickening IDCT's that tables look-up to realize speed, general elementary cell matrix is made table, reduces weight
Multiple calculating;
3 with coefficient decoding, the coupling of inverse quantization module.Decode a nonzero coefficient F (u, v) the most just can be complete every time
Become inverse quantization and IDCT, so use same flow process, add degree of parallelism, eliminate the interface caching between each module and parameter
Transmission, accelerates overall speed.
Accompanying drawing explanation
Fig. 1 is that existing algorithm calculates the flow chart going back original matrix;
Fig. 2 is 8 IDCT butterfly computation schematic diagrams;
Fig. 3 is C1 type symmetrical structure matrix;
Fig. 4 is C2 type symmetrical structure matrix;
Fig. 5 is C3 type symmetrical structure matrix;
Fig. 6 is C4 type symmetrical structure matrix;
Fig. 7 is C5 type symmetrical structure matrix;
Fig. 8 is C6 type symmetrical structure matrix;
Fig. 9 is C7 type symmetrical structure matrix;
Figure 10 is C8 type symmetrical structure matrix;
Figure 11 is C9 type symmetrical structure matrix;
Figure 12 is C10 type symmetrical structure matrix;
Figure 13 is C11 type symmetrical structure matrix;
Figure 14 is C12 type symmetrical structure matrix;
Figure 15 is C13 type symmetrical structure matrix;
Figure 16 is C14 type symmetrical structure matrix;
Figure 17 is C15 type symmetrical structure matrix;
Figure 18 is C16 type symmetrical structure matrix;
Figure 19 is the extension of all coefficient IDCT results and the processing procedure of superposition;
Figure 20 is the calculation flow chart of algorithm of the present invention.
Detailed description of the invention
Below in conjunction with Figure of description, the detailed description of the invention of the present invention is described in detail.
The present invention utilize inverse quantization after DCT coefficient matrix F (u, feature tissue technical scheme v), i.e. the present invention is according to warp
Cross the DCT coefficient matrix F after inverse quantization (u, v) in there is a large amount of null value, and nonzero coefficient focuses mostly on the spy in the matrix upper left corner
Point;By DCT coefficient matrix F, (u, v) disassembles, and has operated IDCT just for nonzero coefficient in matrix, obtains going back original matrix, can be big
Reduce greatly amount of calculation.Mainly comprise the steps that
(1) the DCT coefficient matrix F after inverse quantization is transformed into the form of Multi-Nominal Matrix sum;
(2) respectively every matrix is carried out inverse discrete cosine transform;
(3) the every matrix after inverse discrete cosine transform is added tries to achieve and go back original matrix f.
For improving arithmetic speed further, algorithm of the present invention also includes: by the every base after inverse discrete cosine transform
This cell matrix, as constant, sets up inquiry table;During inverse discrete cosine transform, when running into double counting, can be by looking into
Table obtains, and reduces the number of times of double counting.I.e. in step (3), by retrieving described inquiry table, find out through discrete cosine inversion
Every matrix after changing;Then it is added to try to achieve by the every matrix found out and goes back original matrix f.
During actual decoding IDCT, the most directly use floating-point operation, in order to improve calculating speed, typically will be floating
Point processing is converted into fixed-point calculation.Algorithm of the present invention is in order to realize fixed-point calculation, and described step (2) also should include: foundation
Required precision, is amplified rounding process to the element in the every matrix after inverse discrete cosine transform;
Described step (3) also should include: each element going back in original matrix f tried to achieve reduces identical with amplification times
Number, obtains going back original matrix f ' after precision controlling.
In a specific embodiment, the present embodiment is the inverse discrete cosine transform of the variable complexity as a example by 8 × 8 matrixes
Tabling look-up fast algorithm, it is as follows that it implements step:
For convenience of describing, below the formula (2) in inverse discrete cosine transform formula, i.e. background technology is simplified shown as:
F=IDCT (F) (3)
In formula, f and F respectively goes back original matrix and DCT coefficient matrix;
First, DCT coefficient matrix F is transformed into the form that Multi-Nominal Matrix is added:
Wherein, (u v) represents (u, v) value of position, I in coefficient matrix to FuvRepresent only (u, v) position is 1, other
Position is the matrix of 0.
Then, (3) formula of (4) formula being brought into draws goes back original matrix f:
Wherein, iuvFor IuvAfter idct transform, go back original matrix, claim iuvFor fundamental matrix unit.
The meaning of formula (5) is: by the idct transform of matrix F is converted into 64, with F, (u is v) that weight coefficient is multiplied by
iuvThe superposition of matrix.If time in F containing multiple 0 element, avoid the need for 64 matrixes when of calculating f superimposed;Also
That is, if only 10 nonzero coefficients, then have only to 10 submatrix superpositions, thus eliminate 0 element in F and reduce to calculating
The impact of matrix f, calculates nonzero coefficient in conversion process accurately to the contribution going back original matrix f.
DCT coefficient matrix F is converted into the form shown in formula (4) by the present invention, therefore in all of idct transform all
Same fundamental matrix unit i can be useduv, therefore, it can iuvRegard constant as and make inquiry table, obtain i by look-up tableuv,
Eliminate and calculate IDCT (I every timeuv) burden.The data space that this inquiry table of primary Calculation takies is about 64 × 64=
4096.Considering the most complicated computation complexity, when i.e. 64 positions are all nonzero coefficient, a 8 × 8IDCT needs 64 × 64=
4096 multiplication and 64 × 63=4032 sub-addition.The property of butterfly computation all it is not so good as from data space and computation complexity
Can, so needing compress data space and reduce calculation times.The present invention is according to iuv=IDCT (Iuv) i that calculatesuvHave
Certain symmetric feature greatly reduces data space and reduces calculation times.
As a example by 8 × 8 matrixes, through IDCT (Iuv) 64 i after conversionuv, can be divided into according to the symmetrical structure type of matrix
16 kinds, as shown in Fig. 3~Figure 18, be the elementary cell of matrix in black box in figure, is i.e. tied according to difference by elementary cell
Structure type can recover whole matrix, is equivalent to list all 64 i so these elementary cells are made tableuv.Wherein,
iuvWith ivuTransposition relation each other, their elementary cell element numerical value is the same, and simply position is different, can share a table,
And then reach the purpose in compaction table space, the process of setting up of its inquiry table is:
First, each matrix i is determineduvSymmetrical structure type;
Then, finding out can be according to matrix iuvSymmetrical structure type recovery go out the elementary cell of whole matrix;
Finally, will there is the matrix i of close symmetrical structure typeuvElementary cell list in same inquiry table.
Below in conjunction with the accompanying drawings above-mentioned inquiry table is further described.
The structure of C1 type shown in Fig. 3: belong to the type has: i00, in inquiry table 1, elementary cell element is [a], element number
It is 1;
Inquiry table 1
Symmetrical structure type | Matrix | Elementary cell element |
C1 type | i00 | [a] |
The structure of C2 type shown in Fig. 4: belong to the type has: i04, in inquiry table 2, elementary cell element is [a], element number
It is 1;
Inquiry table 2
Symmetrical structure type | Matrix | Elementary cell element |
C2 type, C3 type | i04, i40 | [a] |
The structure of C3 type shown in Fig. 5: belong to the type has: i40;Wherein, i40With i04Transposition relation each other, i40Can be with i04
Share inquiry table 2;
The structure of C4 type shown in Fig. 6: belong to the type has: i44, in inquiry table 3, elementary cell element is [a], element number
It is 1;
Inquiry table 3
Symmetrical structure type | Matrix | Elementary cell element |
C4 type | i44 | [a] |
The structure of C5 type shown in Fig. 7: belong to the type has: i02And i06, in inquiry table 4, elementary cell element is [a, b],
This inquiry table is contained within two list items and each element number is 2, i.e. the total element number of this table is 2 × 2=4;
Inquiry table 4
Symmetrical structure type | Matrix | Elementary cell element |
C5 type, C6 type | i02, i20 | [a, b] |
i06, i60 | [a, b] |
The structure of C6 type shown in Fig. 8: belong to the type has: i20And i60;Wherein, i20And i60Respectively with i02And i06Turn each other
Put relation, therefore, i20、i02、i60And i06Inquiry table 4, wherein, i can be shared20The i in this inquiry table 4 can be shared02List item, i60Can
Share the i in this inquiry table 406List item;
The structure of C7 type shown in Fig. 9: belong to the type has: i42And i46, in inquiry table 5, elementary cell element is [a, b],
This inquiry table is contained within two list items and each element number is 2, i.e. the total element number of this table is 2 × 2=4;
Inquiry table 5
The structure of C8 type shown in Figure 10: belong to the type has: i24And i64;Wherein, i24And i64Respectively with i42And i46Each other
Transposition relation, i.e. i24、i42、i64And i46Inquiry table 5, wherein, i can be shared24The i in this inquiry table 5 can be shared42List item, i64Can
Share the i in this inquiry table 446List item;
The structure of C9 type shown in Figure 11: belong to the type has: i22、i66、i26And i62, in inquiry table 6, elementary cell element isThis inquiry table is contained within four list items and each element number is 4, wherein i26And i62Transposition can use same list item each other,
Then the total element number of this table is 4 × 3=12;
Inquiry table 6
The structure of C10 type shown in Figure 12: belong to the type has: i01、i03、i05And i07, elementary cell element in inquiry table 7
For [a, b, c, d], this inquiry table is contained within four list items and each element number is 4, i.e. the total element number of this table is 4 × 4=
16;
Inquiry table 7
The structure of C11 type shown in Figure 13: belong to the type has: i10、i30、i50And i70;Wherein, i10、i30、i50And i70Point
Not and i01、i03、i05And i07Transposition relation each other, i.e. i10、i01、i30、i03、i50、i05、i70And i07Inquiry table 7 can be shared.
The structure of C12 type shown in Figure 14: belong to the type has: i41、i43、i45And i47, elementary cell element in inquiry table 8
For [a, b, c, d], this inquiry table is contained within four list items and each element number is 4, i.e. the total element number of this table is 4 × 4=
16;
Inquiry table 8
The structure of C13 type shown in Figure 15: belong to the type has: i14、i34、i54And i74;Wherein, i14、i34、i54And i74Point
Not and i41、i43、i45And i47Transposition relation each other, i.e. i14、i41、i34、i43、i54、i45、i74And i47Inquiry table 8 can be shared;
The structure of C14 type shown in Figure 16: belong to the type has: i21、i23、i25、i27、i61、i63、i65And i67, inquire about table 9
Interior elementary cell element isThis inquiry table is contained within eight list items and each element number is 8, i.e. this table
Total element number is 8 × 8=64;
Inquiry table 9
The structure of C15 type shown in Figure 17: belong to the type has: i12、i22、i52、i72、i16、i36、i56And i76;Wherein, i12、
i32、i52、i72、i16、i36、i56And i76Respectively with i21、i23、i25、i27、i61、i63、i65And i67Transposition relation each other, i.e. i12、
i21、i32、i23、i52、i25、i72、i27、i16、i61、i36、i63、i56、i65、i76And i67Inquiry table 9 can be shared;
The structure of C16 type shown in Figure 18: belong to the type has: i11、i33、i55、i77、i15、i31、i57、i73、i17、i35、
i53、i71、i13、i37、i51And i75, in inquiry table 10, elementary cell element isWherein, iuvWith ivuCan
Sharing same table, therefore this inquiry table is contained within ten list items and each element number is 16, and total element number is 16 × 4+
(16 × 12)/2=160;
Inquiry table 10
In sum, completing the foundation of each inquiry table, the number of all elements of described each inquiry table is: 1+1+1+4+
4+12+16+16+64+160=279.
After having set up elementary cell inquiry table, calculating quickly soon of inverse discrete cosine transform can be carried out by the way of tabling look-up
Method.Calculate final IDCT also original matrix f and need by summation about non-zero DCT coefficients F of diverse location that (u v) is multiplied by iuvAfter pass through again
Add up and obtain, i.e. calculateWherein, iuvCan obtain by the way of tabling look-up.During computation of table lookup,
F (u, v) × iuvCalculating need not F that (u v) is multiplied by iuvIn all 64 elements, it is only necessary to be multiplied by elementary cell
Element, then adds up result of product inside elementary cell, the IDCT result that finally extension reduction is final.
The highest (to above by looking into as a example by the calculating of the most all DCT coefficient F (u, v) equal non-zero) with computation complexity below
The mode of table carries out the calculating process of the fast algorithm of inverse discrete cosine transform and is further described, and adds up its amount of calculation.
First, according to non-zero F (u, v) corresponding to matrix iuv, search and inquire about table accordingly, (u, v) institute is right to draw non-zero F
The matrix i answereduvElementary cell, and with the element multiplication in described elementary cell, if: Suv=F (u, v) × iuv
Then, will have close symmetrical structure type matrix iuvEvery result of product be overlapped, and accumulate it
In corresponding caching, wherein, f1-f9In each corresponding caching.
f1=(S00+S04)+(S40+S44): multiplication 1x4=4 time, addition 2+2+4=8 time;
f2=S20+S60)+(S24+S64): multiplication 2x4=8 time, addition 2+2+4=8 time;
f3=(S02+S06)+(S42+S46): multiplication 2x4=8 time, addition 2+2+4=8 time;
f4=(S10+S30+S50+S70+S14+S34+S54+S74): multiplication 4x8=32 time, addition 4x8=32 time;
f5=(S01+S03+S05+S07+S41+S43+S45+S47): multiplication 4x8=32 time, addition 4x8=32 time;
f6=(S22+S66)+(S26+S62): multiplication 4x4=16 time, addition 4x3=12 time;
f7=(S21+S23+S25+S27+S61+S63+S65+S67): multiplication 8x8=64 time, addition 7x8=56 time;
f8=(S12+S32+S52+S72+S16+S36+S56+S76): multiplication 8x8=64 time, addition 7x8=56 time;
f9=(S11+S33+S55+S77+S31+S57+S15+S73+S35+S17+S53+S71+S13+S37+S51+S75): multiplication 16x16
=196 times, addition 16x15=180 time.
Finally, by f1-f9The similar matrix of middle symmetry is first added together, it is possible to reduce addition number of times, so nine squares
Battle array extends superposition again by the order addition of formula (6) and obtains final original matrix of going back:
F={ [(f1+f2)+(f3+f6)]+f9}+[(f4+f8)+(f5+f7)] (6)
Wherein, addition 8+8+16+32+16+16+32+64=192 sub-addition is needed altogether.
The concrete of above-mentioned calculating calculates process as shown in figure 19, and filled arrows represents that overlap-add procedure, hollow arrow represent expansion
Exhibition processes.Such as, if S00Elementary cell be [a1], S04Elementary cell be [a2], according to C1 and C2 type symmetrical structure, need
To [a1] and [a2] do extend after again superposition obtain S00+S04Elementary cell be [a1+a2 a1-a2];In like manner, if S40The most single
Unit is [a3], S44Elementary cell be [a4], obtain S according to C3 and C4 type symmetrical structure40+S44Elementary cell be [a3+a4
a3-a4];F is understood by C1, C2, C3 and C4 type symmetrical structure1=(S00+S04)+(S40+S44) elementary cell beBy that analogy, the cumulative result finally being gone back original matrix after extension.
Under the limiting case that there are 64 nonzero coefficients, calculating complete 8 × 8IDCT complexity is: multiplication 424 times,
Addition 584 times, although more than the complexity of butterfly computation, but the most this situation seldom occurs.Actual DCT coefficient matrix
Only existing a small amount of nonzero coefficient, at this moment algorithm complex can be greatly reduced that (when such as only having DC coefficient, this algorithm has only to 1
Secondary multiplication and 1 sub-addition just can complete), complexity is variable, relevant to nonzero coefficient number and position.Process in encoding and decoding
In, nonzero coefficient number mainly affected by the size of quantized value QP, after tested, H263 decoder decoding QCIF form
Foreman code stream, in the range of QP value 6~30, under same precision, the efficiency of IDCT than conventional butterfly computation improve 40%~
70%.
It addition, during actual decoding IDCT, the most directly use floating-point operation, in order to improve calculating speed, one
As floating-point operation is converted into fixed-point calculation.In algorithm of the present invention, in order to realize fixed-point calculation, need table iuvIn
Element amplifies, rounds process, according to different required precisions, can realize the control to precision by adjusting amplification, this
Sample uses fixed-point data to carry out multiplying accumulating calculating, but need formula (6) cumulative after reduce identical multiple reduction.
Shown in Figure 20, fast algorithm of the inverse discrete cosine transform of variable complexity of the present invention being tabled look-up combines
How decoding and inverse quantization module, realize concurrency to during decoding, be further described.
As the coefficient F drawn after decoding and inverse quantization, (u directly skips when v) being zero, is not IDCT, continues to decode down
One zero coefficient values level and position (u, v);
As the coefficient F drawn after decoding and inverse quantization, (u, when v) being non-zero, draws i by tabling look-upuv, then calculate F (u,
v)×iuvAnd accumulate it f1-f9In in corresponding caching, such as, if the nonzero coefficient F solved (u, position v) be (5,
2), then by S52It is added to f8In corresponding caching;Until all of non-zero F, (u, after v) all having calculated, i.e. decoding runs into
During last==1 signal, by f1-f9Add up by the order of formula (6), draw the result going back original matrix f, i.e. IDCT.
Wherein, f is calculated1-f9Process need be calculated by certain scanning sequency in 8 × 8DCT coefficient matrix F
, and the scanning sequency solving nonzero coefficient from reality decoding is different.If needs general solution nonzero coefficient F (u, v), inverse quantization
And (u, v) three steps of contribution to IDCT merge (as shown in figure 20) then to need to open up 9 cachings right to calculate this coefficient F
Answer f1-f9, total size is 4+4+4+8+8+4+8+8+16=64.
Above, only presently preferred embodiments of the present invention, but protection scope of the present invention is not limited thereto, any it is familiar with basis
Those skilled in the art in the technical scope that the invention discloses, the change that can readily occur in or replacement, all should contain
Within protection scope of the present invention.Therefore, protection scope of the present invention should be as the criterion with the protection domain that claim is defined.
Claims (7)
1. the inverse discrete cosine transform of a variable complexity is tabled look-up fast algorithm, it is characterised in that be applied to digital picture and
Technical field of video compression;
The inverse discrete cosine transform of described variable complexity fast algorithm of tabling look-up comprises the following steps:
(1) the DCT coefficient matrix F after inverse quantization is transformed into the form of Multi-Nominal Matrix sum;Wherein, by the IDCT to described F
Shift conversion is the superposition that the weight coefficient of each position is multiplied by the fundamental matrix unit of relevant position;
(2) respectively every matrix is carried out inverse discrete cosine transform;
(3) by retrieval and inquisition table, the every matrix after inverse discrete cosine transform is found out, after inverse discrete cosine transform
Every matrix is added to try to achieve goes back original matrix f;
Wherein, described inquiry table is by the base obtained after the every matrix in described Multi-Nominal Matrix is carried out inverse discrete cosine transform
This matrix unit is set up as constant and is obtained.
The most according to claim 1, the inverse discrete cosine transform of variable complexity is tabled look-up fast algorithm, it is characterised in that described
Step (2) also includes: according to required precision, be amplified rounding place to the element in the every matrix after inverse discrete cosine transform
Reason;
Described step (3) also includes: each element going back in original matrix f tried to achieve is reduced the multiple identical with amplification,
To going back original matrix f ' after precision controlling.
The most according to claim 1, the inverse discrete cosine transform of variable complexity is tabled look-up fast algorithm, it is characterised in that described
Step (1) particularly as follows:
DCT coefficient matrix F after inverse quantization is transformed to:
F=F (0,0) × l00+ ...+F (u, v) × Iuv+ ...+F (n, n) × Inn
Wherein, u, v=0,1 ..., 6, n;N is line number and the columns of matrix F;F (u, v) represent in DCT coefficient matrix F (u,
V) value of position;IuvRepresent only (u, v) position is 1, and other positions are the matrix of 0;
Described step (2) particularly as follows:
To non-zero F (u, v) corresponding I in the DCT coefficient matrix F after disassemblinguvCarry out inverse discrete cosine transform and obtain matrix iuv,
Step (3) particularly as follows:
Non-zero F (u, v) and iuvIt is multiplied and the summation of every product is drawn DCT coefficient matrix F going back after inverse discrete cosine transform again
Original matrix f.
The most according to claim 3, the inverse discrete cosine transform of variable complexity is tabled look-up fast algorithm, it is characterised in that also wrap
Include: by matrix iuvAs constant, set up inquiry table;
Step (3) also includes: by retrieving described inquiry table, find out matrix iuv。
The most according to claim 4, the inverse discrete cosine transform of variable complexity is tabled look-up fast algorithm, it is characterised in that described
Inquiry table to set up process as follows:
Determine each matrix iuvSymmetrical structure type;
Finding out can be according to matrix iuvSymmetrical structure type recovery go out the elementary cell of whole matrix;
To there is the matrix i of close symmetrical structure typeuvElementary cell list in same inquiry table;
Wherein, the matrix i of described close symmetrical structure typeuvIncluding: all matrix i that symmetrical structure type is identicaluv, and
Two matrix i of transposition each otheruvAnd ivu。
6. table look-up fast algorithm according to the inverse discrete cosine transform of variable complexity described in claim 4 or 5, it is characterised in that
Based on described inquiry table, the concrete calculating process of described step (3) is as follows:
According to non-zero F (u, v) corresponding to matrix iuv, search inquire about table accordingly, draw non-zero F (u, v) corresponding to matrix
iuvElementary cell, and with the element multiplication in described elementary cell;
To have close symmetrical structure type matrix iuvEvery result of product be added to cache accordingly;
Matrix in each caching above-mentioned steps drawn is extended superposition, draws and goes back original matrix f.
7. table look-up fast algorithm according to the inverse discrete cosine transform of variable complexity described in claim 3 or 4, it is characterised in that
Described step (2) also includes: according to required precision, to matrix iuvIn element be amplified rounding process;
Described step (3) also includes: each element going back in original matrix f tried to achieve is reduced the multiple identical with amplification,
To going back original matrix f ' after precision controlling.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010607560.5A CN102547263B (en) | 2010-12-27 | 2010-12-27 | The inverse discrete cosine transform of variable complexity is tabled look-up fast algorithm |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010607560.5A CN102547263B (en) | 2010-12-27 | 2010-12-27 | The inverse discrete cosine transform of variable complexity is tabled look-up fast algorithm |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102547263A CN102547263A (en) | 2012-07-04 |
CN102547263B true CN102547263B (en) | 2016-09-14 |
Family
ID=46353070
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010607560.5A Active CN102547263B (en) | 2010-12-27 | 2010-12-27 | The inverse discrete cosine transform of variable complexity is tabled look-up fast algorithm |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102547263B (en) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI570573B (en) * | 2014-07-08 | 2017-02-11 | 財團法人工業技術研究院 | Circuit for matrix transpose |
CN104992424B (en) * | 2015-07-27 | 2018-05-25 | 北京航空航天大学 | A kind of single pixel based on discrete cosine transform quickly imaging system |
CN105704498A (en) * | 2016-03-17 | 2016-06-22 | 北京大学深圳研究生院 | Method and device for inverse discrete cosine transform, video coding/decoding method and frame |
CN106550267B (en) * | 2016-11-25 | 2019-03-29 | 广州酷狗计算机科技有限公司 | Multimedia messages coding/decoding method and device |
CN113761464B (en) * | 2021-08-25 | 2024-06-21 | 安谋科技(中国)有限公司 | Data processing method, medium and electronic equipment |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1726487A (en) * | 2002-12-16 | 2006-01-25 | 皇家飞利浦电子股份有限公司 | System and method for bit-plane decoding of fine-granularity scalable (FGS) video stream |
CN101047849A (en) * | 2006-03-28 | 2007-10-03 | 华为技术有限公司 | Discrete cosine inverse transformation method and its device |
CN101330616A (en) * | 2008-07-31 | 2008-12-24 | 上海交通大学 | Hardware implementing apparatus and method for inverse discrete cosine transformation during video decoding process |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7068850B2 (en) * | 2001-06-29 | 2006-06-27 | Equator Technologies, Inc. | Decoding of predicted DC coefficient without division |
US7035332B2 (en) * | 2001-07-31 | 2006-04-25 | Wis Technologies, Inc. | DCT/IDCT with minimum multiplication |
GB0124882D0 (en) * | 2001-10-17 | 2001-12-05 | Koninkl Philips Electronics Nv | Improved variable length decoder |
-
2010
- 2010-12-27 CN CN201010607560.5A patent/CN102547263B/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1726487A (en) * | 2002-12-16 | 2006-01-25 | 皇家飞利浦电子股份有限公司 | System and method for bit-plane decoding of fine-granularity scalable (FGS) video stream |
CN101047849A (en) * | 2006-03-28 | 2007-10-03 | 华为技术有限公司 | Discrete cosine inverse transformation method and its device |
CN101330616A (en) * | 2008-07-31 | 2008-12-24 | 上海交通大学 | Hardware implementing apparatus and method for inverse discrete cosine transformation during video decoding process |
Also Published As
Publication number | Publication date |
---|---|
CN102547263A (en) | 2012-07-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102547263B (en) | The inverse discrete cosine transform of variable complexity is tabled look-up fast algorithm | |
CN102075749B (en) | Image compression reconstruction method under compressed sensing frame based on non-convex model | |
Ask et al. | Exploiting p-fold symmetries for faster polynomial equation solving | |
CN104244010A (en) | Method for improving digital signal conversion performance and digital signal conversion method and device | |
Yibo et al. | A minimal adder-oriented 1D DST-VII/DCT-VIII hardware implementation for VVC standard | |
CN104320668A (en) | SIMD optimization method for DCT and IDCT of HEVC/H.265 | |
JP2010081618A5 (en) | ||
CN103985081B (en) | A kind of multiple disorder method of digital picture based on lifting wavelet transform | |
KR101722215B1 (en) | Apparatus and method for discrete cosine transform | |
CN101431676B (en) | Geometric moment invariants image compression method with maximum compression ratio optimization | |
CN104581174B (en) | A kind of high-throughput DCT and IDCT hardware multiplexing arrangement suitable for HEVC standard | |
CN103327332B (en) | The implementation method of 8 × 8IDCT conversion in a kind of HEVC standard | |
CN109255770B (en) | Image transform domain down-sampling method | |
CN118113978B (en) | Data processing method for large complex sparse matrix vector multiplication acceleration calculation | |
CN104683817A (en) | AVS-based methods for parallel transformation and inverse transformation | |
CN103198495B (en) | The texture compression method that importance degree drives | |
CN102227135A (en) | Video coding 8X8 integer transformation method | |
CN114845104B (en) | Conversion core selection method for video coding and code rate fitting calculation circuit | |
Teja et al. | Verilog implementation of fully pipelined and multiplierless 2D DCT/IDCT JPEG architecture | |
Chaithanya Krishna et al. | Hybrid architecture for multiple transforms for signal processing applications | |
CN102333212B (en) | Bilinear two-fold upsampling method and system thereof | |
Rybenkov et al. | 2-D non-separable integer implementation of paraunitary filter bank based on the quaternionic multiplier block-lifting structure | |
CN102333217B (en) | Video coding 4*4 integer transform method | |
CN109451307B (en) | One-dimensional DCT operation method and DCT transformation device based on approximate coefficient | |
CN101583038A (en) | Hardware architecture for SATD fast implementation |
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 | ||
EE01 | Entry into force of recordation of patent licensing contract | ||
EE01 | Entry into force of recordation of patent licensing contract |
Application publication date: 20120704 Assignee: Shanghai Li Ke Semiconductor Technology Co., Ltd. Assignor: Leadcore Technology Co., Ltd. Contract record no.: 2018990000159 Denomination of invention: Inverse discrete cosine transform lookup fast algorithm with variable complexity Granted publication date: 20160914 License type: Common License Record date: 20180615 |