用于视频译码的多区扫描次序的制作方法

文档序号:7990793阅读:187来源:国知局
用于视频译码的多区扫描次序的制作方法
【专利摘要】一种用于在视频编码过程中对变换系数进行编码的方法包含:将变换系数块划分成多个区;确定用于所述多个区中的每一者的扫描次序;以及根据所述多个区中的每一者的相应的所确定扫描次序对所述多个区中的每一者中的所述变换系数中的每一者执行扫描。在另一实例中,一种用于在视频编码过程中对变换系数进行解码的方法包含:接收变换系数的一维阵列;确定所述一维阵列的多个区段中的每一者的扫描次序,其中所述一维阵列的每一区段对应于界定变换系数块的多个区中的一者;以及根据区的所述一维阵列的所述区段中的每一者的相应所确定扫描次序对所述区段中的每一者中的所述变换系数中的每一者执行扫描。
【专利说明】用于视频译码的多区扫描次序
[0001]本申请案主张2011年6月29日申请的第61/502,753号美国临时申请案和2011年11月I日申请的第61/554,380号美国临时申请案的权利,所述两个美国临时申请案的全部内容以引用的方式并入本文中。
【技术领域】
[0002]本发明涉及视频译码,且更明确地说涉及用于对通过视频译码过程产生的变换系数进行扫描和译码的技术。
【背景技术】
[0003]数字视频能力可并入到广泛范围的装置中,包括数字电视、数字直播系统、无线广播系统、个人数字助理(PDA)、膝上型或桌上型计算机、数码相机、数字记录装置、数字媒体播放器、视频游戏装置、视频游戏控制台、蜂窝式或卫星无线电电话、视频电话会议装置及类似装置。数字视频装置实施视频压缩技术,例如通过MPEG-2、MPEG-4、ITU-T H.263、ITU-TH.264/MPEG-4第10部分高级视频译码(AVC)、目前正在开发的高效率视频译码(HEVC)标准和此些标准的扩展部分定义的标准中描述的技术,以便更有效地发射、接收和存储数字视频息。
[0004]视频压缩技术包含空间预测及/或时间预测,以减少或移除视频序列中所固有的冗余。对于基于块的视频译码,一视频帧或切片可以分割成多个块。每一块可被进一步分害I]。使用相对于相同帧或切片中的相邻块中的参考样本的空间预测对经帧内译码(I)帧或切片中的块进行编码。经帧间译码(P或B)帧或切片中的块可使用相对于相同帧或切片中的相邻块中的参考样本的空间预测,或相对于其它参考帧中的参考样本的时间预测。空间或时间预测产生用于待译码块的预测性块。残余数据表示待译码原始块与预测性块之间的像素差。
[0005]经帧间译码块是根据指向形成预测块的参考样本块的运动向量及指示经译码块与预测性块之间的差的残余数据编码的。经帧内译码块是根据帧内译码模式及残余数据编码的。为了进一步压缩,可将残余数据从像素域变换到变换域,从而产生残余变换系数,接着可对残余变换系数进行量化。可用特定次序扫描最初布置成二维阵列的经量化变换系数以产生变换系数的一维向量用于熵译码。

【发明内容】

[0006]一般来说,本发明描述用于对视频译码过程中的与残余视频数据块相关联的变换系数进行译码的装置和方法。本发明中所描述的技术、结构和方法适用于使用例如上下文自适应二进制算术译码(CABAC)译码等熵译码来对变换系数进行熵译码的视频译码过程。
[0007]在本发明的一个实例中,提出一种用于在视频编码中对变换系数进行编码的方法。所述方法包含:将变换系数块划分成多个区;确定用于所述多个区中的每一者的扫描次序;以及根据所述多个区中的每一者的相应的所确定扫描次序对所述多个区中的每一者中的所述变换系数中的每一者执行扫描,由此产生变换系数的一维阵列。
[0008]在本发明的另一实例中,提出一种用于在视频解码过程中对变换系数进行解码的方法。所述方法包含:接收变换系数的一维阵列;确定所述一维阵列的多个区段中的每一者的扫描次序,其中所述一维阵列的每一区段对应于界定变换系数块的多个区中的一者;以及根据区的所述一维阵列的所述区段中的每一者的相应所确定扫描次序对所述区段中的每一者中的所述变换系数中的每一者执行扫描,由此产生所述变换系数块。
[0009]随附图式及以下描述中陈述一个或一个以上实例的细节。其它特征、目标和优点将从所述描述和图式以及权利要求书而显而易见。
【专利附图】

