确定在视频译码中用于译码变换系数数据的上下文的制作方法

文档序号:7790906阅读:211来源:国知局
确定在视频译码中用于译码变换系数数据的上下文的制作方法
【专利摘要】在一个实例中,一种用于译码视频数据的装置包括视频译码器,所述视频译码器经配置以基于其中出现变换系数的视频块的区域来确定用于译码所述视频块的所述变换系数的上下文,且使用所述经确定上下文来熵译码所述变换系数。所述区域可包含第一区域和第二区域中的一者,所述第一区域包含所述视频块的变换系数的一或多个左上4×4子块,所述第二区域包含所述视频块的在所述第一区域外部的变换系数。
【专利说明】确定在视频译码中用于译码变换系数数据的上下文
[0001] 本申请案主张2012年1月13日申请的第61/586, 668号美国临时申请案、2012年 1月19日申请的第61/588, 595号美国临时申请案和2012年2月9日申请的第61/597, 097 号美国临时申请案的权益,所述申请案中的每一者的全部内容特此以引用的方式并入。

【技术领域】
[0002] 本发明涉及视频译码。

【背景技术】
[0003] 数字视频能力可并入到广泛范围的装置中,所述装置包括数字电视、数字直播系 统、无线广播系统、个人数字助理(PDA)、膝上型或桌上型计算机、平板型计算机、电子书阅 读器、数字相机、数字记录装置、数字媒体播放器、视频游戏装置、视频游戏机、蜂窝式或卫 星无线电电话、所谓的"智能型手机"、视频电话会议装置、视频串流装置等。数字视频装置 实施视频压缩技术,例如以下各者中描述的技术:由MPEG-2、MPEG-4、ITU-T H. 263、ITU-T H. 264/MPEG-4第10部分(高级视频译码(AVC))定义的标准、目前在开发中的高效率视频 译码(HEVC)标准,和这些标准的扩展。视频装置可通过实施所述视频压缩技术而较有效率 地发射、接收、编码、解码和/或存储数字视频信息。
[0004] 视频压缩技术执行空间(图片内)预测和/或时间(图片间)预测,以减少或移 除视频序列中所固有的冗余。对于基于块的视频译码而言,可将视频切片(即,视频帧或视 频帧的一部分)分割成视频块(其还可被称作树块、译码单元(CU)和/或译码节点)。使 用相对于同一图片中的相邻块中的参考样本的空间预测来编码图片的帧内译码(I)切片 中的视频块。图片的帧间译码(P或B)切片中的视频块可使用相对于同一图片中的相邻块 中的参考样本的空间预测或相对于其它参考图片中的参考样本的时间预测。图片可被称作 帧,且参考图片可被称作参考帧。
[0005] 空间预测或时间预测导致用于待译码块的预测性块。残余数据表示待译码的原始 块与预测性块之间的像素差。根据指向形成预测性块的参考样本的块的运动向量和指示经 译码块与预测性块之间的差的残余数据来编码帧间译码块。根据帧内译码模式和残余数据 来编码帧内译码块。为进行进一步压缩,可将残余数据从像素域变换到变换域,从而产生残 余变换系数,可接着量化残余变换系数。可扫描最初布置成二维阵列的经量化的变换系数 以便产生变换系数的一维向量,且可应用熵译码以实现更进一步压缩。


【发明内容】

[0006] -股来说,本发明描述关于确定用于熵译码(例如,使用上下文自适应二进制算 术译码(CABAC))视频数据的上下文的技术。CABAC译码大体上涉及确定当译码各种语法元 素的二进制表示时的上下文。语法元素的实例包括用于变换系数的数据,例如,指示变换系 数是否有效的数据、有效的变换系数的正负号,和有效的变换系数的水平值。变换系数大体 上对应于例如变换单元(TU)的变换块的系数。本发明描述用于基于变换块的变换系数在 其中出现的区域来确定用于译码变换系数的上下文的技术。
[0007] 在一个实例中,一种译码视频数据的方法包括基于视频块的变换系数在其中出现 的区域来确定用于译码所述视频块的所述变换系数的上下文,及使用所述经确定上下文来 熵译码所述变换系数。
[0008] 在另一实例中,一种用于译码视频数据的装置包括视频译码器,所述视频译码器 经配置以基于视频块的变换系数在其中出现的区域来确定用于译码所述视频块的所述变 换系数的上下文,且使用所述经确定上下文来熵译码所述变换系数。
[0009] 在另一实例中,一种用于译码视频数据的装置包括用于基于视频块的变换系数在 其中出现的区域来确定用于译码所述视频块的所述变换系数的上下文的装置,及用于使用 所述经确定上下文来熵译码所述变换系数的装置。
[0010]在另一实例中,一种计算机可读存储媒体具有存储于其上的指令,所述指令在被 执行时致使处理器基于视频块的变换系数在其中出现的区域来确定用于译码所述视频块 的所述变换系数的上下文,且使用所述经确定上下文来熵译码所述变换系数。
[0011] 在另一实例中,一种解码视频数据的方法包括:确定视频块的变换系数是否为DC 变换系数;在所述变换系数经确定为所述视频块的所述DC变换系数时,在不考虑所述视频 块的大小的情况下基于为所述DC变换系数的所述变换系数来确定用于解码所述变换系数 的上下文;及使用所述经确定上下文熵解码所述变换系数。
[0012] 在另一实例中,一种用于解码视频数据的装置包括视频解码器,所述视频解码器 经配置以:确定视频块的变换系数是否为DC变换系数;在所述变换系数经确定为所述视频 块的所述DC变换系数时,在不考虑所述视频块的大小的情况下基于为所述DC变换系数的 所述变换系数来确定用于解码所述变换系数的上下文;及使用所述经确定上下文熵解码所 述变换系数。
[0013] 在另一实例中,一种用于解码视频数据的装置包括:用于确定视频块的变换系数 是否为DC变换系数的装置;用于在所述变换系数经确定为所述视频块的所述DC变换系数 时在不考虑所述视频块的大小的情况下基于为所述DC变换系数的所述变换系数来确定用 于解码所述变换系数的上下文的装置;及用于使用所述经确定上下文熵解码所述变换系数 的装置。
[0014]在另一实例中,一种计算机可读存储媒体具有存储于其上的指令,所述指令在被 执行时致使处理器进行如下操作:确定视频块的变换系数是否为DC变换系数;在所述变换 系数经确定为所述视频块的所述DC变换系数时,在不考虑所述视频块的大小的情况下基 于为所述DC变换系数的所述变换系数来确定用于解码所述变换系数的上下文;及使用所 述经确定上下文熵解码所述变换系数。
[0015] 在另一实例中,一种编码视频数据的方法包括:确定视频块的变换系数是否为DC 变换系数;在所述变换系数经确定为所述视频块的所述DC变换系数时,在不考虑所述视频 块的大小的情况下基于为所述DC变换系数的所述变换系数来确定用于编码所述变换系数 的上下文;及使用所述经确定上下文熵编码所述变换系数。
[0016] 在另一实例中,一种用于编码视频数据的装置包括视频编码器,所述视频编码器 经配置以:确定视频块的变换系数是否为DC变换系数;在所述变换系数经确定为所述视频 块的所述DC变换系数时,在不考虑所述视频块的大小的情况下基于为所述DC变换系数的 所述变换系数来确定用于编码所述变换系数的上下文;及使用所述经确定上下文熵编码所 述变换系数。
[0017] 在另一实例中,一种用于编码视频数据的装置包括:用于确定视频块的变换系数 是否为DC变换系数的装置;用于在所述变换系数经确定为所述视频块的所述DC变换系数 时在不考虑所述视频块的大小的情况下基于为所述DC变换系数的所述变换系数来确定用 于编码所述变换系数的上下文的装置;及用于使用所述经确定上下文熵编码所述变换系数 的装置。
[0018] 在另一实例中,一种计算机可读存储媒体具有存储于其上的指令,所述指令在被 执行时致使处理器进行如下操作:确定视频块的变换系数是否为DC变换系数;在所述变换 系数经确定为所述视频块的所述DC变换系数时,在不考虑所述视频块的大小的情况下基 于为所述DC变换系数的所述变换系数来确定用于编码所述变换系数的上下文;及使用所 述经确定上下文熵编码所述变换系数。
[0019] 在另一实例中,一种解码视频数据的方法包括:确定当前子块的一或多个相邻子 块的经译码的子块旗标的值;基于所述经译码的子块旗标的所述值来确定用于解码所述当 前子块的变换系数的上下文;及使用所述经确定上下文熵解码所述变换系数。
[0020] 在另一实例中,一种用于解码视频数据的装置包括视频解码器,所述视频解码器 经配置以:确定当前子块的一或多个相邻子块的经译码的子块旗标的值;基于所述经译码 的子块旗标的所述值来确定用于解码所述当前子块的变换系数的上下文;及使用所述经确 定上下文熵解码所述变换系数。
[0021] 在另一实例中,一种用于解码视频数据的装置包括:用于确定当前子块的一或多 个相邻子块的经译码的子块旗标的值的装置;用于基于所述经译码的子块旗标的所述值来 确定用于解码所述当前子块的变换系数的上下文的装置;及用于使用所述经确定上下文熵 解码所述变换系数的装置。
[0022] 在另一实例中,一种计算机可读存储媒体具有存储于其上的指令,所述指令在被 执行时致使处理器进行如下操作:确定当前子块的一或多个相邻子块的经译码的子块旗标 的值;基于所述经译码的子块旗标的所述值来确定用于解码所述当前子块的变换系数的上 下文;及使用所述经确定上下文熵解码所述变换系数。
[0023] 在另一实例中,一种编码视频数据的方法包括:确定当前子块的一或多个相邻子 块的经译码的子块旗标的值;基于所述经译码的子块旗标的所述值来确定用于编码所述当 前子块的变换系数的上下文;及使用所述经确定上下文熵编码所述变换系数。
[0024] 在另一实例中,一种用于编码视频数据的装置包括视频编码器,所述视频编码器 经配置以:确定当前子块的一或多个相邻子块的经译码的子块旗标的值;基于所述经译码 的子块旗标的所述值来确定用于编码所述当前子块的变换系数的上下文;及使用所述经确 定上下文熵编码所述变换系数。
[0025] 在另一实例中,一种用于编码视频数据的装置包括:用于确定当前子块的一或多 个相邻子块的经译码的子块旗标的值的装置;用于基于所述经译码的子块旗标的所述值来 确定用于编码所述当前子块的变换系数的上下文的装置;及用于使用所述经确定上下文熵 编码所述变换系数的装置。
[0026] 在另一实例中,一种计算机可读存储媒体具有存储于其上的指令,所述指令在被 执行时致使处理器进行如下操作:确定当前子块的一或多个相邻子块的经译码的子块旗标 的值;基于所述经译码的子块旗标的所述值来确定用于编码所述当前子块的变换系数的上 下文;及使用所述经确定上下文熵编码所述变换系数。
[0027] 在附图和以下描述中阐述一或多个实例的细节。其它特征、目标和优点将从所述 描述和图式及从权利要求书显而易见。

