用于在可分级视频编码中信令并执行时间级切换的系统和方法与流程

文档序号:12005087阅读:344来源:国知局
用于在可分级视频编码中信令并执行时间级切换的系统和方法与流程
用于在可分级视频编码中信令并执行时间级切换的系统和方法相关申请的交叉引用本申请要求2006年10月16日提交的美国临时专利申请S/N.60/829,609的优先权。此外,本申请与国际专利申请No.PCT/US06/028365、PCT/US06/028366、PCT/US06/061815、PCT/US06/62569、PCT/US07/80089、PCT/US07/062357、PCT/US07/65554、PCT/US07/065003、PCT/US06/028367、以及PCT/US07/63335相关。共同转让的所有这些上述申请的全部内容通过引用结合在本文中。发明领域本发明涉及视频通信系统。具体而言,本发明涉及使用时间可分级视频编码、而且其中接收器或中间网关从一个时间级切换至更高或更低的级以满足帧速率、比特率、处理能力、或其它系统需求的通信系统。发明背景旨在一般地改善编码效率的新的数字视频和音频“可分级”编码技术具有多种新的结构特征(例如可分级性)。在可分级编码中,原始或源信号使用两个或更多个分层结构化的比特流来表示。分层结构意味着给定比特流的解码取决于在该分层结构中更低层的部分或全部其它比特流的可用性。每一比特流及其所依赖的比特流提供了原始信号在特定时间、保真度(即,在信噪比即SNR方面)、或空间分辨率(对视频而言)下的表示。应当理解的是,术语“可分级”不是指在数量量值或等级,而是指编码技术提供一组不同的比特流的能力,这些不同的比特流对应于原始或源信号的在不同“等级”的分辨率或其它信号质量下的有效表示。被称为可分级视频编码(SVC)的ITU-TH.264附录G规范是在时间、空间、或保真度维度三者中提供视频编码可分级性的视频编码标准的示例。SVC是H.264标准(也称为高级视频编码即AVC)的扩展。也提供所有这三种类型的可分级性的较早标准的示例是ISOMPEG-2(还公布为ITU-TH.262)。ITUG.729.1(也称为G.729EV)是提供可分级音频编码的标准的示例。将可分级性的概念引入视频和音频编码作为对流传送和广播中的分发问题的解决方案,且为了使给定的通信系统在不同的接入网络(例如以不同的带宽连接的客户机)的情况下、在不同的网络状况(例如带宽波动)的情况下、以及在各种客户机设备(例如使用大监视器的个人计算机相对于具有小得多的屏幕的手持设备)的情况下工作。在共同转让的国际专利申请PCT/US06/028365中描述了专门为诸如视频会议之类的交互式视频通信应用设计的可分级视频编码技术。而且,共同转让的国际专利申请PCT/US06/028365描述了被称为可分级视频通信服务器(SVCS)的新型服务器的设计。SVCS能有利地将可分级编码的视频用于高质量和低延迟的视频通信,且相比于传统切换或转码多点控制单元(MCU)具有显著降低的复杂性。同样,共同转让的国际专利申请PCT/US06/62569描述了一种复合可分级视频编码服务器(CSVCS),其具有与SVCS相同的优点但产生单个已编码输出比特流。此外,国际专利申请PCT/US07/80089描述了一种多播可分级视频编码服务器(MSVCS),其具有与SVCS相同的优点但利用可用的多播通信信道。可分级视频编码设计和SVCS/CSVCS架构可按照更有利的方法来使用,例如在共同转让的国际专利申请PCT/US06/028367、PCT/US06/027368、PCT/US06/061815、PCT/US07/62357、以及PCT/US07/63335中描述了这些方法。这些申请分别描述了将可分级编码技术和SVCS/CVCS架构用于服务器之间的有效中继(trunking)、减少抖动缓冲延迟、差错复原和随机访问、用来提高编码效率且减小分组丢失的可分级视频比特流的“细化(thinning)”、以及码率控制。另外,共同转让的国际专利申请PCT/US07/65554描述了用于在可分级视频编码格式和其它格式之间转码的技术。现在考虑的是进一步改进利用可分级视频编码的视频通信系统。在这样的系统中,源可以是编码并在通信网络上发送实时视频的发送端点、发送预编码视频的流传送服务器、或提供对存储在大容量存储器或其它存取设备的访问的软件模块。同样,接收器可以是通过通信网络、或直接从大容量存储器或其它存取设备获得已编码视频或音频比特流的接收端点。该系统中的中间处理实体可以是SVCS或CSVCS。人们开始关注改进通过接收器和中间处理实体在时间级之间切换的效率。发明概述提供了可用于在可分级视频通信系统中进行信令和时间级切换的系统和方法。这些系统和方法涉及信令选择信息,这使更低级和更高级的时间级切换能在任意图片位置处进行。该信息在下层视频编解码器的时间预测结构中作为特定限制传达。该信息可在中间处理系统以及接收器中使用以适应不同的系统资源(例如帧速率、比特率、处理能力)。附图简述图1是根据本发明原理的通信系统的示例性架构的示意性图解;图2a-2c是根据本发明原理的无嵌套的时间层预测结构的示例的示意性图解;图3是根据本发明原理的嵌套时间层预测结构的示例的示意性图解;图4是根据本发明原理的用于SVC的序列参数集中的时间级嵌套的示例性句法修改的图解;图5是根据本发明原理的用于SVC的可分级性信息SEI消息中的时间级嵌套的示例性句法修改的图解;图6是根据本发明原理的处理单元(编码器/服务器、网关、或接收器)的示例性架构的示意性图解;图7是示出根据本发明原理的NAL滤波单元的示例性操作的流程图。除非另外指明,否则全部附图中的相同附图标记和字符用来表示所示实施例的相同特征、元素、组件、或部分。而且,当现在将参考附图具体描述本发明时,这一描述是结合说明性实施例来完成的。本发明的详细描述提供了用于在使用可分级编码的通信系统中“切换”信号的系统和方法。切换系统和方法是针对具有时间可分级性的通信系统设计的。图1示出使用可分级编码的通信系统100的示例性架构。通信系统100包括媒体服务器或编码器110(例如流传送服务器或发送端点),其在网络130上通过媒体网关140与客户机/接收器120传送视频和/或音频信号。在此利用通信系统100作为示例描述本发明的“切换”系统和方法。为简洁起见,此处的描述限于通信系统100的视频部分。然而,应当理解,切换系统和方法还可用于可分级音频部分,并理解空间可分级性维度不能被提供给音频信号,但多通道编码还可在音频信号编码中使用。此外,此处描述的这些系统和方法还可用于以可分级方式编码的其它多媒体数据(例如图形)。在通信系统100的优选实施例中,使用H.264SVC编码格式(‘SVC’)来进行视频通信。(参见例如SVCJD7规范,T.Wiegand、G.Sullivan、J.Reichel、H.Schwarz、M.Wien编辑的“联合草案7:可分级视频编码(JointDraft7:ScalableVideoCoding)”,联合视频小组,案卷JVT-T201,克拉根福,2006年7月,其全部内容通过引用结合于本文中)。SVC是H.264AVC视频编码标准的可分级视频编码扩展(附录G)。SVC流的基层通过设计与AVC规范兼容。经SVC编码的比特流可被结构化成数个分量或层。基层提供在某一基本保真维度或水平下的源信号表示。附加层(增强层)提供在高于基本保真维度的另外的可分级维度下的改善的信号表示的信息。SVC在创建具有数个维度——即空间、时间、以及保真度或质量维度——中的可分级性的比特流结构中提供相当大的灵活性。应当注意的是,AVC标准通过其使用参考图片列表和相关联的参考图片列表重排序命令已经支持时间可分级性。还应注意的是,已编码比特流的层通常形成为金字塔结构,在该结构中层的解码需要一个或更多个更低层的存在。通常,基层对于解码金字塔结构中的任一增强层都是必需的。然而,不是所有可分级编码技术都具有多个层的金字塔结构。例如,当可分级性通过多个描述编码或同播(simulcasting)提供时,部分或全部层的独立解码也是可能的。尤其对SVC而言,通过将编码器中的所有层间预测模式关闭有可能有效地实现同播。此处描述的切换系统和方法适用于所有可分级格式,既包括金字塔结构又包括非金字塔结构。可分级性具有用于解决诸如异类网络和/或客户机、时变网络性能、尽力网络递送等等之类的数个系统级挑战的特征。然而,为了能够有效利用可分级性特征,需要使它们可被除视频编码器和解码器之外的系统组件访问。如上所述,本发明的切换系统和方法涉及具有时间可分级性的通信系统(例如系统100)。应当注意的是,在系统100中使用媒体网关140是可任选的。当使用直接媒体服务器到客户机连接代替媒体网关140时,或者当媒体服务器被大容量存储器或其它存取设备上的用户可直接访问的文件代替时,本发明的切换系统和方法也可直接或间接地(例如通过通信网络的文件访问)应用。还应注意的是,当从媒体服务器或编码器到接收器的路径中存在多于一个媒体网关140时,本发明的系统和方法保持不变。重新参考图1,考虑简单的工作情形,其中媒体服务器/解码器110(例如流传送服务器或编码器、发送端点编码器)通过媒体网关140向客户机/接收器120传送可分级媒体。此简单的情形需要在媒体服务器和客户机之间建立用于发送协定层集合的连接,该协定层集合例如可以是用远程传输协议(RTP)封装的SVC网络自适应层(NAL)单元。此外,媒体网关140必须被指示、或必须自己决策如何最好地在运行上利用传入的分组(例如所发送的RTP封装的SVCNAL单元)。在其中媒体网关140具有SVCS/CSVCS架构的情况下,此工作决策对应于哪些分组要丢弃以及哪个要转发的决策。此外,为了正确的解码操作,客户机/接收器120必须知道或能够推导哪个层集合应该通过媒体网关140接收。为了实现这些操作,系统100必须向各个系统组件呈现以及传送所发送的比特流的可分级结构。作为说明性示例,考虑具有两个时间分辨率15和30帧/秒(fps)、以及两个空间分辨率QCIF以及CIF的视频信号。因而,该视频信号具有四层可分级结构:包含15fps的QCIF信号的层L0;包含针对30fps的QCIF信号增强的层L1;包含针对15fps的CIF信号增强的层S0;以及包含针对30fps的CIF信号增强的层S1。在四层可分级结构中的编码相关性例如可以是L0为基层、L1取决于L0、S0取决于L0、以及S1既取决于L1又取决于S0。系统100必须向系统组件描述此四层结构,以使它们能正确地处理该视频信号。补充增强信息(SEI)消息是包含在SVC比特流中的数据结构,其提供关于已编码视频信号的辅助信息但对于解码过程的操作不是必需的。SVC提供用于通过它的“可分级性信息”SEI消息(SSEI)描述经SVC编码的视频比特流的可分级结构的机制。SVCJD7规范的章节G.10.1.1中的SSEI被设计成允许容量协商(例如在连接建立期间)、流自适应(通过视频服务器或中间媒体网关)、以及低复杂性处理(例如没有基于详细比特流解析的推论)。在SVCJD7规范的章节G.10.1.1中定义的SSEI包括有关各个层的描述性信息(例如帧速率、概况信息)、以及重要的编码依赖性信息(即给定层依赖于哪些其它层来正确解码)。各个层在比特流的范围内通过唯一的“层id”标识。特定层的编码依赖性信息通过对直接依赖层的数量(num_directly_dependent_layers)以及差值数列(directly_dependent_layer_id_delta)编码来传送,这些值在被添加到特定层的层id时标识该特定层所依赖用于解码的层的层id。此外,在章节G.10.1.2中定义的“可分级性信息层不存在”SEI消息(SSEI-LNP)、和在章节G.10.1.3中定义的“可分级性信息依赖性改变”SEI消息(SSEI-DC)分别提供所发送的比特流中动态改变的带内或带外信令。前者表示与初始SSEI相比,哪些层从其接收的时刻起在比特流中不存在,而后者表示比特流中的层间预测依赖性改变。国际专利申请No.PCT/US07/065003描述了这些以及用于管理可分级性信息的附加系统和方法。一般而言,SSEI、SSEI-LNP、以及SSEI-DC消息的设计使得在组合使用时,这些消息允许中间网关或接收器被持续告知有关从服务器/编码器或网关发送的比特流的总体结构,并执行正确的自适应功能。然而,在设计中存在重要的限制,这些限制对可在实时通信系统中使用的不同的可能编码结构的紧密检查之后会变得显而易见。例如,SVCJD7草案允许时间结构,但该时间结构与分层建立的金字塔结构相矛盾,且在实际应用中会有问题。具体地,SVCJD7施加在时间级上的仅有限制如下:“具有等于currT1的时间级(temporal_level)的任意访问单元的解码应当与具有大于currT1的时间级的所有访问单元无关。”(参见G.7.4.1,NAL单元SVC首部扩展语义,第405页)。此限制确保给定的时间级可在不访问来自更高时间级的信息的情况下被解码。然而,它没有解决在特定时间级内以及相同与更低时间级之间存在的任意依赖性。SVCJD7限制确保从较高时间级向较低时间级的转换可通过仅仅丢弃具有较高时间级的所有访问单元而立即实现。其逆操作,即从较低时间级向较高时间级的切换或转换具有依赖性问题。该问题可参考图2a和2b理解,图2a和2b示出示例性时间层图片预测结构。图2a示出具有两个时间层即层0和层1的“时间非嵌套”结构200a。第二层(层1)被形成为源于第一帧(层0)的完全独立的“线程”。因为层0的解码不依赖于层1,所以这是依据SVCJD7草案的SVC的有效结构。用此结构从较低时间级向较高时间级的转换问题对于仅接收层0(在帧0、2、4处等等)的接收器而言是显而易见的。接收器不能随意添加层1,因为从层0到层1的依赖性的时间范围跨越层0的多个帧。例如,如果接收器希望在帧2处添加层1,则它不能通过在下一帧(帧3)处开始解码操作(针对帧1)而实现此目的,因为这样的解码操作既需要帧0又需要帧1,而后者还未接收。图2b示出类似的具有略微更复杂的层0和1的编码结构的时间非嵌套结构200b。接收器/解码器不能在帧2处切换至层1,因为帧3是从帧1预测的。图2a和2b示出利用结构200和202b从较低时间级向较高时间级转换的问题,为简单起见这些结构各自仅具有两层。应当理解该问题会在任意数量的时间层的情况下存在。图2c示出具有三个时间层即层0-2的示例性结构200c。结构200c呈现出由于层依赖性的时间范围导致的类似的转换问题。应当注意的是,时间非嵌套层结构200a-200c满足了G.7.4.1的要求,但是时间可分级特征的使用严重受限制。反之,图3示出“时间嵌套的”层结构300,其满足G.7.4.1的要求而且允许从任意层到另一层的时间切换。如图所示,在结构300中没有时间嵌套的实例:对层N的任意帧i而言,在帧i和解码次序中其任一参考图片之间不存在时间级M<N的帧。等价地,当解码次序中的随后参考图片具有较低时间级值时,没有参考图片用于层间预测。此条件确保附加时间层可在层N的任一帧之后立即添加到层N。在编码器/服务器、中间网关、或接收器处容易地添加或去除时间级的能力在实时、低延迟通信中是十分重要的,因为帧速率是直接可用于比特流和错误控制的参数之一。应当注意的是在国际专利申请No.PCT/US06/28365、PCT/US06/028366、PCT/US06/061815、以及PCT/US07/63335中描述的示例性时间预测结构均是嵌套的。虽然编码依赖性信息在SSEI(以及SSEI-DC)中被明确地编码,但它没有记录依赖性的时间范围。例如,结构200c和300具有相同的SSEI消息。本发明的系统和方法在已编码比特流中包括明确的信息,该信息(a)指示时间级的依赖性的时间范围,以及(b)提供实施特定应用域和概况的嵌套操作的能力。在本发明的一个实施例中,该信息包括一位标记,称作“时间级嵌套标记(temporal_level_nesting_flag)”,其置于SVC的序列参数集中。图4示出根据本发明原理的JD7文本(章节G.7.3.2,序列参数集SVC句法)的相关章节的经修改句法400。所添加的标记(时间级嵌套标记)是该句法结构中的第一个。时间级嵌套标记的语义(置于JD7文本中的G.7.4.2、即序列参数集SVC扩展语义)定义成使:值0表示如果解码顺序中的随后参考图片具有较低的时间级值,则参考图片不应当用于层间预测;而值1表示没有设置这样的限制。在不会改变对比特流的结构施加的限制的情况下,语义的替代定义也是可能的。在本发明的第二实施例中,相同的时间级嵌套标记被置于SSEI(SVCJD7,章节G.10.1.1)中,其具有另外的好处,即属于特定SVC比特流的所有可分级性信息存在于单个句法结构中。图5示出针对这种情况的经修改句法500。经修改句法500的语义与可应用于句法400的语义相同。不论时间级嵌套标记是存在于SSEI还是存在于序列参数集中,媒体服务器或编码器、媒体网关、或接收器/解码器使用时间级嵌套标记涉及相同的操作。因为该操作对所有设备而言在两种情况下都相同,所以为简便起见,所有三类不同的设备在本文中被统称为“处理单元”。图6示出示例性处理单元600的架构,其涉及NAL滤波。处理单元600在各个输入处接受SVCNAL单元,并在其输出处产生部分或全部输入NAL单元的拷贝。将哪个NAL单元转发至输出的决策在NAL滤波单元610处完成。在优选的架构中,NAL滤波单元610由可存储在RAM中的NAL滤波器配置(NFC)表620控制。NFC620是三维表,其中三个维度T、D、以及Q对应于NAL的时间级(temporal_level)、依赖性id(dependency_id)、以及质量id(quality_id)。在图6中,表值在通过(PASS)列中示出。具有特定T、D、以及Q值的表条目中的值1表示NAL滤波单元610应当转发在其SVC首部中具有相同T、D、以及Q值的输入NAL单元。反之,值0表示它不应当转发特定输入NAL单元。因此,根据图6中所示的NFC620,基层(T=0、D=0、Q=0)允许转发至输出,但较高的时间层(T=1)不允许转发至输出。在准备期间,处理单元600通过在带内(从SVC比特流)信令或其它手段获得SSEI。SSEI被存储在RAM640中以用于后来的操作。在获得SSEI之后,NFC620可获得它的初始配置。例如,初始配置可以使所有NAL单元被传递至输出(未应用滤波)。这取决于特定应用。处理单元600还对存储当前操作时间级的TL存储器630设置初始值。如图6所示,处理单元600还配备有附加输入,即时间级切换触发器650。此输入向NAL滤波单元610提供有关系统操作的所需时间级的信息。例如,时间级切换触发器650信号可具有正整数值、零、或负整数值,这些值分别表示在当前图片之后时间级应当增大所指示的量、保持不变、或减小所指示的量。当NAL滤波单元610在特定图片处检测到时间级切换触发信号的负值时,它将此值与TL存储器630中所存储的当前操作时间级值相加,并重新配置NFC表620以反映所需的新的操作时间级。如果相加产生负值,则值0被存储在TL存储器630中。当NAL滤波单元610在特定图片处检测到正时间级切换触发器信号时,它首先检查时间级嵌套标记的值。如果该值是0,则在缺少另外的应用程序专用信息的情况下,NAL滤波单元610不能决定它是否能切换至所需的较高时间级,并且不采取行动。如果时间级嵌套标记的值是1,则时间级切换触发器信号被添加到TL存储器,而且NFC表被重新配置以反映所需的新操作级。如果TL存储器的新值大于比特流中所存在的最大时间级值,如在SSEI中反映的一样,则TL被设置成该最大时间级值。应当注意的是,通过解析在SSEI中包含的所有层信息并存储时间级[i]句法元素的最大值,可从SSEI获得最大时间级值。图7示出NAL滤波单元610的操作的流程图700。在流程图700中,图例“触发器”指图6的时间级切换触发器650信号的值,而“TL_MAX”指从SSEI获得的最大时间级值。函数NFC(T,D,Q)返回针对T、D、以及Q值的特定组合的NFC620的值。应当注意的是,在其中所有组件有意地一起设计的系统中,有可能作出有关比特流结构的先验设想。在这些情况下,如果T、D以及Q值满足特定标准,则时间级向上切换也是可能的。NAL滤波单元610可被配置成当尝试执行时间级向上切换时纳入这样的标准,且选择在后来的图片上执行时间级向上切换,其中假定应用程序专用条件将被满足。虽然相信已经描述的内容是本发明的优选实施例,但本领域普通技术人员将认识到可作出其它和进一步的改变和修改而不背离本发明的精神,而且目的是要求保护如落入本发明真实范围内的所有这些变化和修改。应当理解的是,根据本发明,本文中所描述的技术可利用硬件和软件的任意合适组合来实现。用于实现和操作上述码率估计和控制技术的软件(即指令)可在计算机可读介质上提供,这些计算机可读介质可包括但不限于,固件、存储器、存储设备、微控制器、微处理器、集成电路、ASIC、可在线下载的介质、以及其它可用介质。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1