首页> 中国专利> 用于使用自适应分段的视频编码的系统和方法

用于使用自适应分段的视频编码的系统和方法

摘要

公开了一种用于对压缩的视频信息进行解码的方法。视频信息可以包括多个帧,每个帧具有多个块。该方法包括:从视频信息读取将帧中的诸块与四个分段标识符相关联的分段图。每个分段标识符与一个或多个分段参数相关联,分段参数诸如量化参数、环路滤波器类型、环路滤波器强度以及子像素内插滤波器。继而使用相关联的分段参数对每个分段中的块进行解码。分段参数可以持续到后续的帧,除非由随后的帧重写。帧可以包括禁止分段的比特,在这种情况下,针对帧中的所有块使用默认参数。

著录项

  • 公开/公告号CN102150428A

    专利类型发明专利

  • 公开/公告日2011-08-10

    原文格式PDF

  • 申请/专利权人 谷歌公司;

    申请/专利号CN200980135559.2

  • 发明设计人 P·威尔金斯;J·班科斯基;许耀武;

    申请日2009-09-10

  • 分类号H04N7/26(20060101);H04N7/50(20060101);

  • 代理机构11256 北京市金杜律师事务所;

  • 代理人酆迅;陈姗姗

  • 地址 美国加利福尼亚州

  • 入库时间 2023-12-18 03:04:41

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-02-09

    专利权人的姓名或者名称、地址的变更 IPC(主分类):H04N7/26 变更前: 变更后: 申请日:20090910

    专利权人的姓名或者名称、地址的变更

  • 2013-11-20

    授权

    授权

  • 2011-11-09

    实质审查的生效 IPC(主分类):H04N7/26 申请日:20090910

    实质审查的生效

  • 2011-08-10

    公开

    公开

说明书

相关申请的交叉引用

本申请要求于2008年12月5日提交的美国专利申请号12/329,177的优先权,其要求于2008年9月11日提交的美国临时专利申请号61/096,242的优先权,在此通过引用并入二者全部内容。

技术领域

本发明总体上涉及视频编码。

背景技术

目前越来越多的应用使用数字视频以用于各种目的,例如包括经由视频会议的远程商务会议、高清视频娱乐、视频广告以及用户生成视频的共享。随着技术的演进,人们对于视频质量具有更高期望,并且期望具有较高帧速率的平滑播放的高清视频。

当选择视频编码器用于观看数字视频时,可以考虑多种因素。一些应用可能需要极好的视频质量,而其他应用可能需要符合各种约束,例如包括带宽或者存储需求。为了允许视频的较高质量传输同时限制带宽消耗,提供了多种视频压缩方案,包括专用格式,诸如VPx(由纽约克利夫顿帕克的On2技术公司公布)、由ITU-T视频编码专家组(VCEG)和ISO/IEC运动图像专家组(MPEG)公布的H.264标准,包括其当前以及将来的版本。H.264也称为MPEG-4第10部分或者MPEG-4AVC(正式的是ISO/IEC 14496-10)。

现代视频编码方法在小于整个帧的粒度级别处调整特定压缩参数。例如,一些压缩方案调整应用于宏块或者块边界的环路滤波器的类型或者强度以改进向观看者示出的视频质量。另外,例如,不同的量化级别可以应用于帧中的每个宏块。以这种方式,可以以较高比特率来传输具有重要信息的宏块,而以较低比特率来传输具有较不重要信息的宏块。

发明内容

在此教导了用于对视频信息进行编码和解码的方法的诸多实施方式。在一个实施方式中,一种方法对压缩的视频信息进行解码,该压缩的视频信息包括多个帧,每个帧具有多个块。该方法包括从视频信息读取将至少一个帧中的至少一个块与至少一个分段标识符相关联的分段图。该分段标识符使用二进制算术解码器进行解码。该方法还包括从所述信息中读取与该分段相关联的至少一个分段参数;以及使用分段参数集对块进行解码。在一些实施方式中,分段参数包括以下至少一个:量化参数、环路滤波器类型、环路滤波器强度以及子像素内插滤波器。

