用信号发送用于叶层级译码单元的子集的变换系数的语法元素的制作方法

文档序号:7990848阅读:210来源:国知局
用信号发送用于叶层级译码单元的子集的变换系数的语法元素的制作方法
【专利摘要】本发明描述用于译码视频数据的块的变换系数的技术。根据此些技术,视频编码器将视频数据的叶层级单元划分成多个变换系数子集。所述视频编码器针对所述多个变换系数子集中的子集产生指示所述子集是否包含任何非零系数的语法元素。在一些实例中,所述视频编码器可针对每一子集选择性地确定是否产生所述语法元素。解码器可读取包含所述语法元素的经熵编码的位流,且基于所述语法元素确定是否解码所述子集。
【专利说明】用信号发送用于叶层级译码单元的子集的变换系数的语法
元素
[0001]本申请案主张2011年6月30日申请的第61/503,541号美国临时申请案及2011年10月27日申请的第61/552,341号美国临时申请案的权利,所述申请案中每一者的全文以引用的方式并入本文中。
【技术领域】
[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]在视频译码中,为了压缩用以表示视频数据的数据的量,视频编码器可熵编码视频数据。根据本文中所描述的技术,作为熵编码的部分,视频编码器将视频数据的叶层级单元划分成多个变换系数子集。如本文中所描述的叶层级单元指代视频数据结构的未分裂单元,其一个实例为四叉树数据结构的最后未分裂子代节点,如下文所进一步详细描述。
[0007]针对子集中的至少一者,编码器产生指示所述子集是否包含任何非零系数的语法元素作为经熵编码的位流的部分。编码器确定是否用信号发送用于多个变换系数子集中的子集的语法元素。举例来说,编码器可基于子集内的潜在非零系数的数目或基于子集的非零系数的平均数目而确定是否用信号发送语法元素,所述平均数目是基于对视频数据的一个或一个以上先前经译码的叶层级单元的统计。
[0008]解码器可读取经熵编码的位流,且基于语法元素确定是否解码子集的变换系数。在一些实例中,解码器可基于经熵编码的位流是否包含与变换系数的子集相关联的语法元素而确定是否解码所述子集。举例来说,如果所述子集不包含相关联的语法元素,那么解码器解码所述子集。然而,如果所述子集确实包含相关联的语法元素,那么解码器基于所述语法元素的值确定是否解码所述子集。举例来说,如果所述语法元素具有第一值,那么解码器解码所述子集;但如果所述语法元素具有第二不同值,那么解码器不解码所述子集。
[0009]在一些实例中,本发明的技术可改进编码器或解码器的译码效率。举例来说,本文中所描述的技术可减少由编码器使用以产生表示视频数据的经熵编码的位流的位的数目。
[0010]在一实例中,一种用于编码视频数据的单元的方法包括:将视频数据的叶层级单元划分成多个变换系数子集;及针对所述多个变换系数子集中的子集产生指示所述子集是否包含任何非零系数的语法元素。
[0011]在另一实例中,一种装置可经配置以编码视频数据的至少一叶层级单元。所述装置可包括处理器,所述处理器经配置以将视频数据的叶层级单元划分成多个变换系数子集,且针对所述多个变换系数子集中的子集产生指示所述子集是否包含任何非零系数的语法元素。
[0012]在另一实例中,一种装置可经配置以编码视频数据的至少一叶层级单元,所述装置包括:用于将视频数据的叶层级单元划分成多个变换系数子集的装置;及用于针对所述多个变换系数子集中的子集产生指示所述子集是否包含任何非零系数的语法元素的装置。
[0013]在另一实例中,一种用于解码视频数据的单元的方法包括:将视频数据的叶层级单元划分成多个变换系数子集;针对所述多个变换系数子集中的子集确定所述子集是否包含指示所述子集是否包含任何非零系数的相关联的语法元素;基于所述语法元素确定是否解码所述子集。
[0014]在另一实例中,一种装置可经配置以解码视频数据的单元,所述装置包括处理器,所述处理器经配置以执行以下操作:将视频数据的叶层级单元划分成多个变换系数子集;针对所述多个变换系数子集中的子集确定所述子集是否包含指示所述子集是否包含任何非零系数的相关联的语法元素;及基于所述语法元素确定是否解码所述子集。
[0015]在另一实例中,一种装置可经配置以解码视频数据的单元,所述装置包括:用于将视频数据的叶层级单元划分成多个变换系数子集的装置;用于针对所述多个变换系数子集中的子集确定所述子集是否包含指示所述子集是否包含任何非零系数的语法元素的装置;及用于基于所述语法元素确定是否解码所述子集的装置。
[0016]可以硬件、软件、固件或其任何组合来实施本发明中所描述的技术。举例来说,各种技术可通过一个或一个以上处理器来实施或执行。如本文中所使用,处理器可指代微处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字信号处理器(DSP),或其它等效的集成或离散逻辑电路。软件可通过一个或一个以上处理器来执行。包括用以执行所述技术的指令的软件可最初存储于计算机可读媒体中且通过处理器载入并执行。
[0017]因此,本发明还预期包括指令的计算机可读存储媒体,所述指令用以使处理器(或其它计算装置)执行本发明中所描述的任何技术。在一些状况下,所述计算机可读存储媒体可形成计算机程序存储产品的部分,可将所述计算机程序存储产品售卖给制造商及/或用于装置中。所述计算机程序产品可包含所述计算机可读媒体,且在一些状况下还可包含封装材料。
[0018]在一实例中,本发明描述一种存储指令的计算机可读存储媒体,所述指令在执行时使计算装置执行以下操作:将视频数据的叶层级单元划分成多个变换系数子集;及针对所述多个变换系数子集中的子集产生指示所述子集是否包含任何非零系数的语法元素。
[0019]在另一实例中,本发明描述一种存储指令的计算机可读存储媒体,所述指令在执行时使计算装置执行以下操作:将视频数据的叶层级单元划分成多个变换系数子集;针对所述多个变换系数子集中的子集确定所述子集是否包含指示所述子集是否包含任何非零系数的相关联的语法元素;及基于所述语法元素确定是否解码所述子集。
[0020]在随附图式及下文的描述中阐述一个或一个以上实例的细节。本发明的其它特征、目标及优点将从描述及图式以及从权利要求书显而易见。
【专利附图】

