CN102137261A - 一种视频编码16x16整数变换方法 - Google Patents

一种视频编码16x16整数变换方法 Download PDF

Info

Publication number
CN102137261A
CN102137261A CN 201110101437 CN201110101437A CN102137261A CN 102137261 A CN102137261 A CN 102137261A CN 201110101437 CN201110101437 CN 201110101437 CN 201110101437 A CN201110101437 A CN 201110101437A CN 102137261 A CN102137261 A CN 102137261A
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.)
Pending
Application number
CN 201110101437
Other languages
English (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 RONGCHUANG TIANXIA TECHNOLOGY DEVELOPMENT Co Ltd
Shenzhen Temobi Science and Technology Co Ltd
Original Assignee
SHENZHEN RONGCHUANG TIANXIA TECHNOLOGY DEVELOPMENT 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 SHENZHEN RONGCHUANG TIANXIA TECHNOLOGY DEVELOPMENT Co Ltd filed Critical SHENZHEN RONGCHUANG TIANXIA TECHNOLOGY DEVELOPMENT Co Ltd
Priority to CN 201110101437 priority Critical patent/CN102137261A/zh
Priority to PCT/CN2011/076170 priority patent/WO2012142792A1/zh
Publication of CN102137261A publication Critical patent/CN102137261A/zh
Priority to CN201110278235.3A priority patent/CN102333216B/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

本发明公开一种视频编码16x16整数变换方法,通过接收编码器中预测模块输出的16x16的图像残差数据X,选取不同整数变换基([27282423191495]或[151311115651]),构建变换矩阵P;根据变换矩阵P,构建缩放矩阵PF(PF=ZT*Z);对图像残差数据X进行正变换(Y=PXPT),并根据不同的整数变化基,采用相应的整数变换计算方法;对经过16x16正变换后的数据Y进行缩放处理。本发明的变换方法能量集中性能优秀,能量集中度接近16x16DCT,可以极大地消除视频数据在变换空间上的相关性;计算复杂度低,可通过加法和移位来实现,易于硬件实现,并且运算精度高,不存正反变换不匹配的问题。

Description

一种视频编码16x16整数变换方法
技术领域
本发明涉及视频编码技术领域,尤其涉及一种视频编码16x16整数变换方法。
背景技术
一套完整的视频编码系统是由预测、变换、量化、熵编码等一系列算法模块组成的。其中帧内帧间预测是利用视频数据在空间和时间上的相关性压缩数据。变换模块是将预测模块输出的图像残差数据由时域变换到另一个空间上,使时域上平坦分布的数据在变换空间上能量集中,将数据的能量大部分集中在空间的低频区域中。在随后的量化和熵编码模块中,会有效的利用变换后的数据分布特征,进一步压缩数据。显而易见,变换模块是视频编码系统中重要的组成部分,变换的性能直接影响视频编码系统的性能。
在现有视频编码系统中,DCT变换得到了广泛的应用,其变换的能量集中性很好,可以极大地消除视频数据在变换空间上的相关性。但是这种算法存在不足,DCT变换矩阵是浮点表示的,计算过程中使用大量的浮点乘法和加法,占用硬件资源多,计算复杂的大。同时由于处理器运算位数影响,浮点运算存在截断误差,浮点计算精度不高,DCT正反变换不能完全匹配,变换不可逆。
发明内容
本发明实施例的目的在于提出一种视频编码16x16整数变换方法,旨在解决现有技术DCT变换矩阵采用浮点乘法和加法,占用硬件资源多,计算复杂的大,计算精度不高,DCT正反变换不能完全匹配,变换不可逆的问题。
本发明实施例的方法是这样实现的,一种视频编码16x16整数变换方法,包括:
步骤1,接收编码器中预测模块输出的16x16的图像残差数据X;
步骤2,选取整数变换基,构建变换矩阵,
构建16乘16的通用整数变换矩阵如下:
C=[C1 C2],其中,
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
矩阵C中,k9=10;k10=9;k11=6;k12=2。
[k1k2k3k4k5k6k7k8]为整数变换基;
步骤3,根据变换矩阵P,构建缩放矩阵PF,
PF=ZT*Z
其中,ZT=[1/||m1||…1/||m16||];mi为变换矩阵P的行向量,i取值为1-16;||mi||为行向量mi的向量范数;
步骤4,正变换,对16x16的图像残差数据X进行整数变换,变换公式为Y=PXPT;其中P为所述的变换矩阵;X为所述的图像残差数据;
步骤5,对经过16x16正变换后的数据Y进行缩放处理,
Y ′ = Y ⊗ PF
Figure BSA00000479383100032
是矩阵的点乘运算,Y是经过16x16正变换后的数据,PF是缩放矩阵,Y′是本缩放处理后的输出值,代表视频数据变换到频域上的信息;
其中:
所述整数变换基为以下数值中的一个:
[27282423191495]、[151311115651]。
所述步骤4中的变换的基本单元是形如y=Px的16点一维变换,其中x=[x1x2x3x4x5x6x7x8x9x10x11x12x13x14x15x16]T  ,输出的y=[y1y2y3y4y5y6y7y8y9y10y11y12y13y14y15y16]Tx1x2x3x4x5x6x7x8x9x10x11x12x13x14x15x16表示整数变换的一维正变换的输入十六点数值;y1y2y3y4y5y6y7y8y9y10y11y12y13y14y15y16为止变换的十六点输出数值。
当所述整数变换基取值为[27282423191495]时:所述变换矩阵
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 - 15 - 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 15 - 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 12 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],其中
α1=[0.250.0123450.0336340.0123450.158110.0123450.0336340.012345]缩放矩阵为:
PF=[β1β1],其中
β 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 5.3179 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 .
当所述当整数变换基取值为[27282423191495]时,“对16x16的图像残差数据X进行整数变换,变换公式为Y=PXPT”计算过程如下:
A.b1=x1-x16b2=x2-x15b3=x3-x14b4=x4-x13b5=x5-x12 b6=x6-x11 b7=x7-x10 b8=x8-x9
B.b16=x1+x16b15=x2+x15b14=x3+x14b13=x4+x13b12=x5+x12b11=x6+x11b10=x7+x10b9=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;
再完成以下步骤:
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-l 1;
H.y3=cc1-cc2+n3+l1+m2;y7=cc1-cc3-n4-l3+m1;
y11=n1+cc2+cc4-12+m4;y15=-n2+cc3-cc4-l4+m3
最后完成如下步骤:
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+d 13+d16+d21+d24+e 1+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;
其中“<<”表示向左移位运算,优先级高于加减法,基本单元y=Px共需要196个加法和40个移位。
当所述整数变换基取值为[151311115651]时:所述变换矩阵
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],其中
α1=[0.250.0262980.0336340.0262980.158110.0262980.0336340.026298]缩放矩阵为:
PF=[β1β1],其中
β 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 .
所述当整数变换基取值为[151311115651]时,“对16x16的图像残差数据X进行整数变换,变换公式为Y=PXPT”计算过程如下:
A.b1=x1-x16b2=x2-x15b3=x3-x14b4=x4-x13b5=x5-x12b6=x6-x11b7=x7-x10b8=x8-x9
B.b16=x1+x16b15=x2+x15b14=x3+x14b13=x4+x13b12=x5+x12b11=x6+x11b10=x7+x10b9=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;
再完成以下步骤:
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
最后完成如下步骤:
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;
其中“<<”表示向左移位运算,优先级高于加减法,基本单元y=Px共需要185个加法和32个移位。
本发明的有益效果:
本发明实施例提出的二组的16x16的整数变换矩阵,并且给出了变换的快速算法,本发明实施例的变换方法能量集中性能优秀,能量集中度接近16x16DCT,可以极大地消除视频数据在变换空间上的相关性。计算复杂度低,可通过加法和移位来实现,易于硬件实现,并且运算精度高,不存正反变换不匹配的问题
附图说明
图1是本发明实施例1一种视频编码16x16整数变换方法流程图;
图2是本发明实施例1中当整数变换基选取[27282423191495]时相应的整数变换计算方法示意图;
图3是图2中整数变换计算方法示意图中的计算模块M1的计算方法图;
图4是图2中整数变换计算方法示意图中的计算模块M2的计算方法图;
图5是图2中整数变换计算方法示意图中的计算模块M3的计算方法图;
图6是本发明实施例1中当整数变换基选取[151311115651]时相应的整数变换计算方法示意图;
图7是图6中整数变换计算方法示意图中的计算模块N1的计算方法图;
图8是图6中整数变换计算方法示意图中的计算模块N2的计算方法图;
图9是图6中整数变换计算方法示意图中的计算模块N3的计算方法图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图和实施例,对本发明进行进一步详细说明,为了便于说明,仅示出了与本发明实施例相关的部分。应当理解,此处所描写的具体实施例,仅仅用于解释本发明,并不用以限制本发明。
本发明通过接收编码器中预测模块输出的16x16的图像残差数据X,选取不同整数变换基([27282423191495]或[151311115651]),构建变换矩阵P;根据变换矩阵P,构建缩放矩阵PF(PF=ZT*Z);对图像残差数据X进行正变换(Y=PXPT),并根据不同的整数变化基,采用相应的整数变换计算方法;对经过16x16正变换后的数据Y进行缩放处理。
实施例一
如图1所示为本发明实施例1一种视频编码16x16整数变换方法,所述方法包括以下步骤:
S101,接收编码器中预测模块输出的16x16的图像残差数据X;
S102,选取整数变换基,构建变换矩阵P;
构建16乘16的通用整数变换矩阵如下:
C=[C1C2],其中,
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
矩阵C中,k9=10;k10=9;k11=6;k12=2。定义变换基为[k1k2k3k4k5k6k7k8]为整数变换基构建成变换矩阵P。
本发明实施例中,整数变换基可选取以下数值中的一个:
[27282423191495]、[151311115651]。
S103,根据变换矩阵P,构建缩放矩阵PF;
PF=ZT*Z
其中,ZT=[1/||m1||…1/||m16||];mi为变换矩阵P的行向量,i取值为1-16;||mi||为行向量mi的向量范数;
S104,正变换,对16x16的图像残差数据X进行整数变换,变换公式为Y=PXPT;其中P为所述的变换矩阵;X为所述的图像残差数据;
变换的基本单元是形如y=Px的16点一维变换,其中
x=[x1x2x3x4x5x6x7x8x9x10x11x12x13x14x15x16]T,输出的y=[y1y2y3y4y5y6y7y8y9y10y11y12y13y14y15y16]Tx1x2x3x4x5x6x7x8x9x10x11x12x13x14x15x16表示整数变换的一维正变换的输入十六点数值;y1y2y3y4y5y6y7y8y9y10y11y12y13y14y15y16为正变换的十六点输出数值;
根据不同的整数变化基,采用相应的整数变换计算方法。
S105,对经过16x16正变换后的数据Y进行缩放处理;
Y ′ = Y ⊗ PF
Figure BSA00000479383100112
是矩阵的点乘运算,Y是经过16x16正变换后的数据,PF是缩放矩阵,Y′是本缩放处理后的输出值,代表视频数据变换到频域上的信息。
本发明实施例的变换方法能量集中性能优秀,能量集中度接近16x16DCT,可以极大地消除视频数据在变换空间上的相关性;计算复杂度低,可通过加法和移位来实现,易于硬件实现,并且运算精度高,不存正反变换不匹配的问题。
实施例二
以下为本发明实施例2的一种视频编码16x16整数变换方法,本发明实施例2选取[27282423191495]为16x16通用整数变换矩阵的整数变换基,所述方法包括以下步骤:
S201,接收编码器中预测模块输出的16x16的图像残差数据X;
S202,选取整数变换基,构建变换矩阵P;
构建16乘16的通用整数变换矩阵如下:
C=[C1C2],其中,
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
矩阵C中,k9=10;k10=9;k11=6;k12=2。定义变换基为[k1k2k3k4k5k6k7k8]为整数变换基构建成变换矩阵P。
本发明实施例选取[27282423191495]为整数变换基,构建成变换矩阵P。
当变换基为[27282423191495]时,变换矩阵P为:
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 - 15 - 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 15 - 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 12 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,根据变换矩阵P,构建缩放矩阵PF;
PF=ZT*Z
其中,ZT=[1/||m1||…1/||m16||];mi为变换矩阵P的行向量,i取值为1-16;||mi||为行向量mi的向量范数;
当变换矩阵P的变换基为[27282423191495]时,ZT=[α1α1],其中
α1=[0.250.0123450.0336340.0123450.158110.0123450.0336340.012345]缩放矩阵为:
PF=[β1β1],其中
β 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 5.3179 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,正变换,对16x16的图像残差数据X进行整数变换,变换公式为Y=PXPT;其中P为所述的变换矩阵;X为所述的图像残差数据;
变换的基本单元是形如y=Px的16点一维变换,其中x=[x1x2x3x4x5x6x7x8x9x10x11x12x13x14x15x16]T,输出的y=[y1y2y3y4y5y6y7y8y9y10y11y12y13y14y15y16]Tx1x2x3x4x5x6x7x8x9x10x11x12x13x14x15x16表示整数变换的一维正变换的输入十六点数值;
y1y2y3y4y5y6y7y8y9y10y11y12y13y14y15y16为止变换的十六点输出数值;
所述整数变换的计算过程如下:
A.b1=x1-x16b2=x2-x15b3=x3-x14b4=x4-x13b5=x5-x12 b6=x6-x11 b7=x7-x10 b8=x8-x9
B.b16=x1+x16b15=x2+x15b14=x3+x14b13=x4+x13b12=x5+x12b11=x6+x11 b10=x7+x10b9=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;
其中,b1、b2、b3、b4、b5、b6、b7、b8、b9、b10、b11、b12、b13、b14、b15、b16,m1、m2、m3、m4为整数变换的中间变量;
再完成以下步骤:
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
其中,n1、n2、n3、n4,l1、l2、l3、l4,cc1、cc2、cc3、cc4为整数变换的中间变量;
最后完成如下步骤:
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;
其中,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为整数变换的中间变量;
其中“<<”表示向左移位运算,优先级高于加减法,基本单元y=Px共需要196个加法和40个移位。
此变换基的正变换快速计算方法如图2所示,其中计算模块M1,M2,M3分别如图3,4,5所示。其中x1x2x3x4x5x6x7x8x9x10x11x12x13x14x15x16表示整数变换的一维正变换的输入十六点数值;y1y2y3y4y5y6y7y8y9y10y11y12y13y14y15y16为正变换的十六点输出数值;数据处理方向是从左向右,相交于一圆点的中间变量值等于圆点左侧线表示的数据相加;方形表示数据乘一个系数;“-”表示取负值;“2”表示乘2,即左移一位;“4”表示乘4,即左移两位;“8”表示乘8,即左移3位,“16”表示乘16,即左移4位。
图2中的M1模块中的“in1”“in2”“in3”“in4”“in5”“in6”“in7”“in8”表示M1模块的输入数据,分别与b16、b15、b14、b13、b12、b11、b10、b9相连;M1模块中的“out1”“out2”“out3”“out4”表示M1模块的输出数据,分别与y1、y5、y9、y13相连;
图2中的M2模块中的“in1”“in2”“in3”“in4”表示M2模块的输入数据,分别与m4、m3、m2、m1相连;M2模块中的“out1”“out2”“out3”“out4”表示M2模块的输出数据,分别与y3、y7、y11、y15相连;
图2中的M3模块中的“in1”“in2”“in3”“in4”“in5”“in6”“in7”“in8”表示M3模块的输入数据,分别与b8、b7、b6、b5、b4、b3、b2、b1相连;M3模块中的“out1”“out2”“out3”“out4”“out5”“out6”“out7”“out8”表示M3模块的输出数据,分别与y2、y4、y6、y8、y10、y12、y14、y16相连;
S205,对经过16x16正变换后的数据Y进行缩放处理;
Y ′ = Y ⊗ PF
Figure BSA00000479383100162
是矩阵的点乘运算,Y是经过16x16正变换后的数据,PF是缩放矩阵,Y′是本缩放处理后的输出值,代表视频数据变换到频域上的信息。
本发明实施例的变换方法能量集中性能优秀,能量集中度接近16x16DCT,可以极大地消除视频数据在变换空间上的相关性;计算复杂度低,可通过加法和移位来实现,易于硬件实现,并且运算精度高,不存正反变换不匹配的问题。
实施例三
以下为本发明实施例3的一种视频编码16x16整数变换方法,本发明实施例3选取[151311115651]为16x16通用整数变换矩阵的整数变换基,所述方法包括以下步骤:
S301,接收编码器中预测模块输出的16x16的图像残差数据X。
S302,选取整数变换基,构建变换矩阵P;
构建16乘16的通用整数变换矩阵如下:
C=[C1C2],其中,
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
矩阵C中,k9=10;k10=9;k11=6;k12=2。定义变换基为[k1k2k3k4k5k6k7k8]为整数变换基构建成变换矩阵P。
本发明实施例选取[151311115651]为整数变换基,构建成变换矩阵P。
当变换基为[151311115651]时,变换矩阵P为:
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,根据变换矩阵P,构建缩放矩阵PF;
PF=ZT*Z
其中,ZT=[1/||m1||…1/||m16||];mi为变换矩阵P的行向量,i取值为1-16;||mi||为行向量mi的向量范数;
当变换矩阵P的变换基为[151311115651]时,
ZT=[α1α1],其中
α1=[0.250.0262980.0336340.0262980.158110.0262980.0336340.026298]缩放矩阵为:
PF=[β1β1],其中
β 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
S304,正变换,对16x16的图像残差数据X进行整数变换,变换公式为Y=PXPT;其中P为所述的变换矩阵;X为所述的图像残差数据;
变换的基本单元是形如y=Px的16点一维变换,其中
x=[x1x2x3x4x5x6x7x8x9x10x11x12x13x14x15x16]T,输出的y=[y1y2y3y4y5y6y7y8y9y10y11y12y13y14y15y16]Tx1x2x3x4x5x6x7x8x9x10x11x12x13x14x15x16表示整数变换的一维正变换的输入十六点数值;y1y2y3y4y5y6y7y8y9y10y11y12y13y14y15y16为止变换的十六点输出数值;
所述整数变换的计算过程如下:
A.b1=x1-x16b2=x2-x15b3=x3-x14b4=x4-x13b5=x5-x12b6=x6-x11b7=x7-x10b8=x8-x9
B.b16=x1+x16b15=x2+x15b14=x3+x14b13=x4+x13b12=x5+x12b11=x6+x11b10=x7+x10b9=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;
其中,b1、b2、b3、b4、b5、b6、b7、b8、b9、b10、b11、b12、b13、b14、b15、b16,m1、m2、m3、m4为整数变换的中间变量;
再完成以下步骤:
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=n2<<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-12+m4;y15=-n2+cc3-cc4-l4+m3
其中其中,n1、n2、n3、n4,l1、l2、l3、l4,cc1、cc2、cc3、cc4为整数变换的中间变量;
最后完成如下步骤:
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;
其中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为整数变换的中间变量;
其中“<<”表示向左移位运算,优先级高于加减法,基本单元y=Px共需要185个加法和32个移位。
此变换基的正变换快速计算方法如图6所示,其中计算模块N1,N2,N3分别如图7,8,9所示。其中x1x2x3x4x5x6x7x8x9x10x11x12x13x14x15x16表示整数变换的一维正变换的输入四点数值;y1y2y3y4y5y6y7y8y9y10y11y12y13y14y15y16为正变换的四点输出数值;数据处理方向是从左向右,相交于一圆点的中间变量值等于圆点左侧线表示的数据相加;方形表示数据乘一个系数;“-”表示取负值;“2”表示乘2,即左移一位;“4”表示乘4,即左移两位;“8”表示乘8,即左移3位。
图6中的N1模块中的“in1”“in2”“in3”“in4”“in5”“in6”“in7”“in8”表示N1模块的输入数据,分别与b16、b15、b14、b13、b12、b11、b10、b9相连;N1模块中的“out1”“out2”“out3”“out4”表示N1模块的输出数据,分别与y1、y5、y9、y13相连;
图6中的N2模块中的“in1”“in2”“in3”“in4”表示N2模块的输入数据,分别与m4、m3、m2、m1相连;N2模块中的“out1”“out2”“out3”“out4”表示N2模块的输出数据,分别与y3、y7、y11、y15相连;
图6中的N3模块中的“in1”“in2”“in3”“in4”“in5”“in6”“in7”“in8”表示N3模块的输入数据,分别与b8、b7、b6、b5、b4、b3、b2、b1相连;N3模块中的“out1”“out2”“out3”“out4”“out5”“out6”“out7”“out8”表示N3模块的输出数据,分别与y2、y4、y6、y8、y10、y12、y14、y16相连;
S305,对经过16x16正变换后数据Y进行缩放处理;
Y ′ = Y ⊗ PF
Figure BSA00000479383100212
是矩阵的点乘运算,Y是经过16x16正变换后的数据,PF是缩放矩阵,Y′是本缩放处理后的输出值,代表视频数据变换到频域上的信息。
本发明实施例的变换方法能量集中性能优秀,能量集中度接近16x16DCT,可以极大地消除视频数据在变换空间上的相关性;计算复杂度低,可通过加法和移位来实现,易于硬件实现,并且运算精度高,不存正反变换不匹配的问题。
本领域的普通技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序指令相关硬件来完成的,所述的程序可以存储于一计算机可读取存储介质中,所述的存储介质可以为ROM、RAM、磁盘、光盘等。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (6)

