用于对游长编码变换系数进行熵编码的上下文确定的制作方法

文档序号:7792172阅读:205来源:国知局
用于对游长编码变换系数进行熵编码的上下文确定的制作方法
【专利摘要】描述了在对变换系数进行程-游对编码的情况下使用与模式相关的上下文确定对视频进行编码和解码的方法和设备。可以将帧内编码模式分组为类别,且每个类别可以与将系数组分为区域的划分相关联。系数所落入的区域部分确定了用于对与该系数相关联的二进制值进行编码所选择的上下文,以及如果系数非零,则包括程,以及如果系数对应于二进制化游值的二进制值,则包括游。
【专利说明】用于对游长编码变换系数进行熵编码的上下文确定
[0001] 版权通知
[0002] 本文件的一部分公开内容和所附材料包含了要求版权的材料。当该传真复制出现 在专利商标局文件或记录中时,版权所有者不反对任何人对该专利文件或专利公开内容进 行传真复制,但是保留除此之外的所有其他版权。

【技术领域】
[0003] 本申请总体上涉及数据压缩,具体地,涉及用于在对视频的上下文自适应二进制 熵编码中对变换系数进行编码的方法和设备。

【背景技术】
[0004] 在多种背景下出现数据压缩。其在通信和计算机联网中经常用于高效地存储、发 送、和再现信息。其在图像、音频和视频的编码中具有特别的应用。由于每个视频帧所要求 的大量数据以及编码和解码经常需要发生的速度,视频向数据压缩提出了重大的挑战。高 级音频和视频编码标准("AVS")是在中国开发的现有音频和视频编码标准。已开始开发 替代AVS的下一代标准的工作,该下一代标准可以被称为AVS2。
[0005] 很多视频编码标准使用基于块的编码过程。在这些过程中,将图像或帧分为块,通 常是4x4或8x8(然而在一些情况下可以使用非正方形的块),且将块频谱变换为系数,并进 行量化和熵编码。在很多情况下,被变换的数据不是实际的像素数据,而是在预测操作之后 的残余数据。预测可以是帧内预测(即在帧/图像内的块到块)或帧间预测(即,在帧之 间(也被称为运动预测))。
[0006] 为了压缩数据,量化变换系数的编码被设计为利用变换特性来改进压缩。在AVS 的情况下,使用四元组对系数进行编码:程(level)、游(run)、符号(sign)、块结束(Ε0Β) 标志。编码是从变换块中最后非零系数开始沿反锯齿(zig-zag)方向的(因此,要求Ε0Β 物?志)。
[0007] 使用一元二进制化将"程减一"(level-minus-one)和"游"数据进行二进制化,然 后使用基于上下文的熵编码对二进制值(bin)进行编码。具体地,AVS针对变换系数数据 使用算术编码。
[0008] AVS的现有编码方案存在一些缺陷。在一些情况下,可能出现长游。在32x32块的 情况下,最差情况下的游是1023。当二进制化时,这导致要对具有1024个二进制值的数目 进行编码。Ε0Β标志呈现了类似的最差情况开销。例如,在使用32x32块的情况下,最差情 况场景是1024个非零系数,这意味着1023个Ε0Β标志。最终,由于AVS所采用的编码方案, 在对所有变换系数进行解码之前,解码器不具有与块中的变换系数的位置相关的任何先验 知识。这使得该数据不能用于改进上下文确定或其他编码判定。

【专利附图】

【附图说明】
[0009] 现在将通过示例来参考示出了本中请的示例实施例的附图,在附图中:
[0010] 图1示出了被分为系数组的变换块的示例,并示出了锯齿组扫描顺序;
[0011] 图2示出了图1的示例变换块以及在系数组中的锯齿扫描顺序的示例;
[0012] 图3示出了被映射到变换块的CG标志的一个示例;
[0013] 图4以流程图形式示出了使用程游(level-run)信息和系数组划分进行编码的方 法的一个实施例;
[0014] 图5以流程图形式示出了对程游信息进行解码以重构残余的方法的一个实施例;
[0015] 图6以图形方式示出了在系数组边界处截断的程游编码的示例;
[0016] 图7以图形方式示出了跨系数组边界的程游编码的示例;
[0017] 图8示出了变换块的区域划分的示例;
[0018] 图9以框图形式示出了视频编码器的一个实施例;
[0019] 图10以框图形式示出了视频解码器的一个实施例;
[0020] 图11示出了包含零和非零系数的示例系数组;
[0021] 图12示出了对系数组的示例对角划分;
[0022] 图13示出了对系数组的第二示例对角划分;
[0023] 图14示出了对系数组的示例水平划分;
[0024] 图15示出了对系数组的示例垂直划分;
[0025] 图16示出了对系数组的示例对角划分;
[0026] 图17示出了用于说明确定二进制化游值的二进制值的区域的示例系数组;以及
[0027] 图18示出了用于上下文确定的有限状态机。
[0028] 在不同的附图中使用了类似的附图标记来表示类似的组件。