【专利附图】

【附图说明】
[0028] 图1为说明可利用本发明中所描述的帧间预测技术的实例视频编码和解码系统 的方框图。
[0029] 图2为说明可实施本发明中所描述的帧间预测技术的实例视频编码器的方框图。
[0030] 图3为说明可实施本发明中所描述的帧间预测技术的实例视频解码器的方框图。
[0031] 图4为说明视频块中的变换系数与和所述视频块相关联的有效性映射之间的关 系的概念图。
[0032] 图5A到图?为说明使用z字形扫描次序、水平扫描次序、垂直扫描次序和对角线 扫描次序扫描的视频数据块的实例的概念图。
[0033] 图6为说明划分为子块以用于变换系数译码的实例视频块的概念图。
[0034] 图7为说明实例五点支持的概念图,所述五点支持用以定义使用反向对角线扫描 次序扫描的视频块中的系数的有效性映射的上下文模型。
[0035] 图8A和图8B为说明五点支持内的上下文相依性的概念图。
[0036] 图9A和图9B为说明视频块到两个或两个以上区域的实例划分的概念图。
[0037] 图10为说明针对视频块的每一区域的基于邻域或基于位置的上下文的实例指派 的概念图。
[0038] 图11为说明针对视频块的每一区域的上下文偏移的实例指派的概念图。
[0039] 图12为说明视频块基于与现有上下文模型相关的TU大小的到两个或两个以上区 域的实例内嵌式划分的概念图。
[0040] 图13A和图13B为说明视频块到两个或两个以上区域的实例划分的概念图。
[0041] 图14A和图14B为说明针对视频块的每一区域的上下文偏移的实例指派的概念 图。
[0042] 图15为说明用于编码当前块的实例方法的流程图。
[0043] 图16为说明用于解码视频数据的当前块的实例方法的流程图。

