首页> 中国专利> 一种基于优化排序的屏幕内容视频编码方法

一种基于优化排序的屏幕内容视频编码方法

摘要

本发明公开一种基于优化排序的屏幕内容视频的编码方法,包括序列分组、哈希特征提取、预测代价计算、最优排序生成、序列重排序、参考帧设置及编码。采用本发明的技术方案,通过利用屏幕内容的帧间相关性对视频序列进行重排序,来提升视频序列的编码效率。

著录项

  • 公开/公告号CN106993189A

    专利类型发明专利

  • 公开/公告日2017-07-28

    原文格式PDF

  • 申请/专利权人 北京工业大学;

    申请/专利号CN201710219589.8

  • 发明设计人 施云惠;卢波;丁文鹏;尹宝才;

    申请日2017-04-06

  • 分类号

  • 代理机构北京思海天达知识产权代理有限公司;

  • 代理人张慧

  • 地址 100124 北京市朝阳区平乐园100号

  • 入库时间 2023-06-19 02:56:43

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-10-15

    授权

    授权

  • 2017-08-22

    实质审查的生效 IPC(主分类):H04N19/186 申请日:20170406

    实质审查的生效

  • 2017-07-28

    公开

    公开

说明书

技术领域

本发明属于视频编解码领域,尤其涉及一种基于优化排序的屏幕内容视频编码方法。

背景技术

随着计算机技术、网络技术和多媒体技术的发展,除了由摄像设备的采集设备捕获的图像(自然图像)外,电子设备采集的屏幕内容(screen content)在多媒体应用中受到关注。屏幕内容的应用场景很多,如远程桌面,视频会议,无线桌面共享等。特别是随着云计算技术的日益成熟,屏幕内容更是受到了前所未有的重视。它在云计算中的屏幕传输,基于云计算的视频通话等应用中是必不可少的一个元素。作为从数字设备的桌面捕获到的序列,屏幕内容视频序列与传统的自然图像序列存在很大的不同,如屏幕内容的对比度高、颜色稀疏、模式重复较多等,所以新一代视频编码标准HEVC(High Efficiency VideoCoding)包含了针对屏幕内容视频的特性开发出的新技术。但是,现有的屏幕内容视频编码技术尚未考虑到通过对视频序列进行重排序来提升编码效率。通过下面的例子,我们证明通过对视频序列进行重排序来提升编码效率是可行的。

表1scc_viking序列中连续四帧不同排序下的压缩效率对比

在屏幕内容视频序列scc_vikng中随机挑选了连续的4帧图像进行了实验。实验采用的编码软件为16.6_SCM5.1。实验方法是打乱序列原始的顺序,测试序列在不同顺序下的编码效果。实验目的是为了证明屏幕内容视频序列在非原始顺序下能够获得更好的编码效果。实验结果如表1所示。在表1中,order表示对原始的连续4帧打乱后的顺序,Type表示类型为单独的I帧或全4帧。BD-rate表示在该order下的实验结果与初始顺序下的结果对比(初始顺序为0,1,2,3)。I slice和SUMMARY分别说明在变换顺序后的I帧和所有四帧与初始顺序下的结果对比。如表1所示,在变换顺序后,全四帧的编码结果都有增益,其中亮度分量(Y)的平均增益达到了4.27%,而I帧的编码结果与初始情况下的I帧的编码结果相差不大,这表明了全4帧的编码增益来自于序列的重排序,而变换I帧对实验结果的影响较小。表1中的实验结果证明了我们的实验目的,即屏幕内容视频序列在非原始顺序下能够获得更好的编码效果。但是,现有的屏幕内容视频编码技术没有充分利用到屏幕内容的特征实现视频编码。

发明内容

本发明要解决的技术问题是,提供一种基于优化排序的屏幕内容视频编码方法,通过利用屏幕内容的帧间相关性对视频序列进行重排序,来提升视频序列的编码效率。

为实现上述目的,本发明采用如下的技术方案:

一种基于优化排序的屏幕内容视频的编码方法包括以下步骤:

步骤1、序列分组

对原始序列进行分组;

步骤2、哈希特征提取

首先将每一帧划分为各个不同的8*8的亮度块,所述哈希特征包括两组成分,分别为两个8bits的元素r和c,对于每一个8*8的亮度块,计算当前块的平均亮度值,用B[i,j]表示在该块中位于(i,j)处像素点的亮度值,L[i,j]表示B[i,j]与当前块平均亮度值大小的比较情况,当B[i,j]大于当前块的平均亮度值时,L[i,j]被设为1,否则,L[i,j]被设为0;

哈希特征中第一个8bits元素r的生成方式公式如下:

第二个8bits元素c的生成方式公式如下:

最后,采用r和c生成该块的16bits哈希值Hv,计算方式公式如下,

Hv=(r<<8)+c;