【具体实施方式】
[0029] 在第一方面中,本中请描述了使用视频解码器对编码视频的比特流中的视频进行 解码的方法,所述视频包括被划分为块的图片。所述方法包括:针对变换块内的系数组,对 标识在生成所述变换块时使用的帧内编码模式的数据进行解码;基于所述帧内编码模式将 所述系数组划分为区域;以及对用于重构所述系数组的系数的二进制值进行熵解码,其中 所述熵解码包括基于哪个区域与该二进制值相关联来确定上下文。
[0030] 本中请还公开了使用视频编码器对视频进行编码的方法,所述视频包括被划分为 块的图片。所述方法包括:使用帧内编码模式根据各块之一的空间预测来生成该块的残余 数据;对所述残余数据进行频谱变换,以获得变换系数的变换块,所述变换块被进一步划分 为系数组;对所述系数组之一的变换系数进行程-游编码,以生成程-游对;以及对所述 程-游对进行二进制化和熵编码,包括确定二进制化的程-游对的每个二进制值的上下文, 其中,基于所述帧内编码模式将所述系数组划分为区域,以及确定二进制值的上下文至少 部分基于哪个区域与该二进制值相关联。
[0031] 在又一方面中,本申请描述了被配置为实现这种编码和解码方法的编码器和解码 器。
[0032] 在再一方面中,本中请描述了存储计算机可执行程序指令的非瞬时计算机可读介 质,当执行所述计算机可执行程序指令时,所述计算机可执行程序指令将处理器配置为执 行所述编码和/或解码方法。
[0033] 根据以下结合附图对示例的描述的论述,本领域普通技术人员将理解本申请的其 他方面和特征。
[0034] 在随后的描述中,参考用于视频编码的AVS标准和/或开发中的AVS2标准来描 述一些示例实施例。本领域普通技术人员将理解:本申请不限于AVS或AVS2,而是可以适 用于其他视频编码/解码标准,包括可能的未来标准、多视图编码标准、可伸缩视频编码标 准、以及可重配置视频编码标准。
[0035] 在随后的描述中,当提到视频或图像时,术语帧、图片、切片、分片和矩形切片组可 以在某种程度上相互交换使用。在一些情况下,一系列帧/图片可以被称为"序列"。在其 他实现中可以使用其他术语。还将意识到:可以逐帧来执行特定编码/解码操作,一些是逐 切片执行的,一些是逐图片执行的,一些是逐分片执行的,且一些是逐矩形切片组执行的, 这取决于适用的图像或视频编码标准的具体要求或术语。在任何具体实施例中,适用的图 像或视频编码标准可以视情况确定下面描述的操作是针对帧和/或切片和/或图片和/或 分片和/或矩形切片组来执行的。因此,本领域普通技术人员在考虑到本公开的情况下将 理解:针对给定实施例,本文描述的具体操作或过程以及对帧、切片、图片、分片、矩形切片 组的具体引用适用于帧、切片、图片、分片、矩形切片组、还是这些中的一些或全部。如根据 以下描述将变得显而易见的,这对于编码树单位、编码单位、预测单位、变换单位等同样成 立。术语"块"可以用于指代编码树单位、编码单位、预测单位、或变换单位,这取决于其所 使用的上下文。
[0036] 将理解:本文描述的编码器或解码器均可以在包含一个或多个处理元件和存储器 在内的专用计算设备或通用计算设备上实现。编码器或解码器执行的操作视情况可以例如 通过专用集成电路来实现,或通过所存储的可由通用处理器执行的程序指令来实现。设备 可以包括附加软件,该附加软件包括例如用于控制基本设备功能的操作系统。本领域普通 技术人员在注意到以下描述的情况下将意识到其中可以实现编码器或解码器的设备和平 台的范围。
[0037] 编码器接收视频源并产生编码比特流。解码器接收编码比特流并输出解码视频 帧。解码器可以被实现为视频回放设备的一部分,即,可以在显示设备上显示输出视频。将 理解:诸如计算机、机顶盒、DVD或蓝光播放器之类的视频回放机和/或移动手持设备可以 在显示设备上显示之前在存储器中对解码帧进行缓存。编码器和解码器可以被配置为以符 合多种视频压缩标准的方式来工作。例如,编码器和解码器可以是符合AVS的。在其他实 施例中,编码器和解码器可以符合其他视频压缩标准,包括AVS标准的演进,例如AVS2。
[0038] 与任何基于块的混合编码框架一样,AVS将图片/帧划分为块。使用预测操作来 生成预测块。该预测可以是空间预测,即帧内预测,在帧内预测中,本地重构像素是预测的 基础,或者预测可以是时间预测,即帧间预测,在帧间预测中,来自附近图片/帧的重构像 素是预测的基础。预测块和原始数据之间的差异是后续被编码的残余或误差。
[0039] 首先通过以下方式对残余进行编码:使用例如DCT(或DST、或小波变换等)操作 对残余进行频谱变换以将残余数据块变换为变换系数块。最左上角的系数是DC系数,且其 他系数越远离最左上角系数,就是逐渐越高频率的系数。在很多情况下,变换块的右下部分 有可能包含所有零系数,这就是为什么频谱变换对压缩有帮助。
[0040] 然后使用量化步长对变换系数进行量化。在一些情况下,量化步长对于给定序列、 图片/帧、或块可以是固定的。在一些情况下,量化步长更一般地是量化矩阵,其中,可以对 变换块中的不同系数位置进行使用位置特定量化步长的量化。在一些实施例中,变换和量 化操作被集成到单一操作中。在一些情况下,本文的描述可以将量化变换系数简称为"变换 系数"或"系数"。将意识到:当提到对"变换系数"或"系数"的熵编码时,这些变换系数通 常将是已被量化的。
[0041] 根据适用的编码标准所规定的语法和编码方案,对量化变换系数块进行熵编码。 在AVS情况下,按反扫描顺序来读取系数,其中,将扫描顺序定义为从最左上角系数到最右 下角系数前进的锅齿扫描顺序。AVS中的实际编码开始于块中的最后有效(significant)系 数,即,按扫描顺序的最后非零系数,并按反扫描顺序回到最左上角系数。被编码的数据包 括四部分[程、游、符号、Ε0Β]。"程"指示当前非零系数的量值(减1),"游"指示当前系数 和按反扫描顺序的下一个非零系数之间的零系数的数目,符号指示非零系数的符号,以及 Ε0Β标志指示该当前系数是否是块中按扫描顺序的"第一个"非零系数,S卩,这是否是该块的 按反扫描顺序编码的最后非零系数。
[0042] 使用一元二进制化对"游"和"程"值进行二进制化。然后对二进制化的数据进行 上下文自适应熵编码。
[0043] 如上所述,Ε0Β标志表示在具有相对多的非零系数的块中的显著开销成本。此外, "游"值可以在具有至少一个高频非零系数的稀疏块中较大,其导致由于一元二进制化方案 而产生的对大量二进制值进行编码。最后,在解码器完成对所有变换系数数据的解码并检 测到指示当前非零系数完成了该块的数据的Ε0Β标志之前,解码器不知道正在被解码的任 何数据在块中的位置。
[0044] 本申请提供了通过信号通知最后有效系数数据来消除对Ε0Β标志的使用的方法 和系统。此外,为了改进在使用该方案进行变换编码的压缩效率,本申请提供了将每个块进 一步划分为非重叠的系数组的方法和系统。在很多实施例中,系数组是正方形块,例如4x4, 然而在一些实施例中,它们可以是非正方形的。在一些情况下,可以将系数组称为"子块"或 "子编码块"。
[0045] 现在参考图1,其示出了变换块100的示例。在该情况下,变换块100是16x16变 换系数块。该变换块100已被分为十六个4x4系数组(CG),其中一些标有附图标记102。每 个系数组102包含十六个变换系数。
[0046] 逐系数组来执行对变换系数的编码。即,对一个系数组中的十六个变换系数进行 编码,之后移动到下一个系数组。
[0047] 在图1中指出了组扫描顺序104。在本示例中的组扫描顺序106是锯齿扫描顺序, 其从最左上角系数组开始并向着最右下角系数组前进。在一些实施例中,按反组扫描顺序 对系数组进行编码/解码,这意味着最左上角系数组是要编码/解码的最后系数组。
[0048] 现在还参考图2,其示出了变换块100和在系数组102a之一中的扫描顺序108。系 数组中的扫描顺序108对该系数组内的系数的处理进行排序。在该示例中,扫描顺序108 是系数的锯齿扫描顺序。在一些实施例中,按扫描顺序108的逆序("反扫描顺序")对系 数(特别是它们的程-游-符号数据)进行编码/解码。反扫描顺序开始于最右下角系数 并向着最左上角系数以锯齿扫描方式前进。
[0049] 将理解:在这些示例中描述的基于锯齿的扫描顺序和组扫描顺序表示了一种可能 的扫描顺序集合。在其他实施例中,扫描顺序或组扫描顺序可以是对角式、垂直式、水平式、 或对块和/或系数组中的位置的任何其他规定排序。在一个实施例中,组扫描顺序和系数 组中的扫描顺序可以不同,即例如一个可以是锯齿的,而另一个可以是对角的。
[0050] 将变换块100划分为系数组102 (示出为102a、102b、102c)使得能够将CG标志用 于信号通知特定系数组是否包含任何非零系数。如果系数组的所有系数是零,则编码器不 需要对除了 CG标志之外的任何数据进行编码。即,编码器仅对具有非零系数的系数组的 程、游、和符号数据进行编码,例如,那些具有被设置为1的CG标志的系数组。在一些情况 下,可以假定最左上角系数组的CG标志被设为1 ;S卩,不对该系数组的CG标志进行编码,且 始终对系数(它们的程-游-符号数据)进行编码。
[0051] 在一些实施例中,可以将CG标志作为集合进行发送,然后按反组扫描顺序发送每 个非零CG的系数数据。在一些其他实施例中,在对下一个CG标志进行编码之前,指示CG 包含非零系数的每个CG标志在编码比特流中可以后接该CG的数据,例如,程、游、和符号数 据(S卩,CG标志可以与程-游-符号数据交织)。
[0052] 本申请提出了对变换块中最后非零系数的位置进行编码,而不发送Ε0Β标志。一 旦解码器知道变换块中最后非零系数的位置,则在其对程-游数据进行解码时,它将知道 其何时到达系数组中的最后系数,使得Ε0Β标志不必要。此外,本申请提出了对两级最后系 数位置信息进行编码:(a)按组扫描顺序包含非零系数的最后系数组的位置;以及(b)在该 最后系数组中的最后非零系数的位置。从而,解码器将知道最后非零系数的坐标,且因此知 道与变换块的所有后续解码的CG标志、程、游、和符号数据相关联的位置信息。
[0053] 图2示出了系数组102b中的非零系数110和系数组102c中的非零系数112。在 旧的AVS编码方案下,非零系数112将是整个变换块100上按反锯齿扫描顺序的最后系数。 然而,根据本申请的该示例实施例,按反组扫描顺序的最后非零系数组是系数组l〇2b,且该 系数组中的最后非零系数是非零系数110。因此,编码器对系数组l〇2b的位置和非零系数 110在该系数组102b中的位置进行编码。然后编码器继续对最后系数组102b和最左上角 系数组(其CG标志可以被推断为1)之间的剩余系数组的CG标志以及具有被设为(或被推 断为)1的关联CG标志的每个系数组的程-游-符号数据进行编码。如稍后将描述的,在 一些示例实施例中,还可以对每个非零CG内的最后系数位置进行编码。在其他实施例中, 可以针对下一个CG对"最后游"进行编码,以指定在最右下角系数和下一个CG中的最后非 零系数之间的零的数目,或在一些实施例中,游数据可以跨过CG边界(且可以按反组扫描 顺序跳过所有零CG)。
[0054] 图3示出了被划分为4x4个系数组的示例16x16变换块200。最后系数组202a位 于xCG = 3, yCG = 1。在一些实施例中,这些坐标可以被二进制化和编码。在其他实施例 中,可以将最后非零系数组的位置作为系数组按组扫描顺序的位置来信号通知,在本示例 中该位置是12 (在0,1,...,15的范围内)。在图3的关联系数组中示出了各个系数组的 CG标志的值。将意识到:不需要对最后系数组202a的CG标志进行编码,这是由于基于其 是最后系数组,因此知道其包含非零系数。在一些实施例中,还可以推断出在xCG = 0,yCG =0处的第一个系数组的CG标志为1,而不管其是否包含任何非零系数,这是由于该系数组 具有全零系数的可能性非常小。如果(如下面方括号所指示地)省略了这两个CG标志,则 在本示例中,按反组扫描顺序的编码CG标志是:
[0055] [1]1 0 0 0 1 0 1 0 0 1 1[1]
[0056] 现在参考图4,其以流程图形式示出了用于在视频编码器中对变换系数进行编码 的一个示例过程300。如操作302所示,首先对残余数据块进行变换和量化,以产生量化变 换系数块。请回忆本示例实施例假定不管8x8、16xl6、32x32还是某个其他大小,变换块被 划分为系数组。系数组可以是正方形变换系数组。在一些情况下,它们可以是2x2、4x4、6x6、 8x8、或某个其他大小。在一些实现中,系数组大小可以取决于变换块大小。
[0057] 在操作304中,编码器对按组扫描顺序的最后非零系数组的位置进行编码。组扫 描顺序是从最左上角到最右下角的系数组的排序。在本示例中,组扫描顺序可以是锯齿扫 描顺序。这些系数组中包含非零系数的最后系数组是最后非零系数组。在操作304中对其 在变换块中的位置进行编码。
[0058] 在操作306中,编码器对该最后非零系数组中的最后非零系数的位置进行编码。 所编码的位置是在系数组内的位置且不是在变换块中的绝对位置,这是因为已经对系数组 位置进行了编码。在该系数组中的最后非零系数是在系数组中按扫描顺序的最后非零系 数。
[0059] 然后在操作308中按反组扫描顺序对最后非零系数组和最左上角系数组之间的 所有系数组的CG标志进行编码。在该实施例中,CG标志与程-游数据不交织。
[0060] 然后在操作310中,对具有非零系数的系数组的程、游、符号数据进行编码。这包 括其CG标志可以被推断为1的系数组,而不管该系数组是否包含非零系数,例如在一些实 施例中的最左上角系数组。
[0061] 最后,在操作312中,在比特流中输出编码数据。
[0062] 在图5所示的示例过程400中以流程图形式示出了在解码器处的对应操作。在 操作402,解码器对按组扫描顺序的最后非零系数组的位置进行解码。从而,解码器能够识 别变换块中的哪个系数组是按组扫描顺序的包含非零系数的最后系数组。然后在操作404 中,解码器对在最后非零系数组中按扫描顺序的最后非零系数的位置进行解码。
[0063] 然后解码器在操作406中对系数组标志进行解码。针对最后非零系数组和最左上 角系数组之间的每个系数组,可以按反组扫描顺序对CG标志进行解码。注意到:该示例假 定最左上角系数组的CG标志被推断为1,然而在其他示例实施例中,可以对其进行编码/解 码。从而解码器能够识别变换块中的哪些系数组包含非零系数,且从而它们是否具有针对 其系数而编码的程、游、和符号数据。
[0064] 在操作408中,解码器对非零系数组的程、游、和符号数据进行解码,以重构这些 系数组的量化变换域系数。如下面将详细描述的,根据实现方式,解码器可以对每个非零系 数组的最后游数据、每个非零系数组的最后非零系数位置数据、或跨系数组边界的游数据 进行解码。将全零系数组重构为全零系数。
[0065] 在操作410中,解码器对重构的变换系数块进行反量化和反变换,以生成重构残 余块。通过与后续预测操作、滤波等的组合,解码器输出重构的像素数据。
[0066] 如本领域技术人员在考虑到本文的完整描述的情况下将理解的:上述过程中的一 些操作可以变化,使得它们按不同顺序发生,或以交织方式发生,或以组合方式发生。
[0067] 对最后非零CG位置讲行编码
[0068] 如上所述,本申请提供了部分通过对包含非零系数的按组扫描顺序的最后系数组 的位置进行编码来提供对最后非零系数的位置的信号通知。存在可以对该位置进行编码的 各种方式。下面提供一些示例。
[0069] 在一个示例中,使用χ-y坐标来信号通知最后非零系数组位置。例如,xCG可以指 示X位置,且yCG可以指示 y位置。可以例如通过一元二进制化对这些值中的每一个值进 行二进制化。在另一实施例中,可以使用固定长度的二进制数字。
[0070] 然后使用上下文自适应编码对二进制化的x-y坐标进行编码。可以基于块大小和 正在被编码的特定二进制值的二进制值索引来确定用于对二进制化坐标进行编码的上下 文。可以针对xCG和yCG使用单独的上下文。在一个示例中,可以通过以下方式来给出上 下文确定:
[0071] ctxlnc (lastCGX) = 0,如果块大小是8x8且二进制值索引=0 ;
[0072] 2,如果块大小是16x16且二进制值索引=0 ;
[0073] 4,如果块大小是16x16且二进制值索引=1 ;
[0074] 6,如果块大小是16x16且二进制值索引=2 ;
[0075] 8,如果块大小是32x32且二进制值索引=0 ;
[0076] 10,如果块大小是32x32且二进制值索引=1 ;
[0077] 12,如果块大小是32x32且二进制值索引> 1 ;
[0078] ctxlnc (lastCGY) = 1,如果块大小是8x8且二进制值索引=0 ;
[0079] 3,如果块大小是16x16目二进制值索引=0 ;
[0080] 5,如果块大小是16x16且二进制值索引=1 ;
[0081] 7,如果块大小是16x16且二进制值索引=2 ;
[0082] 9,如果块大小是32x32且二进制值索引=0 ;
[0083] 11,如果块大小是32x32且二进制值索引=1 ;
[0084] 13,如果块大小是32x32且二进制值索引> 1 ;
[0085] 在本示例中,可以使用总共28个上下文:14个用于亮度(luma)分量且14个用于 色度分量。
[0086] 在另一示例中,x-y坐标的二进制化可以基于一元前缀和固定长度后缀的串联。注 意到:在假定使用4x4个系数组的情况下,这可以直到块大小达到32x32才改变二进制化坐 标。后缀可以是单一比特。然后可以使用旁路模式对后缀进行编码,即等概率,其避免了与 该二进制值的编码相关的上下文确定步骤。用于对前缀进行编码的上下文是基于块大小和 二进制值索引来确定的。
[0087] 在这些示例的另一变型中,对xCG和yCG进行联合编码;意味着引入了用于信号通 知最后非零系数组是否是在(〇,〇)处的最左上角系数组的标志,该最左上角系数组往往是 最有可能的最后非零系数组。如果设置了该标志,则对XCG和yCG的进一步编码不是必需 的。然而,如果未设置该标志,则对xCG值和yCG值进行编码。但是,由于编码器和解码器 将知道xCG和yCG值不能都是0,因此如果编码/解码的xCG值是零,则将对yCG值进行编 码和解码为(yCG-Ι)。下面阐述了示出了该变型的示例伪代码:
[0088] 编码器:
[0089]
[0090]

