用于系数扫描的系数群及系数译码的制作方法
【专利摘要】本发明描述用于视频译码器(例如,视频编码器或视频解码器)的技术,所述视频译码器经配置以从对于多个扫描类型相同的多个上下文样式选择上下文样式。本发明还描述用于视频译码器的技术,所述视频译码器经配置以选择识别用于两个或两个以上扫描类型的上下文的上下文样式。
【专利说明】用于系数扫描的系数群及系数译码
[0001]相关申请案
[0002]本申请案主张以下临时申请案的权利:
[0003]2012年4月16日申请的美国临时申请案第61/625,039号,及
[0004]2012年7月2日申请的美国临时申请案第61/667,382号,所述临时申请案中的每一者的全部内容是以引用方式并入本文中。
【技术领域】
[0005]本发明是关于视频译码,且更特别地,是关于用于在视频译码中译码语法元素的技术。
【背景技术】
[0006]数字视频能力可并入到广泛范围的装置中,所述装置包括数字电视、数字直播系统、无线广播系统、个人数字助理(PDA)、便携式或台式计算机、平板计算机、电子书阅读器、数字相机、数字记录装置、数字媒体播放器、视频游戏装置、视频游戏控制台、蜂窝或卫星无线电话、所谓“智能电话”、视频电话会议装置、视频流式处理装置及其类似者。数字视频装置实施根据视频译码标准而定义的视频压缩技术。数字视频装置可通过实施这些视频压缩技术来较有效率地传输、接收、编码、解码及/或存储数字视频信息。视频译码标准包括 ITU-T H.261、IS0/IEC MPEG-lVisual, ITU-T H.262 或 IS0/IEC MPEG_2Visual、ITU-TH.263、IS0/IEC MPEG_4Visual 及 ITU-T H.264(也被称为 IS0/IEC MPEG-4AVC),包括其可缩放视频译码(SVC)及多视图视频译码(MVC)扩展。此外,高效率视频译码(HEVC)为正由ITU-T视频译码专家组(VCEG)及IS0/IEC动画专家组(MPEG)的视频译码联合合作小组(JCT-VC)开发的视频译码标准。
[0007]视频压缩技术执行空间(图片内)预测及/或时间(图片间)预测以缩减或移除为视频序列所固有的冗余。对于基于块的视频译码,可将视频切片(即,视频帧或视频帧的部分)分割成若干视频块,其也可被称作树块、译码单元(CU)及/或译码节点。图片的经帧内译码(I)切片中的视频块是使用关于所述同一图片中的相邻块中的参考样本的空间预测予以编码。图片的经帧间译码(P或B)切片中的视频块可使用关于所述同一图片中的相邻块中的参考样本的空间预测或关于其它参考图片中的参考样本的时间预测。图片可被称作帧,且参考图片可被称作参考帧。
[0008]空间或时间预测引起用于待译码块的预测性块。残余数据表示原始待译码块与预测性块之间的像素差。经帧间译码块是根据指向形成预测性块的参考样本块的运动矢量及指示经译码块与预测性块之间的差的残余数据予以编码。经帧内译码块是根据帧内译码模式及残余数据予以编码。出于进一步压缩起见,可将残余数据从像素域转换到转换域,从而引起残余转换系数,其接着可被量化。可扫描最初按二维阵列而排列的经量化转换系数以便产生转换系数的一维矢量,且可应用熵译码以实现甚至更多的压缩。
【发明内容】
[0009]大体上,本发明描述用于在转换系数译码中编码及解码表示转换系数的有效性的数据(诸如,有效系数标志及系数群标志)的技术。描述用于确定待用于CABAC(上下文自适应二进制算术译码)译码与转换系数相关联的语法元素的上下文的各种技术。
[0010]举例来说,在一些技术中,视频编码器及视频解码器针对水平扫描、垂直扫描及对角扫描的扫描类型而从相同多个上下文样式选择一上下文样式。换言之,不管垂直地、水平地还是对角地扫描子块,所述视频编码器及所述视频解码器可针对所有三个扫描类型而从所述相同上下文样式选择所述上下文样式。所述视频编码器及所述视频解码器利用所述选定上下文样式内的上下文以分别CABAC编码或CABAC解码转换块的有效性语法元素。
[0011]作为另一实例,在一些技术中,视频编码器及视频解码器可选择上下文样式。在一些实例中,所述视频编码器及所述视频解码器针对所述子块的两个或两个以上扫描类型利用所述选定上下文样式。举例来说,如果水平地扫描所述子块,那么所述视频编码器及所述视频解码器利用所述选定上下文样式,且如果垂直地扫描所述子块,那么所述视频编码器及所述视频解码器利用所述选定上下文样式。
[0012]在一个实例中,本发明描述一种用于解码视频数据的方法。所述方法包含:在位流中接收用于块的当前子块的转换系数的有效性语法元素;针对用于所述当前子块的所述转换系数的所述有效性语法元素的多个扫描类型而从多个二维上下文样式选择上下文样式,其中所述多个二维上下文样式对于所述多个扫描类型中的每一者相同,且其中所述上下文样式中的每一者是与一或多个相邻子块是否包括任何非零转换系数的条件相关联;基于所述选定上下文样式而将上下文指派给所述转换系数的所述有效性语法元素中的每一者;及基于所述经指派上下文来上下文自适应二进制算术译码(CABAC)解码所述当前子块的所述转换系数的所述有效性语法元素。
[0013]在另一实例中,本发明描述一种用于解码视频数据的装置,所述装置包含视频解码器,所述视频解码器经配置以:在位流中接收用于块的当前子块的转换系数的有效性语法元素;针对用于所述当前子块的所述转换系数的所述有效性语法元素的多个扫描类型而从多个二维上下文样式选择上下文样式,其中所述多个二维上下文样式对于所述多个扫描类型中的每一者相同,且其中所述上下文样式中的每一者是与一或多个相邻子块是否包括任何非零转换系数的条件相关联;基于所述选定上下文样式而将上下文指派给所述转换系数的所述有效性语法元素中的每一者;及基于所述经指派上下文来上下文自适应二进制算术译码(CABAC)解码所述当前子块的所述转换系数的所述有效性语法元素。
[0014]在另一实例中,本发明描述一种计算机可读存储媒体,其具有存储在其上的指令,所述指令在执行时使用于解码视频数据的装置的一或多个处理器:在位流中接收用于块的当前子块的转换系数的有效性语法元素;针对用于所述当前子块的所述转换系数的所述有效性语法元素的多个扫描类型而从多个二维上下文样式选择上下文样式,其中所述多个二维上下文样式对于所述多个扫描类型中的每一者相同,且其中所述上下文样式中的每一者是与一或多个相邻子块是否包括任何非零转换系数的条件相关联;基于所述选定上下文样式而将上下文指派给所述转换系数的所述有效性语法元素中的每一者;及基于所述经指派上下文来上下文自适应二进制算术译码(CABAC)解码所述当前子块的所述转换系数的所述有效性语法元素。
[0015]在另一实例中,本发明描述一种用于编码视频数据的方法。所述方法包含:产生用于块的当前子块的转换系数的有效性语法元素;针对用于所述当前子块的所述转换系数的所述有效性语法元素的多个扫描类型而从多个二维上下文样式选择上下文样式,其中所述多个二维上下文样式对于所述多个扫描类型中的每一者相同,且其中所述上下文样式中的每一者是与一或多个相邻子块是否包括任何非零转换系数的条件相关联;基于所述选定上下文样式而将上下文指派给所述转换系数的所述有效性语法元素中的每一者;基于所述经指派上下文来上下文自适应二进制算术译码(CABAC)编码所述当前子块的所述转换系数的所述有效性语法元素;及输出所述经编码有效性语法元素。
[0016]在另一实例中,本发明描述一种用于编码视频数据的装置,所述装置包含视频编码器,所述视频编码器经配置以:产生用于块的当前子块的转换系数的有效性语法元素;针对用于所述当前子块的所述转换系数的所述有效性语法元素的多个扫描类型而从多个二维上下文样式选择上下文样式,其中所述多个二维上下文样式对于所述多个扫描类型中的每一者相同,且其中所述上下文样式中的每一者是与一或多个子块是否包括任何非零转换系数的条件相关联;基于所述选定上下文样式而将上下文指派给所述转换系数的所述有效性语法元素中的每一者;基于所述经指派上下文来上下文自适应二进制算术译码(CABAC)编码所述当前子块的所述转换系数的所述有效性语法元素;及输出所述经编码有效性语法元素。
[0017]在另一实例中,本发明描述一种用于编码视频数据的装置,所述装置包含:用于产生用于块的当前子块的转换系数的有效性语法元素的装置;用于针对用于所述当前子块的所述转换系数的所述有效性语法元素的多个扫描类型而从多个二维上下文样式选择上下文样式的装置,其中所述多个二维上下文样式对于所述多个扫描类型中的每一者相同,且其中所述上下文样式中的每一者是与一或多个相邻子块是否包括任何非零转换系数的条件相关联;用于基于所述选定上下文样式而将上下文指派给所述转换系数的所述有效性语法元素中的每一者的装置;用于基于所述经指派上下文来上下文自适应二进制算术译码(CABAC)编码所述当前子块的所述转换系数的所述有效性语法元素的装置;及用于输出所述经编码有效性语法元素的装置。
[0018]在另一实例中,本发明描述一种用于解码视频数据的方法。所述方法包含:在位流中接收用于块的当前子块的转换系数的有效性语法元素;选择上下文样式,其中所述上下文样式识别用于所述当前子块的两个或两个以上扫描样式的上下文;基于所述选定上下文样式而将上下文指派给用于所述当前子块的所述转换系数的所述有效性语法元素;及基于所述经指派上下文来上下文自适应二进制算术译码(CABAC)解码所述当前子块的所述转换系数的所述有效性语法元素。
[0019]在另一实例中,本发明描述一种用于解码视频数据的装置,所述装置包含视频解码器,所述视频解码器经配置以:在位流中接收用于块的当前子块的转换系数的有效性语法元素;选择上下文样式,其中所述上下文样式识别用于所述当前子块的两个或两个以上扫描样式的上下文;基于所述选定上下文样式而将上下文指派给用于所述当前子块的所述转换系数的所述有效性语法元素;及基于所述经指派上下文来上下文自适应二进制算术译码(CABAC)解码所述当前子块的所述转换系数的所述有效性语法元素。
[0020]在另一实例中,本发明描述一种计算机可读存储媒体,其具有存储在其上的指令,所述指令在执行时使用于解码视频数据的装置的一或多个处理器:在位流中接收用于块的当前子块的转换系数的有效性语法元素;选择上下文样式,其中所述上下文样式识别用于所述当前子块的两个或两个以上扫描样式的上下文;基于所述选定上下文样式而将上下文指派给用于所述当前子块的所述转换系数的所述有效性语法元素;及基于所述经指派上下文来上下文自适应二进制算术译码(CABAC)解码所述当前子块的所述转换系数的所述有效性语法元素。
[0021]在另一实例中,本发明描述一种用于编码视频数据的方法。所述方法包含:产生用于块的当前子块的转换系数的有效性语法元素;选择上下文样式,其中所述上下文样式识别用于所述当前子块的两个或两个以上扫描样式的上下文;基于所述选定上下文样式而将上下文指派给用于所述当前子块的所述转换系数的所述有效性语法元素;基于所述经指派上下文来上下文自适应二进制算术译码(CABAC)编码所述当前子块的所述转换系数的所述有效性语法元素;及输出所述经编码有效性语法元素。
[0022]在另一实例中,本发明描述一种用于编码视频数据的装置,所述装置包含视频编码器,所述视频编码器经配置以:产生用于块的当前子块的转换系数的有效性语法元素;选择上下文样式,其中所述上下文样式识别用于所述当前子块的两个或两个以上扫描样式的上下文;基于所述选定上下文样式而将上下文指派给用于所述当前子块的所述转换系数的所述有效性语法元素;基于所述经指派上下文来上下文自适应二进制算术译码(CABAC)编码所述当前子块的所述转换系数的所述有效性语法元素;及输出所述经编码有效性语法元素。
[0023]在另一实例中,本发明描述一种用于编码视频数据的装置,所述装置包含:用于产生用于块的当前子块的转换系数的有效性语法元素的装置;用于选择上下文样式的装置,其中所述上下文样式识别用于所述当前子块的两个或两个以上扫描样式的上下文;用于基于所述选定上下文样式而将上下文指派给用于所述当前子块的所述转换系数的所述有效性语法元素的装置;用于基于所述经指派上下文来上下文自适应二进制算术译码(CABAC)编码所述当前子块的所述转换系数的所述有效性语法元素的装置;及用于输出所述经编码有效性语法元素的装置。
[0024]在随附图式及以下描述中阐明一或多个实例的细节。从所述描述及所述图式且从权利要求书,其它特征、目标及优势将显而易见。
【专利附图】
【附图说明】
[0025]图1为说明用于视频块的系数群及扫描的实例的概念图。
[0026]图2A到2B为说明用于视频块的系数群及扫描的实例的概念图。
[0027]图3A到3B为说明用于视频块的系数群及扫描的实例的概念图。
[0028]图4为说明视频块中的转换系数与同视频块相关联的有效性映射之间的关系的概念图。
[0029]图5A到为说明用于针对子块中的系数的上下文指派的样式的实例的概念图。
[0030]图6为说明可利用本发明所描述的帧间预测技术的实例视频编码及解码系统的框图。
[0031]图7为说明可实施本发明所描述的帧间预测技术的实例视频编码器的框图。
[0032]图8为说明可实施根据本发明的用于熵编码预测性语法元素的技术的熵编码器的实例的框图。
[0033]图9A到9D为说明用于针对子块中的系数的上下文指派的样式的实例的概念图。
[0034]图10为说明用于针对子块中的系数的上下文指派的样式的实例的概念图。
[0035]图11为说明根据本发明的技术来编码预测性语法元素的流程图。
[0036]图12为说明根据本发明的技术来编码预测性语法元素的流程图。
[0037]图13为说明可实施本发明所描述的帧间预测技术的实例视频解码器的框图。
[0038]图14为说明可实施根据本发明的用于解码预测性语法元素的技术的熵解码器的实例的框图。
[0039]图15为说明根据本发明的技术来解码预测性语法元素的流程图。
[0040]图16为说明根据本发明的技术来解码预测性语法元素的流程图。
【具体实施方式】
[0041]根据一些实例而设计的视频译码器(诸如,高效率视频译码(HEVC)标准的工作草稿 7(WD7)(在本文中被称作 HEVC WD7 且可得自 http://phenix.1t-sudparis.eu/jet/doc_end_user/documents/9_Geneva/wglI/JCTVC-11003-v5.zip)中提议的视频译码器)针对非正方形系数群相比于针对4X4子块系数群可需要不同数据存取。这种情形可在视频译码器的实施期间强加额外硬件及软件复杂性。如果移除非正方形系数群且根据对角、垂直或水平扫描类型中的一者来扫描4X4子块系数,那么可缩减额外硬件及软件复杂性。然而,当使用根据HEVC WD7而定义的上下文导出来将上下文指派给指示子块是否包括有效系数的语法元素时,这种修改可缩减译码效率。因此,本发明描述用于指派用于指示子块是否包括有效系数的语法元素的上下文的技术,其可提供改善型译码效率。
[0042]举例来说,在这些其它技术(即,未必根据本发明所描述的技术的技术)中的一些中,针对用于转换单元(TU或转换块)的可能大小的子集使用上下文样式来译码指示转换单元的转换系数的有效性的语法元素(被称作有效性语法元素)。此外,这些其它技术针对有限扫描类型使用上下文样式。因此,因必须确定TU的大小以使得可进行关于是否可使用上下文样式的确定而浪费计算资源。
[0043]在本发明所描述的技术中,针对多种不同大小的TU而将相同上下文样式用于多个扫描类型(例如,水平扫描、垂直扫描及对角扫描)。举例来说,视频编码器或视频解码器可从用于8X8TU的4X4子块的相同多个上下文样式选择一上下文样式,而不管用于4X4子块的扫描类型(例如,不管4X4子块被水平地扫描、垂直地扫描还是对角地扫描)。如更详细地所描述,所述多个上下文样式中的每一者是与一或多个相邻子块是否包括任何有效转换系数(例如,任何非零转换系数)的条件相关联。如也更详细地所描述,本发明描述供视频编码器或视频解码器选择上下文样式的多个上下文样式的特性。如此,由于视频编码器及视频解码器可针对用于包括8X8块(即,8X8TU)的4X4子块的子块的有效性语法元素的多个扫描类型(例如,水平扫描、垂直扫描及对角扫描)使用相同上下文样式来确定用于有效性语法元素的上下文,故可实现计算效率。
[0044]在以上实例中,上下文样式可为二维上下文样式。然而,本发明的方面不受到如此限制。在一些实例中,视频编码器及视频解码器选择上下文样式(例如,被存储为一维上下文样式的上下文样式)。举例来说,可将一些上下文样式定义为二维上下文样式。可有可能从二维上下文样式预计算一维上下文样式。预计算可加速编码及解码进程。举例来说,可将转换系数从二维块变换为一维块。在经预计算的一维样式的情况下,相比于在一维块上使用二维上下文样式,如果使用一维样式来编码或解码有效性语法元素,那么可实现编码及解码效率,这是因为将转换系数变换到一维块。应理解,从二维上下文样式预计算一维上下文样式并不在每一实例中被需要,且不应被视为确定一维上下文样式的有限方式。
[0045]可存在可计算一维上下文样式的各种方式。作为一个实例,对角地扫描、水平地扫描及垂直地扫描二维上下文样式以产生三个一维上下文样式(每一扫描类型一个一维上下文样式)。在本发明所描述的技术中,二维上下文样式可包含缩减所产生的一维上下文样式的总数的特性。
[0046]举例来说,如果存在各自经水平地、垂直地及对角地扫描以产生一维上下文样式的四个二维上下文样式,那么将存在总共12个一维上下文样式。在一些实例中,四个二维上下文样式可包括以使得两个不同扫描引起相同一维上下文样式的方式而排列的上下文。
[0047]举例来说,二维上下文样式中的一者可包括在经水平地或垂直地扫描时引起相同一维上下文样式的上下文。作为另一实例,二维上下文样式中的一者可包括在经水平地扫描时引起一维上下文样式的上下文,所述一维上下文样式为在垂直地扫描二维上下文样式中的另一者时将引起的相同一维矢量。作为另一实例,二维上下文样式中的一者可包括在经水平地、垂直地及对角地扫描时引起相同一维上下文样式的上下文。
[0048]如此,可在由上下文样式的不同扫描引起的所得一维上下文样式中存在重叠,这种情形缩减需要存储的一维上下文样式的总数。这种情形允许针对子块的两个或两个以上扫描类型使用一个上下文样式。
[0049]举例来说,如上文所描述,二维上下文样式中的一者包括在经水平地、垂直地及对角地扫描时引起相同一维上下文样式的上下文。因此,对于这种上下文样式,存储仅一个一维上下文样式,这是因为所述一维上下文样式对于所有三个类型的上下文样式扫描相同。
[0050]作为另一实例,二维上下文样式中的一者包括在经水平地或垂直地扫描时引起相同一维上下文样式的上下文。在这种状况下,存储用于对角扫描的一维上下文样式,且存储用于水平扫描或垂直扫描而非这两者的一维上下文样式,这是因为由水平及垂直扫描引起的一维上下文样式相同。在这些实例中,可预计算及存储从二维上下文样式计算的这些一维上下文样式,这种情形可加速编码及解码进程。
[0051]此外,在一些实例中,未必需要从二维上下文样式计算一维上下文样式。更确切地,可预选择及存储所述一维上下文样式作为一维上下文样式。即使在这些实例中,一维上下文样式也可识别用于当前子块的两个或两个以上扫描类型的上下文。
[0052]数字视频装置实施视频压缩技术以较有效率地编码及解码数字视频信息。可根据视频译码标准(诸如,当前在JCT-VC的开发中的HEVC标准)来定义视频压缩技术。HEVC标准化努力是基于被称作HEVC测试模型(HM)的视频译码装置的模型。HM推测视频译码装置相对于在开发先前视频译码标准(例如,ITU-T H.264/AVC)期间可用的视频译码装置的能力改善。举例来说,H.264提供九个帧内预测编码模式,而HEVC提供多达三十五个帧内预测编码模式。另外,作为HEVC标准化努力的部分,JCT-VC已定义可用以评估对HEVC标准的草稿的个别修改可如何影响总体译码性能的测试条件。用以评估译码性能的一个准则为所谓BD速率。
[0053]被称作“HEVC工作草稿7 ”或“WD7 ”的HEVC的新近工作草稿(WD)被描述于 Bross 等人的文档 JCTVC-11003_d4 的 “High efficiency video coding (HEVC) textspecificat1n draft 7” 中,ITU-T SG16WP3 及 IS0/IEC JTC1/SC29/WG11 的视频译码联合合作小组(JCT-VC),瑞士日内瓦,2012年4月到5月,第9次会议。另外,HEVC的另一新近工作草稿——工作草稿9(WD9)——被描述于Bross等人的文档JCTVC_K1003_v7的“High Efficiency Video Coding(HEVC)Text Specificat1n Draft 9” 中,ITU-T SG16WP3及ISO/IEC JTC1/SC29/WG11的视频译码联合合作小组(JCT-VC),中国上海,2012年10月,第 11 次会议。WD9 的最新版本是得自 http://phenix.1nt-evry.fr/jet/doc_end_user/documents/12_Geneva/wglI/JCTVC-L1003-v29.zip。
[0054]虽然本发明的技术是关于ITU-T H.264标准及即将到来的HEVC标准予以描述,但本发明的技术通常适用于任何视频译码标准。出于说明的目的,本申请案中将描述根据开发中HEVC标准的目前所提议方面中的一些的译码。然而,本发明所描述的技术也可有用于及应用于其它视频译码进程,诸如,根据ITU-T H.264或其它标准而定义的视频译码进程或专有视频译码进程。
[0055]视频序列通常包括一系列视频帧,也被称作图片。图片群(GOP)通常包含所述视频中贞中的一系列一或多个视频图片。GOP可在GOP的标头中、在图片中的一或多者的标头中或在别处包括语法数据,所述语法数据描述包括在GOP中的图片的数目。每一帧可包括多个切片。图片的每一切片可包括描述用于相应切片的译码模式的切片语法数据。每一切片可包括多个视频块或译码单元。视频块可具有固定或变化大小,且其大小可根据指定译码标准而不同。
[0056]可通过应用空间(帧内)预测及/或时间(帧间)预测技术以缩减或移除为视频序列所固有的冗余来编码视频块。空间预测可被称作“帧内模式”(I模式),且时间预测可被称作“帧间模式”(P模式或B模式)。预测技术产生视频数据的预测性块,其也可被称作参考样本块。比较待译码的原始视频数据块与预测性块。原始视频数据块与预测性块之间的差可被称作残余数据。残余数据通常为预测性块及原始视频数据块的像素值之间的差的阵列。
[0057]可在译码进程期间将转换(例如,离散余弦转换(DCT)或概念上相似转换、整数转换、小波转换,或另一类型的转换)应用于残余数据以产生一组对应转换系数。因此,可通过对转换系数执行反转换且将残余数据加到预测性块来重建原始视频块。也可量化转换系数。量化通常是指转换系数经量化以可能地缩减用以表示所述系数的数据的量而提供进一步压缩的进程。即,可根据经定义位深度而将转换系数的值表示为位字符串。举例来说,可在量化期间将η位值降值舍入到m位值,其中m小于η。在一些状况下,量化可引起将低值转换系数表示为零。经量化转换系数可被称作转换系数级别。
[0058]在量化之后,可根据诸如内容自适应可变长度译码(CAVLC)、上下文自适应二进制算术译码(CABAC)或概率区间分割熵译码(PIPE)的熵译码方法来熵编码经量化转换系数。也可熵译码诸如定义预测模式的语法元素的语法元素。为了执行CAVLC,视频编码器可选择用于待传输符号的可变长度代码。VLC中的代码字可经构造成使得相对较短代码对应于较可能符号,而较长代码对应于较不可能符号。为了执行CABAC,视频编码器可将上下文模型内的上下文指派给待传输符号。
[0059]对于一些熵编码技术,可使用预定义扫描顺序来扫描经量化转换系数以产生可被熵编码的经量化转换系数的系列化矢量。因此,根据预测性视频译码,可将包含像素差值的残余值转换成转换系数、进行量化及扫描以产生系列化转换系数以用于熵译码。
[0060]对于视频译码,作为一个实例,可将视频帧分割成一或多个切片,其中切片包括连续整数数目个译码单元。译码单元(CU)通常是指充当出于视频压缩而被应用各种译码工具的基本单元的矩形图像区域。一般而言,本发明的技术是关于转换、量化、扫描及熵译码⑶的数据。⑶通常为正方形,且可被视为相似于诸如ITU-T H.264的其它视频译码标准所描述的所谓“宏块”。CU可被视为视频样本值阵列。视频样本值也可被称作像元或像素。CU通常具有被表示为Y的亮度分量,及被表示为U及V的两个色度分量。所述两个色度分量也可分别被表示为Cb及(;分量。可根据水平及垂直样本的数目来定义CU的大小。因此,可将⑶描述为NXN或NXM⑶。在本发明中,“NXN”与“N乘N”可互换式地用以指在垂直及水平维度方面的视频块的像素尺寸,例如,16X16像素或16乘16像素。一般而言,16X16块将在垂直方向上具有16个像素(y = 16)且在水平方向上具有16个像素(x = 16) 0同样地,NXN块通常在垂直方向上具有N个像素且在水平方向上具有N个像素,其中N表示非负整数值。块中的像素可以行及列而排列。此外,块未必需要在水平方向上与在垂直方向上具有相同数目个像素。举例来说,块可包含NXM像素,其中M未必等于N。
[0061]为了实现较好译码效率,⑶可取决于视频内容而具有可变大小。根据HEVCJi流内的语法数据可定义最大译码单元(LCU),其在样本的数目方面为用于帧或图片的最大⑶。通常,IXU包括64X 64亮度样本,但IXU的大小可取决于译码应用而变化。IXU也可被称作“译码树单元”。可通过递归式地将IXU分割成若干子⑶来产生其它尺寸的⑶。可使用被称为“残余四叉树”(RQT)的四叉树结构来执行IXU成为子⑶的分割。因此,IXU也可被称作树块。根据四叉树分割,四叉树的根节点(诸如,LCU)可拆分成四个较小节点,且每一子节点又可进一步拆分成另四个较小节点。用于位流的语法数据可定义LCU可被拆分的最大次数,被称作⑶深度。因此,位流也可定义最小译码单元(S⑶)。通常,S⑶包括8X8亮度样本。因此,在一个实例中,可通过将64X 64IXU分割成四个子⑶来产生四个32 X 32⑶,且所述32 X 32⑶中的每一者可进一步分割成十六个8 X 8⑶。
[0062]⑶可包括一或多个关联预测单元(PU)及/或转换单元(TU)。一般而言,包括用以产生用于CU的视频数据的预测性块的数据。也可被称作“预测分区”。与CU相关联的语法元素可描述将CU分割成一或多个PU。可为正方形或非正方形形状。包括在中的类型数据可取决于CU被跳过或直接模式编码、帧内预测模式编码还是帧间预测模式编码而不同。举例来说,当CU将被帧内模式编码时,可包括描述帧内预测模式的数据,且当CU将被帧间模式编码时,可包括定义用于PU的运动矢量的数据。举例来说,定义用于PU的运动矢量的数据可描述运动矢量的水平分量、运动矢量的垂直分量、用于运动矢量的分辨率(例如,四分之一像素精确度或八分之一像素精确度)、运动矢量所指向的参考图片,及/或用于运动矢量的参考图片列表。在使用CU的PU的预测之后,视频译码器可计算CU的残余数据。
[0063]HM支持以各种I3U大小的预测。假设特定⑶的大小为2NX2N,那么HM支持以2NX2N或NXN的I3U大小的帧内预测及以2NX 2N、2NXN、NX 2N或NXN的对称I3U大小的帧间预测。HM也支持用于以2N X nU、2N X nD、nL X 2N及nR X 2N的PU大小的帧间预测的不对称分割。在不对称分割中,CU的一个方向未分割,而另一方向分割成25%及75%。对应于25%分区的⑶的部分是由“η”后面跟着“上”、“下”、“左”或“右”的指示进行指示。因此,举例来说,“2NXnU”是指被水平地分割的2ΝΧ2Ν⑶,其中2NX0.5N I3U是在顶部上且2NX1.5N I3U是在底部上。
[0064]如上文所描述,可将转换应用于残余数据以将残余数据从像素域变换到转换域。HEVC标准允许根据TU的转换,其对于不同CU可不同。TU通常是基于给定CU内的PU的大小予以定大小,但可不总是为这种状况。TU的大小可与CU的大小相同,或可将CU分割成多个TU。TU通常为相同大小或小于PU。在HEVC中,与CU相关联的语法元素可描述根据四叉树而将⑶分割成一或多个TU。
[0065]一般而言,TU用于将残余数据转换成转换系数的进程中。TU可为正方形或非正方形形状。举例来说,可将8X8残余值的块转换成一组8X8转换系数。这组转换系数更通常可被称作转换块。举例来说,可对与16X16样本阵列相关联的残余值执行一种转换,或可对四个8X8样本阵列中的每一者执行转换。较大TU通常提供较多压缩,其中在经重建图像中具有较可感知的“块效应(blockiness) ”,而较小TU通常提供较少压缩,其中具有较不可感知的“块效应”。TU大小的选择可基于速率-失真优化分析。可用TU大小可包括32X32、16X16及8X8TU。应注意,本发明通常使用术语“视频块”以指⑶的译码节点。在一些特定状况下,本发明也可使用术语“视频块”以指树块,即,IXU或⑶,其包括译码节点以及PU及TU。
[0066]概念上,转换块或TU可为转换系数的二维(2D)矩阵。如上文所描述,视频译码器可对转换块执行量化操作。可使用预定义扫描顺序来扫描经量化转换系数以产生经量化转换系数的系列化矢量。经量化转换系数的系列化矢量接着可经熵编码以提供进一步压缩。
[0067]在一些实例中,对于16 X 16及32 X 32TU,使用4X4子块扫描以产生经量化转换系数的系列化矢量。举例来说,使用右顶部到左底部扫描而在反向方向上扫描子块。在子块内,也使用右底部到左顶部扫描而在反向方向上扫描转换系数。这种类型的扫描可被称作对角4X4子块扫描。在一些实例中,8X8TU也可使用对角4X4子块扫描作为一种可能扫描。图1为说明用于视频块的系数群及扫描的实例的概念图。图1说明划分成四个4X4子块的8X8视频块,其中对所述子块中的每一者执行对角扫描。子块也可被称作系数群。在图1中,使用较粗内部线来识别及分离每一系数群。如图1所说明,存在四个系数群,且每一系数群包括16个系数。使用方向箭头来展示图1中的子块内的扫描。
[0068]除了对角4X4子块扫描以外,模式相依系数扫描也允许针对一些8X8帧内预测模式的非正方形水平及垂直扫描。对于8X8TU的非正方形水平及垂直扫描,将系数群定义为用于非正方形水平扫描的8X2矩形(即,在扫描顺序中的16个连续系数)。以相似方式,将系数群定义为用于非正方形垂直扫描的2X8矩形。图2A到2B分别说明具有8X8TU的水平及垂直扫描的非正方形系数群。在图2A到2B中,使用较粗内部线来识别及分离每一系数群。如图2A到2B所说明,存在四个系数群,且每一系数群包括16个系数。在图2A中,使用右边到左边扫描来扫描子块。如图2B所说明,使用底部到顶部扫描来扫描子块。使用方向箭头来展示图2A到2B中的子块内的扫描。应注意,根据HEVC WD7而设计的视频译码器针对非正方形系数群相比于针对规则4X4子块系数群可需要不同数据存取。这种情形可在视频译码器的实施期间强加额外硬件及软件复杂性。
[0069]因此,除了对角4X4子块扫描以及非正方形水平及垂直扫描以外,也已针对8X8TU的4X4子块提议水平及垂直子块扫描作为非正方形水平及垂直扫描的替代例。子块水平及垂直扫描的实例被描述于以下各者中:(l)Rosewarne,C.、Maeda,Μ.的“Non-CEl1:Harmonisat1n of 8x8TU residual scan”,JCT-VC Contribut1nJCTVC-H0145 ; (2) Yu, Y.、Panusopone, K.、Lou, J.、Wang, L.的 “Adaptive Scan for LargeBlocks for HEVC”,JCT-VC Contribut1n JCTVC-F569 ;及(3)2012 年 7 月 17 日申请的美国专利申请案第13/551,458号,其中的每一者是据此以引用方式并入。图3A到3B中说明可用于8X8TU的两个实例水平及垂直4X4子块扫描。在图3A到3B中,使用较粗内部线来识别及分离每一系数群。相似于图1所说明的群,在图3A到3B中,存在使用右顶部到左底部扫描而在反向方向上被扫描的四个4X4系数群。使用方向箭头来说明子块内的扫描。
[0070]应注意,在使用水平4X4子块扫描及垂直4X4子块扫描作为非正方形水平及垂直扫描的替代例时,根据提议JCTVC-HO145,相比于使用对角4 X 4子块、水平8 X 2矩形扫描及垂直2 X 8矩形扫描的组作为用于8 X 8TU的可能扫描,使用对角4 X 4子块、水平4 X 4子块扫描及垂直4X4子块扫描的组作为8X8TU的可能扫描已针对帧内配置引起0.3%的性能BD速率损失。即,在一些测试状况下,用图3A到3B所说明的扫描来取代图2A到2B所说明的扫描已将译码性能减低达0.3%。
[0071]在视频译码的实例中,使用五个译码遍次来译码每一子块,S卩,(I)有效性遍次、
(2)大于I遍次、(3)大于2遍次、(4)正负号遍次,及(5)系数级别剩余遍次。有效性译码是指产生语法元素以指示子块内的系数中的任一者是否具有I或更大的值。即,具有I或更大的值的系数被视为有效。有效性的译码包括两个部分。对于有效性译码的第一部分,针对每一像素群(即,4X4子块)译码或推断语法元素,其指示在所述子块中是否存在任何非零系数。这个语法元素的一个实例被称作系数群标志(CGF)。在HEVC WD7中,CGF可由语法元素significant_coeff_group_flag表示。在HEVC WD9中,系数群标志的语法元素名称已从 significant_coeff_group_f lag 改变到 coded_sub_block_f lag (其由于系数群为 4X4子块而也可被称作CSBF)。本发明将系数群标志称作CGF,其可对应于significant_coefT_group_flag 或 coded_sub_block_f lag 语法元素中的任一者。
[0072]对于有效译码的第二部分,如果CGF为1(即,在子块中存在非零系数),那么针对系数群中的每一转换系数产生指示所述转换系数是否有效(即,为I或更大的值)的语法元素。这些语法元素的实例被称作有效性语法元素,其实例为有效系数标志。在HEVCWD7及WD9中,有效系数标志是由语法元素significant_coefficient_flag表示。
[0073]换言之,为了译码系数的有效性,译码两个类型的语法元素。针对每一译码群(即,子块)译码第一语法元素(例如,CGF),其指示在译码群中是否存在任何非零系数。如果第一语法元素指示在译码群中存在至少一个非零系数,那么针对译码群中的每一系数译码第二语法元素(例如,有效性语法元素或significant_coefficient_flag),其指示系数为零还是非零系数。
[0074]大于I遍次产生用以指示有效系数的绝对值是否大于I的语法元素。在一个实例中,被称作coeff_abs_level_greaterl_f lag (缩写为“grlFlag” )的语法元素提供关于有效系数是否具有大于I的绝对值的指示。以相似方式,大于2遍次产生用以指示大于I系数的绝对值是否大于2的语法元素。在一个实例中,被称作coeff_abs_level_greater2_flag(缩写为“gr2Flag”)的语法元素提供关于大于I系数是否具有大于2的绝对值的指
/Jn ο
[0075]正负号遍次产生用以指示用于有效系数的正负号信息的语法元素。在一个实例中,被称作c0eff_sign_flag(缩写为“signFlag”)的语法元素可指示用于有效系数的正负号信息。举例来说,signFlag的值O可指示正号,而值I可指示负号。系数级别剩余遍次产生指示转换系数级别的剩余绝对值(例如,余数值)的语法元素。在一个实例中,被称作coeff_abs_level_remain (缩写为“levelRem”)的语法元素可提供这个指示。作为一个实例,除非针对任何给定系数存在gr2Flag,否则可不发信levelRem语法元素,但并不总是需要此类限制。在一个实例中,具有值level的系数可被译码为(abs (Ievel)-X),其中X的值取决于grlFlag及gr2Flag的存在。举例来说,如果存在gr2Flag,那么x可等于3。在一些实例中,对于存在余数的任何系数,值level可被译码为(abs(level)-3)。应注意,五遍次途径仅仅为可用于译码转换系数的一种实例技术,且本文所描述的技术可同等地适用于其它技术。
[0076]另外,除了上文所描述的语法元素以外,也可在位流中发信在TU内的最后有效系数的位置。在TU内的最后有效系数的位置取决于与TU相关联的扫描顺序。出于识别最后有效系数的目的的扫描顺序可为上文所描述的扫描顺序或另一预定扫描顺序中的任一者。在HEVC WD7中,通过指定X坐标值及y坐标值来指示在块内的最后有效系数的位置。可使用 last_significant_coeff_x_prefix 及 last_significant_coeff_x_suffix i吾法兀素来?旨
X 坐f示值。可使用 last_significant_coeff_y—prefix 及 last_significant_coeff_y_suffix语法元素来指示I坐标值。
[0077]如此,上文所描述的语法元素可用以发信转换系数的所谓有效性映射,其中有效性映射说明具有TU的有效系数的位置。图4为说明转换块中的转换系数与同转换映射相关联的有效性映射之间的关系的概念图。如图4所说明,有效性映射包括“I”以指示在转换块中的有效系数值(即,大于O的值)的每一实例。此外,在这个实例中,CFG的值为“I”以指示在译码群(即,子块)中存在至少一个非零系数。
[0078]举例来说,在图4中,左边的子块说明实例转换系数(例如,经量化转换系数)。如所说明,在子块中存在至少一个非零系数,因此,CFG为I。此外,在图4中,右边的有效性映射包括用于子块中的每一转换系数的有效性语法元素(例如,有效系数标志)。举例来说,针对所有对应转换系数的有效系数标志值I指示这些转换系数的值并非零(即,非零转换系数),且针对所有对应转换系数的值O指示这些转换系数的值为零。
[0079]在HEVC中,可使用CABAC(上下文自适应二进制算术译码)来熵译码与经量化转换系数有关的语法元素,诸如,上文所描述的significant_coeff_group_f lag及significant_coefficient_flag以及其它语法元素。为了将CABAC译码应用于语法元素,可将二进制化应用于语法元素以形成一系列一或多个位,其被称作“二进制”。此外,译码上下文可与语法元素的二进制相关联。译码上下文可识别译码二进制具有特定值的概率。举例来说,译码上下文可指示译码O值二进制(在这种情况下,表示“最可能符号”的实例)的0.7概率,及译码I值二进制的0.3概率。在识别译码上下文之后,可基于所述上下文来算术上译码二进制。在一些状况下,与特定语法元素或其二进制相关联的上下文可取决于其它语法元素或译码参数。
[0080]举例来说,CGF上下文导出取决于对应系数群的扫描顺序。举例来说,对于根据对角4X4子块扫描而扫描的系数群(例如,在16X 16及32X32TU以及一些8X8TU的状况下),CGF上下文(即,语法元素significant_coeff_group_f lag的上下文)取决于在所述系数群右边的子块的CGF(CGFk)及在所述系数群下方的子块的CGF(CGFb)。对于图2A到2B所说明的非正方形水平及垂直扫描(例如,在8 X 8TU的那种状况下),系数群的CGF上下文仅取决于先前经译码系数群的CGF。对于水平扫描,先前经译码系数群是指在所述系数群下方的经译码系数群。对于垂直扫描,先前系数群是指在所述系数群右边的系数群。
[0081]应注意,在HEVC WD7中,因为CGF的上下文导出对于对角4X4子块扫描(B卩,取决于CGFk&CGFb)与对于非正方形水平及垂直扫描(即,仅取决于先前CGF)不同,所以对于针对4X4对角子块系数群的CGF上下文导出与针对非正方形水平及垂直扫描的CGF上下文导出需要不同逻辑路径,这种情形也可强加硬件及软件复杂性。
[0082]在HEVC WD7中,指派给significant_coefficient_f lag语法元素的上下文取决于以下各者:(I)在4X4子块内的转换系数的位置、(2)在当前子块右边的子块的CGF(CGFk)及在当前子块下方的子块的CGF(CGFb),及(3)子块是否含有DC系数。全文据此以引用方式并入的 Kumakura, T.、Fukushima, S.的 “Non_CE3 !Simplified context derivat1n forsignificant map”(JCT_VC Contribut1n JCTVC-10296)提供一个实例,其中取决于CGFK&CGFb的值及在子块内的系数的位置而向4X4子块内的系数指派上下文。
[0083]图5A到说明用于取决于CGFK& CGFb的4X4子块的有效系数标志的上下文指派的四个不同样式。应注意,在图5A到中,虽然上下文编号开始于0,但这种情形是出于说明目的且不反映HEVC WD7中使用的实际上下文编号,而仅反映相对上下文编号。如图5A到所说明,每一上下文样式包括16个上下文值,其中每一上下文值对应于位于相应位置中的系数。另外,如图5A到所说明,上下文样式是基于值予以确定。如此,图5A到中的样式说明实例,其中基于在4X4子块内的转换系数的位置以及CGFk及CGFb的值而将上下文指派给有效系数标志。应注意,图5A到所说明的上下文指派对于图3A到3B所说明的水平或垂直子块扫描基于在使用所述扫描而产生的矢量内有效系数的可能位置并非最佳。
[0084]另外,在一个实例中,可基于对应子块是否包括DC系数来修改上下文样式内的上下文的值。作为一个实例,DC系数可为转换的第一系数,且通常可指示整个块中的平均量能量。对于亮度转换系数,如果4X4子块不含有DC系数,那么可应用上下文偏移。在一些实例中,应用为3的上下文偏移。作为实例,如果4X4子块不含有DC系数且从上下文样式导出的上下文指派为2,那么所使用的实际上下文可为5。换言之,在两种状况下,上下文导出进程可确切地相同(即,基于CGFk&CGFb的值而从一组样式选择样式),但针对DC及非DC子块使用不同组上下文。即,DC及非DC子块不共享相同上下文。
[0085]本发明使用术语“DC子块”以指块(例如,TU)的包括所述块的DC系数的子块。举例来说,假设TU的DC系数为最左上部系数,那么TU的包括DC系数的最左上部子块可被称作DC子块。另外,在一个实例中,对于色度转换系数,不应用基于4X4子块是否含有DC系数的上下文偏移确定。即,对于色度转换系数,针对DC子块及非DC子块共享上下文。因此,在一些状况下,针对与色度分量相关联的转换系数使用仅三个上下文。另外,在一些状况下,DC系数可总是使用针对所有TU大小被共享的分离上下文。另外,在HEVC WD7中,针对8X8TU的有效性映射上下文导出使用可缩放8X8表用于上下文指派,且因而,用于8X8TU的有效性映射译码不与用于16 X 16及32X32TU的有效性映射上下文导出统一。
[0086]本发明描述用于译码与包括在转换块中的转换系数相关联的语法元素(诸如,译码群标志语法元素(即,significant_coeff_group_flag 或 coded_sub_block_flag)及有效系数语法元素(即,significant_coefficient_flag))的若干技术。详言之,本发明描述可使用图3A到3B中的扫描顺序作为图2A到2B所说明的非正方形系数群的替代例的技术。另外,本发明描述用于与转换系数相关联的语法元素的上下文导出技术,其中所述技术是基于图3A到3B所说明的子块扫描的特性。在一个实例中,当使用图3A到3B所说明的扫描以代替图2A到2B所说明的扫描时,上下文导出技术可减轻BD速率性能损失,如上文所描述。
[0087]图6为说明可经配置以利用本发明所描述的技术来指派上下文的实例视频编码及解码系统10的框图。如图6所示,系统10包括源装置12,其产生待在稍后时间由目的地装置14解码的经编码视频数据。源装置12及目的地装置14可包含广泛范围的装置中的任一者,包括台式计算机、笔记本(例如,便携式)计算机、平板计算机、机顶盒、诸如所谓“智能”电话的电话手机、所谓“智能”板、电视、相机、显示装置、数字媒体播放器、视频游戏控制台、视频流式处理装置或其类似者。在一些状况下,源装置12及目的地装置14可经装备用于无线通信。然而,本发明的技术未必限于无线应用或环境。所述技术可应用于视频译码以支持多种多媒体应用中的任一者,诸如,空中电视广播、有线电视传输、卫星电视传输、流式处理视频传输(例如,经由因特网)、供存储在数据存储媒体上的数字视频的编码、存储在数据存储媒体上的数字视频的解码,或其它应用。在一些实例中,系统10可经配置以支持单向或双向视频传输以支持诸如视频流式处理、视频播放、视频广播及/或视频电话的应用。
[0088]在图6的实例中,源装置12包括视频源18、视频编码器20及输出接口 22。在一些状况下,输出接口 22可包括调制器/解调器(调制解调器)及/或传输器。在源装置12中,视频源18可包括诸如视频捕获装置(例如,视频相机)、含有先前经捕获视频的视频存档、用以从视频内容提供者接收视频的视频馈送接口及/或用于产生计算机图形数据作为源视频的计算机图形系统的源,或这些源的组合。作为一个实例,如果视频源18为视频相机,那么源装置12及目的地装置14可形成所谓相机电话或视频电话。然而,本发明所描述的技术大体上可适用于视频译码,且可应用于无线及/或有线应用。经捕获、经预捕获或经计算机产生视频可由视频编码器12编码。经编码视频数据可经由链路16而经由源装置20的输出接口 22直接地传输到目的地装置14。经编码视频数据也(替代地)可存储到存储装置32上以供目的地装置14或其它装置稍后存取,以用于解码及/或播放。
[0089]链路16可包含能够将经编码视频数据从源装置12输送到目的地装置14的任何类型的媒体或装置。在一个实例中,链路16可包含通信媒体以使源装置12能够实时地将经编码视频数据直接地传输到目的地装置14。经编码视频数据可根据诸如无线通信协议的通信标准予以调制,且传输到目的地装置14。通信媒体可包含任何无线或有线通信媒体,诸如,射频(RF)频谱或一或多个物理传输线。通信媒体可形成基于数据包的网络的部分,诸如,局域网、广域网,或诸如因特网的全局网络。通信媒体可包括路由器、交换机、基站,或可有用于促进从源装置12到目的地装置14的通信的任何其它设备。
[0090]存储装置32可包括多种分布式或本地存取式数据存储媒体中的任一者,诸如,硬盘、蓝光光盘、DVD、⑶-ROM、闪速存储器、易失性或非易失性存储器,或用于存储经编码视频数据的任何其它合适数字存储媒体。在另外实例中,存储装置32可对应于可保持由源装置12产生的经编码视频的文件服务器或另一中间存储装置。目的地装置14可经由流式处理或下载而从存储装置32存取经存储视频数据。文件服务器可为能够存储经编码视频数据且将经编码视频数据传输到目的地装置14的任何类型的服务器。实例文件服务器包括web服务器(例如,用于网站)、FTP服务器、网络连接存储(NAS)装置或本地磁盘驱动器。目的地装置14可经由包括因特网连接的任何标准数据连接而存取经编码视频数据。这种连接可包括适合于存取存储在文件服务器上的经编码视频数据的无线信道(例如,W1-Fi连接)、有线连接(例如,DSL、电缆调制解调器,等等)或这两者的组合。
[0091]在图6的实例中,目的地装置14包括输入接口 28、视频解码器30及显示装置34。在一些状况下,输入接口 28可包括接收器及/或调制解调器。目的地装置14的输入接口28经由链路16或从存储装置32接收经编码视频数据。经由链路16而传达或提供在存储装置32上的经编码视频数据可包括由视频编码器20产生的多种语法元素以供诸如视频解码器30的视频解码器在解码所述视频数据时使用。这些语法元素可与传输在通信媒体上、存储在存储媒体上或存储在文件服务器上的经编码视频数据一起被包括。
[0092]显示装置34可与目的地装置14整合或在目的地装置14外部。在一些实例中,目的地装置14可包括整合式显示装置,且也可经配置以与外部显示装置界接。在其它实例中,目的地装置14可为显示装置。显示装置34向用户显示经解码视频数据,且可包含多种显示装置中的任一者,诸如,液晶显示器(LCD)、等离子显示器、有机发光二极管(OLED)显示器或另一类型的显示装置。
[0093]视频编码器20及视频解码器30可根据如上文所描述的视频压缩标准(诸如,目前在开发中的HEVC标准)而操作,且通常可符合HEVC测试模型(HM)。替代地,视频编码器20及视频解码器30可根据诸如ITU-T H.264标准或这些标准的扩展的其它专有或工业标准而操作。然而,本发明的技术不限于任何特定译码标准。另外,视频编码器20及视频解码器30可根据经修改以并入本文所描述的技术的视频压缩标准而操作。
[0094]虽然图6中未图示,但在一些方面中,视频编码器20及视频解码器30各自可与音频编码器及解码器整合,且可包括适当MUX-DEMUX单元或其它硬件及软件,以处置公共数据流或分离数据流中的音频及视频两者的编码。在一些实例中,适用时,MUX-DEMUX单元可符合ITU H.223多路复用器协议,或诸如用户数据报协议(UDP)的其它协议。
[0095]视频编码器20及视频解码器30各自可被实施为多种合适编码器电路中的任一者,诸如,一或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑、软件、硬件、固件或其任何组合。当所述技术是部分地以软件予以实施时,装置可将用于所述软件的指令存储在合适非暂时性计算机可读媒体中,且使用一或多个处理器以硬件来执行所述指令以执行本发明的技术。视频编码器20及视频解码器30中的每一者可包括在一或多个编码器或解码器中,所述一或多个编码器或解码器中的任一者可在相应装置中被整合为组合式编码器/解码器(CODEC)的部分。
[0096]图7为说明可实施本发明所描述的技术的实例视频编码器20的框图。在图8的实例中,视频编码器20包括模式选择单元35、预测处理单元41、参考图片存储器64、求和器50、转换处理单元52、量化处理单元54及熵编码单元56。预测处理单元41包括运动估计单元42、运动补偿单元44及帧内预测模块46。出于视频块重建起见,视频编码器20也包括反量化处理单元58、反转换模块60及求和器62。也可包括去块滤波器(图7中未图示)以滤波块边界以从经重建视频移除块效应假象。视需要,去块滤波器通常将滤波求和器62的输出。除了去块滤波器以外,也可使用额外环路滤波器(环路内或环路后)。应注意,不应将预测处理单元41及转换处理单元52与如上文所描述的及TU相混淆。
[0097]如图7所示,视频编码器20接收视频数据,且模式选择单元35将所述数据分割成视频块。这种分割也可包括分割成切片、图像块或其它较大单元,以及视频块分割,例如,根据LCU及CU的四叉树结构。视频编码器20通常说明编码待编码的视频切片内的视频块的组件。切片可划分成多个视频块(且可能地划分成被称作图像块的若干组视频块)。预测处理单元41可基于误差结果(例如,译码速率及失真级别)来选择用于当前视频块的多个可能译码模式中的一者,诸如,多个巾贞内译码模式中的一者或多个巾贞间译码模式中的一者。预测处理单元41可将所得经帧内译码或经帧间译码块提供到求和器50以产生残余块数据,且提供到求和器62以重建经编码块以用作参考图片。
[0098]预测处理单元41内的帧内预测单元46可执行当前视频块相对于与待译码的当前块相同的帧或切片中的一或多个相邻块的帧内预测性译码以提供空间压缩。预测处理单元41内的运动估计单元42及运动补偿单元44执行当前视频块相对于一或多个参考图片中的一或多个预测性块的帧间预测性译码以提供时间压缩。
[0099]运动估计单元42可经配置以根据用于视频序列的预定样式来确定用于视频切片的帧间预测模式。预定样式可将序列中的视频切片指定为P切片或B切片。运动估计单元42与运动补偿单元44可高度地整合,但出于概念目的而被分离地说明。由运动估计单元42执行的运动估计为产生估计用于视频块的运动的运动矢量的进程。举例来说,运动矢量可指示当前视频帧内的视频块的PU相对于参考图片内的预测性块的位移。
[0100]预测性块为被发现在像素差方面接近地匹配于待译码的块的的块,所述像素差可由绝对差总和(SAD)、平方差总和(SSD)或其它差指标确定。在一些实例中,视频编码器20可计算存储在参考图片存储器64中的参考图片的次整数像素位置的值。举例来说,视频编码器20可内插四分之一像素位置、八分之一像素位置或参考图片的其它小数像素位置的值。因此,运动估计单元42可执行相对于完全像素位置及小数像素位置的运动搜索,且输出具有小数像素精确度的运动矢量。
[0101]运动估计单元42通过比较PU的位置与参考图片的预测性块的位置来计算用于经帧间译码切片中的视频块的PU的运动矢量。参考图片可选自第一参考图片列表(列表O)或第二参考图片列表(列表I),所述列表中的每一者识别存储在参考图片存储器64中的一或多个参考图片。运动估计单元42将经计算运动矢量发送到熵编码单元56及运动补偿单元44。
[0102]由运动补偿单元44执行的运动补偿可涉及基于通过运动估计确定的运动矢量来提取或产生预测性块,从而可能地执行达子像素精确度的内插。在接收到用于当前视频块的PU的运动矢量后,运动补偿单元44就可定位在参考图片列表中的一者中的运动矢量所指向的预测性块。视频编码器20通过从正被译码的当前视频块的像素值减去预测性块的像素值来形成残余视频块,从而形成像素差值。像素差值形成用于块的残余数据,且可包括亮度差分量及色度差分量两者。求和器50表示执行这种减去运算的组件。运动补偿单元44也可产生与视频块及视频切片相关联的语法元素以供视频解码器30在解码视频切片的视频块时使用。
[0103]作为如上文所描述的由运动估计单元42及运动补偿单元44执行的帧间预测的替代例,帧内预测单元46可帧内预测当前块。详言之,帧内预测单元46可确定待用以编码当前块的帧内预测模式。在一些实例中,帧内预测单元46可使用各种帧内预测模式来编码当前块(例如,在分离编码遍次期间),且帧内预测单元46 (或在一些实例中,模式选择单元35)可从经测试模式选择适当帧内预测模式以供使用。举例来说,帧内预测单元46可使用针对各种经测试帧内预测模式的速率-失真分析来计算速率-失真值,且在经测试模式当中选择具有最佳速率-失真特性的帧内预测模式。速率-失真分析通常确定经编码块与原始未经编码块(其经编码以产生经编码块)之间的失真(或误差)量,以及用以产生经编码块的位速率(即,位的数目)。帧内预测单元46可从用于各种经编码块的失真及速率计算比率以确定哪一帧内预测模式展现块的最佳速率-失真值。
[0104]在任何状况下,在选择用于块的帧内预测模式之后,帧内预测单元46可将指示用于块的选定帧内预测模式的信息提供到熵编码单元56。熵编码单元56可根据本文所描述的熵技术来编码指示选定帧内预测模式的信息。视频编码器20可在经传输位流中包括:配置数据,其可包括多个帧内预测模式索引表及多个经修改帧内预测模式索引表(也被称作代码字映射表);编码用于各种块的上下文的定义;及待用于上下文中的每一者的最可能帧内预测模式、帧内预测模式索引表及经修改帧内预测模式索引表的指示。
[0105]在预测处理单元41经由帧间预测或帧内预测而产生用于当前视频块的预测性块之后,视频编码器20通过从当前视频块减去预测性块而形成残余视频块。残余块中的残余视频数据可包括在一或多个TU中且应用于转换处理单元52。转换处理单元52可使用诸如离散余弦转换(DCT)或概念上相似转换的转换而将残余视频数据转换成残余转换系数。转换处理单元52可将残余视频数据从像素域转换到诸如频域的转换域。在一些状况下,转换处理单元52可将2维(2-D)转换(在水平方向及垂直方向两者上)应用于TU中的残余数据。在一些实例中,转换处理单元52可代替地将水平1-D转换、垂直1-D转换或不将转换应用于TU中的每一者中的残余数据。
[0106]转换处理单元52可将所得转换系数发送到量化处理单元54。量化处理单元54量化转换系数以进一步缩减位速率。量化进程可缩减与所述系数中的一些或全部相关联的位深度。可通过调整量化参数来修改量化程度。在一些实例中,量化处理单元54接着可执行包括经量化转换系数的矩阵的扫描。替代地,熵编码单元56可执行所述扫描。
[0107]如上文所描述,对转换块执行的扫描可基于转换块的大小。量化处理单元54及/或熵编码单元56可使用上文关于图1、图2A到2B及图3A到3B而描述的子块扫描的任何组合来扫描8 X 8、16 X 16及32 X 32转换块。在一个实例中,可使用上文关于图1而描述的4X4对角子块扫描来扫描32X32转换块及16X 16转换块,且可使用上文关于图1及图3A到3B而描述的4X4子块扫描来扫描8X8转换块。当一个以上扫描可用于转换块时,熵编码单元56可基于与转换块相关联的译码参数(诸如,与对应于转换块的预测单元相关联的预测模式)来选择扫描。下文关于图8描述关于熵编码单元56的另外细节。
[0108]反量化处理单元58及反转换处理单元60分别应用反量化及反转换以重建像素域中的残余块以稍后用作参考图片的参考块。运动补偿单元44可通过将残余块加到参考图片列表中的一者内的参考图片中的一者的预测性块来计算参考块。运动补偿单元44也可将一或多个内插滤波器应用于经重建残余块以计算供在运动估计中使用的次整数像素值。求和器62将经重建残余块加到由运动补偿单元44产生的经运动补偿预测块以产生视频块以存储在参考图片存储器64中。参考块可由运动估计单元42及运动补偿单元44用作参考块以帧间预测后续视频帧或图片中的块。
[0109]在量化之后,熵编码单元56熵编码经量化转换系数。举例来说,熵编码单元56可执行上下文自适应可变长度译码(CAVLC)、上下文自适应二进制算术译码(CABAC)、基于语法的上下文自适应二进制算术译码(SBAC)、概率区间分割熵(PIPE)译码或另一熵编码方法或技术。在由熵编码单元56进行的熵编码之后,经编码位流可传输到视频解码器30,或经存档以供视频解码器30稍后传输或检索。熵编码单元56也可熵编码用于正被译码的当前视频切片的运动矢量及其它语法元素。熵编码单元56可使用CABAC来熵编码诸如上文所描述的 significant_coeff_group_flag>significant_coefficient_flag>coeff_abs_level_remain、 coeff_abs_level_greaterl_flag> coeff_abs_level_greater2_flag 及 coeff_sign_flag语法元素的语法元素。
[0110]图8为说明可实施本发明所描述的技术的实例熵编码单元56的框图。图8所说明的熵编码单元56可为CABAC编码器。实例熵编码单元56可包括二进制化单元502、包括旁路编码引擎504及规则编码引擎508的算术编码单元510,及上下文模型化单元506。
[0111]熵编码单元56可接收一或多个语法元素,诸如,上文所描述的significant_coeff_group_flag 或 coded_sub_block_flag 语法兀素以及 significant_coefficient_flag、coeff_abs_level_greaterl_flag> coeff_abs_level_greater2_flag> coeff_sign_flag及coeff_abs_level_remain语法元素中的任一者。二进制化单元502接收语法元素且产生二进制字符串。举例来说,二进制化单元502可使用以下技术中的任一者或其组合以产生二进制字符串:固定长度译码、一元译码、截断一元译码、截断莱斯译码、哥伦布译码、指数哥伦布译码及哥伦布-莱斯译码。另外,在一些状况下,二进制化单元502可接收语法元素作为二进制字符串,且仅仅穿过二进制值。在一个实例中,二进制化单元502接收语法元素significant_coefT_group_flag,且产生二进制字符串。
[0112]算术编码单元510经配置以从二进制化单元502接收二进制字符串,且对二进制字符串执行算术编码。如图8所示,算术编码单元510可从旁路路径或规则译码路径接收二进制值。遵循旁路路径的二进制值可为被识别为经旁路译码的二进制值,且遵循规则编码路径的二进制值可被识别为经CABAC译码。与上文所描述的CABAC进程一致,在算术编码单元510从旁路路径接收二进制值的状况下,旁路编码引擎504可在不利用指派给二进制值的自适应上下文的情况下对二进制值执行算术编码。在一个实例中,旁路编码引擎504可假设针对二进制的可能值的相等概率。
[0113]在算术编码单元510经由规则路径而接收二进制值的状况下,上下文模型化单元506可提供上下文变量(例如,上下文状态),使得规则编码引擎508可基于由上下文模型化单元506提供的上下文指派来执行算术编码。上下文指派可根据诸如即将到来的HEVC标准的视频译码标准予以定义。另外,在一个实例中,上下文模型化单元506及/或熵编码单元56可经配置以基于本文所描述的技术而将上下文指派给significant_coeff_group_flag及significant_coefficient_flag语法元素的二进制。所述技术可并入到HEVC或另一视频译码标准中。上下文模型可存储在存储器中。上下文模型化单元506可包括一系列已编入索引表,及/或利用映射函数以确定用于特定二进制的上下文及上下文变量。在编码二进制值之后,规则编码引擎508可基于实际二进制值来更新上下文。
[0114]如上文所描述,图5A到所说明的上下文指派对于图3A到3B所说明的水平或垂直4X4子块扫描并非最佳。举例来说,图5A及图所说明的样式具有沿着对角线而划分的上下文指派区域。当应用水平或垂直4X4子块扫描时,那些区域不与有效系数的期望位置对应。此外,水平4X4子块扫描的第一行相比于第二行具有高得多的有效概率。以相似方式,垂直4X4子块扫描的第一列相比于第二列具有高得多的有效概率。因此,图5A到5D所说明的上下文样式可经修改以提供针对已根据水平4 X 4子块扫描或垂直4 X 4子块扫描而扫描的有效系数标志的较最佳内容指派。因此,除了基于根据HEVC TO7而定义的上下文指派来执行算术编码以外,规则编码引擎508也可经配置以基于根据本文所揭示的技术而导出的上下文来执行算术编码。
[0115]图9A到9D说明基于有效系数相对于水平4X4子块扫描或垂直4X4子块扫描的期望位置的上下文样式。应注意,在图9A到9D中,如同图5A到所说明的上下文样式,虽然上下文编号开始于0,但这种情形是出于说明目的且不反映实际上下文编号,而仅反映相对上下文编号。图9A到9D说明可用于取决于CGFk及CGFb的4X 4子块的有效系数标志的上下文指派的四个不同样式,其中CGFk是指用于右边译码群(即,右边子块)的上下文群标志,且CGFb是指用于下方译码群(即,下方子块)的上下文群标志。再次,上下文群标志语法元素指示译码群的转换系数中的任一者是否为非零。
[0116]根据本发明所描述的技术,视频编码器20选择用于编码有效性语法元素的上下文样式,且视频解码器30选择用于解码有效性语法元素的上下文样式。图9A到9D说明可供视频编码器20及视频解码器30选择用于编码及解码的上下文样式的多个二维上下文样式的实例。在一些实例中,视频编码器20及视频解码器30可从用于多个扫描类型的相同上下文样式(例如,图9A到9D所说明的上下文样式)选择上下文样式。举例来说,对于水平扫描,视频编码器20及视频解码器30可从相同上下文样式进行选择。对于垂直扫描,视频编码器20及视频解码器30可从与用于水平扫描的上下文样式相同的上下文样式进行选择。对于对角扫描,视频编码器20及视频解码器30可从与用于水平扫描及垂直扫描的上下文样式相同的上下文样式进行选择。
[0117]一般而言,相比于图5A到所说明的相应样式,图9A到9D所说明的上下文样式可被认为具有较少对角扫描行为及较多逐行/列指派行为。熵编码单元56可经配置以基于图9A到9D所说明的上下文样式而将上下文指派给significant_coefficient_flag语法元素。
[0118]如图9A到9D所说明,每一上下文样式包括16个上下文值,其中每一上下文值对应于位于相应位置中的系数。应注意,图9D中的上下文样式(即,针对CGFb = UCGFk =I)对于所有位置是一致的(即,上下文=2)。图9D可与图形成对比,其中上下文样式是不一致的。另外,相比于图5B及图5C所说明的上下文样式,图9B所说明的针对CGFb =
O、CGFe = I的上下文样式及图9C所说明的针对CGFb = 1、CGFe = O的上下文样式分别向第一行及第一列给予较多重要性。此外,相比于图5A所说明的上下文样式,图9A所说明的针对CGFb = O、CGFk = O的上下文样式更为正方形形状且向左顶部系数给予较多重要性。
[0119]在一个实例中,熵编码单元56可经配置以针对水平及垂直4X4子块扫描基于图9A到9D所说明的上下文样式而将上下文指派给significant_coefficient_flag语法元素,且针对对角4X4子块扫描基于图5A到所说明的上下文样式而将上下文指派给significant_coefficient_f lag语法元素。在另一实例中,为了限制上下文样式的总数,熵编码单元56可经配置以针对对角、水平及垂直4X4子块扫描中的全部基于图9A到9D所说明的上下文样式而将上下文指派给significant_coefficient_f lag语法元素。
[0120]另外,图5A到K)及图9A到9D所说明的上下文样式的组合可用以指派用于significant_coefficient_flag语法元素的上下文。举例来说,对于CGFb及CBFk的相应值,水平4X4子块扫描可使用图5A、图9B、图5C及9D所说明的上下文样式。在这个实例中,水平4X4子块扫描不使用具有垂直特性的样式(S卩,图9C所说明的样式)。这种情形可改善译码,这是因为水平扫描的统计通常不匹配于图9C所说明的分布。在另一实例中,对于水平4X4子块扫描,代替针对状况(CGFb = 1、CBFe = O)使用图9C所说明的样式,可针对状况(CGFb = UCBFe = O)及状况(CGFb = UCBFe = I)两者使用图9D所说明的样式。在这个实例中,对于给定扫描,存在用于不同CGF配置的样式共享。此类样式共享也可应用于其它扫描类型。
[0121 ] 如上文所描述,在一个实例中,量化处理单元54及/或熵编码单元56可使用上文关于图1而描述的4X4对角子块扫描来扫描32X32转换块及16X 16转换块,且可使用上文关于图1以及图3A及3B而描述的4X4子块扫描来扫描8X8转换块。在一个实例中,熵编码单元56可经配置以基于用于如下操作的上下文样式而将上下文指派给用于32X32及16X 16转换块的significant_coefficient_flag语法元素:基于用于8X8转换块的上下文样式而将上下文指派给所述significant_coefficient_f lag语法元素。
[0122]在一个实例中,熵编码单元56可使用图9A到9D所说明的上下文样式来导出用于32 X 32、16 X 16及8 X 8转换块中的每一者的上下文。在另一实例中,当应用4X4对角子块扫描时,熵编码单元56可使用一组上下文样式(诸如,图5A到5B所说明的上下文样式)以导出用于32X32U6X16及8X8转换块的上下文,且当应用4X4水平子块扫描或4X4垂直子块扫描中的任一者时,熵编码单元56可使用一组不同上下文样式(诸如,图9A到9D所说明的上下文样式)以导出用于8X8转换块的上下文。在这个实例中,上下文的导出可针对变化大小的TU被共享,且可取决于扫描类型。
[0123]另外,在相似于关于导出上下文且将上下文指派给DC及非DC子块的状况的事件中,虽然可针对32 X 32、16 X 16及8 X 8转换块中的每一者共享上下文导出,但实际上下文可服从于每一大小转换块。举例来说,用于32X32U6X16及8X8转换块的实际上下文中的每一者可基于图5A到5B所说明的上下文样式,但可基于TU的大小而将偏移应用于所述上下文样式中的每一者。在这个实例中,32 X 32、16 X 16及8 X 8转换块中的每一者将共享上下文导出,而非实际上下文。在另一实例中,上下文导出对于所有子块可相同而不管TU大小或扫描类型(例如,图9A到9D所说明的样式可用于所有状况),但可存在三组实际上下文:用于大TU(16X 16及32X32)的一组上下文、在对角扫描的情况下用于8X8TU的一组上下文,及当使用水平或垂直扫描时用于8X8TU的一组上下文。可通过将不同偏移应用于一组上下文样式来定义所述组。因此,上下文模型化单元506及/或熵编码单元56可经配置以使用针对所有扫描顺序的统一上下文导出而将上下文指派给significant_coefficient_f lag。
[0124]如上文所描述,相比于对于非DC子块,对于DC子块,可将一组不同上下文指派给significant_coefficient_flag。S卩,当确定实际上下文时,可将偏移应用于上下文样式。这种情形的原因为:当使用4X4对角子块扫描时,针对DC子块的统计通常显著地不同于针对非DC子块的统计。然而,当使用4X4水平或垂直子块扫描来扫描子块时,针对DC子块及非DC子块的统计可相似。举例来说,对于使用水平子块扫描的8 X 8TU,在DC子块右边的子块可具有较相似于DC子块而较不相似于其它非DC子块的统计。相似地,对于垂直扫描,在DC子块下方的子块可具有较相似于DC子块而较不相似于其它非DC子块的统计。
[0125]为了补偿非DC子块中的一者可具有相似于DC子块的统计的事实,上下文模型化单元506及/或熵编码单元56可经配置以针对DC子块及邻近非DC子块使用第一组上下文,且可使用第二组上下文以指派用于其它非DC子块的上下文。举例来说,当针对8X8TU使用水平4X4子块扫描时,上下文模型化单元506及/或熵编码单元56可经配置以使用第一组上下文以将上下文指派给子块的第一行且使用第二组上下文以将上下文指派给子块的第二行。举例来说,上下文模型化单元506及/或熵编码单元56可经配置以针对第二行使用图5A到所说明的上下文样式及图9A到9D所说明的上下文样式。另外,针对非DC子块仍可应用偏移,使得DC子块仍可具有独特上下文组。以相似方式,对于垂直子块扫描类型,可基于列来指派上下文样式。另外,这种概念可扩展到具有两个以上列或行的较大TU0基于子块的行或列来导出及指派上下文的技术可应用于所有大小的TU。因此,上下文模型化单元506及/或熵编码单元56可经配置以基于子块扫描类型及在转换块内的子块的位置而将上下文指派给significant_coefficient_flag。
[0126]如上文所描述,图9A到9D说明由视频编码器20选择用于确定用于编码转换块的子块的转换系数的有效性语法元素的上下文的实例上下文样式。在一些实例中,对于子块的多个扫描类型(即,如果将水平地、垂直地或对角地扫描子块),视频编码器20可从图9A到9D所说明的上下文样式中的一者选择上下文样式。换言之,可供视频编码器20选择上下文样式的所述上下文样式对于多个扫描类型(例如,水平扫描、垂直扫描及对角扫描)可相同。
[0127]此外,如图9A到9D所说明,上下文样式中的每一者是与一或多个相邻子块是否包括任何非零转换系数的条件相关联。举例来说,一或多个相邻子块包括第一相邻子块及第二相邻子块。在一些实例中,上下文样式中的每一者是与第一相邻子块(例如,在当前子块下方的下方子块)是否包括任何非零转换系数且第二相邻子块(例如,在当前子块右边的右边子块)是否包括任何非零转换系数的条件相关联。如上文所描述,CGFb指示下方子块是否包括任何非零转换系数,且CGFk指示右边子块是否包括任何非零转换系数。
[0128]视频编码器20可基于各种因素来选择图9A到9D所说明的上下文样式中的一者,如下文所描述。在任何情况下,视频编码器20可基于选定上下文样式而将上下文指派给转换系数的有效性语法元素中的每一者。
[0129]举例来说,如果视频编码器20选择与第一相邻子块不包括任何非零转换系数且第二相邻子块包括至少一个非零转换系数(即,CGFb等于O且CGFk等于I)的条件相关联的上下文样式,那么视频编码器20可将上下文指派给用于当前子块的转换系数的有效性语法元素的第一行,所述上下文与用于当前子块的转换系数的有效性元素的其它行的上下文不同。举例来说,如果CGFb等于O且CGFk等于1,那么图9B说明转换块的第一行被指派为2(或5,假设偏移为3)的上下文以用于编码子块的第一行的有效性语法元素,所述上下文与用于子块的任何其它行的上下文不同。
[0130]视频解码器30可以大体上相似方式起作用。举例来说,如果视频解码器30选择图9B所说明的上下文样式(例如,CGFb等于O且CGFk等于I的条件),那么视频解码器30相应地将上下文指派给转换块的子块的有效性语法元素。举例来说,相似于视频编码器20,视频解码器30将上下文指派给用于当前子块的转换系数的有效性语法元素的第一行,所述上下文与用于当前子块的转换系数的有效性语法元素的其它行的上下文不同。
[0131]作为另一实例,如果视频编码器20选择与第一相邻子块包括至少一个非零转换系数且第二相邻子块不包括任何非零转换系数(即,CGFb等于I且CGFk等于O)的条件相关联的上下文样式,那么视频编码器20可将上下文指派给用于当前子块的转换系数的有效性元素的第一列,所述上下文与用于当前子块的转换系数的有效性元素的其它列的上下文不同。举例来说,如果CGFb等于I且CGFk等于0,那么图9C说明转换块的第一列被指派为2(或5,这是假设偏移为3)的上下文以用于编码子块的第一列的有效性语法元素,所述上下文与用于子块的任何其它列的上下文不同。
[0132]视频解码器30可以大体上相似方式起作用。举例来说,如果视频解码器30选择图9C所说明的上下文样式(例如,CGFb等于I且CGFk等于O的条件),那么视频解码器30相应地将上下文指派给转换块的子块的有效性语法元素。举例来说,相似于视频编码器20,视频解码器30将上下文指派给用于当前子块的转换系数的有效性语法元素的第一列,所述上下文与用于当前子块的转换系数的有效性元素的其它列的上下文不同。
[0133]作为另一实例,如果视频编码器20选择与第一相邻子块包括至少一个非零转换系数且第二相邻子块包括至少一个非零转换系数(即,CGFb等于I且CGFk等于I)的条件相关联的上下文样式,那么视频编码器20可将相同上下文指派给用于当前子块的转换系数的有效性语法元素。举例来说,如果CGFb等于I且CGFk等于1,那么图9D说明所有上下文对于有效性语法元素相同(即,2)。
[0134]视频解码器30可以大体上相似方式起作用。举例来说,如果视频解码器30选择图9D所说明的上下文样式(例如,CGFb等于I且CGFk等于I的条件),那么视频解码器30相应地将上下文指派给转换块的子块的有效性语法元素。举例来说,相似于视频编码器20,视频解码器30将相同上下文指派给用于当前子块的转换系数的有效性元素。
[0135]如果CGFb等于O且CGFk等于0,那么视频编码器20可选择图9A所说明的上下文样式,且相应地将上下文指派给转换块的子块的有效性语法元素。如果CGFb等于O且CGFk等于0,那么视频解码器30可以大体上相似方式起作用。
[0136]此外,图9A到9D所说明的上下文样式可包括除了上文所描述的特性以外的特性。举例来说,上下文样式的特性中的一者(例如,当CGFb等于O且CGFk等于O时)为:上下文样式包括在经水平地或垂直地扫描时引起相同一维矢量的上下文。
[0137]举例来说,如果从右底部到左顶部水平地扫描图9A所说明的上下文样式,那么所得一维矢量为:[O O O O O I I I O I I I O I I 2]。如果从右底部到左顶部垂直地扫描图9A所说明的上下文样式,那么所得一维矢量为:[0 O O O O I I I O I I I O I I 2]。
可看出,这两个一维矢量相同。
[0138]作为上下文样式的特性的另一实例,上下文样式中的两者为彼此的转置,使得上下文样式中的一者的水平扫描及上下文样式中的另一者的垂直扫描引起相同一维矢量。举例来说,从右底部到左顶部而对图9B所说明的上下文样式的水平扫描引起一维矢量:[O O0000001111222 2] ο从右底部到左顶部而对图9C所说明的上下文样式的垂直扫描引起一维矢量:[0 00000001111222 2]。可看出,这两个一维矢量相同。
[0139]作为上下文样式的特性的另一实例,上下文样式中的一者包括在经水平地、垂直地及对角地扫描时引起相同一维矢量的上下文。举例来说,图9D所说明的上下文样式的上下文的水平扫描、垂直扫描或对角扫描引起相同一维矢量:[2 2 2 2 2 2 2 2 2 2 2 2 22 22]。
[0140]如上文所描述,视频编码器20基于各种因素来选择图9A到9D所说明的上下文样式中的一者。作为一个实例,视频编码器20基于下方及右边子块的CGF来选择上下文样式。然而,也可存在额外因素。举例来说,视频编码器20可基于扫描类型来选择上下文样式。如果扫描类型为子块的水平扫描,那么视频编码器20可选择图9B所说明的上下文样式。如果扫描类型为子块的垂直扫描,那么视频编码器20可选择图9C所说明的上下文样式。视频解码器30可以相似方式起作用。
[0141]在一些实例中,如上文所描述,视频编码器20可从所述上下文样式排除由视频编码器20评估以确定将选择哪一上下文样式的上下文样式。举例来说,如果子块的扫描类型为水平,那么视频编码器20可确定图9C所说明的上下文样式不能被选择为上下文样式,SP使CGFb等于I且CGFk等于O也如此。在这种状况下,视频编码器20可选择图9D所说明的上下文样式。举例来说,如果子块的扫描类型为水平,那么视频编码器20可排除图9C所说明的上下文样式。从剩余上下文样式,视频编码器20可选择图9D所说明的上下文样式。在这种状况下,可存在用于CGFb及CGFk的不同值的上下文样式共享。举例来说,对于水平扫描,如果CGFb等于O且CGFk等于I或如果CGFb等于I且CGFk等于1,那么视频编码器20可选择图9D所说明的上下文样式。
[0142]对于垂直扫描的扫描类型,视频编码器20可以相似方式起作用,惟视频编码器20可排除图9B所说明的上下文样式除外,即使CGFb等于I且CGFk等于I也如此。在这个实例中,视频编码器20可从剩余多个上下文样式选择一上下文样式。视频解码器30以相似方式起作用。
[0143]举例来说,视频编码器20及视频解码器30确定当前子块的扫描类型,且基于当前子块的经确定扫描类型而从多个上下文样式确定不能被选择为上下文样式的至少一个上下文样式。视频编码器20及视频解码器30基于排除经确定的至少一个上下文样式的多个上下文样式来选择上下文样式。在一些实例中,视频编码器20及视频解码器30基于排除经确定的至少一个上下文样式的多个上下文样式来选择上下文样式,而不管下方相邻子块是否包括任何非零转换系数且右边相邻子块是否包括任何非零转换系数。
[0144]在图5A到5D及图9A到9D中,上下文样式被说明及定义为2-D块。然而,在一些实际实施中,诸如视频编码器20的视频编码器可根据选定子块扫描类型而将2-D块表示为1-D矢量,且存储1-D矢量以便加速上下文指派进程。在这种情形中,即使使用相同2-D上下文样式以指派用于使用不同子块扫描类型的子块的上下文,也可基于选定子块扫描类型来获得不同1-D矢量。举例来说,根据水平扫描而扫描的图9C所说明的上下文样式的1-D矢量将具有以下1-D矢量表示:
[0145]Scan_Pattern =[2 10021002100210 0]
[0146]而根据垂直扫描而扫描的图9C所说明的上下文样式将具有以下1-D矢量表示:
[0147]Scan_Pattern =[2 22211110000000 0]
[0148]在这种状况下,如果诸如视频编码器20的视频编码器将上下文样式存储为1-D矢量(即,一维上下文样式),那么对于每一上下文样式可存在若干矢量。一种用以克服用于每一上下文样式的若干不同1-D矢量的存储的方式为通过将上下文样式直接地定义为1-D矢量(即,一维上下文样式),且针对两个或两个以上子块扫描类型使用相同矢量。举例来说,具有常数值(即,全2)的上下文样式提供相同扫描1-D而不管扫描类型。在这个实例中,1-D矢量可指定相同上下文(例如,2)或所有有效性语法元素。可如下表示1-D矢量:
[0149]Scan_Pattern =[2 22222222222222 2]
[0150]在另一实例中,一维上下文样式定义用于扫描顺序中的第一有效性语法元素的第一上下文、定义用于扫描顺序中的第二及第三有效性语法元素的第二上下文,且定义用于扫描顺序中的剩余有效性语法元素的第三上下文。举例来说,1-D矢量可针对第一有效性系数标志指定为2的上下文、针对第二及第三指派指定为I的上下文,且针对剩余指派指定为O的上下文,且可被表示如下:
[0151]Scan_Pattern =[2 1 1000000000000 0]
[0152]另一可能上下文样式为Scan_Pattern =[1 00000000000000 0]。
在这个实例中,上下文样式定义用于扫描顺序中的第一有效性语法元素的第一上下文(例如,I),且定义用于扫描顺序中的剩余有效性语法元素的第二上下文(例如,O)。图10为说明用于针对子块中的系数的上下文指派的样式的实例的概念图。用于图10所说明的上下文样式的所得扫描样式对于如上文所定义的对角、水平及垂直4 X 4子块扫描相同。上下文模型化单元506及/或熵编码单元56可经配置以将上下文样式存储为1-D矢量(S卩,一维上下文样式)。在一个实例中,对于诸如对角、水平及垂直4 X 4子块扫描的多个子块扫描类型,可使用相同经存储扫描样式以将上下文指派给significant_coefficient_flag。
[0153]在一些实例中,可从诸如图9A到9D所说明的二维上下文样式的二维上下文样式预计算一维上下文样式。举例来说,可水平地、垂直地及对角地扫描图9A到9D所说明的上下文样式以产生一维上下文样式。因此,在这个实例中,可存在高达12个一维上下文样式。然而,图9A到9D所说明的上下文样式的特性可使得预计算及存储12个以下一维上下文样式。
[0154]举例来说,如上文所描述,图9A所说明的上下文样式的水平扫描及垂直扫描引起相同一维矢量。因此,图9A所说明的上下文样式的水平、垂直及对角扫描引起两个独特一维上下文样式,而非三个。
[0155]此外,对于图9B及9C所说明的上下文样式,针对所述上下文样式中的一者可存在三个独特一维上下文样式(即,每一扫描类型一个一维上下文样式)。然而,针对另一上下文样式可存在仅两个独特一维上下文样式。这是因为图9B所说明的上下文样式的水平扫描及图9C所说明的上下文样式的垂直扫描引起相同一维上下文样式。因此,在图9B及9C所说明的上下文样式之间存在总共五个独特一维上下文样式。换言之,从图9B所说明的上下文样式(例如,第一个二维上下文样式)预计算多个一维上下文样式中的一者。第一个二维上下文样式包括在经水平地扫描时引起与当垂直地扫描第二个二维上下文样式时相同的一维上下文样式的上下文。当图9B中说明第一个二维上下文样式时,第二个二维上下文样式的一个实例为图9C所说明的二维上下文样式。
[0156]对于图9D所说明的上下文样式,存在仅一个独特一维上下文样式(即,对角、水平及垂直扫描皆引起相同一维上下文样式)。举例来说,当图9D所说明的上下文样式用以预计算一维样式时,所得一维样式(无论被垂直地、水平地还是对角地扫描)引起定义用于子块的转换系数的所有有效性语法元素的相同上下文(例如,2)的上下文样式。因此,图9A到9D所说明的上下文样式的特性引起总共八个一维上下文样式(S卩,来自图9A的两个一维上下文样式、来自图9B及9C的五个一维上下文样式,及来自图9D的一个一维上下文样式),其少于在上下文样式不包含图9A到9D所说明的上下文样式的特性时将需要被存储的12个一维上下文样式。
[0157]如上文所描述,除了将上下文指派给significant_coefficient_f lag语法元素以夕卜,在一个实例中,上下文模型化单元506及/或熵编码单元56也可经配置以将上下文指派给 significant_coeff_group_flag。如上文所描述,在 HEVC WD7 中,significant_coeff_group_flag的上下文导出取决于扫描顺序(即,无论应用对角4X4、非正方形水平还是垂直扫描)。在用图3A到3B所说明的扫描来替换非正方形扫描的状况下,可从HEVC WD7所描述的上下文导出来修改significant_coeff_group_flag的上下文导出。在一个实例中,上下文模型化单元506及/或熵编码单元56也可经配置以使用针对所有子块的相同上下文导出而将上下文指派给significant_coeff_group_flag,而不管与子块相关联的TU的扫描类型及大小。然而,在一个实例中,指派给significant_coeff_group_flag的实际上下文可基于是否使用对角、水平及垂直4X4子块扫描来扫描子块而不同。在一个实例中,当应用4X4对角扫描时,可使用第一组上下文以用于将上下文指派给significant_coeff_group_flag,且当应用水平或垂直4X4子块扫描时,可使用第二组上下文以用于将上下文指派给significant_coeff_group_flag。在一个实例中,可通过将偏移加到第一上下文组来导出第二组上下文。
[0158]因此,存在由上下文模型化单元506及/或熵编码单元56用以将上下文指派给 significant_coeff_group_flag 及 significant_coefficient_flag i吾法兀素白勺若干技术。熵编码单元56可经配置以使用上文所描述的技术的任何组合而将上下文指派给significant_coeff_group_f lag 及 significant_coefficient_f lag i吾法兀素。
[0159]图11为说明根据本发明的技术来编码视频数据的实例的流程图。虽然下文将图11中的进程描述为通常由视频编码器20执行,但所述进程可由视频编码器20、熵编码单元56及/或上下文模型化单元506的任何组合执行。
[0160]如图11所说明,视频编码器20产生用于块的当前子块的转换系数的有效性语法元素(1102)。转换系数的有效性语法元素(例如,有效性系数标志)指示转换系数的值为零(即,零转换系数)还是非零(即,非零转换系数)。在一些实例中,子块为4X4子块,且块为8X8转换块。
[0161]视频编码器20针对用于当前子块的转换系数的有效性语法元素的多个扫描类型(例如,水平扫描、垂直扫描及对角扫描)而从相同多个二维上下文样式选择上下文样式(1104)。上下文样式的实例包括图9A到9D所说明的上下文样式。在本发明所描述的技术中,如果水平地、垂直地或对角地扫描子块,那么视频编码器20可从相同多个二维上下文样式进行选择。换言之,扫描类型为水平或垂直,视频编码器20从在扫描类型为对角时供视频编码器20选择的相同多个二维上下文样式当中进行选择。
[0162]此外,如上文所描述,上下文样式中的每一者是与一或多个相邻子块是否包括任何非零转换系数的条件相关联。举例来说,一或多个相邻子块包括第一相邻子块及第二相邻子块,且上下文样式中的每一者可与第一相邻子块是否包括任何非零转换系数且第二相邻子块是否包括任何非零转换系数的条件相关联(即,每一上下文是与CGFb及CGFk的值为I还是O的条件相关联)。
[0163]视频编码器20基于选定上下文样式而将上下文指派给转换系数的有效性语法元素中的每一者(1106)。举例来说,如上文所描述,如果视频编码器20选择与CGFb等于O且CGFk等于I的条件(即,下方子块不包括任何非零转换系数且右边块包括至少一个非零转换系数)相关联的上下文样式,那么视频编码器20将与用于其它行的上下文不同的上下文(例如,上下文2或5,其中偏移为3)指派给子块的有效性语法元素的第一行。
[0164]如果视频编码器20选择与CGFb等于I且CGFk等于O的条件(即,下方子块包括至少一个非零转换系数且右边块不包括任何非零转换系数)相关联的上下文样式,那么视频编码器20将与用于其它列的上下文不同的上下文(例如,上下文2或5,其中偏移为3)指派给子块的有效性语法元素的列。如果视频编码器20选择与CGFb等于I且CGFk等于I的条件(即,下方子块包括至少非零转换系数且右边块包括至少一个非零转换系数)相关联的上下文样式,那么视频编码器20将相同上下文(例如,上下文2或5,其中偏移为3)指派给当前子块的有效性语法元素。
[0165]视频编码器20基于经指派上下文来CABAC编码有效性语法元素(1108)。视频编码器20输出经编码有效性语法元素作为经编码位流的部分(1110)。
[0166]图12为说明根据本发明的技术来编码视频数据的实例的流程图。虽然下文将图12中的进程描述为通常由视频编码器20执行,但所述进程可由视频编码器20、熵编码单元56及/或上下文模型化单元506的任何组合执行。
[0167]如图12所说明,视频编码器20产生用于块的当前子块的转换系数的有效性语法元素(1202)。转换系数的有效性语法元素(例如,有效性系数标志)指示转换系数的值为零(即,零转换系数)还是非零(即,非零转换系数)。在一些实例中,子块为4X4子块,且块为8X8转换块。
[0168]视频编码器20选择上下文样式(例如,被存储为一维上下文样式的上下文样式)(1204)。在一些实例中,上下文样式识别用于当前子块的两个或两个以上扫描类型的上下文。举例来说,选定上下文样式用于水平扫描、垂直扫描及对角扫描的扫描类型。
[0169]作为一个实例,选定上下文样式定义用于扫描顺序中的第一有效性语法元素的第一上下文、定义用于扫描顺序中的第二及第三有效性语法元素的第二上下文,且定义用于扫描顺序中的剩余有效性语法元素的第三上下文。作为另一实例,选定上下文样式定义用于扫描顺序中的第一有效性语法元素的第一上下文,且定义用于扫描顺序中的剩余有效性语法元素的第二上下文。作为另一实例,选定上下文样式定义用于所有有效性语法元素的相同上下文。
[0170]在一些实例中,选定上下文样式是选自被存储为一维上下文样式的多个上下文样式。举例来说,从图9A到9D所说明的二维上下文样式预计算及存储多个上下文样式。作为一个实例,从包括在经水平地或垂直地扫描时引起相同一维上下文样式的上下文的二维上下文样式预计算多个上下文样式中的一者。此类二维上下文样式的一个实例为图9A所说明的上下文样式。作为另一实例,从包括在经水平地、垂直地或对角地扫描时皆引起相同一维上下文样式的上下文的二维上下文样式预计算多个上下文样式中的一者。此类二维上下文样式的一个实例为图9D所说明的上下文样式。
[0171]作为另一实例,从包括在经水平地扫描时引起与当垂直地扫描第二个二维上下文样式时相同的一维上下文样式的上下文的第一个二维上下文样式预计算多个上下文样式中的一者。第一个二维上下文样式的一个实例为图9B所说明的上下文样式。第二个二维上下文样式的一个实例为图9C所说明的上下文样式。
[0172]视频编码器20基于选定上下文而将上下文指派给有效性语法元素(1206)。视频编码器20基于经指派上下文来CABAC编码有效性语法元素(1208)。视频编码器20输出经编码有效性语法元素作为经编码位流的部分(1210)。
[0173]图13为说明可实施本发明所描述的技术的实例视频解码器30的框图。在图13的实例中,视频解码器30包括熵解码单元80、预测处理单元81、反量化处理单元86、反转换处理单元88、求和器90及参考图片存储器92。预测处理单元81包括运动补偿单元82及帧内预测模块84。在一些实例中,视频解码器30可执行与关于来自图7的视频编码器20而描述的编码遍次大体上互反的解码遍次。
[0174]归因于解码进程,视频解码器30从视频编码器20接收表示经编码视频切片的视频块及关联语法元素的经编码视频位流。视频解码器30的熵解码单元80熵解码所述位流以产生经量化系数、运动矢量及其它语法元素。熵解码单元80将运动矢量及其它语法元素转发到预测模块81。视频解码器30可在视频切片级别及/或视频块级别处接收语法元素。
[0175]图14为说明可实施本发明所描述的技术的实例熵解码单元70的框图。熵解码单元70接收经熵编码位流,且解码来自所述位流的语法元素。语法元素可包括上文所描述的i吾法兀素 significant_coeff_group_flag> significant_coefficient_flag、coeff_abs_level_remain> coeff_abs_level_greaterl_flag> coeff_abs_level_greater2_flag 及coeff_sign_flag语法元素。图14中的实例熵解码单元70包括算术解码单元702,其可包括旁路解码引擎704及规则解码引擎706。实例熵解码单元70也包括上下文模型化单元708及反二进制化单元710。实例熵解码单元70可执行关于图8而描述的实例熵编码单元56的互反功能。如此,熵解码单元70可基于本文所描述的技术来执行熵解码。
[0176]算术解码单元702接收经编码位流。如图14所示,算术解码单元702可根据旁路路径或规则译码路径来处理经编码二进制值。是否应根据旁路路径或规则通道来处理经编码二进制值的指示可在具有较高级别语法的位流中被发信。与上文所描述的CABAC进程一致,在算术解码单元702从旁路路径接收二进制值的状况下,旁路解码引擎704可在不利用指派给二进制值的上下文的情况下对二进制值执行算术编码。在一个实例中,旁路解码引擎704可假设针对二进制的可能值的相等概率。
[0177]在算术解码单元702经由规则路径而接收二进制值的状况下,上下文模型化单元708可提供上下文变量,使得规则解码引擎706可基于由上下文模型化单元708提供的上下文指派来执行算术编码。上下文指派可根据诸如HEVC的视频译码标准予以定义。上下文模型可存储在存储器中。上下文模型化单元708可包括一系列已编入索引表,及/或利用映射函数以确定经编码位流的上下文及上下文变量部分。另外,在一个实例中,上下文模型化单元506及/或熵编码单元56可经配置以基于本文所描述的技术而将上下文指派给significant_coeff_group_f lag,? 81区1111^&111:_(3061^(^6111:_;1^1&区:1吾法元素白勺二进芾[|1)在角军码二进制值之后,规则译码引擎706可基于经解码二进制值来更新上下文。另外,反二进制化单元710可对二进制值执行反二进制化,且使用二进制匹配函数以确定二进制值是否有效。反二进制化单元710也可基于匹配确定来更新上下文模型化单元。因此,反二进制化单元710根据上下文自适应解码技术来输出语法元素。
[0178]当将视频切片译码为经帧内译码(I)切片时,预测模块81的帧内预测模块84可基于经发信帧内预测模式及来自当前帧或图片的先前经解码块的数据来产生用于当前视频切片的视频块的预测数据。当将视频帧译码为经帧间译码(即,B或P)切片时,预测模块81的运动补偿单元82基于从熵解码单元80接收的运动矢量及其它语法元素来产生用于当前视频切片的视频块的预测性块。预测性块可从参考图片列表中的一者内的参考图片中的一者予以产生。视频解码器30可使用基于存储在参考图片存储器92中的参考图片的默认构造技术来构造参考帧列表:列表O及列表I。
[0179]运动补偿单元82通过分析运动矢量及其它语法元素来确定用于当前视频切片的视频块的预测信息,且使用预测信息以产生用于正被解码的当前视频块的预测性块。举例来说,运动补偿单元82使用经接收语法元素中的一些以确定用以译码视频切片的视频块的预测模式(例如,帧内预测或帧间预测)、帧间预测切片类型(例如,B切片或P切片)、用于切片的参考图片列表中的一或多者的构造信息、用于切片的每一经帧间编码视频块的运动矢量、用于切片的每一经帧间译码视频块的帧间预测状态,及用以解码当前视频切片中的视频块的其它信息。
[0180]运动补偿单元82也可基于内插滤波器来执行内插。运动补偿单元82可使用如由视频编码器20在视频块的编码期间使用的内插滤波器以计算参考块的次整数像素的内插值。在这种状况下,运动补偿单元82可从经接收语法元素确定由视频编码器20使用的内插滤波器,且使用所述内插滤波器以产生预测性块。
[0181]反量化处理单元86反量化(即,去量化)提供在位流中且由熵解码单元80解码的经量化转换系数。反量化进程可包括针对视频切片中的每一视频块使用由视频编码器20计算的量化参数以确定量化程度,且同样地确定应被应用的反量化程度。反转换处理单元88将反转换(例如,反DCT、反整数转换或概念上相似反转换进程)应用于转换系数以便在像素域中产生残余块。
[0182]在一些状况下,反转换处理单元88可将2维(2-D)反转换(在水平方向及垂直方向两者上)应用于系数。根据本发明的技术,反转换处理单元88可代替地将水平1-D反转换、垂直1-D反转换或不将转换应用于TU中的每一者中的残余数据。可将应用于视频编码器20处的残余数据的转换类型发信到视频解码器30以将适当类型的反转换应用于转换系数。
[0183]在运动补偿单元82基于运动矢量及其它语法元素来产生用于当前视频块的预测性块之后,视频解码器30通过对来自反转换处理单元88的残余块与由运动补偿单元82产生的对应预测性块进行求和来形成经解码视频块。求和器90表示执行这种求和运算的组件。视需要,也可应用去块滤波器以滤波经解码块以便移除块效应假象。也可使用其它环路滤波器(在译码环路中或在译码环路之后)以使像素转变平滑,或以其它方式改善视频质量。给定帧或图片中的经解码视频块接着存储在参考图片存储器92中,参考图片存储器存储用于后续运动补偿的参考图片。参考图片存储器92也存储经解码视频以供稍后呈现在诸如图6的显示装置34的显示装置上。
[0184]图15为说明根据本发明的技术来解码视频数据的实例的流程图。虽然下文将图15中的进程描述为通常由视频解码器30执行,但所述进程可由视频解码器30、熵解码单元56及/或上下文模型化单元708的任何组合执行。
[0185]如图15所说明,视频解码器30在经熵编码位流中接收用于块的当前子块的转换系数的有效性语法元素(1502)。子块可为4X4子块,且块可为8X8转换块。相似于视频编码器20(例如,图11的块1104),视频解码器30针对用于当前子块的转换系数的有效性语法元素的多个扫描类型(例如,水平扫描、垂直扫描及对角扫描)而从二维上下文样式中的相同多个上下文样式选择一上下文样式(1504)。在这个实例中,上下文样式中的每一者是与一或多个相邻块(例如,第一相邻子块及第二相邻块)是否包括任何非零转换系数的条件相关联。
[0186]以相似于上文关于视频编码器20而描述的方式(例如,图11的块1106)的方式,视频解码器30基于选定上下文样式而将上下文指派给转换系数的有效性语法元素中的每一者(1506)。举例来说,如果选择与CGFb等于O且CGFk等于I的条件相关联的上下文样式,那么视频解码器30将与用于其它行的上下文不同的上下文指派给第一行。如果选择与CGFb等于I且CGFk等于O的条件相关联的上下文样式,那么视频解码器30将与用于其它列的上下文不同的上下文指派给第一列。如果选择与CGFb等于I且CGFk等于I的条件相关联的上下文样式,那么视频解码器30将相同上下文指派给有效性语法元素。视频解码器30基于经指派上下文来CABAC解码有效性语法元素(1508)。
[0187]图16为说明根据本发明的技术来解码视频数据的实例的流程图。虽然下文将图16中的进程描述为通常由视频解码器30执行,但所述进程可由视频解码器30、熵解码单元70及/或上下文模型化单元708的任何组合执行。
[0188]如图16所说明,视频解码器30在经熵编码位流中接收用于块的当前子块的转换系数的有效性语法元素(1602)。子块可为4X4子块,且块可为8X8转换块。相似于视频编码器20 (例如,图12的块1204),视频解码器30选择上下文样式(例如,被存储为一维上下文样式的上下文样式)(1604)。所述上下文样式可用于两个或两个以上扫描类型(例如,水平、对角及垂直扫描类型)。
[0189]作为一个实例,如上文所描述,选定上下文样式定义用于扫描顺序中的第一有效性语法元素的第一上下文、定义用于扫描顺序中的第二及第三有效性语法元素的第二上下文,且定义用于扫描顺序中的剩余有效性语法元素的第三上下文。作为另一实例,如上文所描述,选定上下文样式定义用于扫描顺序中的第一有效性语法元素的第一上下文,且定义用于扫描顺序中的剩余有效性语法元素的第二上下文。作为另一实例,选定上下文样式定义用于所有有效性语法元素的相同上下文。
[0190]在一些实例中,选定上下文样式是选自被存储为一维上下文样式的多个上下文样式。举例来说,从图9A到9D所说明的二维上下文样式预计算及存储多个上下文样式。作为一个实例,从包括在经水平地或垂直地扫描时引起相同一维上下文样式的上下文的二维上下文样式预计算多个上下文样式中的一者。此类二维上下文样式的一个实例为图9A所说明的上下文样式。作为另一实例,从包括在经水平地、垂直地或对角地扫描时皆引起相同一维上下文样式的上下文的二维上下文样式预计算多个上下文样式中的一者。此类二维上下文样式的一个实例为图9D所说明的上下文样式。
[0191]作为另一实例,从包括在经水平地扫描时引起与当垂直地扫描第二个二维上下文样式时相同的一维上下文样式的上下文的第一个二维上下文样式预计算多个上下文样式中的一者。第一个二维上下文样式的一个实例为图9B所说明的上下文样式。第二个二维上下文样式的一个实例为图9C所说明的上下文样式。
[0192]视频解码器30基于选定上下文而将上下文指派给有效性语法元素(1606)。视频解码器20基于经指派上下文来CABAC解码有效性语法元素(1608)。
[0193]在一或多个实例中,所描述功能可以硬件、软件、固件或其任何组合予以实施。如果以软件予以实施,那么所述功能可作为一或多个指令或代码而存储在计算机可读媒体上或经由计算机可读媒体而传输,且可由基于硬件的处理单元执行。计算机可读媒体可包括对应于诸如数据存储媒体的有形媒体的计算机可读存储媒体,或包括(例如)根据通信协议而促进计算机程序从一处传送到另一处的任何媒体的通信媒体。如此,计算机可读媒体通常可对应于(I)为非暂时性的有形计算机可读存储媒体,或(2)诸如信号或载波的通信媒体。数据存储媒体可为可由一或多个计算机或一或多个处理器存取以检索用于实施本发明所描述的技术的指令、代码及/或数据结构的任何可用媒体。计算机程序产品可包括计算机可读媒体。
[0194]作为实例而非限制,这些计算机可读存储媒体可包含RAM、ROM、EEPROM、CD-ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置、闪速存储器,或可用以存储呈指令或数据结构的形式的所要程序代码且可由计算机存取的任何其它媒体。此外,将任何连接适当地称为计算机可读媒体。举例来说,如果使用同轴电缆、光缆、双绞线、数字订户线(DSL)或诸如红外线、无线电及微波的无线技术而从网站、服务器或其它远程源传输指令,那么同轴电缆、光缆、双绞线、DSL或诸如红外线、无线电及微波的无线技术包括在媒体的定义中。然而,应理解,计算机可读存储媒体及数据存储媒体不包括连接、载波、信号或其它暂时性媒体,而是有关于非暂时性有形存储媒体。如本文所使用,磁盘及光盘包括压缩光盘(CD)、激光光盘、光学光盘、数字多功能光盘(DVD)、软盘及蓝光光盘,其中磁盘通常以磁性方式重现数据,而光盘用激光以光学方式重现数据。以上各者的组合也应包括在计算机可读媒体的范围内。
[0195]指令可由诸如以下各者的一或多个处理器执行:一或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA),或其它等效集成或离散逻辑电路。因此,如本文所使用,术语“处理器”可指前述结构或适合于实施本文所描述的技术的任何其它结构中的任一者。此外,在一些方面中,本文所描述的功能性可提供在经配置用于编码及解码的专用硬件及/或软件模块内,或并入于组合式编码解码器中。此外,所述技术可完全地实施于一或多个电路或逻辑元件中。
[0196]本发明的技术可实施于各种各样的装置或仪器中,所述装置或仪器包括无线手机、集成电路(IC)或一组IC(例如,芯片组)。各种组件、模块或单元在本发明中经描述以强调经配置以执行所揭示技术的装置的功能方面,但未必需要通过不同硬件单元而实现。更确切地,如上文所描述,各种单元可组合于编码解码器硬件单元中,或由包括如上文所描述的一或多个处理器的互操作性硬件单元集合结合合适软件及/或固件而提供。
[0197]已描述各种实例。这些及其它实例是在所附权利要求书的范围内。
【权利要求】
1.一种用于解码视频数据的方法,所述方法包含: 在位流中接收用于块的当前子块的转换系数的有效性语法元素; 选择上下文样式,其中所述上下文样式识别用于所述当前子块的两个或两个以上扫描类型的上下文; 基于所述选定上下文样式而将上下文指派给用于所述当前子块的所述转换系数的所述有效性语法元素 '及 基于所述经指派上下文来上下文自适应二进制算术译码CABAC解码所述当前子块的所述转换系数的所述有效性语法元素。
2.根据权利要求1所述的方法,其中选择所述上下文样式包含针对水平扫描、垂直扫描及对角扫描的扫描类型选择所述上下文样式。
3.根据权利要求1所述的方法,其中选择所述上下文样式包含选择定义用于扫描顺序中的第一有效性语法元素的第一上下文、定义用于所述扫描顺序中的第二及第三有效性语法元素的第二上下文且定义用于所述扫描顺序中的剩余有效性语法元素的第三上下文的所述上下文样式。
4.根据权利要求1所述的方法,其中选择所述上下文样式包含选择定义用于扫描顺序中的第一有效性语法元素的第一上下文且定义用于所述扫描顺序中的剩余有效性语法元素的第二上下文的所述上下文样式。
5.根据权利要求1所述的方法,其中选择所述上下文样式包含选择定义用于所有所述有效性语法元素的相同上下文的所述上下文样式。
6.根据权利要求1所述的方法,其中所述当前子块包含4X 4子块,且所述块包含8 X 8块。
7.根据权利要求1所述的方法,其中选择所述上下文样式包含从各自被存储为一维上下文样式的多个上下文样式选择所述上下文样式。
8.根据权利要求7所述的方法,其中从二维上下文样式预计算所述多个上下文样式中的一者,且其中所述二维上下文样式包含在经水平地或垂直地扫描的情况下引起相同一维上下文样式的上下文。
9.根据权利要求7所述的方法,其中从二维上下文样式预计算所述多个上下文样式中的一者,且其中所述二维上下文样式包含在经对角地、水平地及垂直地扫描的情况下引起相同一维上下文样式的上下文。
10.根据权利要求7所述的方法,其中从第一个二维上下文样式预计算所述多个上下文样式中的一者,且其中所述第一个二维上下文样式包含在经水平地扫描的情况下引起与当垂直地扫描第二个二维上下文样式时相同的一维上下文样式的上下文。
11.一种用于解码视频数据的装置,所述装置包含视频解码器,所述视频解码器经配置以: 在位流中接收用于块的当前子块的转换系数的有效性语法元素; 选择上下文样式,其中所述上下文样式识别用于所述当前子块的两个或两个以上扫描类型的上下文; 基于所述选定上下文样式而将上下文指派给用于所述当前子块的所述转换系数的所述有效性语法元素;及 基于所述经指派上下文来上下文自适应二进制算术译码CABAC解码所述当前子块的所述转换系数的所述有效性语法元素。
12.根据权利要求11所述的装置,其中,为了选择所述上下文样式,所述视频解码器经配置以针对水平扫描、垂直扫描及对角扫描的扫描类型选择所述上下文样式。
13.根据权利要求11所述的装置,其中,为了选择所述上下文样式,所述视频解码器经配置以选择定义用于扫描顺序中的第一有效性语法元素的第一上下文、定义用于所述扫描顺序中的第二及第三有效性语法元素的第二上下文且定义用于所述扫描顺序中的剩余有效性语法元素的第三上下文的所述上下文样式。
14.根据权利要求11所述的装置,其中,为了选择所述上下文样式,所述视频解码器经配置以选择定义用于扫描顺序中的第一有效性语法元素的第一上下文且定义用于所述扫描顺序中的剩余有效性语法元素的第二上下文的所述上下文样式。
15.根据权利要求11所述的装置,其中,为了选择所述上下文样式,所述视频解码器经配置以选择定义用于所有所述有效性语法元素的相同上下文的所述上下文样式。
16.根据权利要求11所述的装置,其中所述当前子块包含4X4子块,且所述块包含8X8 块。
17.根据权利要求11所述的装置,其中,为了选择所述上下文样式,所述视频解码器经配置以从各自被存储为一维上下文样式的多个上下文样式选择所述上下文样式。
18.根据权利要求17所述的装置,其中从二维上下文样式预计算所述多个上下文样式中的一者,且其中所述二维上下文样式包含在经水平地或垂直地扫描的情况下引起相同一维上下文样式的上下文。
19.根据权利要求17所述的装置,其中从二维上下文样式预计算所述多个上下文样式中的一者,且其中所述二维上下文样式包含在经对角地、水平地及垂直地扫描的情况下引起相同一维上下文样式的上下文。
20.根据权利要求17所述的装置,其中从第一个二维上下文样式预计算所述多个上下文样式中的一者,且其中所述第一个二维上下文样式包含在经水平地扫描的情况下引起与当垂直地扫描第二个二维上下文样式时相同的一维上下文样式的上下文。
21.根据权利要求11所述的装置,其中所述装置包含以下各者中的一者:集成电路; 微处理器; 无线通信装置,其包括所述视频解码器。
22.—种计算机可读存储媒体,其具有存储在其上的指令,所述指令在执行时使用于解码视频数据的装置的一或多个处理器: 在位流中接收用于块的当前子块的转换系数的有效性语法元素; 选择上下文样式,其中所述上下文样式识别用于所述当前子块的两个或两个以上扫描类型的上下文; 基于所述选定上下文样式而将上下文指派给用于所述当前子块的所述转换系数的所述有效性语法元素 '及 基于所述经指派上下文来上下文自适应二进制算术译码CABAC解码所述当前子块的所述转换系数的所述有效性语法元素。
23.根据权利要求22所述的计算机可读存储媒体,其中使所述一或多个处理器选择所述上下文样式的所述指令包含使所述一或多个处理器选择定义用于扫描顺序中的第一有效性语法元素的第一上下文、定义用于所述扫描顺序中的第二及第三有效性语法元素的第二上下文且定义用于所述扫描顺序中的剩余有效性语法元素的第三上下文的所述上下文样式的指令。
24.根据权利要求22所述的计算机可读存储媒体,其中使所述一或多个处理器选择所述上下文样式的所述指令包含使所述一或多个处理器选择定义用于扫描顺序中的第一有效性语法元素的第一上下文且定义用于所述扫描顺序中的剩余有效性语法元素的第二上下文的所述上下文样式的指令。
25.根据权利要求22所述的计算机可读存储媒体,其中使所述一或多个处理器选择所述上下文样式的所述指令包含使所述一或多个处理器选择定义用于所有所述有效性语法元素的相同上下文的所述上下文样式的指令。
26.一种用于编码视频数据的方法,所述方法包含: 产生用于块的当前子块的转换系数的有效性语法元素; 选择上下文样式,其中所述上下文样式识别用于所述当前子块的两个或两个以上扫描类型的上下文; 基于所述选定上下文样式而将上下文指派给用于所述当前子块的所述转换系数的所述有效性语法元素; 基于所述经指派上下文来上下文自适应二进制算术译码CABAC编码所述当前子块的所述转换系数的所述有效性语法元素;及 输出所述经编码有效性语法元素。
27.根据权利要求26所述的方法,其中选择所述上下文样式包含针对水平扫描、垂直扫描及对角扫描的扫描类型选择所述上下文样式。
28.根据权利要求26所述的方法,其中选择所述上下文样式包含选择定义用于扫描顺序中的第一有效性语法元素的第一上下文、定义用于所述扫描顺序中的第二及第三有效性语法元素的第二上下文且定义用于所述扫描顺序中的剩余有效性语法元素的第三上下文的所述上下文样式。
29.根据权利要求26所述的方法,其中选择所述上下文样式包含选择定义用于扫描顺序中的第一有效性语法元素的第一上下文且定义用于所述扫描顺序中的剩余有效性语法元素的第二上下文的所述上下文样式。
30.根据权利要求26所述的方法,其中选择所述上下文样式包含选择定义用于所有所述有效性语法元素的相同上下文的所述上下文样式。
31.根据权利要求26所述的方法,其中所述当前子块包含4X4子块,且所述块包含8X8 块。
32.根据权利要求26所述的方法,其中选择所述上下文样式包含从各自被存储为一维上下文样式的多个上下文样式选择所述上下文样式。
33.根据权利要求32所述的方法,其中从二维上下文样式预计算所述多个上下文样式中的一者,且其中所述二维上下文样式包含在经水平地或垂直地扫描的情况下引起相同一维上下文样式的上下文。
34.根据权利要求32所述的方法,其中从二维上下文样式预计算所述多个上下文样式中的一者,且其中所述二维上下文样式包含在经对角地、水平地及垂直地扫描的情况下引起相同一维上下文样式的上下文。
35.根据权利要求32所述的方法,其中从第一个二维上下文样式预计算所述多个上下文样式中的一者,且其中所述第一个二维上下文样式包含在经水平地扫描的情况下引起与当垂直地扫描第二个二维上下文样式时相同的一维上下文样式的上下文。
36.一种用于编码视频数据的装置,所述装置包含视频编码器,所述视频编码器经配置以: 产生用于块的当前子块的转换系数的有效性语法元素; 选择上下文样式,其中所述上下文样式识别用于所述当前子块的两个或两个以上扫描类型的上下文; 基于所述选定上下文样式而将上下文指派给用于所述当前子块的所述转换系数的所述有效性语法元素; 基于所述经指派上下文来上下文自适应二进制算术译码CABAC编码所述当前子块的所述转换系数的所述有效性语法元素;及 输出所述经编码有效性语法元素。
37.根据权利要求36所述的装置,其中,为了选择所述上下文样式,所述视频编码器经配置以针对水平扫描、垂直扫描及对角扫描的扫描类型选择所述上下文样式。
38.根据权利要求36所述的装置,其中,为了选择所述上下文样式,所述视频编码器经配置以选择定义用于扫描顺序中的第一有效性语法元素的第一上下文、定义用于所述扫描顺序中的第二及第三有效性语法元素的第二上下文且定义用于所述扫描顺序中的剩余有效性语法元素的第三上下文的所述上下文样式。
39.根据权利要求36所述的装置,其中,为了选择所述上下文样式,所述视频编码器经配置以选择定义用于扫描顺序中的第一有效性语法元素的第一上下文且定义用于所述扫描顺序中的剩余有效性语法元素的第二上下文的所述上下文样式。
40.根据权利要求36所述的装置,其中,为了选择所述上下文样式,所述视频编码器经配置以选择定义用于所有所述有效性语法元素的相同上下文的所述上下文样式。
41.根据权利要求36所述的装置,其中所述当前子块包含4X4子块,且所述块包含8X8 块。
42.根据权利要求36所述的装置,其中,为了选择所述上下文样式,所述视频编码器经配置以从各自被存储为一维上下文样式的多个上下文样式选择所述上下文样式。
43.根据权利要求42所述的装置,其中从二维上下文样式预计算所述多个上下文样式中的一者,且其中所述二维上下文样式包含在经水平地或垂直地扫描的情况下引起相同一维上下文样式的上下文。
44.根据权利要求42所述的装置,其中从二维上下文样式预计算所述多个上下文样式中的一者,且其中所述二维上下文样式包含在经对角地、水平地及垂直地扫描的情况下引起相同一维上下文样式的上下文。
45.根据权利要求42所述的装置,其中从第一个二维上下文样式预计算所述多个上下文样式中的一者,且其中所述第一个二维上下文样式包含在经水平地扫描的情况下引起与当垂直地扫描第二个二维上下文样式时相同的一维上下文样式的上下文。
46.一种用于编码视频数据的装置,所述装置包含: 用于产生用于块的当前子块的转换系数的有效性语法元素的装置; 用于选择上下文样式的装置,其中所述上下文样式识别用于所述当前子块的两个或两个以上扫描类型的上下文; 用于基于所述选定上下文样式而将上下文指派给用于所述当前子块的所述转换系数的所述有效性语法元素的装置; 用于基于所述经指派上下文来上下文自适应二进制算术译码CABAC编码所述当前子块的所述转换系数的所述有效性语法元素的装置;及用于输出所述经编码有效性语法元素的装置。
47.根据权利要求46所述的装置,其中用于选择所述上下文样式的所述装置包含用于选择定义中的第一有效性语法元素的第一上下文、定义用于所述扫描顺序中的第二及第三有效性语法元素的第二上下文且定义用于所述扫描顺序中的剩余有效性语法元素的第三上下文的所述上下文样式的装置。
48.根据权利要求46所述的装置,其中用于选择所述上下文样式的所述装置包含用于选择定义用于扫描顺序中的第一有效性语法元素的第一上下文且定义用于所述扫描顺序中的剩余有效性语法元素的第二上下文的所述上下文样式的装置。
49.根据权利要求46所述的装置,其中用于选择所述上下文样式的所述装置包含用于选择定义用于所有所述有效性语法元素的相同上下文的所述上下文样式的装置。
【文档编号】H04N19/129GK104247421SQ201380020024
【公开日】2014年12月24日 申请日期:2013年4月15日 优先权日:2012年4月16日
【发明者】霍埃尔·索赖·罗哈斯, 瑞珍·雷克斯曼·乔许, 马尔塔·卡切维奇 申请人:高通股份有限公司