CN102333216B - A kind of 16*16 integer transformation method for video coding - Google Patents

A kind of 16*16 integer transformation method for video coding Download PDF

Info

Publication number
CN102333216B
CN102333216B CN201110278235.3A CN201110278235A CN102333216B CN 102333216 B CN102333216 B CN 102333216B CN 201110278235 A CN201110278235 A CN 201110278235A CN 102333216 B CN102333216 B CN 102333216B
Authority
CN
China
Prior art keywords
integer
transformation
transform
matrix
video coding
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
CN201110278235.3A
Other languages
Chinese (zh)
Other versions
CN102333216A (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.)
SHENZHEN YUNZHOU MULTIMEDIA TECHNOLOGY Co Ltd
Original Assignee
SHENZHEN YUNZHOU MULTIMEDIA 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
Priority claimed from CN 201110101437 external-priority patent/CN102137261A/en
Application filed by SHENZHEN YUNZHOU MULTIMEDIA TECHNOLOGY Co Ltd filed Critical SHENZHEN YUNZHOU MULTIMEDIA TECHNOLOGY Co Ltd
Priority to CN201110278235.3A priority Critical patent/CN102333216B/en
Publication of CN102333216A publication Critical patent/CN102333216A/en
Application granted granted Critical
Publication of CN102333216B publication Critical patent/CN102333216B/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

The open a kind of 16*16 integer transformation method for video coding of the present invention, by receiving Image Residual data X of the 16x16 of prediction module output in encoder, choose different integer translation base [27 28 24 23 19 14 9 5] or [15 13 11 11 565 1] and build transformation matrix P;According to transformation matrix P, build scaled matrix PF=ZT*Z;According to Y=PXPTImage Residual data X are carried out direct transform, and according to different integer change bases, uses corresponding integer transform computational methods;Data Y after 16x16 direct transform are zoomed in and out process.The alternative approach energy of the present invention concentrates excellent performance, and encircled energy, close to 16x16DCT, can greatly eliminate video data dependency on transformation space;Computation complexity is low, can be realized by addition and displacement, it is easy to hardware realizes, and operational precision is high, there is not the unmatched problem of positive inverse transformation.

Description

A kind of 16*16 integer transformation method for video coding
Technical field
The present invention relates to technical field of video coding, particularly relate to a kind of 16*16 integer transformation method for video coding.
Background technology
The video coding system of complete set by predicting, convert, quantify, the series of algorithms module such as entropy code forms 's.Wherein between intra frame, prediction is the dependency compression data utilizing video data on room and time.Conversion module be by The Image Residual data of prediction module output by spatial transform to another spatially, make the data of flat distribution in time domain become Change spatially energy to concentrate, the energy of data is largely focused in the low frequency region in space.Compile in quantization subsequently and entropy In code module, can effectively utilize the data distribution characteristics after conversion, compress data further.It is clear that conversion module is Ingredient important in video coding system, the performance of conversion directly affects the performance of video coding system.
In existing video coding system, DCT (discrete cosine transform: Discrete Cosine Transform) converts Being widely used, the energy centrality of its conversion is fine, can greatly eliminate video data on transformation space Dependency.But this algorithm Shortcomings, dct transform matrix is floating point representation, uses substantial amounts of floating-point during calculating Multiplication and addition, take hardware resource many, calculates the big of complexity.Simultaneously because the impact of processor operational bits, floating-point operation is deposited In truncated error, Floating-point Computation precision is the highest, and the positive inverse transformation of DCT can not be mated completely, converts irreversible.
Summary of the invention
The purpose of the embodiment of the present invention is to propose a kind of 16*16 integer transformation method for video coding, it is intended to solve existing Technology dct transform matrix uses floating-point multiplication and addition, takies hardware resource many, calculates the big of complexity, and computational accuracy is the highest, The positive inverse transformation of DCT can not be mated completely, converts irreversible problem.
The method of the embodiment of the present invention is achieved in that a kind of 16*16 integer transformation method for video coding, including:
Receive Image Residual data X of the 16x16 of prediction module output in encoder;
Choose integer translation base, build transformation matrix,
Build 16 take advantage of 16 general purpose integer transformation matrix as follows:
C=[C1 C2], wherein,
C 1 = 1 1 1 1 1 1 1 1 k 1 k 2 k 3 k 4 k 5 k 6 k 7 k 8 k 9 k 10 k 11 k 12 - k 12 - k 11 - k 10 - k 9 k 2 k 5 k 8 - k 6 - k 3 - k 1 - k 4 - k 7 2 1 - 1 - 2 - 2 - 1 1 2 k 3 k 8 - k 4 - k 2 - k 7 k 5 k 1 k 6 k 10 - k 12 - k 9 - k 11 k 11 k 9 k 12 - k 10 k 4 - k 6 - k 2 k 8 k 1 k 7 - k 3 - k 5 1 - 1 - 1 1 1 - 1 - 1 1 k 5 - k 3 - k 7 k 1 - k 8 - k 2 k 6 k 4 k 11 - k 9 k 12 k 10 - k 10 - k 12 k 9 - k 11 k 6 - k 1 k 5 k 7 - k 2 k 4 k 8 - k 3 1 - 2 2 - 1 - 1 2 - 2 1 k 7 - k 4 k 1 - k 3 k 6 k 8 - k 5 k 2 k 12 - k 11 k 10 - k 9 k 9 - k 10 k 11 - k 12 k 8 - k 7 k 6 - k 5 k 4 - k 3 k 2 - k 1
C 2 = 1 1 1 1 1 1 1 1 - k 8 - k 7 - k 6 - k 5 - k 4 - k 3 - k 2 - k 1 - k 9 - k 10 - k 11 - k 12 k 12 k 11 k 10 k 9 k 7 k 4 k 1 - k 3 k 6 - k 8 - k 5 - k 2 2 1 - 1 - 2 - 2 - 1 1 2 - k 6 - k 1 - k 5 k 7 k 2 k 4 - k 8 - k 3 - k 10 k 12 k 9 k 11 - k 11 - k 9 - k 12 k 10 k 5 k 3 - k 7 - k 1 - k 8 k 2 k 6 - k 4 1 - 1 - 1 1 1 - 1 - 1 1 - k 4 - k 6 k 2 k 8 - k 1 k 7 k 3 - k 5 - k 11 k 9 - k 12 - k 10 k 10 k 12 - k 9 k 11 k 3 - k 8 - k 4 k 2 - k 7 - k 5 k 1 - k 6 1 - 2 2 - 1 - 1 2 - 2 1 - k 2 k 5 - k 8 - k 6 k 3 - k 1 k 4 - k 7 - k 12 k 11 - k 10 k 9 - k 9 k 10 - k 11 k 12 k 1 - k 2 k 3 - k 4 k 5 - k 6 k 7 - k 8
In Matrix C, k9=10;K10=9;K11=6;K12=2;
[k1 k2 k3 k4 k5 k6 k7 k8] is integer translation base;
Image Residual data X of 16x16 are carried out integer transform by direct transform, and transformation for mula is Y=PXPT;Wherein P is institute The transformation matrix stated;X is described Image Residual data;
Wherein:
Described integer translation base is one in values below:
[27 28 24 23 19 14 9 5]、[15 13 11 11 5 6 5 1]。
Step can also be included after wherein said step " choose integer translation base, build transformation matrix P ":
According to transformation matrix P, build scaled matrix PF,
PF=zT*z
Wherein, zT=[1/ | | m1||…1/||m16||];miFor the row vector of transformation matrix P, i value is 1-16;||mi|| For row vector miVector norm;
Data Y after 16x16 direct transform are zoomed in and out process,
Y ′ = Y ⊗ P F
Being the point multiplication operation of matrix, Y is the data after 16x16 direct transform, and PF is scaled matrix, and Y' is this scaling Output valve after process, represents the information that video data transforms on frequency domain;
Wherein, the elementary cell of the conversion in described direct transform is 16 one-dimensional transforms of shape such as y=Px, wherein
X=[x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16]T, the y of output =[y1 y2 y3 y4 y5 y6 y7 y8 y9 y10 y11 y12 y13 y14 y15 y16]T,
X1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 is the 16 of direct transform Point input numerical value;
Y1 y2 y3 y4 y5 y6 y7 y8 y9 y10 y11 y12 y13 y14 y15 y16 is the 16 of direct transform Point output numerical value.
When described integer translation base value is [27 28 24 23 19 14 9 5]:
Described transformation matrix
P = 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 27 28 24 23 19 14 9 5 - 5 - 9 - 14 - 19 - 23 - 24 - 28 - 27 10 9 6 2 - 2 - 6 - 9 - 10 - 10 - 9 - 6 - 2 2 6 9 10 28 19 5 - 14 - 24 - 27 - 23 - 9 9 23 27 24 14 - 5 - 19 - 28 2 1 - 1 - 2 - 2 - 1 1 2 2 1 - 1 - 2 - 2 - 1 1 2 24 5 - 23 - 28 - 9 19 27 14 - 14 - 27 - 19 9 28 23 - 5 - 24 9 - 2 - 10 - 6 6 10 2 - 9 - 9 2 10 6 - 6 - 10 - 2 9 23 - 14 - 28 5 27 9 - 24 - 19 19 24 - 9 - 27 - 5 28 14 - 23 1 - 1 - 1 1 1 - 1 - 1 1 1 - 1 - 1 1 1 - 1 - 1 1 19 - 24 - 9 27 - 5 - 28 14 23 - 23 - 14 28 5 - 27 9 24 - 19 6 - 10 2 9 - 9 - 2 10 - 6 - 6 10 - 2 - 9 9 2 - 10 6 14 - 27 19 9 - 28 23 5 - 24 24 - 5 - 23 28 - 9 - 19 27 - 14 1 - 2 2 - 1 - 1 2 - 2 1 1 - 2 2 - 1 - 1 2 - 2 1 9 - 23 27 - 24 14 5 - 19 28 - 28 19 - 5 - 14 24 - 27 23 - 9 2 - 6 9 - 10 10 - 9 6 - 2 - 2 6 - 9 10 - 10 9 - 6 2 5 - 9 14 - 19 23 - 24 28 - 27 27 - 28 24 - 23 19 14 9 - 5
zT=[α 1 α 1], wherein
α 1=[0.25 0.012345 0.033634 0.012345 0.15811 0.012345 0.033634 0.012345]
Scaled matrix is:
PF=[β 1 β 1], wherein
β 1 = 62.5 6.5744 8.4084 6.5744 39.528 6.5744 8.4084 6.5744 6.5744 0.69156 0.88448 0.69156 4.158 0.69156 0.88448 0.69156 8.4084 0.88448 1.1312 0.88448 5.3179 0.88448 1.1312 0.88448 6.5744 0.69156 0.88448 0.69156 4.158 0.69156 0.88448 0.69156 39.528 4.158 5.3179 4.158 25 4.158 5.3179 4.158 6.5744 0.69156 0.88448 0.69156 4.158 0.69156 0.88448 0.69156 8.4084 0.88448 1.1312 0.88448 5.3179 0.88448 1.1312 0.88448 6.5744 0.69156 0.88448 0.69156 4.158 0.69156 0.88448 0.69156 62.5 6.5744 8.4084 6.5744 39.528 6.5744 8.4084 6.5744 6.5744 0.69156 0.88448 0.69156 4.158 0.69156 0.88448 0.69156 8.4084 0.88448 1.1312 0.88448 5.3179 0.88448 1.1312 0.88448 6.5744 0.69156 0.88448 0.69156 4.158 0.69156 0.88448 0.69156 39.528 4.158 5.3179 4.158 25 4.158 5.3179 4.158 6.5744 0.69156 0.88448 0.69156 4.158 0.69156 0.88448 0.69156 8.4084 0.88448 1.1312 0.88448 5.3179 0.88448 1.1312 0.88448 6.5744 0.69156 0.88448 0.69156 4.158 0.69156 0.88448 0.69156 * 0.01.
When described when integer translation base value is [27 28 24 23 19 14 9 5], " to 16x16's
Image Residual data X carry out integer transform, and transformation for mula is Y=PXPT" calculate process as follows:
A.b1=x1-x16 b2=x2-x15 b3=x3-x14 b4=x4-x13b5=x5-x12 b6=x6-x11 b7 =x7-x10 b8=x8-x9
B.b16=x1+x16 b15=x2+x15 b14=x3+x14 b13=x4+x13b12=x5+x12 b11=x6+ X11 b10=x7+x10 b9=x8+x9
C.m1=b16-b9;M2=b15-b10;M3=b14-b11;M4=b13-b12;
D.y1=b9+b10+b11+b12+b13+b14+b15+b16;
Y5=b16 < < 1+b15-b14-b13 < < 1-b12 < < 1-b11+b10+b9 < < 1
Y9=b16-b15-b14+b13+b12-b11-b10+b9
Y13=b16-b15 < < 1+b14 < < 1-b13-b12+b11 < < 1-b10 < < 1+b9;
Complete following steps again:
y 3 y 7 y 11 y 15 = k 9 k 10 k 11 k 12 k 10 - k 12 - k 9 - k 11 k 11 - k 9 k 12 k 10 k 12 - k 11 k 10 - k 9 m 1 m 2 m 3 m 4
E.n1=m1 < < 3;N2=m2 < < 3;N3=m3 < < 3;N4=m4 < < 3;
F.l1=m1 < < 1;L2=m2 < < 1;L3=m3 < < 1;L4=m4 < < 1;
G.cc1=n1+l4;Cc2=-n2+l3;Cc3=n3+l2;Cc4=n4-l1;
H.y3=cc1-cc2+n3+l1+m2;Y7=cc1-cc3-n4-l3+m1;Y11=n1+cc2+cc4-l2+m4;y15 =-n2+cc3-cc4-l4+m3
Finally complete following steps:
y 2 y 4 y 6 y 8 y 10 y 12 y 14 y 16 = k 1 k 2 k 3 k 4 k 5 k 6 k 7 k 8 k 2 k 5 k 8 - k 6 - k 3 - k 1 - k 4 - k 7 k 3 k 8 - k 4 - k 2 - k 7 k 5 k 1 k 6 k 4 - k 6 - k 2 k 8 k 1 k 7 - k 3 - k 5 k 5 - k 3 - k 7 k 1 - k 8 - k 2 k 6 k 4 k 6 - k 1 k 5 k 7 - k 2 k 4 k 8 - k 3 k 7 - k 4 k 1 - k 3 k 6 k 8 - k 5 k 2 k 8 - k 7 k 6 - k 5 k 4 - k 3 k 2 - k 1 b 1 b 2 b 3 b 4 b 5 b 6 b 7 b 8
I.c1=b1 < < 4;C2=b2 < < 4;C3=b3 < < 4;C4=b4 < < 4;C5=b5 < < 4;C6=b6 < < 4;C7=b7 < <4;C8=b8 < < 4;
J.g1=b1 < < 3;G2=b2 < < 3;G3=b3 < < 3;G4=b4 < < 3;G5=b5 < < 3;G6=b6 < < 3;G7=b7 < <3;G8=b8 < < 3;
K.e1=b1 < < 2;E2=b2 < < 2;E3=b3 < < 2;E4=b4 < < 2;E5=b5 < < 2;E6=b6 < < 2;E7=b7 < <2;E8=b8 < < 2;
L.f1=b1 < < 1;F2=b2 < < 1;F3=b3 < < 1;F4=b4 < < 1;F5=b5 < < 1;F6=b6 < < 1;F7=b7 < <1;F8=b8 < < 1;
M.d1=(e1-e6)+(c1-c6);D2=(e2+e5)+c5;D3=(e4+e5);D4=(-e4+e7);D5=(g1 +g7);D6=(g1-g7);D7=(-g2-g8);D8=(-g2+g8);D9=(g3+g4);D10=(g3-g4);D11=(g5+ g6)-e3;D12=(g5-g6);D13=(c1+c6);D15=(-c2+c3)+e3;D16=(c2+c3);D17=(-c4+c8)+ e6;D18=(c4+c8);D19=(c5-c7);D20=(c5+c7);D21=-b1+b8;D22=b1+b8;D23=b2-b3; D24=-b4-b5;D25=b4-b5;D26=b6+b7;
N.y2=d2+d5+d9+d13+d16+d21+d24+e1+e8+g2+c4-f6+b7;
Y4=d1+d6-d11-d20-d23+d26+e2-g8+ (c2-c4)+f4-b8;
Y6=d4+d5-d9+d13+d17-d26+e2-g5+ (-c3+c7)+b2+b3-b5-f8;
Y8=d3+d6+d11-d16+d19+d21+d25-g3+ (c1-c8)+f2+b6-g4;
Y10=d1+d8-d10+d18-d22+d24-g6+ (-c2+c7)-b3-f7+ (e4-e5);
Y12=-d2+d7-d12+d13+d15+d23+e7+g4-c8-f1+b4-b6+b7;
Y14=d8+d10+d15+d17+d19+d23+d26+ (-e7+e8)+g1+b1-f5;
Y16=d4+d7+d12-d18+d20+d22+d25+ (e1-e8)+g7+c3-b2-f3-c6;
Wherein " < < " represents shifted left computing, and priority is higher than addition and subtraction, and elementary cell y=Px needs 196 to add altogether Method and 40 displacements.
When described integer translation base value is [15 13 11 11 565 1]:
Described transformation matrix
P = 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 15 13 11 11 5 6 5 1 - 1 - 5 - 6 - 5 - 11 - 11 - 13 - 15 10 9 6 2 - 2 - 6 - 9 - 10 - 10 - 9 - 6 - 2 2 6 9 10 13 5 1 - 6 - 11 - 15 - 11 - 5 5 11 15 11 6 - 1 - 5 - 13 2 1 - 1 - 2 - 2 - 1 1 2 2 1 - 1 - 2 - 2 - 1 1 2 11 1 - 11 - 13 - 5 5 15 6 - 6 - 15 - 5 5 13 11 - 1 - 11 9 - 2 - 10 - 6 6 10 2 - 9 - 9 2 10 6 - 6 - 10 - 2 9 11 - 6 - 13 1 15 5 - 11 - 5 5 11 - 5 - 15 - 1 13 6 - 11 1 - 1 - 1 1 1 - 1 - 1 1 1 - 1 - 1 1 1 - 1 - 1 1 5 - 11 - 5 15 - 1 - 13 6 11 - 11 - 6 13 1 - 15 5 11 - 5 6 - 10 2 9 - 9 - 2 10 - 6 - 6 10 - 2 - 9 9 2 - 10 6 6 - 15 5 5 - 13 11 1 - 11 11 - 1 - 11 13 - 5 - 5 15 - 6 1 - 2 2 - 1 - 1 2 - 2 1 1 - 2 2 - 1 - 1 2 - 2 1 5 - 11 15 - 11 6 1 - 5 13 - 13 5 - 1 - 6 11 - 15 11 - 5 2 - 6 9 - 10 10 - 9 6 - 2 - 2 6 - 9 10 - 10 9 - 6 2 1 - 5 6 - 5 11 - 11 13 - 15 15 - 13 11 - 11 5 - 6 5 - 1
zT=[α 1 α 1], wherein
α 1=[0.25 0.026298 0.033634 0.026298 0.15811 0.026298 0.033634 0.026298]
Scaled matrix is:
PF=[β 1 β 1], wherein
&beta; 1 = 62.5 0.65744 0.84084 0.65744 3.9528 0.65744 0.84084 0.65744 0.65744 0.069156 0.088448 0.069156 0.4158 0.069156 0.088448 0.069156 0.84084 0.088448 0.11312 0.088448 0.53179 0.088448 0.11312 0.088448 0.65744 0.069156 0.088448 0.069156 0.4158 0.069156 0.088448 0.069156 3.9528 0.4158 0.53179 0.4158 2.5 0.4158 0.53179 0.4158 0.65744 0.069156 0.088448 0.069156 0.4158 0.069156 0.088448 0.069156 0.84084 0.088448 0.11312 0.088448 0.53179 0.088448 0.11312 0.088448 0.65744 0.069156 0.088448 0.069156 0.4158 0.069156 0.088448 0.069156 6.25 0.65744 0.84084 0.65744 3.9528 0.65744 0.84084 0.65744 0.65744 0.069156 0.088448 0.069156 0.4158 0.069156 0.088448 0.069156 0.84084 0.088448 0.11312 0.088448 0.53179 0.088448 0.11312 0.088448 0.65744 0.069156 0.088448 0.069156 0.4158 0.069156 0.088448 0.069156 3.9528 0.4158 0.53179 0.4158 2.5 0.4158 0.53179 0.4158 0.65744 0.069156 0.088448 0.069156 0.4158 0.069156 0.088448 0.069156 0.84084 0.088448 0.11312 0.088448 0.53179 0.088448 0.11312 0.088448 0.65744 0.069156 0.088448 0.069156 0.4158 0.069156 0.088448 0.069156 * 0.01.
Described when integer translation base value is [15 13 11 11 565 1], " Image Residual data X to 16x16 Carrying out integer transform, transformation for mula is Y=PXPT" calculate process as follows:
A.b1=x1-x16 b2=x2-x15 b3=x3-x14 b4=x4-x13 b5=x5-x12 b6=x6-x11b7 =x7-x10 b8=x8-x9
B.b16=x1+x16 b15=x2+x15 b14=x3+x14 b13=x4+x13 b12=x5+x12b11=x6+ X11 b10=x7+x10 b9=x8+x9
C.m1=b16-b9;M2=b15-b10;M3=b14-b11;M4=b13-b12;
D.y1=b9+b10+b11+b12+b13+b14+b15+b16;
Y5=b16 < < 1+b15-b14-b13 < < 1-b12 < < 1-b11+b10+b9 < < 1
Y9=b16-b15-b14+b13+b12-b11-b10+b9
Y13=b16-b15 < < 1+b14 < < 1-b13-b12+b11 < < 1-b10 < < 1+b9;
Complete following steps again:
y 3 y 7 y 11 y 15 = k 9 k 10 k 11 k 12 k 10 - k 12 - k 9 - k 11 k 11 - k 9 k 12 k 10 k 12 - k 11 k 10 - k 9 m 1 m 2 m 3 m 4
E.n1=m1 < < 3;N2=m2 < < 3;N3=m3 < < 3;N4=m4 < < 3;
F.l1=m1 < < 1;L2=m2 < < 1;L3=m3 < < 1;L4=m4 < < 1;
G.cc1=n1+l4;Cc2=-n2+l3;Cc3=n3+l2;Cc4=n4-l1;
I.y3=cc1-cc2+n3+l1+m2;Y7=cc1-cc3-n4-l3+m1;Y11=n1+cc2+cc4-l2+m4;y15 =-n2+cc3-cc4-l4+m3
Finally complete following steps:
y 2 y 4 y 6 y 8 y 10 y 12 y 14 y 16 = k 1 k 2 k 3 k 4 k 5 k 6 k 7 k 8 k 2 k 5 k 8 - k 6 - k 3 - k 1 - k 4 - k 7 k 3 k 8 - k 4 - k 2 - k 7 k 5 k 1 k 6 k 4 - k 6 - k 2 k 8 k 1 k 7 - k 3 - k 5 k 5 - k 3 - k 7 k 1 - k 8 - k 2 k 6 k 4 k 6 - k 1 k 5 k 7 - k 2 k 4 k 8 - k 3 k 7 - k 4 k 1 - k 3 k 6 k 8 - k 5 k 2 k 8 - k 7 k 6 - k 5 k 4 - k 3 k 2 - k 1 b 1 b 2 b 3 b 4 b 5 b 6 b 7 b 8
J.g1=b1 < < 3;G2=b2 < < 3;G3=b3 < < 3;G4=b4 < < 3;G5=b5 < < 3;G6=b6 < < 3;G7=b7 < <3;G8=b8 < < 3;
K.e1=b1 < < 2;E2=b2 < < 2;E3=b3 < < 2;E4=b4 < < 2;E5=b5 < < 2;E6=b6 < < 2;E7=b7 < <2;E8=b8 < < 2;
L.f1=b1 < < 1;F2=b2 < < 1;F3=b3 < < 1;F4=b4 < < 1;F5=b5 < < 1;F6=b6 < < 1;F7=b7 < <1;F8=b8 < < 1;
M.d1=(g1-g7);D2=(-g2+g8)+e1;D3=(g3+g4);D4=(g5-g6);D5=(e1+e2);d6 =(-e2+e3);D7=(e3-e7)-g4;D8=(e4-e6);D9=(-e4-e8)-f6;D10=(e5-e8)-f7;D11= (f1+f6);D12=(-f2+f5);D13=(f3-f8);D14=(f4+f7);D15=g1+e7;D16=g2+e5;D17=g5 +e6;D18=b1-b7;D19=b1+b7;D20=-b2-b8;D21=-b2+b8;D22=b3+b4;D23=-b3+b4;d24 =b5+b6;D25=-b5+b6;D26=(e5+e8)+(f3-f4)
N.y2=d3+d5+d11+d15+d16+d19-d20+d22+e6+ (f3+f4)+b5;
Y4=d1+d5+d9-d14-d17+d18-d21-d24-g6+ (-f5)+b3;
Y6=-d3-d8-d10-d13+d15+d19-d22+d25+g7+f1+b2;
Y8=d1+d10+d12+d17+d18+d23+d24-g3+ (-e2-e3)+f1-b8;
Y10=d2-d7+d8+d14+d23-d24+d21-g6+ (-f2+f8)+b1;
Y12=-d4+d6+d11-d16+d20+d22+d25+ (e1+e4)+(-f2-f8)+b7-g8;
Y14=d2+d7+d12+d18+d21-d23+g3+d26+b6;
Y16=d4+d6+d9+d13+d19-d20-d25+g3+d26-b4-g8;
Wherein " < < " represents shifted left computing, and priority is higher than addition and subtraction, and elementary cell y=Px needs 185 to add altogether Method and 32 displacements.
Beneficial effects of the present invention:
The integer transform matrix of the 16x16 of two groups of embodiment of the present invention proposition, and give the fast algorithm of conversion, The alternative approach energy of the embodiment of the present invention concentrates excellent performance, and encircled energy, close to 16x16DCT, can greatly eliminate Video data dependency on transformation space.Computation complexity is low, can be realized by addition and displacement, it is easy to hardware is real Existing, and operational precision is high, there is not the unmatched problem of positive inverse transformation
Accompanying drawing explanation
Fig. 1 is the method flow diagram of the preferred embodiment of the 16*16 integer transformation method for video coding of the present invention;
Fig. 2 is choosing when integer translation base of the preferred embodiment of the 16*16 integer transformation method for video coding of the present invention Corresponding integer transform computational methods schematic diagram time [27 28 24 23 19 14 9 5];
Fig. 3 is the computational methods figure of the computing module M1 in Fig. 2 in integer transform computational methods schematic diagram;
Fig. 4 is the computational methods figure of the computing module M2 in Fig. 2 in integer transform computational methods schematic diagram;
Fig. 5 is the computational methods figure of the computing module M3 in Fig. 2 in integer transform computational methods schematic diagram;
Fig. 6 is choosing when integer translation base of the preferred embodiment of the 16*16 integer transformation method for video coding of the present invention Corresponding integer transform computational methods schematic diagram time [15 13 11 11 565 1];
Fig. 7 is the computational methods figure of the computing module N1 in Fig. 6 in integer transform computational methods schematic diagram;
Fig. 8 is the computational methods figure of the computing module N2 in Fig. 6 in integer transform computational methods schematic diagram;
Fig. 9 is the computational methods figure of the computing module N3 in Fig. 6 in integer transform computational methods schematic diagram.
Detailed description of the invention
In order to make the purpose of the present invention, technical scheme and advantage clearer, below in conjunction with drawings and Examples, right The present invention is further elaborated, and for convenience of description, illustrate only the part relevant to the embodiment of the present invention.Should manage Solve, the specific embodiment that this place is described, be used only for explaining the present invention, not in order to limit the present invention.
The present invention, by receiving Image Residual data X of the 16x16 of prediction module output in encoder, chooses different integer Conversion base ([27 28 24 23 19 14 9 5] or [15 13 11 11 565 1]);Image Residual data X are just being carried out Conversion (Y=PXPT), and according to different integer translation bases, use corresponding integer transform computational methods;Build transformation matrix P, according to transformation matrix P, builds scaled matrix PF (PF=zT*z);Data Y after 16x16 direct transform are zoomed in and out place Reason.
Embodiment one
Be illustrated in figure 11 one kinds of 16*16 integer transformation method for video codings of the embodiment of the present invention, described method include with Lower step:
S101, receives Image Residual data X of the 16x16 of prediction module output in encoder;
S102, chooses integer translation base, builds transformation matrix P;
Build 16 take advantage of 16 general purpose integer transformation matrix as follows:
C=[C1 C2], wherein,
C 1 = 1 1 1 1 1 1 1 1 k 1 k 2 k 3 k 4 k 5 k 6 k 7 k 8 k 9 k 10 k 11 k 12 - k 12 - k 11 - k 10 - k 9 k 2 k 5 k 8 - k 6 - k 3 - k 1 - k 4 - k 7 2 1 - 1 - 2 - 2 - 1 1 2 k 3 k 8 - k 4 - k 2 - k 7 k 5 k 1 k 6 k 10 - k 12 - k 9 - k 11 k 11 k 9 k 12 - k 10 k 4 - k 6 - k 2 k 8 k 1 k 7 - k 3 - k 5 1 - 1 - 1 1 1 - 1 - 1 1 k 5 - k 3 - k 7 k 1 - k 8 - k 2 k 6 k 4 k 11 - k 9 k 12 k 10 - k 10 - k 12 k 9 - k 11 k 6 - k 1 k 5 k 7 - k 2 k 4 k 8 - k 3 1 - 2 2 - 1 - 1 2 - 2 1 k 7 - k 4 k 1 - k 3 k 6 k 8 - k 5 k 2 k 12 - k 11 k 10 - k 9 k 9 - k 10 k 11 - k 12 k 8 - k 7 k 6 - k 5 k 4 - k 3 k 2 - k 1
C 2 = 1 1 1 1 1 1 1 1 - k 8 - k 7 - k 6 - k 5 - k 4 - k 3 - k 2 - k 1 - k 9 - k 10 - k 11 - k 12 k 12 k 11 k 10 k 9 k 7 k 4 k 1 - k 3 k 6 - k 8 - k 5 - k 2 2 1 - 1 - 2 - 2 - 1 1 2 - k 6 - k 1 - k 5 k 7 k 2 k 4 - k 8 - k 3 - k 10 k 12 k 9 k 11 - k 11 - k 9 - k 12 k 10 k 5 k 3 - k 7 - k 1 - k 8 k 2 k 6 - k 4 1 - 1 - 1 1 1 - 1 - 1 1 - k 4 - k 6 k 2 k 8 - k 1 k 7 k 3 - k 5 - k 11 k 9 - k 12 - k 10 k 10 k 12 - k 9 k 11 k 3 - k 8 - k 4 k 2 - k 7 - k 5 k 1 - k 6 1 - 2 2 - 1 - 1 2 - 2 1 - k 2 k 5 - k 8 - k 6 k 3 - k 1 k 4 - k 7 - k 12 k 11 - k 10 k 9 - k 9 k 10 - k 11 k 12 k 1 - k 2 k 3 - k 4 k 5 - k 6 k 7 - k 8
In Matrix C, k9=10;K10=9;K11=6;K12=2.Definition conversion base is [k1 k2 k3 k4 k5 k6 k7 K8] it is that integer translation base is built into transformation matrix P.
In the embodiment of the present invention, integer translation base can choose one in values below:
[27 28 24 23 19 14 9 5]、[15 13 11 11 5 6 5 1]。
S103, according to transformation matrix P, builds scaled matrix PF;
PF=zT*z
Wherein, zT=[1/ | | m1||…1/||m16||];miFor the row vector of transformation matrix P, i value is 1-16;||mi|| For row vector miVector norm;
S104, direct transform, Image Residual data X of 16x16 are carried out integer transform, transformation for mula is Y=PXPT;Wherein P is described transformation matrix;X is described Image Residual data;
The elementary cell of conversion is 16 one-dimensional transforms of shape such as y=Px, wherein
X=[x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16]T, the y of output =[y1 y2 y3 y4 y5 y6 y7 y8 y9 y10 y11 y12 y13 y14 y15 y16]T,
X1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 represents integer transform Input 16 point value of one-dimensional direct transform;
Y1 y2 y3 y4 y5 y6 y7 y8 y9 y10 y11 y12 y13 y14 y15 y16 is the 16 of direct transform Point output numerical value;
According to different integer translation bases, use corresponding integer transform computational methods.
Data Y after 16x16 direct transform are zoomed in and out process by S105;
Y &prime; = Y &CircleTimes; P F
Being the point multiplication operation of matrix, Y is the data after 16x16 direct transform, and PF is scaled matrix, and Y' is this scaling Output valve after process, represents the information that video data transforms on frequency domain.
The alternative approach energy of the embodiment of the present invention concentrates excellent performance, and encircled energy is close to 16x16DCT, Ke Yiji The earth eliminates video data dependency on transformation space;Computation complexity is low, can be realized by addition and displacement, it is easy to Hardware realizes, and operational precision is high, there is not the unmatched problem of positive inverse transformation.
Embodiment two
Being below a kind of 16*16 integer transformation method for video coding of the embodiment of the present invention 2, the embodiment of the present invention 2 is chosen [27 28 24 23 19 14 9 5] are the integer translation base of 16x16 general purpose integer transformation matrix, and described method includes following step Rapid:
S201, receives Image Residual data X of the 16x16 of prediction module output in encoder;
S202, chooses integer translation base, builds transformation matrix P;
Build 16 take advantage of 16 general purpose integer transformation matrix as follows:
C=[C1 C2], wherein,
C 1 = 1 1 1 1 1 1 1 1 k 1 k 2 k 3 k 4 k 5 k 6 k 7 k 8 k 9 k 10 k 11 k 12 - k 12 - k 11 - k 10 - k 9 k 2 k 5 k 8 - k 6 - k 3 - k 1 - k 4 - k 7 2 1 - 1 - 2 - 2 - 1 1 2 k 3 k 8 - k 4 - k 2 - k 7 k 5 k 1 k 6 k 10 - k 12 - k 9 - k 11 k 11 k 9 k 12 - k 10 k 4 - k 6 - k 2 k 8 k 1 k 7 - k 3 - k 5 1 - 1 - 1 1 1 - 1 - 1 1 k 5 - k 3 - k 7 k 1 - k 8 - k 2 k 6 k 4 k 11 - k 9 k 12 k 10 - k 10 - k 12 k 9 - k 11 k 6 - k 1 k 5 k 7 - k 2 k 4 k 8 - k 3 1 - 2 2 - 1 - 1 2 - 2 1 k 7 - k 4 k 1 - k 3 k 6 k 8 - k 5 k 2 k 12 - k 11 k 10 - k 9 k 9 - k 10 k 11 - k 12 k 8 - k 7 k 6 - k 5 k 4 - k 3 k 2 - k 1
C 2 = 1 1 1 1 1 1 1 1 - k 8 - k 7 - k 6 - k 5 - k 4 - k 3 - k 2 - k 1 - k 9 - k 10 - k 11 - k 12 k 12 k 11 k 10 k 9 k 7 k 4 k 1 - k 3 k 6 - k 8 - k 5 - k 2 2 1 - 1 - 2 - 2 - 1 1 2 - k 6 - k 1 - k 5 k 7 k 2 k 4 - k 8 - k 3 - k 10 k 12 k 9 k 11 - k 11 - k 9 - k 12 k 10 k 5 k 3 - k 7 - k 1 - k 8 k 2 k 6 - k 4 1 - 1 - 1 1 1 - 1 - 1 1 - k 4 - k 6 k 2 k 8 - k 1 k 7 k 3 - k 5 - k 11 k 9 - k 12 - k 10 k 10 k 12 - k 9 k 11 k 3 - k 8 - k 4 k 2 - k 7 - k 5 k 1 - k 6 1 - 2 2 - 1 - 1 2 - 2 1 - k 2 k 5 - k 8 - k 6 k 3 - k 1 k 4 - k 7 - k 12 k 11 - k 10 k 9 - k 9 k 10 - k 11 k 12 k 1 - k 2 k 3 - k 4 k 5 - k 6 k 7 - k 8
In Matrix C, k9=10;K10=9;K11=6;K12=2.Definition conversion base is [k1 k2 k3 k4 k5 k6 k7 K8] it is that integer translation base is built into transformation matrix P.
It is integer translation base that the embodiment of the present invention chooses [27 28 24 23 19 14 9 5], is built into transformation matrix P.
When converting base and being [27 28 24 23 19 14 9 5], transformation matrix P is:
P = 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 27 28 24 23 19 14 9 5 - 5 - 9 - 14 - 19 - 23 - 24 - 28 - 27 10 9 6 2 - 2 - 6 - 9 - 10 - 10 - 9 - 6 - 2 2 6 9 10 28 19 5 - 14 - 24 - 27 - 23 - 9 9 23 27 24 14 - 5 - 19 - 28 2 1 - 1 - 2 - 2 - 1 1 2 2 1 - 1 - 2 - 2 - 1 1 2 24 5 - 23 - 28 - 9 19 27 14 - 14 - 27 - 19 9 28 23 - 5 - 24 9 - 2 - 10 - 6 6 10 2 - 9 - 9 2 10 6 - 6 - 10 - 2 9 23 - 14 - 28 5 27 9 - 24 - 19 19 24 - 9 - 27 - 5 28 14 - 23 1 - 1 - 1 1 1 - 1 - 1 1 1 - 1 - 1 1 1 - 1 - 1 1 19 - 24 - 9 27 - 5 - 28 14 23 - 23 - 14 28 5 - 27 9 24 - 19 6 - 10 2 9 - 9 - 2 10 - 6 - 6 10 - 2 - 9 9 2 - 10 6 14 - 27 19 9 - 28 23 5 - 24 24 - 5 - 23 28 - 9 - 19 27 - 14 1 - 2 2 - 1 - 1 2 - 2 1 1 - 2 2 - 1 - 1 2 - 2 1 9 - 23 27 - 24 14 5 - 19 28 - 28 19 - 5 - 14 24 - 27 23 - 9 2 - 6 9 - 10 10 - 9 6 - 2 - 2 6 - 9 10 - 10 9 - 6 2 5 - 9 14 - 19 23 - 24 28 - 27 27 - 28 24 - 23 19 14 9 - 5
S203, according to transformation matrix P, builds scaled matrix PF;
PF=zT*z
Wherein, zT=[1/ | | m1||…1/||m16||];miFor the row vector of transformation matrix P, i value is 1-16;||mi|| For row vector miVector norm;
When the conversion base of transformation matrix P is [27 28 24 23 19 14 9 5],
zT=[α 1 α 1], wherein
α 1=[0.25 0.012345 0.033634 0.012345 0.15811 0.012345 0.033634 0.012345]
Scaled matrix is:
PF=[β 1 β 1], wherein
&beta; 1 = 62.5 6.5744 8.4084 6.5744 39.528 6.5744 8.4084 6.5744 6.5744 0.69156 0.88448 0.69156 4.158 0.69156 0.88448 0.69156 8.4084 0.88448 1.1312 0.88448 5.3179 0.88448 1.1312 0.88448 6.5744 0.69156 0.88448 0.69156 4.158 0.69156 0.88448 0.69156 39.528 4.158 5.3179 4.158 25 4.158 5.3179 4.158 6.5744 0.69156 0.88448 0.69156 4.158 0.69156 0.88448 0.69156 8.4084 0.88448 1.1312 0.88448 5.3179 0.88448 1.1312 0.88448 6.5744 0.69156 0.88448 0.69156 4.158 0.69156 0.88448 0.69156 62.5 6.5744 8.4084 6.5744 39.528 6.5744 8.4084 6.5744 6.5744 0.69156 0.88448 0.69156 4.158 0.69156 0.88448 0.69156 8.4084 0.88448 1.1312 0.88448 5.3179 0.88448 1.1312 0.88448 6.5744 0.69156 0.88448 0.69156 4.158 0.69156 0.88448 0.69156 39.528 4.158 5.3179 4.158 25 4.158 5.3179 4.158 6.5744 0.69156 0.88448 0.69156 4.158 0.69156 0.88448 0.69156 8.4084 0.88448 1.1312 0.88448 5.3179 0.88448 1.1312 0.88448 6.5744 0.69156 0.88448 0.69156 4.158 0.69156 0.88448 0.69156 * 0.01.
S204, direct transform, Image Residual data X of 16x16 are carried out integer transform, transformation for mula is Y=PXPT;Wherein P is described transformation matrix;X is described Image Residual data;
The elementary cell of conversion is 16 one-dimensional transforms of shape such as y=Px, wherein
X=[x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16]T, the y of output =[y1 y2 y3 y4 y5 y6 y7 y8 y9 y10 y11 y12 y13 y14 y15 y16]T,
X1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 represents integer transform Input 16 point value of one-dimensional direct transform;
Y1 y2 y3 y4 y5 y6 y7 y8 y9 y10 y11 y12 y13 y14 y15 y16 is the 16 of direct transform Point output numerical value;
The calculating process of described integer transform is as follows:
A.b1=x1-x16 b2=x2-x15 b3=x3-x14 b4=x4-x13b5=x5-x12 b6=x6-x11 b7 =x7-x10 b8=x8-x9
B.b16=x1+x16 b15=x2+x15 b14=x3+x14 b13=x4+x13b12=x5+x12 b11=x6+ X11 b10=x7+x10 b9=x8+x9
C.m1=b16-b9;M2=b15-b10;M3=b14-b11;M4=b13-b12;
D.y1=b9+b10+b11+b12+b13+b14+b15+b16;
Y5=b16 < < 1+b15-b14-b13 < < 1-b12 < < 1-b11+b10+b9 < < 1
Y9=b16-b15-b14+b13+b12-b11-b10+b9
Y13=b16-b15 < < 1+b14 < < 1-b13-b12+b11 < < 1-b10 < < 1+b9;
Wherein, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, m1, m2, m3, M4 is the intermediate variable of integer transform;
Complete following steps again:
y 3 y 7 y 11 y 15 = k 9 k 10 k 11 k 12 k 10 - k 12 - k 9 - k 11 k 11 - k 9 k 12 k 10 k 12 - k 11 k 10 - k 9 m 1 m 2 m 3 m 4
E.n1=m1 < < 3;N2=m2 < < 3;N3=m3 < < 3;N4=m4 < < 3;
F.l1=m1 < < 1;L2=m2 < < 1;L3=m3 < < 1;L4=m4 < < 1;
G.cc1=n1+l4;Cc2=-n2+l3;Cc3=n3+l2;Cc4=n4-l1;
H.y3=cc1-cc2+n3+l1+m2;Y7=cc1-cc3-n4-l3+m1;Y11=n1+cc2+cc4-l2+m4;y15 =-n2+cc3-cc4-l4+m3
Wherein, n1, n2, n3, n4, l1, l2, l3, l4, cc1, cc2, cc3, cc4 are the intermediate variable of integer transform;
Finally complete following steps:
y 2 y 4 y 6 y 8 y 10 y 12 y 14 y 16 = k 1 k 2 k 3 k 4 k 5 k 6 k 7 k 8 k 2 k 5 k 8 - k 6 - k 3 - k 1 - k 4 - k 7 k 3 k 8 - k 4 - k 2 - k 7 k 5 k 1 k 6 k 4 - k 6 - k 2 k 8 k 1 k 7 - k 3 - k 5 k 5 - k 3 - k 7 k 1 - k 8 - k 2 k 6 k 4 k 6 - k 1 k 5 k 7 - k 2 k 4 k 8 - k 3 k 7 - k 4 k 1 - k 3 k 6 k 8 - k 5 k 2 k 8 - k 7 k 6 - k 5 k 4 - k 3 k 2 - k 1 b 1 b 2 b 3 b 4 b 5 b 6 b 7 b 8
I.c1=b1 < < 4;C2=b2 < < 4;C3=b3 < < 4;C4=b4 < < 4;C5=b5 < < 4;C6=b6 < < 4;C7=b7 < <4;C8=b8 < < 4;
J.g1=b1 < < 3;G2=b2 < < 3;G3=b3 < < 3;G4=b4 < < 3;G5=b5 < < 3;G6=b6 < < 3;G7=b7 < <3;G8=b8 < < 3;
K.e1=b1 < < 2;E2=b2 < < 2;E3=b3 < < 2;E4=b4 < < 2;E5=b5 < < 2;E6=b6 < < 2;E7=b7 < <2;E8=b8 < < 2;
L.f1=b1 < < 1;F2=b2 < < 1;F3=b3 < < 1;F4=b4 < < 1;F5=b5 < < 1;F6=b6 < < 1;F7=b7 < <1;F8=b8 < < 1;
M.d1=(e1-e6)+(c1-c6);D2=(e2+e5)+c5;D3=(e4+e5);D4=(-e4+e7);D5=(g1 +g7);D6=(g1-g7);D7=(-g2-g8);D8=(-g2+g8);D9=(g3+g4);D10=(g3-g4);D11=(g5+ g6)-e3;D12=(g5-g6);D13=(c1+c6);D15=(-c2+c3)+e3;D16=(c2+c3);D17=(-c4+c8)+ e6;D18=(c4+c8);D19=(c5-c7);D20=(c5+c7);D21=-b1+b8;D22=b1+b8;D23=b2-b3; D24=-b4-b5;D25=b4-b5;D26=b6+b7;
N.y2=d2+d5+d9+d13+d16+d21+d24+e1+e8+g2+c4-f6+b7;
Y4=d1+d6-d11-d20-d23+d26+e2-g8+ (c2-c4)+f4-b8;
Y6=d4+d5-d9+d13+d17-d26+e2-g5+ (-c3+c7)+b2+b3-b5-f8;
Y8=d3+d6+d11-d16+d19+d21+d25-g3+ (c1-c8)+f2+b6-g4;
Y10=d1+d8-d10+d18-d22+d24-g6+ (-c2+c7)-b3-f7+ (e4-e5);
Y12=-d2+d7-d12+d13+d15+d23+e7+g4-c8-f1+b4-b6+b7;
Y14=d8+d10+d15+d17+d19+d23+d26+ (-e7+e8)+g1+b1-f5;
Y16=d4+d7+d12-d18+d20+d22+d25+ (e1-e8)+g7+c3-b2-f3-c6;
Wherein, c1, c2, c3, c4, c5, c6, c7, c8, g1, g2, g3, g4, g5, g6, g7, g8, e1, e2, e3, e4, e5, E6, e7, e8, f1, f2, f3, f4, f5, f6, f7, f8, d1, d2, d3, d4, d5, d6, d7, d8, d9, d10, d11, d12, d13, D14, d15, d16, d17, d18, d19, d20, d21, d22, d23, d24 are the intermediate variable of integer transform;
Wherein " < < " represents shifted left computing, and priority is higher than addition and subtraction, and elementary cell y=Px needs 196 to add altogether Method and 40 displacements.
The direct transform quick calculation method of this conversion base as in figure 2 it is shown, wherein computing module M1, M2, M3 respectively such as Fig. 3, Shown in 4,5.Wherein
X1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 represents integer transform Input 16 point value of one-dimensional direct transform;
Y1 y2 y3 y4 y5 y6 y7 y8 y9 y10 y11 y12 y13 y14 y15 y16 is the 16 of direct transform Point output numerical value;It is from left to right that data process direction, and the intermediate variable value intersecting at a round dot represents equal to line on the left of round dot Data be added;Square expression data take advantage of a coefficient;"-" represents and takes negative value;" 2 " expression takes advantage of 2, i.e. moves to left one;" 4 " represent Take advantage of 4, i.e. move to left two;" 8 " expression takes advantage of 8, i.e. moves to left 3, and " 16 " expression takes advantage of 16, i.e. moves to left 4.
" in1 " " in2 " " in3 " " in4 " " in5 " " in6 " " in7 " " in8 " in M1 module in Fig. 2 represents M1 module Input data, are connected with b16, b15, b14, b13, b12, b11, b10, b9 respectively;" out1 " " out2 " in M1 module " out3 " " out4 " represents the output data of M1 module, is connected with y1, y5, y9, y13 respectively;
" in1 " " in2 " " in3 " " in4 " in M2 module in Fig. 2 represents the input data of M2 module, respectively with m4, M3, m2, m1 are connected;" out1 " " out2 " " out3 " " out4 " in M2 module represents the output data of M2 module, respectively with y3, Y7, y11, y15 are connected;
" in1 " " in2 " " in3 " " in4 " " in5 " " in6 " " in7 " " in8 " in M3 module in Fig. 2 represents M3 module Input data, are connected with b8, b7, b6, b5, b4, b3, b2, b1 respectively;" out1 " " out2 " " out3 " " out4 " in M3 module " out5 " " out6 " " out7 " " out8 " represent M3 module output data, respectively with y2, y4, y6, y8, y10, y12, y14, Y16 is connected;
Data Y after 16x16 direct transform are zoomed in and out process by S205;
Y &prime; = Y &CircleTimes; P F
Being the point multiplication operation of matrix, Y is the data after 16x16 direct transform, and PF is scaled matrix, and Y' is this scaling Output valve after process, represents the information that video data transforms on frequency domain.
The alternative approach energy of the embodiment of the present invention concentrates excellent performance, and encircled energy is close to 16x16DCT, Ke Yiji The earth eliminates video data dependency on transformation space;Computation complexity is low, can be realized by addition and displacement, it is easy to Hardware realizes, and operational precision is high, there is not the unmatched problem of positive inverse transformation.
Embodiment three
Being below a kind of 16*16 integer transformation method for video coding of the embodiment of the present invention 3, the embodiment of the present invention 3 is chosen [15 13 11 11 565 1] are the integer translation base of 16x16 general purpose integer transformation matrix, and described method includes following step Rapid:
S301, receives Image Residual data X of the 16x16 of prediction module output in encoder.
S302, chooses integer translation base, builds transformation matrix P;
Build 16 take advantage of 16 general purpose integer transformation matrix as follows:
C=[C1 C2], wherein,
C 1 = 1 1 1 1 1 1 1 1 k 1 k 2 k 3 k 4 k 5 k 6 k 7 k 8 k 9 k 10 k 11 k 12 - k 12 - k 11 - k 10 - k 9 k 2 k 5 k 8 - k 6 - k 3 - k 1 - k 4 - k 7 2 1 - 1 - 2 - 2 - 1 1 2 k 3 k 8 - k 4 - k 2 - k 7 k 5 k 1 k 6 k 10 - k 12 - k 9 - k 11 k 11 k 9 k 12 - k 10 k 4 - k 6 - k 2 k 8 k 1 k 7 - k 3 - k 5 1 - 1 - 1 1 1 - 1 - 1 1 k 5 - k 3 - k 7 k 1 - k 8 - k 2 k 6 k 4 k 11 - k 9 k 12 k 10 - k 10 - k 12 k 9 - k 11 k 6 - k 1 k 5 k 7 - k 2 k 4 k 8 - k 3 1 - 2 2 - 1 - 1 2 - 2 1 k 7 - k 4 k 1 - k 3 k 6 k 8 - k 5 k 2 k 12 - k 11 k 10 - k 9 k 9 - k 10 k 11 - k 12 k 8 - k 7 k 6 - k 5 k 4 - k 3 k 2 - k 1
C 2 = 1 1 1 1 1 1 1 1 - k 8 - k 7 - k 6 - k 5 - k 4 - k 3 - k 2 - k 1 - k 9 - k 10 - k 11 - k 12 k 12 k 11 k 10 k 9 k 7 k 4 k 1 - k 3 k 6 - k 8 - k 5 - k 2 2 1 - 1 - 2 - 2 - 1 1 2 - k 6 - k 1 - k 5 k 7 k 2 k 4 - k 8 - k 3 - k 10 k 12 k 9 k 11 - k 11 - k 9 - k 12 k 10 k 5 k 3 - k 7 - k 1 - k 8 k 2 k 6 - k 4 1 - 1 - 1 1 1 - 1 - 1 1 - k 4 - k 6 k 2 k 8 - k 1 k 7 k 3 - k 5 - k 11 k 9 - k 12 - k 10 k 10 k 12 - k 9 k 11 k 3 - k 8 - k 4 k 2 - k 7 - k 5 k 1 - k 6 1 - 2 2 - 1 - 1 2 - 2 1 - k 2 k 5 - k 8 - k 6 k 3 - k 1 k 4 - k 7 - k 12 k 11 - k 10 k 9 - k 9 k 10 - k 11 k 12 k 1 - k 2 k 3 - k 4 k 5 - k 6 k 7 - k 8
In Matrix C, k9=10;K10=9;K11=6;K12=2.Definition conversion base is [k1 k2 k3 k4 k5 k6 k7 K8] it is that integer translation base is built into transformation matrix P.
It is integer translation base that the embodiment of the present invention chooses [15 13 11 11 565 1], is built into transformation matrix P.
When converting base and being [15 13 11 11 565 1], transformation matrix P is:
P = 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 15 13 11 11 5 6 5 1 - 1 - 5 - 6 - 5 - 11 - 11 - 13 - 15 10 9 6 2 - 2 - 6 - 9 - 10 - 10 - 9 - 6 - 2 2 6 9 10 13 5 1 - 6 - 11 - 15 - 11 - 5 5 11 15 11 6 - 1 - 5 - 13 2 1 - 1 - 2 - 2 - 1 1 2 2 1 - 1 - 2 - 2 - 1 1 2 11 1 - 11 - 13 - 5 5 15 6 - 6 - 15 - 5 5 13 11 - 1 - 11 9 - 2 - 10 - 6 6 10 2 - 9 - 9 2 10 6 - 6 - 10 - 2 9 11 - 6 - 13 1 15 5 - 11 - 5 5 11 - 5 - 15 - 1 13 6 - 11 1 - 1 - 1 1 1 - 1 - 1 1 1 - 1 - 1 1 1 - 1 - 1 1 5 - 11 - 5 15 - 1 - 13 6 11 - 11 - 6 13 1 - 15 5 11 - 5 6 - 10 2 9 - 9 - 2 10 - 6 - 6 10 - 2 - 9 9 2 - 10 6 6 - 15 5 5 - 13 11 1 - 11 11 - 1 - 11 13 - 5 - 5 15 - 6 1 - 2 2 - 1 - 1 2 - 2 1 1 - 2 2 - 1 - 1 2 - 2 1 5 - 11 15 - 11 6 1 - 5 13 - 13 5 - 1 - 6 11 - 15 11 - 5 2 - 6 9 - 10 10 - 9 6 - 2 - 2 6 - 9 10 - 10 9 - 6 2 1 - 5 6 - 5 11 - 11 13 - 15 15 - 13 11 - 11 5 - 6 5 - 1
S303, according to transformation matrix P, builds scaled matrix PF;
PF=zT*z
Wherein, zT=[1/ | | m1 | | ... 1/ | | m16 | |];miFor the row vector of transformation matrix P, i value is 1-16;||mi| | for row vector miVector norm;
When the conversion base of transformation matrix P is [15 13 11 11 565 1],
zT=[α 1 α 1], wherein
α 1=[0.25 0.026298 0.033634 0.026298 0.15811 0.026298 0.033634 0.026298]
Scaled matrix is:
PF=[β 1 β 1], wherein
&beta; 1 = 62.5 6.5744 8.4084 6.5744 39.528 6.5744 8.4084 6.5744 6.5744 0.69156 0.88448 0.69156 4.158 0.69156 0.88448 0.69156 8.4084 0.88448 1.1312 0.88448 5.3179 0.88448 1.1312 0.88448 6.5744 0.69156 0.88448 0.69156 4.158 0.69156 0.88448 0.69156 39.528 4.158 5.3179 4.158 25 4.158 5.3179 4.158 6.5744 0.69156 0.88448 0.69156 4.158 0.69156 0.88448 0.69156 8.4084 0.88448 1.1312 0.88448 5.3179 0.88448 1.1312 0.88448 6.5744 0.69156 0.88448 0.69156 4.158 0.69156 0.88448 0.69156 62.5 6.5744 8.4084 6.5744 39.528 6.5744 8.4084 6.5744 6.5744 0.69156 0.88448 0.69156 4.158 0.69156 0.88448 0.69156 8.4084 0.88448 1.1312 0.88448 5.3179 0.88448 1.1312 0.88448 6.5744 0.69156 0.88448 0.69156 4.158 0.69156 0.88448 0.69156 39.528 4.158 5.3179 4.158 25 4.158 5.3179 4.158 6.5744 0.69156 0.88448 0.69156 4.158 0.69156 0.88448 0.69156 8.4084 0.88448 1.1312 0.88448 5.3179 0.88448 1.1312 0.88448 6.5744 0.69156 0.88448 0.69156 4.158 0.69156 0.88448 0.69156 * 0.01.
S304, direct transform, Image Residual data X of 16x16 are carried out integer transform, transformation for mula is Y=PXPT;Wherein P is described transformation matrix;X is described Image Residual data;
The elementary cell of conversion is 16 one-dimensional transforms of shape such as y=Px, wherein
X=[x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16]T, the y of output =[y1 y2 y3 y4 y5 y6 y7 y8 y9 y10 y11 y12 y13 y14 y15 y16]T,
X1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 represents integer transform Input 16 point value of one-dimensional direct transform;
Y1 y2 y3 y4 y5 y6 y7 y8 y9 y10 y11 y12 y13 y14 y15 y16 is the 16 of direct transform Point output numerical value;
The calculating process of described integer transform is as follows:
A.b1=x1-x16 b2=x2-x15 b3=x3-x14 b4=x4-x13 b5=x5-x12 b6=x6-x11b7 =x7-x10 b8=x8-x9
B.b16=x1+x16 b15=x2+x15 b14=x3+x14 b13=x4+x13 b12=x5+x12b11=x6+ X11 b10=x7+x10 b9=x8+x9
C.m1=b16-b9;M2=b15-b10;M3=b14-b11;M4=b13-b12;
D.y1=b9+b10+b11+b12+b13+b14+b15+b16;
Y5=b16 < < 1+b15-b14-b13 < < 1-b12 < < 1-b11+b10+b9 < < 1
Y9=b16-b15-b14+b13+b12-b11-b10+b9
Y13=b16-b15 < < 1+b14 < < 1-b13-b12+b11 < < 1-b10 < < 1+b9;
Wherein, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, m1, m2, m3, M4 is the intermediate variable of integer transform;
Complete following steps again:
y 3 y 7 y 11 y 15 = k 9 k 10 k 11 k 12 k 10 - k 12 - k 9 - k 11 k 11 - k 9 k 12 k 10 k 12 - k 11 k 10 - k 9 m 1 m 2 m 3 m 4
E.n1=m1 < < 3;N2=m2 < < 3;N3=m3 < < 3;N4=m4 < < 3;
F.l1=m1 < < 1;L2=m2 < < 1;L3=m3 < < 1;L4=m4 < < 1;
G.cc1=n1+l4;Cc2=-n2+l3;Cc3=n3+l2;Cc4=n4-l1;
I.y3=cc1-cc2+n3+l1+m2;Y7=cc1-cc3-n4-l3+m1;Y11=n1+cc2+cc4-l2+m4;y15 =-n2+cc3-cc4-l4+m3
Wherein, n1, n2, n3, n4, l1, l2, l3, l4, cc1, cc2, cc3, cc4 are whole
The intermediate variable of transformation of variables;
Finally complete following steps:
y 2 y 4 y 6 y 8 y 10 y 12 y 14 y 16 = k 1 k 2 k 3 k 4 k 5 k 6 k 7 k 8 k 2 k 5 k 8 - k 6 - k 3 - k 1 - k 4 - k 7 k 3 k 8 - k 4 - k 2 - k 7 k 5 k 1 k 6 k 4 - k 6 - k 2 k 8 k 1 k 7 - k 3 - k 5 k 5 - k 3 - k 7 k 1 - k 8 - k 2 k 6 k 4 k 6 - k 1 k 5 k 7 - k 2 k 4 k 8 - k 3 k 7 - k 4 k 1 - k 3 k 6 k 8 - k 5 k 2 k 8 - k 7 k 6 - k 5 k 4 - k 3 k 2 - k 1 b 1 b 2 b 3 b 4 b 5 b 6 b 7 b 8
J.g1=b1 < < 3;G2=b2 < < 3;G3=b3 < < 3;G4=b4 < < 3;G5=b5 < < 3;G6=b6 < < 3;G7=b7 < <3;G8=b8 < < 3;
K.e1=b1 < < 2;E2=b2 < < 2;E3=b3 < < 2;E4=b4 < < 2;E5=b5 < < 2;E6=b6 < < 2;E7=b7 < <2;E8=b8 < < 2;
L.f1=b1 < < 1;F2=b2 < < 1;F3=b3 < < 1;F4=b4 < < 1;F5=b5 < < 1;F6=b6 < < 1;F7=b7 < <1;F8=b8 < < 1;
M.d1=(g1-g7);D2=(-g2+g8)+e1;D3=(g3+g4);D4=(g5-g6);D5=(e1+e2);d6 =(-e2+e3);D7=(e3-e7)-g4;D8=(e4-e6);D9=(-e4-e8)-f6;D10=(e5-e8)-f7;D11= (f1+f6);D12=(-f2+f5);D13=(f3-f8);D14=(f4+f7);D15=g1+e7;D16=g2+e5;D17=g5 +e6;D18=b1-b7;D19=b1+b7;D20=-b2-b8;D21=-b2+b8;D22=b3+b4;D23=-b3+b4;d24 =b5+b6;D25=-b5+b6;D26=(e5+e8)+(f3-f4)
N.y2=d3+d5+d11+d15+d16+d19-d20+d22+e6+ (f3+f4)+b5;
Y4=d1+d5+d9-d14-d17+d18-d21-d24-g6+ (-f5)+b3;
Y6=-d3-d8-d10-d13+d15+d19-d22+d25+g7+f1+b2;
Y8=d1+d10+d12+d17+d18+d23+d24-g3+ (-e2-e3)+f1-b8;
Y10=d2-d7+d8+d14+d23-d24+d21-g6+ (-f2+f8)+b1;
Y12=-d4+d6+d11-d16+d20+d22+d25+ (e1+e4)+(-f2-f8)+b7-g8;
Y14=d2+d7+d12+d18+d21-d23+g3+d26+b6;
Y16=d4+d6+d9+d13+d19-d20-d25+g3+d26-b4-g8;
Wherein g1, g2, g3, g4, g5, g6, g7, g8, e1, e2, e3, e4, e5, e6, e7, e8, f1, f2, f3, f4, f5, F6, f7, f8, d1, d2, d3, d4, d5, d6, d7, d8, d9, d10, d11, d12, d13, d14, d15, d16, d17, d18, d19, D20, d21, d22, d23, d24, d25 are the intermediate variable of integer transform;
Wherein " < < " represents shifted left computing, and priority is higher than addition and subtraction, and elementary cell y=Px needs 185 to add altogether Method and 32 displacements.
The direct transform quick calculation method of this conversion base as shown in Figure 6, wherein computing module N1, N2, N3 respectively such as Fig. 7, Shown in 8,9.Wherein
X1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 represents integer transform Input four point value of one-dimensional direct transform;
Y1 y2 y3 y4 y5 y6 y7 y8 y9 y10 y11 y12 y13 y14 y15 y16 is 4 points of direct transform Output numerical value;It is from left to right that data process direction, and the intermediate variable value intersecting at a round dot is equal to what line on the left of round dot represented Data are added;Square expression data take advantage of a coefficient;"-" represents and takes negative value;" 2 " expression takes advantage of 2, i.e. moves to left one;" 4 " expression is taken advantage of 4, i.e. move to left two;" 8 " expression takes advantage of 8, i.e. moves to left 3.
" in1 " " in2 " " in3 " " in4 " " in5 " " in6 " " in7 " " in8 " in N1 module in Fig. 6 represents N1 module Input data, are connected with b16, b15, b14, b13, b12, b11, b10, b9 respectively;" out1 " " out2 " in N1 module " out3 " " out4 " represents the output data of N1 module, is connected with y1, y5, y9, y13 respectively;
" in1 " " in2 " " in3 " " in4 " in N2 module in Fig. 6 represents the input data of N2 module, respectively with m4, M3, m2, m1 are connected;" out1 " " out2 " " out3 " " out4 " in N2 module represents the output data of N2 module, respectively with y3, Y7, y11, y15 are connected;
" in1 " " in2 " " in3 " " in4 " " in5 " " in6 " " in7 " " in8 " in N3 module in Fig. 6 represents N3 module Input data, are connected with b8, b7, b6, b5, b4, b3, b2, b1 respectively;" out1 " " out2 " " out3 " " out4 " in N3 module " out5 " " out6 " " out7 " " out8 " represent N3 module output data, respectively with y2, y4, y6, y8, y10, y12, y14, Y16 is connected;
Data Y after 16x16 direct transform are zoomed in and out process by S305;
Y &prime; = Y &CircleTimes; P F
Being the point multiplication operation of matrix, Y is the data after 16x16 direct transform, and PF is scaled matrix, and Y' is this scaling Output valve after process, represents the information that video data transforms on frequency domain.
The alternative approach energy of the embodiment of the present invention concentrates excellent performance, and encircled energy is close to 16x16DCT, Ke Yiji The earth eliminates video data dependency on transformation space;Computation complexity is low, can be realized by addition and displacement, it is easy to Hardware realizes, and operational precision is high, there is not the unmatched problem of positive inverse transformation.Those of ordinary skill in the art can manage Solve, it is achieved all or part of step in above-described embodiment method can be by what programmed instruction related hardware completed, institute The program stated can be stored in a computer read/write memory medium, described storage medium can be ROM, RAM, disk, CD etc..
The foregoing is only presently preferred embodiments of the present invention, not in order to limit the present invention, all essences in the present invention Any amendment, equivalent and the improvement etc. made within god and principle, should be included within the scope of the present invention.

