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 PDF

Info

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
Application number
CN201010607560.5A
Other languages
Chinese (zh)
Other versions
CN102547263A (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.)
Leadcore Technology Co Ltd
Original Assignee
Leadcore Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Leadcore Technology Co Ltd filed Critical Leadcore Technology Co Ltd
Priority to CN201010607560.5A priority Critical patent/CN102547263B/en
Publication of CN102547263A publication Critical patent/CN102547263A/en
Application granted granted Critical
Publication of CN102547263B publication Critical patent/CN102547263B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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

The inverse discrete cosine transform of variable complexity is tabled look-up fast algorithm
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:
f ( x ) = 1 2 Σ u = 0 7 C ( u ) · F ( u ) cos ( 2 m + 1 ) πu 16
Wherein, x, u=0,1 ... 6,7.
The two-dimension discrete cosine transform formula of 8 × 8 matrixes is as follows:
f ( x , y ) = 1 4 Σ u = 0 7 Σ v = 0 7 ( C ( u ) · C ( v ) · F ( u , v ) cos ( 2 m + 1 ) πu 16 · cos ( 2 m + 1 ) πv 16 )
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:
f = IDCT ( F ) = F ( 0,0 ) × IDCT ( I 00 ) + F ( 0,1 ) × IDCT ( I 01 ) + . . . . . . F ( 7,7 ) × IDCT ( I 77 )
u Σ u = 0 7 Σ v = 0 7 F ( u , v ) × IDCT ( I uv ) = Σ u = 0 7 Σ v = 0 7 F ( u , v ) × i uv - - - ( 5 )
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.
CN201010607560.5A 2010-12-27 2010-12-27 The inverse discrete cosine transform of variable complexity is tabled look-up fast algorithm Active CN102547263B (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (3)

* Cited by examiner, † Cited by third party
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