CN102036075B - 一种图像及数字视频编码及解码方法 - Google Patents

一种图像及数字视频编码及解码方法 Download PDF

Info

Publication number
CN102036075B
CN102036075B CN 201010611318 CN201010611318A CN102036075B CN 102036075 B CN102036075 B CN 102036075B CN 201010611318 CN201010611318 CN 201010611318 CN 201010611318 A CN201010611318 A CN 201010611318A CN 102036075 B CN102036075 B CN 102036075B
Authority
CN
China
Prior art keywords
matrix
tchebichef
integer
discrete
conversion
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
CN 201010611318
Other languages
English (en)
Other versions
CN102036075A (zh
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.)
Southeast University
Original Assignee
Southeast University
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 Southeast University filed Critical Southeast University
Priority to CN 201010611318 priority Critical patent/CN102036075B/zh
Publication of CN102036075A publication Critical patent/CN102036075A/zh
Application granted granted Critical
Publication of CN102036075B publication Critical patent/CN102036075B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本发明公开了一种图像及数字视频编码及解码方法,属于数字图像处理技术领域。本发明的编码及解码方法在进行二维正向/反向离散正交变换时,采用二维整数正向/反向离散Tchebichef变换。本发明利用二维整数离散Tchebichef变换来替代现有技术所使用的其它整数变换方法,可以有效解决解码器失配问题,实现无损编码,而且具有较高的压缩性能以及更好的可扩展性。本发明还进一步提出了一种8×8整数离散Tchebichef变换矩阵的快速算法,该算法只需要进行移位和加法操作,降低了硬件资源消耗,有利于硬件实现。

Description

