首页 / 专利库 / 电脑编程 / 算法 / 视频图像的编码方法及装置

视频图像的编码方法及装置

阅读:427发布:2020-05-08

专利汇可以提供视频图像的编码方法及装置专利检索,专利查询,专利分析的服务。并且本 发明 涉及一种视频图像的编码方法及装置,包括接收待编码的视频图像;将所述视频图像中的每一图像 帧 划分为若干待编码宏 块 ;识别所述待编码宏块的图像复杂度;预先选取多种预测模式;根据所述待编码宏块的图像复杂度预选择所述待编码宏块的两种预测模式;根据所述图像复杂度预选择的两种预测模式利用预设 算法 确定所述待编码宏块的最终预测模式;根据所述最终预测模式编码所述待编码宏块。本发明预先设置多种预测算法,通过识别图像的复杂度预选取两种视频图像预测方式,可以快速筛选出视频图像的预测方式对待编码宏块进行编码,减小计算量,提高图像编码压缩效率。,下面是视频图像的编码方法及装置专利的具体信息内容。

1.一种视频图像的编码方法,其特征在于,包括:
接收待编码的视频图像;
将所述视频图像中的每一图像划分为若干待编码宏
识别所述待编码宏块的图像复杂度;
预先选取多种预测模式;
根据所述待编码宏块的图像复杂度预选择所述待编码宏块的两种预测模式;
根据所述图像复杂度预选择的两种预测模式利用预设算法确定所述待编码宏块的最终预测模式;
根据所述最终预测模式编码所述待编码宏块。
2.根据权利要求1所述的方法,其特征在于,识别所述待编码宏块的图像复杂度,包括:
利用预设公式计算所述待编码宏块的梯度值;
根据所述梯度值确定所述待编码宏块的图像复杂度。
3.根据权利要求1所述的方法,其特征在于,根据所述待编码宏块的图像复杂度预选择所述待编码宏块的两种预测模式,包括:
根据所述视频图像的像素深度确定所述待编码宏块的梯度级别;
根据所述待编码宏块的图像复杂度与所述梯度级别的对应关系预选择所述待编码宏块的两种预测模式。
4.根据权利要求1所述的方法,其特征在于,根据所述图像复杂度预选择的两种预测模式利用预设算法确定所述待编码宏块的最终预测模式,包括:
利用所述图像复杂度预选择的两种预测模式分别计算所述待编码宏块对应的两组预测残差;
根据所述两组预测残差利用预设算法确定所述待编码宏块的最终预测模式。
5.根据权利要求4所述的方法,其特征在于,根据所述最终预测模式编码所述待编码宏块,包括:
将所述待编码宏块的最终预测模式的标志信息和所述最终预测模式对应的一组预测残差进行编码并传输至码流中。
6.一种视频图像的编码装置,其特征在于,包括:
接收模块,用于接收待编码的视频图像;
划分模块,连接所述接收模块,用于将所述视频图像中的每一图像帧划分为若干待编码宏块;
识别模块,连接所述划分模块,用于识别所述待编码宏块的图像复杂度;
选取模块,连接所述划分模块,用于预先选取多种预测模式;
预选择模块,连接所述识别模块和所述选取模块,用于根据所述待编码宏块的图像复杂度预选择所述待编码宏块的两种预测模式;
确定模块,连接所述预选择模块,用于根据所述图像复杂度预选择的两种预测模式利用预设算法确定所述待编码宏块的最终预测模式;
编码模块,连接所述确定模块,用于根据所述最终预测模式编码所述待编码宏块。
7.根据权利要求6所述的装置,其特征在于,所述识别模块具体用于:
利用预设公式计算所述待编码宏块的梯度值;
根据所述梯度值确定所述待编码宏块的图像复杂度。
8.根据权利要求6所述的装置,其特征在于,所述预选择模块具体用于:
根据所述视频图像的像素深度确定所述待编码宏块的梯度级别;
根据所述待编码宏块的图像复杂度与所述梯度级别的对应关系预选择所述待编码宏块的两种预测模式。
9.根据权利要求6所述的装置,其特征在于,所述确定模块具体用于:
利用所述图像复杂度预选择的两种预测模式分别计算所述待编码宏块对应的两组预测残差;
根据所述两组预测残差利用预设算法确定所述待编码宏块的最终预测模式。
10.根据权利要求9所述的装置,其特征在于,所述编码模块具体用于:
将所述待编码宏块的最终预测模式的标志信息和所述最终预测模式对应的一组预测残差进行编码并传输至码流中。

说明书全文

视频图像的编码方法及装置

技术领域

[0001] 本发明涉及一种压缩技术领域,特别涉及一种视频图像的编码方法及装置。

背景技术

[0002] 随着多媒体技术的迅速发展,现代计算机技术特别是海量数据存储与传输技术的成熟,视频作为一种主要的媒体类型在人们的生活、教育、娱乐等方面日益成为不可或缺的信息载体。
[0003] 在现有的视频压缩编码技术主要由四个部分组成,包含:预测模、量化模块、码控模块和熵编码模块。其中预测模块作为一个重要的模块,是利用相邻像素间存在的空间冗余度,根据邻近像素信息对当前像素值进行预测,预测差值的标准差远小于原始图像数据的标准差,因此对预测差值进行编码,更有利于使图像数据的理论熵达到最小,达到提高压缩效率的目的。
[0004] 随着视频图像复杂度的越来越高,如何根据图像复杂度选取最优预测方法提高视频图像编码效率,成为亟待解决的核心问题。

