基于h.264协议中对于帧内编码压缩技术的优化解码方法

文档序号:7664756阅读:151来源:国知局
专利名称:基于h.264协议中对于帧内编码压缩技术的优化解码方法
技术领域
本发明是基于H. 264协议中对于帧内编码压缩技术的解码部分研究。在对宏块特点和具体的编码模式特点进行分析后,针对宏块和算法进行优化,从而提出新的方案和架构。
背景技术
随着数字高清电视改造的推进和新媒体的不断涌现,视频传输对网络带宽提出了更高的要求,而目前仍处于主流应用的音视频编解码技术,由于其技术陈旧需要更新以及收费较高的原因即将退出历史舞台。H. 264作为一种高性能的视频编码技术,由于其优越的视频压缩比率,使得该技术在数字视频通讯领域得到迅速的发展和应用。相比于MPE6-2 和MPE6-4技术,H. 264技术可以在同等图像质量下大大缩减传输过程中的数据量,从而减少带宽。
H. 264之所以具有如此优越的压缩效果,主要在于其高效的编码技术,通过编码端的预测编码,可以令本来的数据量长度大大缩减。但是在此同时,复杂度和算法量却会大幅度的提高,带来了解码和编码时间的增加。因此本发明的主要目的就是保证H. 264视频压缩标准高效率的压缩状态下,尽可能地降低解码端算法复杂度和运算量。
H. 264的压缩预测编码主要有帧内预测和帧间预测两种,经过帧内预测编码,原来的数据可以大大缩减,便于网络的传输,本文提出了一种帧内预测的解码的方法。

发明内容
鉴于H. 264帧内预测解码的优点以及对高速解码的要求,对宏块进行分解变换, 以利于实现高速解码。
本方法根据帧内预测编码原理,在解码端提出一种经过优化的解码方案。该种设计结构以节约时钟周期,简化运算单元为宗旨,对输入码流解码,还原出原图像的像素。在对两种宏块的预测编码特点及算法进行研究分析后,对过程进行化简分析,合理布局,解码时根据宏块位置以及参考像素的调用特点采取并行解码,从而达到实现准确高效的图像解码的目的。
本发明的技术方案具体如下 基于H. 264协议中对于帧内编码压缩技术的优化解码方法,其特征在于H.264 帧内预测编码是以16X16和4X4两种宏块为单位完成编码的,对于图像平缓的区域采用预测模式较少的16X16宏块单位编码,对于图像变化陡峭的区域要采用预测模式较多的 4X4宏块单位编码,由于16X 16宏块的像素点较多,对16X 16模块进行分解,将分解后得到的16个4X4模块与其他的4X4模块放到一起进行解码,这样每完成一个宏块解码,都只需花费16个时钟周期,在完成以上分解后,可以实现预测模式算法的首部化简,在新生成的4X4宏块下会产生10种新的预测模式,在将16X16予以分解后,可将其中的水平、垂直、DC模式与原4X4的预测模式进行合并,平面模式单独解码,于是可得到10种可能遇到的预测模式,对10种预测模式进行分析,在协议给定算法上化简抽象,找出共同的运算单元,最后总结出5种运算模块完成全部的解码运算; 5种抽象运算形式分别为 Pred4X4[x, y] = A ; Pred4X4[x, y] = (A+3*B+C) >> 2 ; Pred4X4[x, y] = (A+2*B+C) >> 2 ; Pred4X4[x, y] = (A+B+C) >> 1 ; Plane运算即平面模式运算; 根据解码流程设计出相应的模块单元 控制单元完成存储器寻址以及运算单元的顺利调用、寄存器数据的更新; 运算单元完成像素解码的相应计算; 存储单元保存参考像素点的数值和等待更新的参考点像素值; 解码流程 第一步判断是否是新的宏块解码,如果是进行第二步; 第二步是否采用帧内预测编码,如果则进行第三步; 第三步读取预测参数值,判断临近宏块是否存在; 第四步提取临近宏块预测模式及预测参考值; 第五步计算宏块预测像素值,存储宏块预测像素值; 第六步更新预测参考点值存储器; 如果需要解码的宏块使用不同的预测模式,则可以对宏块的解码进行并行处理; 具体步骤如下 第一步判断宏块编号,组合宏块与当前宏块的预测模式是否相同,不同则进行第二步,否则进行第三步; 第二步将两宏块进行并行处理,调用不同的运算单元;跳转到第四步 第三步对两宏块进行串行处理,依次对宏块进行解码; 第四步更新块编号寄存器,接着跳回第一步继续下一次解码; 在对任何一个宏块进行解码时,都需要用左侧以及上方的像素点作为参考值,在由16个4X4宏块构成的待解码块中,为了提高解码速度,充分调用已有的硬件资源,可以考虑使用并行解码的方案,在该宏块图中,按照图中标定的编号进行解码,并行解码要注意不能调用同样的参考像素点,完成1、2号宏块的解码后,即可对3、5号宏块同时开始解码, 这对宏块的解码并不存在参考像素点使用上的冲突,在此之后按照4和6、7和9、8和10、11 和13、12和14的顺序同时解码,最后再对15、16号像素点解码; 在并行解码时,需要判断并行处理的宏块是否使用同一个预测模式,预测模式的选取决定了最后是否调用同一个运算单元,如果两个宏块调用了同一运算单元,则需转入串行队列,如果采用不同预测模式,则可以进行并行处理。
本发明的优点1、节约时钟周期,2、可以适应实时解码响应的要求;3、简化运算单元以及电路结构,方便更新;4、采用并行解码机制,加速解码过程。


