基于软硬件协同的AVS视频解码芯片SOC结构设计_第1页
基于软硬件协同的AVS视频解码芯片SOC结构设计_第2页
基于软硬件协同的AVS视频解码芯片SOC结构设计_第3页
基于软硬件协同的AVS视频解码芯片SOC结构设计_第4页
基于软硬件协同的AVS视频解码芯片SOC结构设计_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

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

文档简介

1、可重用A VS 视频解码SOC 架构的软硬件协同设计王忠平 祝永新 郭炜(上海交通大学微电子学院, 上海, 200240)摘 要 本文的目的是根据软硬件设计思想设计一个较为合理的A VS 视频解码器架构。首先把A VS 代码移植到ARM9平台, 然后使用ARM ESL 工具对系统模块性能做整体评估, 根据评估结果以及硬件实现复杂度进行软硬件模块划分,然后使用SystemC 模拟硬件模块,最后在ARM SOC Designer 做软硬件协同仿真及验证。 关键词 ESL ARM SystemC AVS 软硬件协同设计Design and Research on Multi-mode Digital

2、 Video Soc Decoder Chip Based onSoftware-hardware Co-designW ANG Zhongping , ZHU Yongxin , GUO Wei(School of Microelectronics, Shanghai Jiao Tong University, Shanghai, 200240Abstract after study of AVS and H.264 decoding standard, the author designed which is the ESL platform presented by ARM corpor

3、ation. The model uses reconfigurable design methodology. A testing SoC system is built based on the previous work and the accelerating performance of the model is analyzed. Keywords ESL, SystemC, symmetry, line raster1 引言随着集成电路设计规模不断扩大,复杂度越来越高,在系统级别进行软硬件规划对SOC(System on Chip系统性能影响日趋增大。数字视频解码芯片是多媒体领域

4、的核心, A VS 音视频编码标准采用了最新视频编码技术对压缩效果有很大改善,但其压缩效率的提高也是以算法复杂度的提高为代价的,造成了单纯用软件解码难以达到很高的性能。本文在研究了A VS 视频编码标准和数字视频解码芯片系统结构的基础上,设计了支持A VS Part-2的高清SOC 解码芯片。在复杂视频解码架构设计中迫切需要高效的性能分析和验证平台从架构层次上优化性能,本文基于电子系统级设计ESL (Electronic System Level ),利用ARM SOC Designer ESL 平台分析系统的瓶颈实现软硬划分。通过SystemC 对硬件单元周期精确建模,实现软硬件协同仿真验证

5、。实践证明基于软硬件协同设计进行系统设计不仅可以加快系统开发速度,并且设计的视频解码芯片能有效改善系统的性能。2 AVS 解码器结构软硬件协同建模A VS 标准的开发路线是基于可以合法免费使用的开放技术和自主研发的专利技术相结合,在具体实现上,A VS - P2 主要采用H. 264 作为模版。A VS 解码器模块大致可划分为如下几个部分:首先是码流进行熵解码部分,然后经由重排序对其残差信息进行反量化和反变换。在宏块级进行帧内预测和帧间运动补偿,然后进行环路滤波,恢复出编码图像,具体流程如图1所示: 图1 AVS 解码模块结构图2.1硬件平台搭建为了便于对整个解码器系统所有模块做整体评估,以便

6、于软硬件划分,首先需要搭建一个简单的测试平台。硬件方面使用ARM 公司SoC Designer Canvas工具搭建一个简单的模块评估平台,如图2所示所有硬件模块均为SystemC 模拟实现。系统中CPU 选用ARM926,通过AHB 总线连接P-Memory 和D-Memory 以及APB Bridge,APB 总线上挂接Timer 模块和中断控制器。软件方面从代码移植入手,根据A VS 标准工作组提供的基于PC 平台的A VS 解码器代码移植到ARM 平台。图2 软硬件划分系统测试平台2.2软件代码移植软件从x86平台的C+语言向ARM 平台的C 语言移植的过程中所做修改主要包括:(1)替

7、换原来x86汇编指令为ARM 指令。(2)修改C+语法为C 语言语法,如指针申请与释放new 替换为malloc ,数据类型转换,如bool 型替换为int ;修改头C+文件为C 语言头文件。(3)ARM 平台语法移植。在源代码数据类型强制转换的地方根据ARM 平台的系统结构修改变量大数端和小数端;修改数据的对齐方式; x86和ARM 的移位操作,x86移入的数为1,而ARM 移入的数为0,所以也要对源代码中的移位运算做修改。3 软硬件结构划分将移植修改之后的代码用ADS 1.2编译之后生成.axd 文件,使用SoC Designer Simulator 工具载入该文件运行。使用自带的Prof

8、iling 软件,分析解码器解6帧数据每个模块所运行的时间,如表1所示:FunctionNo. DurationCalls (CyclesMcIdctRecOneMarcroBlock 693 94721983 InterPredLumaP 507 48215814 InterPredChormaP 507 28767011 InterPredLuma16x16 282 20691452 InterPredChroma16x16 564 15750136 GetChromaBlock16x16 564 15669767 inv_transform_B8 2346 11500353 InterP

9、redLuma16x8 174 10916716 InterPredLuma8x8 264 8415599 ParseOneMacroBlock 693 8056738 InterPredLuma8x16 144 7982020 InterPredChroma16x8 348 4928671 InterPredChroma8x16 288 4104373 InterPredChroma8x8 528 3846784 DeblockOneMacroBlock 693 3839453 ReconB8 2346 3047070 IntraPredLuma 744 1546578 IntraPredC

10、hroma372 674802 ReadChromaCoeff451625672表1 软件解码器各模块运行时间统计从统计结果我们可以看到, InterPredLuma 、InterPredChorma 等帧间预测函数占用系统时钟比例最大,inv_transform_B8整数型离散余弦变换(IDCT ),IntraPredLum 、IntraPredChroma 帧内预测等函数也占相当大的CPU 资源,其他占用系统资源的还有环路滤波,帧重建等函数。从系统调用次数及深度,以及硬件电路实现成本和复杂度考虑,适宜将整数离散余弦变换(IDCT )模块、帧内预测模块、帧间预测模块以及环路滤波模块使用硬件加

11、速,其它码流控制信息等使用软件实现。4 硬件加速模块实现项目使用ARM 工具集SoC Designer模拟上节分析结果中需要硬件加速的模块,使之运行速度更快。SoC Designer工具本身是兼容SystemC ,并且它提供了很多实现好的系统模块库供使用,使得建模的时候可以更专注于系统模块之间的接口设计,而不用过多的关注硬件方面等细节问题。SoC Designer 提供了各种类型的组件库,有Bus ,Core ,Memory 等等不同类型的。用户可以通过拖拽的方式方便的搭建起自己的系统。SoC Designer 还支持了用户自定制库的方式。它可以根据用户的要求生成一个基本的框架,具有基本的类和

12、函数,用户也可以进行相应的设计,并可以用VC .NET 2003将其编译成DLL 动态链接库,并添加到SoC Designer 的库列表里,使开发者可以与其他库一样调用自己定制的模块库。 使用SoC Designer 建模的另一个优点就是开发者只需专注于系统接口的定义和模块内部的状态转换,而不需要设计很复杂的模拟硬件的时序信息。在该软件中,用户实现的功能模块代码主要集中在communicate 和update 函数,在本项目中,需要的做操作主要是把原来软件代码函数传输的参数修改成硬件的接口信号,另外硬件还需要必要的时钟信号和AHB 总线接口。硬件模块内部逻辑方面,把软件函数实现的功能用Syst

13、emC 语言实现,然后修改软件和硬件的接口,使用中断或者查询方式进行通信,由于查询方式占用CPU 较多,本系统中所有硬件模块全部采用中断方式,使用硬件加速与软件协同后的解码器结构如下: 图3 软硬件划分后SOC 系统框图 4 实验结果表2是使用纯软件A VS 解码与使用SOC 系统软硬件协同解码前后解码7帧A VS 测试序列的对比情况。使用的测试序列为IPPPPP , QCIF(176x144格式。模块名称 加速前 加速后 (时钟周期 (时钟周期加速比 IDCT InterPred IntraPredLoop Filter Total Chip表2 使用SOC 硬件加速前后解码器性能比较从试验

14、结果看出,使用SOC 软硬件协同解码之后,对系统性能有很大提高。5 结论参考文献1信息技术先进音视频编码第2部分:视频(报批稿.2004.2 高文, 黄铁军, 信源编码标准AVS 及其在数字电视中的应用 电视技术2003(11:4-63 Thomas Wiegand, Gary J. Sullivan. Overview of the H.264/AVC Video Coding StandardJ. IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY, VOL.13, NO.7, JULY 2003.4 Rindert Schutten. 基于ESL 并采用SystemC 和SystemVerilog 的设计流程. EDN 电子设计技术. 2006.04.5郭炜,郭筝,谢憬等,SOC 设计方法与实现, 北京:电子工业出版社,2007.6.6 王争, 刘佩林. AVS 解码器基于SystemC 的实现J. 中国有线电视 2006.01.作

温馨提示

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

评论

0/150

提交评论