在另一实施方式中,公开了一种用于对编码的视频信息流进行解码的方法,该编码的视频信息流包括多个帧,每个帧具有多个块。该方法包括:针对至少第一帧,从视频信息中读取将第一帧中的至少一个块与至少一个分段标识符相关联的分段图。该分段标识符使用二进制算术解码器进行解码。从编码的视频信息中读取至少一个分段参数,其与分段标识符相关联。所述块使用分段参数进行解码。该方法还包括:针对至少第二帧,使用分段标识符来对与第一帧中的所述块相对应的第二帧中的块进行解码。

在另一实施方式中,公开了一种用于创建编码的视频信息流的方法,该编码的视频信息流包括多个帧,每个帧包括多个块。该方法包括:针对至少第一帧,创建将第一帧中的至少一个块与至少一个分段标识符相关联的分段图,以及将分段标识符与至少一个分段参数相关联。该分段标识符使用二进制算术编码器进行编码。所述块使用分段参数进行编码。

下文更加详细地描述本发明的这些以及其他实施方式。

附图说明

本文的描述参考附图,其中贯穿若干视图,相似的参考标号表示相似的部分,并且其中:

图1是根据本发明一个实施方式的视频压缩系统的框图。

图2是根据本发明一个实施方式的视频解压缩系统的框图。

图3是在图1和图2的视频压缩系统和解压缩系统中使用的帧内预测模式和帧间预测模式的示意图。

图4A是在图1和图2的视频压缩系统和解压缩系统中使用的示例性分段图。

图4B是在图1和图2的视频压缩系统和解压缩系统中使用的备选示例性分段图。

图5是在图1的视频压缩系统中使用的控制视频分段的方法的流程图。

图6是对图1和图2的视频压缩系统和解压缩系统中使用的代码分段标识符所使用的二进制树的示意图。

图7是在图1的视频压缩系统中使用的对分段标识符进行编码的方法的流程图。

具体实施方式

视频压缩通常是指通过永久消除视频信号中的某些冗余信息来减少表示视频信号的数据量。压缩可能需要符合各种约束,例如包括带宽或者存储需求。此类压缩标准的示例包括MPEG和H.264。

基于块的视频压缩例如对固定形状的相邻像素群组(通常称为宏块)进行操作。例如,H.264标准指定了16×16个像素的宏块。通常,每个视频帧可以分为若干宏块,其中每个宏块包括多个更小尺寸的块。宏块和块中的这些像素群组与在当前帧中找到的数据或在其他帧中找到的数据进行比较,以便制定预测数据和错误信号。

针对每个块的错误信号继而例如使用离散余弦变换(DCT)进行变换。针对每个块所产生的变换系数继而被量化,并且经量化的系数接着根据诸如上下文自适应二进制算术编码(CABAC)的编码方案进行编码。

变换系数所量化的程度称为量化级别,其影响用于表示图像数据的比特的数目以及所产生的解码图像的质量。通常,当量化级别设置为较高值时,较多的系数被设置为0,这产生较大的压缩,但是也降低了图像的质量。相反,当量化级别设置为较低值时,较少的系数被设置为0,这产生改进的图像质量但是具有较小的压缩。

因为视频的视觉质量可能取决于量化级别在视频序列的诸帧中如何分布,所以控制每帧之间的量化级别是有用的。目前一些技术在每帧之间应用均匀的量化级别。然而,这些技术不允许向帧中具有较高视觉重要性的部分(诸如人脸)应用较低的量化级别。类似地,这些均匀量化级别技术也不允许向帧中具有较低视觉重要性的部分(诸如背景区域)应用较高的量化级别。

为了克服这些困难,可能期望有效地选择针对每个宏块的量化级别而不增加编码器/解码器的开销和计算复杂度。

块效应表现为邻近块之间的不连续性。这种不连续性是视觉干扰,并且也减少了将重建的帧作为用于后续帧的预测器的有效性。

为了移除这些不连续性,可以在重建路径期间向重建的帧应用环路滤波,这将在下文更加详细地讨论。环路滤波器以及环路滤波器强度的选择对于图像质量会产生重大影响。太强的滤波器可能引起细节的模糊和损失。太弱的滤波器可能不足以抑制相邻块之间的不连续性。

因此,此处描述了用于有效地传输分段图和参数集的有效自适应分段方案的实施方式,其中参数集诸如将要应用于分段图中的每个分段的量化级别和环路滤波器类型和/或强度。

