首页> 中国专利> 高效视频编码中的预测残余的扫描

高效视频编码中的预测残余的扫描

摘要

一种包含处理器的视频编解码器,所述处理器配置成生成当前块的预测块、计算所述当前块与所述预测块之间的差值以生成残余块、扫描位于所述残余块中的多个预测残余,并且如果多个残余值包含至少一个非零预测残余,那么对所述至少一个非零预测残余进行熵编码。一种包含以下步骤的方法:生成当前块的预测块、计算所述当前块与所述预测块之间的差值以生成残余块、扫描位于所述残余块中的多个预测残余,并且如果所述多个残余值包含至少一个非零预测残余,那么对所述至少一个非零预测残余进行熵编码。

著录项

  • 公开/公告号CN103959790A

    专利类型发明专利

  • 公开/公告日2014-07-30

    原文格式PDF

  • 申请/专利权人 华为技术有限公司;

    申请/专利号CN201280056798.0

  • 发明设计人 高文;姜明强;何烨;宋锦;于浩平;

    申请日2012-11-19

  • 分类号H04N19/50(20140101);H04N19/176(20140101);H04N19/129(20140101);H04N19/157(20140101);

  • 代理机构

  • 代理人

  • 地址 518129 广东省深圳市龙岗区坂田华为总部办公楼

  • 入库时间 2023-12-17 00:55:30

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-05-24

    授权

    授权

  • 2014-08-27

    实质审查的生效 IPC(主分类):H04N19/50 申请日:20121119

    实质审查的生效

  • 2014-07-30

    公开

    公开

说明书

相关申请案的交叉参考

本申请案要求由高文(Wen Gao)等人在2011年11月18日提交的 名称为“用于高效视频编码的新无损编码工具(New Lossless Coding Tools  for High Efficiency Video Coding)”的第61/561,705号美国临时专利申请案 的优先权,并且要求由高文(Wen Gao)等人在2012年11月16日提交的 名称为“高效视频编码中的预测残余的扫描(Scanning of Prediction  Residuals in High Efficiency Video Coding)”的第13679184号美国专利申 请案的优先权,所述申请案如同被复制以全文引用的方式并入本文中。

技术领域

本发明涉及通信网络,并且更确切地说,涉及在高效视频编码中的 预测残余的扫描。

背景技术

当数据将要在宽带容量受限的通信网络中流过或以其他方式传送 时,需要对大量的视频数据进行描述,即使在影片相对较短情况下也会如 此,这种情况可能会产生问题。因此,视频数据通常先进行压缩,然后在 现代电信网络中传送。在传输之前,视频压缩设备通常在源处使用软件和 /或硬件来对视频数据进行编码,从而减少了用以表示数字视频图像所需的 数据量。随后经压缩的数据在目的地由视频解压装置接收,所述视频解压 装置对视频数据进行解码。在网络资源受限而更高质量的视频需求不断增 加的情况下,需要改进的压缩以及解压技术来提高压缩比,而很少或几乎 不会损坏图像质量。

例如,视频压缩可以对预测残余(表示原始像素与预测像素之间的 差值)而非原始像素进行编码以降低比特率。预测残余可以进行变换和量 化而产生量化后的变换系数,随后可以对所述量化后的变换系数进行扫描 以确定非零系数的位置。因为非零系数通常会位于变换块的左上部分,所 以现有扫描方案已经针对非零系数的此分布图案进行设计。在可以略过变 换的方案中,非零系数可能不集中在左上部分。因此,当对残余块中的任 何地方都可能具有非零值的预测残余进行扫描时,现有扫描方案可能是低 效的。

发明内容

在一个实施例中,本发明包括包含处理器的视频编解码器,所述处 理器配置成生成当前块的预测块、计算当前块与预测块之间的差值以生成 残余块、扫描位于残余块中的多个预测残余,并且如果多个残余值包含至 少一个非零预测残余,那么对至少一个非零预测残余进行熵编码。

在另一实施例中,本发明包括一种方法,所述方法包含生成当前块 的预测块、计算当前块与预测块之间的差值以生成残余块、扫描位于残余 块中的多个预测残余,并且如果多个残余值包含至少一个非零预测残余, 那么对至少一个非零预测残余进行熵编码。

在又另一实施例中,本发明包括视频编解码器,所述视频编解码器 包含:配置成接收比特流的接收器,所述比特流包含至少一个经编码的预 测残余、经编码的两位语法元素,以及经编码的完整重要图;以及处理器, 所述处理器耦合到接收器上并且配置成对至少一个经编码的预测残余、经 编码的两位语法元素,以及经编码的完整重要图进行熵解码以分别生成至 少一个经解码的预测残余、经解码的两位语法元素,以及经解码的完整重 要图,并且基于至少一个经解码的预测残余、经解码的两位语法元素,以 及经解码的完整重要图来重建残余块。

从结合附图以及权利要求书进行的以下详细描述中将更清楚地理 解这些以及其他特征。

附图说明

为了更完整地理解本发明,现在参考以下结合附图和具体实施方式 进行的简要描述,其中相同参考标号表示相同部分。

图1为多个帧内预测模式的图。

图2为变换略过编码方案的一个实施例的示意图。

图3为变换略过解码方案的一个实施例的示意图。

图4为无变换量化编码方案一个的实施例的示意图。

图5为无变换量化解码方案的一个实施例的示意图。

图6A到图6D为Z字形扫描图案的实施例的图。

图7为编码方法的一个实施例的流程图。

图8为计算机系统的示意图。

具体实施方式

在开始应理解,尽管下文提供一个或多个实施例的说明性实施方 案,但可以使用任何数目的技术,不管是当前已知还是现有的,来实施所 揭示的系统和/或方法。本发明决不应限于下文所示出的说明性实施方案、 图式以及技术,包括本文中所示出以及描述的示例性设计以及实施方案, 而是可以在所附权利要求书的范围以及其等效物的整个范围内修改。