一种图像及数字视频编码及解码方法
技术领域
本发明涉及一种图像及数字视频编码及解码方法,属于数字图像处理技术领域。
背景技术
由于图像数据在空间域上具有较强的相关性,而二维离散正交变换则是去除图像残差块空间域冗余度的有效方法,因此被广泛应用于传统的图像编码标准(如:JPEG等)和传统的视频编码标准(如:H.264,AVS等)。图像或视频编解码的过程通常包括以下几个步骤:
编码过程:
1、输入图像或视频数据;
2、将输入的图像或视频数据分成互不重叠的小数据块并分别对小数据块进行二维正向离散正交变换,得到变换域系数;
3、对得到的变换域系数矩阵进行量化处理;
4、对经过量化后的系数进行熵编码,即利用哈夫曼编码,游程编码,算术编码等编码方法进行压缩编码,得到编码后的数据;此时即可将编码后的数据存储在存储介质中或进行传输。
解码过程:
1、对编码后的数据进行反熵编码,即利用反哈夫曼编码,反游程编码,反算术编码等方式进行解码;
2、对反熵编码后的数据进行反量化处理;
3、对经过反量化处理的数据进行二维反向离散正交变换,从而得到原来的图像或视频数据;
4、将经过二维反向离散正交变换得到的图像或视频数据进行输出或者显示。
目前最常用的二维离散正交变换是离散余弦变换(DCT),它来源于连续Tchebichef多项式,因为其能量集中性能非常接近统计最佳的K-L变换,因此常被用于图像数据和视频数据的块变换编码。但是DCT有一个缺点就是矩阵中的部分系数是无理数。在计算机上用迭代的方法进行浮点正变换和反变换后,不能得到一模一样的初始值。
为了解决这个问题,人们提出了基于DCT的整数变换。利用正交性和归一化等一系列原则,在DCT理论矩阵的基本框架下,构造一个整数矩阵与缩放矩阵的“点积”得到的矩阵来近似原来的浮点DCT矩阵。但是这种技术有两个缺点:第一,构造出来的缩放矩阵与整数矩阵的“点积”(即矩阵间对应元素相乘)得到的矩阵仅仅是原来理论浮点DCT矩阵的近似,压缩性能可能有差别;第二,可扩展性不强,对于每一个变换长度没有一个统一的矩阵生成方式,比如4×4,8×8,16×16等都需要单独构造矩阵。变换长度越长,可选的整数矩阵越多,矩阵构造也越难。表1给出了一些常见的图像编码标准及其采用的二维正交变换方法。
Figure BDA0000041388810000021
表1.一些常见的图像和视频编码标准及其采用的二维正交变换
作为与DCT同源的压缩性能相似的来源于离散Tchebichef多项式的离散Tchebichef变换,则可以有效地解决这个问题,因为离散Tchebichef变换矩阵总是可以精确地分解为一个尺度变换矩阵与整数Tchebichef变换矩阵乘积的形式,没有牵涉到近似的操作。
对于长度为N的输入列向量x=[x0,x1,...,xN-1]′,一维正向离散Tchebichef变换定义为:
y=TN×x                                       (1)
相应的一维反向离散Tchebichef变换定义为:
x=T′N×y                                     (2)
其中y=[y0,y1,...,yN-1]′,其中上标“′”表示矩阵转置。T′N是TN的转置矩阵,TN是N×N的离散Tchebichef变换矩阵,其矩阵元素可以通过如下正交化的离散Tchebichef多项式递推方式得到:
t(m,n)=(α1n+α2)t(m-1,n)+α3t(m-2,n)      (3)
其中
t ( 0 , n ) = 1 N ; t ( 1 , n ) = ( 2 n + 1 - N ) 3 N ( N 2 - 1 ) ;
α 1 = 2 m 4 m 2 - 1 N 2 - m 2 ; α 2 = 1 - N m 4 m 2 - 1 N 2 - m 2 ; α 3 = 1 - m m 2 m + 1 2 m - 3 N 2 - ( m - 1 ) 2 N 2 - m 2
另外,t(m,n)还具有以下对称性:
t(m,N-1-n)=(-1)mt(m,n),m=0,1,...,N-1.  (4)
上面的对称性可以加速Tchebichef变换矩阵的生成。
二维正向和反向离散Tchebichef变换分别定义为:
y=TN×x×TN′                                 (5)
x=T′N×y×TN                                 (6)
其中 x = x 0,0 x 0,1 L x 0 , N - 1 x 1,0 x 1,1 L x 1 , N - 1 M M O M x N - 1,0 x N - 1,1 L x N - 1 , N - 1 , y = y 0,0 y 0,1 L y 0 , N - 1 y 1,0 y 1,1 L y 1 , N - 1 M M O M y N - 1,0 y N - 1,1 L y N - 1 , N - 1 .
综上所述,可以考虑利用离散Tchebichef变换来解决现有编解码方法存在的问题。
发明内容
本发明要解决的技术问题在于解决现有编解码方法存在的解码器失配以及扩展性差的问题,提供一种能够实现无损编码且实现简单的图像及数字视频编码及解码方法。
本发明采用以下技术方案:
一种图像及数字视频编码方法,包括对输入数据进行二维正向离散正交变换的步骤,所述二维正向正交变换采用二维整数正向离散Tchebichef变换。
所述二维整数正向离散Tchebichef变换采用“行列算法”实现,具体包括以下步骤:
步骤A、将输入的图像或视频数据分为互不重叠的大小为N×N的数据块,N表示数据块长或宽方向上像素点的个数,其取值为大于等于2的偶数;
步骤B、将N×N的数据块的每一列分别作为输入向量进行一维整数正向离散Tchebichef变换,并将得到的N列结果组合,得到二维整数正向离散Tchebichef变换域的中间矩阵;一维整数正向离散Tchebichef变换具体按照以下公式,
z = T ^ N × x
式中,x=[x0,x1,...,xN-1]′为输入向量;z=[z0,z1,...,zN-1]′为输出向量;“′”代表矩阵转置;为一维整数正向离散Tchebichef变换矩阵,由公式:
Figure BDA0000041388810000043
得到,TN为一维正向离散Tchebichef变换矩阵,S为缩放系数矩阵,符号
Figure BDA0000041388810000044
表示矩阵间对应元素相乘;
步骤C、将二维整数正向离散Tchebichef变换域的中间矩阵的转置矩阵中的每一列分别作为输入进行一维整数正向离散Tchebichef变换,并将得到的结果组合为新的矩阵;
步骤D、将步骤C得到的矩阵进行转置,得到二维整数正向离散Tchebichef变换域的N×N系数矩阵。
相应地,对采用上述方法进行编码的图像或视频进行解码,可以采用以下技术方案:
一种图像及数字视频解码方法,包括对反量化后的变换域系数进行二维反向离散正交变换的步骤,其特征在于,所述二维反向正交变换采用二维整数反向离散Tchebichef变换。
所述二维整数反向离散Tchebichef变换采用“行列算法”实现,具体包括以下步骤:
步骤E、将反量化后的Tchebichef变换域系数分为互不重叠的大小为M×M的数据块,M表示数据块长或宽方向上像素点的个数,其取值为大于等于2的偶数;
步骤F、将M×M的数据块的每一列分别作为输入向量进行一维整数反向离散Tchebichef变换,并将得到的M列结果组合,得到二维空间域图像或视频数据的中间矩阵;一维整数反向离散Tchebichef变换具体按照以下公式,
v = T ^ M ′ × y
式中,y=[y0,y1,...,yM-1]′为输入向量;v=[v0,v1,...,vM-1]′为输出向量;“′”代表矩阵转置;
Figure BDA0000041388810000052
为矩阵
Figure BDA0000041388810000053
的转置矩阵,为一维整数反向离散Tchebichef变换矩阵,由公式:
Figure BDA0000041388810000054
得到,T′M为一维反向离散Tchebichef变换矩阵,S′为缩放系数矩阵S的转置矩阵,符号
Figure BDA0000041388810000055
表示矩阵间对应元素相乘;
步骤G、将二维空间域图像或视频数据的中间矩阵的转置矩阵中的每一列分别作为输入进行一维整数反向离散Tchebichef变换,并将得到的结果组合为新的矩阵;
步骤H、将步骤G得到的矩阵进行转置,得到二维空间域图像或视频数据的M×M数据块矩阵。
本发明的图像及数字视频编码及解码方法,采用二维整数离散Tchebichef变换,在编码时,利用整数正向离散Tchebichef变换将其变换到Tchebichef域;进行解码时,利用整数反向离散Tchebichef变换将其变换回空间域。相比现有基于离散余弦变换的编解码方法,由于本发明方法在变换过程中都是基于整数的移位和加法操作,而对于正向或反向伸缩因子矩阵里面的无理数,将其合并到量化或反量化步骤,因此不会产生解码器失配的问题,可以实现无损编码。相比现有基于DCT的整数变换的编解码方法,本发明提出的基于整数离散Tchebichef变换矩阵以离散Tchebichef正交多项式为基础,有严格的数学理论基础,能保证较高的压缩性能,且具有更好的可扩展性。
附图说明
图1为典型的图像及数字视频数据编解码系统结构框图;
图2为一维8×8整数正向离散Tchebichef变换快速算法实现流图;
图3为一维8×8整数反向离散Tchebichef变换快速算法实现流图;
图4为具体实施方式中所述对比实验所采用的4幅测试图像,其中a为Lena,b为Baboon,c为Boat,d为Ruler。
具体实施方式
下面结合附图对本发明的技术方案进行详细说明:
附图1是典型的图像及数字视频数据编解码系统结构框图,其中虚线框表示现有技术所采用的整数变换方法,实线框为本发明所采用的整数变换方法。采用上述装置进行编码时,按照以下各步骤:
步骤1、数据输入装置输入图像或数字视频数据;
步骤2、二维正向离散正交变换装置按照以下方法对输入的数据进行二维整数离散Tchebichef变换:
步骤201、将输入的图像或数字视频数据分为互不重叠的大小为N×N的数据块,N表示数据块长或宽方向上像素点的个数,其取值为大于等于2的偶数;
步骤202、将N×N的数据块的每一列分别作为输入向量进行一维整数正向离散Tchebichef变换,并将得到的N列结果组合,得到二维整数正向离散Tchebichef变换域的中间矩阵;一维整数正向离散Tchebichef变换具体按照以下公式,
z = T ^ N × x
式中,x=[x0,x1,...,xN-1]′为输入向量;z=[z0,z1,...,zN-1]′为输出向量;“′”代表矩阵转置;
Figure BDA0000041388810000062
为一维整数正向离散Tchebichef变换矩阵,由公式:
Figure BDA0000041388810000063
得到,TN为一维正向离散Tchebichef变换矩阵,S为缩放系数矩阵,符号
Figure BDA0000041388810000064
表示矩阵间对应元素相乘;
步骤203、将二维整数正向离散Tchebichef变换域的中间矩阵的转置矩阵中的每一列分别作为输入进行一维整数正向离散Tchebichef变换,并将得到的结果组合为新的矩阵;
步骤204、将步骤203得到的矩阵进行转置,得到二维整数正向离散Tchebichef变换域的N×N系数矩阵。
由于目前多数图像或视频编码标准中使用的是基于8×8的二维变换,因此以N=8为例来详细说明如何进行二维整数离散Tchebichef变换。
将一维正向离散Tchebichef变换矩阵T8分解为一个矩阵d与整数Tchebichef变换矩阵
Figure BDA0000041388810000065
的乘积的形式,然后进一步表示为
Figure BDA0000041388810000066
与另一个缩放系数矩阵S的“点积”(
Figure BDA0000041388810000067
矩阵间对应元素相乘)的形式,其中,T8可以通过式(3)、(4)得到。此时,
T 8 = d × T ^ 8 = T ^ 8 ⊗ S - - - ( 7 )
d = diag ( 1 2 2 , 1 2 42 , 1 2 42 , 1 2 66 , 1 2 154 , 1 2 546 , 1 2 66 , 1 2 858 )
其中diag(.)表示利用括号中的数生成的对角矩阵。
T ^ 8 = 1 1 1 1 1 1 1 1 - 7 - 5 - 3 - 1 1 3 5 7 7 1 - 3 - 5 - 5 - 3 1 7 - 7 5 7 3 - 3 - 7 - 5 7 7 - 13 - 3 9 9 - 3 - 13 7 - 7 23 - 17 - 15 15 17 - 23 7 1 - 5 9 - 5 - 5 9 - 5 1 - 1 7 - 21 35 - 35 21 - 7 1 , S = p 1 p 1 p 1 p 1 p 1 p 1 p 1 p 1 p 2 p 2 p 2 p 2 p 2 p 2 p 2 p 2 p 2 p 2 p 2 p 2 p 2 p 2 p 2 p 2 p 3 p 3 p 3 p 3 p 3 p 3 p 3 p 3 p 4 p 4 p 4 p 4 p 4 p 4 p 4 p 4 p 5 p 5 p 5 p 5 p 5 p 5 p 5 p 5 p 3 p 3 p 3 p 3 p 3 p 3 p 3 p 3 p 6 p 6 p 6 p 6 p 6 p 6 p 6 p 6 ,
[ p 1 , p 2 , p 3 , p 4 , p 5 , p 6 ] = [ 1 2 2 , 1 2 42 , 1 2 66 , 1 2 154 , 1 2 546 , 1 2 858 ]
将式(7)代入二维正向离散Tchebichef变换公式,即式(5),即可得到
y = T 8 × x × T 8 ′ = ( T ^ 8 ⊗ S ) × x × ( T ^ 8 ⊗ S ) ′ = ( T ^ 8 × x × T ^ 8 ′ ) ⊗ ( S ⊗ S ′ ) = u ⊗ S ^ - - - ( 8 )
其中
u = T ^ 8 × x × T ^ 8 ′ - - - ( 9 )
S ^ = S ⊗ S ′ = p 1 2 p 1 p 2 p 1 p 2 p 1 p 3 p 1 p 4 p 1 p 5 p 1 p 3 p 1 p 6 p 1 p 2 p 2 2 p 2 2 p 2 p 3 p 2 p 4 p 2 p 5 p 2 p 3 p 2 p 6 p 1 p 2 p 2 2 p 2 2 p 2 p 3 p 2 p 4 p 2 p 5 p 2 p 3 p 2 p 6 p 1 p 3 p 2 p 3 p 2 p 3 p 3 2 p 3 p 4 p 3 p 5 p 3 2 p 3 p 6 p 1 p 4 p 2 p 4 p 2 p 4 p 3 p 4 p 4 2 p 4 p 5 p 3 p 4 p 4 p 6 p 1 p 5 p 2 p 5 p 2 p 5 p 3 p 5 p 4 p 5 p 5 2 p 3 p 5 p 5 p 6 p 1 p 3 p 2 p 3 p 2 p 3 p 3 2 p 3 p 4 p 3 p 5 p 3 2 p 3 p 6 p 1 p 6 p 2 p 6 p 2 p 6 p 3 p 6 p 4 p 6 p 5 p 6 p 3 p 6 p 6 2
p 1 2 = 1 8 ; p 2 2 = 1 168 ; p 3 2 = 1 264 ; p 4 2 = 1 616 ; p 5 2 = 1 2184 ; p 6 2 = 1 3432 ; p 1 p 2 = 1 8 21 ; p 1 p 3 = 1 8 33 ; p 1 p 4 = 1 8 77 ; p 1 p 5 = 1 8 273 ; p 1 p 6 = 1 8 429 ; p 2 p 3 = 1 24 77 ; p 2 p 4 = 1 56 33 ; p 2 p 5 = 1 168 13 ; p 2 p 6 = 1 24 1001 ; p 3 p 4 = 1 88 21 ; p 3 p 5 = 1 24 1001 ; p 3 p 6 = 1 264 13 ; p 4 p 5 = 1 56 429 ; p 4 p 6 = 1 88 273 ; p 5 p 6 = 1 312 77 ;
由式(8)可以知道,二维正向离散Tchebichef变换矩阵系数y可以转化为二维整数正向离散Tchebichef变换矩阵系数u与缩放系数矩阵
Figure BDA0000041388810000081
的“点积”的形式,因此在二维正向离散正交变换装置中只需要计算出进行二维整数正向离散Tchebichef变换即可,而缩放系数矩阵可以并入图1中的量化步骤,具体就是将矩阵
Figure BDA0000041388810000083
与后面量化步骤的8×8量化矩阵进行“点积”。
式(9)可以转化为
u = T ^ 8 × x × T ^ 8 ′ = ( T ^ 8 × ( T ^ 8 × x ) ′ ) ′ = ( T ^ 8 × z ′ ) ′ - - - ( 10 )
其中
z = T ^ 8 × x - - - ( 11 )
由上述分析可知,可采用上述的“行列算法”实现二维正向整数离散Tchebichef变换,即将8×8数据块x的每一列数据作为输入,依次进行一维正向整数离散Tchebichef变换,得到二维整数Tchebichef变换域的一个8×8的中间矩阵z,对z矩阵进行转置得到z′,然后以z′的每一列(相当于z矩阵的每一行)数据作为输入,再次依次进行一维正向整数离散Tchebichef变换得到
Figure BDA0000041388810000086
对这个矩阵进行转置后即可以得到二维整数Tchebichef变换域8×8的系数矩阵u。
本发明在进行一维整数正向离散Tchebichef变换
Figure BDA0000041388810000087
时,采用快速算法实现,该快速算法将
Figure BDA0000041388810000088
中的元素表示成2的整数次幂的数之间的加减法的形式,然后进行项的拆分或合并,具体过程如下:
z = T ^ 8 × x ⇔ z 0 z 1 z 2 z 3 z 4 z 5 z 6 z 7 1 1 1 1 1 1 1 1 - 7 - 5 - 3 - 1 1 3 5 7 7 1 - 3 - 5 - 5 - 3 1 7 - 7 5 7 3 - 3 - 7 - 5 7 7 - 13 - 3 9 9 - 3 - 13 7 - 7 23 - 17 - 15 15 17 - 23 7 1 - 5 9 - 5 - 5 9 - 5 1 - 1 7 - 21 35 - 35 21 - 7 1 x 0 x 1 x 2 x 3 x 4 x 5 x 6 x 7 ;
将一维整数正向离散Tchebichef变换矩阵中的元素表示成2的整数次幂的数之间的加减法的形式:
3 = 4 - 1 5 = 4 + 1 ; 7 = 8 - 1 9 = 8 + 1 ; 15 = 16 - 1 17 = 16 + 1 ; 13 = 8 + 4 + 1 21 = 16 + 4 + 1 ; 23 = 16 + 8 - 1 35 = 16 + 8 + 8 + 4 - 1
根据以下公式计算输出向量z:
z 0 = B 0 + B 3 z 2 = 8 A 0 - 4 B 3 - ( B ‾ 0 - B ‾ 3 ) z 4 = 8 ( B ‾ 0 + A 3 ) - 4 B 1 - ( B 0 - B 3 ) z 6 = 8 A 2 - 4 B 2 + ( B ‾ 0 + B ‾ 3 ) ; z 1 = - 8 A ‾ 0 - 4 C 1 + ( C ‾ 0 + C ‾ 3 ) z 3 = - 8 C ‾ 4 + 4 C 2 + ( C 0 - C 3 ) z 5 = 16 ( A ‾ 1 - C 3 ) - 8 C ‾ 0 + ( C ‾ 0 - C ‾ 3 ) z 7 = 8 A ‾ 3 + 8 C 2 - 16 C ‾ 3 - 4 C ‾ 3 - ( C 0 + C 3 ) ;
A 0 = x 0 + x 7 A ‾ 0 = x 0 - x 7 ; A 1 = x 1 + x 6 A ‾ 1 = x 1 - x 6 ; A 2 = x 2 + x 5 A ‾ 2 = x 2 - x 5 ; A 3 = x 3 + x 4 A ‾ 3 = x 3 - x 4 ; B 0 = A 0 + A 1 B ‾ 0 = A 0 - A 1 ; B 1 = A 1 + A 2 B 2 = A 1 + A 3 ;
B 3 = A 2 + A 3 B ‾ 3 = A 2 - A 3 ; C 0 = A ‾ 0 + A ‾ 1 C ‾ 0 = A ‾ 0 - A ‾ 1 ; C 1 = A ‾ 1 + A ‾ 2 C 2 = A ‾ 1 + A ‾ 3 ; C 3 = A ‾ 2 + A ‾ 3 C ‾ 3 = A ‾ 2 - A ‾ 3 ; C ‾ 4 = A ‾ 0 - A ‾ 2 ;
其中x=[x0,x1,...,x7]′为输入向量;z=[z0,z1,...,z7]′为输出向量;A0,A1,A2,A3,B0,B1,B2,B3,C0,C1,C2,C3
Figure BDA00000413888100000914
Figure BDA00000413888100000915
均为中间变量。
使用上述算法只需要47次加法16次移位操作,不需要进行费时的乘法操作,有利于硬件实现,其计算复杂度与基于DCT的整数变换相当。该快速算法的流图如附图2所示,其中带箭头的线段上方的数字表示传输因子(相当于乘法器,但是其实际上是通过移位操作来实现,因为传输因子都是2的整数次幂)。虚线表示传输因子为“-1”,两个箭头相交的部分为“加法器”。
步骤3、通过量化装置对步骤2得到的二维整数正向离散Tchebichef变换域的N×N系数矩阵进行量化,此时利用的新的量化矩阵为缩放系数矩阵
Figure BDA00000413888100000916
与原来量化矩阵的“点积”。
步骤4、通过熵编码装置进行压缩编码。
此时即可将编码后的数据存储在存储介质中或进行传输。
进行解码时,按照以下步骤:
步骤5、通过反熵编码装置及反量化装置对已编码数据进行反熵编码和反量化操作,得到8×8整数离散Tchebichef变换域系数矩阵u,此时的新的反量化矩阵为缩放系数矩阵
Figure BDA00000413888100000917
与原来反量化矩阵的“点积”。
步骤6、以8×8整数离散Tchebichef变换域系数矩阵u作为输入,进行二维整数反向离散Tchebichef变换,输出为空间域的8×8图像或视频数据矩阵x,即实现x=T′8×y×T8
因为需要实现的矩阵T′8仅仅是T8的简单转置,所以我们可以采用类似于正向Tchebichef变换的方法实现。将T′8分解为
Figure BDA0000041388810000101
与另一个矩阵S′的“点积”的形式:
T 8 ′ = T ^ 8 ′ ⊗ S ′ - - - ( 12 )
将式(12)代入式x=T′8×y×T8,可以得到
x = T 8 ′ × y × T 8 = ( T ^ 8 ⊗ S ) ′ × y × ( T ^ 8 ⊗ S ) = ( T ^ 8 ′ × y × T ^ 8 ) ⊗ ( S ′ ⊗ S ) = w ⊗ S ^ - - - ( 13 )
其中
w = T ^ 8 ′ × y × T ^ 8 - - - ( 14 )
由式(14)可以知道,二维反向离散Tchebichef变换矩阵系数x可以转化为二维整数反向离散Tchebichef变换矩阵系数w与缩放系数矩阵
Figure BDA0000041388810000105
的“点积”的形式,因此在二维反向离散正交变换装置中只需要进行二维整数反向离散Tchebichef变换即可,而缩放系数矩阵
Figure BDA0000041388810000106
可以并入图1中的反量化步骤,具体就是将矩阵
Figure BDA0000041388810000107
与前面反量化步骤的8×8反量化矩阵进行“点积”。
由于式(14)可以转化为
w = T ^ 8 ′ × y × T ^ 8 = ( T ^ 8 ′ × ( T ^ 8 ′ × y ) ′ ) ′ = ( T ^ 8 ′ × v ′ ) ′ - - - ( 15 )
其中
v = T ^ 8 ′ × y - - - ( 16 )
因此,同样可以采用“行列算法”实现二维反向整数离散Tchebichef变换,具体按照以下步骤:
步骤601、将二维整数正向离散Tchebichef变换域的8×8系数矩阵y的每一列分别作为输入向量进行一维整数反向离散Tchebichef变换,并将得到的8列结果组合,得到二维空间域图像或数字视频数据的中间矩阵;一维整数反向离散Tchebichef变换具体按照以下公式,
v = T ^ 8 ′ × y
式中,y=[y0,y1,...,y7]′为输入向量;v=[v0,v1,...,v7]′为输出向量;“′”代表矩阵转置;
Figure BDA00000413888100001011
为矩阵
Figure BDA00000413888100001012
的转置矩阵,为一维整数反向离散Tchebichef变换矩阵,由公式:
Figure BDA00000413888100001013
得到,T′8为一维反向离散Tchebichef变换矩阵,S′为缩放系数矩阵S的转置矩阵,符号
Figure BDA0000041388810000111
表示矩阵间对应元素相乘;
步骤602、将8×8的中间矩阵v的转置矩阵v′中的每一列分别作为输入进行一维整数反向离散Tchebichef变换,并将得到的结果组合为新的矩阵
Figure BDA0000041388810000112
步骤603、将步骤602得到的矩阵
Figure BDA0000041388810000113
进行转置,得到二维空间域图像或数字视频数据的8×8数据块矩阵w。
步骤7、将步骤6得到的8×8数据块矩阵w进行组合,即得到原始图像或数字视频数据,可通过数据输出装置进行显示或数据输出。
与一维整数正向离散Tchebichef变换相似,一维整数反向离散Tchebichef变换也可采用上述的快速算法实现,即将
Figure BDA0000041388810000114
中的元素表示成2的整数次幂的数之间的加减法的形式,然后进行项的拆分或合并,具体过程如下:
z = T ^ 8 ′ × y ⇔ v 0 v 1 v 2 v 3 v 4 v 5 v 6 v 7 1 - 7 7 - 7 7 - 7 1 - 1 1 - 5 1 5 - 13 23 - 5 7 1 - 3 - 3 7 - 3 - 17 9 - 21 1 - 1 - 5 3 9 - 15 - 5 35 1 1 - 5 - 3 9 15 - 5 35 1 3 - 3 - 7 - 3 17 9 21 1 5 1 - 5 - 13 - 23 - 5 - 7 1 7 7 7 7 7 1 1 y 0 y 1 y 2 y 3 y 4 y 5 y 6 y 7 ;
将一维整数反向离散Tchebichef变换矩阵
Figure BDA0000041388810000116
中的元素表示成2的整数次幂的数之间的加减法的形式:
3 = 4 - 1 5 = 4 + 1 ; 7 = 8 - 1 9 = 8 + 1 ; 15 = 16 - 1 17 = 16 + 1 ; 13 = 8 + 4 + 1 21 = 16 + 4 + 1 ; 23 = 16 + 8 - 1 35 = 16 + 8 + 8 + 4 - 1
根据以下公式计算输出向量v:
v 0 = F ‾ 0 + F 3 v 2 = F 0 + F ‾ 3 v 4 = F 2 - F ‾ 1 v 6 = F ‾ 2 - F 1 ; v 1 = F ‾ 2 + F 1 v 3 = F 2 + F ‾ 1 v 5 = F 0 - F ‾ 3 v 7 = F ‾ 0 - F 3
F 0 = 8 y 6 + D 8 + ( E 0 + D 2 ) F 2 = D 5 + D 9 + ( E 0 - D 2 ) F 1 = 16 y 5 + D 4 + D 6 - ( E 1 - D ‾ 3 ) F 3 = - 8 y 1 - D 7 + ( E 1 + D ‾ 3 ) ; F ‾ 0 = 8 y 2 + ( D ‾ 0 + E ‾ 2 ) F ‾ 2 = D 8 + D 9 + ( D ‾ 0 - E ‾ 2 ) F ‾ 1 = D 4 + D 7 + ( E 3 - E ‾ 1 ) F ‾ 3 = D 6 + D 7 + ( E 3 + E ‾ 1 ) ;
E 0 = D 0 - 4 y 2 E 1 = D 1 - 8 y 5 E 3 = D 3 - 16 y 5 ; E ‾ 1 = D ‾ 1 - 4 y 7 - 16 y 7 E ‾ 2 = D ‾ 2 + D 5
D 0 = y 0 + y 4 D ‾ 0 = y 0 - y 4 ; D 1 = y 1 + y 5 D ‾ 1 = y 1 - y 5 ; D 2 = y 2 + y 6 D ‾ 2 = y 6 - y 2 ; D 3 = - y 3 - y 7 D ‾ 3 = y 3 - y 7 ;
D 4 = 8 y 7 + 4 y 3 D 5 = 8 y 4 ; D 6 = - 4 y 1 D 7 = 8 y 3 ; D 8 = - 4 y 4 D 9 = - 4 y 6 ;
其中y=[y0,y1,...,y7]′为输入向量;v=[v0,v1,...,v7]′为输出向量;D0,D1,D2,D3,D4,D5,D6,D7,D8,D9,E0,E1,E3,F0,F1,F2,F3
Figure BDA00000413888100001210
Figure BDA00000413888100001211
均为中间变量。
该快速算法的流图如附图3所示,其中带箭头的线段上方的数字表示传输因子(相当于乘法器,但是其实际上是通过移位操作来实现,因为传输因子都是2的整数次幂)。虚线表示传输因子为“-1”,两个箭头相交的部分为“加法器”。
为了验证本发明方法的效果,进行了以下实验:
1、实验条件:
在一台计算机上进行验证实验,该计算机配置为AMD单核处理器(3200兆赫兹)和4096兆字节随机存取存储器(RAM),编程语言用的是Matlab(7.10版本)。
2、实验方法:
实验采用JPEG图像编解码系统基本框架(如附图1所示),将图中实线框所示的部分代替虚线框所示的部分。实验采用的输入数据分别是Lena,Baboon,Boat,Ruler四幅图像(如附图4所示)。即首先将四幅图像划分为不重叠的8×8数据块,然后执行:
编码过程:对每个8×8数据块进行二维整数正向离散Tchebichef变换(具体步骤见前面所述的步骤201到步骤204),对变换后的系数进行量化(式(8))中的伸缩矩阵
Figure BDA00000413888100001212
与量化矩阵进行“点积”合并处理得到新的量化矩阵),之后进行熵编码(本实验采用游程编码和哈夫曼编码)。为了提高压缩比,我们通过率失真优化方法(Rate-Distortion)对每幅图像构造不同的量化矩阵,而不再采用JPEG标准中推荐的通用量化表矩阵。实验中将率失真优化方法(Rate-Distortion)应用于附图4所示四幅测试图像(Lena,Baboon,Boat和Ruler)分别得到的量化矩阵如下表2所示。
Figure BDA0000041388810000131
表2
解码过程:首先进行反量化操作(式(13)中的伸缩矩阵
Figure BDA0000041388810000132
与反量化矩阵进行“点积”合并处理得到新的反量化矩阵),之后进行反熵编码(本实验采用反游程编码和反哈夫曼编码),最后进行8×8二维整数反向离散Tchebichef变换(具体步骤见前面所述的步骤601到步骤603)从而得到恢复的图像。
3、实验结果的评价指标:
实验结果采用压缩比(Compression Ratio,CR)和峰值信噪比(Peak Signal to NoiseRatio,PSNR)两个指标进行评价。
压缩比指的是通过编码器压缩后的图像数字大小和原图像数字大小的比值。
峰值信噪比是原图像与恢复的图像之间均方误差(MSE)相对于(2m-1)2的对数值,m是每个采样值的比特数。峰值信噪比的单位是分贝(dB)。
峰值信噪比的公式表达为
PSNR = 10 × log 10 ( ( 2 m - 1 ) 2 MSE ) ;
Figure BDA0000041388810000134
其中In是原始图像的第n个像素值,Pn是经过处理后的图像的第n个像素值。在同样(或者相近)压缩比的情况下,PSNR值越大,就代表失真越少。
4、与现有技术的对比实验结果:
表3到表6给出了分别采用8×8整数离散Tchebichef变换和8×8整数离散余弦变换的编解码方法对四幅测试图像(Lena,Baboon,Boat,Ruler)的压缩结果。测试结果同时给出了压缩比和峰值信噪比。
Figure BDA0000041388810000141
表3.8×8整数离散Tchebichef变换和8×8整数离散余弦变换对Lena的压缩比较结果
表4.8×8整数离散Tchebichef变换和8×8整数离散余弦变换对Baboon的压缩比较结果
Figure BDA0000041388810000143
Figure BDA0000041388810000151
表5.8×8整数离散Tchebichef变换和8×8整数离散余弦变换对Boat的压缩比较结果
Figure BDA0000041388810000152
表6.8×8整数离散Tchebichef变换和8×8整数离散余弦变换对Ruler的压缩比较结果
由表3到表6可以知道,在压缩比相当的情况下,8×8整数离散Tchebichef变换与8×8整数离散余弦变换具有十分接近的峰值信噪比,但是8×8整数离散Tchebichef变换具有更好的可扩展性,比如,扩展到16×16,32×32等。因此,本发明的编码及解码方法可以更加灵活的在JPEG、H.264(MPEG-4AVC)和AVS等国际(国家)标准中使用。