虽然在VP8视频编码格式的上下文中描述了自适应分段创新的具体实施方式,但是本发明的备选实施方式可以在其他视频编码算法的上下文中实现。

图1是根据本发明一个实施方式的使用环路滤波器34的通用视频编码器14的框图。参考图1,为了对输入视频流16进行编码,编码器14在前向路径(由实线连接线示出)中执行下述功能以便产生经编码的比特流26:帧内/帧间预测18、变换19、量化22和熵编码24。编码器14还包括用于重建帧以对其他宏块进行编码的重建路径(由虚线连接线示出)。编码器14在重建路径中执行下述功能:去量化28、逆变换30、重建32和环路滤波34。编码器14的其他结构变体也可以用于对比特流26进行编码。

参考图1,当提供输入视频流16用于编码时,输入视频流16内的每个帧可以以宏块为单位进行处理。在帧内/帧间预测阶段18,可以使用帧内预测模式或帧间预测模式对每个宏块进行编码。在任一情况下,可以基于重建的帧来形成预测宏块。在帧内预测的情况下,可以根据当前帧中之前已被编码且重建的样本来形成预测宏块。在帧间预测的情况下,可以根据诸如已经编码且重建的之前的或将来的帧之类的一个或多个参考帧来形成预测宏块。

接下来,继续参考图1,可以从当前宏块中减去预测宏块,以产生残差宏块(残差)。变换阶段19对残差进行变换编码,以及量化阶段22对残差进行量化以产生一组经量化的变换系数。该经量化的变换系数继而由熵编码阶段24进行熵编码。经熵编码的系数与对宏块进行解码所需的信息(诸如,所使用的预测模式类型、运动向量和量化器值)一起被输出到压缩的比特流26。

提供图1中的重建路径以允许编码器和解码器两者都可以使用对宏块进行解码所需的相同参考帧。重建路径包括通过去量化阶段28对变换系数进行去量化以及通过逆变换阶段30对系数进行逆变换,以产生导出的残差宏块(导出残差),该重建路径类似于在下文更加详细描述的解码过程期间发生的功能。在重建阶段32,预测宏块可以被添加到导出残差以创建重建的宏块。环路滤波器34可以应用于重建的宏块以减少块效应。

参考图2,根据一个实施方式,为了对压缩的比特流26进行解码,与先前讨论的编码器14的重建路径类似,解码器21执行如下功能以产生输出视频流35:熵解码25、去量化27、逆变换29、帧内/帧间预测23、重建31、环路滤波器34和去块效应滤波33。解码器21的其他结构变体也可以用于对压缩的比特流26进行解码。

当提供压缩的比特流26用于解码时,数据元素可以由熵解码阶段25进行熵解码,以产生一组量化的系数。去量化阶段27对系数进行去量化,以及逆变换阶段29对系数进行逆变换,以产生与编码器14中的重建阶段所创建的导出残差相同的导出残差。在帧内/帧间预测阶段23,解码器21使用从压缩的比特流26解码出的报头信息,创建与在编码器14中所创建的预测宏块相同的预测宏块。在重建阶段31,预测宏块可以被添加到导出残差,以创建重建宏块。环路滤波器34可以应用于重建宏块以减少块效应。去块效应滤波器33可以应用于重建宏块,以进一步减小成块失真,并且结果可以输出至输出视频流35。

图3示出了参考帧44、48和当前正在编码或者解码的当前帧36。如先前所讨论的,每个帧可以以宏块为单位进行处理,并且在帧内/帧间预测阶段18,每个宏块可以使用帧内预测模式或者帧间预测模式进行编码。例如,当前宏块38可以根据来自先前编码的参考帧44的宏块46使用帧间预测进行编码或者解码。类似地,当前宏块38’可以根据来自先前编码的参考帧48的宏块50使用帧间预测进行编码或者解码。而且,例如,当前宏块38”可以根据当前帧36内的宏块52使用帧内预测进行编码或者解码。

图4A-图4B示出了根据本发明实施方式的针对样本帧的示例性分段图。

