流媒体技术探讨
1、H.264现有的片、片组、灵活的宏块排序(FMO)以及设置冗余片的方法
2、改进的片、片组、灵活的宏块排序(FMO)与设置冗余图像相结合的方法
专栏《Special Issue on Streaming Media》中收集了十几篇流媒体方面的论文,这些论文的研究内容大致可以分为四个方向:容错流、自适应和无线流、新的流媒体体系结构和协议、高效的流媒体发布。这几个方向都是流媒体研究中的热点,但是它们都有一个基本的出发点,那就是如何保证发送端(视频编码器或者流媒体服务器)的视频流能够更稳定、更安全、更可靠地传输到接收端(视频解码器或者客户端)。
当前的高速宽带网络继续呈现出蔓延之势,宽带接入不仅应用于企事业、工商业、商务和教育等,而且正在不断深入到社区、进入住户。人们比以往任何时候都更容易地得到更加丰富的媒体内容,这些内容是通过大量分布广泛的宽带设备来提供共享的资源。正是建立在如此广阔的宽带基础之上,催生出了“流媒体(Streaming Media)”的应用。流媒体其实代表着由传统的内容下载形式向新型内容跨媒体实时获取的演变,流媒体的应用就是要使用户在第一时间去体验一种无缝和即时的媒体资料信息,而流媒体技术的实现方法在很大程度上得益于视频的编解码技术及其实现方案。
当前的各种视频编码标准所采用的压缩算法都是基于相似的原理,即采用运动预测和运动补偿消除时间冗余;采用变换编码消除空间冗余;通过对色度空间的转换消除色度空间的冗余。同时,对变换系数进行量化,再对量化后的非零系数进行变长编码或者是熵编码,以减少统计意义上的冗余,最后获得压缩后的比特流。但是,视频压缩技术在减少冗余信息的同时,也降低了视频流抗击错误的能力。不管是面向比特流的传输(如数字视频广播),还是面向分组的传输(如基于IP网络流媒体传输),压缩视频流都不可避免地遭受突发性的比特差错(bit error)或分组丢失(在流媒体传输中,分组到达的时间超过一定期限一般也可视为分组丢失)。为了让压缩视频流能够稳定、安全、可靠地传输,很多专家学者提出了许多不同的差错控制方法。这些差错控制方法主要分为以下3类:
①、在编码器中进行差错控制编码:在进行信源编码及信道编码时,采取一些措施使编码后的比特流具有一定抗误码特性;
②、在解码器中实现错误隐藏:在解码端进行错误检测并进行错误隐藏(error concealment);
③、编码器、解码器交互的差错控制:通过信源编码器和解码器之间的相互协作,编码器针对解码器所提供的传输信道特性等信息,自适应地调节编码参数。
下面我们将从四个方面来介绍并探讨流媒体传输中的与差错控制有关的一些热点技术。第一部分我们将介绍可扩展性视频编码流式技术;第二部分我们将介绍当前最新的视频编码标准H.264中采用的抗误码技术及其网络“亲和性”;第三部分我们将探讨如何在H.264中结合可扩展性视频编码技术来提高压缩码流的网络的自适应性;第四部分我们将探讨如何结合H.264的编码特性来进一步提高其压缩码流的抗误码特性。
一、可扩展性视频编码技术
网络上传输的视频流,可以根据其信源编码的输出方式分为两类:面向存储的非扩展性视频编码流式技术和面向网络传输的可扩展性视频编码流式技术。可扩展性视频编码流式技术又可分为传统的分层可扩展性编码和精细的可扩展性编码。
1、非扩展性视频编码流式技术
l 最小传输:为了解决视频在网络中传输带宽不足的问题,按照带宽最低接收端的接收条件产生视频码流传送给所有接收端。这种方式可以保证所有用户都获得视频,但是带宽足够的用户也只能观看质量很差的视频,因而带宽利用率极低。
l 自适应编码:在视频会议这类需要实时编码的传输中,可以根据信道条件实时的调整编码器参数,生成适当的视频码流。通常采用RTP/UDP/IP协议,发送方将压缩数据划分为RTP协议包发送给接收方,接收方监测RTP数据包的传输延时和丢失率,通过RTP协议中的RTCP协议将网络传输情况反馈给发送方,发送方根据网络带宽情况对发送的码流进行调整(如:改变量化参数或者改变帧率)。这种方式可以适应网络带宽变化,但是对服务器要求太高,而且对编码传输分开的应用如VOD不适用。
l 代码转换:服务器保存一个质量足够好的压缩视频流,当需要降低输出码率时,只进行部分解码和编码,选择性丢弃压缩数据中不重要的内容,如选择性丢帧,丢弃DCT参数的高频部分,或者再进行一次量化。这种方式复杂度比自适应编码低很多,但开销仍然很大,当大量用户同时点播节目时服务器依旧不能忍受。
l 码流切换:基本思想是服务器保存同一视频的不同质量的多个拷贝,这些码流的关键帧(如:IDR帧)是对齐的。当网络带宽发生变化时,服务器选择一个适当的码流传送。码流切换可以和组播相结合实现联播。
2、传统的分层可扩展性编码
目前,诸如MPEG-4、H.263、H.264等现行国际视频压缩编码标准均采纳了分层可扩展性编码思想。分层可扩展性编码分为4类:
l 时间分层编码:是指以相同的空间分辨率、不同的帧率将原始视频信息压缩成两层——基本层和增强层,所谓不同的帧率就是对视频帧序列进行时间采样,以此来改变帧率。通常将I帧和P帧作为基本层,以低帧率进行编码。将B帧(双向预测帧)作为增强层,以较高的帧率进行编码。因为B帧本身不作为运动补偿的基准帧,B帧的丢弃对其它各帧的质量没有影响。
l 空间分层编码:是指以相同的帧率、不同的空间分辨率将原始视频信息压缩成两层——基本层和增强层。所谓不同的空间分辨率就是对视频序列进行空间采样,基本层以较低的空间分辨率进行编码;增强层在基本层的基础上形成高分辨率图像的空间预测。这样,空间抽样随着层次的增加,分辨率逐渐提高,同时码率也越来越高。解码器可以根据接收端的需要,在一定带宽速率的限制下接收不同层的视频信息,从而获得最好视频接收效果。
l 信噪比分层编码:是指以相同的帧率和空间分辨率将原始视频信息压缩成两层——基本层和增强层,而且这两层的量化精度不同。基本层比特流经过可变长解码器(VLD)解码,再进行反量化,产生重建后的DCT系数,是对基本层信息进行粗量化。增强层比特流进行可变长解码,然后进行反量化,产生DCT系数的增强层残差,是对重建后基本层与原始视频帧间的差值进行编码。
l 数据分割:它可被考虑成一种将比特流简单分成一个重要部分和一个次重要部分的方法,以便以不同的差错率进行信道的双层传送。不同于其它几种分级方法,数据分割方法可在系统级实施,因为它不改变低级的任何编码决定和算法选择,仅仅将己编好的数据分成两个部分。它在编码后可作为后处理步骤使用。数据分割方法由于其简单的可执行性而博得好感。
3、精细的可扩展性编码
传统分层可扩展性编码的各个压缩层的码流在编码器编码完成时就固定了,而且一般间距较大,用户只能在有限的范围调整码流。例如:信噪比分层编码生成基本层32kbps,第一增强层64kbps和第二增强层128kbps,对于网络带宽为32kbps~96kbps~224kbps之间的用户带宽利用率仍然不高,例如具有180kbps接入带宽的用户最多只能获得96kbps码率的视频质量。造成这种现象的原因是分层可扩展性编码生成的每个层要么不传输,要么完全传输。精细的可扩展性编码可以很好地解决这个问题。它的基本思想是将视频编码成一个可以单独解码的基本层码流和一个可以在任意地点截断的增强层码流,其中基本层使用基于分块运动补偿和DCT变换的编码方式来适应网络传输的最低要求。增强层使用位平面编码技术对DCT残差进行编码来覆盖网络带宽变化的动态范围。解码器重建的视频质量与收到并解码的比特数成正比。
二、H.264的网络“亲和性”
目前,大多数的视频会议系统均采用H.261或H.263视频编码标准,而H.264的出现,使得在相同的视频质量下实现了码率减半。也就是说,用户只利用384kbit/s的带宽,就可以享受H.263下高达768kbit/s的高质量视频服务。这种高压缩效率可以给视频实时通信、数字广播电视、视频存储等应用带来很多好处,提高人们的视频欣赏质量。并且随着今后实现优化性工作做得更好,其压缩性能方面的优势将更为突出。H.264能工作在低延时模式以适应实时通信的应用(如视频会议),同时又能很好地工作在没有延时限制的应用,如视频存储和以服务器为基础的视频流式应用。
H.264不但具有更高的编码效率,而且具有更好的网络适应性。H.264标准从系统的层面定义了视频编码层(VCL)和网络提取层(NAL)。NAL的主要功能是定义数据的封装格式,把VCL产生的比特字符串适配到各种各样的网络和多元环境中。H.264标准的这种分层的体系结构为我们进一步提高H.264的抗误码特性、进一步完善H.264的容错机制提供了可能。根据这种分层特性,可以分别在视频编码层和网络提取层中采用不同的方法进行差错控制。同时,H.264还引入了面向IP包的编码机制,既有利于分组传输,又支持视频的流式传输,具有较强的抗误码特性。
1、H.264在视频编码层的差错控制
H.264标准继承了以前视频编码标准中某些错误恢复工具,同时也改进和创新了多种错误恢复工具,主要包括参数集、灵活的宏块排序和冗余片RS等。
(1) 参数集
H.264的参数集分为序列参数集和图像参数集。其中,序列参数集包括一个图像序列的所有信息,即两个IDR图像间的所有图像信息。图像参数集包括一个图像的所有分片的所有相关信息,包括图像类型、序列号等,解码时某些序列号的丢失可用来检验信息包的丢失与否。多个不同的序列和图像参数集存储在解码器中,编码器依据每个编码分片的头部的存储位置来选择适当的参数集,图像参数集本身也包括使用的序列参数集参考信息。
关键信息比特的丢失(如序列和图像的头信息)会给解码带来严重的负面效应,而H.264把这些关键信息分离出来,凭借参数集的设计,确保在易出错的环境中能正确地传输,这种码流结构的设计增强了码流传输的错误恢复能力。
(2) 片、片组、灵活的宏块排序(FMO)
一幅图像由若干片组成,每片包含一系列的宏块(MB),每个片独立解码,不同片的宏块不能用于自身片中作预测参考。因此,片的设置不会造成误码扩散。灵活的宏块排序(FMO)适用于H.264的基本档次和扩展档次的应用,这种错误隐藏机制可以明显提高抗误码性能。
(3) 数据分割
通常情况下,一个宏块的数据是存放在一起而组成片的,数据划分使得一个片中的宏块数据重新组合,把宏块语义相关的数据组成一个划分,由划分来组装片。H.264视频编码标准A型、B型、C型等三种不同类型的数据分割。
(4) 冗余片方法
H.264中参考图像的选择与H.263一样,在基于反馈的系统中,解码器接收到丢失或被破坏的图像信息时,选择参考图像序列中正确的参考宏块,来进行错误恢复;而对于无反馈的系统,H.264提出了冗余分片编码。
冗余分片允许编码器把在同一个码流中添加同一MB的一个或更多冗余表示,但是这些冗余片的编码参数与非冗余片的编码参数不同。例如:主片可用低QP(高质量)来编码,而冗余信息中能用一个高QP(低质量)的方式来编码,这样质量粗糙一些但码率更低。解码器在重构时,首先使用主片,如果主片可用就抛弃冗余片,如果主片丢失(比如因为包的丢失)冗余片也能被用于重构。
(5) 帧内编码
H.264中的帧内编码部分也进行了重要的改进,主要体现在:
①、H.264中帧内预测宏块的参考宏块可以是帧间编码宏块。
②、只包含帧内宏块的片有两种,一种是帧内片(I Slice),一种是立即刷新片(IDR Slice)。立即刷新片需存在于立即刷新图像(IDR Picture)中,与短期参考图像相比,立即刷新图像有更强壮的重同步性能。
同时,为了更适用无线IP网络环境中的应用,H.264通过采用率失真优化编码和设置帧内预测标志,来提高帧内图像的重同步性能。
2、H.264在网络提取层的差错控制
(1) NAL单元
NAL支持众多基于包的有线无线通信网络,诸如H.320、MPEG-2和RTP/IP等。但是,目前绝大部分的视频应用所采用的网络协议层次是RTP/UDP/IP,每个NAL单元是一个一定语法元素的可变长字节字符串,包括包含一个字节的头信息(用来表示数据类型),以及若干整数字节的负荷数据。一个NAL单元可以携带一个编码片、A/B/C型数据分割或一个序列或图像参数集。NAL单元按RTP序列号按序传送。H.264采用这种严格的接入单元,不仅使H.264可自适应于多种网络,而且进一步提高其抗误码能力。序列号的设置可发现丢的是哪一个VCL单元,冗余编码图像使得即使基本编码图像丢失,仍可得到较“粗糙”的图像。
(2) H.264中的RTP
RTP可通过发送冗余信息来减少接收端的丢包率,会增加时延,与冗余片不同的是它增加的冗余信息是个别重点信息的备份,适合于非平等保护机制。H.264采用简单打包的方案,即一个RTP分组里放入一个NALU,将NALU(包括同时作为载荷头标的NALU头)放入RTP的载荷中,设置RTP头标值。理想情况下,VCL不会产生超过MTU尺寸的NAL单元,来避免IP层的分拆。在接收端,通过RTP序列信息识别复制包并丢弃,取出有效RTP包里的NAL单元。基本档次和扩展档次允许片的无序解码,这样在抖动缓存中就不必对包重新排序。在使用主档次时(不允许片的乱序),要通过RTP序列信息来对包重新排序,解码顺序号(DON)的概念现正在IETF的讨论中。
H.264中采用的参数集、NAL上的NALU的概念、灵活的宏块排序FMO、数据分割以及帧内编码等都极大地提高了复杂网络环境下的抗误码能力。同时,RTP封装规范与NAL紧密结合,提供了对数据封装的指导。当联合使用这些工具时,可以达到更高的性能,在因特网和恶劣的无线网络上进行高质量的视频压缩也将成为现实。
三、在H.264中结合可扩展性视频编码技术
前面我们已经知道H.264具有很好的网络“亲和性”,但是,这种网络“亲和性”具有一定的局限性,当网络条件比较恶劣,特别是在干扰很严重、丢包率比较高(比如:丢包率为20%以上时)的时候,H.264的抗误码特性还存在着很多问题。一方面,由于H.264中采用了帧间(inter)和帧内(intra)预测以及可变长编码(VLC)技术,因而,压缩后的码流对信道中发生的比特误码比较敏感。由于VLC的使用,一个比特的错误将破坏解码与编码的同步,因而在下一个同步码字到来之前无法对VLC码字进行正确的解码,从而导致后继比特的正确接收失去意义;而采用帧内和帧间预测技术以后,一个带有错误的采样点将会导致同一帧或者后继帧中相关的采样点发生错误,即预测编码技术有可能将错误扩散到整个视频序列中,这将极大地降低视频的重建质量。另一方面,在无线传输时,多径反射和瑞利衰落将会引入了大量的随机误码和突发误码,这同样影响了码流的正常传输。
H.264的网络“亲和性”在一定程度上可以减轻误码对视频质量的影响,但是,为了在恶劣的网络条件下能够稳定可靠地传输,必须进一步提高H.264的抗误码特性,并实现码流对网络环境的自适应调整,我们还是有必要进一步提高其压缩码流的网络自适应性。
1、可扩展性编码的优越性
可扩展性编码技术为了适应各种不同网络传输环境,以及网络带宽资源有限的或者是具有噪声干扰而易丢包的情况下才而产生的。可扩展性编码技术的基本原理是产生一个基本层码流和一个或多个嵌入式的增强层码流。基本层包含了最重要的、质量较低的视频信号,因此要保证它能安全的在网络上传输,须使基本层码流不大于网络带宽的下界。嵌入式的增强层码流,它保存着原始视频信号和由基本层恢复的视频信号的差值。当在增强层码流的任意位置截断时,解码器均能恢复出相应质量的视频信号。这就使得当网络带宽变化时(码流可能在某处截断),视频信号的变化是渐进的、平滑的。接收到的增强层码流越多,对基本层所恢复的图像质量的增强也越多,视频效果就越好。
(1) 可扩展性编码可以提高硬盘吞吐速度
在流媒体服务器中,存储系统一直以来都是主要的系统瓶颈,这是因为他们性能的提高并不能跟上处理器和网络的发展。目前希捷最快的Cheetah 15K.4的最大传输速度只有75MB/s,而第二代国际互联网(Internet2)数据传输速度达到了6.63Gbps,美国的National Lambda Rail (NLR)的全光纤网络的理论最高传输速度可达到10Gbps,2004年12月,中国第一个全国性下一代互联网CERNET2正式开通并提供1Gbps-10Gbps连接服务。
为了提高存储系统的性能,1988年,美国加州柏克莱的一些研究人员中提出了最初的RAID概念——即廉价磁盘冗余阵列,阐述了这种磁盘阵列在提高数据传输带宽、数据冗余保护和大容量I/O传输中的数据易访问性等方面的优良性能。后来随着技术的发展,一些新的RAID级别,NAS(网络附加存储),SAN(存储区域网)也随之提出。虽然这些技术能够提高存储系统的传输速度,但是传输速度越快,其实现的代价也越大。因此如果我们考虑到采用分层存储这一技术时,就能够降低存储系统代价的同时,进一步提高存储系统的传输速度。
采用分层编码时,其各个层的信息分别存储到不同的存储系统,这样,当读取流文件时,各个层的数据可以同时从不同的存储设备中读出,这样就能够在已有的技术基础上,进一步提高存储系统的传输速度。并且各个层的信息对视频重建的重要性是不同的,我们可以根据这种重要性的不同,对各个层数据采用不同的存储方法。这样既可增加流媒体服务器的可靠性,又能降低存储成本。当采用分层存储时,对于不同网络带宽的请求,服务器可以和用户端进行协商,选择传输不同的层以适应该用户的带宽,以避免网络拥塞。若客户服务请求大大超出服务器的最大吞吐量时,服务器可以只传输基本层及少数几个增强层数据以满足大部分服务请求,从而提高了服务质量。
(2) 可扩展性编码可以提高网络传输速度
随着3G等技术的成熟和推广,在无线信道上传输,视频已经成为无线网络传输的主要内容,无线的视频实时通信、无线的电影点播、无线的家庭安防和娱乐已经普及到日常生活的每个角落。虽然H.264的码流相对别的标准比较小,但由于无线信道由于带宽资源相对有限,如果没有合理的编码策略,网络的拥塞、丢包等必然会严重影响视频通信质量。而多率的编码或者可扩展的编码方法(SVC),则被认为可以根据网络带宽情况,自适应调整码率以及传输质量层,从而达到最佳的视频通信服务质量。
对实时通信来说,编解码有时是在一些手持终端上完成的,编码的能力相对有限,而H.264的复杂度又相对较高,即便采用其Baseline定义的SPEC,做到CIF的实时编码,也需要240 MIPS左右的计算代价,因此采用多率的方法,即同时编出多个不同码率的视频流,在此类应用前提下目前似乎并不十分可行,因此SVC成为了比较好的选择。然而目前的SVC技术也还有很多值得继续研究的地方。
对于某一用户而言,他只能得到一个基本层和几个增强层,不同的用户得到的增强层的层数不一样。因此,他们得到的码率的等效的量化步长是不一样的。对于H.264而言,好的编码质量很大程度上来自于其采用的运动预测时的率失真技术,即根据不同的量化步长确定不同的搜索范围。那么,只有收到所有增强层的用户,得到的才是真正意义上率失真最优的码流,这对于其他的用户显然是不公平的。因此,有必要研究如何真正做到质量的分层和码率的分层,以保证视频通信的最佳效果。
2、在H.264中结合可扩展性编码
可扩展性编码的方法有:空间域可分级扩展、时间域可分级扩展和信噪比可分级扩展。MPEG-4标准支持精细粒度可分级扩展(FGS),H.264同样也可以采用类似的思想,以提供良好的网络带宽的适应性,低开销和对于包丢失的鲁棒性。对DCT系数采用差值的位平面编码技术,采用与MPEG-4等标准兼容的运动预测和特有的整数DCT变换,对基本层进行编码,产生一个低质量的基本层,并使得该基本层与网络的最低带宽相适应,以减少错误和包丢失。而对DCT系数的量化误差,进行位平面编码以获得嵌入式的增强码流。码率较低时对基本层采用信道编码重点保护,为接收方提供分辨率较低的有效视频质量。由于基本层的量化步长较大,基本层量化误差通过位平面编码技术形成增强层码流,在编增强层码流时尽可能采用高质量的增强层为参考,则可以更好地提高编码质量。
选择中间的一些增强层作参考能有效地提高编码的效率,系统中采用图1中五层的编码结构,选择增强层2和增强层3作为高质量参考层。图中实线实箭头表示相邻两帧和帧内的相邻层的预测关系,实线开放箭头表示用低质量的基本层还重构一个增强层作为下一帧的高质量的参考,虚线实箭头表示在得不到高质量的参考时,可以采用低质量的参考来代替。
基本层 |
|
||||
|
|||||
|
|||||
增强层 1 |
|||||
|
|||||
|
|||||
增强层 2 |
|||||
|
|||||
|
|||||
增强层 3 |
|||||
|
|||||
|
|||||
增强层 4 |
|||||
帧序 |
1 |
2 |
3 |
4 |
5 |
图1 分层编码结构图 |
|
图2 分层编码中FEC编码端到端传输结构框图 |
编码产生两个码流,基本层流是必须传输的,信道编码时应重点保护;增强层编码则是采用运动补偿的DCT变换技术产生的不同层次的编码数据,不同层次的编码数据对视频质量的贡献不尽相同,因而具有不同的重要性,如果增强层码流中某一帧的较低层次数据发生数据丢失,那么在错误位置之后的该帧其它层数据即使能正确传输也将无法正常解码。本系统考虑采用前向纠错编码(FEC)对视频数据进行非均匀保护,其结构框图如图2所示。
此外,可以采用通过统计各用户的带宽资源,确定最佳的编码层数,以确定最佳的量化步长和运动搜索的范围,提高编码的质量。
四、进一步提高H.264的抗误码特性
1、H.264现有的片、片组、灵活的宏块排序(FMO)以及设置冗余片的方法
在H.264中,一幅图像可以由若干片组成,每片包含一系列的宏块,每个片独立解码,不同片的宏块之间不能相互用作预测参考。因此,片的设置不会造成误码扩散,这种错误隐藏机制可以明显提高抗误码性能。实验证明,在CIF图像的视频会议中,在丢包率达10%时,视频失真低到需要训练有素的眼睛才能识别。但是,在网络条件更加恶劣(干扰很严重、丢包率为20%以上时)时,视频失真度将会比较大。
此外,H.264中还提供了设置冗余图像的方法,例如:可以在冗余图像中设置冗余片。H.264允许编码器把在同一个码流中添加同一MB的一个或更多冗余表示,但是这些冗余片的编码参数与非冗余片的编码参数不同。例如:主片可用低QP(高质量)来编码,而冗余信息中能用一个高QP(低质量)的方式来编码,这样质量粗糙一些但码率更低。解码器在重构时,首先使用主片,如果主片可用就抛弃冗余片,如果主片丢失(比如因为包的丢失)冗余片也能被用于重构。
设置冗余片的方法适用于高误码的移动环境,虽然它对冗余片采用了高QP(低质量)的方式来编码,节省了一部分码率,但还是在很大程度上降低了编码的效率,而且恢复后的视频质量粗糙。
2、改进的片、片组、灵活的宏块排序(FMO)与设置冗余图像相结合的方法
为了在网络条件更加恶劣(干扰很严重、丢包率为20%以上时)时,进一步降低视频的失真度。我们可以采用改进的片、片组、灵活的宏块排序(FMO)与设置冗余图像相结合的方法。
|
图3 FMO棋盘分片例图 |
在FMO模式的划分上,将采用棋盘模式;在设置冗余图像的方法上我们不再采用设置冗余片的方法,而是采用设置AC系数的方法。棋盘模式是一种交织的模式,它将所有的MB分配到片组 0(slice 0)和片组 1(slice 1)中,预测出丢失宏块中各个小块(4×4)的DC系数,并用等同于该DC系数的直流分量来代替整个丢失的块(4×4)。这样就保留了图像的主要轮廓而丢失了图像的细节(AC系数)。在解码端将(slice 0)和(slice 1)重构并组合以后,可以明显地看到相邻宏块之间的边界,严重影响了视频质量。
|
图4 H.264码流中的数据单位,这里的数据单位是指可以被独立放入一个分组中传输的句法元素的集合 |
采用棋盘模式FMO与设置冗余AC系数相结合的方法可以很好地解决上面的问题。当白片(slice 0)丢失时,因为其周围的宏块都属于灰片(slice 1),根据邻域相关性,我们可以先用均值法粗劣地预测出丢失的宏块的DC系数,再通过线形内插的方法对宏块中各个小块(4×4)的DC系数进行精确的预测和分配。同时,可以从冗余图像中取出每一小块的AC系数。这样,将DC系数和AC系数合在一起就可以非常精确地恢复出丢失的宏块,进而重构出丢失的片白片(slice 0)。
这种简单的交织的棋盘模式,既不会过多地增大编码、解码的复杂度,又可以有效的控制误码的扩散,同时将棋盘模式与设置冗余的AC系数相结合,还可以非常有效地利用领域之间的相关性对丢失的片进行很好的恢复。这种改进的片、片组、灵活的宏块排序(FMO)与设置冗余图像相结合的方法将极大地提高码流的抗误码能力。
总结:
随着Internet的进一步发展,对多媒体服务的需求,特别是对视频的需求,呈现出飞速增长的趋势。流媒体技术代表着由传统的内容下载形式向新型的内容跨媒体实时获取的演变,流媒体的应用就是要使用户在第一时间去体验一种无缝和即时的媒体资料信息,而流媒体技术的实现方法在很大程度上得益于视频的编解码技术及其实现方案。H.264由于具有更高的编码效率和更强的网络适应性,因而在多媒体信息服务(MMS)、包交换流服务(PSS)和会话应用等各方面成为最有竞争力的候选标准。H.264既可以应用于实时通信,也可以应用于对时延要求不高的其他应用中,具有广阔的市场前景。同时,H.264作为一个公共的、开放的标准,它将为更多的人提供更好的服务,具有广阔的商业的前景。