步骤3、基于哈希特征的预测代价计算

根据每一块的哈希值得到每一帧的哈希值矩阵,根据每一块的哈希值得到该快的预测代价,每一帧的预测代价为该帧内每一个8*8的块的预测代价之和;

步骤4、最优排序生成

在对当前组内的帧进行排序时,同时考虑当前组内的其他帧和上一组内的各帧作为参考帧时的预测代价,最优排序满足的条件如下:

其中,t表示当前组中待排序的第t个位置,it表示在排序第t个位置时当前组中尚未确定位置的第i帧在该次排序中的编号,表示第it帧以帧j为参考帧时的预测代价,n为每一组的分组长度,-n<j<t,表示帧j可以为上一组内的各帧或本组内第i帧之前的帧,S为当前组的最优预测代价;

步骤5、序列重排序

根据步骤4中所得的预测代价生成最优顺序进行序列重排;

步骤6、参考帧设置及编码

在得到经过优化排序的序列之后,从已编码的帧中选择最多四帧作为当前帧的参考帧,以所选参考帧替换编码时HEVC中固有的参考图像集。

作为优选,步骤3具体为:

对于每一个块,分别根据以下判别情况来计算该块的预测代价,计算过程如下:

第一判别式为:

Hvi,j,c=Hvm,n,c

其中,Hvm,n,c表示在第c帧中位置为(m,n)的块的哈希值,Hvi,j,c表示当前块(第c帧中位置为(i,j)的块)的哈希值,Hv表示哈希值,第一判别式表达的意思为在当前帧内已编码的块中进行检测,查看是否有与当前块哈希值相等的块,如有,则当前块不需要采用参考帧中的块进行预测,亦即不需用到参考帧,则将当前块的预测代价记为0,

第二个判别式为:

Hvi,j,c=Hvi+x,j+y,r

其中,(x,y)表示所采用的预测运动向量,第二判别式表达的意思为检测在参考帧中预测向量所指向的块的哈希值是否与当前块的哈希值相等,若存在某一预测运动向量所指向的块与当前块的哈希值相等,则当前块的预测代价记为0.

第三个判别式为:

表示在参考帧c中进行一次全局搜索,(disx,disy)表示符合条件的运动向量,若至少有一个符合条件的(disx,disy)存在,则距离(x,y)最近的那个(disx,disy)被采用,

