为分层视频流的传输而传输填充信息的制作方法

文档序号:7886497阅读:180来源:国知局
专利名称:为分层视频流的传输而传输填充信息的制作方法
技术领域
本发明涉及一种对输送编码图像的基本流和编码图像的改进流的数字图像序列进行编码的方法,所述这些流分别被存储在基本缓冲器和改进缓冲器中,所述方法包含以下步骤在预定用于形成所述基本流的第一子序列与预定用于形成所述改进流的第二子序列之间分配所述序列中的图像;评估在当前的取样时刻缓冲器的其中之一的占用度。
本发明也涉及一种实现这样一个方法的数字图像序列编码器。
本发明也涉及一种包含这样一个编码器的、用于传送数字图像序列的系统。
本发明也涉及一种实现这样一个方法的计算机程序。
最后,本发明也涉及一种传输这样一个计算机程序的信号。
本发明特别在变动速率线路上视频数据的实时传输中得到应用,所述变动速率线路例如是具有在256千比特每秒(kbs)与512kbs之间变动的速率的ADSL线路。
随着因特网的发展,视频数据的交换已经变得广泛。特别是涉及视频数据的连续和实时传输(英语称为“streaming(流动)”)的应用以及视频会议应用得到很大的发展。在此情况下,使用适合于所述装置和低速率的视频数据压缩标准,诸如MPEG-4(来自英语的“MovingPicture Expert Group(运动画面专家组)”)。
视频数据压缩标准MPEG-4所根据的是一种常规的编码视频数据的预测混合方案。构成所述视频数据的序列中的图像被彼此相对地预测编码,这就是该方法被称作“预测“的原因。另一方面,所述序列中每个图像的相对于在前图像的运动和纹理信息按不同技术被编码。运动信息在空域中以运动矢量场的形式被编码,而纹理则在通过诸如DCT(来自英语的Discrete Cosine Transformation-离散余弦变换)的块变换而被变换的域中被编码,这就是该方案被称作“混合”的原因。
这样一个编码数字图像序列的方案区分三种图像类型-INTRA或I类型的图像,它们是独立于所述序列中的其它图像被编码的,
-INTER P类型的图像,它们是相对于一个INTRA图像或一个在前的INTER P图像被预测性地编码的,-双向INTER B类型的图像,它们是既相对于一个在前的图像I或P又相对于一个随后的图像I或P被预测性地编码的。
图像I被周期性地置于图像序列中,一组图像中的第一个图像总是一个I。在两个图像I之间的间隔中,P或B类型的图像彼此相接。
在保障例如最小速率为256kbs、但不时地提供512kbs的带宽的ADSL类型的变动传输信道的情形中,提供可扩展的编码系统是有益的,就是说,提供一个传送来自同一个输入图像序列的一个基本流和至少一个改进流的系统是有益的。基本流是按传输信道支持的最小速率编码的,并且产生一个基本质量,而一个或多个改进流则补充所述基本流,以便提供更好质量的解码图像序列。这里应当注意的是,术语“质量”在这里是以该术语的宽泛的意义被使用的,在我们的例子中的意思是,更好的质量是指更高的图像频率、更大的图像格式或更好的视觉质量。按照可用于传输的带宽,解码器只接收基本流或者接收基本流与一个或多个改进流。
诸如MPEG-4的视频数据压缩标准提出各种可扩展的编码方案。编码方案实际上在下列方面是可扩展的-质量方面,就是说,基本流在一定数量的编码图像上提供基本的视觉质量,而改进流改进相同数量的图像的视觉质量;-空间方面,就是说,基本流在一定数量的编码图像上提供基本的格式,而改进流为相同数量的图像提供更优良的格式;-时间方面,就是说,基本流提供一定数量的图像,而改进流提出被置于这些基本流图像之间的补充图像。
在国际标准组织文件ISO/IEC 14496-22001(名称为“Information Technology-Coding of Audiovisual Objects-Part2Visual”,7.9.1节,2001年1月31日出版)中,规定了如何按照MPEG-4标准在时域上解码可扩展的流。另一方面,所述文件没有表述编码器应如何构造基本流和改进流,因为只有解码是标准化的。然而关于编码器的适当信息见于文件ISO/IEC JTC1/SC29/WG11,N1992(名称为“MPEG-4-Video Verification Model-Version 10.0”,3.8.2节)。在该文件中例如指出,按照MPEG-4标准的时域可扩展的编码方案,可如图1中所描述的那样地组织。这样一个方案包含基本流(f1)和一个单一改进流(f2),如通常的情况那样。输入序列中的图像例如是在这两个流之间均匀分配的,以使得基本流和改进流各自提供一个等于输入数字图像序列的频率的一半的时间频率。
对于实时视频传输应用来说,编码系统必须也监视与基本流(f1)相关联的基本缓冲器(T1)和与改进流(f2)相关联的改进缓冲器(T2)随着时间的占用率。这些缓冲器的作用是在编码图像被通过传输信道向解码器传送之前存储编码图像。当进行编码时,如果编码速率大于传输速率,所述存储器充满的速度比它们变空的速度更快。甚至有这样的风险,即存储器溢出,为了保证由编码器、传输信道和解码器组成的整个系统的正确工作,这绝不应发生。反之,如果一个流-例如改进流-的编码速率很慢,无论如何都低于传输速率,则改进缓冲器(T2)可能变空,这会导致所述系统的严重故障,因为解码器不再接收任何数据。
在这一方面应当注意的是,诸如基本缓冲器(T1)或改进缓冲器(T2)的缓冲器的功能由一个标准化模型规定,这保证编码器将按MPEG-4标准产生流。
因此在取样输入图像序列的每个当前时刻(t),评估与基本流和改进流相关联的缓冲器的占用水平。如果一个用于流(Fi)(i等于1或2)的图像(IM(t)),要在当前时刻(t)被解码,则一旦所述图像已经被存储在与所述流相关联的缓冲器(Ti),就评估该缓冲器的占用程度。如果所述程度超过预定门限值(可能等于100%),一般就决定不编码这个流中的所述图像。
如果相反,不准备在当前时刻(t)在缓冲器(Ti)中存储任何图像,而所述缓冲器在所述时刻将要完全变空,则MPEG-4标准给予向流(Fi)添加被称为填充数据的特殊数据的可能。这种填充数据被放置在涉及一个属于所述流的编码图像(例如在前一个时刻被存储在缓冲器(Ti)的最后一个图像)的信息之后。
然而,在MPEG-4类型的流中在图像的层次添加这种填充数据,仅在精确的条件下才是允许的,所述条件是希望向其添加所述数据的所述图像已经以下述方式被编码-或者以“子图形”(sprite)方式,就是说,以这样一种特定的方式,其中,一个把相同场景中的图像的所有视图聚合在一起的镶嵌图像被单独编码,这个场景中的每个图像简单地按其在所述镶嵌图像中的位置被编码;-或者以“二进制”或“二进制形状”方式,就是说,在这样的方式,其中,场景中对象的轮廓(或“形状”)和对象的纹理被单独编码;-或者以双向方式B,就是说,以其中允许使用双向图像B的方式。
这些条件在上述的国际标准组织文件ISO/IEC 14496-22001(名称为“Information Technology-Encoding of AudiovisualObjects-Part 2Visual”,6.2.3节,2001年1月31日出版)中作了规定。
对于涉及视频数据的实时传输的应用来说,“子图形”方式被排除在外,因为它太复杂。至于使用对象的形状的方式,它们目前很少被用于实时应用,因为它们较复杂,特别是需要相对于图像的背景预先分割各对象。因此,对于矩形图像的最常规情况来说,有可能使用填充数据的唯一方式因此是双向方式。
然而应当注意的是,双向图像的使用并非对所有应用都有利。双向图像当然是被非常有效地编码的,但是它们也把复杂性和延迟引入编码和解码过程,这并非总是合乎需要的,对低速率的实时应用来说特别如此。
在不使用双向图像的矩形方式下的应用的情形中,MPEG-4标准不允许使用填充数据。因此不存在已知的措施用于防止由编码器、传输信道和解码器组成的完整系统因缓冲器的其中之一的暂时非占用而发生的故障。
本发明的目的是提出一种编码数字图像序列的方法,使得有可能在所述图像序列的编码期间防止与基本或改进流的其中之一相关联的缓冲器变空。
这个目的是通过如介绍段落中所述的方法实现的,其特征在于-所述方法也包含一个在子序列的其中之一中创建一个双向图像的步骤,能在所述输入图像序列的两个连续时刻之间创建一个象征性的双向图像,旨在当与所述子序列相关联的缓冲器的占用度低于预定门限值时接收填充数据。
这样一个方法的优点首先是它使得能在MPEG-4标准没有规定的情形中使用填充数据,例如对以矩形方式编码的并没有双向图像的序列使用填充数据。这些可能最简单的条件,很经常地被涉及实时地以低速率传输视频数据的应用所采用。
在这类应用中,尽管这是MPEG-4标准没有规定的,与编码图像的流相关联的缓冲器可能变空在实践中并不鲜见。这是因为,在输入序列中的图像,一般分配在基本和改进流之间,以便基本流提供一个与由传输信道保障的最低速率对应的速率。在这个情况下,改进流通过提供一个位于传输信道所提供的最低保障速率与最大速率之间的额外速率而补充基本流。因此可以很容易地相像得到,图像在输入序列中基本流与改进流之间的分配,可能因图像序列的内容(例如因其复杂性)而异。甚至可以设想到一种极端情形,其中,该序列对于编码来说暂时变得非常简单和廉价,其中(例如在完全静态场景的情形中)所有图像都在基本流中被编码。
按照本发明的方法也具有这样的优点,即非常适于这样的情形,在该情形中不可能预测新图像何时将被存储在缓冲器中,因此不可能预测所述存储器的填充速率何时增加。它具有允许对紧急问题迅速反应的优点如果在当前时刻某缓冲器正将完全变空,则在当前时刻之前的取样时刻创建一个象征性的双向图像,并在其中存储填充数据。所述双向图像能位于输入图像序列的两个连续取样时刻之间,就是说,处于尚未被其中一个流中的编码图像占用的时刻。应当注意的是,实际上,对于同一个输入图像序列来说,向同一个取样时刻分配两个图像是绝对不可能的。为此,向改进流分配一个大于输入图像序列的时间频率的时间频率,以便肯定地保留可用的取样时刻,以在其中接收任何象征性双向图像。
在本发明的优选实施例中,该方法的特征也在于,向第二个子序列分配双倍于输入图像序列的图像频率,使得它能接收象征性双向图像。最简单同时又是充分的解决方案,事实上是简单地在输入图像序列的两个取样时刻之间提供一个自由取样时刻。
本发明的另一个目的是一个用于用硬件或软件装置在例如集成电路中实现所述方法的输入数字图像序列编码器。


