运用于图像编码和视频编码的离散余弦变换方法

文档序号:7955825阅读:115来源:国知局
专利名称:运用于图像编码和视频编码的离散余弦变换方法
技术领域
本发明涉及电数字数据处理技术领域,特别是一种运用于图像编码和视频编码的离散余弦变换方法。
背景技术
传统的视频编码标准如ITU制定的H.261,H.263标准以及ISO的MPEG组织制定的MEPG-1,MPEG-2,MPEG-4等都是基于混合编码。所谓混合编码框架是综合考虑预测,变换以及熵编码的方法的编码框架,有以下主要特点1)利用预测去除时间域的冗余度;2)利用变换去除空间域的冗余度;3)而用熵编码去除统计上的冗余度;上述视频编码标准都具有帧内编码帧,即I帧,和帧间编码帧,即P帧,I帧和P帧采用不同的编码方法。I帧的编码过程如下对原始图像数据或帧内预测得到的残差块进行二维变换;然后在变换域中对变换系数进行量化;最后进行熵编码,即Huffman编码或者算术编码等。P帧的编码过程如下采用运动估计得到运动矢量,然后采用基于运动补偿的帧间预测,接着对帧间预测得到的残差块进行二维变换,再对变换域系数进行量化,最后进行熵编码。
传统的图像编码标准,如JPEG标准,与视频编码标准有着相近之处,对原始图像数据或图像内预测得到的残差块进行二维变换;然后在变换域中对变换系数进行量化;最后进行熵编码。
由于视频数据和图像数据在空间域上较强的相关性,二维变换是提高编码增益的关键因素,因此二维变换是视频编码和图像编码的很重要的部分。
离散余弦变换(DCT)变换通常用于图像数据和视频数据的块变换编码,这是因为对于各种信号,离散余弦变换非常近似于统计最佳的K-L变换。离散余弦变换被广泛应用于各种视频/图像编码标准中。
对于输入的8×1矩阵f8×1,一维理论离散余弦正变换定义如下F8×1=DCT8×f8×1一维理论离散余弦反变换定义如下f8×1=DCT8T×F8×1对于输入的1×8矩阵f8×1,一维理论离散余弦正变换定义如下
F1×8=f1×8×DCT8T一维理论离散余弦反变换定义如下f1×8=F1×8×DCT8对于输入的8×8矩阵F8×8,二维理论离散余弦正变换定义如下F8×8=DCT8×f8×8×DCT8T二维理论离散余弦反变换定义如下f8×8=DCT8T×F8×8×DCT8其中DCT8为理论的8×8DCT矩阵,DCT8T为理论的8×8DCT矩阵的转置矩阵。理论的8×8DCT矩阵中的元素定义如下DCT(i,j)=18i=0,0≤j≤n-112cos(2i+116jπ)1≤i≤n-1,0≤j≤n-1]]>离散余弦变换的一个缺点是矩阵中的部分系数是无理数,所以在数字计算机上用迭代的方法进行变换和反变换后,不能得到一模一样的初始值。在解码端,由于没有定义具体的反离散余弦变换(IDCT)的具体过程,所以不同的解码器解码的结果可能不同,导致了解码器失配(decoder mismatch)的问题。因此,符合标准的解码器必须达到一定的精度要求。但是高的精度通常要求高的实现复杂度。在设计和实现时要根据不同需要对精度和实现复杂度两者进行权衡。
图1和图2分别为现有技术采用的离散余弦反变换蝶形结构和现有技术采用的离散余弦正变换蝶形结构。该结构的缺点是都采用两输入三乘法结构,而在某些情况下采用等价的两输入四乘法结构能用更少的加法和移位实现,复杂度更低,而精度相当。同时,采用两输入三乘法结构,每个乘法器的输入都不相同,无法把乘法器相同的因子提取到蝶形结构外进行预处理或/和后处理来进一步降低实现的复杂度。

