论文部分内容阅读
本论文的内容分成两个部分。第一部分为H.264/AVC高保真视频编码研究,即H.264保真度范围扩展(Fidelity Range Extension)研究;第二部分为H.264/AVC在甚低码率下的应用,即基于H.264的无线视频监控系统的实现。
第一部分。H.264/MPEG-4 AVC是最新的视频压缩标准,由ITU-T的VCEG组织和ISO/IEC的MPEG组织共同开发。H.264/AVC以其更出色的压缩性能、更鲁棒的抗误码性能成为众多应用的首选压缩标准。然而H.264/AVC并不能满足专业的视频应用的需要,因为专业的视频应用要求更高的比特深度、更高的色差分辨率、以及更好的无损压缩的性能。在2004年7月JVT完成对H.264/AVC的一系列扩展,该扩展称为保真度范围扩展(Fidelity Range Extensions),它针对专业视频应用特别地引入了一些新的编码工具,大大提高了H.264/AV对高清图像的编码效率和压缩后图像的主客观质量。本文通过对40多篇JVT的提案进行深入研究,详细的分析了保真度范围扩展提出的主要新编码工具,以及一些虽然未被采用但仍然很有参考价值的提案。通过对高保真视频编码这一特殊课题进行一个全面地梳理和分析,同时对一些问题给出了自己的研究结论,以期能给后续研究者提供一些帮助。
在保真度扩展提案中增加了新的编码工具来提高压缩后视频的主客观质量。引入了自适应的变换块大小来提高变换效率;引入了变换略过的无损编码提高无损压缩的性能;为了避免色彩空间变换过程中引入的失真,直接对RGB色彩空间直接进行编码,然而由于对RGB空间直接编码的效率太低,因此引入了分量间预测和残余色彩空间变化的方法来提高压缩效率;引入了复杂度更低而且压缩效率更高的色彩空间等。
第二部分。基于H.264的无线视频监控系统的实现,为H.264在甚低码率下应用。本系统的最大特点有两点,一是使用了H.264作为压缩标准;第二,使用了CDMA20001x作为传输通道。也正是因为采用了H.264作为压缩方法,才使得在带宽为10kbps~40kbps的通道中传输监控视频成为可能。
为了使读者对该系统能够有个整体上的观念,首先描述了整个系统的应用场景和硬件结构,该章着眼于讲清楚各个模块完成的功能,以及相互之间连接。嵌入式开发跟PC上的开发区别在于必须自己搭建整个嵌入式开发的平台,这主要包括交叉编译工具的建立、内核和根文件系统,最主要的工作在根文件系统的建立,必须注意的是要保证交叉编译环境中的库和根文件系统中的库的版本一致。我还设计并实现了终端的监控主程序,包括多线程的框架设计、缓冲区管理以及终端和服务器交互协议设计等。
为了使视频包的大小适合网络的MTU,以降低丢包概率并有利于接受端采取错误隐藏方法提高解码视频质量,我们考虑了采用两种方法对视频包进行分割。第一种是采用H.264提出的条块模式(Slice),通过在实际CDMA2000信道中的测试,我们分析了条块(Slice)个数的选择对丢包率和解码后图像质量的影响;第二种方法是在发送时对视频包进行分割,使用该方法一方面可以降低丢包概率,另一方面也可以使得应用层能够选择如何处理没能完整接受的包;而且即使我们采用了条块模式,仍然可能出现单个NALu的大小大于网络MTU的情况,使用这种方法我们便可以对该NALu进行分割,降低其丢包的概率。
作为工作的另一个重点,我设计了系统中数据的封装格式,即规定了数据在编(解)码、加(解)密、传送(接收)各个模块中封装格式协议,该封装协议具有通用性,可以使用于类似的视频应用系统中。另外,由于系统使用了UDP作为传输协议,所以在接受端必须对接收到的包进行重排;同时,上面提到我们采用在发送时对包进行分割的方法使包的大小适应网络的MTU,因此在接受端必须对包进行聚合,使得属于同一个NALu的包重新组合起来,交给上层解密单元。我设计并实现了解码端的重排和聚合算法。在论文最后,给出了本系统的进一步改进建议。