Claims (6)

1.一种图像及数字视频编码方法,包括对输入数据进行二维正向离散正交变换的步骤,其特征在于,所述二维正向离散正交变换采用二维整数正向离散Tchebichef变换;所述二维整数正向离散Tchebichef变换采用“行列算法”实现,具体包括以下步骤:
步骤A、将输入的图像或视频数据分为互不重叠的大小为                                               
Figure 2010106113185100001DEST_PATH_IMAGE002
的数据块,表示数据块长或宽方向上像素点的个数,其取值为大于等于2的偶数;
步骤B、将
Figure 984158DEST_PATH_IMAGE002
的数据块的每一列分别作为输入向量进行一维整数正向离散Tchebichef变换,并将得到的列结果组合,得到二维整数正向离散Tchebichef变换域的中间矩阵;一维整数正向离散Tchebichef变换具体按照以下公式,
Figure 2010106113185100001DEST_PATH_IMAGE006
式中,
Figure 2010106113185100001DEST_PATH_IMAGE008
为输入向量;为输出向量;“
Figure 2010106113185100001DEST_PATH_IMAGE012
”代表矩阵转置;为一维整数正向离散Tchebichef变换矩阵,由公式:
Figure 2010106113185100001DEST_PATH_IMAGE016
 得到,
Figure 2010106113185100001DEST_PATH_IMAGE018
为一维正向离散Tchebichef变换矩阵,
Figure 2010106113185100001DEST_PATH_IMAGE020
为缩放系数矩阵,符号
Figure 2010106113185100001DEST_PATH_IMAGE022
表示矩阵间对应元素相乘;
步骤C、将二维整数正向离散Tchebichef变换域的中间矩阵的转置矩阵中的每一列分别作为输入进行一维整数正向离散Tchebichef变换,并将得到的结果组合为新的矩阵;
步骤D、将步骤C得到的矩阵进行转置,得到二维整数正向离散Tchebichef变换域的
Figure 740423DEST_PATH_IMAGE002
系数矩阵。
2.如权利要求1所述图像及数字视频编码方法,其特征在于,
Figure 197949DEST_PATH_IMAGE004
的取值为8。
3.如权利要求2所述图像及数字视频编码方法,其特征在于,所述一维整数正向离散Tchebichef变换
Figure 2010106113185100001DEST_PATH_IMAGE024
采用快速算法实现,该快速算法将
Figure 2010106113185100001DEST_PATH_IMAGE026
中的元素表示成2的整数次幂的数之间的加减法的形式,然后进行项的拆分或合并,具体过程如下:
Figure 2010106113185100001DEST_PATH_IMAGE028
将一维整数正向离散Tchebichef变换矩阵
Figure 593681DEST_PATH_IMAGE026
中的元素表示成2的整数次幂的数之间的加减法的形式:
根据以下公式计算输出向量
Figure 2010106113185100001DEST_PATH_IMAGE032
Figure DEST_PATH_IMAGE034
Figure DEST_PATH_IMAGE036
Figure DEST_PATH_IMAGE038
 ;
