首页> 中国专利> 用于帧内预测残差的二值化方案和HEVC中无损编码中的改进帧内预测

用于帧内预测残差的二值化方案和HEVC中无损编码中的改进帧内预测

摘要

一种方法包括根据至少一个经编码的预测残差值的值自适应地更新指数-哥伦布(EG)参数值,以及通过使用所述EG参数值的EG码在无损模式下对预测残差值进行编码。

著录项

  • 公开/公告号CN104185989A

    专利类型发明专利

  • 公开/公告日2014-12-03

    原文格式PDF

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

    申请/专利号CN201380016650.9

  • 发明设计人 高文;姜明强;于浩平;

    申请日2013-04-22

  • 分类号H04N19/13;H04N19/14;H04N19/176;H04N19/134;H04N19/11;H04N19/182;

  • 代理机构

  • 代理人

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

  • 入库时间 2023-12-17 03:45:10

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-04-10

    授权

    授权

  • 2014-12-31

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

    实质审查的生效

  • 2014-12-03

    公开

    公开

说明书

相关申请案交叉申请

本发明要求2012年4月20日由高文(Wen Gao)等人递交的发明名 称为“用于帧内预测残差的二值化方案和HEVC中无损编码中的改进帧内 预测(Binarization Scheme for Intra Prediction Residuals and Improved Intra  Prediction in Lossless Coding in HEVC)”的第61/636409号美国临时专利 申请案的在先申请优先权,该在先申请的内容以引用的方式并入本文本 中,如全文再现一般,且是2013年4月19日由高文(Wen Gao)等人递 交的发明名称为“HEVC中无损编码中的改进帧内预测(Improved Intra  Prediction in Lossless Coding in HEVC)”的第13/866468号美国专利申请 案的部分继续申请案,该申请案的内容以引用的方式并入本文本中,如全 文再现一般。

关于联邦赞助的研究或开发的声明

不适用。

缩微平片附件的引用

不适用。

背景技术

即使在影片相对较短的情况下也需要对大量的视频数据进行描述,当 数据要在带宽容量受限的通信网络中流过或以其他方式传送时,这样可能 会造成困难。因此,视频数据通常要先压缩然后在现代电信网络中传送。 当视频存储在存储设备中时,视频大小也可能成为一个问题,因为内存资 源很有限。视频压缩设备通常在源处使用软件和/或硬件,以在传送或存储 之前对视频数据进行编码,从而减少用来表示数字视频图像所需的数据 量。接着,压缩的数据在目的地处由视频解压设备接收,该视频解压设备 用于对视频数据进行解码。在有限的网络资源以及对更高视频质量的需求 不断增加的情况下,需要改进压缩和解压技术,所述改进的技术几乎无需 以比特率的增加为代价就可以改进图像质量。

例如,视频压缩可使用帧内预测,在帧内预测中可从相同时频帧或切 片中的参考像素中预测像素。当在有损模式下使用帧内预测时,变换和量 化操作可逐块发生,这样可限制给定块的帧内预测使用相邻块中的参考样 本用于预测给定块中的像素。然而,国际电信联盟电信标准化部门(ITU-T) 中的视频编码联合协作小组(JCT-VC)负责下一代视频编码标准(称为 高性能视频编码(HEVC)),并基于块中的相邻像素考虑预测用于在帧 内预测模式下进行无损编码。这些预测技术可称为逐像素、逐样本或基于 像素的帧内预测。然而,由于用于预测沿着某些边界的边界像素的相邻像 素不可用,对于沿着正被预测的块的某些边界的像素,使用逐像素帧内预 测存在问题。

进一步地,已经为有损编码模式设计用于进行HEVC中无损编码的熵 编码。然而,无损编码模式下的预测残差的统计数据可能与有损编码模式 下的统计数据截然不同。由于统计数据的不同,可能存在空间改善用于无 损编码的熵编码,以考虑无损编码模式下的预测残差统计数据。

发明内容

在一项实施例中,本发明包括一种方法,所述方法包括根据至少一个 经编码的预测残差值的值自适应地更新指数-哥伦布(EG)参数值,以及 通过使用所述EG参数值的EG码在无损模式下对预测残差值进行编码。

在另一项实施例中,本发明包括一种装置,所述装置包括处理器,用 于根据至少一个经编码的预测残差值的值自适应地更新EG参数,以及通 过使用所述EG参数的EG码在无损模式下对预测残差值进行编码。

