使用内容信息安排多媒体转码的内容驱动转码器的制作方法

文档序号:7640915阅读:273来源:国知局
专利名称:使用内容信息安排多媒体转码的内容驱动转码器的制作方法
技术领域
本申请案针对用于实时串流的视频数据的视频转码的设备和方法,且更明确地说针 对用于移动广播应用中的实时串流的视频数据转码。
背景技术
由于有限的带宽资源和可用带宽的可变性,所以有效的视频压縮在多种多媒体应用 (例如无线视频串流和视频电话)中是有用的。某些视频编码标准(例如MPEG-4 (ISO/IEC)、 H.264 (ITU)或类似的视频编码)提供非常适合于例如无线广播等应用的高 效率编码。 一些多媒体数据(例如,数字电视显示)通常是根据例如MPEG-2等其它标 准来编码的。因此,转码器用来在无线广播之前将根据一个标准(例如,MPEG-2)编码 的多媒体数据转码或转换为另一标准(例如,H.264)。
改进率优化的编解码器在错误复原(error resilience).错误恢复(error recovery)和 可縮放性(scalability)方面可提供优点。此外,使用从多媒体数据本身确定的信息也可 提供对于编码(包括错误复原、错误恢复和可缩放性)的额外改进。因此,需要一种转 码器,所述转码器使用从多媒体数据本身确定的信息来提供多媒体数据的高效处理和压 缩,所述转码器用于多种多媒体数据应用(包括串流多媒体信息的移动广播)中是可縮 放的且是可实现错误复原的。

发明内容
所描述和说明的基于本发明内容的转码设备和方法的每一者具有若干方面,其中并 非所述方面的单一者单独对其所需的属性负责。在不限定本揭示案的范围的情况下,现 将简要地讨论其较显著的特性。在考虑此讨论内容之后,且尤其在阅读题为"具体实施 方式"的部分之后,将了解这种内容驱动转码的特性如何提供对于多媒体数据处理设备 和方法的改进。
本文中所描述的发明方面涉及使用内容信息以用于编码多媒体数据的各种方法,以 及将内容信息用于编码器(例如,用于转码器中的编码器)的各种模块或组件中。转码
器可使用内容信息来安排多媒体数据的转码。所述内容信息可从另一来源(例如,同视 频一起接收的元数据)接收。所述转码器可经配置以通过各种不同的处理操作来产生内 容信息。在一些方面,所述转码器产生多媒体数据的内容分类,所述内容分类接着被用 于一个或一个以上编码处理中。在一些方面,内容驱动转码器可确定所述多媒体数据的 空间和时间内容信息,且将内容信息用于信道上的内容感知一致质量编码以及基于内容 分类的压縮/位分配。
在一些方面,获得或计算多媒体数据的内容信息(例如,元数据、内容度量和/或内 容分类),且接着将其提供给转码器的组件以用于处理多媒体数据来进行编码。举例来说,预处理器可使用关于场景变化检测的某些内容信息,执行反电视电影("IVTC")、解交 错、运动补偿以及噪音抑制(例如,2D小波变换)和时空噪音降低(例如,假影移除、 去环、去块和/或去噪音)。在一些方面,预处理器还可使用关于空间分辨率向下取样的 内容信息,例如,当从标准定义(SD)到1/4视频图形阵列(QVGA)向下取样时,确 定适当的"安全"区和"动作处理"区。
在一些方面,编码器包括经配置以计算内容信息的内容分类模块。所述编码器可将 关于位速率控制(例如,位分配)的内容分类用于为每一 MB确定量化参数(QP),将 关于运动估计的内容分类用于(例如)执行颜色运动估计(ME)、执行运动向量(MV) 预测,将关于可縮放性的内容分类用于提供基础层和增强层,且使用关于错误复原的内 容分类来影响预测层级和错误复原方案(例如,包括适应性帧内更新、边界对准过程和 在增强层中提供冗余I帧数据)。在一些方面,转码器配合数据多路复用器来使用内容分 类以维持信道上的最佳多媒体数据质量。在一些方面,所述编码器可使用内容分类信息 以便使I帧周期性地出现于经编码数据中从而容许快速的信道交换。此类实施方案还可 利用经编码数据中可能要求用于错误复原的I区块以使得随机存取交换和错误复原(例 如,基于内容分类)可通过预测层级而有效地组合,从而改进编码效率同时增加抗错稳 健性。
在一个方面, 一种处理多媒体数据的方法包括接收多媒体数据,以及基于所述多媒 体数据的内容来将所述多媒体数据编码为第一数据组和第二数据组,所述第一数据组经 配置为可独立于所述第二数据组来解码,且其中所述第一和第二数据组以不同的质量等 级编码。在第一方面的一方面,所述第一数据组包含I帧和P帧,且所述第二数据组包 含I帧、P帧和B帧。在另一方面,所述第一数据组包含基础层且所述第二数据组包含 增强层。在第三方面,所述方法进一步包含将所述多媒体数据的内容分类,其中所述编 码基于内容分类。在第四方面,所述编码包含确定所述多媒体数据的用于编码所述第一 数据组的第一量化参数,以及确定用于编码所述第二数据组的第二量化参数,其中所述 第一和第二量化参数的确定基于所述内容分类。在第五方面,所述编码包含基于所述内 容分类来为所述多媒体数据的至少一部分分配位速率。在第六方面,所述编码进一步包 括使用内容分类来检测场景变化,以及基于所述检测到的场景变化来确定是否将I帧包 括于所述第一数据组和所述第二数据组中。在第七方面,所述编码包括基于所述内容分 类来确定用于编码所述多媒体数据的帧速率。在第八方面,所述编码包括基于所述内容 分类来执行所述多媒体数据的运动估计。在第九方面,所述方法还包括确定用于编码所述第一数据组的第一帧速率,以及确定用于编码所述第二数据组的第二帧速率,其中所 述第一帧速率小于所述第二帧速率。在第十方面,所述编码包括基于所述内容分类来对 所述多媒体数据执行错误复原(error resilience)处理。在第i^一方面,所述编码包括编 码所述第一数据组和所述第二数据组以使得如果所述第二数据组不可用,那么所述第一 数据组可经解码以形成可显示的多媒体数据,且如果所述第一数据组与所述第二数据组 两者均可用,那么所述第一数据组和所述第二数据组可以组合形式解码以形成可显示的 多媒体数据。在第十二方面,所述第一量化参数包括用于编码数据的第一步长且所述第 二量化参数包括用于编码数据的第二步长,其中所述第一步长大于所述第二步长。在第 十三方面,所述方法进一步包含将所述多媒体数据的内容分类,且其中所述编码基于所 述内容分类,且其中所述编码包含基于所述内容分类来降低所述多媒体数据中的噪音。 在第十四方面,降低噪音包括执行假影移除。在第十五方面,降低噪音包含通过去环滤 波器来处理所述多媒体数据的至少一部分,其中所述去环滤波器的强度基于所述多媒体 数据的内容。在第十六方面,降低噪音包括通过去块滤波器来处理所述多媒体数据的至 少一部分,其中所述去块滤波器的强度基于所述多媒体数据的内容。在第十七方面,降 低噪音包括对所述多媒体数据的选定频率进行滤波。在第十八方面,所述去环滤波器的 强度基于所述多媒体数据的内容分类。在第十九方面,所述去块滤波器的强度基于所述 多媒体数据的内容分类。在第二十方面,所述编码包含向下取样所述多媒体数据。最后, 在第二十一方面,所述编码包括使一质量等级与所述多媒体数据相关联,以及使用所述 多媒体数据的所述质量等级和内容信息来确定用于编码所述多媒体数据的位速率。
在第二方面, 一种用于处理多媒体数据的设备包括编码器,所述编码器经配置以接 收多媒体数据且基于所述多媒体数据的内容来将所述多媒体数据编码为第一数据组和第 二数据组,所述第一数据组经配置为可独立于所述第二数据组来解码,且其中所述第一 和第二数据组以不同的质量等级编码。在所述第一方面的一方面,所述编码器包括经配 置以确定所述多媒体数据的内容分类的内容分类模块,且编码模块经进一步配置以基于 所述内容分类来编码所述多媒体数据。在第二方面,所述编码器经进一步配置以确定所 述多媒体数据的用于编码所述第一数据组的第一量化参数和用于编码所述第二数据组的 第二量化参数,其中确定所述第一和第二量化参数基于所述多媒体数据的内容分类。在 第三方面,所述编码器包含运动估计模块,所述运动估计模块经配置以基于所述内容分 类执行所述多媒体数据的运动估计且产生数据运动补偿信息,且其中所述编码模块经进 一步配置以使用所述运动补偿信息来编码所述多媒体数据。在第四方面,编码器还包括用于基于所述内容分类来确定所述多媒体数据的量化参数的量化模块,且所述编码器经 进一步配置以使用所述量化参数来编码所述多媒体数据。在第五方面,所述编码器还包 括位分配模块,所述位分配模块经配置以基于所述内容分类来为所述多媒体数据的至少 一部分提供位速率。在第六方面,所述编码器还包括经配置以检测场景变化的场景变化 检测模块,且所述编码模块经进一步配置以基于检测到的场景变化来将I帧包括于经编 码多媒体数据中。在第七方面,所述编码器还包括帧速率模块,所述帧速率模块经配置 以基于所述内容分类来确定所述多媒体数据的帧速率,且其中所述编码模块基于所述帧 速率来编码所述多媒体数据。在第八方面,所述编码器还经配置以基于所述内容分类来 编码第一数据组和所述第二数据组。在第九方面,所述编码器还经配置以基于所述内容 分类对所述多媒体数据执行错误处理。
在第三方面, 一种用于处理多媒体数据的设备包括用于接收多媒体数据的装置,和 用于基于所述多媒体数据的内容将所述多媒体数据编码为经编码第一数据组和经编码第 二数据组的装置,所述第一数据组经配置为可独立于所述第二数据组来解码,且其中所 述第一和第二数据组以不同的质量等级编码。在所述第一方面的一方面,所述接收装置 包含编码器。在另一方面,所述用于编码的装置包含编码器。在第三方面,所述编码装 置包含用于确定所述多媒体数据的内容分类的装置,且其中所述编码装置基于所述内容 分类编码所述多媒体数据。在第四方面,所述编码装置包含一包含编码器的转码器。
在第四方面, 一种机器可读媒体包含指令,所述指令在执行时促使一机器接收多媒 体数据,且基于所述多媒体数据的内容来将所述多媒体数据编码为经编码第一数据组和 经编码第二数据组,所述第一数据组经配置为可独立于所述第二数据组来解码,且其中 所述第一和第二数据组以不同的质量等级编码。在所述第四方面的一方面,计算机可读 媒体进一步包含用来产生指示所述多媒体数据的内容的内容分类的指令,其中将所述多 媒体数据编码为经编码第一数据组和经编码第二数据组包括基于所述内容分类来编码所 述多媒体数据。在另一方面,所述编码包含确定用于編码所述第一数据组的所述多媒体 数据的第一量化参数,以及确定用于编码所述第二数据组的第二量化参数,其中确定所 述第一和第二量化参数基于所述内容分类。在第三方面,编码所述多媒体数据的指令包 括基于所述多媒体数据的内容来分配用于所述多媒体数据的至少一部分的位速率的指 令。
在第五方面, 一种处理器包含一配置以接收多媒体数据,且基于所述多媒体数据的 内容来将所述多媒体数据编码为经编码第一数据组和经编码第二数据组,所述第一数据组经配置为可独立于所述第二数据组来解码,且其中所述第一和第二数据组以不同的质 量等级编码。在所述第五方面的一方面,所述处理器进一步包含一配置以产生指示所述 多媒体数据的内容的内容分类,且其中所述编码包含基于所述内容分类来编码所述多媒 体数据。在另一方面,所述处理器进一步包含一配置以确定所述多媒体数据的用于编码 所述第一数据组的第一量化参数和用于编码所述第二数据组的第二量化参数,其中所述 第一和第二量化参数基于所述内容分类。


