视频编码的制作方法

文档序号:7630022阅读:223来源:国知局
专利名称:视频编码的制作方法
技术领域
本发明涉及数据传输并且更特别是,但并不是排它地,与代表图片序列,例如视频的数据传输有关。它特别适合于在易出错和易丢失数据的链路,例如一个蜂窝电信系统的空中接口上传输。
背景技术
在过去的几年里,经因特网传输的可用多媒体内容的数量惊人地增长。由于到移动终端的数据传递速率正变得足够高而使得这种终端能够检索多媒体内容,所以人们变得希望从因特网处提供这种检索。一个高速数据传递系统的例子是计划的GSM阶段2+的通用分组无线电服务(GPRS)。
在此使用的术语多媒体包括声音和图片、只有声音以及只有图片。声音包括语音和音乐。
在因特网中,多媒体内容的传输是基于分组的。通过因特网的网络业务量是基于一个叫做互联网协议(IP)的传输协议的。IP与将数据分组从一个位置传输到另一个位置有关。它有利于经过中间网关的分组的路由选择,就是说,它允许数据被发送到在同一物理网络中并不直接相连的设备(例如,路由器)。IP层传送的数据单元被叫做IP数据报。由IP提供的传递服务是无连接的,就是说,IP数据报在因特网各处彼此独立地被寻路。由于在网关内没有资源被永久承诺给任何特定的连接,所以网关偶尔会因为缺少缓冲器空间或其它资源而不得不丢弃数据报。这样,IP提供的传递服务就是一个尽力而为的服务而不是一个有保证的服务。
因特网多媒体通过使用用户数据报协议(UDP)、传输控制协议(TCP)或超文本传输协议(HTTP)被典型地流式化。UDP不检验数据报是否已被接收到,不重新发送丢失的数据报,也不保证数据报以与它们被发送时相同的顺序被接收。UDP是无连接的。TCP检验数据报是否已被接收到并重新发送丢失的数据报。它也保证数据报以与它们被发送时相同的顺序被接收。TCP是面向连接的。
为了确保多媒体内容以一个足够的质量被传递,它可以通过一个可靠网络连接(例如TCP)被提供从而确保接收到的数据是无差错的并且是按正确的顺序。丢失的或被损坏的协议数据单元被重新发送。
有时丢失数据的重发不由传输协议而是由某个更高级协议来处理。这样一个协议可以选择一个多媒体流中最重要的丢失部分并请求对它们的重发。例如,最重要的部分可以用于预测流的其它部分。
多媒体内容典型地包括视频。为了被有效地发送,视频通常被压缩。所以,压缩效率在视频传输系统中是一个重要的参数。另一个重要的参数是对传输差错的容限。对这些参数中任何一个参数的改进趋向于对另一个参数产生不利的影响,且因此一个视频传输系统应在两者之间有一个适当的平衡。
图-1示出一个视频传输系统。该系统包括一个源编码器,所述源编码器将一个未被压缩的视频信号压缩到一个希望的比特率从而生成一个编码的并且被压缩的视频信号,以及一个源解码器,所述源解码器将编码的并且被压缩的视频信号解码从而重构该未被压缩的视频信号。源编码器包括一个波形编码器和一个熵编码器。所述波形编码器实现有损的视频信号压缩并且所述熵编码器无损地将该波形编码器的输出转换成一个二进制序列。所述二进制序列被从源编码器传送到一个传输编码器,该传输编码器按照一个适当的传输协议封装被压缩的视频然后将它发送给包括一个传输解码器和一个源解码器的接收方。数据由传输编码器经一个传输信道发送到传输解码器。传输编码器还可以其它的方式来处理被压缩的视频。例如,它可以交织并调制数据。数据被传输解码器接收到以后,就被传送给源解码器。源解码器包括一个波形解码器和一个熵解码器。传输解码器和源解码器实现相反的操作以获得一个重构的视频信号来显示。接收方还可以提供反馈给发送方。例如接收方可以用信号通知成功接收到的传输数据单元的速率。
一个视频序列包括一系列静止图像。一个视频序列通过减少它的冗余和感觉上不相关的部分来被压缩。在一个视频序列中的冗余度可以被分类成空间、时间和频谱冗余度。空间冗余度指的是同一图像内相邻像素之间的相关性。时间冗余度指的是在前一个图像中出现的物体可能会在当前的图像中出现的事实。频谱冗余度指的是一幅图像的不同颜色成分之间的相关性。
时间冗余度可以通过生成运动补偿数据来减小,所述运动补偿数据描述了当前图像和前一个图像(称作一个参考或锚(anchor)图像)之间的相对运动。作为根据前一个图像的一个预测,当前图像被有效地构成,并且做到这样所用的技术通常称作运动补偿预测或运动补偿。除了从另一幅图片预测一幅图片之外,一个单个图片的一些部分或区域可以从那幅图片的其它部分或区域处被预测。
只是通过减少视频序列的冗余度通常不能达到一个足够的压缩级别。所以,视频编码器还设法减少视频序列中那些主观上不太重要的部分的质量。另外,已编码比特流的冗余度通过对压缩参数和系数进行有效无损编码来被减少。主要的技术是使用可变长编码。
视频压缩方法典型地基于图像是否使用了时间冗余度缩减来区分它们(就是说,它们是否被预测)。参考图-2,没有使用时间冗余度缩减方法的被压缩图像通常被叫做INTRA或I-帧。INTRA帧常被引入来防止分组丢失的影响在空间和时间上的传播。在广播的情况下,INTRA帧使新接收方能够开始解码所述流,就是说它们提供“接入点”。视频编码系统典型地使得能够每n秒或每n个帧而周期性地插入INTRA帧。在自然场景切换处使用INTRA帧也是有利的,在该处图像内容变化如此之快以致来自前一个图像的时间预测按照压缩效率来说是不可能成功或理想的。
确实使用时间冗余度缩减方法的被压缩图像通常被叫做INTER或P-帧。使用运动补偿的INTER帧很少足够精确来提供足够准确的图像重构,并且因此一个空间压缩的预测误差图像也与每一个INTER帧有关。这表示出当前帧和它的预测之间的差别。
许多视频压缩方案还引入了时间上的双向预测的帧,它们通常被称作B-图片或B-帧。B-帧被插到锚(I或P)帧对之间并且从两个或其中一个锚帧中被预测,正如图-2所示。B-帧本身不作为锚帧,就是说其它帧决不会根据它们被预测并且它们只是被用于通过增加图像显示速率来增强感觉到的图像质量。因为它们本身决不会被作为锚帧使用,所以它们可以被丢弃而不影响后续帧的解码。这就使得一个视频序列能够按照传输网络的带宽限制,或不同的解码器能力,而以不同的速率来被解码。
术语图片组(GOP)用于描述一个INTRA帧后面跟着根据它预测的一个时间上的预测(P或B)图片序列。
不同的国际视频编码标准已经得到发展。通常,这些标准定义了用于表示一个被压缩的视频序列的比特流语法以及比特流被解码的方式。一个这样的标准,H.263,是一个由国际电信联盟(ITU)开发的建议。当前,有两个H.263的版本。版本1包括一个核心算法和四个可选的编码模式。H.263版本2是版本1的一个扩展,它提供12个可协商的编码模式。H.263版本3,目前处于发展阶段,被确定为包含两个新的编码模式和附加的补充增强信息编码点的一个集合。
按照H.263,图片被编码成一个亮度成分(Y)和两个色差(色度)成分(CB和CR)。色度成分沿两个坐标轴以与亮度成分相比一半的空间分辨率被取样。亮度数据和空间上子取样的色度数据被组合成宏块(MB)。典型地一个宏块包括16×16像素的亮度数据和空间上对应的8×8像素的色度数据。
每个被编码的图片,连同对应的被编码比特流,被安排在一个有四个层的等级结构中,这些层从顶到底为,一个图片层、一个图片分段层、一个宏块(MB)层和一个块层。该图片分段层可能或者是一组块层或者是一个切片层(slice layer)。
图片层数据包含影响整个图片区域以及解码该图片数据的参数。图片层数据被安排在一个所谓的图片头中。
默认情况下,每一幅图片被划分成多个块组。一个块组(GOB)典型地包括16个连续像素行。每个GOB的数据包括一个可选的GOB头,后面跟着宏块数据。
如果一个可选的切片结构模式被使用,那么每一幅图片被划分成切片而不是GOB。每个切片的数据包括一个切片头,后面跟着宏块数据。
一个切片定义了一个编码图片内的一个区域。典型地,该区域是多个按正常扫描顺序的宏块。在同一编码图片内跨越切片边界处没有预测相关性。然而,除非使用了H.263附录R(独立分段解码),时间预测通常可以跨越切片边界。切片可以根据剩下的图像数据(除图片头以外)被独立解码。因此,切片结构模式的使用增强了基于分组的网络中的差错复原能力,所述网络易于丢失分组,即所谓的分组有损网络。
图片、GOB和切片头起始于一个同步码。没有其它的码字或码字的有效组合可以象同步码那样能够构成同一比特模式。这样,同步码可以用于比特流的检错和发生比特错误后的重新同步。加到比特流上的同步码越多,编码就变得越有差错鲁棒性。
每一个GOB或切片都被划分成宏块。正如上面已经解释的,一个宏块包括16×16像素的亮度数据和空间上对应的8×8像素的色度数据。换句话说,一个MB包括四块8×8的亮度数据和两块空间上对应的8×8的色度数据。
一个块包括8×8像素的亮度或色度数据。块层数据包括均匀量化的离散余弦变换系数,它们按之字形顺序被扫描,用游程长度编码器来处理并用可变长编码方式来编码,正如在ITU-T建议H.263中详细解释的那样。
编码的比特流的一个有用的属性是可缩放性。下面,比特率可缩放性要被描述。术语比特率可缩放性指的是一个被压缩序列以不同数据速率被解码的能力。一个编码成具有比特率可缩放性的被压缩序列可以经不同带宽的信道被流式传输并可以在不同的接收终端实时地被解码并回放。
可缩放的多媒体典型地被排列到数据的等级层中。一个基本层包含一个对媒体数据(例如一个视频序列)的独立表示而增强层包含可以使用在除基本层之外的精炼数据。当增强层被加到基本层上时,多媒体剪辑的质量逐渐地被提高。可缩放性可以采取许多不同的形式包括(但是并不局限于)时间、信噪比(SNR)和空间可缩放性,所有这些形式在下面都要被进一步描述。
对异种的并且易出错的环境,例如因特网和蜂窝通信网中的无线信道来说可缩放性是一个希望的属性。为了反抗限制,例如对比特率、显示分辨率、网络吞吐量和解码器复杂性的约束,这个属性是希望的。
在多点和广播多媒体应用中,对网络吞吐量的约束在编码的时候不能被预见到。这样,对多媒体内容进行编码以便构成一个可缩放的比特流就是有利的。在IP多播中使用的一个可缩放的比特流的例子示于图-3。每一个路由器(R1-R3)可以按照它的能力来对该比特流进行剥除。在这个例子中,服务器S有一个多媒体片断可以被缩放成至少3个比特率,120kbit/s、60kbit/s和28kbit/s。在一个多播传输的情况下,其中同一比特流在相同的时间用在网络中生成的尽可能少的比特流的备份来传递给多个客户,从网络带宽的观点来看发送一个单个的比特率可缩放的比特流是有益的。
如果一个序列在不同的设备中被下载并回放,每一个设备具有不同的处理能力,那么比特率可缩放性就可以在具有较低处理能力的设备中被使用以便通过只解码比特流的一部分来提供视频序列的一个较低质量的表示。具有较高处理能力的设备可以解码并播放具有全部质量的序列。另外,比特率可缩放性意味着解码视频序列的一个较低质量表示所需的处理能力要低于当解码具有全部质量的序列时所需的处理能力。这可以被视为计算的可缩放性的一种形式。
如果一个视频序列预先被存储在一个流服务器中,并且所述服务器不得不临时减小该视频序列作为一个比特流被发送时的比特率,例如为了避免网络中的拥塞,则如果服务器可以减小该比特流的比特率而仍然发送一个有用的比特流,这就是有利的。这典型地可以通过使用比特率可缩放的编码来获得。
可缩放性还可以用于提高一个传输系统中的差错复原能力,其中分层编码与传输优先级相结合。术语传输优先级被用于描述传输中提供不同服务质量的机制。这些包括不等差错保护,它提供不同的信道差错/丢失率,并且分配不同的优先级来支持不同的时延/损耗要求。例如,一个可缩放编码的比特流的基本层可以通过一个传输信道用一个高级差错保护来传递,而增强层可以在更容易出错的信道中被传输。
可缩放多媒体编码的一个问题是它经常遭受比非可缩放编码更差的压缩效率。一个高质量的可缩放视频序列通常比具有一个相应质量的一个非可缩放、单层的视频序列需要更多的带宽。然而,对这个通用规则的例外确实存在。例如,因为B-帧可以从一个压缩的视频序列中被丢弃而不会对后续编码图片的质量产生不利的影响,所以它们可以被认为是提供了一种形式的时间可缩放性。换句话说,一个被压缩从而构成包括例如交替P和B帧的一序列时间预测图片的视频序列,它的比特率可以通过删除B-帧来减小。这有减少压缩序列的帧速率的效果。因此就有了术语时间可缩放性。在许多情况下,B-帧的使用实际上可以提高编码效率,特别是在高的帧速率时,因而包括除P-帧以外的B-帧的一个压缩视频序列可以比一个具有相同质量的、只使用P-帧编码的一个序列表现出一个更高的压缩效率。然而,由B-帧提供的在压缩性能上的提高是以增加计算的复杂性和存储器的要求为代价获得的。额外的延时也会被引入。
信噪比(SNR)可缩放性在图-4中被举例说明。SNR可缩放性涉及一个多速率比特流的创建。它考虑在一个原始图片和它的重构之间的编码差错或差异的恢复。这通过在一个增强层内使用一个更精细的量化器来编码一个差分图片而获得。这个额外的信息增加了整个再生图片的SNR。
空间可缩放性考虑多分辨率比特流的创建以便满足变化显示的需要/约束。一个空间可缩放性的结构在图-5中被示出。它类似于在SNR可缩放性中使用的那样。在空间可缩放性中,一个空间增强层被用于恢复编码损耗,该编码损耗是在由增强层用于一个参考的重构层(即参考层)的一个上采样版本和原始图像的一个更高分辨率版本之间的。例如,如果参考层采用一个1/4通用中间格式(QCIF)的分辨率,即176×144像素,并且增强层采用一个通用中间格式(CIF)的分辨率,即352×288像素,那么参考层图片必须被相应地扩展,这样增强层图片才可以根据它被适当地预测。按照H.263,只在垂直方向、只在水平方向、或同时在垂直和水平方向上分辨率被增加2倍用于一个单个增强层。可以有多个增强层,每一个增强层都在前一个层的分辨率之上增加图片的分辨率。用于上采样参考层图片的内插滤波器在H.263中被明确定义。除了通过参考增强层进行的上采样处理之外,一个空间可缩放的图片的处理和语法与一个SNR可缩放的图片的那些处理和语法是相同的。空间可缩放性提供了比SNR可缩放性增加了的空间分辨率。
在SNR或空间可缩放性中,增强层图片被称作EI-或EP-图片。如果增强层图片根据参考层中的一个INTRA图片被向上预测,那么增强层图片就称作一个增强-I(EI-)图片。在一些情况下,当参考层图片被拙劣地预测时,在增强层就可能发生图片静态部分的过度编码,从而要求一个过量的比特率。要避免这个问题,在增强层中允许前向预测。根据前一个增强层图片而被前向预测或根据参考层中的一个预测图片被向上预测的一个图片称作一个增强-P(EP)图片。计算向上和前向预测图片的平均值可以给EP图片提供一个双向预测选项。根据一个参考层图片向上预测EI-和EP-图片的意思是不需要运动矢量。在用于EP-图片的前向预测的情况下,就需要运动矢量。
H.263的可缩放性模式(附录0)指定语法以支持时间的、SNR的、和空间的可缩放能力。
传统SNR可缩放性编码带来的一个问题被称为漂移。漂移指的是一个传输差错的影响。由一个差错引起的一个可见的污迹(artefact)在时间上从差错发生的图片漂移。由于使用了运动补偿,所以可见污迹的区域可以从图片到图片地增加。在可缩放编码的情况下,该可见污迹还从较低的增强层漂移到较高的层。漂移的影响可以参考图-7来解释,图-7示出在扩展编码中使用的传统的预测关系。在一个增强层中一旦一个差错或分组丢失发生,它就传播到一个图片组(GOP)的结尾,因为图片是按顺序根据彼此被预测的。除此之外,由于增强层是基于基本层的,所以在基本层中的一个差错会引起在增强层中的差错。因为预测还发生在增强层之间,所以一个严重的漂移问题会发生在后续预测帧的更高层中。尽管接下来可能有足够的带宽发送数据以便纠正一个差错,但是解码器不能消除这个差错,直到预测链由代表一个新的GOP起始的另一个INTRA图片来重新初始化。
要处理这个问题,被称作精细粒度可缩放性(FGS)的一种可缩放性形式已得到了发展。在FGS中一个低质量基本层通过一个混合预测循环被编码并且一个(额外的)增强层在重构基本层和原始帧之间传递依次被编码的剩下的部分。FGS已经在例如MPEG-4可视标准化中被提出。
在精细粒度可缩放性编码中预测关系的一个例子在图-6中被示出。在一个精细粒度可缩放性的视频编码方案中,基本层视频在一个被很好控制的信道(例如一个具有高度差错保护的信道)中被发送以便将差错或分组丢失减到最少,在这样一种方式下基本层被编码从而适合最小信道带宽。这个最小值是在运行中可能发生或可能碰到的最窄带宽。在预测帧中的全部增强层基于参考帧中的基本层被编码。这样,在一个帧的增强层中的差错就不会引起在后续预测帧的增强层中的漂移问题并且编码方案可以适应信道条件。然而,由于预测总是基于一个低质量的基本层,所以FGS编码的编码效率不象传统的SNR可缩放性方案例如在H.263附录0中提供的那些方案那么好,并且有时还要更糟糕。
为了将FGS编码和传统的分层的可缩放性编码的优点结合起来,示于图-8中的一个混合的编码方案已经被提出,该方案被叫做渐进的FGS(PFGS)。有两点要注意。第一,在PFGS中,来自同层的尽可能多的预测被用于维持编码效率。第二,一个预测路径总是使用在参考帧中使用一个较低层的预测以便能够实现差错恢复和信道适配。第一点确保对于一个给定的视频层,运动预测尽可能的准确,这样就维持了编码效率。第二点确保在信道拥塞、分组丢失或分组差错的情况下漂移被减少。通过使用这种编码结构,不需要重发增强层数据中丢失的/错误的分组,因为增强层经几个帧的时间可以被逐渐并且自动地重构。
在图-8中,帧2根据帧1的偶数层被预测(即基本层和第二层)。帧3根据帧2的奇数层被预测(即第一层和第三层)。依次地,帧4根据帧3的偶数层被预测。这种奇/偶预测模型继续下去。术语组深度被用于描述反向参考一个公共参考层的层的数量。图-8示例了组深度是2的一种情况。组深度可以改变。如果深度是1,那么情况基本上等同于示于图-7的传统的可缩放性方案。如果深度等于全部的层数量,那么方案就等同于在图-6中举例说明的FGS方法。这样,在图-8中举例说明的渐进的FGS编码方案就提出了一个折衷,它提供了前两个技术的优点,例如编码的高效率和差错恢复。
当PFGS被应用于经过因特网或无线信道的视频传输时它提供了优点。编码的比特流可以适应一个信道的可用带宽而没有显著的漂移发生。图-9示出在一个视频序列由具有一个基本层和三个增强层的帧来表示的情况下由渐进的精细粒度可缩放性提供的带宽适配属性的一个例子。粗的点-短划线追踪实际被发送的视频层。在帧2处,带宽显著减少。发送方(服务器)通过丢弃代表较高增强层(层2和3)的比特来做出反应。在帧2后,带宽有一点增加,那么发送方就能够发送表示两个增强层的附加的比特。到帧4被发送时,可用的带宽进一步增加,从而提供足够的能力再次传输基本层和所有的增强层。这些操作不需要视频比特流的任何重新编码和重新发送。视频序列的每一个帧的所有层都被有效地编码并被嵌入一个单个的比特流中。
上面描述的现有技术的可缩放性编码技术是基于编码比特流的一个单个的解释。换句话说,解码器只解释一次编码的比特流并生成重构图片。重构的I和P图片作为参考图片用于运动补偿。
通常,在上面描述的使用时间参考的方法中,预测参考尽可能在时间上和空间上靠近要编码的图片或区域。然而,预测编码对传输差错很脆弱的,因为一个差错会影响在包含该差错的图片之后的一个预测图片链中出现的所有图片。所以,要使得一个视频传输系统更具有传输差错的鲁棒性的一个典型的方式就是减少预测链的长度。
空间、SNR、和FGS可缩放性技术全都提供一种方式使得按照字节数来说关键预测路径更短。一个关键预测路径是需要被解码以便获得视频序列内容的一个可接受表示的比特流的那部分。在比特率可缩放的编码中,关键预测路径是一个GOP的基本层。仅仅适当地保护关键预测路径而不是整个分层的比特流是方便的。然而,应注意到传统的空间和SNR可缩放性编码,连同FGS编码,降低了压缩效率。而且,它们需要发送方来决定在编码期间怎样对视频数据分层。
B-帧可以代替时间上对应的INTER帧来使用,以便缩短预测路径。然而,如果在连续锚帧之间的时间相对较长,那么使用B-帧就会引起压缩效率的降低。在这种情况下B-帧根据在时间上彼此相距更远的锚帧来被预测,因此B-帧和它们被预测所根据的参考帧就较少相似。这就会生成一个更差的预测B-帧并且结果是有更多的比特被需要来编码相关的预测差错帧。另外,当锚帧之间的时间间隔增加时,连续的锚帧就较少相似。再次,这会生成一个更差的预测锚帧图像,且有更多的比特被需要来编码相关的预测差错图像。
图-10举例说明了通常在P帧的时间预测中使用的方案。为了简化,B-帧在图-10中不被考虑。
如果一个INTER帧的预测参考可以被选择的话(就象例如H.263的参考图片选择模式中),那么一个当前帧通过根据一个与按自然数顺序紧挨在它之前的帧不同的帧来预测的话,预测路径就可以被缩短。这在图-11中被举例说明。然而,尽管参考图片的选择可以用于减少一个视频序列中差错在时间上的传播,但是它也有降低压缩效率的影响。
一项称为视频冗余编码(VRC)的技术已经被提出用于提供响应于在分组交换网络中分组丢失的视频质量中适度的降低。VRC的原则是将一个图片序列以这样一种方式划分成两个或多个线程以致所有的图片以循环的方式被分配给其中一个线程。每个线程都被独立编码。以有规律的间隔,所有线程都汇聚成一个所谓的Sync帧,它从至少其中一个单独的线程中被预测。从这个Sync帧开始,一个新的线程序列被启动。结果是在一个给定线程内的帧速率要低于整个的帧速率,在两个线程的情况下速率是一半,在三个线程的情况下速率是1/3以此类推。这导致一个严重的编码困难,因为在同一线程内的连续图片之间差异越大那么典型地就需要更长的运动矢量来表示一个线程内图片之间运动相关的变化。图-12示出VRC以两个线程运行并且每个线程三个帧。
如果在一个VRC编码视频序列中其中一个线程被损坏,例如由于一个分组丢失,则可能剩下的线程保持完整并且可以被用来预测下一个Sync帧。有可能继续解码被损坏的线程,这会导致轻微的图片质量下降,或者可能是停止解码,这会导致帧速率的降低。然而如果线程相当短,那么降级的这两种形式只会持续一个很短的时间,就是说直到下一个Sync帧到来。当两个线程中的一个线程被损坏时VRC的操作示于图-13。
Sync帧总是根据未损坏的线程来预测。这意味着被发送的INTRA-图片的数量可以保持很少,因为通常不需要完全的重新同步。正确的Sync帧结构只在两个Sync帧之间的所有线程都被损坏时才被妨碍。在这种情况下,烦人的污迹持续直到下一个INTRA-图片被正确地解码,就象没有使用VRC的情况。
目前,如果可选的参考图片选择模式(附录N)被使能的话,那么VRC就可以与ITU-T H.263视频编码标准(版本2)一起使用。然而,将VRC合并进其它的视频压缩方法并没有重大障碍。
P-帧的后向预测已经作为一个缩短预测链的方法被提出来。这在图-14中被举例说明,它示出一个视频序列的几个连续帧。在点A视频编码器接收到一个将INTRA帧(I1)插入到编码视频序列中的请求。这个请求可能响应于一个场景切换而产生,作为一个INTRA帧请求、一个周期性INTRA帧的刷新操作,或者例如响应于接收到作为来自一个远端接收机的反馈的一个INTRA帧的更新请求的结果。在一定间隔的另一个场景切换之后,INTRA帧请求或周期性INTRA帧的刷新操作发生(点B)。在第一个场景切换、INTRA帧请求或周期性INTRA帧的刷新操作之后编码器并没有马上插入一个INTRA帧,而是在两个INTRA帧请求之间的大约中间时间的位置处插入INTRA帧(I1)。在第一个INTRA帧请求和INTRA帧I1之间的帧(P2和P3)以I1作为预测链的起始点分别按顺序和以INTER格式进行后向预测。在INTRA帧I1和第二个INTRA帧请求之间剩下的帧(P4和P5)按传统的方式以INTER格式来被前向预测。
这种方法的好处可以通过考虑有多少帧必须被正确发送以便能够解码帧P5来看到。如果传统的帧排序,象图-15中示出的那样被使用,那么成功的解码P5需要I1、P2、P3、P4和P5正确地被发送并被解码。在示于图-14的方法中,成功的解码P5只需要I1、P4和P5正确地被发送并被解码。换句话说,这种方法提供了与使用传统的帧排序和预测的一种方法相比P5被正确解码的更大的确定性。
然而,应注意到,后向预测的INTER帧在I1被解码之前不能被解码。结果是,一个比在场景切换和后面的INTRA帧之间的时间更大的初始缓冲延时被需要以防止在回放中的一个停顿。
图-16示出一个视频通信系统10,它按照ITU-TH.26L建议来工作,该建议基于测试模型(TML)TML-3,此时它被当前建议修改用于TML-4。系统10有一个发送方12和一个接收方14。应理解既然系统装备有双向发送和接收,所以发送方和接收方12和14可以既实现发送功能也可以实现接收功能并且是可以相互改变的。系统10包括一个视频编码层(VCL)和一个有网络意识的网络适配层(NAL)。术语网络意识意思是NAL能够将数据安排成适合该网络。VCL包括波形编码和熵编码,还有解码功能。当压缩视频数据被发送时,NAL将编码的视频数据分组成业务数据单元(分组),它们被传递给一个传输编码器以便经一个信道来传输。当接收到被压缩的视频数据时,NAL从经一个信道传输之后由传输解码器接收到的业务数据单元中解分组被编码的视频数据。NAL能够将一个视频比特流分割成编码的块数据和预测差错系数,独立于用于解码和重构图像数据的更重要的其它数据,例如图片类型和运动补偿信息。
VCL的主要任务是以一种有效的方式编码视频数据。然而,正如在前面已经讨论的,差错对有效地编码数据产生不利的影响,且因此对可能差错的一些认识被包括进来。VCL能够中断预测编码链并采取措施来补偿差错的生成和传播。这可以通过以下方式被实现i)通过引入INTRA-帧和INTER-编码的宏块来中断时间预测链;ii)通过转换到一个独立的切片编码模式来中断差错传播,其中运动矢量预测被限制在切片边界内;iii)引入一个可变长编码,它可以被独立解码,例如没有对帧的自适应算术编码;以及iv)通过对传输信道可用比特率的变化进行快速反应并调整编码视频比特流的比特率,使得分组丢失可能会较少发生。
另外,VCL标识优先级类别从而支持网络中的服务质量(QOS)机制。
典型地,视频编码方案包括描述传输比特流中的编码视频帧或图片的信息。这个信息采取语法元素的形式。一个语法元素是一个码字或一组在编码方案中具有相似功能的码字。语法元素被划分到优先级类别中。一个语法元素的优先级类别按照相对于其它类别的编码和解码的相关性来定义。解码相关性源自时间预测、空间预测的使用以及可变长编码的使用。用于定义优先级类别的一般原则如下1.如果语法元素A不知道语法元素B而可以被正确解码而语法元素B不知道语法元素A就不可以被正确解码的话,那么语法元素A比语法元素B有更高的优先级。
2.如果语法元素A和B可以被独立解码,那么对每一个语法元素的图像质量的影响程度就确定它的优先级类别。
语法元素之间的相关性和由于传输差错引起的语法元素中的差错或语法元素的丢失的影响可以可视化为一个相关树,例如在图-17中所示的那样,它举例说明了在当前H.26L测试模型中的不同语法元素之间的相关性。错误或丢失的语法元素只对在相关树的同一分支内并且远离树根的语法元素的解码有影响。所以,离树根较近的语法元素比处于较低优先级类别的那些语法元素对解码的图像质量的影响更大。
典型地,优先级类别在逐个帧的基础上被定义。如果一个基于切片的图像编码模式被采用的话,那么在语法元素对优先级类别的分配中某个调整要被实现。
现在更详细地参考图-17,可以看到当前H.26L测试模型有10个优先级类别范围从类别1,它有最高优先级,到类别10,它有最低优先级。下面就是每一个优先级类别的语法元素的总结以及每一个语法元素携带的信息的摘要概述类别1PSYNC、PTYPE包含PSYNC、PTYPE语法元素类别2MB_TYPE、REF_FRAME包含全部宏块类型和一个帧内的参考帧语法元素。对于INTRA图片/帧来说,这个类别不包含元素。
类别3IPM包含INTRA-预测-模式语法元素;类别4MVD、MACC包含运动矢量和运动准确度的语法元素(TML-2)。对于INTRA图片/帧来说,这个类别不包含元素。
类别5CBP_Intra包含被分配给一个帧中的INTRA-宏块的全部CBP语法元素。
类别6LUM_DC-Intra、CHR_DC-Intra包含用于INTRA-MB中所有块的全部DC亮度系数和全部DC色度系数。
类别7LUM_AC-Intra、CHR_AC-Intra包含用于INTRA-MB中所有块的全部AC亮度系数和全部AC色度系数。
类别8CBP_Inter,包含被分配给一个帧中的INTER-MB的全部CBP语法元素。
类别9LUM_DC-Inter、CHR_DC-Inter包含每一个块的第一个亮度系数和INTER-MB中所有块的DC色度系数。
类别10LUM_AC-Inter、CHR_AC-Inter包含INTER-MB中所有块的剩下的亮度系数和色度系数。
NAL的主要任务是以一种最佳方式发送包含在优先级类别内的数据,该方式适应于基础网络。所以,一个惟一的数据封装方法被定义用于基础的每一个网络或网络类型。NAL完成下面的任务1.它将包含在被标识的语法元素类别中的数据映射成服务数据单元(分组);2.它以一种适应于基础网络的方式来传送得到的服务数据单元(分组)。
NAL还可以提供差错保护机制。
用于将压缩的视频图片编码成不同优先级类别的语法元素的优先级划分简化了对基础网络的适配。支持优先级机制的网络从语法元素的优先级划分中获得了特定的利益。特别是,当使用以下内容时语法元素的优先级划分可能是特别有利的i)在IP中的优先级方法(例如资源预留协议,RSVP);ii)在第三代移动通信网例如通用移动电话系统(UMTS)中的服务质量(QOS)机制;iii)用于多媒体通信的H.223复用协议的附录C或D;以及iv)由基础网络提供的不等差错保护。
不同的数据/电信网通常具有非常不同的特征。例如,不同的基于分组的网络使用采用最短和最长分组长度的协议。一些协议确保以正确的顺序传递数据分组,其它协议则不是。所以,将用于多个类别的数据合并成一个单个数据分组或将表示一个给定优先级类别的数据分割到几个数据分组将在需要的时候被应用。
当接收到压缩视频数据时,通过使用网络和传输协议,VCL检验用于一个特定帧的某一个类别和具有较高优先级的所有类别都可以被识别并已经被正确接收,即没有比特差错而且所有的语法元素都有正确的长度。
编码视频比特流依靠基础网络和使用的应用而按不同的方式被封装。下面,一些示例的封装方案被介绍。
H.324(电路交换的可视电话)H.234的传输编码器,即H.223,具有一个254字节的最大业务数据单元尺寸。典型地这不足以携带整个一幅图片,因此VCL可能将一幅图片划分成多个分区从而每一个分区都适合一个业务数据单元。码字典型地基于它们的类型被聚合进分区,即同一类型的码字被聚合进同一分区。分区内的码字(和字节)顺序按照重要性递减的顺序被安排。如果一个比特差错影响了一个携带视频数据的H.223业务数据单元,那么解码器就可能由于参数的可变长编码从而丢失解码同步,并且它将不可能解码业务数据单元中的其余数据。然而,由于最重要的数据出现在业务数据单元的开始,那么解码器就可能能够生成图片内容的一个降级的表达。
IP可视电话由于历史原因,一个IP分组的最大尺寸大约为1500字节。使用尽可能大的IP分组的好处有两个原因1.IP网元,例如路由器,可能由于过量的IP业务量,从而引起内部缓冲器溢出而被拥塞。缓冲器典型地是面向分组的,就是说,它们可以包含一定数量的分组。这样,为了避免网络拥塞,希望使用不常生成的大分组而不是频繁生成的小分组。
2.每一个IP分组都包含头部信息。一个典型的用于实时视频通信的协议组合,即RTP/UDP/IP,包括每分组一个40字节的头部段。当连接到一个IP网时,通常使用一个电路交换的低带宽拨号链路。如果小的分组被使用的话,在低比特率链路中分组化开销就变得非常巨大。
依靠图片尺寸和复杂性,一个INTER-编码的视频图片可能包括足够少的比特来适应一个单个IP分组。
有多种方式来提供在IP网中的不等差错保护。这些机制包括分组复制、前向纠错(FEC)分组、区别业务,即给定一个网络中某些分组优先级以及综合业务(RSVP协议)。典型地,这些机制需要将有相似重要性的数据封装进一个分组。
IP视频流因为视频流是一个非会话式应用,所以并没有严格的端到端的延时要求。结果是,分组方案可能使用了来自多个图片的信息。例如,数据可以以一种类似于上面描述的一个IP可视电话情况中的方式被分类,只是来自多个图片的高级重要性的数据被封装到同一分组中。
可替换地,每一幅图片或图像切片可以被封装进它自己的分组。数据划分被应用,使得最重要的数据出现在分组的开头。前向纠错(FEC)分组从一个已经发送的分组集合中被计算。FEC算法被选择从而它只保护出现在分组开头处的一定数量的字节。在接收端,如果一个正常的数据分组丢失,那么该丢失的数据分组的开头通过使用FEC分组可以被校正。这个方法在ITU-T,SG16,问题15,文档Q15-J-61,2000年5月16号由A.H.Li,J.D.Villasenor编写的“用于H.323附录I的一个通用的非均衡级别保护(ULP)建议书”(A.H.Li,J.D.Villasenor,”A genericUneven Level Protection(ULP)proposal for Annex I ofH.323”,ITU-T,SG16,Question 15,document Q15-J-61,16-May-2000)中被提出。