Claims (7)

1. a 16*16 integer transformation method for video coding, including
Receive Image Residual data X of the 16x16 of prediction module output in encoder;
Choose integer translation base, build transformation matrix P,
Build 16 take advantage of 16 general purpose integer transformation matrix as follows:
C=[C1 C2], wherein,
C 1 = 1 1 1 1 1 1 1 1 k 1 k 2 k 3 k 4 k 5 k 6 k 7 k 8 k 9 k 10 k 11 k 12 - k 12 - k 11 - k 10 - k 9 k 2 k 5 k 8 - k 6 - k 3 - k 1 - k 4 - k 7 2 1 - 1 - 2 - 2 - 1 1 2 k 3 k 8 - k 4 - k 2 - k 7 k 5 k 1 k 6 k 10 - k 12 - k 9 - k 11 k 11 k 9 k 12 - k 10 k 4 - k 6 - k 2 k 8 k 1 k 7 - k 3 - k 5 1 - 1 - 1 1 1 - 1 - 1 1 k 5 - k 3 - k 7 k 1 - k 8 - k 2 k 6 k 4 k 11 - k 9 k 12 k 10 - k 10 - k 12 k 9 - k 11 k 6 - k 1 k 5 k 7 - k 2 k 4 k 8 - k 3 1 - 2 2 - 1 - 1 2 - 2 1 k 7 - k 4 k 1 - k 3 k 6 k 8 - k 5 k 2 k 12 - k 11 k 10 - k 9 k 9 - k 10 k 11 - k 12 k 8 - k 7 k 6 - k 5 k 4 - k 3 k 2 - k 1
C 2 = 1 1 1 1 1 1 1 1 - k 8 - k 7 - k 6 - k 5 - k 4 - k 3 - k 2 - k 1 - k 9 - k 10 - k 11 - k 12 k 12 k 11 k 10 k 9 k 7 k 4 k 1 k 3 k 6 - k 8 - k 5 - k 2 2 1 - 1 - 2 - 2 - 1 1 2 - k 6 - k 1 - k 5 k 7 k 2 k 4 - k 8 - k 3 - k 10 k 12 k 9 k 11 - k 11 - k 9 - k 12 k 10 k 5 k 3 - k 7 - k 1 - k 8 k 2 k 6 - k 4 1 - 1 - 1 1 1 - 1 - 1 1 - k 4 - k 6 k 2 k 8 - k 1 k 7 k 3 - k 5 - k 11 k 9 - k 12 - k 10 k 10 k 12 - k 9 k 11 k 3 - k 8 - k 4 k 2 - k 7 - k 5 k 1 - k 6 1 - 2 2 - 1 - 1 2 - 2 1 - k 2 k 5 - k 8 - k 6 k 3 - k 1 k 4 - k 7 - k 12 k 11 - k 10 k 9 - k 9 k 10 - k 11 k 12 k 1 - k 2 k 3 - k 4 k 5 - k 6 k 7 - k 8
In Matrix C, k9=10;K10=9;K11=6;K12=2;
[k1 k2 k3 k4 k5 k6 k7 k8] is integer translation base;
Image Residual data X of 16x16 are carried out integer transform by direct transform, and transformation for mula is Y=PXPT;Wherein P is described Transformation matrix;X is described Image Residual data;
It is characterized in that:
Described integer translation base is one in values below:
[27 28 24 23 19 14 9 5]、[15 13 11 11 5 6 5 1]。
2. 16*16 integer transformation method for video coding as claimed in claim 1, it is characterised in that described step " chooses integer Conversion base, builds transformation matrix P " after can also include step:
According to transformation matrix P, build scaled matrix PF,
PF=zT*z
Wherein, zT=[1/ | | m1|| … 1/||m16||];miFor the row vector of transformation matrix P, i value is 1-16;||mi| | for Row vector miVector norm;
Data Y after 16x16 direct transform are zoomed in and out process,
Y &prime; = Y &CircleTimes; P F
Being the point multiplication operation of matrix, Y is the data after 16x16 direct transform, and PF is scaled matrix, and Y' is that this scaling processes After output valve, represent the information that video data transforms on frequency domain.
3. 16*16 integer transformation method for video coding as claimed in claim 1, it is characterised in that the change in described direct transform The elementary cell changed is 16 one-dimensional transforms of shape such as y=Px, wherein
X=[x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16]T, the y=[y1 of output y2 y3 y4 y5 y6 y7 y8 y9 y10 y11 y12 y13 y14 y15 y16]T, x1 x2 x3 x4 x5 x6 x7 x8 X9 x10 x11 x12 x13 x14 x15 x16 is ten six input numerical value of described direct transform;
Y1 y2 y3 y4 y5 y6 y7 y8 y9 y10 y11 y12 y13 y14 y15 y16 is the 16 of described direct transform Point output numerical value.
4. 16*16 integer transformation method for video coding as claimed in claim 2, it is characterised in that described integer translation base takes When value is for [27 28 24 23 19 14 9 5]:
Described transformation matrix
P = 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 27 28 24 23 19 14 9 5 - 5 - 9 - 14 - 19 - 23 - 24 - 28 - 27 10 9 6 2 - 2 - 6 - 9 - 10 - 10 - 9 - 6 - 2 2 6 9 10 28 19 5 - 14 - 24 - 27 - 23 - 9 9 23 27 24 14 - 5 - 19 - 28 2 1 - 1 - 2 - 2 - 1 1 2 2 1 - 1 - 2 - 2 - 1 1 2 24 5 - 23 - 28 - 9 19 27 14 - 14 - 27 - 19 9 28 23 - 5 - 24 9 - 2 - 10 - 6 6 10 2 - 9 - 9 2 10 6 - 6 - 10 - 2 9 23 - 14 - 28 5 27 9 - 24 - 19 19 24 - 9 - 27 - 5 28 14 - 23 1 - 1 - 1 1 1 - 1 - 1 1 1 - 1 - 1 1 1 - 1 - 1 1 19 - 24 - 9 27 - 5 - 28 14 23 - 23 - 14 28 5 - 27 9 24 - 19 6 - 10 2 9 - 9 - 2 10 - 6 - 6 10 - 2 - 9 9 2 - 10 6 14 - 27 19 9 - 28 23 5 - 24 24 - 5 - 23 28 - 9 - 19 27 - 14 1 - 2 2 - 1 - 1 2 - 2 1 1 - 2 2 - 1 - 1 2 - 2 1 9 - 23 27 - 24 14 5 - 19 28 - 28 19 - 5 - 14 24 - 27 23 - 9 2 - 6 9 - 10 10 - 9 6 - 2 - 2 6 - 9 10 - 10 9 - 6 2 5 - 9 14 - 19 23 - 24 28 - 27 27 - 28 24 - 23 19 - 14 9 - 5
zT=[α 1 α 1], wherein
α 1=[0.25 0.012345 0.033634 0.012345 0.15811 0.012345 0.033634 0.012345]
Scaled matrix is:
PF=[β 1 β 1], wherein
&beta; 1 = 62.5 6.5744 8.4084 6.5744 39.528 6.5744 8.4084 6.5744 6.5744 0.69156 0.88448 0.69156 4.158 0.69156 0.88448 0.69156 8.4084 0.88448 1.1312 0.88448 5.3179 0.88448 1.1312 0.88448 6.5744 0.69156 0.88448 0.69156 4.158 0.69156 0.88448 0.69156 39.528 4.158 5.3179 4.158 25 4.158 5.3179 4.158 6.5744 0.69156 0.88448 0.69156 4.158 0.69156 0.88448 0.69156 8.4084 0.88448 1.1312 0.88448 5.3179 0.88448 1.1312 0.88448 6.5744 0.69156 0.88448 0.69156 4.158 0.69156 0.88448 0.69156 62.5 6.5744 8.4084 6.5744 39.528 6.5744 8.4084 6.5744 6.5744 0.69156 0.88448 0.69156 4.158 0.69156 0.88448 0.69156 8.4084 0.88448 1.1312 0.88448 5.3179 0.88448 1.1312 0.88448 6.5744 0.69156 0.88448 0.69156 4.158 0.69156 0.88448 0.69156 39.528 4.158 5.3179 4.158 25 4.158 5.3179 4.158 6.5744 0.69156 0.88448 0.69156 4.158 0.69156 0.88448 0.69156 8.4084 0.88448 1.1312 0.88448 5.3179 0.88448 1.1312 0.88448 6.5744 0.69156 0.88448 0.69156 4.158 0.69156 0.88448 0.69156 * 0.01.
5. 16*16 integer transformation method for video coding as claimed in claim 3, it is characterised in that described work as integer translation base When value is [27 28 24 23 19 14 9 5], " Image Residual data X of 16x16 are carried out integer transform, transformation for mula For Y=PXPT" calculate process as follows:
A.b1=x1-x16 b2=x2-x15 b3=x3-x14 b4=x4-x13b5=x5-x12 b6=x6-x11 b7= X7-x10 b8=x8-x9;
B.b16=x1+x16 b15=x2+x15 b14=x3+x14 b13=x4+x13b12=x5+x12 b11=x6+x11 B10=x7+x10 b9=x8+x9;
C.m1=b16-b9;M2=b15-b10;M3=b14-b11;M4=b13-b12;
D.y1=b9+b10+b11+b12+b13+b14+b15+b16;
Y5=b16 < < 1+b15-b14-b13 < < 1-b12 < < 1-b11+b10+b9 < < 1
Y9=b16-b15-b14+b13+b12-b11-b10+b9
Y13=b16-b15 < < 1+b14 < < 1-b13-b12+b11 < < 1-b10 < < 1+b9;
Wherein, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, m1, m2, m3, m4 are The intermediate variable of integer transform;
Complete following steps again:
y 3 y 7 y 11 y 15 = k 9 k 10 k 11 k 12 k 10 - k 12 - k 9 - k 11 k 11 - k 9 k 12 k 10 k 12 - k 11 k 10 - k 9 m 1 m 2 m 3 m 4 ;
E.n1=m1 < < 3;N2=m2 < < 3;N3=m3 < < 3;N4=m4 < < 3;
F.l1=m1 < < 1;L2=m2 < < 1;L3=m3 < < 1;L4=m4 < < 1;
G.cc1=n1+l4;Cc2=-n2+l3;Cc3=n3+l2;Cc4=n4-l1;
H.y3=cc1-cc2+n3+l1+m2;Y7=cc1-cc3-n4-l3+m1;
Y11=n1+cc2+cc4-l2+m4;Y15=-n2+cc3-cc4-l4+m3;
Wherein, n1, n2, n3, n4, l1, l2, l3, l4, cc1, cc2, cc3, cc4 are the intermediate variable of integer transform;
Finally complete following steps:
y 2 y 4 y 6 y 8 y 10 y 12 y 14 y 16 = k 1 k 2 k 3 k 4 k 5 k 6 k 7 k 8 k 2 k 5 k 8 - k 6 - k 3 - k 1 - k 4 - k 7 k 3 k 8 - k 4 - k 2 - k 7 k 5 k 1 k 6 k 4 - k 6 - k 2 k 8 k 1 k 7 - k 3 - k 5 k 5 - k 3 - k 7 k 1 - k 8 - k 2 k 6 k 4 k 6 - k 1 k 5 k 7 - k 2 k 4 k 8 - k 3 k 7 - k 4 k 1 - k 3 k 6 k 8 - k 5 k 2 k 8 - k 7 k 6 - k 5 k 4 - k 3 k 2 - k 1 b 1 b 2 b 3 b 4 b 5 b 6 b 7 b 8
I.c1=b1 < < 4;C2=b2 < < 4;C3=b3 < < 4;C4=b4 < < 4;C5=b5 < < 4;C6=b6 < < 4;C7=b7 < < 4; C8=b8 < < 4;
J.g1=b1 < < 3;G2=b2 < < 3;G3=b3 < < 3;G4=b4 < < 3;G5=b5 < < 3;G6=b6 < < 3;G7=b7 < < 3; G8=b8 < < 3;
K.e1=b1 < < 2;E2=b2 < < 2;E3=b3 < < 2;E4=b4 < < 2;E5=b5 < < 2;E6=b6 < < 2;E7=b7 < < 2; E8=b8 < < 2;
L.f1=b1 < < 1;F2=b2 < < 1;F3=b3 < < 1;F4=b4 < < 1;F5=b5 < < 1;F6=b6 < < 1;F7=b7 < < 1; F8=b8 < < 1;
M.d1=(e1-e6)+(c1-c6);D2=(e2+e5)+c5;D3=(e4+e5);D4=(-e4+e7);
D5=(g1+g7);D6=(g1-g7);D7=(-g2-g8);D8=(-g2+g8);D9=(g3+g4);
D10=(g3-g4);D11=(g5+g6)-e3;D12=(g5-g6);D13=(c1+c6);
D15=(-c2+c3)+e3;D16=(c2+c3);D17=(-c4+c8)+e6;D18=(c4+c8);
D19=(c5-c7);D20=(c5+c7);D21=-b1+b8;D22=b1+b8;D23=b2-b3;
D24=-b4-b5;D25=b4-b5;D26=b6+b7;
N.y2=d2+d5+d9+d13+d16+d21+d24+e1+e8+g2+c4-f6+b7;
Y4=d1+d6-d11-d20-d23+d26+e2-g8+ (c2-c4)+f4-b8;
Y6=d4+d5-d9+d13+d17-d26+e2-g5+ (-c3+c7)+b2+b3-b5-f8;
Y8=d3+d6+d11-d16+d19+d21+d25-g3+ (c1-c8)+f2+b6-g4;
Y10=d1+d8-d10+d18-d22+d24-g6+ (-c2+c7)-b3-f7+ (e4-e5);
Y12=-d2+d7-d12+d13+d15+d23+e7+g4-c8-f1+b4-b6+b7;
Y14=d8+d10+d15+d17+d19+d23+d26+ (-e7+e8)+g1+b1-f5;
Y16=d4+d7+d12-d18+d20+d22+d25+ (e1-e8)+g7+c3-b2-f3-c6;
Wherein, c1, c2, c3, c4, c5, c6, c7, c8, g1, g2, g3, g4, g5, g6, g7, g8, e1, e2, e3, e4, e5, e6, E7, e8, f1, f2, f3, f4, f5, f6, f7, f8, d1, d2, d3, d4, d5, d6, d7, d8, d9, d10, d11, d12, d13, d14, D15, d16, d17, d18, d19, d20, d21, d22, d23, d24 are the intermediate variable of integer transform;" < < " represents shifted left Computing, priority is higher than addition and subtraction.
6. 16*16 integer transformation method for video coding as claimed in claim 2, it is characterised in that described integer translation base takes When value is for [15 13 11 11 565 1]:
Described transformation matrix
P = 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 15 13 11 11 5 6 5 1 - 1 - 5 - 6 - 5 - 11 - 11 - 13 - 15 10 9 6 2 - 2 - 6 - 9 - 10 - 10 - 9 - 6 - 2 2 6 9 10 13 5 1 - 6 - 11 - 15 - 11 - 5 5 11 15 11 6 - 1 - 5 - 13 2 1 - 1 - 2 - 2 - 1 1 2 2 1 - 1 - 2 - 2 - 1 1 2 11 1 - 11 - 13 - 5 5 15 6 - 6 - 15 - 5 5 13 11 - 1 - 11 9 - 2 - 10 - 6 6 10 2 - 9 - 9 2 10 6 - 6 - 10 - 2 9 11 - 6 - 13 1 15 5 - 11 - 5 5 11 - 5 - 15 - 1 13 6 - 11 1 - 1 - 1 1 1 - 1 - 1 1 1 - 1 - 1 1 1 - 1 - 1 1 5 - 11 - 5 15 - 1 - 13 6 11 - 11 - 6 13 1 - 15 5 11 - 5 6 - 10 2 9 - 9 - 2 10 - 6 - 6 10 - 2 - 9 9 2 - 10 6 6 - 15 5 5 - 13 11 1 - 11 11 - 1 - 11 13 - 5 - 5 15 - 6 1 - 2 2 - 1 - 1 2 - 2 1 1 - 2 2 - 1 - 1 2 - 2 1 5 - 11 15 - 11 6 1 - 5 13 - 13 5 - 1 - 6 11 - 15 11 - 5 2 - 6 9 - 10 10 - 9 6 - 2 - 2 6 - 9 10 - 10 9 - 6 2 1 - 5 6 - 5 11 - 11 13 - 15 15 - 13 11 - 11 5 - 6 5 - 1
zT=[α 1 α 1], wherein
α 1=[0.25 0.026298 0.033634 0.026298 0.15811 0.026298 0.033634 0.026298]
Scaled matrix is:
PF=[β 1 β 1], wherein
&beta; 1 = 6.25 0.65744 0.84084 0.65744 3.9528 0.65744 0.84084 0.65744 0.65744 0.069156 0.088448 0.069156 0.4158 0.069156 0.088448 0.069156 0.84084 0.088448 0.11312 0.088448 0.53179 0.088448 0.11312 0.088448 0.65744 0.069156 0.088448 0.069156 0.4158 0.069156 0.088448 0.069156 3.9528 0.4158 0.53179 0.4158 2.5 0.4158 0.53179 0.4158 0.65744 0.069156 0.088448 0.069156 0.4158 0.069156 0.088448 0.069156 0.84084 0.088448 0.11312 0.088448 0.53179 0.088448 0.11312 0.088448 0.65744 0.069156 0.088448 0.069156 0.4158 0.069156 0.088448 0.069156 6.25 0.65744 0.84084 0.65744 3.9528 0.65744 0.84084 0.65744 0.65744 0.069156 0.088448 0.069156 0.4158 0.069156 0.088448 0.069156 0.84084 0.088448 0.11312 0.088448 0.53179 0.088448 0.11312 0.088448 0.65744 0.069156 0.088448 0.069156 0.4158 0.069156 0.088448 0.069156 3.9528 0.4158 0.53179 0.4158 2.5 0.4158 0.53179 0.4158 0.65744 0.069156 0.088448 0.069156 0.4158 0.069156 0.088448 0.069156 0.84084 0.088448 0.11312 0.088448 0.53179 0.088448 0.11312 0.088448 0.65744 0.069156 0.088448 0.069156 0.4158 0.069156 0.088448 0.069156 * 0.01.
7. 16*16 integer transformation method for video coding as claimed in claim 3, it is characterised in that described work as integer translation base When value is [15 13 11 11 565 1], " Image Residual data X of 16x16 are carried out integer transform, and transformation for mula is Y =PXPT" calculate process as follows:
A.b1=x1-x16 b2=x2-x15 b3=x3-x14 b4=x4-x13 b5=x5-x12 b6=x6-x11b7= X7-x10b8=x8-x9
B.b16=x1+x16 b15=x2+x15 b14=x3+x14 b13=x4+x13 b12=x5+x12b11=x6+x11 B10=x7+x10 b9=x8+x9;
C.m1=b16-b9;M2=b15-b10;M3=b14-b11;M4=b13-b12;
D.y1=b9+b10+b11+b12+b13+b14+b15+b16;
Y5=b16 < < 1+b15-b14-b13 < < 1-b12 < < 1-b11+b10+b9 < < 1;
Y9=b16-b15-b14+b13+b12-b11-b10+b9;
Y13=b16-b15 < < 1+b14 < < 1-b13-b12+b11 < < 1-b10 < < 1+b9;
Wherein, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, m1, m2, m3, m4 are The intermediate variable of integer transform;
Complete following steps again:
y 3 y 7 y 11 y 15 = k 9 k 10 k 11 k 12 k 10 - k 12 - k 9 - k 11 k 11 - k 9 k 12 k 10 k 12 - k 11 k 10 - k 9 m 1 m 2 m 3 m 4 ;
E.n1=m1 < < 3;N2=m2 < < 3;N3=m3 < < 3;N4=m4 < < 3;
F.l1=m1 < < 1;L2=m2 < < 1;L3=m3 < < 1;L4=m4 < < 1;
G.cc1=n1+l4;Cc2=-n2+l3;Cc3=n3+l2;Cc4=n4-l1;
H.y3=cc1-cc2+n3+l1+m2;Y7=cc1-cc3-n4-l3+m1;
Y11=n1+cc2+cc4-l2+m4;Y15=-n2+cc3-cc4-l4+m3;
Wherein, n1, n2, n3, n4, l1, l2, l3, l4, cc1, cc2, cc3, cc4 are the intermediate variable of integer transform;
Finally complete following steps:
y 2 y 4 y 6 y 8 y 10 y 12 y 14 y 16 = k 1 k 2 k 3 k 4 k 5 k 6 k 7 k 8 k 2 k 5 k 8 - k 6 - k 3 - k 1 - k 4 - k 7 k 3 k 8 - k 4 - k 2 - k 7 k 5 k 1 k 6 k 4 - k 6 - k 2 k 8 k 1 k 7 - k 3 - k 5 k 5 - k 3 - k 7 k 1 - k 8 - k 2 k 6 k 4 k 6 - k 1 k 5 k 7 - k 2 k 4 k 8 - k 3 k 7 - k 4 k 1 - k 3 k 6 k 8 - k 5 k 2 k 8 - k 7 k 6 - k 5 k 4 - k 3 k 2 - k 1 b 1 b 2 b 3 b 4 b 5 b 6 b 7 b 8 ;
I.g1=b1 < < 3;G2=b2 < < 3;G3=b3 < < 3;G4=b4 < < 3;G5=b5 < < 3;G6=b6 < < 3;G7=b7 < < 3; G8=b8 < < 3;
J.e1=b1 < < 2;E2=b2 < < 2;E3=b3 < < 2;E4=b4 < < 2;E5=b5 < < 2;E6=b6 < < 2;E7=b7 < < 2; E8=b8 < < 2;
L.f1=b1 < < 1;F2=b2 < < 1;F3=b3 < < 1;F4=b4 < < 1;F5=b5 < < 1;F6=b6 < < 1;F7=b7 < < 1; F8=b8 < < 1;
M.d1=(g1-g7);D2=(-g2+g8)+e1;D3=(g3+g4);D4=(g5-g6);D5=(e1+e2);
D6=(-e2+e3);D7=(e3-e7)-g4;D8=(e4-e6);D9=(-e4-e8)-f6;D10=(e5-e8)-f7;
D11=(f1+f6);D12=(-f2+f5);D13=(f3-f8);D14=(f4+f7);D15=g1+e7;
D16=g2+e5;D17=g5+e6;D18=b1-b7;D19=b1+b7;D20=-b2-b8;
D21=-b2+b8;D22=b3+b4;D23=-b3+b4;D24=b5+b6;D25=-b5+b6;
D26=(e5+e8)+(f3-f4);
N.y2=d3+d5+d11+d15+d16+d19-d20+d22+e6+ (f3+f4)+b5;
Y4=d1+d5+d9-d14-d17+d18-d21-d24-g6+ (-f5)+b3;
Y6=-d3-d8-d10-d13+d15+d19-d22+d25+g7+f1+b2;
Y8=d1+d10+d12+d17+d18+d23+d24-g3+ (-e2-e3)+f1-b8;
Y10=d2-d7+d8+d14+d23-d24+d21-g6+ (-f2+f8)+b1;
Y12=-d4+d6+d11-d16+d20+d22+d25+ (e1+e4)+(-f2-f8)+b7-g8;
Y14=d2+d7+d12+d18+d21-d23+g3+d26+b6;
Y16=d4+d6+d9+d13+d19-d20-d25+g3+d26-b4-g8;
Wherein g1, g2, g3, g4, g5, g6, g7, g8, e1, e2, e3, e4, e5, e6, e7, e8, f1, f2, f3, f4, f5, f6, f7, F8, d1, d2, d3, d4, d5, d6, d7, d8, d9, d10, d11, d12, d13, d14, d15, d16, d17, d18, d19, d20, D21, d22, d23, d24, d25 are the intermediate variable of integer transform;" < < " represents shifted left computing, and priority is higher than plus-minus Method.
CN201110278235.3A 2011-04-20 2011-09-19 A kind of 16*16 integer transformation method for video coding Expired - Fee Related CN102333216B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110278235.3A CN102333216B (en) 2011-04-20 2011-09-19 A kind of 16*16 integer transformation method for video coding

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
CN201110101437.0 2011-04-20
CN 201110101437 CN102137261A (en) 2011-04-20 2011-04-20 16*16 integer transformation method for video coding
CN2011101014370 2011-04-20
CN201110278235.3A CN102333216B (en) 2011-04-20 2011-09-19 A kind of 16*16 integer transformation method for video coding