【具体实施方式】
[0044] 一股来说,本发明描述关于确定用于视频数据的熵译码(例如,使用上下文自适 应二进制算术译码(CABAC))的上下文的技术。CABAC译码通常涉及确定当译码各种语法元 素的二进制表示时的上下文。语法元素包括(例如)用于变换系数的数据,例如,指示变换 系数是否有效的数据、有效的变换系数的正负号,和有效的变换系数的水平值。变换系数大 体上对应于例如变换单元(TU)的变换块的系数。本发明描述用于基于变换块的变换系数 在其中出现的区域来确定用于译码变换系数的上下文的技术。
[0045] 一股来说,根据本发明的技术,视频译码器可经配置以基于变换系数在其中出现 的区域来确定用于译码变换系数的上下文,且接着使用经确定上下文来熵译码变换系数。 可以多种方式将视频块划分为区域。图9A和图11说明将视频块划分为包括一或多个左上 子块(例如,4X4个子块)的第一区域和包括在所述第一区域外部的子块的第二区域的实 例。图9B说明沿对角线方向将视频块划分为区域的实例。图10说明将视频块划分为四等 分且将左上四等分进一步划分为包括左上四等分的左上部分的子块的第一子区域和包括 所述左上四等分的在所述第一子区域外部的子块的第二子区域的实例。图12说明将视频 块划分为对应于视频块大小(例如,4X4、8X8、16X16和32X32)的区域的实例。图13A 说明将视频块划分为水平矩形区域的实例。图13B说明将视频块划分为垂直矩形区域的实 例。以下更详细地描述这些图。
[0046] 在各种实例中,视频译码器可经配置而以多种方式(例如,基于变换系数在其中 出现的区域)来确定用于译码变换系数的上下文。举例来说,视频译码器可经配置而使用 一些区域的基于位置的上下文信息或其它区域的基于邻域的上下文信息来确定上下文。在 一些实例中,特定区域内的所有变换系数可使用基于所述区域所确定的同一上下文来译 码。在其它实例中,可基于上下文邻域来确定一区域内的变换系数的上下文。在另外实例 中,视频译码器可基于变换系数在其中出现的区域来确定待应用于上下文的偏移。即,所述 区域中的每一者可与待应用于上下文的特定上下文偏移相关联。
[0047] 本发明的技术可减少带宽消耗,进而导致在译码变换系数的语法元素时位的节 省。所述语法元素可包括以下各者中的任一者或其全部:有效系数旗标(其指示对应变换 系数是否有效,即,非零);有效系数的正负号;有效系数是否具有大于1的绝对值的指示; 具有大于1的绝对值的有效系数是否具有大于2的绝对值的指示;及/或具有大于2的绝 对值的系数的剩余水平值。
[0048] 图1为说明可利用本发明中所描述的技术的实例视频编码和解码系统10的方框 图。如图1中所展示,系统10包括源装置12,源装置12产生稍后待由目的地装置14解码 的经编码视频数据。源装置12和目的地装置14可包含广泛范围的装置中的任一者,包括 桌上型计算机、笔记型(g卩,膝上型)计算机、平板型计算机、机顶盒、电话手机(例如,所谓 "智能型"手机)、所谓"智能型"板、电视、摄影机、显示装置、数字媒体播放器、视频游戏机、 视频串流装置,或其类似者。在一些情形下,源装置12和目的地装置14可经装备以进行无 线通信。
[0049] 目的地装置14可经由链路16接收待解码的经编码视频数据。链路16可包含能 够将经编码的视频数据从源装置12移动到目的地装置14的任何类型的媒体或装置。在一 实例中,链路16可包含用以使源装置12能够将经编码视频数据直接实时发射到目的地装 置14的通信媒体。可根据通信标准(例如,无线通信协议)调制经编码视频数据,且将经 编码视频数据发射到目的地装置14。通信媒体可包含任何无线或有线通信媒体,例如,射 频(RF)频谱或一或多个物理传输线。通信媒体可形成基于包的网络(例如,局域网、广域 网或例如因特网的全球网络)的部分。通信媒体可包括路由器、交换器、基站,或可用以促 进从源装置12到目的地装置14的通信的任何其它设备。
[0050] 或者,经编码数据可从输出接口 22输出到存储装置34。类似地,可通过输入接口 从存储装置34存取经编码数据。存储装置34可包括多种分布式或本地存取的数据存储媒 体中的任一者,例如,硬盘驱动器、蓝光光盘、DVD、CD-ROM、快闪存储器、易失性或非易失性 存储器,或用于存储经编码视频数据的任何其它合适数字存储媒体。在另一实例中,存储装 置34可对应于可保持由源装置12产生的经编码视频的文件服务器或另一中间存储装置。 目的地装置14可经由串流传输或下载从存储装置34存取所存储的视频数据。文件服务器 可为能够存储经编码视频数据且将所述经编码视频数据发射到目的地装置14的任何类型 的服务器。实例文件服务器包括网站服务器(例如,用于网站)、FTP服务器、网络附加存储 (NAS)装置或本地磁盘驱动器。目的地装置14可经由任何标准数据连接(包括因特网连 接)而存取经编码视频数据。此数据连接可包括适合于存取存储于文件服务器上的经编码 视频数据的无线信道(例如,Wi-Fi连接)、有线连接(例如,DSL、缆线调制解调器,等等), 或所述两者的组合。经编码视频数据从存储装置34的传输可为串流传输、下载传输或所述 两者的组合。
[0051] 本发明的技术未必限于无线应用或环境。所述技术可应用于支持多种多媒体应用 中的任一者的视频译码,所述应用例如:空中电视广播、有线电视发射、卫星电视发射、(例 如)经由因特网的串流视频传输、供存储于数据存储媒体上的数字视频的编码、存储于数 据存储媒体上的数字视频的解码,或其它应用。在一些实例中,系统10可经配置以支持单 向或双向视频发射以支持例如视频串流、视频播放、视频广播和/或视频电话的应用。
[0052] 在图1的实例中,源装置12包括视频源18、视频编码器20和输出接口 22。在一 些情形下,输出接口 22可包括调制器/解调器(调制解调器)和/或发射器。在源装置12 中,视频源18可包括源,例如,视频俘获装置(例如,摄像机)、含有先前俘获的视频的视频 存档、用以从视频内容提供者接收视频的视频馈送接口,和/或用于产生计算机图形数据 作为源视频的计算机图形系统,或这些源的组合。作为一个实例,如果视频源18为摄像机, 则源装置12和目的地装置14可形成所谓的相机电话或视频电话。然而,一股本发明中所 描述的技术可适用于视频译码,且可应用于无线和/或有线应用。
[0053] 经俘获、经预先俘获或经计算机产生的视频可由视频编码器20来编码。可经由源 装置12的输出接口 22将经编码视频数据直接发射到目的地装置14。还可(或替代性地) 将经编码视频数据存储到存储装置34上以供目的地装置14或其它装置稍后存取以用于解 码和/或播放。
[0054] 目的地装置14包括输入接口 28、视频解码器30和显示装置32。在一些情形下, 输入接口 28可包括接收器和/或调制解调器。目的地装置14的输入接口 28经由链路16 接收经编码视频数据。经由链路16传达或在存储装置34上提供的经编码视频数据可包括 由视频编码器20产生的多种语法元素,其供例如视频解码器30的视频解码器在解码视频 数据时使用。所述语法元素可与在通信媒体上传输、存储于存储媒体上或存储于文件服务 器上的经编码视频数据包括在一起。
[0055] 显示装置32可与目的地装置14集成在一起或在目的地装置14外部。在一些实 例中,目的地装置14可包括集成式显示装置且还经配置以与外部显示装置介接。在其它实 例中,目的地装置14可为显示装置。一股来说,显示装置32向用户显示经解码视频数据, 且可包含多种显示装置中的任一者,例如,液晶显示器(LCD)、等离子体显示器、有机发光二 极管(0LED)显示器或另一类型的显示装置。
[0056] 视频编码器20和视频解码器30可根据视频压缩标准(例如,目前在开发中的高 效率视频译码(HEVC)标准)而操作,且可遵照HEVC测试模型(腿)。或者,视频编码器20 和视频解码器30可根据例如ITU-T Η. 264标准或者被称作MPEG-4第10部分(高级视频译 码(AVC))的其它专属或工业标准或这些标准的扩展而操作。举例来说,标准的扩展包括可 缩放视频译码(SVC)、多视图视频译码(MVC)、例如译码深度信息的三维(3D)译码等。然而, 本发明的技术不限于任何特定译码标准或标准扩展。视频压缩标准的其它实例包括MPEG-2 和 ITU-T H. 263。
[0057] 尽管图1中未展示,但在一些方面中,视频编码器20和视频解码器30可各自与音 频编码器和解码器集成在一起,且可包括适当的MUX-DEMUX单元或其它硬件和软件以处置 共同数据串流或单独数据串流中的音频和视频两者的编码。如果适用,则在一些实例中, MUX-DEMUX单元可遵照ITUH. 223多路复用器协议,或例如用户数据报协议(UDP)的其它协 议。
[0058] 视频编码器20和视频解码器30各自可实施为多种合适编码器电路中的任一者, 例如一或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列 (FPGA)、离散逻辑、软件、硬件、固件或其任何组合。当所述技术部分地以软件实施时,装置 可将用于软件的指令存储于合适的非暂时性计算机可读媒体中,且在硬件中使用一或多个 处理器来执行所述指令以执行本发明的技术。视频编码器20和视频解码器30中的每一者 可包括于一或多个编码器或解码器中,其中任一者可集成为相应装置中的组合式编码器/ 解码器(编解码器)的部分。
[0059] JCT-VC正致力于HEVC标准的开发。HEVC标准化努力是基于视频译码装置的演进 模型,其被称作HEVC测试模型(HM)。册假设视频译码装置相对于根据(例如)ITU-TH. 264/ AVC的现有装置的若干额外能力。举例来说,尽管Η. 264提供九个帧内预测编码模式,但HM 可提供多达三十三个帧内预测编码模式。
[0060] 一股来说,ΗΜ的工作模型描述视频帧或图片可被划分成包括明度样本和色度样本 两者的树块或最大译码单元(LCU)的序列。树块具有与Η. 264标准的宏块的用途类似的用 途。切片包括按译码次序的众多连续树块。可将视频帧或图片分割成一或多个切片。每一 树块可根据四叉树而分裂成译码单元(CU)。举例来说,树块(作为四叉树的根节点)可分 裂成四个子节点,且每一子节点又可为上代节点,且分裂成另外四个子节点。最后未分裂的 子节点(作为四叉树的叶节点)包含译码节点,即,经译码视频块。与经译码的位流相关联 的语法数据可定义树块可分裂的最大次数,且还可定义译码节点的最小大小。
[0061] CU包括译码节点和与所述译码节点相关联的预测单元(PU)和变换单元(TU)。CU 的大小对应于译码节点的大小,且形状必须为正方形。CU的大小的范围可从8X8个像素直 到具有最大64X64个像素或大于64X64个像素的树块的大小。每一⑶可含有一或多个 PU和一或多个TU。与CU相关联的语法数据可描述(例如)CU到一或多个PU的分割。分 割模式可在CU是被跳过还是经直接模式编码、经帧内预测模式编码还是经帧间预测模式 编码之间不同。PU可分割成非正方形。与CU相关联的语法数据还可描述(例如)根据四 叉树的⑶到一或多个TU的分割。TU的形状可为正方形或非正方形。
[0062] HEVC标准允许实现根据TU的变换,变换可针对不同⑶而不同。通常基于针对经 分割LCU所定义的给定CU内的PU的大小来设定TU大小,尽管可能并非总是如此情形。TU 通常具有与PU相同的大小,或小于PU。在一些实例中,可使用称为"残余四叉树"(RQT)的 四叉树结构而将对应于CU的残余样本再分为更小的单元。RQT的叶节点可称作变换单元 (TU)。可变换与TU相关联的像素差值以产生可量化的变换系数。
[0063] 一股来说,TO包括与预测过程有关的数据。举例来说,当将PU以帧内模式编码 时,所述PU可包括描述所述PU的帧内预测模式的数据。作为另一实例,当将PU以帧间模 式编码时,所述PU可包括定义所述ro的运动向量的数据。定义PU的运动向量的数据可描 述(例如)运动向量的水平分量、运动向量的垂直分量、运动向量的分辨率(例如,四分之 一像素精度或八分之一像素精度)、运动向量所指向的参考图片,和/或运动向量的参考图 片列表。
[0064] 一股来说,TU用于变换过程和量化过程。具有一或多个PU的给定⑶还可包括一 或多个TU。在预测之后,视频编码器20可计算对应于PU的残余值。残余值包含像素差值, 可使用TU将所述像素差值变换成变换系数,进行量化和扫描以产生串行化变换系数以用 于熵译码。本发明通常使用术语"视频块"来指代CU的译码节点。在一些特定情形下,本 发明还可使用术语"视频块"来指代树块(即,LCU),或CU (其包括译码节点和PU和TU)。
[0065] 视频序列通常包括一系列视频帧或图片。图片群组(G0P)通常包含视频图片中的 一系列的一或多个视频图片。G0P可在G0P的标头、图片中的一者或一者以上的标头中或在 别处包括语法数据,所述语法数据描述包括于G0P中的数个图片。图片的每一切片可包括 描述相应切片的编码模式的切片语法数据。视频编码器20通常对个别视频切片内的视频 块进行操作,以便编码视频数据。视频块可对应于CU内的译码节点。视频块可具有固定或 变化的大小,且可根据指定译码标准而在大小方面不同。
[0066] 作为一实例,HM支持以各种PU大小进行预测。假定特定CU的大小为2NX 2N,HM 支持以2NX2N或NXN的PU大小进行帧内预测,且以2NX2N、2NXN、NX2N或NXN的对称 PU大小进行帧间预测。HM还支持以2NXnU、2NXnD、nLX2N和nRX2N的PU大小的不对称 分割以进行巾贞间预测。在不对称分割中,CU的一个方向未经分割,而另一方向分割成25% 和75%。⑶的对应于25%分割区的部分由"η"继之以"上"、"下"、"左"或"右"的指示来 指示。因此,例如,"2NXnU"指代在水平方向上经分割而具有顶部的2ΝΧ0. 5NPU和底部的 2NX1. 5NPU 的 2NX2NCU。
[0067] 在本发明中,"NXN"与"N乘N"可互换地使用以指代视频块在垂直尺寸与水平尺 寸方面的像素尺寸,例如,16X16个像素或16乘16个像素。一股来说,16X16块在垂直方 向中将具有16个像素 (y = 16)且在水平方向中将具有16个像素 (X = 16)。同样地,NXN 块通常在垂直方向上具有N个像素,且在水平方向上具有N个像素,其中N表示非负整数 值。可按行和列来布置块中的像素。此外,块未必需要在水平方向中与在垂直方向中具有 相同数目个像素。举例来说,块可包含NX Μ个像素,其中Μ未必等于N。
[0068] 在使用CU的PU进行帧内预测性或帧间预测性译码之后,视频编码器20可计算 ⑶的TU的残余数据。PU可包含空间域(还称作像素域)中的像素数据,且TU可包含在将 (例如)离散余弦变换(DCT)、整数变换、小波变换或概念上类似的变换等变换应用于残余 视频数据之后的变换域中的系数。残余数据可对应于未经编码图片的像素与对应于PU的 预测值之间的像素差。视频编码器20可形成包括CU的残余数据的TU,且接着变换所述TU 以产生⑶的变换系数。
[0069] 在应用任何变换以产生变换系数之后,视频编码器20可执行变换系数的量化。量 化大体上指代如下过程:将变换系数量化以可能地减少用以表示所述系数的数据的量,从 而提供进一步压缩。所述量化过程可减少与所述系数中的一些或全部相关联的位深度。举 例来说,可在量化期间将η位值下舍入到m位值,其中η大于m。
[0070] 在一些实例中,视频编码器20和视频解码器30可利用预定义扫描次序来扫描 经量化的变换系数以产生可经熵编码的串行化向量。在其它实例中,视频编码器20和视 频解码器30可执行自适应扫描。在扫描所述经量化变换系数以形成一维向量之后,或在 扫描期间,视频编码器20可熵编码所述一维向量,例如,根据上下文自适应可变长度译码 (CAVLC)、上下文自适应二进制算术译码(CABAC)、基于语法的上下文自适应二进制算术译 码(SBAC)、概率区间分割熵(PIPE)译码或另一熵编码方法。视频解码器30可熵解码所述 系数,执行反量化过程和反变换过程以再现残余数据,且组合所述残余数据与预测性数据 以产生经解码视频数据。视频编码器20还可熵编码与经编码视频数据相关联的语法元素 以供视频解码器30用于解码视频数据。
[0071] 为了执行CABAC,视频编码器20和视频解码器30可将上下文模型内的上下文指 派给待译码的符号。所述上下文可关于(例如)符号的相邻值是否非零。根据本发明的技 术,视频编码器20和/或视频解码器30可经配置以基于视频块的变换系数在其中出现的 区域来确定用于熵译码(例如,熵编码或熵解码)变换系数的上下文。
[0072] 视频编码器20和视频解码器30可经配置而具有视频块(例如,变换单元)的各 区域的定义。举例来说,视频编码器20和视频解码器30可经配置而具有各种大小的视频 块的区域的定义。在一些实例中,视频编码器20可确定借以将视频块划分为区域的方法和 表示将如何划分所述块的码数据。所述区域中的每一者可与用于确定出现于相应区域内的 变换系数的上下文的相应值和/或技术相关联。
[0073] 举例来说,视频块的特定区域可与基于邻域的上下文确定方案相关联,而视频块 的另一区域可与基于位置的上下文确定方案相关联。作为另一实例,视频块的一区域可与 偏移相关联,所述偏移将被应用于经确定用于位于所述区域中的变换系数的上下文。同一 视频块的不同区域可与用于计算上下文的不同偏移值和/或不同技术相关联。
[0074] 作为一个实例,视频块可包括两个不同区域:第一区域,其包括视频块的左上隅角 中的一或多个子块(例如,4X4个变换系数子块);及第二区域,其包括视频块的未包括于 第一区域中的其它子块。更具体来说,视频编码器20和视频解码器30可确定子块的X坐 标和y坐标,且通过比较X与y的总和与阈值来确定所述子块是在第一区域中还是在第二 区域中。如果X与y的总和小于所述阈值,则视频编码器20和视频解码器30可确定所述 子块在第一区域中,且否则视频编码器20和视频解码器30可确定所述子块在第二区域中。 视频编码器20和视频解码器30可基于视频块的系数在第一区域的子块中还是在第二区域 的子块中来确定用于所述系数的上下文。
[0075] 举例来说,在一些区域中,所述上下文可为固定上下文,其中视频编码器20和视 频解码器30使用所述固定上下文来译码所述区域中的变换系数。即,视频编码器20和视 频解码器30可将同一上下文应用于所述区域中的所有变换系数。或者,所述区域中的子块 中的每一者可与确定上下文的同一方法(例如,固定上下文方法)相关联,但区域中的不同 子块可具有不同固定上下文。视频编码器20和视频解码器30可基于子块在区域中的位置 来确定所述子块的固定上下文。作为又一实例,可将固定上下文指派给区域内的个别变换 系数位置。即,视频编码器20和视频解码器30可基于变换系数在视频块、子块和/或区域 中的位置来确定用于译码区域内的变换系数的上下文。
[0076] 作为另一实例,在一些区域中,可根据相邻子块来定义上下文模型。举例来说,视 频编码器20和视频解码器30可经配置而具有用于特定区域内的每一子块的上下文的集 合。即,区域中的每一子块可与上下文的一相应集合相关联。视频编码器20和视频解码器 30可针对相应子块中的每一变换系数从上下文的集合选择适当上下文。用于一个子块的上 下文的集合可不同于用于另一子块的上下文的集合。
[0077] 作为又一实例,用于区域中的每一子块的个别旗标可经译码而表示在对应子块中 是否存在任何有效(即,非零)系数。这些旗标可称作经译码的子块旗标。所述旗标可用 于选择用于译码子块中的变换系数的上下文。举例来说,视频编码器20和视频解码器30 可基于一或多个相邻子块的旗标的值来确定用于译码子块中的变换系数的上下文。举例来 说,所述旗标可具有为〇或1的二进制值,且视频编码器20和视频解码器30可基于右边相 邻的子块和下方相邻的子块(还称作底部相邻的子块)的旗标值的总和来确定用于译码当 前子块中的变换系数的上下文。还可将其它公式用于计算子块的上下文。
[0078] 视频编码器20和视频解码器30可经配置以单独地或按任何组合实施本发明的技 术中的任一者或全部。这些技术的一个实例组合为视频编码器20和视频解码器30可经配 置以将变换单元划分为子块(例如,4 X 4个像素子块),且接着基于特定变换系数在子块中 的位置且基于用于一或多个相邻子块(例如,左边相邻的子块和底部相邻的子块)的经译 码块旗标来确定用于译码所述子块的所述变换系数的数据的上下文。
[0079] 视频编码器20和视频解码器30可经配置以使用在这些各种实例中所确定的上下 文来译码表示变换系数的一或多个语法元素。变换系数可包括各种类型的语法元素。举 例来说,变换系数可包括significant_coeff_flag,其指示变换系数是否具有非零值(即, 为有效的)。如果变换系数有效,则变换系数可包括指示变换系数的值是大于还是小于〇 的正负号值(例如,coeff_sign_flag),和指示变换系数的绝对值是否大于1的值(例如, coeff_abs_level_greaterl_flag)。如果变换系数具有大于1的绝对值,则变换系数可包 括指示变换系数是否具有大于2的绝对值的值(例如,coeff_abs_level_greater2_flag)。 如果变换系数具有大于2的绝对值,则变换系数可包括指示变换系数的绝对值减去二的值 (例如,coeff_abs_level_remaining) 〇
[0080] 视频编码器20和视频解码器30的CABAC译码器可使用根据本发明的技术所确 定的上下文来译码这些值中的任一者或全部。额外或替代性地,视频编码器20和视频解 码器30可使用根据本发明的技术所确定的上下文来译码指示最后有效系数的位置的数 据(例如,last_significant_coeff_x_prefix、last_significant_coeff_x_suffix、last_ significant_coeff_y-prefix 和 last_significant_coefT_y_suffix)。
[0081] 视频编码器20和视频解码器30可经配置以单独地或按任何组合执行本发明中所 描述的技术中的任何一者或一者以上。以下描述用于基于视频块的变换系数在其中出现的 区域来确定用于译码视频块的变换系数的上下文且使用所述经确定上下文来熵译码变换 系数的各种技术。以下参看图9到图14来描述所述技术的实例。一股来说,使用经确定上 下文来译码变换系数包括使用经确定上下文来译码变换系数的一或多个语法元素。确定上 下文大体上包括确定变换系数在其中出现的区域且基于所述区域来确定上下文。举例来 说,所述区域可与特定上下文或上下文的集合相关联,和/或与用于确定上下文的一或多 种技术相关联。
[0082] 图2为说明可实施本发明中所描述的帧间预测技术的实例视频编码器20的方框 图。视频编码器20可执行视频切片内的视频块的帧内译码和帧间译码。帧内译码依赖于 空间预测以减少或移除给定视频帧或图片内的视频的空间冗余。帧间译码依赖于时间预测 以减少或移除视频序列的邻近帧或图片内的视频的时间冗余。帧内模式(I模式)可指代 若干基于空间的压缩模式中的任一者。例如单向预测(P模式)或双向预测(B模式)的帧 间模式可指代若干基于时间的压缩模式中的任一者。
[0083] 在图2的实例中,视频编码器20包括模式选择单元35、预测处理器41、参考图片 存储器64、求和器50、变换处理单元52、量化单元54和熵编码单元56。预测处理器41包 括运动估计单元42、运动补偿单元44和帧内预测单元46。对于视频块重构而言,视频编码 器20还包括反量化单元58、反变换单元60和求和器62。还可包括解块滤波器(图2中未 展示)以对块边界滤波从而移除来自经重构视频的成块效应假影。视需要,所述解块滤波 器将通常对求和器62的输出滤波。除解块滤波器以外,还可使用额外的环路滤波器(环路 内或环路后)。
[0084] 如图2中所展示,视频编码器20接收视频数据,且模式选择单元35将所述数据分 割为视频块。此分割还可包括分割为切片、瓦片(tile)或其它较大单元,以及(例如)根据 LCU和CU的四叉树结构的视频块分割。视频编码器20大体上说明了编码待编码的视频切 片内的视频块的组件。可将所述切片划分为多个视频块(且有可能划分为视频块的集合, 其称为瓦片)。预测处理器41可基于误差结果(例如,译码速率和失真的水平)针对当前 视频块选择多个可能译码模式中的一者,例如,多个帧内译码模式中的一者或多个帧间译 码模式中的一者。预测处理器41可将所得帧内或帧间译码块提供到求和器50以产生残余 块数据且提供到求和器62以重构经编码块以用作参考图片。
[0085] 预测处理器41内的帧内预测单元46可执行当前视频块相对于处于与待译码的当 前块相同的帧或切片中的一或多个相邻块的帧内预测性译码,以提供空间压缩。预测处理 器41内的运动估计单元42和运动补偿单元44执行相对于一或多个参考图片中的一或多 个预测性块的当前视频块的帧间预测性译码,以提供时间压缩。
[0086] 运动估计单元42可经配置以根据视频序列的预定模式确定视频切片的帧间预测 丰吴式。所述预定1吴式可将序列中的视频切片指定为P切片、B切片或GPB切片。运动估计 单元42和运动补偿单元44可高度集成,但出于概念性目的而单独加以说明。由运动估计 单元42执行的运动估计为产生运动向量的过程,所述运动向量估计视频块的运动。运动向 量(例如)可指示当前视频帧或图片内的视频块的PU相对于参考图片内的预测性块的位 移。
[0087] 预测性块为被发现与待译码的视频块的TO在像素差方面压缩紧密匹配的块,可 通过绝对差总和(SAD)、平方差总和(SSD)或其它差量度来确定所述像素差。在一些实例 中,视频编码器20可计算存储于参考图片存储器64中的参考图片的子整数像素位置的值。 举例来说,视频编码器20可内插参考图片的四分之一像素位置、八分之一像素位置或其它 分率像素位置的值。因此,运动估计单元42可执行相对于全像素位置和分数像素位置的运 动搜索,且以分数像素精度输出运动向量。
[0088] 运动估计单元42通过比较经帧间译码切片中的视频块的PU的位置与参考图片的 预测性块的位置来计算所述PU的运动向量。参考图片可选自第一参考图片列表(列表0) 或第二参考图片列表(列表1),所述列表中的每一者识别存储于参考图片存储器64中的一 或多个参考图片。运动估计单元42将所计算的运动向量发送到熵编码单元56和运动补偿 单元44。
[0089] 由运动补偿单元44执行的运动补偿可涉及基于由运动估计确定的运动向量来提 取或产生预测性块,其有可能执行子像素精度的内插。一旦接收到当前视频块的PU的运动 向量,运动补偿单元44便可在参考图片列表中的一者中找到运动向量所指向的预测性块。 运动补偿单元44还可产生与视频块和视频切片相关联的语法元素以供视频解码器30在解 码视频切片的视频块时使用。
[0090] 如以上所描述,作为由运动估计单元42和运动补偿单元44执行的帧间预测的替 代方案,帧内预测单元46可对当前块进行帧内预测。具体来说,帧内预测单元46可确定用 以编码当前块的帧内预测模式。在一些实例中,帧内预测单元46可(例如)在单独编码回 合期间使用各种帧内预测模式来编码当前块,且帧内预测单元46(或在一些实例中,为模 式选择单元35)可从经测试模式中选择要使用的适当帧内预测模式。举例来说,帧内预测 单元46可使用对各种经测试的帧内预测模式的速率-失真分析而计算速率-失真值,且在 经测试模式当中选择具有最佳速率-失真特性的帧内预测模式。速率-失真分析通常确定 经编码块与经编码以产生所述经编码块的原始的未经编码的块之间的失真(或误差)的 量,以及用以产生经编码块的位速率(即,位数目)。帧内预测单元46可从失真和速率计算 各种经编码块的比率以确定哪一帧内预测模式展现块的最佳速率-失真值。
[0091] 在任一情形下,在选择用于块的帧内预测模式之后,帧内预测单元46可将指示用 于块的选定帧内预测模式的信息提供到熵编码单元56。熵编码单元56可根据本发明的技 术来编码指示选定帧内预测模式的信息。视频编码器20可在经发射的位流配置数据中包 括各种块的编码上下文的定义及将用于所述上下文中的每一者的最有可能的帧内预测模 式、帧内预测模式索引表和经修改的帧内预测模式索引表的指示,所述位流配置数据可包 括多个帧内预测模式索引表和多个经修改的帧内预测模式索引表(还称作码字映射表)。
[0092] 在预测处理器41经由帧间预测或帧内预测产生用于当前视频块的预测性块之 后,视频编码器20通过从当前视频块减去预测性块而形成残余视频块。求和器50表示执 行此计算的单元。残余块中的残余视频数据可包括于一或多个TU中且应用于变换处理单 元52。变换处理单元52通常将残余视频数据从像素域转换到变换域(例如,频域)。变换 处理单元52可使用例如离散余弦变换(DCT)或概念上类似的变换的变换将残余视频数据 变换为残余变换系数。或者,变换处理单元52可将二维(2D)变换(在水平方向和垂直方 向两者上)应用于TU中的残余数据。
[0093] 变换处理单元52可将所得变换系数发送到量化单元54。量化单元54量化所述变 换系数以进一步减少位速率。所述量化过程可减少与所述系数中的一些或全部相关联的位 深度。可通过调整量化参数而修改量化的程度。
[0094] 在量化之后,熵编码单元56熵编码经量化的变换系数。举例来说,熵编码单元56 可执行上下文自适应可变长度译码(CAVLC)、上下文自适应二进制算术译码(CABAC)、基于 语法的上下文自适应二进制算术译码(SBAC)、概率区间分割熵(PIPE)译码或另一熵编码 方法或技术。所述熵编码大体上包括扫描经量化的变化系数(本文中为了简要起见大体上 简称为"变换系数")一或多次,及在每一扫描期间熵译码用于变换系数的语法元素,例如, 指示对应变换系数是否有效、是否具有大于1或2的绝对值、有效系数的绝对值(或其一部 分,例如,大于2的部分)和正负号的语法元素。
[0095] 根据本发明的技术,熵编码单元56可基于视频块(例如,变换单元)的变换系数 在其中出现的区域来确定用于译码(即,熵编码)所述视频块的变换系数的上下文。举例 来说,在扫描期间,熵编码单元56可确定变换系数在视频块中的位置,且确定所述位置出 现于哪一区域中。另外,熵编码单元56可包括定义视频块的区域的配置数据。
[0096] 举例来说,熵编码单元56可经配置有一阈值。在此实例中,熵编码单元56可确定 定义变换系数的位置的X坐标和y坐标是否具有大于所述阈值的总和(即,χ+y)。在此实 例中,第一区域对应于X坐标值和y坐标值的总和小于所述阈值的变换系数,且第二区域对 应于X坐标值和y坐标值的总和大于或等于所述阈值的变换系数。或者,可使用多个阈值 来定义多个区域。在图9B中展示以此方式定义的区域的实例,以下更详细地描述图9B。
[0097] 作为另一实例,熵编码单元56可经配置以确定子块(包括变换系数)在视频块中 的位置。子块可对应于4X4变换系数子块。即,视频块可包括多个非重叠子块,每一非重 叠子块具有相同的大小,例如,4X4个变换系数。为了确定子块的区域,熵编码单元56可比 较子块(例如,子块的特定变换系数,例如,子块的左上变换系数)的X坐标和y坐标的总 和与阈值。X坐标和y坐标的总和是否小于阈值可指示子块的变换系数是包括于第一区域 还是第二区域中。
[0098] 举例来说,令Cij表示具有在位置(i,j)处的左上变换系数的子块的位置,其中X =i和y = j。另外,令T定义所述阈值。熵编码单元56可使用以下伪码来确定子块的变 换系数在其中出现的区域:
[0099] (i+j < T) ?区域 1 :区域 2。
[0100] 在此实例中,当i+j小于T时(S卩,子块的X坐标和y坐标的总和小于阈值),熵编 码单元56确定子块的所有变换系数出现于区域1中,而当i+j大于或等于T时(即,子块 的X坐标和y坐标的总和大于或等于阈值),熵编码单元56确定子块的所有变换系数出现 于区域2中。以下参看图9到图14更详细地描述区域的这些和其它实例。
[0101] 熵编码单元56可经配置而以各种方式基于区域来确定上下文。举例来说,熵编码 单元56可使用变换系数在视频块中的位置或变换系数在其中出现的4X4子块的位置、基 于变换系数在其中出现的区域来确定用于译码变换系数的上下文。
[0102] 或者,可根据相邻的4X4子块来定义上下文模型。举例来说,熵编码单元56可 将可用上下文的相应集合指派给每一 4X4子块,且(例如)基于变换系数在子块中的 位置来为子块中的待译码的当前变换系数选择上下文中的一者。可将上下文的集合指 派给相应子块,以使得每一子块可具有可用上下文的不同集合。作为又一实例,熵编码 单兀 56 可将上下文计算为 ctx = Right4x4SubBlockFlag+Bottom4x4SubBlockFlag。在 此情形下,Ri ght4x4SubB 1 ockFlag表示用于右边相邻的子块的经译码的子块旗标,而 Bottom4x4SubBlockFlag表示用于底部相邻的经译码的子块旗标的经译码的子块旗标。
[0103] 在一些实例中,熵编码单元56可将偏移应用于用于熵编码变换系数的经确定上 下文,且可进一步基于变换系数在其中出现的区域来确定待应用的偏移。即,熵编码单元56 可以相同的通用方式计算用于两个或两个以上区域的系数的基本上下文,但不同区域可具 有不同的对应偏移值。因此,熵编码单元56可基于区域所映射到的偏移(即,与所述区域 相关联的偏移)将偏移应用于经计算的上下文值。
[0104] 熵编码单元56可确定变换系数是否为DC (直流)变换系数(通常存在于变换块 的左上隅角中),且基于变换系数在其中出现的区域以及所述变换系数是否为DC变换系数 来选择用于译码变换系数的上下文。举例来说,熵编码单元56可使用用于专用位置的共享 上下文来确定用于变换系数的上下文。即,所述共享上下文可包含应用于出现在特定位置 处(例如,子块的左上隅角)的所有变换系数的同一上下文。因此,所述共享上下文可进一 步包括待在译码DC变换系数而非出现于其它子块的左上位置处的非DC变换系数时应用的 特定上下文的指示。
[0105] 额外或替代性地,共享上下文可包含在不同大小的块之间的用于出现于所述块的 特定位置处的变换系数的共享上下文。举例来说,熵编码单元56可经配置以在译码任何大 小(例如,4\4、8父8、16父16或其类似者)的视频块(例如,1^)的0(:变换系数时应用同 一上下文。即,熵编码单元56可包括将DC变换系数(对于任何大小的块)映射到用于译 码DC变换系数的同一上下文数据的数据。换句话说,熵编码单元56可经配置以使用经确 定用于DC变换系数的上下文来译码DC变换系数,而不考虑正被译码的当前视频块的大小。 通常,DC变换系数为视频块的左上系数。
[0106] 在通过熵编码单元56进行的熵编码之后,可将经编码的位流传输到视频解码器 30,或经存档以用于稍后传输或由视频解码器30检索。熵编码单元56还可熵编码运动向 量、帧内模式指示和正被译码的当前视频切片的其它语法元素。
[0107] 反量化单元58和反变换单元60分别应用反量化和反变换,以在像素域中重构残 余块以供稍后用作参考图片的参考块。运动补偿单元44可通过将残余块加到参考图片列 表中的一者内的参考图片中的一者的预测性块来计算参考块。运动补偿单元44还可将一 或多个内插滤波器应用于经重构的残余块以计算子整数像素值以用于运动估计中。求和器 62将经重构的残余块添加到由运动补偿单元44产生的运动补偿预测块,以产生参考块以 供存储于参考图片存储器64中。参考块可由运动估计单元42和运动补偿单元44用作参 考块以对后续视频帧或图片中的块进行帧间预测。
[0108] 以此方式,视频编码器20表示视频译码器的一实例,其经配置以基于视频块的变 换系数在其中出现的区域来确定用于译码视频块的变换系数的上下文,且使用经确定上下 文来熵译码所述变换系数。所述区域可包含第一区域和第二区域中的一者,所述第一区域 包含视频块的变换系数的一或多个左上4X4子块,所述第二区域包含视频块的在所述第 一区域外部的变换系数。
[0109] 图3为说明可实施本发明中所描述的帧间预测技术的实例视频解码器30的方框 图。在图3的实例中,视频解码器30包括熵解码单元80、预测处理器81、反量化单元86、反 变换单元88、求和器90和参考图片存储器92。预测处理器81包括运动补偿单元82和帧 内预测单元84。在一些实例中,视频解码器30可执行与参考来自图2的视频编码器20所 描述的编码回合大体上互逆的解码回合。
[0110] 在解码过程期间,视频解码器30从视频编码器20接收表示经编码的视频切片的 视频块和相关联语法元素的经编码的视频位流。视频解码器30的熵解码单元80熵解码所 述位流以产生经量化的系数、运动向量和其它语法元素。熵解码单元80将运动向量、帧内 模式指示和其它预测相关语法元素转发到预测处理器81。熵解码单元80将经量化的系数 以块(例如,TU)的形式转发到反量化单元86。视频解码器30可接收视频切片层级和/或 视频块层级的语法元素。
[0111] 具体来说,根据本发明的技术,熵解码单元80可基于块的变换系数在其中出现的 区域来确定用于熵解码变换系数的上下文。具体来说,一旦变换系数位于块内,熵解码单元 80便可基于块的变换系数将在其中出现的区域来确定所述上下文。熵解码单元80可经配 置以如以下参看图9到图14所解释来确定所述区域或其它所述区域。举例来说,如图9A 中所展示,熵解码单元80可经配置以确定一变换系数将出现于包括块的左上隅角中的一 或多个子块的第一区域中还是出现于包括在所述第一区域外部的子块的第二区域中,且基 于所述变换系数将出现于第一区域还是第二区域中来确定上下文。
[0112] 同样,熵解码单元80可基于区域来确定上下文,这是因为熵解码单元80可通过用 于计算或确定与每一区域中的系数相关联的上下文的一或多个各种技术进行配置。即,每 一区域可与用于计算或确定上下文的一或多种技术相关联。举例来说,一区域可与在一或 多个变换系数之间共享的上下文相关联。作为另一实例,一区域可与在所述区域的子块之 间共享的上下文相关联。作为又一实例,一区域可与一偏移值相关联,所述偏移值将应用于 经计算用于所述区域中的变换系数的上下文值。熵解码单元80可经配置以基于变换系数 在其中出现的区域使用如本文中所描述的这些或其它技术来确定用于解码变换系数的上 下文。熵解码单元80可接着使用经确定上下文来熵解码变换系数。
[0113] 额外或替代性地,共享上下文可包含在不同大小的块之间的用于出现于所述块的 特定位置处的变换系数的共享上下文。举例来说,熵解码单元80可经配置以在译码任何大 小(例如,4父4、8\8、16父16或其类似者)的视频块(例如,加的0(:变换系数时应用同 一上下文。即,熵解码单元80可包括将DC变换系数(对于任何大小的块)映射到用于译 码DC变换系数的同一上下文数据的数据。换句话说,熵解码单元80可经配置以使用经确 定用于DC变换系数的上下文来译码DC变换系数,而不考虑正被译码的当前视频块的大小。 通常,DC变换系数为视频块的左上系数。
[0114] 当视频切片经译码为帧内译码(I)切片时,预测处理器81的帧内预测单元84可 基于用信号通知的帧内预测模式和来自当前帧或图片的先前解码块的数据而产生用于当 前视频切片的视频块的预测数据。在视频帧经译码为帧间译码(即,B、P或GPB)切片时, 预测处理器81的运动补偿单元82基于运动向量和从熵解码单元80接收的其它语法元素 而产生针对当前视频切片的视频块的预测性块。预测性块可从参考图片列表中的一者内的 参考图片中的一者产生。视频解码器30可基于存储于参考图片存储器92中的参考图片使 用默认建构技术来建构参考帧列表(列表〇和列表1)。
[0115] 运动补偿单元82通过解析运动向量和其它语法元素而确定当前视频切片的视频 块的预测信息,且使用所述预测信息以产生针对正被解码的当前视频块的预测性块。举例 来说,运动补偿单元82使用所接收的语法元素中的一些来确定用以译码视频切片的视频 块的预测模式(例如,帧内预测或帧间预测)、帧间预测切片类型(例如,B切片、P切片或 GPB切片)、切片的参考图片列表中的一者或一者以上的建构信息、切片的每一经帧间编码 视频块的运动向量、切片的每一经帧间译码视频块的帧间预测状态,及用以解码当前视频 切片中的视频块的其它信息。
[0116] 运动补偿单元82还可基于内插滤波器执行内插。运动补偿单元82可使用如由 视频编码器20在视频块的编码期间使用的内插滤波器来计算参考块的子整数像素的内插 值。在此情形下,运动补偿单元82可从所接收的语法元素确定由视频编码器20使用的内 插滤波器且使用所述内插滤波器来产生预测性块。
[0117] 反量化单元86将位流中所提供且由熵解码单元80解码的经量化的变换系数反量 化(即,解量化)。反量化过程可包括使用由视频编码器20针对视频切片中的每一视频块 计算的量化参数以确定量化程度及(同样)应被应用的反量化的程度。反变换单元88将 反变换(例如,反DCT、反整数变换或概念上类似的反变换过程)应用于变换系数,以便在像 素域中产生残余块。
[0118] 在一些情形下,反变换单元88可将二维(2D)反变换(在水平方向和垂直方向两 者上)应用于系数。根据本发明的技术,反变换单元88可替代地应用水平一维(1D)反变 换、垂直1D反变换,或不将变换应用于TU中的每一者中的残余数据。可将在视频编码器20 处应用于残余数据的变换的类型用信号通知给视频解码器30以将适当类型的反变换应用 于变换系数。
[0119] 在运动补偿单元82基于运动向量和其它语法元素产生当前视频块的预测性块之 后,视频解码器30通过对来自反变换单元88的残余块与由运动补偿单元82产生的对应预 测性块求和而形成经解码的视频块。求和器90表示执行此求和运算的(若干)组件。视需 要,还可应用解块滤波器来对经解码块滤波以便移除成块效应假影。其它环路滤波器(在 译码环路中或在译码环路后)也可用以使像素转变平滑,或以其它方式改进视频质量。接 着将给定帧或图片中的经解码的视频块存储于参考图片存储器92中,参考图片存储器92 存储用于后续运动补偿的参考图片。参考图片存储器92还存储经解码视频以用于稍后在 显示装置(例如,图1的显示装置32)上呈现。
[0120] 以此方式,视频解码器30表示视频译码器的一实例,其经配置以基于视频块的变 换系数在其中出现的区域来确定用于译码视频块的变换系数的上下文,且使用经确定上下 文来熵译码所述变换系数。所述区域可包含第一区域和第二区域中的一者,所述第一区域 包含视频块的变换系数的一或多个左上4X4子块,所述第二区域包含视频块的在所述第 一区域外部的变换系数。
[0121] 图4为说明视频块中的变换系数与和所述视频块相关联的有效性映射之间的关 系的概念图。如图4中所说明,有效性映射包括"1"以指示视频块中的有效系数值(S卩,大 于零的值)的每一实例。可在位流中用信号通知有效性映射,其可由视频解码器(例如,视 频解码器30)解码以确定待解码的视频块中的有效(即,大于零)系数的位置。更具体来 说,可在位流中用信号通知视频块内的最后非零系数的位置。视频块中的最后非零系数的 位置取决于用于视频块的扫描次序。可用信号通知额外语法元素以根据已知或可知晓的扫 描次序相对于最后非零系数来指示其它有效系数。
[0122] 图5A到图?为说明使用z字形扫描次序、水平扫描次序、垂直扫描次序和对角线 扫描次序所扫描的视频数据的块的实例的概念图。如图5A到图?中所展示,视频数据的 8X8块(例如,CU的TU)可包括在对应块位置中的六十四个变换系数(以圆圈表示)。在 此实例中,块100、102、104和106各自具有8X8的大小,且因此包括使用先前所描述的预 测技术所产生的六十四个变换系数。
[0123] 根据本发明中所描述的技术,块100、102、104和106中的每一者中的六十四个变 换系数可能已使用2D变换、水平1D变换和垂直1D变换中的一者进行了变换或可被反变 换,或变换系数可根本不经变换。无论是否经变换,视频块100、102、104和106中的每一者 中的系数均使用z字形扫描次序、水平扫描次序、垂直扫描次序和对角线扫描次序中的一 者进行扫描以准备进行熵译码。
[0124] 如图5A中所展示,与块100相关联的扫描次序为z字形扫描次序。所述z字形扫 描次序使得视频译码器(例如,视频编码器20或视频解码器30)以如由图5A中的箭头所 指示的对角线方式扫描块100的经量化的变换系数。在图中,类似地,对角线扫描次序 使得视频译码器以如由图中的箭头所指示的对角线方式来扫描块106的经量化的变换 系数。如图5B和图5C中所展示,与块102和104相关联的扫描次序分别为水平扫描次序 和垂直扫描次序。水平扫描次序使得视频译码器以水平逐行或"光栅"方式扫描块102的 经量化的变换系数,而垂直扫描次序使得视频译码器以垂直逐行或"旋转光栅"方式扫描块 104的经量化的变换系数(还如由图5B和图5C中的箭头所指示)。
[0125] 在其它实例中,如以上所描述,块可具有小于或大于块100、102、104和106的大小 的大小,且可包括更多或更少的经量化的变换系数和对应的块位置。在这些实例中,与特定 块相关联的扫描次序可使得视频译码器以实质上与图5A到图?的8X8块的实例中所展 示的方式类似的方式来扫描块的经量化的变换系数,例如,可遵循先前所描述的扫描次序 中的任一者来扫描4X4块或16X 16块。
[0126] 尽管图5A到图?中的扫描方向大体上被展示为从低频率系数进行到高频率系 数,但在其它实例中,视频编码器20和视频解码器30可经配置以执行反向扫描次序,其中 扫描可从高频率系数进行到低频率系数。即,视频编码器20和视频解码器30可以与图5A 到图5D中所展示的次序相反的次序来扫描系数。
[0127] 图6为说明划分为子块以用于变换系数译码的实例视频块110的概念图。在当前 HM中,将子块概念用于变换系数译码。视频译码器可将大于经确定的子块大小的任何变换 单元(TU)再分为子块。举例来说,将视频块110划分为四个4X4子块。
[0128] 在图6的经说明实例中,视频译码器将视频块110划分为4X4子块。在其它实例 中,视频译码器可将视频块划分为其它大小的子块,例如,8 X 8、16 X 16等。如果视频译码器 将同一子块大小用于帧或切片的所有TU,则归因于通过子块大小实现的均一性,可在硬件 实施中实现增益。举例来说,所有处理可在所述子块中分裂,而与TU大小无关。然而,对于 执行本发明的技术而言,均一的子块大小并非必要的。
[0129] 对于系数译码而言,视频译码器可使用对角线扫描次序来扫描视频块110的每一 4X4子块,如图6中所展示。在一些实例中,视频译码器可使用统一扫描来扫描每一子块 的变换系数。在此情形下,将同一扫描次序用于有效性信息,即,有效性映射、系数水平、正 负号等。在第一实例中,如图6中所展示,视频译码器可使用对角线扫描来扫描变换系数。 在另一实例中,视频译码器可以与图6中所展示的次序相反的次序来扫描变换系数,例如, 从右下隅角开始且进行到左上隅角的反向对角线扫描。在其它实例中,视频译码器可使用 z字形、水平或垂直扫描来扫描变换系数。其它扫描方向/定向也是可能的。
[0130] 为了解释简单起见,本发明将视频块的子块描述为4X4子块。然而,本发明 的技术还可应用于不同大小(例如,8X8U6X16等)的子块。针对每一 4X4块,译码 significant_coeffgroup_flag,且如果在子块中存在至少一个非零系数,则此旗标被设定 为一,否则所述旗标等于零。如果对于给定子块而言significant_coefTgroup_flag非零, 则以反向对角线次序来扫描4X4子块,且针对所述子块的每一系数来译码significant_ C〇eff_flag以指示系数的有效性。这些旗标的群组可称作视频块的有效性映射。在某一实 例中,替代于明确地用信号通知所述有效性映射,可使用相邻的4X4子块旗标或在4X4子 块含有最后系数或DC系数时隐含地导出significant_coeffgroup_flag。系数的绝对值也 经译码,即,系数水平。
[0131] 尽管将图6的扫描的方向大体上展示为从低频率系数进行到高频率系数,但在其 它实例中,视频编码器20和视频解码器30可经配置以执行反向扫描次序,其中所述扫描可 从高频率系数进行到低频率系数。即,视频编码器20和视频解码器30可以与图6中所展 示的次序相反的次序来扫描系数。
[0132] 图7为说明实例五点支持邻域的概念图,所述五点支持邻域用以定义用于选择使 用反向对角线扫描次序扫描的视频块112中的系数的有效性映射的上下文的上下文模型。 如以上所提及,对于上下文自适应译码而言,可基于描述变换系数具有为〇的值或为1的值 的概率的上下文模型来译码变换系数。关于有效性映射译码,上下文模型描述特定变换系 数是否有效(即,非零)的概率。
[0133] 对于有效性映射译码而言,五点支持S可用以定义用以译码视频块112的变换系 数的有效性映射的上下文模型。五点支持可称作"上下文支持邻域"或简单地称作"支持邻 域"。即,视频译码器可依据所述支持来确定当前位置的有效性为一或零的概率。所述上下 文支持邻域定义可用作用于译码当前系数的上下文的相邻系数(例如,其可包括有效性信 息)。根据本发明的一些实例,所述上下文支持邻域可针对块或子块内的不同系数位置而不 同。
[0134] 在图7中所展示的实例中,相对于由被圆圈环绕的圆点表示的当前或"目标"位 置,五点支持S由被正方形环绕的圆点表示。可将上下文模型Ctx(以下等式(1))定义为 所述支持的每一点中的有效旗标的总和,其中如果对应变换系数非零,则可将有效性旗标 设定为" 1",且否则便将有效性旗标设定为"0"。
[0135]

【权利要求】
1. 一种译码视频数据的方法,所述方法包含: 基于其中出现变换系数的视频块的区域来确定用于译码所述视频块的所述变换系数 的上下文;及 使用所述经确定上下文来熵译码所述变换系数。
2. 根据权利要求1所述的方法,其中所述区域包含第一区域和第二区域中的一者,所 述第一区域包含所述视频块的变换系数的一或多个左上4X4子块,所述第二区域包含所 述视频块的在所述第一区域外部的变换系数。
3. 根据权利要求1所述的方法,其中所述区域包含所述视频块的多个区域中的一者, 所述区域中的每一者包含所述视频块的一或多个子块的相应集合。
4. 根据权利要求1所述的方法,其中译码所述变换系数包含译码与所述变换系数相关 联的有效性信息、所述变换系数的水平信息和与所述变换系数相关联的正负号信息中的一 者或一者以上。
5. 根据权利要求1所述的方法,其中所述视频块包含变换单元TU、预测单元PU、译码单 元⑶、最大译码单元IXU和块群组中的一者。
6. 根据权利要求1所述的方法,其中确定所述上下文包含基于所述区域使用基于位置 的上下文信息和基于邻域的上下文信息中的一者来确定所述上下文。
7. 根据权利要求1所述的方法,其中确定所述上下文包含基于所述区域来确定应用于 所述视频块的基于位置的上下文的偏移,其中所述用于所述区域的偏移为固定偏移及取决 于所述视频块的大小、所述变换系数在所述视频块内的位置和包括所述变换系数的子块在 所述视频块内的位置中的一者或一者以上的偏移中的一者。
8. 根据权利要求1所述的方法,其进一步包含从所述视频块的多个区域确定所述区 域,其中所述区域中的每一者对应于多个变换单元TU大小中的相应一者,且其中确定所述 上下文包含选择在所述区域与具有与所述区域相同的大小的TU之间共享的上下文。
9. 根据权利要求1所述的方法,其进一步包含从所述视频块的多个区域确定所述区 域,其中所述区域中的每一者对应于多个变换单元TU大小中的相应一者,且其中确定所述 上下文包含选择在不同大小的两个或两个以上TU之间共享的用于变换系数的专用位置的 上下文,其中所述区域具有与不同大小的所述两个或两个以上TU中的一者相同的大小。
10. 根据权利要求9所述的方法,其中用于变换系数的所述专用位置的所述共享上下 文包含在不同大小的所述两个或两个以上TU之间共享的用于DC系数和高频率系数中的一 者的上下文。
11. 根据权利要求9所述的方法,其中用于变换系数的所述专用位置的所述共享上下 文包含具有4X4变换系数的大小的第一 TU与具有8X8变换系数的大小的第二TU之间的 共享上下文。
12. 根据权利要求1所述的方法,其中所述视频块包含非正方形视频块。
13. 根据权利要求1所述的方法,其中熵译码所述变换系数包含根据上下文自适应二 进制算术译码CABAC使用所述经确定上下文来熵解码所述变换系数。
14. 根据权利要求1所述的方法,其中熵译码所述变换系数包含根据上下文自适应二 进制算术译码CABAC使用所述经确定上下文来熵编码所述变换系数。
15. -种用于译码视频数据的装置,所述装置包含视频译码器,所述视频译码器经配置 以基于其中出现变换系数的视频块的区域来确定用于译码所述视频块的所述变换系数的 上下文,且使用所述经确定上下文来熵译码所述变换系数。
16. 根据权利要求15所述的装置,其中所述区域包含第一区域和第二区域中的一者, 所述第一区域包含所述视频块的变换系数的一或多个左上4X4子块,所述第二区域包含 所述视频块的在所述第一区域外部的变换系数。
17. 根据权利要求15所述的装置,其中所述区域包含所述视频块的多个区域中的一 者,所述区域中的每一者包含所述视频块的一或多个子块的相应集合。
18. 根据权利要求15所述的装置,其中为了译码所述变换系数,所述视频译码器经配 置以译码与所述变换系数相关联的有效性信息、所述变换系数的水平信息和与所述变换系 数相关联的正负号信息中的一者或一者以上。
19. 根据权利要求15所述的装置,其中所述视频块包含变换单元TU、预测单元PU、译码 单元⑶、最大译码单元IXU和块群组中的一者。
20. 根据权利要求15所述的装置,其中所述视频译码器经配置以基于所述区域使用基 于位置的上下文信息和基于邻域的上下文信息中的一者来确定所述上下文。
21. 根据权利要求15所述的装置,其中所述视频译码器进一步经配置以基于所述区域 来确定应用于所述视频块的基于位置的上下文的偏移,其中所述用于所述区域的偏移为固 定偏移及取决于所述视频块的大小、所述变换系数在所述视频块内的位置和包括所述变换 系数的子块在所述视频块内的位置中的一者或一者以上的偏移中的一者。
22. 根据权利要求15所述的装置,其中所述视频译码器包含视频解码器,所述视频解 码器经配置以熵解码所述变换系数。
23. 根据权利要求15所述的装置,其中所述视频译码器包含视频编码器,所述视频编 码器经配置以熵编码所述变换系数。
24. -种译码视频数据的装置,所述装置包含: 用于基于其中出现变换系数的视频块的区域来确定用于译码所述视频块的所述变换 系数的上下文的装置;及 用于使用所述经确定上下文来熵译码所述变换系数的装置。
25. 根据权利要求24所述的装置,其中所述区域包含第一区域和第二区域中的一者, 所述第一区域包含所述视频块的变换系数的一或多个左上4X4子块,所述第二区域包含 所述视频块的在所述第一区域外部的变换系数。
26. 根据权利要求24所述的装置,其中所述区域包含所述视频块的多个区域中的一 者,所述区域中的每一者包含所述视频块的一或多个子块的相应集合。
27. 根据权利要求24所述的装置,其中所述用于译码所述变换系数的装置包含用于译 码与所述变换系数相关联的有效性信息、所述变换系数的水平信息和与所述变换系数相关 联的正负号信息中的一者或一者以上的装置。
28. 根据权利要求24所述的装置,其中所述视频块包含变换单元TU、预测单元PU、译码 单元⑶、最大译码单元IXU和块群组中的一者。
29. 根据权利要求24所述的装置,其中所述用于确定所述上下文的装置包含用于基于 所述区域使用基于位置的上下文信息和基于邻域的上下文信息中的一者来确定所述上下 文的装置。
30. 根据权利要求24所述的装置,其中所述用于确定所述上下文的装置包含用于基于 所述区域来确定应用于所述视频块的基于位置的上下文的偏移的装置,其中所述用于所述 区域的偏移为固定偏移及取决于所述视频块的大小、所述变换系数在所述视频块内的位置 和包括所述变换系数的子块在所述视频块内的位置中的一者或一者以上的偏移中的一者。
31. -种其上存储有指令的计算机可读存储媒体,所述指令在被执行时致使处理器: 基于其中出现变换系数的视频块的区域来确定用于译码所述视频块的所述变换系数 的上下文;及 使用所述经确定上下文来熵译码所述变换系数。
32. 根据权利要求31所述的计算机可读存储媒体,其中所述区域包含第一区域和第二 区域中的一者,所述第一区域包含所述视频块的变换系数的一或多个左上4X4子块,所述 第二区域包含所述视频块的在所述第一区域外部的变换系数。
33. 根据权利要求31所述的计算机可读存储媒体,其中所述区域包含所述视频块的多 个区域中的一者,所述区域中的每一者包含所述视频块的一或多个子块的相应集合。
34. 根据权利要求31所述的计算机可读存储媒体,其中所述致使所述处理器译码所述 变换系数的指令包含致使所述处理器译码与所述变换系数相关联的有效性信息、所述变换 系数的水平信息和与所述变换系数相关联的正负号信息中的一者或一者以上的指令。
35. 根据权利要求31所述的计算机可读存储媒体,其中所述视频块包含变换单元TU、 预测单元PU、译码单元⑶、最大译码单元IXU和块群组中的一者。
36. 根据权利要求31所述的计算机可读存储媒体,其中所述致使所述处理器确定所述 上下文的指令包含致使所述处理器基于所述区域使用基于位置的上下文信息和基于邻域 的上下文信息中的一者来确定所述上下文的指令。
37. 根据权利要求31所述的计算机可读存储媒体,其中所述致使所述处理器确定所述 上下文的指令包含致使所述处理器基于所述区域来确定应用于所述视频块的基于位置的 上下文的偏移的指令,其中所述用于所述区域的偏移为固定偏移及取决于所述视频块的大 小、所述变换系数在所述视频块内的位置和包括所述变换系数的子块在所述视频块内的位 置中的一者或一者以上的偏移中的一者。
【文档编号】H04N19/60GK104054340SQ201380005233
【公开日】2014年9月17日 申请日期:2013年1月11日 优先权日:2012年1月13日
【发明者】瓦迪姆·谢廖金, 霍埃尔·索赖·罗哈斯, 马尔塔·卡切维奇 申请人:高通股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1