在视频译码中的系数扫描的制作方法

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

【发明内容】

[0006]一股来说,本发明描述用于在视频译码过程中译码与残余视频数据的块相关联的变换系数的装置和方法。在译码期间,可将变换系数的块划分成子集,所述子集可采取多个子块的形式。接着可扫描和译码所述子块。举例来说,关于视频编码器,可扫描来自所述子块的变换系数的二维阵列以形成变换系数的一维阵列,接着编码所述变换系数。关于视频解码器,可接收和解码变换系数的一维阵列,且接着使用所述系数来重建构二维子块。[0007]本发明的技术大体上涉及扫描和译码变换系数的子块。举例来说,如本文中所描述,系数扫描次序可描述在残余数据的块的子块内扫描和译码变换系数的次序。子块扫描次序可描述扫描和译码子块自身的次序。根据本发明的方面,系数扫描次序可具有与子块扫描次序(即,扫描子块的次序)相同的定向,以接着在残余数据的块内扫描每一子块内的系数。即,根据本发明的方面,所述子块扫描次序的扫描型样/方向/次序可匹配每一子块内的系数扫描次序的扫描型样/方向/次序。或者或另外,本发明的技术包含基于多种准则适应性地确定系数扫描次序和/或子块扫描次序。因此,在一些实例中,系数扫描次序可不同于子块扫描次序。
[0008]在实例中,本发明的方面涉及一种在视频解码过程中解码变换系数的方法,所述方法包括:解码变换系数的一维阵列;以及根据子块扫描次序和系数扫描次序执行对变换系数的一维阵列的扫描以产生变换系数的块,其中子块扫描次序包括扫描块内的多个子块中的每一子块的次序,且其中系数扫描次序包括扫描对应于多个子块中的每一子块的变换系数的次序。
[0009]在另一实例中,本发明的方面涉及一种用于在视频解码过程中解码变换系数的设备,所述设备包括经配置以执行以下步骤的一个或一个以上处理器:解码变换系数的一维阵列;以及根据子块扫描次序和系数扫描次序执行对变换系数的一维阵列的扫描以产生变换系数的块,其中子块扫描次序包括扫描块内的多个子块中的每一子块的次序,且其中系数扫描次序包括扫描对应于多个子块中的每一子块的变换系数的次序。
[0010]在另一实例中,本发明的方面涉及一种用于在视频解码过程中解码变换系数的设备,所述设备包括:用于解码变换系数的一维阵列的装置;以及用于根据子块扫描次序和系数扫描次序执行对变换系数的一维阵列的扫描以产生变换系数的块的装置,其中子块扫描次序包括扫描块内的多个子块中的每一子块的次序,且其中系数扫描次序包括扫描对应于多个子块中的每一子块的变换系数的次序。
[0011 ] 在另一实例中,本发明的方面涉及一种计算机可读存储媒体,其上存储有在执行时使一个或一个以上处理器执行以下步骤的指令:解码变换系数的一维阵列;以及根据子块扫描次序和系数扫描次序执行对变换系数的一维阵列的扫描以产生变换系数的块,其中子块扫描次序包括扫描块内的多个子块中的每一子块的次序,且其中系数扫描次序包括扫描对应于多个子块中的每一子块的变换系数的次序。
[0012]在另一实例中,本发明的方面涉及一种用于在视频编码过程中编码变换系数的方法,所述方法包括:将变换系数的块划分成多个子块;根据子块扫描次序和系数扫描次序执行对变换系数的块的扫描以产生变换系数的一维阵列,其中子块扫描次序包括扫描多个子块中的每一者的次序,且其中系数扫描次序包括扫描多个子块中的每一者内的变换系数的次序;以及编码变换系数的一维阵列。
[0013]在另一实例中,本发明的方面涉及一种用于在编码过程中编码变换系数的设备,所述设备包括经配置以执行以下步骤的一个或一个以上处理器:将变换系数的块划分成多个子块;根据子块扫描次序和系数扫描次序执行对变换系数的块的扫描以产生变换系数的一维阵列,其中子块扫描次序包括扫描多个子块中的每一者的次序,且其中系数扫描次序包括扫描多个子块中的每一者内的变换系数的次序;以及编码变换系数的一维阵列。
[0014]在另一实例中,本发明的方面涉及一种用于在视频编码过程中编码变换系数的设备,所述设备包括:用于将变换系数的块划分成多个子块的装置;用于根据子块扫描次序和系数扫描次序执行对变换系数的块的扫描以产生变换系数的一维阵列的装置,其中子块扫描次序包括扫描多个子块中的每一者的次序,且其中系数扫描次序包括扫描多个子块中的每一者内的变换系数的次序;以及用于编码变换系数的一维阵列的装置。
[0015]在另一实例中,本发明的方面涉及一种计算机可读存储媒体,其上存储有在执行时使一个或一个以上处理器执行以下步骤的指令:将变换系数的块划分成多个子块;根据子块扫描次序和系数扫描次序执行对变换系数的块的扫描以产生变换系数的一维阵列,其中子块扫描次序包括扫描多个子块中的每一者的次序,且其中系数扫描次序包括扫描多个子块中的每一者内的变换系数的次序;以及编码变换系数的一维阵列。
[0016]一个或一个以上实例的细节阐述于随附图式和以下描述中。其它特征、目标和优点将从描述和图式以及从权利要求书显而易见。
【专利附图】