视频媒体可以涉及相对较快地连续显示一系列静态图像或帧,从而 让观察者感觉到运动。每个帧可以包含多个图像样本或像素,每个图像样 本或像素可以表示帧中的单个参考点。在数字处理期间,每个像素可以被 分配一个整数值(例如,0、1、…或255),所述整数值表示在对应参考点 处的图像质量或特征,诸如,亮度(luma或Y)或色度(包括U和V的 chroma)。使用时,图像或视频帧可以包含大量像素(例如,1920×1080 的帧中包含2,073,600个像素),因此对每个像素独立地进行编码和解码(下 文中简称为编码)可能繁琐而低效。为了提高编码效率,通常将视频帧分 成多个矩形块或宏块,所述矩形块或宏块可以作为诸如预测、变换以及量 化等处理过程的基本单元。例如,典型的N×N个块可以包含N2个像素, 其中N是整数并且通常是四的倍数。

在由国际电信联盟(ITU)电信标准化部门(ITU-T)和国际标准化 组织(ISO)/国际电工技术委员会(IEC)发布并准备作为未来视频标准 的高效率视频编码(HEVC)的工作草案中,已经引入了新的块概念。例 如,编码单元(CU)可以指代将视频帧分为相等尺寸或不同尺寸的正方 形块的子分区。在HEVC中,CU可以取代先前标准的宏块结构。根据帧 间或帧内预测模式,一个CU可以包含一个或多个预测单元(PU),每个 预测单元可以用作预测的基本单元。例如,对于帧内预测而言,一个64×64 的CU可以对称地分为四个32×32的PU。又例如,对于帧间预测而言, 一个64×64的CU可以非对称地分为一个16×64的PU和一个48×64的PU。 类似地,一个PU可以包含一个或多个变换单元(TU),每个变换单元可 以用作变换和/或量化的基本单元。例如,一个32×32的PU可以对称地分 为四个16×16的TU。一个PU的多个TU可以共享同一预测模式,但是可 以单独地进行变换。本文中,术语“块”通常可以指宏块、CU、PU或TU 中的任一者。

连续的视频帧或切片可以是大体相关的,使得帧中的块与先前编码 的帧中的对应块不会有显著不同。帧之间的预测(简称帧间预测)可以利 用帧序列中的时间冗余,例如,连续帧的对应块之间的相似性,以便减少 压缩数据。在帧间预测中,基于位于当前帧之前的一个或多个参考帧中的 对应块,可以根据编码顺序实施运动补偿算法以计算当前帧中的当前块的 运动矢量。

类似地,在视频帧内,像素可以与同一帧内的其他像素相关,使得 块内的像素值或一些块上的像素值可能仅略有不同和/或呈现出重复的结 构(texture)。为了利用同一帧中的相邻块之间的空间相关性,可以通过视 频编码器/解码器(编解码器)来实施帧内部的预测(简称帧内预测)以插 入来自一个或多个先前编码的相邻块的预测块(或经预测块),从而产生 当前块的估计。编码器和解码器可以独立地插入预测块中,从而使得大部 分的帧和/或图像能够根据相对少量的参考块的通信进行重建,所述参考块 例如,位于帧的左上角(并从此处延伸)的块。

为了控制这些编码效率,视频/图像编码标准可以通过在帧内预测期 间利用多个预测模式来提高预测精确性,所述预测模式中的每一者可以生 成唯一的结构。图1为多个帧内预测模式10(下文中也称作帧内模式)的 图,所述帧内预测模式10可以用于HEVC统一帧内预测(UIP)方案中。 对于亮度分量,帧内预测模式10可以包含多达35个帧内预测模式,所述 帧内预测模式可以包括33个定向模式以及2个非定向模式,诸如直流 (DC)预测模式和平面预测模式。每一个模式可以被分配一个取决于应用 的模式名称。在HEVC中,平面模式可以被分配或指定为模式0、DC模 式为模式3、水平模式为模式2等等。尽管图1示出了针对亮度分量(也 即,Y)的35个帧内预测模式,但是根据块的尺寸、帧内预测方案,和/ 或视频编码标准,也可以使用任何其他数目的预测模式。对于两个色度分 量(也即,U和V)中的每一者,可以使用多达6个帧内预测模式,所述 帧内预测模式包括来自亮度预测模式(通常称作线性方法(LM)模式)、 垂直预测模式、水平预测模式、对角线模式、DC模式,以及从亮度分量 获得的直接模式(DM)的色度。在DM模式中,色度块使用与其对应的 亮度块相同的帧内预测模式。

如图1中所示,33个定向模式可以关于垂直方向、水平方向以及对 角线方向对称。因此,只需要9个方向来表示33个方向,而其他24个方 向可以通过加法、减法和/或移位运算获得。例如,可以使用包括模式1、 23、13、24、6、25、14、26和7的9个模式,这些模式在45度(零度表 示右水平侧)到90度的范围内。所述9个模式中的每一者都具有与右水 平线形成的预定义的角度。在HEVC中,所述角度可以定义为arccot(k/32), 其中k具有分别对应于9个模式1、23、13、24、6、25、14、26和7的 值0、2、5、9、13、17、21、26和32。例如,模式14具有的角度为 arccot(21/32)=56.7度。

在帧内预测之后,编码器可以计算预测块与原始块之间的差值(例 如,通过从原始块减去预测块)以产生残余块。由于用来表示残余块所需 的数据量通常小于用来表示原始块所需的数据量,所以可以对残余块而非 原始块进行编码以获得更高的压缩比。在现有的HEVC软件模型(HM) 中,空间域中的残余块的预测残余可以被转换成频域中的变换矩阵的变换 系数。所述转换可以通过二维变换来实现,例如,与离散余弦变换(DCT) 非常相似或相同的变换。在变换矩阵中,低索引变换系数(例如,在左上 部分中),例如与具有低空间频率分量的大空间特征相对应,可能具有相 对较高的量值;而高索引变换系数(例如,在右下部分中),例如与具有 高空间频率分量的小空间特征相对应,可能具有相对较小的量值。