发明内容

[0005] 因此,为解决现有技术存在的技术缺陷和不足,本发明提出一种视频图像的编码方法及装置。
[0006] 具体地,本发明一个实施例提出的一种视频图像的编码方法,包括:
[0007] 接收待编码的视频图像;
[0008] 将所述视频图像中的每一图像划分为若干待编码宏块;
[0009] 识别所述待编码宏块的图像复杂度;
[0010] 预先选取多种预测模式;
[0011] 根据所述待编码宏块的图像复杂度预选择所述待编码宏块的两种预测模式;
[0012] 根据所述图像复杂度预选择的两种预测模式利用预设算法确定所述待编码宏块的最终预测模式;
[0013] 根据所述最终预测模式编码所述待编码宏块。
[0014] 在本发明的一个实施例中,识别所述待编码宏块的图像复杂度,包括:
[0015] 利用预设公式计算所述待编码宏块的梯度值;
[0016] 根据所述梯度值确定所述待编码宏块的图像复杂度。
[0017] 在本发明的一个实施例中,根据所述待编码宏块的图像复杂度预选择所述待编码宏块的两种预测模式,包括:
[0018] 根据所述视频图像的像素深度确定所述待编码宏块的梯度级别;
[0019] 根据所述待编码宏块的图像复杂度与所述梯度级别的对应关系预选择所述待编码宏块的两种预测模式。
[0020] 在本发明的一个实施例中,根据所述图像复杂度预选择的两种预测模式利用预设算法确定所述待编码宏块的最终预测模式,包括:
[0021] 利用所述图像复杂度预选择的两种预测模式分别计算所述待编码宏块对应的两组预测残差;
[0022] 根据所述两组预测残差利用预设算法确定所述待编码宏块的最终预测模式。
[0023] 在本发明的一个实施例中,根据所述最终预测模式编码所述待编码宏块,包括:
[0024] 将所述待编码宏块的最终预测模式的标志信息和所述最终预测模式对应的一组预测残差进行编码并传输至码流中
[0025] 在本发明的另一个实施例提出的一种视频图像的编码装置,包括:
[0026] 接收模块,用于接收待编码的视频图像;
[0027] 划分模块,连接所述接收模块,用于将所述视频图像中的每一图像帧划分为若干待编码宏块;
[0028] 识别模块,连接所述划分模块,用于识别所述待编码宏块的图像复杂度;
[0029] 选取模块,连接所述划分模块,用于预先选取多种预测模式;
[0030] 预选择模块,连接所述识别模块和所述选取模块,用于根据所述待编码宏块的图像复杂度预选择所述待编码宏块的两种预测模式;
[0031] 确定模块,连接所述预选择模块,用于根据所述图像复杂度预选择的两种预测模式利用预设算法确定所述待编码宏块的最终预测模式;
[0032] 编码模块,连接所述确定模块,用于根据所述最终预测模式编码所述待编码宏块。
[0033] 在本发明的一个实施例中,所述识别模块具体用于:
[0034] 利用预设公式计算所述待编码宏块的梯度值;
[0035] 根据所述梯度值确定所述待编码宏块的图像复杂度。
[0036] 在本发明的一个实施例中,所述预选择模块具体用于:
[0037] 根据所述视频图像的像素深度确定所述待编码宏块的梯度级别;
[0038] 根据所述待编码宏块的图像复杂度与所述梯度级别的对应关系预选择所述待编码宏块的两种预测模式。
[0039] 在本发明的一个实施例中,所述确定模块具体用于:
[0040] 利用所述图像复杂度预选择的两种预测模式分别计算所述待编码宏块对应的两组预测残差;
[0041] 根据所述两组预测残差利用预设算法确定所述待编码宏块的最终预测模式。
[0042] 在本发明的一个实施例中,所述编码模块具体用于:
[0043] 将所述待编码宏块的最终预测模式的标志信息和所述最终预测模式对应的一组预测残差进行编码并传输至码流中。
[0044] 基于此,本发明具备如下优点:
[0045] 1)本发明预先设置多种预测算法,通过识别图像的复杂度预选取两种视频图像预测方式,可以快速筛选出视频图像的预测方式对待编码宏块进行编码,减小计算量,提高图像编码压缩效率;
[0046] 2)本发明通过预选择的两种预测方式对待编码宏块进行预测,根据预测结果选取一种预测方式进行最优编码,对于不同场景复杂度的待编码宏块可以准确地提高图像编码压缩率,进一步降低压缩的理论极限熵。
[0047] 通过以下参考附图的详细说明,本发明的其它方面和特征变得明显。但是应当知道,该附图仅仅为解释的目的设计,而不是作为本发明的范围的限定,这是因为其应当参考附加的权利要求。还应当知道,除非另外指出,不必要依比例绘制附图,它们仅仅图概念地说明此处描述的结构和流程。

附图说明

[0048] 下面将结合附图,对本发明的具体实施方式进行详细的说明。
[0049] 图1为本发明实施例提供的一种视频图像的编码方法流程示意图;
[0050] 图2为本发明实施例提供的一种第一自适应预测模板的示意图;
[0051] 图3为本发明实施例提供的一种第二自适应预测模板的示意图;
[0052] 图4为本发明实施例提供的一种相邻参考像素分量的示意图;
[0053] 图5为本发明实施例提供的一种参考像素分量位置示意图;
[0054] 图6为本发明实施例提供的一种梯度值计算示意图;
[0055] 图7为本发明实施例提供的一种采样方式示意图;
[0056] 图8为本发明实施例提供的一种非采样点预测方法示意图;
[0057] 图9为本发明实施例提供的一种视频图像的编码装置示意图。