参考图4A,示例性分段图100将帧110分段为四个分段:三个前景分段112、114和116以及一个背景分段118。根据本发明的一个实施方式,与前景分段112相对应的所有宏块(如白色宏块所示)使用相同的量化级别和环路滤波器类型和/或强度进行编码,与前景分段114相对应的所有宏块(如黑色宏块所示)使用相同的量化级别和环路滤波器类型和/或强度进行编码,与前景分段116相对应的所有宏块(如加点宏块所示)使用相同的量化级别和环路滤波器类型和/或强度进行编码,与背景分段118相对应的所有宏块(如条纹宏块所示)使用相同的量化级别和环路滤波器类型和/或强度进行编码。因此,每个分段可以具有不同的量化级别和环路滤波器类型和/或强度。

当编码器14正在对包括具有前景成像和背景成像的图像数据的帧进行编码时,分段图100可能非常有用,其中前景中的图像数据与背景成像相比在帧与帧之间变化更多。帧序列可以包括在房屋前面交谈的三个人的脸部。三个脸部是前景成像的示例,而房屋是背景成像的示例。因为视频质量可能在前景分段112、114和116处比在背景分段118处更加重要,所以可以向前景分段112、114和116应用较低的量化级别和较好的环路滤波器类型和/或强度。

参考图4B,示例性分段图200将帧210分段为两个分段:一个主体分段212和一个边界分段214。根据本发明的一个实施方式,与主体分段212相对应的所有宏块(如加点宏块所示)使用相同的量化级别和环路滤波器和/或强度进行编码,与边界分段214相对应的所有宏块使用相同的量化级别和环路滤波器类型和/或强度进行编码(如白色宏块所示)。

当编码器14正在编码存在放大的图像序列时,分段图200可能非常有用。因为视频质量可能在主体分段212处比在边界分段221处更加重要,所以可以向主体分段212应用较低的量化级别和较好的环路滤波器类型和/或强度。

图4A和图4B仅提供了分段图的示例。其他适合的分段图也是可用的,例如其包含任意数目的分段,包含相等尺寸或者不相等尺寸的分段,包含连续或者非连续的宏块,或者是用户定义的或者编码器内预先设置的。

启用/禁用分段的选择(即,分段条件)和分段图的定义可以由编码器决定,由外部应用传入或者由用户指定。作为一个示例,视频会议应用可以传入图以便定义人的头部所处的分段。

图5是根据本发明一个实施方式的控制视频数据的分段的方法的流程图。参考图5,在步骤300,编码器14接收帧输入。在步骤302,编码器14继而确定当前帧是否是在没有参考除其本身之外的任何其他帧的情况下编码的帧,这通常称为关键帧。如果当前帧是关键帧,则编码器14在步骤304将参数重置为0,并且在步骤306重置分段图,以便将所有宏块映射至相同分段。参数例如是量化级别和环路滤波器强度。编码器14继而进行至步骤308。

如果当前帧不是关键帧,或者如果当前帧是关键帧并且编码器14已经重置了参数和分段图,则继而在步骤308,编码器14确定分段是否启用。针对每个帧的比特流报头包括启用或者禁用分段的单个比特。然而,可以使用任何适当的标志、数据结构或者其他数据记录来代替一个比特。如果分段被禁用,则编码器14可以在步骤310向整个帧应用默认量化参数,并且在步骤312向整个帧应用默认环路滤波器强度参数。

分段参数例如可以是量化级别、环路滤波器类型、环路滤波器强度、参考帧类型或者子像素内插滤波器的选择。其他分段参数也是可用的。

作为一个示例,分段参数之一可以是参考帧类型。参考帧类型可以具有指示已经被编码和重建的一个或多个先前帧、将来帧或者其某种组合的值。因此,参考帧类型例如可以包括最后一帧、黄金帧或者备选参考帧。最后一帧可以是在当前帧之前先前编码的帧。黄金帧可以是从很长时间以前任意选择的过去帧,用作后续帧的预测器。备选参考帧可以包括不是最后一帧或者黄金帧的任意帧。例如,备选参考可以是过去帧、将来帧或者构建的参考帧。另外,例如,构建的参考帧可以是名称为“System and Method for Video Encoding Using Constructed Reference Frame”的专利申请中公开的参考帧,上述专利申请被转让给本发明的受让人,其与本发明同时提交,在此通过引用并入其全部内容。

编码器14和解码器21继而可以向由分段参数指示的一个或多个参考帧中对应于给定分段id的那些宏块应用选择性更新。以这种方式,分段可以用作使用来自当前帧的信息来更新参考帧中的一个或多个中的部分(例如背景)的方法,而不需要借助于整个参考帧的完整更新。

