用于视频压缩的编码器辅助帧率上变换(ea-fruc)的方法和装置的制作方法

文档序号:7948805阅读:252来源:国知局
专利名称:用于视频压缩的编码器辅助帧率上变换(ea-fruc)的方法和装置的制作方法
技术领域
这里说明的各实施例通常涉及数字视频压缩,并且更具体地,涉 及用于视频压縮的编码器辅助帧率上变换(EA-FRUC : Encoder Assisted-Frame Rate Up Conversion)的方 去禾卩装置。
背景技术
如今存在支持各种帧率的视频格式。当前如下格式最为普遍,以 其支持的帧每秒(fps)依次列出24(电影属性)、25(PAL)、 30(通常为 隔行视频)、以及60(高清晰(HD),例如,720p)。虽然这些帧率适于 大多数应用,但是为了达到移动手机视频通信的低带宽要求,有时候 帧率会降低到15、 10、 7.5或3fps那样低。虽然这些低帧率允许具有 较低计算能力的低端设备显示某些视频,但所产生的图像质量遭受 "颠簸"(即,有幻灯片显示的效果),而不是平滑运动。同时,丢弃 的各帧常不能正确地跟踪该视频中的运动量。例如,在诸如体育运动 事件中出现的"高运动"视频内容部分期间应该丢弃比较少的帧,而 在诸如谈话秀中出现的"低运动"视频内容片段期间应该丢弃更多帧。 视频压縮要取决于内容,并希望能够分析运动和纹理特征并将其合并 在要编码的序列中,以便提高视频压縮效率。
帧率上变换(FRUC)是一种在视频解码器端使用视频内插来提高 重建视频帧率的处理过程。在FRUC中,将接收的帧作为参考来生成
内插的帧。目前,实现FRUC帧内插的系统包括基于运动补偿内插和 对所传输运动矢量进行处理的各种方法。FRUC也用于各种视频格式 之间的转换。例如,在电影电视化处理(Tdecine)和电视电影化处理 (Inverse Telecine)应用中,将逐行视频(24帧/秒)转换为NTSC隔行视 频(29.97帧/秒),所述应用是一种电影到视频磁带的转换技术,该技 术矫正了电影和视频之间的各色彩帧率差。
另一种FRUC方法使用了加权自适应的运动补偿内插(WAMCI), 以减少由于运动补偿和基于块处理的缺陷引起的块失真。该方法基于 通过多个运动补偿内插(MCI)图像的加权求和的内插过程。在所提出 方法中,通过使用与重叠块运动补偿(OBMC)相似的技术来减少块边 界上的块失真。具体地说,为在处理重叠区域期间减少模糊,该方法 使用运动分析来确定块运动的类型并且自适应地使用OBMC。实验 结果表明,所提出的方法以显著减少的块失真达到了改善的结果。
而另一种FRUC方法使用了矢量可靠性分析来减少因使用从编 码器错误传输的任何运动矢量而引起的失真。在该方法中,使用运动 估计来构建运动矢量,将这些构建的运动矢量与所传输的运动矢量相 比较,以便确定最希望用于帧内插的方法。在使用运动估计的传统上 变换算法中,使用两个相邻解码帧来进行该估计处理,以便构建出允 许内插一帧的运动矢量。然而,这些算法没有考虑运动估计操作所需 的计算量,来试图改善对传输带宽的使用。相比较而言,在使用传输 的运动矢量的上变换算法中,内插帧的质量很大程度上取决于由编码 器导出的运动矢量。使用这两种方法的组合,首先对传输的运动矢量 进行分析,以决定是否能将它们用于构建内插帧。然后自适应地从下 面三种方法中选出用于内插的方法局部运动补偿内插、全局运动补 偿内插以及帧重复内插。
虽然通常将FRUC技术实现为视频解码器中的后处理功能,这样 视频编码器通常不涉及该操作。然而,在称为编码器辅助FRUC (EA-FRUC)的方法中,该编码器可以确定是否可以排除对与运动矢量 或参考帧(例如,残差数据)相关的特定信息的传输,同时在没有所排 除的矢量和残差数据的情况下仍使解码器自己重新产生大部分帧。例
如,在MPEG-2中引入了双向预测视频编码方法来改进B帧编码。
在该方法中,建议使用一种误差准则,以便能将真正的运动矢量应用
在运动补偿预测编码中。该失真测量基于绝对误差和(SAD),但是己 知该失真测量不足以提供真实的误差测量,尤其是在需要确定序列中 两帧之间运动量的情况下不足以提供真实的误差测量。另外,当由于 对门限的分类优选地取决于内容从而这些门限应该可变的时候,用固 定门限来对门限的变化进行分类。
EA-FRUC的研究领域是个成长中的领域。对视频压縮中该领域 的兴趣增加一尤其是在诸如流视频和视频电话的低比特率应用中,特 别是在发送端为能支持高复杂度应用的网络节点、以及接收端是具有 功率和复杂度限制的手持设备的情况下。EA-FRUC还能找到其中的 解码器与任何标准或流行的视频编码技术相一致的开放系统中的应 用,也能找到采用专有解码技术的封闭系统中的应用。
所期望的是这样一种方法其在解码器端提供高质量内插帧,同 时降低传输进行内插所需的信息而所需的带宽量,并且还降低产生这 些帧所需的计算量,以便使其很好地适应依赖于低功率处理的多媒体 移动设备。
因此,有必要克服上面提到的问题。