图1A是包括转码器的媒体广播系统的框图,所述转码器用于在不同的视频格式之间 转码。
图1B是编码器的框图,所述编码器经配置以编码多媒体数据且提供经编码第一数据
组和经编码第二数据组。
图1C是经配置以编码多媒体数据的处理器的框图。
图2是图1的系统的转码器的一实例的框图。
图3是说明用于图2的转码器内的剖析器的操作的流程图。
图4是说明用于图2的转码器内的解码器的操作的流程图。
图5是说明图2的转码器所执行的一连串操作的系统时序图。
图6是说明可用于图2的转码器中的预处理器的一连串操作和功能的流程图。
图7是可用于图2的转码器中的示范性两遍(2-pass)编码器的框图。
图8说明分类表的一实例,所述分类表说明如何使纹理值和运动值与内容分类相关
联的一个方面。
图9是说明例如用于图7的编码器中的内容分类的示范性操作的流程图。 图10是说明例如与图7的编码器一起使用的速率控制的操作的流程图。 图11是说明例如与图7的编码器一起使用的示范性运动估计器的操作的流程图。 图12是说明例如与图7的编码器一起使用的示范性模式决策编码器功能的操作的流 程图。
图13是说明实现用于图7的编码器中的可縮放性的示范性操作的流程图。
图14是说明实现例如图7的编码器中出现的速率失真数据流的示范性操作的流程图。
图15是说明编码复杂性、分配位与人类视觉质量之间的关系的曲线。图16是说明非线性场景检测公式的曲线。
图17是系统的框图,其说明用于接收多媒体数据的装置和用于对所接收的多媒体数 据进行编码的装置。
图18是说明使用运动估计/补偿的解交错处理的图。 图19是多媒体通信系统的框图。
图20是说明增强层和基础层中的视频位流的组织的图。 图21是说明使切片相对于视频帧边界对准的图。 图22是说明预测层级的框图。
图23是说明基于内容信息编码多媒体数据的方法的程序流程图。 图24是说明基于内容信息等级编码多媒体数据从而对准数据边界的方法的程序流 程图。
图25是说明数据帧的安全作用区和安全标题区的图式。 图26是说明数据帧的安全作用区的图式。
图27是程序流程图,其说明基于多媒体内容信息使用适应性帧内刷新编码多媒体数 据的程序。
图28是程序流程图,其说明基于多媒体内容信息使用冗余I帧编码多媒体数据的程序。
图29说明当前帧与先前帧之间的运动补偿向量MVp和当前帧与下一帧之间的运动 补偿向量MVN。
图30是说明镜头检测的程序流程图。
图31是说明对基础层和增强层进行编码的程序流程图。
图32是说明对宏区块进行编码的示意图。
图33是说明用于编码基础层和增强层的模块的示意图。
图34展示基础层和增强层系数选择器处理的一实例。
图35展示基础层和增强层系数选择器处理的另一实例。
图36展示基础层和增强层系数选择器处理的另一实例。
图37是说明基于内容信息编码多媒体数据的处理流程图。
图38是说明反电视电影处理中的可能的系统决策的图。
图39说明宏区块中将由去块处理滤波的边界。
图40是说明时空解交错处理的图。图41说明1维(l-D)多相重取样的一实例。 图42是说明视频串流中适应性GOP结构的一实例的流程图。 应注意,在适当处,贯穿所述图式的若干视图中的相同标号指代相同零件。
具体实施例方式
以下具体实施方式
针对本揭示内容中所讨论的某些方面。然而,可以许多不同的方 式来实施本发明。本说明书中所提到的"一个方面"或"一方面"意味着结合所述方面 描述的特定特性、结构或特征包括于至少一个方面中。本说明书各位置处出现的短语"在 一个方面"、"根据一个方面"或"在一些方面"未必均指相同的方面,也未必指与其它 方面相互排斥的单独方面或替代方面。此外,描述可由一些方面而非其它方面表现的各 种特性。类似地,描述可以是一些方面但非其它方面的需求的各种需求。
以下描述包括细节以提供对实例的详尽理解。然而,所属领域的一般技术人员应了 解,即使本文中未描述或说明一实例或方面中的过程或装置的每一细节,也可实践所述 实例。举例来说,为了不因为不必要的细节而使所述实例模糊,可将电组件展示于不说 明所述组件的每一电连接或每一电元件的框图中。在其它情况下,可详细地展示此类组 件、其它结构和技术以进一步解释所述实例。
本揭示内容涉及使用正被编码的多媒体数据的内容信息来控制编码和转码设备和方 法。(多媒体数据的)"内容信息"或"内容"是广义的术语,其意味着与多媒体数据的 内容相关的信息,且可包括(例如)元数据、从多媒体数据计算的度量和与一个或一个 以上度量(例如内容分类)相关联的内容相关信息。内容信息视特定应用而定可被提供 给编码器或由编码器确定。所述内容信息可用于多媒体数据编码的多个方面,包括场景 变化检测、时间处理、时空噪音降低、向下取样、确定用于量化的位速率、可缩放性、 错误复原、经由广播信道来维持最佳多媒体质量和快速信道交换。使用这些方面中的一 者或一者以上,转码器可安排处理多媒体数据且产生内容相关的经编码多媒体数据。本 文中描述转码方面的描述和图式也可应用于编码方面和解码方面。
转码器设备和方法涉及从一种格式转码为另一格式,且在本文中明确地描述为涉及 将MPEG-2视频转码为增强、可縮放的H.264格式以用于经由无线信道传输到移动装置 (说明一些方面)。然而,不希望对MPEG-2视频转码为H.264格式的描述限定本发明的 范围,其仅仅例示本发明的一些方面。所揭示的设备和方法提供支持具有随机存取和分 层能力的错误复原编码的高度有效的结构,且也可应用于转码和/或编码除MPEG-2和 H.264以外的视频格式。如本文中所使用的"多媒体数据"或者仅仅"多媒体"是广义的术语,其包括视频 数据(其可包括音频数据)、音频数据或视频数据与音频数据两者。如本文中所使用的"视 频数据"或"视频"是指基于帧(frame-based)的或基于场(field-based)的数据的广义 的术语,其包括含有文本、图像信息和Z或音频数据的一个或一个以上图像或相关图像序 列,且(除非另外规定)可用于指代多媒体数据(例如,可互换地使用所述术语)。
下文中所描述的是转码器的各种组件的实例,以及可使用内容信息来编码多媒体数 据的处理的实例。
多媒体广播系统
图1A是说明多媒体数据广播系统100的一些方面的数据流的框图。在系统100中, 多媒体数据提供者106将经编码的多媒体数据104传达到转码器200。经编码的多媒体 数据104由转码器200接收,转码器200在区块110中将多媒体数据104处理为原始多 媒体数据。区块110中的处理对经编码的多媒体数据104进行解码和剖析,且进一步处 理所述多媒体数据以准备将其编码为另一格式。所述经解码的多媒体数据被提供到区块 112,所述多媒体数据在区块112处编码为预定多媒体格式或标准。 一旦所述多媒体数据 被编码,在区块114处其就准备好经由(例如)无线广播系统(例如,蜂窝式电话广播 网络,或经由另一通信网络)来传输。在一些方面,接收到的多媒体数据104已根据 MPEG-2标准编码。在已解码经转码的多媒体数据104之后,转码器200将所述多媒体 数据编码为H.264标准。
图1B是可经配置以执行图1A的区块IIO和112中的处理的转码器130的框图。转 码器130可经配置以接收多媒体数据、将所述多媒体数据解码和剖析为分包基本流(例 如,字幕(subtitle)、音频、元数据、"原始"视频、CC数据和呈现时间戳记),将其编 码为所需格式且提供经编码数据以便进一步处理或传输。转码器130可经配置以将经编 码的数据提供给两个或两个以上数据组(例如,经编码的第一数据组和经编码的第二数 据组),其可被称作分层编码。在方面的一些实例中,分层编码方案中的各种数据组(或 层)可以不同质量等级编码,且经格式化以使得在第一数据组中经编码的数据具有比在 第二数据组中经编码的数据低的质量(例如,当显示时提供较低的视觉质量等级)。
图1C是可经配置以将多媒体数据转码且可经配置以执行图1A的区块110和112中 所描绘的处理的一部分或全部的处理器140的框图。处理器140可包括模块124a.. .n,所 述模块执行本文中所描述的转码处理的一者或一者以上(包括解码、剖析、预处理和编 码)且使用内容信息以便进行处理。处理器140还包括内部存储器122且可经配置以直接或经由另一装置间接地与外部存储器120通信。处理器140还包括经配置以与处理器 140外部的一个或一个以上装置通信的通信模块126,所述通信包括接收多媒体数据和提 供经编码的数据(例如在第一数据组中经编码的数据和在第二数据组中经编码的数据)。 在方面的一些实例中,分层编码方案中的各种数据组(或层)可以不同质量等级编码, 且经格式化以使得在第一数据组中经编码的数据具有比在第二数据组中经编码的数据低 的质量(例如,当显示时提供较低的视觉质量等级)。
转码器130或其预处理器140 (经配置以用于转码)组件以及其中所含的处理可由 硬件、软件、固件、中间件、微码或其任何组合来实施。举例来说,剖析器、解码器、 预处理器或编码器可以是独立的组件、作为另一装置的组件中的硬件、固件、中间件并 入、或者实施于处理器上执行的微码或软件中,或其组合中。当在软件、固件、中间件 或微码中实施时,执行运动补偿、镜头分类和编码处理的程序代码或代码段可存储于机 器可读媒体(例如存储媒体)中。代码段可代表程序、函数、子程序、程序、例程、子 例程、模块、软件包、类别或者指令、数据结构或程序语句的任何组合。代码段可通过 传递和/或接收信息、数据、自变量、参数或存储器内容而耦合到另一代码段或硬件电路。
转码器结构的说明性实例
图2说明可用作图1的多媒体广播系统100中所说明的转码器200的转码器的实例 的框图。转码器200包含剖析器/解码器202、预处理器226、编码器228和同步层240 (在下文中进一步描述)。转码器200经配置以将多媒体数据104的内容信息用于转码处 理的一个或一个以上方面(如本文中所描述)。内容信息可从转码器200外部的来源获得、 通过多媒体元数据获得或由所述转码器(例如,由预处理器226或编码器228)计算。 图2中所示的组件说明可包括于转码器中的组件,所述转码器将内容信息用于一个或一 个以上转码处理。在特定实施方案中,转码器200的所述组件的一者或一者以上可被排 除或者额外组件可被包括于内。此外,对所述转码器和转码处理的若干部分进行描述以 便允许即使不能在本文中描述一处理或一装置的每一细节,所属领域的技术人员仍能实 践本发明。
图5说明作为转码器200的各种组件和/或处理的操作的时间关系的图示说明的时序 图。如图5中所示,例如MPEG-2视频的经编码的串流视频104 (经编码的多媒体数据) 首先在任意时间零(0)处由剖析器205 (图2)接收。接着,视频流(例如)通过剖析 器205结合解码器214而经剖析(501)、解复用器(502)和解码器(503)。如所说明, 这些处理可以微小的定时偏移来并行地发生以将处理数据的流输出提供给预处理器226(图2)。在时间l 504处, 一旦预处理器226已从解码器214接收足够的数据来开始将 处理结果输出,剩余的处理步骤实际上就变为循序的,其中在预处理之后依次发生第一 遍编码(505)、第二遍编码(506)和再编码(507)直到再编码在时间Tf 508处完成为 止。
本文中所描述的转码器200可经配置来对各种多媒体数据进行转码,且所述处理中 的许多处理应用于经转码的任何类型的多媒体数据。尽管本文中所提供的一些实例明确 地说涉及将MPEG-2数据转码为H.264数据,但这些实例并不意图将本揭示内容限于此 类数据。可将下文中所描述的编码方面应用于将任何适合的多媒体数据标准转码为另一 适合的多媒体数据标准。
剖析器/解码器
再次参看图2,剖析器/解码器202接收多媒体数据104。剖析器/解码器202包括传 送流剖析器("剖析器")205,所述剖析器205接收多媒体数据104且将所述数据剖析为 视频基本流(ES) 206、音频ES 208、呈现时间戳记(PTS) 210和例如字幕212等其它 数据。ES从单一的视频或音频编码器载运一种类型的数据(视频或音频)。举例来说, 视频ES包含关于数据的序列的视频数据,其包括序列标头和所述序列的所有子部分。分 包基本流(或PES)由已转变为包的单一ES组成,每一包通常以附加包标头开始。PES 流仅含有来自一个来源(例如,来自一个视频或音频编码器)的一种类型的数据。PES 包具有可变长度,其不对应于传送包的固定包长度,且可比传送包长得多。当传送包从 PES流中形成时,PES标头可置于传送包有效负载的开始处且紧接在传送包标头之后。 剩余的PES包内容填充连续传送包的有效负载直到所述PES包完全被使用为止。最终的 传送包(例如)由于填塞字节(例如,字节-OxFF (均为l))而可被填充到固定长度。
剖析器205将视频ES 206传达给作为此处所示的剖析器/解码器202的一部分的解码 器214。在其它配置中,剖析器205和解码器214为单独的组件。PTS210被发送到转码 器PTS产生器215,所述转码器PTS产生器215可产生转码器200所特有的且用于安排 将数据从转码器200发送到广播系统的单独的呈现时间戳记。转码器PTS产生器215可 经配置以将数据提供给转码器200的同步层240以协调数据广播的同步。
图3说明处理300的一个实例的流程图,剖析器205在对上文中所描述的各种分包 基本流进行剖析时可遵循所述处理300。当从内容提供者106(图l)接收多媒体数据104 时,处理300在区块302处开始。处理300进行到区块304,在区块304处执行剖析器 205的初始化。初始化可由独立产生的获取命令306触发。举例来说,与剖析器205无关且基于外部接收的TV-调度和信道编排信息的处理可产生获取命令306。此外,可输入 实时传送流(TS)缓冲器描述符308以辅助初始化并辅助主处理。
如在区块304中所说明,初始化可包括获取命令语法验证、执行第一遍PSI/PSIP/SI (程序特定信息/程序和系统信息协议/系统信息)处理、执行与获取命令或PSI/PSIP/SI — 致性验证的任一者明确相关的处理、为每一PES分配PES缓冲器和设定定时(例如,为 了与所需的获取开始瞬时对准)。PES缓冲器保存经剖析的ES数据且将每一经剖析的ES 数据传达给相应的音频解码器216、测试编码器220、解码器214或转码器PTS产生器 215。
在初始化之后,处理300进行到用于对接收到的多媒体数据104进行主处理的区块 310。在区块310中的处理可包括目标包识别符(PID)滤波、连续PSI/PSIP/SI监视和处 理以及定时处理(例如,为了实现所需的获取持续时间)以使得进入的多媒体数据被传 递到适当的PES缓冲器中。由于在区块310中对所述多媒体数据的处理,产生PES缓冲 器"读取"的程序描述符和指示,其将如本文在下文所描述与解码器214 (图2)介接。
在区块310之后,处理300进行到区块314,在区块314处发生剖析操作的终止, 其包括产生定时器中断和PES缓冲器在其消耗之后的释放。注意PES缓冲器将为以描述 符被引用的程序的所有相关基本流(例如音频、视频和字幕流)存在。
再次参看图2,剖析器205将音频ES 208发送到音频解码器216以便对应于转码器 实施方案且将经编码的文本216提供给同步层240且对音频信息进行解码。字幕信息212 被递送到文本编码器220。来自解码器214的内建字幕(CC)数据218也被提供到文本 编码器220中,所述文本编码器220以受转码器200影响的格式来为字幕信息212和CC 数据218编码。
剖析器/解码器202还包括接收视频ES 206的解码器214。解码器214可产生与视频 数据相关联的元数据、将经编码的视频分包基本流解码为原始视频224 (例如,为标准 定义格式)且处理在视频ES流中的视频内建字幕数据。
图4展示说明可由解码器214执行的解码处理400的一个实例的流程图。处理400 在区块402处以视频基本流数据206的输入开始。处理400进行到区块404,在区块404 处所述解码器被初始化。初始化可包括若干任务,所述任务包括对视频序列标头(VSH) 的检测、执行第一遍VSH、视频序列(VS)和VS显示延伸处理(包括视频格式、原色 和矩阵系数)和分配数据缓冲器来分别缓冲经解码的图片、相关联的元数据和内建字幕 (CC)数据。此外,输入由剖析器205提供的视频PES缓冲器"读取"信息406 (例如,其可由处理300在图3的区块310中产生)。
在区块404处的初始化之后,处理400进行到区块408,在区块408中解码器214 执行对视频ES的主处理。主处理包括为了新数据可用性来轮询视频PES缓冲器"读取" 信息或"界面"、对视频ES进行解码、在图片边界处重建和存储像素数据、使视频与a/v 同步、产生元数据且将其存储于图片边界处,以及将CC数据存储于图片边界处。主处 理408的结果区块410包括产生序列描述符、经解码的图片缓冲器描述符、元数据缓冲 器描述符和CC数据缓冲器描述符。
在主处理408之后,处理400进行到区块412,在区块412处其执行终止处理。所 述终止处理可包括确定终止条件,终止条件包括在超过预定阈值的特定持续时间内没有 新数据出现、对序列结束码的检测和/或对明确的终止信号的检测。所述终止处理可进一 步包括释放经解码的图片、相关联的元数据和CC数据缓冲器(在其由下文中将描述的 预处理器消耗之后)。处理400在区块414处结束,其在区块414中可进入等待视频ES 作为输入被接收的状态。
预处理器
图2 (且更详细地图6)说明可将内容信息用于一个或一个以上预处理操作的预处理 器226的一实例方面。预处理器226从剖析器/解码器202接收元数据222和经解码的"原 始"视频数据224。预处理器226经配置以对视频数据224和元数据222执行某些类型 的处理且将经处理的多媒体(例如,基础层参考帧、增强层参考帧、带宽信息、内容信 息)和视频提供给编码器228。多媒体数据的这种预处理可改进数据的视觉清晰度、抗 混叠和压縮效率。大体来说,预处理器226接收由剖析器/解码器202中的解码器214提 供的视频序列且将所述视频序列转换为循序视频序列用于由编码器228作进一步处理 (例如,编码)。在一些方面,预处理器226可经配置以用于许多操作,所述操作包括反 电视电影(inverse telecine)、解交错、滤波(例如,假影移除、去环、去块和去噪音)、 调整尺寸(例如,从标准定义到1/4视频图形阵列(QVGA)的空间分辨率向下取样)和 GOP结构产生(例如,计算复杂性映射产生、场景变化检测和衰落/闪光检测)。
预处理器226可使用来自解码器的元数据来影响所述预处理操作的一者或一者以 上。元数据可包括关于对多媒体数据的内容("内容信息")进行描述或分类的信息;明 确地说,所述元数据可包括内容分类。在一些方面,所述元数据不包括编码操作所需的 内容信息。在此类情况下,预处理器226可经配置来确定内容信息和使用内容信息用于 预处理操作和/或将内容信息提供给转码器200的其它组件(例如,解码器228)。在一些方面,预处理器226可使用此类内容信息来影响GOP分割、确定滤波的适当类型和/或 确定传达到编码器的编码参数。
图6展示可包括于预处理器226中的各种处理区块的一说明性实例且说明可由预处 理器226执行的处理。在此实例中,预处理器226接收元数据和视频222、 224且将包含 (已处理)元数据和视频的输出数据614提供到编码器228。通常,存在三种类型的可被 接收的视频。第一,所接收的视频可以是循序视频,其中可不需要任何解交错。第二, 视频数据可以是电视电影视频-从24 fps电影序列转换的交错视频,在此情况下可需要反 电视电影操作。第三,视频可以是非电视电影(non-tdecined)交错视频。预处理器226 可如下文描述处理这些类型的视频。
在区块601处,预处理器226确定所接收视频数据222、 224是否为循序视频。在一 些情况下,这可从元数据(如果所述元数据含有此信息)或者通过视频数据本身的处理 来确定。举例来说,反电视电影处理(下文所描述)可确定所接收视频222是否为循序 视频。如果其为循序视频,那么所述处理进行到区块607,在区块607中对视频执行滤 波(例如,噪音抑制器)操作从而降低噪音(例如白高斯(Gaussian)噪音)。如果在区 块601处视频数据222、 224并非循序视频,那么所述处理进行到区块604到达相位检测 器604。
相位检测器604区别以电视电影起始的视频与以标准广播格式开始的视频。如果确 定视频为电视电影(离开相位检测器604的"是"决策路径),那么电视电影视频在反电 视电影606中返回到其原始格式。识别并消除冗余帧且从相同视频帧获得的场(field) 被重组合为完整的图像。由于重建的电影图像序列以有规律的时间间隔(一秒的1/24) 被以摄影方式记录,所以在GOP分割器612或解码器228中所执行的运动估计处理较准 确,所述运动估计处理使用反电视电影图像而非具有无规律的时基的电视电影数据。
在一个方面,相位检测器604在接收视频帧之后作出某些决策。这些决策包括(i) 来自电视电影输出和3:2下拉相位的当前视频是否为图38中所示的五个相位Po、 P卜P2、 P3和P4中的一者;和(ii)所述视频作为常规NTSC而产生。所述决策被表示为相位Ps。 这些决策作为图2中所示的相位检测器604的输出出现。来自相位检测器604且标记为 "是"的路径启动反电视电影606,指示其已具备正确的下拉相位以使得其可选出从相同 摄影图像中形成的场且将它们结合。来自相位检测器604且标记为"否"的路径类似地 启动解交错器605来将明显的NTSC帧分成用于最佳处理的场。因为不同类型的视频可 在任何时候被接收,所以相位检测器604可不断地分析视频帧。作为一示范,可使符合NTSC标准的视频作为广告插入到所述视频中。在反电视电影之后,所得循序视频被发 送到可用来降低白高斯噪音的噪音抑制器(滤波器)607。
当辨识到常规的NTSC视频时(来自相位检测器601的"否"路径),将其传输到解 交错器605以便压縮。解交错器605将交错场变换为循序视频,且接着可对所述循序视 频执行去噪音操作。下文中描述解交错处理的一个说明性实例。
传统的模拟视频装置(如电视)以交错的方式提供视频,即此类装置传输偶数编号 的扫描线(偶数场)和奇数编号的扫描线(奇数场)。从信号取样的观点来看,这等效于 由下式描述的图案中的时空次取样
'G)(;c,y,"),如果ymod2 = 0对于偶数场, O(x,y,n),如果ymod2 = l对于奇数场, 擦除,否则,
其中0代表原始帧图片,F代表交错场,且分别代表像素的水平、垂直和
时间位置。
在不损失一般性的情况下,可假设《=0在本揭示内容中为偶数场以使得上文中的等 式l简化为
, 、fG)(;c,;y,n),如果ymod2-n mod 2, F(X'M) = i擦除,否则, [2]
由于抽选未在水平维度上进行,所以可在下一 n~y坐标中描绘次取样图案。 解交错器的目标是将交错视频(一连串场)变换为非交错循序帧(一连串帧)。换句 话说,内插偶数场和奇数场来"恢复"或产生全帧图片。这可由等式3表示
, 、 fF(;c, y,/i), y mod 2 = w mod 2, °、 " lf;(jc,y,"),否则, [3]
其中Fi代表关于遗漏像素的解交错结果。
图40是说明使用Wmed滤波和运动估计来从交错多媒体数据产生循序帧的解交错器 605的一方面的某些方面的框图。图40的上部分展示运动强度映射4002,其可使用来自当前场、两个先前场(PP场和P场)和两个随后场(下一场和下下场)的信息产生。运 动强度映射4002将当前帧分类或分割为两个或两个以上不同运动等级,且可通过时空滤 波(在下文中进一步详细描述)产生。在一些方面,如下文中参考等式4-8所描述,运 动强度映射4002经产生以识别静态区域、缓慢运动区域和快速运动区域。时空滤波器(例 如,Wmed滤波器4004)使用基于运动强度映射的标准来滤波交错多媒体数据且产生时 空临时解交错帧。在一些方面,Wmed滤波处理涉及[-l, l]的水平邻场、[-3, 3]的垂直邻 场和五个相邻场的时间邻场,所述五个相邻场由图40中所说明的五个场(PP场、P场、 当前场、下一场、下下场)表示,其中Z—'表示一个场的延迟。与当前场、下一场和P 场有关的是非奇偶场,且与PP场和下下场有关的是奇偶场。用于时空滤波的"邻场"是 指滤波操作期间实际使用的场和像素的时空位置,且可说明为如(例如)图6和7中所 示的"光圏"(aperture)。
解交错器605还可包括噪音抑制器(去噪音滤波器)4006,所述噪音抑制器4006经 配置以滤波由Wmed滤波器4004产生的时空临时解交错帧。对时空临时解交错帧去噪音 使得随后的运动搜索处理更加准确(尤其在源交错多媒体数据序列被白噪音破坏的情况 下)。其也可至少部分地移除Wmed图片中偶数行与奇数行之间的假像。噪音抑制器4006 可作为包括基于小波收縮和小波文纳滤波器(Wiener filter)的噪音抑制器的各种滤波器 来实施。噪音抑制器可用来从候选Wmed帧移除噪音(在使用运动补偿信息进一步处理 候选Wmed帧之前)且可移除存在于Wmed帧中的噪音且不管信号的频率内容如何而保 留信号。可使用各种类型的去噪音滤波器,包括小波滤波器。小波是一类用于将给定信 号定位于空间域与尺度域两者中的函数。小波的基本概念是以不同的尺度或分辨率来分 析信号以使得小波表示形式中的小变化在原始信号中产生相应的小变化。
也可将小波收縮或小波文纳滤波器应用为噪音抑制器。小波收縮由噪音信号的小波 变换组成,随后较小的小波系数收縮为零(或更小的值),而较大的系数未受影响。最后, 执行逆变换来获取所估计的信号。
去噪音滤波提高运动补偿在噪音环境中的准确度。小波收缩去噪音可涉及在小波变 换域中收縮且通常包含三个步骤线性正向小波变换、非线性收缩去噪音和线性反向小 波变换。文纳滤波器是可用来改进由于相加噪音和模糊而降级的图像的MSE最佳线性滤 波器。此项技术中通常已知此类滤波器,且其在(例如)上文中提及的S.P.Ghael、 A.M. Sayeed 禾Q R. G. Baraniuk 的"Ideal spatial adaptation by wavelet shrinkage" 以及 "Improvement Wavelet denoising via empirical Wiener filtering" (5"P/E学叛,第3169巻,第389-399页,San Diego, 1997年7月)中描述,后者全文以引用的方式清楚地并入本 文中。
在一些方面,去噪音滤波器基于(4, 2)双正交三次B样条小波滤波器的一方面。此 种滤波器可由以下正向变换和反向变换界定<formula>formula see original document page 24</formula>正向变换) [4]