虽然自适应分段创新的实施方式仅描述了两个分段参数(即量化级别和环路滤波器强度),但是本发明的备选实施方式可以使用不同的分段参数或者任意数目的分段参数来实现。

如果分段被禁用,则编码器14也可以忽略任何先前传输的分段图以及任何先前传输的分段参数。该分段启用/禁用二进制切换或者分段条件使得开销最小化,并且针对其中分段提供较少益处或者没有提供益处的帧,针对每帧的开销不超过1比特。

仍然参考图5,然而,如果分段被启用,则在步骤314,编码器14可以确定分段参数是否要进行更新。如果没有指示对分段参数进行更新,则在步骤316,编码器14可以使用先前传输的分段参数值。换言之,针对当前视频帧可以不更新分段参数。该更新分段参数二进制切换通过在来自先前帧的分段参数可以用于当前帧的情况下不重传分段参数而使开销最小化。

如果已经指示了对分段参数进行更新,则编码器14可以更新分段参数。具体地,在本发明的示例性实施方式中,可以在步骤318更新量化级别参数,并且可以在步骤320更新环路滤波器强度参数。经更新的分段参数值可以是绝对值,或者备选地可以是添加到基准值上的增量(即,增加或者减少的)值。如果参数值是增量,则可以实现箝位机制以防止分段参数值超过可允许范围。

仍然参考图5,无论在步骤314中是否更新分段参数,在步骤322,编码器14都可以确定是否要更新分段图100、200。如果已经指示不更新分段图100、200,则在步骤324,编码器14可以使用先前传输的分段图。该更新分段图二进制切换通过在来自先前帧的分段图可以用于当前帧时不重传分段图100、200而使开销最小化。

如果已经指示对分段图100、200进行更新,则在步骤326,编码器14可以更新分段标识符比特中每一个的发生概率。在已经更新了发生概率之后,在步骤328,编码器14可以更新针对当前帧中的宏块的分段标识符。返回参考图4A,例如,分段标识符将每个宏块与分段图100中的特定分段112、114、116、118相关联。因此,如果存在四个分段112、114、116、118,则可以存在四个分段标识符,其例如可以标识为00、01、10和11。图5的过程可以针对由编码器14接收的每个帧进行重复。

用于实现帧级报头信息以控制自适应分段中的分段参数和分段图的更新的示例性伪代码示出如下:

参考上述伪代码,以下是变量和数组及其对本发明实施方式的意义的列表:

SegmentationEnabled:分段启用/禁用二进制切换。

UpdateMbSegmentationMap:分段图更新/不更新二进制切换。

UpdateMbSegmentationParams:分段参数更新/不更新二进制切换。

MbSegmentAbsOrDelta:指示SegmentFeatureData中的分段参数的值是增量值还是绝对值的二进制切换。

SegmentFeatureData[i][j]:分段参数(例如,量化器或者环路滤波器强度)的值

MbSegmentTreeProbs[i]:树节点概率(参考以下图6)。

参考伪代码,可以将SegmentationEnabled变量编写到比特流中以指示分段是否启用。如果没有启用分段,则分段参数和分段图都不进行更新,并且如先前所讨论的,编码器14和解码器21忽略任何先前传输的分段参数或者分段图。然而,如果启用了分段,则可以编写UpdateMbSegmentationParams比特以指示是否应当更新分段参数,并且可以编写UpdateMbSegmentationMap以指示是否应当更新分段图。也可以使用任何适当的标志、数据结构或者其他数据记录来代替比特。

如果UpdateMbSegmentationParams为真,则可以将MbSegmentAbsOrDelta比特编写到比特流中以指示分段参数是增量值还是绝对值。继而,针对用于四个分段中的每一个的两个分段参数(即,量化器值和环路滤波器强度)中的每一个,可以将SegmentFeatureData[i][j]中的数据编写到比特流中,其具有相应符号位(如果有的话)。也可以使用任何适当的标志、数据结构或者其他数据记录来代替比特。

如果UpdateMbSegmentationMap为真,则编码器14可以通过测试MbSegmentTreeProbs[i]数组中是否有任何值是255来确定是否可以更新MbSegmentTreeProbs[i]中的数据。如果数组中有一个值是255,则不应当更新特定节点概率。否则,可以将MbSegmentTreeProbs[i]中的每个节点概率编写到比特流中。