发明内容
这些实施例提供了一种编码器辅助帧率上变换(EA-FRUC)系统, 为了改善压縮效率和重建的视频质量,该系统在视频编码器处利用视 频编码和预处理操作来开发将在解码器中出现的FRUC处理。
在一个实施例中,该处理包括通过确定帧序列的一帧内的空间 活动性,确定该帧中的时间活动性,确定所确定的空间活动性、所确 定的时间活动性以及所确定的空间-时间活动性中至少一个的冗余 度,来确定是否编码视频内容的帧序列中的一帧;并且,如果所确定 的冗余度低于预定门限则对该帧进行编码。
在另一个实施例中,该处理包括通过确定帧序列中的包括一个
或多个帧的一组帧中的空间活动性,确定该组帧中的时间活动性,确
定所确定的空间活动性、所确定的时间活动性以及所确定的空间-时 间活动性中的至少一个的冗余度,来确定是否编码视频内容的帧序列 中该组帧;并且,如果所确定的冗余度落在一组预定门限内,则对该 组帧的 一帧或多帧进行编码。
在另一个实施例中,公开了上面存储有使计算机执行用于构建包 括帧序列的视频序列的方法的指令的计算机可读介质。该方法包括
确定帧序列的一帧中的空间活动性;确定该帧中的时间活动性;确定 所确定的空间活动性和所确定的时间活动性中的至少一个的冗余度; 以及,如果所确定的冗余度低于预定门限则编码该帧。
在另一实施例中,还公开了一种用于构建包括帧序列的视频序列 的装置。该装置包括用于确定帧序列的一帧中的空间活动性的模块; 用于确定该帧中的时间活动性的模块;用于确定所确定的空间活动性 和所确定的时间活动性中的至少一个的冗余度的模块;以及,用于如 果所确定的冗余度低于预定门限则编码该帧的装置。
在另一个实施例中,公开了配置为实现用于构建包括帧序列的视 频序列的方法的至少一个处理器。该方法包括确定帧序列的一帧中 的空间活动性;确定该帧中的时间活动性;确定所确定的空间活动性 和所确定的时间活动性中的至少一个中的冗余度;以及,如果所确定 的冗余度低于预定门限则编码该帧。
从下面详细说明中,对于本领域内技术人员来说其它目标、特征 和优势将变得显而易见。然而,在说明示例性实施例的时候,要认识 到该详细说明和这些特定例子是以示例的方式给出而并非以限制的 方式给出。可以不偏离其实质而在下面说明中做出很多改变和修改, 要认识到该说明包括了所有的这些修改。


