首页 / 专利库 / 视听技术与设备 / 块匹配运动估计 / 一种基于HEVC的编码方法、装置、计算设备和介质

一种基于HEVC的编码方法、装置、计算设备和介质

阅读:401发布:2020-05-13

专利汇可以提供一种基于HEVC的编码方法、装置、计算设备和介质专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种基于HEVC的编码方法、装置、计算设备和介质,该方法包括:获取待编码的当前 视频 帧 ,并识别所述当前视频帧中包括的实际感兴趣区域ROI;根据所述当前视频帧的多个HEVC编码单元与所述实际ROI之间的 位置 关系,计算各所述HEVC编码单元的编码深度;采用与各HEVC编码单元的编码深度匹配的帧间预测模式,对所述当前视频帧进行 视频编码 。本发明 实施例 的技术方案在对整帧视频图像编码时,排除了不必要的帧间预测模式,减少了率失真代价的计算量,保证了所选帧间预测模式下编码的实时性和准确性,提高了HEVC的编码速度。,下面是一种基于HEVC的编码方法、装置、计算设备和介质专利的具体信息内容。

1.一种基于HEVC的编码方法,其特征在于,包括:
获取待编码的当前视频,并识别所述当前视频帧中包括的实际感兴趣区域ROI;
根据所述当前视频帧的多个HEVC编码单元与所述实际ROI之间的位置关系,计算各所述HEVC编码单元的编码深度;
采用与各HEVC编码单元的编码深度匹配的帧间预测模式,对所述当前视频帧进行视频编码
2.根据权利要求1所述的方法,其特征在于,获取待编码的当前视频帧,并识别所述当前视频帧中包括的实际ROI,包括:
利用帧间图像差分算法,标识出所述当前视频帧中包括的备选感兴趣像素点;
获取与所述当前视频帧对应的拍摄场景;
选取与所述拍摄场景匹配的识别策略,根据所述备选感兴趣像素点,确定所述当前视频帧中包括的实际ROI。
3.根据权利要求2所述的方法,其特征在于,利用帧间图像差分算法,标识出所述当前视频帧中包括的备选感兴趣像素点,包括:
获取与所述当前视频帧对应的上一视频帧以及下一视频帧;
根据所述当前视频帧中各像素点的灰度值与所述上一视频帧或者所述下一视频帧中对应位置的像素点的灰度值之间的差异,在所述当前视频帧中标识出所述备选感兴趣像素点。
4.根据权利要求3所述的方法,其特征在于,根据所述当前视频帧中各像素点的灰度值与所述上一视频帧或者所述下一视频帧中对应位置的像素点的灰度值之间的差异,在所述当前视频帧中标识出所述备选感兴趣像素点,包括:
判断所述当前视频帧与所述上一视频帧的各个对应位置的像素点的灰度值的差的绝对值是否大于或等于预设阈值;若是,则将所述当前视频帧的各像素点的第一灰度值设置为255,否则将所述当前视频帧的各像素点的第一灰度值设置为0;
判断所述当前视频帧与所述下一视频帧的各个对应位置的像素点的灰度值的差的绝对值是否大于或等于预设阈值;若是,则将所述当前视频帧的各像素点的第二灰度值设置为255,否则将所述当前视频帧的各像素点的所述第二灰度值设置为0;
将所述当前视频帧中各像素点的灰度值设置为所述第一灰度值与所述第二灰度值的与运算结果,以得到与所述当前视频帧对应的二值图像;
获取所述二值图像中灰度值为255的各像素点,作为所述备选感兴趣像素点。
5.根据权利要求2所述的方法,其特征在于,获取与所述当前视频帧对应的拍摄场景,包括:
将所述当前视频帧以第一预设像素点为单位分成多个一级
将每个所述一级块以第二预设像素点为单位分割成多个二级块;
计算每个所述二级块中包括的备选感兴趣像素点个数,并计算其中所述备选感兴趣像素点个数小于预设值的二级块个数与所述二级块总个数的比值;
判断所述比值是否大于或等于预设阈值;
若是,则确定所述拍摄场景为物体运动且镜头静止场景;否则,确定所述拍摄场景为物体运动且镜头转动场景。
6.根据权利要求5所述的方法,其特征在于,选取与所述拍摄场景匹配的识别策略,根据所述备选感兴趣像素点,确定所述当前视频帧中包括的实际ROI,包括:
如果确定所述拍摄场景为物体运动且镜头静止场景,则计算各所述一级块中包括的备选感兴趣像素点个数,并将其中所述备选感兴趣像素点个数大于或等于预设阈值的一级块确定为候选ROI;
将各所述二级块以第三预设像素点为单位分割成多个三级块;
根据各所述候选ROI的图像位置构造与所述候选ROI的图像匹配的搜索区域;
如果所述搜索区域中的每个三级块中均不包括任一备选感兴趣像素点,则将与所述搜索区域对应的候选ROI确定为独立候选ROI;
计算各所述独立候选ROI的重心、宽度和高度,并根据所述独立候选ROI的备选感兴趣像素点个数、宽度和高度计算与所述独立候选ROI对应的运动剧烈度;
根据所述运动剧烈度,在所述独立候选ROI中确定所述实际ROI。
7.根据权利要求2所述的方法,其特征在于,选取与所述拍摄场景匹配的识别策略,根据所述备选感兴趣像素点,确定所述当前视频帧中包括的实际ROI,包括:
如果确定所述拍摄场景为物体运动且镜头转动场景,则将所述上一视频帧中的实际ROI所在位置的像素点的灰度值作为参考值,并根据上一视频帧中的实际ROI所在位置,确定搜索范围;
根据所述参考值和当前视频帧在所述搜索范围内的像素点的灰度值,进行运动估计,得到多个匹配点;
根据所述多个匹配点确定所述当前视频帧的实际ROI的重心、宽度以及高度;
根据所述实际ROI的重心、宽度以及高度,在所述当前视频帧中确定所述实际ROI。
8.根据权利要求2所述的方法,其特征在于,根据所述当前视频帧的多个HEVC编码单元与所述实际ROI之间的位置关系,计算各所述HEVC编码单元的编码深度,包括:
根据所述拍摄场景,将不处于任一所述实际ROI内部的HEVC编码单元,设置为第一编码深度或者第二编码深度,物体运动且镜头静止场景对应第一编码深度,物体运动且镜头转动场景对应第二编码深度;
将部分处于至少一个所述实际ROI内部的HEVC编码单元,设置为第三编码深度;
将全部处于任一所述实际ROI内部的HEVC编码单元,设置为第四编码深度;
其中,第一编码深度小于第二编码深度、第二编码深度小于第三编码深度、第三编码深度大于第四编码深度;编码深度越大,HEVC编码单元所使用的单元块尺寸越小。
9.一种基于HEVC的编码装置,其特征在于,包括:
实际感兴趣区域ROI识别模块,用于获取待编码的当前视频帧,并识别所述当前视频帧中包括的实际ROI;
HEVC编码单元的编码深度计算模块,用于根据所述当前视频帧的多个HEVC编码单元与所述实际ROI之间的位置关系,计算各所述HEVC编码单元的编码深度;
当前视频帧编码模块,用于采用与各HEVC编码单元的编码深度匹配的帧间预测模式,对所述当前视频帧进行视频编码。
10.一种计算设备,其特征在于,所述计算设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-8中任一所述的一种基于HEVC的编码方法。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-8中任一所述的一种基于HEVC的编码方法。

