摘要:基于大量的实际研究工作,论述了高保真实时准动态图像采集压缩和远程传输平台的设计思想、总体结构、关键技术和优化策略。着重对视频采集技术、压缩技术、图像实时传输技术、同步技术和自适应技术作了具体阐述。在相关技术领域有重要的学术价值和实际意义。
关键词:高保真 自适应 帧间压缩 双向调节
在Internet飞速发展和广泛普及的今天,信息传输从两方面加强力度:一是多媒体化;二是实时化。在此基础上,高保真准动态图像采集、压缩和远程传输技术成为许多先进国家计算机领域的重要研究课题。在军事上,战场信息已经不只是文字类型,而需要为决策者提供高质量的动态实时图像信息,以便及时准确地了解战场真实情况;另外,对国外新式战斗机、导弹等先进武器和装备,也不只是从文字上了解散其功能、从静态图片上了解其形状,而是要解其在实战中的具体功能、实际威力以及真实效果,使决策者和科技人员获得动态和感性的认识,有身临其境之感。在工业上,需要对一些多变的、有毒的、人类不宜久留的场合进行监测。在医疗上,则需要一些高级专家对异地的病人进行诊断和治疗……这些都是基于高保真实时准动态图像采集压缩和远程传输技术的综合实现。本文结合课题组长期的研究阐述其主要技术及其优化策略。
1 系统设计思想
本系统的设计目标是基于Internet实现远程部点之间的高保真准动态图像的实时传输。整个系统贯彻如下设计思想:发送站点和接收站点都具对图像质量的控制功能,以适应Internet传输率不稳定的情况;对图像采用多种类型的压缩技术,以适应不同的图像分辨率和环境要求;在Internet信道传输率较差时,能够启动自适应功能。
2 系统总体结构
在物理上,本系统分为发送站点和接收站点两部分。在逻辑上,本系统分为图像采集、压缩和传输子系统、性能控制子系统。整个系统包含如下六个独立的功能模块,如图1所示。
(1)图像采集、压缩和传输子系统
%26;#183;图像采集模块,发送站点从摄像机读原始视频流,按一定的格式存储为视频数据。
%26;#183;图像压缩模块,发送站点将视频数据压缩,
为网络传输作准备。
%26;#183;视频传输模块,利用RTP和UDP协议将压缩后的视频数据发送到远程站点。
%26;#183;视频解压缩模块,接收站点将接收到的压缩数据用解压缩算法还原成视频数据。
(2)性能控制子系统
%26;#183;客户/服务器同步模块,使发送站点和远程接收站点在视频格式和设置方面保持一致。
%26;#183;自适应模块,在信道传输率较差时,能自动启动自适应功能,使系统的视频传输适应复杂的网络情况。
3 系统设计中的关键技术和优化策略
3.1 视频采集技术分析和选择
为了实时视频采集,需要安装相应的视频采集设备。即视频采集卡和摄像头等。并需要安装相应的驱动软件来支持这些设备的运行。
Windows2000操作系统提供了VFW(Video for Windows SDK)。VFW包含了大量与视频采集有关的编程接口。这些编程接口通过操作系统提供的VFW-to-WDM Voide Capture Mapper调用设备驱动程序中的相关例程,为系统的图像采集提供了底层接口编程基础。
本系统用到最主要的编程调用有如下几个:
CapCreateCaptureWindow,创建一个视频采集窗口;
CapCriverConnect,连接视频采集设备驱动程序;
CapSetVideoFormat,设定视频格式;
CapDlgVideoFormat,设置对话框。
VFW提供了两种视频采集模式:Preview(简称P模式)和Overlay(简称O模式)。笔者在系统设计中通过实验和测试比较了这两种模式。
%26;#183;P模式占用较多的系统资源。在这种模式中,硬件将采集的视频帧传送到系统内存中,然后在视频采集窗口用Windows GDI函数进行显示;而O模式下,视频采集子系统直接通过硬件方法显示视频,相对来说节省内存,且速度较快。
%26;#183;O模式稳定性较好,但也要求电源性能较好。在直流电源性能较好情况下,采用Overlay模式进行视频采集。
实际运行过程表明,上述分析是正确的。本系统设计中采用了Overlay模式。这一选择对稳定性起到了较好的优化作用。
3.2 视频压缩、解压缩技术的优先和优化
针对视频应用中可能遇到的各种情况,本系统的压缩、解压缩模块设计采用三种压缩方案,使用时可以从中选择一种,以适应不同环境和不同需求。
一是国际通用的高压缩进比方案H.263,该方案压缩比高,但图像质量较差,适用于网络传输性能较差的情况,该方案大体符合现场图像的处理要求。二是图像压缩质量最好、算法最先进的MPEG-4方案,该方案图像质量好,便压缩比较低,适用于网络传输性能良好的情况。三是在H.263的基础上作为较大幅度修改和优化的TH.263方案,该方案在压缩比与H.263相近的情况下,图像质量有明显改善。
TH.263方案是在对H.263深入分析基础上实施的。通过分析H.263的整个系统程序,得以其设计思想如下:首先将采集到的原始图像划分成8%26;#215;8的宏块,然后判断此帧是不是关键帧。如果是关键帧,则对每个宏块作DCT(Discrete Cosine Transform)变换,对变换后的视频数据采集视觉能够接受的量化比量化,量化后许多高频分量将变成零,为了最大限度提高压缩编码效果,采用Z形扫描技术将其重新组合,然后对组合串做行程编码,最后对得到的结果进行哈夫曼编码;如果是非关键帧,则对每个宏块先进行运行矢量的计算,然后与上一帧图像作差,再象关键帧那样经过DCT变换、量化和行程编码、哈夫曼编码得到压缩的图像。
图像解压缩与压缩过程正好相反,即先将压缩的函数数据作行程解码和哈夫曼解码,然后进行反量化,并据此进行IDCT变换。如果此帧是关键帖,,则直接将这个宏块重组即得出还原后的图像;否则,根据运行矢量将各宏块的数据与上一帧进行组合才得出不定期原后的图像。由于解压缩不需要分析图像和网络的情况,也不需要考虑压缩比和压缩质量,只是简单地将图像还原,所以程序比较简单。
通过分析和测试表明,格式转换、对关键帧和非关键帧离散余弦变换DCT、对非关键帧的帧间压缩是最重要最耗时的环节。为此,在设计中对这些环节进行了优化。
具体讲,在格式转换、DCT变换中,一是在采集到的RGB色彩空间图像到压缩算法视频输入格式CIF变换中,用整型算法和移位相结合的优化转换函数代替速度较慢的浮点运算;二是在关键帧和非关键帧的DCT变换中,采用零系数预测策略对DCT变换的输入数据分类,节省了大量无效运算;三是采用多媒体处理指令集MMX实现DCT变换,大幅度提高了运算速度。
此外,为了实现良好的帧间压缩,比较了两种不同的压缩方式。
第一种方式是以象素为基础,首先将其与上一帧作差,得到一个稀疏矩阵。在作差的过程中,采用小范围匹配的方法去掉一部分噪声,然后采用优化的行程编码得到最后结果,并把当前帧保存在指定的内存区,作为下一帧作差的参考帧。
第二种方式是以宏块为基础的运行补偿方式,首先计算运动矢量,然后采用行程编码和哈夫曼编码。用运动补偿技术既可以达到较高的压缩比又有相当好的图像质量。
对于第一种以象素为基础的编码方式,在保证较高的帧频和压缩比的情况下,图像质量好。而对于第二种以宏块为基础的运动补偿编码方式,图像质量稍差,但压缩比较高,适用于数据传输率较低的情况。
为吸收二者的长处,笔者在对H.263源程序分析的基础上进行了优化,采用混合压缩编码方案。此方案将上述两种方式结合起来,从而使系统有效地适用于Internet传输。因为远程站点之间通过Internet进行传输时,信道的数据传输率不是固定的。所以,系统中通过信道测试反馈信息改变量化时的步长,从而调节视频信息的数码率,以便更好地适应信道传输率的变化。
优化方案的思想是:通过传输模块反馈回来的信息,得知当前网络的传输速率,以此来调整压缩算法的各个参数,即压缩质量、每秒帧数等,获得当前最好的帧率和质量。
具体从两方面实施:一是对帧内压缩方法进行优化;二是对帧间压缩方法进行优化。
对帧内压缩方法的优化主要通过改变压缩质量的参数来调节图像质量和压缩比。
对帧间压缩方法的改进是通过改变频率、关键帧间的距离调节传输速率。改变每秒采集和传输图像的数目,以改变传输数据的大小。帧间压缩要用到运动补偿,其关键在于两帧之间的差别大小。如果图像只有微小的变化,那么经过作差后压缩效果较好;如果图像变化很大,那么经过作差后压缩效果较差。为充分利用运行压缩的特点,根据图像变化的大小来调节关键帧间的距离。在图像变化不大的情况下,非关键帧数据较少,此时拉长关键帧间的距离既可以低传输率,又不影响图像的质量;在图像变化较大的情况下,非关键帧数据较多,此时缩短关键帧间的距离,以增加运动补偿的效果。
3.3 用UDP和RTP实现图像传输并进行实时优化
视频图像的实时传输有如下特征:
%26;#183;数据量大,尤其是高保真活动图像的数据量更大,从而带宽要求高;
%26;#183;实时性要求高。
上述特点使视频图像传输对传输环境提出很高的要求。但另一方面,图像数据包在少量丢失情况下不影响还原质量。为此,采用建立在UDP基础上的实时传输协议RTP。
用UDP协议进行数据传输的优点是不需要建立连接,传输速度快。缺点是容易丢失数据包,而且数据包的顺序容易混乱。
RTP是基于UDP的网络传输协议,编程时通过时间标签(Time-temping)机制、信息序列编号(Sequence Numbering)机制和有效数据类型标识(Payload Type Identifier)机制的联合使用,在允许的延迟范围中保证数据的实时传输质量,对于少量信息包的丢失,则采用补偿方法解决。时间标签用来标明实时数据块生成时间,接收方可据此正确排列数据接收顺序,并保证实时数据传输同步,一帧图像数据组成的RTP信息包有相同的时间标签。序列编号通过配合时间标签设置,同一帧图像的RTP信息包有相同的时间标签,但有不同的序列编号。有效数据类型标识用来定义各种数据压缩方法,并可通过手动或自动方式动态调整,在信息拥挤时可提高压缩比。
本设计中,对实时可靠性进行了优化,具体程序设计中,采用了如下策略:
%26;#183;建立一条以UDP作为传输协议的数据通路,在传输时把压缩过的视频流打包,打包时考虑到两个因素:第一,某些压缩的关键帧会很大;第二,关键帧与非关键帧数据量相差很远。这两个因素可能导致数据包乱序,为此,不能简单地将视频帧作为打包单位,而是将数据流划分成等量的小包,并在包头标上序号进行顺序传输。
%26;#183;另建一条以TCP为传输协议的控制通路,其作用是反馈一些控制命令给发送方,从而最小限度地防止传输中的错误。接收方建立个可容纳0.3~0.8s图像的缓冲区,按照数据包头的编号将数据流进行重构。如果数据包编号出现不连接,则说明发生了丢包或乱序。于是,接收方立即通过控制通路发送命令要求重发所丢失是数据包。采用TCP可保证控制命令传输的准确性。
3.4 视频传输中的自适应技术
由于网络带宽有限且随机变化,因此视频传输的实时性会受到严重影响,甚至会使接收到的视频出现不连续或停顿现象。为此,在系统设计中,引入了视频传输的自适应机制。具体实现的,系统一边传输一边检测网络状态,
并据此调整发送策略以适应网络变化。图2表示了在远程控制系统中加入自适应机制后的结构。
自适应机制由检测模块、反馈模块和决策模块组成。发送端将视频图像压缩后,打成RTP数据包,然后用RTP协议发送。发送站点的自适应检测模块检测并记录有关的发送信息,包括传输率、字节数等。接收站点通过自适应反馈模块检测有关的信息,并将其发送到接收站点的检测模块。后者将发送和接收时的信息相比较,再将比较结果传送到自适应决策模块。为了尽可能节省信息量,接收端自适应反馈模块向发送端检测模块只发送一个信息包序列号。这样后者可计算出信息包的传输时间,并在多次检测基础上得到带宽平均评估值。发送端再根据评估值改变视频采集频率和压缩比,调整视频数据量,从而实现自适应功能。
3.5 发送和接收的同步技术
本系统采用Client/Server结构。在这种结构中,只有Client端才能连接请求建立连接,而且一个Client端可与多个Server建立连接。因此,将接收站点作为Client,发送站点作为Server。当接收站点需要得到远端的视频图像时,便发出连接请求。这种方式适用于系统视频采集站点处于恶劣环境中无人看管的情况。
Server端采集视频数据并进行压缩后,发送给Client,Client将数据解压缩后显示视频图像。系统设计中,为了适应不同的网络环境和图像要求,对视频质量配置了双向调节功能。即一方面,视频采集站点可直接调节图像质量,另一方面接收站点也可以调节采集站点的图像采集和压缩参数,从而是调节图像质量。
对图像质量的双向调节功能基于如下设计:
%26;#183;将Client端控制面板中的参数(采样间隔、关键帧数、关键帧质量、非关键帧质量)传递给Server端,再由Server端依据这些参数进行视频采集和压缩;
%26;#183;Client端和Server端在设置上保持一致,即无论哪一方改变设置,都会使对方的控制面板保持一致。
具体实现时,设计了一个用8字节表示的comp_config_packet结构;当在Server端或Client端拖动控制面板上的滚动条时,将改变后的各项数据填充到comp_config_packet结构中,并将此结构发送到Client端或Server端;当Client端或Server端接收到该数据结构后,立即据此改变对应控制面板中的各项数据,并在控制面板上作相应显示。
引用地址:高保真实时准动态图像采集压缩和远程传输平台的研究与实现
小广播
热门活动
换一批
更多
最新应用文章
更多精选电路图
更多热门文章
更多每日新闻
- Allegro MicroSystems 在 2024 年德国慕尼黑电子展上推出先进的磁性和电感式位置感测解决方案
- 左手车钥匙,右手活体检测雷达,UWB上车势在必行!
- 狂飙十年,国产CIS挤上牌桌
- 神盾短刀电池+雷神EM-i超级电混,吉利新能源甩出了两张“王炸”
- 浅谈功能安全之故障(fault),错误(error),失效(failure)
- 智能汽车2.0周期,这几大核心产业链迎来重大机会!
- 美日研发新型电池,宁德时代面临挑战?中国新能源电池产业如何应对?
- Rambus推出业界首款HBM 4控制器IP:背后有哪些技术细节?
- 村田推出高精度汽车用6轴惯性传感器
- 福特获得预充电报警专利 有助于节约成本和应对紧急情况
更多往期活动
11月16日历史上的今天
厂商技术中心