设置主页 加入收藏 保存到桌面
当前位置首页论文计算机论文移动终端视频实时传输系统的研究与实现

移动终端视频实时传输系统的研究与实现

纨绔仙医围观:℉更新时间:2021-12-18 13:10:48

移动终端视频实时传输系统的研究与实现

第 1章 绪论

1.1 研究背景及意义

近年来,移动互联网产业飞速发展,以传统PC(Wintel)为主导的计算平台迅速向移动智能终端(Android/iOS+ARM的技术体系)迁移。同时,伴随着Wi-Fi、3G、4G等无线通信技术不断推广和普及,网络带宽大幅提升。在开源技术与开放体系下,基于移动智能终端的创新型应用正在各个行业掀起一场巨大的变革,这将使我们的生活更加丰富多彩,工作更加高效便捷。

但目前,基于移动智能终端的视频实时通信还处在发展阶段,其中存在着流量成本大、延时长、视频质量无法保障等问题,应用产品还不丰富且无法满足商业应用的需求。视频实时通信涉及到视频的采集、编码、传输、解码和显示等多项关键技术,而移动终端存在着性能偏低(相比于普通PC机)和低功耗等问题,并且无线网络无法为视频传输提供质量保障。

综上所述,通过对移动终端视频实时传输相关技术的研究,并在分析影响视频实时传输关键因素的基础上,研究适用于移动终端设备的视频编码算法,通过采取合理的策略和方法来降低算法的复杂度和缩短编码时间,是提高移动终端视频实时传输系统性能的有效途径。同时,本课题设计并实现的基于Android平台的移动终端视频实时传输系统,也为移动视频实时应用提供了借鉴和参考价值。

1.2 国内外研究现状

1.2.1 视频实时传输系统研究现状

基于有线的视频实时传输系统已被广泛应用于视频监控、视频直播、视频会议、远程协助等领域。但是传统基于有线的视频传输系统存在着网络建设成本大、灵活性差等问题,严重制约了视频实时通信应用的发展。无线通信技术的不断发展,使得利用无线网络进行视频实时传输成为可能,并可以有效解决传统有线视频传输的弊端。为了促进无线视频实时传输的广泛应用,国内外研究者们针对其中存在的问题和关键技术进行了深入的研究,并提出了许多宝贵的解决方案,从而推动了无线视频通信的发展。

文献中作者总结了无线视频实时传输中存在的主要问题,表现在视频采集终端计算资源能力和功耗无法满足不断提升的视频编解码算法的复杂度,以及无线信道带宽资源的有限性和不稳定性。一些研究者从无线网络为切入点,研究使无线信道为视频传输提供质量保证,但受无线通信技术发展制约和其本身客观属性所限制,并不能提供可靠地服务质量。许多研究者从终端系统的角度考虑,研究视频编解码技术,提出了许多优秀的思想和可行性方案,例如文献结合可扩展视频编码和码率控制方法提出适应无线网络和多种终端的视频传输方案,文献中作者提出降低码率的控制方法来提高无线视频传输的质量等。随着嵌入式技术发展,近年来许多研究者结合行业需求,设计并实现了许多基于 ARM 体系终端的视频实时传输系统,促进了无线视频通信应用在各个行业的推广。尤其是在进入移动互联网时代,以 Android/iOS+ARM 为技术体系的移动智能终端,使视频的采集、传输和播放更加容易,其广阔的应用前景吸引国内外众多的研究者和企业的关注。目前,国内外已有许多企业正在从事基于移动终端平台的视频编码算法优化和应用层 QoS 控制等方面的研究,并取得了一些成果:例如 Google 推出基于Android 版本的 Google Tal 视频聊天功能、移动 QQ 的视频通话、中科启航基于智能终端的视频直播应用等,但基于移动终端的视频实时应用的产品还不多。

第 2章 视频实时传输相关技术研究与系统分析

视频实时传输中涉及视频的采集、编码、传输、解码和显示等多项技术,本章节重点介绍了课题所选用的 H.264编解码技术和实时传输协议,然后详细分析影响移动视频实时传输性能的关键因素。

2.1 H264 编解码技术

2.1.1 H.264 分层结构

为适应不同的网络应用环境,在H.264视频编码标准中引入了分层结构,将编解码框架分为网络抽象层(Networ Abstraction Layer,NAL)和视频编码层(Video Coding Layer,VCL)。视频编码层是 H.264 的关键部分,主要进行视频的编解码工作,其操作的对象为VCL数据,VCL层图像编码结构自上而下包括序列、GOP(图像组)、图像、片组、片、宏块组、宏块和块。而网络抽象层则定义了数据封装的格式和统一的网络接口,它先将VCL层输出的码流封装到NALU单元中,然后再进行网络传输或介质的存储。NAL 层为 VCL 层提供网络传输或存储的服务,而网络对于 VCL 层是透明的,这就使 VCL层可以方便地移植到不同的网络结构中。其中,NAL层中的 NALU 单元由 NAL头和一个原始字节负荷(Raw Byte Sequence Payload,RBSP)组成,传输中的数据码流如图 2-1所示。NALU头信息中包含了存储标志和类型标志,同时在码流的传输过程中,会在每个NAL前附加一个0x 00 00 00 01 或0x 00 00 01 的起始码,作为NAL起始标识。

