首页> 中国专利> 用于使用控制消息管理可缩放视频和音频编码系统中的可缩放性信息的系统和方法

用于使用控制消息管理可缩放视频和音频编码系统中的可缩放性信息的系统和方法

摘要

提供了用于及时地传达与由视频和/或音频通信系统中的解码器(图1的120)和其它组件接收到的信号的可缩放性层结构有关的信息的系统和方法(图1)。对于使用标准H.264 SVC编码格式的通信系统(图1的140),标准SSEI消息被更改或补充成包括信令可缩放性层结构信息及其变化的能力。接收者可使用信号可缩放性层信息来适当地处理或解码接收到的信号。

著录项

  • 公开/公告号CN101411080A

    专利类型发明专利

  • 公开/公告日2009-04-15

    原文格式PDF

  • 申请/专利权人 维德约股份有限公司;

    申请/专利号CN200780011497.5

  • 发明设计人 A·埃尔夫瑟里阿迪斯;

    申请日2007-03-27

  • 分类号H04B1/66;

  • 代理机构上海专利商标事务所有限公司;

  • 代理人陈炜

  • 地址 美国得克萨斯州

  • 入库时间 2023-12-17 21:44:58

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2013-05-01

    授权

    授权

  • 2009-06-10

    实质审查的生效

    实质审查的生效

  • 2009-04-15

    公开

    公开

说明书

技术领域

本发明涉及视频通信系统,尤其涉及用于在视频通信系统中以缩减比 特率和计算复杂度两者的方式传达经可缩放视频编码的比特流的结构及对 其的改变的技术。

发明背景

针对编码效率中的一般改进的新型数字视频和音频“可缩放”编码技 术具有多个新结构特性。具体地,重要的新特性是可缩放性。在可缩放编 码中,原始或源信号是使用两个或多个分层结构化比特流来表示的。分层 结构意味着给定比特流的解码依赖于分层结构中较低的部分或全部其它比 特流的可用性。每个比特流连同其所依赖的比特流提供原始信号在特定时 间、保真度(例如,在信噪比(SNR)方面)、或空间分辨率(对于视频) 上的表示。

应当理解,术语‘可缩放’并非指数目方面的量级或等级,而是一般指编 码技术提供与原始或源信号在分辨率或其它质量的不同‘等级’上的有效表 示相对应的一组不同比特流的能力。称为可缩放视频编码(SVC)的即将 出现的ITU-T H.264附录F规范是提供了时间、空间和保真度所有维度中 的视频编码可缩放性的视频编码标准的示例。SVC是H.264标准(也称为 高级视频编码(AVC))的扩展。也提供所有三种类型可缩放性的较早标 准的示例是ISO MPEG-2(也作为ITU-T H.262公布)。ITU G.729.1(也 称为G.729EV)是提供可缩放音频编码的标准的示例。

可缩放性被引入视频和音频编码中作为对流送和广播中分发问题的解 决方案,以便允许给定通信系统与不同的接入网(例如,与不同带宽连接 的客户端)、网络状况(例如,带宽波动)、以及客户端设备(例如,使 用较大监视器的个人计算机对具有小得多的屏幕的手持式设备)一起操作。

在共同转让的国际专利申请PCT/US06/028365中描述了专门为诸如视 频会议等交互式视频通信设计的可缩放视频编码技术。此外,共同转让的 国际专利申请PCT/US06/028365描述了称为可缩放视频通信服务器 (SVCS)的新型服务器的设计。SVCS可有益地使用经可缩放编码的视频 进行高质量和低延迟视频通信,并且与传统交换或译码多点控制单元 (MCU)相比具有显著降低的复杂度。类似地,共同转让的国际专利申请 PCT/US06/62569描述了合成可缩放视频编码服务器(CSVCS),该合成可 缩放视频编码服务器具有与SVCS相同的益处,但是产生单个经编码的输 出比特流。可缩放视频编码设计和SVCS/CSVCS架构可以其它有益方式来 使用,例如在共同转让的国际专利申请PCT/US06/028367、 PCT/US06/027368、PCT/US06/061815、PCT/US07/62357、和PCT/US07/63335 中所述的这些其它有益方式。这些申请描述了可缩放编码技术的使用和用 于服务器之间有效干线铺设(trunking)的SVCS/CVCS架构、减小的抖动 缓冲器延迟、差错弹性和随机接入、可缩放视频比特流的“减薄”以便分别 在减小的分组丢失和率控制的情况下提高编码效率。此外,共同转让的 美国临时专利申请S/N.60/786,997描述了用于可缩放视频编码格式与其它 格式之间的译码的技术,而共同转让的美国临时专利申请S/N.60/884,148 描述了使用可缩放视频编码的视频通信系统中差错弹性的进一步改进。

现在考虑使用可缩放视频或音频编码的改进视频和音频通信系统。具 体地,为了改进此类系统,将注意力集中于管理或者直接或者通过一个或 多个服务器从视频或音频比特流的源传达给接收者的可缩放性信息。源 可以是编码现场视频并将其通过通信网络传送的传送端点、传送预编码视 频的流送服务器、或者提供对存储在大容量存储或其它接入设备上中的文 件的访问的软件模块。类似地,接收者可以是通过通信网络或者直接从大 容量存储器或其它接入设备获得经编码的视频或音频比特流的接收端点。

发明概要

提供了用于使用可缩放编码的视频和音频通信系统中可缩放性信息的 改进管理的系统和方法。

系统和方法向系统组件传达经可缩放编码的比特流的结构以及可能随 时间发生的改变。通信技术利用相关信息的差分编码并有益地实现缩减的 比特率开销和缩减的计算复杂度。

在优选实施例中,对于使用标准H.264SVC编码格式的视频通信系统, 标准可缩放性信息SEI消息被更改并且还被补充成包括信令可缩放性信息 改变的能力。可缩放性信息SEI消息的扩展集可通知接收者(例如,服务 器、解码器/端点)所传送信号的可缩放性层结构及其改变。接收者可使用 可缩放性层信息来适当地处理或解码接收到的信号。

附图说明

根据以下优选实施例的详细描述以及附图,本发明的其它特征、特性 和各个优点将变得更显而易见,在附图中:

图1是示出根据本发明的原理的SVC传输系统的示例性架构的框图;

图2是根据本发明的原理的可缩放性信息状态管理过程的流程图;

图3是根据本发明的原理的替换性实施例的可缩放性信息状态管理过 程的流程图;

贯穿附图中相同附图标记用于指代所例示的实施例的类似特征、元件、 组件或部分,除非另外声明。此外,现在将参照附图对本发明的详细描述 是结合示例性实施例进行的。

发明详细描述

提供了用于使用可缩放编码的视频和音频通信系统中可缩放性信息的 改进管理的系统和方法。

图1示出了使用可缩放编码的通信系统100的示例性架构。通信系统 100包括在网络130上通过媒体网关140与客户端/接收器120传达视频和/ 或音频信号的媒体服务器或编码器110(例如,流送服务器或传送端点)。

出于简便起见,本文的描述限于此类通信系统的视频部分。然而,应 当理解,在此描述的用于视频部分的系统和方法可用于可缩放音频部分, 并且应当理解,不能向音频信号提供空间可缩放性维度,但是多信道编码 另外可被用于音频信号编码。此外,在此描述的系统和方法还可用于以可 缩放方式编码的其它多媒体数据(例如,图形)。

在通信系统100的优选实施例中,H.264SVC编码格式(‘SVC’)被用 于视频通信。(参见例如通过引用全部结合于此的SVC JD5规范中的2005 年1月T.Wiegand、G.Sullivan、J.Reichel、H.Schwarz、M.Wien等人在 泰国曼谷的联合视频组的Doc.JVT-R201的“Joint Draft 5:Scalable Video Coding(联合草案5:可缩放视频编码)”)。SVC是H.264AVC视频编码 标准的可缩放视频编码扩展(附录F)。

SVC在创建具有若干维度(例如,空间、时间、保真度或质量维度) 中的可缩放性时提供了相当大的灵活性。SVC编码比特流可被结构化成若 干分量或层。基层提供了源信号在某种基本保真度下的表示。附加层(增 强层)提供了信号在高于基本保真度维度的附加可缩放性维度中的改进表 示的信息。注意:编码比特流上的层通常形成锥形结构,其中对层的解码 要求存在一个或多个较低层。通常,对任何增强层进行解码要求基层的可 用性。层的锥形结构无需总是这样的。例如,当通过多个描述编码或联播 提供可缩放性时,对部分或全部层的独立解码会是可能的。本文所描述的 系统和方法可应用于所有这些可缩放性格式。

可缩放性可解决若干系统层难题,诸如异种网络和/或客户端、时变网 络性能、尽力型网络递送等。然而,为了能够有效地使用这些这些特征, 使它们可为视频编码器和解码器除外的系统组件所用是必不可少的。

参照图1来理解有效地使用所有可缩放性特征的本发明的系统和方 法。首先,注意:在系统100中使用媒体网关140是任选的。当使用到客 户端连接的直接媒体服务器时,或者当由大容量存储上的客户端可直接访 问或者其它接入设备可直接或间接地(例如,通过通信网络的文件访问) 地访问的文件来替代媒体服务器时,本发明的系统和方法是相同或类似的。

考虑其中媒体服务器/编码器110(例如,流送服务器或者即为传送端 点编码器的编码器)通过媒体网关140与客户端/接收器120传达可缩放媒 体的简单计算环境。这种简单场景要求在媒体服务器与客户端之间建立用 于传送所商定的一组层——这可能是例如RTP封装的SVC NAL单元—— 的连接。此外,媒体网关140必须获得指令(或基于其自身来推断)如何 在操作上最好地利用传入分组(例如,所传送的RTP封装的SVC NAL单 元)。在其中媒体网关140具有SVCS/CSVCS架构的情形中,这种操作决 定相当于决定哪些分组要丢弃以及哪些要转发。此外,对于适当的解码器 操作,客户端/接收器120必须知晓或能够推导出哪些层集合被认为要被接 收。

为了实现这些功能,系统100必须向各个系统组件表示和传达所传送 的比特流的可缩放性结构。作为示例性示例,考虑具有两个时间分辨率15 和30fps以及两个空间分辨率QCIF和CIF的视频信号。这对应于四层可 缩放性结构:包含15fos的QCIF信号的层L0;包含30fps的QCIF信号 增强的层L1;包含15fps的CIF信号增强的层S0;以及包含30fps的CIF 信号增强的层的层S1。四层可缩放性结构中的编码依存关系可能是这样的: L0是基层,L1依赖于L0,S0依赖于L0,而S1依赖于L1和S0两者。系 统100必须向系统组件描述这种四层结构以使得它们可适当地处理视频信 号。

