残差数据写入方法技术

技术编号:39579181 阅读:5 留言:0更新日期:2023-12-03 19:29
本申请涉及一种残差数据写入方法

【技术实现步骤摘要】
残差数据写入方法、装置、计算机设备和存储介质


[0001]本申请涉及视频编解码
,特别是涉及一种残差数据写入方法

装置

计算机设备

存储介质和计算机程序产品


技术介绍

[0002]随着视频编解码标准中编码技术的持续更新,视频编码的数据量不断增大,为了提高数据压缩率,主流视频编码标准均使用帧间编码来提高视频压缩率,帧间编码需要使用当前帧的数据与参考帧的数据做差得到残差数据,使用残差数据进行运动估计,随着编码技术的不断更新运动估计过程中残差数据量也不断增加,残差数据的存取效率极大的影响了编码效率

因此如何提高残差数据的存取效率是每个编码器设计时需要解决的问题

[0003]传统技术中,运动估计分为三个阶段
coarse
阶段,
fine
阶段,
fraction
阶段,残差数据为块数据,
coarse
阶段每两笔
128bit
残差数据中共有
16
个残差数据分属于9个运动矢量
。finesh
阶段与
fraction
阶段每两笔
128bit
数据包含
16
个运动矢量的数据

已有方法采用行扫描顺序对应运动矢量的数据依次进行缓存,以
coarse
为例,
coarse
将9个运动矢量的数据按照矢量顺序进行缓存,需对两笔
128bit
数据进行拆分拼接,分9次将数据存入
SRAM
中,这种方法需要9个
cycle
才能将两笔
128bit
的残差数据存入
SRAM


一个
32x32
块每次搜索需要
512
笔残差数据,缓存数据所需时间需要
4608

cycle。Fine

fraction
阶段用于缓存数据花费的时间更长,这就导致缓存残差数据的时间冗余导致编码器长时间处于空闲状态,严重影响编码器的编码效率

[0004]目前的残差数据的写入时间长,导致残差数据存取效率较低


技术实现思路

[0005]基于此,有必要针对上述技术问题,提供一种能够提高残差数据存取效率的残差数据写入方法

装置

计算机设备

计算机可读存储介质和计算机程序产品

[0006]第一方面,本申请提供了一种残差数据写入方法,包括:
[0007]确定残差数据读取方式;残差数据读取方式包括各残差数据的读取顺序,以及每一次同时读取的参数数据的数量;
[0008]根据残差数据读取方式确定缓存器组的数量,以及每一个缓存器组包括的缓存器的数量;各缓存器设有唯一的缓存器标号,且各缓存器包括多个缓存器地址;
[0009]获取待写入残差数据对应的缓存器标号和缓存器地址;
[0010]根据缓存器标号和缓存器地址,将待写入残差数据写入对应的缓存器中

[0011]在其中一个实施例中,确定残差数据读取方式,包括:
[0012]配置残差数据读取电路;残差数据读取电路包括两个数据接口;两个数据接口用于在每一次残差数据读取过程中,同时读取相邻的两个运动矢量的残差数据;
[0013]通过残差数据读取电路的两个数据接口,从缓存器中至少一次读取残差数据

[0014]在其中一个实施例中,根据残差数据读取方式确定缓存器组的数量,以及每一个
缓存器组包括的缓存器的数量,包括:
[0015]根据残差数据读取方式,确定在每一次残差数据读取过程中,同时读取相邻的两个运动矢量的残差数据,以配置两个缓存器组;
[0016]在每一个缓存器组中,配置相同数量的缓存器

[0017]在其中一个实施例中,获取待写入残差数据对应的缓存器标号和缓存器地址,包括:
[0018]将运动估计目标阶段获取到的初始残差数据进行拆分,得到
16bit
的待写入残差数据;
[0019]根据待写入残差数据与初始残差数据间的位置关系,获取待写入残差数据对应的矢量坐标;
[0020]获取初始残差数据对应的搜索中心点,根据矢量坐标与搜索中心点间的偏移量,得到待写入残差数据的矢量偏移坐标;
[0021]根据矢量偏移坐标,获取待写入残差数据对应的缓存器标号和缓存器地址

[0022]在其中一个实施例中,根据矢量偏移坐标,获取待写入残差数据对应的缓存器标号,包括:
[0023]根据每一个缓存器的缓存器标号,拼接所有缓存器的相同缓存深度的缓存行,得到拼接缓存行;
[0024]根据每一个缓存器的缓存行宽度,获取拼接缓存行的拼接宽度;
[0025]根据矢量偏移坐标和拼接宽度,确定待写入残差数据与拼接缓存行间的第一位置映射关系;
[0026]根据第一位置映射关系,确定待写入残差数据对应的缓存器组以及对应的缓存器,以确定待写入残差数据对应的缓存器标号

