CN100493196C - 一种快速计算h.264视频标准中去块滤波边界强度值的方法 - Google Patents
一种快速计算h.264视频标准中去块滤波边界强度值的方法 Download PDFInfo
- Publication number
- CN100493196C CN100493196C CN 200710052847 CN200710052847A CN100493196C CN 100493196 C CN100493196 C CN 100493196C CN 200710052847 CN200710052847 CN 200710052847 CN 200710052847 A CN200710052847 A CN 200710052847A CN 100493196 C CN100493196 C CN 100493196C
- Authority
- CN
- China
- Prior art keywords
- limit
- filtering
- current
- value
- anticipation
- 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)
Abstract
本发明涉及一种快速计算H.264视频标准中去块滤波边界强度值的方法:读取滤波边两侧子块m、n的编码状态并进行如下操作:1.如果m、n子块所属宏块中至少有一个是帧内编码模式,预判当前整条滤波边16个像素点边界强度值为4或3;2.如果m、n子块在同一宏块内,且该宏块编码模式为帧间16×16、16×8或8×16时,进一步判断滤波边的位置及块信息,从而预判当前滤波边16个像素点边界强度值为0或1。经过此预判步骤后,再根据H.264标准对其进行校正,最终得到边界强度BS值;3.如果m、n子块在同一宏块内,且该宏块编码模式为帧间8×8、8×4、4×8或4×4时,以4×4块为单位,按照H.264标准计算其边界强度。
Description
技术领域
本发明涉及H.264视频标准中的去块滤波领域,特别是涉及H.264去块滤波中边界强度(Boundary Strength)值的快速计算方法。
背景技术
H.264视频标准是ITU-T国际标准组织在2005年3月正式发布的一套视频编解码标准(H.264标准书:《Joint Video Team of ITU-T and ISO/IEC Recommendation H.264:Advanced video coding for generic audiovisual services》)。
去块滤波技术是H.264标准采用的新技术之一,它的引入不仅提高了压缩效率,并且改善了图像的主观效果。但是其计算复杂度也是较高的,特别在解码器中,去块滤波的运算量大约占解码器计算总量的1/3。去块滤波操作分为2个部分:首先是计算滤波边的边界强度BS,然后根据不同的边界强度BS采用强弱不同的滤波操作。在整个去块滤波操作中,90%的运算量都集中在边界强度BS的计算上。因此,降低边界强度BS计算的复杂度是必要的,也是有实用价值的。
通过阅读H.264标准可以发现,在H.264标准中,计算每条滤波边的边界强度BS值是以像素为单位,因此一条滤波边要循环计算16次才能得出该边的所有边界强度BS值。在接下来的滤波操作中,利用计算出来的每个像素点的BS值进行不同强弱程度的滤波操作。
从上面的分析可以看出:H.264标准提出的这种计算方法没有充分利用滤波边上像素点之间的相关性,同时也没有利用H.264编码模式中大块模式所占比例较大的特性,导致很多重复的计算量,大大增加了滤波时间。
发明内容
本发明所要解决的技术问题是:提供一种快速计算去块滤波边界强度值的方法,在保证滤波图像质量不下降的情况下,能够大大减少滤波操作所耗用的时间。
本发明解决其技术问题采用以下的技术方案:一种快速计算H.264视频标准中去块滤波边界强度的方法,首先读取当前滤波边两侧子块m和n的编码模式状态(帧内模式/帧间模式),并根据其状态进行边界强度BS值的预判,然后进行修正操作,从而得到最终的边界强度值:
一、如果m和n子块分别在不同宏块内,且m、n所属的这两个宏块中至少有一个是帧内编码模式,此时预判当前整条滤波边16个像素点的边界强度BS值:BS[0]~BS[15]为4;如果m和n子块在同一宏块内,且当前宏块是帧内编码模式,此时预判当前整条滤波边16个像素点的边界强度BS值:BS[0]~BS[15]为3;
二、如果m和n子块在同一宏块内,且当前宏块编码模式为帧间16×16、16×8或者8×16时,通过进一步判断滤波边的位置及两边编码信息来预判当前滤波边的16个像素点的BS值:BS[0]~BS[15]为0或1;
从宏块的左侧的边缘开始,假设从左到右将宏块等分成4部分,将从左到右的四条边分别设为a、b、c、d;同样,从宏块的上侧边缘开始,假设从上到下将宏块等分成4部分,将从上到下的四条边分别设为e、f、g、h;
I、如果当前宏块为16×16帧间编码模式,且当前滤波边为16×16块内垂直滤波时的b、c、d边或水平滤波时的f、g、h边,此时预判当前整条滤波边16个像素点的边界强度BS值:BS[0]~BS[15]为0,然后跳转到步骤V;
II、如果当前宏块为16×8帧间编码模式,且当前滤波边为16×8块内垂直滤波时的b、c、d边或水平滤波时的f、h边,此时预判当前整条滤波边16个像素点的边界强度BS值:BS[0]~BS[15]为0,然后跳转到步骤V;
III、如果当前宏块为8×16帧间编码模式,且当前滤波边为8×16块内垂直滤波时的b、d边或水平滤波时的f、g、h边,此时预判当前整条滤波边16个像素点的边界强度BS值:BS[0]~BS[15]为0,然后跳转到步骤V;
IV、在步骤II、III情况下,如果当前滤波边为帧间16×8模式水平滤波时的g边或者为帧间8×16模式垂直滤波时的c边,此时按照H.264标准先对当前滤波边上的第一个像素点做参考帧及运动矢量的比较,从而计算出第一个像素点的BS值:BS[0],根据H.264标准,BS[0]为0或1,接下来预判g或c整条滤波边剩下的15个像素点的边界强度BS值:BS[1]~BS[15]等于BS[0],然后跳转到步骤V;
V、以4×4块为单位,按照H.264标准进行残差系数判决,如果有残差系数则将前面步骤计算得到的BS值校正为2,否则保持原判;
三、如果当前滤波边没有经历步骤一、二的预判过程,则可以知道当前宏块编码模式为帧间8×8、8×4、4×8或者4×4,此时以4×4块为单位,按照H.264标准进行边界强度BS值的计算。
经过以上的三个步骤,即完成了BS的计算,在接下来的滤波操作中可根据得到的边界强度值进行不同强弱程度的滤波。
本发明与已有技术相对照,效果是积极且明显的:适用于H.264标准中去块滤波的情况,由于考虑了边界强度BS值的提前预判策略,在推荐的不同测试序列下,较之H.264标准算法能节省约69%~75%的滤波运算时间,因此能更好的促进H.264标准在实际应用中的使用效果。
附图说明
图1为本发明提出的计算滤波强度BS流程图;
图2为帧间宏块模式中的可预判边结构图;
图3为H.264标准算法和本发明的算法的实验结果对比图。
具体实施方式
下面结合实施例对本发明作进一步说明,但不限定本发明。
实施例:
本实施例进行的是基于H.264标准的视频解码滤波过程,其流程如图1所示:
(1)读取当前滤波边两侧子块的编码模式状态,根据其编码状态(帧内模式/帧间模式)来预判边界强度BS值;
(2)如果当前滤波边在宏块边缘上即m、n子块分别属于不同的宏块,且m、n所属的这两个宏块中至少有一个是帧内编码模式,此时预判当前整条滤波边16个像素点的边界强度BS值:BS[0]~BS[15]为4,然后跳转到步骤(10);
(3)如果当前滤波边不在宏块边缘上即m、n子块在同一宏块内,且当前宏块是帧内编码模式,此时预判当前整条滤波边16个像素点的边界强度BS值:BS[0]~BS[15]为3,然后跳转到步骤(10);
(4)如果m、n子块在同一宏块内,且当前宏块为16×16的帧间模块模式时(如图2中的16×16块所示),如果当前滤波边为图2中16×16块内垂直滤波时的b、c、d边或水平滤波时的f、g、h边,此时预判当前整条滤波边16个像素点的边界强度BS值:BS[0]~BS[15]为0,然后跳转到步骤(8);
(5)如果m、n子块在同一宏块内,且当前宏块为16×8的帧间模块模式时(如图2中的16×8块所示),如果当前滤波边为图2中16×8块内垂直滤波时的b、c、d边或水平滤波时的f、h边,此时预判当前整条滤波边16个像素点的边界强度BS值:BS[0]~BS[15]为0,然后跳转到步骤(8);
(6)如果m、n子块在同一宏块内,且当前宏块为8×16的帧间模块模式时(如图2中的8×16块所示),如果当前滤波边为图2中8×16块内垂直滤波时的b、d边或水平滤波时的f、g、h边,此时预判当前整条滤波边16个像素点的边界强度BS值:BS[0]~BS[15]为0,然后跳转到步骤(8);
(7)在(5)、(6)情况下,如果当前滤波边为图2中帧间16×8模式水平滤波时的g边或者为帧间8×16模式垂直滤波时的c边时,按照H.264标准先对当前滤波边上的第一个像素点做参考帧及运动矢量的比较,从而计算出第一个像素点的BS值:根据H.264标准,BS[0]为0或1,接下来预判g或c整条滤波边剩下的15个像素点的边界强度BS值:BS[1]~BS[15]等于BS[0];
(8)经过(4)~(7)的预判后,按照H.264标准进行残差系数判决,如果有残差系数则将前面步骤计算得到的BS值校正为2,否则保持原判,然后跳转到步骤(10);
(9)如果当前滤波边没有经历(2)~(8)的预判过程,则可以知道当前宏块编码模式为帧间8×8、8×4、4×8或者4×4,此时以4×4块为单位,按照H.264标准计算得到边界强度BS值;
(10)当前滤波边BS计算完成。
实现效果:测试平台为VC6.0编译环境,Windows XP操作系统,P42.40GHz处理器,256MB内存。所选测试序列特性为长度300帧、分辩率大小为QCIF格式、编码码率为30fps、每15帧编1个I帧、量化参数为28。比较Foreman、Container、Coastguard、Mobile这4个推荐测试序列,从图3中可以看出,较之H.264标准算法,本发明使用的算法能节省约69%~75%的滤波运算时间,由此可以看出本发明提出的快速预判滤波边界强度BS值的算法相比较H.264标准算法始终处在更佳的状态。
Claims (1)
1.一种快速计算H.264视频标准中去块滤波边界强度的方法,其特征在于:首先读取当前滤波边两侧子块m和n的编码模式状态,并根据其状态进行边界强度BS值的预判,然后进行修正操作,从而得到最终的边界强度值:
一、如果m和n子块分别在不同宏块内,且m、n所属的这两个宏块中至少有一个是帧内编码模式,此时预判当前整条滤波边16个像素点的边界强度BS值:BS[0]~BS[15]为4;如果m和n子块在同一宏块内,且当前宏块是帧内编码模式,此时预判当前整条滤波边16个像素点的边界强度BS值:BS[0]~BS[15]为3;
二、如果m和n子块在同一宏块内,且当前宏块编码模式为帧间16×16、16×8或者8×16时,通过进一步判断滤波边的位置及两边编码信息来预判当前滤波边的16个像素点的BS值:BS[0]~BS[15]为0或1;
从宏块的左侧的边缘开始,假设从左到右将宏块等分成4部分,将从左到右的四条边分别设为a、b、c、d;同样,从宏块的上侧边缘开始,假设从上到下将宏块等分成4部分,将从上到下的四条边分别设为e、f、g、h;
I、如果当前宏块为16×16帧间编码模式,且当前滤波边为16×16块内垂直滤波时的b、c、d边或水平滤波时的f、g、h边,此时预判当前整条滤波边16个像素点的边界强度BS值:BS[0]~BS[15]为0,然后跳转到步骤V;
II、如果当前宏块为16×8帧间编码模式,且当前滤波边为16×8块内垂直滤波时的b、c、d边或水平滤波时的f、h边,此时预判当前整条滤波边16个像素点的边界强度BS值:BS[0]~BS[15]为0,然后跳转到步骤V;
III、如果当前宏块为8×16帧间编码模式,且当前滤波边为8×16块内垂直滤波时的b、d边或水平滤波时的f、g、h边,此时预判当前整条滤波边16个像素点的边界强度BS值:BS[0]~BS[15]为0,然后跳转到步骤V;
IV、在步骤II、III情况下,如果当前滤波边为帧间16×8模式水平滤波时的g边或者为帧间8×16模式垂直滤波时的c边,此时按照H.264标准先对当前滤波边上的第一个像素点做参考帧及运动矢量的比较,从而计算出第一个像素点的BS值:BS[0],根据H.264标准,BS[0]为0或1,接下来预判g或c整条滤波边剩下的15个像素点的边界强度BS值:BS[1]~BS[15]等于BS[0],然后跳转到步骤V;
V、以4×4块为单位,按照H.264标准进行残差系数判决,如果有残差系数则将前面步骤计算得到的BS值校正为2,否则保持原判;
三、如果当前滤波边没有经历步骤一、二的预判过程,则可以知道当前宏块编码模式为帧间8×8、8×4、4×8或者4×4,此时以4×4块为单位,按照H.264标准进行边界强度BS值的计算。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200710052847 CN100493196C (zh) | 2007-07-27 | 2007-07-27 | 一种快速计算h.264视频标准中去块滤波边界强度值的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200710052847 CN100493196C (zh) | 2007-07-27 | 2007-07-27 | 一种快速计算h.264视频标准中去块滤波边界强度值的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101106713A CN101106713A (zh) | 2008-01-16 |
CN100493196C true CN100493196C (zh) | 2009-05-27 |
Family
ID=39000348
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200710052847 Expired - Fee Related CN100493196C (zh) | 2007-07-27 | 2007-07-27 | 一种快速计算h.264视频标准中去块滤波边界强度值的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100493196C (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101742278B (zh) * | 2008-11-12 | 2012-11-07 | 富士通半导体股份有限公司 | 获取图像的运动矢量和边界强度的方法和系统 |
CN101567964B (zh) * | 2009-05-15 | 2011-11-23 | 南通大学 | 一种低码率视频应用中的预处理降噪去块效应方法 |
CN102196257B (zh) * | 2010-03-11 | 2014-02-12 | 中国科学院微电子研究所 | 一种宏块编码模式预先判定方法及装置 |
CN101841722B (zh) * | 2010-06-08 | 2011-08-31 | 上海交通大学 | 滤波边界强度的检测装置的检测方法 |
CN102316318B (zh) * | 2010-07-07 | 2013-07-03 | 中国科学院微电子研究所 | 一种基于h.264标准的去块滤波边界强度计算装置及方法 |
CN101924938B (zh) * | 2010-08-11 | 2012-09-05 | 上海交通大学 | 视频解码宏块预测与边界滤波中相邻块信息的处理方法 |
KR102219231B1 (ko) * | 2011-09-20 | 2021-02-23 | 엘지전자 주식회사 | 영상 정보 인코딩/디코딩 방법 및 장치 |
US9167269B2 (en) | 2011-10-25 | 2015-10-20 | Qualcomm Incorporated | Determining boundary strength values for deblocking filtering for video coding |
WO2013064047A1 (en) * | 2011-10-31 | 2013-05-10 | Mediatek Singapore Pte. Ltd. | Method and apparatus of deblocking filter with simplified boundary strength decision |
CN106911934B (zh) * | 2017-03-01 | 2020-03-03 | 北京奇艺世纪科技有限公司 | 块效应去除方法及去块效应滤波器 |
-
2007
- 2007-07-27 CN CN 200710052847 patent/CN100493196C/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN101106713A (zh) | 2008-01-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100493196C (zh) | 一种快速计算h.264视频标准中去块滤波边界强度值的方法 | |
CN101371585B (zh) | 提供用于多视图视频编码的提供降低分辨率的更新模式的方法和装置 | |
CN102090062B (zh) | 用于位移帧内预测和模板匹配的去块滤波 | |
CN102687511B (zh) | 运动信息的自适应编解码的方法和装置 | |
CN101711481B (zh) | 使用预测数据精选进行视频编码的方法和装置 | |
CN101371584B (zh) | 提供用于多视图视频编码的降低分辨率的更新模式的方法和装置 | |
KR101681443B1 (ko) | 기하학적으로 분할된 수퍼 블록들의 비디오 인코딩 및 디코딩 방법 및 장치 | |
CN101578874B (zh) | 用于减少多视图编码视频中的照度补偿和/或色彩补偿的编码伪像的方法和装置 | |
CN107027029A (zh) | 基于帧率变换的高性能视频编码改进方法 | |
JP5805097B2 (ja) | 映像符号化及び復号化のためのdcイントラ予測モードのための方法及び装置 | |
CN109076237A (zh) | 在视频和图像压缩中使用帧内预测滤波器的帧内预测模式的方法和装置 | |
CN102595140B (zh) | 基于图像修复和矢量预测算子的帧内预测视频编码方法 | |
KR101390620B1 (ko) | 비디오 인코딩을 위한 전력 효율적인 움직임 추정 기법 | |
CN101494792A (zh) | 一种基于边缘特征的h.264/avc帧内预测方法 | |
CN102196256A (zh) | 一种视频编码方法及装置 | |
CN103141096A (zh) | 自适应滤波方法和设备 | |
CN101742288B (zh) | 视频降噪编码方法和视频降噪编码装置 | |
CN104113765A (zh) | 一种视频编、解码方法和装置 | |
CN102196272B (zh) | 一种p帧编码方法及装置 | |
CN101742290B (zh) | 视频编、解码降噪方法和视频编、解码降噪装置 | |
CN105791865A (zh) | 帧内预测及去块滤波方法 | |
CN102196253B (zh) | 一种帧类型自适应选择的视频编码方法及装置 | |
Yang et al. | A block-matching based intra frame prediction for H. 264/AVC | |
CN102316318B (zh) | 一种基于h.264标准的去块滤波边界强度计算装置及方法 | |
CN102196258B (zh) | 一种i帧编码方法及装置 |
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 | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090527 Termination date: 20130727 |