在又一实施例中,本发明包括一种方法,所述方法包括根据比特流中 至少一个二进制字符串的值自适应地更新EG参数,以及使用具有EG参 数的EG码对无损模式下使用的二进制字符串进行解码。

结合附图和权利要求书,可从以下的详细描述中更清楚地理解这些和 其它特征。

附图说明

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

图1是视频编码器的实施例的功能图。

图2A示出了用于垂直SAP的水平扫描处理顺序,以及图2B示出了 用于水平SAP的垂直扫描处理顺序。

图3A示出了具有正角的垂直SAP,以及图3B示出了具有正角的水 平SAP。

图4示出了4×4的PU的实施例。

图5示出了PU的样本矩阵的实施例。

图6示出了基于像素的预测方案中的样本之间的关系。

图7A示出了使用正角(表示为α)的垂直SAP,以及图7B示出了使 用正角的水平SAP。

图8是用于在无损模式下对PU进行编码的方法的实施例的流程图。

图9是无损解码模式下解码方法的实施例的流程图。

图10示出了在视频编解码器中实施的二值化方案的实施例。

图11是无损编码中的帧内预测残差的直方图。

图12是经量化和变换的帧内预测残差的直方图。

图13示出了在视频编解码器中实施的二值化方案的实施例。

图14是用于在无损编码模式下进行二值化的方法的实施例的流程图。

图15是用于解码比特流的方法的实施例的流程图。

图16是网络节点的实施例的示意图。

具体实施方式

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

颜色空间可由三个分量表示,包括一个亮度(luma或者Y)分量和两 个表示为Cb和Cr(或者有时为U和V)的色度(chroma)分量。亮度或 者色度整数值通常使用比特以二进制形式存储和处理。在YUV或者YcbCr 色彩空间中,每个亮度(Y)块对应于两个色度块:Cb块和Cr块。Cb块 和Cr块同样互相对应。色度块及其对应的亮度块可以位于视频帧、切片 或者区域的同一相对位置。所讨论的方法还可应用于任意其他色彩空间 (例如,RGB、YCoCg等)中的视频。

在视频编码中,各种采样率均可用于对YCbCr分量进行编码。根据 采样率,Cb块、其对应的Cr块、和/或其对应的Y块的尺寸可以相同或 者不同。例如,采样率为4:2:0时,每个N×N色度(Cb或者Cr)块可对 应于一个2N×2N亮度块。在这种情况下,色度块的宽度或者高度为对应 亮度块的一半。由于人眼对色度分量的敏感度不及亮度分量,色度分量被 下采样或者降采样。又例如,采样率为4:4:4时,每个N×N色度(Cb或 者Cr)块可对应于一个N×N亮度块。在这种情况下,可以保留更高的视 频保真度,但可能需要对更多的数据进行编码。也可以使用其他采样率, 例如4:2:2和4:2:1等。

在HEVC中,已经引入了新的块概念。例如,编码单元(CU)可以 指将视频帧分为相等大小或不同大小的正方形块的子分区。在HEVC中, CU可以取代先前标准的宏块结构。根据帧间预测或帧内预测的模式,一 个CU可以包括一个或多个预测单元(PU),每个预测单元可用作预测的 基本单元。例如,就帧内预测而言,一个64×64的CU可以被对称地分为 四个32×32的PU。又例如,就帧间预测而言,一个64×64的CU可以被 非对称地分为一个16×64的PU以及一个48×64的PU。

HEVC仍然处于委员会草案阶段,并且已为具有4:2:0格式的视频序 列定义了主流画质。在HEVC主流画质中,可通过简单地绕过变换、量化 和环内滤波器(即,去块滤波器、样本自适应偏移(SAO)和自适应环路 滤波器(ALF))实现无损编码模式。该设计旨在提供无损编码,而不会 对HEVC主流画质编码器和解码器的实施造成负担。以下将详细介绍与 HEVC中的有损编码相对的无损编码。

图1是视频编码器100的实施例的功能图。编码器100可在HEVC中 使用。可将包含输入块的视频帧或图像输送到编码器100中。为了对输入 块进行编码,可基于一个或多个先前已经编码的参考块生成预测块。输入 块可为亮度或色度CU或PU。预测块可以是输入块的估计版本。如图所 示,可通过从输入块中减去预测块(反之亦然)生成残差块。残差块可表 示输入块和预测块之间的差值,换句话说,表示预测残差或误差。由于表 示预测残差所需的数据量通常小于表示输入块所需的数据量,因此可对残 差块进行编码以实现更高的压缩比。