图1和图2表示4X4和16X 16宏块根据不同方向的预测方案; 图3表示帧内解码的流程; 图4表示组合运算单元的结构图; 图5表示帧内预测完整的结构模块图; 图6表示4 X 4宏块在整体待解码宏块中的解码顺序; 图7表示帧内预测解码模块中并行处理的流程。
具体实施例方式16X16的预测模式示意图如图1所示,在编码标准中存在水平、垂直、DC、平面四种预测参考模式;4X4的预测模式示意图如图2所示,存在水平、垂直、下左对角线、下右对角线、左垂直、右垂直、上水平、下水平、DC九种预测参考模式。
在将16X16予以分解后,可将其中的水平、垂直、DC模式与原4X4的预测模式进行合并,平面模式单独解码。于是可得到10种可能遇到的预测模式。
对10种预测模式进行分析,在协议给定算法上化简抽象,找出共同的运算单元, 最后总结出5种运算模块完成全部的解码运算。
5种抽象运算形式分别为 Pred4X4[x, y] = A ; Pred4X4[x, y] = (A+3*B+C) >> 2 ; Pred4X4[x, y] = (A+2*B+C) >> 2 ; Pred4X4[x, y] = (A+B+C) >> 1 ; Plane运算(即平面模式运算) 解码流程图如图3中所示 根据解码流程图设计出相应的模块结构(如图5) 控制单元完成存储器寻址以及运算单元的顺利调用、寄存器数据的更新; 运算单元完成像素解码的相应计算; 存储单元保存参考像素点的数值和等待更新的参考点像素值。
解码运算时的并行设计方案 在对宏块进行解码时,需要调用运算单元完成解码。由于一次解码解出的一个像素值只需调用一次运算单元,而其他的运算单元则处于闲置状态,针对宏块解码顺序特点, 尝试使用并行解码方案(如图6)。
在对任何一个宏块进行解码时,都需要用左侧以及上方的像素点作为参考值,在由16个4X4宏块构成的待解码块中,为了提高解码速度,充分调用已有的硬件资源,可以考虑使用并行解码的方案。在该宏块图中,按照图中标定的编号进行解码,并行解码要注意不能调用同样的参考像素点,完成1、2号宏块的解码后,即可对3、5号宏块同时开始解码, 这对宏块的解码并不存在参考像素点使用上的冲突,在此之后按照4和6、7和9、8和10、11 和13、12和14的顺序同时解码,最后再对15、16号像素点解码。
在并行解码时,需要判断并行处理的宏块是否使用同一个预测模式,预测模式的选取决定了最后是否调用同一个运算单元,如果两个宏块调用了同一运算单元,则需转入串行队列,如果采用不同预测模式,则可以进行并行处理(如图7)。
权利要求
1.基于H. 264协议中对于帧内编码压缩技术的优化解码方法,其特征在于H. 264帧内预测编码是以16X16和4X4两种宏块为单位完成编码的,对于图像平缓的区域采用预测模式较少的16X16宏块单位编码,对于图像变化陡峭的区域要采用预测模式较多的4X4 宏块单位编码,由于16X16宏块的像素点较多,对16X16模块进行分解,将分解后得到的 16个4X4模块与其他的4X4模块放到一起进行解码,这样每完成一个宏块解码,都只需花费16个时钟周期,在完成以上分解后,可以实现预测模式算法的首部化简,在新生成的 4X4宏块下会产生10种新的预测模式,在将16X16予以分解后,可将其中的水平、垂直、DC 模式与原4X4的预测模式进行合并,平面模式单独解码,于是可得到10种可能遇到的预测模式,对10种预测模式进行分析,在协议给定算法上化简抽象,找出共同的运算单元,最后总结出5种运算模块完成全部的解码运算; 5种抽象运算形式分别为 Pred4X4[x, y] = A ; Pred4X4[x, y] = (A+3*B+C) >> 2 ; Pred4X4[x, y] = (A+2*B+C) >> 2 ; Pred4X4[x, y] = (A+B+C) >> 1 ; Plane运算即平面模式运算; 根据解码流程设计出相应的模块单元控制单元完成存储器寻址以及运算单元的顺利调用、寄存器数据的更新; 运算单元完成像素解码的相应计算;存储单元保存参考像素点的数值和等待更新的参考点像素值; 解码流程第一步判断是否是新的宏块解码,如果是进行第二步; 第二步是否采用帧内预测编码,如果则进行第三步; 第三步读取预测参数值,判断临近宏块是否存在; 第四步提取临近宏块预测模式及预测参考值; 第五步计算宏块预测像素值,存储宏块预测像素值; 第六步更新预测参考点值存储器;如果需要解码的宏块使用不同的预测模式,则可以对宏块的解码进行并行处理;具体步骤如下第一步判断宏块编号,组合宏块与当前宏块的预测模式是否相同,不同则进行第二步,否则进行第三步;第二步将两宏块进行并行处理,调用不同的运算单元;跳转到第四步第三步对两宏块进行串行处理,依次对宏块进行解码; 第四步更新块编号寄存器,接着跳回第一步继续下一次解码; 在对任何一个宏块进行解码时,都需要用左侧以及上方的像素点作为参考值,在由16 个4X4宏块构成的待解码块中,为了提高解码速度,充分调用已有的硬件资源,可以考虑使用并行解码的方案,在该宏块图中,按照图中标定的编号进行解码,并行解码要注意不能调用同样的参考像素点,完成1、2号宏块的解码后,即可对3、5号宏块同时开始解码,这对宏块的解码并不存在参考像素点使用上的冲突,在此之后按照4和6、7和9、8和10、11和,13、12和14的顺序同时解码,最后再对15、16号像素点解码;在并行解码时,需要判断并行处理的宏块是否使用同一个预测模式,预测模式的选取决定了最后是否调用同一个运算单元,如果两个宏块调用了同一运算单元,则需转入串行队列,如果采用不同预测模式,则可以进行并行处理。
全文摘要
基于H.264协议中对于帧内编码压缩技术的优化解码方法,本方法根据帧内预测编码原理,在解码端提出一种经过优化的解码方法。该种设计结构以节约时钟周期,简化运算单元为宗旨,对输入码流解码,还原出原图像的像素。在对两种宏块的预测编码特点及算法进行研究分析后,对过程进行化简分析,合理布局,解码时根据宏块位置以及参考像素的调用特点采取并行解码,从而达到实现准确高效的图像解码的目的。本发明的优点1、节约时钟周期;2、可以适应实时解码响应的要求;3、简化运算单元以及电路结构,方便更新;4、采用并行解码机制,加速解码过程。
文档编号H04N7/32GK102186082SQ20111012314
公开日2011年9月14日 申请日期2011年5月13日 优先权日2011年5月13日
发明者王进祥, 车文斌, 陈达燕, 李彩云, 刘英哲, 徐伟哲, 许旌阳 申请人:哈尔滨工业大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1