编码装置和编码方法
【专利摘要】本发明公开了编码装置和编码方法。编码装置包括:设置单元,所述设置单元用于设置量化参数差,其中,所述量化参数差是当前编码单元CU的量化参数与当前CU的预测量化参数之间的差;以及编码单元,所述编码单元用于编码由所述设置单元设置的所述量化参数差的绝对值,以及生成将指示所述量化参数差的绝对值的码视为语法的比特流。
【专利说明】
编码装置和编码方法[0001 ] 本申请是申请号为201210167530.6、发明名称为“在CABAC中使用分离的绝对值和 符号(SAVS)对DPQ进行二元化”、申请日为2012年5月24日的专利申请的分案申请,其全部内 容通过引用合并于此。
技术领域
[0002]本发明一般涉及视频编码,并且更具体地,涉及在高效视频编码标准内的基于上下文的自适应二元算术编码(CABAC)中的二元化编码。【背景技术】
[0003]以高效的方式存储和传输视频要求减少时间和空间冗余的编码机制。虽然存在大量编码技术,但是正在进行的努力致力于提高这些分别对视频数据流进行压缩和解压缩的编码器/解码器(编解码器)的效率。编解码器的目的是减小数字视频帧的大小以便加速传输和节省存储空间。近些年来的视频编码进步集中地贡献于由最先进的编解码器提供的高水平的编码效率。然而,希望编码以更高效率被执行,以进一步减小视频比特率。
[0004]这些正在开发的编码标准中的最新近编码标准被称为高效视频编码(HEVC),其来自于视频编码联合合作团队(JCT-VC),其是MPEG和VCEG标准化委员会的联合努力。
[0005]这种正在开发的标准既包括高效配置又包括低复杂度配置,包括许多编码工具, 并且在低复杂度配置中包括上下文自适应可变长编码(CAVLC)以及在高效配置中包括上下文自适应二元算术编码(CABAC)。高效配置使用并支持对于内部操作而言增强了的比特精度以及自适应环路滤波器。
[0006]HEVC采用编码单元(CU)结构,其与(例如之前的MPEG-2或AVC编解码中的)宏块结构的主要差别在于取代固定大小(例如,16 X 16),大小的变化可高达128 X 128。一个最大的编码单元(LCU)表示既表示平坦(flat)区域又表示繁忙(busy)区域,从而,为一个LCU提供单个QP(量化参数)值对于获得高水平的主观质量是不够的。因此,HEVC将LCU分成编码单元 (CU),每个CU由它们自己的QP表示,QP可随CU不同而不同。然后,QP差(Delta-QP,dQP)可被定义为在大小为诸如8 X 8、16 X 16、32 X 32或64 X 64的⑶中当前⑶的QP和基于所选预测算法预测的QP之间的差。HEVC可类似于高级视频编码(AVC)标准中那样执行QP预测,虽然本发明可利用任何所希望的技术而不脱离本发明的教导。
[0007]HEVC编码标准的测试模型HM 3.0利用CABAC中的QP差(dQP)熵编码,包括如下两个步骤:(1)标记dQP是否为零,以及(2)如果dQP为非零,则带符号的dQP被映射到不带符号的码数(codenumber)并且不带符号的码数使用一元码被映射到二元字符串(binary string)。应注意,一元编码是一种熵编码,其中,自然数‘n’由n个1后跟随一个0或者替代地由n-1个1后跟随一个0来表示。例如,在这些一元表示中,5可被表示为111110或者11110。
[0008]因此,新的编码标准正被开发以便提高编码效率并减小编码复杂度。本发明提供了对CABAC熵编码中的QP差(dQP)编码的改进。
【发明内容】
[0009]本发明利用了一种在CABAC中对dQP(量化参数差)进行二元化的不同模式,以适合 dQP的对称分布。当前HM 3.0测试模型中的方法为具有相同绝对值的非零dQP分配不同长度。然而,统计表明dQP的分布具有对称特性,因此具有相同绝对值但是不同符号的非零dQP 倾向于具有相似概率。然而,应认识到,本发明可应用于使用带符号的语法(诸如QP差)并且其中对于正值和负值展现出对称特性的所有视频编码系统和标准。[0〇1〇]为了适合dQP的真实分布,本发明利用如下修改的步骤来执行CABAC中dQP的二元化:(1)进行标记以指示dQP是否为零,以及(2)如果dQP为非零,则利用一元码将dQP的绝对值映射到二元字符串。dQP的符号然后被编码。替代地,dQP的符号可首先被编码,之后为dQP 的绝对值。这些替代中的任一替代在此被称为分离的绝对值和符号(SAVS)。
[0011]本发明的其他方面和实施例将在本说明书的下面的部分中被给出,其中,详细描述用于完全公开本发明的优选实施例的目的,而不对其施加限制。【附图说明】
[0012]通过参考附图可更全面地理解本发明,附图仅用于图示的目的:
[0013]图1是根据本发明一实施例的基于CABAC的视频编码器的框图;
[0014]图2是根据本发明一实施例的基于CABAC的视频编码器的框图;
[0015]图3是根据本发明一实施例的新的二元化方法的流程图;
[0016]图4A到图4B是dQP = -3的示例中的二元化的处理流程,示出了在图4A中的HM 3.0 和图4B中的本发明的方法之间的比较。【具体实施方式】[〇〇17]基于上下文的自适应二元算术编码(CABAC)是在演进的HEVC标准中使用的两种熵编码方法之一,并且在H.264/AVC视频编码标准中被发现。CABAC编码一般地包括二元化、上下文建模、和二元算术编码。本发明的分离的绝对值和符号(SAVS)方法提供了对CABAC中使用的二元化的改进,该方法特别适合于同一值的正码和负码的概率的统计对称性。
[0018] 在HEVC测试模型(HM)3.0中,各⑶可能具有不同QP(量化参数)。为了用信号表示用于编码⑶的QP,由“dQP”表示的当前⑶的QP和预测的QP之间的差被编码在语法中。dQP的值在HEVC高效(HE)配置下通过基于上下文的自适应二元算术编码(CABAC)被编码。该编码处理包括两个步骤:(1)标记dQP为非零,以及(2)将带符号dQP映射到不带符号的码数并且此码数使用一元码被映射到二元字符串。[〇〇19] HM 3.0中的方法向具有相同绝对值的非零dQP分配不同长度。例如dQP = -l被分配 3比特,而dQP = 1被分配2比特。统计表明dQP的分布具有对称特性,其中,具有相同绝对值但是不同符号的非零dQP倾向于具有相似概率。
[0020]本发明按照使得dQP的符号和dQP的绝对值被分开编码的这种方式来对dQP进行编码。指示当dQP为非零时的实例的标记被编码,并且然后dQP的绝对值和dQP的符号被单独地编码,或者替代地,dQP的符号被编码,然后dQP的绝对值再被编码。分开被编码的dQP的符号和绝对值被组合为最终的二元字符串。应注意,根据本发明,对dQP的绝对值和dQP的符号进行编码的顺序可互换。[0021 ]图1至图2图示出根据本发明的被配置用于使用具有SAVS二元化机制的CABAC进行编码的包括编码器10和解码器50的编码装置的示例实施例。
[0022]在图1至图2中所示的本发明的实施例中,本发明在另外的传统视频编码(编码和/ 或解码)系统的CABAC处理块中被实施,以最少化开发工作并为了最大化兼容性。[〇〇23]图1中所示的编码器10具有编码元件12,编码元件12由一个或多个处理器44执行。 在本示例中,视频帧输入14与参考帧16和帧输出18—起被示出。帧间预测20被描绘为具有运动估计(ME)22和运动补偿(MC)24。帧内预测26被示出为在帧间预测和帧内预测之间切换。求和联结点28被示出为输出去往正向变换30、量化阶段32和利用SAVS的CABAC编码34。 逆量化36和逆变换38被示出为耦合到求和联结点40,之后跟随滤波器42,诸如解块和/或环路滤波器。[〇〇24] 应认识到,该编码器被示出为利用处理装置44来实现,处理装置44诸如包括至少一个处理设备(例如,CPU)46和至少一个存储器48,以执行与编码相关联的程序。另外,应认识到,本发明的各元件可被实现为存储在介质上的程序,其可被访问以供编码器10和/或解码器50的CPU执行。[〇〇25]在图2的解码器50中,解码块52与处理装置76—起被示出,其实质上是图1中所示的编码器中包含的元件的子集并且对参考帧54操作并且输出视频74。根据本发明的实施例,解码器块接收经编码的视频信号56,该经编码的视频信号56通过利用SAVS的CABAC熵解码器58、逆量化60、逆变换62而被处理。求和64被示出为介于逆变换62的输出与帧间预测66 (被示出为具有运动补偿68)和帧内预测70之间的选择之间。来自求和联结点64的输出由滤波器72接收,滤波器72可被配置为环路滤波器、解块滤波器或者它们的任意组合。应认识至IJ,该解码器可利用处理装置76来实现,处理装置76包括至少一个处理设备78和至少一个存储器80,用于执行与解码相关联的程序。另外,应注意,本发明的各元件可被实现为存储于介质上的程序,其中,所述介质可被访问以供处理设备(CPU)78运行。
[0026]应认识到,程序可从作为有形(实体)计算机可读介质的存储器执行,所述介质是非暂时性的,因为其不仅仅包括暂时性传播信号,而是实际上能够诸如在任何所希望的形式和数目的静态或动态存储器设备中保持程序。这些存储器设备不必被实现为在所有条件 (例如,电力故障)维护数据以在此被视为非暂时性介质。
[0027]应认识到,在此描述的程序可从包括有形(实体)计算机可读介质的(一个或多个) 存储器设备执行,所述介质是非暂时性的,因为其不仅仅包括暂时性传播信号,而是实际上能够保持诸如在任何所希望的形式和数目的静态或动态存储器设备中的程序。这些存储器设备不必被实现为无限期地或者在所有条件(例如,电力故障)下维护数据以在此被视为非暂时性介质。[〇〇28]图3是CABAC SAVS方法的流程图。dQP标记被编码90,诸如在dQP值被确定时。作为示例,一种功能用于对当前CU的QP进行编码,并且在该功能中,首先获得作为当前CU的QP和预测QP之间的QP之差的dQP,之后,dQP标记被编码。如果dQP标记被发现92为非零,则dQP的绝对值使用一元编码被映射94(转换)。符号也分开地被映射96到一元码,之后,分离的码被组合98为字符串。应认识到,步骤94和96的顺序可颠倒而不会影响操作。如果dQP为0,则没有要编码的dQP的值,并且例如,用于编码QP的功能仅是返回dQP标记。应注意,dQP标记总是被编码以指示dQP是否为非零。在所描述的dQP为非零的示例中,应认识到,dQP总是以一个 “1”的比特开始。[〇〇29]图4A图示根据HM 3.0测试规范中的CABAC的二元化的示例。可以看出,在步骤100 中dQP等于-3的本示例中,在步骤102中该值(符号和绝对值)被一元编码为具有码数5的单个实体,从而在步骤104中得到占了5个二元位置的比特串“111110”。在本示例中以及下述图4B中,该串在dQP的编码之前未图示出非零dQP比特。
[0030]图4B图示根据CABAC SAVS的二元化的示例。对-3的编码110的相同示例被示出为对符号和绝对值分开地进行编码。在步骤112绝对值3被获得,从而在步骤114中得到码数2, 并且在步骤116中,得到需要3个二元位置的比特串110。类似地,在步骤118中符号被编码, 从而在步骤120中得到码数1,并且在步骤122中得到比特串1。在步骤124中,比特串被组合, 依赖于组合顺序,作为结果得到1101或1110。应认识到,与传统编码使用6个数位相比,此编码所要求的二元数位的数目总共为4个二元数位。[0031 ]因此,可见,本发明包括下面的创新实施例,其中:
[0032] 1.—种用于执行视频编码的装置,包括:计算机,所述计算机被配置为对视频进行编码和/或解码;以及程序,所述程序被配置为在所述计算机上运行,以:执行帧间预测和/ 或帧内预测以减少时间和/或空间冗余;在编码期间执行变换和量化和/或在解码期间执行逆变换和逆量化;在编码和/或解码期间执行基于上下文的自适应二元算术编码(CABAC); 以及通过如下操作来执行对非零QP差(dQP)的二元化:(a)使用一元编码来映射dQP的绝对值;(b)分开地对dQP的符号进行编码;以及(c)组合针对符号和绝对值的二元字符串。[〇〇33] 2.根据实施例1所述的装置,其中,所述程序替代地被配置为在所述计算机上运行以在编码dQP的绝对值之前对dQP的符号进行编码。[〇〇34] 3.根据实施例1所述的装置,其中,所述视频编码装置利用编码单元(CU)结构,其中块大小不固定,并且其中,最大编码单元(LCU)被分成多个CU,每个CU具有其自己的QP,QP 可随⑶不同而不同;并且其中,表示当前⑶的QP和预测的QP之间的差的QP差(dQP)被编码在语法中。[〇〇35] 4.根据实施例1所述的装置,其中,所述视频编码根据高效视频编码(HEVC)标准执行。
[0036] 5.根据实施例4所述的装置,其中,所述视频编码在所述高效视频编码(HEVC)标准中的高效编码模式中执行。[〇〇37] 6.根据实施例1所述的装置,其中,所述装置包括编码器/解码器(编解码器)。
[0038] 7.根据实施例1所述的装置,其中,所述程序被配置为在所述计算机上运行以在对非零dQP及其符号编码之前对指示dQP为非零的标记比特进行编码。[〇〇39] 8.根据实施例1所述的装置,其中,所述二元化受益于dQP的值对于给定绝对值而言为正或为负具有相似概率。
[0040] 9.—种执行视频编码的方法,包括:执行帧间预测和/或帧内预测以减少时间和/ 或空间冗余;在编码期间执行变换和量化和/或在解码期间执行逆变换和逆量化;在编码和/或解码期间执行基于上下文的自适应二元算术编码(CABAC);以及通过如下操作来执行对非零QP差(dQP)的二元化:(a)使用一元编码来映射dQP的绝对值;(b)分开地对dQP的符号进行编码;以及(c)组合针对符号和绝对值的二元字符串。[0041 ] 10.根据实施例9所述的方法,其中,替代地,在映射dQP的绝对值之前执行对dQP的符号的编码。
[0042] 11.根据实施例9所述的方法,其中,所述视频编码方法利用编码单元(CU)结构,其中块大小不固定,并且其中,最大编码单元(LCU)被分成多个CU,每个CU具有其自己的QP,QP 可随⑶不同而不同;并且其中,表示当前⑶的QP和预测的QP之间的差的QP差(dQP)被编码在语法中。[〇〇43] 12.根据实施例9所述的方法,其中,所述视频编码根据高效视频编码(HEVC)标准执行。
[0044] 13.根据实施例12所述的方法,其中,所述视频编码在所述高效视频编码(HEVC)标准中的高效编码模式中执行。
[0045] 14.根据实施例9所述的方法,其中,所述方法通过编码器/解码器(编解码器)实现。[〇〇46] 15.根据实施例9所述的方法,其中,在对非零dQP及其符号编码之前对指示dQP为非零的标记比特进行编码。[〇〇47] 16.根据实施例9所述的方法,其中,所述二元化受益于dQP的值对于给定绝对值而言为正或为负具有相似概率。
[0048] 17.—种包含计算机程序的非暂时性计算机可读介质,所述计算机程序可在计算机上运行,被配置为执行视频编码,包括:执行帧间预测和/或帧内预测以减少时间和/或空间冗余;在编码期间执行变换和量化和/或在解码期间执行逆变换和逆量化;在编码和/或解码期间执行基于上下文的自适应二元算术编码(CABAC);以及通过如下操作来执行对非零QP差(dQP)的二元化:(a)使用一元编码来映射dQP的绝对值;(b)分开地对dQP的符号进行编码;以及(c)组合针对符号和绝对值的二元字符串。
[0049] 18.根据实施例17所述的计算机可读介质,其中,所述程序替代地被配置为在所述计算机上运行以在映射dQP的绝对值之前对dQP的符号进行编码。
[0050] 19.根据实施例17所述的计算机可读介质:其中,所述视频编码方法利用编码单元 (CU)结构,其中块大小不固定,并且其中,最大编码单元(LCU)被分成多个CU,每个CU具有其自己的QP,QP可随⑶不同而不同;并且其中,表示当前⑶的QP和预测的QP之间的差的QP差 (dQP)被编码在语法中。
[0051] 20.根据实施例17所述的计算机可读介质,其中,所述视频编码在高效视频编码 (HEVC)标准中的高效编码模式中执行。
[0052]本发明的实施例可参考根据本发明的实施例的方法和系统和/或算法、公式或其他计算叙述(它们也可被实现为计算机程序产品)的流程图图示被描述。因此,流程图的每个框或步骤以及流程图中的框(和/或步骤)的组合、算法、公式或其他计算叙述可通过多种手段来实现,诸如硬件、固件和/或软件,软件包括在计算机可读程序代码逻辑中包含的一个或多个计算机程序指令。将认识到,任何这样的计算机程序指令可被加载到计算机,包括但不限于通用计算机或专用计算机或者用于制造机器的其他可编程处理装置,从而使得在计算机或其他可编程处理装置上运行的计算机程序指令创建出用于实现在(一个或多个) 流程图中的(一个或多个)块中指定的功能的手段。
[0053]因此,流程图的框、算法、公式或计算叙述支持用于执行指定功能的手段的组合、用于执行指定功能的步骤的组合以及诸如包含在计算机可读程序代码逻辑装置中的用于执行指定功能的计算机程序指令。还应理解,在此描述的流程图图示的每个框、算法、公式或计算叙述以及它们的组合可通过执行指定功能或步骤的基于专用硬件的计算机系统或者专用硬件和计算机可读程序代码逻辑装置的组合来实现。
[0054]此外,这些诸如包含在计算机可读程序代码逻辑手段中的计算机程序指令也可被存储在指导计算机或其他可编程处理装置按照特定方式运作的计算机可读存储器中,从而使得存储在计算机可读存储器中的指令制造出加工产品,包括实现(一个或多个)流程图的 (一个或多个)框中的指定功能的指令装置。计算机程序指令也可被加载到计算机或其他可编程处理装置以使得一系列的可操作步骤在计算机或其他可编程处理装置上被执行以生成计算机执行的处理,从而使得在计算机或其他可编程处理装置上运行的指令提供用于执行(一个或多个)流程图的(一个或多个)框中的指定功能、(一个或多个)算法、(一个或多个)公式或(一个或多个)计算叙述的步骤。
[0055]从上述公开,将认识到,本发明可以多种方式被具体化,包括如下方式:
[0056]虽然上面的描述包含许多细节,但是这些不应当被解释为是对本发明的限制,而是仅仅提供了对本发明的一些当前优选实施例的说明。因此,应认识到,本发明的范围完全涵盖了可能对于本领域普通技术人员来说明显的其他实施例,并且本发明的范围因此不受所附权利要求以外的任何内容的限制,在权利要求中,对单数元件的提及不旨在意味着“一个并且仅一个”,除非明确有这样的陈述,而是意味着“一个或多个”。本领域普通技术人员知道的上述优选实施例的元件的所有结构或功能等同物特意通过引用被结合于此,并且意在被涵盖在当前权利要求的范围内。而且,设备或方法不必解决本发明试图要解决的各个并且每个问题,因为他们将被当前权利要求所涵盖。此外,本公开中没有元件、组件或方法步骤意在被贡献给公众,不论该元件、组件或方法步骤是否被明确记载在权利要求中。在此没有权利要求的元件要按照35U.S.C.条第六款的规定来解释,除非此元件明确使用“用于…的装置”的短语被记载。
[0057]相关申请的交叉引用[〇〇58]本申请要求于2011年6月30日提交的序号为61/503,430的美国临时专利申请、于 2011年6月15日提交的序号为61 /497,281的美国临时专利申请的优先权,这些申请通过引用被全部结合于此。优先权针对前述申请中的每一申请被要求。[〇〇59]受版权保护的素材的声明
[0060]本专利文件中的部分素材受美国和其他国家的版权法的版权保护。版权的所有者不反对任何人按照该专利文件出现在美国专利和商标局公众可获得文件或记录那样进行复制再现,但是其他情况无论如何都保留所有版权。版权所有者因此不放弃使得该专利文件保密的任何其权利,包括但不限于依照37C.F.R.§1.14的其权利。
【主权项】
1.一种编码装置,包括:设置单元,所述设置单元用于设置量化参数差,其中,所述量化参数差是当前编码单元 CU的量化参数与当前CU的预测量化参数之间的差;以及编码单元,所述编码单元用于编码由所述设置单元设置的所述量化参数差的绝对值, 以及生成将指示所述量化参数差的绝对值的码视为语法的比特流。2.如权利要求1所述的编码装置,其中,所述编码单元对所述量化参数差的所述绝对值 执行二进制算术编码。3.如权利要求2所述的编码装置,其中,所述设置单元对于分隔最大CU的每个CU设置所述量化参数差。4.如权利要求2所述的编码装置,其中,当所述量化参数差为非零时,所述编码单元编 码所述量化参数差的所述绝对值。5.如权利要求4所述的编码装置,还包括确定单元,所述确定单元用于确定所述量化参 数差是否为非零。6.如权利要求1所述的编码装置,其中,所述设置单元设置量化参数差标识数据,所述 量化参数差标识数据标识是否存在由所述设置单元设置的所述量化参数差,其中,所述编码单元生成将由所述设置单元设置的所述量化参数差标识数据视为语法 的比特流。7.如权利要求1所述的编码装置,还包括量化单元,所述量化单元用于量化图像数据以 及生成量化数据,其中,所述编码单元通过编码由所述量化单元生成的所述量化数据来生成所述比特流。8.—种编码方法,包括:设置步骤,所述设置步骤用于设置量化参数差,其中,所述量化参数差是当前编码单元 CU的量化参数与当前CU的预测量化参数之间的差;以及编码步骤,所述编码步骤用于编码由所述设置步骤设置的所述量化参数差的绝对值, 以及生成将指示所述量化参数差的绝对值的码视为语法的比特流。9.如权利要求8所述的编码方法,其中,所述编码步骤对所述量化参数差的所述绝对值 执行二进制算术编码。10.如权利要求9所述的编码方法,其中,所述设置步骤对于分隔最大CU的每个CU设置所述量化参数差。11.如权利要求8所述的编码方法,还包括确定步骤,所述确定步骤用于确定所述量化 参数差是否为非零。12.如权利要求8所述的编码方法,其中,所述设置步骤设置量化参数差标识数据,所述 量化参数差标识数据标识是否存在由所述设置步骤设置的所述量化参数差,其中,所述编码步骤生成将由所述设置步骤设置的所述量化参数差标识数据视为语法 的比特流。13.如权利要求8所述的编码方法,还包括量化步骤,所述量化步骤用于量化图像数据 以及生成量化数据,其中,所述编码步骤通过编码所述量化步骤中生成的所述量化数据来生成所述比特流。
【文档编号】H04N19/91GK106028039SQ201610519738
【公开日】2016年10月12日
【申请日】2012年5月24日
【发明人】徐俊
【申请人】索尼公司