一种视频图像编码方法及装置制造方法及图纸

技术编号:11071034 阅读:124 留言:0更新日期:2015-02-25 10:41
本发明专利技术公开了一种视频图像编码方法及装置,用以解决现有技术中视频编码JND模型对视频图像进行编码时,生成的编码后的数据中包含视觉冗余信息,编码过程复杂度高,以及主观视频编码性能低的问题。本发明专利技术实施例中,通过对当前帧对应的视频图像进行有效的块分类,并在传统DCT域的像素级JND值中引入亮度调制因子,以获取DCT域像素级JND值,在获取宏块级QP偏移量的过程中,无须使用canny算子,从而降低了编码复杂度;并且,在对视频图像的编码过程中,考虑到人眼的视觉特性,在获取宏块级QP时加入块级视觉敏感度因子,从而进一步减少了对视频图像进行编码后生成的数据的视觉冗余信息,提高了主观视频编码性能。

【技术实现步骤摘要】

本专利技术涉及视频数据处理领域,尤其涉及一种视频图像编码方法及装置
技术介绍
为了节约传输带宽和存储空间,以及支持数字电视广播、远程监控、数字视频点播、无线多媒体通信等应用,视频图像编码已经成为国内外研究和工业应用的热点之一。目前的视频图像编码标准所涉及的编码技术主要包括:帧内预测、帧间预测、变换、反变换、量化、反量化,以及熵编码等。JND(Just Noticeable Distortion;恰可察觉失真模型)作为一种主观视觉编码模型,能够有效提高视频图像编码的效率和视频图像的质量,其原理为,由于人眼的各种屏蔽效应,人眼只能觉察超过某一阈值的噪声,该阈值即为人眼的恰可觉察失真,代表着图像中的视觉冗余度。JND模型常用来指导图像或视频的感知编码和处理,如预处理、自适应量化、码流控制、运动估计等。现有的JND模型可以大致分为两类:第一类为像素域JND模型,其基本原理大多是通过表征亮度自适应效应和纹理掩蔽效应来建模,常作为计算JND阈值的快速方法来使用。第二类JND模型为变换域JND模型,该JND模型在变换域中进行计算,例如DCT(Discrete Cosine Transform;离散余弦变换)域、小波域等。由于大多数视频图像编码标准都是基于DCT域,因此基于DCT域的JND模型得到了很多研究者的关注。目前,JND模型已经被广泛应用在混合视频编码
,但现有的视频编码JND模型应用过程为逐个的像素级的滤波实现视频图像的编码压缩,而没有考虑到传统的视频编码时以块单元为单位,即期望的编码结果为比较均匀一致的压缩,从而避免像素级的滤波可能在编码块中引入许多人为产生的失真涨落;并且,对于现有的视频编码JND模型而言,在计算纹理复杂度时候会利用到canny算子,canny算子会增大模型的复杂度;此外,现有的主流视频编码在最佳模式使用的QP(Quantization Parameter;量化参数)并没有考虑到人眼的视觉特性,采用上述QP对视频图像进行编码后,将造成编码后的数据存在大量视觉冗余信息,且主观视频编码性能低。综上所述,采用现有的视频编码JND模型以及应用方式对视频图像进行编码时,生成的编码后的数据中包含视觉冗余信息,编码过程复杂度高,以及主观视频编码性能低的问题。
技术实现思路
本专利技术实施例提供一种视频图像编码方法及装置,用以解决现有技术中视频编码JND模型对视频图像进行编码时,生成的编码后的数据中包含视觉冗余信息,编码过程复杂度高,以及主观视频编码性能低的问题。本专利技术实施例提供的具体技术方案如下:一种视频图像编码方法,包括:获取视频图像序列中的当前帧;其中,所述当前帧的图像包括多个宏块,每一个宏块包含多个块,每一个块包含多个子块;针对任意一宏块,分别根据所述任意一宏块中的每一个子块包含的所有像素值和所述每一个子块所在的块包含的所有像素值,生成所述每一个子块对应的直流系数和所述每一个子块所在的块对应的直流系数,并根据所述每一个子块对应的直流系数和所述每一个子块所在的块对应的直流系数,确定相应的亮度调制因子;并根据获取到的亮度调制因子,获取每一个子块对应的DCT域像素级恰可察觉失真模型JND值;根据获取的每一个子块对应的所述DCT域像素级JND值,以及所述每一个子块的能量分布特性因子,获取所述每一个块对应的块级JND值;根据所述每一个块对应的块级JND值,计算所述宏块对应的宏块级量化参数QP和宏块级QP偏移量;根据所述宏块级QP和宏块级QP偏移量,对所述当前帧进行编码。一种视频图像编码装置,包括:第一获取单元,用于获取视频图像序列中的当前帧;其中,所述当前帧的图像包括对应多个宏块,每一个宏块包含多个块,每一个块包含多个子块;确定单元,用于针对任意一宏块,分别根据所述任意一宏块中的每一个子块包含的所有像素值和所述每一个子块所在的块包含的所有像素值,生成所述每一个子块对应的直流系数和所述每一个子块所在的块对应的直流系数,并根据所述每一个子块对应的直流系数和所述每一个子块所在的块对应的直流系数,确定相应的亮度调制因子;第二获取单元,用于根据获取到的亮度调制因子,获取每一个子块对应的DCT域像素级恰可察觉失真模型JND值;第三获取单元,用于根据获取的每一个子块对应的所述DCT域像素级JND值,以及所述每一个子块的能量分布特性因子,获取所述每一个块对应的块级JND值;计算单元,用于根据所述每一个块对应的块级JND值,计算所述宏块对应的宏块级量化参数QP和宏块级QP偏移量;编码单元,用于根据所述宏块级QP和宏块级QP偏移量,对所述当前帧进行编码。本专利技术实施例中,针对视频图像序列中的当前帧,在对DCT域像素级JND值的计算过程中添加亮度调制因子;根据计算得到的DCT域像素级JND值,计算每一个块对应的块级JND值,并根据块级JND值获取宏块级QP偏移量;根据宏块级QP偏移量,对当前帧进行编码。采用本专利技术技术方案,通过对当前帧对应的视频图像进行有效的块分类,并在传统DCT域的像素级JND值中引入亮度调制因子,以获取DCT域像素级JND值,在获取宏块级QP偏移量的过程中,无须使用canny算子,从而降低了编码复杂度;并且,在对视频图像的编码过程中,考虑到人眼的视觉特性,在获取宏块级QP时加入块级视觉敏感度因子,从而进一步减少了对视频图像进行编码后生成的数据的视觉冗余信息,提高了主观视频编码性能。附图说明图1为本专利技术实施例中编码器的功能结构示意图;图2为本专利技术实施例中视频图像编码流程图;图3为本专利技术实施例中经典JPEG编码中DCT域4×4块分类方法示意图;图4为本专利技术实施例中计算块级JND值的流程示意图;图5(a)和图5(b)为本专利技术实施例中采用宏块级QP值对视频图像进行编码与参考模型对视频图像进行编码的主观视频编码性能对比示意图;图6为本专利技术实施例中块级JND视频编码主观性能表;图7为本专利技术实施例中视频图像编码装置结构示意图。具体实施方式为了解决现有技术中视频编码JND模型对视频图像进行编码时,生成的编码后的数据中包含视觉冗余信息,编码过程复杂度高,以及主观视频编码性能低的问题。本专利技术实施例中,通过对当前帧对应的视频图像进行有效的块分类,并在传统DCT域的像素级JND值中引入亮度调制因子,以获取DCT域像素级JND值,在获取宏块级QP偏移量的过程中,无须使用canny算子,从...
一种视频图像编码方法及装置