根据是否使用有损或无损编码,编码器100中至少存在两种可能路径。 首先探讨的是有损模式。如图1所示,在有损模式下,可将包含残差像素 的残差块输送到变换模块102中。因此,空间域中的残差像素可以通过应 用变换矩阵转换成频域中的变换系数。该转换可以通过二维变换,例如与 离散余弦变换(DCT)十分类似或相同的变换来实现。进一步地,在变换 模块102之后的量化模块104中,高索引变换系数的数量可以减少为零, 从而可以在随后的熵编码步骤中被跳过。在进行量化之后,熵编码器150 可对量化的变换系数进行熵编码。熵编码器150可以采用任何熵编码方案, 例如,上下文自适应二进制算术编码(CABAC)编码方案,指数哥伦布 编码方案,或者固定长度编码方案,或其任意组合。在进行熵编码之后, 经编码的块可以作为比特流的一部分由编码器100传输。比特流可通过任 意可用的网络协议进行包化、封装及传输。

在编码器100中,残差块可在经过一系列操作(例如,所示的变换、 量化、去量化以及逆变换)之后转换成残差块II。由于一些或所有操作可 能无法完全可逆,在转换过程期间可能引起信息损失。因此,残差块II 可能只是对应的残差块的近似,并且通常为了较高压缩效率而包括较少的 非零残差像素。进一步地,残差块II可以与对应的预测块合并以例如通过 将两个块相加形成重建块。除非另有说明,对应的块可指示位于图像的同 一相对位置的块。在这种方式下,由于重建块可以是输入块的有损版本, 编码器100可实施有损编码模式。

重建块可用作参考块来生成预测块。根据重建块的位置,预测可分为 帧之间的预测和帧之内的预测(分别简称为帧间预测和帧内预测)。在使 用中,连续的视频帧或切片可以很大程度上相互关联,使得帧中的块与先 前编码的帧中的对应块不会有很大差异。帧间预测可利用一系列帧或图像 中的时间冗余,例如,连续帧的对应块之间的相似度来减少压缩数据。帧 间预测可由运动估计(ME)模块140实施,ME模块之后为运动补偿(MC) 模块142。在帧间预测中,可实施运动补偿算法以基于位于当前帧之前的 一个或多个参考帧中的对应块根据编码顺序计算当前帧中的当前块的运 动矢量。

为了提高重建视频帧(例如通过减少块伪影)的质量,在预测之前可 以执行环内滤波步骤。例如,在帧间预测中,去块滤波器120可以应用到 位于重建块边缘的像素上以去除或减少块伪影。在实施去块滤波器120之 后,环内滤波步骤有时可进一步包括样本自适应偏移(SAO)模块122, 其还可用于修改重建像素的值。可在SAO模块122之后应用自适应环路 滤波器(ALF)124,并且所得到的处理块可在帧缓冲器126中存储以便 在帧间预测补偿中使用。

类似地,在视频帧内,像素可与同一帧中的其他像素相关,使得一个 块内的像素值或一些块内的像素值可仅仅略有不同和/或呈现出重复的纹 理(texture)。为了利用同一帧中的邻近块之间的空间相关性,帧内预测 可由帧内预测估计(IPE)模块130实施,以根据一个或多个先前编码的 邻近块(包括重建块)插入预测块,IPE模块130之后为帧内预测(IP) 模块132。编码器和解码器可以独立地插入预测块,从而使得帧和/或图像 的绝大部分能够根据相对少量的参考块的通信进行重建,所述参考块是例 如,位于帧的左上角(并从此处延伸)的块。选择模块134可在帧间和帧 内预测之间选择输入块的最佳预测模式。通常,所述领域的普通技术人员 理解到,使用率失真优化(RDO)可确定最佳预测模式,RDO挑选出产 生例如预测块和原始块之间的最小决定误差和的预测模式。

接着探讨的是无损编码。如图1所示,在无损编码模式下,绕过变换 102、量化104、逆量化106以及逆变换108模块以及环内滤波器(去块 120、SAO122以及ALF滤波器124)。变换102和量化104模块可使用 基于块的处理,这意味着对于使用帧内预测的有损编码模式,块中的像素 预测仅基于邻近块中的参考像素。块中的参考像素不可用于块中的像素值 预测。相比而言,对于使用帧内预测的无损编码模式,块中的像素预测可 基于块中的其他像素,因为绕过了变换和量化模块。为此,可使用基于样 本的角预测(SAP)用于无损编码。

