一种基于能量剩余的部分dct变换方法和装置的制造方法

文档序号:10539317阅读:230来源:国知局
一种基于能量剩余的部分dct变换方法和装置的制造方法
【专利摘要】本发明实施例提供了一种基于能量剩余的部分DCT变换方法和装置,该方法包括:针对输入的二维补偿残差块矩阵通过计算得到残差块总能量;将二维补偿残差块矩阵从左上方开始依次划分为由小到大变化的若干个预定块区域;按照预定块区域由小到大的顺序,动态计算二维补偿残差块矩阵中预定块区域的DCT系数及与DCT系数对应的能量;将残差块总能量和计算得到的当前预定块区域的DCT系数对应的能量作减法运算,得到能量差值;当能量差值小于与当前预定块区域对应的预设阈值时,则终止计算其余预定块区域的DCT系数。本发明能够简化DCT变换,并降低图像和视频编码过程中变换本身带来的计算复杂度,提高编码效率。
【专利说明】
一种基于能量剩余的部分DCT变换方法和装置
技术领域
[0001] 本发明涉及视频编码领域,特别是涉及一种基于能量剩余的部分DCT变换方法和 一种基于能量剩余的部分DCT变换装置。
【背景技术】
[0002] 随着高分辨率拍摄设备的普及,互联网视频量也在急速增长。为了高效的存储和 传输高清视频,视频编码领域已经采用具有更高压缩编码效率的新一代视频编码标准 HEVC/H. 265。该标准HEVC/H. 265相比上一代标准Η. 264,具有更多的编码模式选择,同时,这 也会给视频编码带来不小的压力。
[0003] 具体而言,在现有技术中,在对图像数据进行离散余弦变换(DCT,DisCrete Cosine Transform)时,需要对二维图像数据的每个坐标都做DCT系数的计算处理,这样,不 仅增加了计算机的计算量,还加大了计算复杂度。那么当视频编码面向HEVC/H.265标准时, DCT变换所带来的上述问题将变得更加突出,从而降低视频的编码效率。
[0004] 由此可见,现有技术中的DCT变换方法在应用到HEVC/H. 265标准时,存在着视频编 码计算量大、复杂度高、编码效率低的问题。

【发明内容】