【技术保护点】
一种视频图像编码方法,其特征在于,包括:获取视频图像序列中的当前帧;其中,所述当前帧的图像包括多个宏块,每一个宏块包含多个块,每一个块包含多个子块;针对任意一宏块,分别根据所述任意一宏块中的每一个子块包含的所有像素值和所述每一个子块所在的块包含的所有像素值,生成所述每一个子块对应的直流系数和所述每一个子块所在的块对应的直流系数,并根据所述每一个子块对应的直流系数和所述每一个子块所在的块对应的直流系数,确定相应的亮度调制因子;并根据获取到的亮度调制因子,获取每一个子块对应的DCT域像素级恰可察觉失真模型JND值;根据获取的每一个子块对应的所述DCT域像素级JND值,以及所述每一个子块的能量分布特性因子,获取所述每一个块对应的块级JND值;根据所述每一个块对应的块级JND值,计算所述宏块对应的宏块级量化参数QP和宏块级QP偏移量;根据所述宏块级QP和宏块级QP偏移量,对所述当前帧进行编码。

【技术特征摘要】
1.一种视频图像编码方法,其特征在于,包括:
获取视频图像序列中的当前帧;其中,所述当前帧的图像包括多个宏块,
每一个宏块包含多个块,每一个块包含多个子块;
针对任意一宏块,分别根据所述任意一宏块中的每一个子块包含的所有像
素值和所述每一个子块所在的块包含的所有像素值,生成所述每一个子块对应
的直流系数和所述每一个子块所在的块对应的直流系数,并根据所述每一个子
块对应的直流系数和所述每一个子块所在的块对应的直流系数,确定相应的亮
度调制因子;并
根据获取到的亮度调制因子,获取每一个子块对应的DCT域像素级恰可
察觉失真模型JND值;
根据获取的每一个子块对应的所述DCT域像素级JND值,以及所述每一
个子块的能量分布特性因子,获取所述每一个块对应的块级JND值;
根据所述每一个块对应的块级JND值,计算所述宏块对应的宏块级量化
参数QP和宏块级QP偏移量;
根据所述宏块级QP和宏块级QP偏移量,对所述当前帧进行编码。
2.如权利要求1所述的方法,其特征在于,针对每一个子块,分别根据
该子块包含的所有像素值和该子块所在块包含的所有像素值,生成所述子块对
应的直流系数和所述子块所在的块对应的直流系数,具体包括:
对子块包含的所有像素值和所述子块所在的块包含的所有像素值进行离
散余弦变换DCT变换,生成所述子块对应的直流系数,以及所述子块所在的
块对应的直流系数。
3.如权利要求2所述的方法,其特征在于,根据获取到的亮度调制因子,
获取每一个子块对应的DCT域像素级JND值,具体包括:
针对每一个子块,均执行如下操作:
计算所述亮度调制因子以及传统基本空域敏感度阈值的乘积,将所述乘积