[0027]在其中一个实施例中,待写入残差数据包括第一残差数据和第二残差数据,第一残差数据和第二残差数据是相邻的两个运动矢量的残差数据;根据第一位置映射关系,确定待写入残差数据对应的缓存器组以及对应的缓存器,以确定待写入残差数据对应的缓存器标号,包括:
[0028]根据每一个缓存器组中缓存器的排列顺序,确定存在对应关系的多个目标缓存器;每一个目标缓存器分别属于不同的缓存器组,且在相应缓存器组中的排列顺序相同;
[0029]根据每一个目标缓存器的缓存器标号,获取差值参数;
[0030]根据第一位置映射关系,分别确定第一残差数据和第二残差数据对应的缓存器组以及对应的缓存器,以确定第一残差数据对应的第一缓存器标号,以及第二残差数据对应的第二缓存器标号;
[0031]在第一缓存器标号与第二缓存器标号相同的情况下,根据差值参数对第二缓存器标号进行修正,得到第三缓存器标号;
[0032]将第一缓存器标号作为第一残差数据对应的缓存器标号,以及将第三缓存器标号作为第二残差数据对应的缓存器标号

[0033]在其中一个实施例中,根据矢量偏移坐标,获取待写入残差数据对应的缓存器地址,包括:
[0034]根据矢量偏移坐标和搜索中心点,确定待写入残差数据与缓存深度间的第二位置
映射关系;
[0035]根据第二位置映射关系,确定待写入残差数据对应的缓存深度,以确定待写入残差数据对应的缓存器地址

[0036]在其中一个实施例中,根据缓存器标号和缓存器地址,将待写入残差数据写入对应的缓存器中,包括本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种残差数据写入方法,其特征在于,所述方法包括:确定残差数据读取方式;所述残差数据读取方式包括各残差数据的读取顺序,以及每一次同时读取的参数数据的数量;根据所述残差数据读取方式确定缓存器组的数量,以及每一个缓存器组包括的缓存器的数量;各缓存器设有唯一的缓存器标号,且各缓存器包括多个缓存器地址;获取待写入残差数据对应的缓存器标号和缓存器地址;根据所述缓存器标号和所述缓存器地址,将所述待写入残差数据写入对应的缓存器中
。2.
根据权利要求1所述的方法,其特征在于,所述确定残差数据读取方式,包括:配置残差数据读取电路;所述残差数据读取电路包括两个数据接口;所述两个数据接口用于在每一次残差数据读取过程中,同时读取相邻的两个运动矢量的残差数据;通过所述残差数据读取电路的所述两个数据接口,从缓存器中至少一次读取残差数据
。3.
根据权利要求1所述的方法,其特征在于,所述根据所述残差数据读取方式确定缓存器组的数量,以及每一个缓存器组包括的缓存器的数量,包括:根据所述残差数据读取方式,确定在每一次残差数据读取过程中,同时读取相邻的两个运动矢量的残差数据,以配置两个缓存器组;在每一个缓存器组中,配置相同数量的缓存器
。4.
根据权利要求1所述的方法,其特征在于,所述获取待写入残差数据对应的缓存器标号和缓存器地址,包括:将运动估计目标阶段获取到的初始残差数据进行拆分,得到
16bit
的所述待写入残差数据;根据所述待写入残差数据与所述初始残差数据间的位置关系,获取所述待写入残差数据对应的矢量坐标;获取所述初始残差数据对应的搜索中心点,根据所述矢量坐标与所述搜索中心点间的偏移量,得到所述待写入残差数据的矢量偏移坐标;根据所述矢量偏移坐标,获取所述待写入残差数据对应的缓存器标号和缓存器地址
。5.
根据权利要求4所述的方法,其特征在于,所述根据所述矢量偏移坐标,获取所述待写入残差数据对应的缓存器标号,包括:根据每一个缓存器的缓存器标号,拼接所有缓存器的相同缓存深度的缓存行,得到拼接缓存行;根据每一个缓存器的缓存行宽度,获取所述拼接缓存行的拼接宽度;根据所述矢量偏移坐标和所述拼接宽度,确定所述待写入残差数据与所述拼接缓存行间的第一位置映射关系;根据所述第一位置映射关系,确定所述待写入残差数据对应的缓存器组以及对应的缓存器,以确定所述待写入残差数据对应的缓存器标号
。6.
根据权利要求5所述的方法,其特征在于,所述待写入残差数据包括第一残差数据和第二残差数据,所述第一残差数据和所述第二残差数据是相邻的两个运动矢量的残差数据;所述根据所述第一位置映射关系,确定所述待写入残差数据对应的缓存器组以及对应
的缓存器,以确定所述待写入残差...

【专利技术属性】
技术研发人员:郝武朱聪朱传传马家辉
申请(专利权)人:格兰菲智能科技北京有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1