[0005] 本发明实施例所要解决的技术问题是提供一种基于能量剩余的部分DCT变换方法 和装置,以解决现有的DCT变换方法所存在的视频编码计算量大、复杂度高、编码效率低的 问题。
[0006] 为了解决上述问题,根据本发明的一个方面,本发明公开了一种基于能量剩余的 部分DCT变换方法,包括:
[0007] 针对输入的二维补偿残差块矩阵通过计算得到残差块总能量;
[0008] 将二维补偿残差块矩阵从左上方开始依次划分为由小到大变化的若干个预定块 区域;
[0009] 按照预定块区域由小到大的顺序,动态计算二维补偿残差块矩阵中预定块区域的 DCT系数及与DCT系数对应的能量;
[0010] 将所述残差块总能量和计算得到的当前预定块区域的DCT系数对应的能量作减法 运算,得到能量差值;
[0011]当所述能量差值小于与所述当前预定块区域对应的预设阈值时,则终止计算其余 预定块区域的DCT系数。
[0012] 根据本发明的另一方面,本发明还公开了一种基于能量剩余的部分DCT变换装置, 包括:
[0013] 第一计算模块,用于针对输入的二维补偿残差块矩阵通过计算得到残差块总能 量;
[0014] 划分模块,用于将二维补偿残差块矩阵从左上方开始依次划分为由小到大变化的 若干个预定块区域;
[0015] 第二计算模块,用于按照预定块区域由小到大的顺序,动态计算二维补偿残差块 矩阵中预定块区域的DCT系数及与DCT系数对应的能量;
[0016] 第三计算模块,用于将所述残差块总能量和计算得到的当前预定块区域的DCT系 数对应的能量作减法运算,得到能量差值;
[0017] 终止模块,用于当所述能量差值小于与所述当前预定块区域对应的预设阈值时, 则终止计算其余预定块区域的DCT系数。
[0018] 与现有技术相比,本发明实施例包括以下优点:
[0019]本发明实施例能够仅通过计算二维补偿残差块的左上部分区域的DCT系数以及对 应的能量,并根据能量差值来决定是否需要计算剩余补偿残差块部分的DCT系数。从而能够 简化DCT变换,并极大的降低了图像和视频编码过程中DCT变换本身带来的计算复杂度,提 高编码效率。并且,每个不同大小的预定块区域分别对应不同的预设阈值,从而能够在动态 计算预定块区域的能量后,在进行能量差值的比较时也能够根据当前的预定块区域来灵活 调整相应的预设阈值,从而进一步简化能量计算步骤,提高变换效率。
[0020]此外,本发明实施例还能够对于某一个的帧内或帧间补偿残差块按照矩阵的阶数 由大到小划分为多个2a*2bM的预定块区域矩阵阶。再按照阶数由小到大的顺序灵活计算左 上方的预定块区域矩阵的DCT系数,减少对剩余预定块区域矩阵的DCT系数计算,降低计算 复杂度。
【附图说明】
[0021 ]图1是本发明的一种基于能量剩余的部分DCT变换方法实施例的步骤流程图;
[0022] 图2是本发明的另一种基于能量剩余的部分DCT变换方法实施例的步骤流程图;
[0023] 图3是本发明的一种基于能量剩余的部分DCT变换装置实施例的结构框图。
【具体实施方式】
[0024] 为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实 施方式对本发明作进一步详细的说明。
[0025] 本发明实施例的核心构思之一在于,本发明能够仅通过计算二维补偿残差块的左 上部分区域的DCT系数以及对应的能量,并根据能量差值来决定是否需要计算剩余补偿残 差块部分的DCT系数。从而能够简化DCT变换,并极大的降低了图像和视频编码过程中DCT变 换本身带来的计算复杂度,提高编码效率。并且,每个不同大小的预定块区域分别对应不同 的预设阈值,从而能够在动态计算预定块区域的能量后,在进行能量差值的比较时也能够 根据当前的预定块区域来灵活调整相应的预设阈值,从而进一步简化能量计算步骤,提高 变换效率。
[0026]参照图1,示出了本发明的一种基于能量剩余的部分DCT变换方法实施例的步骤流 程图,具体可以包括如下步骤:
[0027] 步骤101,针对输入的二维补偿残差块矩阵通过计算得到残差块总能量;
[0028] 其中,对于输入的二维补偿残差块矩阵,可以通过计算矩阵中每个元素的能量来 得到残差块总能量。
[0029] 步骤103,将二维补偿残差块矩阵从左上方开始依次划分为由小到大变化的若干 个预定块区域;
[0030] 其中,可以将二维补偿残差块从左上方开始依次划分为由小到大变化的若干个预 定块区域。
[0031] 步骤105,按照预定块区域由小到大的顺序,动态计算二维补偿残差块矩阵中预定 块区域的DCT系数及与DCT系数对应的能量;
[0032] 其中,由于补偿残差块的能量主要集中在矩阵的左上方,因此,为了简化补偿残差 块的DCT系数的计算,减少DCT变换,可以按照预定块区域由小到大的顺序,动态计算该二维 补偿残差块矩阵中预定块区域的DCT系数,以及该DCT系数对应的能量。
[0033] 步骤107,将所述残差块总能量和计算得到的当前预定块区域的DCT系数对应的能 量作减法运算,得到能量差值;
[0034] 步骤109,当能量差值小于与当前预定块区域对应的预设阈值时,则终止计算其余 预定块区域的DCT系数。
[0035] 其中,可以将该能量差值与当前预定块区域对应的预设阈值作比较,在该能量差 值小于该预设阈值时,则不再计算其余之前划分的预定块区域的DCT系数。
[0036] 借助于本发明上述实施例的技术方案,本发明实施例能够只计算二维补偿残差块 的左上部分区域的DCT系数以及对应的能量,并根据能量差值,即剩余未计算能量来决定是 否需要计算剩余补偿残差块部分的DCT系数,从而能够简化DCT变换,并极大的降低了图像 和视频编码过程中变换本身带来的计算复杂度,提高编码效率。并且,每个不同大小的预定 块区域分别对应不同的预设阈值,从而能够在动态计算预定块区域的能量后,在进行能量 差值的比较时也能够根据当前的预定块区域来灵活调整相应的预设阈值,从而进一步简化 能量计算步骤,提高变换效率。
[0037] 参照图2,示出了本发明的另一种基于能量剩余的部分DCT变换方法实施例的步骤 流程图,具体可以包括如下步骤:
[0038]步骤201,针对输入的二维补偿残差块矩阵通过计算得到残差块总能量;
[0039] 其中,该二维补偿残差块可以是帧内补偿残差块,也可以是帧间补偿残差块。
[0040] 步骤203,将2m*2n阶的补偿残差块矩阵从左上方开始依次划分为阶数由小到大变 化的若干个2 a*2b阶的预定块区域矩阵,其中,m、n、a、b均为大于0的正整数,并且,a〈m,b〈n;
[0041] 其中,该二维补偿残差块矩阵的行和列的数目均为2次幂,并且,在划分预定块区 域矩阵时,矩阵的行和列的数目均是由小到大变化的,即,a和b的取值均是由小到大变化 的;并且,a和b的变化趋势可以相同或不同(例如a的值按照每次加1的如下方式变化:1,2, 3;b的值按照每次加2的如下方式变化:1,3,5,此时a和b的变化趋势不同);并且,m和η可以 相同或不同,a和b可以相同或不同。
[0042]步骤205,按照预定块区域矩阵的阶数由小到大的顺序,动态计算2m*2n阶的补偿残 差块矩阵中预定块区域矩阵的DCT系数及与DCT系数对应的能量;
[0043]其中,由于2m*2n阶的补偿残差块矩阵的左上方的坐标较小,而补偿残差块的能量 主要集中在坐标较小的区域,这里以矩阵的阶数由小到大的顺序,对预定块区域矩阵的DCT 系数以及对应的能量作动态计算,能够减少DCT系数和对应能量的计算量;
[0044]并且,在按照矩阵的阶数由小到大的顺序进行预定块区域矩阵的DCT系数计算时, 并非一定依次按照预定块区域矩阵的划分结果,从最小阶数算起,具体从哪个阶数的预定 块区域矩阵开始算起,可以基于m和η的大小来决定。如果m、n的值较大(例如m和η均为5),贝1J 可以从23*23阶的预定块区域开始计算DCT系数,无需从21*〗 1阶的预定块区域开始DCT系数 的计算,以此减少DCT变换次数。
[0045]步骤207,将所述残差块总能量和计算得到的当前预定块区域的DCT系数对应的能 量作减法运算,得到能量差值;
[0046]步骤209,当能量差值小于与当前预定块区域矩阵对应的预设阈值时,则终止计算 其余预定块区域矩阵的DCT系数;
[0047]其中,该预设阈值可包括量化参数C1P。
[0048] 步骤211,当能量差值大于或等于与当前预定块区域矩阵对应的预设阈值时,则按 照预定块区域矩阵的阶数由小到大的顺序,继续计算其余预定块区域矩阵的DCT系数及与 DCT系数对应的能量。
[0049] 其中,如果能量差值大于或等于与当前22*〗1阶预定块区域矩阵对应的预设阈值 时,则可以继续计算2 3*22阶预定块区域矩阵的DCT系数以及对应的能量。
[0050] 借助于本发明上述实施例的技术方案,本发明能够对于某一个的帧内或帧间补偿 残差块按照矩阵的阶数由大到小划分为多个2a*2 bM的预定块区域矩阵阶。再按照阶数由小 到大的顺序灵活计算左上方的预定块区域矩阵的DCT系数,减少对剩余预定块区域矩阵的 DCT系数计算,降低计算复杂度。
[0051] 为了更好的理解本发明上述实施例的技术方案,下面以编码标准H.265中的32x32 的补偿残差块来说明本发明实施例的基于能量剩余的部分DCT变换方法,具体包括以下步 骤:
[0052]对于一个32x32阶的残差块diff(x,y),首先计算这个残差块的能量和
[0053] 然后,对该32x32阶的残差块diff(x,y)执行部分DCT变换,这里只计算左上8x8块 的DCT系数dct(x,y);
[0054] 接着,计算左上8x8阶残差块DCT系数的能量和
,然后 计算能量差值E32-Ed8,如果能量差值满足公式E32-Ed8<a X qpz( 1),则终止剩余残差块区域 的DCT系数的计算;
[0055] 其中a是一个固定的常数与当前计算的残差块的阶数相关,qp是指真实的量化参 数,因为编码标准H. 264和H. 265中都是用的qp索引,所以要对其进行变换以得到真实的qp。 上面所述终止剩余残差块区域的DCT系数的计算就是说,剩余的系数位置的DCT系数能量已 经很小,在某一个qp下其量化DCT非零系数数目为零。
[0056]如果公式(1)不成立,那么则继续计算左上16x16阶残差块的DCT系数的能量和
,:然后计算能量差值E32-Edl6,如果能量差值满足公式E32-Edl6 <i3Xqp2(2),则终止剩余残差块区域的DCT系数的计算;
[0057]其中β是一个固定的常数,与当前计算的残差块的阶数相关。
[0058]如果公式(2)也不成立,那么则计算全部32x32阶残差块的DCT系数。
[0059]在本实施例中,仅示意了32x32阶的补偿残差块的部分DCT变换方法,而对于16x16 阶或是8x8阶补偿残差块则方法类似,在此不再赘述。
[0060] 其中,16x16阶补偿残差块可以首先考虑计算左上4x4阶预定块区域的DCT系数和 该DCT系数的能量,如果不满足对应的公式;然后再计算左上8x8阶预定块区域的DCT系数和 该DCT系数的能量,直到能量差值满足当前预定块区域对应的预定阈值为止;而8x8阶补偿 残差块,由于阶数较小,则可以从2x2阶预定块区域的DCT系数开始计算,以此类推,不再赘 述。
[0061] 借助于本发明上述实施例的技术方案,本发明能够对任意一个阶数的帧内或帧间 补偿残差块,按照阶数由小到大的顺序灵活计算左上方的不同阶数的预定块区域矩阵的 DCT系数和对应能量,减少对剩余预定块区域矩阵的DCT系数计算,降低计算复杂度。
[0062]需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组 合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依 据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该 知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施 例所必须的。
[0063]参照图3,示出了本发明一种基于能量剩余的部分DCT变换装置实施例的结构框 图,具体可以包括如下模块:
[0064] 第一计算模块31,用于针对输入的二维补偿残差块矩阵通过计算得到残差块总能 量;
[0065] 划分模块32,用于将二维补偿残差块矩阵从左上方开始依次划分为由小到大变化 的若干个预定块区域;
[0066]第二计算模块33,用于按照预定块区域由小到大的顺序,动态计算二维补偿残差 块矩阵中预定块区域的DCT系数及与DCT系数对应的能量;
[0067]第三计算模块34,用于将所述残差块总能量和计算得到的当前预定块区域的DCT 系数对应的能量作减法运算,得到能量差值;
[0068]终止模块35,用于当能量差值满足预设终止条件时,则终止计算其余预定块区域 的DCT系数。
[0069]借助于本发明上述实施例的技术方案,本发明能够仅通过计算二维补偿残差块的 左上部分区域的DCT系数以及对应的能量,并根据能量差值来决定是否需要计算剩余补偿 残差块部分的DCT系数。从而能够简化DCT变换,并极大的降低了图像和视频编码过程中DCT 变换本身带来的计算复杂度,提高编码效率。并且,每个不同大小的预定块区域分别对应不 同的预设阈值,从而能够在动态计算预定块区域的能量后,在进行能量差值的比较时也能 够根据当前的预定块区域来灵活调整相应的预设阈值,从而进一步简化能量计算步骤,提 高变换效率。
[0070] 此外,在另一个实施例中,图3所示的划分模块32,还用于将2?*2"阶的补偿残差块 矩阵从左上方开始依次划分为阶数由小到大变化的若干个2 a*2b阶的预定块区域矩阵,其 中,m、n、a、b均为大于0的正整数,并且,a〈m,b〈n;
[0071] 并且,图3所示的第二计算模块33,还用于在能量差值大于或等于与当前预定块区 域对应的预设阈值时,则按照预定块区域由小到大的顺序,继续计算其余预定块区域的DCT 系数及与DCT系数对应的能量。
[0072]其中,预设阈值包括量化参数。
[0073]此外,该二维补偿残差块可以是帧内补偿残差块,也可以是帧间补偿残差块。
[0074]借助于本发明上述实施例的技术方案,本发明能够对于某一个的帧内或帧间补偿 残差块按照矩阵的阶数由大到小划分为多个2a*2bM的预定块区域矩阵阶。再按照阶数由小 到大的顺序灵活计算左上方的预定块区域矩阵的DCT系数,减少对剩余预定块区域矩阵的 DCT系数计算,降低计算复杂度。
[0075] 对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关 之处参见方法实施例的部分说明即可。
[0076] 本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与 其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
[0077] 本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算 机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和 硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可 用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上 实施的计算机程序产品的形式。
[0078] 本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序 产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图 中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些 计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设 备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执 行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中 指定的功能的装置。
[0079] 这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备 以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包 括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方 框或多个方框中指定的功能。
[0080] 这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得 在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在 计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程 和/或方框图一个方框或多个方框中指定的功能的步骤。
[0081] 尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基 本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为 包括优选实施例以及落入本发明实施例范围的所有变更和修改。
[0082] 最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将 一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作 之间存在任何这种实际的关系或者顺序。而且,术语"包括"、"包含"或者其任何其他变体意 在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包 括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品 或者终端设备所固有的要素。在没有更多限制的情况下,由语句"包括一个……"限定的要 素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
[0083]以上对本发明所提供的一种基于能量剩余的部分DCT变换方法和一种基于能量剩 余的部分DCT变换装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方 式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对 于本领域的一般技术人员,依据本发明的思想,在【具体实施方式】及应用范围上均会有改变 之处,综上所述,本说明书内容不应理解为对本发明的限制。
【主权项】
1. 一种基于能量剩余的部分DCT变换方法,其特征在于,包括: 针对输入的二维补偿残差块矩阵通过计算得到残差块总能量; 将所述二维补偿残差块矩阵从左上方开始依次划分为由小到大变化的若干个预定块 区域; 按照所述预定块区域由小到大的顺序,动态计算所述二维补偿残差块矩阵中所述预定 块区域的DCT系数及与所述DCT系数对应的能量; 将所述残差块总能量和计算得到的当前预定块区域的DCT系数对应的能量作减法运 算,得到能量差值; 当所述能量差值小于与所述当前预定块区域对应的预设阈值时,则终止计算其余预定 块区域的DCT系数。2. 根据权利要求1所述的方法,其特征在于,所述将所述二维补偿残差块矩阵从左上方 开始依次划分为由小到大变化的若干个预定块区域的步骤包括: 将2m*2n阶的所述补偿残差块矩阵从左上方开始依次划分为阶数由小到大变化的若干 个2a*2b阶的所述预定块区域矩阵,其中,m、n、a、b均为大于O的正整数,并且,a〈m,b〈n。3. 根据权利要求1所述的方法,其特征在于,所述方法还包括: 当所述能量差值大于或等于与所述当前预定块区域对应的预设阈值时,则按照所述预 定块区域由小到大的顺序,继续计算其余预定块区域的DCT系数及与所述DCT系数对应的能 量。4. 根据权利要求1-3任一项所述的方法,其特征在于,所述预设阈值包括量化参数。5. 根据权利要求1-3任一项所述的方法,其特征在于,所述二维补偿残差块包括:帧内 补偿残差块、帧间补偿残差块。6. -种基于能量剩余的部分DCT变换装置,其特征在于,包括: 第一计算模块,用于针对输入的二维补偿残差块矩阵通过计算得到残差块总能量; 划分模块,用于将所述二维补偿残差块矩阵从左上方开始依次划分为由小到大变化的 若干个预定块区域; 第二计算模块,用于按照所述预定块区域由小到大的顺序,动态计算所述二维补偿残 差块矩阵中所述预定块区域的DCT系数及与所述DCT系数对应的能量; 第三计算模块,用于将所述残差块总能量和计算得到的当前预定块区域的DCT系数对 应的能量作减法运算,得到能量差值; 终止模块,用于当所述能量差值满足预设终止条件时,则终止计算其余预定块区域的 DCT系数。7. 根据权利要求6所述的装置,其特征在于,所述划分模块,用于将2m*2n阶的所述补偿 残差块矩阵从左上方开始依次划分为阶数由小到大变化的若干个2 a*2b阶的所述预定块区 域矩阵,其中,m、n、a、b均为大于O的正整数,并且,a〈m,b〈n。8. 根据权利要求6所述的装置,其特征在于,所述第二计算模块,还用于当所述能量差 值大于或等于与所述当前预定块区域对应的所述预设阈值时,则按照所述预定块区域由小 到大的顺序,继续计算其余预定块区域的DCT系数及与所述DCT系数对应的能量。9. 根据权利要求6-8任一项所述的装置,其特征在于,所述预设阈值包括量化参数。10. 根据权利要求6-8任一项所述的装置,其特征在于,所述二维补偿残差块包括:帧内 补偿残差块、帧间补偿残差块。
【文档编号】H04N19/176GK105898333SQ201610331341
【公开日】2016年8月24日
【申请日】2016年5月18日
【发明人】朱洪波
【申请人】北京奇艺世纪科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1