说明书全文

一种基于HEVC的编码方法、装置、计算设备和介质

技术领域

[0001] 本发明实施例涉及视频压缩编码技术,尤其涉及一种基于HEVC的编码方法、装置、计算设备和介质。

背景技术

[0002] 国际电信联盟电信标准分局(ITU-T,ITU-T for ITU Telecommunication Standardization Sector)制定了新一代HEVC(High Efficiency Video Coding,高性能视频编码标准)。HEVC的主要目标是将高分辨率或高保真的视频图像压缩效率提高一倍。
[0003] HEVC中的CU(Coding Unit,编码单元)一般采用四叉树递归划分,每一种编码深度下的CU都有其对应的间预测模式。HEVC编码器针对不同深度下的CU都会自顶向下地对所有预测模式进行运动估计运动补偿,对其中每一种帧间预测模式逐一计算率失真代价,找到率失真代价最小的帧间预测模式作为当前CU的最佳帧间预测模式。
[0004] 这种遍历计算过程使得编码器的计算复杂度非常高,进行视频压缩所消耗的编码时间较长,无法满足实时性视频压缩需求。由此可见,如何排除不必要的帧间预测模式从而有效减少率失真代价的运算量成为目前亟待解决的问题。

发明内容

[0005] 本发明实施例提供一种基于HEVC的编码方法、装置、计算设备和介质,减少了率失真代价的运算量,保证了所选帧间预测模式下编码的实时性和准确性,提高了HEVC的编码速度。
[0006] 第一方面,本发明实施例提供了一种基于HEVC的编码方法,所述方法包括:
[0007] 获取待编码的当前视频帧,并识别所述当前视频帧中包括的实际ROI(region of interest,感兴趣区域);
[0008] 根据所述当前视频帧的多个HEVC编码单元与所述实际ROI之间的位置关系,计算各所述HEVC编码单元的编码深度;
[0009] 采用与各HEVC编码单元的编码深度匹配的帧间预测模式,对所述当前视频帧进行视频编码。
[0010] 第二方面,本发明实施例还提供了一种基于HEVC的编码装置,该装置包括:
[0011] 实际ROI识别模,用于获取待编码的当前视频帧,并识别所述当前视频帧中包括的实际ROI;
[0012] HEVC编码单元的编码深度计算模块,用于根据所述当前视频帧的多个HEVC编码单元与所述实际ROI之间的位置关系,计算各所述HEVC编码单元的编码深度;
[0013] 当前视频帧编码模块,用于采用与各HEVC编码单元的编码深度匹配的帧间预测模式,对所述当前视频帧进行视频编码。
[0014] 第三方面,本发明实施例还提供了一种计算设备,该计算设备包括:
[0015] 一个或多个处理器;
[0016] 存储装置,用于存储一个或多个程序;
[0017] 当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明任意实施例提供的基于HEVC的编码方法。
[0018] 第四方面,本发明实施例还提供了一种计算机可读存储介质,该存储介质上存储有计算机程序,该程序被处理器执行时实现本发明任意实施例提供的基于HEVC的编码方法。
[0019] 本发明实施例首先通过获取待编码的当前视频帧确定出实际感兴趣区域的位置参数,然后依据编码单元与实际感兴趣区域的位置关系计算出对应编码单元的深度,最后采用与编码单元深度相匹配的帧间预测模式对当前视频帧进行视频编码。在对整帧视频图像编码时,本发明实施例省略了对不必要的帧间预测模式的率失真代价估计,解决了率失真运算量庞大的问题,保证了所选帧间预测模式下编码的实时性和准确性,提高了HEVC的编码速度。附图说明
[0020] 图1是本发明实施例一中的一种基于HEVC的编码方法的流程图
[0021] 图2是本发明实施例二中的一种基于HEVC的编码方法的流程图;
[0022] 图3是本发明实施例三中的一种基于HEVC的编码方法具体实施流程图;
[0023] 图4是本发明实施例四中的一种基于HEVC的编码装置结构图;
[0024] 图5是本发明实施例五中的一种计算设备结构示意图。