SVC提供了用于通过其可缩放性信息SEI消息(SSEI)描述经SVC编 码的视频比特流的可缩放性结构的机制。补充增强信息(SEI)消息是包含 在SVC比特流中的数据结构,这些消息提供了关于经编码的视频信号的、 但并非解码过程的操作所必需的辅助性信息。在SVC JD5规范的章节 F.10.1.1中定义的SSEI包括关于每个层的描述性信息(例如,帧速率、概 况信息),以及重要的编码依存性信息,即给定层依赖于哪些其它层来进 行适当解码。在比特流的范围内,每个层由唯一“层id”来标识。特定层的 编码依存性信息是通过编码直接依赖层的数目 (num_directly_dependent_layers(数目_直接_依赖_层))以及一系列不同 的值(directly_dependent_layer_id_delta(直接_依赖_层_id_Δ))来传达的, 在它们被添加到特定层的层id时就标识该特定层进行解码所依赖的层的层 id。

设计如在SVC JD5规范的章节F.10.1.1中定义的SSEI以实现能力协商 (例如,在连接建立期间)、流适应(通过视频服务器或中间媒体网关)、 以及低复杂度处理(例如,没有基于详细比特流解析的推断)。然而,SSEI JD5设计具有若干限制,这在近距离检查必用在通信系统中使用SSEI消息 信息的方法时变得很明显。

在通信系统(例如,系统100)的操作中,可以有其中所传送的流的 结构被构建或更改(或者在服务器/源或者在媒体网关处)的若干实例。

-在能力协商期间的初始定义。媒体服务器提供一组可缩放性层,而 客户端或者直接或者经由协商过程(例如,使用会话描述协议(SDP)) 接受其全部或子集。

-由媒体服务器或媒体网关对分层结构进行更改以适应改变的系统状 况(例如,媒体网关与客户端之间增加的分组丢失或客户端处期望显示分 辨率的改变)。

-归因于编码器决定而对分层结构进行的更改。此类编码器决定的示 例涉及细粒度可缩放性(FGS)、用于提供保真度可缩放性——其中FGS 层比特流的一部分可用于产生缩减的质量下的信号的——的机制。作为在 SVC JD5中设计FGS的方式的结果,使层依存性在从一个画面到下一个(或 者实际上,从一个切片变成下一个)时改变是可能的。具体地,考虑在给 定层处采用使用FGS的较低层作为参考来执行预测以及预测仅基于该较低 层的一部分的情形。在此情形中,相同层的不同画面可依赖于不同较低层 是可能的,因为某些层由于率控制而会被完全消去。一种不会改变层依存 性结构的可能的解决方案是使用空NAL单元。然而,这在SVC JD5中是 不允许的。这种情形被视为类似于紧邻的前一个层,而不同之处在于层依 存性在时标上发生的改变是极大的(每个切片)。

能力协商是SVC规范的范围之外的通信系统特征,而可缩放编码是通 用的。诸如IP电话等相关通信应用领域已开发了用于能力协商的大量程序。 例如,基于会话发起协议(SIP)的通信系统使用基于SDP的要约/回应。 注意:对这种能力协商功能单独使用SSEI是不必要的。根据本发明,SSEI 不仅应当指示编码器能够产生什么,还应当较佳地指示在所传送的比特流 中实际(或将)包含什么。根据本发明,在此方面,SSEI被更改成定义比 特流的整体可缩放性信息结构,该结构被认为是有效的,除非另外通知。

对分层结构的更改(即,流适应性调整)可在媒体服务器/编码器或者 中间媒体网关(可能存在一个以上的此类媒体网关)处的通信系统的操作 中发生。流适应性调整的示例是其中客户端/接收器120决定切换或改变分 辨率(例如,从CIF到QCIF)的情形。分辨率的切换或改变是通过在媒 体网关140或传送服务器110处丢弃相应分组来实现的。对分辨率的改变 的触发是使用传统信令(如在图1中示为信令路径150)来完成的。对于 适当的切换操作的一个重要考虑是何时可信令通知客户端/服务器120所请 求的改变已发生。在缺乏任何此类信令通知的信息时,客户端/接收机120 将在某个时间仅接收总分组或比特(对应于QCIF分辨率的)的子集。然而, 无法得知高分辨率分组或比特的丢失是有意的(其请求的结果)还是归因 于分组或比特丢失。与单环路解码有关的考虑会恶化这个问题,因为在不 存在目标层数据的情况下,较低层画面可能在客户端/接收器120处不能被 显示。

如前所述的此类切换信息可通过以传统方式(例如,经由信令路径150) 从媒体服务器或媒体网关到客户端/接收器120信令信息来提供。然而,本 发明认识到,如果分层结构信息与编码数据一起在带内被运送,则有相当 多的益处(例如,在同步或对差错状况的响应时间的方面)。分层结构信 息(对消息的改变)可在经更改的SSEI消息中被带内携带。

另一个归因于改变的系统状况的流适应性调整的示例涉及对网络引起 的分组丢失的适应性调整。在此情形中,媒体网关可决定使用质量可缩放 性特征改变或缩减例如所传送的流的带宽。再次为了适当操作,必须及时 地通知或指令客户端/接收器120关于要接收的流中的改变。改变的分层结 构信息可与编码信息一起及时地在经更改的SSEI消息中带内携带。

