[发明专利]一种屏幕内容视频的压缩方法有效
申请号: | 201910022363.8 | 申请日: | 2019-01-09 |
公开(公告)号: | CN109743570B | 公开(公告)日: | 2021-07-06 |
发明(设计)人: | 施云惠;王元嵩;丁文鹏;尹宝才 | 申请(专利权)人: | 北京工业大学 |
主分类号: | H04N19/122 | 分类号: | H04N19/122;H04N19/176;H04N19/51 |
代理公司: | 北京思海天达知识产权代理有限公司 11203 | 代理人: | 吴荫芳 |
地址: | 100124 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 屏幕 内容 视频 压缩 方法 | ||
1.一种屏幕内容视频的压缩方法,基于HEVC框架,对其中基于哈希的帧间预测进行了改进,其特征在于,包括以下步骤:
(1)编码器在获取当前编码帧后,计算当前编码帧中每个图像块的两个哈希值,即循环冗余校验码和局部敏感哈希值,其中循环冗余校验码用来在参考帧中匹配与当前编码块相同的图像块;其中局部敏感哈希值用来在参考帧中匹配与当前编码块相似的图像块;
(2)根据(1)中生成的哈希值为当前编码帧生成哈希图,图中每个坐标存储当前编码帧中以该坐标为左上角的所有图像块的哈希值;
(3)根据(2)中生成的哈希图为当前编码帧生成哈希表;
(4)按照当前编码块的尺寸和在当前编码帧中的坐标,从(2)中生成的哈希图获取当前编码块的哈希值;
(5)在参考帧中为当前编码块匹配参考块;
(6)HEVC将步骤(5)在参考帧中为当前编码块匹配到的参考块作为当前编码块在参考帧中的运动估计结果,并根据这个结果完成当前编码块后续的编码过程;
其中,所述步骤(1)中:
所述的图像块为任意位置的尺寸为8*8,16*16,32*32和64*64的像素块;
所述的循环冗余校验码是由HEVC编码器的循环冗余校验码函数生成的,是一个40位二进制数,
所述的局部敏感哈希值Hash由16位二进制数Hfp和Hlp组成,即
Hash=(Hfp<<16)+Hlp
其中
Hfp由两个八位二进制数r和c构成,即Hfp=(r<<8)+c
其中,r中第j位二进制数字的计算方式用公式(1)表示
表示异或操作,
c中第i位二进制数字的计算方式用公式(2)表示
其中表示异或操作,
L为二值化矩阵,具体计算方法如下:
首先,提取图像块的亮度分量,即Y分量,并将得到的亮度分量矩阵均匀下采样至8*8尺寸,即得到一个8*8的整数矩阵B;
接下来,计算B中所有数值的平均值Ave,比较矩阵B中每个数值与Ave的大小,如果B中坐标为(i,j)的数值大于Ave,则L矩阵中坐标为(i,j)的值被设定为1;否则,L矩阵中坐标为(i,j)的值被设定为0,i,j为1到8的整数;
Hlp是一个16位二进制数,其计算方法具体如下:
首先,将L逐行扫描到一个64维的向量中;
接下来,定义一个哈希函数的族:即从高斯分布中选择16个64维随机向量其中1≤i≤16
最后,利用每个随机向量得到Hlp的第i个二进制位用公式(4)表示
其中表示向量与向量点乘;
其中,所述步骤(2)中:
所述的图像块为任意位置的尺寸为8*8,16*16,32*32和64*64的像素块,
所述的当前编码帧的哈希图是一个矩阵,
其中
所述矩阵的宽度与当前编码帧的水平像素数相等,矩阵的高度与当前编码帧的垂直像素数相等;
所述矩阵中的每个位置,存储以该位置坐标为左上角的图像块的哈希值,即循环冗余校验码和局部敏感哈希值;
其中,所述步骤(3)中:
所述哈希表共分两个:
第一个用来储存当前编码帧中所有图像块位置及其循环冗余校验码,第二个用来储存当前编码帧中所有图像块位置及其局部敏感哈希值,
两个哈希表结构相同,首先每个哈希表中都包含218个记录,每个记录中又存储一个单向链表;
所述的第一个哈希表的生成方法如下:
首先得到这个图像块的左上角像素在当前编码帧中的坐标;
接下来,在哈希图中按照图像块的坐标和尺寸找到这个图像块的循环冗余校验码;
接下来,根据图像块的尺寸决定图像块的尺寸码,所述尺寸码是一个2位二进制数,当图像块尺寸为8*8时,它的尺寸码是00;当图像块尺寸为16*16时,它的尺寸码是01;当图像块尺寸为32*32时,它的尺寸码是10;当图像块尺寸为64*64时,它的尺寸码是11;
接下来,截取图像块循环冗余校验码的高16位二进制数值与尺寸码拼接作为图像块应该存储在哈希表中记录的索引,其中,所述索引的生成方法如下:将图像块的尺寸码作为索引的高两位,将图像块的循环冗余校验码的高16位作为索引的低16位;
接下来,在哈希表中找到索引所对应的记录并得到记录中存储的单向链表,并将图像块的坐标信息和循环冗余校验码的低24位存储到单向链表的尾部;
对当前编码帧中所有图像块进行如上操作,生成第一个哈希表;
所述的第二个哈希表的生成方法如下:
首先得到这个图像块的左上角像素在当前编码帧中的坐标;
接下来,在哈希图中按照图像块的坐标和尺寸找到这个图像块的局部敏感哈希值;
接下来,根据图像块的尺寸决定图像块的尺寸码,所述尺寸码是一个2位二进制数,当图像块尺寸为8*8时,它的尺寸码是00;当图像块尺寸为16*16时,它的尺寸码是01;当图像块尺寸为32*32时,它的尺寸码是10;当图像块尺寸为64*64时,它的尺寸码是11;
接下来,用图像块局部敏感哈希值的Hfp与尺寸码拼接作为图像块应该存储在哈希表中记录的索引,其中,所述索引的生成方法如下:将图像块的尺寸码作为索引的高两位,将图像块的Hfp作为索引的低16位;
接下来,在哈希表中找到索引所对应的记录并得到记录中存储的单向链表,并将图像块的坐标信息和Hlp存储到单向链表的尾部;
对当前编码帧中所有图像块进行如上操作,生成第二个哈希表;
其中,所述步骤(4)具体如下:
首先得到当前编码块左上角在当前编码帧中的坐标A和当前编码块的尺寸;
接下来,在(2)中生成的哈希图中找到坐标A,并根据当前编码块的尺寸找到当前编码块的循环冗余校验码和局部敏感哈希值;
接下来,为当前编码块生成尺寸码;当前图像块尺寸为8*8时,它的尺寸码是00;当前图像块尺寸为16*16时,它的尺寸码是01;当前图像块尺寸为32*32时,它的尺寸码是10;当前图像块尺寸为64*64时,它的尺寸码是11;
接下来,为当前编码块生成在参考帧的第一个哈希表中的索引,其中,所述索引的生成方法如下:将图像块的尺寸码作为索引的高两位,将图像块的循环冗余校验码的高16位作为索引的低16位;其中,所述的参考帧由HEVC编码器中当前编码帧的参考帧列表中选取;
接下来,为当前编码块生成在参考帧的第二个哈希表中的索引,其中,所述索引的生成方法如下:将当前图像块的尺寸码作为索引的高两位,将当前图像块的Hfp作为索引的低16位;
最后,根据生成的索引,在第一个哈希表和第二个哈希表中得到当前编码块的哈希值;
其中,所述步骤(5)具体包括:
首先,在参考帧中为当前编码块匹配相同的图像块,即找到步骤(4)中生成的当前编码块在参考帧第一个哈希表中的索引所对应的记录,并在记录中的单向链表中查找与当前编码块的循环冗余校验码低24位相同的图像块;如果哈希表中存在这样的图像块,则继续步骤(6);其中,与当前编码块相同的图像块是指参考帧中与当前编码块对应位置像素都相等的图像块;
如果无法找到完全相同的图像块,则在参考帧中为当前编码块匹配相似图像块,即找到步骤(4)中生成的当前编码块在参考帧第二个哈希表中的索引所对应的记录,并在记录中的单向链表中查找与当前编码块的Hlp相同的图像块,如果哈希表中存在这样的图像块,则继续步骤(6);其中,与当前编码块相似的图像块是指参考帧中与当前编码块对应位置像素超过90%相同的图像块,
如果上述两种情况都不满足,则在参考帧中为当前编码块进行传统的运动估计,找到参考块后继续步骤(6)。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京工业大学,未经北京工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910022363.8/1.html,转载请声明来源钻瓜专利网。
- 内容再现系统、内容提供方法、内容再现装置、内容提供装置、内容再现程序和内容提供程序
- 内容记录系统、内容记录方法、内容记录设备和内容接收设备
- 内容服务系统、内容服务器、内容终端及内容服务方法
- 内容分发系统、内容分发装置、内容再生终端及内容分发方法
- 内容发布、内容获取的方法、内容发布装置及内容传播系统
- 内容提供装置、内容提供方法、内容再现装置、内容再现方法
- 内容传输设备、内容传输方法、内容再现设备、内容再现方法、程序及内容分发系统
- 内容发送设备、内容发送方法、内容再现设备、内容再现方法、程序及内容分发系统
- 内容再现装置、内容再现方法、内容再现程序及内容提供系统
- 内容记录装置、内容编辑装置、内容再生装置、内容记录方法、内容编辑方法、以及内容再生方法