具体实施方式

[0025] 下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
[0026] 实施例一
[0027] 图1为本发明实施例一提供的一种基于HEVC的编码方法流程图,本实施例可适用于多媒体通信中视频压缩编码的情况,该方法可以由基于HEVC的编码装置来执行,该装置可以由软件和/或硬件来实现,并一般可以集成在具有视频压缩处理功能的终端或者服务器中,典型的,集成在终端或者服务器的视频编码器内,具体包括如下步骤:
[0028] 步骤110、获取待编码的当前视频帧,并识别所述当前视频帧中包括的实际ROI。
[0029] 在本实施例中,获取待编码的当前视频帧的方式可以为视频编码器从产生视频数据的设备或计算机直接获取。ROI指当前视频帧中需要处理和分析的大致区域,称为感兴趣区域,通常以方框、圆、椭圆和不规则多边形等方式勾勒出来,实际ROI指具备精确的位置参数的感兴趣区域。
[0030] 步骤120、根据所述当前视频帧的多个HEVC编码单元与所述实际ROI之间的位置关系,计算各所述HEVC编码单元的编码深度。
[0031] 在此步骤中,HEVC编码单元是是对当前视频帧预先划分好的较大尺寸的编码块,简称CU块。深度为0的CU块尺寸为64*64,深度为1-3的CU块对应的尺寸分别为32*32、16*16和8*8。
[0032] CU块与所述实际ROI之间的位置关系包括三种:位于实际ROI内部、实际ROI外部以及实际ROI边缘,CU块与实际ROI的相对位置决定了CU块的编码深度。
[0033] 具体的,当CU块处于实际ROI外部即非感兴趣区域时,采用较大尺寸的CU块进行编码;当CU块处于实际ROI边缘时,则需要对图像进行细化处理,采用最小尺寸的CU块进行编码;当CU块处于实际ROI内部时,采用较小尺寸的CU块进行编码。其中,CU块的尺寸越小,编码深度越大。
[0034] 步骤130、采用与各HEVC编码单元的编码深度匹配的帧间预测模式,对所述当前视频帧进行视频编码。
[0035] 其中,在HEVC编码过程中,每一种深度下的编码单元都有其对应的帧间预测模式,从而进行视频压缩编码中的运动估计与运动补偿。
[0036] 具体的,现有帧间预测模式主要有以下几种:skip(跳过)或merge(合并)模式、Square(正方形)分割模式、SMP(Symmetrical Motion Partitions,对称运动划分)模式、AMP(Asymmetric Motion Partitions,非对称运动划分)模式以及intra模式。
[0037] 本发明实施例的技术方案,首先通过视频编码器获取待编码的当前视频帧,然后识别前视频帧中包括的实际感兴趣区域,然后根据当前视频帧的多个HEVC编码单元与实际感兴趣区域的位置关系确定了编码单元的编码深度,最后依据编码单元的深度采用与其相匹配的帧间预测模式,从而对当前视频帧进行视频编码。本实施例的技术方案在保证HEVC编码压缩效率和感兴趣区域图像质量的前提下,显著地降低了寻找最佳帧间预测模式的计算量,加快了视频压缩编码的速度,满足了实时性视频压缩的需求。
[0038] 实施例二
[0039] 本实施例在上述实施例一的基础上,提供了具体的识别当前视频帧中实际ROI的实施方式。与上述实施例相同或相应的术语解释,本实施例不再赘述。本发明实施例中获取待编码的当前视频,并识别当前视频帧中包括的实际ROI,具体的步骤为:首先利用帧间图像差分算法,标识出所述当前视频帧中包括的备选感兴趣像素点,然后获取与所述当前视频帧对应的拍摄场景,最后选取与所述拍摄场景匹配的识别策略,根据所述备选感兴趣像素点,识别所述当前视频帧中包括的实际ROI。
[0040] 图2是本发明实施例二提供的基于HEVC的编码方法流程图,如图2所示,该方法包括如下步骤:
[0041] 步骤210、利用帧间图像差分算法,标识出所述当前视频帧中包括的备选感兴趣像素点。
[0042] 在此步骤中,本发明实施例首先获取与当前视频帧对应的上一视频帧以及下一视频帧,然后根据所述当前视频帧中各像素点的灰度值与所述上一视频帧或者所述下一视频帧中对应位置的像素点的灰度值之间的差异,在所述当前视频帧中标识出所述备选感兴趣像素点。
[0043] 其中,本发明实施例首先判断所述当前视频帧与所述上一视频帧的各个对应位置的像素点的灰度值的差的绝对值是否大于或等于预设阈值,若是,则将所述当前视频帧的各像素点的第一灰度值设置为255,否则将所述当前视频帧的各像素点的第一灰度值设置为0;然后判断所述当前视频帧与所述下一视频帧的各个对应位置的像素点的灰度值的差的绝对值是否大于或等于预设阈值,若是,则将所述当前视频帧的各像素点的第二灰度值设置为255,否则将所述当前视频帧的各像素点的所述第二灰度值设置为0;最后将所述当前视频帧中各像素点的灰度值设置为所述第一灰度值与所述第二灰度值的与运算结果,以得到与所述当前视频帧对应的二值图像,获取所述二值图像中灰度值为255的各像素点,作为所述备选感兴趣像素点。
[0044] 具体的,第一灰度值为当前视频帧与上一视频帧之间的二值差分图像对应位置像素点的灰度值,第二灰度值为当前视频帧与下一视频帧之间的二值差分图像对应位置像素点的灰度值。
[0045] 优选的,此步骤中上述预设阈值设置为15。
[0046] 步骤220、获取与所述当前视频帧对应的拍摄场景。
[0047] 其中,当前视频帧对应的拍摄场景分为两类,第一类是物体运动且镜头静止,第二类是物体运动且镜头转动。
[0048] 在此步骤中,本发明实施例首先将所述当前视频帧以第一预设像素点为单位分成多个一级块;然后将每个所述一级块以第二预设像素点为单位分割成多个二级块,计算每个所述二级块中包括的备选感兴趣像素点个数,并计算其中所述备选感兴趣像素点个数小于预设值的二级块个数与所述二级块总个数的比值;最后判断所述比值是否大于或等于预设阈值,若是,则确定所述拍摄场景为物体运动且镜头静止场景,否则,确定所述拍摄场景为物体运动且镜头转动场景。
[0049] 优选的,此步骤中第一预设像素点设置为128*128,第二预设像素点设置为32*32,本发明实施例计算每个所述二级块中包括的备选感兴趣像素点个数,并计算其中所述备选感兴趣像素点个数小于5的二级块个数与所述二级块总个数的比值;最后判断所述比值是否大于或等于0.73,若是,则确定所述拍摄场景为物体运动且镜头静止场景,否则,确定所述拍摄场景为物体运动且镜头转动场景。
[0050] 步骤230、选取与所述拍摄场景匹配的识别策略,根据所述备选感兴趣像素点,识别所述当前视频帧中包括的实际ROI。
[0051] 如果拍摄场景为第一类场景即物体运动且镜头静止,本发明实施例首先计算各所述一级块中包括的备选感兴趣像素点个数,并将其中所述备选感兴趣像素点个数大于或等于预设阈值的一级块确定为候选ROI;然后将各所述二级块以第三预设像素点为单位分割成多个三级块,根据各所述候选ROI的图像位置构造与所述候选ROI的图像匹配的搜索区域,如果所述搜索区域中的每个三级块中均不包括任一备选感兴趣像素点,则将与所述搜索区域对应的候选ROI确定为独立候选ROI;最后计算各所述独立候选ROI的重心、宽度和高度,并根据所述独立候选ROI的备选感兴趣像素点个数、宽度和高度计算与所述独立候选ROI对应的运动剧烈度,根据所述运动剧烈度,在所述独立候选ROI中确定所述实际ROI。
[0052] 如果拍摄场景为第二类场景即物体运动且镜头转动,本发明实施例首先将所述上一视频帧中的实际ROI所在位置的像素点的灰度值作为参考值,并根据上一视频帧中的实际ROI所在位置,确定搜索范围;然后根据所述参考值和当前视频帧在所述搜索范围内的像素点的灰度值进行运动估计,得到多个匹配点;最后根据所述多个匹配点确定所述当前视频帧的实际ROI的重心、宽度以及高度,根据所述实际ROI的重心、宽度以及高度,在所述当前视频帧中确定所述实际ROI。
[0053] 其中,如果拍摄场景为第一类场景即物体运动且镜头静止,本发明实施例计算各所述一级块中包括的备选感兴趣像素点个数,并将其中所述备选感兴趣像素点个数大于或等于56的一级块确定为候选ROI。上述第三预设像素点优选为16*16,只要候选ROI周围一圈的各个三级块中均没有备选感兴趣像素点,此候选ROI就为独立的候选ROI。通过将独立候选ROI中的每个备选感兴趣像素点的坐标叠加并求平均就可以计算出独立候选ROI的重心坐标,从而计算出独立候选ROI的宽度和高度,根据所述独立候选ROI的备选感兴趣像素点个数、宽度和高度计算与所述独立候选ROI对应的运动剧烈度。
[0054] 优选的,如果上述运动剧烈强度大于或等于1.75,则该独立候选ROI为实际的ROI。
[0055] 如果拍摄场景为第二类场景即物体运动且镜头转动,将上一视频帧中的实际ROI所在位置的像素点的灰度值作为参考值在当前视频帧中做运动估计,以上一视频帧的实际ROI的重心为原点,9个像素点为半径确定搜索范围,将搜索范围内运动估计值小于或等于3的点作为最佳匹配点,根据匹配点确定所述当前视频帧的实际ROI的重心、宽度以及高度,根据所述实际ROI的重心、宽度以及高度,在所述当前视频帧中确定所述实际ROI。
[0056] 步骤240、根据所述当前视频帧的多个HEVC编码单元与所述实际ROI之间的位置关系,计算各所述HEVC编码单元的编码深度。
[0057] 在此步骤中,根据所述拍摄场景,将不处于任一所述实际ROI内部的HEVC编码单元,设置为第一编码深度或者第二编码深度,物体运动且镜头静止场景对应第一编码深度,物体运动且镜头转动场景对应第二编码深度。将部分处于至少一个所述实际ROI内部的HEVC编码单元,设置为第三编码深度。将全部处于任一所述实际ROI内部的HEVC编码单元,设置为第四编码深度。其中,第一编码深度小于第二编码深度,第二编码深度小于第三编码深度,第三编码深度大于第四编码深度。编码深度越大,HEVC编码单元所使用的单元块尺寸越小。
[0058] 其中,针对第一类场景即物体运动且镜头静止,当CU块处于实际ROI外部即非感兴趣区域时,第一编码深度设为0,CU块尺寸设为64*64;当CU块处于实际ROI边缘时,第三编码深度设为3,CU块尺寸设为8*8;当CU块处于实际ROI内部时,第四编码深度设为2,CU块尺寸设为16*16。
[0059] 针对第二类场景即物体运动且镜头转动,当CU块处于实际ROI外部即非感兴趣区域时,第二编码深度设为1,CU块尺寸设为32*32;当CU块处于实际ROI边缘时,第三编码深度设为3,CU块尺寸设为8*8;当CU块处于实际ROI内部时,第四编码深度设为2,CU块尺寸设为16*16。
[0060] 步骤250、采用与各HEVC编码单元的编码深度匹配的帧间预测模式,对所述当前视频帧进行视频编码。
[0061] 在此步骤中,针对编码单元的深度选择与其相匹配的帧间预测模式,关于第一类场景即物体运动且镜头静止,当CU块处于实际ROI外部即非感兴趣区域时,预测模式为SKIP或merge;当CU块处于实际ROI边缘时,预测模式为AMP和intra;当CU块处于实际ROI内部时,预测模式为Square和SMP。
[0062] 关于第二类场景即物体运动且镜头转动,当CU块处于实际ROI外部即非感兴趣区域时,帧间预测模式可以为SKIP、merge和Square;当CU块处于实际ROI边缘时,帧间预测模式为AMP和intra;当CU块处于实际ROI内部时,帧间预测模式为Square和SMP。
[0063] 本实施例的技术方案首先通过帧间图像差分算法标识出当前视频帧中包括的备选感兴趣像素点,简单有效地识别出大致的感兴趣区域;然后获取与当前视频帧对应的拍摄场景,选取与所述拍摄场景匹配的识别策略,根据所述备选感兴趣像素点,识别所述当前视频帧中包括的实际ROI,为快速视频编码提供了条件;最后根据当前视频帧的多个HEVC编码单元与实际ROI之间的位置关系,计算各HEVC编码单元的编码深度,采用与各HEVC编码单元的编码深度匹配的帧间预测模式对当前视频帧进行视频编码。本实施例通过确定感兴趣区域排除了不必要的帧间预测模式,减少了率失真代价的计算量,在保证感兴趣区域视频质量的前提下极大地提高了编码速度,实现了视频传输过程中的实时编码。
[0064] 实施例三
[0065] 图3为本发明实施例三提供的一种基于HEVC的编码方法具体实施流程图,本实施例在上述各实施例的基础上,提供了基于HEVC的编码方法的一个具体实施步骤。如图3所示,该方法包括如下步骤:
[0066] 利用帧间图像差分算法,标识出所述当前视频帧中包括的备选感兴趣像素点;
[0067] 在此步骤中,本发明实施例首先获取与当前视频帧对应的上一视频帧以及下一视频帧,然后根据所述当前视频帧中各像素点的灰度值与所述上一视频帧或者所述下一视频帧中对应位置的像素点的灰度值之间的差异,在所述当前视频帧中标识出所述备选感兴趣像素点。
[0068] 获取与所述当前视频帧对应的拍摄场景;其中,当前视频帧对应的拍摄场景分为两类,第一类是物体运动且镜头静止,第二类是物体运动且镜头转动。
[0069] 在此步骤中,本发明实施例首先将所述当前视频帧以第一预设像素点为单位分成多个一级块;然后将每个所述一级块以第二预设像素点为单位分割成多个二级块,计算每个所述二级块中包括的备选感兴趣像素点个数,并计算其中所述备选感兴趣像素点个数小于预设值的二级块个数与所述二级块总个数的比值。
[0070] 判断上述比值是否大于或等于预设阈值,若是,则确定所述拍摄场景为物体运动且镜头静止场景,否则,确定所述拍摄场景为物体运动且镜头转动场景。
[0071] 将获取的场景进行分类处理;
[0072] 选取与所述拍摄场景匹配的识别策略,根据所述备选感兴趣像素点,识别所述当前视频帧中包括的实际ROI;
[0073] 在此步骤中,针对不同的拍摄场景选取不同的识别策略,如果拍摄场景为第一类场景即物体运动且镜头静止,本发明实施例首先计算各所述一级块中包括的备选感兴趣像素点个数,并将其中所述备选感兴趣像素点个数大于或等于预设阈值的一级块确定为候选ROI;然后将各所述二级块以第三预设像素点为单位分割成多个三级块,根据各所述候选ROI的图像位置构造与所述候选ROI的图像匹配的搜索区域,如果所述搜索区域中的每个三级块中均不包括任一备选感兴趣像素点,则将与所述搜索区域对应的候选ROI确定为独立候选ROI;最后计算各所述独立候选ROI的重心、宽度和高度,并根据所述独立候选ROI的备选感兴趣像素点个数、宽度和高度计算与所述独立候选ROI对应的运动剧烈度,根据所述运动剧烈度,在所述独立候选ROI中确定所述实际ROI。
[0074] 如果拍摄场景为第二类场景即物体运动且镜头转动,本发明实施例首先将所述上一视频帧中的实际ROI所在位置的像素点的灰度值作为参考值,并根据上一视频帧中的实际ROI所在位置,确定搜索范围;然后根据所述参考值和当前视频帧在所述搜索范围内的像素点的灰度值进行运动估计,得到多个匹配点;最后根据所述多个匹配点确定所述当前视频帧的实际ROI的重心、宽度以及高度,根据所述实际ROI的重心、宽度以及高度,在所述当前视频帧中确定所述实际ROI。
[0075] 将CU块与所述实际ROI之间的位置关系分类;
[0076] 其中,CU块是对当前视频帧预先划分好的较大尺寸的编码块,CU块与实际ROI的位置关系包括三种:实际ROI外部、实际ROI边缘以及实际ROI内部。
[0077] 根据所述当前视频帧的多个CU块与所述实际ROI之间的位置关系,计算各CU块的深度;
[0078] 其中,针对第一类场景即物体运动且镜头静止,当CU块处于实际ROI外部即非感兴趣区域时,CU块深度设为0,尺寸设为64*64;当CU块处于实际ROI边缘时,CU块深度设为3,尺寸设为8*8;当CU块处于实际ROI内部时,CU块深度设为2,尺寸设为16*16。
[0079] 针对第二类场景即物体运动且镜头转动,当CU块处于实际ROI外部即非感兴趣区域时,CU块深度设为1,尺寸设为32*32;当CU块处于实际ROI边缘时,CU块深度设为3,尺寸设为8*8;当CU块处于实际ROI内部时,CU块深度设为2,尺寸设为16*16。
[0080] 采用与各CU块深度匹配的帧间预测模式,对所述当前视频帧进行视频编码;
[0081] 在此步骤中,针对CU块的深度选择与其相匹配的帧间预测模式,关于第一类场景即物体运动且镜头静止,当CU块处于实际ROI外部即非感兴趣区域时,预测模式为SKIP或merge;当CU块处于实际ROI边缘时,预测模式为AMP和intra;当CU块处于实际ROI内部时,预测模式为Square和SMP。
[0082] 关于第二类场景即物体运动且镜头转动,当CU块处于实际ROI外部即非感兴趣区域时,帧间预测模式可以为SKIP、merge和Square;当CU块处于实际ROI边缘时,帧间预测模式为AMP和intra;当CU块处于实际ROI内部时,帧间预测模式为Square和SMP。
[0083] 本实施例的技术方案首先通过帧间图像差分算法标识出当前视频帧中包括的备选感兴趣像素点,简单有效地识别出大致的感兴趣区域;然后获取与当前视频帧对应的拍摄场景,将获取的场景进行分类处理,选取与所述拍摄场景匹配的识别策略,根据所述备选感兴趣像素点,识别所述当前视频帧中包括的实际ROI,为快速视频编码提供了条件;最后根据当前视频帧的多个CU块与实际ROI之间的位置关系,计算各CU块的深度,采用与各CU块深度匹配的帧间预测模式对当前视频帧进行视频编码。本实施例通过确定实际感兴趣区域减少了寻找最佳帧间预测模式的计算量,在保证感兴趣区域视频质量的前提下极大地提高了编码速度,实现了视频传输过程中的实时编码。
[0084] 实施例四
[0085] 图4为本发明实施例四提供的一种基于HEVC的编码装置的结构图,该装置包括:实际ROI识别模块410、HEVC编码单元的编码深度计算模块420和当前视频帧编码模块430。
[0086] 其中,实际ROI识别模块410,用于获取待编码的当前视频帧,并识别所述当前视频帧中包括的实际ROI;HEVC编码单元的编码深度计算模块420,用于根据所述当前视频帧的多个HEVC编码单元与所述实际ROI之间的位置关系,计算各所述HEVC编码单元的编码深度;当前视频帧编码模块430,用于采用与各HEVC编码单元的编码深度匹配的帧间预测模式,对所述当前视频帧进行视频编码。
[0087] 本实施例的技术方案首先通过实际ROI识别模块确定出当前视频帧中包括的实际ROI,为后续视频编码提供了条件;然后根据HEVC编码单元和实际ROI的位置关系,通过HEVC编码单元的编码深度计算模块计算出当前视频帧不同位置对应的编码深度;最后依据各编码单元所对应的编码深度,利用当前视频帧编码模块采用与编码深度匹配的帧间预测模式对当前视频帧进行编码。本实施例提供了一种有效的基于HEVC的编码装置,解决了HEVC寻找最佳帧间预测模式运算量庞大的问题,降低了HEVC编码过程的复杂度,满足了实时性视频压缩的需求。
[0088] 在上述各实施例的基础上,实际ROI识别模块410,可以包括:
[0089] 备选感兴趣像素点标识模块,用于利用帧间图像差分算法,标识出所述当前视频帧中包括的备选感兴趣像素点;
[0090] 拍摄场景获取模块,用于获取与所述当前视频帧对应的拍摄场景;
[0091] 实际ROI确定模块,用于选取与所述拍摄场景匹配的识别策略,根据所述备选感兴趣像素点,确定出所述当前视频帧中包括的实际ROI。
[0092] 其中,备选感兴趣像素点标识模块可以包括:
[0093] 视频帧获取模块,用于获取与所述当前视频帧对应的上一视频帧以及下一视频帧;
[0094] 备选感兴趣像素点确定模块,用于根据所述当前视频帧中各像素点的灰度值与所述上一视频帧或者所述下一视频帧中对应位置的像素点的灰度值之间的差异,在所述当前视频帧中标识出所述备选感兴趣像素点。
[0095] 备选感兴趣像素点确定模块可以包括:
[0096] 第一灰度值设置模块,用于判断所述当前视频帧与所述上一视频帧的各个对应位置的像素点的灰度值的差的绝对值是否大于或等于预设阈值,若是,则将所述当前视频帧的各像素点的第一灰度值设置为255,否则将所述当前视频帧的各像素点的第一灰度值设置为0;
[0097] 第二灰度值设置模块,用于判断所述当前视频帧与所述下一视频帧的各个对应位置的像素点的灰度值的差的绝对值是否大于或等于预设阈值,若是,则将所述当前视频帧的各像素点的第二灰度值设置为255,否则将所述当前视频帧的各像素点的所述第二灰度值设置为0;
[0098] 当前视频帧灰度设置模块,用于将所述当前视频帧中各像素点的灰度值设置为所述第一灰度值与所述第二灰度值的与运算结果,以得到与所述当前视频帧对应的二值图像;
[0099] 其中,获取所述二值图像中灰度值为255的各像素点,作为所述备选感兴趣像素点。
[0100] 拍摄场景获取模块可以包括:
[0101] 一级块划分模块,用于将所述当前视频帧以第一预设像素点为单位分成多个一级块;
[0102] 二级块划分模块,用于将每个所述一级块以第二预设像素点为单位分割成多个二级块;
[0103] 拍摄场景确定模块,用于计算每个所述二级块中包括的备选感兴趣像素点个数,并计算其中所述备选感兴趣像素点个数小于预设值的二级块个数与所述二级块总个数的比值,然后判断所述比值是否大于或等于预设阈值,若是,则确定所述拍摄场景为物体运动且镜头静止场景,否则,确定所述拍摄场景为物体运动且镜头转动场景。
[0104] 实际ROI确定模块可以包括:
[0105] 候选ROI确定模块,应用于物体运动且镜头静止场景,用于计算各所述一级块中包括的备选感兴趣像素点个数,并将其中所述备选感兴趣像素点个数大于或等于预设阈值的一级块确定为候选ROI;
[0106] 三级块划分模块,应用于物体运动且镜头静止场景,用于将各所述二级块以第三预设像素点为单位分割成多个三级块;
[0107] 搜索区域构造模块,应用于物体运动且镜头静止场景,用于根据各所述候选ROI的图像位置构造与所述候选ROI的图像匹配的搜索区域;
[0108] 独立候选ROI确定模块,应用于物体运动且镜头静止场景,如果所述搜索区域中的每个三级块中均不包括任一备选感兴趣像素点,则此模块用于将与所述搜索区域对应的候选ROI确定为独立候选ROI;
[0109] 运动剧烈度计算模块,应用于物体运动且镜头静止场景,用于计算各所述独立候选ROI的重心、宽度和高度,并根据所述独立候选ROI的备选感兴趣像素点个数、宽度和高度计算与所述独立候选ROI对应的运动剧烈度,根据所述运动剧烈度,在所述独立候选ROI中确定所述实际ROI;
[0110] 搜索范围确定模块,应用于用于物体运动且镜头转动场景,用于将所述上一视频帧中的实际ROI所在位置的像素点的灰度值作为参考值,并根据上一视频帧中的实际ROI所在位置,确定搜索范围;
[0111] 匹配点获取模块,应用于用于物体运动且镜头转动场景,用于根据所述参考值和当前视频帧在所述搜索范围内的像素点的灰度值,进行运动估计,得到多个匹配点;
[0112] 实际ROI参数计算模块,应用于用于物体运动且镜头转动场景,用于根据所述多个匹配点确定所述当前视频帧的实际ROI的重心、宽度以及高度,根据所述实际ROI的重心、宽度以及高度,在所述当前视频帧中确定所述实际ROI。
[0113] HEVC编码单元的编码深度计算模块420可以包括:
[0114] 第一编码深度或第二编码深度设置模块,用于根据所述拍摄场景,将不处于任一所述实际ROI内部的HEVC编码单元,设置为第一编码深度或者第二编码深度,物体运动且镜头静止场景对应第一编码深度,物体运动且镜头转动场景对应第二编码深度;
[0115] 第三编码深度设置模块,用于将部分处于至少一个所述实际ROI内部的HEVC编码单元,设置为第三编码深度;
[0116] 第四编码深度设置模块,用于将全部处于任一所述实际ROI内部的HEVC编码单元,设置为第四编码深度;
[0117] 其中,第一编码深度小于第二编码深度、第二编码深度小于第三编码深度、第三编码深度大于第四编码深度;编码深度越大,HEVC编码单元所使用的单元块尺寸越小。
[0118] 实施例五
[0119] 图5为本发明实施例五提供的一种计算设备的结构示意图,如图5所示,该计算设备包括处理器510、存储器520、输入装置530和输出装置540;计算设备中处理器510的数量可以是一个或多个,图5中以一个处理器510为例;计算设备中的处理器510、存储器520、输入装置530和输出装置540可以通过总线或其他方式连接,图5中以通过总线连接为例。
[0120] 存储器520作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的基于HEVC的编码方法对应的程序指令/模块(例如,基于HEVC的编码装置中的实际ROI识别模块410,HEVC编码单元的编码深度计算模块420和当前视频帧编码模块430)。处理器510通过运行存储在存储器520中的软件程序、指令以及模块,从而执行计算设备的各种功能应用以及数据处理,即实现上述的基于HEVC的编码方法。也即,该程序被处理器执行时实现:
[0121] 获取待编码的当前视频帧,并识别所述当前视频帧中包括的实际ROI;
[0122] 根据所述当前视频帧的多个HEVC编码单元与所述实际ROI之间的位置关系,计算各所述HEVC编码单元的编码深度;
[0123] 采用与各HEVC编码单元的编码深度匹配的帧间预测模式,对所述当前视频帧进行视频编码。
[0124] 存储器520可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器520可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器520可进一步包括相对于处理器510远程设置的存储器,这些远程存储器可以通过网络连接至计算设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
[0125] 输入装置530可用于接收输入的数字或字符信息,以及产生与计算设备的用户设置以及功能控制有关的键信号输入,可以包括键盘鼠标等。输出装置540可包括显示屏等显示设备。
[0126] 实施例六
[0127] 本发明实施例六还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明任意实施例所述的一种基于HEVC的编码方法。当然,本发明实施例所提供的一种计算机可读存储介质,其可以执行本发明任意实施例所提供的基于HEVC的编码方法中的相关操作。也即,该程序被处理器执行时实现:
[0128] 获取待编码的当前视频帧,并识别所述当前视频帧中包括的实际ROI;
[0129] 根据所述当前视频帧的多个HEVC编码单元与所述实际ROI之间的位置关系,计算各所述HEVC编码单元的编码深度;
[0130] 采用与各HEVC编码单元的编码深度匹配的帧间预测模式,对所述当前视频帧进行视频编码。
[0131] 通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
[0132] 值得注意的是,上述基于HEVC的编码装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
[0133] 注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
高效检索全球专利

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

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

申请试用

分析报告

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

申请试用

QQ群二维码
意见反馈