DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 131|回复: 0
打印 上一主题 下一主题

H.264视频解码芯片中视频控制器的设计

[复制链接]
跳转到指定楼层
楼主
发表于 2012-1-22 00:16:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
引言
  H.264是ITU-T VCEG组织和ISO/IEC MPEG组织共同研究的新型视频压缩标准,相比其他视频压缩算法,具有压缩比高、算法复杂的特点。由于编码算法的复杂性,系统对图像解码速度和功耗要求非常严格,因此,在设计解码器时采用了H.264解码专用芯片的设计方案。对一个大的设计项目,一般采用由顶向下(TOP-DOWM)的设计方法,把各功能模块划分为子模块。视频控制器模块是芯片与显示平台的数据接口,对检验芯片设计是否成功起着重要的作用,有必要把它单独划分为一个子模块。为了提高设计的成功率,在设计初期采用了基于FPGA的原型验证。整个系统的FPGA原型验证平台如图1所示,平台分为2个部分,硬件设计和基于RISC CPU的软件解码,两部分协同工作,既可以验证软件和硬件的解码结果,又可以加速整个解码过程。           



  图3 跨时钟域信号亚稳态消除电路



  在硬件设计中的YUV、RGb信号都是用8位无符号数表示,中间变量采用12位保证精度。最后要在0"255的范围内对计算出的RGb结果进行剪裁处理,式中的幂指数和除法运算都通过移位来实现。   
数字图像缩放的算法分析
  对于一幅分辨率为M×N的原始图像,其所有采样点的YUV值可以用M×N阶矩阵表示为:



  像素点用f(m,n)表示,其中0≤m≤M,0≤n。对一幅数字图像进行缩放,其实质就是对一幅数字图像进行重采样,假定对原始数字图像高和宽进行缩放的缩放倍数分别为S1和S2,那么根据奈奎斯特采样定律,应该用新的水平与垂直采样周期740)this.width=740" border="undefined"> 对原数字图像进行重采样。得到经过缩放的数字图像f′(m′,n′):



  由上式可知,经过缩放的数字图像中的每一个重构像素f′(m′,n′)就是原来数字图像各个像素的加权和。若采用该式直接进行硬件设计,计算量会非常大。为了简化设计难度,节省芯片成本,可以在对图像品质影响不大的基础上对上式进行简化。重构后的图像像素值主要取决于两个抽样函数乘积的值。在实际中只采用

的值等于1的点,即满足的点。进一步简化,可以取,表示对数按四舍五入取整,得到简化表达式:f′(m′,n′)=f(m,n)。
数字图像格式转换与缩放的硬件实现
  设计本项目的时候,显示设备采用分辨率为1280×720的高清晰度电视机,输出到高清晰度电视机显示时采用图像中心对齐的方式。当把解码好的数字图像数据送到高清晰度电视显示时,如果不经过图像缩放处理,那么显示屏幕中间放解码好的数字图像,其他的地方用黑色填充。在进行缩放处理时,遵循上面的规律。先把视频控制器输出模块前端按照逐行扫描排列好送来的数据进行数据格式转换,再把RGb不为零(即不为黑色)的像素数据按每帧和逐行扫描规律轮流放到两块同样大小的片内缓存RAM中,如图4所示。


  其工作方式与前面的DPRAM相同,读取RAM1或RAM2中数据的地址后,可以通过地址译码器得到该点像素值的行列地址,即得到m、n的值。把m、n值送到图像缩放处理单元,通过缩放处理得到新的图像数据和新的图像数据地址,再通过写地址译码器得到在输出RAM3中按照逐行扫描格式输出的地址,该地址用来存放格式转换后的数据。最后,从存储转换数据的RAM3中可以直接输出显示所需要的RGb数据。
结语
  设计完成后,此视频控制器模块经综合工具Synplify 7.6综合,可以得到80.3MHz的工作频率。与前端的解码模块一起下载到Xilinx公司的Virtex-II 6000型FPGA中,并将其集成入H.264视频解码验证平台上,工作频率可达34MHz,在高清晰度电视上播放图像时效果较好。
                          
                       
                          
                               
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2024-11-13 00:34 , 耗时 0.082512 秒, 18 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表