在SAP中,PU中的所有样本可共享同一预测角,如B.Bross等人在 “高性能视频编码(HEVC)文本规范草案6”JCT-VC文档,JCTVC-H1003, 圣何塞,加利福利亚,2012年2月(下文称为“HEVC草案6”)中所定 义,该文档以引用的方式并入本文本中,如全文再现一般。另外,预测角 的传输可能与HEVC草案6中的相同。差别可能在于在本文所公开的方法 中为PU逐样本进行角预测以实现更好的帧内预测精确度。也就是说,可 通过使用同一预测角逐样本进行SAP样本来生成当前PU的预测块。

在SAP方法中,可以预定义的顺序处理PU中的样本,这样当PU中 的当前样本根据其直接相邻样本预测时,邻居样本可用。图2A示出了用 于垂直SAP的水平扫描处理顺序,以及图2B示出了用于水平SAP的垂直 扫描处理顺序。如图2A和2B所示,可将水平扫描和垂直扫描处理顺序 分别应用到垂直和水平的角预测。当前PU的上方和左侧PU界限周围的 参考样本的处理与HEVC草案6中定义的相同,而当前PU的右侧和下方 PU界限周围的参考样本简单地从当前PU的最近边界样本处开始填充(参 见图2A和2B中的填充样本)。

图3A示出了具有正角的垂直SAP,以及图3B示出了具有正角的水 平SAP。应注意,分别如图3A和3B所示,在具有正角的垂直或水平SAP 期间,可能需要当前PU的右侧和下方PU边界周围的填充样本。在图3A 和3B中,x表示待预测的像素,a和b表示(实际或预测的)邻近样本值。

以具有正角的垂直SAP和4×4的PU为例。图4示出了4×4的PU的 实施例,其中样本(像素值)表示为S(i,j),i=0,1,2,3且j=0,1,2,3。Pad(i), 其中i=0,1,2表示利用最近样本使用常规技术获取的填充参考样本,意味 着填充参考样本可表示为:

Pad(i)=S(i,3),其中i=0,1,2.

就具有正预测角的垂直SAP而言,S(i,3),其中i=1,2,3的预测值(表 示为P(i,3))由下式给出,该预测值独立于预测角的值:

P(i,3)=S(i-1,3),其中i=1,2,3.   (1)

因此,实际上,样本的垂直预测角P(i,3),其中i=1,2,3可能总为0度, 而其他样本可使用不同的预测角。换句话说,预测值P(i,3),其中i=1,2,3 的预测角为0。结果与水平SAP的相同。基于这些观察,可能需要使用边 界样本对应的邻近样本或像素预测各个边界样本,像素不仅包括垂直SAP 中紧靠上方的像素还包括水平SAP中紧靠左侧的像素。

本文公开的是在基于像素的预测中用于PU中的边界样本的改进预测 的方法和装置。边界样本是相邻样本的副本并呈现了冗余信息,使用邻近 样本而不使用填充样本预测边界样本。可将对边界样本的改进预测与PU 中的其他像素的SAP结合以提供无损编码模式下的有效的基于像素的预 测方案。

基于上述观察,可能需要使用边界样本对应的邻近像素预测各个边界 样本,像素不仅包括垂直SAP中紧靠上方的像素还包括水平SAP中紧靠 左侧的像素,例如,对于4×4的PU的垂直SAP,边界样本为S(i,3),其 中i=1,2,3;对于4×4的PU的水平SAP,边界样本为S(3,i),其中i=1,2,3。 图5示出了大小为N×N的PU的样本矩阵的实施例。考虑垂直SAP为例。 为了预测粗线框中的边界样本,即S(i,N-1),i=1,…,N-1,可使用以下自适 应预测因子。假设X表示一个边界样本,即X=S(i,N-1),1≤i≤(N-1)。假设 P(x)表示样本X的预测值。X的左侧、上方、左上方相邻的邻近样本分别 表示为A、B和C。图6示出了样本A、B、C和X之间的关系。如下预 测样本X:

P(X)=min(A,B)ifCmax(A,B)max(A,B)ifCmin(A,B)A+B-Celse---(2)

为了示出使用等式(2)用于垂直SAP的水平扫描顺序,假设需要预 测样本S(1,N-1)(即,X=S(1,N-1))。已使用图2A的水平扫描顺序预测邻 近样本S(1,N-2)、S(0,N-1)和S(0,N-2),从而产生P(S(1,N-2))、P(S(0,N-1)) 和P(S(0,N-2))。使用等式(2)的符号和图6,在确定P(X=S(1,N-1))中 A=P(S(1,N-2))、B=P(S(0,N-1))和C=P(S(0,N-2))。

