基于图像块编码信息的智能滤波器设计方法

文档序号:7743652阅读:231来源:国知局
专利名称:基于图像块编码信息的智能滤波器设计方法
技术领域
本发明涉及视频压縮技术领域,尤其涉及用于运动估计补偿中的滤波器。
背景技术
运动补偿预测(MCP)是视频压縮标准中为了减少编码比特率而采用的技术。在 MCP中,通过对参考一个或几个已编码帧来预测当前帧,并仅将与原始帧的误差和预测信号 进行编码并传输给解码端。首先将帧划分为块,然后在参考帧中查找最佳匹配块而得到预 测信号,从而获得了当前编码块相对于参考帧的运动信息,然后将运动矢量作为运动信息 编码成比特流。这样解码端就能利用嵌入在比特流中的运动矢量进行解码,从而能够准确 地进行重构图像。 运动矢量并不只是整像素精度,也包含分数像素精度,也就是说,运动矢量能够指 向参考图像中的分数像素点的位置。为了获取分数像素点的位置,在MCP过程中采用插值 滤波器。目前的视频编码(VCEG)标准中描述了解码端如何通过插值滤波器来获得分数像 素精度的采样点。在H.264/AVC视频编码标准中,所支持的运动矢量达到1/4像素精度。 在H. 264/AVC中,通过采用对称可分离6抽头滤波器来获取1/2像素点,再对最近处的1/2 像素点和整像素点进行双线性插值来获取1/4像素点。对每个帧自适应改变插值滤波器的 系数能够更加准确地获取视频信号的非平稳特性,但该方法需要将滤波器系数作为边缘信 息传输到解码端。在视频编码中采用自适应插值滤波器已经被国际电信联盟电信标准部分 (ITU-T)视频编码专家组核心技术领域(VCEG-KTA)作为参考视频编码软件采用。VCEG-KTA 中采用自的适应插值滤波器,在编码端需要对每个帧进行两次编码步骤首先,采用H. 264 标准的插值滤波器进行运动预测;然后,对每个分数像素点采用独立的滤波器,通过最小预 测误差能量原则来计算获取每个滤波器的系数。 在分像素自适应插值滤波器中,都是条带级或帧级自适应插值滤波器,其滤波器 系数由编码器对当前帧(条带)和参考帧(条带)训练得到,即对于整幅图像(条带)采 用相同的一组插值系数。这相当于采用当前帧和重构帧相关性来获得滤波器系数,而同一 帧中纹理变化剧烈的区域中的块和纹理变化缓慢的区域中的块的相关性差异很大,显然对 整个条带或整帧采用相同的一组插值系数是不合适的。 一般来说,采用相近模式的块具有 相近的纹理特性和运动特性。 自适应插值滤波技术中,对每一个分像素位置定义了相应的插值方式。在这些自 适应分像素插值技术中,例如在分像素a, d, c位置,定义了相同阶数的插值滤波器,而在获 取每个滤波器的系数之前,已经通过H. 264标准的插值滤波器进行运动预测获得每个块的 运动矢量。则可以根据运动矢量对应的位置来获得图像的纹理信息。如果MVx的小数部分 为1/4、3/4,说明图像水平方向纹理变化比较剧烈,应在水平方向采用频带较宽即阶次较高 的维纳滤波器。如果MVx的小数部分为1/2,说明图像水平方向纹理变化比较缓慢,应在水 平方向采用频带较窄即阶次较低的维纳滤波器。显然,仅仅根据分像素空间位置不同来定 义不同的插值滤波器是不准确的。