【附图说明】
[0010]图1是说明有效性映射译码过程的概念图。
[0011]图2是说明用于有效性映射译码的扫描模式和方向的概念图。
[0012]图3是说明实例视频译码系统的框图。
[0013]图4是说明实例视频编码器的框图。
[0014]图5是说明用于视频编码中的多区扫描过程的概念图。
[0015]图6是说明用于视频编码中的多区扫描过程的另一概念图。
[0016]图7是说明实例视频解码器的框图。
[0017]图8是说明用于视频解码中的多区扫描过程的概念图。
[0018]图9是说明用于视频解码中的多区扫描过程的另一概念图。
[0019]图10是说明实例视频编码过程的流程图。
[0020]图11是说明实例视频解码过程的流程图。
【具体实施方式】
[0021]数字视频装置实施视频压缩技术以更有效地发射和接收数字视频信息。视频压缩可应用空间(帧内)预测和/或时间(帧间)预测技术来减少或移除视频序列中固有的冗余。
[0022]存在一种新的视频译码标准,即高效率视频译码(HEVC),其正由ITU-T视频译码专家组(VCEG)和IS0/IEC动画专家组(MPEG)的视频译码联合合作小组(JCT-VC)进行开发。称为“HEVC工作草案6”或“WD6”的HEVC标准的近期草案描述于布洛斯(Bross)等人的文档JCTVC-H1003 “高效率视频译码(HEVC)文本规格草案6 (High efficiency videocoding(HEVC)text specification draft6)” (ITU-T SG16WP3 和 IS0/IEC JTC1/SC29/WGll的视频译码联合合作小组(JCT-VC),第8次会议:美国加利福尼亚州圣何塞,2012年
2月)中,其从 2012 年 6 月 I 日起可从 http://phenix.1nt-evry.fr/jct/doc_end_user/documents/8_San% 20Jose/ffglI/JCTVC-H1003-v22.zip 下载。
[0023]对于根据当前正在由JCT-VC开发的HEVC标准的视频译码,视频帧可分割成译码单元。译码单元(CU)大体上是指充当对其应用各种译码工具以进行视频压缩的基本单元的图像区域。CU通常具有可指示为Y的一个明度分量以及可指示为U和V的两个色度分量。取决于视频取样格式,就样本数目而言的U和V分量的大小可与Y分量的大小相同或不同。⑶通常为正方形的,且可认为类似于例如在其它视频译码标准(例如ITU-TH.264)下的所谓的宏块。
[0024]为实现合乎需要的译码效率,CU可取决于视频内容而具有可变大小。另外,译码单元可分裂成较小块用于进行预测或变换。明确地说,每一译码单元可进一步分割成一个或一个以上预测单元(PU)和一个或一个以上变换单元(TU)。预测单元可认为是类似于根据例如H.264标准的其它视频译码标准的所谓的分割区。变换单元(TU)大体上是指残余数据块,变换被应用于所述残余数据块以产生变换系数。
[0025]⑶通常具有指示为Y的一个明度分量以及指示为U和V的两个色度分量。取决于视频取样格式,就样本数目而言的U和V分量的大小可与Y分量的大小相同或不同。然而,本发明的技术可适用于例如可使用其它类型的色彩坐标系统的其它标准或其它类型的视频块。
[0026]为了对块(例如,视频数据的预测单元)进行译码,首先导出用于所述块的预测值。可经由帧内⑴预测(即空间预测)或帧间(P或B)预测(S卩,时间预测)来导出也称为预测性块的预测值。因此,一些预测单元可使用相对于相同帧(或切片)中的相邻参考块中的参考样本的空间预测来进行帧内译码(I),且其它预测单元可相对于其它先前经译码帧(或切片)中的参考样本块进行单向帧间译码(P)或双向帧间译码(B)。在每一情况下,参考样本均可用于形成用于待译码块的预测块。
[0027]在识别出预测值之后,即刻计算原始视频数据块与其预测值之间的差。此差也称为预测残余,且是指待译码块的像素与参考块的对应参考样本(其可为整数精度像素或经内插分数精度像素)(即,预测值)之间的像素差。为实现较好压缩,通常例如使用离散余弦变换(DCT)、整数变换、Karhunen-Loeve (K-L)变换或其它变换来变换所述预测残余(即,像素差值阵列)。
[0028]残余数据可布置成驻留于空间像素域中的像素差值的二维(2D)阵列。变换将残余像素值转换成变换域(例如频域)中的变换系数的二维阵列。为了进一步压缩,可在熵译码之前对变换系数进行量化。熵译码器接着对经量化变换系数应用熵译码,例如上下文自适应不等长译码(CAVLC)、上下文自适应二进制算术译码(CABAC)、概率区间分割熵译码(PIPE)等。
[0029]为对经量化变换系数块进行熵译码,通常执行扫描过程以使得在块中的经量化变换系数的二维(2D)阵列根据特定扫描次序而重新布置成变换系数的有序一维(ID)阵列,即向量。接着将熵译码应用于变换系数的所述向量。对变换单元中的经量化变换系数的扫描使得熵译码器的变换系数的2D阵列串行化。可以产生有效性映射以指示有效(即,非零)系数的位置。可向有效(即,非零)系数的扫描等级和/或有效系数的代码正负号应用扫描。
[0030]作为一实例,对于DCT,常常存在朝向2D变换单元的左上角(即,低频区域)的非零系数的更高概率。可能需要用增加将非零系数在系数的串行化串的一个末端分组在一起的概率的方式扫描所述系数,从而准许将零值系数朝向串行化向量的所述末端分组在一起,且被更有效地译码成零串。举例来说,如果零值系数将分组在一起,则CABAC过程或其它熵译码过程可能更有效。因为这个原因,扫描次序可能对于有效熵译码来说至关重要。
[0031]作为一个实例,在HEVC标准中已采用所谓的对角线(或波前)扫描次序用于扫描经量化变换系数。或者,可使用z字形、水平、垂直或其它扫描次序。如上文所提及,对于变换是DCT的实例,通过变换和量化,非零变换系数总体上位于朝向块的左上方区域的低频区域。结果,在对角线扫描过程(其可首先遍历左上方区域)之后,非零变换系数通常更可能位于ID阵列的前面部分。对于首先从右下方区域遍历的对角线扫描过程,非零变换系数通常更可能位于ID阵列的后面部分。
[0032]取决于扫描方向、归因于较高频率下的减小的能量且归因于量化效果(其可致使一些非零系数在减小位深之后即刻变为零值系数),数个零系数将通常分组在ID阵列的一个末端。串行化ID阵列中的系数分布的这些特性可用于熵译码器设计中以改进译码效率。换句话说,如果非零系数可以通过某种适当的扫描次序有效布置在ID阵列的一个部分中,则归因于许多熵译码器的设计可以期待更好的译码效率。举例来说,熵译码可对零值系数串进行译码,从而提供更有效的符号用于译码。
[0033]为了实现将更多非零系数放置在ID阵列的一个末端的此目标,可在视频编码器-解码器(编解码器)中使用不同扫描次序来对变换系数进行译码。在一些情况下,对角线扫描可能是有效的。在其它情况中,例如Z形、垂直或水平扫描等不同类型的扫描可能更有效。任何给定情形中的最合乎需要的扫描次序可取决于各种因素,例如对视频块进行译码的模式。举例来说,不同方向的帧内模式可导致非零系数分组在二维阵列的不同区域中。
[0034]不同的扫描次序可用各种方法来产生。一个实例为,对于每一变换系数块,可从数个可用扫描次序中选出“最佳”扫描次序。视频编码器接着可将指示提供到解码器,所述指示对于每一块指示由相应索引指示的一组扫描次序当中的最佳扫描次序的索引。通过应用若干扫描次序并选择在将非零系数放置在ID向量的开头或结尾附近方面最有效的一个扫描次序,可确定最佳扫描次序的选择,由此促进有效的熵译码。
[0035]在另一实例中,可基于与相关预测单元的译码有关的各种因素来确定用于当前块的扫描次序,所述因素例如是预测模式(1、B、P)、块大小、变换或其它因素。在一些情况下,因为可在编码器和解码器两侧推断相同信息(例如预测模式),所以可能不需要向解码器提供对于扫描次序索引的指示。实际上,视频解码器可存储配置数据,所述配置数据指示在了解对于用于块的预测模式和将预测模式映射成特定扫描次序的一个或一个以上准则的情况下的适当扫描次序。
[0036]为了进一步改进译码效率,可使用的扫描次序可能并不是一直不变。实际上,可例如基于已经译码的系数启用一些调适,以使得扫描次序自适应性地调整。一般来说,可用使得根据选定扫描次序零和非零系数更有可能分组在一起的方式来进行扫描次序调适。可基于与类似类型的视频块相关联的统计数据来调适扫描次序。可基于每一系数位置(例如,在先前经译码的类似类型的视频块中)中的非零的计数来调适扫描次序。并且,利用一些调适技术,扫描内的系数次序(对于扫描内的两个连续系数)可基于此些系数在先前经译码的视频块中的值(或有效性)而调换位置。
[0037]在一些视频编解码器中,初始可用扫描次序可采用非常常规的形式,例如纯粹水平、垂直、对角线或z字形扫描。或者,可通过训练过程来导出扫描次序,且因此所述扫描次序可能看起来有些随机。所述训练过程可包括向块或块的系列应用不同扫描次序以识别产生合乎需要的结果的扫描次序(例如如上文所提及,在非零和零值系数的有效放置方面)。
[0038]如果从训练过程导出扫描次序,或者如果可选择多种不同的扫描次序,则在编码器和解码器两侧保存特定扫描次序可为有益的。指定此类扫描次序的数据量可能很大。举例来说,对于32X 32变换块,一个扫描次序可能含有1024个变换系数位置。因为可能存在不同大小的块且对于每一大小的变换块可能存在多个不同扫描次序,所以需要保存的数据的总量相当大。例如对角线、水平、垂直或Z形次序等常规扫描次序可能不需要存储,或者可能需要极少存储。然而,对角线、水平、垂直或Z形次序可能无法提供充足的变化来提供与经训练的扫描次序同等的译码性能。
[0039]在一个实例中,对于目前在开发中的H.264和HEVC标准,当使用CABAC熵译码器时,对变换块(即,HEVC中的变换单元)中的有效系数(即,非零变换系数)的位置进行编码,随后对所述系数的等级进行编码。对有效系数的位置的译码过程称为有效性映射译码。如图1中所示,经量化变换系数11的有效性映射译码产生有效性映射13。有效性映射13是I和O的映射,其中I指示有效系数的位置。有效性映射通常需要视频位速率的高百分比。
[0040]用于对有效性映射进行译码的实例过程描述于D.玛普(D.Marpe)、H.斯科沃思(H.Schffarz)和T.维甘德(T.Wiegand)的“H.264/AVC视频压缩标准中的基于上下文的自适应二进制算术译码(Context-Based Adaptive Binary Arithmetic Coding in theH.264/AVC Video Compression Standard) ”(IEEE视频技术电路与系统汇刊(IEEE Trans.Circuits and Systems for Video Technology),第 13 卷,第 7 期,2003 年 7 月)中。在此过程中,如果如经译码块旗标(CBF)所指定在所述块中存在至少一个有效系数,则对有效性映射进行译码,上述情况被定义为:
[0041]经译码块旗标:coded_block_flag是一位符号,其指示在单个变换系数块内部是否存在有效(即,非零)系数,对于所述有效系数,经译码块模式指示非零条目。如果codecLblock_flag为零,则不发射关于相关块的进一步信息。
[0042]如果所述块中存在有效系数,则通过如下遵照所述块中的变换系数的扫描次序对有效性映射进行编码:
[0043]对变换系数的扫描:首先使用给定扫描模式将coded_block_flag针对其指示非零条目的子块的变换系数等级的二维阵列映射成一维列表。换句话说,根据扫描模式扫描具有有效系数的子块。
[0044]给定扫描模式,如下扫描有效性映射:
[0045]有效性映射:如果coded_block_flag指示一个块具有有效系数,则对二进制值的有效性映射进行编码。针对扫描次序中的每一变换系数,发射一位符号significant,coeff_flag0如果significant_coeff_flag符号是I,即,如果在这个扫描位置存在非零系数,则发送另一个一位符号last_significant_coeff_flag。这个符号指示当前重要系数是不是所述块内部的最后一个,或者后面是否跟着进一步的重要系数。如果到达最后一个扫描位置,且有效性映射编码尚未以值为I的last_significant_coeff_flag终止,贝U显然最后一个系数必须是有效的。
[0046]当前,在HEVC中,提出对有效性映射使用三种扫描模式:对角线、垂直和水平。图2展示Z形扫描17、垂直扫描19、水平扫描21和对角线扫描15的实例。如图2中所示,这些扫描中的每一者以前向方向进行,即,从变换块左上角的较低频率变换系数到变换块右下角的较高频率变换系数。或者,图2中的扫描中的每一者可在逆方向(即,从块的右下角到左上角)上进行。在对有效性映射进行译码之后,对每一变换系数的等级信息(即,系数值及其正负号)进行译码。
[0047]如图2中所示,前向水平和垂直扫描将从左侧或上部一直到右侧或底部扫描一个行/列,接着回到下一行/列的左侧或顶部。此种“强”扫描次序对于大块来说可能不够有效,因此一个行/列末端处的变换系数与下一行/列的开始之间常常存在极少相关。
[0048]本发明描述可减小或消除上文所描述的缺点中的一些的若干不同特征。一般来说,本发明提出用于在熵译码过程中扫描变换系数的多区扫描过程。以下描述将在针对CABAC的有效性映射扫描方面描述此多区扫描过程。然而,所揭示的过程可适用于在CAVLC, PIPE或CABAC(例如,用于绝对等级和正负号译码)中扫描变换系数的任何过程。
[0049]本发明提出用于在视频编码过程中对残余变换系数进行编码的技术。所述技术包含:将残余变换系数块划分成多个区;确定用于所述多个区中的每一者的扫描次序;以及根据所述多个区中的每一者的相应的所确定扫描次序对所述多个区中的每一者中的所述变换系数中的每一者执行扫描,由此产生残余变换系数的一维阵列。
[0050]本发明还提出用于在视频编码过程中对残余变换系数进行解码的技术。所述技术包含:接收残余变换系数的一维阵列;确定所述一维阵列的多个区段中的每一者的扫描次序,其中所述一维阵列的每一区段对应于界定残余变换系数块的多个区中的一者;以及根据区的所述一维阵列的所述区段中的每一者的相应所确定扫描次序对所述区段中的每一者中的所述变换系数中的每一者执行扫描,由此产生所述残余变换系数块。
[0051]图3是说明可经配置以利用根据本发明的实例的用于对变换系数进行译码的技术的实例视频编码和解码系统10的框图。如图3中所示,系统10包含源装置12,其经由通信信道16将经编码视频发射到目的地装置14。经编码视频还可存储于存储媒体34或文件服务器36上,且可由目的地装置14按需存取。源装置12和目的地装置14可包括任何广泛多种装置,包含桌上型计算机、笔记型(即,膝上型)计算机、平板计算机、机顶盒、电话手持机(例如所谓的智能电话)、电视、相机、显示装置、数字媒体播放器、视频游戏控制台、移动装置,等。在许多情况下,此些装置可经配备用于无线通信。因此,所述通信信道16可包括适合于发射经编码的视频数据的无线信道、有线信道或无线和有线信道的组合。类似地,文件服务器36可由目的地装置14通过任何标准数据连接(包含因特网连接)来存取。此可包含适合于存取存储于文件服务器上的经编码的视频数据的无线信道(例如,W1-Fi连接)、有线连接(例如,DSL、电缆调制解调器等)或两者的组合。
[0052]根据本发明的实例的用于对变换系数进行译码的技术可以被应用于支持任何多种多媒体应用的视频译码,所述多媒体应用例如是空中电视广播、有线电视发射、卫星电视发射、流视频发射(例如,经由因特网),对用于存储于数据存储媒体上的数字视频编码,对存储于数据存储媒体上的数字视频的解码,其它应用。在一些实例中,所述系统10可经配置以支持单向或双向视频发射,以支持例如视频流式传输、视频回放、视频广播和/或视频电话等应用。
[0053]在图3的实例中,源装置12包含视频源18、视频编码器20、调制器/解调器22和发射器24。在源装置12中,视频源18可包含来源,例如视频俘获装置,例如摄像机,包含先前俘获的视频的视频存档,用于从视频内容提供者接收视频的视频馈送接口和/或用于产生计算机图形数据作为源视频的计算机图形系统,或此类来源的组合。作为一个实例,如果视频源18是摄像机,则源装置12和目的地装置14可能形成所谓的相机电话或视频电话。然而,本发明中所描述的技术可大体上适用于视频译码,且可应用于无线和/或有线应用。
[0054]可由视频编码器20对所俘获、预俘获或计算机产生的视频进行编码。调制解调器22可根据例如无线通信协议等通信标准对经编码视频信息进行调制,且经由发射器24将经编码视频信息发射到目的地装置14。调制解调器22可包含各种混频器、滤波器、放大器或其它经设计用于信号调制的组件。发射器24可包含经设计以用于发射数据的电路,包含放大器、滤波器和一个或一个以上天线。
[0055]被视频编码器20编码的所俘获、预先俘获或计算机产生的视频还可存储到存储媒体34或文件服务器36上以用于稍后消耗。存储媒体34可包含蓝光光盘、DVD、⑶-ROM、快闪存储器或用于存储经编码视频的任何其它合适的数字存储媒体。目的地装置14可接着存取存储于存储媒体34上的经编码视频以用于解码和回放。
[0056]文件服务器36可为能够存储经编码视频且将经编码视频发射到目的地装置14的任何类型的服务器。实例文件服务器包含网络服务器(例如,用于网站)、FTP服务器、网络附接存储(NAS)装置、本机磁盘驱动器或任何其它类型的能够存储经编码的视频数据并且将经编码的视频数据发射到目的地装置的装置。经编码的视频数据从文件服务器36的发射可为流式发射、下载发射或两者的组合。目的地装置14可通过任何标准数据连接(包含因特网连接)来存取文件服务器36。此可包含适合于存取存储于文件服务器上的经编码的视频数据的无线信道(例如,W1-Fi连接)、有线连接(例如,DSL、电缆调制解调器、以太网、USB等)或两者的组合。
[0057]在图3的实例中,目的地装置14包含接收器26、调制解调器28、视频解码器30,和显示装置32。目的地装置14的接收器26经由信道16接收信息,且调制解调器28对所述信息进行解调以产生用于视频解码器30的经解调位流。经由信道16传送的信息可包含由视频编码器20产生用于视频解码器30在对视频数据进行解码时使用的多种语法信息。此类语法还可与存储在存储媒体34或文件服务器36上的经编码的视频数据包含在一起。视频编码器20和视频解码器30中的每一者可以形成能够对视频数据进行编码或解码的相应编码器-解码器(编解码器)的一部分。
[0058]显示装置32可与目的地装置14集成或在目的地装置14外部。在一些实例中,目的地装置14可包含集成显示装置,且还经配置以与外部显示装置介接。在其它实例中,目的地装置14可为显示装置。总的来说,显示装置32将经解码视频数据显示给用户,且可包含多种显示装置中的任一者,例如液晶显示器(LCD)、等离子显示器、有机发光二极管(OLED)显示器或另一类型的显示装置。
[0059]在图3的实例中,通信信道16可包括任何无线或有线通信媒体,例如射频(RF)频谱或一个或一个以上物理传输线,或无线与有线媒体的任何组合。通信信道16可形成例如局域网、广域网或例如因特网等全球网络等分组网络的部分。通信信道16大体上表示用于将视频数据从源装置12发射到目的地装置14的任何合适的通信媒体或不同通信媒体的集合,包含有线或无线媒体的任何合适的组合。通信信道16可包含路由器、交换器、基站、或可以用于促进从源装置12到目的地装置14的通信的任何其它设备。
[0060]视频编码器20和视频解码器30可根据视频压缩标准(例如目前正在开发的高效率视频译码(HEVC)标准)来操作,且可以符合HEVC测试模型(HM)。或者,视频编码器20和视频解码器30可以根据其它专有或业界标准来操作,所述标准例如是ITU-T H.264标准,也被称为MPEG-4第10部分高级视频译码(AVC),或此类标准的扩展。然而,本发明的技术不限于任何特定译码标准。其它实例包含MPEG-2和ITU-T H.263。
[0061 ] 尽管图3中未展示,但在一些方面中,视频编码器20和视频解码器30可各自与音频编码器和解码器集成,且可包含适当的多路复用器-多路分用器单元或其它硬件和软件以处置共同数据流或单独数据流中的音频和视频两者的编码。在一些实例中,如果适用,多路复用器-多路分用器单元可符合ITU H.223多路复用器协议,或例如用户数据报协议(UDP)等其它协议。
[0062]视频编码器20和视频解码器30各自可实施为多种合适的编码器电路中的任一者,例如一个或一个以上微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑、软件、硬件、固件或其任何组合。当部分地用软件实施所述技术时,装置可将用于所述软件的指令存储于合适的非暂时性计算机可读媒体中且使用一个或一个以上处理器用硬件执行所述指令以执行本发明的技术。视频编码器20和视频解码器30中的每一者可包含在一个或一个以上编码器或解码器中,所述编码器或解码器中的任一者可集成为相应装置中的组合编码器/解码器(编解码器)的部分。
[0063]视频编码器20可实施本发明的任何或所有技术以在视频译码过程中改进变换系数的编码。同样,视频解码器30可以实施这些技术中的任何或所有技术以在视频译码过程中改进变换系数的解码。如本发明中所描述,视频译码器可指视频编码器或视频解码器。类似地,视频译码单元可指视频编码器或视频解码器。同样,视频译码可指视频编码或视频解码。
[0064]视频编码器20可经配置以执行一种用于在视频编码过程中对残余变换系数进行编码的方法,所述方法包括:将残余变换系数块划分成多个区;确定用于所述多个区中的每一者的扫描次序;以及根据所述多个区中的每一者的相应的所确定扫描次序对所述多个区中的每一者中的所述变换系数中的每一者执行扫描,由此产生残余变换系数的一维阵列。
[0065]视频解码器30可经配置以执行一种用于在视频解码过程中对残余变换系数进行解码的方法,所述方法包括:接收残余变换系数的一维阵列;确定所述一维阵列的多个区段中的每一者的扫描次序,其中所述一维阵列的每一区段对应于界定残余变换系数块的多个区中的一者;以及根据区的所述一维阵列的所述区段中的每一者的相应所确定扫描次序对所述区段中的每一者中的所述变换系数中的每一者执行扫描,由此产生所述残余变换系数块。
[0066]图4是说明可使用如本发明中所描述的用于对变换系数进行译码的技术的视频编码器20的实例的框图。出于说明的目的将在HEVC译码的背景下描述视频编码器20,但本发明关于可能需要扫描变换系数的其它译码标准或方法不受限制。视频编码器20可对视频帧内的CU执行帧内和帧间译码。帧内译码依赖于空间预测来减少或移除给定视频帧内的视频中的空间冗余。帧间译码依赖于时间预测来减少或移除当前帧与视频序列的经先前译码帧之间的时间冗余。帧内模式(1-模式)可指若干基于空间的视频压缩模式中的任一者。例如单向预测(P模式)或双向预测(B模式)等帧间模式可指若干基于时间的视频压缩模式中的任一者。[0067]如图4中所示,视频编码器20接收待编码视频帧内的当前视频块。在图4的实例中,视频编码器20包含运动补偿单元44、运动估计单元42、帧内预测模块46、参考帧缓冲器64、求和器50、变换模块52、量化单元54,和熵编码单元56。图4中所说明的变换模块52为将实际变换应用于残余数据块的单元,且不应与变换系数块(其还可称为CU的变换单元(TU))混淆。为进行视频块重建,视频编码器20还包含逆量化单元58、逆变换模块60,和求和器62。还可包含解块滤波器(图4中未展示)以对块边界进行滤波以从重建的视频移除成块假影。必要时,所述解块滤波器通常将对求和器62的输出进行滤波。
[0068]在编码过程期间,视频编码器20接收待译码的视频帧或切片。所述帧或切片可划分成多个视频块,例如,最大译码单元(LCU)。运动估计单元42和运动补偿单元44可相对于一个或一个以上参考帧中的一个或一个以上块执行给定接收到的视频块的帧间预测性译码以提供时间压缩。帧内预测单元46可相对于与待译码块相同的帧或切片中的一个或一个以上相邻块执行对所接收的视频块的帧内预测性译码以提供空间压缩。
[0069]模式选择单元40可例如基于每一模式的速率失真分析而选择译码模式中的一者(帧内或帧间),且将所得帧内或帧间预测块提供到求和器50以产生残余块数据且提供到求和器62以重建经编码块供用于参考帧中。某些视频帧可被指定为I帧,其中I帧中的所有块都在帧内预测模式下编码。在一些情况下,帧内预测模块46可在例如运动估计单元42执行的运动搜索未产生对块的足够预测的情况下执行P或B帧中的块的帧内预测编码。
[0070]运动估计单元42和运动补偿单元44可高度集成,但出于概念目的单独地加以说明。运动估计为产生估计视频块的运动的运动向量的过程。举例来说,运动向量可指示当前帧中的预测单元相对于参考帧的参考样本的位移。参考样本可为被发现在像素差方面与CU的包含经译码PU的部分紧密匹配的块,像素差可通过绝对差总和(SAD)、平方差总和(SSD)或其它差异量度来确定。运动补偿单元44执行的运动补偿可包括基于运动估计确定的运动向量来取出或产生用于所述预测单元的值。再者,在一些实例中,运动估计单元42和运动补偿单元44可在功能上集成。
[0071]运动估计单元42通过将预测单元与存储在参考帧缓冲器64中的参考帧的参考样本比较来计算经帧间译码帧的预测单元的运动向量。在一些实例中,视频编码器20可计算存储在参考帧缓冲器64中的参考帧的子整数像素位置的值。举例来说,视频编码器20可计算四分之一像素位置、八分之一像素位置或参考帧的其它分数像素位置的值。因此,运动估计单元42可相对于整数像素位置和分数像素位置执行运动搜索且输出具有分数像素精度的运动向量。运动估计单元42将计算出来的运动向量发送到熵编码单元56和运动补偿单元44。参考帧的通过运动向量识别的部分可被称为参考样本。运动补偿单元44可例如通过检索通过PU的运动向量识别的参考样本来计算用于当前CU的预测单元的预测值。
[0072]作为运动估计单元42和运动补偿单元44执行的帧间预测的替代方案,帧内预测模块46可以对接收到的块进行帧内预测编码。帧内预测模块46可相对于相邻经先前译码块(例如,当前块的上方、右上方、左上方或左方的块)对接收到的块进行编码,假设块的编码次序为从左向右、从上向下。帧内预测模块46可配置有多种不同帧内预测模式。举例来说,帧内预测模块46可基于正被编码的CU的大小而配置有某个数目的方向预测模式,例如33种方向预测模式。
[0073]帧内预测模块46可例如通过计算各种帧内预测模式的误差值和选择产出最低误差值的模式来选择帧内预测模式。方向预测模式可包括用于组合空间相邻像素的值和向PU中的一个或一个以上像素位置应用所述组合值的功能。一旦已经计算了 PU中的所有像素位置的值,帧内预测模块46便可基于与待编码的接收到的块之间的像素差来计算所述预测模式的错误值。帧内预测模块46可继续测试帧内预测模式,直到发现得出可接受错误值的帧内预测模式为止。帧内预测模块46可接着将发送到求和器50。
[0074]视频编码器20通过从正被译码的原始视频块减去由运动补偿单元44或帧内预测模块46计算的预测数据来形成残余块。求和器50表示执行此减法运算的组件。残余块可对应于像素差值的二维矩阵,其中残余块中的值的数目与对应于所述残余块的I3U中的像素的数目相同。残余块中的值可对应于PU中的共置像素与待译码的原始块中的共置像素之间的差,即误差。所述差可为色度或明度差,这取决于经译码的块的类型。
[0075]变换模块52可从残余块形成一个或一个以上变换单元(TU)。变换模块52向TU应用变换,例如离散余弦变换(DCT)、方向变换或概念上类似的变换,从而产生包含变换系数的视频块。变换模块52可将所得变换系数发送到量化单元54。量化单元54可接着对变换系数进行量化。熵编码单元56可接着根据指定扫描次序对矩阵中的经量化变换系数执行扫描。本发明描述熵编码单元56执行所述扫描。然而,应理解,在其它实例中,其它处理单元(例如量化单元54)可执行所述扫描。
[0076]并非作为整体扫描残余变换系数块,本发明提出使用多区扫描次序。图5和6展示根据本发明的技术的多频区扫描的实例。参看图5,变换系数块61划分成多个频区(区O、区1,和区2)。变换系数块可通常认为是经变换信号的能量(poWer)在频域中的映射。一般来说,块的左上角表示较低频率中的能量,包含DC分量,且块的右下角表示频率中的能量。通常,信号的大部分能量含于块的较低频率部分内。通过将块划分成多个频区且接着一起扫描每一区中的变换系数,可较好地利用块的每一频区中的变换系数的相对相关,因此提供较好的熵译码效率。在一些实例中,所述区可被称为TU的“子块”(例如,TU叶节点的子单元)。
[0077]在于任何其它频区中扫描变换系数之前扫描特定频区中的所有变换系数。如图5中所示,每一区内的次序为水平扫描。整个块61的扫描将从区到区进行,其中每一区中的变换系数一起扫描。一个实例扫描次序如下:
[0078]区到区次序:扫描区O —扫描区I —扫描区2
[0079]每一区内的变换系数扫描成一维阵列100的区段。如图5中所示,来自区O的变换系数扫描成区段63,来自区I的变换系数扫描成区段64,且区2中的变换系数扫描成区段65。一维阵列100的对应于块61的特定区的区段可取决于所述区到区次序。S卩,一维阵列100的连续区段可对应于根据区到区扫描次序的块61中的连续区。
[0080]图6展示多频区扫描的另一实例。变换系数块66可划分成多个频区(区O、区1,和区2)。如图6中所不,每一区内的扫描次序为垂直扫描。每一区内的变换系数扫描成一维阵列101的对应区段。来自区O的变换系数扫描成区段67,来自区I的变换系数扫描成区段68,且区2中的变换系数扫描成区段69。一维阵列101的对应于块66的特定区的区段可取决于区到区次序。即,一维阵列101的连续区段可对应于根据区到区扫描次序的块66中的连续区。
[0081]图5和6展示其中将残余变换系数块划分成三个频区的实例。然而,本发明的技术适用于两个或两个以上的任何数目个区。区的数目可基于块大小、预测模式、运动信息,或其它视频译码特性。
[0082]图5和6的实例展不每一区内的扫描次序相同。在其它实例中,用于每一区的扫描次序可不同,且个别地加以选择。用于每一区的扫描次序可为任何扫描次序(例如,Z形、水平、垂直、对角线、自适应性的、这些次序的组合,或另一预定义或可调整的扫描次序)。从区到区的扫描次序可以不同方式基于块大小、预测模式和/或运动信息加以界定。此外,每一区中的扫描次序不需要以前向方向(即,从块/区的左上方到块/区的右下方)进行。举例来说,逆扫描方向(即,从块/区的右下方到块/区的左上方)可用于一些区。
[0083]每一区的形状和边界可基于块大小、预测模式和运动信息加以界定。举例来说,每一区边界的大小和角度可为基于块的大小和所使用的预测模式(例如,帧间预测、水平帧内预测、垂直预测,等)的预设确定。由此,每一区的形状和边界由视频解码器推断。在其它实例中,每一区的大小和形状可在经编码视频位流中发信号通知。
[0084]作为一个实例,对于如图5中所示的水平扫描,每一区边界与变换系数块的顶部线形成30度角。区O边界与块的顶部线的顶部交叉点最大为6或(W/4+2),其中W为块的宽度。区I边界与块的顶部线的顶部交叉点最小为(W/2+4)或W。在此实例中,6为适用于与此技术一起使用的最小块宽度。
[0085]对于图6中的垂直扫描实例,每一区边界与变换系数块的顶部线形成60度角。区O边界与块的顶部线的顶部交叉点最大为6或(H/4+2),其中H为块的高度。区I边界与块的顶部线的顶部交叉点最小为(H/2+4)或H。在此实例中,6为适用于与此技术一起使用的最小块闻度。
[0086]返回到图4,一旦扫描了变换系数,熵编码单元56便可将例如CAVLC、PIPE或CABAC等熵译码应用于所述系数。另外,熵编码单元56可对运动向量(MV)信息以及在视频解码器30处对视频数据进行解码时有用的多种语法元素中的任一者进行编码。语法元素可包含具有有效系数旗标(其指示特定系数是否有效(例如,非零))和最后一个有效系数旗标(其指示特定系数是否为最后一个有效系数)的有效性映射。视频解码器30可使用这些语法元素来重建经编码的视频数据。在熵编码单元56的熵译码之后,可将所得的经编码视频发射到另一装置,例如视频解码器30,或者将所述视频存档用于以后发射或检索。
[0087]逆量化单元58和逆变换模块60分别应用逆量化和逆变换以分别在像素域中重建残余块,例如以供稍后用作参考块。运动补偿单元44可通过将残余块相加到参考帧缓冲器64的帧中的一者的预测性块来计算参考块。运动补偿单元44还可将一个或一个以上内插滤波器应用于所重建的残余块以计算子整数像素值用于运动估计。求和器62将经重构的残余块添加到由运动补偿单元44产生的运动补偿预测块以产生经重构视频块用于存储在参考帧缓冲器64中。经重构视频块可由运动估计单元42和运动补偿单元44使用作为参考块以对后续视频帧中的块进行帧间译码。
[0088]图7是说明对经编码视频序列进行解码的视频解码器30的实例的框图。在图7的实例中,视频解码器30包含熵解码单元70、运动补偿单元72、帧内预测模块74、逆量化单元76、逆变换单元78、参考帧缓冲器82和求和器80。在一些实例中,视频解码器30可执行与相对于视频编码器20(图4)描述的编码遍次大体上互逆的解码遍次。
[0089]熵解码70在为由图4的熵编码单元56使用的过程的逆过程的过程中对经编码视频进行熵解码。运动补偿单元72可基于从熵解码单元70接收的运动向量产生预测数据。帧内预测模块74可基于发信号通知的帧内预测模式和来自当前帧的经先前解码块的数据产生用于当前帧的当前块的预测数据。
[0090]在一些实例中,熵解码单元70 (或逆量化单元76)可使用镜射视频编码器20的熵编码单元56 (或量化单元54)使用的扫描次序的扫描来扫描接收到的值。尽管可在逆量化单元76中执行系数的扫描,但出于说明的目的将把扫描描述成由熵解码单元70执行。另夕卜,尽管为了便于图解说明展示为单独的功能单元,但熵解码单元70、逆量化单元76和视频解码器30的其它单元的结构和功能性可彼此高度集成。
[0091]视频解码器30可从经编码位流接收识别由视频编码器20使用的扫描次序的信令。另外或替代地,所述扫描次序可由视频解码器30基于例如预测模式、块大小、变换或其它特性等经译码视频特性来推断。作为另一实例,视频编码器20和视频解码器30可对所有使用情况都使用预定扫描次序和上下文,且由此,将不需要经编码位流中的信令。视频30还可在经编码视频位流中接收指示供用于残余变换系数的2D阵列的频区的数目的信令。此外,视频解码器30还可在经编码视频位流中接收指示频区的形状和边界的信令。在其它实例中,可如上所述推断区的数目以及所述区的形状和边界。
[0092]不管以何方式确定扫描次序,熵解码单元70都使用扫描次序的逆次序来将ID向量扫描成2D阵列。根据本发明的技术,熵解码单元70可执行扫描过程,其将来自ID向量的区段的变换系数扫描成2D阵列的多个频区。此过程可为上文参考图5和6所描述的过程的逆过程。图8展示其中将ID向量102中的变换系数扫描成变换系数块81的一个实例。变换系数的第一区段83使用水平扫描扫描成块81的区O。同样,变换系数的第二部分84扫描成块81的区1,且变换系数的第三区段85扫描成块81的区2。用于解码过程中的扫描次序与用以对块进行编码的扫描次序相同。
[0093]图9展示使用垂直扫描次序的类似实例。将ID向量103中的变换系数扫描成变换系数块86。变换系数的第一区段87使用垂直扫描次序扫描成块86的区O。同样,变换系数的第二部分88扫描成块86的区1,且变换系数的第三区段89扫描成块86的区2。
[0094]由熵解码单元70产生的变换系数的2D阵列可经量化且可大体上匹配由视频编码器20的熵编码单元56扫描的变换系数的2D阵列以产生变换系数的ID向量。
[0095]逆量化单元76将在位流中提供且由熵解码单元70解码的经量化变换系数逆量化,即去量化。逆量化过程可包含常规过程,例如,类似于针对HEVC所提议的过程或H.264解码标准所定义的过程。所述逆量化过程可包含使用视频编码器20针对CU计算以确定量化程度和同样应应用的逆量化程度的量化参数QP。逆量化单元76可在将变换系数从ID向量转换为2D阵列之前或之后逆量化所述系数。
[0096]逆变换模块58应用逆变换,例如逆DCT、逆整数变换、逆KLT、逆旋转变换、逆方向变换,或另一逆变换。在一些实例中,逆变换模块78可基于来自视频编码器20的信令或通过根据例如块大小、译码模式等一个或一个以上译码特性推断变换来确定逆变换。在一些实例中,逆变换模块78可基于在用于包含当前块的LCU的四叉树的根节点处发信号通知的变换来确定将应用于当前块的变换。在一些实例中,逆变换模块78可应用级联的逆变换。
[0097]运动补偿单元72产生经运动补偿块,有可能基于内插滤波器执行内插。用于将用于以子像素精确度进行运动估计的内插滤波器的识别符可包括在语法元素中。运动补偿单元72可使用由视频编码器20在视频块的编码期间使用的内插滤波器来计算参考块的子整数像素的内插值。运动补偿单元72可根据接收的语法信息而确定由视频编码器20使用的内插滤波器且使用所述内插滤波器来产生预测性块。
[0098]在HEVC实例中,运动补偿单元72和帧内预测模块74可使用一些语法信息(例如,通过四叉树提供)来确定用于对经编码视频序列的帧进行编码的IXU的大小。运动补偿单元72和帧内预测模块74还可使用语法信息来确定分裂信息,所述分裂信息描述经编码视频序列的帧的每一 CU如何被分裂(以及同样,子CU如何被分裂)。语法信息还可包含指示每一分裂如何经编码的模式(例如,帧内或帧间预测,且对于帧内预测为帧内预测编码模式),用于每一经帧间编码的PU的一个或一个以上参考帧(和/或包含用于参考帧的识别符的参考列表)和用于对经编码视频序列进行解码的其它信息。
[0099]求和器80将残余块与由运动补偿单元72或帧内预测模块74产生的对应预测性块组合以形成经解码块。必要时,解块滤波器还可应用于对经解码块进行滤波以便移除成块假影。经解码视频块接着存储在参考帧缓冲器82中,参考帧缓冲器82提供参考块用于后续运动补偿,且还产生经解码视频用于呈现在显示装置(例如图3的显示装置32)上。
[0100]图10是说明用于对残余变换系数进行编码的实例视频编码过程的流程图。此方法可由图3的视频编码器20执行。视频编码器20可经配置以将残余变换系数块划分成多个区(105),确定用于所述多个区中的每一者的扫描次序(106),且根据所述多个区中的每一者的相应的所确定扫描次序对所述多个区中的每一者中的所述变换系数中的每一者执行扫描(107),由此产生残余变换系数的一维阵列。
[0101]在一个实例中,针对所述多个区中的一个区所确定的扫描次序不同于针对所述多个区中的其它区所确定的扫描次序。在另一实例中,所确定的次序对于所述多个区中的每一区是相同的。
[0102]在一个实例中,扫描为CABAC过程中的有效性映射扫描。在另一实例中,扫描为CABAC过程中的等级译码扫描。
[0103]将残余变换系数块划分成多个区的步骤105可包括基于块大小、预测模式或运动信息将残余变换系数块划分成多个区。所述多个区可采用任何形状。在一个实例中,所述多个区中的至少一者具有由边界线界定的三角形形状,所述边界线与残余变换系数块的顶部线具有交叉点且所述边界线相对于残余变换系数块的顶部线形成角度。
[0104]在区具有三角形形状的一个实例中,将残余变换系数块划分成多个区可包括将残余变换系数块划分成第一区、第二区和第三区。在针对第一区所确定的扫描次序为水平扫描次序的情况下,第一区具有第一边界线,其与残余变换系数块的顶部线具有由最大值6或(W/4+2)(其中W为残余变换系数块的宽度)界定的交叉点,第二区具有第二边界线,其与残余变换系数块的顶部线具有由最小值(W/2+4)或W界定的交叉点,且第一边界线与第二边界线相对于残余变换系数块的顶部线形成30°角。
[0105]在针对第一区所确定的扫描次序为垂直扫描次序的情况下,第一区具有第一边界线,其与残余变换系数块的顶部线具有由最大值6或(H/4+2)(其中H为残余变换系数块的高度)界定的交叉点,第二区具有第二边界线,其与残余变换系数块的顶部线具有由最小值(H/2+4)或H界定的交叉点,且第一边界线与第二边界线相对于残余变换系数块的顶部线形成60°角。[0106]图11是说明实例视频解码过程的流程图。图11的方法可由图3的视频解码器30执行。视频解码器30可经配置以接收残余变换系数的一维阵列(110),确定所述一维阵列的多个区段中的每一者的扫描次序(112),其中所述一维阵列的每一区段对应于界定残余变换系数块的多个区中的一者,且根据所述一维阵列的每一区段的相应所确定扫描次序对所述区段中的所述变换系数中的每一者执行扫描(114),由此产生所述残余变换系数块。
[0107]在一个或一个以上实例中,本发明中描述的功能可以用硬件、软件、固件或其任何组合来实施。如果用软件实施,则可通过基于硬件的处理单元(例如一个或一个以上处理器)来执行所述功能,所述处理单元用计算机可读指令或代码的形式执行所述软件。此类指令或代码可在计算机可读媒体上存储或传输,且由基于硬件的处理单元来执行。计算机可读媒体可包含计算机可读存储媒体,其对应于有形非暂时媒体,例如数据存储媒体,或包含任何促进将计算机程序从一处传送到另一处的媒体(例如,根据一种通信协议)的通信媒体。以此方式,计算机可读媒体大体上可对应于(I)有形计算机可读存储媒体,其是非暂时的,或(2)通信媒体,例如信号或载波。数据存储媒体可为可由一个或一个以上计算机或一个或一个以上处理器存取以检索用于实施本发明中描述的技术的指令、代码和/或数据结构的任何可用媒体。计算机程序产品可包含计算机可读媒体。
[0108]借助于实例而非限制,此类计算机可读存储媒体可包括RAM、ROM、EEPR0M、快闪存储器、CD-ROM或任何其它固态、光学或磁性数据存储媒体,包含光盘存储装置、磁盘存储装置或其它磁性存储装置,或任何其它可以用于以指令或数据结构的形式存储期望的程序代码且可由计算机存取的媒体。并且,可恰当地将任何连接称作计算机可读媒体。举例来说,如果使用同轴电缆、光纤缆线、双绞线、数字订户线(DSL)或例如红外线、无线电和微波等无线技术从网站、服务器或其它远程源传输指令,则同轴电缆、光纤缆线、双绞线、DSL或例如红外线、无线电和微波等无线技术包含在媒体的定义中。然而,应理解,有形计算机可读存储媒体和数据存储媒体并不包含连接、载波、信号或其它暂时性媒体,而实际上是针对非暂时性有形存储媒体。如本文所使用,磁盘和光盘包括压缩光盘(CD)、激光光盘、光学光盘、数字多功能光盘(DVD)、软性磁盘和蓝光光盘,其中磁盘通常以磁性方式再现数据,而光盘用激光以光学方式再现数据。以上各项的组合也应包含在计算机可读媒体的范围内。
[0109]指令可由一个或一个以上处理器执行,所述一个或一个以上处理器例如是一个或一个以上数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)、或其它等效的集成或离散逻辑电路。因此,术语“处理器”在本文中使用时可指前述结构或适合于实施本文中所描述的技术的任何其它结构中的任一者。另外,在一些方面中,本文所述的功能性可在经配置用于编码和解码的专用硬件和/或软件模块内提供,或并入在组合编解码器中。并且,可将所述技术完全实施于一个或一个以上电路或逻辑元件中。
[0110]本发明的技术可通过广泛多种装置或设备来执行,所述装置或设备包含桌上型计算机、笔记型(即,膝上型)计算机、平板计算机、机顶盒、电话手持机(例如所谓的智能电话)、电视、相机、显示装置、数字媒体播放器、视频游戏控制台等。在许多情况下,此些装置可经配备用于无线通信。另外,此些技术可以通过集成电路(IC)或一组IC(例如,芯片组)来实施。经配置以执行本发明的技术的装置可包含上述装置中的任一者,且在一些情况下,可为视频编码器或视频解码器或组合视频编码器-解码器,即视频编解码器,其可能通过硬件、软件和固件的组合形成。各种组件、模块或单元可在本发明中加以描述以强调经配置以执行所揭示的技术的装置的功能方面,但未必需要通过不同硬件单元实现。确切地说,如上文所描述,各种单元可结合合适的软件和/或固件组合在一个编解码器硬件单元中,或由互操作硬件单元的集合来提供,所述硬件单元包括如上文所描述的一个或一个以上处理器。
[0111]已描述各种实例。这些及其它实例在所附权利要求书的范围内。
【权利要求】
1.一种用于在视频编码过程中对变换系数进行编码的方法,其包括: 将变换系数块划分成多个区; 确定用于所述多个区中的每一者的扫描次序;以及 根据所述多个区中的每一者的相应的所确定扫描次序对所述多个区中的每一者中的所述变换系数中的每一者执行扫描以产生变换系数的一维阵列。
2.根据权利要求1所述的方法,其中针对所述多个区中的一个区所确定的所述扫描次序不同于针对所述多个区中的其它区所确定的所述扫描次序。
3.根据权利要求1所述的方法,其中所述所确定的扫描次序对于所述多个区中的每一区是相同的。
4.根据权利要求1所述的方法,其中所述扫描是上下文自适应二进制算术译码CABAC过程中的有效性映射扫描。
5.根据权利要求1所述的方法,其中将所述变换系数块划分成多个区包括基于块大小、预测模式或运动信息将所述变换系数块划分成多个区。
6.根据权利要求1所述的方法,其中所述扫描次序为以下各者中的一者:前向水平扫描、前向垂直扫描、前向对角线扫描、逆水平扫描、逆垂直扫描,和逆对角线扫描。
7.根据权利要求1所述的方法,其中所述多个区中的至少一者具有由边界线界定的三角形形状,所述边界线与所述变换系数块的顶部线具有交叉点且所述边界线相对于所述变换系数块的所述顶部线 形成角度。
8.根据权利要求1所述的方法,其中将所述变换系数块划分成多个区包括将所述变换系数块划分成第一区、第二区,和第三区。
9.根据权利要求8所述的方法,其中针对所述第一区所确定的所述扫描次序为水平扫描次序, 其中所述第一区具有第一边界线,其与所述变换系数块的所述顶部线具有由最大值6或(W/4+2)界定的交叉点,其中W为所述变换系数块的宽度, 其中所述第二区具有第二边界线,其与所述变换系数块的所述顶部线具有由最小值(W/2+4)或W界定的交叉点,且 其中所述第一边界线与所述第二边界线相对于所述变换系数块的所述顶部线形成30。角。
10.根据权利要求8所述的方法,其中针对所述第一区所确定的所述扫描次序为垂直扫描次序, 其中所述第一区具有第一边界线,其与所述变换系数块的所述顶部线具有由最大值6或(H/4+2)界定的交叉点,其中H为所述变换系数块的高度, 其中所述第二区具有第二边界线,其与所述变换系数块的所述顶部线具有由最小值(H/2+4)或H界定的交叉点,且 其中所述第一边界线与所述第二边界线相对于所述变换系数块的所述顶部线形成60。角。
11.一种用于在视频解码过程中对变换系数进行解码的方法,其包括: 接收变换系数的一维阵列; 确定所述一维阵列的多个区段中的每一者的扫描次序,其中所述一维阵列的每一区段对应于界定变换系数块的多个区中的一者;以及 根据所述一维阵列的每一区段的相应所确定扫描次序对所述区段中的所述变换系数中的每一者执行扫描以产生所述变换系数块。
12.根据权利要求11所述的方法,其中针对所述一维阵列的一个区段所确定的所述扫描次序不同于针对一维阵列的其它区段所确定的所述扫描次序。
13.根据权利要求11所述的方法,其中所述所确定的扫描次序对于所述一维阵列的每一区段是相同的。
14.根据权利要求11所述的方法,其中所述扫描为上下文自适应二进制算术译码CABAC过程中的有效性映射扫描。
15.根据权利要求11所述的方法,其中所述变换系数块的所述多个区是基于块大小、预测模式,或运动信息。
16.根据权利要求11所述的方法,其中所述扫描次序为以下各者中的一者:前向水平扫描、前向垂直扫 描、前向对角线扫描、逆水平扫描、逆垂直扫描,和逆对角线扫描。
17.根据权利要求11所述的方法,其中所述多个区中的至少一者具有由边界线界定的三角形形状,所述边界线与所述变换系数块的顶部线具有交叉点且所述边界线相对于所述变换系数块的所述顶部线形成角度。
18.根据权利要求11所述的方法,其中变换系数的所述一维阵列具有三个区段,且其中所述多个区包含第一区、第二区,和第三区。
19.根据权利要求18所述的方法,其中针对对应于所述第一区的所述区段所确定的所述扫描为水平扫描次序, 其中所述第一区具有第一边界线,其与所述变换系数块的所述顶部线具有由最大值6或(W/4+2)界定的交叉点,其中W为所述变换系数块的宽度, 其中所述第二区具有第二边界线,其与所述变换系数块的所述顶部线具有由最小值(W/2+4)或W界定的交叉点,且 其中所述第一边界线与所述第二边界线相对于所述变换系数块的所述顶部线形成30。角。
20.根据权利要求18所述的方法,其中针对对应于所述第一区的所述区段所确定的所述扫描次序为垂直扫描次序, 其中所述第一区具有第一边界线,其与所述变换系数块的所述顶部线具有由最大值6或(H/4+2)界定的交叉点,其中H为所述变换系数块的高度, 其中所述第二区具有第二边界线,其与所述变换系数块的所述顶部线具有由最小值(H/2+4)或H界定的交叉点,且 其中所述第一边界线与所述第二边界线相对于所述变换系数块的所述顶部线形成60。角。
21.—种经配置以在视频编码过程中对变换系数进行编码的设备,其包括: 视频编码器,其经配置以: 将变换系数块划分成多个区; 确定用于所述多个区中的每一者的扫描次序;以及 根据所述多个区中的每一者的相应的所确定扫描次序对所述多个区中的每一者中的所述变换系数中的每一者执行扫描以产生变换系数的一维阵列。
22.根据权利要求21所述的设备,其中针对所述多个区中的一个区所确定的所述扫描次序不同于针对所述多个区中的其它区所确定的所述扫描次序。
23.根据权利要求21所述的设备,其中所述所确定的扫描次序对于所述多个区中的每一区是相同的。
24.根据权利要求21所述的设备,其中所述扫描是上下文自适应二进制算术译码CABAC过程中的有效性映射扫描。
25.根据权利要求21所述的设备,其中所述视频编码器进一步经配置以基于块大小、预测模式或运动信息将所述变换系数块划分成多个区。
26.根据权利要求21所述的设备,其中所述扫描次序为以下各者中的一者:前向水平扫描、前向垂直扫描、前向对角线扫描、逆水平扫描、逆垂直扫描,和逆对角线扫描。
27.根据权利要求21所述的设备,其中所述多个区中的至少一者具有由边界线界定的三角形形状,所述边界线与所述变换系数块的顶部线具有交叉点且所述边界线相对于所述变换系数块的所述顶部线形成角度。
28.根据权利要求21所述的设备,其中所述视频编码器进一步经配置以将所述变换系数块划分成第一区、第二区和第三区。
29.根据权利要求28所述的设备,其中针对所述第一区所确定的所述扫描次序为水平扫描次序, 其中所述第一区具有第一边界线,其与所述变换系数块的所述顶部线具有由最大值6或(W/4+2)界定的交叉点,其中W为所述变换系数块的宽度,` 其中所述第二区具有第二边界线,其与所述变换系数块的所述顶部线具有由最小值(W/2+4)或W界定的交叉点,且 其中所述第一边界线与所述第二边界线相对于所述变换系数块的所述顶部线形成30。角。
30.根据权利要求28所述的设备,其中针对所述第一区所确定的所述扫描次序为垂直扫描次序, 其中所述第一区具有第一边界线,其与所述变换系数块的所述顶部线具有由最大值6或(H/4+2)界定的交叉点,其中H为所述变换系数块的高度, 其中所述第二区具有第二边界线,其与所述变换系数块的所述顶部线具有由最小值(H/2+4)或H界定的交叉点,且 其中所述第一边界线与所述第二边界线相对于所述变换系数块的所述顶部线形成60。角。
31.根据权利要求21所述的设备,其中所述视频编码器为移动装置的部分且包括一个或一个以上处理器。
32.—种经配置以在视频解码过程中对变换系数进行解码的设备,其包括: 视频解码器,其经配置以: 接收变换系数的一维阵列; 确定所述一维阵列的多个区段中的每一者的扫描次序,其中所述一维阵列的每一区段对应于界定变换系数块的多个区中的一者;以及根据所述一维阵列的每一区段的相应所确定扫描次序对所述区段中的所述变换系数中的每一者执行扫描以产生所述变换系数块。
33.根据权利要求32所述的设备,其中针对所述一维阵列的一个区段所确定的所述扫描次序不同于针对一维阵列的其它区段所确定的所述扫描次序。
34.根据权利要求32所述的设备,其中所述所确定的扫描次序对于所述一维阵列的每一区段是相同的。
35.根据权利要求32所述的设备,其中所述扫描是上下文自适应二进制算术译码CABAC过程中的有效性映射扫描。
36.根据权利要求32所述的设备,其中所述变换系数块的所述多个区是基于块大小、预测模式或运动信息。
37.根据权利要求32所述的设备,其中所述扫描次序为以下各者中的一者:前向水平扫描、前向垂直扫描、前向对角线扫描、逆水平扫描、逆垂直扫描,和逆对角线扫描。
38.根据权利要求32所述的设备,其中所述多个区中的至少一者具有由边界线界定的三角形形状,所述边界线与所述变换系数块的顶部线具有交叉点且所述边界线相对于所述变换系数块的所述顶部线形成角度。
39.根据权利要求32所述的设备,其中变换系数的所述一维阵列具有三个区段,且其中所述多个区包含第一区、第二区,和第三区。
40.根据权利要求39所述的设备,其中针对对应于所述第一区的所述区段所确定的所述扫描次序为水平扫描次序, 其中所述第一区具有第一边界线,其与所述变换系数块的所述顶部线具有由最大值6或(W/4+2)界定的交叉点,其中W为所述变换系数块的宽度, 其中所述第二区具有第二边界线,其与所述变换系数块的所述顶部线具有由最小值(W/2+4)或W界定的交叉点,且 其中所述第一边界线与所述第二边界线相对于所述变换系数块的所述顶部线形成30。角。
41.根据权利要求39所述的设备,其中针对对应于所述第一区的所述区段所确定的所述扫描次序为垂直扫描次序, 其中所述第一区具有第一边界线,其与所述变换系数块的所述顶部线具有由最大值6或(H/4+2)界定的交叉点,其中H为所述变换系数块的高度, 其中所述第二区具有第二边界线,其与所述变换系数块的所述顶部线具有由最小值(H/2+4)或H界定的交叉点,且 其中所述第一边界线与所述第二边界线相对于所述变换系数块的所述顶部线形成60。角。
42.根据权利要求32所述的设备,其中所述视频解码器为移动装置的部分且包括一个或一个以上处理器。
43.一种经配置以在视频编码过程中对变换系数进行编码的设备,其包括: 用于将变换系数块划分成多个区的装置; 用于确定用于所述多个区中的每一者的扫描次序的装置;以及 用于根据所述多个区中的每一者的相应的所确定扫描次序对所述多个区中的每一者中的所述变换系数中的每一者执行扫描以产生变换系数的一维阵列的装置。
44.一种经配置以在视频解码过程中对变换系数进行解码的设备,其包括: 用于接收变换系数的一维阵列的装置; 用于确定所述一维阵列的多个区段中的每一者的扫描次序的装置,其中所述一维阵列的每一区段对应于界定变换系数块的多个区中的一者;以及 用于根据所述一维阵列的每一区段的相应所确定扫描次序对所述区段中的所述变换系数中的每一者执行扫描以产生所述变换系数块的装置。
45.一种包括包含指令的计算机可读存储媒体的计算机程序产品,所述指令在执行时致使用于视频编码的装置的处理器: 将变换系数块划分成多个区; 确定用于所述多个区中的每一者的扫描次序;以及 根据所述多个区中的每一者的相应的所确定扫描次序对所述多个区中的每一者中的所述变换系数中的每一者执行扫描以产生变换系数的一维阵列。
46.一种包括包含指令的计算机可读存储媒体的计算机程序产品,所述指令在执行时致使用于视频解码的装置的处理器: 在接收到变换系数的一维阵列之后,即刻 确定所述一维阵列的多个区段中的每一者的扫描次序,其中所述一维阵列的每一区段对应于界定变换系数块的多个区中的一者;以及 根据所述一维阵列的每一区段的`相应所确定扫描次序对所述区段中的所述变换系数中的每一者执行扫描以产生所述变换系数块。
【文档编号】H04N19/13GK103636223SQ201280031944
【公开日】2014年3月12日 申请日期:2012年6月29日 优先权日:2011年6月29日
【发明者】郑云非, 翔林·王, 马尔塔·卡切维奇 申请人:高通股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1