对于公式(1),若不存在一个符合条件的(disx,disy),则在像素级别进行搜索最佳匹配块,绝对误差和(Sum>

最佳匹配块满足条件如下:

其中,fc(m,n)表示第c帧中位置(m,n)处的亮度元素,M,N表示块的大小,在这种情况下,块的预测代价被记为如下:

Si,j,c,r=|disx|+|disy|+d*num,

其中,Si,j,c,r表示第c帧参考第r帧时c帧内位置为(i,j)的块的预测代价,num表示最佳匹配块中与当前块像素值不相等的数量,d表示权重;

在当前帧内所有的块的预测代价被处理完成后,当前帧c在参考帧r下的预测代价Sc,r即可得出,计算如下:

I,J分别表示哈希值矩阵的尺寸。

附图说明

图1为本发明的屏幕内容视频编码方法流程图;

图2为图像块哈希特征提取;

图3为块的预测代价计算过程。

具体实施方式

本发明实施例提供了一种基于优化排序的屏幕内容视频的编码方法,方案细分为六部分,如图1所示,包括序列分组、哈希特征提取、预测代价计算、最优排序生成、序列重排序、参考帧设置及编码。

1.序列分组

在第一部分中,我们对原始序列进行分组,我们所采用的情况是每连续的四帧分为一组,对应图1中的分组,排序只在组内进行,组与组之间的顺序保持不变。

2.哈希特征提取:

对应图1中的哈希特征提取,为了提取哈希特征,我们首先将每一帧划分为各个不同的8*8的块,如图2所示。由于亮度成分是每一个像素的主要成分,所以我们的哈希特征在每一个块的亮度成分上进行提取。本文所采用的哈希特征包括两组成分,分别为两个8bits的元素r和c。对于每一个8*8的亮度块,我们首先计算当前块的平均亮度值。我们用B[i,j]表示在该块中位于(i,j)处像素点的亮度值,L[i,j]表示B[i,j]与当前块平均亮度值大小的比较情况,当B[i,j]大于当前块的平均亮度值时,L[i,j]被设为1,否则,L[i,j]被设为0。

哈希特征中第一个8bits元素r的生成方式如公式(1):

第二个8bits元素c的生成方式如公式(2):

最后,我们用r和c生成该块的16bits哈希值Hv,计算方式如公式(3),

Hv=(r<<8)+c,(3)

3.基于哈希特征的预测代价计算:

对应图1中的预测代价计算。在得到每一块的哈希值之后,我们就得到了每一帧的哈希值矩阵。每一帧的预测代价为该帧内每一个8*8的块的预测代价之和。预测代价只与哈希值矩阵和一些亮度值有关。为了更好的预测每一个块,我们记录了每一个块的运动向量。在预测某一个块时,我们将该块左侧、上侧和右上的块的运动向量作为该块的预测运动向量。

对于每一个块,分别根据以下情况来计算该块的预测代价。计算过程如图3所示。

图3中的第一个判别式采用了帧内图像块运动补偿技术的思想,首先在当前帧内已编码的块中进行检测,查看是否有与当前块哈希值相等的块。如有,则当前块不需要采用参考帧中的块进行预测,亦即不需用到参考帧,则将当前块的预测代价记为0。

在判别式

Hvi,j,c=Hvm,n,c,(4)

中,Hvm,n,c表示在第c帧中位置为(m,n)的块的哈希值。Hvi,j,c表示当前块(第c帧中位置为(i,j)的块)的哈希值,Hv表示哈希值。

Si,j,c,r表示第c帧参考第r帧时c帧内位置为(i,j)的块的预测代价。

第二个判别式

Hvi,j,c=Hvi+x,j+y,r,>

中,(x,y)表示所采用的预测运动向量。该判别式表达的意思为检测在参考帧中预测向量所指向的块的哈希值是否与当前块的哈希值相等。若存在某一预测运动向量所指向的块与当前块的哈希值相等,则当前块的预测代价记为0.

第三个判别式

表示在参考帧c中进行一次全局搜索,(disx,disy)表示符合条件的运动向量。若至少有一个符合条件的(disx,disy)存在,则距离(x,y)最近的那个(disx,disy)被采用。

对于(6),若不存在一个符合条件的(disx,disy),则在像素级别进行搜索最佳匹配块,绝对误差和(Sum>

最佳匹配块满足条件如下:

其中fc(m,n)表示第c帧中位置(m,n)处的亮度元素。M,N表示块的大小。在这种情况下,块的预测代价被记为如下:

Si,j,c,r=|disx|+|dixy|+d*num,>

其中,num表示最佳匹配块中与当前块像素值不相等的数量,d表示权重。

在当前帧内所有的块的预测代价被处理完成后,当前帧c在参考帧r下的预测代价Sc,r即可得出,计算如下:

I,J分别表示哈希值矩阵的尺寸。

4.最优排序生成

对应图1中的最优顺序生成。在我们的方案中,我们将每连续的四帧作为一个组,排序只在组内进行,组与组间的相对位置保持不变。我们在对当前组内的帧进行排序时,同时考虑当前组内的其他帧和上一组内的各帧作为参考帧时的预测代价。最优排序满足的条件如下:

其中,t表示当前组中待排序的第t个位置,it表示在排序第t个位置时当前组中尚未确定位置的第i帧在该次排序中的编号,表示第it帧以帧j为参考帧时的预测代价,n为每一组的分组长度,-n<j<t,表示帧j可以为上一组内的各帧或本组内第i帧之前的帧。S为当前组的最优预测代价。

5.序列重排序

对应图1中的序列重排序。根据上一部分中所得的预测代价生成最优顺序进行序列重排。排序只在每组内进行,组与组之间的顺序保持不变。在所有组的重排序完成之后,即完成新序列的优化排序。

6.参考帧设置及编码

在得到经过优化排序的序列之后,即进行参考帧的管理。为提升视频序列的编码效率,需从已编码的帧中选择最多四帧作为当前帧的参考帧。参考帧的选择也是基于预测代价,作为参考帧的四帧与当前编码帧有着最强的帧间相关性。最后,以所选参考帧替换编码时HEVC中固有的参考图像集(Reference Picture Set,RPS)。

本发明通过对屏幕内容视频序列进行优化排序,并结合预测代价进行参考帧设置,提升了视频序列的编码效率。为了对本发明的有效性进行说明,将本发明的测试结果与HEVC的官方参考软件HM16.6_SCM5.1的测试结果进行了对比。测试所采用的配置文件为HM16.6_SCM5.1官方配置文件lowdelay_main_scc。测试所采用的视频序列为HEVC推荐的测试序列。我们在每个视频序列中随机提取了连续的20帧进行测试。在测试中,我们首先利用我们的方案进行序列的重排序和参考帧的选择。测试中我们将判别式(8)中的权重d设为1.在用HM16.6_SCM5.1进行编解码之前我们完成对参考帧的设置。我们在4种QP情况下进行了测试:22,27,32,37。测试结果如下:

表2BD码率比较

表2的测试结果中增益为从1.9%到6.9%,平均增益为3.67%。表明了我们的方案在4种QP下都提升了编码效率。这说明我们的发明很好的提升了屏幕视频序列的编解码效果。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号