1.一种视频编码16x16整数变换方法,包括
步骤1,接收编码器中预测模块输出的16x16的图像残差数据X;
步骤2,选取整数变换基,构建变换矩阵,
构建16乘16的通用整数变换矩阵如下:
C=[C1C2],其中,
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
矩阵C中,k9=10;k10=9;k11=6;k12=2。
[k1k2k3k4k5k6k7k8]为整数变换基;
步骤3,根据变换矩阵P,构建缩放矩阵PF,
PF=ZT*Z
其中,ZT=[1/||m1||…1/||m16||];mi为变换矩阵P的行向量,i取值为1-16;||mi||为行向量mi的向量范数;
步骤4,正变换,对16x16的图像残差数据X进行整数变换,变换公式为Y=PXPT;其中P为所述的变换矩阵;X为所述的图像残差数据;
步骤5,对经过16x16正变换后的数据Y进行缩放处理,
Y ′ = Y ⊗ PF
是矩阵的点乘运算,Y是经过16x16正变换后的数据,PF是缩放矩阵,Y′是本缩放处理后的输出值,代表视频数据变换到频域上的信息;
其特征在于:
所述整数变换基为以下数值中的一个:
[27282423191495]、[151311115651]。
2.如权利要求1所述的视频编码16x16整数变换方法,其特征在于,步骤4中的变换的基本单元是形如y=Px的16点一维变换,其中x=[x1x2x3x4x5x6x7x8x9x10x11x12x13x14x15x16]T,输出的y=[y1y2y3y4y5y6y7y8y9y10y11y12y13y14y15y16]Tx1x2x3x4x5x6x7x8x9x10x11x12x13x14x15x16表示整数变换的一维正变换的输入十六点数值;y1y2y3y4y5y6y7y8y9y10y11y12y13y14y15y16为正变换的十六点输出数值。
3.如权利要求1所述的视频编码16x16整数变换方法,其特征在于,所述整数变换基取值为[27282423191495]时:
所述变换矩阵
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 - 15 - 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 15 - 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 12 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],其中
α1=[0.250.0123450.0336340.0123450.158110.0123450.0336340.012345]缩放矩阵为:
PF=[β1β1],其中
β 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 5.3179 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 .
4.如权利要求1所述的视频编码16x16整数变换方法,其特征在于,所述当整数变换基取值为[27282423191495]时,“对16x16的图像残差数据X进行整数变换,变换公式为Y=PXPT”计算过程如下:
A.b1=x1-x16b2=x2-x15b3=x3-x14b4=x4-x13b5=x5-x12b6=x6-x11b7=x7-x10b8=x8-x9
B.b16=x1+x16b15=x2+x15b14=x3+x14b13=x4+x13b12=x5+x12b11=x6+x11b10=x7+x10b9=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;
再完成以下步骤:
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
最后完成如下步骤:
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;
其中“<<”表示向左移位运算,优先级高于加减法,基本单元y=Px共需要196个加法和40个移位。
5.如权利要求1所述的视频编码16x16整数变换方法,其特征在于,所述整数变换基取值为[151311115651]时:
所述变换矩阵
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],其中
α1=[0.250.0262980.0336340.0262980.158110.0262980.0336340.026298]缩放矩阵为:
PF=[β1β1],其中
β 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 .
6.如权利要求1所述的视频编码16x16整数变换方法,其特征在于,所述当整数变换基取值为[151311115651]时,“对16x16的图像残差数据X进行整数变换,变换公式为Y=PXPT”计算过程如下:
A.b1=x1-x16b2=x2-x15b3=x3-x14b4=x4-x13b5=x5-x12b6=x6-x11b7=x7-x 10b8=x8-x9
B.b16=x1+x16b15=x2+x15b14=x3+x14b13=x4+x13b12=x5+x12b11=x6+x11b10=x7+x10b9=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;
再完成以下步骤:
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+14;cc2=-n2+13;cc3=n3+12;cc4=n4-l1;
H.y3=cc1-cc2+n3+l1+n2;y7=cc 1-cc3-n4-l3+m1;
y11=n1+cc2+cc4-l2+m4;y15=-n2+cc3-cc4-l4+m3
最后完成如下步骤:
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;
其中“<<”表示向左移位运算,优先级高于加减法,基本单元y=Px共需要185个加法和32个移位。
CN 201110101437 2011-04-20 2011-04-20 一种视频编码16x16整数变换方法 Pending CN102137261A (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN 201110101437 CN102137261A (zh) 2011-04-20 2011-04-20 一种视频编码16x16整数变换方法
PCT/CN2011/076170 WO2012142792A1 (zh) 2011-04-20 2011-06-23 一种视频编码16×16整数变换方法
CN201110278235.3A CN102333216B (zh) 2011-04-20 2011-09-19 一种视频编码16x16整数变换方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 201110101437 CN102137261A (zh) 2011-04-20 2011-04-20 一种视频编码16x16整数变换方法

Publications (1)

Publication Number Publication Date
CN102137261A true CN102137261A (zh) 2011-07-27

Family

ID=44296903

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 201110101437 Pending CN102137261A (zh) 2011-04-20 2011-04-20 一种视频编码16x16整数变换方法

Country Status (2)

Country Link
CN (1) CN102137261A (zh)
WO (1) WO2012142792A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104486629A (zh) * 2014-12-16 2015-04-01 南京仟壹视讯信息技术有限公司 H.265视频编码中变换与反变换的快速实施方法

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7444970B2 (ja) 2019-08-20 2024-03-06 北京字節跳動網絡技術有限公司 デフォルトおよびユーザ定義のスケーリング行列の使用法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3129392B2 (ja) * 1996-02-02 2001-01-29 日本電気株式会社 2次元idct回路
CN1286322C (zh) * 2004-08-06 2006-11-22 联合信源数字音视频技术(北京)有限公司 一种低复杂度整数4×4离散余弦变换量化实现方法
CN101640791A (zh) * 2009-03-10 2010-02-03 青岛海信信芯科技有限公司 一种解码方法、装置和解码器

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104486629A (zh) * 2014-12-16 2015-04-01 南京仟壹视讯信息技术有限公司 H.265视频编码中变换与反变换的快速实施方法
CN104486629B (zh) * 2014-12-16 2017-10-20 北京金山云网络技术有限公司 H.265视频编码中变换与反变换的快速实施方法

Also Published As

Publication number Publication date
CN102333216A (zh) 2012-01-25
WO2012142792A1 (zh) 2012-10-26

Similar Documents

Publication Publication Date Title
KR102492477B1 (ko) 행렬 곱셈기
CN107622302B (zh) 用于卷积神经网络的超像素方法
CN109063825B (zh) 卷积神经网络加速装置
CN110073359B (zh) 用于卷积神经网络的有效数据布局
TWI680409B (zh) 適用於人工神經網路之矩陣及向量相乘的方法
CN108205519B (zh) 矩阵乘加运算装置和方法、处理装置、芯片、电子装置
WO2020074989A1 (en) Data representation for dynamic precision in neural network cores
Gao et al. Point cloud geometry compression via neural graph sampling
CN102087740A (zh) 用于通用计算的纹理单元
CN114092336B (zh) 基于双线性插值算法的图像缩放方法、装置、设备及介质
WO2022134465A1 (zh) 加速可重构处理器运行的稀疏化数据处理方法和装置
CN115641285A (zh) 一种基于密集多尺度信息融合的双目视觉立体匹配方法
JP7461081B2 (ja) 畳み込みハードウェアによる特徴データに対する逆畳み込み処理方法及び装置
CN102137261A (zh) 一种视频编码16x16整数变换方法
Ma et al. Searching for fast demosaicking algorithms
CN1142683C (zh) 无转置行列分离二维离散余弦正反变换电路及其方法
CN102333216B (zh) 一种视频编码16x16整数变换方法
CN116051609B (zh) 一种基于带限变形傅里叶网络的无监督医学图像配准方法
CN116612288A (zh) 一种多尺度轻量级实时语义分割方法、系统
CN102227135A (zh) 一种视频编码8x8整数变换方法
CN110766136A (zh) 一种稀疏矩阵与向量的压缩方法
CN102137260A (zh) 一种视频编码4x4整数变换方法
CN112949841A (zh) 一种基于Attention的CNN神经网络的训练方法
CN116881618B (zh) 通用矩阵乘计算优化方法、装置及处理器
WO2021212972A1 (zh) 运算方法、处理器以及相关产品

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Open date: 20110727

REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1159374

Country of ref document: HK

REG Reference to a national code

Ref country code: HK

Ref legal event code: WD

Ref document number: 1159374

Country of ref document: HK