此外,在跟随着变换的量化操作中,高索引变换系数的数量可以减 小至零,从而可以在随后的编码步骤中被跳过。由于零变换系数可能集中 于变换矩阵的右下部分,因此块结束(EOB)符号可以用于表示最后的非 零变换系数。

为了确定EOB位置以及其他非零变换系数的潜在位置,在当前HM (例如,HM4.0)中,模式相关的系数扫描(MDCS)可以用于帧内编码。 可以有三种扫描图案或顺序,包括Z字形图案(由索引0表示)、水平图 案(由索引1表示),以及垂直图案(由索引2表示)。MDCS的主要思想 为对于相对较小的TU(例如,8×8或4×4的TU),当(例如)在垂直方 向进行帧内预测(也即,图1中的模式1)时,经变换的系数可能通常出 现在变换矩阵的顶部水平部分中。在此情况下,水平扫描顺序可以有助于 减少用以对重要图以及EOB进行编码所需的总比特数。类似地,当在水 平方向进行帧内预测(也即,图1中的模式2)时,变换系数的垂直扫描 可能更加有效。基于此思想,映射表或查找表被采纳进HM4.0中,如表 1中所示。可以看到,可以基于帧内预测模式以及TU的尺寸来选择扫描 图案。

表1-HM4.0中的MDCS映射表

当前HM中的扫描方案可能已经设计用于经量化的变换系数的扫 描,所述经量化的变换系数在变换块的特定区域或部分中(例如,在左上 部分中)通常具有较高的绝对值。然而,在一些编码方案中可能不存在变 换块,在所述情况下,可以直接扫描预测残余并且对其进行编码。无论是 否经量化,预测残余都可以呈现出与变换系数不同的统计特性。例如,具 有高绝对值的预测残余可能出现在残余块中的任何地方,例如,在右下部 分或右上部分中。与变换系数相比,此分布图案可能是不同的,所述变换 系数通常在右下部分中具有较小绝对值或零绝对值。因此,为了适合非零 预测残余的分布图案,可能需要更改现有的扫描方案。

本文中所揭示的为用于预测残余的改进扫描的系统和方法。在本发 明中,变换略过编码方案可以用于实现无损编码,并且无变换量化编码方 案(有时称为变换跳过方案)可以用于实现近无损编码。在这些方案中, 经量化或未经量化的预测残余都可以使用熵编码器来直接进行编码。在没 有变换步骤将非零残余值集中在变换矩阵左上角的情况下,非零预测残余 可能以不同方式表现,例如,出现在残余块的随机位置中。在对非零预测 残余进行编码之前,可以对所有的预测残余进行扫描以生成指示出非零预 测残余以及零预测残余的位置的完整重要图。为了提高对完整重要图进行 编码的效率,本文中揭示了模式相关的残余扫描(MDRS)方案,所述方 案基于预测模式来确定起始位置和/或扫描顺序。例如,在帧间预测中,起 始位置可以为残余块的四个角中的任一者,并且两位语法元素可以用于指 定起始位置。在帧内预测中,扫描顺序可以取决于帧内预测模式。取决于 预测块(或残余块)的尺寸是否不超过预设限制以及帧内预测模式是在水 平组、垂直组还是在对角线组中,可以实施包括水平、垂直,以及Z字形 顺序的各种扫描顺序。

图2示出了可以在视频编码器中实施的变换略过编码方案100的一 个实施例。变换略过编码方案100可以包含如图2中所示进行布置的率失 真优化(RDO)模块110、预测模块120、熵编码器130以及重建模块140。 在操作中,包含视频帧(或切片)序列的输入视频可以由编码器接收。本 文本中,帧可以指预测帧(P帧)、帧内编码帧(I帧),或双向预测帧(B 帧)中的任一者。同样,切片可以指P切片、I切片,或B切片中的任一 者。

RDO模块110可以配置成为一个或多个其他模块作出逻辑决策。在 一个实施例中,基于一个或多个先前编码的帧,RDO模块110可以确定正 进行编码的当前帧(或切片)被分成多个CU的方法,以及CU被分成一 个或多个PU和TU的方法。例如,当前帧的均质区域(即,这些区域中 的像素值没有差别或差别很小)可以分成相对较大的块,而当前帧的细节 区域(即,这些区域中的像素值差别很大)可以分成相对较小的块。此外, RDO模块110可以通过确定预测当前帧的方法来控制预测模块120。当前 帧可以通过帧间和/或帧内预测进行预测。帧间预测可以使用运动补偿算法 来实施。帧内预测可以使用多个可用预测模式或方向(例如,HEVC中亮 度分量的35个模式)中的任一者来实施,其可以由RDO模块110确定。 例如,RDO模块110可以针对所有帧内预测模式或帧内预测的子集来计算 绝对差之和(SAD),并且选择产生最小SAD的帧内预测模式。

基于由RDO模块110作出的逻辑决策,预测模块120可以利用一 个或多个参考帧(帧间预测)或多个参考像素(帧内预测)来生成预测块, 所述预测块可能是对当前块的估计。随后,可以从当前块中减去预测块, 从而生成残余块。残余块可以包含多个残余值,每个残余值都可以表示当 前块中的像素与预测块中的对应像素之间的差值。残余值和预测残余在本 文中可以互换着使用。随后,可以扫描残余块的所有值,并且可以确定非 零残余值的位置。对残余值的扫描从起始位置开始并且按照特定的扫描顺 序。起始位置和/或扫描顺序可以基于用于生成预测块的预测模式以及预测 块的尺寸来确定。例如,如果残余块通过帧间预测生成,那么起始位置可 以为该残余块的四个角中的任一者,并且扫描顺序可以为水平顺序或Z字 形顺序。再如,如果残余块通过帧内预测生成,那么起始位置可以为该残 余块的左上角像素,并且扫描顺序可以为水平、垂直,或Z字形顺序。

在一个实施例中,指出每一个非零残余值以及每一个零残余值的位 置的完整重要图可以在扫描之后生成。随后,完整重要图以及非零残余值 可以由熵编码器130进行编码并且被插入经编码的比特流中。熵编码器 130可以采用任何熵编码方案,诸如上下文自适应二进制算术编码 (CABAC)编码、指数哥伦布编码,或定长编码,或其任意组合。在变换 略过编码方案100中,由于在没有变换步骤或量化步骤的情况下对残余块 进行编码,因此编码过程中不会引起任何信息损失。