其中
Figure DEST_PATH_IMAGE040
为输入向量;
Figure 2010106113185100001DEST_PATH_IMAGE042
为输出向量;
Figure DEST_PATH_IMAGE044
, 
Figure DEST_PATH_IMAGE046
Figure DEST_PATH_IMAGE048
Figure DEST_PATH_IMAGE050
Figure 2010106113185100001DEST_PATH_IMAGE052
Figure DEST_PATH_IMAGE054
均为中间变量。
4.一种图像及数字视频解码方法,包括对反量化后的变换域系数进行二维反向离散正交变换的步骤,其特征在于,所述二维反向离散正交变换采用二维整数反向离散Tchebichef变换;所述二维整数反向离散Tchebichef变换采用“行列算法”实现,具体包括以下步骤:
步骤E、将反量化后的Tchebichef变换域系数分为互不重叠的大小为
Figure DEST_PATH_IMAGE056
的数据块,
Figure 2010106113185100001DEST_PATH_IMAGE058
表示数据块长或宽方向上像素点的个数,其取值为大于等于2的偶数;
步骤F、将
Figure 163946DEST_PATH_IMAGE056
的数据块的每一列分别作为输入向量进行一维整数反向离散Tchebichef变换,并将得到的
Figure 493296DEST_PATH_IMAGE058
列结果组合,得到二维空间域图像或视频数据的中间矩阵;一维整数反向离散Tchebichef变换具体按照以下公式,
Figure DEST_PATH_IMAGE060
式中,
Figure DEST_PATH_IMAGE062
为输入向量;
Figure DEST_PATH_IMAGE064
为输出向量;“
Figure 193661DEST_PATH_IMAGE012
”代表矩阵转置;为矩阵
Figure DEST_PATH_IMAGE068
的转置矩阵,为一维整数反向离散Tchebichef变换矩阵,由公式:
Figure 2010106113185100001DEST_PATH_IMAGE070
 得到,