发明内容
本发明的目的是针对已有插值滤波器的不足,提出一种基于图像块编码信息的智 能滤波器设计方法,可以降低插值的复杂度,提高编码性能。 本发明采用的技术方案是视频编码器将图片划分为多个数据块,每个数据块采 用标准插值滤波器进行运动估计补偿,获得包括编码模式和运动矢量的数据块编码信息, 运动矢量指向图片分像素空间位置;对数据块进行分类,根据数据块的编码模式判决数据 块类型,对不同类型的数据块通过编码器训练得到分像素插值滤波系数并进行运动估计补 偿,以率失真代价最小为依据在不同滤波器之间进行选择;根据分像素空间位置所对应的 运动矢量的小数精度来定义不同的插值方法从而定义不同的自适应滤波器阶次;视频解码 器根据数据块信息和分像素插值滤波器系数信息,对运动矢量指向分像素空间位置采用不 同的滤波器对其参考图像进行内插。
本发明的有益效果是 1、在参考图片的像素上操作的插值滤波器根据数据块的运动矢量指向分像素空 间位置而定,从而减少了计算复杂度。 2、将图像块按模式进行智能识别,分别训练得到不同类型块的自适应插值滤波器 系数,提高了编码性能,对变化剧烈的视频序列编码性能有明显提高。


图1为现有技术中对1/4精度插值的整像素和分像素位置示意图。 图2为运动矢量指向分像素位置示意图。 图3为本发明智能滤波器设计流程图。 图4为本发明智能滤波视频编码器功能模块图。 图5为本发明智能滤波视频解码器功能模块图。
具体实施例方式
如图l,本发明在视频编码器的视频序列编码过程中,视频序列包括多个图片,其 中图片被划分为条,每个条被划分为多个数据块,以数据块为单位,每个数据块使用采用 H. 264标准的插值滤波器进行运动估计补偿,获得数据块的编码信息,包括编码模式,运动 矢量和预测差值。其中,运动矢量指向分像素空间位置。 在编码过程中,对数据块进行智能分类,根据数据块的编码模式,对数据块类型进 行判决,对不同类型的数据块通过编码器训练得到分像素插值滤波系数,每个数据块使用 训练得到的插值滤波器进行运动估计,并以率失真代价最小为依据在不同滤波器之间进行 选择,优先的,两组插值滤波系数更能反映图像数据块本身的特性,提高编码性能。编码过 程中在每帧帧头或条带头传输类型信息以及相应类型的分像素插值系数,在每个宏块头传 输运动矢量信息。 视频解码器在解码过程中,根据已编码比特流中的数据块信息和滤波器系数信 息,对不同类型的数据块采用不同的系数来对其参考图像进行内插,即对运动矢量指向分 像素空间位置采用不同的滤波器对其参考图像进行内插。
在编码过程中,为了降低插值的复杂度,在参考图片的像素上操作的插值滤波器 根据数据块的运动矢量指向分像素空间位置而定,根据分像素空间位置所对应的运动矢量 的小数精度来定义不同的插值方法,从而定义不同的自适应滤波器阶次。对图片的亮度分 量和色度分量都可以运用分像素值插值。例如亮度分量中的分像素插值,通过运动估计补 偿获得的运动矢量MV,其水平部分MVx和垂直部分MVy小数部分分别有四种情况0、l/4、 l/2、3/4。分别对应(O,O)、 (1/4,0)、 (1/2,0)、 (3/4,0)、 (0,1/4)、 (1/4,1/4)、 (1/2,1/4)、 (1/4, 3/4) 、 (0, 1/2) 、 (1/2, 1/2) 、 (1/4, 1/2) 、 (3/4, 1/2) 、 (0, 3/4) 、 (1/2, 3/4) 、 (3/4, 1/4)、 (3/4,3/4)共16个位置,其中(0,0)对应的是整像素位置,其它15个为分像素位置。图2 示出了上述位置与现有技术插值分像素位置的对应关系。对整像素不需要进行内插。按下 述方法对15个分像素位置定义不同的插值滤波器对水平位置为0的分像素仅对垂直方向 插值滤波;对水平位置为1/4和3/4的分像素对水平方向采用6阶插值滤波;对水平位置 为1/2的分像素对水平方向采用4阶插值滤波。同样,对垂直位置为0的分像素仅对水平 方向插值滤波;对垂直位置为1/4和3/4的分像素对垂直方向采用6阶插值滤波;对垂直位 置为1/2的分像素对垂直方向采用4阶插值滤波。优先的,在水平和垂直为1/2位置分像 素上操作的插值滤波器更短。具体是 结合图l和图2,分像素a对应MV的小数值为(1/4,0),表明分像素a水平为1/4 像素精度,垂直为整像素精度。类似地,分像素c对应MV的小数值为(3/4,0),对分像素a, c采用水平6阶自适应插值滤波。分像素b对应MV的小数值为(1/2,0),表明分像素b水 平为1/2像素精度,垂直为整像素精度。对分像素b采用水平4阶自适应插值滤波。
a,c,b点的插值
a = [Cl hla+C2 h2a+C3 h3a+C4 h4a+C5 h5a+C6 h6a+128] >> 8 c = [CI h6c+C2 h5c+C3 h4c+C4 h3c+C5 h2c+C6 hlc+128] >> 8 b = [(C2+C3) hlb+(C4+C5) h2b+128] >> 8 类似地,其余分像素的插值具体如下 d, h, 1点插值:

