为了便于视频帧的连续编码,残余块也可以送入重建模块140中, 该重建模块可以生成参考像素以用于未来块的帧内预测,或生成参考帧以 用于未来帧的帧间预测。如果需要,可以在参考帧/像素用于帧间/帧内预 测之前对它们进行滤波。由于所属领域的技术人员熟悉预测模块120和重 建模块140的功能,因此将不再进一步对这些模块进行描述。应注意,图 1可以为视频编码器的简化图示,因此它可以只包括存在于编码器中的模 块的一部分。其他模块(例如,滤波器、扫描仪以及发射器)虽然未在图 1中示出,但是也可以被包括在内以便于视频编码。在从编码器进行传输 之前,经编码的比特流可以进一步配置成包括其他信息,诸如视频分辨率、 帧速率、块分区信息(尺寸、坐标),预测模式等,因此可以恰当地对视 频帧的编码序列进行解码。

图3示出了可以在视频解码器中实施的变换略过解码方案200的一 个实施例。变换略过解码方案200可以对应于变换略过编码方案100,并 且可以包含如图3所示进行布置的熵解码器210、预测模块220以及重建 模块230。在操作中,含有视频帧序列信息的经编码的比特流可以由熵解 码器210接收,所述熵解码器可以将比特流解码成未压缩格式。非零经编 码的残余值可以由熵解码器210进行解码。所述熵解码器210可以采用任 何熵解码方案,诸如CABAC解码、指数哥伦布解码,或定长解码,或其 任意组合。

对于正进行解码的当前块,残余块可以在执行熵解码器210之后生 成。为了恰当放置每一个非零残余像素,可以使用由熵解码器210进行解 码的完整重要图。此外,含有预测模式的信息也可以由熵解码器210进行 解码。随后,基于预测模式,预测模块220可以生成预测块。如果经解码 的预测模式为帧间模式,那么可以使用一个或多个先前解码的参考帧来生 成预测块。否则,如果经解码的预测模式为帧内模式,那么可以使用多个 先前解码的参考像素来生成预测块。随后,重建模块230可以将残余块与 预测块结合起来以生成经重建块。另外地,为了便于视频帧的连续解码, 可以在参考帧中使用重建块,以对未来帧进行帧间预测。重建块的一些像 素也可以用作参考像素,以用于同一帧中的未来块的帧内预测。

在使用中,如果使用诸如变换略过编码方案100和变换略过解码方 案200等无损方案对原始块进行编码和解码,那么整个编码过程中将不会 引起信息损失。因此,除非在传输期间导致失真,否则重建块可以与原始 块完全相同。此编码的高保真度可以改进用户在查看诸如复合视频中的文 本和图形等视频内容时的体验。

有时可能需要将量化步骤而非变换步骤包括在编码过程中。图4示 出了无变换量化编码方案400(有时称为变换跳过方案)的一个实施例, 其可以在视频编码器中实施。无变换量化编码方案400可以包含RDO模 块410、预测模块420、量化模块430、熵编码器440、去量化模块450, 以及重建模块460。无变换量化编码方案400的一些方面可以与图2中的 变换略过编码方案100相同或相似,因此为了简洁起见,进一步的描述将 关注不同的方面。

无变换量化编码方案400可以在视频编码器中实施,所述视频编码 器可以接收包含视频帧序列的输入视频。RDO模块410可以配置成控制一 个或多个其他模块。基于由RDO模块410作出的逻辑决策,预测模块420 可以利用外部参考像素和内部参考像素两者来生成当前块的预测像素。可 以从当前块中的对应原始像素中减去每个预测像素,从而生成残余像素。 在已经对所有残余像素进行计算以获得残余块之后,残余块可以经过量化 模块430。残余值的范围可能被改变,例如,每一个残余值除以因数五。 因此,一些非零残余值可以被转换成零残余值(例如,小于某一阈值的值 被视为零)。

在已经针对当前块生成所有经量化的残余像素之后,可以对经量化 的残余像素进行扫描,并且可以确定非零经量化的残余值的位置。对残余 值的扫描从起始位置开始并且按照特定的扫描顺序。起始位置和/或扫描顺 序可以基于预测块的尺寸以及用于生成预测块的预测模式来确定。例如, 如果残余块通过帧间预测生成,那么起始位置可以为经量化的残余块的四 个角中的任一者,并且扫描顺序可以为水平顺序或Z字形顺序。再如,如 果残余块通过帧内预测生成,那么起始位置可以为经量化的残余块的左上 角像素,并且扫描顺序可以为水平、垂直,或Z字形顺序。

在一个实施例中,指示出每一个经量化的非零残余值以及每一个零 经量化的残余值的位置的完整重要图可以在扫描之后生成。随后,完整重 要图以及非零残余值可以由熵编码器130进行编码并且被插入经编码的比 特流中。在从编码器进行传输之前,经编码的比特流可以进一步配置成包 括其他信息,诸如视频分辨率、帧速率、块分区信息(尺寸、坐标),预 测模式等,因此可以恰当地对视频帧的编码序列进行解码。

图5示出了可以在视频解码器中实施的无变换量化解码方案500的 一个实施例。变换略过解码方案500可以对应于无变换量化编码方案400, 并且可以包含如图5中所示进行布置的熵解码器510、去量化模块520、 预测模块530,以及重建模块540。在操作中,含有视频帧序列信息的经 编码的比特流可以由熵解码器510接收,所述熵解码器可以将比特流解码 成未压缩格式。非零经量化的编码残余值可以由熵解码器510进行解码。

对于正进行解码的当前块,残余块可以在执行熵解码器510之后生 成。为了将每一个非零经量化的残余像素恰当放置在残余块中,可以使用 由熵解码器510进行解码的完整重要图。随后,经量化的残余值可以被送 入去量化模块520中,所述去量化模块520恢复残余值的范围(例如,将 每一个残余值乘以因数5)。注意,在量化和去量化之后,残余值可能并未 完全恢复至其原始值,因此在编码过程中可能会引起一些信息损失。