Publications (2)

Publication Number Publication Date
CN102333216A CN102333216A (en) 2012-01-25
CN102333216B true CN102333216B (en) 2016-12-14

Family

ID=

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5964824A (en) * 1996-02-02 1999-10-12 Nec Coporation Two-dimensional IDCT circuit with input adder out output shifter for reducing addition operations during rounding-up
CN1466854A (en) * 2000-08-12 2004-01-07 �޲���-��ϣ�ɷݹ�˾ Method for carrying out integer approximation of transform coefficients, and coder and decoder
CN1589017A (en) * 2004-08-06 2005-03-02 联合信源数字音视频技术(北京)有限公司 Quantizing device for low complicated degree integer 4x4 discrete cosine transform and its realizing method
CN1879419A (en) * 2004-09-28 2006-12-13 华为技术有限公司 Video image coding method
CN101640791A (en) * 2009-03-10 2010-02-03 青岛海信信芯科技有限公司 Decoding method, decoding device and decoder
CN101931817A (en) * 2010-04-12 2010-12-29 中山大学 Transform coding method based on transform base self-adaption

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5964824A (en) * 1996-02-02 1999-10-12 Nec Coporation Two-dimensional IDCT circuit with input adder out output shifter for reducing addition operations during rounding-up
CN1466854A (en) * 2000-08-12 2004-01-07 �޲���-��ϣ�ɷݹ�˾ Method for carrying out integer approximation of transform coefficients, and coder and decoder
CN1589017A (en) * 2004-08-06 2005-03-02 联合信源数字音视频技术(北京)有限公司 Quantizing device for low complicated degree integer 4x4 discrete cosine transform and its realizing method
CN1879419A (en) * 2004-09-28 2006-12-13 华为技术有限公司 Video image coding method
CN101640791A (en) * 2009-03-10 2010-02-03 青岛海信信芯科技有限公司 Decoding method, decoding device and decoder
CN101931817A (en) * 2010-04-12 2010-12-29 中山大学 Transform coding method based on transform base self-adaption

