一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种率失真编码优化方法与流程

2021-10-24 11:43:00 来源:中国专利 TAG:失真 图像 编码 优化 视频压缩

1.本发明属于图像、视频压缩领域,特别是一种率失真编码优化方法。


背景技术:

2.现有的图像/视频压缩的率失真编码优化方法主要采用以下两种方式:
3.一、在avs系列视频编码标准以及h.26x系列视频编码中,大部分图像/视频压缩的率失真优化方法采用了基于像素信号均方误差的率失真编码方法,均方误差主要是用于估计图像压缩后和原图像在像素级别的一致性,追求的是所有的像素平均起来数值上和原图最为相似。但是这个方法已经被很多工作证明会被噪声影响,比如将误差集中在图像的某些区域,这样一来即使其他区域零误差也会导致视觉效果交叉。很多时候基于均方误差的率失真优化方法并不能准确的代表人类视觉系统的主观感受。
4.二、为了解决像素级别失真和人类视觉系统之间的不匹配,很多新方法都采用了面向主观视觉的率失真优化方法去提升。一般使用的方法是结构相似性或者是多尺度结构相似性。这些率失真优化方法更加关注压缩后图像和原图像的结构上的相似性,尽可能还原出和原图一样的图形结构。但是这一类方法处理视觉分析任务的时候还具有很多的局限性。


技术实现要素:

5.本发明要解决的技术问题是现有率失真编码算法在视觉分析任务里性能低下。
6.本发明提出一种率失真编码优化方法,包括以下步骤:
7.步骤1:输入图像,用rpn网络(region proposal network,区域生成网络)提取边框,获得该图像的预设图像特征;
8.步骤2:根据预设图像特征计算每个编码块的机器感兴趣值,并根据每个编码块的机器感兴趣值分配编码比特数目;
9.步骤3:对于每两个相邻的编码块,根据预设图像特征计算相邻编码块相关指数,并根据相邻编码块相关指数来对实际编码中的qp 计算进行限制;
10.步骤4:对于每个编码块,通过卷积神经网络提取特征,计算特征之间的余弦距离作为失真,根据失真和码率计算率失真损失,用率失真损失建立率失真优化,输出优化后的图像。
11.进一步的,所述步骤1中的预设图像特征为边框和每个编码块重合的频率或边框和每个编码块重合的大小比例或边框和两个相邻编码块的边界重合的大小比例或上述三者的任意组合。
12.进一步的,所述步骤2中机器感兴趣值的计算方法为:
13.a,定义每个编码块的机器感兴趣值;
14.b,对于每个编码块,遍历全部步骤1中的边框,计算边框和编码块的交占编码块自身面积的比例f;
15.c,将所有编码块中f最大的编码块对应的f数值记为fmax,然后把所有编码块对应的f除以fmax进行归一化处理,根据归一化处理得到的结果对每个编码块的机器感兴趣值赋值。
16.进一步的,所述编码比特数目的分配方法为:
17.a,初始化整张图像的比特数目;
18.b,对于每个编码块,跟据整张图像的比特数目和已经消耗的比特数目计算当前还可以使用的比特数目以及计算每个编码块的satd值和机器感兴趣值的加权和,然后计算当前编码块的satd值和机器感兴趣值的加权和占所有编码块的satd值和机器感兴趣值的加权和的总和比例,根据该比例分配当前可以使用的比特数目;
19.c,每次分配完毕后,编码器进行编码,根据编码器编码所消耗的比特数更新已经消耗的比特数目。
20.进一步的,所述步骤3中,相邻编码块相关指数的计算公式为:mc=a/b,其中mc为相邻编码块相关指数,a为跨当前相邻编码块的边框的长度的交集,其中b为当前相邻编码框的相邻边的长度。
21.进一步的,所述步骤3中,限制方法为:如果相邻编码块相关指数大于0.7,则该相邻两个编码块qp差距不能超过2;否则,该相邻两个编码块qp差距不能超过9。当前图像不同编码树单元编码时需要对其中的qp进行设置,用以提高编码的质量。
22.进一步的,所述步骤4中,失真为特征失真和像素失真的加权和。
23.进一步的,所述特征失真的计算方法为:计算经神经网络提取后的当前块的特征f1和原始块的特征f2之间的余弦距离,该余弦距离为特征失真。
24.进一步的,所述像素失真的计算方法为:计算经神经网络提取后的当前块和原始块对应像素之间差的平方的平均值,该平均值为像素失真。
25.本发明同现有技术相比具有以下优点及效果:
26.1、本发明建立了全新的码率分配方式和率失真计算方法。
27.2、通过本发明压缩后的图像在同码率的前提条件下在视觉分析任务里可以获得更好的性能。
具体实施方式
28.为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
29.实施例1:一种率失真编码优化方法,包括以下步骤:
30.步骤1:输入一幅图像,采用预训练过rpn网络(regionproposalnetwork,区域生成网络)提取边框,预训练方法和rpn网络均采用现有算法,例如采用作者s.ren、k.he、r.girshick和j.sun的文章《fasterr