此外,含有预测模式的信息也可以由熵解码器510进行解码。基于 预测模式,预测模块530可以生成预测块。如果经解码的预测模式为帧间 模式,那么可以使用一个或多个先前解码的参考帧来生成预测块。否则, 如果经解码的预测模式为帧内模式,那么可以使用多个先前解码的参考像 素来生成预测块。随后,重建模块230可以将残余块与预测块结合起来以 生成重建块。另外地,为了便于视频帧的连续解码,可以在参考帧中使用 重建块,以对未来帧进行帧间预测。重建块的一些像素也可以用作参考像 素,以用于同一帧中的未来块的帧内预测。

当变换步骤被跳过时,例如,在变换略过编码方案100或无变换量 化编码方案400中,可以对预测残余而非变换系数进行扫描并且随后进行 编码。无论是否经量化,预测残余都可以呈现出与变换系数不同的统计特 性。例如,在帧内预测中,残余像素可能与变换系数表现得不一样。作为 替代,对于相对较小的块(例如,具有8×8或4×4尺寸的TU),当在垂直 方向进行帧内预测(例如,图1中的模式1)时,预测残余可能在垂直方 向出现。换句话说,位于同一列中的预测残余更有可能具有相同或相似的 像素值。因此,可以实施垂直扫描顺序或图案,在所述情况下,逐列对预 测残余进行扫描。此外,根据起始位置,垂直扫描可以从残余块的四个角 中的任一者开始。假设起始位置为具有索引(0,0)的左上像素,那么垂直 扫描可以首先从上到下对第0列进行扫描,随后从上到下对第1列进行扫 描,…,最后从上到下对第(N-1)列进行扫描。预测残余的垂直扫描可 以减少用以对完整重要图进行编码所需的总比特数,从而实现较高的编码 效率。

类似地,对于相对较小的块(例如,具有8×8或4×4尺寸的TU), 当在水平方向进行帧内预测(例如,图1中的模式2)时,预测残余可能 在水平方向出现。换句话说,位于同一行中的预测残余更有可能具有相同 或相似的像素值。因此,可以实施水平扫描顺序或图案,在所述情况下, 逐行对预测残余进行扫描。此外,根据起始位置,水平扫描可以从残余块 的四个角中的任一者开始。假设起始位置为具有索引(0,0)的左上像素, 那么水平扫描可以首先从左到右对第0行进行扫描,随后从左到右对第1 行进行扫描,…,并且最后从左到右对第(N-1)行进行扫描。在此情况 下,水平扫描可以有助于提高编码效率。

当在对角线方向进行帧内预测(例如,图1中的模式4、7以及10) 时,预测残余可以按照Z字形顺序进行扫描。根据起始位置,Z字形扫描 可以从残余块的四个角中的任一者开始。此外,可以存在其他帧内预测方 向(例如,在亮度分量的HEVC中多达33个定向模式),所述方向基于其 与垂直、水平,或对角线轴线之间的相对接近度而被分类到垂直、水平, 或对角线组中。例如,如果帧内预测方向与垂直轴线所成的角度小于预定 阈值,那么帧内预测方向可以被分类到垂直组中,并且可以按照垂直顺序 扫描残余值。否则,如果帧内预测方向与水平轴线所成的角度小于预定阈 值,那么帧内预测方向可以被分类到水平组中,并且可以按照水平顺序扫 描残余值。否则,如果帧内预测方向与对角线方向所成的角度小于预定阈 值,那么帧内预测方向可以被分类到对角线组中,并且可以按照Z字形顺 序扫描残余值。

因为扫描顺序取决于帧内预测模式,以及块(例如,TU)的尺寸, 所以扫描方案可以称为模式相关的残余扫描(MDRS)。映射表可以用于帮 助确定在给定帧内预测模式和TU尺寸的情况下应当使用的扫描顺序。表 2示出了映射表的一个实施例,其包括三种扫描图案:Z字形图案(由索 引0表示)、水平图案(由索引1表示),以及垂直图案(由索引2表示)。

表2-用于预测残余的MDRS映射表

注意,表2使用图1中所指定的模式数目。帧内预测模式和TU尺 寸的每一个组合确定用于预测残余的扫描图案。例如,如果帧内模式24 用于8×8的TU,那么可以使用垂直图案来对预测残余进行扫描。从表2 可见,如果帧内预测方向与垂直方向(即,模式1的方向)之间的角度小 于π/8弧度或22.5度,那么帧内预测方向被分类到垂直组中。在此情况下, 22.5度为预定阈值。根据图1,模式5、21、12、22、1、23、13、24以及 6属于此组。在垂直组中,模式5以及模式6与垂直方向所成的角度最大 (arctan(13/32)=22.1度),所述角度仍小于22.5度。类似地,如果在帧内预 测方向与水平方向(即,模式2的方向)之间的角度小于22.5度,那么帧 内预测方向被分类到水平组中。根据图1,模式9、32、17、31、2、30、 16、29以及8属于此组。否则,如果在帧内预测方向与对角线方向(即, 模式4、7以及10的方向)之间的角度小于22.5度,那么帧内预测方向被 分类到对角线组中。根据图1,模式10、34、18、33、28、15、27、4、 19、11、20、25、14、26以及7属于此组。对于相对较小的块(例如,8×8 或4×4的TU),扫描顺序可以取决于帧内预测方向。然而,对于相对较大 的块(例如,32×32或16×16的TU),不管帧内预测方向如何,都可以使 用Z字形扫描顺序。此外,对于DC模式(图1中的模式3)以及平面模 式(图1中的模式0),Z字形扫描顺序可以用于所有的块尺寸。与当前用 于HM中的表1相比,表2可以是1的位置与2的位置的简单交换。