【权利要求】
1. 一种使用视频解码器对编码视频的比特流中的视频进行解码的方法,所述视频包括 被划分为块的图片,所述方法包括: 针对变换块内的系数组, 对标识在生成所述变换块时使用的帧内编码模式的数据进行解码; 基于所述帧内编码模式将所述系数组划分为区域;以及 对用于重构所述系数组的系数的二进制值进行熵解码,其中,所述熵解码包括基于哪 个区域与该二进制值相关联来确定上下文。
2. 根据权利要求1所述的方法,其中,所述视频解码器被配置为使用多个帧内编码模 式,所述多个帧内编码模式被分组为类别,以及标识包括标识所标识的帧内编码模式所属 的类别。
3. 根据权利要求2所述的方法,其中,每个类别具有用于将系数组划分为区域的相应 预定义划分,以及对所述系数组进行划分包括使用与所标识的类别相关联的预定义划分。
4. 根据权利要求2所述的方法,其中,所述类别包括垂直类别、水平类别、以及对角类 别。
5. 根据权利要求4所述的方法,其中,所述水平类别与使用垂直线将所述系数组划分 为两个区域的划分相关联。
6. 根据权利要求4所述的方法,其中,所述垂直类别与使用水平线将所述系数组划分 为两个区域的划分相关联。
7. 根据权利要求1所述的方法,其中,所述二进制值包括二进制化的程值的二进制值, 以及基于与该程值相对应的非零系数位于各区域中的一个区域中,将所述一个区域与该二 进制值相关联。
8. 根据权利要求1所述的方法,其中,所述二进制值包括二进制化的游值的二进制值。
9. 根据权利要求8所述的方法,其中,从当前非零系数开始按反扫描顺序将二进制化 的游值的二进制值一对一映射到系数,以及基于被映射到各二进制值中一个二进制值的系 数位于各区域中的一个区域中,将所述一个区域与所述一个二进制值相关联。
10. 根据权利要求1所述的方法,还包括:对与所述系数组中按扫描顺序的最后非零系 数相关的最后位置信息进行解码,其中,对最后位置信息进行解码发生在所述熵解码之前。
11. 一种用于对编码视频的比特流进行解码的解码器,所述解码器包括: 处理器; 存储器;以及 解码应用,所述解码应用被存储在存储器中并包含用于将所述处理器配置为执行根据 权利要求1至10中任一项所述的方法的指令。
12. -种存储处理器可执行指令的非瞬时处理器可读介质,当执行所述处理器可执行 指令时,所述处理器可执行指令将一个或多个处理器配置为执行根据权利要求1至10中任 一项所述的方法。
13. -种使用视频编码器对视频进行编码的方法,所述视频包括被划分为块的图片,所 述方法包括: 使用帧内编码模式根据各块之一的空间预测来生成该块的残余数据; 对所述残余数据进行频谱变换,以获得变换系数的变换块,所述变换块被进一步划分 为系数组; 对所述系数组之一的变换系数进行程-游编码,以生成程-游对;以及 对所述程-游对进行二进制化和熵编码,包括确定二进制化的程-游对的每个二进制 值的上下文,其中,基于所述帧内编码模式将所述系数组划分为区域,以及确定二进制值的 上下文至少部分基于哪个区域与该二进制值相关联。
14. 根据权利要求13所述的方法,其中,所述帧内编码模式是从多个帧内编码模式中 选择的,所述多个帧内编码模式被分组为类别,以及确定所述上下文包括:基于所述帧内编 码模式属于哪个类别来确定如何将所述系数组划分为区域。
15. 根据权利要求14所述的方法,其中,每个类别具有用于将系数组划分为区域的相 应预定义划分。
16. 根据权利要求14所述的方法,其中,所述类别包括垂直类别、水平类别、以及对角 类别。
17. 根据权利要求16所述的方法,其中,所述水平类别与使用垂直线将所述系数组划 分为两个区域的划分相关联。
18. 根据权利要求16所述的方法,其中,所述垂直类别与使用水平线将所述系数组划 分为两个区域的划分相关联。
19. 根据权利要求13所述的方法,其中,所述二进制值包括二进制化的程值的二进制 值,以及基于与该程值相对应的非零系数位于各区域中的一个区域中,将所述一个区域与 该二进制值相关联。
20. 根据权利要求13所述的方法,其中,所述二进制值包括二进制化的游值的二进制 值。
21. 根据权利要求20所述的方法,其中,从当前非零系数开始按反扫描顺序将二进制 化的游值的二进制值一对一映射到系数,以及基于被映射到各二进制值中一个二进制值的 系数位于各区域中的一个区域中,将所述一个区域与所述一个二进制值相关联。
22. 根据权利要求13所述的方法,还包括:对与所述系数组中按扫描顺序的最后非零 系数相关的最后位置信息进行编码,其中,对最后位置信息进行编码发生在所述二进制化 和熵解码之前。
23. -种用于在视频编码器中对视频进行编码的编码器,所述编码器包括: 处理器; 存储器;以及 编码应用,所述编码应用被存储在存储器中并包含用于将所述处理器配置为执行根据 权利要求13至22中任一项所述的方法的指令。
24. -种存储处理器可执行指令的非瞬时处理器可读介质,当执行所述处理器可执行 指令时,所述处理器可执行指令将一个或多个处理器配置为执行根据权利要求13至22中 任一项所述的方法。
【文档编号】H04N19/13GK104272736SQ201380016686
【公开日】2015年1月7日 申请日期:2013年1月16日 优先权日:2013年1月16日
【发明者】何大可, 计天颖, 王競, 王小峰 申请人:黑莓有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1