将参照附图中所示的实施例进一步描述本发明,不过本发明并不限于附图。
图1描述按照现有技术的、输入序列中的图像在基本流与改进流之间的分配。
图2是按照本发明的编码图像序列的方法的框图。
图3表示在图像序列的编码期间缓冲器的占用度的变化的曲线的两个例子。
图4描述按照本发明创建双向图像的步骤。
本发明特别涉及对于特定应用编码数字图像序列的方法,所述应用涉及在变动速率传输信道(例如速率在256kbs与512kbs之间变动的ADSL类型的线路)上的视频数据的实时传输。
在我们的例子中使用的编码技术是MPBG-4标准,但是也可以是支持时域可扩展方案的任何其他标准。
图2表示概括按照本发明的编码输入图像序列(S)的方法的功能的框图。如现有技术中那样,所述方法包含在打算用于形成基本流(F1)的第一子序列(SS1)与打算用于形成改进流(F2)的第二子序列(SS2)之间先验地分配DISTR所述序列(S)中的图像的步骤(1)。不过应注意的是,所述序列(S)中的图像在这两个子序列中不必是均等地分配的,并且这个分配很可能在编码过程期间被更改。
在本发明的优选实施例中,序列(S)中的图像的大半甚至全部被先验地分配给第一子序列(SS1),因此是打算用于基本流(F1)的。在这个情形中,所述基本流(F1)因此具备一个等于输入图像序列(S)的时间频率的时间频率。
按照本发明的方法也包含评估EVAL在当前的取样时刻(t)缓冲器(T1,T2)的其中之一的占用度(To1(t),To2(t))的步骤(2)。换言之,在每个输入序列取样时刻(t)评估缓冲器(T1,T2)的占用度,以确保所述存储器不溢出或完全变空。
一般出现两种情况a.与当前取样时刻(t)相关联的图像(Im(t))正将被编码,然后被存储在缓冲器(Ti)中,i=1或2;b.在当前取样时刻(t)没有图像必须被存储在缓冲器(Ti)中。
第一种情况对应于图2中图像(Im1(t))的例子,该图像是打算用于基本流的,因此是打算用于基本缓冲器(T1)的。评估步骤EVAL(2)于是包括在当前取样时刻(t)一旦编码的当前图像(Enc1(t))已经被存储在基本缓冲器(T1)中,就评估基本缓冲器(T1)的占用度(To1(t))。这样一个评估根据的是-在过去的取样时刻(t-1)所述缓冲存储器的占用度(To1(t-1));-传输速率,用于计算在取样时刻(t-1)与取样时刻(t)之间缓冲器已经空到什么程度,即所述存储器的变空速率(Vd(t-1,t));-用于有效地存储编码的当前图像(Enc1(t))所必需的存储空间(B(Im(t)))。给定一个希望应用到当前图像序列的编码速率,有一个从中导出的对整个序列的位的总预算。这个预算能被以下述不同的方式在所述序列的图像之间分配-或者将相同的平均预算分配给序列中的所有图像;-或者按照编码速率和与所述图像有关的参数(诸如其复杂性的评估量)计算对该图像来说个性化的预算。如果认为图像是复杂的,则确定它需要一个比平均预算大的个性化预算,以确保编码图像的足够的质量。另一方面,如果认为图像是低复杂性的,则向该图像分配一个小于平均预算的个性化预算。
把为图像(Im1(t))计算的预算(B(Im(t)))加到缓冲器(T1)在当前时刻(t)的占用率的新值,以便一旦编码图像Enc1(t)已经被存储在所述存储器中就给出所述存储器的占用度(To1(t))的估计。总之,当前时刻(t)缓冲器(T1)的占用度的新值按下式表达To1(t)=To1(t-1)-Vd(t-1,t)+B(Im(t))所述评估EVAL当前取样时刻(t)缓冲器的占用度(To1(t))的步骤(2),逻辑上后面跟随着决定步骤DEC(3),该步骤根据所述占用度(To1(t)),决定是否必须编码所述图像(Im(t))。如果占用度大于一个预定门限值(其可以是100%,或者,如果对编码当前图像(Im(t))所需的位数允许有一定的误差容限,则可以是个较低的值),则决定不编码基本流中的当前图像(Im(t))。然后可以决定将所述图像再分配到改进流,按照相同当前取样时刻(t)改进缓冲器的占用度它将可能在那里被有效地编码。
相反,如果决定步骤DEC(3)决定应当对子序列(SS1)中的当前图像(Im(t))编码,所述图像就被编码过程ENC(4)支配,编码过程ENC(4)产生一个编码的图像Enc1(t),它被存储在要被用于的缓冲器(T1)中。流(Fi)中的图像(Enc1(t))然后通过传输信道被传送到解码器。
应注意的是,评估占用度的步骤EVAL(2)和决定步骤(3)的组合,构成一般所称的编码速率调节系统。
在第二种情形中,在当前取样时刻没有编码图像要被存储在缓冲器中;在图2中这对应于改进缓冲器(T2)。评估所述存储器的占用度(To2(t))的步骤EVAL(2),只是包括按照传输速率计算在过去的时刻(t-1)所述存储器的占用度的变化。
如果所述占用度小于一个预定门限值,就是说,如果缓冲器(T2)就要变空(如图3中的曲线(C1)所示的那样),而在当前取样时刻(t)没有图像要被存储在其中,则按照本发明的方法提出由图4所描述的以下解决方案,该方案包括在接近(t)的取样时刻创建一个用于接收填充数据的象征性双向图像B。所述方法因此也包含一个如图2中所示的双向图像创建步骤CREAT(5)。由两个条件使这样一个技术成为可能a.在改进流的编码过程的开始处已经提供了一个大于输入图像序列的时间频率的时间频率,以便为在其中存储任何额外的图像提供自由的取样时刻。应当注意的是,事实上在来自相同输入图像序列的被取样的流中每个取样时刻有多于一个的图像是绝对不可能的。在本发明的优选实施例中,向改进流分配一个双倍于输入图像序列的时间频率的时间频率,就是说,象征性双向图像例如可以被置于时刻t-1/2。
b.所述象征性双向图像(Bf),就它被认为是“未编码的”的意义上来说,在MPEG-4标准的情况下有一个特定状态。这个图像不含有数据,并且从解码器的观点看来,它是在前显示的图像的原样拷贝。MPEG-4标准的语义使得有可能向所述图像(Bf)分配为满足缓冲器(T2)的填充约束(filling constraints)所必需的那么多的填充数据。如图3中的曲线(C2)所示,缓冲器(T2)被防止变空及引起由编码器、传输信道和解码器组成的整个系统的故障。
如刚刚所见的那样,按照本发明的方法的具有的优点是提出一种防止与编码图像的流相关的缓冲器变空的即时而有效的解决方案。这样一个方法在MPBG-4标准没有规定使用填充数据的情形中特别有益,例如对于下列实时和低速率的应用-为了简单而使用矩形方式;-由于太复杂而不希望使用双向图像;-为了适配于变动速率的传输信道而创建至少两个取样流的;-为了最好地利用传输速率,按照流的图像是实时分配的,因而不可能预测在哪个时刻某图像被存储在某缓冲器中。对于改进缓冲器来说常常就是这样。
本发明可以以装载在一个或多个实现前述编码数字图像序列的方法的电路中的软件形式实现,或者以集成电路的形式实现。对应于所述方法的用于编码输入图像序列的设备在这里重复图2中的功能块。它包含-在打算形成所述基本流(F1)的第一子序列(SS1)与打算形成所述改进流(F2)的第二子序列(SS2)之间分配所述序列中的图像的装置(DISTR)(1);-评估当前取样时刻(t)缓冲器(T1,T2)的其中之一的占用度(To1(t),To2(t))的装置EVAL(2);-在子序列(SS1,SS2)的其中之一中创建双向图像的装置CREAT(5),当与所述子序列相关联的缓冲器占用度低于预定门限值时,该装置能在输入图像序列中两个连续时刻之间创建一个用来接收填充数据的象征性双向图像(Bf)。
有许多通过软件实现前述功能的方式。就此而言,图2是高度示意性的。因此,尽管它以几个块的形式显示几个功能,这并不排除一个执行几个功能的软件包。这也不排除一个功能能由一组软件包执行。有可能通过视频编码器电路实现这些功能,所述电路是适当地被编程了的。程序存储器中含有的指令集合能使电路执行以上参照图2所述的各种操作。也可以通过读取数据介质(例如读取含有指令集合的盘)在编程存储器中加载该指令集合。也可以通过例如因特网的通信网络进行读取。在这种情形中,服务提供商将向感兴趣的各方提供该指令集合。
不应把本文中的括号之间的标注当作是限制性的。动词“包含”不排除句子中所列举的以外的部件或步骤的存在。部件前面的词“一个”并不排除存在多个这些部件或步骤。
权利要求
1.对输送编码图像的基本流(F1)和编码图像的改进流(F2)的数字输入图像序列(S)进行编码的方法,所述这些流分别被存储在基本缓冲器(T1)和改进缓冲器(T2)中,所述方法包含-步骤(1),在预定形成所述基本流(F1)的第一子序列(SS1)与预定形成所述改进流(F2)的第二子序列(SS2)之间分配所述序列中的图像;-步骤(2),评估在当前取样时刻(t)缓冲器(T1,T2)的其中之一的占用度(To1(t),To2(t));其特征在于-所述方法还包含在子序列(SS1,SS2)的其中之一中创建双向图像的步骤(5),当与所述子序列相关联的占用度低于预定门限值时,该步骤能在输入图像序列的两个相继时刻之间创建一个用来接收填充数据的象征性双向图像(Bf)。
2.按照权利要求1所要求的对数字图像序列(S)进行编码的方法,其特征在于,向第二子序列(SS2)分配双倍于输入图像序列的图像频率,使得它能接收象征性双向图像。
3.用于输送编码图像的基本流(F1)和编码图像的改进流(F2)的数字图像序列(S)的编码器,所述流分别被存储在基本缓冲器(T1)和改进缓冲器(T2)中,所述设备包含-在预定形成所述基本流(F1)的第一子序列(SS1)与预定形成所述改进流(F2)的第二子序列(SS2)之间分配所述序列中的图像的装置(1);-评估当前取样时刻(t)缓冲器(T1,T2)的其中之一的占用度(To1(t),To2(t))的装置(2);其特征在于-所述设备还包含用于在子序列(SS1,SS2)的其中之一中创建双向图像的装置(5),当与所述子序列相关联的缓冲器占用度低于预定门限值时,该装置能在输入图像序列的两个相继时刻之间创建一个用来接收填充数据的象征性双向图像(Bf)。
4.按照权利要求3所要求的用于数字图像序列(S)的编码器,其特征在于,它包含适于向第二个子序列(SS2)分配双倍于输入图像序列的图像频率以使得它能接收象征性双向图像的装置。
5.用于传输数字图像序列(S)的系统,包含如权利要求3至4中所要求的编码器,它能处理所述数字图像序列并能通过传输信道将它们传送到解码器。
6.用于编码数字图像序列(S)的计算机程序,包含一个指令集合,当该指令集合被加载到所述编码器的电路中时,使后者执行如权利要求1至2中所要求的方法。
7.用于传送如权利要求6中所要求的计算机程序的信号。
全文摘要
本发明涉及为在变动速率传输信道上实时传输视频数据而对输送一个基本层位流和一个增强层位流的数字图像输入序列所进行的编码。该方法在基本层和增强层两个子序列之间分配所述序列的图像的编码数据,并评估两个相关联的缓冲器的占用度。当与所述子序列相关联的占用度低于预定门限值时,在子序列的其中之一中创建一个用来接收填充数据的象征性(虚拟的、虚设的)双向图像。这个方法使得能在MPEG-4标准没有规定的情形中例如为按矩形方式编码的且没有(正常编码的)双向图像(B帧)的序列增加填充数据。
文档编号H04N7/24GK1631040SQ03803712
公开日2005年6月22日 申请日期2003年2月12日 优先权日2002年2月12日
发明者D·斯诺克, Y·拉曼津 申请人:皇家飞利浦电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1