应注意,在不脱离本发明的原则的情况下,可以对表1进行另外的 改变。例如,如果并入另外的帧内预测方向,那么使用上文所设置的标准, 另外的方向可以相应地被分类到垂直、水平或对角线组中。此外,可以添 加另外的TU尺寸或其他块,例如,包括64×64的块。较小块和较大块的 标准可以根据具体应用而改变。同样,22.5度的预定阈值可以改变成任何 其他合适的值。

与通常集中在块的左上部分的变换系数不同,具有高绝对值的帧间 预测残余可以出现在残余块的随机位置,例如,在右下部分或右上部分。 因此,为了提高编码效率,本发明教示了用于预测残余的扫描(MSCAN) 的多个起始位置。MSCAN工具或方案可以基于RDO过程而选择不同的 起始位置。例如,当对预测残余的完整重要图进行编码时,产生最小经编 码的比特数的起始位置可以被选择为最优起始位置。

在使用中,关于起始位置的信息可以被包括在经编码的比特流中以 便于由解码器进行解码。在一个实施例中,为了表示不同的起始位置,在 HEVC语法的背景下,表示为(C0,C1)的2位语法元素可以被包括在比 特流中。例如,考虑N×N的残余块,其残余值表示为Z(m,n),其中N为 大于一的整数,m为在0与N-1之间变化的列索引,n为在0与N-1之间 变化的行索引,并且Z(m,n)为位置(m,n)处的残余值。应注意,尽管本 文中出于说明的目的而使用N×N的正方形块,但是也可以类似地使用非 正方形的矩形块。(C0,C1)可以配置成表示:

根据上述(C0,C1),例如,具有二进制值‘11’的语法元素等于3 并且可以表示残余值的扫描从Z(N-1,N-1)开始。应理解,语法元素的分配 值可以在本发明的原则内变化。例如,如果需要,那么‘11’语法元素的 解译可以被改变,从而表示起始位置为Z(0,N-1)。

伴随着起始位置,预测残余的扫描可以以各种顺序来实施。假设经 帧间编码的残余块包含按照以下顺序的预测残余,其中每一排表示一行:

在一个实施例中,水平扫描顺序可以用于帧间预测残余。在此实施 例中,扫描起始位置索引的定义可以设置为:

●索引=00:从左上角的残余开始扫描残余。也就是说,从左到右扫 描第0行(即,从Z(0,0)到Z(N-1,0)),随后从左到右扫描第1行,…,并 且从左到右扫描第(N-1)行。因为此扫描顺序与光栅扫描顺序相同(其 中从左到右并且从上到下进行逐行对残余进行扫描),所以残余块可以保 持原样(即,不需要将原始残余块转换成新残余块)。或者,如果形成了 新残余块,那么它与原始残余块相同。

●索引=01:从右上角的残余开始扫描残余。也就是说,从右到左扫 描第0行(即,从Z(N-1,0)到Z(0,0)),随后从右到左扫描第1行,…,并 且从右到左扫描第(N-1)行。此扫描顺序可以被认为是新残余块的光栅 扫描,所述新残余块通过水平翻转原始残余块获得。具体地说,新残余块 包含按照以下顺序的预测残余:

●索引=10:从左下角的残余开始扫描残余。也就是说,从左到右扫 描第(N-1)行,随后从左到右扫描第(N-2)行,…,并且从左到右扫描 第0行。此扫描顺序可以被认为是新残余块的光栅扫描,所述新残余块通 过垂直翻转原始残余块获得。具体地说,新残余块包含按照以下顺序的预 测残余:

●索引=11:从右下角的残余开始扫描残余。也就是说,从右到左扫 描第(N-1)行,随后从右到左扫描第(N-2)行,…,并且从右到左扫描 第0行。此扫描顺序可以被认为是新残余块的光栅扫描,所述新残余块通 过将原始残余块旋转180度获得。具体地说,新残余块包含按照以下顺序 的预测残余:

在一个实施例中,三个不同的起始位置索引可以用于三个颜色分量 (即,亮度Y、色度U,以及色度V)。例如,表示为ScanIdxY的第一索 引表示用于Y分量扫描的起始位置索引,表示为ScanIdxU的第二索引表 示用于U分量扫描的起始位置索引,以及表示为ScanIdxV的第三索引表 示用于V分量扫描的起始位置索引。在一个替代实施例中,两个或两个以 上的颜色分量可以共享同一起始位置索引。

在一个实施例中,MSCAN方案可以如上文所描述来实施以形成新 残余块,所述新残余块随后将按照常规的Z字形顺序来扫描。常规的Z字 形扫描从新残余块的左上角残余开始,穿过所有残余,并且在新残余块的 右下角残余结束。

在一个替代实施例中,所揭示的MSCAN方案可以与常规的Z字形 扫描合并成单个扫描操作。在此情况下,不需要形成新残余块并且各种Z 字形扫描图案可以用于对在原始残余块中的经帧间编码的残余的完整重 要图进行编码。图6A到图6D示出了Z字形扫描图案的四个不同实施例, 所述Z形扫描图案可以经实施以扫描经帧间编码的残余块。如图6A中所 示,当起始位置为由起始位置索引00所表示的左上角的残余时,可以实 施Z字形扫描图案610。Z字形扫描图案610为常规的Z字形扫描图案。 类似地,如图6B中所示,当起始位置为由起始位置索引01所表示的右上 角的残余时,可以实施Z字形扫描图案620。如图6C中所示,当起始位 置为由起始位置索引10所表示的左下角的残余时,可以实施Z字形扫描 图案630。如图6D中所示,当起始位置为由起始位置索引11所表示的右 下角的残余时,可以实施Z字形扫描图案640。图6A到图6D的每一者中 的箭头展示了残余块中的所有残余像素可以进行扫描的顺序。所揭示的 MSCAN方案的各实施例可以提高通过帧间或帧内预测而生成的残余块的 编码效率。

为了调节在扫描帧间/帧内预测残余时选择多个起始位置的能力,可 以相应地更改软件语法。在一个实施例中,用于残余编码的CABAC语法 可以如表3所指定。

表3-用于残余编码的语法表