发明内容
按照本发明的一个第一方面提供了一种方法用于编码一个视频信号从而生成一个比特流,包括的步骤有通过构成比特流的一个第一部分来编码一个第一完整帧,所述第一部分包括用于重构第一完整帧的信息,该信息被按优先次序划分成高和低优先级信息;基于第一完整帧的一个版本定义一个第一虚拟帧,所述第一虚拟帧在缺乏第一完整帧的至少一些低优先级信息时通过使用第一完整帧的高优先级信息来被构造;并且通过构成比特流的一个第二部分来编码一个第二完整帧,所述第二部分包括在重构第二完整帧时使用的信息,使得第二完整帧可以基于第一虚拟帧和比特流的第二部分包括的信息来被完全重构,而不基于第一完整帧和比特流的第二部分包括的信息。
优选地,该方法还包括的步骤有将第二完整帧的信息按优先次序划分成高和低优先级信息;基于第二完整帧的一个版本定义一个第二虚拟帧,所述第二虚拟帧在缺乏第二完整帧的至少一些低优先级信息时通过使用第二完整帧的高优先级信息来被构造;并且通过构成比特流的一个第三部分来编码一个第三完整帧,所述第三部分包括在重构第三完整帧时使用的信息,使得第三完整帧可以基于第二完整帧和比特流的第三部分包括的信息来被完全重构。
按照本发明的一个第二方面提供了一种方法用于编码一个视频信号从而生成一个比特流,包括的步骤有通过构成比特流的一个第一部分来编码一个第一完整帧,所述第一部分包括用于重构第一完整帧的信息,该信息被按优先次序划分成高和低优先级信息;基于第一完整帧的一个版本定义一个第一虚拟帧,所述第一虚拟帧在缺乏第一完整帧的至少一些低优先级信息时通过使用第一完整帧的高优先级信息来被构造;通过构成比特流的一个第二部分来编码一个第二完整帧,所述第二部分包括用于重构第二完整帧的信息,该信息被按优先次序划分成高和低优先级信息,第二帧被编码,使得它可以基于第一虚拟帧和比特流的第二部分包括的信息来被完全重构,而不是基于第一完整帧和比特流的第二部分包括的信息;基于第二完整帧的一个版本定义一个第二虚拟帧,所述第二虚拟帧在缺乏第二完整帧的至少一些低优先级信息时通过使用第二完整帧的高优先级信息来被构造;并且通过构成比特流的一个第三部分来编码一个第三完整帧,它根据第二完整帧被预测并按顺序跟随它,所述第三部分包括用于重构第三完整帧的信息,使得第三完整帧就可以基于第二完整帧和比特流的第三部分包括的信息来被完全重构。
第一虚拟帧可以在缺乏第一完整帧的至少一些低优先级信息时通过使用比特流第一部分的高优先级信息并且通过使用前一个虚拟帧作为一个预测参考来被构造。其它虚拟帧可以基于前面的虚拟帧被构造。因此,一连串虚拟帧就可以被提供。
完整帧在这种意义上是完整的,即一个能够显示的图像可以被构成。对于虚拟帧来说不必这样。
第一完整帧可能是一个INTRA编码的完整帧,在这种情况下,比特流的第一部分包括用于完全重构INTRA编码的完整帧的信息。
第一完整帧可能是一个INTER编码的完整帧,在这种情况下,比特流的第一部分包括用于相对一个参考帧而重构INTER编码的完整帧的信息,该参考帧可能是一个完整参考帧或一个虚拟参考帧。
在一个实施方案中,本发明是一个可缩放的编码方法。在这种情况下,虚拟帧可能被解释成是一个可缩放比特流的一个基本层。
在本发明的另一个实施方案中,不止一个虚拟帧根据第一完整帧的信息来定义,所述不止一个的虚拟帧中的每一个都通过使用第一完整帧的不同高优先级信息来定义。
在本发明一个进一步的实施方案中,不止一个虚拟帧根据第一完整帧的信息来定义,所述不止一个的虚拟帧中的每一个都通过使用第一完整帧的不同高优先级信息来定义,所述不同高优先级信息通过使用第一完整帧信息的一个不同优先级划分来构成。
优选地用于重构一个完整帧的信息按照它在重构完整帧中的重要性而按优先次序被划分成高和低优先级信息。
完整帧可能是一个可缩放帧结构的基本层。
当通过使用前一个帧来预测一个完整帧时,在这样一个预测步骤中,完整帧可以基于前一个完整帧被预测并且在一个后续的预测步骤中,完整帧可以基于一个虚拟帧被预测。用这种方式,预测基础可以逐个预测步骤地改变。这种改变可以在一个预定的基础上发生或不时地由其它因素例如要发送编码视频信号的一条链路的质量来确定。在本发明的一个实施方案中这个改变由一个从接收解码器接收到的请求来启动。
优选地一个虚拟帧是一个通过使用高优先级信息并且有意不使用低优先级信息来被构成的帧。优选地一个虚拟帧并不被显示。可替换地,如果它被显示,那么它是作为对一个完整帧的一个替换。这可能是由于一个传输差错而使完整帧不可用的情况。
本发明使得当缩短一个时间预测路径时编码效率能够有一个改进。它还具有增加编码视频信号对降级的复原能力的影响,该降级是由比特流中数据的丢失或损坏而导致的,所述比特流携带用于重构该视频信号的信息。
优选地该信息包括码字。
虚拟帧不仅可以由高优先级信息来构造或定义,还可以由某些低优先级信息来构造或定义。
一个虚拟帧可以通过使用虚拟帧的前向预测根据前一个虚拟帧被预测。可替换地或额外地,一个虚拟帧可以通过使用虚拟帧的后向预测根据后一个虚拟帧被预测。INTER帧的后向预测已经结合图-14在前面被描述。应理解这个原则可以容易地应用于虚拟帧。
一个完整帧可以通过使用前向预测帧根据前一个完整帧或虚拟帧被预测。可替换地或额外地,一个完整帧可以通过使用后向预测根据后一个完整帧或虚拟帧被预测。
如果一个虚拟帧不仅由高优先级信息来定义还由某些低优先级信息来定义,那么该虚拟帧就可以通过使用其高和低优先级信息来被解码并且还可以基于另一个虚拟帧被预测。
解码一个比特流用于一个虚拟帧可以使用一个与在解码一个比特流用于一个完整帧中使用的不同的算法。可以有多个算法用于解码虚拟帧。一个特定算法的选择可以在比特流中用信号通知。
在缺乏低优先级信息时,它可以由默认值来代替。默认值的选择可以改变并且正确的选择可以在比特流中用信号通知。
按照本发明的一个第三方面提供了一种方法用于解码一个比特流从而生成一个视频信号,包括的步骤有从比特流的一个第一部分中解码一个第一完整帧,所述第一部分包括用于重构第一完整帧的信息,该信息被按优先次序划分成高和低优先级信息;基于第一完整帧的一个版本定义一个第一虚拟帧,所述第一虚拟帧在缺乏第一完整帧的至少一些低优先级信息时通过使用第一完整帧的高优先级信息来被构造;并且基于第一虚拟帧和比特流的一个第二部分包括的信息来预测一个第二完整帧而不基于第一完整帧和比特流的第二部分包括的信息。
优选地该方法还包括的步骤有基于第二完整帧的一个版本定义一个第二虚拟帧,所述第二虚拟帧在缺乏第二完整帧的至少一些低优先级信息时通过使用第二完整帧的高优先级信息来被构造;并且基于第二完整帧和比特流的一个第三部分包括的信息来预测一个第三完整帧。
按照本发明的一个第四方面提供了一种方法用于解码一个比特流以生成一个视频信号,它包括的步骤有从比特流的一个第一部分中解码一个第一完整帧,所述第一部分包括用于重构第一完整帧的信息,该信息被按优先次序划分成高和低优先级信息;基于第一完整帧的一个版本定义一个第一虚拟帧,所述第一虚拟帧在缺乏第一完整帧的至少一些低优先级信息时通过使用第一完整帧的高优先级信息来被构造;基于第一虚拟帧和比特流的一个第二部分包括的信息来预测一个第二完整帧而不基于第一完整帧和比特流的第二部分包括的信息;基于第二完整帧的一个版本定义一个第二虚拟帧,所述第二虚拟帧在缺乏第二完整帧的至少一些低优先级信息时通过使用第二完整帧的高优先级信息来被构造;并且基于第二完整帧和比特流的一个第三部分包括的信息来预测一个第三完整帧。
第一虚拟帧可以在缺乏第一完整帧的至少一些低优先级信息时通过使用比特流第一部分的高优先级信息并且通过使用前一个虚拟帧作为一个预测参考来被构造。其它虚拟帧可以基于前面的虚拟帧被构造。一个完整帧可以从一个虚拟帧中被解码。一个完整帧可以从虚拟帧的一个预测链中被解码。
按照本发明的一个第五方面提供了一个视频编码器用于编码一个视频信号从而生成一个比特流,它包括一个完整帧编码器用于构成一个第一完整帧的比特流的一个第一部分,所述第一部分包含用于重构第一完整帧的信息,该信息被按优先次序划分成高和低优先级信息;一个基于第一完整帧的一个版本定义至少一个第一虚拟帧的虚拟帧编码器,所述第一虚拟帧在缺乏第一完整帧的至少一些低优先级信息时通过使用第一完整帧的高优先级信息来被构造;以及一个帧预测器用于基于第一虚拟帧和比特流的一个第二部分包括的信息来预测一个第二完整帧而不基于第一完整帧和比特流的第二部分包括的信息。
优选地所述完整帧编码器包括所述帧预测器。
在本发明的一个实施方案中,编码器将一个信号发送给解码器来指示一旦出现一个传输差错或丢失时一个帧的比特流中的哪一部分足以生成一幅可接受的图片来代替一幅全质量图片。信令可以包括在比特流中或者它可以独立于比特流来传送。
信令可以应用于一幅图片的一部分,例如一个切片、一个块、一个宏块或一组块,而不是应用于一个帧。当然,整个方法可以应用于图像分段。
信令可以指示多幅图片中的哪一幅图片可能足以生成一个可接受的图片来代替一个全质量图片。
在本发明的一个实施方案中,编码器可以将一个信号发送给解码器来指示怎样构造一个虚拟帧。该信号可以指示用于一个帧的信息的优先级划分。
按照本发明的另一个实施方案,编码器可以将一个信号发送给解码器来指示怎样构造一个虚拟备用参考图片,该图片在实际的参考图片丢失或损坏严重的情况下被使用。
按照本发明的一个第六方面提供了一个解码器用于解码一个比特流从而生成一个视频信号,它包括一个完整帧解码器用于从比特流的一个第一部分中解码一个第一完整帧,所述第一部分包含用于重构第一完整帧的信息,该信息被按优先次序划分成高和低优先级信息;一个虚拟帧解码器用于在缺乏第一完整帧的至少一些低优先级信息时通过使用第一完整帧的高优先级信息而从第一完整帧的比特流的第一部分中构成一个第一虚拟帧;以及一个帧预测器用于基于第一虚拟帧和比特流的一个第二部分包括的信息来预测一个第二完整帧而不基于第一完整帧和比特流的第二部分包括的信息。
优选地所述完整帧解码器包括所述帧预测器。
因为低优先级信息不在虚拟帧的构造中使用,所以这种低优先级信息的丢失并不对虚拟帧的构造产生不利的影响。
在参考图片选择的情况下,编码器和解码器可以被提供给多个用于存储完整帧的多帧缓冲器和一个用于存储虚拟帧的多帧缓冲器。
优选地,用于预测另一个帧的一个参考帧可以通过,例如编码器、解码器或两者来被选择。对每一个帧、图片分段、切片、宏块、块或无论什么子图片元素来说,参考帧可以被独立地选择。一个参考帧可以是可存取的或在编码器和解码器中生成的任何完整帧或虚拟帧。
用这种方式,每一个完整帧都不局限于一个单个虚拟帧而是可能与多个不同的虚拟帧相关,其中每一个虚拟帧都有一种不同的方式将比特流分类用于完整帧。这些分类比特流的不同方式可以是用于运动补偿的不同参考(虚拟或完整)图片(或多个图片)并且/或者是解码比特流的高优先级部分的一种不同方式。
优选地反馈从解码器被提供给编码器。这个反馈可以是以一个指示的形式,所述指示与一个或多个指定图片的码字有关。该指示可以指示已经被接收到的、还没有被接收到的或已经被接收到的处于一个损坏状态的码字。这可引起编码器将在一个后续帧的运动补偿预测中使用的预测参考从一个完整帧变成一个虚拟帧。可替换地,该指示可以引起编码器重发还没有被接收到的或者已经被接收到的处于一个损坏状态的码字。该指示可以指定一个图片内某一个区域内的码字或者可以指定多个图片中某一个区域内的码字。
按照本发明的一个第七方面提供了一个视频通信系统用于将一个视频信号编码成一个比特流并且用于将比特流解码成视频信号,该系统包括一个编码器和一个解码器,所述编码器包括一个完整帧编码器用于构成一个第一完整帧的比特流的第一部分,所述第一部分包含用于重构第一完整帧的信息,该信息被按优先次序划分成高和低优先级信息;一个基于第一完整帧的一个版本定义一个第一虚拟帧的虚拟帧编码器,所述第一虚拟帧在缺乏第一完整帧的至少一些低优先级信息时通过使用第一完整帧的高优先级信息来被构造;以及一个帧预测器用于基于第一虚拟帧和比特流的一个第二部分包括的信息来预测一个第二完整帧而不基于第一完整帧和比特流的第二部分包括的信息;并且解码器包括一个完整帧解码器用于从比特流的第一部分中解码一个第一完整帧;一个虚拟帧解码器用于在缺乏第一完整帧的至少一些低优先级信息时通过使用第一完整帧的高优先级信息从比特流的第一部分中构成第一虚拟帧;以及一个帧预测器用于基于第一虚拟帧和比特流的第二部分包括的信息来预测一个第二完整帧而不基于第一完整帧和比特流的第二部分包括的信息。
优选地所述完整帧编码器包括所述帧预测器。
按照本发明的一个第八方面提供了一个视频通信终端,它包括一个视频编码器用于编码一个视频信号从而生成一个比特流,该视频编码器包括一个完整帧编码器用于构成一个第一完整帧的比特流的一个第一部分,所述第一部分包含用于重构第一完整帧的信息,该信息被按优先次序划分成高和低优先级信息;一个基于第一完整帧的一个版本定义至少一个第一虚拟帧的虚拟帧编码器,所述第一虚拟帧在缺乏第一完整帧的至少一些低优先级信息时通过使用第一完整帧的高优先级信息来被构造;以及一个帧预测器用于基于第一虚拟帧和比特流的一个第二部分包括的信息来预测一个第二完整帧而不基于第一完整帧和比特流的第二部分包括的信息。
优选地所述完整帧编码器包括所述帧预测器。
按照本发明的一个第九方面提供了一个视频通信终端,它包括一个解码器用于解码一个比特流从而生成一个视频信号,该解码器包括一个完整帧解码器用于从比特流的一个第一部分中解码一个第一完整帧,所述第一部分包含用于重构第一完整帧的信息,该信息被按优先次序划分成高和低优先级信息;一个虚拟帧解码器用于在缺乏第一完整帧的至少一些低优先级信息时通过使用第一完整帧的高优先级信息从第一完整帧的比特流的第一部分中构成一个第一虚拟帧;以及一个帧预测器用于基于第一虚拟帧和比特流的一个第二部分包括的信息来预测一个第二完整帧而不基于第一完整帧和比特流的第二部分包括的信息。
优选地所述完整帧解码器包括所述帧预测器。
按照本发明的一个第十方面提供了一个计算机程序用于操作一台计算机作为一个视频编码器来编码一个视频信号从而生成一个比特流,它包括计算机可执行代码用于通过构成比特流的一个第一部分来编码一个第一完整帧,所述第一部分包含用于完全重构第一完整帧的信息,该信息被按优先次序划分成高和低优先级信息;计算机可执行代码用于基于第一完整帧的一个版本定义一个第一虚拟帧,所述第一虚拟帧在缺乏第一完整帧的至少一些低优先级信息时通过使用第一完整帧的高优先级信息来被构造;以及计算机可执行代码用于通过构成比特流的一个第二部分来编码一个第二完整帧,所述第二部分包括用于重构第二完整帧的信息,使得要被重构的第二完整帧是基于虚拟帧和比特流的第二部分包括的信息而不是基于第一完整帧和比特流的第二部分包括的信息。
按照本发明的一个第十一方面提供了一个计算机程序用于操作一台计算机作为一个视频解码器来解码一个比特流从而生成一个视频信号,它包括计算机可执行代码用于从比特流的一个部分中解码一个第一完整帧,所述第一个部分包含用于重构第一完整帧的信息,该信息被按优先次序划分成高和低优先级信息;计算机可执行代码用于基于第一完整帧的一个版本来定义一个第一虚拟帧,所述第一虚拟帧在缺乏第一完整帧的至少一些低优先级信息时通过使用第一完整帧的高优先级信息来被构造;以及计算机可执行代码用于基于第一虚拟帧和比特流的一个第二部分包括的信息来预测一个第二完整帧而不基于第一完整帧和比特流的第二部分包括的信息。
优选地第十和第十一方面的计算机程序被存储在一个数据存储媒体上。这可能是一个便携式数据存储媒体或是一个设备内的一个数据存储媒体。该设备可能是便携式的,例如是一个膝上型电脑、一个个人数字助理或一个移动电话。
在本发明上下文中提及的“帧”还被规定为包括帧的一部分,例如一个帧内的切片、块和MB。
与PFGS相比,本发明提供了更好的压缩效率。这是因为它有一个更灵活的可缩放性等级。PFGS和本发明存在于同一个编码方案中是可能的。在这种情况下,本发明运行于PFGS的基本层之下。
本发明引入了虚拟帧的概念,所述虚拟帧通过使用由一个视频编码器生成的编码信息中最重要的一部分来被构造。在这个上下文中,术语“最重要”指的是在一个压缩视频帧的编码表示中的信息,它对成功地重构该帧产生最大的影响。例如,按照ITU-T建议H.263在压缩视频数据的编码中使用的语法元素的上下文中,编码的比特流中最重要的信息可以被认为是包括那些更靠近相关性树的树根部的语法元素,所述相关性树定义语法元素之间的解码关系。换句话说,那些必须被成功解码以便使得能够解码其它语法元素的语法元素可以被认为是表达在压缩视频帧的编码表示中较重要的/较高优先级的信息。
虚拟帧的使用提供了一种增强一个编码比特流的差错复原能力的新方式。特别是,本发明引入了一种实现运动补偿的预测的新方式,其中使用虚拟帧生成的一个可替换的预测路径被使用。应注意到在前面描述的现有技术的方法中,只有完整帧,即通过使用一个帧的全部编码信息来重构的视频帧,才被用作运动补偿的参考。在按照本发明的方法中,一连串虚拟帧通过使用编码视频帧的较高重要性的信息,连同链内的运动补偿预测来被构造。除了一个传统的使用编码视频帧的全部信息的预测路径之外,包括虚拟帧的预测路径被提供。应注意到术语“完整”指的是使用了在重构一个视频帧中使用的全部可用的信息。如果讨论中的视频编码方案生成了一个可缩放的比特流,那么术语“完整”就意味着使用了提供给可缩放结构中一个给定层的全部信息。还应注意到虚拟帧通常不打算被显示出来。在一些情况下,依赖于在虚拟帧的构造中使用的信息种类,它们可能不适合于,或者不能,显示。在另一些情况下,虚拟帧可能适合于,或者能够,显示,但是在任何情况下它们都不显示出来并且只被用于提供运动补偿预测的一个可替换的手段,正如在上面的一般术语中描述的那样。在本发明的其它实施方案中,虚拟帧可以被显示出来。还应注意到以不同的方式按优先次序划分来自比特流的信息以便能够构造不同种类的虚拟帧是可能的。
当与上面描述的现有技术的差错复原方法比较时按照本发明的方法具有多个优点。例如,考虑一组被编码从而构成一序列帧I0、P1、P2、P3、P4、P5和P6的图片(GOP),按照本发明实现的一个视频编码器可以被编程从而通过使用在以INTRA帧I0为起始的一个预测链中的运动补偿的预测来编码INTER帧P1、P2和P3。同时,编码器生成一个虚拟帧I0’、P1’、P2’和P3’的集合。虚拟INTRA帧I0’通过使用表示I0的较高优先级信息来被构造并且类似地,虚拟INTER帧P1’、P2’和P3’通过使用完整INTER帧P1、P2和P3的较高优先级信息来分别被构造并且在一个以虚拟INTRA帧I0’为起始的运动补偿的预测链中被构成。在这个例子中,虚拟帧并不有意用于显示并且编码器用这样一种方式被编程以致当它到达帧P4时,运动预测参考被选择为虚拟帧P3’而不是完整帧P3。之后后续的帧P5和P6在一个预测链中通过使用完整帧作为它们的预测参考而从P4被编码。
这个方法可以被视为与例如由H.263提供的参考帧选择模式相似。然而,与按照一个传统的参考图片选择方案使用的一个可替换的参考帧(例如P2)相比,在按照本发明的方法中,可替换的参考帧,即虚拟帧P3’,与否则将已经在帧P4的预测中使用的参考帧(即,帧P3)具有一个更大的相似性。记得P3’实际上是从一个描述P3自身的编码信息,即用于解码帧P3的最重要信息的子集中被构造出来的,就可以很容易地证明这点。因为这个原因,使用一个虚拟参考帧所相应的预测差错信息就可能比在使用传统的参考图片选择时预期的要少。用这种方式本发明提供了一个与传统的参考图片选择方法相比的压缩效率的增益。
还应注意到如果一个视频编码器被以这样一种方式来编程以致它周期性地使用一个虚拟帧代替一个完整帧作为一个预测参考的话,那么有可能减少或者阻止由影响比特流的传输差错引起的在接收解码器处的可视污迹的积累和传播。
有效地,按照本发明的虚拟帧的使用是一种缩短在运动补偿预测中的预测路径的方法。在上面表述的预测方案的例子中,帧P4通过使用一个以虚拟帧I0’为起始并且跟随着虚拟帧P1’、P2’和P3’的预测链来被预测。尽管按照帧的数量来说预测路径的长度与在一个使用帧I0、P1、P2和P3的传统的运动补偿预测方案中预测路径的长度相同,但是如果从I0’到P3’的预测链在P4的预测中被使用的话那么必须被正确接收以便确保无差错重构P4的比特的数量要少。
在一个接收解码器只可以重构一个有一定程度的视觉失真的特定帧例如P2的事件中,由于从编码器发送的比特流中信息的丢失或损坏,解码器可能请求编码器相对于虚拟帧P2’来编码序列中的下一个帧,例如P3。如果差错发生在表示P2的低优先级信息中,那么可能相对P2’的P3的预测将会有限制或阻止传输差错传播到P3和序列中后续帧的效果。这样,预测路径的完全重新初始化的要求,即对一个INTRA帧更新的请求和传输就减少了。在低比特率的网络中这具有显著的优点,在那里响应于一个INTRA更新请求的一个全部INTRA帧的传输可能导致在解码器处显示重构的视频序列时出现不希望的停顿。
如果按照本发明的方法结合被发送给解码器的比特流的不等差错保护被使用,则上面描述的优点可以被进一步增强。术语“不等差错保护”在此被使用意味着任何方法,所述方法给一个编码视频帧的较高优先级信息提供比编码帧的相关较低优先级信息更高程度的比特流中的差错复原能力。例如,不等差错保护可以涉及以这样一种方式包含高和低优先级信息的分组传输,使得高优先级信息分组不太可能丢失。这样,当不等差错保护连同本发明的方法被使用时,用于重构视频帧的较高优先级/较重要的信息更可能被正确接收到。结果是,就有更高的概率使得重构虚拟帧所需要的全部信息将被无差错地接收。所以,很明显使用不等差错保护连同本发明的方法进一步增加了一个编码视频序列的差错复原能力。特别是,当一个视频编码器被编程从而周期性地使用一个虚拟帧作为一个参考用于运动补偿预测时,那么有很高的概率使得无差错地重构虚拟参考帧需要的全部信息将在解码器被正确地接收。因此,就有更高的概率使得任何根据虚拟参考帧预测的完整帧将被无差错地重构。
本发明还使得一个接收到的比特流中的高重要性部分能够被重构并且被用于隐藏比特流中低重要性部分的丢失或损坏。这可以通过使得编码器能够发送给解码器一个指示来获得,所述指示指定一个帧的比特流中的哪一部分足以生成一个可接受的重构图片。这个可接受的重构可以被用于在一个传输差错或丢失的事件中代替一个全质量图片。将指示提供给解码器所需的信令可以被包括在视频比特流自身中或可以,例如使用一个控制信道,独立于视频比特流而被发送给解码器。通过使用该指示提供的信息,解码器解码该帧的信息中高重要性的部分并用默认值代替低重要性的部分,以便获得一个可接受的图片用于显示。同样的原则还可以被应用于子图片(切片等等)以及多个图片。用这种方式本发明还允许差错隐藏以一种明确的方式被控制。
在另一个差错隐藏方法中,编码器可以提供给解码器一个怎样构造一个虚拟备用参考图片的指示,如果实际的参考图片丢失或损坏太严重以致不能被使用那么所述虚拟备用参考图片就可以作为一个参考帧用于运动补偿预测。
本发明还可以被分类成SNR可缩放性的一个新类型,该新类型比现有技术的可缩放性技术具有更大的灵活性。然而,如上面解释的,按照本发明,用于运动补偿预测的虚拟帧不必表示任何出现在序列中的未压缩图片的内容。另一方面,在已知的可缩放性技术中,在运动补偿预测中使用的参考图片确实表示在视频序列中相应的初始(即未压缩的)图片。因为虚拟帧不打算被显示出来,不象在传统可缩放性方案中的基本层,所以编码器不必构造可接受用于显示的虚拟帧。结果是本发明获得的压缩效率接近于一个一层编码方法。


