(信号与信息处理专业论文)h264视频编码算法优化及在dsp上的实现.pdf_第1页
(信号与信息处理专业论文)h264视频编码算法优化及在dsp上的实现.pdf_第2页
(信号与信息处理专业论文)h264视频编码算法优化及在dsp上的实现.pdf_第3页
(信号与信息处理专业论文)h264视频编码算法优化及在dsp上的实现.pdf_第4页
(信号与信息处理专业论文)h264视频编码算法优化及在dsp上的实现.pdf_第5页
已阅读5页,还剩67页未读 继续免费阅读

(信号与信息处理专业论文)h264视频编码算法优化及在dsp上的实现.pdf.pdf 免费下载

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

文档简介

上海交通大学硕士学位论文 i h.264 视频编码算法优化及在视频编码算法优化及在 dsp 上的实现上的实现 摘摘 要要 h.264/avc 是 itu-t vceg 和 iso/iec mpeg 联合制定的最新的 视频编码国际标准是目前图像通信研究领域的热点问题之一与以 往的视频编码标准相比h.264 具有更好的压缩性能和网络友好性, 可以被广泛应用于实时类应用视频电话移动视频和非实时类应 用存储广播或者流媒体场合h.264 采用了网络抽象层和视频 编码层的分层结构体系具有良好的网络适应性能够使得码流和包 结构的传输层无缝连接 视频编码层采用了许多新技术使得编码性能 大幅度提高但是编码效率的提高是以复杂度的成倍增加为代价的 这就使得 h.264 在实时的视频编码及传输应用中面临着巨大的挑战 本文的研究工作面向 h.264 算法的优化和实现 本文提出了一种新的 帧内预测算法可以极大地提高帧内编码速度而对图像质量和码率 大小变化影响极小并且介绍了在 dsp 平台dm642上实现 h.264 编码器的有效途径具有较强的实用价值 就主要内容来说论文首先介绍了视频编码技术的发展及现状 本课题研究的背景及意义以及所作的研究工作然后详细介绍了 h.264 标准的相关关键技术如帧内编码帧间编码变换和量化 熵编码和环路滤波器等接下来论文分析了 h.264 的 jm 参考代码中 上海交通大学硕士学位论文 ii 帧内编码的复杂度并提出了一种帧内编码的快速算法该算法利用 prewitt 算子检测亮度信号的边缘方向 并根据周围块的编码模式预测 出可能的编码模式将色度信号与亮度信号分开处理然后利用拉格 朗日代价函数计算出最优编码模式该算法能够将 i 帧编码速度提高 4 倍并且能够保证编码效率接下来论文分析了实验结果并提出了 如何改进的意见 论文在介绍了 dm642 dsp 平台的结构和特点后又分代码移植 和 dsp 优化两大部分讲述了代码的移植和优化过程在充分利用芯 片资源的同时研究和使用了一些有效的优化方法如提高 cache 利 用率利用 edma 搬移数据利用编译选项提高编译器的优化能力 利用内联函数和线性汇编提高流水线并行执行的能力 通过这些关键 技术的使用实现了 h.264 实时编码最后介绍了以 dm642 dsp 为 平台的 h.264 编码器系统的各个模块的组成和特点 并对整个编码器 系统进行了测试 关键字帧内预测快速算法dm642h.264视频编码 上海交通大学硕士学位论文 iii h.264 video coding algorithm optimization and dsp implementation abstract h.264/avc is the newest video international standard designed by both itu-t vceg and iso/iec mpeg. it becomes an important content of image communication research field. compared to earlier standards, h.264 provides better compression performance and network-friendly design, and can be widely applied in “conversational” (video telephony, mobile video) and “non-conversational” (storage, broadcast, or streaming) applications. h.264 is divided of network abstraction layer(nal) and video coding layer(vcl). nal is of network friendliness and make it possible of integration seamless between bit rate and transportation layer. the new technology of vcl improved coding efficiency greatly. however the improvement is based on the cost of rapid increased complexity, which makes it difficulty of real-time coding and transmission of h.264. this dissertation presented new optimized algorithms, which increases the speed of intra coding significantly with negligible loss of psnr. also the dissertation exploited the efficient means of h.264 encoder implementation based on dsp platform. more specifically, this dissertation can be divided into the following parts: firstly, we have introduced the development and current technology of video coding, the background and purpose of this paper. secondly, the paper have introduced the key technology of h.264 standard, such as intra coding, inter coding, dct and quantize, entropy coding and de-block filter. the paper have analyzed the complexity of intra coding in jm and proposed a new fast intra prediction algorithm. based on the distribution of the edge direction histogram and the mode of neighbor block, the algorithm can get some probable mode 上海交通大学硕士学位论文 iv and use rdo model to make decision for the best mode. and the mode decision between chroma prediction and luma prediction is separated. the algorithm can speed up intra coding 4 times with negligible loss of psnr. after analyzed the experiment result, we propose some suggestion on the algorithm for better performance. after introduction of dm642 development environment, the paper focused on the transportation and optimization, where not only solution to the various problems met during the code transportation are provided, but also many optimizing technologies are introduced, such as improve cache hit ratio, transfer data with edma, software pipelining, using intrinsic, writing linearly assembly, which significantly improve the execution speed and reduce the size of h.264 dsp code. finally, the design and implementation of h.264 encoder system based on dm642 dsp has been introduced. key wordsintra prediction, fast algorithm, dm642, h.264, video coding 附件四附件四 上海交通大学上海交通大学 学位论文原创性声明学位论文原创性声明 本人郑重声明所呈交的学位论文是本人在导师的指导下独 立进行研究工作所取得的成果除文中已经注明引用的内容外本论 文不包含任何其他个人或集体已经发表或撰写过的作品成果 对本文 的研究做出重要贡献的个人和集体均已在文中以明确方式标明本 人完全意识到本声明的法律结果由本人承担 学位论文作者签名王鹏 日期2006 年 1 月 17 日 上海交通大学硕士学位论文 i 附件五附件五 上海交通大学上海交通大学 学位论文版权使用授权书学位论文版权使用授权书 本学位论文作者完全了解学校有关保留使用学位论文的规定 同意学校保留并向国家有关部门或机构送交论文的复印件和电子版 允许论文被查阅和借阅 本人授权上海交通大学可以将本学位论文的 全部或部分内容编入有关数据库进行检索可以采用影印缩印或扫 描等复制手段保存和汇编本学位论文 保密保密在 年解密后适用本授权书 本学位论文属于 不保密不保密 请在以上方框内打 学位论文作者签名王鹏 指导教师签名耿相铭 日期2006 年 1 月 17 日 日期2006 年 1 月 17 日 上海交通大学硕士学位论文 1 第一章 绪论 1.1 引言 随着信息社会的发展多媒体技术得到了很大的发展越来越受到人们的重 视在多媒体技术的各个应用领域中视频信号占有相当重要的地位但是未 经压缩的原始图像数据并不适合存储和传输例如未压缩的 yuv420 格式的 cif352288图像序列按 30 帧/s 的速度传输所需的带宽为 35mb/s远远大于 现有的网络带宽若用 650 mb 的光盘存储该视频信号仅仅能播放 150 秒钟 如何在现有的技术水平和硬件环境下进行多媒体实时通信 一直是近年来研究的 热门话题 1.2 视频编码标准的发展历史和现状 随着数字视频编码技术的不断发展和成熟出现了大量视频编码应用方案 为了使各种应用系统实现兼容同时推进技术的市场化各企业联盟标准组织 和专门化标准委员会就新技术的规范化制定了一系列的标准国际电信联盟 itu和运动图像专家组mpeg是对数字视频编码标准贡献较大的两个组 织多年来它们制订了各个新的建议和标准 h.2611-2这是第一个投入广泛实际应用的数字视频编码标准它使数字视 频信号能够以p64kbpsp = 130的速率在电信网络中传输它奠定了混合编 码框架的雏形这个框架以运动补偿图像分块变换标量量化和熵编码等技术 为主要特征 至今依然是实现限失真数字视频编码的最为重要的一种方法 h.261 于1990年制定主要用于双向视频通信包括低端的可视电话业务和较高速率要 求的视频会议业务 mpeg-1/mpeg-23-5运动图像专家组mpeg成立于1988年mpeg-1 是其制订的第一个音视频编码标准1993年通过的mpeg-1标准可以使数字视频 在大约1.5mbit/s 的速率下达到甚至超过家用录像系统vhs的品质并将压 缩的音频也放到了普通的cd-rom中从技术特征上来分析mpeg依然采用的 上海交通大学硕士学位论文 2 是传统的混合编码框架只是增加了双向帧间预测技术并且将运动补偿的分辨 率提高到半像素 由于应用目标不同 mpeg-1和h.261分别在高比特率和低比特 率的情况下显示出各自的优点1994年运动图像专家组制订的第二个标准 mpeg-2正式推出在与mpeg-1保持兼容的同时作为数字电视系统中的视频 编码标准mpeg-2支持sdtv和hdtv分辨率的视频输入输出数据速率最高达 到80mbit/s h.2636-71996年itu-t推出了针对甚低比特率的视频压缩标准h.263 h.263 最初是针对1030kbit/s范围的甚低比特率应用设计的但实验结果表明在任 意速率范围内h.263都取得了惊人的压缩效果成为当时最成功的数字视频压 缩标准h.263采用了诸如可变尺寸块运动补偿技术重叠块运动补偿技术无 限制运动矢量技术和运动矢量预测技术等一系列新的视频编码技术 为混合编码 框架的进一步发展奠定了基础 mpeg-48-9活动图像专家组制订mpeg-4 的初衷是提供一种用于视频会议 和可视电话的甚低比特率的数字视频编码方法 但是随着多媒体硬件技术和多媒 体信息技术的发展更复杂的算法实现成为可能mpeg-4最终被定位为一种基 于内容的支持多媒体信息内容访问的开放的数字视频编码标准mpeg-4中基 于对象的编码和比特分配思想是其最大的创新之处它引入了视频对象的概念 一改传统的基于帧的编码方法mpeg-4 标准于1998年正式公布当时的文件 共包括系统视频声音一致性测试参考软件和集成框架六个部分 avs10avs 是中国自主制定的音视频编码技术标准 是利用自主技术形成 的自主标准2003 年 12 月 19 日 avs 视频部分终于定稿avs 视频主要面向高 清晰度电视高密度光存储媒体等应用中的视频压缩avs-视频当中具有特征 性的核心技术包括88 整数变换量化帧内预测1/4 精度像素插值特殊 的帧间预测运动补偿二维熵编码去块效应环内滤波等avs 与 h.264 标准编 码效率相当技术方案更简洁避免了超过 10 亿美元的专利费为我国数字电 视等音视频产业的跨越发展提供难得的契机 2002 年itu-t 和 iso 组成的联合工作组 jvtjoint video team制定的 h.264/avc11-13视频编码标准是新一代的视频编码标准它采用了一系列新型的 编码技术其压缩效率要比以前的标准高许多 上海交通大学硕士学位论文 3 相比其他标准h.264 具有以下优点 (1)码率更低 和mpeg-4标准相比 在相同图像质量下 采用h.264标准压缩缩后的数据量 只有mpeg-4的1/2左右 (2)图像质量更高 h.264采用了环路滤波器等技术去除了图像解码端的块效应现象使图像 视觉效果更好 (3)抗误码能力更强 h.264 在设计时针对分组交换网如 internet 中的分组丢失和无线网络中比 特误码都提出了相应的算法改进 使得 h.264 在网络传播时具有更强的抗误码性 能 (4)网络适应性更好 h.264包含网络抽象层network abstraction layernal并提供合适的头 信息以便适应不同的传输层和储存媒介提供了友好的网络接口使得h.264的 比特流可以方便的在不同的网络上传输 h.264 标准融合了各种性能优良的图像编码技术它的制定极大地推动了视 频图像编码技术的实用化和产业化另一方面图像编码技术产业化进程也反过 来推动了视频图像技术以更快的速度发展 1.3 课题提出背景和意义 h.264 实时编码是目前图像通信研究领域的热门话题尤其在移动视频视 频会议电视电话等视频实时应用场合具有非常重要的研究意义和实用价值视 频编码器的实现主要有三种可能途径: 1基于pc平台的纯软件方案此方案利用mmx和sse/sse2等多媒体指 令集来优化程序但是pc机cpu的体系结构并不适合处理数字信号在实现时 cpu效率低下 2 基于asic芯片的纯硬件方案 此方案的优点是集成方便 开发周期短 但芯片设计和生产的成本较高程序升级的灵活性差 3 基于 dsp 的软硬件结合方案 数字信号处理器 dsp,由于采用了先进的 上海交通大学硕士学位论文 4 流水线结构哈佛总线体系及硬件乘法器等技术因而能够实时地处理多种数字 信号这是传统微处理器所不能达到的随着 dsp 生产工艺的不断提高使得 dsp 性能不断提高价格不断下降尤其是 ti 公司的 tms320c6400 处理器的 推出使得以 dsp 为核心处理器的软硬件方案成为了目前国际上和国内实现 h.264 实时编码的常用途径 tms320dm642 是 ti 公司最新推出的一款针对视频 和图像处理领域应用的数字媒体处理器 因其强大的处理能力和外设高度集成性 等特点而成为目前实现 h.264 视频编码器的理想平台之一 1.4 本文内容安排 h.264 显示了强大的编码性能但是 h.264 的复杂度也随之急剧上升使得 h.264 在实时的视频编码及传输应用中面临着巨大的挑战h.264 对硬件的存储 器和计算能力提出了极为苛刻的要求这就阻碍了以其商用解决方案的发展本 文致力于探索新的方法在尽量保持 h.264 的编码效率的条件下降低其复杂度 并且在硬件平台上实现 h.264 编码器 本文内容安排如下 本章主要介绍了视频编码技术的发展及现状本课题研究的背景及意义以 及所作的研究工作 第二章首先介绍了 h.264 的编码框架 之后详细介绍了 h.264 的视频编码层 中关键的新技术 如帧内编码 帧间编码 变换和量化 熵编码和环路滤波器等 最后介绍了 h.264 的结构 第三章分析了 h.264 的 jm 参考代码中帧内编码的复杂度并提出了一种帧 内编码的快速算法该算法利用 prewitt 算子检测亮度信号的边缘方向并根据 周围块的编码模式预测出可能的编码模式将色度信号与亮度信号分开处理利 用拉格朗日代价函数计算出最优编码模式 该算法能够将i帧编码速度提高4倍 并且能够保证编码效率然后分析了实验结果并提出了如何改进的意见最后介 绍了帧间编码和运动搜索的快速算法 第四章介绍了 dm642 芯片的芯片结构cpu 单元存储器结构流水线结 构和硬件接口 第五章分为代码移植和 dsp 优化两大部分讲述了代码的移植和优化过程 上海交通大学硕士学位论文 5 详细介绍了在代码移植过程中所出现的各种问题的解决方法 并结合对 h.264 代 码优化过程用实际的例子和测试数据分别说明了 edmacache软件流水 循环简化使用内联函数和线性汇编等 dsp 代码优化技术的使用情况 第六章介绍了以dm642 dsp 为平台的h.264编码器系统的各个模块的组成 和特点并对整个编码器系统进行了测试 上海交通大学硕士学位论文 6 第二章 h.264 标准概述 2.1 概述 视频压缩的理论基础是信息论从信息论的角度来看压缩就是去掉视频序 列中的冗余在视频压缩中可以确定三种基本的数据冗余并加以利用编码冗 余 像素间冗余和心理视觉冗余 当冗余得到减少或消除时 就实现了数据压缩 编码冗余是指从概率统计角度来看每个像素所需的平均比特数 应该对出现概率 大的信息赋予短的码字像素间冗余可以分为空间冗余和时间冗余空间冗余是 指图像中的空间位置相近的像素之间一般都存在相关性 根据相关性可以从一个 像素的性质获得其相邻像素的性质 时间冗余是指时间相邻的图像之间存在相关 性可以根据相关性从已编码的图像来获得下一幅图像心理视觉冗余是指人眼 对不同的视觉信息有着不同的敏感度 去掉不敏感的那部分信息并不会降低图像 的主观质量14-15 h.264 的编码框架与以前的标准如 h.261 h.263 及 mpeg-1/2/4 并没有显著 变化也是基于混合编码的方案其编码框图如图 2-1 图 2-1 h.264 编码器框图16 figure 2-1 h.264 encoder structure16 上海交通大学硕士学位论文 7 2.2 帧内编码 帧内编码是利用图像的空间冗余度来进行预测编码与以往的编码标准不 同h.264采用周围已编码块的重构图像来对当前块进行预测然后对预测残差 进行变换量化及熵编码 对于亮度分量(y)h.264对包含较多细节部分的宏块采用44子块预测对 较平坦的宏块则采用1616宏块预测44子块预测共有9种模式而1616宏块 预测有4种模式 44预测模式共有9种不同的预测方法在图2-2中方框内的小写字母a-p代 表一个44图像块内的16个像素方块外的大写字母a-q代表其周围上边和左边 相邻的已编码宏块的像素预测值将利用周围已知像素的值来计算 图2-2 44子块亮度预测模式 figure 2-2 44 luma block prediction mode 对于直流dc模式可分为以下几种情况 当ad和il都可用时预测值为(a+b+c+d+i+j+k+l+4)3? 当只有ad可用时预测值为(2)2abcd+? 当只有il可用时预测值为(2)2ijkl+? 当ad和il都不可用时预测值为128 1616预测模式分为4种2种方向预测模式平面预测模式plane以及 直流预测模式dc如图2-3所示 上海交通大学硕士学位论文 8 图2-3 1616宏块帧内预测模式 figure 2-3 1616 macroblock intra prediction mode 对于色度分量u和v 人眼系统的视觉特性(hvs)决定了人眼对色度信号不如 对亮度信号敏感因而在编码时色度分量一般采用较粗糙的采样和量化方式 基于类似的思想色度分量的帧内预测也采用了精度较低的方法其帧内预测模 式是以88块为单位进行的h.264有4种模式对88的色度块来进行预测u和v 的预测模式相同 2.3 帧间编码 帧间预测是利用已编码帧的图像作为参考图像对当前图像进行预测的一种 方式它把参考图像的抽样点通过运动矢量的补偿作为当前图像抽样值的参考 值运动搜索和运动补偿是h.264的提高编码效率的主要地方17-19它除了保留 以前编码标准的主要特性外同时还采用了一些新的特性来提高编码效率其主 要方法包括:(1)在运动搜索时使用不同大小和形状的块进行搜索 (2)使用1/4像素 精度搜索即使用高精度的运动矢量来表示图像块的运动方向和位移(3)使用 多参考帧进行帧间预测下面将对这几方面分别介绍: 2.3.1 不同大小和形状的块 为了提高搜索的精度h.264对每个宏块使用了多种不同大小形状的块进行 运动搜索 每个亮度宏块被划分成形状不等的区域 作为运动描述区域 如图2-4 所示其划分方法有161616881688 共4种当选用88模式时可以 进一步划分成88 84 48和44共4个子区域 每个模式包含自己的运动向量 运动向量和区域选取信息必须通过编码传输因此当选用较大模式时用于表 示运动向量和区域选取的数据量减少但运动补偿后的残差会较大当选用小区 上海交通大学硕士学位论文 9 域时残差较少预测更精确但用于表示运动向量和区域选取的数据量增大 大模式适合于平坦区域小模式适合表现图像的细节部分 0 0 1 01 01 23 161616881688 0 0 1 01 01 23 88844844 图 2-4 h.264 中的七种不同大小块模式 figure 2-4 seven different block types in h.264 2.3.2 1/4 像素精度搜索 对于一个帧间编码宏块来说,每个划分的区域都由参考帧中的相同大小的区 域来进行预测的2021与以前的编码标准相比h.264算法由于采用了更高的精 度来表示运动矢量的大小因此能够更准确的得到预测块相对于原始块的位移 从而提高了预测精度以达到压缩码率的效果对于亮度信号来说运动向量是 1/4精度的对于色度信号来说运动向量是1/8精度的而这些分数位置的像素 值在参考帧中是不存在的 在h.264 中采用根据邻近的像素值进行插值的方法来 进行计算分数位置的像素值的这种高精度的预测能够提供更为精确的预测图 像减少残差图像的能量所以这种分数像素精度的运动补偿能够提供比整数 像素精度的运动补偿更好的压缩性能同理1/4像素精度的运动补偿能够提供 比1/2像素精度的运动补偿更好的性能但是其相应的计算复杂度也随之增加 实验表明采用1/4象素精度的运动补偿能够比单纯用整数像素精度的运动补偿提 高约20%的编码效率 2.3.3 多参考帧的使用 在 h.264中允许编码器使用多于一帧的先前帧用于运动估计这就是所谓 的多帧参考技术可用1-5个参考帧在用多个参考帧进行运动估计时在编码 上海交通大学硕士学位论文 10 器的缓存中存有多个刚刚编码好的参考帧 编码器从其中选择一个给出最好的编 码效果的帧作为参考帧并指出是哪个帧被用于预测这样就可获得比只用一个 参考帧更好的编码效果 允许对前面多帧进行运动预测与补偿技术己经被证实能够对于不同的视频 内容有效地提高编码效率但由于增加了参考帧其搜索空间和时间也相应的增 加编码器在运动估计处理时的计算复杂度也相应的增加不难分析出这种预 测手段对具有往返运动变化剧烈或有遮挡问题的视频其编码效果会很好对 于一般视频编码来说其计算代价太大 在对电影进行压缩时采用多参考帧的优势十分显著电影中为了制造视觉 效果经常出现镜头在几个场景之间来回切换这样的一段视频用单参考帧的压 缩效果很差因为前后两幅图像场景变化太大很难预测很多块甚至无法进行帧 间预测而不得不采用帧内编码.如果采用了多参考帧编码器在另外几幅图像中 可能会找到有相同场景的图像并将它用作参考帧这时的编码效果就比较好了 2.4 变换和量化 h.264 中采用了三种变换基于 44 块的整数 dct基于 44 块 hadamard 变换和基于 22 块 hadamard 变换 与浮点 dct 相比h.264 中的整数 dct 具有以下优点 所有的运算都是整数运算不存在舍入误差因而避免了编码端和解码端在 正变换和逆变换时出现失配mismatch的问题 变换只需要通过加减法和移位操作即可完成 用于消除尺度变换影响的乘法运算也整合到了量化和反量化运算中 减少了 整体的运算量 dct 正反变换矩阵分别为 1111 2112 1111 1221 h = (2-1) 上海交通大学硕士学位论文 11 1111/2 11/211 11/211 1111/2 inv h = % (2-2) h.264 中宏块大小为 1616 对其中每个 44 大小的块进行上述 44 的 dct 变换后得到 16 个 44 的变换矩阵为了进一步提高压缩效率h.264 还允许 把亮度块每个44的变换矩阵中的直流分量(位于矩阵左上角的元素)单独取出组 成一新的 44 矩阵对此矩阵进行 44 块的 hadamard 变换如图 2-5 所示相 应地色度块每个 44 块的变换矩阵的直流分量则单独取出组成 22 的矩阵 对此矩阵也进行 22 的 hadamard 变换以充分提高压缩效率hadamard 变换 是一种正交变换其 44 的变换矩阵为 1111 1111 1111 1111 h = (2-3) 图 2-5 宏块内的残差块扫描次序22 figure 2-5 scanning order of residual blocks within a macroblock22 利用上述矩阵变换后它的逆变换可以精确的用整数表示因此逆变换误差 可以消除变换编码的过程和以前标准很相似编码器包括正变换zig-zag 扫 描按比例缩放量化和熵编码而解码器将上面的顺序倒过来就可以了23 上海交通大学硕士学位论文 12 2.5 熵编码 除了指数型golomb码和基于上下文的可变长编码cavlc相结合的熵编 码技术之外h.264 还提供了一种基于上下文的二进制自适应算术编码技术 cabac cavlc利用了44块的一些特点来提高编码效率 在预测 变换和量化之后 块中的数据是十分稀疏的存在大量的零值cavlc使用游程编码高效地对这 些零串进行编码zig-zag扫描之后的高频系数常常是+/-1 cavlc将这些高频的 +/-1系数表示为trailing 1或者t1相邻块中非零系数的个数是相关的系数的 个数用查表来编码表的选择取决于相邻块中非零系数的个数非零系数的大小 在扫描后的开始(也就是靠近直流系数附近的位置)是比较大的而在高频位置较 少cavlc利用这一特点根据最近编码的大小值自适应的选择vlc表 cavlc的编码过程包括: 1对系数的个数和后续的1t1的个数进行编码 2对每一个t1的符号进行编码 3对剩余系数的大小进行编码 4对最后一个非零系数前的零的个数进行编码 5对每一个非零系数前的零的个数进行编码 当entropy_code_mode被设为1的时候h.264使用基于上下文的二进制自适 应算术编码技术cabac对其语法元素进行编码和解码24这种算术编码具 有以下特点它根据语法元素的内容为其选择概率模型根据本地的统计数字自 适应地进行概率预测并使用算术编码其编码步骤包括: 1二进制化cabac使用二进制的算术编码所有需要编码的元素在编 码前都需要将其转换为用二进制数表示这一过程称为二进制化二进制化类似 于将数据变换为变长码但是二进制码在传输之前还要经过算术编码对二进制 化的元素中的每一个比特重复以下2, 3, 4步骤 2内容模型的选择内容模型是二进制化的元素中的一个或多个比特的 概率模型这一模型的选择是根据最近编码过的数据元素的统计数据从一系列 可选的模型中进行选择内容模型存储了每一个比特是0或是1的概率 3算术编码根据选择的概率模型对每一个比特(0或1)进行算术编码 上海交通大学硕士学位论文 13 4概率更新根据实际的编码值对概率模型进行更新例如实际的比特 值是0则0的概率增加 两种算法各有优缺点cabac编码比cavlc编码压缩效率高但是其算法 实现复杂并且抗误码性能不好 2.6 环路滤波器 基于宏块的视频编码会产生方块效应,为了尽量消除块变换造成的块效应现 象h.264采用了一个自适应的环路滤波器这个滤波器根据块边缘信息采用不 同的滤波权重可以有效地消除块效应又不会影响图像的锐度另外环路滤 波是作为编码器的一部分直接对编码器端的参考图像进行的 与作为后处理的解 码器端的去方块滤波相比 环路滤波在改善主观质量的同时还可以有效地提高编 码器的编码效率 滤波器原理如图2-6所示,利用量化参数(qp)得到相关的阈值(qp)(qp) 确定p0和q0以及p1和q1是否需要滤波p0和q0在条件式2-4全部满足时才被 滤波如果相应的条件式2-5满足,则需要对p1和q1滤波其思想是:如果测出 块边缘的样点有相当大的绝对差值时,则很可能会出现块效应,应该予以减弱如 果其差值幅度很大,则判断是否因为编码量化参数大所造成如果是则需要进行 滤波去除块效应 00 10 10 () () () pqqp ppqp qqqp 2-4 20 20 () () ppqp qqqp 5.027339 fabs(dy/dx)0.198912 0.198912dy/dx=0.668179 0.668179dy/dx=1.496606 1.496606dy/dx=5.027339 -5.027339dy/dx= -1.496606 -1.496606dy/dx= -0.668179 -0.668179dy/dx2.414214 fabs(dy/dx)0.414214 edge_map_i16modeij=0 edge_map_i4modeij=0 edge_map_i4modeij=1 edge_map_i4modeij=3 y y y n n end n 图 3-5 sobel 边缘方向 1616 帧内模式判决 figure3-5 intra 1616 mode decision based on sobel edge direction 步骤3 对亮度44子块中的16个像素边缘方向的幅度按照模式累加起来算出 直方图选择直方图中模最大的方向为候选预测方向并将此方向周围两个方向 也作为候选方向这两个方向是从顺时针方向和逆时针方向旋转得到的两个模 式同时将直流预测也作为候选预测模式44子块一共要判断4种预测模式 步骤 4 对亮度 1616 宏块中的 256 个像素边缘方向的幅度按照模式累加起 来算出直方图选择直方图中模最大的方向为候选预测方向并将直流预测也作 为候选预测模式1616 宏块一共要判断 2 种预测模式 上海交通大学硕士学位论文 22 步骤 5对色度 88 块中的 64 个像素边缘方向的幅度按照模式累加起来算 出直方图选择直方图中 u 分量和 v 分量的模最大的方向为候选预测方向并 将直流预测也作为候选预测模式 由于通过 u v 分量判断得到的模式可能相同 也可能不相同所以色度块一共要判断 23 种预测模式 步骤 6通过步骤 35 得到的可能编码模式来进行 rdo 计算选择具有最 小率失真代价的模式为编码模式 通过上面的步骤 一个宏块进行帧内编码需要 m8(m416+m16)=132198 次 rdo 计算该算法可以将帧内编码的时间平均降低 60%左右帧内编码帧的 码率上升了 1%7%psnr 平均降低了 0.03db 3.3 一种快速帧内编码算法 从上面的算法中可以看出 利用图像中边缘方向信息来对帧内编码进行优化 可以极大的提高帧内编码速度而不会有较大的编码性能损耗 本文在深入研究了 h.264帧内预测模式和大量实验的基础上 提出了一种改进的快速帧内编码算法 与参考文献39提出的算法相比本文算法进行了以下改进 1采用了prewitt算子替代sobel算子计算边缘方向信息以节省计算dxdy 过程中的移位或乘法操作 2 在亮度44的边缘方向模式判决时 不使用模式方向的二等分线为各模式 的边界阈值 而是通过将边缘方向幅角的相邻两个预测方向都作为此像素的预测 方向在计算直方图时在两个方向上都加上相应的幅值这样做可以不需要除 法运算计算出幅角的正切值只需要通过移位和比较操作进行判断区间 3在亮度44的模式判决时加入最可能编码模式到候选模式这样可以提 高亮度44子块判决的准确性 4亮度分量对于1616模式的边缘方向信息计算与44模式的计算同时进 行将1616各个模式方向的二等分线改为亮度44中最靠近的模式方向来替代 如1616模式0和模式3的边界阈值调整为44模式5和模式7的预测方向这样减 少判断幅角所处区间的次数 5色度分量计算所有4种编码模式并将色度与亮度的编码过程分离进行 这样可以减少rdo计算次数 上海交通大学硕士学位论文 23 3.3.1 prewitt 算子 prewitt 算子是一种基于曲面拟合的边缘检测方法 prewitt 边缘检测算子使用 两个有向(水平和垂直)模版每个逼近一个偏导数 pv = 101 101 101 及 ph = 111 000 111 3-5 prewitt 算子具有一定的噪声平滑作用 在检测阶跃边缘时得到的边缘宽度至 少为二像素定义变量 , , i ji ji j ddxdy= r 为像素 , i j p的梯度其中 , i j dx , i j dy分别是水 平和垂直方向上的分量定义如下 ,1,1,11,11,1,11,1 ,1,11,1,11,11,1,1 i jiji jijiji jij i jijijijijijij dxpppppp dypppppp + + =+ =+ (3-6) 梯度 , i j d r 的模为 22 , () i ji ji j amp ddxdy=+ r (3-7) 梯度 , i j d r 的幅角为 0 ,0 , , 180 ()arctan, ()90 i j i ji j i j dy ang dangd dx = rr (3-8) 为了简化计算梯度 , i j d r 的模可以按下式估算 , () i ji ji j amp ddxdy=+ r , (3-9) 在实际计算中并不需要计算出梯度的幅角只需要计算出幅角所处的区间 即可这是因为后面的计算并不需要用到精确的幅角值因此可以利用各个预 测模式角度的正切值作为阈值来判断幅角所处的区间 为了得到可能的编码模式 需要建立边缘方向直方图来对各个编码模式进行 比较将块中相同模式上的向量的模相加就得到相应模式的边缘方向直方图 如图3-6所示44子块的直方图和1616宏块的直方图类似都是以各个编码模 式方向作为横坐标梯度模值的和作为纵坐标 上海交通大学硕士学位论文 24 图3-6 边缘方向直方图 figure 3-6 edge direction histogram 3.3.2 44 子块 在44子块中有8种方向预测模式以及直流预测模式dc通过prewitt 算子计算出各个像素的梯度幅角的区间后见表3-1将两条边缘的方向都加 入预判方向中 计算边缘算子幅角所处区间的算法流程如图3-7所示 例如 当44 子块中像素pi,j判断出梯度幅角处于模式0和模式5之间 则将模式0和模式5都预判 为像素pi,j的方向即将edge_map_i4mode1ij和edge_map_i4mode2ij设为0 和5这样44子块中16个像素点的方向都得到后对块中16个点的边缘方向的 幅度按照模式累加起来组成直方图算出直方图 选择直方图中模最大的方向为候 选预测方向并将此方向周围两个方向也作为候选方向这两个方向是从顺时针 方向和逆时针方向旋转得到的两个模式预测模式的方向可以参见图2-2由于 正切函数的周期为180所以模式3周围的两个模式是模式7和模式8模式8周 围的两个模式是模式3和模式1 表3-1 44子块预测模式的角度与比值 预测模式 角度 正切值 预测模式 角度 正切值 0 -90 5 -63.4 -2 1 0 0 6 -26.6 -0.5 3 -135 1 7 -116.6 2 4 -45 -1 8 26.6 0.5 上海交通大学硕士学位论文 25 利用式(3-3)计算dx,dy 0dy/dx=1/2 1/2dy/dx=2 1dy/dx=2 dy/dx=-2 -2dy/dx=-1 -1dy/dx=-1/2 -1/2dy/dx=0 edge_map_i4mode1ij=1 edge_map_i4mode2ij=6 edge_map_i16mode1ij=1 edge_map_i4mode1ij=6 edge_map_i4mode2ij=4 edge_map_i16mode1ij=3 edge_map_i4mode1ij=4 edge_map_i4mode2ij=5 edge_map_i16mode1ij=3 edge_map_i4mode1ij=5 edge_map_i4mode2ij=0 edge_map_i16mode1ij=0 edge_map_i4mode1ij=0 edge_map_i4mode2ij=7 edge_map_i16mode1ij=0 edge_map_i4mode1ij=7 edge_map_i4mode2ij=3 edge_map_i16mode1ij=3 edge_map_i4mode1ij=3 edge_map_i4mode2ij=8 edge_map_i16mode1ij=3 edge_map_i4mode1ij=8 edge_map_i4mode2ij=1 edge_map_i16mode1ij=1 dx=0? edge_map_i4mode1ij=0 edge_map_i4mode2ij=0 edge_map_i16mode1ij=0 n n n n n n n n y y y y y y y y y end 图 3-7 prewitt 边缘方向模式判决 figure 3-7 mode decision based on prewitt edge direction 从图3-7的流程中可以看出直流dc模式并没有加入到判断过程中为 上海交通大学硕士学位论文 26 了提高预判的准确度dc模式需要加入候选模式中去 h.264在44子块编码时会通过周围子块的编码模式来预测出一个最可能编 码模式most probable mode当编码模式与这个预测编码模式相同时只需要1 比特来对编码模式进行编码具体算法如下如图3-8所示 1若a或b中有一个子块的编码模式不存在时则c的最可能编码模式为2 dc 2若a和b两个子块的编码模式都存在时则c的最可能编码模式为a和b 子块的编码模式中较小的一种模式 最可能编码模式也要加入候选模式中去这种模式可能与通过梯度算子得到 的模式相同也可能是直流模式dc 图3-8 当前块和相邻块 figure 3-8 current block and neighbor block 这样每个44子块一共有45种预测模式需要计算从上面的过程可以看 出预测模式的阈值分别为01/212这些判断都可以通过移位

温馨提示

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

评论

0/150

提交评论