Figure DEST_PATH_IMAGE072
为一维反向离散Tchebichef变换矩阵,
Figure DEST_PATH_IMAGE074
为缩放系数矩阵
Figure 921927DEST_PATH_IMAGE020
的转置矩阵,符号
Figure 977608DEST_PATH_IMAGE022
表示矩阵间对应元素相乘;
步骤G、将二维空间域图像或视频数据的中间矩阵的转置矩阵中的每一列分别作为输入进行一维整数反向离散Tchebichef变换,并将得到的结果组合为新的矩阵;
步骤H、将步骤G得到的矩阵进行转置,得到二维空间域图像或视频数据的
Figure 544987DEST_PATH_IMAGE056
数据块矩阵。
5.如权利要求4所述图像及数字视频解码方法,其特征在于,
Figure 344315DEST_PATH_IMAGE058
的取值为8。
6.如权利要求5所述图像及数字视频解码方法,其特征在于,所述一维整数反向离散Tchebichef变换
Figure DEST_PATH_IMAGE076
采用快速算法实现,该快速算法将
Figure DEST_PATH_IMAGE078
中的元素表示成2的整数次幂的数之间的加减法的形式,然后进行项的拆分或合并,具体过程如下:
Figure DEST_PATH_IMAGE080
将一维整数反向离散Tchebichef变换矩阵
Figure 425623DEST_PATH_IMAGE078
中的元素表示成2的整数次幂的数之间的加减法的形式:
Figure 917784DEST_PATH_IMAGE030
根据以下公式计算输出向量
Figure DEST_PATH_IMAGE082
Figure DEST_PATH_IMAGE084
Figure DEST_PATH_IMAGE088
Figure DEST_PATH_IMAGE090
其中
Figure DEST_PATH_IMAGE092
为输入向量;
Figure DEST_PATH_IMAGE094
为输出向量;, 
Figure 2010106113185100001DEST_PATH_IMAGE098
Figure DEST_PATH_IMAGE100
Figure DEST_PATH_IMAGE104
Figure DEST_PATH_IMAGE106
均为中间变量。
CN 201010611318 2010-12-29 2010-12-29 一种图像及数字视频编码及解码方法 Expired - Fee Related CN102036075B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 201010611318 CN102036075B (zh) 2010-12-29 2010-12-29 一种图像及数字视频编码及解码方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 201010611318 CN102036075B (zh) 2010-12-29 2010-12-29 一种图像及数字视频编码及解码方法