类似于流适应性调整的情形是编码器驱动的层结构改变的情形。与以 上讨论的流适应性调整的情形相比,编码器驱动的层结构改变并非响应于 系统参数改变而由客户端或媒体服务器发起,而是代之以由视频编码器所 用的编码过程的“伪像”引起。类似于信号适应性调整情形,关于分层结构 的改变的信息可与编码数据一起经由经更改的SSEI消息在带内及时信令通 知以便与媒体网关和解码器进行适当的同步。

前述情形中系统100的操作的考虑表明在通信会话期间需要在不同时 间以及在可能与切片级一样高的时标(或频率)上提供可缩放信息消息。

注意:仅当使使用可缩放性信息消息(例如经由经更改的SSEI消息) 时的开销十分小时,提供该消息才是实用的。此外,由于由给定服务器或 网关支持的客户端的数目在通信系统中出于经济目的常常被最大化,因此 在解析以及生成有关消息时使通信系统中的计算负担最小化显然是可取 的。

注意:SVC JD5规范规定仅在即时解码刷新(IDR)接入单元(章节 F.10.2.1)处使用SSEI。IDR接入单元与帧内画面等效,它具有相当大的比 特率开销,并且通常在交互式视频通信系统中仅被使用一次(仅用于第一 画面的解码)。这种限制进一步阻止了对信号可缩放性信息改变使用标准 SSEI。

由于SSEI的主要用途之一是帮助服务器和媒体网关适当处理SVC流, 因此如果此类消息的处理复杂度被最小化则是有益的。这通常使用固定长 度字段以及尽可能少的选项来实现。为了最小化与SSEI消息相关联的比特 率开销,这种简化与有效压缩的需要相抵触。如果SSEI消息传输的粒度十 分高(如以上所述的,可能在切片级),则编码效率特别重要。

鉴于压缩的观点,已对SSEI信息的更有效表示给出提议。(参见例如 通过引用全部结合于此的2006年1月I.Amonou、N.Cammas、S.Kervadec 和S.Pateux在尼斯(Nice)、曼谷的联合视频小组的Doc.JVT-R068的 “Improved Signaling of Scalability Information(改进的可缩放性信息的信 令)”)。然而,所提议的表示基于相当可观的计算复杂度。例如,前述 Doc.JVT-R068提出了在使用大量可缩放层时显示缩减约50%开销的表示。 所提议的表示基于在编码不同层时的树结构方法,其中每个节点级对应于 三个可缩放性维度(依次为空间、时间和质量)中的一个。呈现点对应于 树的叶子。相反,SVC JD5语法基于对以任意次序编码的呈现点的连续解 析。这类似于仅对Doc.JVT-R068中所提到的树结构的叶子进行解析,并 注意其缺陷在于,某些信息被非必要地从一个层复制到下一层。在基于树 的方法中,具有共同祖先的叶子无需复制由其共同父亲表示的信息。然而, 这种不必要的复制可通过在创建SSEI时对选项标记采取明智使用的替换性 编码方法来避免。例如,当仅temporal_level(时间_级)从一个层到下一层 改变时,实际上直接推断两个层中的帧大小是相同的并由此帧大小仅需被 提供一次(例如,在最低层)。

在使用前述两种方法(即,Doc.JVT-R068和具有任选标记的编码的替 换解释SVC JD5语法)的情况下,注意:“计算-压缩”权衡并非是理想的。 与这些方法相比,本发明采用基于层依存性信息的差分编码的技术,以使 得层可随意添加、替换或移除。与前述方法相比,本发明技术同时将比特 率开销和计算复杂度缩减至最低水平。

可参照将用于输送必要SSEI信息的本发明技术应用于其中假定在通 信系统中的服务器、网关或客户端处获得初始SSEI并将其作为状态信息来 维护的示例来理解本发明技术。从SSEI状态移除一个层或层的子集所需的 比特是十分少的,因为仅需传送足够的“差分”信息来标识将截短SSEI信息 结构的层。换言之,可基于对所指示的层的标识来从状态信息消去该层以 及依赖于其的所有层。类似地,为了将新的层或新的层集添加到SSEI状态, 仅传送与要添加的层有关的差分信息就足够了。通过设计,此方法消除了 与将分层结构信息的编码从一个SSEI实例复制到下一实例有关的所有开 销。

与SSEI信息的编码相关联的总比特率中归因于这种差分编码的缩减 允许对所需的消息使用简单的编码结构,以使得由媒体无意识(至少在视 频编码级或H.264术语中的VLC)网关对它们进行的解析可被简化。注意: 本技术的确作出关于这些SSEI消息将如何被输送或——更重要的——它们 是否以及如何被可靠输送的任何假设。如果相同消息被接收到一次以上, 则仅确保状态一致性是足够的。