通过参考所附各图可以更容易理解本发明,其中 图1是与一个实施例相一致的、实现了编码器辅助帧率上变换 (E A-FRUC)系统的视频编码系统的方框图;
图2是说明了图1的EA-FRUC系统的操作的流程图3是说明了与图1的EA-FRUC系统的一个实施例相一致的一 次(one-pass)编码的图4是说明了与图1的EA-FRUC系统的一个实施例相一致的两 次(two-pass)编码的图;以及
图5是说明了将EA-FRUC系统100应用于无线系统的方框相同编号是指贯穿这几个附图的相同部分。
详细说明
帧率上变换(FRUC)是一种用于在低比特率视频传输中在解码器 端提高帧率的技术。通常,该技术是解码器操作。然而,通过预测解 码器端对FRUC算法的需求,视频编码器可以智能的判断丢弃视频序 列中的哪一帧或哪些帧(g卩,不发送给解码器),以便提高总体压缩比 特率--从而改善了压縮效率。正如这里说明的,在编码器辅助-FRUC (EA-FRUC)系统的一个实施例中,编码器可以获得原始帧以及解码器 上使用的FRUC算法的先验知识,并且使用了利用该先验知识产生的 内插帧,发送额外的信息,以便辅助解码器进行FRUC和改进内插期 间所做出的判断。利用将在解码器中进行FRUC的知识,EA-FRUC 系统在编码器端使用视频编码和预处理操作来改善压縮效率(从而改 善传输带宽的利用率)和重建视频质量。具体地说,将来自解码器的 信息,即可以是通常由编码器传输的补充信息或代替信息,提供给解 码器,以便用于常规的或编码器辅助的FRUC。
在一个实施例中,由编码器提供的信息包括这样的参量要在解 码器端内插的图像的空间(例如,细化、模式判决、邻域特征)和时间 (例如,运动矢量判决)特征,以及相对于普通预测(B或P)帧编码和由 FRUC处理产生的内插帧的差别信息。由FRUC处理内插得到的帧在 这里称为"F帧"。
编码器辅助FRUC概述
图1说明了与一个实施例相一致进行配置的视频编码/解码("编 码")系统100。该编码系统100包括视频编码器104,该视频编码器
104进行数字视频数据的处理,以便对用于传输并由一个或多个解码 器解码的数据进行优化。具体地说,在一个实施例中,该视频编码器 104使用了一种视频编码算法对输入原始视频102进行编码和压縮,
从而减少将该视频102传输给解码器154所需的带宽。可以通过各种 方法来改善该视频编码器104的压縮效率,其中一个方法是通过减少 传输帧的帧率(即,减少要发送帧的数目)。然后,在解码器154处使 用FRUC机制来提高解码视频流的帧率,并改善运动再现(rendition)。 具体地说,解码器154使用从编码器104接收的编码视频流中的参考 帧来产生内插帧。正如这里进一步说明的,在编码操作期间该视频编 码器104 "知道"视频解码器154进行FRUC的能力,并利用这种潜
力来减少所传输帧的数目和尺寸。 F帧分析
在一个实施例中,编码系统100的编码器104包括了内容分类模 块106,其确定在下面情况中的空间和时间复杂性(i)在该视频序列 中的每一帧中;以及(ii)在该视频序列中的多帧之间。编码器104使
用该操作的结果来确定(i)可以丢弃帧序列(也称为图像组(GOP))中 的哪些帧;以及(ii)在两个编码帧之间可以丢弃多少个连续的帧。由 定义可知,每个GOP由一个I图像(帧)、P图像(帧)以及一个或多个 B图像(帧)的排列组成。GOP可以作为一个基本接入单元,以I帧作 为接入点以便于随机接入。应注意的是,GOP可以由可变数目的帧 组成。假定可以在解码器154中使用己知的FRUC技术来对任何丢弃 的帧按照需要进行适当重建。在一个实施例中,可以采用下列方法之 一进行分析
1. 根据在该序列中的活动性(例如,缓慢运动相对高速运动、平坦 区域相对繁杂纹理)对该序列中每帧的重要性进行排序,然后丢弃(抛 弃)该序列中所有高度相关的帧。
2. 在编码器104处使用在解码器154处可用的FRUC算法来构 建预期的FRUC帧。如果原始帧与其内插版本之间的相关性很高,则 丢弃该原始帧。可替换地,如果将该原始帧编码为B帧并且重建的B
帧与其内插版本高度相关,则丢弃该高度相关的B帧。如果并非高 度相关,则对该原始帧进行编码并传输。如果原始帧及其内插帧之间 或B帧及其内插帧之间的相关性为中等程度时,将该帧的非冗余部 分编码为辅助信息,该辅助信息用于改善内插帧相对其对应的原始帧 的质量。
图2说明了编码系统100用于对原始内容进行分类的处理过程的 一个实施例。在一个实施例中,在步骤208中确定对于该原始内容的 编码性能是否存在任何延迟约束。例如,受延迟要求约束的实时流应 用或编码器(例如,携带诸如视频电话的会话视频的流)通常必须一次 完成所有编码操作。在这种情况下,操作继续步骤208,其中进行了 一次编码处理。相反,如步骤216中所示,对于诸如视频点播(VOD)、 数字摄影机和可携式摄影机应用这样的其中存储了编码视频、并且从 而就时间资源而言对编码操作无约束的非会话视频,可以使用两次编 码来进行处理。正如这里所述,由于这些差别,编码系统100为这两 种模式进行内容分类的质量和程度均不同。
空间活动性
继续参考图2并且回到图1,在步骤210中由内容分类模块106 来确定空间活动性。具体地说,内容分类模块106确定了视频源102 中空间活动性的量。在一个实施例中,空间活动性指的是视频序列的 图像帧中诸如边缘、饱和色以及高对比度对象的纹理信息的量。通常, 该视频序列中纹理信息的量越大,空间活动性就越大。在一个实施例 中,可以使用下面度量来量化纹理信息
a. 均值在基于块的编码中,每个块的均值与(i)该帧的均值或(ii) 不同尺寸块的邻域的均值进行比较。
b. 方差可以将每个宏块中的像素方差量与预定的数据相关门
限相比较来确定空间活动性。可替换地,可以基于方差和均值度量来 对块进行分类,在这种情况下,可以针对不同的均值范围使用不同的 门限。
C.可变块尺寸/形状均值和方差可以将均值和方差度量扩展到
可变块尺寸以及扩展到在一幅图像或一帧中占有任意尺寸(以及形状) 区域的对象。
d. 对比度比率(i)块、区域或对象的标准差与(ii)一个区域或块 邻域(例如,3X3块)的均值之间的比率,可以用于在元素邻域中提供 对比度度量。另夕卜,可以基于均值对对比度比率进行加权。具体地说, 将给定块或宏块的对比度比率表述为,由邻域中所有块的均值进行归
一化的当前块的均值与各个相邻块(在9个块的3X3邻域中的8个相
邻块)的均值之差的和。该度量把有效的颗粒度提供到空间纹理信息
中,该信息转化为空间活动性,并成功地用于针对可变块尺寸DCT(也 称为ABSDCT)的块分割算法。
e. 运动矢量场在预测帧中(例如,P或B帧中),可以对预测帧 的宏块的运动矢量(以及子块的运动矢量)进行映射以形成运动矢量 场。这些场用于进行运动矢量处理以便平滑离群的(outlier)运动矢量, 并且通常指示(i)该序列中的总体运动;(ii)这些帧中各种对象的运动 活动性(例如,基于该运动矢量场的强度、密度和/或幅度);以及(iii) 该帧中运动对象的数目。运动活动性的级别还提供了特定序列的空间 活动性的指示,这是由于在该序列中需要通过运动活动性处理来检测 对象(需要检测边界)和可变性(需要检测区域之间的差异)。
f. 边缘检测在图像处理中的边缘检测算法通常将诸如Sobel 滤波器的高通滤波器在特定窗口(例如,3X3或5X5区域)上应用于 图像中的像素,然后将滤波后的输出与门限相比较以便确定边缘的存 在。所检测边缘的映射和边缘的数量提供了空间活动性的指示。
g. 正如熟悉图像处理领域的技术人员所知,还有其它各种空间 活动性的指示,可以将任何这种度量应用于图2中所示的处理。
时间活动性
在步骤212中,通过内容分类模块106确定时间活动性。视频序 列中的运动量确定了该视频序列的各帧中可用于压縮该视频序列的 时间相关和冗余的量。在一个实施例中,通过下列方法之一量化时间 活动性 a. 运动矢量场该度量使用了如上面在空间活动性模块210的 说明中所说明的相同手段,以便为内插帧构建运动矢量场,然后分析 该运动矢量场。
b. 预测帧尺寸预测帧的尺寸是其熵的指示,因为对于预测帧 来说,预测帧尺寸取决于对预测得来的运动矢量和残差进行编码所需 的比特数。通常,运动量(或时间活动性)越大,在预测帧中要编码的 熵越大。
c. MPEG-7描述子MPEG-7运动活动性描述子(MAD)试图"捕 获"人类对视频序列的"活动强度"或"步调"的感知。例如,足球 比赛中的进球得分时刻会被大多数人类观看者感知为"高活动"的序 列。相比较而言,说话人的"头肩"序列当然会被相同的观看者认为 是'低活动"的序列。已经发现MPEG-7MAD能准确地捕获自然视 频中活动强度的整个范围。它使用了运动矢量的量化标准差来将视频 片段分为范围从很低到很高强度的五类。
d. 运动活动性运动活动性描述子针对有效内容分析、索引、 浏览、以及询问视频数据运动活动性的问题,将其定义为视频序列中 的运动量,并将其作为描述子包括在MPEG-7标准中。所提出的技术 尝试使用给定视频片段各帧之间的量化像素差异的累加来自动测量 运动活动性。结果是,将每个场景所累加的运动表示为一个二维矩阵。 也提供了比较这些矩阵并产生有效表示每个场景各种运动的MAD的 可分级技术。计算并表示了运动的程度(量)和位置。
所有上述空间和时间活动性度量都仅仅是示例。在其它实施例 中,可以将任何以及所有这些算法和简单的门限设定一起用来为一帧 内以及多帧之间的空间和时间活动性的级别进行评估和打分。
空间-时间活动性
在歩骤214中,通过使用简单的帧差和/或诸如方差和峰度的更 高阶统计来量化相邻帧之间或诸如GOP的一组帧之间的绝对空间活 动性,以及绝对空间活动性在各帧上的变化差异(方差),以确定帧间 相关性。
可替换地,可以将对比度比率原则扩展到时间域来提供空间-时 间活动性度量。
确定冗余度
将步骤210确定的空间活动性度量与步骤212中确定的时间或运 动活动性度量相结合用于确定给定序列的总体空间时间活动性。例 如,在混合视频压缩中,通常将序列中的第一帧(例如,任意接入点 或场景切换之后的第一帧)独立于任何时间预测进行编码。将该第一 帧称为I帧。该序列中的后续帧主要从该I帧或其它先前帧进行预测, 正如前面所提到的,其它先前帧指的是P或B帧。在一个实施例中, 可以使用如下手段来确定视频原始序列中的参考帧和预测帧之间的
冗余度
a. 相关性可以执行(l)(i)一个或多个宏块;(ii)一帧的其它基本
单元;或cm)整个预测帧的像素相对于(2)参考帧中同等位置单元的二
元素相关性来确定冗余度。该处理手段是一种耗费计算量的操作,但 也是对冗余度的准确估计。
b. 运动矢量在参考帧和预测帧之间比较宏块邻域中的和整个 帧中的运动矢量的大小及相关性。然后可以应用运动矢量平滑或其它 运动矢量处理以便确定运动矢量方差,或基于活动性对运动场进行分 类。
c. 重要性然后基于低、中或高的冗余度级别对每个宏块或多 个宏块构成的窗口进行评定。用双向预测将低冗余度块编码为B帧, 中冗余度块为解码器提供了下列一个或多个信息提供运动矢量以细
化解码器FRUC中的运动矢量处理结果、提供残差信息以细化纹理中 的差异、以DC偏移量的形式提供亮度平移信息、等等。高冗余度块 是与FRUC内插帧中的对应块十分相关的那些块,它们被跳过。
所有上述各条信息均关于宏块或者3X3的宏块窗口,并将这些
信息参考为辅助信息。 选择用于FRUC的帧
上述己确定了原始视频中的冗余量以后,然后基于内容进行分 类。在一个实施例中,利用多种采样原始数据来为特定应用建立分类 参数,并且这样可以对编码系统100进行调节以使其适于期望由该实 现支持的特定内容。该分类机制在普通混合编码中使用预测帧尺寸。 在一个实施例中,预测帧的尺寸越小以及冗余度因素越大,在编码处 理期间跳过内插帧的可能性也就越大。从而不将这些帧包括进传输视 频序列中,但随后在解码/FRUC处理期间上变换出这些帧。
如图3所示,将上述机制应用于一次或低复杂度的两次编码,这 对于诸如移动摄像机应用的应用是有用的;其中延迟和处理器能力限 制了该设备完全地或部分地进行第一次编码之后完成第二次编码。然 而,当并不关注编码器复杂度的时候,正如在互联网或无线多媒体服 务器实现中时,如图4所示,可以在第一次中进行普通混合编码,然 后在第二次中确定空间活动性、时间活动性、空间-时间活动性。在 一个实施例中,基于视频序列的预测帧尺寸(例如,视频序列中的P 和B帧尺寸)和帧特征(例如,用于运动矢量的比特相对用于系数数据 的比特的比例),可以在编码器104处丢弃低花费帧(例如,低传输花 费帧),并在解码器154处使用解码的参考帧对其进行重建。在另一 个实施例中,编码器104可以编码较小的信息熵并将其传输到解码器 154,以便如下所述来"辅助"解码器154的上变换处理。虽然该辅 助的目的主要是增强重建视频的质量,但也可以通过帮助解码器154 的FRUC引擎158在模式判决处理过程中进行正确判决,将其用于减 少解码器154的计算负荷。
原始帧和FRUC内插帧之间的信息熵编码
正如这里所提到的,EA-FRUC的主要优点之一是在编码器处可 获得对应于内插帧的原始帧。因此,可以引导FRUC判决以使原始帧 和重建帧之间的误差最小化。例如,这里说明的所提出的FRUC处理 手段依赖于运动矢量处理、内容识别和分配。在这些处理中,对遮挡 (occlusion)和重叠区域的内插是一个挑战。然而,使用由图1中的熵 确定模块108进行的熵编码,可以识别这些区域并将适当的边界信息
传输给解码器154以便辅助FRUC处理。这种熵编码的其它应用是 FRUC处理的可分级视频编码应用,正如共同待决的专利申请No. 11/173,121题目为"Method and Apparatus for Using Frame Rate up Conversion Techniques in Scalable Video Coding"中所说明的。在一个
实施例中,熵确定模块108可以使用下列熵编码度量
1. 像素差数据为了进行传输,对重建FRUC帧和原始帧之间
的像素残差进行变换、量化以及熵编码。该方法比较简单。然而,从 编码处理过程而来的任何剩余残差包含了较高的能量,而未能很好地 压縮。
2. 门限门限是基于活动性(空间和时间)度量、或基于人类视觉
系统掩蔽以及敏感性,而不是基于SAD。人类视觉系统(HVS)是个经 验模型,其说明了人眼对于诸如颜色、亮度、对比度等等的各种视觉 效果的敏感度,己知SAD是以均方差的角度来最小化误差而不是从 视觉质量的角度减少误差。
3. 运动矢量对用于与原始帧具有较大差异的区域的校正运动
矢量数据进行编码和传输。使用原始帧和重建的参考帧以因果和非因 果方式来估计此运动矢量。因果编码是利用了编码/解码时刻可用的 信息(例如,根据解码次序而来自先前宏块的信息)的预测编码,而非 因果编码是利用内插信息(例如,来自下一个宏块的信息)的内插编 码。
4. B帧编码在共同待决的专利申请no.—
,题目为 "Method and Apparatus for Using Frame Rate up Conversion Technique
in Scalable Video Coding"中,说明了在B-帧预测期间将FRUC-内插 帧作为参考帧之一使用。该方法平均可以提供30%的传输纹理数据的 降低。
5. 基于模式上面的B-帧编码方法说明了在对B-帧编码中将内 插帧作为参考帧的使用。使用内插帧的判决可以基于速率(即,对于 给定失真使比特率最小化)、失真(即,对于给定目标比特率使失真最 小化)、和/或质量(即,基于HVS或均方误差,对于给定的比特率, 使用于测量基于感知质量的质量度量的量最大化)。
一旦已经确定了要编码的信息熵,在一个实施例中可以应用常用
的、类似Huffman的可变长度编码或算术编码来对该数据进行编码。 此外,对于诸如残差的拉普拉斯分布的数据来说,可以应用 Golomb-Rice或者Exp-Golomb编码。
比特流生成
视频编码标准定义了由兼容任何标准的视频解码器解码的比特 流。然而,只要编码的比特流在重建处理中与兼容标准的解码器相容 就可以使用任何编码技术,就此而言编码器的操作是"开放的"。在 可扩展应用中,解码器性能未知,需要通过编码器来产生标准兼容的 比特流,把性能作为目标并且为适合解码而对其进行优化。在一个实 施例中,编码系统100中的比特流生成模块112控制兼容标准的比特 流生成器114、不兼容标准的比特流生成器116以及专有比特流生成 器118的操作,这些生成器中每个的操作说明如下。
在视频编码标准中定义了类(Profile)和级(level),因为它们提供了 用于对音视对象进行编码的工具的庞大集合,为了能有效地实现标 准,确定出工具集合的子集合用于特定应用。这些子集称为"类", 其限制了解码器必需实现的工具集合中的工具数目。此外,对于这些 类中的每一个,还设定了一个或多个限定计算复杂度的复杂度级。
标准和类兼容
为使接收器中兼容标准的解码器能解码传输的流,如在无线多媒 体通信中传输的流,这些视频解码器符合特定的类和级别。虽然在各 种标准中将FRUC算法作为附录提出,但它们通常不是标准类的一部 分。因此,希望不必非得修改比特流语法禾口/或语义来实现EA-FRUC。
为了遵从现存的标准,编码系统100使用了可用于传输"辅助" 信息的兼容标准的语法(兼容类)。在一个实施例中,在下列实现 EA-FRUC处理的手段中,兼容标准的生成器114可以使用标准语法
a. B-帧语法当没有接收到B帧时,或者因为B帧是增强层的 一部分并且仅接收到了基本层,或者因为大多数冗余宏块是跳过模式
宏块而未发送整个B帧,只通过一般的B帧编码发送了辅助信息。
b. 冗余条带(slice)或图像H.264提供了这种语法。在某帧为冗
余的这种情况下不需要发送整个条带或帧。使用该语法来发送条带的 部分(少数重要宏块)或帧的部分(少数确定为重要的条带)。该特点是
H.264中定义的所有类的一部分。
c. 补充增强信息(SEI): SEI的特定字段是H.264的类中的一部 分,其可以用于传输"辅助"信息。
标准兼容、类不兼容
很多视频编码标准的工具集合包括了用于携带与该标准中定义 的类不兼容的私有数据的语法和语义(即,这些工具提供了与标准化 参考相对的信息)。对解析的私有数据的解释可以具体到目的设备, 在封闭的通信系统中可以利用该特定特点来改善性能。在本发明的一 个实施例中,在该特征的一个应用中,不兼容标准的比特流生成器 116利用这些不兼容标准的私有数据为FRUC提供"辅助"信息。在
闭环系统中,因为利用私有数据所需的解码器修改是最小的,并且能 通过简单的"插入"或"添加"来实现解码器修改,所以私有信息的 使用提供了 "辅助"信息传输上的更多灵活性-
a. 专用的SEI字段这些字段并非H.264中类的一部分,可以
将其用于传输"辅助"信息。
b. 用户数据MPEG-2和MPEG-4提供了用于携带私有数据的 语法,可以将其用于传输"辅助"信息。
专有性
在专有比特流生成器118中提供的不兼容标准的专有编解码器 提高了这里提供的EA-FRUC手段的灵活性。具体地说,任何或所有 视频压縮技术(例如,基于诸如DCT、整数、哈达玛、小波、对象、 光流或渐变(morphing)的变换)可以采用视频内插的一般算法来实现 如上关于EA-FRUC所述的比特率减小和压縮效率提高。使用专有编 解码器的优点包括比特流生成器118的专有属性提供了极其灵活的平台,以便利用所有FRUC和EA-FRUC算法。可以减轻禾B/或消除 由各标准引入的比特流开销的大幅减少(例如,H.264中的宏块头占总 比特率的25%)。现在信源-信道联合编码也是有可能的,其对于易出 错信道上的多媒体通信具有很大优势。例如,利用了联合的信源和传 输信道概率、分布以及特征的专有方法为编码系统100提供了能对特 定流排列优先次序,并且添加所需的参数和数据以便从错误中适度恢 复的能力。
用于错误隐藏的FRUC和EA-FRUC
无线多媒体的日益流行要求传输的视频对错误具有一定的恢复 能力,并且要求智能视频解码器可以隐藏比特、分组和突发错误。在 压縮流中视频压縮去除了冗余并增加了信息熵。然而具有讽刺意味的 是,对冗余信息的去除以及信息熵的增加是如此显著一几乎达到损失 数据的单个比特、字节或分组都会影响重建视频的质量;从损失一个 块到损失很多宏块或者条带,蔓延到当前的整个GOP,直到正确接 受下一个I帧或瞬时解码刷新(IDR)帧为止。IDR是一个H.264术语, 其代表瞬时解码刷新。IDR图像是比特流中的绝对刷新点(接入单元), 这使得对于解码IDR图像来说在该接入单元之前不需要有预测信息。 在诸如视频电话、视频会议以及视频邮件的应用中,出错的概率具有 严重的后果,并且错误隐藏是至关重要的。错误还会影响会话应用中 的延迟。幸运地是,可以将如各种形式FRUC中所提供的帧、条带、 宏块以及块内插和内插辅助算法(例如,运动矢量分配和运动矢量处 理)用于错误隐藏。
图5示出了一个接入终端502x和一个接入点504x的方框图,其 中解码器154和编码器104可以分别位于无线系统中EA-FRUC系统 100的应用中。对于反向链路,在接入终端502x处,发送(TX)数据 处理器514从数据缓存器512接收业务数据,基于选定的编码和调制 方案来处理(例如,编码、交织以及符号映射)每个数据分组,并且提 供数据符号。数据符号是数据的调制符号,导频符号是导频的调制符 号(其事先已知)。调制器516接收了该数据符号、导频符号和可能的
用于反向链路的信令,进行(例如,OFDM)调制和/或系统指定的其它
处理,并且提供了输出码片流。发送器单元(TMTR)518处理(例如, 转换为模拟、滤波、放大以及频率上变换)该输出码片流,并产生调 制信号,将其由天线520发送出去。
在接入点504x处,天线552接收了由接入终端502x以及与接入 点504x进行通信的其它终端发送的调制信号。接收器单元(RCVR)554 处理(例如,调节和数字化)从天线552接收到的信号,并且提供了接 收到的采样。解调器(Demod)556处理(例如,解调和检波)接收到的采 样,并且提供检波后的数据符号,它们是由终端发送给接入点504x 的数据符号的有噪声估计。接收(RX)数据处理器558处理(例如,符 号去映射、解交织、以及解码)对应每个终端的检波后的数据符号, 并且为该终端提供解码的数据。
对于前向链路,在接入点504x处,由TX数据处理器560处理 业务数据以便产生数据符号。调制器562接收了数据符号、导频符号 和用于前向链路的信令,进行(例如,OFDM)调制和/或其它有关的处 理,并且提供了输出码片流,该码片流由发送器单元564进一步调节 并且从天线552发送出去。前向链路信令可以包括由控制器570为所 有终端在反向链路上向接入点504x进行发送所产生的功率控制命 令。在接入点502x处,天线520接收了由接入点504x发送的调制信 号,接收器单元522对其进行调节和数字化,解调器524对其进行处 理以获得检波后的数据符号。RX数据处理器1026处理了检波后的数 据符号,为该终端提供了解码的数据和前向链路信令。控制器530接 收了功率控制命令,并控制在反向链路上向接入点504x的数据传输 以及发送功率。控制器530和570分别指导接入终端502x和接入点 504x的操作。存储器单元532和572分别存储了控制器530和570 使用的程序代码和数据。
正如这里所讨论的,"接入终端"指的是为用户提供声音和/或数 据连接的设备。可以将接入终端连接到诸如膝上计算机或台式计算机 的计算设备,或者它可以是诸如个人数字助理的独立完备的设备。接 入终端也可以称为用户单元、移动站、移动、远程站、远程终端、用
户终端、用户代理、或者用户装备。接入终端可以是用户站、无线设 备、蜂窝电话、PCS电话、无绳电话、会话启动协议(SIP)电话、无线
本地环路(WLL)站、个人数字助理(PDA)、具有无线连接能力的手持
设备、或连接到无线调制解调器的其它处理设备。
正如这里所讨论的,"接入点"指的是通过空中接口、通过一个 或多个扇区与接入终端相通信的接入网络中的设备。该接入点作为接 入终端和接入网剩余部分之间的路由器,该接入网可以包括IP网络, 该接入点将接收到的空中接口帧转换为IP分组。该接入点还对该空 中接口属性的管理进行协调。
可以将所公开的实施例应用到下列技术中的任何一个及其组合
码分多址(CDMA)系统、多载波CDMA(MC-CDMA)、宽带 CDMA(W-CDMA)、高速下行链路分组接入(HSDPA)、时分多址 (TDMA)系统、频分多址(FDMA)系统以及正交频分多址(OFDMA)系统。
应该注意到这里所描述的方法可以在本领域一般技术人员已知 的各种通信硬件、处理器以及系统上实现。例如,客户机进行这里所
述操作的一般要求是该客户机要有显示内容和信息的显示器、控制 客户机操作的处理器以及存储与该客户机操作相关的数据和程序的 存储器。在一个实施例中,该客户机是蜂窝电话。在另一个实施例中, 该客户机是具有通信能力的手持计算机。而在另一个实施例中,该客 户机是具有通信能力的个人计算机。
可以使用一般目的处理器、数字信号处理器(DSP)、专用集成电
路(ASIC)、现场可编程门阵列(FPGA)或其它可编程的逻辑器件、分 立的门或晶体管逻辑、分立的硬件元件、或设计用于执行这里所说明 的各项功能的任何组合,来实现或执行结合这里公开的实施例来说明 的各种示例性逻辑、逻辑块、模块以及电路。 一般目的处理器可以是 微处理器,但是可替换地是,该处理器可以是任何常规的处理器、控 制器、微控制器或状态机。也可以将处理器实现为计算设备的组合, 例如DSP和微处理器、多个微处理器、与DSP核相联合的一个或多 个微处理器或任何其它这种配置的组合。
结合这里所公开的实施例说明的方法或算法的歩骤可以直接具 体化为硬件、由处理器执行的软件模块,或者二者的组合。软件模块
可以位于RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM 存储器、寄存器、硬盘、移动盘、CD-ROM、或本领域已知的其它任 何形式的存储介质中。将示例性存储介质连接到处理器,这使得该处 理器可以从存储介质中读取信息或写入信息。可替换地,可以将该存 储介质集成到处理器内。该处理器和存储介质可以位于ASIC内。该 ASIC可以位于用户终端。可替换地,该处理器和存储介质可以处于 用户终端中的分立元件中。
提供所公开实施例的说明以便使本领域任何技术人员能够制作 或使用各种实施例。对于这些实施例的各种修改对于本领域内技术人 员是显而易见的,并且可以不偏离本发明的精神和范围将这里定义的 一般原则应用于其它实施例,例如,应用在即时讯息服务或任何一般 无线数据通信应用中。这样,无意将本说明限制于这里所示的实施例, 而是要与这里公开的原则和新特点相一致的最广泛的范围相符。这里 将词语"示例性"专门用于表示"作为示例、例子或举例说明"的意 思。没有必要将这里描述为"示例性"的任何实施例解释为比其它实 施例优选或有利。
权利要求
1、一种用于构建包含帧序列的视频序列的方法,包括确定所述帧序列中的一类活动性的量,所述一类活动性是从包括空间活动性、时间活动性和空间-时间活动性的组中选择的;确定所述活动性中的冗余度;以及如果所确定的冗余度低于预定门限,则对所述帧进行编码。
2、 如权利要求l所述的方法,其中确定所述帧序列中的所述空 间活动性包括确定所述帧序列的至少一帧中的纹理信息的量。
3、 如权利要求1所述的方法,其中确定所述帧序列中的所述时 间活动性包括确定所述帧序列中至少两帧之间的时间相关性和冗余 度的量。
4、 如权利要求1所述的方法,其中确定所述帧序列的帧中的所 述空间-时间活动性包括确定所述帧序列中至少两帧之间的纹理信 息量的时间相关性和冗余度的量。
5、 如权利要求l所述的方法,其中确定所述活动性中的所述冗 余度包括使用从包括对比度比率度量、空间复杂度度量以及方差度 量的组中选择的至少一个空间活动性度量来确定冗余度。
6、 如权利要求1所述的方法,其中确定所述活动性中的所述冗 余度包括使用从包括运动场强度度量、时间复杂度度量、绝对差之 和度量的组中选择的至少一个时间活动性度量来确定冗余度。
7、 如权利要求1所述的方法,其中确定所述活动性中的所述冗 余度包括通过将从下面的组中选择的至少两个活动性度量进行比较 来确定冗余度,所述组包括多个相邻帧之间的空间活动性度量的相 关性、方向性度量、具有不同空间活动性度量的区域之间的联合行为、 运动场强度度量、时间复杂性度量、以及绝对差之和度量。
8、 一种用于确定在两帧之间的差别信息的方法,包括确定从 包括像素差别度量、运动信息差别度量、模式判决门限度量和内插帧 细化度量的组中选择的一个差别度量,其中使用帧率上变换处理进行 所述差别度量的所述确定。
9、 一种用于编码差别信息的方法,包括使用从包括运动补偿 处理、运动矢量变换处理、运动矢量量化处理和熵编码处理的组中选 择的至少一种技术,在视频编码标准中规定了所述至少一种技术,其 中兼容标准的处理器能够结合帧率上变换处理来处理所述差别信息, 以产生视频帧。
10、 一种用于处理视频比特流的方法,所述视频比特流具有其中 包含的差别信息,所述方法包括使用从包括可变长度编码技术、Huffman编码技术和算术编码技 术的组中选择的一种熵编码技术编码所述视频比特流中的差别信息; 以及在视频编码标准中规定的用户数据语法中运送所述编码的信息。
11、 如权利要求IO所述的方法,还包括产生兼容标准的视频比特流。
12、 一种用于对其中具有编码的差别信息的视频比特流进行处理的方法,所述编码的差别信息存储在用户数据语法中,所述方法包括从所述用户数据语法中提取所述编码的差别信息; 解码所述差别信息;以及在帧率上变换处理中使用所述解码的差别信息来产生视频帧。
13、 一种其上存储有指令的计算机可读介质,这些指令使计算机 执行构建包括帧序列的视频序列的方法,所述方法包括确定所述帧序列中的一类活动性的量,所述一类活动性是从包括 空间活动性、时间活动性和空间-时间活动性的组中选择的; 确定所述活动性中的冗余度;以及如果所确定的冗余度低于预定门限,则编码所述帧。
14、 如权利要求13所述的计算机可读介质,其中确定所述帧序 列中的所述空间活动性包括确定所述帧序列的至少一帧中的纹理信 息的量。
15、 如权利要求13所述的计算机可读介质,其中确定所述帧序列中的所述时间活动性包括确定所述帧序列中的至少两帧之间的时 间相关性和冗余度的量。
16、 如权利要求13所述的计算机可读介质,其中确定所述帧序列的帧中的所述空间-时间活动性包括确定所述帧序列中至少两帧 之间的纹理信息量的时间相关性和冗余度的量。
17、 如权利要求13所述的计算机可读介质,其中确定所述活动性中的所述冗余度包括使用从包括对比度比率度量、空间复杂度度 量和方差度量的组中选择的至少一个空间活动性度量来确定冗余度。
18、 如权利要求13所述的计算机可读介质,其中确定所述活动性中的所述冗余度包括使用从包括运动场强度度量、时间复杂度度 量、绝对差之和度量的组中选择的至少一个时间活动性度量来确定冗 余度。
19、 如权利要求13所述的计算机可读介质,其中确定所述活动性中的所述冗余度包括通过将从下面的组中选择的至少两个活动性度量进行比较来确定冗余度,所述组包括多个相邻帧之间的空间活 动性度量的相关性、方向性度量、具有不同空间活动性度量的区域之 间的联合行为、运动场强度度量、时间复杂性度量、以及绝对差之和 度量。
20、 一种其上存储有指令的计算机可读介质,所述指令使计算机 执行用于确定两帧之间的差别信息的方法,所述方法包括确定从包 括像素差别度量、运动信息差别度量、模式判决门限度量和内插帧细 化度量的组中选择的差别度量,其中使用帧率上变换处理进行所述差 别度量的所述确定。
21、 一种其上存储有指令的计算机可读介质,所述指令使计算机 执行用于编码差别信息的方法,所述方法包括使用从包括运动补偿 处理、运动矢量变换处理、运动矢量量化处理和熵编码处理的组中选 择的至少一种技术,在视频编码标准中规定了所述至少一种技术,其 中兼容标准的处理器能够结合帧率上变换处理来处理所述差别信息 以产生视频帧。
22、 一种其上存储有指令的计算机可读介质,所述指令使计算机 执行处理视频比特流的方法,所述视频比特流具有其中包含的差别信 息,所述方法包括-使用从包括可变长度编码技术、Huffman编码技术和算术编码技 术的组中选择的一种熵编码技术来编码所述视频比特流中的差别信 息;以及在视频编码标准中规定的用户数据语法中运送所述编码的信息。
23、 如权利要求22所述的计算机可读介质,还包括产生兼容 标准的视频比特流。
24、 一种其上存储有指令的计算机可读介质,所述指令使计算机执行用于处理其中具有编码的差别信息的视频比特流的方法,所述编 码的差别信息存储在用户数据语法中,所述方法包括从所述用户数据语法中提取所述编码的差别信息;以及解码所述差别信息;以及使用帧率上变换处理产生视频帧。
25、 一种用于构建包括帧序列的视频序列的装置,包括 用于确定所述帧序列中的一类活动性的量的模块,所述一类活动性是从包括空间活动性、时间活动性和空间-时间活动性的组中选择 的;用于确定所述活动性中的冗余度的模块;以及 用于如果所确定的冗余度低于预定门限则编码所述帧的模块。
26、 如权利要求25所述的装置,其中用于确定所述帧序列中的 所述空间活动性的模块包括用于确定所述帧序列的至少一帧中的纹理信息的量的模块。
27、 如权利要求25所述的装置,其中用于确定所述帧序列中的 所述时间活动性的模块包括用于确定所述帧序列中至少两帧之间的时间相关性和冗余度的量的模块。
28、 如权利要求25所述的装置,其中用于确定所述帧序列的帧 中的空间-时间活动性的模块包括用于确定所述帧序列中至少两帧 之间的纹理信息量的时间相关性和冗余度的量的模块。
29、 如权利要求25所述的装置,其中用于确定所述活动性中的 所述冗余度的模块包括使用从包括对比度比率度量、空间复杂度度 量和方差度量的组中选择的至少一个空间活动性度量来确定冗余度 的模块。
30、 如权利要求25所述的装置,其中用于确定所述活动性中的所述冗余度的模块包括使用从包括运动场强度度量、时间复杂度度 量、绝对差之和度量的组中选择的至少一个时间活动性度量来确定冗 余度的模块。
31、 如权利要求25所述的装置,其中用于确定所述活动性中的所述冗余度的模块包括通过将从下面的组中选择的至少两个活动性 度量进行比较来确定冗余度的模块,所述组包括多个相邻帧之间的 空间活动性度量的相关性、方向性度量、具有不同空间活动性度量的 区域之间的联合行为、运动场强度度量、时间复杂性度量、以及绝对 差之和度量。
32、 一种用于确定两帧之间的差别信息的装置,包括用于确定 从包括像素差别度量、运动信息差别度量、模式判决门限度量和内插 帧细化度量的组中选择的差别度量的模块,其中使用帧率上变换处理 执行对所述差别度量的所述确定。
33、 一种用于编码差别信息的装置,包括使用从包括运动补偿 处理、运动矢量变换处理、运动矢量量化处理和熵编码处理的组中选 择的至少一种技术的模块,在视频编码标准中规定了所述至少一种技 术,其中兼容标准的处理器能够结合帧率上变换处理来处理所述差别信息以产生视频帧。
34、 一种用于处理视频比特流的装置,所述视频比特流具有其中包含的差别信息,包括使用从包括可变长度编码技术、Huffman编码技术和算术编码技 术的组中选择的一种熵编码技术来编码所述视频比特流中的差别信 息的模块;以及用于在视频编码标准中规定的用户数据语法中运送所述编码信 息的模块。
35、如权利要求34所述的装置,还包括用于产生兼容标准的 视频比特流的模块。
36、 一种用于处理其中具有编码的差别信息的视频比特流的装置,所述编码的差别信息存储在用户数据语法中,包括用于从所述用户数据语法中提取所述编码的差别信息的模块; 用于解码所述差别信息的模块;以及用于在帧率上变换处理中使用所述解码的差别信息来产生视频 帧的模块。
全文摘要
公开了一种编码器辅助帧率上变换(EA-FRUC)系统,其在视频编码器处利用视频编码和预处理操作来开发将出现在解码器中的FRUC处理,以改善压缩效率以及重建视频质量。EA-FRUC系统的一个操作包括通过确定帧序列的一帧中的空间活动性,确定该帧中的时间活动性,基于所确定的空间活动性和所确定的时间活动性确定该帧中的空间-时间活动性,基于所确定的空间活动性、所确定的时间活动性、以及所确定的空间-时间活动性中的至少一个确定原始帧中的冗余度级别,来确定是否编码视频内容的帧序列中的该帧,并且,如果所确定的冗余度落在预定门限中,则编码该帧中的非冗余信息。
文档编号H04N7/46GK101189882SQ200580031075
公开日2008年5月28日 申请日期2005年7月20日 优先权日2004年7月20日
发明者方 史, 戈登·肯特·沃克, 维贾亚拉克施密·R.·拉维德朗 申请人:高通股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1