Publications (2)

Publication Number Publication Date
CN102036075A CN102036075A (zh) 2011-04-27
CN102036075B true CN102036075B (zh) 2012-11-28

Family

ID=43888302

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 201010611318 Expired - Fee Related CN102036075B (zh) 2010-12-29 2010-12-29 一种图像及数字视频编码及解码方法

Country Status (1)

Country Link
CN (1) CN102036075B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102355269B (zh) * 2011-07-27 2013-09-25 东南大学 一种基于gdht-iii域的一维分段编码信号快速解码方法
CN103491375B (zh) * 2013-05-29 2018-11-02 东南大学 基于binDCT算法的JPEG压缩系统
CN104902285B (zh) * 2015-05-21 2018-04-20 北京大学 一种图像编码方法
CN105163130B (zh) * 2015-08-25 2019-05-31 重庆邮电大学 一种基于离散Tchebichef正交多项式的图像无损压缩方法
CN105472395B (zh) * 2015-11-20 2019-03-08 重庆邮电大学 一种基于离散Krawtchouk正交多项式的图像无损压缩方法
CN107066423A (zh) * 2016-11-07 2017-08-18 复旦大学 一种有限输入定点数矩阵乘法器的优化方法
CN110856000B (zh) * 2019-10-22 2020-10-27 深圳市华星光电技术有限公司 图像解压缩方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1653447A (zh) * 2002-03-12 2005-08-10 英特尔公司 报告NxM离散余弦变换的方法
CN101131686A (zh) * 2006-08-25 2008-02-27 辉达公司 以降低功率消耗对数据值阵列执行二维变换的方法及系统
JP2010021704A (ja) * 2008-07-09 2010-01-28 Hitachi Ltd 動画像符号化装置、復号化装置、符号化方法、及び復号化方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100203291B1 (ko) * 1996-11-30 1999-06-15 윤종용 큐빅격자구조 벡터양자화를 이용한 웨이브렛변환 영상부호화/복호화시스템

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1653447A (zh) * 2002-03-12 2005-08-10 英特尔公司 报告NxM离散余弦变换的方法
CN101131686A (zh) * 2006-08-25 2008-02-27 辉达公司 以降低功率消耗对数据值阵列执行二维变换的方法及系统
JP2010021704A (ja) * 2008-07-09 2010-01-28 Hitachi Ltd 動画像符号化装置、復号化装置、符号化方法、及び復号化方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
董志芳等.一种新的基于矩的改进离散余弦变换及其反变换快速算法.《东南大学学报》.2009,第39卷(第4期),全文. *
赵杰等.基于Tchebichef矩和小波提升的数字水印算法.《计算机工程》.2009,第35卷(第11期),全文. *
郭芬红,熊昌镇.全相位双正交离散Tchebichef变换图像编码与重构算法.《通信学报》.2010,第31卷(第8A期),摘要、第2页3.1至第3页3.2. *

