专利名称:视频编码的制作方法
技术领域:
本发明涉及视频编码。
视频序列由一序列的静态画面或帧组成。视频压缩方法基于减小视频序列的冗余和显然的不相关部分。在视频序列中的冗余能够分为频谱冗余、空间冗余和时间冗余。频谱冗余是指在相同的画面之间的不同的色彩分量之间的相似性。空间冗余是由在画面中的相邻像素之间的相似性造成的。而时间冗余的存在是因为在在先的图像中出现的对象也可能出现在当前的图像中。通过考虑这种时间冗余并从另一画面(称为锚定或参考画面)中预测当前的画面可以实现压缩。通过产生描述在当前的画面和先前的画面之间的运动的运动补偿数据可以实现进一步的压缩。
然而,仅通过减小序列的固有的冗余并不能实现足够的压缩。因此,视频编码器还试图减小那些并不重要的视频序列部分的质量。此外,通过压缩参数和系数的有效的无损失编码减小编码的位流冗余度。主要的技术是使用可变长度的编码。
视频压缩方法通常不同地对待使用时间冗余减小的画面和不使用时间冗余减小的画面。不使用时间冗余减小法的压缩的画面通常称为INTRA或I-帧或I-画面。通常从在当前的画面之前产生的画面中前向预测时间预测图像,并称为INTER或P-帧或P-画面。在INTER帧的情况下,预测的运动补偿画面很少足够精确,因此空间压缩的预测误差帧与每个INTER帧相关。INTER画面可以包含INTRA-编码区。
许多视频压缩方案也使用时间双向预测帧,这种帧通常称为B-画面或B-帧。B-画面插入在I-和/或P-帧的固定画面对之间并从这些固定画面中的一个或两个中预测。与前向预测画面相比,B-画面通常产生更高的压缩比。B-画面并不用作固定画面,即不能从它们中预测另外的画面。因此,可以将它们丢弃(有意或无意地)而不影响将来的画面的画面质量。虽然与P-画面相比B-画面可以改善压缩的性能,但是它们要求更大的计算复杂度和使用存储器,并且它们造成了进一步的延迟。对于非实时应用比如视频流可能不是问题,但在实时应用比如视频会议中可能带来问题。
压缩的视频剪辑通常包括一序列的画面,这些画面可以大致分为时间独立的INTRA画面和时间差分编码的INTER画面。由于在INTRA画面中的压缩效率通常低于在INTER画面中的效率,因此保守地使用INTRA画面,尤其是在低位率应用场合中。
视频序列可以由许多场景或镜头组成。不同场景的图片内容可能显著地不同,因此场景的第一画面通常为INTRA编码。在电视和电影材料中经常有场景变换,然而在视频会议中场景剪切相当少。此外,插入INTRA画面以停止在重构的视频信号中的传输误差的时间传播并给视频位流提供随机的访问点。
由于各种原因压缩的视频容易被传输误差所破坏。首先,由于使用了时间预测差分编码(INTER帧),误差在空间和时间中传播。在实际中这意味着,一旦产生了误差,在相对较长的时间中人眼都容易看到。对低位速率传输尤其敏感,在这种低速率传输中仅有少数几个的INTRA-编码帧,因此在某些时间中时间误差传播并没有停止。其次,使用可变长度编码增加了对误差的敏感性。在位误差改变码元时,解码器失去了码元同步并对随后的无误差码元(包括几个位)进行不正确地解码直到下一同步码。同步码是一种不能从其它的码元的正当组合中产生的位模式,并且这种码可以加入到间隔的位流中以实现再同步。此外,在传输的过程中在丢失数据时产生了误差。例如,在IP网络中使用不可靠的用户数据报协议(UDP)传输协议的视频应用中,网络元素可以放弃编码的视频位流的某些部分。此外,编码的INTRA画面的大小通常比编码的INTER画面的大小大得多。在对周期性的INTRA帧进行编码时,更可能的是INTRA画面受到破坏。
接收器有许多方式解决在传输路径中的破坏。一般地,一旦接收到信号,首先检测传输误差,然后通过接收器校正或隐蔽传输误差。首先误差校正是指象还没有产生误差那样完整地接收误差数据的过程。误差隐蔽是指隐蔽传输误差以使在重构的视频序列中几乎看不到他们的过程。通常通过源或传输码加入某些冗余量以有利于误差检测、校正和隐蔽。
在流应用中,在下载随后的剪辑部分的同时可以实施多路分解-解压缩-重放链。在这种情况下,客户可以请求重新传输被破坏的INTRA画面。然而,有时侯流服务器可以不能响应这种请求或者在流服务器和客户之间的通信协议可能不能传输这种请求。例如,服务器可以发送多址通信流即多客户的单流。如果这些客户中的一个客户接收破坏的INTRA画面并发送重新传输的请求,多址通信服务器可以使用多址通信信道将重新传输的INTRA画面发送给所有的客户或者打开一个附加的单址通信信道来给特定的客户重新传输。前一种情况不必要地增加了大多数客户的网络传输量,而后一种情况使应用和网络资源分配变得复杂。RTCP(实时控制协议)是一种不能请求重新传输特定的图片的传输协议。服务器不能基于由RTCP所提供的接收器报告确定重新传输哪个图片。
当前的视频编码标准定义了自足的视频位流体系。目前最流行的标准是ITU-T Recommendation H.263,“Video coding for low bitratecommunication”(1998年2月,ISO/IEC 14496-2)、“GenericCoding of Audio-Visual Objects.Part 2 Visual”(1999年,称为MPEG-4);和ITU-T Recommendation H.262(ISO/IEC 13818-2,称为MPEG-2)。这些标准定义了位流和相应的图像序列和图像的体系。
某些视频编码方案(比如ITU-T H.263 Annex N ReferencePicture Selection(RPS)模式)包括INTER帧的预测参考帧的指示器。
视频冗余编码(VRC)还描述在H.263的附录N中。在VRC中,产生了独立编码的INTER画面的多个“线程(thread)”。因此在一个线程中的帧的破坏并不影响其它的线程的解码。周期性地,所有的线程都收敛到所谓的同步帧,该同步帧可以是在所有的线程内冗余地表示的INTRA画面或非INTRA画面。从这个同步帧起所有的独立的线程都重新开始。
VRC方法的原理是将画面序列划分为两个或多个线程以使所有的画面以循环复用方式分配给其中一个线程。每个线程独立地编码。在一个线程内的帧速率低于总的帧速率在两个线程的情况下的一半,在三个线程的情况下的三分之一,等。这导致了实质的编码恶化,因为通常要求一般更长的变化和更长的运动矢量来精确表示在一个线程内的两个P-画面之间的运动相关的变化。所有的线程以规则的间隔收敛到所谓的同步帧。从这个同步帧起,开始新的线程序列。
如果一个线程被破坏了(例如因为包损失),剩余的线程可用于预测下一同步帧。损坏的线程的解码可以继续,这通常导致轻微的画面质量降低,或者停止它的解码,这就导致了帧速率的降低。然而,如果线程的长度合理地保持较小,在相当短的时间中都存在两种形式的质量降低,即直到达到下一同步帧。
同步帧总是从一个未损坏的线程中预测。这意味着传输的I-画面的数量可以保持较小,因为不需要完整的重新同步。只有在两个同步帧之间的所有的线程都损坏时,则不可能再进行正确的同步帧预测。在这种情况下,讨厌的假象就会出现直到下一I-画面被正确地解码,正如不使用VRC的情况。
根据本发明的一方面,提供一种对表示画面序列的视频信号进行编码的方法,该方法包括不参考该序列的另一画面对该序列的第一画面的至少一部分进行编码和参考该序列的另一画面对该第一画面的所说的至少一部分进行编码以产生对应的时间预测画面。
只要以INTRA方式对一帧或一帧的一部分进行编码就可适用本发明。在编码器以INTRA方式对一帧(或一帧的一部分)进行编码时,该编码器也对该帧(该帧的一部分)进行再次编码,这次以时间预测方式参考在视频序列中的另一帧。
即使原始INTRA画面丢失或者被破坏本发明也能够在解码器中实现INTRA画面恢复。为恢复INTRA画面不需要在发射器和接收器之间的相互作用。此外,在某些情况下,本发明导致了比已有技术中的前述误差校正方法更低的位速率开销。
可取的是,也参考序列的另一画面对不参考另一画面的每个画面(或者画面段)进行编码。
参考在时间上在所说的第一画面之前的序列中出现的另一画面和/或参考在时间上在所说的第一画面之后的在序列中出现的另一画面可以对第一画面(或画面段)进行编码。参考在该序列中出现的另一画面可以对第一画面(或画面段)中编码多次。
在本发明的第二方面中,提供一种视频编码器,该视频编码器包括用于接收表示画面序列的视频信号的输入,该编码器被设置成不参考该序列的另一画面对该序列的第一画面的至少一部分进行编码和参考该序列的另一画面对该第一画面的所说的至少一部分进行编码以产生对应的时间预测画面。
本发明也延伸到包括根据本发明的视频编码器的视频编解码器和多媒体系统。
在本发明的进一步方面中,提供一种对表示画面序列的视频信号进行编码的方法,该方法包括不参考该序列的另一画面对该序列的第一画面的一段进行编码和参考该序列的另一画面对所说的第一画面的至少所说的段进行编码以产生对应的时间预测画面段。
本发明也包括一种视频解码的方法,包括接收表示视频序列的编码画面的信号,确定非时间预测的画面或者非时间预测的部分画面是否已经被破坏了,以及如果是这样,监测该画面或者它的一部分的时间预测的表示,一旦接收到该画面或者它的一部分的时间预测表示,参考另一画面对该画面或者它的一部分进行解码。
在本发明的进一步方面中,还提供一种视频解码器,该视频解码器包括接收表示画面序列的视频信号的输入,所说的视频解码器被设置成确定非时间预测的画面或者非时间预测的部分画面是否已经被破坏了,以及如果是这样,监测该画面或者它的一部分的时间预测的表示,一旦接收到该画面或者它的一部分的时间预测表示,参考另一画面对该帧或者它的一部分的时间预测表示进行解码。
本发明可延伸到并入了根据本发明的视频编码器或者视频解码器的便携式电子设备。
现在参考附图通过举例的方式描述本发明,其中附
图1所示为多媒体移动通信系统;附图2所示为多媒体终端的多媒体部件的实例;附图3所示为视频编解码器的实例;附图4所示为根据本发明的视频编码器的操作的流程图;附图5所示为根据本发明的视频编码器的第一实施例的输出的实例;附图6所示为根据本发明的第一实施例的视频解码器的操作的流程图;附图7所示为根据本发明的第二实施例的视频解码器的操作的流程图;附图8所示为本发明的进一步实施例;以及附图9所示为并入了根据本发明的视频编码器和/或解码器的多媒体内容产生和检索系统。
附图1所示为常规的多媒体移动通信系统。第一多媒体移动终端1通过链接到移动通信网络4的无线电链接3与第二多媒体移动终端2进行通信。控制数据在两个终端1,2以及多媒体数据之间发送。
附图2所示为常规的终端1的多媒体部件。终端包括视频编解码器10、声频编解码器20、数据协议管理器30、控制管理器40、多路复用器/多路分解器50和调制解调器(如果需要的话)。视频编解码器10从终端(例如照相机)的视频输入/输出装置70中接收编码的信号并从远程终端2中接收解码的信号以通过终端1显示在视频输入/输出装置70的显示器上进行显示。声频编解码器20接收来自终端1的声频输入/输出装置75(例如麦克风)的编码信号并从自远程终端2接收解码信号以通过终端1的声频输入/输出装置75(例如扬声器)进行再现。该终端可以是便携式无线电通信设备比如无线电电话。
控制管理器40控制视频编解码器10、声频编解码器20和数据协议管理器30的操作。但是,由于本发明涉及视频编解码器10的操作,因此不进一步讨论声频编解码器20和协议管理器30。
附图3所示为根据本发明的视频编解码器10的实例。视频编解码器包括编码器部分100和解码器部分200。编码器部分100包括从终端1的照相机或视频源(未示)接收视频信号的输入101。开关102在INTER模式和INTRA模式之间切换编码器。视频编解码器10的编码器部分100包括DCT变换器103、数字转换器104、反向数字转换器108、反向DCT变换器109、加法器110、一个或多个画面存储器107、形成预测误差的减法器106、开关115和编码控制管理器105。
视频编解码器10的解码器部分200包括反向数字转换器220、反向DCT变换器221、运动补偿器222、多个画面存储器223和控制器224。控制器224接收通过多路复用器50从编码的多媒体流中多路分解的视频编解码控制信号。在实际中编码器的控制器105和解码器的控制器224可以是相同的处理器。
现在描述根据本发明的编码器的操作。视频编解码器10接收要编码的视频信号。视频编解码器的编码器100通过执行DCT变换、量化和运动补偿来对视频信号进行编码。然后将编码的视频信号输入到多路复用器50。多路复用器50将来自视频编解码器10的视频数据和来自管理器40的控制数据(以及其它合适的信号)复用成多媒体信号。终端1通过调制解调器60(如果需要的话)将该多媒体信号输出到接收终端2。
在INTRA模式中,通过DCT变换器103将来自输入101的视频信号转换为DCT系数。然后将DCT系数传输给数字转换器104,在该数字转换器中进行量化。通过视频编解码器的编码控制管理器105控制开关102和数字转换器104,该编码控制管理器105还可以通过控制管理器40从接收终端2中接收反馈控制。然后使通过数字转换器输出的数据通过反向数字转换器108并将反向DCT变换109应用于反向量化的数据来形成解码的画面。通过加法器110将所得的数据加入到画面存储器107中,开关115不给加法器110提供任何数据。
在INTER模式中,运行开关102以从减法器106中接收来自输入101的信号和存储在画面存储器107中的参考画面之间的差值。从减法器106中输出的差值数据表示在当前的画面和存储在画面存储器107中的参考画面之间的预测误差。运动估计器111可以以常规的方式从画面存储器107中的数据中形成运动补偿数据。
编码控制管理器105基于减法器106的输出或者响应来自接收解码器的反馈控制数据决定是否适用INTRA或INTER编码或者对帧进行完全编码,并由此操作开关102。在当前帧和参考帧之间的相似性足够或者没有时间对帧进行解码时编码控制管理器可以决定根本不对接收的帧进行编码。
如果不响应反馈控制数据,仅在编码开始时(所有的其它的帧都是P-帧)或以恒定的周期例如每5秒,或者如果减法器的输出超过阈值,即在判断当前的画面和存储在画面存储器107中的画面太不类似以致不能进行有效的时间预测时,编码器通常将帧编码为INTRA-帧。也可以对编码器进行编程以特定的规则序列例如IBBPBBPBBPBBPBBIBBP等对帧进行编码。
在对INTER画面进行编码的情况下,视频编解码器输出INTRA编码画面的量化的DCT系数或者INTER编码画面112a、量化指标112b(即所使用的数字转换器的细节)、指示所执行的编码的模式(I或者P/B)的INTRA/INTER标志112c、指示编码的帧的数量的发射标志112d和运动矢量112e的预测误差数据。通过多路复用器50将这些数据与其它的多媒体信号多路复用器在一起。
附图4所示为根据本发明的第一实施例的编码器的操作的流程图。编码器产生对应于INTRA编码帧的一个或多个时间预测帧以及INTRA编码帧本身。为简化描述仅参考INTER和INTRA帧的处理。省去其它类型的帧(例如B-帧)的处理。以常规的方式进行这些处理。
首先,编码器接收帧(401)。编码器确定(以常规的方式)是否对帧进行编码或者跳过它(402)。如果决定对帧进行编码,则编码器确定(403)是否将该帧编码为INTRA帧(404)或者INTRA帧(405)。在前述的情况中,以常规的时间预测方式对帧进行编码(404)。在后一种情况中,以常规的非时间预测方式对帧进行编码(405)。作出将帧编码为INTRA帧的决定(405)可以是响应在编码器中建立的周期性INTRA请求或者响应从接收解码器中接收的特定请求。可替换的是,可以响应编码器确定在画面内容中是否存在重要的变化,从压缩效率的角度看利用INTRA画面比较有利。这也可以非正式地称为场景剪切。
只要以INTRA方式对帧或帧的一段进行编码就可适用本发明。在编码器将一帧编码为INTRA帧时,该编码器也对该帧(或该帧的一段)再次进行编码(407,408),这次以时间预测方式参考在视频序列中的另一帧。
对于除了视频序列的第一帧除外的所有帧,在要编码的帧之前,以时间预测方式参考在视频序列内产生的帧(即通过前向预测)也对已经进行INTRA编码的帧进行编码(407)。这种例外也可以是在场景剪切之后的第一INTRA编码帧的情况。
如果编码器确定(406)该帧是要编码的第一INTRA帧(或者在场景剪切之后要编码的第一INTRA帧),编码器对该帧进行再次编码(408),这次以时间预测方式在要编码的帧之后参考在视频序列内产生的帧,即通过后向预测。因此编码器必须等待直到在它参考随后的帧能够对预测帧进行编码之前已经接收了要编码的随后的帧。
在附图4中所示的实例中,编码器等待(409)直到已经编码了下一INTRA帧,然后参考该场景的第二INTRA帧产生(408)在先的INTRA编码帧的后向预测表示。
在视频序列的INTRA画面之后的所有的INTRA画面可以具有以前向预测方式和/或后向预测的方式编码的时间预测的表示。
附图5所示为根据本发明的编码器的逐帧输出。I0是出现在视频序列正好开始时(或在场景剪切之后)的INTRA编码的画面。所示的系统使用周期性的INTRA画面,I4是这种画面。为了保护I0和I4不产生传输错误,对每个INTRA编码画面的第二表示进行时间预测编码和传输。画面4的第二表示是参考画面0预测(和运动编码)的INTER画面。在附图5中通过P4表示这个第二表示。P4可以从在前的帧I0、P1、P2或P3中的任何帧中预测。优选选择画面0,因为否则在从I0开始预测路径中其它的P4易产生传输错误。接收解码器可以使用画面4的任何表示以重构显示/参考的画面。
为保护画面0不产生传输错误,对相同画面的第二表示进行编码并传输。画面0是视频序列的第一INTRA编码的帧。这可以是整个视频序列或者可以是整个视频序列的子集的第一INTRA编码的帧(例如,在视频内容不连续例如场景剪切之后紧接产生的INTRA帧)。这种INTRA画面的参考画面的选择方法不同于I4所使用的选择方法。相反,画面0的第二表示是参考下一周期性INTRA画面的画面(在该实例中的画面4)预测(和运动补偿)的INTER画面。如果I0被破坏了,则接收器可以等待直到已经接收了I4和P0,在这之后它重构画面0。再次从除了帧I4以外的画面中预测P0,但优选从以INTRA方式已经编码的在时间上最近的帧中进行预测。
以其编码的顺序即I0、P1、P2、P3、I4、P4、P0、P5...等传输经编码的数据。可替换的是,可以对数据帧进行重新排序。
考虑终端1从终端2中接收编码的视频数据,现在参考它的解码作用描述视频编解码器10的操作。终端1从传输终端2中接收多媒体信号。多路分解器50对多媒体信号进行解复用并将视频数据传输给视频编解码器10和将控制数据传输给控制管理器40。视频编解码器的解码器200通过对数据进行反向数字转换、反向DCT变换和运动补偿来对编码的视频数据进行解码。解码器的控制器24校验所接收的数据的完整性,并且如果检测到错误,试图以下述的方式隐蔽错误。然后将解码、校正和隐蔽的视频数据存储在一个画面存储器223并输出以在接收终端1的显示器70上进行再现。
视频数据误差可能发生在该画面级、画面段级(例如,GOB(块组)或片层级)或者宏块级上。以这些级中的任何等级或每个等级上都可以实施误差校验。
附图6所示为根据本发明的视频解码器的流程图。首先考虑如附图5中所示的信号,在根据本发明的解码器接收这个信号时以常规的方式对该信号的每个帧进行解码然后显示在显示装置上。可以以常规的方式对所解码的帧进行误差校正和误差隐蔽。在每次对帧进行解码时,解码器确定要显示的帧的时间。通过检查帧头部的时间参考(RT)域可以实现这些,或者如果以包发送视频,则可以检查包的时间标记。
考虑如在附图5中所示的画面,以如下的方式发送I0、P1、P2、P3、I4、P4、P0、P5...等。解码器接收画面I0(601)并从它的画面头部中确定该画面是INTRA编码的。解码器对画面I0进行解码(603)而不参考任何其它的画面、显示它并将它存储在画面存储器223a中(604)。然后解码器接收画面P1(601)并从它的画面头部中确定该画面是作为P一画面进行INTER编码的。该解码器确定是否对画面1已经进行了解码(605)。由于还没有对画面1进行解码,解码器检查是否已经接收了P1的参考画面并对其进行解码(606)。在已经接收了画面0并对其进行了解码时,该解码器参考参考画面0对画面P1进行解码、显示它并将它存储在下一画面存储器223b中(604)。然后解码器接收画面P2(601)并从它的画面头部中确定该画面是作为P-画面进行INTER编码的。由于还没有对画面2进行解码(605)并且已经对参考画面1进行了解码(606),因此解码器参考在先的参考画面1对画面P2进行解码、显示它并将它存储在下一存储器223c中等。随后对INTER编码的画面P3实施相同的程序(步骤602、603、605和606)。
要接收的下一画面是I4。然后解码器从它的画面头部中确定(602)该画面是INTRA编码的并对该画面进行解码。然后解码器接收画面P4(601)并从它的画面头部中确定(602)该画面作为P-画面进行INTER编码的。但是该解码器注意到(605)画面4已经成功地被解码过,放弃画面P4并接收数据P0的下一画面。解码器从它的画面头部中确定(602)该画面是作为P-画面按INTER编码的。但是该解码器注意到(605)画面0已经被解码过,放弃画面P0并成功地接收数据P5的下一画面。然后参考解码的画面4对这个画面进行解码。
上文的描述说明了在传输的过程中在没有产生错误时所发生的情况。现在考虑解码不能成功时对INTRA编码帧I0进行解码的情况。这可能是因为在传输的过程中帧的数据已经完全丢失或者该帧的某些数据部分被破坏而使它不能满意地被恢复。在接收到帧P1时,解码器确定还没有对帧1进行解码并还没有接收和解码P1的参考帧(606)。然后解码器将P1的数据放置在缓冲器中(607)。对P2和P3进行相同的动作。
在成功地接收到I4时,解码器对I4进行解码而不参考任何其它的帧。在接收P4时忽略它因为画面4已经被解码(605)。在接收P0时解码器确定还没有对画面0进行解码(605)并且已经对P0的参考画面进行了解码。因此解码器参考画面4对帧P0进行解码(603)。由于现在已经对画面0进行解码,因此可以以画面0作为参考画面对任何缓冲的帧进行解码。因此解码器参考画面0对缓冲的帧P1进行解码(608)。在对帧1进行解码之后,解码器也能够对缓冲的帧P2进行解码,在对帧2进行解码之后,解码器也能够对缓冲的帧P3进行解码。
如果解码器没有接收到所缓冲的帧的参考帧则解码器放弃该缓冲的帧。解码器可以设置为如果在给定的时间内或者在接收到INTRA编码的帧时没有接收到缓冲的帧的参考画面则放弃该缓冲的帧。
附图7所示为根据本发明的视频解码器的第二实施例的流程图,该视频解码器能够检测场景的变化。解码器接收(701)解码信号。解码器检测(702)在最近的解码帧之间是否存在场景剪切和在该场景剪切之后的INTRA画面是否遗失。如在H.263的附录W中所阐述,例如通过检查在该编码的帧的头部中的某些标识或者检测该帧的画面数量可以实现这些。在后一种情况中,解码器可以从画面数量中推断画面是否遗失,如果在遗失的画面之后的下一画面没有指示备用的参考画面数量,则解码器假设所丢失的画面是与场景剪切相关的INTRA画面。
如果在场景剪切之后紧接的INTRA画面没有遗失,则解码器检查(703)所解码的帧是否是已经解码的帧(在附图中称为同步帧)的冗余表示。在H.263中,这种冗余表示可以通过给编码的帧以与该画面的主表示相同的TR来指示。
如果该帧不是同步帧或者如果还没有对同步帧的主表示进行解码(704),则解码器对该帧进行解码(705)并从该环路的开始处继续。否则,解码器跳过该解码并从环路的开始处继续(701)。
如果在第一INTRA画面(或者在场景剪切之后的画面)遗失,则该解码器开始监测(706)对应于第一INTRA画面的后向预测帧的接收。解码器已知这种特定的帧应该在下一周期性的INTRA画面之后出现。在预期的后向预测帧之前的所有的帧都进行缓冲(707)(以压缩的格式)。在后向预测同步帧是由于位流的出现引起的时,缓冲停止。如果正确地接收了它和第一周期性的INTRA画面(即在场景中的第二INTRA画面)则对下一接收的帧进行解码(708)。在这之后,对所有的缓冲的帧进行解码(709),然后可以继续正常地解码,好像该场景的第一INTRA画面还没有遗失一样。否则,该解码器不能对缓冲的帧进行解码,而是必须放弃他们(710),并等待(711)下一INTRA画面达到并在对它解码之后继续正常地解码。
帧缓冲有两个含义。首先,回放(显示)过程应该使用缓冲来吸收由解码过程所产生的画面跳动。这种缓冲器的类型通常是视频流,因此本发明不必对显示过程作任何修改。其次,一对参考帧解码就对所有的缓冲帧进行解码。在实际中这意味着在场景的第一INTRA画面(I0)丢失并且对该场景的画面的随后的表示(P0)进行解码时有一系列的计算动作。解码器应该足够快以使它具有弥补花在缓冲上的时间的资源,因此未压缩的帧并不能长时间地保留在缓冲器中。
典型的编码/解码顺序为I0,P1,P2,...,Pn-1,Pn,P0,Pn+1,Pn+2,...
这里I表示INTRA画面,P表示INTER画面,索引对应于相对的捕获/显示时间,以及时间常数n对应于在场景剪切之后的第一周期性的INTRA帧。
与常规的编码/解码顺序相比,对发射的帧进行重新排序可以使在解码器上要求的处理功率最小,即发射器可以以如下的顺序发射帧I0,In,P0,Pn,P1,P2,...,pn-1,Pn+1,Ph+2,...
只要画面的某些段是INTRA编码的而其它的段是INTER编码的则本发明就可适用这些方案。这在附图8中示出。首先,以常规的方式进行位流编码。在编码器决定以INTRA方式更新画面段时,它实施如下的三种操作1.解码器将该画面编码为常规的INTER画面P(n)。
2.解码器对P(n)′进行编码,P(n)′是对所需的画面段进行INTRA编码而其它的画面段与P(n)保持不变的P(n)的冗余表示。这种新近编码的画面的时间标记尽可能地接近P(n)。
3.解码器对P(n)′的次表示的P(n)″进行编码。在P(n)″中对以INTRA方式编码的P(n)′的画面段进行I NTER编码。可取的是,所使用的参考画面是最近的画面(而不是P(n)′),在这种画面中相应的段被INTRA编码。编码器可以将运动矢量限制到仅在画面段里面的点上以防止来自相邻的段的可能的解码误差的传播。可替换的是,解码器可以使用编码模式比如H.263 Independent Segment Decoding(附录R),这种模式能够根本地防止相邻画面段的预测。P(n)″的其它的画面段保持与P(n)相同。
在这之后,编码器继续正常地编码。
解码器类似于前文所描述的解码器运行。如果在P(n)中的画面段没有被破坏,则P(n)′和P(n)″是冗余的并且可以丢弃掉。否则,解码器可以使用P(n)′或P(n)″以恢复被破坏的画面段。
如果发射器发送对应于INTRA帧的时间预测帧的多个拷贝,则本发明可以改善错误复原能力。多个拷贝可以从不同的参考画面中以前向或后向方式预测。为使误差保护最大,应该将这些帧压缩到不同的包中。此外,有利的是如果每个INTRA画面与前向和后向预测的相应的画面相关。
本发明可以用于会话式、低延迟应用中。在显示解码的帧之前不对他们进行缓冲(而是直接显示解码的帧)的应用中,解码器不能使用相应的后向预测帧。因此,这种应用(例如会话式应用)的发射编码器可以设置成不对INTRA帧的相应的后向预测帧进行编码。因此,根据本发明不保护第一INTRA画面。
现在参考附图9描述整个多媒体内容生成和检索系统的框架。该系统具有一个或多个媒体源90,例如照相机和麦克风。多媒体内容可以综合地生成,例如通过计算机动画画面和数字产生的音乐合成。为创作由不同的媒体类型构成的多媒体剪辑,通过编辑系统91对从资料中获取的原始数据进行编辑。通常原始多媒体数据所需的存储空间较大。为有利于在较低的位速率通道上实现有吸引力的多媒体检索服务,在编辑系统91中也对多媒体剪辑进行压缩。然后,将该剪辑交给多媒体服务器92处理。通常,多个客户93可以通过网络访问服务器。服务器92也能够响应由客户93所提交的请求。服务器的主要任务是向给定的客户发送所需的多媒体剪辑。客户93对该多媒体剪辑进行解压并播放。在重放阶段,客户利用一个或多个输出装置94例如客户的屏幕和扬声器。在附图9中所示的系统中,服务器并入了根据本发明的视频编码器和客户并入了根据本发明的视频解码器。在包括双向视频传输的应用中,服务器和客户都并入了根据本发明的视频编解码器。
在移动的多媒体检索系统中,至少连接客户93和服务器92的链接部分是无线的,例如通过无线电。
通常,多媒体服务器92具有两种操作模式,即他们发送预先存储的多媒体剪辑或者实况(实时)多媒体流。在前一种情况中,剪辑存储在服务器数据库中,然后根据需要客户的服务器访问该数据库。在后一种情况中,该多媒体剪辑作为直接发送给客户93的连续多媒体流交给服务器。服务器可以删除和压缩由多路复用格式所产生的某些头部信息以及将多媒体剪辑压缩在网络包中。
客户93使用控制协议来控制服务器92的操作。最小组的控制由选择所需的多媒体剪辑的功能组成。此外,服务器可以支持更多的先进的控制。例如,客户能够终止剪辑的传输、暂停并恢复剪辑的传输以及如果传输通道的吞吐量变化则控制媒体流,在这种情况下服务器动态地调节位流以适合于可用的带宽。
客户93从多媒体服务器92接收压缩的和多路复用的媒体剪辑。首先,客户对剪辑进行解复用以检索分别的媒体轨迹,然后对这些媒体轨迹进行解压。在这之后,在输出装置94上播放解压缩(重构)的媒体轨迹。除了这些操作之外,控制器单元与最终用户连接,根据用户的输入控制重放以及处理客户服务器的控制通信量。在一直下载随后的剪辑的部分的同时实施解复用-解压-重放链。这一般称为流动。可替换的是,将整个剪辑下载到客户93,然后客户解复用、解压缩并播放它。
本发明并不希望限于上文所讨论的视频编码协议,因为这些协议仅仅是实例性的。本发明可适用于使用时间预测的任何视频编码协议。如果接收的信号的一部分受到了破坏,则如上文所讨论对应于INTRA帧的附加INTER帧的加入给编码的信号带来了误差复原能力,并且允许接收解码器选择可替换的解码点。
权利要求
1.一种对表示画面序列的视频信号进行编码的方法,该方法包括不参考该序列的另一画面对该序列的第一画面的至少一部分进行编码和参考该序列的另一画面对该第一画面的所说的至少一部分进行编码以产生对应的时间预测画面。
2.根据权利要求1所述的方法,其中也参考该序列的另一画面对不参考另一画面编码的每个画面或者它的一部分进行编码。
3.根据权利要求1所述的方法,其中参考在时间上在所说的第一画面之前的该序列中发生的另一画面对所说的第一画面或它的一部分进行编码。
4.根据权利要求1所述的方法,其中参考在时间上在所说的第一画面之后的该序列中发生的另一画面对所说的第一画面或它的一部分进行编码。
5.根据权利要求1所述的方法,其中参考在该序列中发生的一个或多个画面对所说的第一画面或它的一部分进行编码。
6.一种视频编码器,该视频编码器包括接收表示画面序列的视频信号的输入,该编码器被设置成不参考该序列的另一画面对该序列的第一画面或它的一部分进行编码和参考该序列的另一画面对所说的第一画面或它的一部分进行编码以产生对应的时间预测画面。
7.一种包括根据权利要求6所述的视频编码器的视频编解码器。
8.一种包括根据权利要求6所述的视频编码器或者根据权利要求7所述的视频编解码器的多媒体系统。
9.一种对表示画面序列的视频信号进行编码的方法,该方法包括不参考该序列的另一画面对该序列的第一画面的一段进行编码和参考该序列的另一画面对所说的第一画面的至少所说的段进行编码以产生对应的时间预测画面段。
10.一种视频解码的方法,包括接收表示视频序列的编码画面的信号,确定非时间预测的画面或者非时间预测的部分画面是否已经被破坏了,以及如果是这样,监测该画面或者它的一部分的时间预测的表示,一旦接收到该画面或者它的一部分的时间预测表示,参考另一画面对该画面或者它的一部分进行解码。
11.一种视频解码器,该视频解码器包括接收表示画面序列的视频信号的输入,所说的视频解码器被设置成确定非时间预测的画面或者它的非时间预测的部分画面是否已经被破坏了,以及如果是这样,监测该帧或者它的部分的时间预测的表示,一旦接收到该画面或者它的部分的时间预测表示,参考另一画面对该帧或者它的一部分的时间预测表示进行解码。
12.一种并入了根据权利要求6或权利要求11所述的视频编码器或视频解码器的便携式电子设备。
全文摘要
一种对表示画面序列的视频信号进行编码的方法,该方法包括不参考该序列的另一画面对该序列的第一画面(或画面段)进行编码以产生画面(I0)和参考该序列的另一画面(I4)对所说的第一画面(或画面段)进行编码以产生对应的时间预测画面(P4)或画面段。
文档编号H04N7/32GK1470133SQ01817330
公开日2004年1月21日 申请日期2001年8月9日 优先权日2000年8月14日
发明者M·汉努克塞拉, M 汉努克塞拉 申请人:诺基亚有限公司