发明内容
本发明的目的是提供一种运用于图像编码和视频编码的离散余弦变换的方法。
本发明解决其技术问题所采用的技术方案是1、一种运用于图像编码和视频编码的离散余弦变换的方法离散余弦反变换过程采用或包含离散余弦反变换蝶形结构;离散余弦反变换蝶形结构对其输入数据处理的过程由下面或与下面等价的式子表示a0=y7+y3,a1=y5+y1,b0=y0+y4,b1=y0-y4,b2=αy2-βy6,b3=βy2+αy6,b4=κy7+λy1,b7=κy1-λy7,b5=μy5+νy3,b6=μy3-νy5,b8=δa1-γa0,b9=δa0+γa1,c0=b0+b3,c3=b0-b3,c1=b1+b2,c2=b1-b2,c4=b8-b4,c5=b9-b5,c6=b6+b8,c7=b7+b9,x0=c0+c7,x7=c0-c7,x1=c1+c6,x6=c1-c6,x2=c2+c5,x5=c2-c5,x3=c3+c4,x4=c3-c4,其中y0、y1、y2、y3、y4、y5、y6、y7为离散余弦反变换蝶形结构的输入,x0、x1、x2、x3、x4、x5、x6、x7为离散余弦反变换蝶形结构的输出,α、β、κ、λ、μ、ν、δ、γ为离散余弦反变换蝶形结构中预先设定的乘法器参数,a0、a1、b0、b1、b2、b3、b4、b5、b6、b7、b8、b9、c0、c1、c2、c3、c4、c5、c6、c7为离散余弦反变换蝶形结构中的中间变量;或者通过对离散余弦反变换蝶形结构中的一个或多个输入、中间数据、输出数据进行取反,或/并对离散余弦反变换蝶形结构中的一个或多个减法器用加法器实现,或/并对离散余弦反变换蝶形结构中的一个或多个加法器用减法器实现。
离散余弦反变换蝶形结构中的一个、两个或三个两输入四乘法结构用等价的两输入三乘法结构代替;两输入三乘法结构中的乘法参数由两输入四乘法结构中的乘法参数计算得到;即对于o1=±m1i1±m2i2,o2=±m2i1±m1i2,用o1=±m3i1±m4(i1+i2),o2=±m5i2±m4(i1+i2)代替,其中i1、i2为两输入四乘法结构和两输入三乘法结构的输入,o1、o2为两输入四乘法结构和两输入三乘法结构的输出。
离散余弦反变换蝶形结构中的乘法器参数如下α=cos(3π/8),β=sin(3π/8),γ=cos(5π/16),δ=sin(5π/16),κ=(cos(π/16)-cos(5π/16)),λ=(sin(5π/16)-sin(π/16)),μ=(cos(5π/16)-sin(π/16)),ν=(cos(π/16)+sin(5π/16))。
采用该离散余弦反变换蝶形结构进行一维离散余弦反变换,离散余弦反变换蝶形结构中的乘法器参数为预先设定的参数,使得将离散余弦反变换的输入1×8或8×1矩阵A1i作为离散余弦反变换蝶形结构的输入,离散余弦反变换蝶形结构的输出为1×8或8×1矩阵B1i,矩阵B1i中的元素和对矩阵A1i作一维理论离散余弦反变换得到的1×8或8×1矩阵C1i中的元素的差的绝对值不大于1;
采用该离散余弦反变换蝶形结构进行二维离散余弦反变换,离散余弦反变换蝶形结构中的乘法器参数为预先设定的参数,使得将离散余弦反变换的输入8×8矩阵A2i的行或列依次作为离散余弦反变换蝶形结构的输入,输出作为相应的行或列得到8×8中间矩阵B2i,再将矩阵B2i的列或行依次作为离散余弦反变换蝶形结构的输入,输出作为相应的列或行得到8×8矩阵C2i,矩阵C2i中的元素和对矩阵A2i作二维理论离散余弦反变换得到的8×8矩阵D2i中的元素的差的绝对值不大于1。
采用该离散余弦反变换蝶形结构进行一维离散余弦反变换,离散余弦反变换蝶形结构中的乘法器参数为预先设定的参数,使得离散余弦反变换过程先对输入的1×8或8×1矩阵A1i进行预处理得到1×8或8×1矩阵B1i,将矩阵B1i作为离散余弦反变换蝶形结构的输入,离散余弦反变换蝶形结构的输出为1×8或8×1矩阵C1i,再对矩阵C1i进行后处理得到1×8或8×1矩阵D1i,矩阵D1i中的元素和对A作二维理论离散余弦反变换的结果E1i中的元素的差的绝对值不大于1;采用该离散余弦反变换蝶形结构进行二维离散余弦反变换,离散余弦反变换蝶形结构中的乘法器参数为预先设定的参数,使得离散余弦反变换过程先对输入的8×8矩阵A2i进行预处理得到8×8矩阵B2i,对矩阵B2i的行或列依次作为离散余弦反变换蝶形结构的输入,输出作为相应的行或列得到8×8中间矩阵C2i,再将矩阵C2i的列或行依次作为离散余弦反变换蝶形结构的输入,输出作为相应的列或行得到8×8矩阵D2i;再对矩阵D2i进行后处理得到8×8矩阵E2i,矩阵E2i中的元素和对A2i作二维理论离散余弦反变换的结果F2i中的元素的差的绝对值不大于1。
2、一种运用于图像编码和视频编码的离散余弦变换的方法离散余弦正变换过程采用或包含离散余弦正变换蝶形结构;离散余弦正变换蝶形结构对其输入数据处理的过程由下面或与下面等价的式子表示a0=x0+x7,a7=x0-x7,a1=x1+x6,a6=x1-x6,a2=x2+x5,a5=x2-x5,a3=x3+x4,a4=x3-x4,b0=a0+a3,b3=a0-a3,b1=a1+a2,b2=a1-a2,b4=a4+a6,b5=a5+a7,c0=b0+b1,c1=b0-b1,c2=αb2-βb3,c3=βb2+αb3,c4=κa4+λa7,c7=κa7-λa4,c5=μa5+νa6,c6=μa6-νa5,c8=δb5-γb4,c9=γb5+δb4,y0=c0,y4=c1,y2=c2,y6=c3,y7=c8-c4,y5=c9-c5,y3=c6+c8,y1=c7+c9,其中x0、x1、x2、x3、x4、x5、x6、x7为离散余弦正变换蝶形结构的输入,y0、y1、y2、y3、y4、y5、y6、y7为离散余弦正变换蝶形结构的输出,α、β、κ、λ、μ、ν、δ、γ为离散余弦正变换蝶形结构中预先设定的乘法器参数,a0、a1、a2、a3、a4、a5、a6、a7、b0、b1、b2、b3、b4、b5、c0、c1、c2、c3、c4、c5、c6、c7、c8、c9为离散余弦正变换过程中的中间变量;或者通过对离散余弦正变换蝶形结构中的一个或多个输入、中间数据、输出数据进行取反,或/并对离散余弦正变换蝶形结构中的一个或多个减法器用加法器实现,或/并对离散余弦正变换蝶形结构中的一个或多个加法器用减法器实现。
离散余弦正变换蝶形结构中的一个、两个或三个两输入四乘法结构用两输入三乘法结构代替;两输入三乘法结构中的乘法参数由两输入四乘法结构中的乘法参数计算得到;即对于o1=±m1i1±m2i2,o2=±m2i1±m1i2,用o1=±m3i1±m4(i1+i2),o2=±m5i2±m4(i1+i2)代替,其中i1、i2为两输入四乘法结构和两输入三乘法结构的输入,o1、o2为两输入四乘法结构和两输入三乘法结构的输出。
离散余弦正变换蝶形结构中的乘法器参数如下α=cos(3π/8),β=sin(3π/8),γ=cos(5π/16),δ=sin(5π/16),κ=(cos(π/16)-cos(5π/16)),λ=(sin(5π/16)-sin(π/16)),μ=(cos(5π/16)-sin(π/16)),ν=(cos(π/16)+sin(5π/16))。
采用该离散余弦反变换蝶形结构进行一维离散余弦正变换,离散余弦正变换蝶形结构中的乘法器参数为预先设定的参数,使得将离散余弦正变换的输入1×8或8×1矩阵A1f作为离散余弦反变换蝶形结构的输入,离散余弦反变换蝶形结构的输出为1×8或8×1矩阵B1f,矩阵B1f中的元素和对矩阵A1f作一维理论离散余弦正变换得到的1×8或8×1矩阵C1f中的元素的差的绝对值不大于3;采用该离散余弦反变换蝶形结构进行二维离散余弦正变换,离散余弦正变换蝶形结构中的乘法器参数为预先设定的参数,使得将离散余弦正变换的输入8×8矩阵A2f的行或列依次作为离散余弦反变换蝶形结构的输入,输出作为相应的行或列得到8×8中间矩阵B2f,再将矩阵B2f的列或行依次作为离散余弦正变换蝶形结构的输入,输出作为相应的列或行得到8×8矩阵C2f,矩阵C2f中的元素和对矩阵A2f作二维理论离散余弦正变换得到的8×8矩阵D2f中的元素的差的绝对值不大于3。
采用该离散余弦正变换蝶形结构进行一维离散余弦正变换,离散余弦正变换蝶形结构中的乘法器参数为预先设定的参数,使得离散余弦正变换过程先对输入的1×8或8×1矩阵A1f进行预处理得到1×8或8×1矩阵B1f,将矩阵B1f作为离散余弦正变换蝶形结构的输入,离散余弦正变换蝶形结构的输出为1×8或8×1矩阵C1f,再对矩阵C1f进行后处理得到1×8或8×1矩阵D1f,矩阵D1f中的元素和对A1f作二维理论离散余弦反变换的结果E1f中的元素的差的绝对值不大于3;采用该离散余弦反变换蝶形结构进行二维离散余弦反变换,离散余弦正变换蝶形结构中的乘法器参数为预先设定的参数,使得离散余弦正变换过程先对输入的8×8矩阵A2f进行预处理得到8×8矩阵B2f,对矩阵B2f的行或列依次作为离散余弦正变换蝶形结构的输入,输出作为相应的行或列得到8×8中间矩阵C2f,再将矩阵C2f的列或行依次作为离散余弦正变换蝶形结构的输入,输出作为相应的列或行得到8×8矩阵D2f;再对矩阵D2f进行后处理得到8×8矩阵E2f,矩阵E2f中的元素和对A2f作二维理论离散余弦正变换的结果F2f中的元素的差的绝对值不大于3。
本发明与背景技术相比,具有有益的效果通过采用两输入四乘法结构代替两输入三乘法结构,使得具有相同输入的乘法器能够联合实现,同时,可以把两输入四乘法结构相同的因子提取到蝶形结构外进行预处理或/和后处理,有效地降低了实现离散余弦变换所需的位宽和运算操作次数,而精度和现有技术相当。