更新节点概率的成本可以发生在帧级别,并且可以是最小的。根据上述伪代码,取决于正在更新多少个概率,成本可以是每帧3-27比特中的任何一个。在低成本端,当条件指示不应当更新任何节点概率时,产生3比特。相应地,编码器14可以将Writebit(0)操作执行三次。在高成本端,当条件指示应当更新所有三个节点概率时,产生27比特。相应地,编码器14可以将Writebit(1)操作执行三次,并且以每个8比特的成本来编写来自MbSegmentTreeProbs[i]的三个概率值。

备选地,在一个实施方式中,如果UpdateMbSegmentationMap为真,则总是将来自MbSegmentTreeProbs[i]的、成本为每个8比特的全部三个概率以24比特的成本编写到比特流中。示出该实施方式的示例性伪代码示出如下:

图6示出了用于使用可能发生特定结果406、408、410和412的概率来对分段标识符进行编码的二进制树。每个结果406、408、410和412表示四个分段标识符00、01、10和11之一。如上文所述,本发明的实施方式可以具有不同数目的分段标识符。取决于各实施方式中的分段数目,将相应地修改图6中的二进制树,以便表示对特定数目分段进行编码所需要的概率数目。所以,例如,如果一个实施方式包含8个分段,则二进制树将包括7个不同节点处的7个概率,以便对8个特定结果进行编码。

每个节点400、402和404具有相关联的概率,其例如定义可以采用左分支的可能性。如图6所示,左分支对应于表示0的比特,而右分支对应于表示1的比特。可以采用左分支的可能性是值可能对应于每个节点400、402和404处表示的值的概率。因此,节点400处的概率1表示值可能小于2的可能性。换言之,概率1表示结果406、408可能发生的可能性,因为它们分别具有二进制值00和二进制值01,其小于2。式子1-概率1可以用于计算节点400的右分支可能发生的可能性。换言之,1-概率1表示结果410、412可能发生的可能性,因为它们分别具有二进制值10和二进制值11,其大于2。

节点402处的概率2表示值可能等于0的可能性。换言之,概率2表示结果406可能发生的可能性,因为其具有二进制值00,其等于0。式子1-概率2可以用于计算节点402的右分支可能发生的可能性。换言之,1-概率2表示结果408可能发生的可能性,因为其具有二进制值01,其不等于0。

节点404处的概率3表示值可能等于2的可能性。换言之,概率3表示结果410可能发生的可能性,因为其具有二进制值10,其等于2。式子1-概率3可以用于计算节点404的右分支可能发生的可能性。换言之,1-概率3表示结果412可能发生的可能性,因为其具有二进制值11,其不等于2。

概率例如可以表示为1-254范围内的整数,其中1表示每个节点400、402和404的左分支最不可能发生,而254表示每个节点400、402和404的左分支最可能发生。每个概率反映了已经指派给每个分段的宏块的数目。因此,如果大部分宏块被指派给分段00,则概率1和概率2可能较高。概率也可以使用不同的范围或者值来表示,并且可以表示其他含义,诸如可能采用右分支的可能性。

存在各种类型的编码方案,诸如算术编码或者霍夫曼(Huffman)编码。因为算术编码将整个消息序列转变为一个数目,而霍夫曼编码将消息的每个符号转变为一系列数字,所以算术编码可能比霍夫曼编码更高效。因此,在本发明的优选实施方式中可以使用算术编码。在本发明的备选实施方式中可以使用类似于霍夫曼编码的其他编码方案或者编码方案的组合。

算术编码器可以用于使用三个概率中的每一个在熵编码阶段24(参见图1)对0或1进行编码或者在熵解码阶段25(参见图2)对0或1进行解码,以便表示四个分段标识符之一。算术编码通常包括将消息序列表示为给定范围内的单个浮点输出数。通常,该范围可以是从0到1的概率线。消息序列中的每个符号(即分段标识符)可以通过占据概率线的一部分的范围来表示。如果符号具有高概率,则其可以容纳概率线上的较大范围,而如果符号具有低概率,则其可以容纳概率线上的较小范围。