在表3中,表示为LosslessCodingFlag的变量可以指示当前块(例 如,CU)是否以无损模式(例如,使用变换略过编码方案100)进行编码。 LosslessCodingFlag可以基于当前块的Y分量(QPY)的量化参数来确定。 如果QPY=0,那么LosslessCodingFlag可以被设置为1;否则如果QPY≠0, 那么LosslessCodingFlag可以被设置为0。所属领域的技术人员将认识并 且理解表3中的符号以及逻辑,因此为了简洁起见,将不再对这些方面进 一步进行讨论。

图7示出了编码方法700的一个实施例,所述编码方法700可以在 编解码器中实施为编码方案的一部分,诸如变换略过编码方案100或无变 换量化编码方案400。方法700可以在步骤710中开始,其中可以生成或 计算出用于视频帧中的当前块的预测块。使用位于先前编码的视频帧中的 参考块经由帧间预测,或使用位于同一视频帧中的参考像素经由帧内预 测,可以生成预测块。此外,帧内预测可以使用多个可用的帧内预测模式 (例如,对于Y分量多达35个模式,并且对于U或V分量多达6个模式) 中的任一者来实施。

接下来,在步骤720中,可以计算出当前块与预测块之间的差值以 生成残余块。残余块包含多个预测残余,所述预测残余可以包括零残余和 /或非零残余。在步骤730中,方法700可以检查用以生成预测块的预测模 式是否为帧内预测模式。如果满足步骤730中的条件,那么方法700可以 前进到步骤740;否则,方法700可以前进到步骤770。在步骤740中, 方法700可以进一步检查预测块(例如,TU)的尺寸是否不超过预设限制 (例如,8×8)并且预测模式的方向是否属于水平组。在一个实施例中,水 平组中的每一个帧内预测模式的方向与水平方向(即,图1中的模式2的 方向)所成的角度小于22.5度。如果满足步骤740中的条件,那么方法 700可以前进到步骤742,其中多个预测残余可以从左上角残余开始逐行 进行扫描(即,按照水平顺序);否则方法700可以前进到步骤750。

在步骤750中,该方法可以进一步检查预测块的尺寸是否不超过预 设限制(例如,8×8)并且预测模式的方向是否属于垂直组。在一个实施 例中,垂直组中的每一个帧内预测模式的方向与垂直方向(即,图1中的 模式1的方向)所成的角度小于22.5度。如果满足步骤750中的条件,那 么方法700可以前进到步骤752,其中多个预测残余可以从左上角残余开 始逐列进行扫描(即,按照垂直顺序);否则,方法700可以前进到步骤 760,其中多个预测残余可以从左上角残余开始按照Z字形顺序(即,图 6A中的Z字形顺序610)进行扫描。

如果预测块通过帧间预测生成,那么在步骤770中,方法700可以 使用率失真标准来确定扫描的最优起始位置。该起始位置可以从残余块的 四个角位置中选出。在一个实施例中,产生用以对残余块的完整重要图进 行编码所需的最小比特数的起始位置可以视为最优起始位置。在步骤772 中,多个预测残余可以从最优起始位置开始并且按照Z字形顺序进行扫 描。在步骤774中,表示为(C0,C1)的两位语法元素可以经编码以表示 最优起始位置。两位语法元素可以被插入经编码的比特流中,因此视频解 码器可以使用该信息来恰当地恢复非零预测残余的位置。

在步骤780中,可以生成完整重要图以表示每一个非零值残余像素 以及每一个零值残余像素的位置,并且随后方法700可以结束。应注意, 在不脱离本发明的原则的情况下,可以更改方法700。例如,步骤740和 步骤750可以被合并成一个步骤,其中可以确定帧内预测模式是属于水平 组、垂直组、对角线组,还是为非定向模式(例如,DC模式)。同时,可 以检查预测块的尺寸。之后,在一个实施例中,查找或映射表(例如,表 2)可以用于确定所应采用以对多个预测残余进行扫描的扫描顺序。此外, 注意,扫描也可以从除了左上角位置之外的位置开始。如果步骤并不彼此 依赖,那么方法700的某些步骤可以在顺序上进行交换。例如,如果需要, 那么步骤774可以在步骤772之前执行或与步骤772同时执行。此外,在 对当前块进行编码时,方法700可以仅包括必要步骤的一部分。因此,如 果需要,那么可以将另外的步骤添加到方法700中,诸如在生成残余块之 后并且在对预测残余进行扫描之前的预测残余的量化。

上文所描述的方案可以在网络组件上实施,诸如计算机或网络组 件,其具有足够的处理能力、存储资源以及网络吞吐能力以处理其上的必 要工作量。图8示出了网络组件或计算机系统1300的一个实施例,所述 网络组件或计算机系统1300适合于实施本文中所揭示的方法的一个或多 个实施例,诸如变换略过编码方案100、变换略过解码方案200、无变换 量化编码方案400、无变换量化解码方案500,以及编码方法700。网络组 件或计算机系统1300包括与存储装置进行通信的处理器1302,所述存储 装置包括辅助存储器1304、只读存储器(ROM)1306、随机存取存储器 (RAM)1308、输入/输出(I/O)装置1310,以及发射器/接收器1312。尽 管被图示为单个的处理器,但处理器1302并不限于此并且可以包含多个 处理器。处理器1302可以实施为一个或多个中央处理器单元(CPU)芯 片、核心(例如,多核处理器)、现场可编程门阵列(FPGA)、专用集成 电路(ASIC),和/或数字信号处理器(DSP),并且/或者可以为一个或多 个ASIC的一部分。处理器1302可以配置成实施本文中所描述的任何方案, 包括变换略过编码方案100、变换略过解码方案200、无变换量化编码方 案400、无变换量化解码方案500,以及编码方法700。处理器1302可以 使用硬件或硬件与软件的组合来实施。