【附图说明】
[0017]图1为说明可经配置以执行本发明的技术的实例视频译码系统的框图。
[0018]图2为说明可经配置以执行本发明的技术的实例视频编码器的框图。
[0019]图3为说明可经配置以执行本发明的技术的实例视频解码器的框图。
[0020]图4为说明有效性映射译码过程的概念图。
[0021]图5A为说明用于变换系数译码的实例扫描型样和方向的概念图。
[0022]图5B为说明用于变换系数译码的实例扫描型样和方向的另一概念图。
[0023]图5C为说明用于变换系数译码的实例扫描型样和方向的另一概念图。
[0024]图为说明用于变换系数译码的实例扫描型样和方向的另一概念图。
[0025]图5E为说明用于变换系数译码的实例扫描型样和方向的另一概念图。
[0026]图5F为说明用于变换系数译码的实例扫描型样和方向的另一概念图。
[0027]图6为说明视频数据的块的变换系数的上下文自适应译码的实例的概念图。
[0028]图7为说明将变换系数的块划分成子块的实例的概念图。
[0029]图8A为说明经划分成子块的变换系数的块的实例Z字形子块扫描次序的概念图。
[0030]图SB为说明经划分成子块的变换系数的块的实例水平子块扫描次序的概念图。
[0031]图SC为说明经划分成子块的变换系数的块的实例垂直子块扫描次序的概念图。
[0032]图8D为说明经划分成子块的变换系数的块的实例对角线子块扫描次序的概念图。
[0033]图SE为说明经划分成子块的变换系数的块的实例对角线子块扫描次序的概念图,其为图8D中所展示的扫描的逆向扫描。
[0034]图9A和9B说明子块的变换系数的实例对角线系数扫描次序和子块的对角线子块扫描次序。
[0035]图1OA和IOB说明相对于图9A和9B中所展示的扫描的子块的变换系数的实例逆向对角线系数扫描次序和子块的逆向对角线子块扫描次序。
[0036]图1lA和IlB说明子块的变换系数的实例逆向垂直系数扫描次序和子块的逆向垂直子块扫描次序。
[0037]图12A和12B说明子块的变换系数的实例逆向水平系数扫描次序和子块的逆向水平子块扫描次序。
[0038]图13为说明对视频数据的子块的变换系数进行上下文自适应译码的实例的概念图。
[0039]图14为说明对视频数据的子块的变换系数进行上下文自适应译码的另一实例的概念图。
[0040]图15为说明根据本发明的技术的实例视频编码过程的流程图。
[0041]图16为说明根据本发明的技术的实例视频解码过程的流程图。
[0042]图17为说明用于对视频数据的子块的变换系数进行上下文自适应译码的实例方法的流程图。
【具体实施方式】
[0043]视频译码装置可通过利用空间和时间冗余来压缩视频数据。举例来说,视频编码器可通过相对于相邻的先前经译码块而译码视频数据的块来利用空间冗余。同样地,视频编码器可通过相对于先前经译码图片(还称为图片)的视频数据而译码视频数据的块来利用时间冗余。明确地说,视频编码器可从空间相邻者的数据或从先前经译码图片的数据预测当前块。视频编码器接着可将块的残余计算为块的实际像素值与块的经预测像素值之间的差。即,块的残余可包含在像素(或空间)域中的逐像素差值。
[0044]因此,为了译码块(例如,视频数据的预测单元),首先导出块的预测值。可经由帧内⑴预测(即,空间预测)或帧间(P或B)预测(即,时间预测)导出预测值(还称为预测性块)。因此,可使用相对于同一图片(或切片)中的相邻参考块中的参考样本的空间预测来帧内译码(I) 一些预测单元,且可相对于其它先前经译码图片(或切片)中的参考样本的参考块来单向帧间译码(P)或双向帧间译码(B)其它预测单元。参考样本可包含参考块中的实际像素和/或(例如)通过内插产生的合成的参考样本。在每一情况下,参考样本可用以形成待译码的块的预测性块。
[0045]为了进一步压缩块的残余值,视频编码器可将残余值变换成将尽可能多的数据(还被称为“能量”)压紧成尽可能少的系数的变换系数集合。变换(例如)使用离散余弦变换(DCT)、整数变换、卡忽南拉维(Karhunen-Loeve,K-L)变换或另一变换将残余值从空间域中的像素等级(例如,明度和/或色度等级)转换到变换域中的变换系数。变换系数对应于大小通常与原始块相同的二维变换系数矩阵。换句话说,通常存在恰好与原始块中的像素一样多的变换系数。然而,由于变换,变换系数中的许多变换系数可具有等于零的值。
[0046]视频编码器接着可量化变换系数以进一步压缩视频数据。量化大体上涉及将相对大范围内的值映射到相对小范围中的值,因此减少表示经量化变换系数所需要的数据量。视频编码器可通过根据预定义算法应用量化参数(QP)来量化变换系数。在量化之后,变换系数中的一些变换系数可具有零值。另外,在例如变换跳跃模式的某些视频译码模式中,变换可不存在且可将量化直接应用于预测残余。
[0047]熵译码器接着将熵译码(例如,上下文自适应可变长度译码(CAVLC)、上下文自适应二进制算术译码(CABAC)、概率间隔分割熵译码(PIPE)或其类似者)应用于经量化变换系数。为了熵译码经量化变换系数的块,通常执行扫描过程使得根据特定扫描次序将块中的经量化变换系数的二维(2D)阵列重布置成变换系数的有序一维(ID)阵列(即,向量)。将熵译码应用于变换系数的向量。经量化变换系数的扫描使变换系数的2D阵列串行化以用于熵译码器。
[0048]根据一些实例,可在编码变换系数的值(其可被称为变换系数的“等级”)之前编码视频块中的有效系数(即,非零变换系数)的位置。译码有效系数的位置的过程可被称为有效性映射译码。有效性映射包含指示有效系数的位置的二进制值的二维阵列。
[0049]举例来说,视频数据的块的有效性映射可包含1和0的2D阵列,其中1指示块内的有效变换系数的位置,且0指示块内的非有效(零值)变换系数的位置。1和0可被称为“有效系数旗标”。另外,在一些实例中,有效性映射可包含1和0的另一 2D阵列,其中1指示根据与块相关联的扫描次序在块内的最后有效系数的位置,且0指示块内的所有其它系数的位置。在此情况下,1和0被称为“最后有效系数旗标”。在其它实例中,不使用这些最后有效系数旗标。更确切来说,可在发送有效性映射的剩余部分之前首先译码块中的最后有效系数。在任何情况下,视频数据的块的有效性映射译码可消耗用以译码块的显著百分比的视频位速率。
[0050]在扫描、译码有效性映射之后,视频译码器可扫描和译码每一变换系数的等级。举例来说,视频译码器可将每一非零变换系数的绝对值(即,等级)转换成二进制形式。以此方式,可(例如)使用一元码或其它码产生一个或一个以上位或“二进位(bin)”以表示变换系数来使每一非零变换系数的等级“二进制化”。另外,可包含数个其它二进制化的语法元素以允许视频解码器解码视频数据。
[0051]在一些实例中,有效性映射的扫描次序可不同于系数等级的扫描次序。在其它实例中,可协调变换系数的扫描次序使得系数等级的扫描与有效性映射的扫描相同,即,扫描方向和扫描型样相同。另外,如上文所注明,可反向执行针对系数等级和有效系数的扫描,即,如从块中的最后有效系数进行到块中的第一系数(DC分量)的反向扫描。为了促进反向扫描,视频译码器可在扫描之前识别最后有效系数。一旦识别到块中的最后有效系数,那么可针对有效性映射和系数等级两者应用反向扫描次序。
[0052]在扫描之后,由于较高频率下的减少的能量且由于可使一些非零系数在位深度减小之后变为零值系数的量化效应,通常将取决于扫描方向而在1D阵列的一端处对数个零系数进行分组。可在熵译码器设计中利用串行化的1D阵列中的系数分布的这些特性以改进译码效率。换句话说,如果非零系数可经由某一适当扫描次序有效地布置于1D阵列的一部分中,那么由于许多熵译码器的设计可预期优选译码效率。举例来说,熵译码可译码一连串零值系数,从而提供更有效率的符号以用于译码。
[0053]作为实例,在将DCT应用于变换系数时,常常存在非零系数接近2D变换单元的左上角(即,低频率区)的较高概率。因此,如果从左上角开始扫描变换系数,那么熵译码效率可能增加,此情形可增加在串行化的一连串系数的相对开始处将非零系数分组在一起的概率。另外,可接近串行化阵列的彼端将零值系数分组在一起,此情形可增加熵译码效率。
[0054]在所提议的HEVC标准中采用对角线(或波前)扫描次序以用于扫描经量化变换系数。如上文所提及,对于变换为DCT的实例,经由变换和量化,非零变换系数可位于接近块的左上区的低频率区域处。结果,在可首先遍历左上区的对角线扫描过程之后,非零变换系数可更有可能位于1D阵列之前部分中。对于首先从右下区遍历的对角线扫描过程,非零变换系数通常更有可能位于1D阵列之后部分中。[0055]虽然上文的实例涉及对角线扫描以实现将更多非零系数置于ID阵列的一端处的目标,但可在视频译码器(例如,视频编码器或视频解码器)译码变换系数时使用不同扫描次序。在一些情况下,对角线扫描可为有效的。在其它情况下,例如Z字形、垂直或水平扫描的不同类型的扫描可更为有效。所实施的特定扫描可取决于各种准则,例如速率失真度量。
[0056]可以多种方式产生不同扫描次序。一个实例为,对于变换系数的每一块,可从数个可用扫描次序选择“最佳”扫描次序。视频编码器接着可针对每一块将通过相应索引表示的一组扫描次序当中的最佳扫描次序的索引的指示提供到解码器。可通过应用若干扫描次序和选择在将非零系数置于ID向量的开始或结尾附近方面最有效的扫描次序来确定最佳扫描次序的选择,从而促进有效率的熵译码。
[0057]在另一实例中,可基于与相关预测单元的译码有关的各种因素(例如,预测模式(1、B、P)、块大小、变换或其它因素)确定当前块的扫描次序。在一些情况下,因为可在编码器侧和解码器侧两者处推断相同信息(例如,预测模式),所以可能不需要将扫描次序索引的指示提供到解码器。而事实上,视频解码器可存储在知晓块的预测模式情况下指示适当扫描次序的配置数据和将预测模式映射到特定扫描次序的一个或一个以上准则。
[0058]为了进一步改进译码效率,可用扫描次序可能并非总是恒定的。而事实上,可启用某一调适使得(例如)基于已译码的系数来适应性地调整扫描次序。一股来说,可以特定方式进行扫描次序调适使得根据选定扫描次序,零系数和非零系数更有可能分组在一起。
[0059]在一些视频译码器中,初始可用扫描次序可呈极规则形式,例如纯水平、垂直、对角线或Z字形扫描。或者,扫描次序可经由训练过程导出且因此可看似有些随机。训练过程可涉及将不同扫描次序应用于块或一系列块,以识别(例如)在非零值系数和零值系数的有效放置方面产生合乎需要的结果的扫描次序,如上文所提及。
[0060]如果从训练过程导出扫描次序或如果可选择多种不同扫描次序,那么可在编码器侧和解码器侧两者处存储特定扫描次序。指定这些扫描次序的数据量可为相对大的。举例来说,对于32X32变换块,扫描次序可含有1024个变换系数位置。因为可存在不同大小的块且对于变换块的每一大小可存在数个不同扫描次序,所以需要节省的总数据量不可忽略。
[0061]相比之下,例如对角线、水平、垂直或Z字形次序的规则扫描次序可不需要存储,或可需要最少存储。然而,例如前向水平或垂直扫描的规则扫描将从左方或顶部一直到右方或底部来扫描行/列,接着返回到左方或顶部以扫描下一行/列。对于大块,扫描次序的此类“强”定向可能效率不高,这是因为在行/列的结尾处的变换系数与下一行/列的开始处的变换系数之间可存在极小相关。
[0062]在一些实例中,为了改进效率和/或简化实施,可将变换系数的块划分成子集,所述子集可采取多个子块的形式。举例来说,对于软件或硬件视频译码器来说,对例如32 X 32的大块实施Z字形或对角线扫描可为负担重的(例如,计算效率低的)。因此,在将块划分成子块之后,接着可扫描和译码子块。关于视频编码器,可扫描来自子块的变换系数的二维阵列以形成变换系数的一维阵列,接着编码所述变换系数。关于视频解码器,可接收且解码变换系数的一维阵列,接着使用所述系数来重建构二维子块。
[0063]本发明的技术大体上涉及扫描和译码变换系数的子块。举例来说,如本文中所描述,系数扫描次序可描述在子块内扫描和译码变换系数的次序。子块扫描次序可描述扫描和译码子块自身的次序。根据本发明的方面,系数扫描次序可具有与子块扫描次序相同的定向。举例来说,如本文中所描述,扫描定向可大体上指代扫描方向、型样或总扫描次序。即,Z字形型样(例如,如关于图5A所展示和描述)可被称为具有Z字形定向。另外,方向为对角线的扫描(例如,如关于图OT-5F所展示和描述)可被称为具有对角线定向。根据本发明的方面,子块扫描次序的定向可匹配系数扫描次序的定向。
[0064]举例来说,根据本发明的方面,视频译码器可将大于预定子块大小的块再分成子块。在一些实例中,视频译码器可将块划分成4 X 4子块,但还可使用多种其它子块大小(例如,2X2、8X8、16X16等等)。如果视频译码器针对图片(或切片)的所有块使用相同子块大小,那么可由于子块大小的均匀性在硬件实施方面实现增益。然而,均匀子块大小并非进行本发明的技术所必要的。
[0065]在将变换系数的块划分成子块之后,视频译码器可按系数扫描次序扫描子块的变换系数,以及按子块扫描次序扫描子块自身。根据本发明的方面,系数扫描次序和子块扫描次序可具有相同定向(例如,相同扫描型样、方向或次序)。即,例如,视频译码器可按系数扫描次序以对角线方式扫描子块的变换系数中的每一者(例如,包含有效性、正负号、等级等等)。视频译码器还可按子块扫描次序跨越子块以对角线方式进行扫描。为了说明,扫描子块的次序可指定:首先扫描子块内的系数,其次接着扫描第二子块内的系数,等等,而系数扫描的次序指定扫描给定子块内的系数的次序。
[0066]在其它实例中,根据本发明的方面,系数扫描次序可不同于子块扫描次序。S卩,例如,视频译码器可执行对角线子块扫描次序和Z字形系数扫描次序。如下文更详细所描述,视频译码器可基于(例如)速率失真度量适应性地确定子块和系数扫描次序。
[0067]在一些实例中,视频译码器可逆向地执行扫描。另外,根据一些方面,视频译码器可顺序地扫描和译码子块。即,视频译码器可在按子块扫描次序移到下一子块之前按系数扫描次序扫描和译码当前子块的变换系数。
[0068]本发明的方面还涉及使用子块自适应扫描次序执行扫描(例如,CABAC中的有效性映射扫描或系数等级扫描)以用于熵译码。在一个实例中,对于相对大的块大小(例如,32 X 32或16 X 16块大小),可代替强水平和垂直扫描次序而使用子块自适应扫描次序,如上文所描述。然而,以下技术可用于可再分的任何大小块。如上文所注明,自适应扫描可帮助将块的非零变换系数分组在一起。
[0069]在一些实例中,将变换系数的块划分成子块可在子块内建立上下文相依性(例如,在使用上下文熵译码时)。举例来说,在使用对角线扫描在子块内进行扫描时,子块内的左上系数的上下文可取决于经处理的先前系数(例如,定位于当前变换系数下方的变换系数)。上下文相依性可在熵译码时强加不合需要的延迟。为了避免此相依性且因此增强并行化,本发明的方面涉及修改可导出上下文的位置,所述位置可被称为上下文支持邻域。举例来说,本发明的技术包含确定移除两个连续系数的相依性的上下文支持邻域,从而允许视频译码器并行地处理两个二进位。在一些实例中,相依性移除可从两个连续系数增加到三个、四个或四个以上连续系数。在那些状态下,可修改每一位置处的上下文支持邻域以在给定特定扫描次序的情况下在邻域中移除上下文相依性。
[0070]图1为说明根据本发明的实例的实例视频编码和解码系统10的框图,所述视频编码和解码系统10可经配置以利用用于译码变换系数的技术。如图1中所展示,系统10包含经由通信信道16将经编码视频发射到目的地装置14的源装置12。经编码视频还可存储于存储媒体34或文件服务器36上且可在需要时通过目的地装置14存取。源装置12和目的地装置14可包括广泛多种装置中的任一者,包含台式计算机、笔记型(即,膝上型)计算机、平板计算机、机顶盒、例如所谓的智能电话的电话手机、电视、摄像机、显示装置、数字媒体播放器、视频游戏控制台或其类似者。在许多情况下,可配备这些装置以用于无线通信。
[0071]因此,通信信道16可包括适合用于经编码视频数据的发射的无线信道、有线信道或无线和有线信道的组合,例如射频(RF)频谱或一个或一个以上物理发射线,或无线和有线媒体的任何组合。通信信道16可形成基于包的网络(例如,局域网、广域网或例如因特网的全球网络)的部分。通信信道16大体上表示用于将视频数据从源装置12发射到目的地装置14的任何合适通信媒体或不同通信媒体的集合,包含有线或无线媒体的任何合适组合。通信信道16可包含路由器、交换器、基站或可用于促进从源装置12到目的地装置14的通信的任何其它设备。
[0072]根据本发明的实例的用于译码变换系数的技术可适用于支持例如以下各者的多种多媒体应用中的任一者的视频译码:空中电视广播、有线电视发射、卫星电视发射、流式视频发射(例如,经由因特网)、编码数字视频以存储于数据存储媒体上、解码存储于数据存储媒体上的数字视频,或其它应用。在一些实例中,系统10可经配置以支持单向或双向视频发射以支持例如视频流式发射、视频播放、视频广播和/或视频电话的应用。
[0073]在图1的实例中,源装置12包含视频源18、视频编码器20、调制器/解调器22和发射器24。在源装置12中,视频源18可包含例如以下各者的源:视频捕获装置(例如,视频摄像机)、含有先前捕获的视频的视频存档、用以从视频内容提供者接收视频的视频馈入接口,和/或用于产生计算机图形数据作为源视频的计算机图形系统,或这些源的组合。作为一个实例,如果视频源18为视频摄像机,那么源装置12和目的地装置14可形成所谓的摄像机电话或视频电话。然而,本发明中所描述的技术可大体上适用于视频译码且可适用于无线和/或有线应用。
[0074]可由视频编码器20来编码所捕获、预捕获或计算机产生的视频。经编码视频信息可根据通信标准(例如,无线通信协议)通过调制解调器22调制且经由发射器24发射到目的地装置14。调制解调器22可包含各种混频器、滤波器、放大器或经设计以用于信号调制的其它组件。发射器24可包含经设计以用于发射数据的电路,包含放大器、滤波器和一个或一个以上天线。
[0075]还可将通过视频编码器20编码的所捕获、预捕获或计算机产生的视频存储到存储媒体34或文件服务器36上以供稍后消耗。存储媒体34可包含蓝光(Blu-ray)光盘、DVD、CD-ROM、快闪存储器或用于存储经编码视频的任何其它合适的数字存储媒体。接着可通过目的地装置14存取存储于存储媒体34上的经编码视频以用于解码和播放。
[0076]文件服务器36可为能够存储经编码视频且将彼经编码视频发射到目的地装置14的任何类型的服务器。实例文件服务器包含web服务器(例如,针对网站)、FTP服务器、网络附接存储(NAS)装置、本地磁盘驱动器或能够存储经编码视频数据且将其发射到目的地装置的任何其它类型的装置。经编码视频数据从文件服务器36的发射可为流式发射、下载发射或两者的组合。文件服务器36可经由包含因特网连接的任何标准数据连接通过目的地装置14存取。此情形可包含适合于存取存储于文件服务器上的经编码视频数据的无线信道(例如,W1-Fi连接)、有线连接(例如,DSL、缆线调制解调器、以太网、USB等)或两者的组合。
[0077]在图1的实例中,目的地装置14包含接收器26、调制解调器28、视频解码器30和显示装置32。目的地装置14的接收器26经由信道16接收信息,且调制解调器28解调制所述信息以产生用于视频解码器30的经解调制位流。经由信道16传达的信息可包含通过视频编码器20产生的供视频解码器30在解码视频数据时使用的多种语法信息。此语法还可包含于存储于存储媒体34或文件服务器36上的经编码视频数据内。
[0078]显示装置32可与目的地装置14集成或在目的地装置14外部。在一些实例中,目的地装置14可包含集成式显示装置,且还经配置以与外部显示装置介接。在其它实例中,目的地装置14可为显示装置。一股来说,显示装置32向用户显示经解码视频数据,且可包括例如以下各者的多种显示装置中的任一者:液晶显示器(LCD)、等离子显示器、有机发光二极管(0LED)显示器或另一类型的显示装置。
[0079]视频编码器20和视频解码器30可根据例如目前在开发中的高效率视频译码(HEVC)标准的视频译码标准操作,且可遵照HEVC测试模型(HM)。HEVC的最新工作草案(WD)(且在下文中被称为 HEVC WD7)可从 http: / / phenix.1nt-evry.fr/jct / doc_end_user / documents / 9_Geneva / wgll / JCTVC-11003_v5.zip 获得,其中更近版本可从 http: / / phenix.1nt_evry.fr/jct / doc_end_user / documents / 9_Geneva /wgll / JCTVC-11003-v6.zip获得,所述两个版本的全文特此如同在本文中所阐述股以引用的方式并入。或者,视频编码器20和视频解码器30可根据例如ITU-T H.264标准的其它专属或工业标准或这些标准的扩展而操作,ITU-T H.264标准替代地被称为MPEG-4第10部分(高级视频译码(AVC))。然而,本发明的技术不限于任何特定译码标准。视频译码标准的其它实例包含MPEG-2和ITU-T H.263。
[0080]ITU-T H.264 / MPEG-4 (AVC)标准由 ITU-T 视频译码专家群(VCEG)连同 ISO /IEC动画专家群(MPEG) —起制定为称为联合视频小组(JVT)的集体合作的产品。在一些方面中,本发明中所描述的技术可应用于大体遵照H.264标准的装置。H.264标准由ITU-T研究小组且在日期为2005年3月描述于ITU-T推荐H.264 (用于一股视听服务的高级视频译码)中,其在本文中可被称为H.264标准或H.264规范或H.264 / AVC标准或规范。联合视频小组(JVT)继续致力于对H.264 / MPEG-4AVC的扩展。
[0081]JCT-VC致力于开发HEVC标准。HEVC标准化努力是基于视频译码装置的演进模型,其被称为HEVC测试模型(HM)。HM假设视频译码装置相对于根据(例如)ITU-TH.264 /AVC的现有装置的若干额外能力。举例来说,H.264提供9个帧内预测编码模式,而HM可提供多达33个帧内预测编码模式。
[0082]HEVC标准将视频数据的块称为译码单元(CU)。一股来说,⑶具有与根据H.264译码的宏块相似的目的,除CU不会具有大小区别之外。因此,可将CU分裂成子CU。一股来说,在本发明中对CU的参考可指代图片的最大译码单元(LCU)或LCU的子CU。举例来说,位流内的语法数据可定义ixu,IXU依据像素数目为最大译码单元。可将IXU分裂成子⑶,且可将每一子CU分裂成子CU。位流的语法数据可定义LCU可分裂的最大次数,其被称为最大⑶深度。因此,位流还可定义最小译码单元(S⑶)。[0083]LCU可与阶层式四叉树数据结构相关联。一股来说,四叉树数据结构包含每个CU一个节点,其中根节点对应于IXU。如果将⑶分裂成四个子⑶,那么对应于⑶的节点包含四个叶节点,其中的每一者对应于子CU中的一者。四叉树数据结构的每一节点可为对应CU提供语法数据。举例来说,在四叉树中的节点可包含分裂旗标,其指示是否将对应于节点的⑶分裂成子⑶。⑶的语法元素可递归地定义,且可取决于是否将⑶分裂成子⑶。
[0084]未被分裂的⑶可包含一个或一个以上预测单元(PU)。一股来说,I3U表示对应⑶的全部或一部分,且包含用于检索PU的参考样本的数据。举例来说,在经帧内模式编码时,PU可包含描述PU的帧内预测模式的数据。作为另一实例,在PU经帧间模式编码时,PU可包含定义PU的运动向量的数据。举例来说,定义运动向量的数据可描述运动向量的水平分量、运动向量的垂直分量、运动向量的分辨率(例如,四分之一像素精度或八分之一像素精度)、运动向量所指向的参考图片,和/或运动向量的参考列表(例如,列表O或列表I)。举例来说,定义PU的用于CU的数据还可描述将CU分割成一个或一个以上W。分割模式可在CU是未经译码、经帧内预测模式编码还是经帧间预测模式编码之间而为不同的。
[0085]具有一个或一个以上I3U的⑶还可包含一个或一个以上变换单元(TU)。在使用I3U的预测之后,视频编码器可计算CU的对应于的部分的残余值。可对残余值进行变换、量化和扫描。TU未必限于PU的大小。因此,对于同一⑶来说,TU可大于或小于对应PU。在一些实例中,TU的最大大小可为对应⑶的大小。本发明还使用术语“块”来指代⑶、PU或TU中的任一者。
[0086]视频编码器20可实施本发明的技术中的任一者或全部以在视频译码过程中改进变换系数的编码。同样地,视频解码器30可实施这些技术中的任一者或全部以在视频译码过程中改进变换系数的解码。如本发明中所描述的视频译码器可指代视频编码器或视频解码器。类似地,视频译码单元可指代视频编码器或视频解码器。同样地,视频译码可指代视频编码或视频解码。
[0087]根据本发明的方面,视频编码器20和/或视频解码器30可处理多个子块中的块(例如,TU)的变换系数。子块的大小可相同或不同。视频编码器20和/或视频解码器30可按系数扫描次序扫描子块的变换系数且可按子块扫描次序扫描子块自身。即,子块扫描次序可指定:首先扫描第一子块中的系数,其次扫描第二子块中的系数,第三个扫描第三子块中的系数,等等。系数扫描次序接着可指定扫描每一子块内的系数的次序。根据本发明的方面,视频编码器20和/或视频解码器30可针对系数扫描次序和子块扫描次序使用相同定向(例如,扫描型样、方向或次序)。即,根据本发明的方面,子块扫描次序的定向可匹配系数扫描次序的定向。在其它实例中,子块扫描次序可不同于系数扫描次序(例如,在适应性地确定子块扫描次序和系数扫描次序的实例中)。
[0088]举例来说,在将变换系数的块划分成子块(或接收变换系数的子块)之后,视频编码器20和/或视频解码器30可按系数扫描次序扫描子块的变换系数,以及按子块扫描次序扫描子块自身。即,例如,视频编码器20和/或视频解码器30可按系数扫描次序以对角线方式扫描子块的变换系数中的每一者。视频编码器20和/或视频解码器30还可按子块扫描次序跨越子块以对角线方式进行扫描。在一些实例中,视频编码器20和/或视频解码器30可逆向地执行扫描。另外,根据一些方面,视频编码器20和/或视频解码器30可顺序地扫描和译码子块。即,视频编码器20和/或视频解码器30可在按子块扫描次序移到下一子块之前按系数扫描次序扫描和译码当前子块的变换系数(例如,包含有效性、正负号、等级等等)。
[0089]根据一些方面,视频编码器20和/或视频解码器30可执行自适应子块扫描次序。在一个实例中,对于相对大的块大小(例如,32X32或16 X 16块大小),可代替强水平和垂直扫描次序而使用子块自适应扫描次序,如上文所描述。视频编码器20和/或视频解码器30可基于块大小、块的预测模式(例如,帧内/帧间预测模式)、相邻块的信息(预测模式、运动信息、扫描索引)和/或从编码器处的全速率失真决策和来自解码器处的经编码位流的语法而自适应地确定块的子块扫描次序和系数扫描次序。
[0090]尽管未在图1中展示,但在一些方面中,视频编码器20和视频解码器30可各自与音频编码器和解码器集成,且可包含适当MUX-DEMUX单元或其它硬件和软件以处置共同数据流或单独数据流中的音频和视频两者的编码。如果适用,那么在一些实例中,MUX-DEMUX单元可遵照ITU H.223多路复用器协议或例如用户数据报协议(UDP)的其它协议。
[0091]视频编码器20和视频解码器30各自可实施为例如以下各者的多种合适编码器电路中的任一者:一个或一个以上微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑、软件、硬件、固件或其任何组合。当所述技术部分地以软件实施时,装置可将软件指令存储于合适的非暂时性计算机可读媒体中,且使用一个或一个以上处理器以硬件执行指令以执行本发明的技术。视频编码器20和视频解码器30中的每一者可包含于一个或一个以上编码器或解码器中,其中的任一者可作为组合式编码器/解码器(CODEC)的部分而集成在相应装置中。
[0092]图2为说明可使用如本发明中所描述的用于译码变换系数的技术的视频编码器20的实例的框图。虽然可出于说明的目的而在图2中关于所提议的HEVC译码来描述视频编码器20的某些方面,但应理解可执行本发明的技术而无关于可需要扫描变换系数的其它译码标准或方法的限制。
[0093]在图2的实例中,视频编码器20包含运动补偿单元44、运动估计单元42、帧内预测单元46、参考图片缓冲器64、求和器50、变换处理单元52、量化单元54和熵编码单元56。图2中所说明的变换处理单元52为将实际变换应用于残余数据的块的单元,且将不与可被称为⑶的变换单元(TU)的变换系数的块混淆。对于视频块重建构,视频编码器20还包含反量化单元58、反变换处理单元60和求和器62。还可包含解块滤波器(图2中未展示)以对块边界进行滤波从而从经重建构视频移除块效应伪像。在需要时,解块滤波器通常将对求和器62的输出进行滤波。
[0094]在编码过程期间,视频编码器20接收待译码的视频图片或切片。可将图片或切片划分成多个视频块,例如,最大译码单元(LCU)。运动估计单元42和运动补偿单元44执行所接收视频块相对于一个或一个以上参考图片中的一个或一个以上块的帧间预测性译码,以提供时间压缩。帧内预测单元46可执行所接收视频块相对于在与待译码的块相同的图片或切片中的一个或一个以上相邻块的帧内预测性译码,以提供空间压缩。
[0095]模式选择单元40可(例如)基于针对每一模式的速率失真分析来选择译码模式(帧内或帧间)中的一者,且将所得经帧内译码或经帧间译码块提供到求和器50以产生残余块数据,且提供到求和器62以重建构经编码块以用于参考图片中。可将一些视频图片指定为I帧,其中I帧中的所有块是在帧内预测模式下编码。在一些情况下,帧内预测单元46可(例如)在通过运动估计单元42执行的运动搜索不产生对块的充分预测时执行P或B帧中的块的帧内预测编码。
[0096]运动估计单元42和运动补偿单元44可高度集成,但为概念性目的而分别说明。运动估计为产生运动向量的过程,所述运动向量估计视频块的运动。举例来说,运动向量可指示当前图片中的预测单元相对于参考图片的参考样本的位移。参考样本可为被发现在像素差方面紧密匹配包含经译码的PU的⑶的部分的块,像素差可通过绝对差和(SAD)、平方差和(SSD)或其它差度量确定。通过运动补偿单元44执行的运动补偿可涉及基于通过运动估计确定的运动向量提取或产生预测单元的值。此外,在一些实例中,运动估计单元42和运动补偿单元44可在功能上集成。
[0097]运动估计单元42通过比较预测单元与存储于参考图片缓冲器64中的参考图片的参考样本来计算经帧间译码图片的预测单元的运动向量。在一些实例中,视频编码器20可计算存储于参考图片缓冲器64中的参考图片的子整数像素位置的值。举例来说,视频编码器20可计算参考图片的四分之一像素位置、八分之一像素位置或其它分数像素位置的值。因此,运动估计单元42可执行相对于全像素位置和分数像素位置的运动搜索且输出具有分数像素精度的运动向量。运动估计单元42将经计算运动向量发送到熵编码单元56和运动补偿单元44。通过运动向量识别的参考图片的部分可被称为参考样本。参考样本可定义像素值以用于形成待译码的当前块的预测性像素值。运动补偿单元44可(例如)通过检索由PU的运动向量识别的参考样本来计算当前CU的预测单元的预测值。
[0098]作为通过运动估计单元42和运动补偿单元44执行的帧间预测的替代,帧内预测单元46可帧内预测编码所接收块。假定块的编码次序是从左向右、从上而下,帧内预测单元46可相对于相邻的先前经译码块(例如,在当前块上方的块、在当前块右上方的块、在当前块左上方的块或在当前块左方的块)编码所接收块。帧内预测单元46可通过多种不同帧内预测模式来配置。举例来说,帧内预测单元46可基于经编码的⑶的大小而通过特定数目个方向性预测模式(例如,33个方向性预测模式)来配置。
[0099]帧内预测单元46可通过(例如)计算各种帧内预测模式的误差值和选择产生最低误差值的模式而选择帧内预测模式。方向性预测模式可包含用于组合空间上相邻像素的值且将组合值应用于PU中的一个或一个以上像素位置的功能。一旦计算出PU中的所有像素位置的值,帧内预测单元46便可基于与待编码的所接收块之间像素差而计算预测模式的误差值。帧内预测单元46可继续测试帧内预测模式直到发现产生可接受误差值的帧内预测模式为止。帧内预测单元46接着可将发送到求和器50。
[0100]视频编码器20通过从经译码的原始视频块减去通过运动补偿单元44或帧内预测单元46计算的预测数据而形成残余块。求和器50表示执行此减法运算的一个或一个以上组件。残余块可对应于像素差值的二维矩阵,其中残余块中的值的数目与对应于残余块的PU中的像素的数目相同。残余块中的值可对应于PU中与待译码的原始块中的共置像素的值之间的差(即,误差)。所述差可取决于经译码的块的类型而为色度或明度差。
[0101]变换处理单元52可从残余块形成一个或一个以上变换单元(TU)。变换处理单元52将例如离散余弦变换(DCT)、方向性变换或概念上类似的变换的变换应用于TU,产生包括变换系数的视频块。变换处理单元52可将所得变换系数发送到量化单元54。在例如变换跳跃模式的某些视频译码模式中,变换处理单元52可将残余块直接发送到量化单元54而不执行变换。在这些例子中,尽管实际上未将变换应用于残余值,但残余值在本文中仍可被称为“变换系数”。
[0102]量化单元54接着可量化变换系数。熵编码单元56接着可根据指定扫描次序执行对矩阵中的经量化变换系数的扫描。本发明将熵编码单元56描述为执行扫描。然而,应理解,在其它实例中,例如变换处理单元52、量化单元54或视频编码器20中的另一单元的其它处理单元可执行扫描。
[0103]根据本发明的方面,熵编码单元56可扫描使用多个子块的2D TU的变换系数。举例来说,熵编码单元56可按系数扫描次序扫描子块的变换系数且可按子块扫描次序扫描子块自身。根据本发明的方面,熵编码单元56可针对系数扫描次序和子块扫描次序使用相同定向(例如,扫描型样、方向或次序)。即,根据本发明的方面,子块扫描次序的定向可匹配系数扫描次序的定向。在其它实例中,子块扫描次序可不同于系数扫描次序(例如,在适应性地确定子块扫描次序和系数扫描次序的实例中)。
[0104]举例来说,熵编码单元56可产生变换系数的TU。在扫描TU以使TU串行化之前,熵编码单元56可将TU划分成多个子块。熵编码单元56接着可按系数扫描次序扫描子块的变换系数,以及按子块扫描次序扫描子块自身。即,在实例中,出于说明的目的,熵编码单元56可按系数扫描次序以对角线方式扫描子块的变换系数中的每一者。熵编码单元56还可按子块扫描次序跨越子块以对角线方式进行扫描(扫描子块自身)。在一些实例中,熵编码单元56可逆向地执行扫描。另外,根据一些方面,熵编码单元56可顺序地扫描和译码子块。即,熵编码单元56可在按子块扫描次序移到下一子块之前按系数扫描次序扫描和译码与当前子块的变换系数相关联的所有二进位。在其它实例中,熵编码单元56可在译码下一二进位之前译码整个TU (包含所有子块)的特定二进位。
[0105]根据一些方面,熵编码单兀56可执行自适应子块扫描次序。在一个实例中,对于相对大的块大小(例如,32X32或16X 16块大小),可代替强水平和垂直扫描次序而使用子块自适应扫描次序,如上文所描述。熵编码单元56可基于块大小、块的预测模式(例如,帧内/帧间预测模式)、相邻块的信息(预测模式、运动信息、扫描索引)和/或从编码器处的全速率失真决策和来自解码器处的经编码位流的语法而适应性地确定块的子块扫描次序和系数扫描次序。
[0106]一旦扫描了变换系数(或在扫描期间),那么熵编码单元56可将例如CAVLC、PIPE或CABAC的熵译码应用于系数。另外,熵编码单元56可编码运动向量(MV)信息和用于在视频解码器30处解码视频数据的多种其它语法元素中的任一者。语法元素可包含有效性映射,所述有效性映射具有指示特定系数是否有效(例如,非零)的有效系数旗标和指示特定系数是否为最后有效系数的最后有效系数旗标(在一些实例中,最后有效系数位置可能未经译码)。视频解码器30可使用这些语法元素来重建构经编码视频数据。在通过熵编码单元56进行熵译码之后,可将所得经编码视频发射到另一装置(例如,视频解码器30)或将其存档以供稍后发射或检索。
[0107]在一些实例中,将变换系数的块划分成子块可在子块内建立上下文相依性(例如,在使用上下文信息熵译码时)。举例来说,在使用对角线扫描在子块内进行扫描时,针对子块内的左上系数的特定二进位(例如,有效性映射二进位)的上下文可取决于经处理的先前系数(例如,定位于当前变换系数下方的变换系数)。上下文相依性可在熵译码时强加不合需要的延迟。为了避免此相依性且因此增强并行化,熵编码单元56可修改上下文支持邻域。举例来说,熵编码单元56可确定移除两个连续系数的上下文相依性的上下文支持邻域,从而允许熵编码单元56并行地编码两个二进位。即,根据本发明的方面,可移除来自通常将用以导出上下文的位置集合(即,上下文支持邻域)的一个或一个以上位置,从而建立减小的上下文集合。在一些实例中,熵编码单元56可将相依性移除从两个连续系数增加到三个、四个或四个以上连续系数。在那些状态下,可修改每一位置处的上下文支持邻域以在给定特定扫描次序的情况下在邻域中移除上下文相依性。
[0108]反量化单元58和反变换处理单元60分别应用反量化和反变换以在像素域中重建构残余块(例如)以供稍后用作参考块。运动补偿单元44可通过将残余块与参考图片缓冲器64的图片中的一者的预测性块相加来计算参考块。运动补偿单元44还可将一个或一个以上内插滤波器应用于经重建构残余块以计算子整数像素值,从而用于在运动估计中使用。求和器62将经重建构残余块与通过运动补偿单元44产生的经运动补偿预测块相加以产生经重建构视频块,从而用于存储于参考图片缓冲器64中。经重建构视频块可通过运动估计单元42和运动补偿单元44用作为参考块以帧间译码后续视频图片中的块。
[0109]图3为说明视频解码器30的实例的框图,所述视频解码器30解码经编码视频序列。在图3的实例中,视频解码器30包含熵解码单元70、运动补偿单元72、帧内预测单元
74、反量化单元76、反变换单元78、参考图片缓冲器82和求和器80。
[0110]熵解码70在可为由图2的熵编码单元56使用的过程的反向过程中熵解码经编码视频。运动补偿单元72可基于从熵解码单元70接收的运动向量而产生预测数据。帧内预测单元74可基于用信号发送的帧内预测模式和来自当前图片的先前经解码块的数据而产生当前图片的当前块的预测数据。
[0111]在一些实例中,熵解码单元70 (或反量化单元76)可使用匹配通过视频编码器20的熵编码单元56 (或量化单元54)使用的扫描次序的扫描来扫描所接收值。尽管可在反量化单元76中执行系数的扫描,但出于说明的目的,扫描将描述为通过熵解码单元70执行。另外,尽管出于说明的容易起见展示为单独功能单元,但熵解码单元70、反量化单元76和视频解码器30的其它单元的结构和功能性可彼此高度集成。
[0112]视频解码器30可从经编码位流接收识别通过视频编码器20使用的扫描次序的信令。或者或另外,可通过视频解码器30基于经译码视频的特性(例如,预测模式、块大小、变换或其它特性)来推断扫描次序。作为另一实例,视频编码器20和视频解码器30可针对所有使用情况使用预定扫描次序和上下文,且因而将不需要经编码位流中的信令。
[0113]根据本发明的技术,通过视频解码器30确定的扫描次序可包含子块扫描次序和系数扫描次序,所述扫描次序定义如何将来自ID向量的变换系数扫描到经划分成多个子块的2D块中。解码器可基于2D块的大小推断变换系数的块的子块的数目和/或大小。在其它实例中,可在经编码视频位流中指示子块的数目和/或大小。
[0114]不管如何确定扫描次序,熵解码单元70皆使用通过编码器使用的扫描次序的反向次序来将ID向量扫描到2D阵列中。根据本发明的技术,熵解码单元70可执行将变换系数从ID向量的区段扫描到2D块的多个子块中的扫描过程。此过程可为上文参看图2所描述的过程的反向过程。
[0115]举例来说,根据本发明的方面,熵解码单元70可解码且反向扫描在多个子块中的TU。即,熵解码单元70可按系数扫描次序扫描子块的变换系数且可按子块扫描次序扫描子块自身。根据本发明的方面,熵解码单元70可针对系数扫描次序和子块扫描次序使用相同定向(例如,扫描型样、方向或次序)。即,根据本发明的方面,子块扫描次序的定向可匹配系数扫描次序的定向。在其它实例中,子块扫描次序可不同于系数扫描次序(例如,在适应性地确定子块扫描次序和系数扫描次序的实例中)。
[0116]举例来说,熵解码单元70可接收与TU相关联的变换系数的串行化阵列。熵解码单元70可扫描子块中的变换系数以重建构2D TU。即,熵解码单元70可按系数扫描次序扫描变换系数,以及按子块扫描次序扫描子块自身。在一实例中,出于说明的目的,熵解码单元70可按系数扫描次序以对角线方式扫描所接收变换系数中的每一者以重建构2D子块。
[0117]熵解码单元70还可按子块扫描次序以对角线方式扫描经重建构子块(在产生子块时)以重建构TU。在一些实例中,熵解码单元70可逆向地执行扫描。另外,根据一些方面,熵解码单元70可顺序地扫描和译码子块。即,熵解码单元70可在按子块扫描次序移到下一子块之前按系数扫描次序扫描且解码与当前子块的变换系数相关联的所有二进位。在其它实例中,熵解码单元70可在解码下一二进位之前解码整个TU (包含所有子块)的特定二进位。
[0118]根据一些方面,熵解码单元70可执行自适应子块扫描次序。在一个实例中,对于相对大的块大小(例如,32X32或16 X 16块大小),可代替强水平和垂直扫描次序而使用子块自适应扫描次序,如上文所描述。熵解码单元70可基于块大小、块的预测模式(例如,帧内/帧间预测模式)、相邻块的信息(预测模式、运动信息、扫描索引)和/或从编码器处的全速率失真决策和来自解码器处的经编码位流的语法而自适应地确定块的子块扫描次序和系数扫描次序。
[0119]在一些实例中,将变换系数的块划分成子块可在子块内建立上下文相依性(例如,在使用上下文信息熵译码时)。举例来说,当使用对角线扫描在子块内进行扫描时,子块内的左上系数的上下文可取决于经处理的先前系数(例如,定位于当前变换系数下方的变换系数)。上下文相依性可在熵译码时强加不合需要的延迟。为了避免此相依性且因此增强并行化,熵解码单元70可使用经修改的上下文支持邻域。举例来说,熵解码单元70可使用移除两个连续系数的上下文相依性的上下文支持邻域,从而允许熵解码单元70并行地解码两个二进位。在一些实例中,熵解码单元70可将相依性移除从两个连续系数增加到三个、四个或四个以上连续系数。在那些情况下,可修改每一位置处的上下文支持邻域以在给定特定扫描次序的情况下在邻域中移除上下文相依性。
[0120]通过熵解码单元70产生的变换系数的2D阵列可经量化,且大体上可匹配通过视频编码器20的熵编码单元56扫描的变换系数的2D阵列以产生变换系数的1D向量。反量化单元76反量化(即,解量化)位流中所提供且通过熵解码单元70解码的经量化变换系数。反量化过程可包含常规过程,例如,类似于针对HEVC提议或通过H.264解码标准定义的过程。反量化过程可包含使用通过视频编码器20针对CU所计算的量化参数QP,以确定量化的程度,且同样地确定应所述要应用的反量化的程度。反量化单元76可在变换系数从1D向量转换到2D阵列之前或之后反量化所述系数。
[0121 ] 反变换单元58应用反变换,例如,反DCT、反整数变换、反KLT、反旋转变换、反方向性变换或另一反变换。在一些实例中,反变换处理单元78可基于来自视频编码器20的信令或通过从一个或一个以上译码特性(例如,块大小、译码模式或其类似者)推断变换来确定反变换。在一些实例中,反变换处理单元78可基于在包含当前块的LCU的四叉树的根节点处的用信号发送的变换来确定应用于当前块的变换。在一些实例中,反变换处理单元78可应用级联(cascaded)反变换。在使用所谓的跳跃模式译码所接收系数的实例中,反变换单元58可未应用变换。
[0122]运动补偿单元72产生经运动补偿块,从而可能基于内插滤波器来执行内插。待用于以子像素精度执行运动估计的内插滤波器的识别符可包含于语法元素中。运动补偿单元72可使用如通过视频编码器20在视频块的编码期间使用的内插滤波器,以计算参考块的子整数像素的内插值。运动补偿单元72可根据所接收语法信息来确定通过视频编码器20使用的内插滤波器,且使用所述内插滤波器来产生预测性块。
[0123]在HEVC实例中,运动补偿单元72和帧内预测单元74可使用语法信息(例如,通过四叉树提供)中的一些来确定用以编码经编码视频序列的图片的IXU的大小。运动补偿单元72和帧内预测单元74还可使用语法信息来确定描述如何分裂经编码视频序列的图片的每一⑶(且同样地,如何分裂子⑶)的分裂信息。语法信息还可包含指示如何编码每一分裂的模式(例如,帧内或帧间预测,且对于帧内预测为帧内预测编码模式)、每一经帧间编码的一个或一个以上参考图片(和/或含有参考图片的识别符的参考列表)和用以解码经编码视频序列的其它信息。
[0124]求和器80将残余块与通过运动补偿单元72或帧内预测单元74产生的对应预测块组合以形成经解码块。举例来说,求和器80可将预测性像素值(例如,明度和/或色度)与残余像素差值组合以重建构像素值。在需要时,还可应用解块滤波器来对经解码块进行滤波以便移除块效应伪像。接着将经解码视频块存储于参考图片缓冲器82中,参考图片缓冲器82提供参考块以供后续运动补偿且还产生经解码视频以供在显示装置(例如,图1的显示装置32)上呈现。
[0125]图4为大体上说明有效性映射的译码的概念图。举例来说,如上文所注明,视频编码器(例如,视频编码器20)可在编码系数的值(等级)之前编码变换块(例如,TU)中的有效系数(即,非零变换系数)的位置。译码有效性映射的过程可被称为有效性映射译码,其要求相对大百分比的位速率。视频解码器(例如,视频解码器30)可接收有效性映射且确定有效变换系数的位置。
[0126]图4的实例展示经量化变换系数的4X4块100,其在第一行中具有三个有效系数,在第二行中具有四个有效系数,在第三行中具有两个有效系数,且在第四行中无有效系数。有效性映射102包含在有效变换系数的每一位置中的(I)和在零值变换系数的每一位置中的(O)。一股来说,在确定有效性变换系数的位置之后,视频编码器20可串行化且编码有效性映射102。同样地,视频解码器30可接收串行化的有效性映射102以重建构有效系数的位置。
[0127]用于译码有效性映射的实例过程描述于D.Marpe, H.Schwarz和T.Wiegand的“H.264 / AVC视频压缩标准中的基于上下文的自适应二进制算术译码(Context-BasedAdaptive Binary Arithmetic Coding in the H.264 / AVC Video CompressionStandard)”(用于视频技术的 IEEE 传输电路和系统(IEEE Trans.Circuits and Systemsfor Video Technology),第13卷,第7期,2003年7月)中。在此过程中,如果如通过译码块旗标(CBF)所指示在块中存在至少一个有效系数,那么译码有效性映射,译码块旗标(CBF)可定义为:
[0128]译码块旗标:coded_block_flag为一位符号,其指示在变换系数的单个块内部是否存在有效(即,非零)系数,对于有效系数,译码块型样指示非零项。如果COded_blOCk_flag为零,那么对于相关块,不发射其它信息。
[0129]如果在块中存在有效系数,那么通过遵循块中的变换系数的扫描次序编码有效性映射,变换系数的扫描次序如下:
[0130]变换系数的扫描:首先使用给定扫描型样将子块的变换系数等级的二维阵列映射到一维列表中,对于所述子块,coded_block_flag指示非零项。换句话说,根据扫描型样扫描具有有效系数的子块。
[0131]在给定扫描型样的情况下,可如下扫描有效性映射:
[0132]有效性映射:如果coded_block_flag指示块具有有效系数,那么编码二进制值有效性映射。对于按扫描次序的每一变换系数,发射一位符号significant_coeff_flag。如果significant_coeff_flag符号为1,即,如果在此扫描位置处存在非零系数,那么发送另一个一位符号last_significant_coeff_flag。此符号指示当前有效系数是否为块内部的最后一个有效系数,或其后是否跟随有其它有效系数。如果到达最后扫描位置且尚未通过具有值1的last_significant_coeff_flag终止有效性映射编码,那么显而易见,最后系数必须为有效的。
[0133]其它视频译码标准可使用不同过程来译码有效性信息。举例来说,所提议的HEVC标准使用类似于上文所描述的过程的过程,但未译码最后有效系数旗标。而事实上,根据HEVC,可识别最后有效系数,且扫描可按逆向次序从最后有效系数进行到第一有效系数。
[0134]根据本发明的方面,有效性映射102可形成较大有效性映射的部分。即,例如,有效性映射102可为针对有效性旗标的较大块的有效性旗标的子块。在这些实例中,根据本发明的方面,视频译码器可使用具有相同定向的扫描来扫描有效性映射102和较大有效性映射。除有效性映射102之外,如下文更详细所描述,还可按与有效性映射102相同或不同的定向扫描多种其它二进位(例如,正负号、等级等等)。
[0135]图5A-5F大体上说明用于译码变换系数的扫描型样和方向。举例来说,图5A-5F中所展示的扫描型样可通过视频编码器(例如,视频编码器20)在使变换系数(例如,有效性、等级、正负号等等)的2D阵列串行化时用作系数扫描次序。在另一实例中,扫描型样可通过视频解码器(例如,视频解码器30)在从经译码变换系数的所接收串行化阵列重建构变换系数的块时用作系数扫描次序。
[0136]在一些实例中,图5A-5F中所展示的扫描型样和方向可通过视频译码器在扫描有效性映射(例如,图4中所展示的有效性映射102)以及变换系数等级时实施。举例来说,图5A说明用于扫描视频数据的块的变换系数(例如,与TU相关联的变换系数)的前向Z字形扫描型样110。一股来说,Z字形扫描型样110以交替的45度角从块的左上方到块的右下方来遍历块。即,在图5A中所展示的实例中,第一系数112为定位于块的左上角处的DC分量,而待扫描的最后系数114定位于块的右下角处。
[0137]图5B说明用于扫描视频数据的块的变换系数的前向水平扫描型样120。一股来说,前向水平扫描型样120从左向右且从上而下遍历块。S卩,在图5B中所展示的实例中,第一系数122为定位于块的左上角处的DC分量,而待扫描的最后系数124定位于块的右下角处。前向水平扫描型样120从第一系数122从左向右跨越块的顶部进行。从左向右扫描每一后续行直到到达最后系数124为止。
[0138]图5C说明用于扫描视频数据的块的变换系数的前向垂直扫描型样130。一股来说,前向垂直扫描型样130从上而下且从左向右遍历块。S卩,在图5C中所展示的实例中,第一系数132为定位于块的左上角处的DC分量,而待扫描的最后系数134定位于块的右下角处。前向垂直扫描型样130从第一系数132朝向块的相对底部向下进行。从上而下扫描每一后续列直到到达最后系数134为止。
[0139]图?说明用于扫描视频数据的块的变换系数的对角线扫描型样140。一股来说,对角线扫描型样140以45度角从右上方到左下方来遍历块(例如,块的左上角到块的右下角)。即,在图中所展示的实例中,第一系数142为定位于块的左上角处的DC分量,而待扫描的最后系数144定位于块的右下角处。对角线扫描型样140中的对角线中的每一者以45度角从块的右上角到块的左下角来遍历块。
[0140]图5E说明用于扫描视频数据的块的变换系数的另一对角线扫描型样150。一股来说,对角线扫描型样150以45度角从右上方到左下方来遍历块(例如,块的左上角到块的右下角)。S卩,在图5E中所展示的实例中,第一系数152为定位于块的左上角处的DC分量,而待扫描的最后系数154定位于块的右下角处。然而,对角线扫描型样150以与对角线扫描型样140相反的方向进行。对角线扫描型样150中的对角线中的每一者以45度角从块的左下角到块的右上角遍历块。
[0141]图5A-5E中所展示的扫描中的每一者以前向(即,从变换块的左上角中的较低频率变换系数到变换块的右下角中的较高频率变换系数)进行。或者,扫描中的每一者可以逆向或反向(即,从块的右下角到左上角)进行。在此实例中,如上文所注明,零值变换系数可定位于串行化阵列的开始处。
[0142]举例来说,图5F说明如图5E中所展示的扫描型样的逆向对角线扫描型样。即,图5F说明用于扫描视频数据的块的变换系数(例如,与TU相关联的变换系数)的逆向对角线扫描型样160。一股来说,逆向对角线扫描型样160以45度角从右向左且从下而上来遍历块。即,在图5F中所展示的实例中,第一系数162定位于块的右下角处,而待扫描的最后系数164定位于块的左上角处。换句话说,对角线扫描型样160中的对角线中的每一者以45度角从块的右上角到块的左下角来遍历块。DC系数可保留于块的左上角中,其中高频系数在块的右下角中。
[0143]应理解,仅出于说明的目的而提供图5A-5F中所展示的扫描型样。另外,可使用不同定向的扫描来扫描与变换系数相关联的不同分量(例如,有效性、正负号、等级等等)。可通过语法元素扫描和译码系数等级,语法元素指示系数是否具有大于1的等级和大于2的等级以及剩余等级(例如,大于2)。在一些例子中,可以变换系数等级(例如,与系数等级相关联的一个或一个以上语法元素)的相反方向来扫描有效性信息(例如,有效性旗标)。在其它例子中,可实施统一扫描型样,使得以相同方向扫描和译码有效性信息和变换系数等级。
[0144]虽然根据本发明的方面且如下文更详细描述,图5A-5F中所展示的扫描大体上被描绘为针对整个块执行,但可在变换系数的子块内且跨越所述子块使用这些扫描。即,作为实例,可将图5F中所展示的逆向对角线扫描型样160用作用于扫描子块内的变换系数的系数扫描次序,以及用于扫描子块自身的子块扫描次序。
[0145]图6为说明针对以对角线方式定向的扫描路径的上下文支持邻域的实例的概念图。举例来说,图6说明变换系数的块170和穿过当前正经译码的变换系数位置172的以对角线方式定向的扫描线171。另外,图6的实例展示具有五个元素的上下文支持邻域174A-174E (统称为上下文支持邻域174)。
[0146]举例来说,如上文所注明,可使用二进位的指示二进位具有给定值(例如,“0”或“1”)的可能性的概率估计来译码视频数据的块的每一二进位,不管所述二进位是对应于块的残余变换系数等级还是有效性映射信息。概率估计包含于还被称为“上下文模型”的概率模型内。通过确定二进位的可通过上下文支持邻域识别的上下文来选择概率模型。即,上下文支持邻域可识别可用于熵译码与变换系数相关联的特定符号或旗标的语法元素的相对位置。上下文(例如,位于上下文邻域位置中的实际值)确定概率模型。
[0147]在图6中所展示的实例中,可并行地译码沿扫描型样线171的变换系数中的任一者。此扫描型样可被称为“并行友好的”。即,可并行地译码沿扫描线171的位置,这是因为在扫描线171中无一位置包含取决于扫描线171中的另一位置的上下文支持邻域。因此,扫描线171允许并行地计算多个有效性旗标的上下文,从而实现上下文预提取以供有效性旗标译码。此扫描线还可使用推测计算来促进多个有效性旗标的译码。
[0148]然而,如下文关于图11和12更详细描述,在一些实例中,将变换系数的块划分成子块可在子块内建立上下文相依性(例如,在使用上下文熵译码时)。即,子块中的某些位置的上下文支持邻域可依赖于来自子块的按扫描次序在先前的系数。因此,本发明的方面涉及针对允许并行地译码一个以上有效性旗标的子块扫描确定上下文支持邻域(例如,可针对子块中的一个以上位置预提取上下文)。
[0149]图7大体上说明将变换系数的块180划分成呈子块184A-184P(统称为子块184)的形式的子集。举例来说,视频译码器(例如,视频编码器20或视频解码器30)可在扫描且熵译码块180时将块180划分成子块184。
[0150]根据本发明的方面,如下文更详细描述,可按系数扫描次序扫描子块184内的变换系数。另外,可按子块扫描次序扫描子块184中的每一者。在一些实例中,根据本发明的方面,系数扫描次序可匹配子块扫描次序者。
[0151]在一些实例中,视频译码器可在一个以上遍次中译码子块184的有效性信息和系数等级。举例来说,视频译码器可执行第一遍次以译码有效性信息。视频译码器接着可执行另一遍次以译码变换系数等级的二进位1(例如,大于1),执行另一遍次以译码变换系数等级的二进位2(例如,大于2),执行另一遍次以译码变换系数等级的剩余二进位(例如,剩余等级),且执行另一遍次以译码变换系数等级的正负号。然而,仅出于实例的目的而提供上文所描述的五个遍次,且可使用不同译码系统。
[0152]根据本发明的一些方面,视频译码器可顺序地译码子块184中的每一者。S卩,视频译码器可按变换系数扫描次序执行上文针对子块184A所描述的五个译码遍次。视频译码器接着可按子块扫描次序移到下一子块且按变换系数扫描次序执行相同的五个译码遍次。在其它实例中,可在移到下一译码遍次之前针对整个块180执行一译码遍次。即,视频译码器可针对子块184的所有变换系数按变换系数扫描次序且针对所有子块184按子块扫描次序来执行块180的第一译码遍次。视频译码器接着可以相同方式执行块180的下一译码遍次直到已完成所有译码遍次为止。
[0153]在一些实例中,视频译码器可使用统一扫描来扫描子块184的变换系数。举例来说,视频译码器可使用具有相同定向的扫描(例如,对角线扫描)来扫描有效性信息和系数等级。在其它实例中,视频译码器可使用逆向扫描或具有其它定向的扫描来扫描变换系数的分量(例如,有效性、正负号、等级等等)。举例来说,视频译码器最初可按前向扫描来扫描有效性映射信息。视频译码器接着可按逆向扫描来扫描一个或一个以上系数等级二进位。
[0154]虽然在图7中所展示的实例中,块180的大小为16X16变换系数,但还应理解,可类似地划分较大或较小块。此外,虽然子块184的大小为4X4,但应理解,可使用较大或较小子块。即,在其它实例中,子块的大小可为2X2、8X8、16X16或ηΧη,只要子块大小小于或等于原始块大小即可。可基于块的大小来预先确定如何再分变换系数的特定块。因而,视频解码器可基于块的大小来推断如何再分块。在其它实例中,可通过编码器在经编码视频位流中指示子块的数目和/或大小。
[0155]图8Α-8Ε大体上说明用于译码变换系数的子块的扫描型样和方向。举例来说,图8Α-8Ε中所展示的扫描型样可通过视频编码器(例如,视频编码器20)在串行化变换系数(例如,有效性、等级、正负号等等)的2D阵列时用作子块扫描次序。在另一实例中,扫描型样可通过视频解码器(例如,视频解码器30)在从经译码变换系数的所接收串行化阵列重建构变换系数的块时用作子块扫描次序。
[0156]举例来说,图8Α大体上说明用于跨越变换系数的块的子块(用较粗边界展示的4X4子块)进行扫描之前向Ζ字形子块扫描次序190。一股来说,前向Ζ字形子块扫描次序190从块的相对顶部到块的相对底部以交替的45度角、从块的左上角中的相对第一子块192到块的右下角中的最后子块194来遍历子块中的每一者。
[0157]图8Β大体上说明用于跨越变换系数的块的子块(用较粗边界展示的4X4子块)进行扫描之前向水平子块扫描次序196。一股来说,前向水平子块扫描次序196以从左向右和从上而下的一系列水平线从块的左上角中的相对第一子块198到右下角中的最后子块200来遍历子块中的每一者。即,在图8Β中所展示的实例中,前向水平子块扫描次序从第一子块198从左向右跨越块的顶部进行。接着从左向右扫描每一后续行直到到达最后子块200为止。
[0158]图8C说明用于跨越变换系数的块的子块(用较粗边界展示的4X4子块)进行扫描之前向垂直子块扫描次序204。一股来说,前向垂直子块扫描次序204以从上而下和从左向右的一系列垂直线从块的左上角中的相对第一子块206到右下角中的最后子块208来遍历子块中的每一者。即,在图8C中所展示的实例中,前向垂直子块扫描次序从第一子块206朝向块的相对底部向下进行。从上而下扫描每一后续列直到到达最后子块208为止。
[0159]图8D大体上说明用于跨越变换系数的块的子块(用较粗边界展示的4X4子块)进行扫描的对角线子块扫描次序210。一股来说,对角线子块扫描次序210从左向右且从下而上以45度角、从块的左上角中的相对第一子块212到块的右下角中的最后子块214来遍历子块中的每一者。即,在图8D中所展示的实例中,对角线子块扫描次序210以从第一子块212到最后子块214的连续对角线、从块的左下角到块的右上角以45度角来遍历块。[0160]图8A-8D中所展示的子块扫描中的每一者以前向(即,从变换块的左上角中的较低频率变换系数到变换块的右下角中的较高频率变换系数)进行。或者,扫描中的每一者可以逆向或反向(即,从块的右下角到左上角)进行。在此实例中,如上文所注明,零值变换系数可定位于串行化阵列的开始处。如果在位流中显式地译码最后系数的位置,那么逆向子块扫描可从含有相对于前向扫描的最后有效系数的子块开始。又,在此子块内,扫描可从最后有效系数(针对等级译码)或按反向扫描次序在最后有效系数之后的系数开始。或者,可总是扫描所有子块和所有系数,但可推断关于前向扫描在最后有效系数之后的系数为0。
[0161]举例来说,图8E大体上说明用于按与图8D中所展示的子块扫描次序逆向的次序跨越变换系数的块的子块(用较粗边界展示的4X4子块)进行扫描的逆向对角线子块扫描次序216。一股来说,逆向对角线子块扫描次序216从右向左且从上而下以45度角、从块的右下角中的相对第一子块217到块的左上角中的最后子块218来遍历子块中的每一者。即,在图8E中所展示的实例中,逆向对角线子块扫描次序216以从第一子块217到最后子块218的连续对角线、从块的右上角到块的左下角以45度角来遍历块。
[0162]应理解,仅出于说明的目的而提供图8A-8E中所展示的子块扫描型样。另外,可使用不同定向的扫描来扫描与变换系数相关联的不同分量(例如,有效性、正负号、等级等等)。举例来说,在一些例子中,可以变换系数等级的相反方向来扫描有效性信息(例如,有效性旗标)。在其它例子中,可实施统一扫描型样,使得以相同方向扫描有效性信息和变换系数等级。
[0163]根据本发明的方面,图8A-8E中所展示的子块扫描次序可匹配用以扫描子块中的每一者内的变换系数的相应系数扫描次序。即,用于扫描子块中的每一者内的系数的系数扫描次序可与用于扫描子块自身的子块扫描次序相同。
[0164]根据本发明的其它方面,系数扫描次序和/或子块扫描次序可为自适应的。即,视频译码器(例如,视频编码器20或视频解码器30)可基于块大小、帧内/帧间预测模式、相邻块的信息(预测模式、运动信息、扫描索引)或其它视频译码特性来选择块的子块扫描次序和/或系数扫描次序。在另一实例中,可在视频编码器20处从速率失真分析确定子块扫描次序和系数扫描次序。在此情况下,可在经编码视频位流中用信号发送指示子块扫描次序和系数扫描次序的语法(例如,来自下文所展示的表1的块扫描索引)以供在解码器处使用。
[0165]因此,可根据相同或不同扫描次序扫描图8A-8E中所展示的每一子块内的变换系数。即,可使用Z字形、水平、对角线或垂直扫描次序来扫描每一子块内的变换系数。此外,这些扫描次序中的每一者可呈前向或反向。系数扫描次序可与子块扫描次序不同或相同。另外,对于变换系数的块中的每一子块,系数扫描次序可相同,或可单独地选择每一子块的系数扫描次序。举例来说,如果子块扫描次序和系数扫描次序两者使用三种扫描(即,对角线、水平和垂直),那么如下文表1中所展示,块的潜在扫描的总数目为3 X 3=9。
[0166]表1-扫描次序组合
[0167]
块扫描索引子块扫描 系数扫描
【权利要求】
1.一种用于在视频解码过程中解码变换系数的方法,其包括: 解码变换系数的一维阵列;以及 根据子块扫描次序和系数扫描次序执行对变换系数的所述一维阵列的扫描以产生变换系数的块,其中所述子块扫描次序包括扫描所述块内的多个子块中的每一子块的次序,且其中所述系数扫描次序包括扫描对应于所述多个子块中的每一子块的所述变换系数的次序。
2.根据权利要求1所述的方法,其中所述子块扫描次序和所述系数扫描次序具有相同扫描定向。
3.根据权利要求2所述的方法,其中所述扫描定向包括逆向对角线定向使得执行对所述块的所述扫描包括:按从所述多个子块中的每一者的右下角到左上角的所述系数扫描次序以对角线方式逆向扫描所述多个子块中的每一者的变换系数,以及按从所述块的右下子块到所述块的左上子块的所述子块扫描次序跨越所述多个子块中的每一者以对角线方式进行扫描。
4.根据权利要求2所述的方法,其中所述扫描定向包括逆向水平定向使得执行对所述块的所述扫描包括:在所述多个子块中的每一者内按从右向左和从下而上的所述系数扫描次序水平地扫描所述多个子块中的每一者的变换系数,以及按所述块的从右向左和从下而上的所述子块扫描次序跨越所述多个子块中的每一者水平地进行扫描。
5.根据权利要求2所述的方法,其中所述扫描定向包括逆向垂直定向使得执行对所述块的所述扫描包括:在所述多个子块中的每一者内按从下而上和从右向左的所述系数扫描次序垂直地扫描所述多个子块中的每一者的变换系数,以及按所述块的从下而上和从右向左的所述子块扫描次序跨越所述多个子块中的每一者垂直地进行扫描。
6.根据权利要求1所述的方法,其中执行所述扫描包括在所述多个子块中的含有变换系数的所述阵列的最后有效系数的子块中开始所述扫描。
7.根据权利要求1所述的方法,其中执行所述扫描包括按所述系数扫描次序从最后有效系数在所述多个子块中的每一者中开始所述扫描。
8.根据权利要求1所述的方法,其中所述子块扫描次序和所述系数扫描次序具有不同定向。
9.根据权利要求1所述的方法,其中执行所述扫描包括在按所述子块扫描次序扫描与所述多个子块中的下一子块的变换系数相关联的二进位之前扫描与所述多个子块中的当前子块的变换系数相关联的所有二进位。
10.根据权利要求9所述的方法,其中扫描所述当前子块的变换系数包括按所述系数扫描次序扫描有效性二进位和变换系数等级二进位。
11.根据权利要求1所述的方法,其中执行所述扫描包括在扫描所述块的变换系数等级二进位之前扫描所述块的有效性二进位。
12.根据权利要求1所述的方法,其进一步包括: 确定所述多个子块的所述子块扫描次序;以及 确定所述多个子块中的每一者内的变换系数的所述系数扫描次序。
13.根据权利要求1所述的方法,其中所述子块扫描次序和所述系数扫描次序为以下各项中的一者:前向Z字形扫描、前向水平扫描、前向垂直扫描、前向对角线扫描、反向Z字形扫描、反向水平扫描、反向垂直扫描,以及反向对角线扫描。
14.根据权利要求13所述的方法,其中执行所述扫描进一步包括基于以下各项中的一者适应性地选择所述子块扫描次序和所述系数扫描次序:速率失真度量、块大小、预测模式,以及与相邻块相关联的信息。
15.根据权利要求1所述的方法,其中编码对变换系数的所述一维阵列进行上下文自适应二进制算术解码。
16.根据权利要求15所述的方法,其进一步包括:确定用于并行地解码与所述变换系数相关联的有效性信息的上下文,其中所述上下文基于当前正经解码的变换系数在所述块中的位置而变化。
17.一种用于在视频解码过程中解码变换系数的设备,所述设备包括经配置以执行以下步骤的一个或一个以上处理器:解码变换系数的一维阵列;以及根据子块扫描次序和系数扫描次序执行对变换系数的所述一维阵列的扫描以产生变换系数的块,其中所述子块扫描次序包括扫描所述块内的多个子块中的每一子块的次序,且其中所述系数扫描次序包括扫描对应于所述多个子块中的每一子块的所述变换系数的次序。
18.根据权利要求17所述的设备,其中所述子块扫描次序和所述系数扫描次序具有相同扫描定向。
19.根据权利要求18所述的设备,其中所述扫描定向包括反向对角线定向使得执行对所述块的所述扫描包括:按从所述多个子块中的每一者的右下角到左上角的所述系数扫描次序以对角线方式逆向扫描所述多个子块中的每一者的变换系数,以及按从所述块的右下子块到所述块的左上子块的所述子块扫描次序跨越所述多个子块中的每一者以对角线方式进行扫描。
20.根据权利要求18所述的设备,其中所述扫描定向包括逆向水平定向使得执行对所述块的所述扫描包括:在所述多个子块中的每一者内按从右向左和从下而上的所述系数扫描次序水平地扫描所述多个子块中的每一者的变换系数,以及按所述块的从右向左和从下而上的所述子块扫描次序跨越所述多个子块中的每一者水平地进行扫描。
21.根据权利要求18所述的设备,其中所述扫描定向包括逆向垂直定向使得执行对所述块的所述扫描包括:在所述多个子块中的每一者内按从下而上和从右向左的所述系数扫描次序垂直地扫描所述多个子块中的每一者的变换系数,以及按所述块的从下而上和从右向左的子块扫描次序跨越所述多个子块中的每一者垂直地进行扫描。
22.根据权利要求17所述的设备,其中为了执行所述扫描,所述一个或一个以上处理器经配置以在所述多个子块中的含有变换系数的所述阵列的最后有效系数的子块中开始所述扫描。
23.根据权利要求17所述的设备,其中为了执行所述扫描,所述一个或一个以上处理器经配置以按所述系数扫描次序从最后有效系数在所述多个子块中的每一者中开始所述扫描。
24.根据权利要求17所述的设备,其中所述子块扫描次序和所述系数扫描次序具有不同定向。
25.根据权利要求17所述的设备,其中为了执行所述扫描,所述一个或一个以上处理器经配置以在按所述子块扫描次序扫描与所述多个子块中的下一子块的变换系数相关联的二进位之前扫描与所述多个子块中的当前子块的变换系数相关联的所有二进位。
26.根据权利要求25所述的设备,其中为了扫描所述当前子块的变换系数,所述一个或一个以上处理器经配置以按所述系数扫描次序扫描有效性二进位和变换系数等级二进位。
27.根据权利要求17所述的设备,其中为了执行所述扫描,所述一个或一个以上处理器经配置以在扫描所述块的变换系数等级二进位之前扫描所述块的有效性二进位。
28.根据权利要求17所述的设备,其中所述一个或一个以上处理器经进一步配置以执行以下步骤: 确定所述多个子块的所述子块扫描次序;以及 确定所述多个子块中的每一者内的变换系数的所述系数扫描次序。
29.根据权利要求17所述的设备,其中所述子块扫描次序和所述系数扫描次序为以下各项中的一者:前向Z字形扫描、前向水平扫描、前向垂直扫描、前向对角线扫描、反向Z字形扫描、反向水平扫描、反向垂直扫描,以及反向对角线扫描。
30.根据权利要求29所述的设备,其中为了执行所述扫描,所述一个或一个以上处理器经配置以基于以下各项中的一者适应性地选择所述子块扫描次序和所述系数扫描次序:速率失真度量、块大小、预测模式,以及与相邻块相关联的信息。
31.根据权利 要求17所述的设备,其中为了解码变换系数的所述一维阵列,所述一个或一个以上处理器经配置以对变换系数的所述一维阵列进行上下文自适应二进制算术解码。
32.根据权利要求31所述的设备,其中所述一个或一个以上处理器进一步经配置以执行以下步骤: 确定用于并行地解码与所述变换系数相关联的有效性信息的上下文,其中所述上下文基于当前正经解码的变换系数在所述块中的位置而变化。
33.一种用于在视频解码过程中解码变换系数的设备,所述设备包括: 用于解码变换系数的一维阵列的装置;以及 用于根据子块扫描次序和系数扫描次序执行对变换系数的所述一维阵列的扫描以产生变换系数的块的装置,其中所述子块扫描次序包括扫描所述块内的多个子块中的每一子块的次序,且其中所述系数扫描次序包括扫描对应于所述多个子块中的每一子块的所述变换系数的次序。
34.根据权利要求33所述的设备,其中所述子块扫描次序和所述系数扫描次序具有相同扫描定向。
35.根据权利要求33所述的设备,其中用于解码的装置包括用于对变换系数的所述一维阵列进行上下文自适应二进制算术解码的装置。
36.根据权利要求35所述的设备,其进一步包括: 用于确定用于并行地解码与所述变换系数相关联的有效性信息的上下文的装置,其中所述上下文基于当前正经解码的变换系数在所述块中的位置而变化。
37.一种计算机可读存储媒体,其上存储有在执行时使一个或一个以上处理器执行以下步骤的指令: 解码变换系数的一维阵列;以及 根据子块扫描次序和系数扫描次序执行对变换系数的所述一维阵列的扫描以产生变换系数的块,其中所述子块扫描次序包括扫描所述块内的多个子块中的每一子块的次序,且其中所述系数扫描次序包括扫描对应于所述多个子块中的每一子块的所述变换系数的次序。
38.根据权利要求37所述的计算机可读存储媒体,其中所述子块扫描次序和所述系数扫描次序具有相同扫描定向。
39.根据权利要求37所述的计算机可读存储媒体,其中所述指令进一步使所述一个或一个以上处理器对变换系数的所述一维阵列进行上下文自适应二进制算术解码。
40.根据权利要求39所述的计算机可读存储媒体,其进一步包括: 使所述一个或一个以上处理器确定用于并行地解码与所述变换系数相关联的有效性信息的上下文的指令,其中所述上下文基于当前正经解码的变换系数在所述块中的位置而变化。
41.一种用于在视频编码过程中编码变换系数的方法,其包括: 将变换系数的块划分成多个子块; 根据子块扫描次序和 系数扫描次序执行对变换系数的所述块的扫描以产生变换系数的一维阵列,其中所述子块扫描次序包括扫描所述多个子块中的每一者的次序,且其中所述系数扫描次序包括扫描所述多个子块中的每一者内的所述变换系数的次序;以及 编码变换系数的所述一维阵列。
42.根据权利要求41所述的方法,其中所述子块扫描次序和所述系数扫描次序具有相同扫描定向。
43.根据权利要求42所述的方法,其中所述扫描定向包括逆向对角线定向使得执行对所述块的所述扫描包括:按从所述多个子块中的每一者的右下角到左上角的所述系数扫描次序以对角线方式逆向扫描所述多个子块中的每一者的变换系数,以及按从所述块的右下子块到所述块的左上子块的所述子块扫描次序跨越所述多个子块中的每一者以对角线方式进行扫描。
44.根据权利要求42所述的方法,其中所述扫描定向包括逆向水平定向使得执行对所述块的所述扫描包括:在所述多个子块中的每一者内按从右向左和从下而上的所述系数扫描次序水平地扫描所述多个子块中的每一者的变换系数,以及按所述块的从右向左和从下而上的所述子块扫描次序跨越所述多个子块中的每一者水平地进行扫描。
45.根据权利要求42所述的方法,其中所述扫描定向包括逆向垂直定向使得执行对所述块的所述扫描包括:在所述多个子块中的每一者内按从下而上和从右向左的所述系数扫描次序垂直地扫描所述多个子块中的每一者的变换系数,以及按所述块的从下而上和从右向左的所述子块扫描次序跨越所述多个子块中的每一者垂直地进行扫描。
46.根据权利要求41所述的方法,其中执行所述扫描包括在所述多个子块中的含有变换系数的所述阵列的最后有效系数的子块中开始所述扫描。
47.根据权利要求41所述的方法,其中执行所述扫描包括按所述系数扫描次序从最后有效系数在所述多个子块中的每一者中开始所述扫描。
48.根据权利要求41所述的方法,其中所述子块扫描次序和所述系数扫描次序具有不同定向。
49.根据权利要求41所述的方法,其中执行所述扫描包括在按所述子块扫描次序扫描与所述多个子块中的下一子块的变换系数相关联的二进位之前扫描与所述多个子块中的当前子块的变换系数相关联的所有二进位。
50.根据权利要求49所述的方法,其中扫描所述当前子块的变换系数包括按所述系数扫描次序扫描有效性二进位和变换系数等级二进位。
51.根据权利要求41所述的方法,其中执行所述扫描包括在扫描所述块的变换系数等级二进位之前扫描所述块的有效性二进位。
52.根据权利要求41所述的方法,其进一步包括:确定所述多个子块的所述子块扫描次序;以及确定所述多个子块中的每一者内的变换系数的所述系数扫描次序。
53.根据权利要求41所述的方法,其中所述子块扫描次序和所述系数扫描次序为以下各项中的一者:前向Z字形扫描、前向水平扫描、前向垂直扫描、前向对角线扫描、反向Z字形扫描、反向水平扫描、反向垂直扫描,以及反向对角线扫描。
54.根据权利要求53所述的方法,其中执行所述扫描进一步包括基于以下各项中的一者适应性地选择所述子块扫描次序和所述系数扫描次序:速率失真度量、块大小、预测模式,以及与相邻块相关联的信息。
55.根据权利要求41所述的方法,其中编码包括上下文自适应二进制算术编码。
56.根据权利要求55所述的方法,其进一步包括:确定用于并行地编码与所述变换系数相关联的有效性信息的上下文,其中所述上下文基于当前正经编码的变换系数在所述块中的位置而变化。
57.一种用于在编码过程中编码变换系数的设备,所述设备包括经配置以执行以下步骤的一个或一个以上处理器:将变换系数的块划分成多个子块;根据子块扫描次序和系数扫描次序执行对变换系数的所述块的扫描以产生变换系数的一维阵列,其中所述子块扫描次序包括扫描所述多个子块中的每一者的次序,且其中所述系数扫描次序包括扫描所述多个子块中的每一者内的所述变换系数的次序;以及编码变换系数的所述一维阵列。
58.根据权利要求57所述的设备,其中所述子块扫描次序和所述系数扫描次序具有相同扫描定向。
59.根据权利要求58所述的设备,其中所述扫描定向包括逆向对角线定向使得执行对所述块的所述扫描包括:按从所述多个子块中的每一者的右下角到左上角的所述系数扫描次序以对角线方式逆向扫描所述多个子块中的每一者的变换系数,以及按从所述块的右下子块到所述块的左上子块的所述子块扫描次序跨越所述多个子块中的每一者以对角线方式进行扫描。
60.根据权利要求58所述的设备,其中所述扫描定向包括逆向水平定向使得执行对所述块的所述扫描包括:在所述多个子块中的每一者内按从右向左和从下而上的所述系数扫描次序水平地扫描所述多个子块中的每一者的变换系数,以及按所述块的从右向左和从下而上的所述子块扫描次序跨越所述多个子块中的每一者水平地进行扫描。
61.根据权利要求58所述的设备,其中所述扫描定向包括逆向垂直定向使得执行对所述块的所述扫描包括:在所述多个子块中的每一者内按从下而上和从右向左的系数扫描次序垂直地扫描所述多个子块中的每一者的变换系数,以及按所述块的从下而上和从右向左的子块扫描次序跨越所述多个子块中的每一者垂直地进行扫描。
62.根据权利要求57所述的设备,其中为了执行所述扫描,所述一个或一个以上处理器经配置以在所述多个子块中的含有变换系数的所述阵列的最后有效系数的子块中开始所述扫描。
63.根据权利要求57所述的设备,其中为了执行所述扫描,所述一个或一个以上处理器经配置以按所述系数扫描次序从最后有效系数在所述多个子块中的每一者中开始所述扫描。
64.根据权利要求57所述的设备,其中所述子块扫描次序和所述系数扫描次序具有不同定向。
65.根据权利要求57所述的设备,其中为了执行所述扫描,所述一个或一个以上处理器经配置以在按所述子块扫描次序扫描与所述多个子块中的下一子块的变换系数相关联的二进位之前扫描与所述多个子块中的当前子块的变换系数相关联的所有二进位。
66.根据权利要求65所述的设备,其中为了扫描所述当前子块的变换系数,所述一个或一个以上处理器经配置以按所述系数扫描次序扫描有效性二进位和变换系数等级二进位。
67.根据权利要求5 7所述的设备,其中为了执行所述扫描,所述一个或一个以上处理器经配置以在扫描所述块的变换系数等级二进位之前扫描所述块的有效性二进位。
68.根据权利要求57所述的设备,其中所述一个或一个以上处理器经进一步配置以执行以下步骤: 确定所述多个子块的所述子块扫描次序;以及 确定所述多个子块中的每一者内的变换系数的所述系数扫描次序。
69.根据权利要求57所述的设备,其中所述子块扫描次序和所述系数扫描次序为以下各项中的一者:前向Z字形扫描、前向水平扫描、前向垂直扫描、前向对角线扫描、反向Z字形扫描、反向水平扫描、反向垂直扫描,以及反向对角线扫描。
70.根据权利要求69所述的设备,其中为了执行所述扫描,所述一个或一个以上处理器经配置以基于速率失真度量适应性地选择所述子块扫描次序和所述系数扫描次序。
71.根据权利要求57所述的设备,其中为了编码,所述一个或一个以上处理器经配置以对变换系数的所述一维阵列进行上下文自适应二进制算术编码。
72.根据权利要求71所述的设备,其中所述一个或一个以上处理器经进一步配置以执行以下步骤: 确定用于并行地编码与所述变换系数相关联的有效性信息的上下文,其中所述上下文基于当前正经编码的变换系数在所述块中的位置而变化。
73.一种用于在视频编码过程中编码变换系数的设备,所述设备包括: 用于将变换系数的块划分成多个子块的装置; 用于根据子块扫描次序和系数扫描次序执行对变换系数的所述块的扫描以产生变换系数的一维阵列的装置,其中所述子块扫描次序包括扫描所述多个子块中的每一者的次序,且其中所述系数扫描次序包括扫描所述多个子块中的每一者内的所述变换系数的次序;以及用于编码变换系数的所述一维阵列的装置。
74.根据权利要求73所述的设备,其中所述子块扫描次序和所述系数扫描次序具有相同扫描定向。
75.根据权利要求73所述的设备,其中用于编码的装置包括用于对变换系数的所述一维阵列进行上下文自适应二进制算术编码的装置。
76.根据权利要求75所述的设备,其进一步包括:用于确定用于并行地编码与所述变换系数相关联的有效性信息的上下文的装置,其中所述上下文基于当前正经编码的变换系数在所述块中的位置而变化。
77.一种计算机可读存储媒体,其上存储有在执行时使一个或一个以上处理器执行以下步骤的指令:将变换系数的块划分成多个子块;根据子块扫描次序和系数扫描次序执行对变换系数的所述块的扫描以产生变换系数的一维阵列,其中所述子块扫描次序包括扫描所述多个子块中的每一者的次序,且其中所述系数扫描次序包括扫描所述多个子块中的每一者内的所述变换系数的次序;以及编码变换系数的所述一维阵列。
78.根据权利要求77所述的计算机可读存储媒体,其中所述子块扫描次序和所述系数扫描次序具有相同扫描定向。
79.根据权利要求77所述的计算机可读存储媒体,其中所述指令进一步使所述一个或一个以上处理器对变换系数的所述一维阵列进行上下文自适应二进制算术编码。
80.根据权利要求79所述的计算机可读存储媒体,其进一步包括:使所述一个或一个以上处理器确定用于并行地编码与所述变换系数相关联的有效性信息的上下文的指令,其中所述上下文基于当前正经编码的变换系数在所述块中的位置而变化。
【文档编号】H04N19/18GK103703776SQ201280035704
【公开日】2014年4月2日 申请日期:2012年7月18日 优先权日:2011年7月19日
【发明者】拉詹·雷克斯曼·乔希, 霍埃尔·索赖·罗哈斯, 马尔塔·卡切维奇, 郑云非, 翔林·王 申请人:高通股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1