[发明专利]一种基于AVS的帧内预测计算的硬件实现方法无效
申请号: | 200710030698.1 | 申请日: | 2007-09-30 |
公开(公告)号: | CN101141646A | 公开(公告)日: | 2008-03-12 |
发明(设计)人: | 易清明;李松;石敏 | 申请(专利权)人: | 暨南大学 |
主分类号: | H04N7/32 | 分类号: | H04N7/32;H04N7/26 |
代理公司: | 广州粤高专利代理有限公司 | 代理人: | 何淑珍 |
地址: | 510632广*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 avs 预测 计算 硬件 实现 方法 | ||
技术领域
本发明为一种帧内预测计算的硬件实现方法,适用于AVS解码器的帧内预测模块。支持AVS标准的高清晰的实时视频解码器芯片可用于数字电视、手机视讯会议以及手机彩信业务、视频PDA、PSP视频游戏机和MP4等。
背景技术
AVS(Audio Video coding Standard)标准是基于我国自主创新技术和国际公开技术所构建的视音频编解码压缩标准。AVS解码器的解码过程如下:码流进入解码器之后会进行码流分割,根据码流的语法和语义分割出相关的信息,然后进行熵解码、反量化和反DCT变换,从而得出所需要的残差矩阵ResidueMatrix,码流分割出的其他码流进行帧内预测或者帧间预测,通过参考帧预测出预测矩阵PredMatrix,然后把预测矩阵和残差矩阵相加,得到解码的矩阵DecodeMatrix,经过滤波之后得到最终的解码宏块和解码帧。AVS视频图像解码框图如图1所示。
AVS中的亮度和色度帧内预测均采用以8X8大小的块为单位进行预测,有5种亮度预测模式(DC、水平、垂直、左下和右下)和4种色度预测模式(DC、水平、垂直和平板)。通过当前8X8宏块左边和上边的相邻像素块进行预测,在编码时只对参考的宏块与当前宏块的残差进行编码,由于残差值远远少于宏块实际的像素值,所以大大降低了传输所需要的码字,实现了对图像的压缩。在解码端,当前宏块利用已经重建的左边和上边的相邻宏块和不同的预测模式来预测像素值矩阵(PredMatrix),然后加上解码出的残差矩阵(ResidueMatrix)重建出当前宏块的像素矩阵(RecMatrix)。AVS的帧内预测以8X8块为单位,通过上方的16个参考样本点和左边的16个参考样本点和不同的帧内预测模式来预测出当前8X8块的像素值,示意图如图2所示。
在进行帧内预测模块的硬件设计时,帧内预测的数据流主要分为三部分进行处理,即预测模式以及参考样本的获取、读取RAM的地址计算和帧内预测亮度块和色度块的计算。并且有一个帧内预测模块专有的存储RAM来提供参考的样本值。帧内预测模块的简要工作过程为:首先是一个预测计算的预处理,包括预测模式IntraPredMode的选择和参考样本c[i],r[i](0...16)的获取,通过码流分割后的信息和读取RAM中存储的参考样本计算出当前8X8宏块帧内预测的模式IntraPredMode和计算PredMatrix所需要的参考样本点c[i],r[i](0...16),然后根据帧内预测的模式IntraPredMode和参考样本点c[i],r[i](0...16)在计算模块PredIntraCal中计算出PredMatrix,最后预测像素矩阵PredMatrix跟IDCT/IQ模块送过来的残差矩阵ResidueMatrix相加得出最终的矩阵RecMatrix,并保存到RAM中以供其它帧参考。计算模块中PredMatrix的计算采用8条分支并行的计算方式,每个时钟周期计算宏块的一行像素值,在8个时钟周期内完成对整个8X8宏块的预测计算。
AVS视频压缩标准采用的是基于8X8块的帧内预测模式,一共有5种亮度块预测模式和4种色度块预测模式。在AVS视频压缩标准中,对亮度块的5种帧内预测模式和色度块的4种帧内预测模式的计算方法分别进行了详细的描述。由上述的标准对各种预测模式的描述可知,帧内预测计算主要由加法,移位和乘法运算组成。由于时钟频率和乘法运算特性的限制,加法和移位都可以在一个时钟周期完成,而乘法需要由二个时钟才能完成。因此在设计时把所有的乘法全部由移位来代替,减少了运算的时间和计算单元。对于一个8X8的块,有64个像素点需要预测,如果采用顺序计算的方法,显然很难满足译码速率的要求,因此采用8条分支并行执行的方式进行计算。由于均采用加法和移位来完成运算,所以一个8X8宏块计算完成需要8个时钟周期。
帧内预测计算各个模块及其各个分支的主要单元就是ADDR3221加法运算单元,ADDR3221(a,b,c)=(a+2b+c+2)>>2。在一些参考文献中,对于此类加法主要有以下二种设计方式:
ADDR3221(a,b,c)=((a+b)+(b+c)+2)>>2(1)
ADDR3221(a,b,c)=((a+b<<1)+(c+2))>>2(2)
上述二种方法都是采用加法和移位计算来进行ADDR3221的计算,第一种是通过分拆2b为b+b来代替乘法运算,第二种是用移位来代替2b的乘法运算。硬件结构图如图3所示。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于暨南大学,未经暨南大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200710030698.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:烟气排放在线连续检测系统采样装置
- 下一篇:虎颜花的组织培养繁殖方法