辅助存储器1304通常由一个或多个磁盘驱动器或磁带驱动器组成 并且用于数据的非易失性存储,并且如果RAM1308不足以容纳所有的工 作数据,那么所述辅助存储器则用作溢流数据存储装置。辅助存储器1304 可以用于存储程序,当选择执行这些程序时,所述程序将加载到RAM1308 中。ROM1306用于存储在程序执行期间读取的指令以及可能的数据。 ROM1306为非易失性存储装置,其存储容量相对于辅助存储器1304的较 大存储容量而言通常较小。RAM1308用于存储易失性数据,还可能用于 存储指令。访问ROM1306和RAM1308通常比访问辅助存储器1304要 快。

发射器/接收器1312可以用作计算机系统1300的输出和/或输入装 置。例如,如果发射器/接收器1312充当发射器,那么它可以将数据发送 到计算机系统1300之外。如果发射器/接收器1312充当接收器,那么它可 以将数据接收到计算机系统1300中。发射器/接收器1312可以采取以下形 式:调制解调器、调制解调器组、以太网卡、通用串行总线(USB)接口 卡、串行接口、令牌环卡、光纤分布式数据接口(FDDI)卡、无线局域网 络(WLAN)卡、诸如码分多址接入(CDMA)等无线电收发器卡、全球 移动通信系统(GSM)、长期演进(LTE)、全球微波接入互操作性(WiMAX), 和/或其他空中接口协议无线电收发器卡,以及其他熟知的网络装置。发射 器/接收器1312可以使处理器1302与互联网或者一个或多个内联网进行通 信。I/O装置1310可以包括视频监控器、液晶显示器(LCD)、触摸屏显 示器,或者用于显示视频的其他类型的视频显示器,并且还可以包括用于 采集视频的录像装置。I/O装置1310还可以包括一个或多个键盘、鼠标, 或轨迹球,或者其他熟知的输入装置。

应理解,通过对可执行指令进行编程和/或将其加载到计算机系统 1300上,处理器1302、辅助存储器1304、RAM1308,以及ROM1306 中的至少一者会发生改变,从而将计算机系统1300部分地变换为特定的 机器或设备(例如,具有本发明所教示的新颖功能的视频编解码器)。可 执行指令可以被存储在辅助存储器1304、ROM1306,和/或RAM1308上, 并且被加载到处理器1302中以用于执行。在电气工程和软件工程领域中 的基本原理是可以通过将可执行软件加载到计算机中来实施的功能可以 通过熟知的设计规则转换为硬件实施。关于在软件还是硬件中实施一个概 念的决定通常取决于对设计的稳定性以及待生产的单元数目的考虑,而不 是取决于对涉及从软件领域转换到硬件领域的任何问题的考虑。通常,容 易经常发生改变的设计可以优选地在软件中实施,这是因为硬件实施的再 次旋压比软件设计的再次旋压更加昂贵。通常,将以较大体积生产的稳定 设计可以优选地在硬件中实施,例如在专用集成电路(ASIC)中实施,这 是因为对于较大的生产运行,硬件实施可以比软件实施更加便宜。通常设 计会以软件形式进行开发和测试,并且稍后由熟知的设计规则在专用集成 电路中变换为等效的硬件实施,所述专用集成电路对软件的指令进行硬接 线。采用与由新的ASIC控制的机器相同方式的是特定的机器或设备,同 样地,已进行编程的计算机和/或已加载有可执行指令的计算机可以被视作 特定的机器或设备。

揭示了至少一个实施例,并且所属领域的技术人员作出的对所述实 施例和/或所述实施例的特征的变体、组合和/或修改都在本发明的范围内。 由组合、合并和/或省略所述实施例的特征而得到的替代实施例也在本发明 的范围内。在明确陈述数值范围或限制的情况下,应将此类表达范围或限 制理解成包括属于明确陈述的范围或限制内的类似量值的迭代范围或限 制(例如,从约为1到约为10包括2、3、4等;超过0.10包括0.11、0.12、 0.13等)。例如,只要揭示具有下限Rl和上限Ru的数值范围,则也具体揭 示属于此范围内的任何数字。具体地说,特别揭示所述范围内的以下数字: R=Rl+k*(Ru-Rl),其中k是从1%到100%以1%增量递增的变量,即, k是1%、2%、3%、4%、5%、…、70%、71%、72%、…、95%、96%、 97%、98%、99%,或100%。此外,还特别揭示由如上文所定义的两个R 数字定义的任何数值范围。除非另有说明,否则使用术语“约”意味着随 后数字的±10%。关于权利要求的任一元件使用术语“任选地”意味着需 要所述元件,或者不需要所述元件,这两种替代方案均在所述权利要求的 范围内。使用诸如“包含”、“包括”以及“具有”等较广义术语应被理解 为提供对诸如“由…组成”、“基本上由…组成”以及“大体上由…组成” 等较狭义术语的支持。因此,保护范围不受上文所述描述的限制,而是由 所附权利要求书界定,所述范围包括权利要求书的标的物的所有等效物。 每一和每条权利要求作为进一步揭示内容并入说明书中,且各项权利要求 是本发明的实施例。揭示内容中对参考的论述并非承认其为现有技术,尤 其是公开日期在本申请案的优先日期之后的任何参考。本发明中所引用的 所有专利、专利申请案,以及公开案的揭示内容特此以引用的方式并入本 文本中,在某种程度上其提供补充本发明的示例性、程序性或其他细节。

虽然本发明中已提供若干实施例,但应理解,在不脱离本发明的精 神或范围的情况下,所揭示的系统和方法可以以许多其他具体形式来体 现。所呈现的实例应被视为说明性而非限制性的,并且并不意图限于本文 中所给出的细节。例如,各种元件或组件可以在另一系统中组合或合并, 或者某些特征可以省略或不实施。

此外,在不脱离本发明的范围的情况下,各种实施例中描述和说明 为离散或单独的技术、系统、子系统,以及方法可以与其他系统、模块、 技术,或方法组合或合并。展示或论述为彼此耦接或直接耦接或通信的其 他项也可以通过某一接口、装置或中间组件以电气方式、机械方式或以其 他方式间接地耦接或通信。变化、替代和改变的其他实例可以由所属领域 的一般技术人员确定,且可以在不脱离本文本所揭示的精神和范围的情况 下作出。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号