cnn:towardsreal

timeobjectdetectionwithregionproposalnetworks》(期刊号advancesinneuralinformationprocessingsystems,2015,pp.91

99)中的算法,将边框和每个编码块重合的频率或边框和每个编码块重合的大小比例或边框和两个相邻编码块的边界重合的大小比例或上述三者的任意组合定义为预设图像特征,例如预设特征为;
31.步骤2.1:定义每个编码块的机器感兴趣值(以下简称为“roim 值”),对于每个编码块,遍历全部步骤1中的边框,即枚举步骤1 中获得的所有边框,计算边框和编码块的交占编码块自身面积的比例 f,将所有编码块中f最大的编码块对应的f数值记为fmax,然后把所有编码块对应的f除以fmax进行归一化处理,根据归一化处理得到的结果对每个编码块的机器感兴趣值赋值。例如,一个编码块尺寸为128x128,边框和这个编码块交的尺寸为7285个像素,那么 f=7285/(128*128)=0.44;对于每一个编码块对应的f,其中最大的为0.75,则fmax=0.75,用f除以fmax进行归一化处理得到每一个编码块的roim值。
32.步骤2.2:初始化整张图像的比特数目,即输入整张图像的比特数目为一定值,例如100,然后从上到下、从左到右按照顺序遍历每一个编码块,对于每一个编码块,先把整张图像的比特数目和已经消耗的比特数目来得到当前还可以使用的比特数目。同时,计算每一个编码块的satd(sum of absolute transformed difference,哈达玛变换后再绝对值求和)值和roim值的加权和,其中satd计算方式采用vvc(versatile video coding)标准中的计算方式,计算当前编码块的satd值和roim值的加权和占所有编码块的satd值和roim 值的加权和的总和比例,用这个比例作为分配系数去分配当前可以使用的比特数目,即采用现有vtm编码器对不同的编码块进行码率分配,其中,每次分配完毕后,vtm编码器进行编码,并根据vtm编码器编码所消耗的实际比特数去更新已经消耗的比特数目。
33.步骤3.1:对于每两个相邻的编码块,根据预设图像特征计算一个相邻编码块相关指数(mc),其计算公式为:mc=a/b,其中mc 为相邻编码块相关指数,a为跨当前相邻编码块的边框的长度的交集,其中b为当前相邻编码框的相邻边的长度。例如,vtm中默认编码块的大小为128,对两个相邻的编码块,跨这两个编码块的边框长度为 96,那么mc=96/128=0.75。
34.步骤3.2:根据mc来对当前编码树单元在以后应用过程中的实际编码中的qp计算进行限制,如果mc大于0.7,则该相邻两个编码块qp差距不能超过2;否则,该相邻两个编码块qp差距不能超过9。例如,mc=96/128=0.75,mc大于0.7,则qp差距不能超过2。
35.步骤4:对于每一个编码块,通过一个提前训练好的卷积神经网络提取特征,卷积神经网络和训练方法采用现有算法,例如采用作者为k.simonyan和a.zisserman的文章《very deep convolutionalnetworks for large

scale image recognition》(期刊号arxiv preprintarxiv:1409.1556,2014)中的vgg

19网络去掉最后的池化层和全连接层之后得到的子网络,计算经神经网络提取后的当前块的特征f1 和原始块的特征f2之间的余弦距离(定义为特征失真)以及经神经网络提取后的当前块和原始块对应像素之间差的平方的平均值(定义为像素失真),将特征失真和像素失真的加权和定义为失真,然后用这个失真和当前配置消耗的码率共同计算出一个率失真损失,率失真损失的计算方法为r lambda*d,r为码率,d为失真,lambda为编码器内参数,用这个率失真损失来进行划分时的率失真优化。
36.以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