为了示出使用等式(2)用于水平SAP的垂直扫描顺序,假设需要预 测样本S(N-1,1)(即,X=S(N-1,1))。对于SAP预测S(N-1,1)下方不存在 可用的邻近样本,所以使用了等式(2)。已使用图2B的垂直扫描顺序预 测邻近样本S(N-1,0)、S(N-2,0)和S(N-2,1),从而产生P(S(N-1,0))、P(S(N-2,0) 和P(S(N-2,1))。使用等式(2)的符号和图6,在使用等式(2)确定 P(X=S(N-1,1))中A=P(S(N-1,0))、B=P(S(N-2,1))和C=P(S(N-2,0)。一般而言, 当使用水平SAP时,在等式(2)中使用自适应预测因子的边界样本可能 是S(N-1,i),i=1,…,N-1。为了预测上述边界样本中的一个样本,可使用如 等式(2)中所述的同一预测因子。

等式(2)是一种基于某些边界样本S(i,N-1)或S(N-1,i)(其中 i=1,…,N-1)的邻近样本值预测样本值的可能方式。其他可能方式包括计 算中值或值A、B和C的平均值。

如果样本不属于边界样本S(i,N-1)(垂直SAP)或S(N-1,i)(水平SAP) 中的任一者,其中i=1,2,...,N-1,那么可使用任意常规SAP技术。图7A示 出了使用正角(表示为α)的垂直SAP,以及图7B示出了使用正角(也 表示为α)的水平SAP。在图7A和7B中,X表示待预测的像素值,A和 B表示邻近像素的实际或预测像素值。在这两种情况下,X可为A和B的 加权(或线性)组合。例如,X可表示为:

X=(1–s)*A+s*B,   (3)

其中s是范围为[0,1]的加权因子。当α很小时,加权因子应当给予A 更大的权重,随着α增大,给予B的权重应当增加。加权因子s可例如等 于tan(α),其中0<α<45度。HEVC中指定的帧内预测方法是计算这些加权 因子的可能方式之一。

图8是用于在无损模式下对PU进行编码的方法700的实施例的流程 图。该方法从方框710开始。在方框710中,确定PU的处理顺序。处理 顺序可为水平处理顺序,例如如图2A所示,或垂直处理顺序,例如如图 2B所示。接着,在方框720中,计算PU中的边界样本的预测值。对于水 平处理顺序(即,垂直SAP用于其他样本),待预测的边界样本可表示为 S(i,N-1),其中i=1,2,...,N-1;对于垂直处理顺序(即,水平SAP用于其他 样本),可表示为S(N-1,i),其中i=1,2,...,N-1。也就是说,待预测的特定 边界样本取决于扫描或处理顺序。PU可如图5所示布置。可基于例如如 图6所示的对应左侧、上方和左上方的邻近样本并使用等式(2)计算边 界样本的预测值。接着,在方框730中,使用SAP计算PU中的剩余样本 (即,PU中除上述边界样本之外的所有样本)的预测值。可使用任意常 规SAP技术,该技术将样本预测为两个邻近样本的线性组合,其中该组合 取决于预测角。等式(3)示出了SAP技术的示例。可以任意顺序或并行 执行方框720和730。在方框740中,在确定了PU中的所有样本的预测 值以提供预测PU或预测块之后,可如图1所示计算残差块,该残差块可 为输入块和计算的预测块之间的差值。最后,在方框750中,可使用熵编 码对残差块进行编码,例如如图1所示。回想到变换102和量化104模块 在无损模式下被绕过,所以残差块可直接提供给熵编码器150。熵编码后 的值可插入比特流中。PU可包括亮度或色度样本。方法700可应用到亮 度样本、色度样本或亮度样本和色度样本。

图9是无损解码模式下解码方法760的实施例的流程图。鉴于本文所 述的视频编码方案的详情,本领域的普通技术人员可以制定解码来逆转或 “撤销”本文所述的编码。然而,方法760用于说明性和便利目的。方法 760从方框765开始,在方框765中,使用熵解码对一部分比特流进行解 码以生成残差块。在方框770中,基于一个或多个先前解码的邻近块中的 残差块之外的多个参考像素重建预测块。可使用对应左侧、上方以及左上 方邻近重建的样本重建基于处理顺序识别的边界样本。可使用SAP(水平 处理顺序为垂直SAP,垂直处理顺序为水平SAP)重建预测块中的剩余样 本。在方框775中,预测块可添加到残差块中以在视频帧中获取原始块(例 如,输入PU)的估计。原始块可为亮度或色度样本。

在HEVC草案6中,当编码单元利用无损编码模式时,帧内亮度预测 残差的二值化方案与帧内亮度变换系数水平的二值化方案相同。由于两组 数据的统计不同,可对亮度预测残差的二值化方案进一步改善,而无需对 现有方案进行大幅修改。

变化系数水平的编码过程可包括两个主要部分:将水平转换为bin序 列的二值化,以及将bin压缩为比特的二进制算术熵编码(使用熵编码器 等统一实施为熵编码)。图10示出了在视频编解码器中实施的二值化方 案780的实施例。根据预测残差的绝对值(表示为X),预测残差的二进 制表示可包括一、二或三部分。例如如图1所述的残差块可包括多个预测 残差。如前所述,预测残差可为原始像素和预测像素之间的差值。在实施 例中,如果X等于l或2,X可使用一元码二进制化为一部分,在一元码 中,1二进制化为“0”,2二进制化为“10”。这种编码可称为截断一元 (TU)码,其最大长度为2。如果X≥3,值3首先使用二进制字符串“11” 进行二进制化,值(X-3)使用截断哥伦布-莱斯(TR)码进一步进行二进制 化。对于TR码,可以表示的最大值表示为M。如果(X-3)≤M,(M-3)可由 TR表示。然而,如果(X-3)≥(M+1),值(M+1)首先二进制化为全为1的二 进制字符串。随后使用具有参数K=0的指数-哥伦布(EG)码(称为EG0 码)对(X-3-(M+1))的剩余部分进行编码。EG码是通用码的一个示例,通 用码将正整数映射为本领域的普通技术人员所理解的二进制码字。可使用 其他通用码代替EG码。

应注意,上述二值化方法原本设计用于对量化的变换系数(其值通常 很小)进行编码。然而,无损编码情况下,亮度分量的二值化操作的输入 可为未经变换和量化的帧内预测残差,这些帧内预测残差显示出的统计特 征与帧内编码的变换系数的不同。

使用滑动编辑测试序列作为示例,无损编码情况下其帧内亮度预测残 差的直方图以及使用QP=27进行编码时其量化的变换系数的直方图分别 如图11和12所示。这些结果显示,与变换系数相比,无损情况下大型亮 度预测残差的频率相对较高。

如果预测残差值很大,则为具有EG0码的二值化剩余的值也很大,这 导致了低效的表示。使用较高阶的EG码表示较大值与具有较小K参数的 EG码相比可能更有效。然而,由于对于较小值K参数可以引入编码损失, 所以K参数不能太大。

本文所公开的是用于进行自适应二值化的方法和装置,这些方法和装 置考虑了预测残差的统计。自适应二值化比常规二值化方案可能更适用于 无损编码方案的预测残差的统计。本文公开的自适应二值化包括根据先前 二进制化的帧内预测残差的平均水平适配EG码的K值。

图13示出了在视频编解码器中实施的二值化方案790的实施例。如 图12的方案780中所述,如果(X-3)≥(M+1),值(M+1)首先二进制化为全 为1的二进制字符串。随后使用具有k=0的EG码(即,EG0码)对 (X-3-(M+1))的剩余部分进行编码。相比之下,如果如下文所述 (X-3)≥(M+1),图13中的方案790可对EG码的参数K(本文中有时称为 EG参数)进行适配。具有参数K的EG码有时称为EGK。如果不满足条 件(X-3)≥(M+1),则编码与图12中的编码相同。

图14是用于在无损编码模式下进行二值化的方法800的实施例的流 程图。方法800从方框810开始,在方框810中,EG参数初始化为预定 值,例如0或3。同样,在方框810中,计数器(表示为N)和累加器(表 示为A)(在方案800的后半部分使用的变量)可设置为零。接着,在方 框820中,通过使用具有所选EG参数的EG码对第一预测残差进行编码。 例如,如果EG参数为k=3,使用EG3编码。方法800应用于满足(X-3)≥(M+1) 的预测残差,并且对于这些预测残差,值(M+1)二进制化为全为1的二进 制字符串。可使用EG码对值(X-3-(M+1))的剩余部分进行编码。在方框830 中,计数器N更新为使用具有参数K的EG码进行编码的预测残差数目, 包括系数组(通常为由16个预测残差组成的块)中的当前预测残差,在 系数组中,0≤K≤Kmax且Kmax为所允许的最大值。接着,在方框840中, 累加器A使用最近编码的值(该值使用参数K)进行更新。如果 (X-3)≥(M+1),累加器A可更新为(X-3-(M+1))形式的来自先前编码的已编 码值的总和,包括系数组内的当前预测残差。在方框850中,更新参数K 的值。可使用多个实施例来更新参数K,包括以下六个替代性实施例中的 任一者。

用于更新参数K的第一实施例如下:

for(int i=0;((N<<i)<A)&&(i<Kmax);i++)

K=i   (Eq.1)

其中所属领域的普通技术人员理解该句法。也就是说,(N<<i)表示将 整数N的二进制表示左移i位,i++表示将i按1递增,以及“&&”表示逻 辑运算符AND。应注意,由于更新参数K的操作仅涉及一次加法、最多 (Kmax+1)次递增操作、最多Kmax次左移操作以及最多2Kmax次比较操作, 该操作较小。

用于更新参数K的第二实施例如下:

for(int i=0;(N<<i)<A;i++)

K=max(i,Kmax)   (Eq.2)

用于更新参数K的第三实施例如下:

for(int i=0;((N<<i)<(w*A))&&(i<Kmax);i++)

K=i   (Eq.3)

其中w是调整适配速度的预定义参数。(Eq.1)中的方法可对应于使 用w=1的(Eq.3)中的方法。如果w>1,适配速度可比使用w=1的方法 迅速。如果w<1,适配速度可比使用w=1的方法缓慢。

用于更新参数K的第四实施例如下:

for(int i=0;(N<<i)<(w*A);i++)

K=max(i,Kmax)   (Eq.4)

如果我们想要更好地调整适配速率,可引入正系数阵列c[i],其中 i=0,...,Kmax。用于更新参数K的第五实施例如下:

for(int i=0;((c[i]*(N<<i))<A)&&(i<Kmax);i++)

K=i   (Eq.5)

应注意c[i]=1,其中i=0,...,Kmax可对应于(Eq.1)中的方法。

用于更新参数K的第六实施例如下:

for(int i=0;(c[i]*(N<<i))<A;i++)

K=max(i,Kmax)   (Eq.6)

(Eq.1)至(Eq.6)中所公开的实施例可仅应用至亮度分量。或者, (Eq.1)至(Eq.6)中所公开的实施例可应用至亮度和色度分量。在方框 860中,使用更新后的参数K对下一预测残差值进行编码,并将结果插入 比特流中。在决策块870中,决定是否存在任意剩余待编码的预测残差。 如果存在,流程图800返回方框830并且为下一预测残差重复方框830至 860。如果不存在,方法800结束。尽管方法800从逐样本或逐值更新参 数K角度而言描述,但是参数K可逐块更新。对于不满足(X-3)≥(M+l)的 任意预测残差,使用参照图12和13所述的TU和TR码对预测残差进行 编码。可在系数组(例如,4×4的残差块)中执行参数K的自适应,在该 情况下,在残差块的开始对N和A进行初始化,并为残差块中的像素重 复步骤830至860。参数K可在各残差块的开始重新初始化,或者参数K 可在各帧的开始初始化一次,并且参数K可从一个残差块延续到另一残差 块(例如,某个残差块开始处的参数K与先前残差块结束处的参数K相 同)。

所述领域的普通技术人员理解到,熵解码可使用与方法800中指定操 作类似的操作以对接收的比特流进行解码。图15是用于解码由图14中的 方法800生成的比特流的方法1400的实施例的流程图。方法1400的步骤 与方法800的步骤类似,除了方框1420和1460涉及对接收的比特流中接 收的二进制字符串进行解码以生成预测残差,而不是对预测残差进行编码 以生成二进制字符串。

上述方案可以在网络部件上实施,例如计算机或网络部件,其具有足 够的处理能力、存储资源以及网络吞吐能力来处理其上的必要工作量。图 16是网络部件或节点1500的实施例的示意图,所述网络部件或节点1500 适用于实施本文所公开的视频编解码器或方法的一项或多项实施例,例 如,编码器100、用于编码PU的方法700,用于解码PU的方法760、用 于在无损编码模式下进行二值化的方法800以及用于解码的方法1400。网 络节点1500包括处理器1502,其与包括辅助存储器1504、只读存储器 (ROM)1506、随机存取存储器(RAM)1508、输入/输出(I/O)设备 1510,以及发射器/接收器(或收发器)1512的存储设备进行通信。I/O设 备1510和/或发射器/接收器1512是可选的,并且如果不包含I/O设备1510 和/或发射器/接收器1512,则网络节点1500称为计算设备,在这种情况下, 编码的比特流或解码的视频流可存储在存储器中。处理器1502可以实施 为一个或多个中央处理单元(CPU)芯片、核(例如,多核处理器)、现 场可编程门阵列(FPGA)、专用集成电路(ASIC),和/或数字信号处理 器(DSP)。处理器1502可以使用硬件或软硬件的组合来实施。

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

发射器/接收器1512可用作网络节点1500的输出和/或输入设备。例 如,如果发射器/接收器1512用作发射器,则其可将数据传出网络节点 1500。如果发射器/接收器1512用作接收器,其可将数据传入网络节点 1500。发射器/接收器1512可采用以下形式:调制解调器,调制解调器组, 以太网卡,通用串行总线(USB)接口卡,串行接口,令牌环卡,光纤分 布式数据接口(FDDI)卡,无线局域网(WLAN)卡,无线收发器卡例如 码分多址(CDMA),全球移动通信系统(GSM),长期演进(LTE), 全球微波接入互操作性(WiMAX),和/或其他空中接口协议无线收发器 卡,以及其他公知的网络设备。发射器/接收器812可提供一种途径给处理 器1502以与互连网或一个或多个内网进行通信。如果网络节点1500用作 视频解码器,则处理器1502可编码比特流。处理器1502还可包化和封装 (即,格式化)比特流进行传输并提供格式化的比特流给发射器/接收器 1512。发射器/接收器1512随后将传输该格式化的比特流。同样地,如果 网络节点1500用作视频解码器,则发射器/接收器可接收格式化的比特流。

I/O设备1510可包括视频监控器,液晶显示器(LCD),触屏显示器, 或用于显示视频的其他类型的视频显示器,和/或可包括捕获视频的视频 录像设备。I/O设备1510可包括一个或多个键盘、鼠标、轨迹球或其他公 知的输入设备。如果网络节点1500用作视频编码器,则待编码的视频流 可以由I/O设备1510提供或通过其他方式提供。类似地,如果网络节点 1500用作视频解码器,则待解码的视频流可通过发射器/接收器1512接收 或通过其他方式提供。

应理解,通过将可执行指令编程和/或加载至网络节点1500、处理器 1502,辅助存储器1504,RAM1508和ROM1506中的至少之一被改变, 将网络节点1500的一部分转换成特定机器或装置(如,本发明宣扬的拥 有功能的视频编解码器)。可执行指令可存储于辅助存储器1504、 ROM1506和/或RAM1508上,并加载至处理器1502中进行处理。加载可 执行软件至计算机所实现的功能可以通过公知设计规则转换成硬件实施, 这在电力工程和软件工程领域是很基础的。决定使用软件还是硬件来实施 一个概念通常取决于对设计稳定性及待生产的单元数量的考虑,而不是从 软件领域转换至硬件领域中所涉及的任何问题。一般来说,经常变动的设 计更适于在软件中实施,因为重新编写硬件实施比重新编写软件设计更为 昂贵。通常,稳定及大规模生产的设计更适于在如专用集成电路(ASIC) 这样的硬件中实施,因为运行硬件实施的大规模生产比软件实施更为便 宜。设计通常可以以软件形式进行开发和测试,之后通过公知设计规则转 变成专用集成电路中等同的硬件实施,该集成电路硬线软件指令。由新 ASIC控制的机器是一特定的机器或装置,同样地,编程和/或加载有可执 行指令的电脑可视为特定的机器或装置。

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

虽然本发明多个具体实施例,但应当理解,所公开的系统和方法也可 通过其他多种具体形式体现,而不会脱离本发明的精神或范围。本发明的 实例应被视为说明性而非限制性的,且本发明并不限于本文本所给出的细 节。例如,各种元件或部件可以在另一系统中组合或合并,或者某些特征 可以省略或不实施。

此外,在不脱离本发明的范围的情况下,各种实施例中描述和说明为离 散或单独的技术、系统、子系统和方法可以与其它系统、模块、技术或方法 进行组合或合并。展示或论述为彼此耦合或直接耦合或通信的其它项也可以 采用电方式、机械方式或其它方式通过某一接口、设备或中间部件间接地耦 合或通信。其他变更、替换、更替示例对本领域技术人员而言是显而易见的, 均不脱离此处公开的精神和范围。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号