具体实施方式

[0058] 为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明的具体实施方式做详细的说明。
[0059] 实施例一
[0060] 请参见图1,图1为本发明实施例提供的一种视频图像的编码方法流程示意图;本实施例对本发明提供的一种视频图像的编码方法进行详细描述,该方法包括如下步骤:
[0061] 步骤1、接收待编码的视频图像;
[0062] 视频是由一帧帧的图片组成的,由于视频本身的数据量很大,所以在视频传输之前需要对视频进行编码,视频编码实际上就是编码视频图像,由于视频图像数据具有极强的相关性,因此会有大量的冗余信息,视频编码就是采用压缩技术将数据中的冗余信息去掉。
[0063] 步骤2、将所述视频图像中的每一图像帧划分为若干待编码宏块;
[0064] 每一图像帧可以划分为若干大小固定的待编码宏块,也可以划分为若干大小不一的待编码宏块。每一待编码宏块包括多个像素分量,假设待编码宏块的大小为m*n,即待编码宏块有m*n个像素分量。
[0065] 步骤3、识别所述待编码宏块的图像复杂度;
[0066] 计算待编码宏块的梯度(Grad),根据梯度的大小识别待编码宏块的图像复杂度。其中待编码宏块的梯度计算公式如下所示:
[0067]
[0068] i表示待编码宏块中像素分量的位置索引,P表示待编码宏块中像素分量值,ABS表示绝对值运算。当i的取值为0时,即代表位置索引为0的像素分量,即首个像素分量,此时,设定Pi-1的取值为P0,即Pi-Pi-1=P0-P0。计算获得的梯度值越小待编码宏块的复杂度越低。根据梯度值的大小将待编码宏块的复杂度分为初级和高级两个级别。
[0069] 步骤4、预先选取多种预测模式;
[0070] 优选地,可以预先设定多种预测模式,具体为可以选取自适应模板预测方式,自适应方向预测方式和自适应纹理预测方式,但不限于这三种预测方式。
[0071] 步骤5、根据所述待编码宏块的图像复杂度预选择所述待编码宏块的两种预测模式;
[0072] 优选地,可以设计梯度分级,将梯度分为T个级别,每个级别的跨度为(1<
[0073] 优选地,取T的值为2,则可以将视频图像的梯度分为两个梯度级别,分别为第一梯度级别,对应梯度的跨度为0~256/2;第二梯度级别,对应梯度的跨度为256/2~256。
[0074] 当待编码宏块的梯度值在第一梯度级别时,即第一梯度级别对应图像初级复杂度,当待编码宏块的梯度值在第二梯度级别时,即第二梯度级别对应图像高级复杂度。
[0075] 当待编码宏块的图像复杂度为初级复杂度时,预选取自适应方向预测方式和自适应纹理预测方式两种预测模式,当待编码宏块的图像复杂度为高级复杂度时,预选取自适应模板预测方式和自适应方向预测方式两种预测模式。
[0076] 步骤6、根据所述图像复杂度预选择的两种预测模式利用预设算法确定所述待编码宏块的最终预测模式;
[0077] 根据所述图像复杂度预选择的两种预测模式分别对待编码宏块进行预测获取两组预测残差。其中,每组预测残差即为待编码宏块中的每个像素分量的预测残差。
[0078] 根据两组预测残差分别计算出每种预测模式对应的残差绝对值和(sum of absolute difference,简称SAD)的计算公式如下式所示:
[0079]
[0080] 其中,Res为待编码宏块中每个像素分量的预测残差,ABS为取绝对值,m*n为待编码宏块中所有像素分量的数量。
[0081] 根据每种预测模式对应的残差绝对值和,选取SAD最小值对应的预测模式作为待编码宏块最终预测模式。
[0082] 步骤7、根据所述最终预测模式编码所述待编码宏块。
[0083] 将所述待编码宏块的最终预测模式的标志信息和所述最终预测模式对应的一组预测残差进行编码并传输至码流中。
[0084] 实施例二
[0085] 本实施例在上述实施例的基础上,对本发明提出的自适应模板预测方式进行详细描述。该方式包括如下内容:
[0086] 步骤1、建立自适应预测模板
[0087] 在本发明的实施例中提供两种不同的自适应预测模板,分别为第一自适应预测模板和第二自适应预测模板,下述内容分别详细介绍第一自适应预测模板和第二自适应预测模板的建立。
[0088] 其中,在一个具体的实施方式中,第一自适应预测模板如图2所示,图2为本发明实施例提供的一种第一自适应预测模板的示意图。
[0089] 第一自适应预测模板的表位数量可以为4个、8个、16个或32个;本实施例以表位数量为16个为例说明,其它数量的表位同理。第一自适应预测模板的表位数量为16,表位序号从0到15依次排列,序号越小,优先级越高,每个表位记录一个待编码宏块的一组重建值。待编码宏块大小可设定,本实施例以16*4为例,即每个待编码宏块的大小为16*4个像素分量,即每个待编码宏块有16*4个重建值。
[0090] 第一自适应预测模板的初始状态为空,将某一待编码宏块的重建值填充到序号为0的表位;继续填充第一自适应预测模板,将序号为0的表位中的重建值顺序移位到序号为1的表位中,将下一个待编码宏块的重建值填充到序号为0的表位;以此类推,每次填充第一自适应预测模板时,将已填充的N个表位位置顺序向后移位,移一个表位位置,将待填充的待编码宏块的重建值填充到序号为0的表位,直到第一自适应预测模板中的16个表位填充完毕。具体为:每次进行待编码宏块的重建值填充前,按序号从小到大,检测当前待编码宏块的重建值与列表中所有已填充的重建值的一致性;若不具备一致性,那么列表从序号0到序号N-1,共N个有效位置顺序向后移位,当前待编码宏块的重建值放在列表0位置。若具备一致性,列表中模板表位位置不变,可选择将第一自适应预测模板中与当前待编码宏块重建值一致的表位中已填充重建值更新为当前待编码宏块的重建值或者不更新。检测一致性的公式如公式1所示:
[0091]
[0092] 其中,Cur为当前待编码宏块的原始像素分量值,CurRec为当前待编码宏块的重建值,ABS为求绝对值,Pred为模板中填充的重建值,待编码宏块num为当前待编码宏块中像素分量数量,b1和b2为权重系数,Thr0为阈值,Thr0的取值根据用户需求确定。当的值小于Thr0时,k的取值为1,1代表具备一致性,则可以判断为具备一致性;反之,当
的值大于Thr0时,
k的取值为0,0代表不具备一致性则可以判断为不具备一致性。b1和b2的取值可以是预先设定的固定值,进一步地,b1+b2=1,优选地,b1可以选取为0.5,b2可以选取为0.5,b1和b2也可以灵活调整大小。
[0093] 第一自适应预测模板初始化填充后,检测图像中的其余待编码宏块,更新第一自适应预测模板,更新方法如下:
[0094] 若当前待编码宏块存在上参考待编码宏块,检测正上参考待编码宏块与第一自适应预测模板中已填充的重建值的一致性,若不具备一致性,先将第一自适应预测模板所有表位序号从0开始顺序移位,表位序号最后一个移除列表,再将上参考待编码宏块的重建值更新到第一自适应预测模板表位序号为0的位置;若具备一致性,将一致的第一自适应预测模板中已填充重建值与表位序号为0的位置的重建值对换,并可以更新模板中所有重建值。
[0095] 同理,若当前待编码宏块存在左参考待编码宏块,检测左侧参考待编码宏块与第一自适应预测模板中已填充的重建值的一致性,若不具备一致性,先将第一自适应预测模板中以表位序号为1开始的表位序号顺序移位,表位序号最后一个移除列表,再将左参考待编码宏块的重建值更新到第一自适应预测模板表位序号为1的位置;若具备一致性,将一致的第一自适应预测模板中已填充重建值与表位序号为1的位置的重建值对换,并可以更新模板中所有重建值。
[0096] 若当前待编码宏块存在左上参考待编码宏块,检测左上参考待编码宏块与第一自适应预测模板中已填充的重建值的一致性,若不具备一致性,先将第一自适应预测模板中以表位序号为2开始的表位序号顺序移位,表位序号最后一个移除列表,再将上参考待编码宏块的重建值更新到第一自适应预测模板表位序号为2的位置;若具备一致性,将一致的第一自适应预测模板中已填充重建值与表位序号为2的位置的重建值对换,并可以更新第一自适应预测模板中所有重建值。
[0097] 若当前待编码宏块存在右上参考,检测右上参考待编码宏块与第一自适应预测模板中已填充的重建值的一致性,若不具备一致性,先将第一自适应预测模板中以表位序号为3开始的表位序号顺序移位,表位序号最后一个移除列表,再将右参考待编码宏块的重建值更新到第一自适应预测模板表位序号为3的位置;若具备一致性,将一致的第一自适应预测模板中已填充重建值与表位序号为3的位置的重建值对换,并可以更新第一自适应预测模板中所有重建值。
[0098] 其中,一致性检测方法参考公式1提供的方法。
[0099] 其中,在一个具体实施方式中第二自适应预测模板如图3所示,图3为本发明实施例提供的一种第二自适应预测模板的示意图。
[0100] 可以定义第二自适应预测模板表位数量为4个、8个、16个或32个;本实施例以第二自适应预测模板表位数量为8个为例说明,其它数量的第二自适应预测模板表位同理。数量为8的第二自适应预测模板表位,表位序号从0到8依次排列,序号越小,优先级越高,每个表位记录一个待编码宏块的一组重建值。待编码宏块大小可设定,本实施例以8*2大小为例,即每个待编码宏块的大小为8*2个像素分量,即每个待编码宏块有8*2个重建值。
[0101] 第二自适应预测模板表位序号为4~7的位置存储预先设定的4组重建值;检测当前待编码宏块上相邻待编码宏块的重建值与第二自适应预测模板中已填充的重建值的一致性,若不具备一致性,将上相邻待编码宏块的重建值填充到第二自适应预测模板表位序号为0的位置;若具备一致性,将一致的第二自适应预测模板中已填充重建值与表位序号为0的位置的重建值对换,并可以更新模板中所有重建值。
[0102] 检测当前待编码宏块左相邻待编码宏块的重建值与第二自适应预测模板中已填充的重建值的一致性,若不具备一致性,将左相邻待编码宏块的重建值填充到第二自适应预测模板表位序号为1的位置;若具备一致性,将一致的第二自适应预测模板中已填充重建值与表位序号为1的位置的重建值对换,并可以更新模板中所有重建值。
[0103] 检测当前待编码宏块左上相邻待编码宏块的重建值与第二自适应预测模板中已填充的重建值的一致性,若不具备一致性,将左上相邻待编码宏块的重建值填充到第二自适应预测模板表位序号为2的位置;若具备一致性,将一致的第二自适应预测模板中已填充重建值与表位序号为2的位置的重建值对换,并可以更新模板中所有重建值。
[0104] 检测当前待编码宏块右上相邻待编码宏块的重建值与第二自适应预测模板中已填充的重建值的一致性,若不具备一致性,将右上相邻待编码宏块的重建值填充到第二自适应预测模板表位序号为3的位置;若具备一致性,将一致的第二自适应预测模板中已填充重建值与表位序号为3的位置的重建值对换,并可以更新模板中所有重建值。
[0105] 步骤2、更新自适应预测模板
[0106] 建立自适应预测模板后,针对当前待编码宏块,更新自适应预测模板,其中,自适应预测模板更新方法如步骤1中所示,此处不再赘述。
[0107] 步骤3、根据所述自适应预测模板,获取当前待编码宏块的预测残差
[0108] 其中,在一具体实施方式中,自适应预测模板更新完成之后,将当前待编码宏块与自适应预测模板中每个表位的重建值进行匹配,根据公式,选取最优的M个表位。公式如下:
[0109]
[0110] 其中,Cur为当前待编码宏块的原始像素分量,Pred为自适应预测模板中每个表位填充的重建值;待编码宏块num为当前待编码宏块中像素分量数量,c1和c2为权重系数,最终rdo越小,则该自适应预测模板表位中的重建值越优。
[0111] 在一种实施方式中,c1和c2的取值可以是预先设定的固定值,进一步地,为了便于计算,可以直接将c1设定为1,将c2设定为0.
[0112] 分别对M个表位中的重建值中任一重建值加权处理得到预测像素分量值。如下公式:
[0113] predwi=(w1*Predi-1+w2*Predi+w3*Predi+1+w4)/4
[0114] 其中,W1、W2、W3、W4为一组预测参数,predw为预测像素分量值,Pred为模板中M个表位中任一表位填充的重建值,i为Pred在表位中的排序。
[0115] 在一种实施方式中,W1、W2、W3、W4的取值可以是预先设定的固定值,进一步地,W1+W2+W3=3,优选地,W1、W2、W3分别选取为1,W1、W2、W3分别选取为0.5,2,0.5,W1、W2、W3可以根据实际情况,灵活调整大小。进一步地,W4可以选取为当前表位中所有填充的重建值的平均值,也可以选取为表位中与当前预测像素分量值排序对应的重建值。
[0116] 预设T种W1、W2、W3、W4的不同组合,针对一个表位可以生成T种预测像素分量值,M个表位有M*T种预测像素分量值,最终在M*T种可能性中,根据rdo公式,选出最优的表位和对应的W1、W2、W3、W4。根据W1、W2、W3、W4计算该最优表位中的重建值的预测像素分量值,作为当前待编码宏块的参考值。
[0117] 进一步地,最优表位即为rdo中的最小值对应的表位。
[0118] 可选择点对点求差方式或自适应预测方式求残差。最终将残差值、列表表位序号和W1、W2、W3、W4的值发送到解码端,其中,点对点求差方式为将当前待编码宏块中的每个重建值对应减去最优表位中的每个重建值对应的预测像素分量值。进一步地,重建像素指已压缩图像宏块解压重建得到的像素,重建像素的像素值通常称为重建值。根据预测残差可以得到重建值,即将参考值加上预测残差可以得到重建值。
[0119] 进一步地,在一具体实施方式中,获取当前待编码宏块的预测残差如下所述。自适应预测模板更新完成之后,将当前待编码宏块的像素分量值与自适应预测模板中所有存在的待编码宏块重建值进行自适应纹理预测,求解预测残差。其中,请参见图4所示,图4为本发明实施例提供的一种相邻参考像素分量的示意图。对自适应纹理预测中的参考像素分量进行选择,A、B、C、E为当前像素分量相邻的周围像素分量,即模板任一表位中与当前像素分量对应的重建值,D为当前像素分量分量左相邻的像素分量分量的重建值,其中像素分量A为左上相邻参考像素分量、像素分量B为上相邻参考像素分量、像素分量C为右上相邻参考像素分量、像素分量D为左相邻参考像素分量、像素分量E为像素分量A的左相邻参考像素分量:
[0120] a.若ABS(D-E)最小,即135度纹理,那么参考像素分量为像素分量A;
[0121] b.若ABS(D-A)最小,即垂直纹理,那么参考像素分量为像素分量B;
[0122] c.若ABS(D-B)最小,即45度纹理,那么参考像素分量为像素分量C;
[0123] d.若ABS(B-A)最小,即平纹理,那么参考像素分量为像素分量D;
[0124] 根据上述方式,选取参考像素分量,遍历模板中的所有表位,将选取的参考像素分量中的最小值作为最终的参考像素分量,将最终的参考像素分量值与当前待编码宏块的像素分量值求差得到当前待编码宏块预测残差。
[0125] 步骤4、判断待编码宏块是否处理完毕
[0126] 当前待编码宏块获取预测残差后,继续判断是否图像中的所有待编码宏块均获取预测操作,若是,则预测结束,否则,跳转到步骤1,继续进行后续待编码宏块的预测操作。
[0127] 本实施例通过定义自适应模板表位的数量和待压缩宏块的像素分量的方式,计算当前待压缩宏块的预测残差,与现有的方法相比,当待压缩图像的纹理较为复杂时,定义不同的自适应模板对应不同的纹理区域,更容易提高当前待压缩宏块中的像素分量与自适应模板中选定的像素分量匹配的概率,适用于宏块图像复杂度高的场景,能够提高对复杂纹理区域求预测残差值的精度,进一步降低理论极限熵,增大带宽压缩率。
[0128] 实施例三
[0129] 本实施例在上述实施例的基础上,对本发明提出的自适应方向预测方式进行详细描述。该方式包括如下步骤:
[0130] 步骤21、定义当前像素有K(K>1)个像素分量,分别为像素分量1、像素分量2……像素分量K;
[0131] 步骤22、对于当前像素的每个像素分量,通过该像素分量的周围像素分量,确定每个像素分量的N个纹理方向梯度值G1~GN;
[0132] 优选地,当前像素分量的周围像素分量,可与当前像素分量相邻,也可不相邻;如图5所示,图5为本发明实施例提供的一种参考像素分量位置示意图;CUR代表当前像素分量,即周围像素分量可以为GHIK,也可以为ABCDEFJ。
[0133] 步骤23、将每个像素分量的N个纹理方向梯度值G1~GN(G1~GN既代表纹理方向梯度值的大小,也代表纹理方向梯度值的方向)进行加权得到N个纹理方向梯度值加权后的第一加权梯度值BG,加权公式如下:
[0134] BGi=w1*G1+w2*G2+…+wN*GN (i=1…K)
[0135] 其中,w1、w2…wN为加权系数;BG1为像素分量1的第一加权梯度值,BG2为像素分量2的第一加权梯度值,依次类推,BGK为像素分量K的第一加权梯度值。
[0136] 优选地,根据每个像素分量与对应的计算纹理方向梯度值的像素分量的位置关系,设置加权系数w1、w2…wN获得每个像素分量的第一加权梯度值的最优值BGbst。
[0137] 优选地,计算当前纹理方向梯度值的像素与当前像素分量距离越近加权系数值越大,加权系数值的总和为1,具体为w1+w2+…+wN=1。
[0138] 步骤24、将K个像素分量的第一加权梯度值的最优值BGbst进行加权,可以得到第一加权梯度值的最优值加权后的第二加权梯度值BG",加权公式如下:
[0139] BG"i=t1*BGbst1+t2*BGbst2+…+tK*BGbstK (i=1…K)
[0140] 其中,t1、t2…tK为加权系数;BGbst1为像素分量1的第一加权梯度值的最优值,BGbst2为像素分量2的第一加权梯度值的最优值,依次类推,BGbstK为像素分量K的第一加权梯度值的最优值,BG"1为像素分量1的第二加权梯度值,BG"2为像素分量2的第二加权梯度值,依次类推,BG"K为像素分量K的第二加权梯度值,确定出第二加权梯度值BG"的最优值BG"bst。
[0141] 优选地,根据每个像素分量与对应第一加权梯度值的最优值BGbst的关系,设置加权系数t1、t2…tK获得每个像素分量的第二加权梯度值的最优值BGbst。
[0142] 优选地,当前像素分量下的第一加权梯度值的最优值BGbst加权系数值最大,与当前像素分量距离逐渐增加的其它像素分量下的第一加权梯度值的最优值BGbst加权系数值逐渐减小,加权系数值的总和为1,具体为t1+t2+…+tk=1。
[0143] 第二加权梯度值的最优值BG"bst的方向即为当前像素分量的参考方向Dir。
[0144] 步骤25、将每个像素分量的参考方向上所有可用的像素分量像素值进行加权,得到每个像素分量的参考值Ref,加权公式如下所示:
[0145] Refi=r1*cpt1+r2*cpt2+…+rN*cptN (i=1…K)
[0146] 其中,r1、r2…rN为加权系数,可以相同也可以不同;cpt1~cptN为每个像素分量的参考方向上N个可用的像素分量的像素值;Ref1为像素分量1的参考值,Ref2为像素分量2的参考值,依次类推,RefK为像素分量K的参考值。
[0147] 步骤26、将当前像素分量的像素值减去参考值,可以得到当前像素分量的预测残差Dif;公式如下:
[0148] Difi=Curcpti-Refi (i=1…K)
[0149] 其中,Curcpt1为像素分量1的像素值,Curcpt2为像素分量2的像素值,依次类推,CurcptK为像素分量K的像素值;Dif1为像素分量1的预测残差,Dif2为像素分量2的预测残差,依次类推,DifK为像素分量K的预测残差。
[0150] 步骤27、当前像素的其余像素分量,重复S22~S26,即得到该像素所有像素分量的预测残差。
[0151] 优选地,多像素分量可以并行处理,也可以串行处理,具体应用规格场景需要。
[0152] 在一个实施例中将当前像素分为Y、U、V三个像素分量,具体步骤如下:
[0153] 步骤31、定义当前像素有三个像素分量,分别为像素分量Y、像素分量U、像素分量V;
[0154] 步骤32、对于当前像素的三个像素分量,通过每个像素分量的周围像素分量,确定每个像素分量的3个纹理方向梯度值G1、G2、G3;
[0155] 优选地,对于像素分量Y、像素分量U、像素分量V,分别根据图6所示,图6为本发明实施例提供的一种梯度值计算示意图;ABS(K-H)为45度梯度值,ABS(K-G)为90度梯度值,ABS(K-F)为135度梯度值,ABS(K-J)为180度梯度值。其中,ABS为绝对值运算。
[0156] 步骤33、对于像素分量Y、像素分量U、像素分量V的每一个像素分量,加权步骤2中的3个纹理方向梯度值G1、G2、G3,例如为45度梯度值,90度梯度值,135度梯度值,得到每一个像素分量的第一加权梯度值BG,求解每一个像素分量的第一加权梯度值的最优值。
[0157] 优选地,例如对于Y像素分量,45度梯度值上的像素分量H、90度梯度值上的像素分量G与135度梯度值上的像素分量F与Y像素分量的距离逐渐增大,因此,w1选取为0.5,w2选取为0.3,w3选取为0.2,BGbstY=0.5*G1+0.3*G2+0.2*G3。同理可以得出BGbstU和BGbstV。
[0158] 步骤34、将3个像素分量的第一加权梯度值的的最优梯度值进行加权得出第一加权梯度值最优值加权后的第二加权梯度值BG",并选取出第二加权梯度值的最优值BG"bst。加权计算如下:
[0159] BG"bstY=0.5*BGbstY+0.3*BGbstU+0.2*BGbstV
[0160] BG"bstU=0.3*BGbstY+0.4*BGbstU+0.3*BGbstV
[0161] BG"bstV=0.2*BGbstY+0.3*BGbstU+0.5*BGbstV
[0162] 其中,BG"bstY为像素分量Y第二加权梯度值的最优值,BG"bstU为像素分量U第二加权梯度值的最优值,BG"bstV为像素分量V第二加权梯度值的最优值,BGbstY为像素分量Y第一加权梯度值的最优值,BGbstU为像素分量U第一加权梯度值的最优值,BGbstV为像素分量V第一加权梯度值的最优值。
[0163] 上式中的系数选取规则为当前像素分量下的第一加权梯度值的最优值BGbst加权系数值最大,与当前像素分量距离逐渐增加的其它像素分量下的第一加权梯度值的最优值BGbst加权系数值逐渐减小,加权系数值的总和为1。
[0164] 其中,BG"bst的方向为当前像素分量的参考方向Dir,即DirY为像素分量Y的参考方向,DirU为像素分量U的参考方向,DirV为像素分量V的参考方向。
[0165] 步骤35、将3个像素分量的参考方向上2个像素分量像素值进行加权,得到3个像素分量的参考值Ref,加权公式如下所示:
[0166] RefY=r1*cpt1+r2*cpt2
[0167] RefU=r1*cpt1+r2*cpt2
[0168] RefV=r1*cpt1+r2*cpt2
[0169] 其中,RefY为Y像素分量的参考值,RefU为U像素分量的参考值,RefV为V像素分量的参考值,cpt1、cpt2为每个参考方向的像素分量像素值。
[0170] 优选地,对于任意像素分量,若为45度参考,那么参考值REF为0.8*I+0.2E;若为90度参考,那么参考值为0.8*H+0.2C;若为135度参考,那么参考值为0.8*G+0.2A;若为180度参考,那么参考值为0.8*K+0.2J,像素分量离当前像素分量越近,配置系数越大。
[0171] 步骤36、将当前像素分量的像素值减去参考值,可以得到当前像素分量的预测残差Dif,计算如下:
[0172] DifY=CurcptY-RefY
[0173] DifU=CurcptU-RefU
[0174] DifV=CurcptV-RefV
[0175] 其中,CurcptY为像素分量Y的像素值,CurcptU为像素分量U的像素值,CurcptV为像素分量V的像素值;DifY为像素分量Y的预测残差,DifU为像素分量U的预测残差,DifV为像素分量V的预测残差。
[0176] 1、本实施例通过每个像素分量的多方向梯度加权和同位置多像素分量的方向加权,可以更加合理的确定当前像素分量的预测方向,可以起到更好的预测方向纠偏效果。并且该方法,可以均衡同位置各像素分量间和同像素分量相邻多像素分量间的纹理预测方向,减少单个像素分量预测误判的可能性,最终进一步降低预测的理论极限熵。
[0177] 2、本实施例将多像素分量并行处理,更利于实现预测方法的并行化处理。相对于串行像素分量处理的时间长效率低,并行处理可以成倍提高处理速度,利于预测算法的硬件实现。
[0178] 实施例四
[0179] 本实施例在上述实施例的基础上,对本发明提出的自适应纹理预测方式进行详细描述。该方式包括如下步骤:
[0180] 步骤1、定义待编码宏块的大小
[0181] 定义待编码宏块的大小为m*n个像素分量,其中m≥1,n≥1;
[0182] 优选的,可以定义待编码宏块的大小为8*1个像素分量,16*1个像素分量,32*1个像素分量,64*1个像素分量;本实施例以待编码宏块的大小为16*1个像素分量为例说明,其它不同大小的待编码宏块同理。待编码宏块中的像素分量按照从0到15的序号从左至右依次排列,每一个序号位置对应一个像素分量。
[0183] 步骤2、定义采样方式
[0184] 根据待编码宏块中存在的纹理相关性,待编码宏块中的像素分量距离越近,待编码宏块的纹理渐变的一致性概率越高,反之待编码宏块中的像素分量距离越远,待编码宏块的纹理渐变的一致性概率越低,据此将待编码宏块中的像素分量进行等距离采样,可以选取多种等距离采样方式。
[0185] 优选地,如图7所示,图7为本发明实施例提供的一种采样方式示意图;本实施例将待编码宏块中的16*1个像素分量进行等距离采样,以全采样、1/2采样、1/4采样、1/8采样和1/16采样五种等距离采样方式举例说明,其它等距离采样方式同理,其中,
[0186] 全采样是将待编码宏块中序号为0到15对应位置的16个像素分量全部进行采样;
[0187] 1/2采样是将待编码宏块中序号为0、2、4、6、8、10、12、14、15对应位置的9个像素分量进行采样;
[0188] 1/4采样是将待编码宏块中序号为0、4、8、12、15对应位置的5个像素分量进行采样;
[0189] 1/8采样是将待编码宏块中序号为0、8、15对应位置的3个像素分量进行采样;
[0190] 1/16采样是将待编码宏块中序号为0、15对应位置的2个像素分量进行采样。
[0191] 步骤3、将步骤2中选取的多种等距离采样方式进行处理获取预测残差。
[0192] 本实施例以一种等距离采样方式的处理过程为例进行说明,其他种类的等距离采样方式的处理过程相同。具体如下:
[0193] 步骤31、如图8所示,图8为本发明实施例提供的一种非采样点预测方法示意图;设当前的等距离采样为1/4采样,将当前待编码宏块中的采样点与当前待编码宏块正上方相邻待编码宏块中垂直位置的点进行预测,求得预测残差,即将采样点的像素分量与当前待编码宏块正上方相邻待编码宏块中垂直位置点的像素分量相减,求得预测残差;
[0194] 将当前待编码宏块中的非采样点,利用如下公式求得预测残差。
[0195] Resi=(sample1-sample0)*(i+1)/(num+1)
[0196] 其中,simple0和simple1为连续的采样点的像素分量重建值,i为非采样点索引,num为非采样点数量。
[0197] 进一步地,像素分量重建值可以指的是已压缩编码待编码宏块解码端重建得到的像素分量值。
[0198] 步骤32、采用步骤31中的等距离采样方式的处理过程获取当前待编码宏块所有像素分量的预测残差,同时求取当前待编码宏块的残差绝对值和;
[0199] 步骤33、重复步骤31~步骤33,获取当前待编码宏块的多种等距离采样方式的预测残差与残差绝对值和,在本实施例中即获取当前待编码宏块的5种采样的5组预测残差和残差绝对值和。
[0200] 步骤4、将步骤3中获取的残差绝对值和最小值所对应的采样方式确定为当前待编码宏块的最终采样方式。
[0201] 步骤5、将当前待编码宏块的采样方式和预测残差写入码流。
[0202] 本实施例采用的预测方法与现有方法相比,当处理纹理较为复杂的压缩图像时,对处于当前待压缩图像纹理边界处的当前待编码宏块,根据纹理的渐变原理,通过当前待编码宏块自身的纹理特性自适应的获取预测残差,从而避免因周围待编码宏块与当前待编码宏块相关性较差,不能获取较小的预测残差,利用本发明的自适应纹理渐变预测方式提高对较为复杂纹理区域求预测残差值的精度,进一步降低理论极限熵,增大带宽压缩率。
[0203] 实施例五
[0204] 本实施例在上述实施例的基础上,对本发明提出的视频图像的编码装置进行详细描述,如9所示,图9为本发明实施例提供的一种视频图像的编码装置示意图;该装置包括:
[0205] 接收模块,用于接收待编码的视频图像;
[0206] 划分模块,连接所述接收模块,用于将所述视频图像中的每一图像帧划分为若干待编码宏块;
[0207] 识别模块,连接所述划分模块,用于识别所述待编码宏块的图像复杂度;
[0208] 选取模块,连接所述划分模块,用于预先选取多种预测模式;
[0209] 预选择模块,连接所述识别模块和所述选取模块,用于根据所述待编码宏块的图像复杂度预选择所述待编码宏块的两种预测模式;
[0210] 确定模块,连接所述预选择模块,用于根据所述图像复杂度预选择的两种预测模式利用预设算法确定所述待编码宏块的最终预测模式;
[0211] 编码模块,连接所述确定模块,用于根据所述最终预测模式编码所述待编码宏块。
[0212] 其中,所述识别模块具体用于:利用预设公式计算所述待编码宏块的梯度值;根据所述梯度值确定所述待编码宏块的图像复杂度。
[0213] 其中,所述预选择模块具体用于:根据所述视频图像的像素深度确定所述待编码宏块的梯度级别;根据所述待编码宏块的图像复杂度与所述梯度级别的对应关系预选择所述待编码宏块的两种预测模式。
[0214] 其中,所述确定模块具体用于:利用所述图像复杂度预选择的两种预测模式分别计算所述待编码宏块对应的两组预测残差;根据所述两组预测残差利用预设算法确定所述待编码宏块的最终预测模式。
[0215] 其中,所述编码模块具体用于:将所述待编码宏块的最终预测模式的标志信息和所述最终预测模式对应的一组预测残差进行编码并传输至码流中。
[0216] 综上所述,本文中应用了具体个例对本发明进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制,本发明的保护范围应以所附的权利要求为准。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