SSEI消息可以任何合适的方式用层结构信息来补充。在此描述了两个 实施例(实施例A和B)。在实施例A中,SSEI通过三个附加可缩放性信 息控制SEI消息——对应于添加、替换或移除一个或多个层的操作——来 补充。这些操作被累积地应用;换言之,基于应用所指示的操作假定的输 入状态是就在该操作之前有效的状态。在替换实施例(实施例B)中,SSEI 信息通过分别指示哪些层不存在以及哪些层已改变了解码依存性信息的两 个附加可缩放性信息控制SEI消息来补充。与实施例A的累积操作相比, 实施例B中的操作不以累积方式来应用,而是代之以假定应用所指示的操 作的输入状态是由最近SSEI消息所构建的状态。在SEI消息可能经历丢失 的环境中,实施例B可能是较佳的。在此情形中,在会话建立期间,初始 SSEI可使用可靠输送机制来传达给接收器或媒体网关。如同在实施例A中 那样,在实施例B中,任何介入可缩放性信息控制消息的丢失将不影响接 收器或媒体网关的状态信息实施例B。

本发明的实施例A引入SVC JD5的附录D(章节D.1)中的三个新的 SEI有效载荷类型。

scalability_info_add(可缩放性_信息_添加)(有效载荷类型26),它 将一个或多个层添加到现有SSEI信息结构中;

scalability_info_replace(可缩放性_信息_替代)(有效载荷类型27), 它替代现有SSEI信息结构的一个或多个层;以及

scalability_info_delete(可缩放性_信息_删除)(有效载荷类型28), 它从现有SSEI信息结构中删除一个或多个层。

用于‘添加’和‘替代’版本的语法与基本scalability_info(可缩放性_信 息)结构的相同。仅所包含数据的语义被改变,且仅根据SSEI状态管理如 何被执行来改变(换言之,各个字段解释保留相同)。‘删除’版本的语法可 以是简单的,因为它仅需要标识要移除层的层id。注意:‘替代’版本主要对 处理层依存性信息中的改变有用。由于没有其它信息需要被编码,因此可 使此类消息的大小十分小(例如,取决于层的数目,约为30-40比特的数 量级)。

在以下,使用术语“SSEI信息”指这四种可缩放性信息中的任一种,除 非另外指出。

由于当前SVC JD5规范规定仅在IDR接入单元处使用SSEI(章节 F.10.2.1),因此在本发明中,允许SSEI信息在任何接入单元的起始处出 现。

当SPS(SVC中的序列参数集)参数nal_extension_flag(nal_扩展_标 记)被设为0时,在该SPS中定义所有层的dependency_id(依存性_id)、 temporal_level(时间_级)、以及quality_level(质量_级)值(在此称为 DTQ值)(章节F.7.3.2)。如果NAL语法元素extension_flag(扩展_标 记)为0,则给定NAL单元与这些值的关联是使用simple_priority_id(简 单_优先级_id)来执行的。如果extension_flag为1,则根据当前规范, simple_priority_id被忽略,并且DTQ参数的NAL报头值被使用。注意: 当profile_idc(概况_idc)不等于83时,则类型20和21的所有NAL单元 必须置位其extension_flag(章节F.7.4.2)。

如果假定在SPS级,nal_extension_flag被设为0,则所有SVC NAL报 头将仅采用simple_priority_id而非整个DTQ集。为了允许服务器或网关处 理NAL流,必须解析两个消息。SSEI提供了详细的分层信息,而SPS将 特定层映射到优先级id值。看起来没有要在SPS包括此信息的强制性理由, 并且实际上存在不如此进行的若干个理由。一旦检查到包含在SPS中的其 余信息,就会注意到它们都不涉及输送问题。相应地,在本发明下,SPS 的相关部分可被移除,并且代之以将其编码移到SSEI。

nal_extension_flag的使用较佳地应当是流范围的,换言之,不应当允 许具有扩展NAL报头和不具有扩展NAL报头的NAL共存。尽管理论上, 实现这种能力可能看起来会提供更大的灵活性,但是实际上这种能力使得 服务器和网关的操作变得复杂且没有真正实质的益处。结果,在本发明下, 对nal_extension_flag的编码并非是每个层地进行的,而是每个SSEI进行 的。这与其中以每个SPS为基础进行编码的SVC JD5相一致。

通过在SSEI级进行simple_priority_id编码,不再需要令DTQ值的编 码为任选的,并且结果SSEI的相应标记(decoding_dependency_ info_pressent_flag(解码_依存性_信息_存在_标记))可被移除。

先前已注意到:SVC是H.264AVC视频编码标准的可缩放视频编码扩 展(附录F)。AVC兼容层意味着在没有simple_priority_id或DTQ字段扩 展的情况下使用NAL单元报头。根据SVC JD5规范,值被假定为0。在本 发明中,在SSEI级信令simple_priority_id或DTQ字段扩展的值。

表1示出了根据本发明的原理对SVC JD5规范的章节F.7.3.2——序列 参数集SVC扩展语法——作出的示例性语法改变。这些改变包括与优先级 id和DTQ有关的语法元素的移除。

表I

SPS SVC扩展更改

表II示出了根据本发明的原理在附录D,D.1,SEI有效载荷类型语法 中作出的示例性语法改变(添加)。对应于添加、替代和删除操作添加了 三个新的有效载荷(26-28)。

表II

SEI有效载荷类型

  sei_payload(payloadType,payloadSize){   C   描述符      if(payloadType==0)          Buffering_period(payloadSize)   5      else if(payloadType==1)         pic_timing(payloadSize)                                      ......      else if(payloadType==22)         scalabilty_info(payloadSize)/*在附录F中规定*/   5                                      ......      else if(payloadType==26)         scalabilty_info_add(payloadSize)/*在附录F中规定*/   5      else if(payloadType==27)         scalabilty_info_replace(payloadSize)/*在附录F中规定*/  5      else if(payloadType==28)         scalabilty_info_delete(payloadSize)/*在附录F中规定*/   5      else         reserved_sei_message(payloadSize)   5      if(!byte_aligned()){         bit_equal_to_one/*等于1*/   5         while(!byte_aligned())   f(1)           bit_equal_to_zero/*等于0*/   5   f(1)      }   }

表III示出了根据本发明的原理在章节F.10.1.1——可缩放性信息SEI 消息语法——中作出的示例性语法改变。注意到了nal_unit_extension_flag (nal_单元_扩展_标记)的引入(从SPS移入),以及avc_compatible_flag (avc_兼容_标记)的引入。此外,注意到:对于非AVC层,总是存在DTQ 编码,并且如果nal_unit_extension_flag未被设置(即,当NAL单元不携带 显式DTQ信息时),构建DTQ关联的priority_id。

表III

可缩放性信息SEI消息语法

也可对SSEI消息语法元素的语义解释作出相应改变(SVC JD5规范的 章节F.10.2.1——可缩放性信息SEI消息语义)。具体地,IDR接入单元放 置约束被移除。此外,当存在时,SSEI消息将对其之后的所有NAL单元 起作用,并且替代对于当前流有效的任何以及所有先前的可缩放性信息。 消息的语义是有效的,直至类型为scalability_info(可缩放性_信息)、 scalability_info_add(可缩放性_信息_添加)、scalability_info_replace(可 缩放性_信息_替代)或scalability_info_del(可缩放性_信息_删除)的下一 SEi消息。值为0的nal_unit_extension_flag[i]的语义指定dependency_id[i]、 temporal_level[i]、和quality_id[i]到层layer_id[i]的simple_priority_id[i]的 映射被包括在此可缩放性信息SEI消息中。等于1的nal_unit_extension_flag 指定simple_priority_id[i]参数不存在。当nal_unit_extension_flag不存在时, 推断出其等于1。在此可缩放性信息SEI消息之后的具有等于20和21的 nal_unit_type(nal单元类型)的所有NAL单元的NAL单元语法元素 extension_flag应当等于nal_unit_extension_flag。当profile_idc不等于83(标 识SVC)时,引用当前序列参数集的具有等于20和21的nal_unit_type的 所有NAL单元的语法元素extension_flag应当等于1。此外,不允许在任何 后续scalability_info_add或scalability_info_replace消息中的 nal_unit_extension_flag的值不同,除非首先通过scalability_info消息进行更 改。avc_compatible_flag[i]的语义是等于1的值指定层layer_id[i]遵从AVC 规范。当avc_compatible_flag[i]等于0时,当前层遵从SVC规范。当 avc_compatible_flag[i]等于1时,NAL单元报头不携带扩展报头信息。当 avc_compatible_flag等于1时,则当前层i的dependency_id[i]、 temporal_level[i]和quality_level[i]的值全部被假定为0。priority_id[i]的语义 是它指定在语法元素dependency_id、temporal_level和quality_level(如在 SVC JD5规范的章节F.7.4.1中指定的)的推断过程中要使用的 simple_priority_id值。对于priority_id[i]的所有值,其dependency_id[i]、 temporal_level[i]和quality_level[i]不存在,则应当推断dependency_id[i]、 temporal_level[i]和quality_level[i]等于0。最后,temporal_level[i]、 dependency_id[i]和quality_level[i]分别等于具有等于i的层标识符的可缩放 层中NAL单元的temporal_level、dependency_id和quality_level。如果 temporal_level[i]、dependency_id[i]和quality_level[i]不存在,则它们被假定 为0。

新的SEI‘scalability_info_add’消息的语法与‘scalability_info’SEI消息的 相同。根据其语义,在存在时,此SEI消息将对之后的所有NAL单元起作 用。它将多个层添加到当前有效的可缩放性信息。如果接收机处维护的可 缩放性信息中已存在此消息中描述的层的layer_id,则该层的整体信息被删 除,且在其位置使用此消息中包含的信息。在应用了此消息之后有效的可 缩放性信息状态保持有效,直至类型为scalability_info、scalability_info_add、 scalability_info_replace或scalability_info_del的下一SEI消息。所有字段的 语义与scalability_info的相同。

新的SEI‘scalability_info_replace’消息的语法与‘scalability_info’SEI消 息的相同。根据其语义,在存在时,此SEI消息将对其之后的所有NAL单 元起作用。它替代了当前有效的可缩放信息中多个层——如其layer_id所指 定的——的信息。仅包含在消息中的信息被替代;未被给定消息更改的任 何先前设置实际上保持未更改。在应用了此消息之后有效的可缩放性信息 状态保持有效,直至类型为scalability_info、scalability_info_add、 scalability_info_replace或scalability_info_del的下一SEI消息。所有字段的 语义与scalability_info的相同。

表IV示出了根据本发明的原理的新的‘scalability_info_del’SEI消息的 示例性语法。如表中所示,消息包括要考虑从比特流中移除的层的层id的 列表。在存在时,此SEI消息将对在其之后的所有NAL单元起作用。它删 除了当前有效的可缩放信息中多个层——如其layer_id所指定的——的信 息。在应用了此消息之后有效的可缩放性信息状态保持有效,直至类型为 scalability_info、scalability_info_add、scalability_info_replace或 scalability_info_del的下一SEI消息。所有字段的语义与scalability_info的 相应语义相同。