在编码期间,可以基于每个符号所落入的范围来制定用于表示消息序列的实数。随着对消息中的每个符号进行处理,范围可以缩小至分配给该符号的那部分。随着消息变得较长,对其进行表示所需要的范围则变得较小,并且指定该范围所需要的比特数目增加。较可能的符号(即,具有较高概率的符号)相比于较不可能的符号(即,具有较低概率的符号)减少较少的范围,并且由此向消息添加较少比特。

返回参考图6,如果将独立地对每个分段标识符进行编码,则其可以是每个分段标识符2比特的成本。然而,使用上述算术编码方案,如果是使用了全部四个分段标识符,但是一些标识符比其他标识符具有更高的概率,则编码分段标识符的平均成本可能远小于2比特。如果使用少于四个分段标识符,则编码每个分段标识符的成本可能更少。

图7是根据本发明一个实施方式的、对针对每个宏块的分段标识符进行编码的方法的流程图。在步骤500,编码器14将第一宏块设置为ID等于1。ID表示帧中当前正在编码的宏块标识号。

继而,在步骤502,编码器14确定分段是否启用。如果分段没有启用,则不针对该宏块对分段标识符进行编码。如果分段被启用了,则在步骤504,编码器14确定分段图是否要进行更新。如果尚未指示对分段图的更新,则不针对该宏块对新的分段标识符进行编码,并且在编码中可以使用先前的分段图。

然而,如果已经指示了对分段图的更新,则可以基于宏块在分段图内的位置来为其指派分段ID。因此,在步骤506,编码器14确定是否要将具有标识号ID的宏块映射至分段0。如果要将具有标识号ID的宏块映射至分段0,则在步骤508,编码器14针对具有标识号ID的宏块对分段0(二进制00)进行编码。如果不要将具有标识号ID的宏块映射至分段0,则在步骤510,编码器14确定是否要将具有标识号ID的宏块映射至分段1。如果要将具有标识号ID的宏块映射至分段1,则在步骤512,编码器14针对具有标识号ID的宏块对分段1(二进制01)进行编码。如果不要将具有标识号ID的宏块映射至分段1,则在步骤514,编码器14确定是否要将具有标识号ID的宏块映射至分段2。如果要将具有标识号ID的宏块映射至分段2,则在步骤516,编码器14针对具有标识号ID的宏块对分段2(二进制10)进行编码。如果不要将具有标识号ID的宏块映射至分段2,则在步骤518,编码器14针对具有标识号ID的宏块对分段3(二进制11)进行编码。

一旦在步骤508、512、516或者518已经针对宏块对分段标识符进行编码,则在步骤520,编码器14确定ID是否小于NUM_OF_MBS,其表示当前帧中的宏块总数。如果ID不小于宏块总数,则没有更多的分段标识符需要针对当前帧中的每个宏块进行编码。否则,如果ID小于NUM_OF_MBS,则在步骤522,编码器14将ID增加1,并且重复该过程,直到已经针对当前帧对所有的宏块分段标识符进行了编码。

用于实现图7中的方法的步骤的示例性伪代码示出如下:

参考以上伪代码,针对帧中的每个宏块,如果分段被启用并且分段图正在进行更新,则例如使用EncodeBit(值,概率)函数来对分段标识符进行编码。通过在编码器中对EncodeBit函数进行两次调用,针对每个宏块对分段标识符进行编码。在对EncodeBit函数的每次调用中,编码器通过使用三个“概率”值之一作为用于编码过程的上下文来对输入比特“值”进行编码,其是0或者1。将这三个概率值指定为称作MbSegmentTreeProbs的三个值的数组。上下文为编码器提供了每个分段标识符的概率分布的指引,该概率分布取决于其出现在输入序列中的可能性大小。

上述示例性伪代码是支持四个分段标识符的实现。如上所述,可以支持其他数目的分段,并且可以相应地修改伪代码以表示正确的分段数目。另外,示例性伪代码并不旨在限制于任何特定编程语言及其实现。可以理解,多种编程语言及其实现可以用于实现在此描述的本发明的实施方式的教导。

虽然已经结合特定实施方式描述了本发明,但是可以理解,本发明不限于所公开的实施方式,相反,其旨在覆盖包括在所附权利要求的精神和范围内的各种修改和等效布置,该范围旨在符合最宽泛的解释,以便包括根据法律所允许的所有此类修改和等效结构。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号