2.2 实时传输技术

视频实时传输系统有着传输数据量大、低延时等要求,而基于无线网络的传输,又面临着带宽受限或不稳定等更加苛刻的限制条件,这对实时传输技术提出了更高要求。在传输技术中,TCP是一种面向连接的、可靠的传输协议,但由于其复杂性高、连接耗时长、实时性差等因素,所以不适用于视频实时传输系统。UDP虽然有着传输速度快、资源消耗少等特点,但其不能保证视频传输的可靠性。而基于UDP之上的RTP协议可以提供端到端的数据传输,实时性强,而且可以通过RTCP协议来保证视频传输的质量,适宜视频的实时传输。

RTP协议是由IETF提出的,为多媒体数据提供端到端的实时传输标准。在该标准中定义了两种报文:RTP报文和RTCP报文,RTP报文传输多媒体数据,RTCP报文反馈网络传输质量及控制信息。

2.2.1 RTP 实时传输协议

RTP实时传输协议(Real-time Transport Protocol)可以为视频实时传输系统提供端到端的视频实时传输服务。RTP报文由RTP首部(header)和有效载荷(payload)两部分组成, RTP首部格式如图2-7所示,RTP首部的各个域的描述见表2-1,RTP数据的有效载荷为编码后的码流。

第 3章 基于块匹配的运动估计算法的研究与改进 ................. 17

3.1 基于块匹配的运动估计算法研究现状 .................. 17

3.2 UMHEXAGONS 算法分析 ............................ 17

第 4章 ANDROID移动终端视频实时传输系统的设计与实现 ................ 26

4.1 方案的整体设计 .............. 26

4.2 开发环境及工具 ................ 27

第 4章 Android移动终端视频实时传输系统的设计与实现

通过前几章节对视频实时传输系统中的关键技术的研究与分析,本章要将新改进运动估计算法应用到视频实时传输系统中,并实现基于 Android 移动终端的视频实时传输系统。本章首先进行了系统方案的整体设计。其次,对开发环境及工具进行说明。然后详细阐述采了集端端与接收端中各个功能模块的设计与实现。最后,对系统进行功能测试和性能测试,并对测试结果进行分析。

4.1 方案的整体设计

本课题从开源、开放的角度考虑,移动终端选择了基于Android 平台的移动智能设备来实现视频的实时传输。从应用需求的角度考虑,并参考了文献中的设计方案,设计了 Android 移动端到移动端的单路视频实时传输方案和 Android 移动端到 PC 端(基于Windows 平台)的多路视频实时传输方案。系统方案由移动采集端和接收端两部分组成,移动采集端是基于 Android 平台的移动智能设备,负责视频的实时采集、编码和发送;接收端可以是Android 移动智能设备或基于 Windows 平台的普通PC 机,负责视频的实时接收、解码和播放。系统的整体设计框架如图4-1所示。

结论

本文从移动智能终端为中心的角度对视频实时传输系统进行了研究,通过分析视频实时传输中涉及的关键技术及问题,确立了以视频编码为研究重点的目标,并提出了运动估计的改进算法。在此基础上,结合实时传输技术,设计并实现了基于 Android 移动终端的视频实时传输系统,通过在无线局域网环境下测试,验证了方法及系统的有效性与实用性。

全文的主要工作及得到的主要结论总结如下:

1. 深入了解了 H.264 视频编解码技术的基本原理和实时传输技术,在对移动终端视频实时传输主要考虑因素分析的基础上,确立了以视频编码技术为研究重点,通过改进编码器提升系统性能的目标。

2. 针对视频编码中影响编码速度的运动估计算法进行深入研究,分析了UMHexagonS 算法存在的搜索冗余问题。然后在此基础上提出基于运动类型与多模板的运动估计算法,并在 M 软件框架下进行了实现和仿真,通过对各种标准视频序列的测试,结果表明改进算法降低了计算复杂度,有效缩短了运动估计时间。

3. 设计了 Android 移动终端的视频实时传输系统方案,通过移植 X264 编码器、FFmpeg 解码器和 RTP 库,封装其接口并打包成动态库,使用 java 语言和 c++语言分别编写了 Android 移动采集端与接收端软件和 PC 接收端软件,通过利用 NI 技术调用移植的动态库,实现了视频的实时采集、编码、传输、解码和显示。在WI-Fi 无线局域网环境下,测试了系统的功能和性能,测试结果表明,基于移动终端的视频实时传输系统,画面播放流畅,延时小,达到了预期设计的目标,可以满足局域网内移动终端视频通信的应用需求。

参考文献(略)