本发明现在只通过例子,通过参考附图来被描述,其中图-1示出一个视频传输系统;图-2举例说明INTER(P)和双向预测(B)图片的预测;图-3示出一个IP多播系统;图-4示出SNR可缩放图片;图-5示出空间可缩放图片;图-6示出在精细粒度可缩放编码中的预测关系;图-7示出在可缩放编码中使用的传统的预测关系;图-8示出在渐进的精细粒度可缩放编码中的预测关系;图-9举例说明在渐进的精细粒度可缩放性中的信道适配;图-10示出传统的时间预测;图-11举例说明通过使用参考图片选择来缩短预测路径;图-12举例说明通过使用视频冗余编码来缩短预测路径;图-13示出处理损坏的线程的视频冗余编码;图-14举例说明通过重新定位一个INTRA帧并应用INTER帧的后向预测来缩短预测路径;图-15示出在一个INTRA帧之后的传统的帧预测关系;图-16示出一个视频传输系统;图-17示出在H.26L TML-4测试模型中语法元素的相关性;图-18举例说明按照本发明的一个编码过程;
图-19举例说明按照本发明的一个解码过程;图-20示出图-19中解码过程的一个修改;图-21举例说明按照本发明的一个视频编码方法;图-22举例说明按照本发明的另一个视频编码方法;图-23示出按照本发明的一个视频传输系统;以及图-24示出使用ZPE-图片的一个视频传输系统。
图-1到图-17已经在前面被描述。
具体实施例方式
现在本发明通过参考图-18(该图举例说明了由一个编码器实现的一个编码过程)和图-19(该图举例说明了由对应所述编码器的一个解码器实现的一个解码过程),以过程步骤的一个集合来被更详细描述。在图-18和图-19中给出的过程步骤可以按照图-16在一个视频传输系统中被实现。
首先将参考图-18举例说明的编码过程。在一个初始化阶段中,编码器初始化一个帧计数器(步骤110),初始化一个完整参考帧缓冲器(步骤112)并初始化一个虚拟参考帧缓冲器(步骤114)。之后所述编码器接收到来自一个源,例如一个视频摄像机的未加工的,即没有被编码的视频数据(步骤116)。该视频数据可以起源于一个实时传送。编码器接收到将在当前帧的编码中使用的编码模式的一个指示(步骤118),就是说,它将是一个INTRA帧还是一个INTER帧。所述指示可以来自一个预先设置的编码方案(流程块120)。该指示可选地可以来自一个场景切换检测器(流程块122),如果它被提供的话,或者作为来自一个解码器的反馈(流程块124)。之后编码器决定是否将当前帧编码成一个INTRA帧(步骤126)。
如果决定是“是”(决定128),那么当前帧就被编码从而构成一个INTRA帧格式的压缩帧(步骤130)。
如果决定是“否”(决定132),那么编码器就接收一个帧将在以INTER帧格式编码当前帧中被作为一个参考来使用的指示(步骤134)。这可以根据一个预定的编码方案来确定(流程块136)。在本发明的另一个实施方案中,这可以由来自解码器的反馈来控制(流程块138)。这将在以后被描述。被标识的参考帧可以是一个完整帧或一个虚拟帧,且因而编码器要确定是否要使用一个虚拟参考(步骤140)。
如果一个虚拟参考帧要被使用,那么它就从虚拟参考帧缓冲器中检索(步骤142)。如果一个虚拟参考不被使用,那么一个完整参考帧就从完整帧缓冲器中检索(步骤144)。之后当前帧按INTER帧格式通过使用未加工的视频数据和被选择的参考帧来编码(步骤146)。这预先假定在完整和虚拟参考帧缓冲器中存在它们各自的帧。如果编码器正在发送初始化之后的第一个帧,那么这通常是一个INTRA帧且因此没有参考帧被使用。通常,无论何时一个帧被编码成INTRA格式都不需要参考帧。
不管当前帧是被编码成INTRA帧格式还是INTER帧格式,下面的步骤都将被接着应用。编码的帧数据被按优先次序划分(步骤148),该特定的优先级划分取决于是INTER帧还是INTRA帧编码已被使用。所述优先级基于其对重构被编码图片的数据是如何重要而将数据划分成低优先级和高优先级数据。一旦被如此划分,一个比特流就被构成来发送。在构成比特流中,一个适当的分组方法被使用。任何适当的分组方案都可以被使用。之后比特流就被发送给解码器(步骤152)。如果当前帧是最后一个帧,那么就决定(步骤154)在该点终止程序(流程块156)。
如果当前帧是INTER编码的并且不是序列中的最后一个帧,那么表示当前帧的编码信息就基于相关的参考帧、通过使用低优先级和高优先级数据被解码,从而构成帧的一个完整重构(步骤157)。之后完整的重构就被存储在完整参考帧缓冲器中(步骤158)。之后表示当前帧的编码信息就基于相关的参考帧、通过只使用高优先级数据被解码从而构成一个虚拟帧的重构(步骤160)。之后虚拟帧的重构被存储在虚拟参考帧缓冲器中(步骤162)。可替换地,如果当前帧是INTRA编码的并且不是序列中的最后一个帧,那么适当的解码就在步骤157和160处不使用一个参考帧来实现。过程步骤的集合又从步骤116开始并且之后下一个帧被编码并构成进一个比特流中。
在本发明一个可替换的实施方案中,上面提出的步骤的顺序可以不同。例如,初始化步骤可以以任何方便的顺序发生,正如解码完整参考帧的重构和虚拟参考帧的重构的步骤一样。
尽管前面描述了一个帧根据一个单个参考被预测,但是在本发明的另一个实施方案中,不止一个参考帧可以被用于预测一个特定的INTER编码的帧。这既适用于完整INTER帧又适用于虚拟INTER帧。换句话说,在本发明可替换的实施方案中,一个完整INTER编码的帧可能有多个完整参考帧或多个虚拟参考帧。一个虚拟INTER帧可能有多个虚拟参考帧。而且,一个参考帧或多个参考帧的选择可以对于被编码的每一个图片分段、宏块、块或一幅图片的子元素而被单独/独立地做出。一个参考帧可以是任何可存取的或可以在编码器和解码器中生成的完整或虚拟帧。在一些情况下,例如在B帧的情况下,两个或多个参考帧与同一个图片区域关联在一起,并且一个内插方案被用于预测要被编码的区域。另外,每一个完整帧都可以与多个不同的虚拟帧联系在一起,它通过使用以下方式来被构造分类完整帧的编码信息的不同方式;以及/或用于运动补偿的不同参考(虚拟或完整)图片;以及/或解码比特流的高优先级部分的不同方式。
在这种实施方案中,多个完整和虚拟参考帧缓冲器在编码器和解码器中被提供。
现在将参考图-19举例说明的解码过程。在一个初始化阶段中解码器初始化一个虚拟参考帧缓冲器(步骤210)、一个正常参考帧缓冲器(步骤211)和一个帧计数器(步骤212)。之后所述解码器接收到一个涉及被压缩的当前帧的比特流(步骤214)。之后该解码器确定当前帧被编码成INTRA帧格式还是INTER帧格式(步骤216)。这可以从例如在图片头部中接收到的信息来确定。
如果当前帧是INTRA帧格式,它就通过使用完整比特流被解码从而构成INTRA帧的一个完整重构(步骤218)。之后如果当前帧是最后一个帧那么一个决定就被做出(步骤220)来终止该程序(步骤222)。假定当前帧不是最后一个帧,那么之后表示当前帧的比特流就通过使用高优先级数据被解码从而构成一个虚拟帧(步骤224)。之后新构造的虚拟帧被存储在虚拟参考帧缓冲器中(步骤240),从中它可以被检索以结合一个后续完整和/或虚拟帧的重构而使用。
如果当前帧是INTER帧格式,那么在编码器处在参考帧的预测中使用的参考帧就被标识出来(步骤226)。参考帧可以通过,例如,从编码器发送给解码器的比特流中存在的数据来被标识。被标识的参考可能是一个完整帧或是一个虚拟帧,且因此解码器确定是否要使用一个虚拟参考(步骤228)。
如果一个虚拟参考要被使用,那么它们就从虚拟参考帧缓冲器中来检索(步骤230)。否则,一个完整参考帧就可以从完整参考帧缓冲器中来检索(步骤232)。这预先假定在正常和虚拟参考帧缓冲器中存在它们各自的帧。如果解码器正在接收初始化之后的第一个帧,那么这通常是一个INTRA帧且因此没有参考帧被使用。通常,无论何时一个被编码成INTRA格式的帧要被解码时都不需要参考帧。
之后当前(INTER)帧通过使用完整接收到的比特流和被标识的作为一个预测参考的参考帧来被解码并重构(步骤234)并且新解码的帧被存储在完整参考帧缓冲器中(步骤242),从中它可以被检索以结合一个后续帧的重构来使用。
如果当前帧是最后一个帧那么一个决定就被做出(步骤236)来终止该程序(步骤222)。假定当前帧不是最后一个帧,那么之后表示该当前帧的比特流就通过使用高优先级数据被解码从而构成一个虚拟参考帧(步骤238)。之后这个虚拟参考帧被存储在虚拟参考帧缓冲器中(步骤240),从中它可以被检索以结合一个后续完整和/或虚拟帧的重构来使用。
应注意到解码高优先级信息来构造一个虚拟帧不必遵循与当解码该帧的完整表示时使用的相同的解码程序。例如,在表示虚拟帧的信息中缺少的低优先级信息可以用默认值代替以便能够解码虚拟帧。
正如在前面所提到的,在本发明的一个实施方案中,在编码器中选择一个完整或一个虚拟帧作为一个参考帧是基于来自解码器的反馈来实现的。
图-20示出额外的步骤,它们修改图-19中的过程以便提供这个反馈。图-20中额外的步骤被插入到图-19中的步骤214和216之间。既然图-19在前面已经被全面描述,所以只有额外的步骤在此被描述。
一旦被压缩的当前帧的比特流被接收到(步骤214),解码器就校验(步骤310)比特流是否已被正确接收到。这涉及常用的差错校验,后面跟着依赖于差错严重性的更特定的校验。如果比特流已被正确接收到,那么解码过程就可以直接进行到步骤216,其中解码器确定当前帧被编码成INTRA帧格式还是INTER帧格式,如在相关的图-19中所描述的。
如果比特流还没有被正确接收到,那么解码器接着确定它是否能够解码图片头部(步骤312)。如果它不能,那么它就向包括编码器的发送终端发出一个INTRA帧更新请求(步骤314)并且过程返回到步骤214。可替换地,解码器不发出一个INTRA帧更新请求,而是指示该帧的所有数据被丢失,并且编码器能够对这个指示做出反应,这样它在运动补偿中就不参考所述丢失的帧。
如果解码器可以解码图片头部,那么它就确定它是否能够解码该高优先级数据(步骤316)。如果它不能,那么步骤314就被实现并且过程返回到步骤214。
如果解码器可以解码高优先级数据,那么它就确定它是否能够解码该低优先级数据(步骤318)。如果它不能,那么它就指示包含编码器的发送终端来编码相对当前帧的高优先级数据而不是低优先级数据被预测的下一个帧(步骤320)。之后该过程返回到步骤214。这样,按照本发明,一种新类型的指示作为反馈被提供给编码器。按照特定实现的细节,该指示可能提供与一个或多个指定图片的码字有关的信息。该指示可能指示已被接收到的码字、还没有接收到的码字或者可能提供关于已被接收到的码字以及那些还没有接收到的码字的信息。可替换地,该指示可能仅采用一个比特或码字的形式,所述比特或码字指示在当前帧的低优先级信息中已发生一个差错,而不指定差错的特性或哪个(哪些)码字受到影响。
刚刚描述的指示提供了上面提到的与编码方法中的流程块138有关的反馈。一旦接收到来自解码器的指示,编码器就知道它应对照基于当前帧的一个虚拟参考帧来编码在视频序列中的下一个帧。
如果有足够低的时延使得编码器在编码下一个帧之前就接收到反馈信息,那么上面描述的过程就适用。如果不是这种情况,那么优选地发送一个特定帧的低优先级部分丢失的指示。之后编码器对这个指示以这样一种方式做出反应以致它不使用它要编码的下一个帧中的低优先级信息。换句话说,编码器生成一个虚拟帧,它的预测链不包括丢失的低优先级部分。
解码虚拟帧的一个比特流可能使用一个不同于解码完整帧的比特流所用的算法。在本发明的一个实施方案中,多个这种算法被提供,并且解码一个特定虚拟帧的正确算法的选择在比特流中被用信号通知。在缺少低优先级信息的情况下,它可以由一些默认值代替以便能够解码一个虚拟帧。默认值的选择可以改变,并且正确的选择可以在比特流中用信号通知,例如使用在前面段落中提到的指示。
图-18和图-19以及20中的过程可以以一种适当的计算机程序码的形式实现并且可以在一个通用微处理器或专门的数字信号处理器(DSP)上执行。
应注意到尽管图-18、19和20中的过程使用逐个帧的方法来编码和解码,但是在本发明的其它实施方案中实际上同样的过程可以应用于图像分段。例如,该方法可以应用于块组、切片、宏块或块。通常,本发明可以应用于任何图片分段,不只是块组、切片、宏块和块。
为了简化,使用按照本发明方法的B-帧的编码和解码在前面没有被描述。然而,对本领域的技术人员来说很明显该方法可以扩展到包括B-帧的编码和解码。另外,按照本发明的方法还可以被应用于采用视频冗余编码的系统中。换句话说,Sync帧也可以被包括在本发明的一个实施方案中。如果虚拟帧在sync帧的预测中被使用,那么如果主表示(即对应的完整帧)被正确接收到的话就不需要该解码器来生成一个特定的虚拟帧。也不必构成一个虚拟参考帧用于sync帧的其它拷贝,例如当使用的线程数量大于2时。
在本发明的一个实施方案中,一个视频帧被封装成至少两个业务数据单元(即分组),一个有高重要性而另一个有低重要性。如果H.26L被使用的话,那么低重要性分组可以包含,例如被编码的块数据和预测差错系数。
在图-18、19和20中,通过使用高优先级信息做参考来解码一个帧以便构成一个虚拟帧(见流程块160、224和238)。在本发明的一个实施方案中这实际上可以分两个阶段来实现,如下1)在第一个阶段中一个帧的临时的比特流表示被生成,它包括高优先级信息和用于低优先级信息的默认值以及2)在第二个阶段中所述临时的比特流表示被正常解码,即是以一种与当所有的信息可用时实现的解码相同的方式。
应理解这种方法只表示本发明的一种实施方案,因为默认值的选择可以调整并且用于虚拟帧的解码算法可能不同于用来解码完整帧所使用的解码算法。
应注意到对虚拟帧的数量没有特定的限制,所述虚拟帧可以从每一个完整帧中被生成。这样,结合图-18和19描述的本发明的实施方案只表示一种可能性,其中虚拟帧的一个单个链被生成。在本发明一个优选的实施方案中,虚拟帧的多个链被生成,每一个链都包括以一种不同方式,例如使用来自完整帧的不同信息,生成的虚拟帧。
还应注意到在本发明一个优选的实施方案中,比特流语法类似于在其中增强层没有被提供的单层的编码中使用的语法。而且因为虚拟帧通常不被显示,所以按照本发明的一个视频编码器可以以这样一种方式被实现以致当它开始相对讨论的虚拟参考帧编码一个后续帧时它可以决定怎样生成一个虚拟参考帧。换句话说,一个编码器可以灵活地使用前面帧的比特流并且所述帧可以被划分成码字的不同组合,甚至在它们被发送之后。当一个虚拟预测帧被生成时,指示哪一个码字属于一个特定帧的高优先级信息的信息可以被发送。在现有技术中,当编码帧时一个视频编码器选择一个帧的分层部分并且在对应帧的比特流内该信息被发送。
图-21以一个图的形式举例说明了解码包括INTRA-编码帧I0和INTER-编码帧P1、P2和P3的一个视频序列的一部分。该图被提供来显示在相关的图-19和20中描述的过程的结果并且,正如所见,它包括顶行、一个中间行和一个底行。顶行对应于被重构和显示的帧(即,完整帧),中间行对应于每一个帧的比特流而底行对应于被生成的虚拟预测参考帧。箭头指示用于生成被重构的完整帧和虚拟参考帧的输入源。参考该图,可以看到帧I0生成自一个对应的比特流I0 B-S而完整帧P1通过使用帧I0作为一个运动补偿参考连同接收到的P1的比特流来被重构。同样,虚拟帧I0’生成自对应于帧I0的比特流的一部分而人工帧P1’通过使用I0’作为一个参考用于运动补偿预测连同P1的比特流的一部分被生成。完整帧P2和虚拟帧P2’分别以一种相似的方式通过使用来自帧P1和P1’的运动补偿预测被生成。更特别是,完整帧P2通过使用P1作为一个参考用于运动补偿预测连同接收到的比特流P1 B-S信息被生成,而虚拟帧P2’通过使用虚拟帧P1’作为一个参考帧,连同比特流P1 B-S的一部分被构造。按照本发明,帧P3通过使用虚拟帧P2’作为一个运动补偿参考连同P3的比特流被生成。帧P2不用做一个运动补偿参考。
从图-21中很明显看到一个帧和它的虚拟对应帧使用可用比特流的不同部分被解码。完整帧使用全部可用的比特流来构造,而虚拟帧只使用比特流的一部分。虚拟帧使用的那部分是在解码一个帧时比特流中最重要的一部分。除此之外,优选地虚拟帧使用的那部分是用于传输的最鲁棒性地抗差错保护的,并且这样是最可能被成功地发送和接收的。用这种方式,本发明能够缩短预测编码链并使一个预测帧基于一个生成自一个比特流中最重要的一部分的虚拟运动补偿参考帧,而不是基于一个通过使用最重要部分和一个较不重要部分生成的运动补偿参考。
有一些情况,其中将数据分割成高和低优先级是不必要的。例如,如果涉及一幅图片的整个数据可以适合于一个单个分组,那么优选地就不用分割数据。在这种情况下,整个数据可以根据一个虚拟帧在预测中使用。参考图-21,在这个特定的实施方案中,帧P1’通过根据虚拟帧I0’的预测并通过解码P1的所有比特流信息来被构造。被重构的虚拟帧P1’不等同于帧P1,因为帧P1的预测参考是I0而帧P1’的预测参考是I0’。这样,P1’就是一个虚拟帧,尽管在这种情况下,它是根据一个具有没被按优先次序划分成高和低优先级的信息的帧(P1)来被预测的。
本发明的一个实施方案将通过参考图-22被描述。在这个实施方案中,在生成自视频序列的比特流中运动和头部数据与预测差错数据分离开。运动和头部数据被封装进一个叫做运动分组的一个传输分组中并且预测差错数据被封装进一个叫做预测差错分组的一个传输分组中。这被应用于几个连续的编码图片。运动分组具有高优先级并且无论何时是可能的并且是必要时,它们都被重新发送,因为如果解码器正确地接收到运动信息的话那么差错隐藏起来更好。运动分组的使用还具有提高压缩效率的效果。在图-22中表示的例子中,编码器将运动和头部数据从P-帧1到3中分离出来并且从那个信息中构成一个运动分组(M1-3)。P-帧1到3的预测差错数据在一个独立的预测差错分组(PE1、PE2、PE3)中被发送。除了使用I1作为一个运动补偿参考之外,编码器基于I1和M1-3生成虚拟帧P1’、P2’和P3’。换句话说,编码器解码I1和预测帧P1、P2和P3的运动部分,这样P2’就根据P1’来预测并且P3’就根据P2’来预测。之后帧P3’作为一个运动补偿参考用于帧P4。在这个实施方案中虚拟帧P1’、P2’和P3’被称作一个零预测差错(ZPE)帧,因为它们不包含任何预测差错数据。
当图-18、19和20中的过程应用于H.26L时,图片以这样一种方式被编码以致它们包括图片头部。包括在图片头部中的信息在前面描述的分类方案中是最高优先级信息,因为没有图片头部,整个图片就不能被解码。每一个图片头部都包含一个图片类型(Ptype)字段。按照本发明,一个特定的值被包括以便指示图片是使用一个虚拟参考帧还是使用多个虚拟参考帧。如果Ptype字段的值指示一个或多个虚拟参考帧被使用的话,那么图片头部还被提供关于怎样生成该参考帧(多个参考帧)的信息。在本发明的其它实施方案中,依赖于使用的分组化的种类,这个信息可能被包括在切片头部、宏块头部和/或块头部中。此外,如果多个参考帧结合一个给定帧的编码被使用时,那么其中一个或多个参考帧可能是虚拟的。下述信令方案被使用1.过去的比特流中的哪一个帧(哪些帧)被用于生成一个参考帧的一个指示在发送的比特流中被提供。有两个值被发送一个对应于用于预测的在时间上刚过去的那幅图片而另一个对应于用于预测的在时间上最早的那幅图片。对本领域的普通技术人员来说很明显在图-18和19中举例说明的编码和解码过程可以被适当地加以修改从而利用这个指示。
2.哪一个编码参数被用于生成一个虚拟帧的一个指示。比特流适应于携带用于预测的最低优先级类别的一个指示。例如,如果比特流携带一个对应于类别4的一个指示,那么虚拟帧就从属于类别1、2、3和4的参数中被构成。在本发明的一个可替换的实施方案中一个更通用的方案被使用,其中用于构造一个虚拟帧的每一个类别都被单独地用信号通知。
图-23示出一个按照本发明的视频传输系统400。该系统包括通信视频终端402和404。在这个实施方案中,终端到终端的通信被示出。在另一个实施方案中,该系统可以被设置成终端到服务器或服务器到终端的通信。尽管它的用意是系统400使得能够以一个比特流的形式进行双向视频数据的传输,但是它也使得能够只进行单向视频数据的传输。为了简化,在示于图-23中的系统400中,视频终端402是一个发送(编码)视频终端而视频终端404是一个接收(解码)视频终端。
发送视频终端402包括一个编码器410和一个收发器412。编码器410包括一个完整帧编码器414、一个虚拟帧构造器416,以及一个用于存储完整帧的多帧缓冲器420和一个用于存储虚拟帧的多帧缓冲器422。
完整帧编码器414构成一个完整帧的一个编码表示,它包含信息用于它后来的完全重构。这样,完整帧编码器414实现图-18中的步骤118到146和步骤150。特别是,完整帧编码器414能够以INTRA的格式(例如,按照图-18中的步骤128和130)或以INTER的格式来编码完整帧。在图-18中的步骤120、122和/或124处按照提供给编码器的信息决定以一个特定的格式(INTRA或INTER)来编码一个帧。在完整帧被编码成INTER格式的情况下,完整帧编码器414可以使用或者一个完整帧作为一个参考用于运动补偿预测(按照图-18中的步骤144和146)或者一个虚拟参考帧(按照图-18中的步骤142和146)。在本发明的一个实施方案中,按照一个预定的方案(按照图-18中的步骤136)完整帧编码器414适应于选择一个完整或虚拟参考帧用于运动补偿预测。在一个可替换的和优选的实施方案中,完整帧编码器414还适应于接收来自一个接收端编码器作为反馈的一个指示,所述指示指定一个虚拟参考帧应在编码一个后续完整帧中被使用(按照图-18中的步骤138)。完整帧编码器还包括本地解码功能并按照图-18中的步骤157构成完整帧的一个重构版本,其中按照图-18中的步骤158它存储在多帧缓冲器420中。这样解码的完整帧变得可获得以便用作一个参考帧用于视频序列中的一个后续帧的运动补偿预测。
虚拟帧构造器416定义一个虚拟帧作为完整帧的一个版本,按照图-18中的步骤160和162在缺乏完整帧的至少一些低优先级信息时通过使用完整帧的高优先级信息来被构造。更特别地是,虚拟帧构造器在缺乏至少一些低优先级信息时通过使用完整帧的高优先级信息来解码由完整帧编码器414编码的帧从而构成一个虚拟帧。之后它将虚拟帧存储在多帧缓冲器422中。这样该虚拟帧变得可获得以便用作一个参考帧用于在视频序列中的一个后续帧的运动补偿预测。
按照编码器410的一个实施方案,按照图-18中的步骤148完整帧的信息在完整帧编码器414中被按优先次序划分。按照一个可替换的实施方案,按照图-18中的步骤148的优先级划分由虚拟帧构造器416来实现。在本发明的实施方案中,其中关于帧的编码信息的优先级划分的信息被发送给解码器,每一个帧的信息的优先次序的划分可以发生在或者完整帧编码器中或者虚拟帧构造器416中。在实现时,其中帧的编码信息的优先次序的划分由完整帧编码器414来实现,该完整帧编码器414还负责构成优先级划分信息用于到解码器404的后续传输。同样,在实施方案中,其中帧的编码信息的优先次序的划分由虚拟帧构造器416来实现,虚拟帧构造器416还负责构成优先级划分信息用于传输到解码器404。
接收视频终端404包括一个解码器423和一个收发器424。解码器423包括一个完整帧解码器425、一个虚拟帧解码器426、以及一个用于存储完整帧的多帧缓冲器430和一个用于存储虚拟帧的多帧缓冲器432。
完整帧解码器425解码来自一个比特流的一个完整帧,所述比特流包含用于完全重构完整帧的信息。完整帧可能被编码成INTRA格式或I NTER格式。这样,完整帧解码器就实现图-19中的步骤216、218和步骤226到234。按照图-19中的步骤242,完整帧解码器将新重构的完整帧存储在多帧缓冲器430中以便以后用作一个运动补偿预测参考帧。
按照图-19中的步骤224或238,依赖于该帧被编码成INTRA格式还是INTER格式,虚拟帧解码器426在缺乏完整帧的至少一些低优先级信息时通过使用完整帧的高优先级信息来从完整帧的比特流中构造一个虚拟帧。按照图-19中的步骤240,虚拟帧解码器还将新解码的虚拟帧存储在多帧缓冲器432中用于以后作为一个运动补偿预测参考帧来使用。
按照本发明的一个实施方案,按照在发送终端402的编码器410中使用的相同的一个方案,比特流的信息在虚拟帧解码器426中被按优先次序划分。在一个可替换的实施方案中,接收终端404接收到在编码器410中使用的优先级划分方案的一个指示从而按优先次序划分完整帧的信息。之后这个指示提供的信息由虚拟帧解码器426使用来确定在编码器410中使用的优先级并接下来构成虚拟帧。
视频终端402产生一个编码的视频比特流434,它由收发器412来发送并经一个适当的传输媒体由收发器424来接收。在本发明的一个实施方案中,传输媒体是在一个无线通信系统中的一个空中接口。收发器424发送反馈436给收发器412。这个反馈的属性已在前面被描述。
一个使用ZPE帧的视频传输系统500的操作将被描述。该系统500示于图-24。该系统500有一个发送终端510和多个接收终端512(其中只有一个被示出),该系统经一个传输信道或网络来通信。发送终端510包括一个编码器514、一个分组器516和一个发送器518。它还包括一个TX-ZPE-解码器520。每一个接收终端512都包括一个接收器522、一个解分组器524和一个解码器526。它们每一个还包括一个RX-ZPE-解码器528。编码器514编码未压缩的视频从而构成压缩的视频图片。分组器516将压缩的视频图片封装进传输分组中。它可以重新组织从编码器获得的信息。它还输出不包含预测差错数据的视频图片用于运动补偿(被叫做ZPE-比特流)。TX-ZPE-解码器520是一个用于解码ZPE-比特流的正常视频解码器。发送器518经传输信道或网络传递分组。接收器522接收来自传输信道或网络的分组。解分组器524将传输分组解分组化并生成压缩的视频图片。如果在传输期间一些分组丢失,那么解分组器524会尽力在压缩的视频图片中隐藏所述丢失。除此之外,解分组器524输出ZPE-比特流。解码器526重构来自压缩视频比特流的图片。RX-ZPE-解码器528是一个用于解码一个ZPE-比特流的正常视频解码器。
编码器514会正常操作,除了当分组器516请求一个ZPE帧用作一个预测参考的情况之外。之后编码器514将默认的运动补偿参考图片变成ZPE帧,该帧由TX-ZPE-解码器520来传递。而且,编码器514在压缩的比特流中用信号通知使用了ZPE帧,例如在图片的图片类型中。
解码器526会正常操作,除了当比特流包含一个ZPE帧信号的情况之外。之后解码器526将默认的运动补偿参考图片变成ZPE帧,该帧由RX-ZPE-解码器528来传递。
本发明的性能与如在目前H.26L建议中指定的参考图片的选择相对比被表示出来。三个通常可用的测试序列被进行比较,即Akiyo、Coastguard、和Foreman。该序列的分辨率是QCIF,它具有176×144像素的一个亮度图片尺寸和88×72像素的一个色度图片尺寸。Akiyo和Coastguard每秒捕捉30帧,而Foreman的帧速率是每秒25帧。这些帧是用遵循ITU-T建议H.263的一个编码器来编码的。为了比较不同的方法,一个(每秒10帧的)恒定目标帧速率和多个恒定图像量化参数被使用。线程长度L被选择以便运动分组的尺寸小于1400字节(即,用于一个线程的运动数据小于1400字节)。
ZPE-RPS的情况有帧I1、M1-L、PE1、PE2、...、PEL、P(L+1)(根据ZPE1-L被预测)、P(L+2)、...,然而正常RPS的情况有帧I1、P1、P2、...、PL、P(L+1)(根据I 1被预测)、P(L+2)。在两个序列中唯一不同编码的帧是P(L+1),但是由于使用了一个恒定量化的步骤使得在这两个序列中这个帧的图像质量是相同的。下表示出了结果