表IV

可缩放性信息删除SEI消息语法

scalability_info_del(payloadSize){   C   描述符     num_layers_minus1   5   ue(v)     for(i=0;i<=num_layers_minus 1;i++){        layer_id[i]   5   u(8)     } }

图2示出了实施例A中的示例性状态处理算法200的流程图。接收器 的初始层结构状态(State(状态))为空。在步骤22,接收器从比特流或 者通过诸如信令的替换手段获得可缩放信息SEI消息。所获得的 scalability_info SEI消息可充当初始化SSEI消息并用于初始化State。类似 获得的‘添加’、‘删除’和‘替代’可缩放性信息SEI消息可分别对当前状态添 加、移除或更改一个或多个层。注意:多个层可能受到这些消息的每一个 的影响。然而,为了清晰起见,图2中的示图示出了对单个层(层(i))的 影响。

在某些通信或通信环境中,SSEI信息消息的传达可能从不与视频数据 一起处于带内,但是总是在会话建立期间或通过其它可靠通信手段被传达。 由于视频数据可能通过具有非零分组丢失率的信道输送,因此期望确保这 种关键信息不会经历可能的丢失。

对于这种通信系统或通信环境,在本发明的替换性实施例B中,可缩 放性信息可由在SDP协商期间提供或者在IDR接入单元中存在(例如,以 文件格式)的scalability_info SEI消息来构建。在此类scalability_info SEI 消息中的信息构建可缩放信息直至序列的末端、或者直至接收到另一 scalability_info SEI消息、或在SDP的情形中重新协商。除层间的内部依存 性之外,可缩放性信息不允许在那段时间内改变。实施例B相对于实施例 A的另一不同之处是关于处理状态管理的方法。在实施例A中,以累积方 式应用状态改变,这具有单个消息的丢失可能破坏状态信息的缺点。在替 换性实施例B中,状态改变总是参照最近scalability_info SEI消息来应用, 并且丢失影响不会被混合。

在实施例B中,‘添加’SSEI消息未被使用,而‘删除’SSEI消息被重新 命名为‘layers_notpresent(层_不存在)’。‘layers_notpresent’SSEI消息指 示在始于包含SEI消息的接入单元的比特流中将不存在特定层以及所有依 赖层。哪些层不存在的指示总是相关于当前活跃的scalability_info SEI消息 来执行。注意:用于在特定层已被移除之后指示该特定层已被添加的方便 机制是传送移除除被添加的特定层之外的所有当前不存在的层的‘layers_ notpresent’消息。作为示例性示例,假定具有3个层——编号为0、1、2—— 的比特流。进一步假定在初始传送所有3个层之后,媒体服务器传送指示 层1和层2不存在的‘layers_notpresent’消息。在此情形中,层1可在稍后时 间通过传送指示仅层2不存在的‘layers_notpresent’消息来添加。实际上,这 指示层1已被添加。媒体服务器(或媒体网关)可在传送此 ‘layers_notpresent’SEI消息之后立即开始传送层1信息。

在实施例B中,第一实施例的‘替代’SSEI消息被改成‘dependency_ change(依存性_改变)’消息。可缩放性信息依存性改变SEI消息指示特定 layer_id的层依存性已被改变,并提供新的层依存性信息。依存性改变SSEI 消息的语法不允许在与可缩放性信息相关联的信息中有其它改变。

表V示出了取代SVC JD5规范的章节D.1中的语法的备选的新SEI有 效载荷类型scalability_info_layers_notpresent(可缩放性_信息_层_不存在) (编号26)和scalability_info_dependency_change(可缩放性_信息_依存 性_改变)(编号27)的示例性语法。与实施例A相比,在实施例B中, 允许仅在IDR画面存在可缩放性信息SEI消息。除层依存性信息之外,消 息的语义是有效的直至下一相同类型的SEI消息。

表V

替换性SEI有效载荷类型

sei_payload(payloadType,payloadSize){   C   描述符   if(payloadType==0)      Buffering_period(payloadSize)   5      else if(payloadType==1)                                    ......   5      else if(payloadType==22)         scalability_info(payloadSize)/*在附录F中规定*/   5                                    ......      else if(payloadType==26)      scalability_info_layers_notpresent(payloadSize)/*在附录F中规定  */   5      else if(payloadType==27)      scalability_info_dependency_change(payloadSize)/*在附录F中规   5

定*/     else         reserved_sei_message(payloadSize) 5      if(!byte_aligned()){         bit_equal_to_one/*等于1*/   5   f(1)         while(!byte_aligned())           bit_equal_to_zero/*等于0*/   5   f(1)      } }

特定层可用scalability_info_layers_notpresent SEI消息指示为非活跃 (不再存在于比特流中)。在表VI中示出了此消息的示例性语法。

表VI

可缩放性信息层不存在SEI消息

scalability_info_layers_notpresent(payloadSize){   C   描述符   num_layers   5   ue(v)   for(I==0;i<num_layers;i++){       layer_id[i]   5   u(8)   } }

