CN102186082B - 基于h.264协议中对于帧内编码压缩技术的优化解码方法 - Google Patents
基于h.264协议中对于帧内编码压缩技术的优化解码方法 Download PDFInfo
- Publication number
- CN102186082B CN102186082B CN201110123141.9A CN201110123141A CN102186082B CN 102186082 B CN102186082 B CN 102186082B CN 201110123141 A CN201110123141 A CN 201110123141A CN 102186082 B CN102186082 B CN 102186082B
- Authority
- CN
- China
- Prior art keywords
- decoding
- macro block
- macro
- macro blocks
- predictive
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
基于H.264协议中对于帧内编码压缩技术的优化解码方法,本方法根据帧内预测编码原理,在解码端提出一种经过优化的解码方法。该种设计结构以节约时钟周期,简化运算单元为宗旨,对输入码流解码,还原出原图像的像素。在对两种宏块的预测编码特点及算法进行研究分析后,对过程进行化简分析,合理布局,解码时根据宏块位置以及参考像素的调用特点采取并行解码,从而达到实现准确高效的图像解码的目的。本发明的优点:1、节约时钟周期,2、可以适应实时解码响应的要求;3、简化运算单元以及电路结构,方便更新;4、采用并行解码机制,加速解码过程。
Description
技术领域
本发明是基于H.264协议中对于帧内编码压缩技术的解码部分研究。在对宏块特点和具体的编码模式特点进行分析后,针对宏块和算法进行优化,从而提出新的方案和架构。
背景技术
随着数字高清电视改造的推进和新媒体的不断涌现,视频传输对网络带宽提出了更高的要求,而目前仍处于主流应用的音视频编解码技术,由于其技术陈旧需要更新以及收费较高的原因即将退出历史舞台。H.264作为一种高性能的视频编码技术,由于其优越的视频压缩比率,使得该技术在数字视频通讯领域得到迅速的发展和应用。相比于MPE6-2和MPE6-4技术,H.264技术可以在同等图像质量下大大缩减传输过程中的数据量,从而减少带宽。
H.264之所以具有如此优越的压缩效果,主要在于其高效的编码技术,通过编码端的预测编码,可以令本来的数据量长度大大缩减。但是在此同时,复杂度和算法量却会大幅度的提高,带来了解码和编码时间的增加。因此本发明的主要目的就是保证H.264视频压缩标准高效率的压缩状态下,尽可能地降低解码端算法复杂度和运算量。
H.264的压缩预测编码主要有帧内预测和帧间预测两种,经过帧内预测编码,原来的数据可以大大缩减,便于网络的传输,本文提出了一种帧内预测的解码的方法。
发明内容
鉴于H.264帧内预测解码的优点以及对高速解码的要求,对宏块进行分解变换,以利于实现高速解码。
本方法根据帧内预测编码原理,在解码端提出一种经过优化的解码方案。该种设计结构以节约时钟周期,简化运算单元为宗旨,对输入码流解码,还原出原图像的像素。在对两种宏块的预测编码特点及算法进行研究分析后,对过程进行化简分析,合理布局,解码时根据宏块位置以及参考像素的调用特点采取并行解码,从而达到实现准确高效的图像解码的目的。
本发明的技术方案具体如下:
基于H.264协议中对于帧内编码压缩技术的优化解码方法,其特征在于:H.264帧内预测编码是以16×16和4×4两种宏块为单位完成编码的,对于图像平缓的区域采用预测模式较少的16×16宏块单位编码,对于图像变化陡峭的区域要采用预测模式较多的4×4宏块单位编码,由于16×16宏块的像素点较多,对16×16模块进行分解,将分解后得到的16个4×4模块与其他的4×4模块放到一起进行解码,这样每完成一个宏块解码,都只需花费16个时钟周期,在完成以上分解后,可以实现预测模式算法的首部化简,在新生成的4×4宏块下会产生10种新的预测模式,在将16×16予以分解后,可将其中的水平、垂直、DC模式与原4×4的预测模式进行合并,平面模式单独解码,于是可得到10种可能遇到的预测模式,对10种预测模式进行分析,在协议给定算法上化简抽象,找出共同的运算单元,最后总结出5种运算模块完成全部的解码运算;
5种抽象运算形式分别为:
Pred4×4[x,y]=A;
Pred4×4[x,y]=(A+3*B+C)>>2;
Pred4×4[x,y]=(A+2*B+C)>>2;
Pred4×4[x,y]=(A+B+C)>>1;
Plane运算即平面模式运算;
根据解码流程设计出相应的模块单元:
控制单元:完成存储器寻址以及运算单元的顺利调用、寄存器数据的更新;
运算单元:完成像素解码的相应计算;
存储单元:保存参考像素点的数值和等待更新的参考点像素值;
解码流程:
第一步:判断是否是新的宏块解码,如果是进行第二步;
第二步:是否采用帧内预测编码,如果则进行第三步;
第三步:读取预测参数值,判断临近宏块是否存在;
第四步:提取临近宏块预测模式及预测参考值;
第五步:计算宏块预测像素值,存储宏块预测像素值;
第六步:更新预测参考点值存储器;
如果需要解码的宏块使用不同的预测模式,则可以对宏块的解码进行并行处理;
具体步骤如下:
第一步:判断宏块编号,组合宏块与当前宏块的预测模式是否相同,不同则进行第二步,否则进行第三步;
第二步:将两宏块进行并行处理,调用不同的运算单元;跳转到第四步
第三步:对两宏块进行串行处理,依次对宏块进行解码;
第四步:更新块编号寄存器,接着跳回第一步继续下一次解码;
在对任何一个宏块进行解码时,都需要用左侧以及上方的像素点作为参考值,在由16个4×4宏块构成的待解码块中,为了提高解码速度,充分调用已有的硬件资源,可以考虑使用并行解码的方案,在该宏块图中,按照图中标定的编号进行解码,并行解码要注意不能调用同样的参考像素点,完成1、2号宏块的解码后,即可对3、5号宏块同时开始解码,这对宏块的解码并不存在参考像素点使用上的冲突,在此之后按照4和6、7和9、8和10、11和13、12和14的顺序同时解码,最后再对15、16号像素点解码;
在并行解码时,需要判断并行处理的宏块是否使用同一个预测模式,预测模式的选取决定了最后是否调用同一个运算单元,如果两个宏块调用了同一运算单元,则需转入串行队列,如果采用不同预测模式,则可以进行并行处理。
本发明的优点:1、节约时钟周期,2、可以适应实时解码响应的要求;3、简化运算单元以及电路结构,方便更新;4、采用并行解码机制,加速解码过程。
附图说明
图1和图2表示4×4和16×16宏块根据不同方向的预测方案;
图3表示帧内解码的流程;
图4表示组合运算单元的结构图;
图5表示帧内预测完整的结构模块图;
图6表示4×4宏块在整体待解码宏块中的解码顺序;
图7表示帧内预测解码模块中并行处理的流程。
具体实施方式
16×16的预测模式示意图如图1所示,在编码标准中存在水平、垂直、DC、平面四种预测参考模式;4×4的预测模式示意图如图2所示,存在水平、垂直、下左对角线、下右对角线、左垂直、右垂直、上水平、下水平、DC九种预测参考模式。
在将16×16予以分解后,可将其中的水平、垂直、DC模式与原4×4的预测模式进行合并,平面模式单独解码。于是可得到10种可能遇到的预测模式。
对10种预测模式进行分析,在协议给定算法上化简抽象,找出共同的运算单元,最后总结出5种运算模块完成全部的解码运算。
5种抽象运算形式分别为:
Pred4×4[x,y]=A;
Pred4×4[x,y]=(A+3*B+C)>>2;
Pred4×4[x,y]=(A+2*B+C)>>2;
Pred4×4[x,y]=(A+B+C)>>1;
Plane运算(即平面模式运算)
解码流程图如图3中所示
根据解码流程图设计出相应的模块结构(如图5):
控制单元:完成存储器寻址以及运算单元的顺利调用、寄存器数据的更新;
运算单元:完成像素解码的相应计算;
存储单元:保存参考像素点的数值和等待更新的参考点像素值。
解码运算时的并行设计方案:
在对宏块进行解码时,需要调用运算单元完成解码。由于一次解码解出的一个像素值只需调用一次运算单元,而其他的运算单元则处于闲置状态,针对宏块解码顺序特点,尝试使用并行解码方案(如图6)。
在对任何一个宏块进行解码时,都需要用左侧以及上方的像素点作为参考值,在由16个4×4宏块构成的待解码块中,为了提高解码速度,充分调用已有的硬件资源,可以考虑使用并行解码的方案。在该宏块图中,按照图中标定的编号进行解码,并行解码要注意不能调用同样的参考像素点,完成1、2号宏块的解码后,即可对3、5号宏块同时开始解码,这对宏块的解码并不存在参考像素点使用上的冲突,在此之后按照4和6、7和9、8和10、11和13、12和14的顺序同时解码,最后再对15、16号像素点解码。
在并行解码时,需要判断并行处理的宏块是否使用同一个预测模式,预测模式的选取决定了最后是否调用同一个运算单元,如果两个宏块调用了同一运算单元,则需转入串行队列,如果采用不同预测模式,则可以进行并行处理(如图7)。
Claims (1)
1.基于H.264协议中对于帧内编码压缩技术的优化解码方法,其特征在于:H.264帧内预测编码是以16×16和4×4两种宏块为单位完成编码的,对于图像平缓的区域采用预测模式较少的16×16宏块单位编码,对于图像变化陡峭的区域要采用预测模式较多的4×4宏块单位编码,由于16×16宏块的像素点较多,对16×16宏块进行分解,将分解后得到的16个4×4宏块与其他的4×4宏块放到一起进行解码,这样每完成一个宏块解码,都只需花费16个时钟周期,在完成以上分解后,能够实现预测模式算法的首部化简,在新生成的4×4宏块下会产生10种新的预测模式,在将16×16宏块予以分解后,将其中的水平、垂直、DC模式与原4×4宏块的预测模式进行合并,平面模式单独解码,于是得到10种预测模式,对10种预测模式进行分析,在协议给定算法上化简抽象,找出共同的运算单元,最后总结出5种运算模块完成全部的解码运算;
5种抽象运算形式分别为:
Pred4×4[x,y]=A;
Pred4×4[x,y]=(A+3*B+C)>>2;
Pred4×4[x,y]=(A+2*B+C)>>2;
Pred4×4[x,y]=(A+B+C)>>1;
Pred4×4[x,y]=Plane运算,
Plane运算即平面模式运算;
根据解码流程设计出相应的模块单元:
控制单元:完成存储器寻址以及运算单元的顺利调用、寄存器数据的更新;
运算单元:完成像素解码的相应计算;
存储单元:保存参考像素点的数值和等待更新的参考点像素值;
解码流程:
第(1.1)步:判断是否是新的宏块解码,如果是进行第(1.2)步;
第(1.2)步:是否采用帧内预测编码,如果是则进行第(1.3)步;
第(1.3)步:读取预测参数值,判断临近宏块是否存在;
第(1.4)步:提取临近宏块预测模式及预测参考值;
第(1.5)步:计算宏块预测像素值,存储宏块预测像素值;
第(1.6)步:更新预测参考点值存储器;
如果需要解码的宏块使用不同的预测模式,则对宏块的解码进行并行处理;具体步骤如下:
第(2.1)步:判断宏块编号,组合宏块与当前宏块的预测模式是否相同,不同则进行第(2.2)步,否则进行第(2.3)步;
第(2.2)步:将两宏块进行并行处理,调用不同的运算单元;跳转到第(2.4)步;
第(2.3)步:对两宏块进行串行处理,依次对宏块进行解码;
第(2.4)步:更新块编号寄存器,接着跳回第(1.1)步继续下一次解码;
在对任何一个宏块进行解码时,都需要用左侧以及上方的像素点作为参考值,在由16个4×4宏块构成的待解码块中,为了提高解码速度,充分调用已有的硬件资源,则使用并行解码的方案,在该宏块中,按照图中标定的编号进行解码,并行解码要注意不能调用同样的参考像素点,完成1、2号宏块的解码后,即对3、5号宏块同时开始解码,这对宏块的解码并不存在参考像素点使用上的冲突,在此之后按照4和6、7和9、8和10、11和13、12和14的顺序同时解码,最后再对15、16号像素点解码;
在并行解码时,需要判断并行处理的宏块是否使用同一个预测模式,预测模式的选取决定了最后是否调用同一个运算单元,如果两个宏块调用了同一运算单元,则需转入串行队列,如果采用不同预测模式,则进行并行处理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110123141.9A CN102186082B (zh) | 2011-05-13 | 2011-05-13 | 基于h.264协议中对于帧内编码压缩技术的优化解码方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110123141.9A CN102186082B (zh) | 2011-05-13 | 2011-05-13 | 基于h.264协议中对于帧内编码压缩技术的优化解码方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102186082A CN102186082A (zh) | 2011-09-14 |
CN102186082B true CN102186082B (zh) | 2014-04-16 |
Family
ID=44572143
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110123141.9A Expired - Fee Related CN102186082B (zh) | 2011-05-13 | 2011-05-13 | 基于h.264协议中对于帧内编码压缩技术的优化解码方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102186082B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102345475B1 (ko) * | 2016-01-05 | 2022-01-03 | 한국전자통신연구원 | 잔차 신호에 대한 예측 방법 및 장치 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101252686A (zh) * | 2008-03-20 | 2008-08-27 | 上海交通大学 | 基于交织预测的视频帧内无损编解码方法及系统 |
CN101371587A (zh) * | 2006-01-25 | 2009-02-18 | 高通股份有限公司 | 经帧内编码视频的并行解码 |
CN201282535Y (zh) * | 2008-08-18 | 2009-07-29 | 深圳市铁越电气有限公司 | H.264到avs视频码流转换装置 |
CN102025999A (zh) * | 2010-12-31 | 2011-04-20 | 北京工业大学 | 基于支持向量机的视频转码快速帧内预测方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8406297B2 (en) * | 2008-10-17 | 2013-03-26 | Futurewei Technologies, Inc. | System and method for bit-allocation in video coding |
-
2011
- 2011-05-13 CN CN201110123141.9A patent/CN102186082B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101371587A (zh) * | 2006-01-25 | 2009-02-18 | 高通股份有限公司 | 经帧内编码视频的并行解码 |
CN101252686A (zh) * | 2008-03-20 | 2008-08-27 | 上海交通大学 | 基于交织预测的视频帧内无损编解码方法及系统 |
CN201282535Y (zh) * | 2008-08-18 | 2009-07-29 | 深圳市铁越电气有限公司 | H.264到avs视频码流转换装置 |
CN102025999A (zh) * | 2010-12-31 | 2011-04-20 | 北京工业大学 | 基于支持向量机的视频转码快速帧内预测方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102186082A (zh) | 2011-09-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100586180C (zh) | 用于进行解块滤波的方法和系统 | |
CN102547296B (zh) | 移动估计加速电路、移动估计方法及环路滤波加速电路 | |
KR101941955B1 (ko) | 재귀적 블록 파티셔닝 | |
CN101472181B (zh) | 用于视频编码的可配置性能运动估计的方法、装置和系统 | |
CN107241598B (zh) | 一种针对多路h.264视频会议的GPU解码方法 | |
CN102088603B (zh) | 用于视频编码器的熵编码器及其实现方法 | |
CN102196272B (zh) | 一种p帧编码方法及装置 | |
CN110337002B (zh) | 一种在多核处理器平台上hevc多层次并行解码方法 | |
CN102148990B (zh) | 一种运动矢量预测装置和方法 | |
CN101115207B (zh) | 基于预测点间相关性的帧内预测实现的方法及装置 | |
CN107040785A (zh) | 图像解码和图像编码的方法和装置 | |
CN1589028B (zh) | 基于像素流水的帧内预测装置及预测方法 | |
CN102238383B (zh) | 用于视频编解码器的多总线体系结构 | |
CN104754337B (zh) | 视频编码方法 | |
CN104521234A (zh) | 合并去区块处理和取样自适应偏移处理的视频处理方法和装置 | |
US9554143B2 (en) | System and method for efficient multi-bitrate and multi-spatial resolution media encoding | |
CN101909212A (zh) | 可重构多媒体SoC的多标准宏块预测系统 | |
CN109391816B (zh) | 基于cpu+gpu异构平台实现hevc中熵编码环节的并行处理方法 | |
CN106231307B (zh) | 一种图像压缩帧内编码预测方法及其硬件实现 | |
CN102186082B (zh) | 基于h.264协议中对于帧内编码压缩技术的优化解码方法 | |
CN105100799A (zh) | 一种减少hevc编码器中帧内编码时延的方法 | |
CN110149512A (zh) | 帧间预测加速方法、控制装置、电子装置、计算机存储介质及设备 | |
CN108965814A (zh) | 一种基于cuda加速技术的视频混合解码渲染方法 | |
CN102595137B (zh) | 基于图像像素块行/列流水线的快速模式判决装置和方法 | |
CN104038766A (zh) | 用于以图像帧为基础执行并行视频编码的装置及其方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20140416 Termination date: 20160513 |