\t作为子块对应的基本空域敏感度阈值;
根据所述子块对应的基本空域敏感度阈值,亮度自适应函数,以及对比掩
蔽效应函数,获取所述子块对应的空域JND值;
根据预先获取的时域调制函数以及所述子块对应的空域JND值,获取所
述子块对应的DCT域像素级JND值。
4.如权利要求3所述的方法,其特征在于,所述基本空域敏感度阈值满
足如下公式:
Tbasic=T0·(C(n,0,0)N1×N1C(0,0)N2×N2)τ]]>其中,Tbasic为基本空域敏感度阈值;T0为传统基本空域敏感度阈值,由归
一化系数和归一化系数的方向角确定;为亮度调制因子,N1×N1
为一个子块中包含的像素点的数量,N2×N2为一个块中包含的像素点的数量,
C(n,0,0)N1×N1为一个N2×N2块中包含的每一个N1×N1子块的直流系数,
C(0,0)N2×N2为一个N2×N2块的直流系数,n为所述当前帧对应的所有子
块中任意一子块的编号,τ为调制参数,根据具体应用场景确定。
5.如权利要求1所述的方法,其特征在于,根据获取的每一个子块对应
的所述DCT域像素级JND值,以及所述每一个子块的能量分布特性因子,获
取所述每一个块对应的块级JND值,具体包括:
根据获取的每一个子块对应的DCT域像素级JND值,以及所述每一个子
块的能量分布特性因子,获取每一个块对应的块级视觉敏感度因子;其中,所
述块级视觉敏感度因子满足如下公式:
Dblock(k)=Σn=0M-1Σi=0N-1Σj=0N-1JNDT(n,i,j)·|C(n,i,j)|2]]>其中,Dblock为块级视觉敏感度因子;JNDT(n,i,j)为DCT域像素级JND
值,n为所述当前帧对应的所有子块中任意一子块的编号,i和j分别表示每一

\t个子块中包含的每一个像素点的行号和列号;|C(n,i,j)|2为子块的能量分布特性
因子;M为每一个块中包含的子块的总数目;N为每一个子块中包含的像素点
的总行数或者总列数;k为块的编号;
根据所述每一个块对应的块级视觉敏感度因子,获取所述每一个块对应的
块级JND值。
6.如权利要求5所述的方法,其特征在于,所述每一个块对应的块级JND
值,满足如下公式:
JNDblcok(k)=α·lnDblock(k)
其中,JNDblock(k)为第k个块对应的块级JND值;k为块的编号;α为
块级控制参数;Dblock为块级视觉敏感度因子。
7.如权利要求1-6任一项所述的方法,其特征在于,根据所述每一个块
对应的块级JND值,计算所述宏块对应的宏块级QP和宏块级QP偏移量,具
体包括:
根据每一个块对应的JND值,获取对应的QP偏移量;
计算所述每一个块对应的QP偏移量和原始QP的和值,将所述和值作为
所述每一个块对应的QP;其中,所述原始QP由编码器预先配置获取;
根据所述每一个块对应的QP,获取所述块所在宏块对应的宏块级QP;
计算所述宏块级QP以及所述原始QP的差值,将所述差值作为所述宏块
级QP偏移量。
8.如权利要求7所述的方法,其特征在于,所述宏块级QP偏移量满足如
下公式:
△QPJND_MB=QPJND_MB-QP0其中,△QPJND_MB为宏块级QP偏移量;QPJND_MB为宏块级QP,由
获取,B为一个宏块中包含的块的...

【专利技术属性】
技术研发人员:贾惠柱向国庆
申请(专利权)人:中安消技术有限公司北京大学
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1