从结果的比特率增加列中可见当参考图片选择被使用时零预测差错帧增加了压缩效率。
本发明特定的实现和实施方案已被描述。对本领域的技术人员来说很清楚,本发明不局限于上面提出的实施方案的细节,而是它可以在其它实施方案中通过使用相同的设备在不偏离本发明的特征时被实现。本发明的范围只由附加的专利权利要求来限制。
权利要求
1.一种用于解码已编码视频帧的方法,该已编码视频帧由语法元素来描述,该语法元素具有按照一个有根的相关树的解码相关性,该方法包括接收(214)一个由语法元素按照所述相关树描述的已编码视频帧;使用所述相关树的所有语法元素来形成(218,234)一个第一参考帧;以及使用所述相关树的其中一些语法元素来形成(224,238)一个第二参考帧,已使用的语法元素包括树根,而未使用的语法元素是在远离该树根的分支上。
2.按照权利要求1的解码已编码视频帧的方法,还包括当形成该第二参考帧时用默认值来代替该未用的语法元素。
3.按照权利要求2的解码已编码视频帧的方法,还包括基于在比特流中用信号通知的指示而选择该默认值。
4.按照权利要求2的解码已编码视频帧的方法,还包括生成一个包括该未用的语法元素和默认值的临时的比特流,以及以一种等同于在所有语法元素都被使用时执行的解码的方式来解码该临时的比特流。
5.按照权利要求1的解码已编码视频帧的方法,其中形成该第二参考帧是通过使用一个选定的算法来进行的,该选定的算法是基于一个在比特流中用信号通知的指示来选择的。
6.按照权利要求1的解码已编码视频帧的方法,还包括使用来自(232)该第一参考帧的预测(234)而解码一个第二已编码视频帧。
7.按照权利要求1的解码已编码视频帧的方法,还包括使用来自(230)该第二参考帧的预测(234)而解码一个第二已编码视频帧。
8.按照权利要求7的解码已编码视频帧的方法,其中使用来自该第二参考帧的预测的解码是响应于作为该第二已编码视频帧的一部分的指示。
9.一种用于解码已编码视频帧的方法,该已编码视频帧由语法元素来描述,该语法元素具有按照一个有根的相关树的解码相关性,该方法包括接收一个由语法元素按照所述相关树描述的已编码视频帧;确定(318)无能力使用所述相关树的所有语法元素来形成一个第一参考帧,该无能力是由语法元素错误导致;使用所述相关树的其中一些语法元素来形成一个第二参考帧,其中已使用的语法元素包括树根,而未使用的语法元素是在远离该树根的分支上;以及向编码器发送(320)一个指示,该指示是无能力形成该第一参考帧的指示。
10.一种用于编码原始视频帧以产生已编码视频帧的方法,该已编码视频帧包括语法元素,该语法元素具有按照一个有根的相关树的解码相关性,该方法包括接收(116)一个第一视频帧;使用第一参考帧来编码(146)该第一视频帧以产生第一已编码帧,该第一已编码帧包括按照所述相关树的语法元素;使用所述相关树的所有语法元素来解码(157)该第一已编码帧;将解码该第一已编码帧的结果存储(158)在第一缓冲器中;接收(116)一个第二视频帧;使用第二参考帧来编码(146)该第二视频帧以产生第二已编码帧,该第二已编码帧包括按照所述相关树的语法元素;使用所述相关树的其中一些语法元素来解码(160)该第二已编码帧;其中已使用的语法元素包括树根,而未使用的语法元素是在远离该树根的分支上;以及将解码该第二已编码帧的结果存储(162)在第二缓冲器中。
11.按照权利要求10的方法,包括接收(116)一个第三视频帧;以及使用(142)存储在所述第二缓冲器中的、所述解码该第二已编码帧的结果作为参考来编码(146)该第三视频帧,由此而产生一个第三已编码帧。
12.按照权利要求10的方法,包括接收(116)一个第三视频帧;以及使用(114)存储在所述第一缓冲器中的、所述解码该第一已编码帧的结果作为参考来编码(146)该第三视频帧,由此而产生一个第三已编码帧。
13.按照权利要求10的方法,还包括在该第一已编码帧和该第二已编码帧中指定(148)哪些足以产生一个可接受的重构图片的语法元素。
14.按照权利要求10的方法,还包括发送(152)该第一已编码帧;判决在形成该第二参考帧中使用哪些语法元素;以及基于该判决而形成该第二参考帧。
15.按照权利要求14的方法,其中发送该第一已编码帧在时间上要先于判决在形成该第二参考帧中使用哪些语法元素。
16.按照权利要求10的方法,还包括在该第一已编码帧中提供该第一参考帧被用于编码的指示;以及发送(152)该第一已编码帧。
17.一种用于已编码视频帧的视频解码的设备,该已编码视频帧由语法元素来描述,该语法元素具有按照一个有根的相关树的解码相关性,该设备包括用于接收一已编码视频帧的输入;被耦合到该输入的第一帧解码器(425),该第一帧解码器被安排来使用所述相关树的所有语法元素来解码该已编码视频帧以产生一个第一参考帧;以及被耦合到该第一帧解码器的第一缓冲器(430),该第一缓冲器被安排为存储该第一参考帧;被耦合到该第一帧解码器的第二帧解码器(426),该第二帧解码器被安排为使用所述相关树的其中一些语法元素来解码该已编码视频帧以产生一个第二参考帧,其中已使用的语法元素包括树根,而未使用的语法元素是在远离该树根的分支上;以及被耦合到该第二帧解码器的第二缓冲器(432),该第二缓冲器被安排来存储该第二参考帧。
18.按照权利要求17的用于视频解码的设备,其中该设备被安排为使用来自该第一参考帧的预测去解码一个第二已编码视频帧。
19.按照权利要求17的用于视频解码的设备,其中该设备被安排为使用来自该第二参考帧的预测去解码一个第二已编码视频帧。
20.按照权利要求17的用于视频解码的设备,其中未使用的语法元素包括预测误差信息。
21.按照权利要求20的用于视频解码的设备,其中已使用的语法元素包括运动矢量信息。
22.按照权利要求17的用于视频解码的设备,其中该第二帧解码器被安排为在解码之前用默认值去代替该未用的语法元素。
23.一种用于视频帧的视频编码的设备,所产生的已编码视频帧由语法元素来描述,该语法元素具有按照一个有根的相关树的解码相关性,该设备包括一个帧编码器(414),该帧编码器被安排来对一视频帧进行编码,由此产生一已编码帧,该已编码帧是按照所述相关树,该帧编码器包括解码功能性,该解码功能性被安排来产生一个第一参考帧,该第一参考帧是通过使用所述相关树的所有语法元素来产生的;被耦合到该第一帧编码器的第一缓冲器(420),该第一缓冲器被安排来存储该第一参考帧;被耦合到该帧编码器的帧构造器(416),该帧构造器被安排为使用所述相关树的其中一些语法元素来解码该已编码视频帧以产生一个第二参考帧,其中已使用的语法元素包括树根,而未使用的语法元素是在远离该树根的分支上;以及被耦合到该帧构造器的第二缓冲器(422),该第二缓冲器被安排来存储该第二参考帧。
24.按照权利要求23的用于视频帧的视频编码的设备,其中该设备被安排为使用来自该第一参考帧的预测而编码一个第二视频帧。
25.按照权利要求23的用于视频帧的视频编码的设备,其中该设备被安排为使用来自该第二参考帧的预测而编码一个第二视频帧。
26.按照权利要求23的用于视频帧的视频编码的设备,其中该帧构造器被安排为判决在构造该第二参考帧中使用哪些语法元素,其中该已编码帧的传送在时间上先于判决使用哪些语法元素。
27.按照权利要求23的用于视频帧的视频编码的设备,其中该帧编码器被安排为在该已编码帧中指定哪些语法元素足以产生一个可接受的重构图片。
28.一种视频通信终端(404),包括用于解码已编码视频帧的解码器(423),该已编码视频帧由语法元素来描述,该语法元素具有按照一个有根的相关树的解码相关性,该解码器包括用于接收一已编码视频帧的输入;被耦合到该输入的第一帧解码器,该第一帧解码器被安排来使用所述相关树的所有语法元素来解码该已编码视频帧以产生一个第一参考帧;该解码器还包括被耦合到该第一帧解码器的第一缓冲器,被耦合到该第一帧解码器的第二帧解码器,该第二帧解码器被安排为使用所述相关树的其中一些语法元素来解码该已编码视频帧,其中已使用的语法元素包括树根,而未使用的语法元素是在远离该树根的分支上;以及被耦合到该第二帧解码器的第二缓冲器,以及被耦合到该解码器的收发器(424)。
29.一种视频通信终端(402),包括用于视频帧的视频编码的编码器(410),所产生的该已编码视频帧由语法元素来描述,该语法元素具有按照一个有根的相关树的解码相关性,该编码器包括一个帧编码器,该帧编码器被安排来对一视频帧进行编码,由此产生一已编码帧,该已编码帧是按照所述相关树,该帧编码器包括解码功能性,该解码功能性被安排来产生一个第一参考帧,该第一参考帧是通过使用所述相关树的所有语法元素来产生的;该编码器还包括被耦合到该第一帧解码器的第一缓冲器,该第一缓冲器被安排来存储该第一参考帧;被耦合到该帧编码器的帧构造器,该帧构造器被安排来使用所述相关树的其中一些语法元素来解码该已编码视频帧以产生一个第二参考帧,其中已使用的语法元素包括树根,而未使用的语法元素是在远离该树根的分支上;以及被耦合到该帧构造器的第二缓冲器,该第二缓冲器被安排来存储该第二参考帧;以及被耦合到该编码器的收发器(412)。
30.一种代表一个已编码视频帧的比特流,该已编码视频帧包括语法元素,该语法元素具有按照一个有根的相关树的解码相关性,该比特流包括一个指示,由一个解码器在确定哪些语法元素已经由该编码器用于形成参考帧中使用,其中所述参考帧已经使用所述相关树的其中一些语法元素来形成,已使用的语法元素包括树根,而未使用的语法元素是在远离该树根的分支上,其中所述参考帧在产生该已编码视频帧的编码过程中使用。
全文摘要
一种用于编码一个视频信号的方法包括的步骤有通过构成一个比特流来编码一个第一完整帧,所述比特流包含用于它随后进行完全重构(150)的信息,该信息被按优先次序划分成(148)高和低优先级信息;基于第一完整帧的一个版本定义(160)至少一个虚拟帧,所述虚拟帧在缺乏第一完整帧的至少一些低优先级信息时通过使用第一完整帧的高优先级信息来被构造;并且通过构成一个比特流来编码(146)一个第二完整帧,所述比特流包含用于它随后进行完全重构的信息,该信息被按优先次序划分成高和低优先级信息;使得第二完整帧基于虚拟帧而不基于第一完整帧来被完全重构。一种对应的解码方法也被描述。
文档编号H04N7/24GK1801944SQ20051013690
公开日2006年7月12日 申请日期2001年8月21日 优先权日2000年8月21日
发明者K·卡格拉, M·汉努克塞拉 申请人:诺基亚有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1