h3e+D4 h4o+D4 h3g+D3
h4e+E5 h3o+E5 h4g+E2
h5e+F6 h2o+F6 h5g+Fl
d = [A3 hld+B3 h2d+C3 h3d+D3 h4d+E3 h5d+F3 h = [(B3+C3) hld+(D3+E3) h2d+128] >> 8 1 = [A3 h61+B3 h51+C3 h41+D3 h31+E3 h21+F3 g,m点的插值 [Al hle+B2 h2e+C3 [Al h6。+B2 h5。+C3 [A6 hlg+B5 h2g+C4 [A6 h6m+B5 h5ni+C4 j,k,n点的插值 >> 8 i = [(A1+B1) 'hu+(B2+E2) h2i+(C3+D3) + (B5+E5) *h5i+(A6+F6) h6i+128] >> 8 j = [ (B2+B5) hu+ (C3+C5) h2j+ (D3+D4)
h6d+128] >> 8
hu+128] >> 8
o,
g m f,
f
h4nl+D3 h加+E2 h加+Fl
h6e+128] hl0+128] h6g+128] hlm+128]
>> 8 >> 8 >> 8 >> 8
hw+ (D3+D4) h4
K.+ (C4+D4) h4
h3j+(E2+E5) h4i+128] >> 8
4j
5<formula>formula see original document page 6</formula>
为了提高编码性能,对分像素{f, i, j, k, n}定义了另一组插值滤波器,和第一组阶次相同,但对角方向频带较宽的滤波器组,如下<formula>formula see original document page 6</formula>
以运动估计补偿的最小残差为判据对分像素{f, i, j, k, n}在两组滤波器中进行增强选择,优先的,在水平和垂直为1/2位置分像素上操作的插值滤波器更短。
图3所示,本发明智能滤波器的设计步骤为 步骤310 :视频编码器用H. 264标准进行第一遍编码,划分数据块; 步骤320 :视频编码器对数据块进行智能分类,利用数据块的编码信息确定数据
块的类型; 步骤330 :对于帧内编码模式的数据块不进行训练,对于数据块的编码模式为16*16, 16*8, 8*16定义为第一类,对于数据块的编码模式为8*8, 8*4, 4*4, 4*4定义为第二类; 步骤340 :如果数据块的编码模式属于第一类,该数据块进入第1训练器;
步骤342 :第1自适应滤波器系数由编码器对属于第一类的块训练得到;
步骤346 :使用第1自适应滤波器对重构帧进行插值,得到第1参考帧;
步骤348 :接下来对该类数据块采用第1参考帧进行运功估计;
步骤350 :如果数据块的编码模式属于第二类,该数据块进入第2训练器;
步骤352 :第2自适应其滤波器系数由编码器对属于第二类的块训练得到;
步骤354 :使用第2自适应滤波器对重构帧进行插值,得到第2参考帧;
步骤356 :对该类数据块采用第2参考帧进行运功估计。 在本发明中,第1训练器和第2训练器的运算量和目前的自适应插值滤波技术相比并不增加。将图像块按模式进行智能识别,分别训练得到不同类型块的自适应插值滤波器系数,使编码性能得到提高。 下面将更加详细的描述滤波器系数的训练形成。对于同一类数据块,根据该数据块运动矢量所指向的分像素空间位置,以及上述相应分像素定义的滤波器,针对插值所需的整像素,例如对于分像素a,所需的整像素为Cl, C2, C3, C4, C5, C6。由上述所需的整像素构成两个序列当前编码帧对应整像素位置的像素值组成每1序列,对应整像素位置根据运动矢量指向重构帧相应位置上的像素值组成第2序列。分别计算第1序列与第2序列的互相关序列以及第2序列的自相关序列。对于同一类数据块的同一分像素位置,互相关序列和自相关序列的值循环累加,从而训练出该类型数据块的各分像素滤波器系数。
图4为示出根据本发明能够智能选择插值滤波器类型的视频编码器400的功能模块图。如图所示,编码器400包括形成条、块模块410,减法器414,数据编码模块420,解码重构模块430,固定系数滤波模块440,运动估计模块450,智能滤波模块460,插值方式选择模块470,运动预测补偿模块480。 形成条、块模块410将接收输入视频序列,并将每个收到的图片被划分为条,每个条被划分为多个16*16的宏块,每个宏块划分为16个4*4数据块。 数据编码模块420对帧内编码模式的图像块进行原图像数据编码,对于帧间预测模式的图像块进行残差数据编码。 解码重构模块430,对数据编码模块420进行解码,得到重构图像,作为接下来一幅图片编码的参考帧。 固定系数滤波模块440采用H. 264标准中的滤波器对重构图像进行插值滤波,为得到1/4像素精度的运动估计矢量。 运动估计模块450按H. 264标准对宏块进行运动估计,得到宏块的编码模式,4*4数据块的运动矢量,宏块的率失真代价值。 智能滤波模块460根据数据块的编码信息,智能地训练出不同编码类型的数据块的自适应插值滤波器。在训练过程中,根据分像素对应的运动矢量的小数精度不同,采用不同阶次的自适应滤波器。然后对不同类型的数据块采取不同的插值滤波器进行运动估计。
插值方式选择模块470,在固定插值滤波和自适应插值滤波中以率失真代价最小为依据来选择,并在图像帧的头信息中加入滤波器的类型信息,O为固定插值滤波,1为自适应插值滤波。 运动预测补偿模块480,根据滤波器选择的结果选择最终的运动估计补偿方式,得到每个宏块的编码方式、运动矢量、残差、滤波方式等信息。 图5示出了根据本发明的优先实施例实现的智能滤波视频解码器500的图。视频解码器500包括一个解复用模块510,残差解码模块520,智能控制模块530,智能插值滤波模块540,运动预测补偿模块550,加法器560。解码器500被安排来接收并解码由上述的视频编码器400产生的已编码视频比特流。 已编码比特流由解复用模块510接收并分解。解复用模块510从比特流中提取与编码信息有关的控制信息,包括数据块的编码类型信息,所采用的插值滤波器类型信息,并将它传递到智能控制模块530,智能控制模块530根据控制信息来判定数据块的类型,根据数据块的类型和插值滤波器的类型来选用相应的插值滤波器。解复用模块510从比特流中提取滤波系数信息,接着智能插值滤波模块540根据系数信息和智能控制模块530传递的滤波器,使用相应的滤波器进行插值,并给运动预测补偿模块550提供相应的参考帧。运动预测补偿模块550根据解复用模块510提取的运动信息在参考帧中预测出块的预测像素值,块的预测像素值接着被传递到加法器560,其在此由残差解码模块520形成的残差信息组合,最终形成像素值的完整重构块。解码码流输出以便显示或存储。
本领域普通技术人员可以理解上述具体实施方式
中的全部或部分步骤是可以通过程序来指令相关的硬件完成,可以对本发明进行各种改动和变型而不脱离本发明的保护范围。
权利要求
一种基于图像块编码信息的智能滤波器设计方法,其特征是包括如下步骤1)视频编码器将图片划分为多个数据块,每个数据块采用标准插值滤波器进行运动估计补偿,获得包括编码模式和运动矢量的数据块编码信息,运动矢量指向图片分像素空间位置;2)对数据块进行分类,根据数据块的编码模式判决数据块类型,对不同类型的数据块通过编码器训练得到分像素插值滤波系数并进行运动估计补偿,以率失真代价最小为依据在不同滤波器之间进行选择;3)根据分像素空间位置所对应的运动矢量的小数精度来定义不同的插值方法从而定义不同的自适应滤波器阶次;4)视频解码器根据数据块信息和分像素插值滤波器系数信息,对运动矢量指向分像素空间位置采用不同的滤波器对其参考图像进行内插。
2. 根据权利要求1所述的基于图像块编码信息的智能滤波器设计方法,其特征是分 像素插值通过运动估计补偿获得运动矢量MV,其水平部分MVx和垂直部分MVy小数部分 分别有0、1/4、1/2、3/4四种情况,分别对应(O,O)、 (1/4,0)、 (1/2,0)、 (3/4,0)、 (0,1/4)、 (1/4, 1/4) 、 (1/2, 1/4) 、 (1/4, 3/4) 、 (0, 1/2) 、 (1/2, 1/2) 、 (1/4, 1/2) 、 (3/4, 1/2) 、 (0, 3/4)、 (1/2,3/4)、 (3/4,1/4)、 (3/4,3/4)共16个位置,其中(O,O)对应的是整像素位置,其它15 个为分像素位置;对整像素不进行滤波器内插;按下述方法对15个分像素空间位置定义不同的插值滤波器对水平位置为0的分像素 仅对垂直方向插值滤波;对水平位置为1/4和3/4的分像素对水平方向采用6阶插值滤波; 对水平位置为1/2的分像素对水平方向采用4阶插值滤波;对垂直位置为0的分像素仅对 水平方向插值滤波;对垂直位置为1/4和3/4的分像素对垂直方向采用6阶插值滤波;对垂 直位置为1/2的分像素对垂直方向采用4阶插值滤波。
3. 根据权利要求1所述的基于图像块编码信息的智能滤波器设计方法,其特征是所述对不同类型的数据块通过编码器训练的方法是对同一类数据块,根据该数据块运动矢量所指向的分像素空间位置以及相应分像素定义的滤波器,针对插值所需的整像素,由整像素构成两个序列当前编码帧对应整像素位置的像素值组成第l序列,对应整像素位置 根据运动矢量指向重构帧相应位置上的像素值组成第2序列,分别计算两序列的互相关序 列以及第2序列的自相关序列;对于同一类数据块的同一分像素位置,互相关序列和自相 关序列的值循环累加以训练出该类型数据块的各分像素滤波器系数。
4. 根据权利要求1所述的基于图像块编码信息的智能滤波器设计方法,其特征是所 述视频编码器包括形成条、块模块,减法器,数据编码模块,解码重构模块,固定系数滤波 模块,运动估计模块,智能滤波模块,插值方式选择模块和运动预测补偿模块;所述视频解 码器包括一个解复用模块,残差解码模块,智能控制模块,智能插值滤波模块,运动预测补 偿模块和加法器。
全文摘要
本发明公开了一种基于图像块编码信息的智能滤波器设计方法,视频编码器将图片划分为多个数据块,每个数据块采用标准插值滤波器进行运动估计补偿,运动矢量指向图片分像素空间位置;对数据块进行分类,对不同类型的数据块通过编码器训练得到分像素插值滤波系数并进行运动估计补偿,以率失真代价最小为依据在不同滤波器之间进行选择;根据分像素空间位置所对应的运动矢量的小数精度来定义不同的插值方法从而定义不同的自适应滤波器阶次;视频解码器根据数据块信息和分像素插值滤波器系数信息,对运动矢量指向分像素空间位置采用不同的滤波器对其参考图像进行内插。本发明减少了计算复杂度,提高了编码性能。
文档编号H04N7/50GK101790092SQ20101012406
公开日2010年7月28日 申请日期2010年3月15日 优先权日2010年3月15日
发明者曹宁, 朱金秀, 李莉, 翟慧, 陈玲 申请人:河海大学常州校区
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1