(信号与信息处理专业论文)h264压缩算法研究及在嵌入式视频监控中的应用.pdf_第1页
(信号与信息处理专业论文)h264压缩算法研究及在嵌入式视频监控中的应用.pdf_第2页
(信号与信息处理专业论文)h264压缩算法研究及在嵌入式视频监控中的应用.pdf_第3页
(信号与信息处理专业论文)h264压缩算法研究及在嵌入式视频监控中的应用.pdf_第4页
(信号与信息处理专业论文)h264压缩算法研究及在嵌入式视频监控中的应用.pdf_第5页
已阅读5页,还剩71页未读 继续免费阅读

(信号与信息处理专业论文)h264压缩算法研究及在嵌入式视频监控中的应用.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

researchresearchresearchresearch onononon h.264h.264h.264h.264 videovideovideovideo codingcodingcodingcoding standardstandardstandardstandard andandandand applicationapplicationapplicationapplication inininin embeddedembeddedembeddedembedded v v v videoideoideoideo s s s surveillanceurveillanceurveillanceurveillance s s s systemystemystemystem thesis submitted to nanjing university of posts and telecommunications for the degree of master of engineering by bian ji supervisor: prof. zhou jian march2013 i 摘要摘要 2003 年 3 月,itu-t/iso 正式发布了 h.264 视频压缩标准。h.264 以其优秀的压缩性能 受到了各国研究者的广泛关注和欢迎,被人们称作新一代视频编码标准。在同样的质量下, h.264 比其上一代视频编码标准 mpeg4 码率可降低一半左右。 本文将研究重点放在 h.264 与 嵌入式系统的结合和快速运动估计算法上。 本文对 h.264 中的关键技术如帧内预测、帧间预测、变换和量化、熵编码进行介绍。通 过一系列的实验, 总结出一套适用于监控图像的x264配置方案, 并将x264移植到arm+linux 平台,并针对此平台对 x264 编码库进行代码优化。针对视频压缩中最耗时的运动估计模块, 在分析运动估计基本原理的基础上,对 umhexagons 算法进行深入研究。利用相邻帧的相关 性和监控图像的特点,提出了一种零矢量预判的提前终止算法和方向自适应的非对称十字搜 索、多重大六边形搜索,并对 55 螺旋搜索点数进行相应简化。 本文结合嵌入式视频监控应用平台,将编码器移植并做了实验结果的分析,其中包括运 动估计等算法的改进和结果分析等。实验证明,改进的算法在达到与原算法同等压缩质量的 情况下进一步降低运算复杂度,节约编码时间。 关键词关键词: : : : h.264,avc,视频压缩,umhexagons,嵌入式系统 ii abstractabstractabstractabstract inmarch2003, itu-t/isoreleasedthe h.264 videocompressionstandard.h.264 compression performance is very excellent. it is widespread concerned by researchers of different countries. they called it a new generation of video coding standards. in the same quality level,for the previous generation of video coding standard mpeg4, h.264 can save almost half rate. this essay is focused on the combination of h.264 and embedded system, fast motion estimation algorithm. this essay discusses the key technology in h.264. such as intra prediction, inter prediction, transform, quantization and entropy coding. after a series of experiments, this essay summarize a set of x264 configuration program, which is suitable for monitoring image, and then x264 is transplanted to arm linux platform. the code is optimized according to the platform. after analysis of the basic principle of the motion estimation, the algorithms of umhexagons is researched in the paper. using the high temporal correlation of motion vector between frames, this essay proposes some improvement: early termination of zero vector, adaptive directional unsymmetrical-cross search and multi-hexagon search. the 25 points spiral search is reduced to 9 points. combining with the platform ofembedded monitoring system, analysis of the transplant of the encoder and the experimental results is showed. experiments indicate the improved algorithm decrease the computational complexity and preserves similar average psnr value at the same time. keykeykeykeywordswordswordswords: : : : h.264,avc,video compression, umhexagons, embedded system iii 目录目录 第一章 绪论.1 1.1 视频压缩的必要性与可行性.1 1.2 视缩压缩的主要方法和相关标准.2 1.2.1 视缩压缩的主要方法.2 1.2.2 视缩压缩的相关标准.3 1.3 本文的章节安排.5 第二章 h.264 的关键技术.6 2.1 h.264 编解码过程概述.7 2.1.1 编码过程.8 2.1.2 解码过程.9 2.2 帧内预测.9 2.2.1 44 亮度预测模式.10 2.2.2 1616 亮度预测模式.14 2.2.3 88 色度预测模式.15 2.3 帧间预测.15 2.3.1 树形结构运动补偿.16 2.3.2 运动矢量与亚像素位置内插.17 2.3.3 块的匹配准则.19 2.3.4 运动估计算法.19 2.3.5 运动矢量预测.21 2.4 变换与量化.22 2.4.1 宏块数据输出顺序.22 2.4.2 变换及其演化.23 2.4.3 哈达玛变换(hadamard).24 2.4.4 量化.25 2.5 熵编码.26 2.5.1 exp-golomb 的基本原理.27 2.5.2 cabac 的基本原理.28 2.5.3 cavlc 的基本原理.29 2.6 本章小结.32 第三章 h.264 在嵌入式视频监控中的应用. 33 3.1 tq2440 开发平台介绍.34 3.2 嵌入式开发环境的构建.34 3.2.1 uboot 的移植.34 3.2.2 linux 内核移植.35 3.2.3 根文件系统的移植.37 3.3 原始图像的采集.37 3.4 x264 编码器配置方案.38 3.5 x264 编码器的移植和优化.47 3.6 实验结果与分析.49 3.7 本章小结.50 第四章 umhexagons 运动估计算法的改进及测试.51 4.1 umhexagons 运动估计过程.51 4.1.1 匹配误差函数.51 iv 4.1.2 umhexagons 算法步骤.51 4.2 umhexagons 运动估计算法的改进.54 4.2.1 提前终止算法改进.55 4.2.2 带方向的十字搜索和多重大六边形搜索算法改进.58 4.2.3 55 螺旋搜索算法改进. 58 4.3 实验结果与分析.59 4.3.1 实验平台及配置.59 4.3.2 客观分析.60 4.3.3 主观质量.63 4.4 本章小结.64 第五章 总结与展望.65 5.1 论文工作总结.65 5.2 展望. 65 参考文献.67 附录 攻读硕士学位期间发表的论文.69 致谢.70 南京邮电大学硕士研究生学位论文第一章 绪论 1 第一章第一章 绪论绪论 随着信息技术的迅猛发展,数字视频开发在多媒体应用中占有了极其重要的地位,而数 字视频开发的基础和核心是视频的编解码。视频编解码器和相关标准已然成为了一个巨大的 产业。从早期的 vcd、dvd 到现在的 mp4、iptv、可视电话、高清电视,从早期的闭路监 控电视 cctv (closed circuit television) 到现在的数字视频录像 dvr (digital video recorder) 等,发展十分迅速。 视频捕捉设备采集到的图像叫做原始图像, 未经压缩的原始图像序列的数据量是巨大的, 例如一路高清电视信号(hdtv) ,不经过压缩处理而直接传播需 1gbit/s,这给视频的存储和 传输带来了巨大的困难,因此,为节约存储空间,降低传输码率,对图像进行压缩处理是十 分必要的。同时视频压缩又是可行的,通常在一幅图像中,相邻的区域图像变化很小,而在 一个图像序列里,相邻的图像帧间的冗余也很大。生理实验证明,人类的视觉系统对亮度比 色度更加敏感,对低频成分比高频成分更加敏感,正是由于上述原因的存在为视频压缩提供 了理论基础。 1.1 视频压缩的必要性与可行性视频压缩的必要性与可行性 将原始图像数字化后将产生十分巨大的数据量,以 cif 分辨率为例(352288) ,考虑每 秒 25 帧,每个像素用 24 位表示,则拍摄 1 小时产生的数据量为:352288253 3600=25.49g。假设用 640m 的光盘存储,每个光盘只能存储大概 88 秒的视频,拍摄 1 小时 要用掉将近 41 个光盘,为了获得的视频信息所付出的代价是巨大的。随着信息产业的飞速发 展, 人们的对图像的分辨率的要求越来越高, cif 早已不能满足人们的需求。 标清 (720576), 高清(19201080)逐渐成为视频的主流格式。很难想象如果这样分辨率的视频未经压缩将 要占用多大的存储空间,所以进行视频编码是非常必要的。 视频压缩算法主要是通过减少时间,空间和频率的冗余来实现视频的压缩的。一帧图像 的相邻区域变化小(比如图像的背景部分) ,由此产生了空间冗余。而图像序列相邻的帧的相 同区域的类似性(比如静止图像或动态图像的背景)构成了视频压缩的时间冗余。在视频压 缩中取出了空间冗余和时间冗余后还可以通过熵编码进一步去除图像的冗余。生理实验表明 人眼对图像的低频区域比图像的高频区域更加敏感,可以在人眼不能分辨的程度下滤去图像 的高频成分,而对于人的观赏没有影响。人眼对图像的亮度比色度更加敏感,正因为如此我 南京邮电大学硕士研究生学位论文第一章 绪论 2 们处理视频时可以采用 ycbcr 格式(例如 yuv420,,色差在垂直方向上和水平方向上的采样 都只有亮度的一半) ,在人眼察觉不到的情况下进一步减少原始图像的信息。由于以上原因, 对图像进行压缩编码是十分可行的。 1.2 视缩压缩的主要方法和相关标准视缩压缩的主要方法和相关标准 视频编解码已经发展成一个巨大的产业,各种标准也应运而生。国际上制定和维护视频 压缩标准的组织主要有两个,国际标化组织 iso(international standards organization )和国 际电信联盟 itu( international telecommunications union) 。他们已经成功的制定了多个视频 压缩标准,如 iso 的 mpeg-1、mpeg-2、mpeg4/7/21 等,itu 的 h.261、h.263 等。这两个 组织还联合建立了联合视频小组 jvt(joint video team) ,他们制订了 h.264/avc 标准(又 称 mpeg-4 第十部分)1。标准一出就广受欢迎。业界普遍认为 h.264 将要取代技术更为成 熟的 mpeg-4,成为今后发展的方向。 1.2.1 视缩压缩的主要方法 (1)帧内预测编码 帧内预测方法是最简单高效的视频压缩编码方法,采用帧内预测技术的帧叫做 i 帧。大 量统计表明,同一副图像的相邻像素有着很大的相关性,也就是说相邻像素发生突变的概率 很小。可以通过上边和左边的已经编码并且重建的像素来预测当前的像素。传输时只要传输 实际像素值和预测值之差即可。由于相邻像素值的相关性,其差值很小,从而达到视频压缩 的目的。而在解码端,将差值与预测值相加即可解码。 (2)帧间预测编码 帧间预测编码的效率比帧内预测编码更高,因为一般来说时间冗余比空间冗余更大,尤 其对运动不那么剧烈的视频来说。通过已编码并重建的帧来预测新的帧,通过当前帧与预测 帧相减来减少时间冗余。帧间预测又分为 p 帧(向前预测)和 b 帧(双向预测) 。其过程为 当前宏块在一定区域内搜索以找到最佳匹配宏块,然后这两宏块想减得到预测残差。其中搜 索方法有很多种,常见的有三步搜索法,对数搜索法,四步搜索法,菱形搜索法,大/小钻石 搜索法等。 (3)运动估计 由于图像序列在邻近帧中的场景存在着一定的相关性, 因此可将图像分割成若干个宏块, 运动估计就是在参考帧中寻找与当前宏块最佳匹配的位置,并得出两个宏块相对位置的偏移 南京邮电大学硕士研究生学位论文第一章 绪论 3 量,即所谓的运动矢量的过程。由于物体的运动距离并不一定是像素的整数倍,为了增加运 动估计的准确性,最佳宏块的搜索往往以 1/2 像素或 1/4 像素为单位。此外,运动矢量在空间 域和时间域也存在一定的相关性,通过预测运动矢量可进一步降低比特数。 (4)变换编码 变换编码的思想是将图像通过帧内预测或帧间预测后产生的差值再进行变换,从时域或 空域变换到频域,变换后其能量分布更加集中,便于进一步压缩。常见的变换方法有快速傅 里叶变换(fft) ,k-l 变换,离散余弦变换(dct) ,小波变换等。其中 k-l 变换的性能最 好,但缺乏快速算法。在视频压缩领域最常用的是 dct,其性能仅次于 k-l 变换,且有快速 算法,便于硬件实现。先进行运动补偿或帧内预测,再对其残差信号进行 dct 变换,这种混 合编码方法已成为众多视频压缩编码标准的基本框架。 (5)熵编码 图像残差经过 dct 变换后其系数的相关性较小,但其概率分布存在一定规律,可以通过 熵编码进行无损的统计编码。基本思想是概率大的符号用较短码字表示,概率小的符号用较 长码字表示。最经典的熵编码是 huffman 编码。h.264 的 baseline 档次采用的是基于上下文 的自适应变长编码(cavlc),main 或 extended 档次采用的是基于上下文的自适应二进制算 数编码(cabac) 。此外图像的其他信息如直流分量,运动矢量等采用其他编码方法编码如 哥伦布编码(golomb) 。 1.2.2 视缩压缩的相关标准 从 1948 提出电视信号数字化以来,视频压缩编码技术已有 50 多年的历史,不仅在理论 研究上取得了重大的进步,而且在商业应用上也获得了巨大的成果。近 10 年来,视频压缩编 码技术取得的飞速发展,相关标准也日渐成熟,其标志是相关的标准的制定,主要是国际标 准化组织(iso)的 mpeg 系列和国际电信联盟(itu)的 h.26x 系列。其发展历史如图 1.1 所示 (1)mpeg-1 第一个 mpeg 标准是 mpeg-12, 主要用于在 cd 存储和播放视频, 码率大概在 1.2mbit/s 左右,可以提供 30 帧 cif 分辨率的图像播放。其采用的技术有帧间预测、dct 变换、vcl 编码等。i 帧、p 帧、b 帧等概念也是这个时候引入的。mpeg-1 标准主要应用于当时 cd 的 视频存储和播放上。 南京邮电大学硕士研究生学位论文第一章 绪论 4 图 1.1 视频压缩标准发展史 (2)mpeg-2 mpeg-23在 mpeg-1 的基础上在提高图像分辨率、兼容数字电视等方面做了改进。例 如它的运动矢量精度预测为半像素,引入了帧和场的概念,语法更灵活,编码效率更高。 mpeg-2 还第一次引入了档次和级别的概念,并且兼容 mpeg-1. (3)mpeg-4 mpeg-44的视频压缩部分采用了更高效的视频压缩算法, 包括的一个核心的编解码器模 型和大量的附加工具。 其模型的核心是经典的 dpcm/dct 模型, 具体算法实现由其附加工具 进行扩展,包括更高的压缩效率、传输的可靠性、视频场景中的形状分离、人脸识别和人体 模型的基于网格的压缩等。 (4)h.261 h.2615是视频编码的经典之作,其主要用于 isdn 网络上的视频传输。其输出码率是 p 64kbit/s,p 取值较小时,传输的图像清晰度不高,当 p 取值较大时,可传输清晰度较高的 会议电视图像。其首次采用了帧间预测和 dct 的混合编码模式。其数据格式,输出码流的层 次结构,编码器的模块结构对后来的视频压缩标准产生了深远的影响。h.261 为不同的生产 商的设备兼容提供了标准,促进了视频通信产业的发展。 (5)h.263 在制定 h.2636标准过程中,itu-t 采用了 mpeg-2 标准的编码思想,技术上是 h.261 的 改进和扩充,支持码率小于 64kbit/s 的应用。其后又推出了 h.263+、h.263+版本,支持全码 率应用。h.263 在压缩效率方面得到了提高,但也大大增加了编码的复杂度。 (6)h.264 h.264/avc7是新一代的视频编解码标准(又称 mpeg-4 标准的第十部分) 。其主导思想 与以前的标准类似,是基于块的混合编码方法。但它在每个模块细节实现上运用了大量的新 技术, 使得它的编码性能大大优于其他标准。 这些新特性包括: 利用临近块的边缘像素的 intra 南京邮电大学硕士研究生学位论文第一章 绪论 5 空间预测、多参考帧的运动补偿、变换尺寸的运动补偿、完全可逆的整数 dct 44 变换、 对 dc 系数的 hadamard 变换、1/4 像素精度的运动补偿、加权的运动预测、基于上下文的变 长编码 cavlc、基于上下文的算数编码 cabac、帧切换/切换片(包括 sp 和 si)等。h.264 标准增强了码流对网络的适应能力,其码流在网络传输中有很强的纠错能力。 1.3 本文的章节安排本文的章节安排 本论文共分 5 章,其各章内容安排如下: 第一章,阐述了视频压缩编码的主要思想和相关技术,对视频压缩编码的现状和相关标 准进行介绍。 第二章,深入研究了视频压缩编码的主要理论和关键技术,对 h.264 的关键技术标准进 行了详细阐述。 第三章, 通过实验并结合监控图像的特点和 arm 体系架构的特点对当今最流行的 h.264 编码库x264进行配置, 总结出了一套适合视频监控系统的配置方案。 并将 x264其移植到arm 开发板,完成了图像的采集、压缩和存储功能。并对 x264 编码库提出了优化方案。 第四章,深入研究了当今最流行的运动搜索算法 umhexagons,对其提前终止算法进行 改进,简化了 55 螺旋搜索,并提出了运动方向自适应的非对称十字模板和大六边形模板, 最后通过实验进行了验证。 第五章,总结与展望,对本文所做的工作进行总结,并提出本课题的下一步研究方向。 南京邮电大学硕士研究生学位论文第二章 h.264 的关键技术 6 第二章第二章 h.264h.264h.264h.264 的关键技术的关键技术 2001 年,制定视频编码协议的国际两大组织 vceg 和 mpeg 合作,成立了联合视频组 jvt(joint video team)并于 2003 年 9 月制订了以 h.26l 为基础的 h.264 草案标准。2003 年 5 月 h.264/avc 的最终发布。h.264 是 itu-t 中的称呼,mpeg4-part10avc 是 iso/iec 中的 称呼,一般称为 h.264/avc。 h.264 仍然采用的是经典的混合编码框架,即 dpcm/dct 模型,仍然采用帧内预测、帧 间预测、变换预编码和熵编码的基本过程,但每个过程都有新技术的引进,如多参考帧的运 动补偿、可变换尺寸的块运动补偿、1/4 像素精度的亮度运动补偿、1/8 像素精度的色度运动 补偿、 环内的消除块效应滤波器、 对dc系数的哈达玛变换、 基于上下文的算术编码 (cabac)、 基于上下文的可变长编码(cavlc) 、sp 帧和 si 帧、适用于多种网路环境的网络抽象层等。 由于这些新特性,使得 h.264 可以在更低的宽带下提供更清晰的视频, (相同质量下的视频只 需要 h.263 带宽的一半左右8) 。同时有着更好的网络亲和性和纠错能力。 在存储结构上, h.264 为了适应飞速发展的互联网, 将 h.264 的存储分为视频编码层 vcl 和网络抽象层 nal9。视频编码层专注于提供优质的视频编码,而网络抽象层则将视频编码 层进一步封装,用来支持分组交换网络中的传输。其定义了存储介质或传输层所要求的数据 格式,同时给出头信息,定义了视频编码和外部世界的借口。nal 的结构类似于 ip 数据包, 每个 nal 单元序列包含了一个原始字节序列负载(rbsp) ,接着再加一个字节的头信息, 其 结构如图 2.1 所示。 nal headerrbspnal headerrbsp 图 2.1 nal 单元序列 h.264 主要规定了三种档次:基本档次、主要档次和扩展档次。三种档次分别规定了对 编码器和解码器的要求,包含了不同的若干技术,如是否支持 cabac,是否支持 b 帧的帧 间编码,是否支持码流切换(sp、si 帧)等。不同的档次对应着不同领域的应用。 最新加入 h.264 标准的还有使用多视图编码(multiview video coding)技术的多视图高 级档次(multiview high profile) ,其一个码流可支持多个视图,立体高级档次(stereo highprofile)可支持 3d 视频。 一种的编解码器至少支持最低的基本档次,解码器可正常解码的要求是解码器支持的档 次要高于编码器编码的档次。例如只支持主要档次的解码器不能解码使用扩展档次编码的视 南京邮电大学硕士研究生学位论文第二章 h.264 的关键技术 7 频。 三种档次的具体划分详见图 2.2。 图 2.2 h.264 的基本档次、主要档次和扩展档次 2.1 h.264h.264h.264h.264 编解码过程概述编解码过程概述 h.264 视频编码标准的数据处理流程采用的仍然是经典的混合编码框架,即基于宏块的 帧内预测、运动补偿、变换、量化和熵编码的处理模块。前期的视频压缩标准例如 mpeg-1、 mpeg-4、h.261、h.263 也都是使用的混合编码框架,h.264 标准编码的基本思想和基本过程 同它前面的编码标准基本一致,但 h.264 对这些模块都做了技术改进,并添加了新的技术, 力求精益求精,使得其编码效率比 h.263、mpeg-4 提高了近一倍。h.264 典型的编码器工作 框图如图 2.3 所示。 首先对图中用到的几个重要名词做一下解释: (1)帧:通过逐行采样而得到的一幅图像(场是通过隔行采样得到的图像) 。 (2)宏块:一幅图像是由若干宏块组成的,一个宏块由 1616 亮度块和两个 88 色 度块组成的。 (3)片:一个片包含了若干宏块,若干片又组成了一幅图像。每个片独立编码,防止 南京邮电大学硕士研究生学位论文第二章 h.264 的关键技术 8 fn 当前 tq重排序 t-1q-1 熵编码 fn-1 参考 fn 重建 滤 波 me 帧内 预测 mc 帧内预 测选择 - + + + 帧间 帧内 xdn dn nal ufn p 图 2.3 h.264 编码器框图 误差扩散。i 片只包含 i 宏块,p 片可包含 i 宏块和 p 宏块,b 片可包含 i 宏块和 b 宏块。其 中 i 宏块只利用当前片中的已经编码并解码的像素来进行帧内预测, p 宏块利用前面已经编码 并解码的图像进行帧间预测,b 宏块利用已经编码的帧和未来帧进行双向帧间预测。 除此以外还包括使码流易于交换的 sp/si 片。片是编码器独立编码的基本单位,一个片 的预测不能以其它片中的宏块作为参考图像,片可以防止误差扩散。 (4) 参考图像: 编码器在帧间编码时选择的一个最匹配的图像作为当前图像的参考图像。 h.264 允许最多可从 15 个参考图像中进行选择。对于 p 片,可从 list0 中选择参考图像,而对 于 b 片可从 list0 和 list1 中选择参考图像进行双向预测。 2.1.1 编码过程 输入帧以 fn 以宏块为单位进行编码。首先,按帧内或帧间预测的编码方式进行处理。 如 果

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论