CN104702954A - 视频编码方法及装置 - Google Patents
视频编码方法及装置 Download PDFInfo
- Publication number
- CN104702954A CN104702954A CN201310655415.8A CN201310655415A CN104702954A CN 104702954 A CN104702954 A CN 104702954A CN 201310655415 A CN201310655415 A CN 201310655415A CN 104702954 A CN104702954 A CN 104702954A
- Authority
- CN
- China
- Prior art keywords
- block
- present encoding
- encoding block
- reference block
- mirror image
- 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.)
- Granted
Links
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明公开了一种视频编码方法及装置,属于视频压缩技术领域。方法包括:确定当前编码块的参考块;根据参考块判断当前编码块是否满足镜像编码条件;如果当前编码块满足镜像编码条件,则根据参考块的镜像纹理块对当前编码块进行编码;其中,镜像纹理块由参考块做镜像处理得到。本发明在确定当前编码块的参考块后,根据参考块判断当前编码块是否满足镜像编码条件,如果当前编码块满足镜像编码条件,则参考块的镜像纹理块与当前编码块之间的残差数据要小于参考块与当前编码块之间的残差数据,所以根据镜像纹理块对当前编码块进行编码时,可降低视频的编码比特率,且可提高视频的视觉质量。
Description
技术领域
本发明涉及视频压缩技术领域,特别涉及一种视频编码方法及装置。
背景技术
随着社会的不断进步,各种类型的视频大量涌现,丰富了人们的日常工作和学习。在制作视频时,一个视频通常包含的数据量巨大,这对存储该视频及传输该视频均造成了很大的困扰。例如,一张DVD(Digital Versatile Disc,数字多功能光盘)仅能存储时长为几秒钟的视频,而1兆的带宽传输时长为1秒的视频会需要大约4分钟。无论是基于成本还是用户体验度的考虑,上述存储及传输视频的方式均有很多弊端。因此,为了解决视频存储及传输困难的问题,如何对视频进行编码,以降低视频的数据量,成为了本领域技术人员一个亟待解决的问题。
现有技术在对视频进行编码时,通常以宏块为编码单位,每个宏块的大小为16×16。经由预测编码、变换编码、量化及熵编码四个过程实现对当前编码块的编码,而预测编码又分为帧间预测编码及帧内预测编码。
针对帧间预测编码,在对当前编码块进行编码之前,先在各个预测模式下根据参考块预测得到预测块,并计算当前编码块与预测块之间的残差数据;之后,根据各个预测模式下的残差数据及当前编码块的纹理复杂度信息确定当前编码块的最佳预测模式。之后,根据确定的当前编码块的最佳预测模式,得到参考块与预测块之间的残差数据,并对当前编码块与预测块之间的残差数据依次进行变换编码、量化编码及熵编码,得到编码结果,完成当前编码块的编码。
针对帧内预测编码,在对当前编码块进行编码之前,先根据当前编码块中各个像素的亮度值获取当前编码块的纹理丰富程度;其次,根据当前编码块的纹理丰富程度选择当前编码块的亮度预测策略;之后,根据当前编码块的纹理方向性在选择的当前编码块的亮度预测策略中确定当前编码块的最佳亮度预测模式,并根据当前编码块的纹理方向性在当前编码块的色度预测策略中确定当前编码块的最佳色度预测模式。之后,在确定的当前编码块的最佳亮度预测模式及最佳色度预测模式下,根据参考块预测得到预测块,并计算当前编码块与预测块之间的残差数据。最后,对参考块与预测块之间的残差数据依次进行变换编码、量化编码及熵编码,得到编码结果,完成当前编码块的编码。
针对现有技术中的视频编码方式,由于在进行帧间预测编码时仅利用了当前编码块的纹理复杂度信息,而在进行帧内预测编码时仅利用了纹理方向性信息,因此,在根据参考块对当前编码块进行编码的过程中,当前编码块与参考块之间的残差数据较大,进而对视频的编码比特率和视觉质量造成不良影响。
发明内容
为了解决现有技术的问题,本发明实施例提供了一种视频编码方法及装置。所述技术方案如下:
第一方面,提供了一种视频编码方法,所述方法包括:
确定当前编码块的参考块;
根据所述参考块判断所述当前编码块是否满足镜像编码条件;
如果所述当前编码块满足镜像编码条件,则根据所述参考块的镜像纹理块对所述当前编码块进行编码;
其中,所述镜像纹理块由所述参考块做镜像处理得到。
在第一方面的第一种可能的实现方式中,所述确定当前编码块的参考块,包括:
当所述当前编码块为帧内编码帧的子块时,将所述当前编码块所在帧中所述当前编码块的相邻块确定为所述当前编码块的参考块;
当所述当前编码块为帧间编码帧的子块时,将所述当前编码块所在帧的参考帧中与所述当前编码块相匹配的编码块确定为所述当前编码块的参考块。
结合第一方面,在第一方面的第二种可能的实现方式中,所述根据所述参考块判断所述当前编码块是否满足镜像编码条件,包括:
计算所述当前编码块与所述参考块之间的纹理对称性强度;
判断所述纹理对称性强度是否大于阈值;
如果所述纹理对称性强度大于阈值,则确定所述当前编码块满足所述镜像编码条件。
结合第一方面的第二种可能的实现方式,在第一方面的第三种可能的实现方式中,所述计算所述当前编码块与所述参考块之间的纹理对称性强度,包括:
在所述参考块对应进行镜像处理的方向上,计算所述当前编码块与所述参考块之间的各个对应位置上的像素值相等的像素点数占全部像素点数的百分比。
结合第一方面的第三种可能的实现方式,在第一方面的第四种可能的实现方式中,所述根据所述参考块的镜像纹理块对所述当前编码块进行编码之前,所述方法还包括:
对所述参考块进行所述参考块对应进行镜像处理方向上的镜像处理,得到所述参考块的镜像纹理块。
结合第一方面的第二种可能的实现方式,在第一方面的第五种可能的实现方式中,所述计算所述当前编码块与所述参考块之间的纹理对称性强度,包括:
在至少一个预设方向上,计算所述当前编码块与所述参考块之间的各个对应位置上的像素值相等的像素点数占全部像素点数的百分比。
结合第一方面的第五种可能的实现方式,在第一方面的第六种可能的实现方式中,所述判断所述纹理对称性强度是否大于阈值,包括:
在计算的所有纹理对称性强度中确定纹理对称性强度最大值;
判断所述纹理对称性强度最大值是否大于所述阈值。
结合第一方面的第六种可能的实现方式,在第一方面的第七种可能的实现方式中,所述根据所述参考块的镜像纹理块对所述当前编码块进行编码之前,所述方法还包括:
确定所述纹理对称性强度最大值对应的预设方向,并对所述参考块进行所述纹理对称性强度最大值对应的预设方向上的镜像处理,得到所述参考块的镜像纹理块。
结合第一方面,在第一方面的第八种可能的实现方式中,所述根据所述参考块判断所述当前编码块是否满足镜像编码条件,包括:
根据所述参考块对所述当前编码块进行预测,得到第一预测编码块;
对所述参考块进行所述参考块对应方向上的镜像处理,得到所述参考块的镜像纹理块;
根据所述镜像纹理块对所述当前编码块进行预测,得到第二预测编码块;
计算所述当前编码块与所述第一预测编码块之间的第一残差数据、所述当前编码块与所述第二预测编码块之间的第二残差数据;
判断所述第二残差数据是否小于所述第一残差数据;
如果所述第二残差数据小于所述第一残差数据,则判断所述当前编码块满足所述镜像编码条件。
结合第一方面,在第一方面的第九种可能的实现方式中,所述根据所述参考块判断所述当前编码块是否满足镜像编码条件,包括:
根据所述参考块对所述当前编码块进行预测,得到第一预测编码块;
对所述参考块进行至少一个预设方向上的镜像处理,得到所述参考块在各个预设方向上的镜像纹理块;
根据所述参考块在各个预设方向上的镜像纹理块分别对所述当前编码块进行预测,得到所述各个预设方向对应的预测编码块;
计算所述当前编码块与所述第一预测编码块之间的第一残差数据,并计算所述各个预设方向对应的预测编码块分别与所述当前编码块之间的残差数据,并将数值最小的残差数据作为第三残差数据;
判断所述第三残差数据是否小于所述第一残差数据;
如果所述第三残差数据小于所述第一残差数据,则判断所述当前编码块满足所述镜像编码条件。
结合第一方面的第九种可能的实现方式,在第一方面的第十种可能的实现方式中,所述根据所述镜像纹理块对所述当前编码块进行编码,包括:
根据所述第三残差数据对应的镜像纹理块对所述当前编码块进行编码。
第二方面,提供了一种视频编码装置,所述装置包括:
确定模块,用于确定当前编码块的参考块;
判断模块,用于根据所述确定模块确定的参考块判断所述当前编码块是否满足镜像编码条件;
编码模块,用于当所述判断模块判断当前编码块满足镜像编码条件时,根据所述参考块的镜像纹理块对所述当前编码块进行编码;
其中,所述镜像纹理块由所述参考块做镜像处理得到。
在第二方面的第一种可能的实现方式中,所述确定模块用于当所述当前编码块为帧内编码帧的子块时,将所述当前编码块所在帧中所述当前编码块的相邻块确定为所述当前编码块的参考块;当所述当前编码块为帧间编码帧的子块时,将所述当前编码块所在帧的参考帧中与所述当前编码块相匹配的编码块确定为所述当前编码块的参考块。
结合第二方面,在第二方面的第二种可能的实现方式中,所述判断模块,包括:
第一计算单元,用于计算所述当前编码块与所述参考块之间的纹理对称性强度;
第一判断单元,用于判断所述第一计算单元计算的纹理对称性强度是否大于阈值;
第一确定单元,用于当所述第一判断单元判断纹理对称性强度大于阈值时,确定所述当前编码块满足所述镜像编码条件。
结合第二方面的第二种可能的实现方式,在第二方面的第三种可能的实现方式中,所述第一计算单元,用于在所述参考块对应进行镜像处理的方向上,计算所述当前编码块与所述参考块之间的各个对应位置上的像素值相等的像素点数占全部像素点数的百分比。
结合第一方面的第三种可能的实现方式,在第一方面的第四种可能的实现方式中,所述判断模块,包括:
第一处理单元,用于对所述参考块进行所述参考块对应进行镜像处理方向上的镜像处理,得到所述参考块的镜像纹理块。
结合第二方面的第二种可能的实现方式,在第二方面的第五种可能的实现方式中,所述第一计算单元,用于在至少一个预设方向上计算所述当前编码块与所述参考块之间的各个对应位置上的像素值相等的像素点数占全部像素点数的百分比。
结合第二方面的第五种可能的实现方式,在第二方面的第六种可能的实现方式中,所述第一判断单元,包括:
确定子单元,用于在计算的所有纹理对称性强度中确定纹理对称性强度最大值;
判断子单元,用于判断所述确定子单元确定的纹理对称性强度最大值是否大于所述阈值。
结合第二方面的第六种可能的实现方式,在第二方面的第七种可能的实现方式中,所述判断模块,包括:
第二确定单元,用于确定所述纹理对称性强度最大值对应的预设方向;
所述第一处理单元,用于对所述参考块进行所述第二确定单元确定的纹理对称性强度最大值对应的预设方向上的镜像处理,得到所述参考块的镜像纹理块。
结合第二方面,在第二方面的第八种可能的实现方式中,所述判断模块,包括:
第一预测单元,用于根据所述参考块对所述当前编码块进行预测,得到第一预测编码块;
第二处理单元,用于对所述参考块进行所述参考块对应方向上的镜像处理,得到所述参考块的镜像纹理块;
第二预测单元,用于根据所述镜像纹理块对所述当前编码块进行预测,得到第二预测编码块;
第二计算单元,用于计算所述当前编码块与所述第一预测单元预测的第一预测编码块之间的第一残差数据、所述当前编码块与所述第二预测单元预测的第二预测编码块之间的第二残差数据;
第二判断单元,用于判断所述第二残差数据是否小于所述第一残差数据;
第三判断单元,用于当所述第二判断单元判断第二残差数据小于所述第一残差数据时,判断所述当前编码块满足所述镜像编码条件。
结合第二方面,在第二方面的第九种可能的实现方式中,所述判断模块,包括:
所述第一预测单元,用于根据所述参考块对所述当前编码块进行预测,得到第一预测编码块;
所述第二处理单元,用于对所述参考块进行至少一个预设方向上的镜像处理,得到所述参考块在各个预设方向上的镜像纹理块;
所述第二预测单元,用于根据所述参考块在各个预设方向上的镜像纹理块分别对所述当前编码块进行预测,得到所述各个预设方向对应的预测编码块;
所述第二计算单元,用于计算所述当前编码块与所述第一预测单元预测的第一预测编码块之间的第一残差数据,并计算所述第二预测单元预测的各个预设方向对应的预测编码块分别与所述当前编码块之间的残差数据,并将数值最小的残差数据作为第三残差数据;
所述第二判断单元,用于判断所述第三残差数据是否小于所述第一残差数据;
所述第三判断单元,用于当所述第二判断单元判断第三残差数据小于所述第一残差数据,则判断所述当前编码块满足所述镜像编码条件。
结合第二方面的第九种可能的实现方式,在第二方面的第十种可能的实现方式中,所述编码模块,用于根据所述第二计算单元计算的第三残差数据对应的镜像纹理块对所述当前编码块进行编码。
本发明实施例提供的技术方案带来的有益效果是:
在确定当前编码块的参考块后,根据参考块判断当前编码块是否满足镜像编码条件,如果当前编码块满足镜像编码条件,则参考块的镜像纹理块与当前编码块之间的残差数据要小于参考块与当前编码块之间的残差数据,所以根据镜像纹理块对当前编码块进行编码时,可降低视频的编码比特率,且可提高视频的视觉质量。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例一提供的一种视频编码的方法流程图;
图2是本发明实施例二提供的一种视频编码的方法流程图;
图3是本发明实施例二提供的当前编码块与参考块之间的对应关系示意图;
图4是本发明实施例三提供的一种视频编码的方法流程图;
图5是本发明实施例四提供的一种视频编码装置的结构示意图;
图6是本发明实施例四提供的第一种判断模块的内部结构示意图;
图7是本发明实施例四提供的第二种判断模块的内部结构示意图;
图8是本发明实施例四提供的一种判断单元的内部结构示意图;
图9是本发明实施例四提供的第三种判断模块的内部结构示意图;
图10是本发明实施例四提供的第四种判断模块的内部结构示意图;
图11是本发明实施例五提供的一种视频编码设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
实施例一
本发明实施例提供了一种视频编码方法,参见图1,本实施例提供的方法流程包括:
101:确定当前编码块的参考块;
进一步地,确定当前编码块的参考块,包括但不限于:
当该当前编码块为帧内编码帧的子块时,将当前编码块所在帧中当前编码块的相邻块确定为当前编码块的参考块;
当该当前编码块为帧间编码帧的子块时,将当前编码块所在帧的参考帧中与当前编码块相匹配的编码块确定为当前编码块的参考块。
102:根据参考块判断当前编码块是否满足镜像编码条件;
进一步地,根据参考块判断当前编码块是否满足镜像编码条件,包括但不限于:
计算当前编码块与参考块之间的纹理对称性强度;
判断纹理对称性强度是否大于阈值;
如果纹理对称性强度大于阈值,则确定当前编码块满足镜像编码条件。
进一步地,计算当前编码块与参考块之间的纹理对称性强度,包括但不限于:
在参考块对应进行镜像处理的方向上,计算当前编码块与参考块之间的各个对应位置上的像素值相等的像素点数占全部像素点数的百分比。
进一步地,计算当前编码块与参考块之间的纹理对称性强度,包括但不限于:
在至少一个预设方向上,计算当前编码块与参考块之间的各个对应位置上的像素值相等的像素点数占全部像素点数的百分比。
进一步地,判断纹理对称性强度是否大于阈值,包括但不限于:
在计算的所有纹理对称性强度中确定纹理对称性强度最大值;
判断纹理对称性强度最大值是否大于阈值。
进一步地,根据参考块的镜像纹理块对当前编码块进行编码之前,该方法还包括:
对参考块进行参考块对应进行镜像处理方向上的镜像处理,得到参考块的镜像纹理块。
进一步地,根据参考块的镜像纹理块对当前编码块进行编码之前,该方法还包括:
确定纹理对称性强度最大值对应的预设方向,并对参考块进行纹理对称性强度最大值对应的预设方向上的镜像处理,得到参考块的镜像纹理块。
进一步地,根据参考块判断当前编码块是否满足镜像编码条件,包括但不限于:
根据参考块对当前编码块进行预测,得到第一预测编码块;
对参考块进行参考块对应方向上的镜像处理,得到参考块的镜像纹理块;
根据镜像纹理块对当前编码块进行预测,得到第二预测编码块;
计算当前编码块与第一预测编码块之间的第一残差数据、当前编码块与第二预测编码块之间的第二残差数据;
判断第二残差数据是否小于第一残差数据;
如果第二残差数据小于第一残差数据,则判断当前编码块满足镜像编码条件。
进一步地,根据参考块判断当前编码块是否满足镜像编码条件,包括但不限于:
根据参考块对当前编码块进行预测,得到第一预测编码块;
对参考块进行至少一个预设方向上的镜像处理,得到参考块在各个预设方向上的镜像纹理块;
根据参考块在各个预设方向上的镜像纹理块分别对当前编码块进行预测,得到各个预设方向对应的预测编码块;
计算当前编码块与第一预测编码块之间的第一残差数据,并计算各个预设方向对应的预测编码块分别与当前编码块之间的残差数据,并将数值最小的残差数据作为第三残差数据;
判断第三残差数据是否小于第一残差数据;
如果第三残差数据小于第一残差数据,则判断当前编码块满足镜像编码条件。
103:如果当前编码块满足镜像编码条件,则根据参考块的镜像纹理块对当前编码块进行编码;其中,镜像纹理块由参考块做镜像处理得到。
进一步地,根据镜像纹理块对当前编码块进行编码,包括但不限于:
根据第三残差数据对应的镜像纹理块对当前编码块进行编码。
本实施例提供的方法,根据参考块判断当前编码块是否满足镜像编码条件,如果当前编码块满足镜像编码条件,则参考块的镜像纹理块与当前编码块之间的残差数据要小于参考块与当前编码块之间的残差数据,所以根据镜像纹理块对当前编码块进行编码时,可降低视频的编码比特率,且可提高视频的视觉质量。
实施例二
本发明实施例提供了一种视频编码方法,为了便于说明,结合上述实施例一的内容,以将当前编码块所在帧定义为当前编码帧,且当前编码帧为帧间编码帧,至少一个预设方向分别为水平方向、垂直方向及对角方向为例,对本实施例提供的视频编码方式进行详细地解释说明。参见图2,本实施例提供的方法流程包括:
201:确定当前编码块的参考块;
针对该步骤,当前编码块的参考块存在于参考帧中,而参考帧来自帧序列中已编码的帧。在播放顺序上,该参考帧既可以在当前编码帧之前,也可以在当前编码帧之后。在确定当前编码块的参考块时,需先确定当前编码帧的参考帧。其中,确定当前编码帧的参考帧的具体实现方式,包括但不限于如下方式:
将在编码顺序上距离当前编码帧最近的前一参考帧确定为当前编码帧的参考帧。
在确定当前编码帧的参考帧后,需在参考帧中确定当前编码块的参考块。其中,在参考帧中确定当前编码块的参考块的具体实现方式,包括但不限于如下方式:
根据当前编码块在当前编码帧中的位置,估计当前编码块在参考帧中的可能区域,将该可能区域中与当前编码块大小一致的各个块同当前编码块进行匹配,确定各个块中与当前编码块匹配度最高的块,并将与当前编码块匹配度最高的块确定为当前编码块的参考块。
202:根据参考块判断当前编码块是否满足镜像编码条件;
针对该步骤,在根据参考块判断当前编码块是否满足镜像编码条件时,可采取包括但不限于如下两种方式进行判断:
第一种方式:计算当前编码块与参考块之间的纹理对称性强度,并判断该纹理对称性强度是否大于阈值;如果该纹理对称性强度大于阈值,则判断当前编码块满足镜像编码条件。
其中,阈值的大小具体可为0.85。当然,阈值的大小除0.85外,还可为其他大小,例如,0.75或0.8等等,本实施例对阈值的大小不作具体限定。
进一步地,计算当前编码块与参考块之间的纹理对称性强度的具体实现方式,包括但不限于如下方式:
分别计算当前编码块与参考块之间在水平方向上、垂直方向上及对角方向上的纹理对称性强度。
需要说明的是,在计算当前编码块与参考块之间纹理对称性强度时,可采用比较当前编码块和参考块之间对应(co_located)位置上像素点的像素值的方式的方式,进而衡量当前编码块与参考块之间的纹理对称性强弱。而在计算当前编码块和参考块之间的纹理对称性强度时,还需先确定当前编码块和参考块之间的co_located位置。以当前编码块和参考块的大小都为M×N,以符号CurBlock标识当前编码块,符号RefBlock标识参考块,且当前编码块和参考块的起始点均为[0,0]为例,则当前编码块和参考块之间的co_located位置满足如下系:
水平方向:当前编码块中的像素点CurBlock[i][j]在参考块中的co_located位置是RefBlock[M-i-1][j],其中:0≤i<M,0≤j<N;
垂直方向:当前编码块中的像素点CurBlock[i][j]在参考块中的co_located位置是RefBlock[i][N-j-1],其中:0≤i<M,0≤j<N;
对角方向:当前编码块中的像素点CurBlock[i][j]在参考块中的co_located位置是RefBlock[M-i-1][N-j-1],其中:0≤i<M,0≤j<N。
在得到当前编码块和参考块之间的co_located位置后,通过确定当前编码块和参考块之间各个co_located位置上具有相同像素值的像素点个数,可计算当前编码块和参考块之间的纹理对称性强度。纹理对称性强度的计算公式如下:
R=n/S (1)
其中,R为当前编码块与参考块之间的纹理对称性强度,n为当前编码块与参考像素块之间各个co_located位置上具有相等像素值的像素点个数,S为当前编码块或参考块中像素点总个数。
以当前编码块和参考块的大小均为4×4,计算当前编码块与参考块水平方向上的纹理对称性强度为例,现结合图3详细地说明当前编码块与参考块之间纹理对称性强度的计算方式。在图3中,右侧的像素块为当前编码块,左侧的像素块为参考块,中间的虚线为当前编码块和参考块之间的对称轴,带箭头的实线标示出当前编码块和参考块之间的co_located位置。图3中每个像素块中均有16像素点。为了形象地表示各个像素点,图3中每个编码块中的16个图形各异的小正方块即指代16个像素点。其中,图形相同的小正方块即代表像素值相等的像素点。在图3中,根据带箭头的实线所标示的方向可确定参考块的右上角像素点与当前编码块的左上角像素点为相应位置上的像素点,且二者具有相同的像素值;参考块的左上角像素点与当前编码块的右上角像素点为相应位置上的像素点,且二者具有相同的像素值。依次类推,可确定出当前编码块和参考块之间的各个对应位置上共有12像素值相等的像素点,n=12,所以图3中当前编码块与参考块之间的纹理对称性强度R=n/S=12/16=0.75。
进一步地,在计算完当前编码块与参考块之间分别在水平方向上、垂直方向上及对角方向上的纹理对称性强度后,为了辨别当前编码块与参考块在哪个预设方向上纹理对称性最强,以便后续步骤中确定参考块的镜像处理方式;本实施例提供的方法还包括判断当前编码块与参考块之前的纹理对称性强度是否大于阈值的步骤。其中,判断当前编码块与参考块之间纹理对称性强度是否大于阈值的具体实现方式,包括但不限于如下方式:
在计算的所有纹理对称性强度中确定纹理对称性强度最大值;
判断纹理对称性强度最大值是否大于阈值。
以当前编码块与参考块在水平方向上的纹理对称性强度为A、在垂直方向上的对称性强度为B、在对角方向上的纹理对称性强度为C为例,则判断数值A、B及C三者中的最大值;若最大值为数值A,则判断数值A是否大于阈值;如果数值A大于阈值,则判断当前编码块与参考块之间的纹理对称性强度大于阈值。
进一步地,在判断当前编码块与参考块之间的纹理对称性强度大于阈值后,也即判断出当前编码块满足镜像编码条件后,为了在后续过程中可根据参考块的镜像纹理块对当前编码块进行编码,本实施例提供的方法还包括:确定纹理对称性强度最大值对应的预设方向,并对参考块进行纹理对称性强度最大值对应的预设方向上的镜像处理,得到参考块的镜像纹理块的步骤。
其中,对参考块进行纹理对称性强度最大值对应的预设方向上的镜像处理,得到参考块的镜像纹理块的具体实现方式,包括但不限于如下方式:
如果纹理对称性强度最大值对应的预设方向为水平方向,则对参考块进行水平方向上的镜像处理,即以垂直方向为轴,将参考块作180度旋转,得到参考块的镜像纹理块;
如果纹理对称性强度最大值对应的预设方向为垂直方向,则对参考块进行垂直方向上的镜像处理,即以水平方向为轴,将参考块作180度旋转,得到参考块的镜像纹理块;
如果纹理对称性强度最大值对应的预设方向为对角方向,则对参考块进行对角方向上的镜像处理,即以对角方向为轴,将参考块作180度旋转,得到参考块的镜像纹理块。
以参考块的大小为M×N,且起始点为[0,0],以符号RefBlock标识参考块,符号SymRefBlock标识镜像纹理块为例,则参考块和镜像纹理块中的各个像素点满足如下关系:
水平方向:SymRefBlock[M-i-1][j]=RefBlock[i][j],其中:0≤i<M,0≤j<N;
垂直方向:SymRefBlock[i][N-j-1]=RefBlock[i][j],其中:0≤i<M,0≤j<N;
对角方向:SymRefBlock[M-i-1][N-j-1]=RefBlock[i][j],其中:0≤i<M,0≤j<N。
第二种方式:根据参考块对当前编码块进行预测,得到第一预测编码块;
分别对参考块进行水平方向上、垂直方向上及对角方向上的镜像处理,得到参考块在各个预设方向上的镜像纹理块;
根据参考块在各个预设方向上的镜像纹理块分别对当前编码块进行预测,得到各个预设方向对应的预测编码块;
计算当前编码块与第一预测编码块之间的第一残差数据,并计算各个预设方向对应的预测编码块分别与当前编码块之间的残差数据,并将数值最小的残差数据作为第三残差数据;
判断第三残差数据是否小于第一残差数据;
如果第三残差数据小于第一残差数据,则判断当前编码块满足镜像编码条件。
其中,根据参考块对当前编码块进行预测的具体实现方式,包括但不限于:
计算当前编码块与参考块之间的运动矢量;
判断该运动矢量的各个分量是否为整数;
如果该运动矢量的各个分量均为整数,则将参考块作为当前编码块的第一预测编码块;
如果该运动矢量的各个分量不全为整数,则将参考块中的各个像素进行插补,得到当前编码块的第一预测编码块。
其中,对参考块进行水平方向上、垂直方向上及对角方向上的镜像处理,得到参考块在各个预设方向上的镜像纹理块的具体实现方式,包括但不限于如下方式:
如果预设方向为水平方向,则对参考块进行水平方向上的镜像处理,即以垂直方向为轴,将参考块作180度旋转,得到参考块在水平方向上的镜像纹理块;
如果预设方向为垂直方向,则对参考块进行垂直方向上的镜像处理,即以水平方向为轴,将参考块作180度旋转,得到参考块在垂直方向上的镜像纹理块;
如果预设方向为对角方向,则对参考块进行对角方向上的镜像处理,即以对角方向为轴,将参考块作180度旋转,得到参考块在对角方向上的镜像纹理块。
此外,根据参考块在各个预设方向上的镜像纹理块分别对当前编码块进行预测的具体实现方式,同根据参考块对当前编码块进行预测的具体实现方式一致,此处不再赘述。
其中,计算当前编码块与第一预测编码块之间的第一残差数据的具体实现方式,包括但不限于如下方式:
计算当前编码块与第一预测编码块之间对应位置上的各个像素点的像素差值,取各个像素点的像素差值的绝对值,并对各个像素点的像素差值的绝对值求和。
此外,计算各个预设方向对应的预测编码块分别与当前编码块之间的残差数据的具体实现方式同计算当前编码块与第一预测编码块之间的第一残差数据的具体实现方式一致,此处不再赘述。
203:如果当前编码块满足镜像编码条件,则根据参考块的镜像纹理块对当前编码块进行编码;其中,镜像纹理块由参考块做镜像处理得到。
针对该步骤,根据镜像纹理块对当前编码块进行编码的具体实现方式,包括但不限于如下方式:
根据镜像纹理块对当前编码块进行预测,得到当前编码块的预测编码块;
计算当前编码块与预测编码块之间的残差数据;
对残差数据进行变换编码,得到变换系数;
在变换域中对变换系数进行量化,得到量化结果;
对量化结果进行熵编码,得到当前编码块的编码结果。
需要说明的是,若采用上述步骤202中第二种方式判断当前编码块是否满足镜像编码条件,则根据镜像纹理块对当前编码块进行编码步骤中的镜像纹理块指代第三残差数据对应的镜像纹理块。
此外,本实施例仅以水平方向、垂直方向及对角方向为例,对视频编码方法进行了解释说明。其中,至少一个预设方向还可包括其他方向,本实施例对至少一个预设方向包括的方向类型不进行具体限定。当包括其他预设方向时,处理过程同本实施例类似,此处不再赘述。
本实施例提供的方法,在确定当前编码块的参考块后,根据参考块判断当前编码块是否满足镜像编码条件,如果当前编码块满足镜像编码条件后,则参考块的镜像纹理块与当前编码块之间的残差数据要小于参考块与当前编码块之间的残差数据,所以根据镜像纹理块对当前编码块进行编码时,可降低视频的编码比特率,且可视频的视觉质量。
实施例三
本发明实施例提供了一种视频编码方法,为了便于说明,结合上述实施例一的内容,以将当前编码块所在帧定义为当前编码帧,且当前编码帧为帧内编码帧为例,对本实施例提供的视频编码方式进行详细地解释说明。参见图3,本实施例提供的方法流程包括:
401:确定当前编码块的参考块;
针对该步骤,当前编码块的参考块存在于当前编码帧中,也即当前编码帧在进行帧内编码时无需参考其他帧,根据自身即可完成编码。
其中,确定当前编码块的参考块的具体实现方式,包括但不限于如下方式:
将当前编码块的相邻块确定为当前编码块的参考块。
此外,当前编码块的相邻块包括但不限于当前编码块的左边块、上边块、左上边块、右上边块。在后续步骤中以当前编码块的相邻块为当前编码块的左边块、上边块、左上边块、右上边块为例,对实施例提供的视频编码方法进行解释说明。其中,参考块可为当前编码块的左边块、上边块、左上边块、右上边块中的任一像素块。
402:根据参考块判断当前编码块是否满足镜像编码条件;
针对该步骤,在根据参考块判断当前编码块是否满足镜像编码条件时,可采取如下两种方式;
第一种方式:计算当前编码块与参考块之间的纹理对称性强度,并判断该纹理对称性强度是否大于阈值;如果该纹理对称性强度大于阈值,则判断当前编码块满足镜像编码条件;
其中,阈值的大小具体可为0.85。当然,阈值的大小除0.85外,还可为其他大小,例如,0.75或0.8等等,本实施例对阈值的大小不作具体限定。
进一步地,计算当前编码块与参考块之间的纹理对称性强度的具体实现方式,包括但不限于如下方式:
计算当前编码块与参考块之间在参考块对应方向上的纹理对称性强度。
需要说明的是,如果参考块为当前编码块的左边块,则参考块对应方向指代水平方向,计算当前编码块与参考块之间在参考块对应方向上的纹理对称性强度也即指代计算当前编码块与参考块之间在水平方向上的纹理对称性强度;如果参考块为当前编码块的上边块,则参考块对应方向指代垂直方向,计算当前编码块与参考块之间在参考块对应方向上的纹理对称性强度也即指代计算当前编码块与参考块之间在垂直方向上的纹理对称性强度;如果参考块为当前编码块的左上边块或右上边块,则参考块对应方向指代对角方向,计算当前编码块与参考块之间在参考块对应方向上的纹理对称性强度也即指代计算当前编码块与参考块之间在对角方向上的纹理对称性强度。
需要说明的是,在计算当前编码块与参考块之间纹理对称性强度时,可采用上述实施例二中步骤202中比较当前编码块和参考块之间对应(co_located)位置上像素点的像素值的方式,进而衡量当前编码块与参考块之间的纹理对称性强弱。
进一步地,如果参考块为当前编码块的左边块,且当前编码块与参考块之间在水平方向上的纹理对称性强度大于阈值,则对参考块进行水平镜像处理;
如果参考块为当前编码块的上边块,且当前编码块与参考块之间在垂直方向上的纹理对称性强度大于阈值,则对参考块进行垂直镜像处理;
如果参考块为当前编码块的左上边块或右上边块,且当前编码块与参考块之间在对角方向上的纹理对称性强度大于阈值,则对参考块进行对角镜像处理。
以参考块的大小为M×N,且起始点为[0,0],以符号RefBlock标识参考块,符号SymRefBlock标识镜像纹理块为例,则参考块和镜像纹理块中的各个像素点满足如下关系:
参考块为左边块:SymRefBlock[M-i-1][j]=RefBlock[i][j],其中:0≤i<M,0≤j<N;
参考块为上边块:SymRefBlock[i][N-j-1]=RefBlock[i][j],其中:0≤i<M,0≤j<N;
参考块为左上边块:SymRefBlock[M-i-1][N-j-1]=RefBlock[i][j],其中:0≤i<M,0≤j<N;
参考块为右上边块:SymRefBlock[M-i-1][N-j-1]=RefBlock[i][j],其中:0≤i<M,0≤j<N。
需要说明的是,在判断当前编码块与参考块之间的纹理对称性强度大于阈值后,也即判断出当前编码块满足镜像编码条件后,为了在后续过程中可根据参考块的镜像纹理块对当前编码块进行编码,本实施例提供的方法还包括:对参考块进行参考块对应进行镜像处理方向上的镜像处理,得到参考块的镜像纹理块的步骤。
第二种方式:根据参考块对当前编码块进行预测,得到第一预测编码块;
对参考块进行参考块对应方向上的镜像处理,得到参考块的镜像纹理块;
根据镜像纹理块对当前编码块进行预测,得到第二预测编码块;
计算当前编码块与第一预测编码块之间的第一残差数据、当前编码块与第二预测编码块之间的第二残差数据;
判断第二残差数据是否小于第一残差数据;
如果第二残差数据小于第一残差数据,则判断当前编码块满足镜像编码条件。
其中,根据参考块对当前编码块进行预测的具体实现方式,包括但不限于:
对参考块中的最下方像素点或最右侧像素点对当前编码块进行预测,得到当前编码块的第一预测编码块。
当然,除了上述根据参考块对当前编码块进行预测的方式外,还可采取其他预测方式,本实施例对此不作具体限定。
需要说明的是,如果参考块为当前编码块的左边块,则参考块对应方向指代水平方向;如果参考块为当前编码块的上边块,则参考块对应方向指代垂直方向;如果参考块为当前编码块的左上边块或右上边块,则参考块对应方向指代对角方向。
此外,对参考块进行参考块对应方向上的镜像处理的具体实现方式,包括但不限于如下方式:
如果参考块为当前编码块的左边块,则对参考块进行水平方向上的镜像处理,即以垂直方向为轴,将参考块作180度旋转,得到参考块在水平方向上的镜像纹理块;
如果参考块为当前编码块的上边块,则对参考块进行垂直方向上的镜像处理,即以水平方向为轴,将参考块作180度旋转,得到参考块在垂直方向上的镜像纹理块;
如果参考块为当前编码块的左上边块或右上边块,则对参考块进行对角方向上的镜像处理,即以对角方向为轴,将参考块作180度旋转,得到参考块在对角方向上的镜像纹理块。
此外,根据镜像纹理块对当前编码块进行预测的具体实现方式,同根据参考块对当前编码块进行预测的具体实现方式一致,此处不再赘述。
其中,计算当前编码块与第一预测编码块之间的第一残差数据的具体实现方式,包括但不限于如下方式:
计算当前编码块与第一预测编码块之间对应位置上的各个像素点的像素差值,取各个像素点的像素差值的绝对值,并对各个像素点的像素差值的绝对值求和。
此外,计算当前编码块与第二预测编码块之间的第二残差数据的具体实现方式同计算当前编码块与第一预测编码块之间的第一残差数据的具体实现方式一致,此处不再赘述。
403:如果当前编码块满足镜像编码条件,则根据参考块的镜像纹理块对当前编码块进行编码;其中,镜像纹理块由参考块做镜像处理得到。
针对该步骤,根据镜像纹理块对当前编码块进行编码的具体实现方式,包括但不限于如下方式:
根据镜像纹理块对当前编码块进行预测,得到当前编码块的预测编码块;
计算当前编码块与预测编码块之间的残差数据;
对残差数据进行变换编码,得到变换系数;
在变换域中对变换系数进行量化,得到量化结果;
对量化结果进行熵编码,得到当前编码块的编码结果。
需要说明的是,本实施例仅以参考块为当前编码块的相邻块为例,对视频编码方法进行了解释说明。其中,当前编码块的参考块还可为其他类型的像素块,本实施例对当前编码块的参考块的类型不进行具体限定。若当前编码块的参考块为其他类型的像素块,则视频编码过程同本实施例类似,此处不再赘述。
本实施例提供的方法,在确定当前编码块的参考块后,根据参考块判断当前编码块是否满足镜像编码条件,如果当前编码块满足镜像编码条件,则参考块的镜像纹理块与当前编码块之间的残差数据要小于参考块与当前编码块之间的残差数据,所以根据镜像纹理块对当前编码块进行编码时,可降低视频的编码比特率,且可提高视频的视觉质量。
实施例四
本发明实施例提供了一种视频编码装置,用于执行上述实施例一、实施例二、实施例三所提供的方法,参见图5,该装置包括:
确定模块51,用于确定当前编码块的参考块;
判断模块52,用于根据确定模块51确定的参考块判断当前编码块是否满足镜像编码条件;
编码模块53,用于当判断模块52判断当前编码块满足镜像编码条件时,根据参考块的镜像纹理块对当前编码块进行编码;
其中,镜像纹理块由参考块做镜像处理得到。
进一步地,确定模块51用于当该当前编码块为帧内编码帧的子块时,将当前编码块所在帧中当前编码块的相邻块确定为当前编码块的参考块;当该当前编码块为帧间编码帧的子块时,将当前编码块所在帧的参考帧中与当前编码块相匹配的编码块确定为当前编码块的参考块。
进一步地,参见图6,判断模块52,包括:
第一计算单元521,用于计算当前编码块与参考块之间的纹理对称性强度;
第一判断单元522,用于判断第一计算单元521计算的纹理对称性强度是否大于阈值;
第一确定单元523,用于当第一判断单元522判断纹理对称性强度大于阈值时,确定当前编码块满足镜像编码条件。
进一步地,第一计算单元521,用于在参考块对应进行镜像处理的方向上,计算当前编码块与参考块之间的各个对应位置上的像素值相等的像素点数占全部像素点数的百分比。
参见图7,判断模块,包括:
第一处理单元524,用于对参考块进行参考块对应进行镜像处理方向上的镜像处理,得到参考块的镜像纹理块。
进一步地,第一计算单元521,用于在至少一个预设方向上计算当前编码块与参考块之间的各个对应位置上的像素值相等的像素点数占全部像素点数的百分比。
进一步地,参见图8,第一判断单元522,包括:
确定子单元5221,用于在计算的所有纹理对称性强度中确定纹理对称性强度最大值;
判断子单元5222,用于判断确定子单元5221确定的纹理对称性强度最大值是否大于阈值。
进一步地,参见图9,判断模块52,包括:
第二确定单元525,用于确定纹理对称性强度最大值对应的预设方向;
第一处理单元524,用于对参考块进行第二确定单元525确定的纹理对称性强度最大值对应的预设方向上的镜像处理,得到参考块的镜像纹理块。
进一步地,参见图10,判断模块52,包括:
第一预测单元526,用于根据参考块对当前编码块进行预测,得到第一预测编码块;
第二处理单元527,用于对参考块进行参考块对应方向上的镜像处理,得到参考块的镜像纹理块;
第二预测单元528,用于根据镜像纹理块对当前编码块进行预测,得到第二预测编码块;
第二计算单元529,用于计算当前编码块与第一预测单元526预测的第一预测编码块之间的第一残差数据、当前编码块与第二预测单元528预测的第二预测编码块之间的第二残差数据;
第二判断单元530,用于判断第一残差数据是否小于第二残差数据;
第三判断单元531,用于当第二判断单元530判断第一残差数据小于第二残差数据时,判断当前编码块满足镜像编码条件。
进一步地,判断模块52,包括:
第一预测单元526,用于根据参考块对当前编码块进行预测,得到第一预测编码块;
第二处理单元527,用于对参考块进行至少一个预设方向上的镜像处理,得到参考块在各个预设方向上的镜像纹理块;
第二预测单元528,用于根据参考块在各个预设方向上的镜像纹理块分别对当前编码块进行预测,得到各个预设方向对应的预测编码块;
第二计算单元529,用于计算当前编码块与第一预测单元526预测的第一预测编码块之间的第一残差数据,并计算第二预测单元527预测的各个预设方向对应的预测编码块分别与当前编码块之间的残差数据,并将数值最小的残差数据作为第三残差数据;
第二判断单元530,用于判断第三残差数据是否小于第一残差数据;
第三判断单元531,用于当第二判断单元530判断第三残差数据小于第一残差数据,则判断当前编码块满足镜像编码条件。
进一步地,编码模块53,用于根据第二计算单元529计算的第三残差数据对应的镜像纹理块对当前编码块进行编码。
综上,本发明实施例提供的装置,在确定当前编码块的参考块后,根据参考块判断当前编码块是否满足镜像编码条件,如果当前编码块满足镜像编码条件,则参考块的镜像纹理块与当前编码块之间的残差数据要小于参考块与当前编码块之间的残差数据,所以根据镜像纹理块对当前编码块进行编码时,可降低视频的编码比特率,且可提高视频的视觉质量。
实施例五
本发明提供了一种视频编码设备的结构示意图,参见图11,该设备包括至少一个处理器701,例如CPU,至少一个网络接口704或者其他用户接口703,存储器705,和至少一个通信总线702。通信总线702用于实现这些装置之间的连接通信。用户接口703可以是显示器,键盘或者点击设备。存储器705可能包含高速Ram存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
处理器701用于执行存储器705存放的程序,以实现如下方法:
确定当前编码块的参考块;
根据参考块判断当前编码块是否满足镜像编码条件;
如果当前编码块满足镜像编码条件,则根据参考块的镜像纹理块对当前编码块进行编码;其中,镜像纹理块由参考块做镜像处理得到。
进一步地,处理器701,具体用于当该当前编码块为帧内编码帧的子块时,将当前编码块所在帧中当前编码块的相邻块确定为当前编码块的参考块;当该当前编码块为帧间编码帧的子块时,将当前编码块所在帧的参考帧中与当前编码块相匹配的编码块确定为当前编码块的参考块。
进一步地,处理器701,具体用于计算当前编码块与参考块之间的纹理对称性强度;判断纹理对称性强度是否大于阈值;如果纹理对称性强度大于阈值,则确定当前编码块满足镜像编码条件。
进一步地,处理器701,具体用于在参考块对应进行镜像处理的方向上,计算当前编码块与参考块之间的各个对应位置上的像素值相等的像素点数占全部像素点数的百分比。
进一步地,处理器701,具体用于对参考块进行参考块对应进行镜像处理方向上的镜像处理,得到参考块的镜像纹理块。
进一步地,处理器701,具体用于在至少一个预设方向上计算当前编码块与参考块之间的各个对应位置上的像素值相等的像素点数占全部像素点数的百分比。
进一步地,处理器701,具体用于在计算的所有纹理对称性强度中确定纹理对称性强度最大值;判断纹理对称性强度最大值是否大于阈值。
进一步地,处理器701,具体用于确定纹理对称性强度最大值对应的预设方向,并对参考块进行纹理对称性强度最大值对应的预设方向上的镜像处理,得到参考块的镜像纹理块。
进一步地,处理器701,具体用于根据参考块对当前编码块进行预测,得到第一预测编码块;对参考块进行参考块对应方向上的镜像处理,得到参考块的镜像纹理块;根据镜像纹理块对当前编码块进行预测,得到第二预测编码块;计算当前编码块与第一预测编码块之间的第一残差数据、当前编码块与第二预测编码块之间的第二残差数据;判断第二残差数据是否小于第一残差数据;如果第二残差数据小于第一残差数据,则判断当前编码块满足镜像编码条件。
进一步地,处理器701,具体用于根据参考块对当前编码块进行预测,得到第一预测编码块;对参考块进行至少一个预设方向上的镜像处理,得到参考块在各个预设方向上的镜像纹理块;根据参考块在各个预设方向上的镜像纹理块分别对当前编码块进行预测,得到各个预设方向对应的预测编码块;计算当前编码块与第一预测编码块之间的第一残差数据,并计算各个预设方向对应的预测编码块分别与当前编码块之间的残差数据,并将数值最小的残差数据作为第三残差数据;判断第三残差数据是否小于第一残差数据;如果第三残差数据小于第一残差数据,则判断当前编码块满足镜像编码条件。
进一步地,处理器701,具体用于根据第三残差数据对应的镜像纹理块对当前编码块进行编码。
本实施例提供的设备,在确定当前编码块的参考块后,根据参考块判断当前编码块是否满足镜像编码条件,如果当前编码块满足镜像编码条件,则参考块的镜像纹理块与当前编码块之间的残差数据要小于参考块与当前编码块之间的残差数据,所以根据镜像纹理块对当前编码块进行编码时,可降低视频的编码比特率,且可提高视频的视觉质量。
需要说明的是:上述实施例提供的视频编码装置及设备在进行视频编码时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置及设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的视频编码装置及设备与视频编码方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (22)
1.一种视频编码方法,其特征在于,所述方法包括:
确定当前编码块的参考块;
根据所述参考块判断所述当前编码块是否满足镜像编码条件;
如果所述当前编码块满足镜像编码条件,则根据所述参考块的镜像纹理块对所述当前编码块进行编码;
其中,所述镜像纹理块由所述参考块做镜像处理得到。
2.根据权利要求1所述的方法,其特征在于,所述确定当前编码块的参考块,包括:
当所述当前编码块为帧内编码帧的子块时,将所述当前编码块所在帧中所述当前编码块的相邻块确定为所述当前编码块的参考块;
当所述当前编码块为帧间编码帧的子块时,将所述当前编码块所在帧的参考帧中与所述当前编码块相匹配的编码块确定为所述当前编码块的参考块。
3.根据权利要求1所述的方法,其特征在于,所述根据所述参考块判断所述当前编码块是否满足镜像编码条件,包括:
计算所述当前编码块与所述参考块之间的纹理对称性强度;
判断所述纹理对称性强度是否大于阈值;
如果所述纹理对称性强度大于阈值,则确定所述当前编码块满足所述镜像编码条件。
4.根据权利要求3所述的方法,其特征在于,所述计算所述当前编码块与所述参考块之间的纹理对称性强度,包括:
在所述参考块对应进行镜像处理的方向上,计算所述当前编码块与所述参考块之间的各个对应位置上的像素值相等的像素点数占全部像素点数的百分比。
5.根据权利要求4所述的方法,其特征在于,所述根据所述参考块的镜像纹理块对所述当前编码块进行编码之前,所述方法还包括:
对所述参考块进行所述参考块对应进行镜像处理方向上的镜像处理,得到所述参考块的镜像纹理块。
6.根据权利要求3所述的方法,其特征在于,所述计算所述当前编码块与所述参考块之间的纹理对称性强度,包括:
在至少一个预设方向上,计算所述当前编码块与所述参考块之间的各个对应位置上的像素值相等的像素点数占全部像素点数的百分比。
7.根据权利要求6所述的方法,其特征在于,所述判断所述纹理对称性强度是否大于阈值,包括:
在计算的所有纹理对称性强度中确定纹理对称性强度最大值;
判断所述纹理对称性强度最大值是否大于所述阈值。
8.根据权利要求7所述的方法,其特征在于,所述根据所述参考块的镜像纹理块对所述当前编码块进行编码之前,所述方法还包括:
确定所述纹理对称性强度最大值对应的预设方向,并对所述参考块进行所述纹理对称性强度最大值对应的预设方向上的镜像处理,得到所述参考块的镜像纹理块。
9.根据权利要求1所述的方法,其特征在于,所述根据所述参考块判断所述当前编码块是否满足镜像编码条件,包括:
根据所述参考块对所述当前编码块进行预测,得到第一预测编码块;
对所述参考块进行所述参考块对应方向上的镜像处理,得到所述参考块的镜像纹理块;
根据所述镜像纹理块对所述当前编码块进行预测,得到第二预测编码块;
计算所述当前编码块与所述第一预测编码块之间的第一残差数据、所述当前编码块与所述第二预测编码块之间的第二残差数据;
判断所述第二残差数据是否小于所述第一残差数据;
如果所述第二残差数据小于所述第一残差数据,则判断所述当前编码块满足所述镜像编码条件。
10.根据权利要求1所述的方法,其特征在于,所述根据所述参考块判断所述当前编码块是否满足镜像编码条件,包括:
根据所述参考块对所述当前编码块进行预测,得到第一预测编码块;
对所述参考块进行至少一个预设方向上的镜像处理,得到所述参考块在各个预设方向上的镜像纹理块;
根据所述参考块在各个预设方向上的镜像纹理块分别对所述当前编码块进行预测,得到所述各个预设方向对应的预测编码块;
计算所述当前编码块与所述第一预测编码块之间的第一残差数据,并计算所述各个预设方向对应的预测编码块分别与所述当前编码块之间的残差数据,并将数值最小的残差数据作为第三残差数据;
判断所述第三残差数据是否小于所述第一残差数据;
如果所述第三残差数据小于所述第一残差数据,则判断所述当前编码块满足所述镜像编码条件。
11.根据权利要求10所述的方法,其特征在于,所述根据所述镜像纹理块对所述当前编码块进行编码,包括:
根据所述第三残差数据对应的镜像纹理块对所述当前编码块进行编码。
12.一种视频编码装置,其特征在于,所述装置包括:
确定模块,用于确定当前编码块的参考块;
判断模块,用于根据所述确定模块确定的参考块判断所述当前编码块是否满足镜像编码条件;
编码模块,用于当所述判断模块判断当前编码块满足镜像编码条件时,根据所述参考块的镜像纹理块对所述当前编码块进行编码;
其中,所述镜像纹理块由所述参考块做镜像处理得到。
13.根据权利要求12所述的装置,其特征在于,所述确定模块用于当所述当前编码块为帧内编码帧的子块时,将所述当前编码块所在帧中所述当前编码块的相邻块确定为所述当前编码块的参考块;当所述当前编码块为帧间编码帧的子块时,将所述当前编码块所在帧的参考帧中与所述当前编码块相匹配的编码块确定为所述当前编码块的参考块。
14.根据权利要求12所述的装置,其特征在于,所述判断模块,包括:
第一计算单元,用于计算所述当前编码块与所述参考块之间的纹理对称性强度;
第一判断单元,用于判断所述第一计算单元计算的纹理对称性强度是否大于阈值;
第一确定单元,用于当所述第一判断单元判断纹理对称性强度大于阈值时,确定所述当前编码块满足所述镜像编码条件。
15.根据权利要求14所述的装置,其特征在于,所述第一计算单元,用于在所述参考块对应进行镜像处理的方向上,计算所述当前编码块与所述参考块之间的各个对应位置上的像素值相等的像素点数占全部像素点数的百分比。
16.根据权利要求15所述的装置,其特征在于,所述判断模块,包括:
第一处理单元,用于对所述参考块进行所述参考块对应进行镜像处理方向上的镜像处理,得到所述参考块的镜像纹理块。
17.根据权利要求14所述的装置,其特征在于,所述第一计算单元,用于在至少一个预设方向上计算所述当前编码块与所述参考块之间的各个对应位置上的像素值相等的像素点数占全部像素点数的百分比。
18.根据权利要求17所述的装置,其特征在于,所述第一判断单元,包括:
确定子单元,用于在计算的所有纹理对称性强度中确定纹理对称性强度最大值;
判断子单元,用于判断所述确定子单元确定的纹理对称性强度最大值是否大于所述阈值。
19.根据权利要求18所述的装置,其特征在于,所述判断模块,包括:
第二确定单元,用于确定所述纹理对称性强度最大值对应的预设方向;
所述第一处理单元,用于对所述参考块进行所述第二确定单元确定的纹理对称性强度最大值对应的预设方向上的镜像处理,得到所述参考块的镜像纹理块。
20.根据权利要求12所述的装置,其特征在于,所述判断模块,包括:
第一预测单元,用于根据所述参考块对所述当前编码块进行预测,得到第一预测编码块;
第二处理单元,用于对所述参考块进行所述参考块对应方向上的镜像处理,得到所述参考块的镜像纹理块;
第二预测单元,用于根据所述镜像纹理块对所述当前编码块进行预测,得到第二预测编码块;
第二计算单元,用于计算所述当前编码块与所述第一预测单元预测的第一预测编码块之间的第一残差数据、所述当前编码块与所述第二预测单元预测的第二预测编码块之间的第二残差数据;
第二判断单元,用于判断所述第二残差数据是否小于所述第一残差数据;
第三判断单元,用于当所述第二判断单元判断第二残差数据小于所述第一残差数据时,判断所述当前编码块满足所述镜像编码条件。
21.根据权利要求12所述的装置,其特征在于,所述判断模块,包括:
所述第一预测单元,用于根据所述参考块对所述当前编码块进行预测,得到第一预测编码块;
所述第二处理单元,用于对所述参考块进行至少一个预设方向上的镜像处理,得到所述参考块在各个预设方向上的镜像纹理块;
所述第二预测单元,用于根据所述参考块在各个预设方向上的镜像纹理块分别对所述当前编码块进行预测,得到所述各个预设方向对应的预测编码块;
所述第二计算单元,用于计算所述当前编码块与所述第一预测单元预测的第一预测编码块之间的第一残差数据,并计算所述第二预测单元预测的各个预设方向对应的预测编码块分别与所述当前编码块之间的残差数据,并将数值最小的残差数据作为第三残差数据;
所述第二判断单元,用于判断所述第三残差数据是否小于所述第一残差数据;
所述第三判断单元,用于当所述第二判断单元判断第三残差数据小于所述第一残差数据,则判断所述当前编码块满足所述镜像编码条件。
22.根据权利要求21所述的装置,其特征在于,所述编码模块,用于根据所述第二计算单元计算的第三残差数据对应的镜像纹理块对所述当前编码块进行编码。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310655415.8A CN104702954B (zh) | 2013-12-05 | 2013-12-05 | 视频编码方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310655415.8A CN104702954B (zh) | 2013-12-05 | 2013-12-05 | 视频编码方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104702954A true CN104702954A (zh) | 2015-06-10 |
CN104702954B CN104702954B (zh) | 2017-11-17 |
Family
ID=53349667
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310655415.8A Active CN104702954B (zh) | 2013-12-05 | 2013-12-05 | 视频编码方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104702954B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109451318A (zh) * | 2019-01-09 | 2019-03-08 | 鲍金龙 | 便于vr视频编码的方法、装置、电子设备及存储介质 |
GB2584747A (en) * | 2019-03-21 | 2020-12-16 | Adobe Inc | Generation of a sequence of textures for video delivery |
WO2021056454A1 (zh) * | 2019-09-27 | 2021-04-01 | Oppo广东移动通信有限公司 | 当前块的预测方法及装置、设备、存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101123723A (zh) * | 2006-08-11 | 2008-02-13 | 北京大学 | 基于图形处理器的数字视频解码方法 |
CN102547289A (zh) * | 2012-01-17 | 2012-07-04 | 西安电子科技大学 | 基于gpu并行实现的快速运动估计方法 |
CN102595113A (zh) * | 2011-01-13 | 2012-07-18 | 华为技术有限公司 | 一种变换系数块的扫描方法、装置和系统 |
WO2013001730A1 (ja) * | 2011-06-30 | 2013-01-03 | 三菱電機株式会社 | 画像符号化装置、画像復号装置、画像符号化方法および画像復号方法 |
-
2013
- 2013-12-05 CN CN201310655415.8A patent/CN104702954B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101123723A (zh) * | 2006-08-11 | 2008-02-13 | 北京大学 | 基于图形处理器的数字视频解码方法 |
CN102595113A (zh) * | 2011-01-13 | 2012-07-18 | 华为技术有限公司 | 一种变换系数块的扫描方法、装置和系统 |
WO2013001730A1 (ja) * | 2011-06-30 | 2013-01-03 | 三菱電機株式会社 | 画像符号化装置、画像復号装置、画像符号化方法および画像復号方法 |
CN102547289A (zh) * | 2012-01-17 | 2012-07-04 | 西安电子科技大学 | 基于gpu并行实现的快速运动估计方法 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109451318A (zh) * | 2019-01-09 | 2019-03-08 | 鲍金龙 | 便于vr视频编码的方法、装置、电子设备及存储介质 |
CN109451318B (zh) * | 2019-01-09 | 2022-11-01 | 鲍金龙 | 便于vr视频编码的方法、装置、电子设备及存储介质 |
GB2584747A (en) * | 2019-03-21 | 2020-12-16 | Adobe Inc | Generation of a sequence of textures for video delivery |
GB2584747B (en) * | 2019-03-21 | 2022-06-01 | Adobe Inc | Generation of a sequence of textures for video delivery |
WO2021056454A1 (zh) * | 2019-09-27 | 2021-04-01 | Oppo广东移动通信有限公司 | 当前块的预测方法及装置、设备、存储介质 |
US12003764B2 (en) | 2019-09-27 | 2024-06-04 | Guangdong Oppo Mobile Telecommunications Corp., Ltd. | Prediction method for current block and electronic device |
Also Published As
Publication number | Publication date |
---|---|
CN104702954B (zh) | 2017-11-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9300981B2 (en) | Intra prediction method and apparatus, and image encoding/decoding method and apparatus using same | |
CN102883157B (zh) | 视频编码方法和视频编码器 | |
CN102395030B (zh) | 基于视频压缩码流的运动分析方法、码流转换方法及其装置 | |
US20160044329A1 (en) | Image Predictive Coding Method and Image Encoder | |
CN106170093B (zh) | 一种帧内预测性能提升编码方法 | |
CN103260018B (zh) | 帧内图像预测编解码方法及视频编解码器 | |
CN106034235B (zh) | 计算编码失真度和编码模式控制的方法及其系统 | |
CN104853192A (zh) | 预测模式选择方法及装置 | |
US10992964B2 (en) | Method and apparatus for determining coding tree node split mode and coding device | |
CN104902276B (zh) | 变换单元划分方法及装置 | |
CN101584218A (zh) | 基于帧内预测的编码和解码方法及设备 | |
CN106303521B (zh) | 一种基于感知敏感度的hevc率失真优化方法 | |
CN104662902A (zh) | 用于视频编码的受限帧内解块过滤 | |
CN104469336B (zh) | 多视点深度视频信号的编码方法 | |
CN104902271A (zh) | 预测模式选择方法及装置 | |
KR102513756B1 (ko) | 이미지 인코딩 방법, 디코딩 방법, 인코더, 디코더 및 저장매체 | |
CN108353175A (zh) | 使用系数引起的预测处理视频信号的方法和装置 | |
Mu et al. | Fast coding unit depth decision for HEVC | |
CN103596003B (zh) | 高性能视频编码的帧间预测快速模式选择方法 | |
CN102934445A (zh) | 基于分段对图像编码和解码的方法和设备 | |
CN104702954A (zh) | 视频编码方法及装置 | |
CN102215392A (zh) | 用于估计像素值的帧内预测方法或装置 | |
WO2022266971A1 (zh) | 编解码方法、编码器、解码器以及计算机存储介质 | |
CN113079373A (zh) | 一种基于hevc-scc的视频编码方法 | |
CN105812824B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |