System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术属于视频编码,特别涉及一种仿射运动估计的整数线性方程求解加速方法及装置。
技术介绍
1、通用视频编码(versatile video coding,vvc)是最新一代的视频编码标准,旨在提供一个真正通用的视频编码技术。与上一代高效视频编码(high efficiency videocoding,hevc)标准相比,vvc能够在相同感知质量下节省30%到50%的码率,为了达到这个目标,vvc针对不同的内容和场景对视频序列应用了各类不同的编码工具。在vvc测试模型(vvc test model,vtm)中,基于梯度的仿射运动估计算法需要以编码单元(coding unit,cu)为单位实时求解线性方程组,即求解a·x=b问题,而目前并没有针对vvc的高效方程求解方法和装置。
2、若采用vtm中的高斯消元法来实现硬件方程求解器,其化简算法中的多周期除法运算将导致求解单个方程组时,所需的总时钟周期多达数百个,使得高斯消元法并不适宜应用在有低延迟要求的场景中。
3、vvc中的差异运动向量方程组元素均为整数,采用纯整数运算的方式,可以有效降低逻辑资源消耗,提升运算效率。在实际场景中,输入的方程组元素具有高位宽的数值,在经过整数乘法之后将超出64位有符号整数的表示极限,造成数据上溢出。数值精度的损失将在随后的计算过程中逐步增加,导致方程组的解误差增大,编码效率降低。
4、在差异运动向量方程组化简算法中,不同元素间的计算不存在关联性,且单个计算复杂度不高,存在可接受的并行运算规模,采用现有的cpu平台
技术实现思路
1、本专利技术针对现有的视频编码硬件仿射运动模型存在的计算成本高、输出延迟大等缺点,提出了一种仿射运动估计的整数线性方程求解加速方法及装置。
2、本专利技术提供一种仿射运动估计的整数线性方程求解加速方法,包括以下步骤:
3、步骤s1:当对数字视频图像帧进行仿射运动估计时,由仿射高级运动向量预测算法生成梯度搜索的初始运动向量。
4、步骤s2:根据生成的初始运动向量信息,计算当前图像编码单元与参考图像编码单元的图像梯度差异,构建待求解的差异运动向量方程组,差异运动向量方程组包含四参数和六参数两类,其中四参数差异运动向量方程组具有4×5个元素,六参数差异运动向量方程组具有6×7个元素。两类差异运动向量方程组中的所有元素均为64位有符号整数。
5、步骤s3:化简差异运动向量方程组,得到差异运动向量方程组化简结果。
6、步骤s4:对差异运动向量方程组化简结果进行运算,得到差异运动向量方程组的解。
7、步骤s5:根据差异运动向量方程组的解,计算得出差异运动向量。将差异运动向量与初始运动向量相加,得到新的初始运动向量。重复执行步骤s2至s5直到达到设定的迭代次数iters,得到当前图像编码单元的最优运动向量。
8、所述的步骤s3进一步包括:
9、步骤s31:构建初始迭代变量,变量k用于表示当前迭代次数,其初始值为0。di,j表示方程组中位于第i行和第j列的元素。变量n表示当前方程组中待求解的参数个数,对于四参数差异运动向量方程组,n为4。对于六参数差异运动向量方程组,n为6。
10、步骤s32:找出差异运动向量方程组第k列的绝对最大值mk所在的行row(mk)。
11、步骤s33:若方程组第k行row(k)与mk所在的行row(mk)不是同一行,则对两行的所有元素进行交换。
12、步骤s34:计算mk绝对值的二进制对数b,b的计算方法如下:
13、
14、步骤s35:设定缩放阈值limit,计算方程组中除第k行的所有元素di,j的预缩放系数,计算方法如下:
15、sa=log2(|mk|)+log2(|di,j|)
16、sb=log2(|di,k|)+log2(|dk,j|)
17、s=max(sa,sb)-limit
18、mk=mk>>s
19、di,k=di,k>>s
20、其中,sa表示mk绝对值的二进制对数与di,j绝对值的二进制对数之和,s表示sa与sb中最大值与缩放阈值limit的差异,mk>>s表示对mk进行算数右移操作,移位数为s。
21、步骤s36:使用预缩放后的系数计算每个对应的di,j的值,方法如下:
22、di,j=mk·di,j-di,k·dk,j
23、步骤s37:将计算后的每个di,j的值进行归一化,方法如下:
24、di,j=di,j>>(b-s)
25、步骤s38:重复执行步骤s32至步骤s37直到k等于n-1。
26、所述的步骤s4进一步包括:
27、步骤s41:对dk,n进行算数左移操作,左移位数为frac,得到frac位定点被除数dd。同时令除数dr的值等于dk,k。具体算法如下:
28、dd=dk,n<<frac
29、dr=dk,k
30、其中dk,n<<frac表示对dk,n进行算数左移操作,移位数为frac。
31、步骤s42:计算64位整数除法,得到小数位为frac位的定点整数商xk。具体算法如下:
32、xk=dd//dr
33、其中dd//dr表示dd整除dr运算。
34、步骤s43:循环执行步骤s41至步骤s42直到k等于n-1,得到n个定点整数商,构成差异运动向量方程组的解。
35、本专利技术另一方面,提供一种仿射运动估计的整数线性方程求解加速装置,包括运动向量生成模块、方程组构建模块、方程组化简模块、方程组求解模块和运动向量输出模块。
36、运动向量生成模块利用仿射高级运动向量预测算法,生成一组关于当前图像编码单元的初始运动向量。
37、方程组构建模块根据当前图像编码单元与参考图像编码单元的图像梯度差异,生成差异运动向量方程组。
38、方程组化简模块包括比较与估计单元、预缩放单元、计算单元和归一化单元,用于化简对差异运动向量方程组。
39、比较与估计单元用于找出差异运动向量方程组第k列的绝对最大值mk所在的行row(mk),同时计算mk的二进制对数b。
40、预缩放单元用于计算方程组中除了第k行的所有元素di,i的预缩放系数。
41、计算单元使用预缩放后的系数计算每个对应的di,j的值。
42、归一化单元将计算后的每个di,j的值进行归一化。
43、方程组求解模块包括移位单元和整除单元,用于计算得到差异运动向量方程组的解。
44、移位单元用于对将被除数由整数转为小数位为frac位的定点数。
45、整除单元用于对被除数和除数进行整除运算,其商构成了差异运动向量方程组的解。
46、本文档来自技高网...
【技术保护点】
1.一种仿射运动估计的整数线性方程求解加速方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的一种仿射运动估计的整数线性方程求解加速方法,其特征在于,步骤S2所述差异运动向量方程组包含四参数和六参数两类,其中四参数差异运动向量方程组具有4×5个元素,六参数差异运动向量方程组具有6×7个元素;
3.根据权利要求2所述的一种仿射运动估计的整数线性方程求解加速方法,其特征在于,步骤S3具体过程如下:
4.根据权利要求3所述的一种仿射运动估计的整数线性方程求解加速方法,其特征在于,所述步骤S4具体过程如下:
5.根据权利要求4所述的一种仿射运动估计的整数线性方程求解加速方法,其特征在于,步骤S5具体过程如下:
6.一种仿射运动估计的整数线性方程求解加速装置,用于实现权利要求1至5任一所述的方法,其特征在于,包括运动向量生成模块、方程组构建模块、方程组化简模块、方程组求解模块和运动向量输出模块;
7.根据权利要求6所述的仿射运动估计的整数线性方程求解加速装置,其特征在于,所述比较与估计单元用于找出差异运动向量方程
8.根据权利要求7所述的仿射运动估计的整数线性方程求解加速装置,其特征在于,所述移位单元用于将被除数由整数转为小数位为FRAC位的定点数;
...【技术特征摘要】
1.一种仿射运动估计的整数线性方程求解加速方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的一种仿射运动估计的整数线性方程求解加速方法,其特征在于,步骤s2所述差异运动向量方程组包含四参数和六参数两类,其中四参数差异运动向量方程组具有4×5个元素,六参数差异运动向量方程组具有6×7个元素;
3.根据权利要求2所述的一种仿射运动估计的整数线性方程求解加速方法,其特征在于,步骤s3具体过程如下:
4.根据权利要求3所述的一种仿射运动估计的整数线性方程求解加速方法,其特征在于,所述步骤s4具体过程如下:
5.根据权利要求4所述的一种仿射运动估计的整数线性方...
【专利技术属性】
技术研发人员:盛庆华,陈宏照,黄小芳,赖昌材,刘圆圆,黄晓峰,殷海兵,
申请(专利权)人:杭州电子科技大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。