<formula>formula see original document page 24</formula> (反向变换)
去噪音滤波器的应用可增加运动补偿在噪音环境中的准确度。此类滤波器的实施方 案在"Ideal spatial adaptation by wavelet shrinkage" (D丄.Donoho禾口 I,M. Johnstone, &'omefn'h,第8巻,第425-455页,1994)中进一步描述,所述文献全文以引用的方式 清楚地并入本文中。
图40的底部部分说明一用于确定交错多媒体数据的运动信息(例如,运动向量候选 者、运动估计、运动补偿)的方面。明确地说,图40说明运动估计和运动补偿方案,所 述方案用于产生选定帧的运动补偿临时循序帧,且接着与Wmed临时帧结合以形成展示 为解交错当前帧4014的所得"最终"循序帧。在一些方面,交错多媒体数据的运动向量 ("MV")候选者(或估计值)从外部运动估计器提供到解交错器且用来提供用于双向运 动估计器和补偿器("ME/MC") 4018的起点。在一些方面,MV候选者选择器4022为 了正经处理的区块的MV候选者而使用相邻区块的先前确定的MV,例如先前已处理区 块(例如解交错先前帧4020中的区块)的MV。可基于先前解交错帧70和下一 (例如, 未来)Wmed帧4008来双向地进行运动补偿。当前Wmed帧4010和运动补偿("MC") 当前帧4016由组合器4012合并或组合。将所得解交错当前帧4014 (现为循序帧)提供 回到ME/MC 4018以用作解交错先前帧4020,且还与解交错器605外部通信以便随后处 理。
有可能通过Wmed+MC解交错方案来使包含场间内插的解交错预测方案与场内内插 分离。换句话说,时空Wmed滤波可主要用于场内内插目的,而场间内插可在运动补偿期间执行。这降低了 Wmed结果的峰值信噪比,但应用运动补偿后的视觉质量更令人满 意,因为来自不准确场间预测模式决策的坏像素将从Wmed滤波处理移除。
在适当的反电视电影或解交错处理之后,在区块608处为了假像抑制和重取样(例 如,调整尺寸)而对循序视频进行处理。在一些重取样方面,为了图片尺寸的调整而实 施多相位重取样器。在向下取样的一个实例中,原始图片与调整尺寸的图片之间的比率 可以是p/ ,其中/7和《关系上为素数。相位的总数为p。在一些方面,多相位滤波器的 截止频率对于大约0.5的调整尺寸因子来说为0.6。截止频率不与调整尺寸比率精确匹配 以便提高经调整尺寸序列的高频率响应。这不可避免地允许一些混叠。然而,众所周知, 人眼喜欢清晰的但有点混叠的图片胜过模糊的且无混叠的图片。
图41说明多相位重取样的一实例,其展示当调整尺寸定量为%时的相位。图41中所 说明的截止频率也为%。在上述图中说明具有垂直轴的原始像素。还以所述轴为中心描绘 sine函数来表示滤波器波形。因为选择截止频率选择为与重取样定量完全相同,所以在 调整尺寸之后所述sine函数的零点与像素的位置重叠(在图41中以十字形符号说明)。 为了在调整尺寸后找到一像素值,如以下等式所示可总计来自原始像素的贡献
<formula>formula see original document page 25</formula>
其中fe为截止频率。可将上述1维多相位滤波器应用于水平维度与垂直维度两者。
重取样(调整尺寸)的另一方面考虑过度扫描。在NTSC电视信号中,图像具有486 条扫描线,且在数字视频中每一扫描线上可具有720个像素。然而,由于尺寸与屏幕格 式之间的不匹配,所以并非整个图像的全部在电视上为可见的。图像的不可见的部分被 称作过度扫描。
为了帮助广播公司将有用的信息放在尽可能多电视可见的区域中,电影电视工程师 协会(Society ofMotion Picture & Television Engineers, SMPTE)界定被称作安全作用区 和安全标题区的作用帧的特定尺寸。参看印ec!yicafi(ws/br Sa/e Ac"o" tmd Sa/e 7We Areas 7feW尸a"em/or 7WeWw'o打办wems上的SMPTE操作规程建议RP 27.3-1989。 SMPTE将安 全作用区界定为其中"所有重要的动作必须发生"的区域。将安全标题区界定为其中"所 有有用的信息可被限定以确保在大多数家用电视接收器上的可见性"的区域。
举例来说,参看图25,安全作用区2510占据屏幕的中间90%,其在周围留出5%的 边缘。安全标题区2505占据屏幕的中间80%,其留出10%的边缘。现参看图26,因为安全标题区如此小,所以为了在图像中添加更多的内容, 一些站将文本放入安全作用区 中,所述安全作用区在白矩形窗口 2615的内部。
可在过度扫描中常常看见黑色边缘。举例来说,在图26中,黑色边缘出现于图像的 上侧2620和下侧2625处。因为H,264视频在运动估计中使用边缘延伸,所以可在过度 扫描中移除这些黑色边缘。延伸的黑色边缘可增加残余。适当地,可将边缘切割2%,且 接着进行调整尺寸。可相应地产生用于调整尺寸的滤波器。在多相位向下取样之前,执 行修剪以移除过度扫描。
再次参看图6,循序视频接着进行到区块610,在区块610处执行去块和去环操作。 两种类型的假影("区块"和"环")通常出现于视频压縮应用中。区块假影的出现是因 为压縮算法将每一帧分成区块(例如,8x8区块)。经重建的每一区块具有一些小错误, 且区块的边缘处的错误通常与相邻区块的边缘处的错误形成对照,从而使得区块边界可 见。与此相反,环假影表现为图像特征的边缘周围的失真。环假影的出现是因为编码器 在量化高频率DCT系数时丢弃太多的信息。在一些说明性实例中,去块与去环两者均可 使用低通FIR (有限脉冲响应)滤波器来隐藏这些可见假影。
在去块处理的一个实例中,可将去块滤波器应用于帧的所有4x4区块边缘,所述帧 的边界处的边缘和去块滤波器处理对其失效的任何边缘除外。此滤波处理将在帧建构处 理完成后基于宏区块执行,其中按照递增宏区块地址的次序来处理帧中的所有宏区块。 对于每一宏区块,首先从左向右滤波垂直边缘,且接着自上而下滤波水平边缘。明度 (luma)去块滤波器处理在四个16-样本边缘上执行,且用于每一色度(chroma)分量的 去块滤波器处理在两个8-样本边缘上执行,所述处理在水平方向和垂直方向上执行,如 图39中所示。在当前宏区块上面和左面的样本值(可能已由在先前宏区块上执行的去块 处理操作修改)将用作对当前宏区块执行的去块滤波器处理的输入且可在当前宏区块的 滤波期间进一步修改。在垂直边缘的滤波期间被修改的样本值可用作用于同一宏区块的 水平边缘的滤波的输入。去块处理可针对明度和色度分量单独调用。
在去环处理的一实例中,2维滤波器可适应性地应用于使边缘附近的区域平滑化。 为了避免模糊,边缘像素经受很少的滤波或不经受滤波。
GOP分割器
在去块和去环之后,循序视频由GOP分割器612处理。GOP定位可包括检测镜头变 化、产生复杂性映射(例如,时间、空间带宽映射)和适应性GOP分割。下文中描述这 些操作中的每一者。A.场景变化检测
镜头检测涉及确定图片组(GOP)中的帧何时显示出指示场景变化已发生的数据。 通常,在GOP内,所述帧在任何两个或三个(或三个以上)相邻帧内不具有任何显著的 变化,或者可存在缓慢变化或快速变化。当然,这些场景变化分类视所需的特定应用而 定可被进一步分解为较大等级的变化。
检测镜头或场景变化对于视频的有效编码很重要。通常,当GOP并未显著地改变时, 所述GOP的开始处的I帧之后是若干预测帧,可充分地编码视频以使得所述视频的随后 解码和显示为视觉可接受的。然而,当场景突然或缓慢地改变时,可能需要额外的I帧 和较少的预测编码(P帧和B帧)来产生随后解码的视觉可接受结果。
下文中描述镜头检测和编码系统以及改进现有编码系统的性能的方法。这些方面可 在预处理器226 (图7)的GOP分割器612中实施,或者可包括于编码器装置(其可在 预处理器存在或不存在的情况下操作)中。这些方面利用包括视频数据的相邻帧之间的 统计比较的统计(或度量)来确定是否发生突然的场景变化、场景是否正缓慢改变或者 场景中是否存在可使视频编码变得尤其复杂的相机闪光灯。所述统计可从预处理器获得 且接着被发送到编码装置,或者其可在编码装置(例如,通过经配置以执行运动补偿的 处理器)中产生。所得统计帮助进行场景变化检测决策。在进行转码的系统中,常常存 在适合的预处理器或可配置的处理器。如果所述预处理器执行运动补偿辅助解交错,那 么运动补偿统计为可用的且随时可用。在此类系统中,镜头检测算法可稍微增加系统复 杂性。
本文中所描述的镜头检测器的说明性实例仅需要利用来自先前帧、当前帧和下一帧 的统计,且因此具有非常低的等待时间。镜头检测器区分若干不同类型的镜头事件,包 括突然场景变化、交叉淡化和其它缓慢场景变化以及相机闪光灯。通过以编码器中的不 同策略来确定不同类型的镜头事件,编码效率和视觉质量得以提高。
场景变化检测可用于任何视频编码系统,因为其通过以固定的时间间隔插入I帧而 智能地保存位。在一些方面,预处理器所获得的内容信息(例如,并入在元数据中或由 预处理器226计算出)可用于场景变化检测。举例来说,下文中所描述的阈值和其它标 准视内容信息而定可动态地调整以用于不同类型的视频内容。
视频编码通常在结构化图片组(GOP)上操作。GOP通常以帧内编码帧(I帧)开 始,后面为一系列的P (预测)帧或B (双向)帧。通常,I帧可存储显示所述帧所需的 所有数据,B帧依赖在先前帧和后面帧中的数据(例如,仅含有从先前帧改变或与下一帧中的数据不同的数据),且P帧含有己从先前帧改变的数据。在普遍应用中,在经编码 视频中P帧和B帧散布于I帧之中。在尺寸方面(例如,用于编码帧的位的数目),I帧 通常比P帧大得多,而P帧又比B帧大。为了有效的编码、传输和解码处理,GOP的长 度应足够长以降低来自大I帧的有效损失且足够短以克服编码器与解码器之间的不匹配 或信道减损。此外,P帧中的宏区块(MB)可因为相同的原因而被帧内编码。
场景变化检测可用于视频编码器以确定适当的GOP长度且基于所述GOP长度插入I 帧,而不是以固定的时间间隔插入常常不需要的I帧。在实际串流视频系统中,通信信 道常常由于位错误或包丢失而受损害。在何处置放I帧或IMB可显著地影响解码视频质 量且观看体验。 一种编码方案是将帧内编码帧用于与配置的先前图片或图片部分相比具 有显著变化的图片或图片部分。通常,不能通过运动估计来有效且高效地预测这些区域, 且如果此类区域被免除帧间编码技术(例如,使用B帧和P帧编码),那么编码可更有效 地进行。在信道减损的情境中,那些区域可能经受错误传播,所述错误传播可通过帧内 编码而得以降低或消除(或者几乎如此)。
GOP视频的若干部分可被分类为两个或两个以上种类,其中每一区域可具有可取决 于特定实施方案的不同的帧内编码标准。作为一实例,视频可被分类为三个种类突然 场景变化、交叉淡化和其它缓慢场景变化,以及相机闪光灯。
突然场景变化包括与先前帧显著不同的帧,其通常由相机操作造成。由于这些帧的 内容与先前帧的内容不同,所以应将突然场景变化帧编码为I帧。
交叉淡化和其它缓慢场景变化包括场景的缓慢转换,其通常由摄像的计算机处理造
成。两个不同场景的逐渐混合让人眼看起来较合意,但对视频编码构成挑战。运动补偿 不能有效地降低那些帧的位速率,且可针对这些帧更新较多的帧内MB。
当帧的内容包括相机闪光时,相机闪光灯或相机闪光事件发生。此类闪光持续时间 相对较短(例如, 一个帧)且极为明亮,使得帧中描绘闪光的像素相对于相邻帧上的相 应区域显示出不寻常的高亮度。相机闪光灯突然且快速地转换图片的亮度。相机闪光灯 的持续时间常常比人类视觉系统(HVS)的时间遮蔽持续时间(通常被界定为44ms)短。 人眼对于这些短亮度突发的质量不敏感,且因此其可被粗略地编码。因为不能通过运动 补偿来有效地处理闪光灯帧且所述闪光灯帧是未来帧的不良预测候选者,所以这些帧的 粗略编码不降低未来帧的编码效率。被分类为闪光灯的场景因"人工"高亮度的缘故而 不应被用来预测其它帧,且其它帧因为同样的原因也不能被有效地用来预测这些帧。一 旦被识别,就可将这些帧取出,因为其可能需要相对大量的处理。 一种选择是移除相机闪光灯帧且在其位置上编码DC系数;此种解决方法较简单,计算快速且节省许多位。
当帧的上述种类的任一者被检测时,宣告镜头事件。镜头检测不仅对改进编码质量 有用,其还可帮助识别视频内容搜索和索引。下文中描述场景检测处理的一个说明性方 面。在此实例中,镜头检测处理首先为正经处理用于镜头检测的选定帧计算信息或度量。 度量可包括来自视频的双向运动估计和补偿处理的信息和其它基于亮度的度量。
为了执行双向运动估计/补偿,视频序列可由双向运动补偿器进行预处理,所述双向 运动补偿器使当前帧的每一 8x8区块与所述帧中最接近相邻帧的两者(一者在过去,且 一者在未来)中的区块匹配。所述运动补偿器为每一区块产生运动向量和差异度量。图 29为一说明,其展示使当前帧C的像素与过去帧P和未来(或下一)帧N匹配的一实例 且描绘对于匹配像素的运动向量(过去运动向量MVp和未来运动向量MVN)。下文中参 看图32大体描述关于双向运动向量产生和相关编码的一般描述。
在确定相应相邻帧中的双向运动信息(例如,识别出最匹配MB的运动信息)之后, 通过当前帧与下一帧和先前帧的各种比较可产生额外的度量(例如,通过GOP分割器612 中的运动补偿器或另一适合的组件)。所述运动补偿器可为每一区块产生差异度量。所述 差异度量可以是平方差和(SSD)或绝对差和(SAD)。在不损失一般性的情况下,此处 将SAD用作一实例。
对于每一帧,SAD率(也称作"对比率")如下计算
j/ =-
£ + &4Dw [6〗
其中SADp和SADN分别是正向和反向差异度量的绝对差和。应注意,分母含有小正 数s来防止"除零"错误。分子也含有一 s来平衡分母中的单位元素(unity)效果。举 例来说,如果先前帧、当前帧和下一帧为相同的,那么运动搜索将得出SADP=SADN=0。 在此情况下,上述计算产生器产l而非0或无穷大。
可针对每一帧计算一亮度直方图。通常多媒体图像具有八位的亮度深度(例如,"箱" (bin)的数目)。根据一些方面,用于计算亮度直方图的亮度深度可被设定为16从而获 得所述直方图。在其它方面,亮度深度可被设定为适当的数目,所述数目可取决于正经 处理的数据的类型、可用的计算能力或其它预定标准。在一些方面,亮度深度可基于计 算或接收的度量(例如数据的内容)来动态地设定。
下面的等式说明计算亮度直方图差异(拉姆达)的一个实例其中Npi为对于先前帧第i箱中的区块的数目,且Nc,为对于当前帧第i箱中的区块 的数目,且N为帧中的区块的总数。如果先前帧和当前帧的亮度直方图差异完全不相似 (或不相交),那么l2。
使用此信息,将帧差异度量(D)计算如下-
<formula>formula see original document page 30</formula>其中A是由应用选择的常数, f + ^4"",且 £ + X4"c 。
如果帧差异度量符合等式9中所示的标准,那么所选择的(当前)帧被分类为突然 场景变化帧
^ [9]
其中A是由应用选择的常数,且7^是阈值。
在一个实例中,模拟展示设定A=l和Tf5实现良好的检测性能。如果当前帧为
突然场景变化帧,那么化应为较大的且w应为较小的。可使用比率^而非仅使用yc以 使得所述度量经规格化为所述情境的活动等级。
应注意,上述标准以非线性的方式来使用亮度直方图差异拉姆达(入)。图16说明V (2入+l)为凸函数。当人较小(例如,接近零)时,其很少预加重(preemphasis)。 X变得 越大,所述函数进行的加重越多。在具有此预加重的情况下,对于任何大于1.4的L检 测到突然场景变化(如果阈值T,被设为5)。
如果场景强度度量D符合等式5中所示的标准,那么确定当前帧为交叉淡化或缓慢 场景变化<formula>formula see original document page 31</formula>[10]
对于特定数目的连续帧,其中r;为与上文中所使用的阈值相同的阈值且r2为另一阈值。
闪光灯事件常常导致亮度直方图转移到较亮侧。在相机的此说明性方面,亮度直方 图统计用来确定当前帧是否包含相机闪光灯。镜头检测处理可确定当前帧的亮度是否比 先前帧的亮度大特定的阈值^,以及当前帧的亮度是否比下一帧的亮度大阈值n,如等
式11和12中所示
<formula>formula see original document page 31</formula> [12]
如果未满足上述标准,那么不将当前帧分类为包含相机闪光灯。如果满足所述标准, 那么镜头检测处理确定反向差异度量&4Z^和正向差异度量^WZ w是否大于特定阈值T4, 如下面的等式中所说明
<formula>formula see original document page 31</formula>[13]
<formula>formula see original document page 31</formula>[14]
其中Pc为当前帧的平均亮度,Fp为先前帧的平均亮度,Pw为下一帧的平均亮度, 且SADP和SADN为与当前帧相关联的正向和反向差异度量。
镜头检测处理通过首先确定当前帧的亮度是否大于先前帧的亮度和下一帧的亮度来 确定相机闪光事件。如果不是如此,那么所述帧并非相机闪光事件;但如果是如此,那 么其可能为相机闪光事件。所述镜头检测处理接着可评估反向差异度量是否大于阈值T3 和正向差异度量是否大于阈值T4;如果满足这两个条件,那么所述镜头检测处理将当前 帧分类为具有相机闪光灯。如果未满足所述标准,那么所述帧甚至不被分类为任何类型 的镜头,或者其可被给定识别出将在所述帧上进行的编码(例如,丢弃帧,编码为I帧)的默认分类。
上文中展示一些关于t,、 t2、 T3和T4的示范性值。通常,这些阈值是通过对镜头检 测的特定实施方案的测试来选择的。在一些方面,阈值t,、 t2、 T3和T4的一者或一者以 上被预定且此类值被并入到编码装置的镜头分类器中。在一些方面,可在处理期间(例 如,动态地)基于使用供应给镜头分类器的信息(例如,元数据)或者基于镜头分类器 本身所计算的信息来设定阈值t,、 t2、 T3和T4的一者或--者以上。
使用镜头检测信息来编码视频通常在编码器中执行,但为了镜头检测揭示内容的完 整性而在此处对其进行描述。参看图30,编码处理301可基于帧序列中的所检测镜头使 用镜头检测信息来编码视频。处理301进行到区块303,且检査以了解当前帧是否被分 类为突然场景变化。如果是如此,那么在区块305处当前帧可被编码为i帧且可确定gop 边界。如果不是如此,那么处理301进行到区块307;如果当前帧被分类为缓慢改变的 场景的一部分,那么在区块309处当前帧和缓慢改变的场景中的其它帧可被编码为预测 帧(例如,p帧或b帧)。处理301接着进行到区块311,在区块311中检查当前帧是否 被分类为包含相机闪光的闪光灯场景。如果是如此,那么在区块313处所述帧可被识别 以用于特殊处理,例如移除或为所述帧编码dc系数;如果不是如此,那么不对当前帧 进行任何分类且当前帧可根据其它标准而被编码、被编码为i帧或被丢弃。
在上文描述的方面,待压缩的帧与其相邻两个帧之间的差异量由帧差异度量d指示。
如果检测出显著量的单向亮度变化,那么表示所述帧中的交叉淡化效应。交叉淡化越显 著,就可通过使用b帧实现越多的增益。在一些方面,使用如下面的等式中所示的经修 改帧差异度量-

A —A
xd,如果yp-A2yc》^+a或yf+a^ w厶,
否则,
其中^=|^_^|和^ ^vl分别为当前帧与先前帧之间的明度差异以及当前帧
与下一帧之间的明度差异,a表示可在普通实验中确定的常数,因为其可取决于实施方
案,且oc为具有在0与1之间的值的加权变量。 b.带宽映射产生
预处理器226 (图6)还可经配置以产生可用于编码多媒体数据的带宽映射。在一些 方面,编码器228中的内容分类模块712 (图7)代替预处理器产生所述带宽映射。人类视觉质量V可以是编码复杂性C与分配位B (也被称作带宽)两者的函数。图 15是说明此关系的曲线。应注意,编码复杂性度量C从人类视觉观点考虑空间和时间频 率。对于人眼较敏感的失真,复杂性值相应地较高。通常可假设V在C中单调递减且在 B中单调递增。
为了实现恒定的视觉质量,将带宽(Bi)指定给待编码的第i个对象(帧或MB), 所述带宽(Bi)满足下面紧接着的两个等式中所表示的标准
<formula>formula see original document page 33</formula>
在紧接着的上面两个等式中,Ci为第i个对象的编码复杂性,B为总可用带宽且V 为关于一对象实现的视觉质量。难以将人类视觉质量用等式准确地表达。因此,上面的 等式组并非精确界定。然而,如果假设3-D (3维)模型在所有的变量中为连续的,那么
可将带宽比率( 等式中被界定:
S)视为在一 (C, V)对的邻域内保持不变。带宽比率(3i在下面所示的<formula>formula see original document page 33</formula>
接着可如下述等式所表述来界定位分配
<formula>formula see original document page 33</formula>
其中5指示"邻域"。
编码复杂性受人类视觉敏感度影响(在空间与时间上)。Girod的人类视觉模型是可 用来界定空间复杂性的模型的一实例。此模型考虑局部空间频率和环境照明。所得度量 称作Desat。在处理中的预处理点,图片将被帧内编码还是帧间编码是未知的,且产生针 对所述两者的带宽比率。根据不同视频对象的Awt^之间的比率来分配位。对于帧内编码图片,带宽比率表达于下述等式中
在上述等式中,y为宏区块的平均亮度分量,",w为关于亮度平方和其后的Dcsat
项的加权因子,^皿M为保证 的归一化因子。举例来说,关于",^=4的值实现
良好的视觉质量。可使用内容信息(例如,内容分类)将"w,设定为一值,所述值对应 于用于视频的特定内容的所需的良好视觉质量等级。在一个实例中,如果视频内容包含 "发言人头部特写"新闻广播,那么可将视觉质量等级设为较低,因为可认为所述视频的 信息图像或可显示部分不如音频部分重要,且可分配较少的位来编码数据。在另一实例
中,如果视频内容包含体育事件,那么可使用内容信息将"w^设定为对应于较高视觉质 量等级的值,因为所显示的图像对于观察者来说可能较重要,且因此可分配较多的位来 编码数据。
为了理解此关系,应注意,带宽与编码复杂性呈对数性地分配。亮度平方项^反映 具有较大量值的系数使用较多的位来编码的事实。为了防止对数得出负值,将单位元素 添加到括弧内的项中。也可使用具有其它基数的对数。
时间复杂性由帧差异度量的量度确定,所述量度考虑运动量(例如,运动向量)以 及帧差异度量(例如绝对差和(SAD))而测量两个连续帧之间的差异。
关于帧间编码图像的位分配可考虑空间复杂性以及时间复杂性。这由下式表达
"匿《 = Alog,。 (1 + "匿《 ' S犯'exp(— ^fMVp + MVW『》 [2 i ]
在上面的等式中,MVp和MVN为关于当前MB的正向和反向运动向量(参看图29)。
可注意到,帧内编码带宽公式中的^由平方差和(SSD)取代。为了理解llM^+M^1在 上面等式中的作用,请注意人类视觉系统的下面特征经历平滑、可预测运动(小的
ll^^+MVgi2)的区域引起注意且可由眼睛追踪且通常不如静止区域那样能够容忍更多
失真。然而,经历快速或不可预测运动(大的lMW+M^1 )的区域不可被追踪且可容 忍显著的量化。实验展示awr^-l、 "0.001实现良好的视觉质量。C.适应性GOP分割
在可由预处理器226执行的处理的另一说明性实例中,图6的GOP分割器612也可 适应性地改变经共同编码的一组图片的组成,且参考使用MPEG2的实例来对其进行论 述。 一些较老的视频压缩标准(例如,MPEG2)不要求GOP具有规则结构,但可强加一 个规则结构。MPEG2序列总是以I帧(即, 一个己在未参考先前图片的情况下编码的帧) 开始。MPEG2 GOP格式常通过使GOP中接在I帧后的P或预测图片的间距固定而在编 码器处预配置。P帧是已从先前I或P图片中部分预测的图片。在开始I帧与随后P帧之 间的帧被编码为B帧。"B"帧(B代表双向)可个别地或同时将先前和下一 (I或P)图 片用作参考。编码I帧所需的位的数目平均超过编码P帧所需的位的数目;同样,编码P 帧所需的位的数目平均超过B帧所需的位的数目。跳过的帧(如果其被使用)由于其表 现形式的缘故将不需要任何位。
使用P帧和B帧且在较新近的压縮算法中,跳过帧以降低表示视频所需的数据的速 率的概念是消除时间冗余。当时间冗余较高(即,图片与图片间存在很少变化)时,P、 B或被跳过图片的使用有效地表示视频流,因为先前解码的I或P图片稍后被用作参考 来解码其它P或B图片。
适应性GOP分割基于适应性地使用此概念。帧之间的差异经量化且在对量化差异执 行适合的测试之后自动地作出用I、 P、 B还是被跳过的帧来表示图片的决策。适应性结 构具有固定GOP结构中不能获得的优点。固定结构将忽略已发生很少的内容变化的可能 性;适应性程序将允许将较多的B帧插入在每一I帧与P帧之间或者两个P帧之间,借 此降低充分表示帧序列所需的位的数目。相反,当视频内容中的变化显著时,P帧的效 率会因为预测帧与参考帧之间的差异太大而大大降低。在这些条件下,匹配对象可能不 在运动搜索区域中,或者匹配对象之间的相似性由于相机角度中的变化所导致的失真而 降低。此时,P帧或者I帧与其相邻的P帧应选择为较靠近彼此且应插入较少的B帧。 固定的GOP不可作出所述调整。
在此处所揭示的系统中,自动地感测这些条件。所述GOP结构为灵活的且可适应内 容中的这些变化。所述系统评估帧差异度量,所述帧差异度量可被视为是帧间距离量度 (具有距离的相同的相加性质)。在概念上,给定具有帧间距离山2和(123的帧Fi、 F2和F3, 那么认为Fi与F3之间的距离至少为d12+d23。帧指定以这种类似距离度量为基础来进行。
GOP分割器通过将图片类型指定给帧(在其被接收时)来操作。图片类型指示在编 码每一区块时可能需要的预测方法。I图片在不参考其它图片的情况下被编码。由于其是独立的,所以其提供数据流中解 码可开始的接入点。如果一帧与其前驱帧的"距离"超过场景变化阈值,那么将I编码 类型指定给所述帧。
P图片可将先前I图片或P图片用于运动补偿预测。其使用在先前场或帧中且可从正 预测为用于编码的基础的区块移位的区块。在从正考虑的区块中减去参考区块之后,通 常使用离散余弦变换来编码残余区块以消除空间冗余。如果一帧与被指定为P帧的最后 帧之间的"距离"超过第二阈值(其通常小于第一阈值),那么将P编码类型指定给所述 帧。
B帧图片可如上文中所描述将先前和下一 P或I图片用于运动补偿。B图片中的区块 可经正向、反向或双向预测;或者其可在不参考其它帧的情况下进行帧内编码。在H.264 中,参考区块可以是多达32个区块(来自同样多的帧)的线性组合。如果帧不可被指定 为I或P类型,如果所述帧与其紧接的前驱帧之间的"距离"大于第三阈值(其通常小 于第二阈值),那么将所述帧指定为B类型。
如果所述帧不可被指定为B帧编码,那么将其指定为"跳过帧"状态。因为此帧实 际上是先前帧的副本,所以可跳过此帧。
评估以显示次序量化相邻帧之间的差异的度量是所发生的此处理的第一部分。此度 量是上文中所提到的距离;利用所述度量,评估每一帧的适当类型。因此,I帧与相邻P 帧或者两个连续P帧之间的间距可以是变量。计算所述度量以通过基于区块的运动补偿 器来处理视频帧开始,区块是视频压缩的基本单位,其通常由16x16像素组成,但例如 8x8、 4x4和8x16等其它区块尺寸是可能的。对于由两个解交错场组成的帧,运动补偿 可基于场进行,对于参考区块的搜索发生于场中而非帧中。对于当前帧的第一场中的区 块,正向参考区块发现于所述帧中接在第一场后的场中;同样,反向参考区块发现于所 述帧中紧接在当前场之前的场中。当前区块组合成补偿场。所述处理继续在所述帧的第 二场中进行。所述两个补偿场组合以形成正向和反向补偿场。
对于在反电视电影606中建立的帧,由于仅有经重建的电影帧,所以对参考区块的 搜索仅以帧为基础。发现两个参考区块和两种差异(正向的和反向的),从而还导致正向 和反向补偿帧。总体来说,运动补偿器为每一区块产生运动向量和差异度量;但在解交 错器605的输出经处理的情况下,区块是NTSC场的一部分且如果反电视电影的输出经 处理,那么区块是电影帧的一部分。注意,所述度量中对正经考虑的场或帧中的区块与 在先前场或帧中或在紧接其后的场或帧中最与所述区块匹配的区块之间的差异进行评估,这取决于是正对正向差异还是反向差异进行评估。仅亮度值参加此计算。
运动补偿步骤因此产生两组差异。这些差异为当前亮度值与参考区块中的亮度值的 区块之间的差异,参考区块取自在时间上紧接当前帧之前和紧接所述当前帧之后的帧。 为每一像素确定每一正向差异和每一反向差异的绝对值,且每一者单独地在整个帧上进 行总计。当对包含一帧的解交错NTSC场进行处理时,两个场被包括于两个总和中。以 此方式,得到正向差异和反向差异的总绝对值(SADp和SADn)。 对于每一帧,使用以下关系计算SAD比率,
<formula>formula see original document page 37</formula> [22]
其中SADp和SADn分别为正向差异和反向差异的总绝对值。将小的正数s加到分子 中来防止"除零"错误。将类似的s项加到分母中,从而在SADp或SADn的任一者接近
零时进一步降低Y的敏感度。
在替代方面,差异可以是SSD(平方差和)和SAD(绝对差和)或者SATD,在SATD
中像素值区块通过在区块元素中的差异被测出之前将二维离散余弦变换应用于所述区块
而变换。在作用视频区域上评估总和,但在其它方面可使用较小区域。
还计算所接收(非运动补偿)的每一帧的亮度直方图。所述直方图在16x16系数阵
列中的DC系数(即,(0,0)系数)上操作,所述16x16系数阵列是将二维离散余弦变换
应用于亮度值区块(如果其可用)的结果。同样,可将16x16区块中的256个亮度值的
平均值用于所述直方图中。对于亮度深度为八位的图像,将箱(bin)的数目设为16。下
面的度量评估直方图差异
WtT [23]
在上式中,A"为来自第i箱中的先前帧的区块数目,且7W,为来自属于第i箱中的当 前帧的区块数目,iV为帧中的区块总数。
这些中间结果经组合以形成如下式的当前帧差异度量<formula>formula see original document page 38</formula>^ [24]
其中化是基于当前帧的SAD比率且YP是基于先前帧的SAD比率。如果一场景具有 平滑运动且其明度直方图几乎没有改变,那么D-l。如果当前帧显示突然场景变化,那
么丫c将较大且YP应较小。使用比率^而非仅使用Yc以使得所述度量经规格化为所述情 境的活动等级。
图42说明将压缩类型指定给帧的处理。D,等式19中所界定的当前帧差异为相对于 帧指定作出的决策的基础。如决策区块4202所指示,如果在考虑中的帧在序列中为第一, 那么沿着标记为"是"的决策路径到达区块4206,借此宣告所述帧为I帧。在区块4208 中将累计帧差异设定为零,且所述处理返回(在区块4210中)到开始区块。如果正经考 虑的帧在序列中并非为第一帧,那么标记为"否"的路径从其中作出决策的区块4202得 出,且在测试区块4204中对照场景变化阈值来测试当前帧差异。如果当前帧差异大于所 述阈值,那么沿着标记为"是"的决策路径到达区块4206,再次导致I帧的指定。
如果当前帧差异小于场景变化阈值,那么沿着"否"路径到达区块4212,在区块4212 中将当前帧差异加到累计帧差异中。经由流程图继续到决策区块4214,将累计帧差异与 阈值t进行比较,所述阈值t一般小于所述场景变化阈值。如果所述累计帧差异大于t, 那么控制转移到区块4216,且所述帧被指定为P帧;所述累计帧差异接着在步骤4218 中被重设为零。如果所述累计帧差异小于t,那么控制从区块4214转移到区块4220。在 区块4220中将所述当前帧差异与小于t的t进行比较。如果所述当前帧差异小于t,那 么在区块4222中所述帧被指定为跳过且接着所述处理返回;如果所述当前帧差异大于t, 那么所述帧在区块4226中被指定为B帧。
编码器
返回参看图2,转码器200包括从预处理器226接收经处理的元数据和原始视频的 编码器228。所述元数据可包括在来源视频104中初始接收的任何信息和由预处理器226 计算的任何信息。编码器228包括第一遍编码器230、第二遍编码器232和再编码器234。 编码器228还接收来自转码器控制231的输入,所述转码器控制231可将来自第二遍编 码器232的信息(例如,元数据、错误复原信息、内容信息、经编码位速率信息、基础 层和增强层平衡信息以及量化信息)提供到第一遍编码器230、再编码器234以及预处 理器226。编码器228使用从预处理器226接收的内容信息和/或由编码器228本身(例如,由内容分类模块712 (图7))所产生的内容信息来编码所接收的视频。
图7说明可包括于可用于图2中所说明的编码器228的示范性两遍编码器中的功能
模块的框图。图7中展示功能模块的各个方面,但图7和本文中的描述不一定论述可并
入到编码器中的所有功能性。因此,在下面论述基础层和增强层编码之后,在下文中对
所述功能模块的某些方面进行描述。 基础层和增强层编码
编码器228可以是SNR可縮放编码器,其可将来自预处理器226的原始视频和元数 据编码为第一组经编码数据(在本文中也称作基础层)和一个或一个以上额外组的经编 码数据(在本文中也称作增强层)。编码算法在解码时产生基础层和增强层系数,当两层 均可用于解码时,所述系数可在解码器处结合。当两层均不可用时,基础层的编码允许 其作为单一层被解码。
参看图31描述此多层编码处理的一个方面。在区块321处,以完全帧内编码宏区块 (帧内编码MB)编码I帧。在H.264中,通过充分利用的空间预测来编码I帧中的帧内 编码MB,所述空间预测提供显著数目的编码增益。存在两种子模式帧内4x4和帧内 16x16。如果基础层将利用空间预测提供的编码增益,那么所述基础层需要在编码和解码 增强层之前进行编码和解码。使用I帧的两遍编码和解码。在基础层中,基础层量化参 数QPb为变换系数提供粗略量化步长。原始帧与重建基础层帧之间的基于像素差异将在
增强层处编码。所述增强层使用量化参数QPe,所述量化参数QPe提供较精确的量化步
长。在区块321处编码装置(例如图2的编码器228)可执行编码。
在区块323处,编码器对用于正经处理的GOP中的P帧和/或B帧的基础层数据和 增强层数据进行编码。编码装置(例如编码器228)可在区块323处执行编码。在区块 325处,编码处理检査是否还存在P帧或B帧来编码。编码装置(例如SNR可縮放编码 器228)可执行动作325。如果还余留P帧或B帧,那么重复步骤323直到为GOP中的 所有帧完成编码为止。P帧和B帧包含帧间编码宏区块(帧间编码MB),但在P帧和B 帧中可存在帧内编码MB (如下文中将讨论)。
为了使解码器区别基础层数据与增强层数据,编码器228编码额外开销信息(区块 327)。额外开销信息的类型包括(例如)识别层的数目的数据、将层识别为基础层的数 据、将层识别为增强层的数据、识别多层之间的相互关系(例如,层2为关于基础层1 的增强层,或者层3为关于增强层2的增强层)的数据,或者将层识别为一连串的增强 层中的最终增强层的数据。额外开销信息可包含于与其所属的基础层和/或增强层数据连接的标头中,或者包含于单独的数据消息中。编码装置(例如图2的编码器228)可在 区块327处执行所述处理。
为了实现单层解码,在去量化之前结合两个层的系数。因此,两个层的系数必须交 互地产生;否则这可引入显著量的额外开销。额外开销增加的一个原因为基础层编码和 增强层编码可使用不同的时间参考。需要一算法来产生基础层和增强层系数,当两个层 均可用时,所述系数可在去量化之前在解码器处结合。同时,当增强层不可用时或解码 器出于(例如)功率节省的原因而决定不解码增强层时,所述算法应为可接受的基础层 视频作准备。下文在对标准预测编码进行简要讨论的上下文(紧接在下面)中进一步讨 论此处理的一说明性实例的细节。
P帧(或任何帧间编码区段)可利用当前图片中的一区域与参考图片中的一最匹配 预测区域之间的时间冗余。可在运动向量中对参考帧中所述最匹配预测区域的位置进行 编码。当前区域与最匹配参考预测区域之间的差异称为残余误差(或预测误差)。
图32是(例如)MPEG-4中P帧建构处理的一实例的说明。处理331为可发生于图 31的区块323中的一实例处理的较详细说明。处理331包括由5x5宏区块组成的当前图 片333,其中宏区块的数目在此实例中为任意的。 一宏区块由16x16像素组成。像素可 由8位亮度值(Y)和两个8位颜色值(Cr和Cb)界定。在MPEG中,Y、 Cr和Cb分 量可以4:2:0格式存储,其中Cr分量和Cb分量在X方向和Y方向上以2向下取样。因 此,每一宏区块将由256个Y分量、64个Cr分量和64个Cb分量组成。当前图片333 的宏区块335是根据与当前图片333处于不同时间点的参考图片337预测的。在参考图 片337中进行搜索来定位最匹配宏区块339,最匹配宏区块339在Y值、Cr值和Cb值 方面最接近正被编码的当前宏区块335。参考图片337中最匹配宏区块339的位置被编 码在运动向量341中。参考图片337可以是解码器在建构当前图片333之前将已经重建 的I帧或P帧。从当前宏区块335中减去最匹配宏区块339 (计算Y分量、Cr分量和Cb 分量的每一者的差异),从而导致残余误差343。以2D离散余弦变换(DCT) 345对残余 误差343进行编码且接着进行量化347。可执行量化347以通过(例如)将较少的位分 配给高频率系数且同时将较多的位分配给低频率系数来提供空间压縮。残余误差343的 量化系数以及运动向量341和参考图片333识别信息是表示当前宏区块335的经编码信 息。所述经编码信息可存储于存储器中以便未来使用或者出于(例如)错误校正或图像 增强目的而被操作或者经由网络349来传输。
可使用残余误差343的经编码量化系数以及经编码运动向量341来重建编码器中的当前宏区块335,以用作用于随后运动估计和补偿的参考帧的一部分。编码器可模拟用 于此P帧重建的解码器程序。解码器的模拟将导致编码器与解码器两者对相同的参考图 片起作用。此处呈现在编码器中进行(为了进一步帧间编码)或在解码器中进行的重建 处理。P帧的重建可在参考帧(或者正被参考的图片或帧的一部分)被重建之后开始。 经编码量化系数被去量化351,且接着执行二维反向DCT (或IDCT) 353,从而导致经 解码的或重建的残余误差355。经编码运动向量341经解码且被用来使已重建的最匹配 宏区块357定位于已重建的参考图片337中。接着将重建的残余误差355加到重建的最 匹配宏区块357中以形成重建的宏区块359。重建的宏区块359可被存储于存储器中、 独立地显示或与其它重建的宏区块一起显示于图片中,或为图像增强而被进一步处理。
B帧(或以双向预测编码的任何区段)可利用在当前图片中的一区域与先前图片中 的一最匹配预测区域和随后图片中的一最匹配预测区域之间的时间冗余。将随后最匹配 预测区域与先前最匹配预测区域组合以形成组合双向预测区域。当前图片区域与最匹配 组合双向预测区域之间的差异为残余误差(或预测误差)。最匹配预测区域在随后参考图 片中的位置和最匹配预测区域在先前参考图片中的位置可在两个运动向量中编码。
图33说明可由编码器228执行的用于基础层系数和增强层系数的编码的编码器处理 的一实例。编码所述基础层和所述增强层以提供SNR可縮放位流。图33描绘用于编码 帧间MB残余误差系数的实例,例如将在图31的步骤323中进行。然而,也可使用相似 的方法来编码帧内MB系数。编码装置(例如图2的编码器组件228)可执行图33中所 说明的处理和图32的步骤323。将原始(待编码)视频数据406 (在此实例中,视频数 据包含明度和色度信息)输入到基础层最匹配宏区块回路302和增强层最匹配宏区块回 路365中。两个回路(363和365)的目标为使分别在加法器367和369处计算的残余误 差最小化。可并行地(如图所示)或依次执行回路363和365。回路363和365包括用 于分别搜索缓冲器371和373的逻辑,所述缓冲器含有参考帧以识别使最匹配宏区块与 原始数据361之间的残余误差最小化的最匹配宏区块(缓冲器371和373可以是相同的 缓冲器)。由于基础层回路363通常将利用比增强层回路365粗略的量化步长(较高的 QP值),所以回路363和回路365的残余误差将是不同的。变换区块375和377变换每 一回路的残余误差。
接着在选择器379中将经变换系数剖析入基础层系数和增强层系数中。如下文中所 讨论,选择器379的剖析可具有若干形式。剖析技术的一个共同特性为增强层系数C'^ 经计算以使得其为对基础层系数C、,的差分改进。将增强层计算为对基础层的改进允许解码器通过其本身来解码基础层系数且具有图像的合理表示形式,或者将基础层系数与 增强层系数组合且具有图像的改进的表示形式。选择器379所选择的系数接着由量化器
381和量化器383量化。量化系数^^和e'^ (分别由量化器381和383计算)可存储 于存储器中或被经由网络传输到解码器。
为了使宏区块的重建匹配于解码器中,去量化器385将基础层残余误差系数去量化。 经去量化的残余误差系数经反变换(387)且加到(389)缓冲器371中所发现的最匹配 宏区块中,从而得到与解码器中将重建的宏区块相匹配的重建的宏区块。量化器383、 去量化器391、反变换器395、加法器397和缓冲器373在增强回路365中执行与在基础 层回路363中所进行的计算相似的计算。此外,加法器393用来将用于增强层的重建中 的去量化增强层和基础层系数组合。增强层量化器和去量化器通常将利用比基础层精确 的量化器步长(较低的QP)。
图34、图35和图36展示可用于图33的选择器379中的基础层和增强层系数选择 器处理的实例。选择装置(例如图2的编码器228)可执行图34、 35和图36中所描绘 的处理。将图34用作一实例,经变换系数如下述等式所示被剖析入基础层和增强层系数 中
J 0,如果C^及C^为相反符号<formula>formula see original document page 42</formula>, 否则
<formula>formula see original document page 42</formula>[26]
其中"min"函数可以是两个自变量的数学最小值或最小量值。等式25描绘为图34 中的区块401且等式26描绘为图34中的加法器510。在等式26中,Qb代表基础层量化 器381且Qb"代表基础层的去量化器385。等式26将增强层系数转换为用等式25计算 的基础层系数的差分改进。
图35是基础层和增强层系数选择器379的另一实例的说明。在此实例中,包含于区 块405中的等式(.)代表下式
<formula>formula see original document page 42</formula>[27]加法器407如下述两个等式所示计算增强层系数: <formula>formula see original document page 43</formula>[28]
其中C'6。,e由等式27给出。
图36是基础层和增强层选择器379的另一实例的说明。在此实例中,基础层系数不 变且增强层等于量化/去量化基础层系数与原始增强层系数之间的差异。
除了基础层和增强层残余误差系数之外,解码器还需要识别MB如何经编码的信息。 编码装置(例如图2的编码组件228)可编码额外开销信息,所述额外开销信息可包括 帧内编码和帧间编码部分的映射,例如其中宏区块(或子宏区块)被识别为经帧内编码 或帧间编码(还识别哪一类型的帧间编码,包括(例如)正向的、反向的或双向的)以 及帧的帧间编码部分所参考的MB映射。在一实例方面,所述MB映射和基础层系数在 基础层中编码,且增强层系数在增强层中编码。
P帧和B帧可含有帧内编码MB以及帧间MB。混合视频编码器通常使用速率失真 (RD)优化来决定将P帧或B帧中的某些宏区块编码为帧内编码MB。为了实现单层解 码(其中帧内编码MB不依赖于增强层帧间MB),不将任何相邻帧间MB用于基础层帧 内编码MB的空间预测。为了使关于增强层解码的计算复杂性保持不变,对于在基础层 P帧或B帧中的帧内编码MB,可跳过增强层处的改进。
在P帧或B帧中的帧内编码MB可需要比帧间MB多很多的位。由于此原因,P帧 或B帧中的帧内编码MB可仅以具有较高QP的基础层质量来编码。此将引入视频质量 的一些退化,但如果此退化在具有帧间MB系数(在基础层和增强层中)的稍后帧中被 改进(如上文中所讨论),那么所述退化应为不显著的。两个原因使得此退化为不显著的。 第一个是人类视觉系统(HVS)的特性且另一个是帧间MB改进帧内MB。对于从第一 帧改变位置到第二帧的对象,在所述第一帧中的一些像素在所述第二帧中为不可见的(待 覆盖的信息),且在所述第二帧中的一些像素在第一次时为可见的(未覆盖信息)。人眼 对于未覆盖的和待覆盖的视觉信息不敏感。因此对于未覆盖的信息,即使其以较低的质 量编码,眼睛仍不能辨别出差异。如果相同的信息余留在随后的P帧中,那么将存在增 强层处的随后P帧可对其进行改进的较大可能性,因为增强层具有较低的QP。
已知在P帧或B帧中引入帧内编码MB的另一普遍技术为帧内刷新。在此情况下, 尽管标准R-D优化将指示一些MB应为帧间编码MB,但所述MB被编码为帧内编码MB。包含于基础层中的这些帧内编码MB可以QPb或QPe编码。如果QPe用于基础层,那么 增强层处不需要任何改进。如果QPb用于基础层,那么可需要改进,否则质量在增强层 处的下降将为显著的。由于从编码效率的意义上说,帧间编码比帧内编码更有效,所以 增强层处的这些改进将经帧间编码。因此,基础层系数将不被用于增强层。因此,在不 引入新操作的情况下,质量在增强层处得以改进。
由于B帧提供高的压缩质量,所以通常将其用于增强层中。然而,B帧可需要参考 P帧的帧内编码MB。如果B帧的像素将以增强层质量来编码,那么其可由于P帧帧内 编码MB的较低质量而要求太多的位,如上文中所讨论。通过利用HVS的质量(如上文 中所讨论),B帧MB在参考P帧的较低质量的帧内编码MB时可以较低的质量编码。
P帧或B帧中的帧内编码MB的一个极端情况为,由于在正编码的视频中存在场景 变化,所以P帧或B帧中的所有MB以帧内模式编码。在此情况下,整个帧可以基础层 质量编码且增强层处没有任何改进。如果场景变化出现于B帧处且假设B帧仅在增强层 中被编码,那么可以基础层质量来编码所述B帧或者只是将其丢弃。如果场景变化出现 于P帧处,那么可不需要任何变化,而是可丢弃所述P帧或者将其以基础层质量编码。 可缩放层编码在题为"SCALABLE VIDEO CODING WITH TWO LAYER ENCODING AND SINGLE LAYER DECODING"的第[代理人案号/参考编号050078]号共同待决的美 国专利申请案中进一步描述,所述专利申请案由本受让人所有且全文以引用的方式并入 本文中。
编码器第一遍部分
图7展示图2的编码器228的一说明性实例。所示区块说明可包括于编码器228中 的各种编码器处理。在此实例中,编码器228包括在界线704上的第一遍部分706和在 线704下的第二遍部分706(包括图2中的第二遍编码器232和再编码器234的功能性)。
编码器228接收来自预处理器226的元数据和原始视频。所述元数据可包括由预处 理器226接收或计算的任何元数据,其包括与视频的内容信息有关的元数据。编码器228 的第一遍部分702说明可包括于第一遍编码702中的示范性处理,所述第一遍编码702 在下文中按照其功能性进行描述。如所属领域的技术人员将了解,此类功能性可以各种 形式(例如,硬件、软件、固件或其组合)实施。
图7说明适应性帧内刷新(AIR)模块。AIR模块710基于元数据将输入提供到例示 I帧的I帧例示模块708。第一遍部分702还可包括内容分类模块712,所述内容分类模 块712经配置以接收元数据和视频且确定与所述视频有关的内容信息。可将内容信息提供到速率控制位分配模块714,所述速率控制位分配模块714也接收元数据和视频。控 制位分配模块714确定速率位控制信息且将其提供到模式决策模块715。可将内容信息 和视频提供到帧内模型(失真)模块716,所述帧内模型(失真)模块716将帧内编码 失真信息提供到模式决策模块715且以及关于基础层和增强层的可縮放性速率失真模块 718。将视频和元数据提供到运动估计(失真)模块720,所述运动估计(失真)模块720 将帧间编码失真信息提供到关于基础层和增强层的可缩放性速率失真模块718。关于基 础层和增强层的可缩放性速率失真模块718使用来自运动估计模块720和帧内模型失真 模块716的失真估计来确定可縮放性速率失真信息,所述可縮放性速率失真信息被提供 到模式决策模块715。模式决策模块715还接收来自切片/MB定序模块722的输入。切 片/MB定序模块722接收来自错误复原模块740 (在第二遍部分706中展示)的输入, 且将关于视频(切片)的可编码部分与错误复原的存取单元边界独立地对准的信息提供 到模式决策模块715。模式决策模块715基于其输入来确定编码模式信息且将"最佳" 编码模式提供到第二遍部分706。下文中对此第一遍部分702编码的一些实例的进一步 说明性解释进行描述。
如上文中所述,内容分类模块712接收由预处理器226供应的元数据和原始视频。 在一些实例中,预处理器226计算来自多媒体数据的内容信息且将所述内容信息提供到 内容分类模块712 (例如,在元数据中),所述内容分类模块712可使用所述内容信息来 确定关于所述多媒体数据的内容分类。在一些其它方面,内容分类模块712经配置以确 定来自多媒体数据的各种内容信息,且也可经配置以确定内容分类。
内容分类模块712可经配置来为具有不同类型的内容的视频确定不同的内容分类。 不同的内容分类可导致用于编码多媒体数据的方面中的不同参数,例如,确定用于确定 量化参数、运动估计、可縮放性、错误复原,维持信道上的最佳多媒体数据质量和用于 快速信道交换方案(例如,周期性地强制I帧以允许快速信道交换)的位速率(例如, 位分配)。根据一个实例,编码器228经配置以基于内容分类来确定速率失真(R-D)优 化和位速率分配。确定内容分类允许多媒体数据基于内容分类被压縮到对应于所需位速 率的给定的质量等级。并且,通过将多媒体数据的内容进行分类(例如,基于人类视觉 系统来确定内容分类),使得接收装置的显示器上所传送多媒体数据的所得感知质量依赖 于视频内容。
图9展示处理900,作为内容分类模块712所经历的用以将内容进行分类的程序的 一实例,其说明内容分类模块712可借以操作的示范性处理。如图所示,处理900在输入区块卯2处开始,在输入区块902中内容分类模块712接收原始多媒体数据和元数据。 处理900接着进行到区块904,在区块904中内容分类模块712确定多媒体数据的空间 信息和时间信息。在一些方面,空间和时间信息由空间和时间遮蔽(例如,滤波)确定。 可基于包括场景变化数据和运动向量(MV)平滑化的元数据来确定空间和时间信息。处 理900接着进行到执行空间复杂性、时间复杂性和敏感度估计的区块912。处理900接 着进行到区块916,在区块916中多媒体数据的内容基于区块904和912中的所确定的 空间、时间和敏感度数据的结果而分类。同样在区块916中,可选择特定的速率失真(R-D) 曲线和/或可更新R-D曲线数据。处理900接着进行到输出区块918,其中所述输出可包 括指示空间和时间活动(例如,内容分类)的复杂性-失真映射或值和/或选定的R-D曲 线。返回参看图7,内容分类模块712将输出提供到速率控制位分配模块714、帧内模型 (失真)模块716且还提供到I帧例示模块708 (上文中所讨论)。 内容信息
内容分类模块712可经配置以计算来自多媒体数据的各种内容信息,其包括各种内 容相关度量,所述度量包括下文中进一步描述的空间复杂性、时间复杂性、对比率值、 标准偏差和帧差异度量。
内容分类模块712可经配置以确定多媒体数据的空间复杂性和时间复杂性,且还将 纹理值与所述空间复杂性相关联并将运动值与所述时间复杂性相关联。内容分类模块712 接收与来自预处理器226的正经编码的多媒体数据的内容有关的预处理内容信息,或者, 预处理器226可经配置以计算内容信息。如上文中所描述,所述内容信息可包括(例如) 一个或一个以上Dcsat值、对比率值、运动向量(MV)和绝对差和(SAD)。
总体来说,多媒体数据包括图像或帧的一个或一个以上序列。每一帧可分解为像素 区块以便处理。空间复杂性是广义的术语,其大体描述帧内的空间细节的等级的量度。 主要具有亮度和色度的简单的或不变的或小改变区域的场景将具有低空间复杂性。所述
空间复杂性与视频数据的纹理相关联。空间复杂性基于(在此方面)称作Dcsat的人类视
觉敏感度度量,所述度量针对每一区块计算作为局部空间频率和环境照明的函数。 一般 技术人员知道使用视觉图像的空间频率图案以及照明和对比特征来利用人类视觉系统的 技术。若干敏感度度量已知利用了人类视觉系统的透视限制且可由本文中所描述的方法使用。
时间复杂性是广义的术语,其用于大体描述如帧序列中的帧之间参考的多媒体数据 中的运动等级的量度。具有很少运动或不具有运动的场景(例如,视频数据的帧序列)具有较低的时间复杂性。时间复杂性可针对每一宏区块进行计算且可基于D^t值、运动 向量和一个帧与另一帧(例如,参考帧)之间的绝对像素差异的和。
帧差异度量提供两个连续帧之间的差异的量度,其考虑运动量(例如,运动向量或 MV)以及表示为预测宏区块与当前宏区块之间的绝对差和(SAD)的残余能量。帧差异 还提供双向或单向预测效率的量度。
基于从预处理器(可能执行运动补偿解交错)接收的运动信息的帧差异度量的一个 实例如下。解交错器执行双向运动估计且因此双向运动向量和SAD信息为可用的。由
SAD-MV表示的用于每一宏区块的帧差异可如下得出
SAD—MV = log10[SAD*exp(-min(l,MV》] [29〗
其中MV=Square—root (MVx2+MVy2)、 SAD=min (SADN, SADP),其中SADn是从反 向参考帧计算的SAD,且SADp是从正向参考帧计算的SAD。
上文中参考等式6-8描述估计帧差异的另一方法。可如上文在等式6中较早描述来 计算SAD比率(或对比率)y。还可确定每一帧的亮度直方图,使用等式7计算直方图 差异人。可如等式8中所示计算帧差异度量D。
在一个说明性实例中,以下述的方式利用对比率和帧差异度量来获得视频内容分类, 所述视频内容分类可可靠地预测给定视频序列中的特性。尽管在此处描述为发生于编码 器228中,但预处理器226也可经配置以确定内容分类(或其它内容信息)且将所述内 容分类经由元数据传递到编码器228。下面实例中所描述的处理将所述内容分类为八个 可能的种类,其与从基于R-D曲线的分析中获得的分类相似。分类处理为每一超帧输出 在0与l之间的范围内的值,这取决于场景的复杂性和所述超帧中场景变化出现的数目。 预处理器中的内容分类模块可针对每一超帧执行下述步骤(1) - (5)以从帧对比和帧差 异值中获得内容分类度量。
1. 从宏区块对比值中计算平均帧对比和帧对比偏差。
2. 使用从模拟中获得的值(其分别为40和5)来使帧对比和帧差异值标准化。
3. 使用(例如) 一般化等式来计算内容分类度量
CCMetric=CCWl*I—Frame—Contrast—Mean+CCW2*Frame—Difference—Mean— CCW3*I—Contrast—DeviationA2*exp (CCW4*Frame—Difference—DeviationA2) [30]
其中CCW1、 CCW2、 CCW3和CCW4为加权因子。在此实例中,所述值经选择为CCW1为0.2、 CCW2为0.9、 CCW3为0.1且CCW4为-0.00009。
4.确定超帧中场景变化的数目。通常,超帧是指可在特定时段中显示的一组图片或 帧。通常,所述时段为一秒。在一些方面,超帧包含30个帧(用于30/fps视频)。在其 它方面,超帧包含24个帧(24/fps视频)。视场景变化的数目而定,执行下述情况中的 一者。
(a) 无场景变化当超帧中不存在任何场景变化时,度量完全仅取决于如下述等式 中所示的帧差异值
CCMetric=(CCW2+(CCW l/2))*Frame—Difference一Mean-(CCW3-(CCW 1/2))* 1 *
exp (-CCW4承Frame—Difference—Deviation") [31]
(b) 单个场景变化当在超帧中观察到单个场景变化帧时,将使用默认等式来计算 度量,如下所示
CCMetric=CCWl*I—Frame—Contrast—Mean+CCW2*Frame—Difference—Mean— CCW3*I—Contrast—DeviationA2*exp (CCW4*Frame—Difference—DeviationA2) [32]
(c)两个场景变化当观察到给定的超帧中至多存在2个场景变化时,最后的超帧 比第一个被给予更多的权数(因为第一个将由后一个以任何方式快速更新),如下述等式 中所示
CCMetric=0.1 *I—Frame—Contrast—Mean 1+CC W1 *I—Frame—Contrast—Mean2+ (CCW2-0.1)*Frame—Difference一Mean-CCW3承I一Contrast—DeviationlA2 *I_Contrast_Deviation2A2*exp (CCW4*Frame—Difference—DeviationA2) [33]
(d)三个或三个以上场景变化如果观察到给定的超帧具有3个以上I帧(例如N),
那么最后的I帧被给予更多的权数且所有其它I帧被给予0.05的权数,如下述等式中所

CCMetric=0.05*I—Frame—Contrast—Mean (l..n-" +CCW1*
I—Frame—Contrast—Mean (N) +(CCW2- (0.05*(N-l)))*Frame—Difference—Mean-
CCW3*I—Contrast—Deviation (N) A2*I—Contrast—Deviation(i....N.i)A2
*exp (CCW4*Frame—Difference—DeviationA2) [34]5.当帧差异平均值小于0.05时,可在低运动场景的情况下将校正用于度量中。将把 0.33的偏移(CCOFFSET)加到CCMetric中。
内容分类模块712使用D^J直、运动向量和/或绝对差和来确定指示关于宏区块(或 者指定数目的视频数据)的空间复杂性的值。时间复杂性由帧差异度量的量度(两个连 续帧之间的差异,考虑到帧之间的运动量(具有运动向量)和绝对差和)确定的。
在一些方面,内容分类模块712可经配置以产生带宽映射。举例来说,如果预处理 器226不产生带宽映射,那么带宽映射产生可由内容分类模块712执行。
确定纹理值和运动值
对于多媒体数据中的每一宏区块,内容分类模块712将纹理值与空间复杂性相关联 且将运动值与时间复杂性相关联。所述纹理值与多媒体数据的亮度值有关,其中低纹理 值指示数据的相邻像素的亮度值中的较小变化,且高纹理值指示数据的相邻像素的亮度 值中的较大变化。 一旦计算纹理值和运动值,内容分类模块712就通过考虑运动信息与 纹理信息两者来确定内容分类。内容分类模块712将关于正分类的视频数据的纹理与相 对纹理值(例如,"低"纹理、"中"纹理或"高"纹理)相关联,所述相对纹理值通常 指示宏区块的亮度值的复杂性。并且,内容分类模块712将为正分类的视频数据计算的 运动值与相对运动值(例如,"低"运动、"中"运动或"高"运动)相关联,所述相对 运动值通常指示宏区块的运动量。在替代方面,可使用关于运动和纹理的较少或较多种 类。接着,内容分类度量接着通过考虑相关联的纹理值和运动值而确定。
图8说明分类表的一实例,其说明纹理值和运动值如何与内容分类相关联。所属领 域的一般技术人员熟悉多种方法来(例如)在查找表或数据库中实施此分类表。所述分 类表是基于视频数据内容的预定估计产生的。为了确定视频数据分类,使"低"、"中" 或"高"的纹理值(在"x轴"上)与"低"、"中"或"高"的运动值(在"y轴"上) 互相参考。将交叉区块中指示的内容分类指定给视频数据。举例来说,"高"纹理值和"中" 运动值得到分类七(7)。图8说明在此实例中与八个不同的内容分类相关联的相对纹理 值与运动值的各种组合。在一些其它方面,可使用较多或较少的分类。对内容分类的说 明性方面的进一步描述揭示于2006年3月10日申请的题为"Content Classification for Multimedia Processing"的第11/373,577号共同待决美国专利申请案中,所述专利申请案 转让给本受让人且在此以引用的方式明确地并入本文中。
速率控制位分配
如本文所描述,可将多媒体数据内容分类用于编码算法中以有效地改进位管理而同时维持视频的恒定的感知质量。举例来说,可将分类度量用于关于场景变化检测、编码 位速率分配控制和帧速率向上转换(FRUC)的算法中。压缩器/解压縮器(编解码器) 系统和数字信号处理算法普遍用于视频数据通信中且可经配置以保存带宽,但在质量与 带宽保存之间存在折衷。最佳编解码器提供最大的带宽保存而同时产生对视频质量的最 小降级。在一个说明性实例中,速率控制位分配模块714使用内容分类来确定位速率(例如, 经分配以用于为多媒体数据编码的位的数目)且将所述位速率存储到存储器中以供编码 器228的其它处理和组件使用。从视频数据的分类确定的位速率可帮助保存带宽而同时 提供具有一致质量等级的多媒体数据。在一个方面,可将不同的位速率与八个不同内容 分类的每一者相关联且接着将所述位速率用于编码多媒体数据。所得效果是,尽管多媒 体数据的不同内容分类被分配得到不同数目的位以用于编码,但当在显示器上观察时, 感知质量为相似的或一致的。通常,具有较高内容分类的多媒体数据指示较高等级的运动和/或纹理,且在编码时 被分配得到较多的位。具有较低分类(指示较少的纹理和运动)的多媒体数据被分配得 到较少的位。对于具有特定内容分类的多媒体数据,位速率可基于关于观察多媒体数据 的选定目标感知质量等级来确定。确定多媒体数据质量可由人类观察多媒体数据且将多 媒体数据分级来确定。在一些替代方面,使用(例如)信噪比算法等自动测试系统来对 多媒体数据质量作出估计。在一个方面,预定一组标准质量等级(例如,五个)和实现 每一特定质量等级所需的相应位速率,以用于具有每一内容分类的多媒体数据。为了确 定一组质量等级,可通过产生平均意见分数(MOS)来对具有特定内容分类的多媒体数 据进行评估,所述MOS在多媒体数据使用某个位速率编码时提供所述多媒体数据的视觉 感知质量的数值指示。可将所述MOS表达为在1到5的范围内的单数字,其中l是最低 感知质量且5是最高感知质量。在其它方面,所述MOS可具有多于五个或者少于五个的 质量等级,且可使用对每一质量等级的不同描述。确定多媒体数据质量可由人类观察多媒体数据且将多媒体数据分级来确定。在一些 替代方面,使用(例如)信噪比算法等自动测试系统来对多媒体数据质量作出估计。在 一个方面,预定一组标准质量等级(例如,五个)和实现每一特定质量等级一所需的相 应位速率,以用于具有每一内容分类的多媒体数据。可通过选择目标(例如,所需)质量等级来确定视觉感知质量等级与关于具有某个 内容分类的多媒体数据的位速率之间的关系。用来确定位速率的目标质量等级可预选,由用户选择、通过自动处理或半自动处理(需要来自用户或来自另一处理的输入)选择、 或者由编码装置或系统基于预定标准来动态地选择。可基于(例如)编码应用的类型或 者将接收多媒体数据的客户端装置的类型来选择目标质量等级。在图7中所说明的实例中,速率控制位分配模块714接收来自内容分类模块712的 数据与直接来自预处理器226的元数据两者。速率控制位分配模块714驻留于编码器228 的第一遍部分中,且速率控制微调模块738驻留于第二遍部分706中。此两遍速率控制 方面经配置以使得第一遍(速率控制位分配模块714)用一个超帧预测来执行情境适应 性位分配(例如,以256 kbps的长期平均位速率为目标)且限制峰值速率,且第二遍(速 率控制微调模块738)为两层可縮放性改进第一遍结果且执行速率适应。速率控制在四 个等级上操作(1) GOP等级-将I帧、P帧、B帧和F帧在GOP内的位分配控制为非均 匀的;(2)超帧等级将硬限制控制于最大超帧尺寸上;(3)帧等级-根据多媒体数据帧 的空间和时间复杂性来控制位需求,其基于内容信息(例如,内容分类);和(4)宏区 块等级-基于空间和时间复杂性映射来控制宏区块的位分配,其基于内容信息(例如,内 容分类)。图10中说明速率控制模块714的操作的示范性流程图。如图10中所示,处理1000 在输入(1002)区块处开始。速率控制模块714接收各种输入,图7并非必要说明所有 的输入。举例来说,输入信息可包括来自预处理器226的元数据、目标位速率、编码器 缓冲器尺寸(或者,作为等效物,关于速率控制的最大延迟时间)、初始速率控制延迟和 帧速率信息。进一步输入信息可包括图片组(GOP)等级处的输入,其包括(例如)最 大超帧尺寸、GOP的长度和P/B帧分配(包括场景变化信息)、所需基础层和增强层的安 排、关于GOP中未来30个帧的图片的复杂性-失真度量。其它输入信息包括图片等级处 的输入,其包括关于当前图片(从内容分类模块712接收)的复杂性-失真映射、量化参 数(QP)和过去30个帧(配合于滑动窗口上)的位分解。最后,宏区块(MB)等级处 的输入信息包括(例如)参考图片中配置宏区块(MB)的平均绝对差(MAD)和宏区 块在量化后(无论是否被跳过)的经编码区块图案(CBP)。在区块1002处输入之后,处理IOOO进行到区块1004以执行用于编码位流的初始化。 同时,执行缓冲器初始化1006。接着,如区块1008中所示初始化GOP,其中GOP位分 配IOIO被接收作为初始化的一部分。在GOP初始化之后,流程进行到区块1012,其中 初始化一切片。此初始化包括如区块1014所示对标头位的更新。在执行区块1004、 1008 和1012的初始化之后,如区块1016所示执行对基本单位或宏区块(MB)的速率控制(RC)。作为区块1016中宏区块的速率控制确定的一部分,经由编码器228中的界面接 收输入。这些输入可包括宏区块(MB)位分配1018、 二次模型参数的更新1020和与中 位数的中位数绝对差("MAD",分散的稳健估计值)参数的更新1022。接着处理1000 进行到区块1024,其用于在编码一个图片之后执行操作(1024)。此程序包括如区块1026 所示接收缓冲器参数的更新。处理1000接着进行到输出区块1028,其中速率控制模块 714输出由图7所示的模式决策模块715使用的关于每一宏区块MB的量化参数QP。 运动估计运动估计模块720接收来自预处理器226的元数据和原始视频的输入且将可包括区 块尺寸、运动向量、失真度量和参考帧识别符的输出提供到模式决策模块715。图ll说 明运动估计模块720的示范性操作。如图所示,处理1100以输入1102开始。在帧级时, 模块720接收参考帧ID和运动向量的输入。在宏区块级时,输入1102包括输入像素和 参考帧像素。处理1100继续到步骤1104,其中执行颜色运动估计(ME)和运动向量预 测。为了实行此处理,接收各种输入,其包括MPEG-2运动向量和明度运动向量(MV) 1106、运动向量平滑化U08和非因果运动向量1110。接着,处理IIOO进行到区块1112, 其中执行运动向量搜索算法或方法,例如六角形或菱形搜索方法。区块1112处的处理的 输入可包括如区块1114所示的绝对差和(SAD)、平方差和(SSD)和/或其它度量。一 旦执行运动向量搜索,处理1100就进行到在其中执行终止处理的终止区块1116。处理 UOO接着在输出区块1118处结束,其产生区块尺寸、运动向量(MV)、失真度量和参考 帧识别符的输出。关于基础层和增强层的可縮放性R-D图13说明可缩放性处理1300的示范性流程图,其中所述可縮放性处理1300可由可 縮放性R-D模块718执行。处理1300从开始区块1302开始且进行到区块1304,可縮放 性R-D模块718在区块1304处接收来自运动估计模块720的输入且执行运动估计。运动 估计依赖于基础层参考帧、增强层参考帧和待经编码的原始帧(如区块1306所指示)的 输入。此类信息可由GOP分割器612计算且经由(例如)元数据传达到可缩放性R-D模 块718。处理1300进行到区块1308以确定基础层数据和增强层数据的可缩放性信息。 如区块1310所示接着执行基础层编码,随后在区块1312中编码增强层。如区块1314所 示,增强层的编码可将用于层间预测的基础层编码结果用作输入,因此其在时间上在基 础层编码之后执行。这在题为"SCALABLE VIDEO CODING WITH TWO LAYER ENCODING AND SINGLE LAYER DECODING"的第[代理人案号/参考编号050078]号共同待决美国专利申请案中进一步描述。在编码完成之后,处理1300在区块1316处结束。 切片/宏区块定序第一遍部分702还包括切片/宏区块定序模块722,所述切片/宏区块定序模块722在 第二遍部分中接收来自错误复原模块740的输入且将切片对准信息提供到模式决策模块 715。切片为单独可解码的(熵解码)经编码视频数据的组块。存取单元(AU)为经编 码视频帧,每一者包含一组总是正好含有一个基本编码图片的NAL单元。除基本编码图 片外,存取单元还可含有一个或一个以上冗余编码图片或其它不含有经编码图片的多个 切片或切片数据分区的NAL单元。存取单元的解码总是导致经解码图片。帧可以是提供最高时间分集的物理层包(被称作TDM容器(TDM capsule))的时分 多路复用区块。超帧对应于一个时间单元(例如,1秒)且含有四个帧。在时域中使切 片和AU边界相对于帧边界对准产生损坏数据的最有效分隔和局部化。在严重衰减期间, TDM容器中的大部分邻近数据受错误影响。由于时间分集的缘故,剩余TDM容器具有 不受影响的较高可能性。可利用未损坏的数据来恢复和隐藏来自受影响的TDM容器的丢 失数据。相似的逻辑应用于频域多路复用(FDM),其中频率分集通过数据符号调制的频 率副载波中的分隔来获得。此外,相似的逻辑应用于空间的(通过发射器和接收器天线 中的分隔)和其它形式的分集(常被应用于无线网络中)。为了使切片和AU相对于帧对准,外码(FEC)码块建立和MAC层封装也应对准。 图20说明切片和AU中经编码视频数据或视频位流的组织。经编码视频可构成于一个或 一个以上位流(例如,应用分层视频编码的基础层位流和增强层位流)中。视频位流包含如图20中由帧1' 2005、帧3' 2010和帧M' 2015说明的AU。 AU包含 如由切片1 2020、切片2 2025和切片N 2030所说明的数据切片。切片的每一开始由起 动码识别且提供网络适应。总体来说,I帧或帧内编码AU为较大的,其次为P帧或正向 预测帧,之后为B帧。就编码位速率来说,将AU编码为多个切片造成显著的额外开销 成本,因为切片上的空间预测为有限的且切片标头也增加额外开销。因为切片边界为再 同步点,所以使邻近物理层包限于切片会控制错误,这是由于当PLP被破坏时,错误被 限于所述PLP中的切片中,然而如果所述PLP含有多个切片或多个切片的部分,那么错 误将对所述PLP中所有切片或切片的部分产生影响。由于I帧通常较大(例如,大约为数万位),所以由于多个切片产生的额外开销并不 占总I帧尺寸或总位速率的较大比例。并且,在帧内编码AU中具有更多的切片实现更 好且更频繁的再同步和更有效的空间错误隐藏。并且,由于P帧和B帧由I帧预测,所以I帧在视频位流中载运最重要的信息。I帧还用作用于信道获取的随机存取点。现参看图21,仔细地相对于帧边界来对准I帧且还相对于帧边界来对准具有IAU的 切片,会实现最有效的错误控制、错误保护(由于如果属于帧1 2105的一个切片丢失, 那么属于帧2 2110的切片具有不受影响的较高可能性,因为帧2 2110与帧1 2105之间具 有显著的时间分隔,错误恢复可通过再同步和错误隐藏来执行)。因为P帧通常具有大约数千位的尺寸,所以相对于帧边界来对准P帧和整数个P帧 的切片实现在无效率的不利损耗的情况下的错误复原(与关于I帧的理由相似)。可在此 类方面中使用时间错误隐藏。或者,散布连续P帧以使得其到达不同的帧中在P帧之间 提供附加的时间分集,这可能是因为时间隐藏基于来自先前重建的I帧或P帧的运动向 量和数据。B帧可以是极小(数百位)到中等大(仅几千位)。因此,需要相对于帧边界 来对准整数个B帧以实现在无效率的不利损耗的情况下的错误复原。 模式决策模块图12说明模式决策模块715的操作的一些实例。如图所示,处理1200在输入区块 1202处开始。在一个说明性实例中,输入到模式决策模块715的各种信息包括切片类 型、帧内4x4成本、帧内16x16成本、帧内UV8x8成本、帧内Y 16x16模式、帧内UV 模式、运动向量数据(MVD)、量化参数(QP)、 SpPredMB4x4Y、 SpPredMB16xl6Y、 SpPredMB8x8U、 SpPredMB8x8V、速率失真旗标、原始YMB像素、原始UMB像素和 原始VMB像素。处理1200接着进行到区块1204来编码初始化,其可由输入信号或如区 块1206所指示的界面导引编码器初始化启动。所述初始化可包括设定容许模式(包括跳 过、直接)、设定模式权数(视需要,对于所有模式默认值将为相等权数)和设定缓冲器。 在初始化之后,处理1200进行到区块1208,在所述区块1208中执行关于模式决策的主 要处理,其包括为每一容许模式计算宏区块(MB)模式成本、用加权因子来为每一 MB模式成本加权,和选择最少MB模式成本模式。与这些操作有关的输入包括如区块 1210和1212所说明的运动估计(例如,MVD和预测)和空间预测(例如,所有的帧内 成本和预测)。与模式决策模块715介接的为区块1214中的(尤其)改进压縮速率的熵 编码。处理1200接着进行到区块1216,在区块1216中缓冲器经更新以将信息传递到编 码器第二遍部分706。最后,处理1200进行到区块1218,在区块1218中可将"最佳" 编码模式传达到编码器第二遍部分706。编码器第二遍部分再次参看图7,编码器228的第二遍部分706包括用于执行第二遍编码的第二遍编码器模块232。第二遍编码器232接收来自模式决策模块715的输出。第二遍编码器232 包括MC/变换量化模块726和Z字形(ZZ) /熵编码器728。第二遍编码器232的结果被 输出到可縮放性模块730和位流包装模块731,所述位流包装模块731输出经编码基础 层和增强层以便由转码器200经由同步层240 (图2中所说明)传输。如图2所示,应 注意,来自第二遍编码器232和再编码器234的基础层和增强层由同步层240组合为包 括基础层和增强层的分包PES 242、数据PES 244 (例如,CC和其它文本数据)和音频 PES 246。应注意,音频编码器236接收经解码音频信息218且又编码所述信息且将所述 经编码信息238输出到同步层240。 再编码器再次参看图7,编码器第二遍部分706还包括再编码器234 (其对应于图2中的再编 码器234)。再编码器234还接收第一遍部分702的输出且包括MC/变换量化726和ZZ/ 熵编码728部分。此外,可缩放性模块730输出到再编码器234。再编码器234将由于 再编码而合成的基础层和增强层输出到位流包装模块731以便传输到同步器(例如,图 2中所示的同步层240)。图7中的编码器228实例还包括速率控制微调模块738,所述 速率控制微调模块738将位流包装反馈提供到第二遍编码器232中的MC/变换量化模块 234且提供到再编码器234中的ZZ/熵模块736两者,从而帮助调谐第二遍编码(例如, 增加压缩效率)。错误复原模块图7中所说明的编码器228实例还包括在第二遍部分706中的错误复原模块740。 错误复原模块740与位流包装模块731和切片/MB定序模块722通信。错误复原模块740 接收来自预处理器228的元数据且选择错误复原方案(例如,使切片和存取单元相对于 帧边界对准)、预测层级和采用的帧内刷新。错误复原方案的选择可基于元数据中所接收 的信息或者从位流包装模块731和切片/MB定序模块722传达到错误复原模块的信息。 错误复原模块740将信息提供到第一遍部分702的切片/宏区块(MB)定序模块中以实 施所选择的错误复原处理。经由易出错环境的视频传输可使用错误复原策略和算法,所 述错误复原策略和算法可导致为观察的用户呈现较清楚的且具有较少错误的数据。下文 中的错误复原描述可应用于现有应用或未来应用(传送层和物理层或其它技术)的任何 个别者或组合。有效的抗错稳健性算法将对OSI层之间的错误敏感度性质和错误保护能 力的理解与通信系统的所需性质(例如低等待时间和高处理量)结合。错误复原处理可 基于多媒体数据的内容信息,例如,基于所述多媒体数据的内容分类。主要优点之一是从衰减和多路径信道错误的可恢复性。下文中所描述的错误复原方法尤其涉及可被并入 在编码器228中(例如,尤其并入在错误复原模块740和切片/MB定序模块722中)的 处理,且一般可扩展到易出错环境中的数据通信。 错误复原对于基于预测的混合压缩系统,帧内编码帧在无任何时间预测的情况下独立编码。 可依据过去帧(P帧)和未来帧(B帧)而在时间上预测帧间编码帧。可通过参考帧(一 个或一个以上)中的搜索处理来识别最佳预测子,且使用失真量度(例如SAD)来识别 最佳匹配。当前帧的预测编码区可以是具有变化的尺寸和形状(16x16、 32x32、 8x4等) 的区块,或者通过(例如)分段而被识别为对象的一组像素。时间预测通常用于许多帧(例如,IO个到数IO个帧)上且其在帧被编码为I帧时终 止,GOP通常由I帧频率界定。为了实现最大编码效率,GOP为场景,例如GOP边界 与场景边界对准且场景变化帧被编码为I帧。低运动序列中包含相对静态的背景且运动 通常限于前景对象。此类低运动序列的内容的实例包括新闻和天气预报节目,其中大部 分观看内容的30%以上具有此性质。在低运动序列中,大多数区域经帧间编码,且预测 帧经由中间预测帧来回头参考I帧。参看图22, I帧中的帧内编码区块2205为用于经编码帧(或AU) Pl中的帧间编码 区块2215的预测子。在此实例中,这些区块的区域为背景的静态部分。通过连续的时间 预测,帧内编码区块2205对错误的敏感度上升,因为其为"良好的"预测子,这也意味 着其"重要性"较高。此外,帧内编码区块2205依靠此时间预测链(称作预测链)而在 显示器中持续较长的时间(历时该图的实例中的场景的持续时间)。预测层级被界定为基于此重要性等级或持续性量度而建立的区块的树,其中父 (parent)在顶部(帧内编码区块2205)且子(children)在底部。注意,Pl中的帧间编 码区块2215在所述层级的第二等级上,等等。叶为终止预测链的区块。预测层级可关于视频序列而建立而不管内容类型(例如音乐以及体育而不仅仅是新 闻)如何,且预测层级一般可应用于基于预测的视频(和数据)压縮(此应用于本申请 案中所描述的所有方面)。 一旦建立所述预测层级,就可更有效地应用错误复原算法(例 如下文中所描述的适应性帧内刷新)。重要性量度可基于给定区块从错误中的可恢复性, 例如通过隐藏操作和应用适应性帧内刷新来增强经编码位流从错误的复原。重要性量度 的估计值可基于区块被用作预测子的次数(也称作持续性度量)。持续性度量还被用于通 过抑制预测错误传播而改进编码效率。持续性度量还增加关于具有较高重要性的区块的位分配。适应性帧内刷新适应性帧内刷新是可基于多媒体数据的内容信息的错误复原技术。在帧内刷新处理 中, 一些MB经帧内编码,即使标准R-D优化将规定其应为帧间编码MB仍如此。AIR 使用运动加权帧内刷新来在P帧或B帧中引入帧内编码MB 。包含在基础层中的这些帧 内编码MB可以QPb或QPe来编码。如果QPe被用于基础层,那么应在增强层处不进行 任何改进。如果QPb被用于基础层,那么改进可能是适当的,否则质量在增强层处的下 降将较为显著。由于从编码效率的意义上说,帧间编码要比帧内编码更有效,所以在增 强层处的这些改进将经帧间编码。以此方式,基础层系数将不用于增强层,且增强层处 的质量在不引入新操作的情况下得以改进。在一些方面,适应性帧内刷新可基于多媒体数据的内容信息(例如,内容分类)而 非运动加权基础,或基于内容信息和所述运动加权基础。举例来说,如果所述内容分类 为相对较高(例如,具有较高的空间和时间复杂性的场景),那么适应性帧内刷新可将相 对较多的帧内编码MB引入到P帧或B帧中。或者,如果所述内容信息为相对较低(指 示具有较低的空间和/或时间复杂性的较少动态的场景),那么适应性帧内刷新可将较少 的帧内编码MB引入到P帧和B帧中。可将用于改进错误复原的此类度量和方法不仅应 用于无线多媒体通信的情境中而且大体应用于数据压縮和多媒体处理(例如,图形渲染 中)。信道交换帧如本文中所界定的信道交换帧(CSF)是广义的术语,其描述插入在广播流中的适 当位置处的随机存取帧以用于快速信道获取且因此用于在广播多路复用中的流之间的快 速信道变化。信道交换帧还增加抗错稳健性,因为其提供当主帧在具有错误的情况下被 传输时可使用的冗余数据。I帧或循序I帧(例如H.264中的循序解码器刷新帧)通常起 随机存取点的作用。然而,频繁I帧(或者短GOP,短于场景持续时间)导致压縮效率 显著降低。由于帧内编码区块可被要求用于错误复原,所以可通过预测层级来将随机存 取与错误复原有效地组合以改进编码效率同时增加抗错稳健性。随机存取交换和抗错稳健性的改进可共同实现,且可基于例如内容分类等内容信息。 对于低运动序列,预测链较长且重建超帧或场景所需的信息的较大部分包含于出现于所 述场景的开始处的I帧中。信道错误倾向于为突发性的且当衰减侵袭且FEC和信道编码 失效时,存在隐藏失效的巨大残余误差。因为经编码数据的数目并非足够显著以在视频位流内提供良好时间分集且因为这些经编码数据是使得每一位可用于重建的高度可压縮 的序列,所以这对于低运动(且因此低位速率)序列尤其严重。归因于内容的性质,高 运动序列为更抗错误的-每一帧中较多的新信息增加可独立解码且本质上较易从错误中 恢复的帧内编码区块的数目。基于预测层级的适应性帧内刷新实现高运动序列的高性能 且性能改进对于低运动序列不显著。因此,含有大部分I帧的信道交换帧是用于低运动 序列的分集的良好来源。当错误侵袭超帧时,连续帧中的解码从CSF开始,所述CSF由 于实现预测和错误复原而恢复丢失的信息。在高运动序列(例如具有相对较高内容分类(例如,6-8)的序列)的情况下,CSF 可由持续于SF中的区块(为良好预测子)组成。所述CSF的所有其它区域不需要被编 码,因为这些区域是具有短预测链(这意味着其以帧内区块终止)的区块。因此,当错 误出现时,CSF仍由于预测而起到从丢失信息恢复的作用。用于低运动序列的CSF与I 帧的尺寸相等,且其可通过较大的量化来以较低的位速率编码,其中用于高运动序列的 CSF要比相应的I帧小得多。基于预测层级的错误复原可很好地与可縮放性合作且可实现高度有效的分层编码。 用以在物理层技术中支持层级式调制的可縮放性可要求具有特定带宽比率的视频位流的 数据分割。这些比率可能不总是用于最佳可缩放性的理想比率(例如,具有最少的额外 开销)。在一些方面,使用具有l:l带宽比率的2-层可缩放性。将视频位流分割为两个具 有相等尺寸的层对于低运动序列可能并非同样有效。对于低运动序列,含有所有标头和 元数据信息的基础层要比增强层大。然而,由于用于低运动序列的CSF较大,所以其很 好地适应增强层中的剩余带宽。高运动序列具有足够的残余信息,使得可以最少的额外开销来实现数据分割到1:1。 此外,用于此类序列的信道交换帧比用于高运动序列的帧要小得多。因此,基于预测层 级的错误复原也可与用于高运动序列的可缩放性很好地合作。基于对这些算法的描述可 能将上文中所讨论的概念扩展用于中等运动剪辑,且所提出的概念大体应用于视频编码。多路复用器在一些编码器方面,多路复用器可用于对编码器所产生的多个多媒体流进行编码且 用于准备将经编码位用于广播。举例来说,在图2中所示的编码器228的说明性方面, 同步层240包含多路复用器。可实施所述多路复用器来提供位速率分配控制。估计的复 杂性可被提供到所述多路复用器,所述多路复用器接着可根据针对多路复用视频信道所 预期的编码复杂性来将可用带宽分配用于那些视频信道的集合,其接着允许特定信道的质量保持相对恒定(即使用于多路复用视频流的集合的带宽相对恒定)。这在信道的集合 内提供具有可变的位速率和相对恒定的视觉质量的信道,而非具有相对恒定的位速率和 可变的视觉质量的信道。图18是说明编码多个多媒体流或信道1802的系统的框图。多媒体流1802由各自的 编码器1804编码,所述编码器1804与多路复用器(MUX) 1806通信,所述多路复用器 1806接着与传输媒体1808通信。举例来说,多媒体流1802可对应于各种内容信道,例 如新闻信道、体育信道、电影信道等等。编码器1804将多媒体流1802编码为规定用于 所述系统的编码格式。尽管在编码视频流的情境中描述,但所揭示的技术的原理和优点 通常可应用于包括(例如)音频流的多媒体流。经编码多媒体流被提供到多路复用器1806, 所述多路复用器1806将各种经编码多媒体流组合且将所述组合流发送到传输媒体1808 以便传输。传输媒体1808可对应于各种媒体,例如(但不限于)数字卫星通信(例如DirecTV⑧)、 数字电缆、有线和无线因特网通信、光学网络、手机网络等等。传输媒体1808可包括(例 如)对射频(RF)的调制。通常,由于光谱抑制等原因,传输媒体具有有限的带宽且从 多路复用器1806到传输媒体的数据维持在相对恒定的位速率(CBR)。在常规系统中,恒定位速率(CBR)在多路复用器1806的输出处的使用可要求被输 入到多路复用器1806的经编码多媒体或视频流也为CBR。如在背景中所描述,当编码视 频内容时,CBR的使用可导致通常不良的可变视觉质量。在所说明的系统中,编码器1804的两者或两者以上传达输入数据的预期编码复杂 性。编码器1804的一者或一者以上可接收作为响应来自多路复用器1806的适应位速率 控制。这允许希望对相对复杂的视频进行编码的编码器1804以准可变位速率方式接收用 于那些视频帧的较高的位速率或较高的带宽(每一帧较多位)。这允许以一致的视觉质量 来编码多媒体流1802。由对相对复杂的视频进行编码的特定编码器1804所用的额外带 宽来自原本如果所述编码器经实施以恒定的位速率操作那么将用于对其它视频流1804 进行编码的位。这维持多路复用器1806以恒定位速率(CBR)输出。尽管个别多媒体流1802可以是相对"突发性的"(即,使用带宽改变),但多个视频 流的累积和可能不太具有突发性。来自对较不复杂的视频进行编码的信道的位速率可由 (例如)多路复用器1806重分配到对相对复杂的视频进行编码的信道,且这可在总体上 提高组合视频流的视觉质量。编码器1804为多路复用器1806提供对一组待编码和一起多路复用的视频帧的复杂性的指示。多路复用器1806的输出应提供不高于规定用于传输媒体1808的位速率的输 出。对复杂性的指示可基于内容分类(如上文中所讨论)以提供所选择的质量等级。多 路复用器1806分析复杂性的指示且为各种编码器1004提供所分配数目的位或带宽,且 编码器1804使用此信息来对所述组中的视频帧进行编码。这允许一组视频帧个别地具有 可变位速率,且仍作为一组而实现恒定的位速率。内容分类还大体可用于任何通用压缩器来实现多媒体的基于质量的压缩。此处所描 述的内容分类和方法及装置可用于任何多媒体数据的基于质量的和/或基于内容的多媒 体处理中。 一个实例为其大体在对于任何通用压缩器的多媒体的压縮中的使用。另一实 例为其在任何解压縮器或解码器或后处理器中用于解压缩或解码,例如内插、重取样、增强、复原和演示操作。现参看图19,典型的视频通信系统包括由视频编码器和视频解码器组成的视频压缩 系统,所述视频编码器和所述视频解码器由通信网络连接。无线网络是一种易出错的网 络,其中通信信道除路径损耗外还表现出在移动情节中的对数常态衰减或遮蔽和多路径 衰减。为了防止信道错误且提供关于应用层数据的可靠通信,RF调制器包括正向错误校 正,所述正向校正包括交错器和信道编码(例如巻积或涡轮编码)。视频压縮降低源视频中的冗余且增加经编码视频数据的每一位中所载运的信息的 量。甚至当经编码信息的一小部分丢失时,这仍增加对质量的影响。视频压縮系统中所固有的空间和时间预测加剧丢失且导致错误传播,从而导致重建视频中的可见假影。视 频编码器处的错误复原算法和视频解码器处的错误恢复算法增强视频压縮系统的抗错稳健性。通常,视频压縮系统不能确定基本网络。然而,在易出错网络中,将应用层中的错 误保护算法与链路/物理层中的FEC和信道编码结合或对准非常合乎需要,且在增强系统 的错误性能方面提供最多的效率。图14说明可出现于编码器228中用以编码帧的速率失真数据流的一个实例。处理 1400在开始1402处开始且进行到决策区块1404,在决策区块1404中其从预处理器226 接收场景变化检测器输入1410 (例如,经由元数据)且获取错误复原输入1406。如果信 息指示选定帧为I帧,那么所述处理对所述帧进行帧内编码。如果信息指示选定帧为P 或B帧,那么所述处理使用帧内编码和运动估计(帧间)编码来编码所述帧。在对于区块1404的情况出现肯定情况之后,处理1400进行到准备区块1414,在准 备区块1414中将速率R设定为值I^Rqual,即基于R-D曲线的所要目标质量。此设定值是从包含R-D曲线的数据区块1416接收的。处理1400接着从进行到区块1418,在区块 1418中基于来自内容分类处理(在区块1420处)的图像/视频活动信息(例如,内容分 类)执行速率控制位分配(QpU。速率控制位分配区块M18接着用于区块1422中的运动估计。运动估计1422还可接 收下述输入来自预处理器的元数据(1412)、来自区块1424的运动向量平滑化(^/^£0-2+ 历史)和来自区块1426的多个参考帧(因果+非因果宏区块MB)。处理1400接着进行 到区块1428,在区块1428中针对速率控制位分配(Qpi)确定用于帧内编码模式的速率 计算。处理1400接着进行到区块1430,在区块1430中确定模式和量化参数。区块1430 的模式决策是基于区块1422输入的运动估计、错误复原1406输入和可縮放性R-D (在 区块1432处确定)作出的。 一旦确定模式,流程就进行到区块1432。应注意,从区块 1430到1432的流程在数据从编码器的第一遍部分被传递到第二遍部分时发生。在区块1432处,变换和量化由编码器228的第二遍部分执行。如以区块1444所指 示,变换/量化处理经调整或者微调。此变换/量化处理可受速率控制微调模块(图7)影 响。处理1400接着进行到区块1434以便Z形分类和熵编码来产生经编码基础层。Z形 分类使量化数据处于用于编码的有效格式中。熵编码是使用一连串的位码来表示一组可 能符号的压縮技术。变换/量化区块1432的增强层结果还发送到加法器1436,所述加法 器1436将所述基础层减去且将结果发送到用于增强层的ZZ/熵编码器1438,如先前参看 图31-36所描述。进一步注意,所述增强层经反馈(参看线1440真实速率更新)以便更 新具有真实速率的内容分类1420和由速率控制用来确定位速率的长期和短期历史的操 作。图17是多媒体编码系统的高级框图。所述多媒体编码系统包括用于接收多媒体数据 的装置,如由用于接收多媒体数据的模块1705所说明。此类装置可包含(例如)转码器、 编码器、预处理器、经配置以接收多媒体数据的处理器、接收器。更明确地说,接收装 置可包含本文中所描述的用以接收多媒体数据的组件和模块,在各种实例中,其包括转 码器200。所述编码系统还包含用于编码多媒体数据的装置,如由用于对多媒体数据进 行编码的模块1710所说明。此类编码装置1710可包含转码器200、编码器228或预处 理器226。图23、图24、图27和图28是例示编码多媒体数据的方法的程序流程图,其实施本 文中所描述的方面。图23是说明基于内容信息编码多媒体数据的处理2300的程序流程 图。在区块2305处,处理2300接收经编码多媒体数据,且在区块2310处,处理2300解码所述多媒体数据。在区块2315处,处理2300确定与经解码多媒体数据相关联的内 容信息。在区块2320处,处理2300基于所述内容信息来编码所述多媒体数据。图24是说明编码多媒体数据以便基于内容信息等级来对准数据边界的处理2400的 程序流程图。在区块2405处,处理2400获得与多媒体数据相关联的内容信息,其可由 (例如)图7中所示的预处理器226或内容分类模块712执行。在区块2410处,处理2400 编码所述多媒体数据以便基于内容信息来对准数据边界。举例来说,基于正经编码的多 媒体数据的内容分类来使切片边界和存取单元边界与帧边界对准。经编码数据接着可用 于随后处理和/或传输到移动装置,且处理2400结束。图27是说明用于基于内容信息使用适应性帧内刷新方案来编码数据的处理2700的 程序流程图。当处理2700开始时,已获得多媒体数据。在区块2705处,处理2700获得 多媒体数据的内容信息。所述内容信息的获得可由(例如)如上文中所描述的预处理器 226或内容分类模块712执行。处理2700进行到区块2710,在区块2710中其使用适应 性帧内刷新错误复原方案来编码多媒体数据,其中所述适应性帧内刷新编码复原方案基 于所述内容信息。区块2710的功能性可由编码器228执行。经编码数据可用于随后的处 理和传输,且接着处理2700结束。图28是说明基于多媒体内容信息使用冗余I帧来编码多媒体数据的处理的程序流程 图。当处理2800开始时,多媒体数据可用于处理。在区块2805处,处理2800获得所述 多媒体数据的内容信息。如上文中所描述,这可由(例如)预处理器226和/或编码器228 执行。在区块2810处,处理2800编码所述多媒体数据以便基于所述内容信息来将一个 或一个以上额外I帧插入到经编码数据中。这可由编码器228 (如上文中所描述)结合错 误复原方案来执行,将I帧插入到基础层还是增强层中取决于所使用的错误复原方案。 在区块2810之后,经编码数据可用于随后的处理和/或传输到移动装置。应注意,本文中所描述的方法可在所属领域的一般技术人员已知的各种通信硬件、 处理器和系统上实施。举例来说,对于使客户端如本文中所描述的那样操作的总需求为 客户端具有用于显示内容和信息的显示器、用于控制所述客户端的操作的处理器,和用于存储与所述客户端的操作有关的数据和程序的存储器。在一个方面,客户端是蜂窝式 电话。在另一方面,客户端是具有通信能力的手提式计算机。在又一方面,客户端是具 有通信能力的个人计算机。此外,例如GPS接收器等硬件可并入在客户端中来实施各个 方面。结合本文所揭示的各方面而描述的各种说明性逻辑、逻辑区块、模块和电路可用 通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、场可编程门阵列(FPGA)62或其它可编程逻辑装置、离散门或晶体管逻辑、离散硬件组件或经设计以执行本文所描 述的功能的其任何组合来实施或执行。通用处理器可以是微处理器,但在替代实施例中, 处理器可以是任何常规处理器、控制器、微控制器或状态机。处理器也可实施为计算装 置的组合,例如DSP与微处理器的组合、多个微处理器、结合DSP核心的一个或一个以 上微处理器,或任何其它此类配置。结合本文所揭示的各方面而描述的各种说明性逻辑、逻辑区块、模块和电路可用通 用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、场可编程门阵列(FPGA) 或其它可编程逻辑装置、离散门或晶体管逻辑、离散硬件组件或经设计以执行本文所描 述的功能的其任何组合来实施或执行。通用处理器可以是微处理器,但在替代实施例中, 处理器可以是任何常规处理器、控制器、微控制器或状态机。处理器也可实施为计算装 置的组合,例如DSP与微处理器的组合、多个微处理器、结合DSP核心的一个或一个以 上微处理器,或任何其它此类配置。所揭示的方法和设备将以一种格式编码的视频数据转码为以另一格式编码的视频数 据,其中编码基于所述视频数据的内容且编码可实现错误复原。结合本文中所揭示的实 例而描述的方法或算法可直接实施于硬件中、由处理器执行的软件模块中、固件中,或 者这些中的两者或两者以上的组合中。软件模块可驻留于RAM存储器、快闪存储器、 ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移除磁盘、CD-ROM 或此项技术中己知的任何其它形式的存储媒体中。示范性存储媒体耦合到处理器以使得 所述处理器可从所述存储媒体读取信息且将信息写入到所述存储媒体。在替代实施例中, 存储媒体可与处理器成一体式。处理器和存储媒体可驻留于ASIC中。所述ASIC可驻留 于用户终端中。在替代实施例中,处理器和存储媒体可作为离散组件驻留于用户终端中。上文所描述的实例仅为示范性的且所属领域的技术人员现可在不偏离本文所揭示的 发明概念的情况下充分利用上文描述的实例和偏离上文描述的实例。所属领域的技术人 员将容易了解对这些实例的各种修改,且在不偏离本文所描述的新颖方面的精神或范围 的情况下,本文所界定的一般原理可应用于其它实例,例如应用于瞬时消息收发服务或 任何一般无线数据通信应用中。因此,本文的范围不希望限于本文所示的实例,而是应 符合与本文所揭示的原理和新颖特性一致的最广泛范围。本文中专门使用词语"示范性"来表示"用作实例、例子或说明"。不必将本文中描述为"示范性"的任何实例理解为与 其它实例相比优选或较有利。因此,本文所描述的新颖方面将仅由所附权利要求书的范 围界定。
权利要求
1. 一种处理多媒体数据的方法,其包含接收多媒体数据;以及基于所述多媒体数据的内容将所述多媒体数据编码为第一数据组和第二数据组, 所述第一数据组被配置为可独立于所述第二数据组来解码,且其中所述第一和第二 数据组以不同的质量等级编码。
2. 根据权利要求1所述的方法,其中所述第一数据组包含I帧和P帧,且其中所述第 二数据组包含I帧、P帧和B帧。
3. 根据权利要求1所述的方法,其中所述第一数据组包含基础层且所述第二数据组包 含增强层。
4. 根据权利要求1所述的方法,其进一步包含将所述多媒体数据的所述内容分类,且 其中所述编码基于所述内容分类。
5. 根据权利要求4所述的方法,其中所述编码包含确定所述多媒体数据的用于编码所 述第一数据组的第一量化参数以及确定用于编码所述第二数据组的第二量化参数,其中所述第一和第二量化参数的所述确定基于所述内容分类。
6. 根据权利要求4所述的方法,其中所述编码包含基于所述内容分类来为所述多媒体 数据的至少一部分分配位速率。
7. 根据权利要求4所述的方法,其中所述编码进一步包含.-使用所述内容分类来检测场景变化;以及基于所述检测到的场景变化来确定是否将I帧包括于所述第一数据组和所述第二 数据组中。
8. 根据权利要求4所述的方法,其中所述编码进一步包含基于所述内容分类来确定用 于编码所述多媒体数据的帧速率。
9. 根据权利要求4所述的方法,其中所述编码包含基于所述内容分类来执行所述多媒 体数据的运动估计。
10. 根据权利要求4所述的方法,其进一步包含确定用于编码所述第一数据组的第一帧 速率以及确定用于编码所述第二数据组的第二帧速率,其中所述第一帧速率小于所述第二帧速率。
11. 根据权利要求4所述的方法,其中所述编码包含基于所述内容分类对所述多媒体数 据执行错误复原处理。
12. 根据权利要求4所述的方法,其中所述编码包含编码所述第一数据组和所述第二数 据组,使得如果所述第二数据组不可用,那么可解码所述第一数据组以形成可显示 的多媒体数据,且如果所述第一数据组与所述第二数据组两者均可用,那么可以组 合方式解码所述第一数据组和所述第二数据组以形成可显示的多媒体数据。
13. 根据权利要求4所述的方法,其中所述第一量化参数包含用于对数据进行编码的第 一步长,且其中所述第二量化参数包含用于对数据进行编码的第二步长,其中所述 第一步长大于所述第二步长。
14. 根据权利要求l所述的方法,其进一步包含将所述多媒体数据的所述内容分类,且 其中所述编码基于所述内容分类,且其中所述编码包含基于所述内容分类来降低所 述多媒体数据中的噪音。
15. 根据权利要求14所述的方法,其中降低噪音包含执行假影移除。
16. 根据权利要求14所述的方法,其中降低噪音包含用去环滤波器来处理所述多媒体 数据的至少一部分,其中所述去环滤波器的强度基于所述多媒体数据的内容。
17. 根据权利要求14所述的方法,其中降低噪音包含用去块滤波器来处理所述多媒体 数据的至少一部分,其中所述去块滤波器的强度基于所述多媒体数据的内容。
18. 根据权利要求14所述的方法,其中降低噪音包含对所述多媒体数据的选定频率进行滤波。
19. 根据权利要求16所述的方法,其中所述去环滤波器的强度基于所述多媒体数据的 内容分类。
20. 根据权利要求17所述的方法,其中所述去块滤波器的强度基于所述多媒体数据的 内容分类。
21. 根据权利要求l所述的方法,其中编码包含向下取样所述多媒体数据。
22. 根据权利要求1所述的方法,其中编码包含使一质量等级与所述多媒体数据相关联, 以及使用所述质量等级和所述多媒体数据的内容信息来确定用于编码所述多媒体 数据的位速率。
23. —种用于处理多媒体数据的设备,其包含编码器,所述编码器经配置以接收多媒体 数据且基于所述多媒体数据的内容将所述多媒体数据编码为第一数据组和第二数 据组,所述第一数据组被配置为可独立于所述第二数据组来解码,且其中所述第一 和第二数据组以不同的质量等级编码。
24. 根据权利要求23所述的设备,其中所述编码器包含内容分类模块,所述内容分类 模块经配置以确定所述多媒体数据的内容分类,且其中编码模块经进一步配置以基 于所述内容分类来编码所述多媒体数据。
25. 根据权利要求24所述的设备,其中所述编码器经进一步配置以确定所述多媒体数 据的用于编码所述第一数据组的第一量化参数和用于编码所述第二数据组的第二 量化参数,其中确定所述第一和第二量化参数基于所述多媒体数据的所述内容分 类。
26. 根据权利要求24所述的设备,其中所述编码器包含运动估计模块,所述运动估计 模块经配置以基于所述内容分类来执行所述多媒体数据的运动估计且产生数据运 动补偿信息,且其中所述编码模块经进一步配置以使用所述运动补偿信息来编码所述多媒体数据。
27. 根据权利要求24所述的设备,其中所述编码器进一步包含量化模块,所述量化模 块用于基于所述内容分类来确定所述多媒体数据的量化参数,且其中所述编码器经 进一步配置以使用所述量化参数来编码所述多媒体数据。
28. 根据权利要求24所述的设备,其中所述编码器进一步包含位分配模块,所述位分 配模块经配置以基于所述内容分类来为所述多媒体数据的至少一部分提供位速率。
29. 根据权利要求24所述的设备,其中所述编码器进一步包含经配置以检测场景变化 的场景变化检测模块,且其中所述编码模块经进一步配置以基于检测到的场景变化 将I帧包括于经编码的多媒体数据中。
30. 根据权利要求24所述的设备,其中所述编码器进一步包含帧速率模块,所述帧速 率模块经配置以基于所述内容分类来确定所述多媒体数据的帧速率,且其中所述编 码模块基于所述帧速率来编码所述多媒体数据。
31. 根据权利要求24所述的设备,其中所述编码器经进一步配置以基于所述内容分类 来编码第一数据组和所述第二数据组。
32. 根据权利要求24所述的设备,其中所述编码器经进一步配置以基于所述内容分类 对所述多媒体数据执行错误处理。
33. —种用于处理多媒体数据的设备,其包含用于接收多媒体数据的装置;以及用于基于所述多媒体数据的内容将所述多媒体数据编码为经编码的第一数据组 和经编码的第二数据组的装置,所述第一数据组被配置为可独立于所述第二数据组 来解码,且其中所述第一和第二数据组以不同的质量等级编码。
34. 根据权利要求33所述的设备,其中所述接收装置包含编码器。
35. 根据权利要求33所述的设备,其中所述用于编码的装置包含编码器。
36. 根据权利要求33所述的设备,其中所述编码装置包含用于确定所述多媒体数据的 内容分类的装置,且其中所述编码装置基于所述内容分类来编码所述多媒体数据。
37. 根据权利要求33的设备,其中所述编码装置包含一包含编码器的转码器。
38. —种包含指令的机器可读媒体,所述指令当执行时促使机器接收多媒体数据;且基于所述多媒体数据的内容将所述多媒体数据编码为经编码的第一数据组和经 编码的第二数据组,所述第一数据组被配置为可独立于所述第二数据组来解码,且 其中所述第一和第二数据组以不同的质量等级编码。
39. 根据权利要求38所述的计算机可读媒体,其进一步包含用来产生指示所述多媒体 数据的所述内容的内容分类的指令,且其中用来将所述多媒体数据编码为经编码的 第一数据组和经编码的第二数据组的所述指令包含用来基于所述内容分类编码所 述多媒体数据的指令。
40. 根据权利要求39所述的计算机可读媒体,其中用来编码的所述指令包含用来基于 所述内容分类确定所述多媒体数据的用于编码所述第一数据组的第一量化参数和 用于编码所述第二数据组的第二量化参数的指令。
41. 根据权利要求38所述的方法,其中用来编码的所述指令包含用来基于所述多媒体 数据的所述内容为所述多媒体数据的至少一部分分配位速率的指令。
42. —种处理器,其包含一配置以接收多媒体数据;且基于所述多媒体数据的内容将所述多媒体数据编码为经编码的第一数据组和经 编码的第二数据组,所述第一数据组被配置为可独立于所述第二数据组来解码,且 其中所述第一和第二数据组以不同的质量等级编码。
43. 根据权利要求42所述的处理器,其中所述处理器进一步包含一配置以产生指示所 述多媒体数据的所述内容的内容分类,且其中所述编码包含基于所述内容分类来编 码所述多媒体数据。
44.根据权利要求42所述的处理器,其中所述处理器进一步包含一配置以确定所述多 媒体数据的用于编码所述第一数据组的第一量化参数和用于编码所述第二数据组 的第二量化参数,其中所述第一和第二量化参数基于所述内容分类。
全文摘要
本发明描述使用内容信息编码多媒体数据的设备和方法。一种处理多媒体数据的方法包括接收多媒体数据,以及基于所述多媒体数据的内容将所述多媒体数据编码为第一数据组和第二数据组,所述第一数据组被配置为可独立于所述第二数据组来解码,且其中所述第一和第二数据组以不同的质量等级编码。所述方法还可包括将所述多媒体数据的所述内容分类,以及基于所述内容分类编码所述多媒体数据。
文档编号H04N7/26GK101313580SQ200680043239
公开日2008年11月26日 申请日期2006年9月27日 优先权日2005年9月27日
发明者塞伊富拉·哈立德·奥古兹, 帕尼库马尔·巴米迪帕蒂, 戈登·肯特·沃克, 斯特拉曼·加纳帕蒂·苏布拉玛尼亚, 涛 田, 方 石, 维贾雅拉克希米·R·拉韦恩德拉恩, 陈培松 申请人:高通股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1