- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于SOCVC1解码器软硬件协同设计及验证
基于SOCVC1解码器软硬件协同设计及验证
摘要:提出了一种 VC-1硬件解码器的SOC/ASIC设计方案,并在具体实现电路的基础上,重点讨论了软硬件协同设计方案及其验证策略的设计考虑。该设计方案已经通过基于FPGA的系统级验证。结果证明,设计方案完全可行。
关键词: VC-1;解码器;专用集成电路;系统级芯片;FPGA;验证
1引言
H.264 ,AVS,VC-1并称为新一代视频压缩标准,是现今多媒体芯片争相支持的技术。在同等视频质量的情况下,其压缩率相当,大约是MPEG-4的2倍,MPEG-2的4倍[1]。H.264是ISO/IEC和ITU联合发布的国际标准,算法复杂度高,视频质量精细,但因其专利费过于高昂,从2003年定为国际标准至今,一直未能得到广泛应用。AVS视频-基准部分于2006年3月成为正式的国家标准,采用中国自主研发的视频压缩技术,每台解码设备只象征性收取1元人民币专利费,现在已经吸引国内外近200家大中型企业、研究单位加入,预计在不久的将来会大有作为。VC-1是SMPTE(美国电影电视工程师协会)于2006年4月颁布的行业标准,采用微软公司的WMV-9视频编解码技术。在算法复杂度方面,VC-1比H.264简单[2],与AVS相当。依托美国强大的电影电视行业以及微软公司的巨大影响力,VC-1标准正得到越来越多的应用,HD-DVD和Blue-ray DVD也已经采用其作为视频编码标准之一。
笔者设计的VC-1解码器是便携式多媒体处理器SOC的一部分,该系统采用32bit RISC处理器为核心、AMBA总线结构,还包括SDRAM控制器、USB OTG、DMA控制器、LCD控制器以及一些外围电路如MP3解码器、UART、TIMER、GPIO等。系统框图如图1所示。
图1 多媒体音视频处理器SOC架构
2解码器的软硬件划分
便携式媒体播放器要求能够对视频片段进行实时播放,所以解码器必须要达到实时解码的要求,因此视频分辨率的大小直接决定解码器的芯片面积和功耗大小。本设计的目标是支持VC-1的MP@ML级别,分辨率达到720×576(即D1),25帧/s。解码器若完全采用硬件设计将需要较大的芯片面积,为了降低成本,同时又能够达到D1分辨率的实时解码要求,在软硬件协同设计时需要进行仔细的功能划分。在视频解码标准中,通常熵解码、反量化,反变换、帧内预测、帧间预测、边界滤波6个部分运算量较大,花费的时间较长,是影响解码时间的关键环节。VC-1标准中,熵解码采用变长码技术,解码过程中需要参考大量表格,若做成硬件会产生较大的ROM面积,因此适合由软件实现。帧内预测只预测帧内8×8块的第一行和第一列,而非整个块,运算量较小,这部分也划分为软件部分。VC-1解码标准中有两处边界滤波[1],一处是在帧内解码环路之内的交叠滤波,另一处是用作参考帧之前的环路滤波。两次滤波在消除块效应的同时较好地保存了图像原边界,减少了图像失真。笔者将环路滤波交由软件实现,其他四个部分,即反量化、反变换、帧间预测、交叠滤波由硬件实现。解码流程框图如图2所示,其中深色块代表硬件部分,浅色块代表软件部分。
图2 解码器流程图
3解码器硬件设计
硬件部分采用verilog语言进行设计,参考原型是解码器的C代码。进行硬件设计前要对C代码进行一些修改,包括:(1)根据硬件部分在解码流程中所在的位置,修改C代码以提供硬件模块的输入和保存硬件模块的输出,也就是写驱动。(2)确定变量位宽。C语言中的变量位宽只有8,16,32 bit等几种,而硬件则要精确到比特。参考VC-1标准文档中的数据流描述来确定变量位宽。(3)确定每个硬件模块的实现方案,并用C程序模拟,以判断方案是否可行。编写模拟程序要注意C程序是串行执行,而硬件则是并行。
同样的C函数功能,可以有多种不同的ASIC实现方法。例如实现相互没有关联的运算,可以选择并行处理,也可以选择串行处理。若选择并行处理则解码速度较快,但需要较多的运算部件,就会增大芯片面积。所以笔者需要在芯片面积和速度二者之间进行折衷(tradeoff),目标是在满足解码时间要求的前提下尽量减小芯片面积。因此实现方案需要反复优化和验证。下面重点说明各个模块的实现方案的设计考虑。由于乘法器在各模块中都是占面积最大的基本处理单元,所以重点提到乘法器耗用情况。
(1) 反量化
DC系数的反量化较为简单,只需要根据码流传送来的量化索引值找到量化阶数,然后与量化系数相乘,就得到变换系数。AC系数的反量化分为2种情况:均匀和非均匀。均匀情况下只需要一次加乘就得到变换系数,而非均匀情况下则要进行符号调整,增
您可能关注的文档
最近下载
- 2014年深圳市坪山新区主要病媒生物监测及白纹伊蚊抗药性研究.pdf VIP
- T∕CBDA 69-2023 建筑装饰装修碳排放计算标准.pdf
- 国际私法(暨南大学)中国大学MOOC 慕课 章节测验 期末考试答案.docx VIP
- 金风2.5MW机组运行维护手册(1)(1).doc VIP
- YS_T 582-2023《电池级碳酸锂》.pdf VIP
- 超声波在化工领域的应用.docx VIP
- 2025-2035年人形机器人发展趋势报告.pptx VIP
- 2024心房颤动患者介入手术围术期护理专家共识.pdf VIP
- “语言文字积累与梳理”任务群解读与教学实操.pptx VIP
- 2024年成都市青羊区初三一诊(同期末考试)化学试卷及答案.pdf
文档评论(0)