图1现有技术采用的离散余弦反变换蝶形结构;图2现有技术采用的离散余弦正变换蝶形结构;图3离散余弦反变换蝶形结构;图4离散余弦正变换蝶形结构;图5实施例5采用的离散余弦反变换蝶形结构;图6实施例6采用的离散余弦正变换蝶形结构;图7两输入四乘法结构;图8两输入三乘法结构。
具体实施例方式
实施例1采用图3所示的离散余弦反变换蝶形结构。
离散余弦反变换过程如下将离散余弦反变换输入8×8矩阵A的行或列依次作为离散余弦反变换蝶形结构的输入,输出作为相应的行或列得到8×8中间矩阵B,再将矩阵B的列或行依次作为离散余弦反变换蝶形结构的输入,输出作为相应的列或行得到8×8输出矩阵C。
图3所示的离散余弦反变换蝶形结构中的乘法器参数如下α=cos(3π/8),β=sin(3π/8),γ=cos(5π/16),δ=sin(5π/16),κ=(cos(π/16)-cos(5π/16)),λ=(sin(5π/16)-sin(π/16)),μ=(cos(5π/16)-sin(π/16)),ν=(cos(π/16)+sin(5π/16)),使得矩阵C中的元素和对A和作二维理论离散余弦反变换的结果D中的元素的差的绝对值不大于1。
实施例2采用图4所示的离散余弦正变换蝶形结构。
离散余弦正变换过程如下将离散余弦正变换输入8×8矩阵A的行或列依次作为离散余弦正变换蝶形结构的输入,输出作为相应的行或列得到8×8中间矩阵B,再将矩阵B的列或行依次作为离散余弦正变换蝶形结构的输入,输出作为相应的列或行得到8×8输出矩阵C。
图4所示的离散余弦正变换蝶形结构中的乘法器参数如下α=cos(3π/8),β=sin(3π/8),γ=cos(5π/16),δ=sin(5π/16),κ=(cos(π/16)-cos(5π/16)),λ=(sin(5π/16)-sin(π/16)),μ=(cos(5π/16)-sin(π/16)),ν=(cos(π/16)+sin(5π/16)),使得矩阵C中的元素和对A和作二维理论离散余弦正变换的结果D中的元素的差的绝对值不大于3。
实施例3采用图3所示的离散余弦反变换蝶形结构。
离散余弦反变换过程如下先对输入8×8矩阵A进行预处理得到8×8矩阵B。预处理过程如下B(i,j)=A(i,j)×S(i,j)0≤i,j≤7。矩阵S定义如下S=abcdabcdbdfdbdfdcfefcfefbdfdbdfdabcdabcdbdfdbdfdcfefcfefbdfdbdfd]]>其中a=1024,b=979,c=1525,d=936,e=2271,f=1458。然后将8×8矩阵B的行或列依次作为离散余弦反变换蝶形结构的输入,输出作为相应的行或列得到8×8矩阵C,再将8×8矩阵C的列或行依次作为离散余弦反变换蝶形结构的输入,输出作为相应的列或行得到8×8矩阵D,再对8×8矩阵D进行后处理得到8×8输出矩阵E,后处理过程如下E(i,j)=(D(i,j)+4096)>>130≤i,j≤7。
图3所示的离散余弦反变换蝶形结构中的乘法器参数如下α=5954/16384,β=14374/16384,γ=13464/16384,δ=20151/16384,κ=10306/16384,λ=15423/16384,μ=8736/16384,ν=43921/16384,使得矩阵E中的元素和对A和作二维理论离散余弦反变换的结果F中的元素的差的绝对值不大于1。
实施例4采用图4所示的离散余弦正变换蝶形结构。
离散余弦正变换过程如下先对输入8×8矩阵A进行预处理得到8×8矩阵B。预处理过程如下B(i,j)=A(i,j)×S(i,j)0≤i,j≤7。矩阵S定义如下S=abcdabcdbdfdbdfdcfefcfefbdfdbdfdabcdabcdbdfdbdfdcfefcfefbdfdbdfd]]>其中a=1024,b=979,c=1525,d=936,e=2271,f=1458。然后将8×8矩阵B的行或列依次作为离散余弦正变换蝶形结构的输入,输出作为相应的行或列得到8×8矩阵C,再将8×8矩阵C的列或行依次作为离散余弦正变换蝶形结构的输入,输出作为相应的列或行得到8×8矩阵D,再对8×8矩阵D进行后处理得到8×8输出矩阵E,后处理过程如下E(i,j)=(D(i,j)+4096)>>13 0≤i,j≤7。
图4所示的离散余弦正变换蝶形结构中的乘法器参数如下α=5954/16384,β=14374/16384,γ=13464/16384,δ=20151/16384,κ=10306/16384,λ=15423/16384,μ=8736/16384,ν=43921/16384,使得矩阵E中的元素和对A和作二维理论离散余弦正变换的结果F中的元素的差的绝对值不大于3。
实施例5采用图5所示的离散余弦反变换蝶形结构,和图3中的离散余弦反变换蝶形结构相比,它用等价的三个两输入三乘法结构代替了三个两输入四乘法结构。
离散余弦反变换过程如下
先对输入8×8矩阵A进行预处理得到8×8矩阵B,预处理过程如下B(i,j)=A(i,j)<<100≤i,j≤7。然后将8×8矩阵B的行或列依次作为离散余弦反变换蝶形结构的输入,输出作为相应的行或列得到8×8矩阵C,再将8×8矩阵C的列或行依次作为离散余弦反变换蝶形结构的输入,输出作为相应的列或行得到8×8矩阵D,再对8×8矩阵D进行后处理得到8×8输出矩阵E,后处理过程如下E(i,j)=(D(i,j)+4096)>>130≤i,j≤7。
图5所示的离散余弦反变换蝶形结构中的乘法器参数如下e0=-15136/8192,e1=4433/8192,e2=6270/8192,d0=2446/8192,d1=4176/8192,d2=-20996/8192,d3=12300/8192,d4=-7373/8192,d6=-16069/8192,d7=-3197/8192,d8=9633/8192,使得矩阵E中的元素和对A和作二维理论离散余弦反变换的结果F中的元素的差的绝对值不大于1。
实施例6采用图6所示的离散余弦正变换蝶形结构,和图4中的离散余弦正变换蝶形结构相比,它用等价的三个两输入三乘法结构代替了三个两输入四乘法结构。
离散余弦正变换过程如下先对输入8×8矩阵A进行预处理得到8×8矩阵B,预处理过程如下B(i,j)=A(i,j)<<100≤i,j≤7。然后将8×8矩阵B的行或列依次作为离散余弦正变换蝶形结构的输入,输出作为相应的行或列得到8×8矩阵C,再将8×8矩阵C的列或行依次作为离散余弦正变换蝶形结构的输入,输出作为相应的列或行得到8×8矩阵D,再对8×8矩阵D进行后处理得到8×8输出矩阵E,后处理过程如下E(i,j)=(D(i,j)+4096)>>130≤i,j≤7。
图6所示的离散余弦正变换蝶形结构中的乘法器参数如下e0=-15136/8192,e1=4433/8192,e2=6270/8192,d0=2446/8192,d1=4176/8192,d2=-20996/8192,d3=12300/8192,d4=-7373/8192,d6=-16069/8192,d7=-3197/8192,d8=9633/8192,使得矩阵E中的元素和对A和作二维理论离散余弦正变换的结果F中的元素的差的绝对值不大于3。
上述实施例用来解释说明本发明,而不是对本发明进行限制,在本发明的精神和权利要求的保护范围内,对本发明作出的任何修改和改变,都落入本发明的保护范围。
权利要求
1.一种运用于图像编码和视频编码的离散余弦变换的方法,其特征在于离散余弦反变换过程采用或包含离散余弦反变换蝶形结构;离散余弦反变换蝶形结构对其输入数据处理的过程由下面或与下面等价的式子表示a0=y7+y3,a1=y5+y1,b0=y0+y4,b1=y0-y4,b2=αy2-βy6,b3=βy2+αy6,b4=κy7+λy1,b7=κy1-λy7,b5=μy5+vy3,b6=μy3-vy5,b8=δa1-γa0,b9=δa0+γa1,c0=b0+b3,c3=b0-b3,c1=b1+b2,c2=b1-b2,c4=b8-b4,c5=b9-b5,c6=b6+b8,c7=b7+b9,x0=c0+c7,x7=c0-c7,x1=c1+c6,x6=c1-c6,x2=c2+c5,x5=c2-c5,x3=c3+c4,x4=c3-c4,其中y0、y1、y2、y3、y4、y5、y6、y7为离散余弦反变换蝶形结构的输入,x0、x1、x2、x3、x4、x5、x6、x7为离散余弦反变换蝶形结构的输出,α、β、κ、λ、μ、v、δ、γ为离散余弦反变换蝶形结构中预先设定的乘法器参数,a0、a1、b0、b1、b2、b3、b4、b5、b6、b7、b8、b9、c0、c1、c2、c3、c4、c5、c6、c7为离散余弦反变换蝶形结构中的中间变量;或者通过对离散余弦反变换蝶形结构中的一个或多个输入、中间数据、输出数据进行取反,或/并对离散余弦反变换蝶形结构中的一个或多个减法器用加法器实现,或/并对离散余弦反变换蝶形结构中的一个或多个加法器用减法器实现。
2.根据权利要求1中所述的运用于图像编码和视频编码的离散余弦变换的方法,其特征在于离散余弦反变换蝶形结构中的一个、两个或三个两输入四乘法结构用等价的两输入三乘法结构代替;两输入三乘法结构中的乘法参数由两输入四乘法结构中的乘法参数计算得到;即对于o1=±m1i1±m2i2,o2=±m2i1±m1i2,用o1=±m3i1±m4(i1+i2),o2=±m5i2±m4(i1+i2)代替,其中i1、i2为两输入四乘法结构和两输入三乘法结构的输入,o1、o2为两输入四乘法结构和两输入三乘法结构的输出。
3.根据权利要求1中所述的运用于图像编码和视频编码的离散余弦变换的方法,其特征在于还包括离散余弦反变换蝶形结构中的乘法器参数如下α=cos(3π/8),β=sin(3π/8),γ=cos(5π/16),δ=sin(5π/16),κ=(cos(π/16)-cos(5π/16)),λ=(sin(5π/16)-sin(π/16)),μ=(cos(5π/16)-sin(π/16)),ν=(cos(π/16)+sin(5π/16))。
4.根据权利要求1中所述的运用于图像编码和视频编码的离散余弦变换的方法,其特征在于还包括采用该离散余弦反变换蝶形结构进行一维离散余弦反变换,离散余弦反变换蝶形结构中的乘法器参数为预先设定的参数,使得将离散余弦反变换的输入1×8或8×1矩阵A1i作为离散余弦反变换蝶形结构的输入,离散余弦反变换蝶形结构的输出为1×8或8×1矩阵B1i,矩阵b1i中的元素和对矩阵A1i作一维理论离散余弦反变换得到的1×8或8×1矩阵C1i中的元素的差的绝对值不大于1;采用该离散余弦反变换蝶形结构进行二维离散余弦反变换,离散余弦反变换蝶形结构中的乘法器参数为预先设定的参数,使得将离散余弦反变换的输入8×8矩阵A2i的行或列依次作为离散余弦反变换蝶形结构的输入,输出作为相应的行或列得到8×8中间矩阵B2i,再将矩阵B2i的列或行依次作为离散余弦反变换蝶形结构的输入,输出作为相应的列或行得到8×8矩阵c2i,矩阵C2i中的元素和对矩阵A2i作二维理论离散余弦反变换得到的8×8矩阵D2i中的元素的差的绝对值不大于1。
5.根据权利要求1中所述的运用于图像编码和视频编码的离散余弦变换的方法,其特征在于还包括采用该离散余弦反变换蝶形结构进行一维离散余弦反变换,离散余弦反变换蝶形结构中的乘法器参数为预先设定的参数,使得离散余弦反变换过程先对输入的1×8或8×1矩阵A1i进行预处理得到1×8或8×1矩阵B1i,将矩阵B1i作为离散余弦反变换蝶形结构的输入,离散余弦反变换蝶形结构的输出为1×8或8×1矩阵C1i,再对矩阵C1i进行后处理得到1×8或8×1矩阵D1i,矩阵D1i中的元素和对A作二维理论离散余弦反变换的结果E1i中的元素的差的绝对值不大于1;采用该离散余弦反变换蝶形结构进行二维离散余弦反变换,离散余弦反变换蝶形结构中的乘法器参数为预先设定的参数,使得离散余弦反变换过程先对输入的8×8矩阵A2i进行预处理得到8×8矩阵B2i,对矩阵B2i的行或列依次作为离散余弦反变换蝶形结构的输入,输出作为相应的行或列得到8×8中间矩阵C2i,再将矩阵C2i的列或行依次作为离散余弦反变换蝶形结构的输入,输出作为相应的列或行得到8×8矩阵C2i;再对矩阵D2i进行后处理得到8×8矩阵E2i,矩阵E2i中的元素和对A2i作二维理论离散余弦反变换的结果F2i中的元素的差的绝对值不大于1。
6.一种运用于图像编码和视频编码的离散余弦变换的方法,其特征在于离散余弦正变换过程采用或包含离散余弦正变换蝶形结构;离散余弦正变换蝶形结构对其输入数据处理的过程由下面或与下面等价的式子表示a0=x0+x7,a7=x0-x7,a1=x1+x6,a6=x1-x6,a2=x2+x5,a5=x2-x5,a3=x3+x4,a4=x3-x4,b0=a0+a3,b3=a0-a3,b1=a1+a2,b2=a1-a2,b4=a4+a6,b5=a5+a7,c0=b0+b1,c1=b0-b1,c2=αb2-βb3,c3=βb2+αb3,c4=κa4+λa7,c7=κa7-λa4,c5=μa5+νa6,c6=μa6-νa5,c8=δb5-γb4,c9=γb5+δb4,y0=c0,y4=c1,y2=c2,y6=c3,y7=c8-c4,y5=c9-c5,y3=c6+c8,y1=c7+y9,其中x0、x1、x2、x3、x4、x5、x6、x7为离散余弦正变换蝶形结构的输入,y0、y1、y2、y3、y4、y5、y6、y7为离散余弦正变换蝶形结构的输出,α、β、κ、λ、μ、ν、δ、γ为离散余弦正变换蝶形结构中预先设定的乘法器参数,a0、a1、a2、a3、a4、a5、a6、a7、b0、b1、b2、b3、b4、b5、c0、c1、c2、c3、c4、c5、c6、c7、c8、c9为离散余弦正变换过程中的中间变量;或者通过对离散余弦正变换蝶形结构中的一个或多个输入、中间数据、输出数据进行取反,或/并对离散余弦正变换蝶形结构中的一个或多个减法器用加法器实现,或/并对离散余弦正变换蝶形结构中的一个或多个加法器用减法器实现。
7.根据权利要求6中所述的运用于图像编码和视频编码的离散余弦变换的方法,其特征在于离散余弦正变换蝶形结构中的一个、两个或三个两输入四乘法结构用两输入三乘法结构代替;两输入三乘法结构中的乘法参数由两输入四乘法结构中的乘法参数计算得到;即对于o1=±m1i1±m2i2,o2=±m2i1±m1i2,用o1=±m3i1±m4(i1+i2),o2=±m5i2±m4(i1+i2)代替,其中i1、i2为两输入四乘法结构和两输入三乘法结构的输入,o1、o2为两输入四乘法结构和两输入三乘法结构的输出。
8.根据权利要求6中所述的运用于图像编码和视频编码的离散余弦变换的方法,其特征在于还包括离散余弦正变换蝶形结构中的乘法器参数如下α=cos(3π/8),β=sin(3π/8),γ=cos(5π/16),δ=sin(5π/16),κ=(cos(π/16)-cos(5π/16)),λ=(sin(5π/16)-sin(π/16)),μ=(cos(5π/16)-sin(π/16)),ν=(cos(π/16)+sin(5π/16))。
9.根据权利要求6中所述的运用于图像编码和视频编码的离散余弦变换的方法,其特征在于还包括采用该离散余弦反变换蝶形结构进行一维离散余弦正变换,离散余弦正变换蝶形结构中的乘法器参数为预先设定的参数,使得将离散余弦正变换的输入1×8或8×1矩阵A1f作为离散余弦反变换蝶形结构的输入,离散余弦反变换蝶形结构的输出为1×8或8×1矩阵B1f,矩阵B1f中的元素和对矩阵A1f作一维理论离散余弦正变换得到的1×8或8×1矩阵C1f中的元素的差的绝对值不大于3;采用该离散余弦反变换蝶形结构进行二维离散余弦正变换,离散余弦正变换蝶形结构中的乘法器参数为预先设定的参数,使得将离散余弦正变换的输入8×8矩阵A2f的行或列依次作为离散余弦反变换蝶形结构的输入,输出作为相应的行或列得到8×8中间矩阵B2f,再将矩阵B2f的列或行依次作为离散余弦正变换蝶形结构的输入,输出作为相应的列或行得到8×8矩阵C2f,矩阵C2f中的元素和对矩阵A2f作二维理论离散余弦正变换得到的8×8矩阵D2f中的元素的差的绝对值不大于3。
10.根据权利要求6中所述的运用于图像编码和视频编码的离散余弦变换的方法,其特征在于还包括采用该离散余弦正变换蝶形结构进行一维离散余弦正变换,离散余弦正变换蝶形结构中的乘法器参数为预先设定的参数,使得离散余弦正变换过程先对输入的1×8或8×1矩阵A1f进行预处理得到1×8或8×1矩阵B1f,将矩阵B1f作为离散余弦正变换蝶形结构的输入,离散余弦正变换蝶形结构的输出为1×8或8×1矩阵C1f,再对矩阵C1f进行后处理得到1×8或8×1矩阵D1f,矩阵D1f中的元素和对A1f作二维理论离散余弦反变换的结果E1f中的元素的差的绝对值不大于3;采用该离散余弦反变换蝶形结构进行二维离散余弦反变换,离散余弦正变换蝶形结构中的乘法器参数为预先设定的参数,使得离散余弦正变换过程先对输入的8×8矩阵A2f进行预处理得到8×8矩阵B2f,对矩阵B2f的行或列依次作为离散余弦正变换蝶形结构的输入,输出作为相应的行或列得到8×8中间矩阵C2f,再将矩阵C2f的列或行依次作为离散余弦正变换蝶形结构的输入,输出作为相应的列或行得到8×8矩阵D2f;再对矩阵D2f进行后处理得到8×8矩阵E2f,矩阵E2f中的元素和对A2f作二维理论离散余弦正变换的结果F2f中的元素的差的绝对值不大于3。
全文摘要
本发明公开了一种运用于图像编码和视频编码的离散余弦变换的方法。该方法通过采用两输入四乘法结构代替两输入三乘法结构,使得具有相同输入的乘法器能够联合实现,同时,可以把两输入四乘法结构相同的因子提取到蝶形结构外进行预处理或/和后处理,有效地降低了实现离散余弦变换所需的位宽和运算操作次数,而精度和现有技术相当。本发明可以用于图像编码和视频编码相关的领域中。
文档编号H04N7/30GK1889690SQ20061005241
公开日2007年1月3日 申请日期2006年7月12日 优先权日2006年7月12日
发明者虞露, 张赐勋 申请人:浙江大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1