【附图说明】
[0021]图1为说明经配置以根据本发明的技术操作的视频编码及解码系统的一实例的框图。
[0022]图2为说明经配置以根据本发明的技术操作的视频编码器的一实例的框图。
[0023]图3为说明经配置以根据本发明的技术操作的视频解码器的一实例的框图。
[0024]图4为说明与本发明的一个或一个以上方面一致的划分成多个变换系数子集的视频数据的叶层级单元的一实例的概念图。
[0025]图5为说明与本发明的一个或一个以上方面一致的编码视频数据的叶层级单元的方法的一实例的流程图。
[0026]图6为说明与本发明的一个或一个以上方面一致的编码视频数据的叶层级单元的方法的另一实例的流程图。
[0027]图7为说明与本发明的一个或一个以上方面一致的编码视频数据的叶层级单元的方法的另一实例的流程图。
[0028]图8为说明与本发明的一个或一个以上方面一致的解码视频数据的叶层级单元的方法的一实例的流程图。
【具体实施方式】
[0029]图1为说明可利用本发明中所描述的技术的实例视频编码及解码系统10的框图。如图1中所展示,系统10包含源装置12,源装置12产生稍后待由目的地装置14解码的经编码视频数据。源装置12及目的地装置14可包括广泛范围的装置中的任一者,包含桌上型计算机、笔记本(即,膝上型)计算机、平板型计算机、机顶盒、电话手持机(例如,所谓的“智能”电话)、所谓的“智能”板、电视、相机、显示装置、数字媒体播放器、视频游戏控制台、视频流式传输装置,或其类似者。在一些状况下,可装备源装置12及目的地装置14来进行无线通信。
[0030]目的地装置14可经由链路16接收待解码的经编码视频数据。链路16可包括能够将经编码视频数据从源装置12移到目的地装置14的任何类型的媒体或装置。在一实例中,链路16可包括用以使源装置12能够将经编码视频数据直接实时传输到目的地装置14的通信媒体。可根据通信标准(例如,无线通信协议)调制经编码视频数据,且将经编码视频数据传输到目的地装置14。通信媒体可包括任何无线或有线通信媒体,例如射频(RF)频谱或一个或一个以上物理传输线。通信媒体可形成基于包的网络(例如,局域网络、广域网络或例如因特网等全球网络)的部分。通信媒体可包含路由器、交换器、基站,或可用以促进从源装置12到目的地装置14的通信的任何其它设备。
[0031]或者,可将经编码数据从输出接口 22输出到存储装置32。类似地,可通过输入接口 28从存储装置32存取经编码数据。存储装置32可包含多种分布式或本地存取的数据存储媒体中的任一者,例如硬盘驱动器、蓝光光盘、DVD、CD-ROM、快闪存储器、易失性或非易失性存储器,或用于存储经编码视频数据的任何其它合适的数字存储媒体。在另一实例中,存储装置32可对应于文件服务器或可保存由源装置12产生的经编码视频的另一中间存储装置。目的地装置14可经由流式传输或下载而从存储装置32存取经存储视频数据。文件服务器可为能够存储经编码视频数据且将所述经编码视频数据传输到目的地装置14的任何类型的服务器。实例文件服务器包含网页服务器(例如,针对网站)、FTP服务器、网络附接存储(NAS)装置,或本地磁盘驱动器。目的地装置14可经由任何标准数据连接(包含因特网连接)而存取经编码视频数据。此数据连接可包含适合于存取存储于文件服务器上的经编码视频数据的无线信道(例如,W1-Fi连接)、有线连接(例如,DSL、缆线调制解调器等),或两者的组合。经编码视频数据从存储装置32的传输可为流式传输、下载传输,或两者的组合。
[0032]本发明的技术未必限于无线应用或设定。所述技术可应用于支持例如以下应用等多种多媒体应用中的任一者的视频译码:空中电视广播、有线电视传输、卫星电视传输、(例如)经由因特网的流式视频传输、存储于数据存储媒体上的数字视频的编码、存储于数据存储媒体上的数字视频的解码,或其它应用。在一些实例中,系统10可经配置以支持单向或双向视频传输以支持例如视频流式传输、视频播放、视频广播及/或视频电话等应用。
[0033]在图1的实例中,源装置12包含视频源18、视频编码器20及输出接口 22。在一些状况下,输出接口 22可包含调制器/解调器(调制解调器)及/或传输器。在源装置12中,视频源18可包含例如以下各者的源:视频俘获装置(例如,视频相机)、含有先前俘获的视频的视频封存档、用以从视频内容提供者接收视频的视频馈入接口,及/或用于产生计算机图形数据作为源视频的计算机图形系统,或此些源的组合。作为一实例,如果视频源18为视频相机,那么源装置12及目的地装置14可形成所谓的相机电话或视频电话。然而,本发明中所描述的技术可一般适用于视频译码,且可应用于无线及/或有线应用。
[0034]可通过视频编码器20编码经俘获的视频、经预先俘获的视频或计算机产生的视频。可经由源装置12的输出接口 22将经编码视频数据直接传输到目的地装置14。还可(或替代地)将经编码视频数据存储到存储装置32上以供目的地装置14或其它装置稍后存取以用于解码及/或播放。[0035]目的地装置14包含输入接口 28、视频解码器30及显示装置32。在一些状况下,输入接口 28可包含接收器及/或调制解调器。目的地装置14的输入接口 28经由链路16接收经编码视频数据。经由链路16而传达或提供于存储装置32上的经编码视频数据可包含由视频编码器20产生的供视频解码器(例如,视频解码器30)用于解码视频数据的多种语法元素。此些语法元素可包含于在通信媒体上传输、存储于存储媒体上或存储于文件服务器上的经编码视频数据中。
[0036]显示装置32可与目的地装置14集成或在目的地装置14外部。在一些实例中,目的地装置14可包含集成式显示装置,且还经配置以与外部显示装置介接。在其它实例中,目的地装置14可为显示装置。一般来说,显示装置32向用户显示经解码视频数据,且可包括多种显示装置中的任一者,例如液晶显示器(LCD)、等离子体显示器、有机发光二极管(OLED)显示器或另一类型的显示装置。
[0037]视频编码器20及视频解码器30可根据例如目前在开发中的高效视频译码(HEVC)标准等视频压缩标准而操作,且可符合HEVC测试模型(HM)。或者,视频编码器20及视频解码器30可根据例如ITU-T H.264标准等其它专有或工业标准或此些标准的扩展而操作,H.264标准替代地被称作MPEG-4第10部分(高级视频译码(AVC))。然而,本发明的技术不限于任何特定译码标准。视频压缩标准的其它实例包含MPEG-2及ITU-TH.263。
[0038]尽管未在图1中展示,但在一些方面中,视频编码器20及视频解码器30可各自与音频编码器及解码器集成,且可包含适当的多路复用器-多路分用器(MUX-DEMUX)单元或其它硬件及软件,以处理共同数据流或若干单独数据流中的音频及视频两者的编码。在一些实例中,如果适用,那么MUX-DEMUX单元可符合ITU H.223多路复用器协议或例如用户数据报协议(UDP)等其它协议。
[0039]视频编码器20及视频解码器30各自可实施为例如以下各者的多种合适编码器电路中的任一者:一个或一个以上微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑、软件、硬件、固件或其任何组合。当所述技术部分地以软件实施时,装置可将软件指令存储于合适的非暂时计算机可读媒体中,且使用一个或一个以上处理器以硬件执行所述指令以执行本发明的技术。视频编码器20及视频解码器30中的每一者可包含于一个或一个以上编码器或解码器中,其中的任一者可集成为相应装置中的组合式编码器/解码器(CODEC)的部分。
[0040]JCT-VC致力于HEVC标准的开发。HEVC标准化努力是基于视频译码装置的演进模型,其被称作HEVC测试模型(HM)。HM假设视频译码装置相对于根据(例如)ITU-TH.264/AVC的现有装置的若干额外能力。举例来说,H.264提供九个帧内预测编码模式,而HM可提供多达三十三个帧内预测编码模式。
[0041]一般来说,HM的工作模型描述视频帧或图片可划分成包含亮度样本及色度样本两者的树型块或最大译码单元(LCU)的序列。树型块的用途与H.264标准的宏块类似。切片包含按译码次序的多个连续树型块。视频帧或图片可分割成一个或一个以上切片。每一树型块可根据四叉树而分裂成若干译码单元(CU)。举例来说,树型块(作为四叉树的根节点)可分裂成四个子代节点,且每一子代节点可又为父节点且分裂成另外四个子代节点。最后未分裂的子代节点(作为四叉树的叶节点)包括译码节点,即,经译码视频块。视频数据结构的此最后未分裂的子代节点在本文被称作叶层级单元。与经译码位流相关联的语法数据可定义树型块可分裂的最大次数,且还可定义译码节点的最小大小。
[0042]CU包含译码节点及与所述译码节点相关联的若干预测单元(PU)及变换单元(TU)。⑶的大小对应于译码节点的大小,且形状必须为正方形。⑶的大小可在从8X8像素直到具有最大64X64像素或大于64X64像素的树型块的大小的范围内。每一⑶可含有一个或一个以上PU及一个或一个以上TU。与CU相关联的语法数据可描述(例如)CU到一个或一个以上PU的分割。在⑶是经跳过还是直接模式编码、是经帧内预测模式编码还是经帧间预测模式编码之间,分割模式可不同。PU可分割成非正方形形状。与CU相关联的语法数据还可描述(例如)CU根据四叉树而到一个或一个以上TU的分割。TU的形状可为正方形或非正方形。
[0043]HEVC标准允许根据TU的变换,其针对不同⑶可不同。通常基于针对经分割IXU所定义的给定CU内的PU的大小而设定TU大小,但可能并非总是如此。TU通常具有与相同的大小,或小于PU。在一些实例中,可使用称为“残余四叉树”(RQT)的四叉树结构将对应于CU的残余样本再分成若干较小单元。RQT的叶节点可被称作变换单元(TU)。此叶节点TU为如本文中所描述的叶层级单元的一实例。可变换与TU相关联的像素差值以产生变换系数,可量化所述变换系数。
[0044]一般来说,PU包含与预测过程有关的数据。举例来说,当经帧内模式编码时,PU可包含描述所述的帧内预测模式的数据。作为另一实例,当经帧间模式编码时,PU可包含定义所述PU的运动向量的数据。定义PU的运动向量的数据可描述(例如)运动向量的水平分量、运动向量的垂直分量、运动向量的分辨率(例如,四分之一像素精度或八分之一像素精度)、运动向量所指向的参考图片,及/或运动向量的参考图片列表(例如,列表O、列表I或列表C)。
[0045]一般来说,TU用于变换过程及量化过程。具有一个或一个以上的给定⑶还可包含一个或一个以上变换单元(TU)。在预测之后,视频编码器20可计算对应于的残余值。残余值包括可变换成变换系数的像素差值,使用TU量化及扫描变换系数以产生串行化的变换系数从而用于熵译码。本发明通常使用术语“视频块”来指代CU的译码节点。在一些特定状况下,本发明还可使用术语“视频块”来指代包含译码节点及若干PU及TU的树型块(S卩,LCU 或 CU)。
[0046]视频序列通常包含一系列视频巾贞或图片。图片组(GOP) —般包括一系列一个或一个以上视频图片。GOP可在GOP的标头、图片中的一者或一者以上的标头中或在别处包含语法数据,所述语法数据描述包含于GOP中的图片的数目。图片的每一切片可包含描述所述相应切片的编码模式的切片语法数据。视频编码器20通常对个别视频切片内的视频块进行操作,以便编码视频数据。视频块可对应于CU内的译码节点。视频块可具有固定或变化的大小,且可根据指定译码标准而在大小方面不同。
[0047]作为一实例,HM支持以各种I3U大小进行预测。假定特定⑶的大小为2NX 2N,那么HM支持以2NX2N或NXN的I3U大小进行帧内预测,及以2NX2N、2NXN、NX2N或NXN的对称I3U大小进行帧间预测。HM还支持以2NX nU、2NX nD、nL X 2N及nRX 2N的PU大小进行中贞间预测的不对称分割。在不对称分割中,CU的一方向未分割,而另一方向分割成25%及75%。⑶的对应于25%分割的部分由“η”继之以“上”、“下”、“左”或“右”的指示来指示。因此,例如,“2NXnU”指代在水平方向上以顶部2ΝΧ0.5Ν PU及底部2NX1.5N PU分割的 2NX2N CU。
[0048]在本发明中,“NXN”与“N乘N”可互换使用以指代视频块在垂直尺寸与水平尺寸方面的像素尺寸,例如,16X16像素或16乘16像素。一般来说,16X16块将在垂直方向上具有16个像素(y=16)且在水平方向上具有16个像素(x=16)。同样地,NXN块一般在垂直方向上具有N个像素且在水平方向上具有N个像素,其中N表示非负整数值。可以行及列布置块中的像素。此外,块未必需要在水平方向上具有与垂直方向上相同数目个像素。举例来说,块可包括NXM个像素,其中M未必等于N。
[0049]在使用CU的PU进行帧内预测性或帧间预测性译码之后,视频编码器20可计算CU的TU的残余数据。可包括空间域(还被称作像素域)中的像素数据,且TU可包括在将例如离散余弦变换(DCT)、整数变换、小波变换或概念上类似的变换的变换应用于残余视频数据之后变换域中的系数。残余数据可对应于未经编码图片的像素与对应于PU的预测值之间的像素差。视频编码器20可形成包含⑶的残余数据的TU,且接着变换所述TU以产生CU的变换系数。
[0050]在用以产生变换系数的任何变换之后,视频编码器20可执行变换系数的量化。量化一般指代如下过程:将变换系数量化以可能地减少用以表示所述系数的数据的量,从而提供进一步压缩。量化过程可减小与所述系数中的一些或全部相关联的位深度。举例来说,η位值在量化期间可向下舍入到m位值,其中η大于m。
[0051]在一些实例中,视频编码器20可利用预定义的扫描次序来扫描经量化的变换系数以产生可经熵编码的串行化向量。在其它实例中,视频编码器20可执行自适应扫描。在扫描经量化的变换系数以形成一维向量之后,视频编码器20可(例如)根据上下文自适应可变长度译码(CAVLC)、上下文自适应二进制算术译码(CABAC)、基于语法的上下文自适应二进制算术译码(SBAC)、概率区间分割熵(PIPE)译码或另一熵编码方法而熵编码一维向量。视频编码器20还可熵编码与经编码视频数据相关联的语法元素以供视频解码器30用于解码视频数据。
[0052]为了执行CABAC,视频编码器20可将上下文模型内的上下文指派给待传输的符号。所述上下文可能涉及(例如)符号的相邻值是否为非零。为了执行CAVLC,视频编码器20可针对待传输的符号选择可变长度码。可将VLC中的码字建构成使得相对较短码对应于更有可能的符号,而较长码对应于较不可能的符号。以此方式,相较于(例如)针对待传输的每一符号使用相等长度的码字,使用VLC可达成位节省。概率确定可基于指派给符号的上下文而进行。
[0053]根据本发明,源装置12的视频编码器20可将包含变换系数(例如,其各自对应于所显示图像的像素)的二维矩阵的视频数据的叶层级单元(例如,四叉树或其它数据结构的叶节点)的变换系数扫描到表示所述变换系数的一维向量中。根据本文中所描述的技术,在执行此扫描时,视频编码器20可将视频数据的叶层级单元划分成多个变换系数子集。针对叶层级单元的所述子集中的每一者,编码器20可确定是否将指示所述子集是否包含任何非零系数的语法元素作为经熵编码的位流的部分来用信号发送到解码器。编码器20可基于确定出用信号发送特定子集的语法元素是否将改进译码效率而确定是否用信号发送所述语法元素。为了确定用信号发送语法元素是否将改进译码效率,编码器20可应用一个或一个以上规则,如下文进一步详细描述。编码器20可输出包含视频数据的块的经熵编码的位流。可接着通过解码器读取及解码经熵编码的位流,以重建构表示视频数据的叶层级单元的二维矩阵。
[0054]还可通过目的地装置14的视频解码器30执行互逆变换系数解码。S卩,视频解码器30可将表示视频数据的块的变换系数的一维向量的系数映射到变换系数的二维矩阵内的位置,以重建构变换系数的二维矩阵。根据本文中所描述的技术,解码器30可读取表示视频数据的叶层级单元的一维矩阵,且将所述叶层级单元划分成多个变换系数子集。针对所述子集中的每一者,解码器30可确定是否解码所述子集的变换系数。举例来说,如果解码器30不读取经熵编码的位流中的指示特定子集是否具有非零系数的语法元素,那么解码器30解码所述子集的系数。然而,如果解码器30确实读取与特定子集相关联的此语法元素,那么解码器30可基于所述语法元素的值确定是否解码所述子集的变换系数。举例来说,如果语法元素指示所述子集确实包含非零系数,那么解码器30解码所述子集的变换系数。然而,如果语法元素指示所述子集不包含任何非零系数,那么解码器30不解码所述子集的变换系数。
[0055]本文中所描述的技术可改进视频译码的效率。举例来说,将视频数据的块划分成多个变换系数子集且用信号发送指示所述子集是否包含非零系数的语法元素(如本文所描述)可减少表示视频数据所需的位数目,此情形可改进编码器/解码器的效率等级。
[0056]图2为说明可实施本发明中所描述的帧间预测技术的实例视频编码器20的框图。视频编码器20可执行视频切片内的视频块的帧内译码及帧间译码。帧内译码依赖于空间预测以减少或移除给定视频帧或图片内的视频的空间冗余。帧间译码依赖于时间预测以减少或移除视频序列的邻近帧或图片内的视频的时间冗余。帧内模式(I模式)可指代若干基于空间的压缩模式中的任一者。例如单向预测(P模式)或双向预测(B模式)等帧间模式可指代若干基于时间的压缩模式中的任一者。
[0057]在图2的实例中,视频编码器20包含分割单元35、预测模块41、参考图片存储器64、求和器50、变换模块52、量化单元54,及熵编码单元56。预测模块41包含运动估计单元42、运动补偿单元44,及帧内预测模块46。为了进行视频块重建构,视频编码器20还包含反量化单元58、反变换模块60,及求和器62。还可包含解块滤波器(图2中未展示)以对块边界进行滤波从而从经重建构的视频移除成块假影。必要时,解块滤波器将通常对求和器62的输出进行滤波。除了解块滤波器以外,还可使用额外回路滤波器(回路内或回路后)。
[0058]如图2中所展示,视频编码器20接收视频数据,且分割单元35将数据分割成视频块。此分割还可包含分割成切片、平铺块或其它较大单元,以及(例如)根据IXU及⑶的四叉树结构的视频块分割。视频编码器20 —般说明编码待编码的视频切片内的视频块的组件。切片可划分成多个视频块(且可能地划分成被称作平铺块的视频块集合)。预测模块41可基于误差结果(例如,译码速率及失真程度)选择当前视频块的多个可能译码模式中的一者,例如多个巾贞内译码模式中的一者或多个巾贞间译码模式中的一者。预测模块41可将所得帧内译码块或帧间译码块提供到求和器50以产生残余块数据,且提供到求和器62以重建构经编码块来用作参考图片。
[0059]预测模块41内的帧内预测模块46可执行当前视频块相对于处于与待译码的当前块相同的帧或切片中的一个或一个以上相邻块的帧内预测性译码,以提供空间压缩。预测模块41内的运动估计单元42及运动补偿单元44执行当前视频块相对于一个或一个以上参考图片中的一个或一个以上预测性块的帧间预测性译码,以提供时间压缩。
[0060]运动估计单元42可经配置以根据视频序列的预定模式确定视频切片的帧间预测模式。预定模式可将序列中的视频切片指定为P切片、B切片或GPB切片。可高度集成运动估计单元42及运动补偿单元44,但出于概念性目的而对其单独予以说明。由运动估计单元42执行的运动估计为产生运动向量的过程,运动向量估计视频块的运动。运动向量(例如)可指示当前视频帧或图片内的视频块的PU相对于参考图片内的预测性块的移位。
[0061]预测性块为依据像素差而被认为与待译码的视频块的紧密匹配的块,可通过绝对差和(SAD)、平方差和(SSD)或其它差量度来确定像素差。在一些实例中,视频编码器20可计算存储于参考图片存储器64中的参考图片的子整数像素位置的值。举例来说,视频编码器20可内插参考图片的四分之一像素位置、八分之一像素位置或其它分数像素位置的值。因此,运动估计单元42可执行相对于全像素位置及分数像素位置的运动搜寻,且以分数像素精度输出运动向量。
[0062]运动估计单元42通过比较帧间译码切片中的视频块的PU的位置与参考图片的预测性块的位置而计算所述PU的运动向量。参考图片可选自第一参考图片列表(列表O)或第二参考图片列表(列表I),其中的每一者识别存储于参考图片存储器64中的一个或一个以上参考图片。运动估计单元42将所计算的运动向量发送到熵编码单元56及运动补偿单元44。
[0063]由运动补偿单元44执行的运动补偿可涉及基于通过运动估计所确定的运动向量取得或产生预测性块,从而可能执行到子像素精度的内插。在接收到当前视频块的PU的运动向量后,运动补偿单元44可将运动向量所指向的预测性块定位于参考图片列表中的一者中。视频编码器20通过以下操作形成残余视频块:从正译码的当前视频块的像素值减去预测性块的像素值,从而形成像素差值。像素差值形成块的残余数据,且可包含亮度差分量与色度差分量两者。求和器50表示执行此减法运算的一个或一个以上组件。运动补偿单元44还可产生与视频块及视频切片相关联的供由视频解码器30用于解码视频切片的视频块的语法元素。
[0064]在运动补偿单元44产生当前视频块的预测性块之后,视频编码器20通过从所述当前视频块减去所述预测性块而形成残余视频块。残余块中的残余视频数据可包含于一个或一个以上TU中且应用于变换模块52。变换模块52使用例如离散余弦变换(DCT)或概念上类似变换等变换将残余视频数据变换成残余变换系数。变换模块52可将残余视频数据从像素域转换到变换域(例如,频域)。
[0065]变换模块52可将所得变换系数发送到量化单元54。量化单元54量化所述变换系数以进一步减小位速率。量化过程可减小与所述系数中的一些或全部相关联的位深度。可通过调整量化参数而修改量化程度。
[0066]在量化之后,熵编码单元56熵编码经量化的变换系数。举例来说,熵编码单元56可执行上下文自适应可变长度译码(CAVLC)、上下文自适应二进制算术译码(CABAC)、基于语法的上下文自适应二进制算术译码(SBAC)、概率区间分割熵(PIPE)译码,或另一熵编码方法或技术。在通过熵编码单元56进行的熵编码之后,可将经编码位流传输到视频解码器30,或将其封存以供稍后传输或由视频解码器30检索。熵编码单元56还可熵编码正译码的当前视频切片的运动向量及其它语法元素。在一些实例中,熵编码单元56可接着执行包含经量化的变换系数的矩阵的扫描以产生经熵编码的位流的变换系数的一维向量。
[0067]根据本发明的技术,当扫描变换系数的矩阵以产生一维向量时,熵编码单元56可将视频数据的叶层级单元(例如,如上文所描述的四叉树结构的未分裂子代节点)划分成小于叶层级单元的多个变换系数子集。举例来说,熵编码单元56可将视频数据的叶层级单元划分成各自包括所述叶层级单元内的几何形状的多个子集。在一些实例中,熵编码单元56可将叶层级单元的变换系数划分成视频数据的较小矩形布置。在其它实例中,熵编码单元56可将叶层级单元的变换系数划分成变换系数的三角形子集。在又其它实例中,熵编码单元56可将叶层级单元的变换系数划分成具有其它形状的子集,或甚至不对应于任何特定几何形状的子集。实情为,熵编码单元56可根据叶层级单元的多个变换系数的扫描次序(其可为固定或自适应的)来划分所述变换系数。举例来说,熵编码单元56可基于叶层级单元的多个变换系数的扫描次序(例如,自适应或固定扫描次序)而将所述变换系数划分成变换系数的多个子集。在不同实例中,所述子集可具有类似或相同数目个系数。
[0068]根据本文中所描述的技术,一旦变换系数的叶层级单元已划分成多个子集,熵编码单元56就可针对所述多个子集中的至少一些产生指示相应子集是否包含任何非零系数的语法元素。在一些实例中,熵编码单元56可针对变换系数的多个子集中的每一子集产生此语法元素。在其它实例中,熵编码单元56可针对多个子集中的每一子集选择性地确定是否产生此语法元素。是否产生此语法元素的决策可基于此发信是否提供额外压缩或改进的译码效率。如果是,那么可产生语法元素,但如果否,那么编码器20及解码器30两者可经编程而知晓在所述例子中不用信号发送所述指示。
[0069]根据本发明的技术,为了确定产生此语法元素是否将改进压缩或译码效率,熵编码单元56可应用一个或一个以上规则,如下文进一步详细描述。作为一实例,熵编码单元56可针对特定子集基于所述子集的潜在非零系数的数目而确定是否产生语法元素。举例来说,熵编码单元56可基于比较子集的潜在非零系数的数目与阈值而确定是否产生语法元素。
[0070]作为此技术的一实例,为了确定子集的潜在非零系数的数目,熵编码单元56确定所述子集的具有比叶层级单元的最后非零系数早的位置的系数的数目,且比较系数的所述经确定数目与阈值thNoCoeff,如图6的实例中所展示且在下文进一步详细描述。根据此实例,如果潜在非零系数的经确定数目大于阈值thNoCoeff,那么熵编码单元56产生指示子集是否包含任何非零系数的语法元素。然而,如果潜在非零系数的经确定数目小于或等于阈值thNoCoeff,那么熵编码单元56可不产生语法元素。作为一实例,熵编码单元56基于以下的实例I的伪代码确定是否用信号发送指示特定子集是否包含任何非零系数的语法元素:
[0071]实例I
[0072]noCoeff[xS][yS] > thNoCoeff
[0073]其中noCoeff [xS] [yS]指示子集的潜在非零系数的数目,且thNoCoeff为阈值。
[0074]在其它实例中,熵编码单元56可基于其它规则确定是否用信号发送指示变换系数的子集是否包含任何非零系数的语法元素。举例来说,熵编码单元56可针对子集基于所述子集的非零系数的平均数目而确定是否用信号发送语法元素,如下文关于图7的实例进一步详细描述。根据此实例,在视频数据的叶层级单元正经译码时,熵编码单元56可收集并存储指示每一子集内的位置处的系数多久一次为非零的统计。基于此些所存储统计,熵编码单元56可确定是否产生语法元素。举例来说,熵编码单元56可比较子集的非零系数的平均数目与阈值thAvrgCoeff。如果子集的非零系数的平均数目小于阈值,那么熵编码单元56产生语法元素。然而,如果子集的非零系数的平均数目大于或等于阈值thAvrgCoeff,那么熵编码单元56基于在此状况下所述子集极有可能含有至少一非零系数的假定而不产生语法元素。
[0075]作为另一实例,对于含有叶层级单元的最后非零系数(相对于z字形扫描,反z字形扫描的第一非零系数)的子集,子集含有最后非零系数的事实意谓所述子集必须包含至少一非零系数,且因此,可假定包含最后非零系数的任何子集必须包含至少一非零系数。因此,针对包含最后非零系数的子集不需要产生语法元素,这是因为可假定此子集包含至少
一非零系数。
[0076]作为一实例,熵编码单元56可基于以下的实例2的伪代码确定是否用信号发送指示特定子集是否包含任何非零系数的语法元素:
[0077]实例2
[0078](noCodedCoeff[xS][yS]+noSubBlks[xS][yS]/2)/noSubBlks < thAvrgCoeff
[0079]此处,noCodedCoeff[xS] [yS]指示子集中的非零系数的数目。
[0080]根据实例1的伪 代码,熵编码单元56在编码视频数据块的叶层级单元之前将可变阵列noCoeff [xS] [yS]中的值初始化成0,且基于lastPos语法元素的值将值指派给所述阵列,lastPos语法元素指示视频数据的叶层级单元内的最后非零系数位置:
[0081]for (pos=0;pos < =lastPos ;pos++){
[0082]xC=Scan0rder[0][pos];
[0083]yC=Scan0rder[1][pos];
[0084]noCoeff [xC/M] [yC/M]++ ;
[0085]}
[0086]根据实例2的伪代码,在编码叶层级单元之后,熵编码单元56可如下更新可变阵列 noSubBlks 及 noCodedCoeff:
[0087]for(pos=0 ;pos < =lastPos ;pos++){
[0088]xC=Scan0rder[0][pos];
[0089]yC=Scan0rder[1][pos];
[0090]if (transCoeffLevel[xC][yC]!=0){
[0091]noCodedCoeff[xC/M][yC/Μ]++ ;
[0092]}
[0093]}
[0094]for (xS=0 ;xS < N/M ;xS++) {
[0095]for (yS=0 ;yS < N/M ;yS++) {
[0096]if (noCoeff [xS] [yS] > 0) {
[0097]noSubBlks[xS][yS]++;
[0098]}[0099]}
[0100]}
[0101]通过使用以上的实例2的伪代码,熵编码单元56可基于视频数据的先前经编码的叶层级单元的子集的非零系数的平均数目而确定是否用信号发送指示叶层级单元的变换系数的子集是否包含任何非零系数的语法元素。
[0102]反量化单元58及反变换模块60分别应用反量化及反变换,以在像素域中重建构残余块以供稍后用作参考图片的参考块。运动补偿单元44可通过将残余块加到参考图片列表中的一者内的参考图片中的一者的预测性块来计算参考块。运动补偿单元44还可将一个或一个以上内插滤波器应用于经重建构的残余块以计算子整数像素值以用于运动估计中。求和器62将经重建构的残余块加到由运动补偿单元44所产生的运动补偿预测块,以产生参考块以供存储于参考图片存储器64中。参考块可由运动估计单元42及运动补偿单元44用作参考块以对后续视频帧或图片中的块进行帧间预测。
[0103]图3为说明可实施本发明中所描述的帧间预测技术的实例视频解码器30的框图。在图3的实例中,视频解码器30包含熵解码单元80、预测模块81、反量化单元86、反变换单元88、求和器90,及参考图片存储器92。预测模块81包含运动补偿单元82及帧内预测模块84。在一些实例中,视频解码器30可执行一般与关于来自图2的视频编码器20所描述的编码遍次互逆的解码遍次。
[0104]在解码过程期间,视频解码器30从视频编码器20接收表示经编码视频切片的视频块及相关联的语法元素的经编码的视频位流。视频解码器30的熵解码单元80熵解码所述位流以产生经量化的系数、运动向量及其它语法元素。熵解码单元80将运动向量及其它语法元素转递到预测模块81。视频解码器30可在视频切片层级及/或视频块层级处接收语法元素。
[0105]熵解码单元80可读取由熵解码单元解码的变换系数的一维向量,且从所述一维向量重建构变换系数的二维矩阵。根据本文中所描述的技术,熵解码单元80可读取表示视频数据的叶层级单元的一维矩阵,且将所述叶层级单元划分成多个变换系数子集。变换系数子集可具有矩形、三角形或任何其它形状或布置。针对子集中的每一者,反熵解码单元80确定是否解码子集的变换系数。举例来说,如果熵解码单元80不读取指示特定子集是否具有非零系数的语法元素,那么反量化单元86解码所述子集的系数。然而,如果熵解码单元80确实读取与特定子集相关联的此语法元素,那么熵解码单元80可基于所述语法元素的值确定是否解码所述子集的变换系数。举例来说,如果语法元素指示子集确实包含非零系数,那么熵解码单元80解码所述子集的变换系数。然而,如果语法元素指示子集不包含任何非零系数,那么熵解码单元80不解码所述子集的变换系数。
[0106]当视频切片经译码为帧内译码(I)切片时,预测模块81的帧内预测模块84可基于用信号发送的帧内预测模式及来自当前帧或图片的先前经解码块的数据而产生当前视频切片的视频块的预测数据。当视频帧经译码为帧间译码(即,B、P或GPB)切片时,预测模块81的运动补偿单元82基于从熵解码单元80接收的运动向量及其它语法元素而产生当前视频切片的视频块的预测性块。可从参考图片列表中的一者内的参考图片中的一者产生预测性块。视频解码器30可基于存储于参考图片存储器92中的参考图片使用默认建构技术来建构参考巾贞列表:列表0及列表1。[0107]运动补偿单元82通过剖析运动向量及其它语法元素而确定当前视频切片的视频块的预测信息,且使用所述预测信息以产生正解码的当前视频块的预测性块。举例来说,运动补偿单元82使用一些所接收的语法元素以确定用以译码视频切片的视频块的预测模式(例如,帧内预测或帧间预测)、帧间预测切片类型(例如,B切片、P切片或GPB切片)、切片的参考图片列表中的一者或一者以上的建构信息、切片的每一帧间译码视频块的运动向量、切片的每一帧间译码视频块的帧间预测状态,及用以解码当前视频切片中的视频块的其它信息。
[0108]运动补偿单元82还可基于内插滤波器执行内插。运动补偿单元82可使用如由视频编码器20在视频块的编码期间使用的内插滤波器,以计算参考块的子整数像素的内插值。在此状况下,运动补偿单元82可从所接收的语法元素确定由视频编码器20使用的内插滤波器,且使用所述内插滤波器来产生预测性块。反量化单元86反量化(即,解量化)位流中所提供且由熵解码单元80解码的经量化的变换系数。
[0109]在一些实例中,反量化过程可包含使用由视频编码器20所计算的用于视频切片中的每一视频块的量化参数,以确定量化程度及(同样地)应该应用的反量化的程度。反变换模块88将反变换(例如,反DCT、反整数变换或概念上类似的反变换过程)应用于变换系数,以便在像素域中产生残余块。
[0110]在运动补偿单元82基于运动向量及其它语法元素产生当前视频块的预测性块之后,视频解码器30通过对来自反变换模块88的残余块与由运动补偿单元82产生的对应预测性块求和而形成经解码视频块。求和器90表示执行此求和运算的一个或一个以上组件。必要时,还可应用解块滤波器以对经解码块进行滤波,以便移除成块假影。其它回路滤波器(译码回路中或译码回路后)还可用以使像素转变平稳,或以其它方式改进视频质量。接着将给定帧或图片中的经解码视频块存储于参考图片存储器92中,参考图片存储器92存储用于后续运动补偿的参考图片。参考图片存储器92还存储经解码视频以用于稍后在显示装置(例如,图1的显示装置32)上呈现。
[0111]图4为描绘与本文中所描述的技术一致的划分成多个变换系数子集的叶层级单元410的一实例的概念图。图4中所描绘的叶层级单元410可包括视频数据的未分裂子代节点,例如,四叉树(RQT)结构的叶节点。如图4中所展示,多个子集420中的每一者包含多个变换系数412 (在图1的实例中为十六个变换系数),其可能为或可能不为幅度大于零的非零系数。图4中还展示,叶层级单元410的最后非零系数(相对于z字形扫描,反z字形扫描的第一非零系数)具有叶层级单元410的子集(1,1)内的位置(7,7)。
[0112]如上文所描述,一旦视频编码器20已将叶层级单元410划分成多个变换系数子集420,视频编码器20就可确定是否产生指示子集是否包含任何非零系数的语法元素。举例来说,视频编码器20可基于特定块中的潜在非零系数的数目而确定是否产生与所述块相关联的语法元素。
[0113]根据图4的实例,在位置(7,7)处的系数为叶层级单元420的最后非零系数,意谓根据z字形扫描次序在位置(7,7)之后的所有变换系数(在图4的实例中的未加阴影的系数)具有幅度零。根据一实例,视频编码器20可基于叶层级单元410内的最后非零系数位置而确定子集中的潜在非零系数的数目。
[0114]视频编码器20可针对叶层级单元410的相应子集中的每一者确定非零系数(例如,在所述子集的位置(7,7)处的扫描的最后非零系数之后的反z字形扫描的系数)的潜在数目。举例来说,视频编码器20可确定图4中所描绘的子集(0,0)、(0,1)、(1,0)、(1,1)及(2,0)中的每一者的所有十六个系数为潜在非零系数,这是因为所述子集的所有系数在扫描时在最后非零系数之前。视频编码器还可确定子集(0,2)中的十五个系数可潜在地为非零系数,子集(2,1)及(3,0)中的每一者的六个系数可潜在地为非零系数,且子集(1,1)及(0,3)中的三个系数可潜在地为非零系数。
[0115]编码器20可针对图4中所描绘的所述子集420基于每一子集的潜在非零系数的数目而确定是否产生语法元素。举例来说,编码器20可比较每一子集的潜在非零系数的经确定数目与阈值thNoCoeff。如果潜在非零系数的经确定数目大于阈值,那么编码器20可产生指示子集是否包含非零系数的语法元素。然而,如果潜在非零系数的经确定数目小于或等于阈值,那么编码器20可不产生语法元素。
[0116]根据一特定实例,阈值thNoCoeff可具有值五(5)。参看图4的实例,编码器20将用信号发送指示子集(0,0)、(0,1)、(1,0)、(1,1)、(0,2)、(2,0)、(2,1)及(3,0)是否包含非零系数的语法元素,这是因为此些子集420中的每一者包含比为五的阈值thNoCoeff多的潜在非零系数。然而,对于子集(1,2)、(0,3)、(3,1)、(2,2)、(1,3)、(3,2)、(2,3)及(3,3),视频编码器20将不产生语法元素,这是因为所述子集包含少于五个的潜在非零系数。举例来说,视频编码器20可编码子集(1,1)及(0,2)的变换系数且确定所述子集是否包含任何非零系数。如果视频编码器20确定子集(1,2)及(0,3)中的任一者包含任何非零系数,那么视频编码器可产生与所述子集相关联的具有值一(1)的语法元素。另外,如果视频编码器20确定子集(1,1)及(0,2)中的任一者皆不包含任何非零系数,那么视频编码器20还可产生与所述子集相关联的具有值零(0)的语法元素。视频编码器20还可产生与子集(0,0)、(0,1)、(1,0)、(2,0)、(2,1)及(3,0)中的每一者相关联的具有值(0)或(1)的语法元素。
[0117]指示子集(0,0),(0,1) > (1,0), (1,1)、(0,2), (2,0), (2,1)及(3,0)是否具有非
零系数的语法元素(例如,针对每一相应子集所定义的单独语法元素)可作为经熵编码的位流的部分由视频编码器20输出,且由解码器30读取。作为重建构叶层级单元410的部分,解码器30可将表示单元410的数据划分成多个子块。对于每一子块,解码器30可确定经熵编码的位流是否包含指示所述子集是否包含非零系数的语法元素。如果解码器30读取不包含此语法元素的子块,那么解码器30解码所述子集的系数。然而,如果解码器30确实读取与子集相关联的此语法元素,那么解码器30可使用所述语法元素的值以确定是否解码子集的系数。举例来说,根据上文所阐述的实例,如果解码器30读取子集(1,1)的语法元素值一(1),那么解码器可解码所述子集。然而,如果解码器30读取子集(1,1)的语法元素值零(0),那么解码器30不解码子块的变换系数。
[0118]图5为说明与本发明的一个或一个以上方面一致的编码视频数据的方法的一实例的流程图。图5的方法被描述为是通过图1及图2中所描绘的编码器20来执行,然而,任何其它装置可用以执行图5的方法。
[0119]如图5中所展示,编码器20将视频数据的叶块划分成各自包含多个变换系数的多个子集(501)。作为一实例,多个子集可包括如描绘于图4的实例中的矩形子集,或任何其它几何形状或模式。视频数据的叶层级单元可包括视频译码标准的最低层级译码单元,例如,如上文所描述的四叉树结构的未分裂子代节点。
[0120]还如图5中所展示,编码器20针对多个子集中的至少一者产生指示所述子集是否包含非零系数的语法元素(502)。在一些实例中,编码器20可产生与多个子集中的每一者相关联的此语法元素。在其它实例中,编码器20可针对子集中的每一者选择性地确定是否产生此语法元素。举例来说,编码器20可基于产生语法元素是否将改进译码效率及/或压缩而选择性地确定是否产生语法元素。在一些状况下与指示特定子集实际上包含非零系数相关联的开销可使压缩降级,且在此些状况下,可避免此开销发信,且编码器及解码器可在无所述子集是否包含非零系数的任何确定的情况下编码/解码所述子集。
[0121]在一些实例中,编码器20可基于子集中的潜在非零系数的数目(如下文关于图6进一步详细描述)或基于如下文进一步详细描述的每一子集的系数的平均数目(如下文关于图7进一步详细描述)而确定产生语法元素是否将改进译码效率。如果编码器20产生与子集相关联的语法元素,那么编码器20可输出所述语法元素作为经熵编码的位流的部分。可由解码器30读取经熵编码的位流(如描绘于图3中),且可由解码器30使用语法元素以解码叶层级单元,如下文关于图8进一步详细描述。
[0122]图6为说明与本发明的一个或一个以上方面一致的编码视频数据的方法的一实例的流程图。图6的方法被描述为是通过图2中所描绘的编码器20来执行,然而,任何装置可用以执行图6的技术。根据图6的实例,编码器20基于变换系数子集的潜在非零系数的数目而确定产生与所述子集相关联的语法元素是否将改进译码效率。
[0123]如图6的实例中所展示,编码器20将视频数据的叶层级单元划分成多个变换系数子集(601)。作为一实例,多个子集可包括如描绘于图4的实例中的矩形子集,或任何其它几何形状或模式。视频数据的叶层级单元可包括视频译码标准的最低层级译码单元,例如,如上文所描述的四叉树结构的未分裂子代节点。
[0124]根据图6的实例,视频编码器20基于多个子集中的每一者的潜在非零系数的数目而确定是否产生与每一子集相关联的语法元素。举例来说,如图6中所展示,编码器20针对每一子集确定所述子集的潜在非零系数的数目(602)。为了确定潜在非零系数的数目,编码器20可确定每一子集的多少系数具有在叶层级单元的最后非零系数之前的位置,如上文关于图4的实例所描述。
[0125]还如图6中所展示,编码器20可比较潜在非零系数的经确定数目与阈值thNoCoeff (603)。图6中还展示,如果潜在非零系数的经确定数目大于阈值thNoCoeff,那么编码器20产生与子集相关联的语法元素(604)。然而,如果潜在非零系数的经确定数目小于或等于阈值thNoCoeff,那么编码器20不产生与子集相关联的语法元素(605)。根据此些实例,如果潜在非零系数的数目小于或等于阈值thNoCoeff,那么可假定应执行解码编码/解码所述子集。以此方式,针对包含极少潜在非零系数的那些子集不产生语法元素,此情形可减少由编码器20用信号发送以表示视频数据的叶层级单元的信息位的数目。这是因为当子集含有极少潜在非零系数时,用信号发送那些非零系数所需的位数目相对小,此又导致在用信号发送指示所述子集是否具有非零系数的语法元素时的开销相对较大。结果,较佳在子集含有极少潜在非零系数(即,小于thNoCoeff)时不用信号发送语法元素而替代地直接译码所述子集的系数。
[0126]图7为说明与本发明的一个或一个以上方面一致的编码视频数据的方法的另一实例的流程图。图7的方法被描述为是由图2中所描绘的编码器20来执行,然而,任何装置可用以执行图7的技术。根据图7的实例,编码器20基于每一子集的非零系数的平均数目确定产生语法元素是否将改进译码效率。
[0127]如图7中所展示,编码器20将视频数据的叶层级单元划分成多个变换系数子集(701)。图7中还展示,针对每一子集,编码器20确定所述子集的非零系数的平均数目。因为编码器20可经配置以收集指示视频数据的先前经编码叶层级单元的每一子集内的位置处的系数多常包含非零系数的统计。举例来说,编码器20可保有一个或一个以上计数器,所述一个或一个以上计数器在叶层级单元经编码时用来对每一子集内的系数多常为非零及/或每一子集的多少系数为非零进行计数。根据此实例,当编码器20编码视频数据的新的叶层级单元时,编码器20可存取此计数器以确定每一子集的非零系数的平均数目。在一些实例中,可(例如)针对每一视频帧或切片周期性地复位(例如,初始化)每一子集的计数器。
[0128]还如图7中所展示,编码器20比较非零系数的经确定平均数目与阈值thAvrgCoeff (703)。还如图7中所展示,如果非零系数的经确定平均数目小于阈值thAvrgCoeff,那么编码器20产生与子集相关联的语法元素(704)。然而,如果非零系数的经确定平均数目大于或等于阈值,那么编码器20不产生与子集相关联的语法元素(705)。
[0129]如上文所描述,编码器20可产生包含指示变换系数的子集是否包含任何非零系数的至少一语法元素的经熵编码的位流。编码器20可基于如图6中所展示的子集的潜在非零系数的数目或基于如图7中所展示的非零系数的平均数目而确定是否产生语法元素。解码器30可读取包含至少一语法元素的经熵编码的位流,且使用所述至少一语法元素解码所述经熵编码的位流。
[0130]图8为说明与本发明的一个或一个以上方面一致的可通过解码器执行的方法的一实例的流程图。图8的方法被描述为是通过图3中所描绘的解码器30来执行,然而,任何装置可用以执行图8的方法。
[0131]如图8中所展示,解码器30可将视频数据的叶层级单元划分成各自包含多个变换系数的多个子集(801)。作为一实例,多个子集可包括如描绘于图4的实例中的矩形子集,或任何其它几何形状或模式。视频数据的叶层级单元可包括视频译码标准的最低层级译码单元,例如,如上文所描述的四叉树结构的未分裂子代节点。数据的叶层级单元是通过经熵编码的位流表示,经熵编码的位流包含指示多个子集中的子集是否包含任何非零系数的至少一语法元素。
[0132]还如图8中所展示,针对子集中的每一者,解码器30确定经熵编码的位流是否包含与子集相关联的语法元素(802)。还如图8中所展示,如果子集不包含此相关联的语法元素,那么解码器30解码所述子集(例如,所述子集的变换系数)(803)。还如图8中所展示,如果子集确实包含此相关联的语法元素,那么解码器30可使用所述相关联的语法元素确定是否解码所述子集(804)。举例来说,如果语法元素具有第一值(例如,一(1)),那么解码器30解码所述子集。然而,如果语法元素具有第二值(例如,零(0)),那么解码器30不解码所述子集。
[0133]在一个或一个以上实例中,可至少部分地以硬件(例如,特定硬件组件或处理器)来实施本文所描述的功能。更大体来说,可以硬件、处理器、软件、固件或其任何组合来实施所述技术。如果以软件实施,那么所述功能可作为一个或一个以上指令或代码而存储于计算机可读媒体上或经由计算机可读媒体而传输,且通过基于硬件的处理单元执行。计算机可读媒体可包含对应于有形媒体(例如,数据存储媒体)的计算机可读存储媒体或通信媒体,通信媒体包含促进(例如)根据通信协议将计算机程序从一处传送到另一处的任何媒体。以此方式,计算机可读媒体一般可对应于(1)非暂时性的有形计算机可读存储媒体或
(2)例如信号或载波等通信媒体。数据存储媒体可为可由一个或一个以上计算机或一个或一个以上处理器存取以检索指令、代码及/或数据结构用于实施本发明中所描述的技术的任何可用媒体。计算机程序产品可包含计算机可读媒体。
[0134]通过实例而非限制,此些计算机可读存储媒体可包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储器、磁盘存储器或其它磁性存储装置、快闪存储器,或可用以存储呈指令或数据结构的形式的所要代码且可由计算机存取的任何其它媒体。而且,任何连接被适当地称为计算机可读媒体,即,计算机可读传输媒体。举例来说,如果使用同轴电缆、光纤缆线、双绞线、数字订户线(DSL)或例如红外线、无线电及微波等无线技术而从网站、服务器或其它远程源传输指令,那么同轴电缆、光纤缆线、双绞线、DSL或例如红外线、无线电及微波等无线技术包含于媒体的定义中。然而,应理解,计算机可读存储媒体及数据存储媒体不包含连接、载波、信号或其它暂态媒体,而是替代地针对非暂态有形存储媒体。如本文中所使用,磁盘及光盘包含压缩光盘(CD)、激光光盘、光学光盘、数字影音光盘(DVD)、软盘及蓝光光盘,其中磁盘通常以磁性方式再现数据,而光盘通过激光以光学方式再现数据。上述各者的组合还应包含于计算机可读媒体的范围内。
[0135]可由例如以下各者的一个或一个以上处理器执行指令:一个或一个以上中央处理单元(CPU)、数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其它等效集成或离散逻辑电路。因此,如本文中所使用的术语“处理器”可指代前述结构或适于实施本文中所描述的技术的任何其它结构中的任一者。另外,在一些方面中,可将本文中所描述的功能提供于经配置以用于编码及解码的专用硬件及/或软件模块内,或并入组合式编码解码器中。而且,所述技术可完全实施于一个或一个以上电路或逻辑元件中。
[0136]可在包含无线手持机、集成电路(1C)或一组1C(例如,芯片组)的广泛多种装置或设备中实施本发明的技术。在本发明中描述各种组件、模块或单元以强调经配置以执行所揭示的技术的装置的功能方面,但未必需要通过不同硬件单元实现。更确切来说,如上文所描述,各种单元可组合于编码解码器硬件单元中或由交互操作的硬件单元的集合(包含如上文所描述的一个或一个以上处理器)结合合适软件及/或固件来提供。
[0137]已描述各种实例。此些及其它实例在所附权利要求书的范围内。
【权利要求】
1.一种编码视频数据的单元的方法,其包括: 将视频数据的叶层级单元划分成多个变换系数子集;及 针对所述多个变换系数子集中的子集产生指示所述子集是否包含任何非零系数的语法元素。
2.根据权利要求1所述的方法,其进一步包括: 针对所述子集确定是否产生所述语法元素。
3.根据权利要求2所述的方法,其中针对所述子集确定是否产生所述语法元素包括确定产生所述语法元素是否将改进译码效率。
4.根据权利要求2所述的方法,其中确定是否产生所述语法元素包括将所述子集的潜在非零系数的数目与至少一阈值进行比较;及 如果所述子集的潜在非零系数的所述数目大于所述阈值,那么产生所述语法元素。
5.根据权利要求4所述的方法,其进一步包括: 基于所述子集的多少系数具有在所述叶层级单元的最后非零系数之后的位置而确定潜在非零系数的所述数目。
6.根据权利要求2所述的方法,其中确定是否产生所述语法元素包括: 针对视频数据的多个先前经译码的叶层级单元确定包含于所述子集中的非零系数的平均数目; 将包含于所述子集中的非零 系数的所述平均数目与阈值进行比较;及 如果非零系数的所述平均数目小于所述阈值,那么产生所述语法元素。
7.根据权利要求2所述的方法,其中确定是否产生所述语法元素包括: 确定所述子集是否包含视频数据的所述叶层级单元的最后非零系数,其中如果所述子集包含所述最后非零系数,那么不产生指示所述子集是否包含任何非零系数的所述语法元素。
8.根据权利要求1所述的方法,其进一步包括: 针对所述多个变换系数子集中的每一子集确定是否产生所述语法元素。
9.一种经配置以编码视频数据的至少一叶层级单元的装置,其包括: 处理器,其经配置以: 将视频数据的叶层级单元划分成多个变换系数子集;及 针对所述多个变换系数子集中的子集产生指示所述子集是否包含任何非零系数的语法元素。
10.根据权利要求9所述的装置,其中所述处理器经进一步配置以: 针对所述子集确定是否产生所述语法元素。
11.根据权利要求10所述的装置,其中所述处理器经进一步配置以: 针对所述子集基于产生所述语法元素是否将改进译码效率而确定是否产生所述语法元素。
12.根据权利要求10所述的装置,其中所述处理器经进一步配置以: 基于将所述子集的潜在非零系数的数目与至少一阈值进行比较而确定是否产生所述语法元素;及 如果所述子集的潜在非零系数的所述数目大于所述阈值,那么产生所述语法元素。
13.根据权利要求12所述的装置,其中所述处理器经进一步配置以: 基于所述子集的多少系数具有在所述叶层级单元的最后非零系数之后的位置而确定潜在非零系数的所述数目。
14.根据权利要求10所述的装置,其中所述处理器经进一步配置以: 针对视频数据的多个先前经译码的叶层级单元确定包含于所述子集中的非零系数的平均数目; 将包含于所述子集中的非零系数的所述平均数目与阈值进行比较;及 如果非零系数的所述平均数目小于所述阈值,那么产生所述语法元素。
15.根据权利要求9所述的装置,其中编码模块经进一步配置以: 针对所述多个变换系数子集中的每一子集确定是否产生所述语法元素。
16.根据权利要求9所述的装置,其中所述处理器经进一步配置以: 确定所述子集是否包含视频数据的所述叶层级单元的最后非零系数,其中如果所述子集包含所述最后非零系数,那么不产生指示所述子集是否包含任何非零系数的所述语法元素。
17.一种存储指令的计算机可读存储媒体,所述指令在执行时使计算装置: 将视频数据的叶层级单元划分成多个变换系数子集;及 针对所述多个变换系数子集中的子集产生指示所述子集是否包含任何非零系数的语法元素。
18.根据权利要求17所述的计算机可读存储媒体,其中所述指令进一步使所述计算装置: 针对所述子集确定是否产生所述语法元素。
19.根据权利要求18所述的计算机可读存储媒体,其中所述指令进一步使所述计算装置: 针对所述子集基于产生所述语法元素是否将改进译码效率而确定是否产生所述语法元素。
20.根据权利要求18所述的计算机可读存储媒体,其中所述指令进一步使所述计算装置: 基于将所述子集的潜在非零系数的数目与至少一阈值进行比较而确定是否产生所述语法元素;及 如果所述子集的潜在非零系数的所述数目大于所述阈值,那么产生所述语法元素。
21.根据权利要求20所述的计算机可读存储媒体,其中所述指令进一步使所述计算装置: 基于所述子集的多少系数具有在所述叶层级单元的最后非零系数之后的位置而确定潜在非零系数的所述数目。
22.根据权利要求18所述的计算机可读存储媒体,其中所述指令进一步使所述计算装置: 针对视频数据的多个先前经译码的叶层级单元确定包含于所述子集中的非零系数的平均数目; 将包含于所述子集中的非零系数的所述平均数目与阈值进行比较;及如果非零系数的所述平均数目小于所述阈值,那么产生所述语法元素。
23.根据权利要求17所述的计算机可读存储媒体,其中所述指令进一步使所述计算装置: 针对所述多个变换系数子集中的每一子集确定是否产生所述语法元素。
24.根据权利要求17所述的计算机可读存储媒体,其中所述指令进一步使所述计算装置: 确定所述子集是否包含视频数据的所述叶层级单元的最后非零系数,其中如果所述子集包含所述最后非零系数,那么不产生指示所述子集是否包含任何非零系数的所述语法元素。
25.—种经配置以编码视频数据的至少一叶层级单元的装置,其包括: 用于将视频数据的叶层级单元划分成多个变换系数子集的装置;及 用于针对所述多个变换系数子集中的子集产生指示所述子集是否包含任何非零系数的语法元素的装置。
26.根据权利要求25所述的装置,其进一步包括: 用于针对所述子集确定是 否产生所述语法元素的装置。
27.根据权利要求26所述的装置,其进一步包括: 用于针对所述子集基于产生所述语法元素是否将改进译码效率而确定是否产生所述语法元素的装置。
28.根据权利要求26所述的装置,其进一步包括: 用于基于将所述子集的潜在非零系数的数目与至少一阈值进行比较而确定是否产生所述语法元素的装置;及 用于如果所述子集的潜在非零系数的所述数目大于所述阈值,那么产生所述语法元素的装置。
29.根据权利要求28所述的装置,其进一步包括: 用于基于所述子集的多少系数具有在所述叶层级单元的最后非零系数之后的位置而确定潜在非零系数的所述数目的装置。
30.根据权利要求26所述的装置,其中用于确定是否产生所述语法元素的所述装置包括: 用于针对视频数据的多个先前经译码的叶层级单元确定包含于所述子集中的非零系数的平均数目的装置; 用于将包含于所述子集中的非零系数的所述平均数目与阈值进行比较的装置;及 用于如果非零系数的所述平均数目小于所述阈值,那么产生所述语法元素的装置。
31.根据权利要求25所述的装置,其进一步包括: 用于针对所述多个变换系数子集中的每一子集确定是否产生所述语法元素的装置。
32.根据权利要求25所述的装置,其进一步包括: 用于确定所述子集是否包含视频数据的所述叶层级单元的最后非零系数的装置,其中如果所述子集包含所述最后非零系数,那么不产生指示所述子集是否包含任何非零系数的所述语法元素。
33.一种解码视频数据的单元的方法,其包括:将视频数据的叶层级单元划分成多个变换系数子集;及 针对所述多个变换系数子集中的子集确定所述子集是否包含指示所述子集是否包含任何非零系数的相关联的语法元素;及 基于所述语法元素确定是否解码所述子集。
34.根据权利要求33所述的方法,其进一步包括: 如果所述子集不包含所述语法元素,那么解码所述子集。
35.根据权利要求34所述的方法,其进一步包括: 如果数据的所述子集确实包含所述语法元素,那么基于所述指示确定是否解码所述子集。
36.根据权利要求35所述的方法,其进一步包括: 如果与所述子集相关联的所述语法元素具有第一值,那么解码所述子集;及 如果所述语法元素具有不同于所述第一值的第二值,那么不解码所述子集。
37.根据权利要求33所述的方法,其进一步包括: 针对所述多个变换系数子集中的每一子集确定所述子集是否包含指示所述子集是否包含任何非零系数的相关联的语法元素;及基于所述语法元素确定是否解码所述子集。
38.根据权利要求33所述的方法,其进一步包括: 如果所述子集不包含所述语法元素,那么确定所述子集是否包含指示最后非零系数包含于所述子集中的单独语法元素;及 如果所述子集包含指示最后非零系数包含于所述子集中的所述单独语法元素,那么解码所述子集。
39.一种经配置以解码视频数据的单元的装置,其包括: 处理器,其经配置以: 将视频数据的叶层级单元划分成多个变换系数子集; 针对所述多个变换系数子集中的子集确定所述子集是否包含指示所述子集是否包含任何非零系数的相关联的语法元素;及 基于所述语法元素确定是否解码所述子集。
40.根据权利要求39所述的装置,其中所述处理器经进一步配置以: 如果所述子集不包含所述语法元素,那么解码所述子集。
41.根据权利要求40所述的装置,其中所述处理器经进一步配置以: 如果数据的所述子集确实包含所述语法元素,那么基于所述指示确定是否解码所述子集。
42.根据权利要求41所述的装置,其中所述处理器经进一步配置以: 如果与所述子集相关联的所述语法元素具有第一值,那么解码所述子集;及 如果所述语法元素具有不同于所述第一值的第二值,那么不解码所述子集。
43.根据权利要求39所述的装置,其中所述处理器经进一步配置以: 针对所述多个变换系数子集中的每一子集确定所述子集是否包含指示所述子集是否包含任何非零系数的相关联的语法元素;及基于所述语法元素确定是否解码所述子集。
44.根据权利要求39所述的装置,其中所述处理器经进一步配置以: 如果所述子集不包含所述语法元素,那么确定所述子集是否包含指示最后非零系数包含于所述子集中的单独语法元素;及 如果所述子集包含指示最后非零系数包含于所述子集中的所述单独语法元素,那么解码所述子集。
45.一种存储指令的计算机可读存储媒体,所述指令在执行时使计算装置: 将视频数据的叶层级单元划分成多个变换系数子集; 针对所述多个变换系数子集中的子集确定所述子集是否包含指示所述子集是否包含任何非零系数的相关联的语法元素;及 基于所述语法元素确定是否解码所述子集。
46.根据权利要求45所述的计算机可读存储媒体,其中所述指令进一步使所述计算装置: 如果所述子集不包含所述语法元素,那么解码所述子集。
47.根据权利要求46所述的计算机可读存储媒体,其中所述指令进一步使所述计算装置: 如果数据的所述子集确实包含所述语法元素,那么基于所述指示确定是否解码所述子集。
48.根据权利要求47所述的计算机可读存储媒体,其中所述指令进一步使所述计算装置: 如果与所述子集相关联的所述语法元素具有第一值,那么解码所述子集;及 如果所述语法元素具有不同于所述第一值的第二值,那么不解码所述子集。
49.根据权利要求46所述的计算机可读存储媒体,其中所述指令进一步使所述计算装置: 针对所述多个变换系数子集中的每一子集确定所述子集是否包含指示所述子集是否包含任何非零系数的相关联的语法元素;及基于所述语法元素确定是否解码所述子集。
50.根据权利要求45所述的计算机可读存储媒体,其中所述指令进一步使所述计算装置: 如果所述子集不包含所述语法元素,那么确定所述子集是否包含指示最后非零系数包含于所述子集中的单独语法元素;及 如果所述子集包含指示最后非零系数包含于所述子集中的所述单独语法元素,那么解码所述子集。
51.一种经配置以解码视频数据的单元的装置,其包括: 用于将视频数据的叶层级单元划分成多个变换系数子集的装置; 用于针对所述多个变换系数子集中的子集确定所述子集是否包含指示所述子集是否包含任何非零系数的语法元素的装置;及 用于基于所述语法元素确定是否解码所述子集的装置。
52.根据权利要求51所述的装置,其进一步包括: 用于如果所述子集不包含所述语法元素,那么解码所述子集的装置。
53.根据权利要求52所述的装置,其进一步包括: 用于如果数据的所述子集确实包含所述语法元素,那么基于所述指示确定是否解码所述子集的装置。
54.根据权利要求53所述的装置,其进一步包括: 用于如果与所述子集相关联的所述语法元素具有第一值,那么解码所述子集的装置;及 用于如果所述语法元素具有不同于所述第一值的第二值,那么不解码所述子集的装置。
55.根据权利要求51所述的装置,其进一步包括: 用于针对所述多个变换系数子集中的每一子集确定所述子集是否包含指示所述子集是否包含任何非零系数的相关联的语法元素的装置;及用于基于所述语法元素确定是否解码所述子集的装置。
56.根据权利要求51所述的装置,其进一步包括: 如果所述子集不包含所述语法元素,那么用于确定所述子集是否包含指示最后非零系数包含于所述子集中的单独语法元素的装置;及 用于如果所述子集包含指示最后非零系数包含于所述子集中的所述单独语法元素,那么解码所述子集的装置。`
【文档编号】H04N19/61GK103636225SQ201280032423
【公开日】2014年3月12日 申请日期:2012年6月29日 优先权日:2011年6月30日
【发明者】马尔塔·卡切维奇, 翔林·王, 郭立威 申请人:高通股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1