CN1856997A - 8×8变换及量化 - Google Patents
8×8变换及量化 Download PDFInfo
- Publication number
- CN1856997A CN1856997A CNA2004800274307A CN200480027430A CN1856997A CN 1856997 A CN1856997 A CN 1856997A CN A2004800274307 A CNA2004800274307 A CN A2004800274307A CN 200480027430 A CN200480027430 A CN 200480027430A CN 1856997 A CN1856997 A CN 1856997A
- Authority
- CN
- China
- Prior art keywords
- quantization
- right shift
- scalar multiplication
- adaptivity
- data
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/14—Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
- G06F17/147—Discrete orthonormal transforms, e.g. discrete cosine transform, discrete sine transform, and variations therefrom, e.g. modified discrete cosine transform, integer transforms approximating the discrete cosine transform
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/124—Quantisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Optimization (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Theoretical Computer Science (AREA)
- Discrete Mathematics (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Algebra (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Image Processing (AREA)
Abstract
本发明揭示低复杂度视频压缩,其具有8×8块,其中变换使用8×8整数矩阵且量化具有用于所有量化步长的查找表标量加恒定的向右移位。逆量化也具有相依于量化步长的一查找表标量加向右移位且逆变换使用所述8×8整数矩阵。
Description
相关申请案交叉参考
本申请案主张2003年9月24日提出申请的第60/505,575号临时申请案之优先权。下列共同受让的待决专利申请案揭示了相关标的物:2003年11月25日提出申请的第60/524,831号临时申请案。
技术领域
本发明涉及数字图像及视频信号处理,且更具体而言,涉及块变换及/或量化加上逆量化及/或逆变换。
背景技术
存在用于数字视频通信及存储的各种应用程序,且已经制定出并在继续制定相应的国际标准。例如视频电话及会议等低位速率通信加上例如电影等大视频文件压缩促成了各种视频压缩标准:H.261,H.263,MPEG-1,MPEG-2,AVS等等。这些压缩方法依靠离散余弦变换(DCT)或一模拟变换加上变换系数的量化来减少为进行编码所需的位的数量。
基于DCT的压缩方法将一图像分解成若干宏功能块,其中每一宏功能块包含四个8×8亮度块加上两个8×8色度块,当然也可使用其他块尺寸及变换变量。图2描述基于DCT的视频编码的功能块。为了减少位速率,使用8×8 DCT来将这些8×8块(亮度块及色度块)变换至频域。然后,将8×8 CDT系数块量化、扫描成一1-D序列并使用可变长度编码(VLC)对其进行编码。对于其中涉及运动补偿(MC)的预测编码而言,反馈回路需要进行逆量化及IDCT。除MC以外,图2中所有的功能块均根据一8×8块运行。图2中的速率控制单元负责产生允许范围内的量化步长(qp)并遵从目标位速率及缓冲器满度以控制DCT系数量化单元。实际上,一更大的量化步长意味着更多消没的及/或更小的量化系数,而此意味着更少及/或更短的代码字及因而更小的位速率及文件。
存在两种类型的经编码的宏功能块。一种经INTRA编码的宏功能块独立于先前的参考帧进行编码。在一经INTER编码的宏功能块中,首先为每一个块(当前宏功能块的)根据先前的参考帧产生经运动补偿的预测块,然后对预测误差块(亦即当前块与该预测块之间的差别块)进行编码。
对于经INTRA编码的宏功能块而言,一经INTRA编码的8×8 DCT块中的第一(0,0)系数被称作DC系数,块中的其余63个DCT系数被称作AC系数;而对于经INTER编码的宏功能块而言,一经INTER编码的8×8 DCT块的所有64个DCT系数均被视为AC系数。DC系数可使用一固定的量化步长值来量化,而AC系数则使量化步长根据位速率控制来调整,所述位速率控制将到现在为止在图像编码中所使用的位与所分配的要使用的位数量相比较。此外,一量化矩阵(例如,如在MPEG-4中一样)允许在各DCT系数之间使用不同的量化步长。
具体而言,8×8二维DCT定义为:
其中f(x,y)为输入8×8采样块,而F(u,v)为输出8×8经变换块,其中u,v,x,v=0,1,…,7;及
以双精度实施该变换,且将最终变换系数四舍五入成整数值。
接下来,将变换系数的量化定义为:
其中QP是根据量化步长以双精度计算出来的量化因子:QP=2qp/6,其中量化步长处于qp=0,1,…,51范围内。将各量化系数四舍五入成整数值。
然后,逆量化变成:
F(u,v)=QF(u,v)*QP
将双精度值四舍五入成整数值。且逆变换(重建的采样块)为:
再次将双精度值四舍五入成整数值。
32位AVS通过使用如下整数变换来简化双精度方法。首先,将一8×8整数变换矩阵T8×8定义为:
现在,令方程式f8×8和F8×8分别为输入8×8采样块和输出8×8变换系数块。这样,将正向8×8整数变换定义为:
其中″x″表示8×8矩阵乘法,而8×8矩阵Tt 8×8为8×8矩阵T8×8的转置矩阵。
对经变换系数的量化是按下述方式进行。首先,令方程式F8×8={Fi,j:i,j=1,2,…,7}表示8×8 DCT系数块,且令QF8×8={QFi,j:i,j=1,2,…,7}表示经量化的DCT系数块,则所述整数量化定义为:
QFi,j=(Fi,j*AVS_Q_tabs[qp%6][i*8+j]+α*220+qp/6)>>(21+qp/6)i,j=1,2,…,7
其中α具有一处于0.3~0.5范围内的值(且因此只是从0.75~0.85四舍五入成1而不是从0.5四舍五入成1),qp=0,1,2,…,51为量化步长,且表格AVS_Q_tabs实质上是六个换算矩阵(每个换算矩阵分别代表整数除法qp/6的一个可能的余数)且定义为:
int AVS_Q_tabs[6][64]={
{
98256,13203,62138,13203,98256,13203,62138,13203,
13203,1832,8377,1832,13203,1832,8377,1832,
62138,8377,39331,8377,62138,8377,39331,8377,
13203,1832,8377,1832,13203,1832,8377,1832,
98256,13203,62138,13203,98256,13203,62138,13203,
13203,1832,8377,1832,13203,1832,8377,1832,
62138,8377,39331,8377,62138,8377,39331,8377,
13203,1832,8377,1832,13203,1832,8377,1832,
},
{
87495,11793,55348,11793,87495,11793,55348,11793,
11793,1570,7475,1570,11793,1570,7475,1570,
55348,7475,34975,7475,55348,7475,34975,7475,
11793,1570,7475,1570,11793,1570,7475,1570,
87495,11793,55348,11793,87495,11793,55348,11793,
11793,1570,7475,1570,11793,1570,7475,1570,
55348,7475,34975,7475,55348,7475,34975,7475,
11793,1570,7475,1570,11793,1570,7475,1570,
},
{
77943,10471,49254,10471,77943,10471,49254,10471,
10471,1374,6656,1374,10471,1374,6656,1374,
49254,6656,31213,6656,49254,6656,31213,6656,
10471,1374,6656,1374,10471,1374,6656,1374,
77943,10471,49254,10471,77943,10471,49254,10471,
10471,1374,6656,1374,10471,1374,6656,1374,
49254,6656,31213,6656,49254,6656,31213,6656,
10471,1374,6656,1374,10471,1374,6656,1374,
},
{
69399,9343,43934,9343,69399,9343,43934,9343,
9343,1293,5925,1293,9343,1293,5925,1293,
43934,5925,27745,5925,43934,5925,27745,5925,
9343,1293,5925,1293,9343,1293,5925,1293,
69399,9343,43934,9343,69399,9343,43934,9343,
9343,1293,5925,1293,9343,1293,5925,1293,
43934,5925,27745,5925,43934,5925,27745,5925,
9343,1293,5925,1293,9343,1293,5925,1293,
},
{
61851,8319,39131,8319,61851,8319,39131,8319,
8319,1099,5281,1099,8319,1099,5281,1099,
39131,5281,24741,5281,39131,5281,24741,5281,
8319,1099,5281,1099,8319,1099,5281,1099,
61851,8319,39131,8319,61851,8319,39131,8319,
8319,1099,5281,1099,8319,1099,5281,1099,
39131,5281,24741,5281,39131,5281,24741,5281,
8319,1099,5281,1099,8319,1099,5281,1099,
},
{
55098,7406,34862,7406,55098,7406,34862,7406,
7406,999,4672,999,7406,999,4672,999,
34862,4672,22048,4672,34862,4672,22048,4672,
7406,999,4672,999,7406,999,4672,999,
55098,7406,34862,7406,55098,7406,34862,7406,
7406,999,4672,999,7406,999,4672,999,
34862,4672,22048,4672,34862,4672,22048,4672,
7406,999,4672,999,7406,999,4672,999,
},
};
当然,也可通过首先取Fi,j的绝对值、接下来乘以AVS_Q_tabs[qp%6]的对应元素、然后舍入、并最后重新插入符号Fi,j,来修改舍入以四舍五入负圆整数。此外,舍入参数α可因块的类型而异。应注意,使qp乘以6会使AVS_Q_tabs[qp%6][i*8+j]维持不变并使Qfi,j因向右移位而减小二分之一。
通过下列方程式来计算所述8×8经量化DCT系数块QF8×8={QFij=1,2,…,7}的逆量化,以得出经逆量化的DCT系数块F′8×8={F′ti:i,j=1,2,…,7}:
F′i,j=(QFi,j*AVS_IQ_tabs[qp%6][i*8+j)<<(qp/6) i,j=1,2,…,7
其中qp=0,1,2,…,51为量化步长,qp/6为整数除法(无余数),且表AVS_IQ_tabs定义为:
int AVS_IQ_tabs[6][64]={
{
683,92,432,92,683,92,432,92,
92,12,58,12,92,12,58,12,
432,58,273,58,432,58,273,58,
92,12,58,12,92,12,58,12,
683,92,432,92,683,92,432,92,
92,12,58,12,92,12,58,12,
432,58,273,58,432,58,273,58,
92,12,58,12,92,12,58,12,
},
{
767,103,485,103,767,103,485,103,
103,14,65,14,103,14,65,14,
485,65,307,65,485,65,307,65,
103,14,65,14,103,14,65,14,
767,103,485,103,767,103,485,103,
103,14,65,14,103,14,65,14,
485,65,307,65,485,65,307,65,
103,14,65,14,103,14,65,14,
},
{
861,116,545,116,861,116,545,116,
116,16,73,16,116,16,73,16,
545,73,344,73,545,73,344,73,
116,16,73,16,116,16,73,16,
861,116,545,116,861,116,545,116,
116,16,73,16,116,16,73,16,
545,73,344,73,545,73,344,73,
116,16,73,16,116,16,73,16,
},
{
967,130,611,130,967,130,611,130,
130,17,82,17,130,17,82,17,
611,82,387,82,611,82,387,82,
130,17,82,17,130,17,82,17,
967,130,611,130,967,130,611,130,
130,17,82,17,130,17,82,17,
611,82,387,82,611,82,387,82,
130,17,82,17,130,17,82,17,
},
{
1085,146,686,146,1085,146,686,146,
146,20,92,20,146,20,92,20,
686,92,434,92,686,92,434,92,
146,20,92,20,146,20,92,20,
1085,146,686,146,1085,146,686,146,
146,20,92,20,146,20,92,20,
686,92,434,92,686,92,434,92,
146,20,92,20,146,20,92,20,
},
{
1218,164,770,164,1218,164,770,164,
164,22,104,22,164,22,104,22,
770,104,487,104,770,104,487,104,
164,22,104,22,164,22,104,22,
1218,164,770,164,1218,164,770,164,
164,22,104,22,164,22,104,22,
770,104,487,104,770,104,487,104,
164,22,104,22,164,22,104,22,
},
};
最后,计算逆变换:令f'8×8及F'8×8分别表示输出8×8经重建采样块及输入8×8经逆量化DCT系数块。则8×8整数逆变换定义为:
其中
意指将矩阵向右舍入移位n位,换言之,对每一矩阵元素均加上2n-1并然后向右移位n位(亦即除以2n并舍弃余数)。
下表归纳32位AVS方法的数据精度及位移位。此外所使用的总表格尺寸为8×8(变换矩阵)+64×24(量化表格)+64×12(逆量化表格)+8×8(逆变换矩阵)=2432个字节。
运算 | 输入数据精度 | 输出数据精度 | 备注 |
8×8正向变换 | 9位,5位 | 19位 | |
量化 | 19位,17位 | 15位 | 需要移位2l位 |
逆量化 | 15位,11位 | 25位 | 需要移位0-6位 |
8×8逆变换 | 25位,5位 | 9位 | 需要移位11位 |
应注意,“输入数据精度”栏中的每一表项均具有两个数字:第一个为输入数据的精度(例如通过运动补偿增加至9位的8位RGB或亮度像素数据),而第二个数字为8×8变换矩阵(4位大小加一符号位)的精度或AVS-Q_tabs表项(17位的正整数)或AVS-IQ_tabs表项(11位的正整数)的精度。
然而,即使32位AVS方法也具有高的计算复杂度。
发明内容
本发明提供低复杂度变换加逆变换及/或量化加逆量化,其中逆量化使用自适应性向右移位及小查找表。
较佳实施例方法能够对适用于具有运动补偿的视频编码的8×8 DCT型变换加量化及逆形式进行16位运算并得到接近于32位的精度。
附图说明
图1a-1b为流程图。
图2图解说明一使用DCT变换及量化的运动补偿视频压缩。
图3显示方法对比。
具体实施方式
1、概述
较佳实施例低复杂度方法既提供一8×8块变换/逆变换也提供量化/逆量化;所述量化具有一量化步长范围且所述逆量化使用一适合于所述量化步长的移位。所述量化/逆量化提供具有低复杂度16位算数运算及小表格尺寸的高性能。所述方法适用于视频压缩,其通过DCT变换及对DCT系数的量化靠8×8像素块(经运动补偿)运行且其中所述量化可变化很大。如图2中所示,来自位流缓冲器的满度反馈可确定通常在1至200-500范围内变化的量化因子。
较佳实施例系统使用数字信号处理器(DSP)或通用可编程处理器或应用专用电路或单芯片系统(SOC)(例如DSP及RISC处理器二者位于同一芯片上且通过RISC处理器进行控制)来实施较佳实施例方法。具体而言,具有视频剪辑功能的数字静止照相机(DSC)或具有视频功能的移动电话均可包括所述较佳实施例方法。一存储程序可位于一单板ROM或外部闪存EEPROM中以使DSP或可编程处理器能够实施所述较佳实施例方法的信号处理。模拟-数字转换器及数字-模拟转换器提供与现实世界的耦合,调制器及解调器(加上用于空中接口的天线)则提供与传输波形的耦合。
2、第一较佳实施例
为了降低变换及量化复杂度并避免在解码器侧出现IDCT失配,第一较佳实施例提供一基于16位的整数变换/逆变换及一量化/逆量化二者,其中在所述逆量化中进行一自适应性移位。
(a)将一整数8×8变换矩阵定义为:
令f8×8及F8×8分别为输入8×8采样块及输出8×8 DCT系数块。将正向8×8整数变换定义为:
同样,其中″x″表示8×8矩阵乘法,T′8×8为T8×8的转置矩阵,且
表示矩阵右向舍入移位过″n″位(在本实例中,n=8及16),其定义如下:令m8×8={mi,j:i,j=1,2,…,7}为在对矩阵M8×8={Mi,j:i,j=1,2,…,7}进行运算
后的结果矩阵,那么矩阵向右舍入移位
定义为:mi,j=(Mi,j+2n-1)>>n,其中i,j=1,2,…,7。当然,通过取mi,j的绝对值、增加2n-1、移位、并随后应用符号Mi,j,可既朝正方向又朝负方向舍入。
正向整数变换f8×8至F8×8)首先实施水平变换(矩阵向右舍入移位过8位),然后实施垂直变换(矩阵向右舍入移位过16位)。与此相比,32位AVS方法则实施两次矩阵乘法而不进行舍入或移位。
(b)量化
将对8×8 DCT系数块F8×8进行该较佳实施例16位量化以得出8×8经量化DCT系数块QF8×8定义为:
QFi,j=(Fi,j*QTAB[qp]+α*215)>>16 i,j=1,2,…,7
其中α具有一处于0.3~0.5范围内的值,qp=0,1,2,…,51为量化步长,且QTAB表格定义为:
qp | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
QTAB[qp] | 65535 | 58386 | 52016 | 46341 | 41285 | 36781 | 32768 | 29193 | 26008 |
qp | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 |
QTAB[qp] | 23170 | 20643 | 18390 | 16384 | 14596 | 13004 | 11585 | 10321 | 9195 |
qp | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 |
QTAB[qp] | 8192 | 7298 | 6502 | 5793 | 5161 | 4598 | 4096 | 3649 | 3251 |
qp | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 |
QTAB[qp] | 2896 | 2580 | 2209 | 2048 | 1825 | 1625 | 1448 | 1290 | 1149 |
qp | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 |
QTAB[qp] | 1024 | 912 | 813 | 724 | 645 | 575 | 512 | 456 | 406 |
qp | 45 | 46 | 47 | 48 | 49 | 50 | 51 | ||
OTAS[qp] | 362 | 323 | 287 | 256 | 228 | 203 | 181 |
应注意,与每一qp/6留数均具有一8×8换算矩阵的32位AVS相比,该量化为标量乘法。与AVS_IQ_tabs[qp%6][i*8+j]就qp而言为周期性也相反,较佳实施例QTAB[qp]就qp而言不为周期性;事实上,当将qp乘以6时,其近似减小二分之一。当然,QTAB[qp]为一比AVS_IQ_tabs[qp%6][k]小得多的表格。
(c)逆量化
对8×8经量化DCT系数块QF8×8={QFi,j:i,j=1,2,…,7}进行所述较佳实施例16位逆量化以得出逆量化的DCT系数块F′8×8={F′i,j:i,j=1,2,…,7},是使用一自适应性移位并定义为:
F′i,j=(QF′i,j*IQTAB[qp]+2SHIFT[qp]-1)>>SHIFT[qp] i,j=1,2,…,7
同样,其中qp=0,1,2,…,51为量化步长,且IQTAB及SHIFT表格定义为:
qp | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
IQTAB[qp] | 32768 | 36781 | 41285 | 46341 | 52016 | 58386 | 32768 | 36781 | 41285 |
SHIFT[qp] | 15 | 15 | 15 | 15 | 15 | 15 | 14 | 14 | 14 |
qp | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 |
IQTAB[qp] | 46341 | 52016 | 58386 | 32768 | 36781 | 41285 | 46341 | 52016 | 58386 |
SHIFT[qp] | 14 | 14 | 14 | 13 | 13 | 13 | 13 | 13 | 13 |
qp | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 |
IQTAB[qp] | 32768 | 36781 | 41285 | 46341 | 52016 | 58386 | 32768 | 36781 | 41285 |
SHIFT[qp] | 12 | 12 | 12 | 12 | 12 | 12 | 11 | 11 | 11 |
qp | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 |
IQTAB[qp] | 46341 | 52016 | 58386 | 32768 | 36781 | 41285 | 46341 | 52016 | 58386 |
SHIFT[qp] | 11 | 11 | 11 | 10 | 10 | 10 | 10 | 10 | 10 |
qp | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 |
IQTAB[qp] | 32768 | 36781 | 41285 | 46341 | 52016 | 58386 | 32768 | 36781 | 41285 |
SHIFT[qp] | 9 | 9 | 9 | 9 | 9 | 9 | 8 | 8 | 8 |
qp | 45 | 46 | 47 | 48 | 49 | 50 | 51 | ||
IQTAB[qp] | 46341 | 52016 | 58386 | 32768 | 36781 | 41285 | 46341 | ||
SHIFT[qp] | 8 | 8 | 8 | 7 | 7 | 7 | 7 |
应注意,IQTAB[qp]为一16位正整数(无符号位),对于所有qp而言,其最高有效位(MSB)均等于1,且SHIFT[qp]处于7至15范围内。而且,与32位AVS逆量化的向左移位相反,所述较佳实施例逆量化移位为向右移位并可包括舍入,例如所述较佳实施例中的项+2SHIFT[qp]-1。
这些较佳实施例使用此种适应于qp的向右移位在16位算数运算约束条件下保持最高保真度。
当然,可调整该IQTAB表格来适应一不同范围的qp值;在上文中,qp每增加/减小6倍均会在量化中引起大约2倍的变化。
(d)逆变换
令f′8×8及F′8×8分别为输出8×8经重建采样块及输入8×8经逆量化DCT系数块。所述8×8整数逆变换定义为:
所述逆整数变换首先实施水平逆变换(矩阵向右舍入移位8位),随后实施垂直逆变换(矩阵向右舍入移位16位)。
下表归纳在所述16位较佳实施例方法中使用的数据精度及移位。此处使用的整个表格尺寸为8×8×2(变换)+52×2(量化)+52×3(逆量化)+8×8×2(逆变换)=516个字节。
运算 | 输入数据精度 | 输出数据精度 | 注释 |
8×8正向变换 | 9位,12位 | 12位 | 需要移位8位、16位 |
量化 | 12位,16位 | 12位 | 需要移位16位 |
逆量化 | 12位,16位 | 12位 | 需要移位7~15位 |
8×8逆变换 | 12位,12位 | 9位 | 需要移位8位、16位 |
同样,“输入数据精度”栏中的每一表项均具有两个数字:第一个为输入数据(通过运动补偿增加至9位的8位RGB像素数据)的精度,而第二个数字为8×8变换矩阵(11位大小加一符号位)的精度或QTAB或IQTAB表项(16位的正整数)的精度。通过标量IQTAB及向右移位SHIFT二者的查找表进行的逆量化会使复杂度降低且具有良好的16位算术运算性能。
4、实验结果
对较佳实施例的基于16位的变换及量化二者与双精度方法及AVS基于32位的方法二者进行了性能比较。
图3图解说明用于在双精度与基于16位的变换及量化之间进行性能比较的方框图。为了比较性能,对同一8×8剩余块应用这两种方法。在变换、量化、逆量化及逆变换后,分别计算这两种方法中经重建的块与原始剩余块之间的PSNR值(图3中的PSNRD(QP)及PSNRl6(QP))。在背景技术中已阐述了基于双精度的变换及量化方法,而基于16位的较佳实施例方法是使用前述方程式。所述剩余块是处于[-255,255]范围内的随机数据。对于每一qp,均使用6000个随机的8×8块。结果列示在下表中。
qp | 2qp/6 | PSNR16[dB] | PSNRD[dB] | 差别[dB] |
0 | 1.000000 | 58.44 | 58.91 | -0.46 |
1 | 1.122462 | 53.95 | 54.06 | -0.11 |
2 | 1.259921 | 52.40 | 52.46 | -0.06 |
3 | 1.414214 | 51.46 | 51.50 | -0.04 |
4 | 1.58740l | 50.78 | 50.84 | -0.05 |
5 | 1.781797 | 50.26 | 50.30 | -0.03 |
6 | 2.000000 | 49.88 | 49.88 | -0.00 |
7 | 2.244924 | 49.53 | 49.55 | -0.02 |
8 | 2.519842 | 49.23 | 49.27 | -0.04 |
9 | 2.828427 | 49.01 | 49.03 | -0.02 |
10 | 3.174802 | 48.03 | 48.05 | -0.03 |
11 | 3.563595 | 46.78 | 46.79 | -0.02 |
12 | 4.000000 | 45.89 | 45.89 | 0.00 |
13 | 4.489848 | 45.26 | 45.27 | -0.01 |
14 | 5.039684 | 44.66 | 44.66 | -0.01 |
15 | 5.656854 | 43.38 | 43.39 | -0.01 |
16 | 6.349604 | 42.50 | 42.51 | -0.01 |
17 | 7.127190 | 41.71 | 41.72 | -0.01 |
18 | 8,000000 | 40.60 | 40.60 | 0.00 |
19 | 8.979696 | 39.79 | 39.80 | -0.00 |
20 | 10.079368 | 38.68 | 38.68 | -0.00 |
21 | 11.313708 | 37.76 | 37.76 | -0.00 |
22 | 12.699208 | 36.79 | 36.79 | -0.00 |
23 | 14.254379 | 35.76 | 35.76 | -0.00 |
24 | 16.000000 | 34.77 | 34.77 | 0.00 |
25 | 17.959393 | 33.78 | 33.78 | -0.00 |
26 | 20.158737 | 32.80 | 32.80 | -0.00 |
27 | 22.627417 | 31.81 | 31.81 | -0.00 |
28 | 25.398417 | 30.80 | 30.81 | -0.00 |
29 | 28.508759 | 29.79 | 29.79 | -0.00 |
30 | 32.000000 | 28.80 | 28.80 | -0.00 |
31 | 35.918786 | 27.79 | 27.79 | -0.00 |
32 | 40.317474 | 26.80 | 26.80 | -0.00 |
33 | 45.254834 | 25.79 | 25.79 | -0.00 |
34 | 50.796834 | 24.81 | 24.81 | -0.00 |
35 | 57.017518 | 23.81 | 23.81 | -0.00 |
36 | 64.000000 | 22.79 | 22.79 | -0.00 |
37 | 71.837571 | 21.79 | 21.79 | -0.00 |
38 | 80.634947 | 20.78 | 20.78 | -0.00 |
39 | 90.509668 | 19.78 | 19.78 | -0.00 |
40 | 101.593667 | 18.78 | 18.78 | -0.00 |
41 | 114.035036 | 17.78 | 17.78 | -0.00 |
42 | 128.000000 | 16.78 | 16.78 | -0.00 |
43 | 143.675142 | 15.78 | 15,78 | -0,00 |
44 | 161.269894 | 14.77 | 14.77 | -0.00 |
45 | 181.019336 | 13.77 | 13.77 | -0.00 |
46 | 203.187335 | 12.77 | 12.77 | -0.00 |
47 | 228.070072 | 11.76 | 11.76 | -0.00 |
48 | 256.000000 | 10.76 | 10.76 | -0.00 |
49 | 287.350284 | 9.79 | 9.79 | -0.00 |
50 | 322.539789 | 8.81 | 8.81 | -0.00 |
51 | 362.038672 | 7.93 | 7.93 | -0.00 |
上表表明,该较佳实施例16位变换及量化方法具有与双精度方法几乎相同的性能,只是在qp=0(QP=1无损失编码)时,存在0.46分贝的损失。
还实施了基于16位的变换及量化与基于AVS 32位的变换及量化之间的性能比较。使用图3中所示的相同比较方法(亦即仅以由背景技术中的方程式所述的32位AVS方法来取代图3中的双精度方法)。一个例外是AVS使用
Qp=2.5*2qp/6
作为量化比例。可根据AVS QP来调整所述较佳实施例16位方法以确保比较的公平。结果列示在下表中。
qp | 2.5*2qp/6 | PSNR16[dB] | PSNR32[dB] | 差别[dB] |
0 | 2.500000 | 49.25 | 49.88 | -0.63 |
1 | 2.806155 | 49.02 | 48.92 | 0.10 |
2 | 3.149803 | 48.14 | 47.97 | 0.17 |
3 | 3.535534 | 46.86 | 47.15 | -0.29 |
4 | 3.968503 | 45.96 | 46.11 | -0.15 |
5 | 4.454494 | 45.29 | 45.19 | 0.10 |
6 | 5.000000 | 44.76 | 44.29 | 0.48 |
7 | 5.612310 | 43.45 | 43.24 | 0.21 |
8 | 6.299605 | 42.54 | 42.22 | 0.32 |
9 | 7.071068 | 41.81 | 41.34 | 0.47 |
10 | 7.937005 | 40.67 | 40.26 | 0.41 |
11 | 8.908987 | 39.84 | 39.30 | 0.54 |
12 | 10.000000 | 38.72 | 38.38 | 0.34 |
13 | 11.224620 | 37.84 | 37.31 | 0.54 |
14 | 12.599210 | 36.83 | 36.27 | 0.56 |
15 | 14.142136 | 35.84 | 35.40 | 0.44 |
16 | 15.874011 | 34.84 | 34.29 | 0.55 |
17 | 17.817974 | 33.84 | 33.32 | 0.52 |
18 | 20.000000 | 32.85 | 32.39 | 0.46 |
19 | 22.449241 | 31.87 | 31.31 | 0.55 |
20 | 25.198421 | 30.88 | 30.26 | 0.62 |
21 | 28.284271 | 29.87 | 29.38 | 0.48 |
22 | 31.748021 | 28.88 | 28.28 | 0.60 |
23 | 35.635949 | 27.86 | 27.30 | 0.56 |
24 | 40.000000 | 26.85 | 26.38 | 0.48 |
25 | 44.898482 | 25.88 | 25.31 | 0.57 |
26 | 50.396842 | 24.86 | 24.25 | 0.60 |
27 | 56.568542 | 23.87 | 23.37 | 0.50 |
28 | 63.496042 | 22.88 | 22.27 | 0.61 |
29 | 71.271897 | 21.86 | 21.29 | 0.57 |
30 | 80.000000 | 20.85 | 20.36 | 0.49 |
31 | 89.796964 | 19.85 | 19.28 | 0.58 |
32 | 100.793684 | 18.84 | 18.23 | 0.61 |
33 | 113.137085 | 17.87 | 17.36 | 0.51 |
34 | 126.992084 | 16.86 | 16.26 | 0.60 |
35 | 142.543795 | 15.84 | 15.27 | 0.57 |
36 | 160.000000 | 14.83 | 14.34 | 0.50 |
37 | 179.593928 | 13.82 | 13.26 | 0.56 |
38 | 201.587368 | 12.83 | 12.22 | 0.61 |
39 | 226.274170 | 11.84 | 11.33 | 0.51 |
40 | 253.984168 | 10.82 | 10.22 | 0.60 |
41 | 285.087590 | 9.85 | 9.29 | 0.55 |
42 | 320.000000 | 8.90 | 8.44 | 0.45 |
43 | 359.187855 | 7.99 | 7.51 | 0.47 |
44 | 403.174736 | 7.18 | 6.73 | 0.45 |
45 | 452.548340 | 6.46 | 6.17 | 0.30 |
46 | 507.968337 | 5.92 | 5.64 | 0.28 |
47 | 570.175180 | 5.47 | 5.28 | 0.19 |
48 | 640.000000 | 5.16 | 5.05 | 0.11 |
49 | 718.375711 | 4.95 | 4.88 | 0.07 |
50 | 806.349472 | 4.85 | 4.81 | 0.04 |
51 | 905.096680 | 4.78 | 4.77 | 0.01 |
上表表明,该较佳16位方法在通常的工作位速率(qp=16~28)内在PSNR值方面优于基于32位的AVS变换及量化。眼下,因缺乏32位AVS参考软件,这两者之间的速率失真比较尚不清楚。预计该较佳实施例方法具有与AVS方法相当的编码效率。事实是,该较佳实施例16位方法在编码效率方面几乎与双精度构建方案完全相同,且32位AVS变换及量化也由在背景技术中所述的双精度8×8 DCT及量化方法获得。
简而言之,用于增强视频编码的该较佳实施例的基于16位的8×8变换及量化方法与在AVS标准中所用的双精度构建方案及基于32位的变换及量化共享相当的编码质量,但却需要小得多的表格尺寸(516字节相对于2432字节)及计算复杂度。其完全无需使用32位存储器存取及乘法。
3、修改
可采用不同的方式修改各较佳实施例方法,同时保留使用自适应性向右移位的16位整数8×8变换加逆变换及/或小表格量化加逆量化的一个或一个以上特征。换句话说,可独立地使用变换/逆变换及量化/逆量化。
例如,可将从量化步长qp到量化因子Qp的换算从qp=log2QP/6变至对另一整数n的qp=log2QP/n,并在表格QTAT和IQTAB/SHIFT中作相应的改变。甚至可使用不同于对数线性的换算。可改变变换/逆变换矩阵,并可改变量化/逆量化表格中的表项甚至使其自适应于正在处理的8×8块类型,而且也可使舍入为自适应性。
Claims (9)
1、一种运动补偿编码方法,其包括:
(a)从一输入像素块中减去一运动预测像素块,以得到一8×8数据块;
(b)使用一整数变换来变换所述8×8数据块,以得到一8×8已变换数据块;
(c)通过标量乘法加一向右移位来量化所述8×8已变换数据块,以得到一8×8经量化数据块,所述标量乘法相依于一量化步长;
(d)对所述8×8经量化数据块进行编码;
(e)使用一第二标量乘法加一第二向右移位将所述8×8经量化数据块逆量化,以得到一8×8经逆量化数据块,所述第二标量乘法及所述第二向右移位二者均相依于所述量化步长;
(f)逆变换所述8×8经逆量化数据块,以形成一8×8经重建数据块;
(g)添加所述8×8运动预测像素块及所述8×8经重建数据块,以形成一8×8经重建像素块;及
(h)存储所述8×8经重建像素块,藉此所述经重建像素可用于对一后续帧的运动预测。
2、如权利要求1所述的方法,其中:
(a)所述标量乘法加一向右移位包括舍入;及
(b)所述第二标量乘法加一第二向右移位包括舍入。
3、一种逆量化一8×8块的方法,其包括:
(a)提供一输入8×8经量化整数数据块,所述经量化数据来自相依于一量化步长的一标量乘法加一向右移位;
(b)使用所述量化步长来查找一整数逆量化标量乘法及一自适应性向右移位二者;及
(c)使用所述逆量化标量乘法加所述自适应性向右移位来逆量化所述块。
4、如权利要求3所述的方法,其中:
(a)所述逆量化标量乘法使用一具有一等于1的最高有效位(MSB)的16位正整数(无符号位)。
5、如权利要求3所述的方法,其中:
(a)所述逆量化标量乘法加自适应性向右移位包括一舍入。
6、如权利要求3所述的方法,其中:
(a)权利要求3中步骤(a)所述的数据为12位数据;
(b)所述量化步长处于0至51范围内;及
(c)所述自适应性向右移位处于7至15位范围内。
7、一种逆量化器,其包括:
(a)一乘法器,其具有用于(i)一8×8经量化整数数据块及(ii)一16位逆量化标量表格的一表项的输入,其中所述经量化数据来自相依于一量化步长及舍入的一标量乘法加一向右移位,且所述逆量化标量表格通过所述量化步长检索;及
(b)一自适应性向右移位器,其具有用于(i)所述乘法器的一输出及(ii)一自适应性向右移位表格的一表项的输入,所述自适应性向右移位表格通过所述量化步长检索;
(c)藉此所述自适应性向右移位器的一输出为一8×8经逆量化的数据块。
8、如权利要求7所述的逆量化器,其中:
(a)所述乘法器的所述输出包括一舍入提供器。
9、如权利要求8所述的逆量化器,其中:
(a)所述乘法器、舍入提供器及自适应性向右移位器构建成一可编程处理器上的程序。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US50557503P | 2003-09-24 | 2003-09-24 | |
US60/505,575 | 2003-09-24 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1856997A true CN1856997A (zh) | 2006-11-01 |
Family
ID=34393037
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2004800274307A Pending CN1856997A (zh) | 2003-09-24 | 2004-09-24 | 8×8变换及量化 |
Country Status (4)
Country | Link |
---|---|
JP (1) | JP2007507183A (zh) |
KR (1) | KR20060135613A (zh) |
CN (1) | CN1856997A (zh) |
WO (1) | WO2005032117A2 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104683800A (zh) * | 2015-02-11 | 2015-06-03 | 广州柯维新数码科技有限公司 | 基于avs的并行量化和反量化方法 |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8606023B2 (en) | 2006-06-26 | 2013-12-10 | Qualcomm Incorporated | Reduction of errors during computation of inverse discrete cosine transform |
JP5129248B2 (ja) * | 2006-06-26 | 2013-01-30 | クゥアルコム・インコーポレイテッド | 順方向および逆離散コサイン変換の効率的な固定小数点近似 |
US8571340B2 (en) | 2006-06-26 | 2013-10-29 | Qualcomm Incorporated | Efficient fixed-point approximations of forward and inverse discrete cosine transforms |
US8300698B2 (en) | 2006-10-23 | 2012-10-30 | Qualcomm Incorporated | Signalling of maximum dynamic range of inverse discrete cosine transform |
US8331454B2 (en) * | 2007-11-12 | 2012-12-11 | Cisco Technology, Inc. | Integer transform function for video compression systems |
CN102625091B (zh) * | 2011-01-27 | 2015-01-07 | 联合信源数字音视频技术(北京)有限公司 | 一种基于avs的帧间预测方法 |
CN103748885A (zh) * | 2011-06-18 | 2014-04-23 | 三星电子株式会社 | 用于图像变换的方法和装置及用于图像逆变换的方法和装置 |
WO2015141116A1 (ja) * | 2014-03-19 | 2015-09-24 | 日本電気株式会社 | 映像符号化装置、映像符号化方法および映像符号化プログラム |
CN110944179B (zh) * | 2018-11-18 | 2022-01-25 | 北京达佳互联信息技术有限公司 | 一种视频数据解码方法及装置 |
CN109324778B (zh) * | 2018-12-04 | 2020-03-27 | 深圳市华星光电半导体显示技术有限公司 | 补偿表压缩方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5506844A (en) * | 1994-05-20 | 1996-04-09 | Compression Labs, Inc. | Method for configuring a statistical multiplexer to dynamically allocate communication channel bandwidth |
US7113646B2 (en) * | 2001-06-29 | 2006-09-26 | Equator Technologies, Inc. | Decoding of predicted AC coefficient without division |
-
2004
- 2004-09-24 WO PCT/US2004/031480 patent/WO2005032117A2/en active Application Filing
- 2004-09-24 CN CNA2004800274307A patent/CN1856997A/zh active Pending
- 2004-09-24 JP JP2006528250A patent/JP2007507183A/ja not_active Abandoned
- 2004-09-24 KR KR1020067005715A patent/KR20060135613A/ko not_active Application Discontinuation
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104683800A (zh) * | 2015-02-11 | 2015-06-03 | 广州柯维新数码科技有限公司 | 基于avs的并行量化和反量化方法 |
CN104683800B (zh) * | 2015-02-11 | 2017-12-15 | 广州柯维新数码科技有限公司 | 基于avs的并行量化和反量化方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2005032117A2 (en) | 2005-04-07 |
KR20060135613A (ko) | 2006-12-29 |
JP2007507183A (ja) | 2007-03-22 |
WO2005032117A3 (en) | 2005-06-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1575546A (zh) | 变换及后续量化的实现 | |
CN1173581C (zh) | 图象解码方法 | |
CN1222153C (zh) | 数字图象压缩方法 | |
CN1225126C (zh) | 用于视频编码的新型空间预测方法及其装置 | |
CN1238798C (zh) | 在运动估计或补偿期间使用近似双立方过滤器的方法和系统 | |
CN1685369A (zh) | 视频编码的低复杂性和统一标准的变换 | |
CN1238799C (zh) | 在运动估计或补偿中进行次像素插值的方法和系统 | |
CN1860795A (zh) | 用于将基于第一变换核的输入视频代码转换为基于第二变换核的输出视频的方法和装置 | |
CN101065779A (zh) | 彩色图像编码的方法、系统和软件产品 | |
CN1286322C (zh) | 一种低复杂度整数4×4离散余弦变换量化实现方法 | |
CN1456999A (zh) | 色度运动矢量取整 | |
CN1347620A (zh) | 转换mpeg-2 4:2:2-轮廓位流为主轮廓位流的方法及架构 | |
CN1764277A (zh) | 图像和视频编码用的改进的块变换和量化 | |
CN1656817A (zh) | 上下文自适应的vlc视频变换系数编码/解码方法与设备 | |
CN1282107C (zh) | 一种对图像进行快速压缩和解压缩的方法 | |
CN1574968A (zh) | 运动图像解码装置及运动图像解码方法 | |
CN101047849A (zh) | 离散余弦逆变换方法及其装置 | |
CN1449198A (zh) | 活动图象编码方法、活动图象编码设备、和活动图象编码程序 | |
CN1856997A (zh) | 8×8变换及量化 | |
CN1926880A (zh) | 数据处理装置、方法和编码装置 | |
CN1213612C (zh) | 用于采用离散变换进行数字视频数据去压缩的方法和系统 | |
CN1662069A (zh) | 图像、视频信号的编码/解码方法 | |
CN1679340A (zh) | 不可伸缩到可伸缩视频转换方法,可伸缩到不可伸缩视频转换方法 | |
CN1399766A (zh) | 用于数据压缩的三次样条插值的快速和有效计算 | |
CN1209926C (zh) | 运用于图像编码和视频编码的整数变换方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Open date: 20061101 |