《实现模块化处理的上下文建模方法和装置.pdf》由会员分享,可在线阅读,更多相关《实现模块化处理的上下文建模方法和装置.pdf(36页完整版)》请在专利查询网上搜索。
1、10申请公布号CN104081773A43申请公布日20141001CN104081773A21申请号201280068313X22申请日2012013013/360,68820120128USH04N19/13201401H04N19/18201401H04N19/18420140171申请人黑莓有限公司地址加拿大安大略省沃特卢市72发明人阮阮计天颖何大可74专利代理机构中科专利商标代理有限责任公司11021代理人王玮54发明名称实现模块化处理的上下文建模方法和装置57摘要描述了一种对视频数据进行编码和解码的方法,用于对变换单元的系数进行编码或解码。具体地,基于上下文确定对针对系数组的有效位。
2、系数标志进行编码和解码,并基于相邻标志的值来确定上下文。用于确定上下文的邻域依赖于要编码或解码的有效位系数标志是否在系数组的两个右侧列或两个下方行中变化。左上角也具有不同的邻域。如果所述标志在两个右侧列或两个底部行之一中,则备选上下文邻域之一用于避免对于其他系数组中的有效位标志的依赖。30优先权数据85PCT国际申请进入国家阶段日2014072886PCT国际申请的申请数据PCT/CA2012/0500512012013087PCT国际申请的公布数据WO2013/113088EN2013080851INTCL权利要求书3页说明书21页附图7页按照条约第19条修改的权利要求书4页19中华人民共和。
3、国国家知识产权局12发明专利申请权利要求书3页说明书21页附图7页按照条约第19条修改的权利要求书4页10申请公布号CN104081773ACN104081773A1/3页21一种通过重构针对变换单元的有效位系数标志来对编码视频的比特流进行解码的方法,所述变换单元被划分为多个基于块的系数组,所述基于块的系数组具有行和列,所述方法应用于当前系数组内的有效位系数标志,所述方法包括确定针对所述有效位系数标志的上下文,其中所述确定包括设置初始上下文索引;以及基于相邻有效位系数标志的值来有条件地递增初始上下文索引,其中所述递增有条件地基于当前系数组内有效位系数标志的位置,以确保在递增中使用的任意相邻有效。
4、位系数标志在所述当前系数组内;以及使用确定的上下文对所述有效位系数标志进行解码。2根据权利要求1所述的方法,其中所述有条件地递增还基于排除沿反向扫描顺序紧邻所述有效位系数标志之前的相邻有效位系数标志。3根据权利要求1或2所述的方法,其中所述有条件地递增包括如果有效位系数不在当前系数组的最右侧列中,则将初始上下文索引递增所述有效位系数右侧的相邻有效位系数标志的值。4根据权利要求1至3中任一项所述的方法,其中所述有条件地递增包括如果有效位系数标志在当前系数组的最右侧两列的任一列中,则将初始上下文索引递增所述有效位系数标志右侧两个位置的相邻有效位系数的值。5根据权利要求1至4中任一项所述的方法,其中。
5、所述有条件地递增包括如果有效位系数标志不在最底部行也不在最右列,则将初始上下文索引递增所述有效位系数标志右下对角线的相邻有效位系数的值。6根据权利要求1至5中任一项所述的方法,其中所述有条件地递增包括如果有效位系数标志不在最底部两行的任一行中,则将初始上下文索引递增所述有效位系数标志下方两个位置的相邻有效位系数的值。7根据权利要求1至6中任一项所述的方法,其中所述有条件地递增包括如果有效位系数标志不在最底部的行中,如果有效位系数标志不在最右侧列和次底部行中,以及如果有效位系数标志不在系数组的左上角中,则将初始上下文索引递增所述有效位系数标志下方紧邻的相邻有效位系数的值。8根据权利要求1至7中任。
6、一项所述的方法,其中所述系数组是4X4组。9一种通过重构针对变换单元的有效位系数标志来对编码视频的比特流进行解码的方法,所述变换单元被划分为多个基于块的系数组,所述系数组具有列和行,所述方法应用于当前系数组内的有效位系数标志,所述方法包括基于位置上相对于所述有效位系数标志的相邻标志的集合来确定针对有效位系数标志的上下文,其中如果所述有效位系数标志不在当前系数组的最右侧列,则所述集合包括所述有效位系数标志的右侧的位置的标志;如果所述有效位系数标志不在当前系数组的最底部列中,则所述集合包括所述有效位系数标志下方的位置的标志;如果所述有效位系数标志不在当前系数组的最右侧列也不在当前系数组的最底部行,。
7、权利要求书CN104081773A2/3页3则所述集合包括所述有效位系数标志的右侧一列和下方一行位置中的标志;如果所述有效位系数标志不在当前系数组的最右侧列也不在次右侧列,则所述集合包括所述有效位系数标志的右侧两列位置的标志;以及如果所述有效位系数标志不在当前系数组的最底部行也不在次底部行中,所述集合包括所述有效位系数标志下方两行位置的标志,以及使用确定的上下文对有效位系数标志进行解码。10根据权利要求9所述的方法,其中只有所述有效位系数标志不在当前系数组的最右侧列和次底部行的情况下,所述集合才包括所述有效位系数标志下方位置的标志。11根据权利要求9或10所述的方法,其中只有所述有效位系数标志。
8、不在当前系数组的左上角的情况下,所述集合才包括所述有效位系数标志下方位置的标志。12一种通过重构针对变换单元的有效位系数标志来对编码视频的比特流进行解码的方法,所述变换单元被划分为多个基于块的系数组,对于当前系数组内的有效位系数标志,所述当前系数组具有两个右侧列和两个底部行,所述方法包括确定有效位系数标志是否在当前系数组的右下角、最右侧列或次底部行;并且如果是,基于其位置确定针对所述有效位系数标志的上下文,否则,确定所述有效位系数标志是否在当前系数组的两个右侧列之一、当前系数组的两个底部行之一或当前系数组的左上角,并且如果是,则选择相对于所述有效位系数标志的相邻有效位系数标志位置的第一集合,否。
9、则选择相对于所述有效位系数标志的相邻有效位系数标志位置的第二集合;以及根据所选集合中位置中的有效位系数标志之和来确定针对所述有效位系数标志的上下文;使用确定的上下文对所述有效位系数标志进行解码。13根据权利要求12所述的方法,其中相邻有效位系数标志位置的第一集合包括相对于所述有效位系数标志的相邻有效位系数标志位置的多个集合之一,并且其中所述多个集合的每一个排除了来自其他系数组的有效位系数标志。14根据权利要求12所述的方法,其中相邻有效位系数标志位置的第一集合包括相对于所述有效位系数标志的相邻有效位系数标志位置的多个集合之一,并且选择相邻有效位系数标志位置的第一集合包括基于所述两个右侧列之一或。
10、所述两个底部行之一内的有效位系数标志的位置来选择相邻有效位系数标志位置的多个集合之一。15根据权利要求12所述的方法,其中选择相邻有效位系数标志位置的第一集合包括基于当前系数组中所述有效位系数标志的位置来选择相邻有效位系数标志位置的第一集合。16根据权利要求12所述的方法,其中选择相邻有效位系数标志位置的第一集合包括分配初始上下文索引,以及如果所述有效位系数不在当前系数组的最右侧列中,则将初始上下文索引递增所述有效位系数右侧的相邻有效位系数标志的值。17一种解码器,用于对编码数据的比特流进行解码以重构针对变换单元的系数,所述解码器包括处理器;存储器;以及解码应用程序,存储在存储器中,并且包含用。
11、于配置处理器执行如权利要求1至16中权利要求书CN104081773A3/3页4任一项所述方法的指令。18一种非临时处理器可读介质,存储处理器可执行指令,当执行所述可执行指令时,配置一个或多个处理器执行如权利要求1至16中任一项所述的方法。权利要求书CN104081773A1/21页5实现模块化处理的上下文建模方法和装置0001版权通告0002本文档和附属材料的公开的一部分包含要求了版权的材料。版权人不反对任何人在专利商标局的文件或记录中发表的专利文档或专利公开的复制,但是无论如何保留所有其他版权权利。技术领域0003本申请大体上涉及数据压缩,具体地涉及当对残差视频数据进行编码和解码时进行上下。
12、文建模的方法和装置。背景技术0004数据压缩发生在众多上下文中。在通信和计算机联网中非常普遍地使用数据压缩,以有效地存储、传输和再现信息。其在图像、音频和视频的编码方面得到了具体应用。由于每个视频帧所需的大量数据以及经常需要发生的编码和解码的速度,因此视频对数据压缩提出相当大的挑战。视频编码的当前最新技术是ITUTH264/AVC视频编码标准。该标准定义了针对不同应用的多个不同简档,包括主简档、基线简档等等。通过MPEGITU的联合发起,当前正在开发下一代视频编码标准称作高效视频编码HEVC。所述发起最终可能导致常称作MPEGH的视频编码标准。0005存在用于编码/解码图像和视频的多个标准,包。
13、括H264,其使用基于块的编码过程。在这些过程中,图像或帧被分割成块,通常是44或88,并且块被频谱变换成系数、量化、和熵编码。在许多情况中,被变换的数据不是实际像素数据,而是预测操作之后的残差数据。预测可以是帧内的,即帧/图像内的块到块;或者帧间的,即在帧之间也称为运动预测。预计MPEGH也将具有这些特征。0006当对残差数据进行频谱变换时,这些标准中的多个标准规定了使用离散余弦变换DCT或基于它的一些变形。然后使用量化器对所得DCT系数进行量化,以产生量化的变换域系数或索引。0007然后,使用具体的上下文模型对量化的变换域系数的块或者矩阵有时也称作“变换单元”进行熵编码。在H264/AVC。
14、和对于MPEGH的当前研发工作中,通过以下步骤对量化的变换系数进行编码A在变换单元中对末位非零系数的位置加以表示的末位有效位系数位置进行编码,B在变换单元中对包含非零系数位置除了末位有效位置之外的加以表示的有效位映射进行编码,C对非零系数的幅度进行编码,以及D对非零系数的符号进行编码。量化的变换系数的这种编码通常占用比特流中已编码数据的3080。发明内容0008本申请描述了使用多级有效位映射和系数级别编码对残差视频数据进行编码和解码的方法和编码器/解码器。描述了一种当对有效位系数标志有效位系数标志进行编码和解码时用于确定上下文的上下文推导方法。还描述了一种对系数级别数据进行编码说明书CN104。
15、081773A2/21页6和解码时用于确定上下文的上下文推导方法。0009在第一个方面,本申请提出了一种通过重构针对变换单元的有效位系数标志来对编码视频的比特流进行解码的方法,所述变换单元被划分为多个基于块的系数组,所述方法应用于当前系数组内的有效位系数标志。所述方法包括确定针对有效位系数标志的上下文,其中所述确定包括设置初始上下文索引;以及基于相邻有效位系数标志的值有条件地递增初始上下文索引,其中所述递增有条件地基于当前系数组内有效位系数标志的位置,以确保在递增中使用的任意相邻有效位系数标志在当前的系数组内;以及使用确定的上下文对所述有效位系数标志进行解码。0010在另一个方面,本申请描述了。
16、一种通过重构针对变换单元的有效位系数标志来对编码视频的比特流进行解码的方法,所述变换单元被划分为多个基于块的系数组,所述系数组具有列和行,所述方法应用于当前系数组内的有效位系数标志。所述方法包括基于位置上相对于所述有效位系数标志的相邻标志的集合来确定针对有效位系数标志的上下文;以及使用确定的上下文对有效位系数标志进行解码。如果所述有效位系数标志不在当前系数组的最右侧列,则所述集合包括所述有效位系数标志的右侧位置的标志;如果所述有效位系数标志不在当前系数组的最底部列中,则所述集合包括所述有效位系数标志下方位置的标志;如果所述有效位系数标志不在当前系数组的最右侧列也不在当前系数组的最底部的行中,则。
17、所述集合包括所述有效位系数标志的右侧一列和下方一行位置的标志;如果所述有效位系数标志不在当前系数组的最右侧列也不在次右侧列中,则所述集合包括所述有效位系数标志的右侧两列位置的标志;以及如果所述有效位系数标志不在当前系数组的最底部行也不在次底部行中,所述集合包括所述有效位系数标志下方两行位置的标志。0011在另一个方面,本申请描述了一种通过重构针对变换单元的有效位系数标志来对编码视频的比特流进行解码的方法,所述变换单元被划分为多个基于块的系数组。所述方法应用于当前系数组内的有效位系数标志,所述当前系数组具有两个右侧列和两个底部行。所述方法包括确定有效位系数标志是否在当前系数组的右下角、最右侧列或。
18、次底部行;如果是,则基于其位置确定针对所述有效位系数标志的上下文,否则确定所述有效位系数标志是否在当前系数组的两个右侧列之一、当前系数组的两个底部行之一、还是在当前系数组的左上角中,并且如果是,则选择相对于所述有效位系数标志的相邻有效位系数标志位置的第一集合,否则选择相对于所述有效位系数标志的相邻有效位系数标志位置的第二集合;以及根据所选择的集合中位置的有效位系数标志之一来确定针对所述有效位系数标志的上下文;使用确定的上下文对所述有效位系数标志进行解码;以及更新确定的上下文。0012在一个方面中,本申请描述了一种通过重构针对变换单元的有效位系数标志来对编码视频的比特流进行解码的方法,所述变换单。
19、元被划分为多个基于块的系数组。所述方法包括针对当前系数组内的有效位系数标志,确定所述有效位系数标志是否在当前系数组右侧列或当前系数组下方行内,并且如果是,选择相对于所述有效位系数标志的相邻有效位系数标志位置的第一集合,否则选择相对于所述有效位系数标志的相邻有效位系数标志位置的不同的第二集合。所述方法还包括根据在所选择集合的位置选择的有效位系数标志之和来确定针对所述有效位系数标志的上下文;使用确定的上下文对所述有效位系数标志进行解码;以及更新确定的上下文。说明书CN104081773A3/21页70013在另一个方面中,本申请描述了一种通过针对变换单元的有效位系数进行重构来对编码视频的比特流进行。
20、解码的方法,所述变换单元被划分为多个基于块的系数组。所述方法包括针对当前系数组内的有效位系数标志,确定所述有效位系数标志是否在当前系数组右侧的列或当前系数组下方的行,并且如果是,则选择相邻有效位系数标志的第一集合,否则选择相邻有效位系数标志的不同的第二集合;根据所选择集合中的所选择有效位系数标志之和来确定针对所述有效位系数标志的上下文;使用确定的上下文对所述有效位系数标志进行解码;以及更新确定的上下文。0014在另一个方面,本申请描述了一种通过针对变换单元的有效位系数进行重构来对编码视频的比特流进行解码的方法,所述变换单元被划分为多个相邻的系数组。所述方法包括针对系数组内的每一个有效位系数标志。
21、,基于多个相邻有效位系数标志之和来确定针对所述有效位系数标志的上下文,其中除了所述系数组紧邻右侧列中的有效位系数标志、所述系数组紧邻下方的行中的有效位系数标志以及所述系数组右下角对角线相邻的有效位系数标志之外,所述相邻有效位系数标志不包括所述系数组以外的任意有效位系数标志;使用确定的上下文对所述有效位系数标志进行解码;以及更新确定的上下文。0015在又一方面,本申请描述了被配置为执行这种编码和解码方法的编码器和解码器。0016在又一方面,本申请描述了存储计算机可执行程序指令的非瞬时计算机可读介质,当执行所述计算机可执行程序指令时,所述计算机可执行程序指令将处理器配置为执行所描述的编码和/或解码。
22、的方法。0017本领域普通技术人员将通过结合附图阅读以下示例的描述,来理解本申请的其他方面和特征。附图说明0018现在以示例方式参照附图,附图示出了本申请的示例性实施例,在附图中0019图1以框图形式示出了用于对视频进行编码的编码器;0020图2以框图形式示出了用于对视频进行解码的解码器;0021图3示出了针对16X16变换单元的多级扫描顺序的示例;0022图4以流程图的形式示出了用于对有效位系数标志进行解码的示例性方法;0023图5以流程图的形式示出了用于对系数级别数据进行解码的示例性方法;0024图6示出了编码器的示例性实施例的简化框图;以及0025图7示出了解码器的示例性实施例的简化框图。
23、。0026在不同的附图中已使用类似的附图标记来指示类似的组件。具体实施方式0027在以下描述中,参考用于视频编码的H264标准和/或正在研发的MPEGH标准描述了一些示例性实施例。本领域普通技术人员将理解的是,本申请不限于H264/AVC或MPEGH,而是可适用于其他视频编码/解码标准,包括可能的将来的标准、多视图编码标准、可伸缩视频编码标准、以及可重新配置的视频编码标准。0028在以下描述中,当参考视频或图像时,在某种程度上可以互换地使用术语帧、画说明书CN104081773A4/21页8面、图像片、平铺块TILE和矩形图像片组。本领域技术人员将清楚的是,在H264标准的情况中,帧可以包含一。
24、个或多个图像片。还将清楚的是,根据适用的图像或视频编码标准的特定要求或技术,某些编码/解码操作是逐帧执行的,一些编码/解码操作是逐图像片执行的,一些编码/解码操作是逐画面进行的,一些编码/解码操作是逐平铺块执行的,以及一些编码/解码操作是逐矩形图像片组执行的。在任何特定实施例中,适用的图像或视频编码标准可以确定是否关于帧和/或画面和/或图像片和/或平铺块和/或矩形图像片组来执行以下描述的操作,视情况而定。相应地,根据本公开,本领域普通技术人员将理解,本文描述的特定操作或过程以及对帧、画面、图像片、平铺块、矩形图像片组的特定引用对于给定实施例是否适用于帧、画面、图像片、平铺块、矩形图像片组、或者。
25、其中的一些或全部。这也可应用于变换单元、编码单元、编码单元组等等,这些根据以下描述将变得明显。0029本申请描述了用于针对变换单元的非零系数对符号位进行编码和解码的示例处理和装置。非零系数通过有效位映射来识别。有效位映射是映射到变换单元或者限定的系数单元例如,数个变换单元、变换单元的一部分或者编码单元或者与其相对应的块、矩阵、组或标志的集合。每一个标志表示变换单元或指定单元中的相应位置是否包含非零系数。在现有标准中,这些标志可以称作有效位系数标志。在现有标准中,按照扫描顺序从DC系数到末位有效位系数,每个系数具有一个标志,并且如果对应系数为零则所述系数是为0的比特,而如果对于系数非零则所述系数。
26、设置为1。这里使用的术语“有效位映射”旨在表示针对变换单元的有效位系数标志的矩阵或者有序集合,如根据以下描述可以理解的;或者表示限定的系数单元,如根据本发明的上下文将变得清楚的。0030应该理解的是,根据以下描述,可以在一些情况中应用多级别编码和解码结构,并且可以根据像视频内容类型在序列、画面或图像片首部中识别的自然视频或图形那样的辅助信息来确定这些情况。例如,两个级别可以用于自然视频,而三个级别可以用于图形典型地更加稀疏。另一种可能是在序列、画面或图像片首部之一中提供标志,以表示所述结构是具有一个、两个还是三个级别,从而允许编码器针对当前内容选择最合适结构的灵活性。在另一个实施例中,标志可以。
27、表示内容类型,所述内容类型将与级别的个数相关联。例如,类型“图形”的内容可以是以三个级别为特征。0031现在参照图1,图1以框图形式示出了用于对视频进行编码的编码器10。还参照图2,图2示出了用于对视频进行解码的解码器50的框图。将清楚的是,本文描述的编码器10和解码器50均可以在专用或通用计算设备包含一个或多个处理单元和存储器上实现。编码器10或解码器50执行的操作可以通过例如专用集成电路或通过通用处理器可执行的存储程序指令来实现,视情况而定。设备可以包括额外软件,包括例如用于控制基本设备功能的操作系统。关于以下描述,本领域普通技术人员将清楚在其中可以实现编码器10或解码器50的设备和平台的。
28、范围。0032编码器10接收视频源12并产生编码比特流14。解码器50接收编码比特流14并输出解码视频帧16。编码器10和解码器50可以被配置为符合多个视频压缩标准来操作。例如,编码器10和解码器50可以符合H264/AVC。在其他实施例中,编码器10和解码器50可以符合其他视频压缩标准,包括诸如MPEGH之类的H264/AVC标准的演进。0033编码器10包括空间预测器21、编码模式选择器20、变换处理器22、量化器24和熵编码器26。本领域普通技术人员将清楚的是,编码模式选择器20确定视频源的适合编码模说明书CN104081773A5/21页9式,例如对象帧/图像片是I、P还是B类型,帧/。
29、图像片内的特定编码单元例如宏块、编码单元等是帧间还是帧内编码。变换处理器22对空间域数据执行变换。具体地,变换处理器22应用基于块的变换来将空间域数据变换为频谱分量。例如,在很多实施例中,使用离散余弦变换DCT。在一些示例中,可以使用其他变换,如离散正弦变换等。根据宏块或编码单元的大小,该基于块的变换是在编码单元、宏块或者子块的基础上执行的。在H264标准中,例如,典型的1616的宏块包含16个44的变换块,并且对44的块执行DCT过程。在一些情况中,变换块可以是88的,这意味着针对每个宏块存在4个变换块。在其他情况中,变换块可以是其他大小。在一些情况中,1616的宏块可以包括44和88的变换。
30、块的非重叠的组合。0034将基于块的变换应用于像素数据块得到变换域系数的集合。在该上下文中,“集合”是有序集合,在该集合中系数具有系数位置。在一些示例中,变换域系数的集合可被认为是系数的“块”或矩阵。在本文的描述中,短语“变换域系数的集合”或“变换域系数的块”被互换地使用,并且用于指示变换域系数的有序集合。0035量化器24对变换域系数的集合进行量化。然后,熵编码器26对量化后的系数和相关联的信息进行编码。0036量化的变换域系数的块或者矩阵这里可以称作“变换单元”TU。在一些情况下,TU可以是非正方形的,例如非正方形正交变换NSQT。0037帧内编码的帧/图像片即,类型I不参照其他帧/图像片。
31、进行编码。换言之,它们不采用时间预测。然而,帧内编码的帧依赖于帧/图像片内的空间预测,如图1中由空间预测器21所示。即,在对特定块编码时,可以将块中的数据与针对该帧/图像片已经编码的块内相邻像素的数据进行比较。使用预测算法,可以将块的源数据转换为残差数据。然后,变换处理器22对残差数据进行编码。例如,H264规定了44变换块的9种空间预测模式。在一些实施例中,这9种模式中的每一种可以用于独立地处理块,然后使用速率失真优化来选择最佳模式。0038H264标准还规定了使用运动预测/补偿来利用时间预测。相应地,编码器10具有反馈环路,反馈环路包括解量化器28、逆变换处理器30和去块处理器32。去块处。
32、理器32可以包括去块处理器和滤波处理器。这些元件反映了解码器50执行以再现帧/图像片的解码过程。帧存储器34用于存储再现帧。按照这种方式,运动预测基于在解码器50处重构帧是什么,而不基于原始帧,由于编码/解码中涉及的有损压缩,原始帧可能不同于重构帧。运动预测器36使用帧存储器34中存储的帧/图像片作为源帧/图像片,来与当前帧进行比较,以识别相似块。相应地,对于应用了运动预测的宏块或编码单元,变换处理器22编码的“源数据”是出自运动预测过程的残差数据。例如,其可以包括关于参考帧、空间置换或“运动矢量”的信息、以及表示参考块与当前块之间的差异如果存在的残差像素数据。关于参考帧和/或运动矢量的信息可。
33、以不由变换处理器22和/或量化器24处理,而是可以提供给熵编码器26,作为比特流的一部分与量化后的系数一起编码。0039本领域普通技术人员将清楚用于实现视频编码器的细节和可能变形。0040解码器50包括熵解码器52、解量化器54、逆变换处理器56、空间补偿器57和去块处理器60。去块处理器60可以包括去块和滤波处理器。帧缓冲器58提供重构帧以便由运动补偿器62在应用运动补偿时使用。空间补偿器57表示根据先前解码块来恢复特定帧说明书CN104081773A6/21页10内编码块的视频数据的操作。0041熵解码器52接收并解码比特流14,以恢复量化后的系数。在熵解码过程中,还可以恢复辅助信息,如果。
34、适用,一些辅助信息可以提供给运动补偿环路,以用于运动补偿。例如,熵解码器52可以恢复运动矢量和/或针对帧间编码宏块的参考帧信息。0042然后,解量化器54对量化后的系数进行解量化,以产生变换域系数,然后,逆变换处理器56对变换域系数进行逆变换,以重建“视频数据”。将清楚的是,在一些情况下,如对于帧内编码的宏块或编码单元,重建的“视频数据”是用于空间补偿的、相对于帧内先前解码块的残差数据。空间补偿器57根据残差数据和来自先前解码块的像素数据来产生视频数据。在其他情况下,如对于帧间编码的宏块或宏块,来自逆变换处理器56的重建“视频数据”是用于运动补偿的、相对于来自不同帧的参考块的残差数据。在本文中。
35、,空间和运动补偿均可以称为“预测操作”。0043运动补偿器62在帧缓冲器58内定位针对特定帧间编码的宏块或编码单元指定的参考块。运动补偿器62基于针对帧间编码的宏块或编码单元指定的参考帧信息和运动矢量来进行该操作。然后,运动补偿器62提供参考块像素数据,以与残差数据组合,从而得到针对该编码单元/宏块的重构视频数据。0044然后,可以对重构帧/图像片应用去块/滤波过程,如去块处理器60所示。在去块/滤波之后,输出帧/图像片作为解码视频帧16,例如以在显示设备上显示。将理解的是,视频回放机如计算机、机顶盒、DVD或蓝光播放器和/或移动手持设备可以在输出设备上显示之前将解码帧缓存在存储器中。0045。
36、期望符合MPEGH兼容的编码器和解码器将具有这些相同或类似特征中的多个特征。0046量化的变换域系数编码和解码0047如上所述,量化的变化域系数块或集合的熵编码包括针对量化的变换域系数块或集合编码有效位映射例如,有效位系数标志集合。有效位映射是对从DC位置到末位有效位系数位置哪些位置出现非零系数加以表示的块的二元映射。可以根据扫描顺序所述扫描顺序可以是垂直、水平、对角线、Z字形或者任意其他扫描顺序将有效位映射转换为矢量。典型地按照“反向”顺序进行,即,从末位有效位系数开始沿反向方向通过显著性图,直到到达0,0处左上角的有效位系数标志。在本发明描述中,术语“扫描顺序”倾向于表示按照它们本来的方式。
37、处理标志、系数或组的顺序,并且可以包括通常称作“反向扫描顺序”的顺序。0048然后使用可应用的上下文自适应编码方案对每一个有效位系数标志进行熵编码。例如在许多应用中,可以使用上下文自适应二元算术编码CABAC方案。0049利用16X16和32X32有效位映射,针对有效位系数标志的上下文在多数情况下基于邻域有效位系数标志值。在用于16X16和32X32有效位映射的上下文中,存在专用于0,0比特位置以及专用于相邻比特位置在一些示例实施方式中的特定上下文,但是大多数有效位系数标志采用依赖于相邻有效位系数标志的累计值的四个或五个上下文之一。在这些情况下,确定针对有效位系数标志的正确上下文依赖于确定和求。
38、和相邻位置处有效位系数标志的值典型地五个位置,但是在一些情况下可以更多或更少。0050然后,可以对针对那些非零系数的有效位系数级别进行编码。在一个示例实施方说明书CN104081773A107/21页11式中,可以通过首先对具有大于1的绝对值级别的那些非零系数的映射进行编码来编码所述级别。另一个映射可以是对具有大于2级别的那些非零系数进行编码。然后对具有大于2的绝对值的系数的任一个的值或者级别进行编码。在一些情况下,编码的值可以是实际值减去3。还对每一个非零系数的符号进行编码。每一个非零系数具有对非零系数的级别是负还是正加以表示的符号位,尽管在一些情况下可以采用符号位隐藏来减小符号位的个数。0。
39、051一些现有的工作关注于使用多级有效位映射。现在参考图3,其示出了利用示出的多级对角线扫描顺序的16X16变换单元100。将变换单元100划分为16个相邻的4X4系数组或者“有效位系数标志的集合”。在每一个系数组内,在所述组内而不是在整个变换单元100上应用对角线扫描顺序。按照扫描顺序对所述集合或系数组进行处理,在该示例实施方式中所述扫描顺序也是对角线扫描顺序。应该注意的是在该示例中将扫描顺序描述为“反向”扫描顺序;也就是说,扫描顺序示出为从右下系数组沿左下对角线方向朝着左上系数组进行。在一些实施方式中,同样的扫描顺序可以沿其他方向限定;也就是说,沿右上对角线方向进行,并且当在编码或解码期间。
40、应用时可以沿“反向”扫描顺序应用。0052多级有效位映射的使用包含对L1或更高级别的有效位映射进行编码,所述有效位映射表示期待哪些系数组包含非零有效位系数标志以及哪些系数组包含全零有效位系数标志。期待包含非零有效位系数标志的系数组具有它们的已编码有效位系数标志,而不对包含全零有效位系数标志的系数组进行编码除非它们是由于特定例外情况编码的组,因为假设它们包含至少一个非零有效位系数标志。每一个系数组具有有效位系数组标志除非是系数组具有假设值的标志特定情况,例如包含末位有效位系数的组、左上组等。0053注意在一些实施例中系数组可以是非正方形的。例如在一些情况下,可以限定矩形系数组。在一些实施例中,系。
41、数组形状可以依赖于扫描顺序。例如,对角线扫描可以使用正方形系数组,垂直或水平扫描可以使用矩形系数组。0054多级有效位映射的使用便于进行编码和解码的残差数据的模处理。0055用于有效位映射编码和解码的上下文确定0056如上所述,对于16X16和32X32TU同样对于其他较大的TU尺寸,可以用于在位置X对有效位系数标志进行编码和解码的上下文模型是基于相邻位置的有效位系数标志。在一个示例中,上下文模型使得位置X中针对有效位系数标志的上下文基于位置A、B、C、D和E的有效位系数标志之和0057XADCBE0058在有效位系数标志A、B、C、D或E在TU边界之外的情况下,假设它们是零。由于不同上下文用。
42、于对所述位置的标志进行编码,上述上下文限定假设了X不在变换单元内的DC位置0,0。说明书CN104081773A118/21页120059在多级有效位映射的情况下,应该注意的是对于除掉四个位置之外的所有位置,在确定上下文时考虑4X4系数组外部的有效位系数标志。实际上,对于沿最右侧列的位置,使用来自右侧邻域系数组的至少三个有效位系数标志;并且对于沿下方行的位置,使用来自下方邻域系数组的至少三个有效位系数标志。在最极端的情况下,对于系数组的右下位置,上下文确定完全基于来自当前系数组外部的有效位系数;实际上,从右侧邻域起两个、从下方邻域起两个以及从右下对角线邻域起一个。因此,为了处理16个有效位系数。
43、标志的系数组,需要来自三个邻域系数组的17个有效位系数标志00600061在以上图像中,浅灰色4X4系数组包含正在处理的16个有效位系数标志,即,必须确定上下文的有效位系数标志。深灰色表示来自邻域系数组的17个位置,必须访问该邻域系数组以便确定该系数组内的16个有效位系数标志的上下文。这总计等于17/161的开销。为了避免不规则形状的复杂度,在许多实施方式中,这可以作为6X6数据块来处理,使得开销是20/16。这使得设计不大模型化,并且存储器比所需更有效。0062为了减小所要求的开销,本申请提供了一种上下文模型,其中修改上下文邻域也就是说,用于确定上下文的相邻有效位系数标志以避免使用除了系数组。
44、右侧列的相邻有效位系数标志、系数组下方行的相邻有效位系数标志以及与系数组的右下角对角线相邻的相邻有效位系数标志之外的系数组外部的任意有效位系数。因此,将开销减小为9/1600630064为了实现这种更加紧凑的上下文模型,上下文邻域依赖于系数组内的哪个有效位系数位置正在进行评估而改变。具体地,当将要确定的上下文的有效位系数位置在系数组的右侧列或者下方行时,使用修改的上下文邻域;否则使用传统的上下文邻域。也就是说,如果XC43或者如果YC43,那么使用修改的上下文邻域之一来进行上下文确定。0065修改的上下文邻域或模板是相对于正在考虑的有效位系数标志的相邻有效位系说明书CN104081773A12。
45、9/21页13数标志位置的限定集合。也就是说,所述限定的上下文邻域根据相对于正在确定上下文的有效位系数标志的位置,指定了在上下文确定中要使用的有效位系数标志的地点或位置。在一个实施例中,可以使用的特定示例上下文邻域相邻有效位系数标志位置的集合如下,其中有效位系数标志位置的系数基于下述内容006615131061411731284195200067对于位置0,将上下文邻域限定为00680069对于位置1,将上下文邻域限定为00700071注意这种上下文邻域的特征在于4个邻域。这不包括系数组内位置0的有效位系数标志。这是为了允许BAC引擎内标志处理的并行化。在解码器或编码器试图确定位置1的上下文时。
46、,相对于位置0的上下文确定、解码和上下文更新可能还没有完成。因此在该实施例中,当评估针对位置1的上下文时,该模型试图避免使用位置0。0072对于位置3,邻域如下给出0073说明书CN104081773A1310/21页140074对于位置6,在上下文模型中将邻域限定为00750076对于系数组中的位置2和5,将邻域限定为00770078对于位置9,邻域如下给出00790080对于系数组中的所有其他位置,邻域如下给出00810082注意在一些实施例中,为了避免使用沿反向扫描顺序紧邻当前标志之前的标志,说明书CN104081773A1411/21页15位置15左上角可以使用修改为排除位置“C”的通。
47、常邻域。因此,针对邻域15的邻域如下给出00830084这些示例邻域满足以下条件有效位系数标志的上下文不依赖于扫描顺序中紧邻之前处理的有效位系数标志。0085如上所述,在一些实施例中,为了允许上下文推导中的并行化,在上下文推导中可以不使用如上所述的邻域中的所有位置。例如对于位置3,可以使用以下两个邻域之一00860087或者00880089类似地,对于位置2,可以使用以下邻域00900091在另一个实施例中,修改以上上下文,使得在针对位置1、3、6、2、5和9的有效位系数标志的上下文推导中不使用相邻的有效位系数标志“E”。也就是说,对于这些上下文邻域,假设位置“E”中的相邻有效位系数为零。说明。
48、书CN104081773A1512/21页160092在又一个实施例中,系数确定还依赖于相邻系数组的有效位系数组标志。例如,上下文确定可以部分地基于右侧系数组、下方的系数组和/或右下对角线系数组的有效位系数组标志。如上给出的相同上下文邻域限定或其变体可以用于确定上下文,但是可以存在两个上下文集合。相邻系数组的有效位系数组标志可以用于确定是否使用原始上下文或者是否使用新的上下文集合。在原始或新的上下文集合内,可应用的上下文邻域确定选择哪一个上下文。在该示例中,上下文确定是基于以下内容0093对于位置0、4、7、8或1015的有效位系数标志,使用原始上下文集合进行上下文确定。0094对于位置1、3。
49、或6的有效位系数标志,如果右侧邻域系数组的有效位系数组标志是1,则使用新定义的上下文集合;否则使用原始上下文集合。0095对于位置2、5或9的有效位系数标志,如果下方邻域系数组的有效位系数组是1,则使用新定义的上下文集合;否则使用原始上下文集合。0096考虑到这里的描述,本领域普通技术人员应该理解前述上下文邻域的其他变体或实施例。0097通过限制对于当前系数组内位置的上下文模型并且不使用来自相邻系数组的有效位系数标志,可以实现模块化的改进。具体地,这应用于4X4系数组并且不使用来自相邻系数组的有效位系数标志,其中这种相邻组是4X4或者其他大小/形状。在示例实施例中,修改上下文模型以避免使用来自4X4系数组外部的有效位系数标志。通常的上下文邻域用于0,0、0,1、1,0和1,1位置的有效位系数标志。在其他12个位置,即在第三或第四列,或第三或第四行,使用不同的上下文邻域。具体地,对于这12个位置的每一个,使用只依赖于系数组内的有效位系数标志的上下文邻域。在一个实施例中,如下所述,这通过使用修改通常上下文邻域以丢弃当前系数组外部的任意位置来完成的。0098对于位置0,上下文是固定的并且不会参考邻域。在这种情况下,可以将上下文邻域理解为00990100对于位置1,上下文也是固定的并且不依赖于邻域。在一些情况下,可以使用紧邻位置1下方的标志即位置0,但是这种标志沿反向扫描。