论文摘要:本文介绍了一种适用于网络带宽不稳定环境下的高效、可扩展、自适应以及鲁棒的视频流压缩与传输技术,并以此为基础最终实现了一个流媒体系统。该系统由两部分组成:流媒体压缩部分和网络传输控制部分。本文将详细介绍这两部分所采用的关键技术
论文关键词:流媒体,精细空域可扩展编码,反馈机制,带宽自适应策略
随着计算机技术、压缩技术以及网络技术的发展,网络中的流媒体业务也得到了飞速的发展和应用。但是受现有的网络带宽和服务质量的限制,在网络上传送大数据量的多媒体信息仍然显得很吃力。主要原因其一是传输多媒体数据量相对于网络带宽而言大得多,其二现有的网络环境不够稳定,在传输大数据量时容易造成丢包和拥塞等情况。为了解决此问题,可以采用一种高效的编码手段,将媒体信息在不明显降低质量的情况下,尽可能的压缩数据。并可根据不同网络带宽的条件,按不同的数据压缩比进行数据压缩。此外还需要在编码过程中融入一些容错机制和码率控制技术,以适应各种恶劣的网络条件。
为此,本文着重介绍了应用层的基于视频的压缩编码技术和基于反馈机制的带宽自适应策略,并在此基础上构建了一个可扩展的、鲁棒的流媒体系统。
流媒体技术简介
流媒体技术的开发创意是从传统的TCP/IP协议对通过网络传送信息的控制方法中得到的。流技术能够按照特定的顺序将文件发送出去,而播放程序则可以边接收数据边播放他们。流媒体的形式主要有以下五种:流式音频、流式视频、流式动画、流式图象、流式文本。流媒体实现的关键技术流式传输,流式传输的定义很广泛,现在主要指通过网络传送媒体(如视频、音频等)的技术总称。其特定含义为通过INTERNET将影视节目传送到PC机。目前实现流式传输有两种方法:顺序流式传输(progressivestreaming)和实时流式传输(Realtimestreaming)。在进行流式传输时,首先,多媒体数据必须进行预处理才能适合流式传输,这是因为目前的网络带宽对多媒体巨大的数据流量来说还显得远远不够。预处理主要包括两方面:一是降低质量;二是采用先进高效的压缩算法。其次,流式传输的实现需要缓存。这是因为Internet是以包传输为基础进行断续的异步传输。各个包到达的时间不尽相同,因此采用接收缓存后,可以弥补延迟和抖动的影响,并保证数据包的顺序正确。再次,流式传输的实现需要合适的传输协议。HTTP协议对文本传输比较适宜,但对于实时图像的传输,一般采用RTP/UDP来传输。
2精细时域可扩展编码
随着因特网业务的巨大增长,在速率起伏很大的IP网络及具有不同传输特性的异构网络上进行视频传输的要求和应用越来越多。在这种背景下,视频分级编码的重要性日益突出,其应用非常广泛,且具有很高的理论研究及实际应用价值,因此受到人们的极大关注。视频编码的可分级性(scalability)是指码率的可调整性,即视频数据只压缩一次,却能以多个帧率、空间分辨率或视频质量进行解码,从而可支持多种类型用户的各种不同应用要求。
MPEG-4通过视频对象层(VOL,VideoObjectLayer)数据结构来实现分级编码。MPEG-4支持三种分级编码方式:时域分层编码和空域分层编码和质量分层编码,此外还支持时域和空域的混合分层编码。每一种分级编码都至少有两层VOL,低层称为基本层,高层称为增强层。基本层提供了视频序列的基本信息,增强层提供了视频序列更高的分辨率和细节。
它在编码的时候一次能生成多个不同分辨率的码流。但各个压缩层的码率在编码完成后就固定了,而且一般间距较大。此外传统的扩展编码方式的对增强层进行预测与补偿编码时,都是以同层的视频帧作为参考帧。在这种情况下,传统的扩展编码存在以下两个问题:其一,码率只能提供跳跃性变换的几种码率,难以完全利用网络带宽资源,用户通过接收多个组播组的压缩视频数据只能获得有限的码率调整范围。例如,当编码时提供32Kbps、96Kbps,224Kbps质量的视频时,如果有一个带宽为180Kbps的用户接入,那么他最多只能获得96Kbps的视频质量,带宽利用率不高。其二、以同一增强层的视频帧作为预测参考帧时,一旦某一个增强层的帧发生错误,它后面的增强层都将无法解码,直到遇到下一个I帧为止,即会导致严重的错误传播现象。所以传统的扩展编码更多的是用于存储,而由于网络的异构性和缺乏Qos保证带宽在一个很大的范围内发生变化,因此面向网络传输的视频编码的目标是将视频压缩成适合一个码率范围的码流。
根据实际应用的需求,要求我们的可扩展编码能够提供一个在一定范围内连续可调的码流,尽可能的提高网络带宽的利用率。目前我们实现的基本思想就是:将视频编码成一个可以单独解码的基本层码流和一个可以在任何地点截断的增强层码流,其中基本层码流适应最低的网络带宽,而增强层码流用来覆盖网络带宽变化的动态范围。
实现这种功能的编码方式就是精细空域可扩展编码FGSS(FineGranularSpatiallyScalable)。PFG则是为改善FGS编码效率而提出的视频编码算法,它克服了FGS编码中编码效率低于非可扩展编码及接收端视频质量非最优两个不足点。其基本思想是在增强层图像编码时使用前一帧重建的某个增强层图像为参考进行运动补偿,以使运动补偿更加有效,从而提高编码效率。 1/2 1 2 下一页 尾页 |