【VC++开源代码栏目提醒】:文章导读:在新的一年中,各位网友都进入紧张的学习或是工作阶段。
网学会员整理了VC++开源代码-软硬件协同的MPEG4视频解码器设计与实现【控制理论与控制工程专业优秀论文】 - 毕业设计的相关内容供大家参考,祝大家在新的一年里工作和学习顺利!
上海交通大学硕士学位
论文 III软硬件协同的MPEG-4视频解码器设计与实现 摘 要 音视频多媒体技术以最直观的方式表达信息给人们带来了丰富的信息和多彩的娱乐感受。
在多媒体设备中MPEG-4标准因其编码方式先进压缩效率高错误控制机制可靠而被普遍采用。
视频解码是其中最重要、最复杂的技术。
视频解码器的主流方案包括纯软件解码方案和纯硬件ASIC的解码方案两种。
这两种方案有各自的优点和缺点。
纯软件解码方案的主要优点是灵活易于开发和调整更新。
主要缺点是解码效率低功耗大。
ASIC方案的优点是集成度高功耗小可靠性高运算速度快。
其缺点在于开发难度大周期长灵活性差。
针对MPEG-4视频解码器综合软件方案和硬件方案的长处本设计采用软硬件协同的解决方案即CPU配合硬件加速器的形式。
这个方案将整个解码过程进行合理划分将运算比较集中的部分用硬件加速器方式实现而运算量较小、控制复杂的部分用软件实现。
采用软硬件协同的设计方法可以较好的兼顾解码速度、功耗、灵活性、成本以及开发周期的要求。
通过分析MPEG-4视频解码的原理和流程在
开源解码软件XVID的基础上本文首先根据软件计算量统计的结果确定了软硬件划分 上海交通大学硕士学位
论文 IV方案将占整体计算量74以上的IDCT、帧间运动补偿、反量化三部分划入硬件加速器。
设计了系统的四级流水机制。
接下来给出了各个模块的详细设计。
包括主控电路、反量化模块、反离散余弦变换IDCT模块和运动补偿模块。
根据标准规定的算法结合实际情况做出优化力争提高效率的同时节约资源的使用。
实现了软硬件协同在XVID的基础上修改其中涉及到硬件加速器的软件
代码使之与硬件加速器协同工作。
硬件加速器用Verilog HDL硬件描述语言完成开发结果证明本设计达到了设计要求。
在CPU工作频率200 MHz、硬件加速器工作频率50 MHz、软硬件协同工作下解码性能相对纯软件大约提高了3至5倍左右能够满足CIF分辨率实时视频播放的要求。
关键词 MPEG-4视频解码器软硬件协同 知识水坝为您整理 上海交通大学硕士学位
论文 VThe Research and Implementation of Software Hardware Co-design for MPEG-4 Video Decoder ABSTRACT Multimedia technology with video and audio is the most direct method of expressing information making people’s life more colorful. MPEG-4 standard is widely employed in multimedia devices nowadays because of its advance in compression technology and robust to use. Video decoding among multimedia device’s technologies is the most important and complex one. The two mainframe solutions for video decoder design include software-only method and hardware-only method. There are merits and shortcomings in these two solutions. The software-only solution is flexible but low in performance. The hardware-only solution is of high performance but not flexible. Take advantages of software-only and hardware-only solutions this paper puts forward a software hardware co-design solution which employs both CPU and hardware accelerator. By carefully partitioning of the hardware and software the computational hot spots are shifted to the hardware accelerator in the mean time the left functions remains in software. This solution is high in performance and still flexible. Based on the open source MPEG-4 software decoder XVID the 知识水坝为您整理 上海交通大学硕士学位
论文 VIpaper firstly partitions the decoder into software part and hardware part. The three modules including IDCT motion compensation and inverse quantization which take about 74 of computation are designated to be hardware accelerated. Then the paper designs a pipeline strategy including 4 stagesand gives the detail design process for the central controller inverse quantization IDCTreference pixels reader interpolation and reconstruction module. Optimization according to the practical situation is carried out. Finally an adjustment of the XVID software according to the alternation needed by hardware acceleration is also carried out. The hareware is implemented using Verilog HDL. The result shows that the design fulfills perforemance requirements. With the CPU and accelerator work at 200MHz and 50MHz respectively the performance of the hardware accelerated decoder is about 3 to 5 times in performance compared with that of the software only version being capable of decoding CIF Definition stream in real time. KEY WORDS: MPEG-4 VideoDecoder Hardware Software co-design 上海交通大学硕士学位
论文 ii图例索引 图 1纯软件解码方案的设计流程........................................................................2 图 2 ASIC解码方案的设计流程...........................................................................3 图 3 运动估计示意图...........................................................................................7 图 4 MPEG-4 ASP解码流程.................................................................................10 图 5 XVID解码计算量Profile结果.................................................................13 图 6 XUP VirtexII Pro整体框架.....................................错误未定义书签。
图 7流水机制......................................................................................................18 图 8硬件加速器整体设计..................................................................................19 图 9主控电路......................................................................................................19 图 10反量化的过程............................................................................................20 图 11反量化电路................................................................................................24 图 12反量化时序................................................................................................25 图 13 IDCT结构...................................................................................................29 图 14 IDCT转置缓存示意图...............................................................................30 图 15第一维IDCT计算时序..............................................................................30 图 16第二维IDCT计算时序..............................................................................32 图 17整数像素与亚像素点................................................................................33 图 18半像素
搜索的内插方案............................................错误未定义书签。
图 19块边界镜像扩展........................................................错误未定义书签。
图 20 1/4像素模式下的半像素内插.................................错误未定义书签。
图 21运动补偿模块整体设计............................................................................36 图 22 四矢量宏块中8×8块实际参考像素范围..............................................38 图 23一矢量宏块分解情况下的参考像素范围................................................38 图 24参考像素读取单元结构............................................................................39 图 25 1/4像素插值示意图.................................................................................40 图 26横向与纵向1/4像素插值........................................................................41 图 27 8抽头滤波过程.........................................................................................43 图 28插值单元结构图........................................................................................45 图 29 1/4插值单元核心时序.............................................................................45 图 30重建模块结构............................................................................................46 图 31软硬协同的解码流程................................................................................51 上海交通大学硕士学位
论文 I 上海交通大学 学位
论文原创性声明 本人郑重声明所呈交的学位
论文是本人在导师的指导下独立进行研究工作所取得的成果。
除文中已经注明引用的内容外本
论文不包含任何其他个人或集体已经发表或撰写过的作品成果。
对本文的研究做出重要贡献的个人和集体均已在文中以明确方式标明。
本人完全意识到本声明的法律结果由本人承担。
学位
论文作者签名郑 思 日期2008 年 1 月 18 日 上海交通大学硕士学位
论文 II 上海交通大学 学位
论文版权使用授权书 本学位
论文作者完全了解学校有关保留、使用学位
论文的规定同意学校保留并向国家有关部门或机构送交
论文的复印件和电子版允许
论文被查阅和借阅。
本人授权上海交通大学可以将本学位
论文的全部或部分内容编入有关数据库进行检索可以采用影印、缩印或扫描等复制手段保存和汇编本学位
论文。
保密□在 年解密后适用本授权书。
本学位
论文属于 不保密√。
请在以上方框内打“√” 学位
论文作者签名郑 思 指导教师签名朱兰娟 日期2008 年 1 月 18 日 日期2008 年 1 月 18 日 上海交通大学硕士学位
论文 1第一章 绪 论 1.1 研究背景 音视频多媒体技术以最直观的方式表达信息给人们带来了丰富的信息和多彩的娱乐感受。
而手持多媒体播放器Portable Multimedia Player则把音视频娱乐从原来的固定地点解放出来变为随身携带随时接受信息和娱乐极大的扩展了多媒体的时间和空间概念给人们的生活带来了更多便利和乐趣。
在手持设备中MPEG-4标准因其编码方式先进压缩效率高错误控制机制可靠而被普遍采用。
本文的研究目标是为一款手持多媒体播放器设计MPEG-4视频解码器针对视频解码计算量大处理复杂对软硬件要求高的特点力图采用高效、灵活的设计方案来实现解码功能。
1.2视频解码方案分析 在手持设备中视频解码器的主流方案包括两种一是纯软件、基于RISC CPU或DSP的解码方案二是纯硬件、基于ASIC的解码方案。
这两种方案有各自的优点和缺点本节将对这两种解决方案进行简要分析在此基础上提出软硬件协同的解决方案。
1.2.1 纯软件的解码方案 纯软件的解码方案即基于RISC CPU或DSP的开发工作主要包括建立高级语言软件模型然后针对处理器的特点进行优化。
参考文献12中采用的是基于RISC CPU的
方案参考文献22采用的是DSPRISC CPU的双核解决方案。
软件优化的主要步骤有
代码精简、算法优化、高级语言优化和汇编级优化12如图1所示。
代码精简主要是去除
软件模型中用于调试打印和人机交互的
代码以及去除
代码中多余的功能模块例如去除编码部分的
代码只与其他档次profile 上海交通大学硕士学位
论文 2相关的
代码等算法优化主要是利用高效算法对
代码进行优化。
例如反离散余弦变换IDCT经过Chen-Wang算法的优化与公式直接计算相比8x8的矩阵IDCT至少节省6784次乘法运算12高级语言和汇编级优化主要是根据处理器的特点对具体函数中的冗余
代码进行精简。
高级语言软件模型优化后的软件
代码代码精简算法优化高级语言优化汇编语言优化 图 1 纯软件解码方案的设计流程 Figure 1 Design flow of decoder based on software-only solution 纯软件解码方案的主要优点是易于开发和调整更新容易添加新功能修改方便开发周期短风险较小。
主要缺点是解码效率低功耗大。
文献22中采用的双核方案DSP和CPU均
工作在150MHz解码能力也仅限于QCIF分辨率176x144。
1.2.2 ASIC解码方案 基于ASICApplication Specific Integrated Circuit的解码方案通过设计专用集成电路来完成解码器功能。
参考文献21中MPEG-4视频解码器采用的就是这一方案。
它的开发流程如图2所示包括项目策划、解码器总体设计、详细设计与可测试性设计、时序验证与版图设计和流片等多个步骤其中详细
设计与可测试性设计又可划分为解码器子模块划分、详细时序设计、RTL寄存器传输级
代码设计、功能仿真等多个步骤。
ASIC方案的优点是集成度高量产时成本低工作频率低功耗小可靠性高运算速度快。
其缺点在于设计过程复杂开发难度大开发周期长灵活性差一旦流片便无法修改难以加入新功能。
上海交通大学硕士学位
论文 3项目策划解码器总体设计详细设计与可测试性设计时序验证与版图设计流片解码器子模块划分RTL
代码设计详细时序设计解码器功能仿真 图2 ASIC解码方案的设计流程 Figure 2 Design flow of ASIC 1.2.3 软硬件协同的解码方案 1.2.1、1.2.2小节分别分析了纯软件和纯硬件解决方案的优缺点针对MPEG-4视频解码器综合软件方案和硬件方案的长处本设计采用软硬件协同的解决方案即CPU配合硬件加速器的形式。
这个方案将整个解码过程进行合理划分将运算比较集中、有通用性的部分用硬件加速器方式实现而运算量较小、控制复杂、通用性差的部分用软件实现以达到灵活、高效的目的。
相对于前述的纯软件和纯硬件解码方案软硬件协同的解码方案有以下几个优点 1. 硬件模块工作速度快这样就能够在实现实时高质量解码的同时降低系统的工作频率从而大大降低功耗这对电能有限的手持设备有重大意义。
2. 软件模块所具有的灵活性和可扩展性使得解码器具有很好的兼容性可以比较方便的修改和加入新的功能。
3. 计算量主要集中到了硬件加速器上大大减轻了CPU的计算负担使得CPU可以支持更多上层应用。
上海交通大学硕士学位
论文 4综上所述采用软硬件协同的设计方法可以较好的兼顾解码速度、功耗、灵活性、成本以及开发周期的要求表1列出了各种方案之间的对比。
表 1 各种解码方案比较 Table 1 Comparison of different solutions 方案 开发周期 功耗 灵活性 成本 纯软件 短 大 很好 高 ASIC 长 小 差 低 软硬协同 较短 较小 较好 较低 1.3
论文的主要工作和内容 全文分为以下几章 第一章绪论简要介绍了
论文的研究背景和意义同时在对主流解决方案进行分析的基础上提出了软硬协同的设计方案。
第二章视频解码流程与MPEG-4标准简介从视频压缩的可能性和必要性这一角度入手介绍了视频解码的基本原理和主要技术在这个基础上分析了MPEG-4的解码流程及其采用的编解码工具。
第三章软硬件划分根据软硬件协同设计的基本原则和解码软件的运算量统计情况对软硬件进行了合理划分并简单介绍了实验环境。
第四章解码器的硬件模块设计这是全文的重点内容和主要工作所在设计了
系统的四级流水机制并对硬件加速器的各个模块进行了详细设计根据实际情况做出优化设计 力争提高效率的同时节约资源的使用。
第五章软硬件协同实现这一章分析了硬件加速器提供给软件的接口在XVID的基础上修改其中涉及到硬件加速器的软件
代码使之与硬件加速器协同工作。
第六章逻辑验证、综合结果及性能分析这一章给出了硬件加速器各模块的逻辑验证及综合结果分析了资源占用情况并在对纯软件解码和软硬协同解码两者性能对比基础上做出了本文设计方案的性能分析。
第七章总结与展望总结了本文的工作并对下一步工作进行了展望。
上海交通大学硕士学位
论文 5第二章 视频解码流程与MPEG-4标准简介 2.1 视频压缩的基本原理 2.1.1视频压缩的必要性和可行性 图像是最直观的信息传播方式人们通过视觉获得的信息约占总获取信息量的70左右4然而数字化后的数字视频却十分庞大给传输和存储带来巨大的困难。
以一段分辨率为标准清晰度720×576、每秒30帧、4:2:0、每个像素占8比特的视频为例每秒数据量为:S720×576×8×1.5×30≈150Mbit在目前的
网络条件下几乎不可能实时传输更不用说无线传输。
如果是长度为90分钟的电影总数据量T149299200×90×60≈800Gbit远远超过了DVD光盘的存储容量。
在这种情况下研究有效的视频压缩技术便具有重大的现实意义。
信息
压缩的主要方法是去除其中的冗余信息而视频中实际上是存在着大量冗余的。
冗余存在于以下几个方面 人的视觉系统是一个很复杂的系统其中一个特点就是人对亮度的敏感度要大于对色度的敏感度。
因而在对图像采样时可以对亮度采用较高的采样率对色度采用较低的采样率。
例如4:2:0格式可以减少1/2的数据量。
在空间上同一幅图像相邻的像素值间存在着比较大的相关性可以通过只存储相邻像素的差值来减少数据量 在时间上由于视频图像是连续的相邻的图像之间也存在着相关性同样可以通过只存储时间相邻图像的差值来减少数据量。
可以通过正交变换将空间域变换到变换域能量集中到少数几个参数上达到压缩的目的。
基于以上几点通过运用相应的数学工具和其他一些技巧视频压缩是完全有可能的。
上海交通大学硕士学位
论文 62.1.2视频压缩的主要技术 变换编码 对绝大部分图像而言平坦和内容变化缓慢区域占据了图像的绝大部分而细节突出及突变的区域占小部分。
可以认为直流和低频区域占了大部分高频区域只占小部分。
因而可以将空间域描述的图像信号变换到另一个正交的向量空间也就是频率空间。
如果该正交向量空间基向量与图像本身的空间基向量很接近则通过正交变换系数间的向关性能被基本消除从而达到图像压缩的目的。
在众多的正交变换算法之中K-LKarhunen-Loeve变换以图像本身的特征向量作为变换的基与图像的统计特征完全匹配是最佳变换但是K-L变换的变换矩阵随图像而异缺乏快速算法。
离散余弦变换DCT最接近K-L变换变换矩阵与图像无关有很多快速算法实现复杂度相对较低因而被广泛应用与图像压缩。
设fxy是N×N离散图像序列二维DCT变换为公式2-114所示 ∑∑????1010122cos122cos2NxNyvyNuxNyxfvcucNvuFππ 2-1 uv01…N-1 vcuc其他、1021vu 二维反变换IDCT为公式2-214所示 ∑∑????1010122cos122cos2NuNvyvNxuNvuFvcucNyxfππ 2-2 xy01…N-1 vcuc其他、1021vu 预测编码 运动视频相邻.