在存在时,此SEI消息将对在其之后的所有NAL单元起作用。该消息 指示由其layer_id标识的指定层将不存在于比特流中。在应用了此消息之 后有效的可缩放性信息状态保持有效,直至类型为scalability_info或 scalability_info_layers_notpresent的下一SEI消息。num_layers(数目_层) 指示在解码此SEI消息之后比特流中将不存在的可缩放层或呈现点的数目。 num_layers的值在0到255(包括0和225)的范围内。当num_layers具有 值0时,其指示所有层都存在。layer_id[i]指示被标识为比特流中不存在的 可缩放层的标识符。该消息简单地包括被标识为不存在的层的列表。

表VII示出了scalability_info_dependency_change SEI消息的示例性语 法。在存在时,此SEI消息将对在其之后的所有NAL单元起作用。特定层 的层依存性信息包括由解码语法元素num_directly_dependent_layer(数目_ 直接_依赖_层)、directly_dependent_layer_id_delta_minu1(直接_依赖_层 _id_Δ_减1)、或替换性新语法元素layer_dependency_info_src_layer_ id_delta_minu1(直接_依存性_信息_源_层_id_Δ_减1)产生的信息。此新 的元素允许系统标识具有与目前层相同的层依存性信息的另一层的层id (通过编码层id差分减1)。

表VII

可缩放性信息依存性改变SEI消息

scalability_info_dependency_change(payloadSize){   C   描述符   num_layers_minus1   5   ue(v)   for(i=0;i<=num_layers_minus1;i++)      layer_id[i]   5   u(8)      layer_dependency_info_present_flag[i]   5   u(1)      if(layer_dependency_info_present_flag[i]){         num_directly_dependent_layer[i]   5   ue(v)         for(j=0;j<=num_directly_dependent_layer[i];j++)            directly_dependent_layer_id_delta_minus1[i][j]  5   ue(v)       }else{         layer_dependency_info_src_layer_id_delta_minus1[i] 5   ue(v)       }     } }

scalability_info_dependency_change SEI消息指示由其layer_id标识的 指定层的层依存性信息将按此消息的内容所指定地改变。在应用了此消息 之后有效的可缩放性信息状态保持有效,直至类型为scalability_info或 scalability_info_dependency_change的下一SEI消息。

num_layers_minus1加1指示其层依存性信息在解码了此SEI消息之后 将改变的可缩放层或呈现点的数目。num_layers_minus1的值在0到255(包 括0和255)的范围内。

layer_id[i]指示其层依存性信息将改变的可缩放层的标识符。

等于1的layer_dependency_info_present_flag[i](层_依存性_信息_存在 _标记)指示在SEI消息中存在具有等于layer_id[i]的层标识符的可缩放层 的层依存性信息。值0指示具有等于i的层标识符的可缩放层的层依存性信 息在SEI消息中不存在,且与由layer_dependency_info_src_layer_id_ delta_minus1[i]指示的另一层的一样。

num_directly_dependent_layers[i]指示具有等于layer_id[i]的层标识符 的可缩放层直接依赖的可缩放层的数目。例如,如果层M中有使用来自层 Q的层间预测的至少一个经编码的画面,则层M直接依赖于层Q。 num_directly_dependent_layers的值在0到255(包括0和255)的范围内。

directly_dependent_layer_id_delta_minus1[i][j]指示layer_id[i]与具有等 于layer_id[i]的层标识符的可缩放层直接依赖的第j个可缩放层的层标识符 和i之间的差。直接依赖可缩放层的层标识符等于 (layer_id[i]-directly_dependent_layer_id_delta_minus1[i]-1)。

layer_dependency_info_src_layer_id_delta_minus1[i]指定层标识符等于 layer_id[i]的层具有与层标识符等于(layer_id[i]-layer_dependency_info_src_ layer_id_delta_minus1[i]-1)的层相同的层依存性信息。

图3示出了实施例B中的示例性状态处理算法300的流程图。接收器 的初始层结构状态(State)为空。在步骤33,接收器从比特流或者通过诸 如信令的替换手段获得可缩放性信息SEI消息。scalability_info SEI消息充 当初始化SSEI消息并用于初始化该状态。‘layers_notpresent’和 ‘dependency_change’消息分别将一个或多个层标记为不存在或更改其解码 依存性信息。注意:在此替换性实施例B中,通过非初始化消息既未添加 也未移除层。这确保状态一致性(解码依存性可能例外),只要初始化消 息被可靠地接收到即可。注意:多个层受到这些消息的每一个的影响。然 而,出于清晰起见,类似图2中示图的图3中的示图示出了对单个层(层 (i))的影响。

尽管本文所描述的优选实施例使用H.264SVC标准,但是对于本领域 技术人员而言,在此描述的技术可直接应用或扩展到用于视频或者用于音 频或任何其它多媒体数据的、允许多个空间/质量和时间级的任何编码结构 是显而易见的。

虽然已描述了被认为是本发明的优选实施例的那些实施例,但是本领 域技术人员应当认识到,可作出其它或进一步的改变和更改而不背离本发 明的精神,并且其旨在要求保护落在本发明的真实范围内的所有这些改变 和更改。应当理解,本发明的系统和方法可用任何硬件和软件的组合来实 现。用于实现和操作前述系统和方法的软件(即,指令)可被设置在计算 机可读介质上,这些计算机可读介质可包括但不限于:固件、存储器、存 储设备、微控制器、微处理器、集成电路、ASIC、可在线下载的媒体以及 其它可用的介质。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号