Similar Documents

Publication Publication Date Title
CN107622302B (en) Superpixel method for convolutional neural network
CN111402129B (en) Binocular stereo matching method based on joint up-sampling convolutional neural network
JP7325158B2 (en) Data Representation for Dynamic Accuracy in Neural Network Cores
CN110097172B (en) Convolutional neural network data processing method and device based on Winograd convolutional operation
CN105512723A (en) Artificial neural network calculating device and method for sparse connection
CN116541647A (en) Operation accelerator, processing method and related equipment
CN112508125A (en) Efficient full-integer quantization method of image detection model
CN115641285A (en) Binocular vision stereo matching method based on dense multi-scale information fusion
CN110751265A (en) Lightweight neural network construction method and system and electronic equipment
CN114708270A (en) Semantic segmentation model compression system and method based on knowledge aggregation and decoupling distillation
CN115082306A (en) Image super-resolution method based on blueprint separable residual error network
CN111882053B (en) Neural network model compression method based on splicing convolution
Qi et al. Learning low resource consumption cnn through pruning and quantization
Guo et al. Asconvsr: Fast and lightweight super-resolution network with assembled convolutions
CN113256496B (en) Lightweight progressive feature fusion image super-resolution system and method
CN109063834B (en) Neural network pruning method based on convolution characteristic response graph
Ma et al. Searching for fast demosaicking algorithms
CN114638842A (en) Medical image segmentation method based on MLP
Khan et al. Ntire 2022 challenge on efficient super-resolution: Methods and results
CN102333216B (en) A kind of 16*16 integer transformation method for video coding
CN115913245A (en) Data encoding method, data decoding method, and data processing apparatus
KR20200022386A (en) Information processing device and information processing method
CN102137261A (en) 16*16 integer transformation method for video coding
CN116187401A (en) Compression method and device for neural network, electronic equipment and storage medium
Xiong et al. Noucsr: Efficient super-resolution network without upsampling convolution

Legal Events

Date Code Title Description
PB01 Publication
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right

Effective date of registration: 20140801

Address after: Unit B4 9 building 518057 Guangdong city of Shenzhen province Nanshan District high in the four EVOC Technology Building No. 31

Applicant after: Shenzhen Yunzhou Multimedia Technology Co., Ltd.

Address before: 19, building 18, Changhong technology building, 518057 South twelve Road, South tech Zone, Nanshan District hi tech Zone, Guangdong, Shenzhen

Applicant before: Shenzhen Temobi Science & Tech Development Co.,Ltd.

CB02 Change of applicant information

Address after: The central Shenzhen city of Guangdong Province, 518057 Keyuan Road, Nanshan District science and Technology Park No. 15 Science Park Sinovac A Building 1 unit 403, No. 405 unit

Applicant after: Shenzhen Yunzhou Multimedia Technology Co., Ltd.

Address before: Unit B4 9 building 518057 Guangdong city of Shenzhen province Nanshan District high in the four EVOC Technology Building No. 31

Applicant before: Shenzhen Yunzhou Multimedia Technology Co., Ltd.

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

Granted publication date: 20161214

Termination date: 20190919