Also Published As

Publication number Publication date
CN102036075A (zh) 2011-04-27

Similar Documents

Publication Publication Date Title
CN102036075B (zh) 一种图像及数字视频编码及解码方法
Talukder et al. Haar wavelet based approach for image compression and quality assessment of compressed image
CN101261619B (zh) 变换及后续量化的实现
EP1359546B1 (en) 2-D transforms for image and video coding
RU2377653C2 (ru) Оператор обратимого перекрытия для эффективного сжатия данных без потерь
Rawat et al. A Hybrid Image Compression Scheme Using DCT and Fractal Image Compression.
CN1697328B (zh) 快速视频编解码变换实现
KR20120034582A (ko) 영상/화상을 부호화하기 위한 장치 및 방법
Brahimi et al. A novel and efficient 8-point DCT approximation for image compression
CN108200439B (zh) 提高数字信号变换性能的方法及数字信号变换方法和装置
Siddeq et al. Applied minimized matrix size algorithm on the transformed images by DCT and DWT used for image compression
CN100409693C (zh) 用于图像和视频压缩的正交变换方法
CN105163130B (zh) 一种基于离散Tchebichef正交多项式的图像无损压缩方法
Brahimi et al. An efficient fast integer DCT transform for images compression with 16 additions only
Shawahna et al. JPEG image compression using the discrete cosine transform: an overview, applications, and hardware implementation
CN107249130B (zh) 一种用于数字视频编解码的3乘3整数dct变换量化器
CN100440978C (zh) 一种视频图像编码方法
CN100520765C (zh) 确定给定变换函数的变换元素的过程和设备,数字信号变换方法和设备及计算机可读介质
CN101977321B (zh) 一种视频编码的整数变换方法
CN105472395B (zh) 一种基于离散Krawtchouk正交多项式的图像无损压缩方法
Kunchigi et al. Simulation of Vedic multiplier in DCT applications
CN100426866C (zh) 全相位沃尔什双正交变换及其对jpeg的改进方法
Al-Fayadh et al. Improved transform based image compression methods
CN102103859B (zh) 一种数字音频编码、解码方法及装置
Costantini et al. A low-complexity video coder based on the Discrete Walsh Hadamard Transform

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20121128

Termination date: 20151229

EXPY Termination of patent right or utility model