视频片段压缩的方法与装置转让专利

申请号 : CN201980066142.9

文献号 : CN113196779B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 戴维·J·白瑞迪严雪飞张卫平于长志

申请人 : 无锡安科迪智能技术有限公司

摘要 :

本发明公开了一种压缩方法、设备以及录像系统。压缩方法包括的步骤为:从相机头中读出多组原始像素值,其中每组原始像素值与视频片段的一帧相对应;通过使用压缩内核将每组原始像素值压缩为帧内压缩样本(ICS)帧来进行帧内压缩,其中ICS帧包括第一ICS帧和若干个在第一ICS帧之后出现的其余的ICS帧(R‑ICS帧),并且其中压缩内核具有Ncomp个ICS通道,而Ncomp是不小于1的整数;量化第一ICS帧,并且将R‑ICS帧量化为QR‑ICS帧,其中量化的第一ICS帧包括Ncomp个单通道量化的第一ICS帧,并且每个单通道量化的第一ICS帧与量化的第一ICS帧的一个ICS通道相对应,其中每个QR‑ICS帧包括Ncomp个sub‑QR‑ICS帧,并且每个sub‑QR‑ICS帧与QR‑ICS帧的一个ICS通道相对应;对于每个ICS通道所对应的sub‑QR‑ICS帧,在该ICS通道所对应的单通道量化的第一ICS帧所关联的sub‑QR‑ICS帧中进行图像块匹配减除,并且生成减除图像块的ICS帧,其中一个或多个运动矢量与一个sub‑QR‑ICS帧相对应,并且运动矢量代表着ICS通道所对应的sub‑QR‑ICS帧中的匹配图像块与该ICS通道所对应的单通道量化的第一ICS帧中的参考图像块之间的相对定位,并且其中与一个ICS通道相对应的运动矢量被其他ICS通道共享;对于每个ICS通道所对应的减除图像块的ICS帧,将减除图像块的ICS帧组合为堆栈,其中每个堆栈包括预设数量的减除图像块的ICS帧;对于每个ICS通道所对应的每个堆栈中减除图像块的ICS帧,确定共享数据,其中共享数据代表着减除图像块的ICS帧之间的相似数据,并且基于共享数据来确定堆栈残差帧。

权利要求 :

1.一种视频片段压缩的方法,包括:从相机头中读出多组原始像素值,其中每组原始像素值与视频片段的一帧相对应;

通过使用压缩内核将每组原始像素值压缩为帧内压缩样本(ICS)帧来进行帧内压缩,其中ICS帧包括第一ICS帧和在第一ICS帧之后出现的若干个其余的帧(R‑ICS帧),且其中的压缩内核具有Ncomp个ICS通道,而Ncomp是一个不小于1的整数;

量化第一ICS帧,并将R‑ICS帧量化为QR‑ICS帧,其中量化的第一ICS帧包括Ncomp个单通道量化的第一ICS帧,且每个单通道量化的第一ICS帧与量化的第一ICS帧的一个ICS通道相对应;其中每个QR‑ICS帧包括Ncomp个sub‑QR‑ICS帧,且每个sub‑QR‑ICS帧与QR‑ICS帧的一个ICS通道相对应;

对于每个ICS通道所对应的sub‑QR‑ICS帧,在对应于该ICS通道的单通道量化的第一ICS帧所关联的sub‑QR‑ICS帧中进行图像块匹配减除,并生成减除图像块的ICS帧,其中一个或多个运动矢量与一个sub‑QR‑ICS帧相对应,且运动矢量代表着对应于ICS通道的sub‑QR‑ICS帧中的匹配图像块与对应于该ICS通道的单通道量化的第一ICS帧中的参考图像块之间的相对定位,其中对应于一个ICS通道的运动矢量被其他ICS通道共享;

对于每个ICS通道所对应的减除图像块的ICS帧,将减除图像块的ICS帧组合为堆栈,其中每个堆栈包括预设数量的减除图像块的ICS帧;

对于每个ICS通道所对应的每个堆栈中的减除图像块的ICS帧,确定共享数据,其中共享数据代表着减除图像块的ICS帧中的相似数据,并且基于共享数据来确定堆栈残差帧。

2.根据权利要求1的方法,其中通过使用压缩内核将每组原始像素值压缩为压缩的帧来进行帧内压缩包括:

对于视频片段的每一帧,使用压缩内核将原始像素值组的每一部分压缩为一个整数,其中原始像素值组的每一部分与帧的一个分段相对应。

3.根据权利要求1的方法,其中对于每个ICS通道所对应的sub‑QR‑ICS帧,在量化的第一ICS帧所关联的QR‑ICS帧中进行图像块匹配减除包括:对于一个ICS通道所对应的每个sub‑QR‑ICS帧,针对该ICS通道所对应的单通道量化的第一ICS帧所关联的sub‑QR‑ICS帧的图像块进行基于图像块匹配的运动预测,其中sub‑QR‑ICS帧被划分为图像块,用于在单通道量化的第一ICS帧中进行图像块搜索,在sub‑QR‑ICS‑frame帧中的图像块之间既没有间隙也没有重叠;

对于每个sub‑QR‑ICS帧,通过从sub‑QR‑ICS帧中减除一个或多个匹配图像块以确定减除图像块的ICS帧。

4.根据权利要求3的方法,其中对于一个ICS通道所对应的每个sub‑QR‑ICS帧,针对该ICS通道所对应的单通道量化的第一ICS帧所关联的sub‑QR‑ICS帧的图像块进行基于匹配图像块的运动预测包括:

将ICS通道所对应的sub‑QR‑ICS帧定义为匹配帧,并将该ICS通道所对应的单通道量化的第一ICS帧定义为搜索帧,在搜索帧中进行层次图像块搜索,其中匹配帧被划分为相关联的图像块且层次图像块搜索包括:

对于匹配帧中的每个相关联的图像块,在搜索帧中以一个步长的面积进行图像块搜索,其中步长面积是预设的不小于1的整数;

在搜索帧中进行图像块搜索时,计算搜索帧中的每个图像块与匹配帧中相关联的图像块之间的平方差;

如果最低平方差小于预设的阈值,用最低平方差将目标图像块确定为参考图像块,并将相关联的图像块确定为匹配图像块;

如果最低平方差不小于预设的阈值,且如果相关联的图像块的图像块面积大于预设的最小图像块面积,将相关联的图像块定义为匹配帧,并将目标图像块定义为搜索帧,在搜索帧中进行层次图像块搜索;

重复进行层次图像块搜索,直至找到对应于相关联的图像块的参考图像块,这两者之间的平方差小于预设的阈值,或者相关联的图像块的图像块面积不大于预设的最小图像块面积。

5.根据权利要求1的方法,每个堆栈中减除图像块的ICS帧的数量是相等的。

6.根据权利要求1的方法,其中对于每个ICS通道所对应的每个堆栈中减除图像块的ICS帧,确定共享数据,并且对于每个减除图像块的ICS帧,基于共享数据来确定一个堆栈残差帧包括:

对于ICS通道所对应的每个堆栈,使用第一内核将每个堆栈中的减除图像块的ICS帧卷积,从而确定共享数据;

对于ICS通道所对应的每个堆栈,将共享数据中的值量化为具有预设位宽的整数,从而针对每个堆栈确定量化的共享数据;

对于ICS通道所对应的每个堆栈,将量化的共享数据重缩放为RQ共享数据;

对于ICS通道所对应的每个堆栈,使用第二内核执行反卷积,从而将RQ共享数据重塑为RRQ共享数据;

对于ICS通道所对应的每个堆栈中的每个减除图像块的ICS帧,从减除图像块的ICS帧中减除RRQ共享数据,从而确定堆栈残差帧。

7.根据权利要求1的方法,其中针对每个ICS通道所对应的每个堆栈中的减除图像块的ICS帧,确定共享数据,并且基于共享数据来确定堆栈残差帧包括:对于ICS通道所对应的每个堆栈,使用加权求和参数对减除图像块的ICS帧中处于相同位置的值进行加权求和,从而将减除图像块的ICS帧压缩为加权求和的帧;

对于ICS通道所对应的每个堆栈,使用第一内核将加权求和帧卷积,从而确定共享数据;

对于ICS通道所对应的每个堆栈,将共享数据中的值量化为具有预设位宽的整数,从而确定量化的共享数据;

对于ICS通道所对应的每个堆栈,将量化的共享数据重缩放为RQ共享数据;

对于ICS通道所对应的每个堆栈,使用第二内核执行反卷积,从而将RQ共享数据重塑为RRQ共享数据;

对于ICS通道所对应的每个堆栈中的每个减除图像块的ICS帧,通过从减除图像块的ICS帧中减除RRQ共享数据来确定堆栈残差帧。

8.根据权利要求6或7的方法,其中方法还包括:对于ICS通道所对应的每个堆栈,使用第三内核压缩每个堆栈残差帧;

对于ICS通道所对应的每个堆栈,将每个压缩的堆栈残差帧中的值量化为具有预设位宽的整数,从而确定量化压缩的堆栈残差帧;

分别对于每个ICS通道所对应的量化的共享数据、每个ICS通道所对应的量化压缩的堆栈残差帧以及ICS通道中共享的每个堆栈中的运动矢量进行熵编码;

其中每个ICS通道所对应的熵编码的量化的共享数据、每个ICS通道所对应的熵编码的量化压缩的堆栈残差帧以及ICS通道中共享的每个堆栈中的熵编码的运动矢量被存储以用于解码;

其中熵编码是以全局数据字典为基础的操作,且全局数据字典根据相同类型的大量数据为基础预先构建。

9.根据权利要求8的方法,其中方法还包括:对于ICS通道所对应的每个堆栈,针对熵编码的量化的共享数据、熵编码的量化压缩的堆栈残差帧以及其所对应熵编码的运动矢量执行熵解码;

对于ICS通道所对应的每个堆栈,将每个量化压缩的堆栈残差帧重缩放为RQ压缩的堆栈残差帧;

对于ICS通道所对应的每个堆栈,使用第四内核执行反卷积,从而将每个RQ压缩的堆栈残差帧解压缩为第一解压缩的ICS帧;

对于ICS通道所对应的每个堆栈,使用第二内核执行反卷积,从而将RQ共享数据重塑为RRQ共享数据;

对于ICS通道所对应的每个堆栈中的每第一解压缩的ICS帧,将RRQ共享数据和其所对应的一个或多个带有存储的运动矢量的匹配图像块添加至第一解压缩的ICS帧,从而确定第二解压缩的ICS帧;

对于每个堆栈中的每第二解压缩的ICS帧,将所有ICS通道所对应的第二解压缩的ICS帧堆叠在一起,从而确定第三解压缩的ICS帧;

对于每个堆栈中的每第三解压缩的ICS帧,使用解压缩内核和用于质量改进的神经网络(QINN)对第三解压缩的ICS帧执行帧内解压缩,从而确定重建帧;

其中第一内核至第四内核被ICS通道所对应的堆栈共享。

10.根据权利要求9的方法,压缩内核中的参数、时间模块、解压缩内核和QINN都是通过基于样本的训练来确定的,其中时间模块包括第一内核至第四内核,或者时间模块包括第一内核至第四内核以及加权求和参数,基于样本的训练包括:读出多组原始像素值样本,其中每组原始像素值样本与一帧相对应;

使用初始压缩内核将每组原始像素值样本压缩为ICS帧样本,从而进行帧内压缩,其中ICS帧样本包括第一ICS帧样本和若干个在第一ICS帧之后出现的R‑ICS帧样本,且初始压缩内核具有Ncomp个ICS通道,Ncomp是不小于1的整数;

量化第一ICS帧样本,并且将R‑ICS帧样本量化为QR‑ICS帧样本,其中量化的第一ICS帧样本包括Ncomp个单通道量化的第一ICS帧样本,并且每个单通道量化的第一ICS帧样本与量化的第一ICS帧样本的一个ICS通道相对应,其中每个QR‑ICS帧样本包括Ncomp个sub‑QR‑ICS帧样本,并且每个sub‑QR‑ICS帧样本与QR‑ICS帧样本的一个ICS通道相对应;

对于每个ICS通道所对应的sub‑QR‑ICS帧样本,在单通道量化的第一ICS帧样本所关联的sub‑QR‑ICS帧样本中进行图像块匹配减除,并且生成减除图像块的ICS帧样本,其中一个或多个运动矢量与一个sub‑QR‑ICS帧样本相对应,运动矢量代表着sub‑QR‑ICS帧样本中的匹配图像块和单通道量化的第一ICS帧样本中的参考图像块之间的相对定位,且其中对应于一个ICS通道的运动矢量被其他ICS通道所共享;

对于每个ICS通道所对应的减除图像块的ICS帧样本,将减除图像块的ICS帧样本组合成堆栈,其中每个堆栈包括预设数量的ICS帧样本的减除图像块样本;

对于每个ICS通道所对应的每个堆栈中的减除图像块的ICS帧,使用初始时间模块来确定共享数据样本和压缩的堆栈残差帧样本以及第一解压缩的ICS帧样本,其中初始时间模块包括第五内核、第六内核、第七内核和第八内核,或者时间模块包括第五内核至第八内核以及初始加权求和参数;

对于每个堆栈,使用初始解压缩内核和初始QINN来确定重建帧样本;

将初始压缩内核训练为压缩内核,并且将初始解压缩内核和初始QINN训练为中间解压缩内核和中间QINN;

通过多图联合损失训练来训练初始时间模块的参数。

11.根据权利要求10的方法,其中通过多图联合损失训练来训练初始时间模块的参数包括:

确定4张计算图,其中4张图为使用初始时间模块的处理,其中第一计算图G1代表着保持第一和第二量化点的处理,第二计算图G2代表着保持第一量化点的处理,第三计算图G3代表着保持第二量化点的处理,而第四计算图G4代表着保持无量化点的处理;

其中第一量化点代表着第五内核的量化输出数据,而第二量化点代表着第七内核的量化输出数据;

在进行迭代训练的过程中按顺序确定三个优化处理;

其中的第一优化处理被设定在第一量化点之前训练参数,以便将第一全损最小化,而第一全损包括来自G1第一量化点的DA_E、来自G3第二量化点的DA_E以及来自G4的重建损失;

其中的第二优化处理被设定在第一量化点和第二量化点之间训练参数,以便将第二全损最小化,而第二全损包括来自G1第二量化点的DA_E和来自G2的重建损失;

其中的第三优化处理被设定在第二量化点之后训练参数,以便将第三全损最小化,而第三全损包括来自G1的重建损失;

其中DA_E代表着熵的可区分近似值;

通过迭代地运行第一、第二和第三优化处理以在初始时间模块中训练参数,其中的第五内核至第八内核可以被训练为第五中间内核至第八中间内核,其中第五中间内核至第八中间内核的参数为浮点数。

12.根据权利要求11的方法,其中第一图G1包括:使用参数Para(bQ1)将数据T1输入第一卷积层,从而确定数据T2,其中数据T1与每个通道所对应的所有堆栈的减除图像块的ICS帧样本相对应;

将第一量化点上的数据T2量化,从而确定数据T2_Q;

根据数据T2_Q确定数据T3,其中在从数据T2_Q至T3的过程中,被训练的参数包括第一反卷积层和使用参数Para(aQ1,bQ2)的第二卷积层,其中该过程进一步包括在第一反卷积层之前的重缩放运算和第二卷积层之后的减除运算;

将第二量化点上的数据T3量化,从而确定数据T3_Q,其中数据T3_Q与量化压缩堆栈残差帧相对应;

根据数据T3_Q确定数据T4,其中在从数据T3_Q至T4的过程中,被训练的参数包括使用参数Para(aQ2)的第二反卷积层,其中该过程进一步包括在第二反卷积层之前的重缩放运算;

其中Para(bQ1)是第五内核中的参数,或者Para(bQ1)是加权求和参数及第五内核中的参数;

其中Para(aQ1,bQ2)是第六内核和第七内核中的参数,并且Para(aQ2)是第八内核中的参数。

13.根据权利要求12的方法,其中第二图G2包括:使用参数Para(bQ1)将数据T1输入第一卷积层,从而确定数据T2;

将第一量化点上的数据T2量化,从而确定数据T2_Q;

基于数据T2来确定数据T3,其中在从数据T2_Q至T3的过程中,被训练的参数包括第一反卷积层和使用参数Para(aQ1,bQ2)的第二卷积层;

基于数据T3来确定数据T4(2),其中在从数据T3至T4(2)的过程中,被训练的参数包括使用参数Para(aQ2)的第二反卷积层。

14.根据权利要求13的方法,其中第三图G3包括:使用参数Para(bQ1)将数据T1输入第一卷积层,从而确定数据T2;

根据数据T2确定数据T3(3);其中在从数据T2至T3(3)的过程中,被训练的参数包括第一反卷积层和使用参数Para(aQ1,bQ2)的第二卷积层,其中该过程进一步包括第二卷积层之后的减除运算;

将第二量化点上的数据T3量化,从而确定数据T3_Q(3);

根据数据T3_Q(3)确定数据T4(3),其中在从数据T3_Q(3)至T4(3)的过程中,被训练的参数包括使用参数Para(aQ2)的第二反卷积层,其中该过程进一步包括在第二卷积层之前的重缩放运算。

15.根据权利要求14的方法,其中第四图G4包括:使用参数Para(bQ1)将数据T1输入第一卷积层,从而确定数据T2;

根据数据T2确定T3(4),其中在从数据T2至T3(4)的过程中,被训练的参数包括第一反卷积层和使用参数Para(aQ1,bQ2)的第二卷积层,其中该过程进一步包括第二卷积层之后的减除运算;

根据数据T3(4)确定数据T4(4),其中在从数据T3(4)至T4(4)的过程中,被训练的参数包括使用参数Para(aQ2)的第二反卷积层。

16.根据权利要求11的方法,该方法还包括:通过将第五中间内核中的参数整数化以确定第一内核,并且通过将第六中间内核中的参数整数化以确定第二内核,并且通过将第七中间内核中的参数整数化以确定第三内核;

通过微调第八中间内核中的参数以确定第四内核;

通过微调中间压缩内核和中间QINN中的参数以确定压缩内核和QINN。

17.一种视频片段压缩的装置,包括:读出单元,其中所述读出单元被设定为从相机头中读出多组原始像素值;

处理器,其中所述处理器被设定为对视频片段中的多个帧执行压缩,其中压缩过程包括:

通过使用压缩内核将每组原始像素值压缩为帧内压缩样本(ICS)帧来执行帧内压缩,其中ICS帧包括第一ICS帧和若干个在第一ICS帧之后出现的其余的ICS帧(R‑ICS帧),并且其中压缩内核具有Ncomp个ICS通道,而Ncomp是不小于1的整数;

量化第一ICS帧,并且将R‑ICS帧量化为QR‑ICS帧,其中量化的第一ICS帧包括Ncomp个单通道量化的第一ICS帧,并且每个单通道量化的第一ICS帧与量化的第一ICS帧的一个ICS通道相对应,其中每个QR‑ICS帧包括Ncomp个sub‑QR‑ICS帧并且每个sub‑QR‑ICS帧与QR‑ICS帧的一个ICS通道相对应;

对于每个ICS通道所对应的sub‑QR‑ICS帧,在该ICS通道所对应的单通道量化的第一ICS帧所关联的sub‑QR‑ICS帧中进行匹配图像块减除,并且生成减除图像块的ICS帧,其中一个或多个运动矢量与一个sub‑QR‑ICS帧相对应,并且运动矢量代表着sub‑QR‑ICS帧中的匹配图像块和单通道量化的第一ICS帧中的参考图像块之间的相对定位,并且其中与一个ICS通道相对应的运动矢量被其他ICS通道所共享;

对于每个ICS通道所对应的减除图像块的ICS帧,将减除图像块的ICS帧组成堆栈,其中每个堆栈包括预设数量的减除图像块的ICS帧;

对于每个ICS通道所对应的每个堆栈中的减除图像块的ICS帧,确定共享数据,其中共享数据代表着减除图像块的ICS帧之间的相似数据,并且基于共享数据来确定堆栈残差帧;

其中每组原始像素值与视频片段的一帧相对应。

说明书 :

视频片段压缩的方法与装置

技术领域

[0001] 本发明涉及视频片段压缩的方法与装置,特别是涉及低功率的视频片段压缩的方法。

背景技术

[0002] 相机的一般功能是将平行光学数据转化为压缩后的连续性电子格式,从而传输信息或者存储信息。在一些实施例中,平行光学数据可能与一种视频片段相对应。
[0003] 视频片段由多帧组成,而视频片段的帧可能具有高分辨率,因而有可能减缓数据传输速度,这意味着有必要在进行数据传输前采用一定的方法将视频片段压缩。
[0004] 相机的运转功率是限制像素容量的关键。一部传统相机包含一个焦面和“系统芯片”图像处理平台。图像信号处理(ISP)芯片发挥着多种图像处理功能,例如解马赛克、非均
匀性矫正等,也包括图像压缩。
[0005] 标准的压缩算法通常在硬件应用电路中执行,从而提高功率效率和速度,这些算法仍然需要强大的功率和存储资源。此外,在一般情况下,ISP芯片需要功率和芯片面积以
进行图像处理。鉴于在处理过程中,平均每像素所需的多重数码步骤,ISP芯片所使用的功
率通常会比图像传感器捕捉和数据读出所使用的更高。
[0006] 重建后的图像质量是衡量压缩方法的另一个指标。
[0007] 基于以上描述,也许需要采用一种方法,从而兼顾运行功率、重建质量等方面。

发明内容

[0008] 本发明公开的一个方面涉及一种压缩视频片段的方法。该压缩方法可以包括以下操作中的一种或者几种:从相机头中读出多组原始像素值,其中的每一组原始像素值都与
视频片段的一帧相对应;进行帧内压缩,使用压缩内核将每一组原始像素值压缩为帧内压
缩取样(ICS)的一帧,其中ICS帧包括帧内压缩取样的第一帧以及在第一帧之后继续取样的
若干帧(R‑ICS帧),其中的压缩内核具有Ncomp个ICS通道,且Ncomp是不小于1的整数;将帧
内压缩取样的第一帧量化,并将R‑ICS帧量化为QR‑ICS帧;其中量化的第一ICS帧包括Ncomp
个单通道量化的第一ICS帧,并且每个单通道量化的第一ICS帧都与量化的第一ICS帧的一
个ICS通道相对应;每个QR‑ICS帧包含Ncomp个sub‑QR‑ICS帧,而每个sub‑QR‑ICS帧与QR‑
ICS帧的一个ICS通道相对应;针对与每个ICS通道相对应的sub‑QR‑ICS帧,对与ICS通道对
应的单通道量化的第一ICS帧所关联的sub‑QR‑ICS帧做出图像块匹配减除,并生成减除图
像块的ICS帧,其中一个或者多个运动矢量与一个sub‑QR‑ICS帧相对应,并且,ICS通道所对
应的其中sub‑QR‑ICS帧的匹配图像块,与该ICS通道所对应的单通道量化的第一ICS帧中的
参考图像块这两者之间的相对定位由一个运动矢量代表,并且其中与一个ICS通道相对应
的运动矢量被其他ICS通道共享;针对与每个ICS通道相对应的减除图像块的ICS帧,将减除
图像块的ICS帧组为堆栈,其中每个堆栈都包含预设数量的减除图像块的ICS帧;针对与每
个ICS通道相对应的每个堆栈中的减除图像块的ICS帧,确定共享数据,其中的共享数据代
表着减除图像块的ICS帧中的相似数据,并且根据共享数据确定堆栈残差帧。
[0009] 在一些实施例中,在通过使用压缩内核将每组原始像素值压缩为压缩帧的阶段,包括:针对视频片段的每一帧,使用压缩内核将被分为若干组的原始像素值的每一部分压
缩为整数,其中,原始像素值分组中的每一部分都与帧的一个分段相对应。
[0010] 在一些实施例中,在将sub‑QR‑ICS帧与每个ICS通道相对应的阶段,对与量化的第一ICS帧关联的QR‑ICS帧做出图像块匹配减除,包括:针对与一个ICS通道相对应的每个
sub‑QR‑ICS帧,对于该ICS通道对应的单通道量化的第一ICS帧所关联的sub‑QR‑ICS帧的图
像块,进行以图像块匹配为基础的运动预测,其中,sub‑QR‑ICS帧被分为若干个图像块,以
便于在单通道量化的第一ICS帧内进行图像块搜索,在sub‑QR‑ICS帧的图像块中,既没有间
隙也没有重叠;通过从每个sub‑QR‑ICS帧中减除一个或多个匹配图像块来确定减除图像块
的ICS帧。
[0011] 在一些实施例中,在将每个sub‑QR‑ICS帧与一个ICS通道相对应的阶段,对于该ICS通道对应的单通道量化的第一ICS帧所关联的sub‑QR‑ICS帧的图像块,进行以图像块匹
配为基础的运动预测,包括:将与ICS通道相对应的sub‑QR‑ICS帧界定为匹配帧,并将与该
ICS通道相对应的单通道量化的第一ICS帧界定为搜索帧,并在搜索帧中进行层次图像块搜
索,其中的匹配帧被分为若干个相互关联的图像块,而层次图像块搜索包括:针对匹配帧中
的每个相互关联的图像块,在搜索帧中以步长面积进行图像块搜索,其中的步长面积是预
设的大于等于1的整数;在搜索帧中进行图像块搜索的过程中,计算出搜索帧中的每个图像
块之间的平方差以及匹配帧中的相互关联的图像块之间的平方差;如果最低平方差小于预
设的阈值,则用最低平方差将搜索帧中的目标图像块确定为参考图像块,并将相互关联的
图像块确定为匹配图像块;如果最低平方差不小于预设的阈值,并且相关联图像块的图像
块面积大于预设的最小图像块面积,则将相关联的图像块界定为匹配帧,将目标图像块界
定为搜索帧,并且在搜索帧中进行层次图像块搜索;重复进行层次图像块搜索,直至找到与
相关联的图像块对应的参考图像块,其平方差应小于预设的阈值,或者相关联图像块的图
像块面积不大于预设的最小图像块面积。
[0012] 在一些实施例中,每个堆栈中减除图像块的ICS帧的数量是相等的。
[0013] 在一些实施例中,在将每个堆栈中减除图像块的ICS帧与每个ICS通道相对应的阶段,确定共享数据,针对每个减除图像块的ICS帧,以共享数据为基础确定堆栈残差帧,包
括:针对与ICS通道相对应的每个堆栈,通过将每个堆栈中减除图像块的ICS帧与第一内核
卷积,以确定共享数据;针对每个与ICS通道相对应的堆栈,通过将共享数据中的数值量化
为预设位宽的整数,以确定每个堆栈的量化的共享数据;针对每个与ICS通道相对应的堆
栈,将量化的共享数据重缩放为RQ共享数据;针对每个与ICS通道相对应的堆栈,通过对第
二内核执行反卷积以将RQ共享数据重塑为RRQ共享数据;针对与ICS通道相对应的每个堆栈
中的每个减除图像块的ICS帧,通过从减除图像块的ICS帧中减除RRQ共享数据以确定堆栈
残差帧。
[0014] 在一些实施例中,在将每个堆栈中的减除图像块的ICS帧与每个ICS通道相对应的阶段,确定共享数据,并根据这些共享数据来确定堆栈残差帧,包括:针对与ICS通道相对应
的每个堆栈,用加权求和参数计算出处于减除图像块的ICS帧中相同位置的数值的加权求
和值,从而将减除图像块的ICS帧压缩为加权求和帧;针对每个与ICS通道相对应的堆栈,通
过将加权求和帧与第一内核卷积以确定共享数据;针对每个与ICS通道相对应的堆栈,通过
将共享数据中的数值量化为预设位宽的整数,以确定量化的共享数据;针对每个与ICS通道
相对应的堆栈,将量化的共享数据重缩放为RQ共享数据;针对每个与ICS通道相对应的堆
栈,通过对第二内核执行反卷积以将RQ共享数据重塑为RRQ共享数据;针对与ICS通道相对
应的每个堆栈中的每个减除图像块的ICS帧,通过从减除图像块的ICS帧中减除RRQ共享数
据以确定堆栈残差帧。
[0015] 在一些实施例中,该方法进一步包括:针对每个与ICS通道相对应的堆栈,使用第三内核压缩将每个堆栈残差帧压缩,针对每个与ICS通道相对应的堆栈,通过将每个压缩的
堆栈残差帧中的数值量化为预设位宽的整数以确定量化压缩的堆栈残差帧;对于同每个
ICS通道相对应的量化的共享数据执行熵编码运算,与每个ICS通道相对应的量化压缩的堆
栈残差帧以及每个堆栈中的运动矢量分别被若干ICS通道共享,其中,与每个ICS通道相对
应的经过熵编码的量化共享数据,与每个ICS通道相对应的经过熵编码的量化压缩的堆栈
残差帧以及被若干ICS通道共享的每个堆栈中的经过熵编码的运动矢量被存储,用以解码;
其中,熵编码的运算以一部全局数据字典为基础,而全局数据字典的预先构建是以相同类
型的大量数据为基础。
[0016] 在一些实施例中,该方法进一步包括:针对每个与ICS通道相对应的堆栈,对于经过熵编码的量化共享数据,经过熵编码的量化压缩的堆栈残差帧以及其所对应的经过商编
码的运动矢量执行熵编码运算;针对每个与ICS通道相对应的堆栈,将每个量化压缩的堆栈
残差帧重缩放为RQ压缩的堆栈残差帧;针对每个与ICS通道相对应的堆栈,通过对第四内核
执行反卷积以将每个RQ压缩的堆栈残差帧解压缩为第一解压缩的ICS帧;针对每个与ICS通
道相对应的堆栈,通过对第二内核执行反卷积以将RQ共享数据重塑为RRQ共享数据;针对与
ICS通道相对应的每个堆栈中的第一解压缩的ICS帧,通过将RRQ共享数据和一个或多个与
ICS通道相对应的匹配图像块以及存储的运动矢量加入第一解压缩的ICS帧,以确定第二解
压缩的ICS帧;针对每个堆栈中的第二解压缩的ICS帧,通过将所有ICS通道对应的第二解压
缩ICS帧叠加在一起以确定第三解压缩的ICS帧;针对每个堆栈中的第三解压缩的ICS帧,通
过执行帧内解压缩,用解压缩内核将第三解压缩的ICS帧解压缩为用于质量改进的神经网
络(QINN),以确定重建的帧;其中,第一内核至第四内核被ICS通道所对应的若干堆栈共享。
[0017] 在一些实施例中,时间模块包括第一内核至第四内核,或者时间模块包括第一内核至第四内核以及加权求和参数,并且,压缩内核中的参数、时间模块、压缩内核以及QINN
是通过基于采样的训练来确定的,基于采样的训练处理包括:读出众多组原始像素值样本,
其中的每一组原始像素值样本都与一个帧相对应;进行帧内压缩,用初始的压缩内核将每
一组原始像素值样本压缩为ICS帧样本,其中的ICS帧样本包括第一ICS帧的样本以及位于
第一ICS帧样本之后的大量R‑ICS帧样本,而其中的初始压缩内核具有Ncomp个ICS通道,并
且Ncomp是不小于1的整数;将第一ICS帧样本量化,并将R‑ICS帧样本量化为QR‑ICS帧样本,
其中量化的第一ICS帧样本包括Ncomp个单通道量化的第一ICS帧样本,并且每个单通道量
化的第一ICS帧样本都与量化的第一ICS帧样本的一个ICS通道相对应,其中每个QR‑ICS帧
样本包括Ncomp个sub‑QR‑ICS帧样本并且每个sub‑QR‑ICS帧样本都与QR‑ICS帧样本的一个
ICS通道相对应;针对与每个ICS通道相对应的sub‑QR‑ICS帧样本,对于与单通道量化的第
一ICS帧样本相关联的sub‑QR‑ICS帧样本做出不定匹配减除,并生成减除图像块的ICS帧的
样本,其中一个或者多个运动矢量与一个sub‑QR‑ICS帧样本相对应,并且,sub‑QR‑ICS帧样
本中的匹配图像块,与单通道量化的第一ICS帧样本的参考图像块这两者之间的相对定位
由运动矢量代表,并且其中与一个ICS通道相对应的运动矢量被其他ICS通道共享;针对与
每个ICS通道相对应的减除图像块的ICS帧样本,将减除图像块的ICS帧样本组为堆栈,其中
每个堆栈包括预设数量的ICS帧样本的减除图像块样本;针对与每个ICS通道相对应的每个
堆栈中的减除图像块的ICS帧,用初始的时间模块确定共享数据样本以及压缩的堆栈残差
帧样本、第一解压缩的ICS帧样本,其中的初始时间模块包括第五内核、第六内核、第七内核
和第八内核,或者时间模块包括第五内核至第八内核以及初始加权求和参数;针对每个堆
栈,用初始压缩内核和初始QINN确定重建帧样本;将初始压缩内核和初始QINN训练为中间
压缩内核和中间QINN;通过多图联合损失训练来训练初始时间模块的参数。
[0018] 在一些实施例中,在通过多图联合损失训练来训练初始时间模块的参数的阶段,包括:确定4张计算图,其中这4张图是应用初始时间模块的处理,其中的第一计算图G1代表
着保持第一量化点和第二量化点的处理,第二计算图G2代表着保持第一量化点的处理,第
三计算图G3代表着保持第二量化点的处理,而第四计算图G4代表着保持无量化点的处理;
其中的第一量化点代表着第五内核的量化输出数据,而第二量化点代表着第六内核的量化
输出数据;在进行迭代训练的过程中按照顺序确定三个优化处理;其中的第一优化处理被
设定在第一量化点之前训练参数,以便将第一全损最小化,而第一全损包括来自G1第一量
化点的DA_E、来自G3第二量化点的DA_E以及来自G4的重建损失;其中的第二优化处理被设
定在第一量化点和第二量化点之间训练参数,以便将第二全损降最小化,而第二全损包括
来自G1第二量化点的DA_E和来自G2的重建损失;其中的第三优化处理被设定在第二量化点
之后训练参数,以便将第三全损最小化,而第三全损包括来自G1的重建损失;其中DA_E代表
着熵的可区分近似值;通过迭代地运行第一、第二和第三优化处理以在初始现有的模块中
训练参数,其中的第五内核至第八内核可以被训练为第五中间内核至第八中间内核,其中
第五中间内核至第八中间内核的参数为浮点数。
[0019] 在一些实施例中,第一图G1包括:通过使用参数Para(bQ1)将数据T1输入第一卷积层以确定数据T2,其中数据T1与每个通道所对应的所有堆栈的减除图像块的ICS帧样本相
对应;通过将第一量化点上的数据T2量化以确定数据T2_Q;根据数据T2_Q确定数据T3,其中
在从T2_Q至T3的过程中,被训练的参数包括第一反卷积层和使用参数Para(aQ1,bQ2)的第
二卷积层,其中该过程进一步包括在第一反卷积层之前的一次重缩放运算和第二卷积层之
后的一次减除运算;通过将第二量化点上的数据T3量化以确定数据T3_Q,其中数据T3_Q与
量化压缩堆栈残差帧相对应;根据数据T3_Q确定数据T4,其中在从T3_Q至T4的过程中,被训
练的参数包括使用参数Para(aQ2)的第二反卷积层,其中该过程进一步包括在第二反卷积
层之前的一次重缩放运算;其中Para(bQ1)是第五内核中的参数,或者Para(bQ1)是加权求
和参数和第五内核中的参数;其中Para(aQ1,bQ2)是第六内核和第七内核中的参数,并且
Para(aQ2)是第八内核中的参数。
[0020] 在一些实施例中,第二图G2包括:通过用参数Para(bQ1)将数据T1输入第一卷积层以确定数据T2;通过将第一量化点上的数据T2量化以确定数据T2_Q;根据数据T2_Q确定数
据T3,其中在从数据T2_Q至T3的过程中,被训练的参数包括第一反卷积层和使用参数Para
(aQ1,bQ2)的第二卷积层;根据数据T3确定数据T4(2),其中在从数据T3至T4(2)的过程中,
被训练的参数包括使用参数Para(aQ2)的第二反卷积层。
[0021] 在一些实施例中,第三图G3包括:通过使用参数Para(bQ1)将数据T1输入第一卷积层以确定数据T2;根据数据T2确定数据T3(3);其中在从数据T2至T3(3)的过程中,被训练的
参数包括第一反卷积层和使用参数Para(aQ1,bQ2)的第二卷积层,其中该过程进一步包括
第二卷积层之后的减除运算;通过将第二量化点上的数据T3量化以确定数据T3_Q(3);根据
数据T3_Q(3)确定数据T4(3),其中在从数据T3_Q(3)至T4(3)的过程中,被训练的参数包括
使用参数Para(aQ2)的第二反卷积层,其中该过程进一步包括在第二卷积层之前的重缩放
运算。
[0022] 在一些实施例中,第四图G4包括:使用参数Para(bQ1)将数据T1输入第一卷积层,以确定数据T2;根据数据T2确定T3(4),其中在从数据T2至T3(4)的过程中,被训练的参数包
括第一反卷积层和使用参数Para(aQ1,bQ2)的第二卷积层,其中该过程进一步包括第二卷
积层之后的减除运算;根据数据T3(4)确定数据T4(4),其中在从数据T3(4)至T4(4)的过程
中,被训练的参数包括使用参数Para(aQ2)的第二反卷积层。
[0023] 在一些实施例中,该方法进一步包括:通过将第五中间内核中的参数整数化以确定第一内核,并通过将第六中间内核中的参数整数化以确定第二内核,并通过将第七中间
内核中的参数整数化以确定第三内核;通过微调第八中间内核中的参数以确定第四内核;
通过微调中间压缩内核和中间QINN中的参数以确定压缩内核和QINN。
[0024] 本发明公开的另一个方面涉及一种用于压缩视频片段的装置,包括:读出单元,其中的读出单元被设定用以从相机头中读出多组原始像素值;处理器,其中处理器被设定用
以执行视频片段的多帧压缩,其中该压缩包括:进行帧内压缩,使用压缩内核将每一组原始
像素值压缩为帧内压缩样本(ICS)帧,其中ICS帧包括帧内压缩取样的第一帧以及在第一帧
之后继续取样的若干帧(R‑ICS帧),并且其中的压缩内核具有Ncomp个ICS帧而Ncomp是不小
于1的整数;将第一ICS帧量化,并将R‑ICS帧量化为QR‑ICS帧,其中量化的第一ICS帧包括
Ncomp个单通道量化的第一ICS帧,并且每个单通道量化的第一ICS帧都与量化的第一ICS帧
的一个ICS通道相对应,其中每个QR‑ICS帧包括Ncomp个sub‑QR‑ICS帧并且每个sub‑QR‑ICS
帧都与该QR‑ICS帧的一个ICS通道相对应;针对与每个ICS通道相对应的sub‑QR‑ICS帧,对
与ICS通道对应的单通道量化的第一ICS帧所关联的sub‑QR‑ICS帧做出图像块匹配减除,并
且生成减除图像块的ICS帧,其中一个或者多个运动矢量与一个sub‑QR‑ICS帧相对应,并
且,其中sub‑QR‑ICS帧的匹配图像块,与单通道量化的第一ICS帧中的参考图像块这两者之
间的相对定位由运动矢量代表,其中与一个ICS通道相对应的运动矢量被其他ICS通道共
享;针对与每个ICS通道相对应的减除图像块的ICS帧,将减除图像块的ICS帧组为堆栈,其
中每个堆栈包括预设数量的减除图像块的ICS帧;针对与每个ICS通道相对应的每个堆栈中
的减除图像块的ICS帧,确定共享数据,其中共享数据代表减除图像块的ICS帧中的相似数
据,并且根据共享数据确定堆栈残差帧;其中每组原始像素值都与视频片段的一帧相对应。
[0025] 其他特征将有部分在下面的说明书中阐述,本领域的技术人员通过了解以下的技术检验以及配图,或者通过学习范例的生产和制作可以明晰这些特征。通过实践或者应用
方法论中的多个方面,可以领会并掌握本发明所涉及的发明特征,下文的详细范例将讨论
工艺和综合内容。

附图说明

[0026] 本发明将在示例性实施例中做进一步描述。这些示例性实施例会参照附图详细描述。这些实施例是非限制的示例性实施例,其中,相同的附图标记表示贯穿于附图的多个视
图中的类似结构。其中:
[0027] 图1示出了根据本发明一些实施例的原有的原始Bayer图片的一个示例;
[0028] 图2说明了根据本发明一些实施例的帧内压缩方法;
[0029] 图3示出了根据本发明一些实施例的如204中所描述的一个卷积过程;
[0030] 图4说明了根据本发明一些实施例的使用如204中所描述的帧策略一的帧内压缩过程的一个示例;
[0031] 图5是根据本发明一些实施例的原始Bayer数据单层卷积2D压缩过程中的压缩内核的一个示例;
[0032] 图6是使用压缩内核将输入像素值压缩后[256,480,4]形状的整数数组;
[0033] 图7说明了根据本发明一些实施例的在帧内压缩过程后的共享数据的确定方法;
[0034] 图8示出了根据本发明一些实施例的图7的一个示例性处理;
[0035] 图9说明了根据本发明一些实施例的一个示例性的图像块匹配减除方法;
[0036] 图10是根据本发明一些实施例的一个示例性的基于图像块匹配的运动预测方法;
[0037] 图11是根据本发明一些实施例的一个示例性的基于共享数据的压缩方法;
[0038] 图12说明了根据本发明一些实施例的图11的一个示例性处理;
[0039] 图13说明了根据本发明一些实施例的视频片段的重建方法;
[0040] 图14说明了根据本发明一些实施例的图13的一个示例性处理;
[0041] 图15说明了根据本发明一些实施例的基于样本的训练方法;
[0042] 图16说明了根据本发明一些实施例的一个示例性的多图联合损失训练;
[0043] 图17说明了根据本发明一些实施例的第一计算图G1的一个示例性处理;
[0044] 图18说明了根据本发明一些实施例的第二计算图G2的一个示例性处理;
[0045] 图19说明了根据本发明一些实施例的第三计算图G3的一个示例性处理;
[0046] 图20说明了根据本发明一些实施例的第四计算图G4的一个示例性处理;
[0047] 图21说明了根据本发明一些实施例的示例性的四个计算图;
[0048] 图22说明了根据本发明一些实施例的一个示例性的时间模块确定方法;
[0049] 图23是根据本发明一些实施例的一种压缩装置的示意图;
[0050] 图24是根据本发明一些实施例的一种录像系统的示意图。

具体实施方式

[0051] 在下面的详细描述中,通过示例阐述了许多具体细节,以提供对相关公开的透彻理解。然而,对于本领域技术人员显而易见的是,本发明可以在没有这些细节的情况下实
施。在其他实例中,为了避免不必要地模糊本发明的各个方面,已经相对较高的层次地描述
了公知的方法、过程、系统、组件和/或电路,而没有详细说明。对所公开实施例的各种修改
对于本领域的技术人员来说是显而易见的,并且在不脱离本发明的精神和范围的情况下,
本文所定义的一般原理可以应用于其他实施例和应用。因此,本发明不限于所示的实施例,
而是被赋予与权利要求一致的最广泛的范围。
[0052] 应当理解,本文使用的术语“系统”、“引擎”、“单元”、“模块”和/或“块”是按升序区分不同级别的不同组件、元件、部件、零件或组装件的一种方法。然而,如果可以达到同样的
目的,这些术语可被其他表达方式取代。
[0053] 一般而言,如本文所使用的词“模块”、“单元”或“块”是指硬件或固件中包含的逻辑、或软件指令的集合。本文所述的模块、单元或块可以实现为软件和/或硬件,并且可以存
储在任何类型的非暂时性计算机可读介质或其他存储设备中。在一些实施例中,软件模块/
单元/块可以被编译并链接到可执行处理中。应当理解的是,软件模块可以从其他模块/单
元/块或自身调用,和/或可以响应于检测到的事件或中断而被调用。配置用于在计算设备
上执行的软件模块/单元/块可以设置在计算机可读介质上,例如光盘、数字视频光盘、闪存
驱动器、磁盘或任何其他有形介质上,或者作为数字下载(并且可以最初以需要安装的压缩
或可安装格式存储、解压、或在执行前解密)。这种软件代码可以部分或全部存储在执行计
算设备的存储设备上,以供计算设备执行。诸如EPROM这样的软件可以包含在固件中。还应
当理解的是,硬件模块/单元/块可以包括在连接的逻辑组件中,例如门和触发器,和/或可
以包括可编程单元,例如可编程门阵列或处理器。本文描述的模块/单元/块或计算设备功
能可以实现为软件模块/单元/块,但是可以用硬件或固件表示。一般而言,本文所述的模
块/单元/块是指可以与其他模块/单元/块组合或被划分为子模块/子单元/子块的逻辑模
块/单元/块,尽管它们具有物理组织或存储。该描述可适用于系统、引擎或其一部分。
[0054] 应当理解,当单元、引擎、模块或块被称为“在另一个单元、引擎、模块或块上”、“连接到”或“耦合到”另一个单元、引擎、模块或块时,它可以直接位于、连接或耦合到另一个单
元、引擎、模块或块或中间单元、引擎、模块,或块可能存在,除非上下文中另有明确指示。如
本文所使用的,术语“和/或”包括一个或多个相关的所列事务的任何和所有组合。
[0055] 本发明的这些特征和其他特征,以及结构的相关元件的操作方法和功能,以及部件的组合和制造经济性,在参考附图考虑以下描述后可能更加明显,所有这些都是构成本
公开的一部分。然而,应明确理解,附图仅用于说明和描述,并且无意限制本公开的范围。据
悉,附图没有按比例绘制。
[0056] 本文中使用的术语仅用于描述特定示例和实施例,目的不在于限制。如本文所使用的,单数形式的“一”、“该”也可以意欲包括复数形式,除非上下文清楚地另有指示。应进
一步理解,术语“包括”在本公开中使用时,规定了整数、设备、行为、所述特征、步骤、元素、
操作和/或组件的存在,但不排除存在或添加一个或多个其他整数、设备、行为、特征、步骤,
元件、操作、组件和/或其组合。
[0057] 本发明在此公开提供的涉及一种压缩方法、装置和录像系统。将在下面的实施例中做详细的描述。
[0058] 在一些实施例中,相机接收的光线可以被图像信号处理(ISP)芯片读出为原始Bayer数据。如图1所示,相机必须使用并行流或者串行流读出原始Bayer数据。根据本发明
一些实施例,图1显示了原有的原始Bayer图片的一个范例。如图1所示,一张原始Bayer图片
是以[2048,3840]的形状呈现,并且每个像素都可以有一个相对应的像素值。像素值可以在
相机头捕捉帧后被按顺序读出。
[0059] 针对每个电子传感器阵列,来自一个焦面的读出数据可以一种光栅格式呈现,意味着呈行、按顺序被读出。输入的像素值(原始Bayer数据)是以[2048,3840]的形状呈现。在
一些实施例中,[2048,3840]原有的原始Bayer图片被压缩为一个形状为[256,480,4]的整
数阵列,图6将对此进行描述。像素也可以与不同的颜色相对应,通常是红色、绿色和蓝色,
但是颜色值通常可以在通过传感器时马赛克化,所以一个给定的像素与一个给定的颜色相
对应。
[0060] 在传统相机中的像素值可能需要缓存以便解马赛克、进行图像处理(非均匀性矫正、颜色空间转换、去噪、锐化、白平衡和黑电平调节,等等)以及压缩。由于压缩是被作为一
种二维变换来执行的,许多行(通常是8行)必须经过缓存并且每个像素值必须在若干个变
换缓冲区内累积起来。此外,通过量化矩阵和压缩(哈夫曼)编码以分隔像素值的做法必须
在每个图像信息组中执行。
[0061] 在一些实施例中,帧内压缩可以是在原始Bayer数据流中执行的。根据本发明一些实施例,图2说明了一个帧内压缩的方法。在一些实施例中,帧内压缩的方法可以是在相机
头连接的电子设备中执行的。
[0062] 在202中,多组原始像素值可以是从一个相机头中按顺序被读出的。在一些实施例中,原始像素值可以是被作为原始Bayer数据按顺序读出的。例如,一个相机头可以捕捉包
含有多组原始像素值的一帧,其中的每一组原始像素值都与视频片段的一帧相对应。每个
像素可以由一个像素值代表。像素值可以一种二进制的形式传送。
[0063] 在204中,帧内压缩可以是通过用压缩内核将每组原始像素值压缩为帧内压缩样本(ICS)的一帧以执行帧内压缩。针对每一帧,压缩可以用压缩内核将原始像素值组的每一
部分压缩为一个整数,其中原始像素值组的每一部分都与帧的一个分段相对应。在一些实
施例中,一个分段可以是一个图像块或者一段,在帧的策略中将对其进行描述。在一些实施
例中,ICS帧包括第一ICS帧以及在第一ICS帧之后继续出现的若干帧(R‑ICS帧)。在一些实
施例中,压缩内核可以具有Ncomp个ICS通道并且Ncomp可以是一个不小于1的整数。
[0064] 在一些实施例中,压缩内核中的元件可以为整数,便于应用于硬件,例如FPGA。比如,压缩内核中的元件可以是二进制的并且元件的位宽可以为12位、10位、8位、6位、4位或
者2位。并且,当元件是2位的二进制数时,元件可以是‑1或者+1,或者元件可以是0或者1。
[0065] 帧策略一
[0066] 在一些实施例中,一组原始像素值可以与一帧中的像素相对应,并且压缩内核可以是一个2D内核,其中的帧可以被分为多个2D图像块。一个2D图像块和一个2D内核可以具
有一个相同的尺寸。例如,2D内核可以有一个尺寸[kx,ky],而形状[NX,NY]的帧可以被分为
[NX,NY]2D图像块,其中Nx=NX/kx,Ny=NY/ky。与一个特定图像块中的像素相对应的像素值可
以形状[kx,ky,1]乘以一个形状为[kx,ky,Ncomp]的2D内核,并且2D图像块中的像素值可以
压缩为Ncomp数字(Ncomp是一个手动定义的预设整数。)最终,输入的帧的原始像素值可以
压缩为COMP,其中的COMP是Ncomp数字的一个尺寸为[Nx,Ny,Ncomp]的一个阵列(整数的一个
阵列),Ncomp可以代表着COMP的ICS通道的数字。帧内压缩过程可以是一种2D卷积运算,如
以下方程式所示:
[0067]
[0068] 其中的指数i和j分别循环迭代kx和ky,并且指数k为从1到Ncomp的数字。
[0069] 在不考虑输入像素值(原始像素值通常为8位或10位)的位宽和压缩后的数字阵列的位宽(8位)之间的差异的情况下,压缩率可以表示为Ncomp/(kx*ky)。在一些实施例中,可
以通过设置各种[kx,ky,Ncomp]以实现不同的压缩率。例如,使用2D内核的[16,16,16]、[8,
8,4]、[16,16,8]和[16,16,1],可以分别实现不同的压缩率,如1/16、1/16、1/32和1/256。
[0070] 帧策略二
[0071] 在一些实施例中,一组原始像素值可以与一帧中的像素相对应,并且压缩内核可以是一个1D内核。由于一帧中的像素是按顺序传送的,所以与该帧相对应的像素的序列可
以被划分为段。1D压缩内核可以是一个具有该段相同尺寸的整数向量,并且帧内压缩过程
可以是用1D内核将帧的1D段中的像素组合成一个整数的1D卷积运算。
[0072] 在一些实施例中,整数向量中的每个组件可以是‑1或+1。在一些实施例中,整数向量中的每个组件可以是0或1。例如,可以使用长度为16的整数向量[0,1,0,0,1,0,…1]将16
个传入像素值组合为一个数字。如另一个范例所示,可以使用长度为16的整数向量[‑1,1,‑
1,1,‑1,1,‑1,…1]将16个传入像素值组合为一个数字。
[0073] 具体地说,序列可以被逐行划分。各种1D内核或者是1D整数向量已经被开发出来,包括[128,1,4],[32,1,4]。并且原始Bayer数据中不同行的不同卷积‑1D内核的组合可以用
于控制一帧的总压缩率。
[0074] 与2D图像块的分隔方式相比,这种像素序列的分割方式使用的缓冲区尺寸更小,这是因为当传入的像素值可以作为段进行处理时,来自不同行/段的像素值不需要缓冲。
[0075] 正如上文所述,与一个图像块或者一个段相对应的原始像素值可以被压缩为一个整数,并且原始像素值组可以被压缩为多个整数。在压缩或者解压缩的过程中,这些整数可
以被存储或者缓冲。
[0076] 需要注意的是,帧内压缩过程的呈现仅仅是为了提供说明,并不旨在限制本发明的范围。对于具有一般技术人员而言,在本发明的教导下,可以在技术上做出多种变化和改
进。但是,这些改变和改进并不会脱离本发明的范围。例如,具有其他位宽的压缩内核也可
以应用于压缩原始像素值。
[0077] 根据本发明一些实施例,图3显示了在204中描述的一个卷积过程。正如图3所示,用一个压缩内核可以将一个尺寸为4*4的像素阵列压缩为一个整数。该压缩内核也可以有
一个4*4的尺寸。
[0078] 在一些实施例中,压缩数据(ICS帧)可以被量化为n位整数,用以存贮以及/或者传送。例如,第一ICS帧可以被量化为量化的第一ICS帧,并且R‑ICS帧可以被量化为量化的R‑
ICS帧(QR‑ICS帧)。在一些实施例中,量化的第一ICS帧可以包括Ncomp个单通道量化的第一
ICS帧,并且每个单通道量化的第一ICS帧可以与量化的第一ICS帧的一个ICS通道相对应;
并且每个QR‑ICS帧可以包括Ncomp个sub‑QR‑ICS帧,并且每个sub‑QR‑ICS帧可以与QR‑ICS
帧的一个ICS通道相对应。
[0079] 本发明中的量化过程要比JPEG的量化过程简单得多。卷积运算的输出结果可以被缩放(减少位宽)从而适应8位整数的范围。然而,熵编码不需要复杂的计算以减少质量损
失,并且量化损失直接影响着压缩/解压缩的总体质量,该压缩/解压缩过程和JPEG的一样
保持着高度相似的总体质量。
[0080] 然而,帧内压缩过程已经很简单了,正如204中所说明的,它可以提供一种减少必要缓冲区尺寸的方法。对于将尺寸为[4,4,1]的一个卷积2D内核应用于形状为[4,4]的一个
像素的图像块,不需要将所有像素(总共16个)放入缓冲区并执行一次元素乘积和求和。而
是可以在像素被读入时,用适当的内核权重元素从而逐行处理像素,并且将输出值(数字阵
列)放入缓冲区,直到完成了一个单个的卷积运算。在每次卷积运算结束后,缓冲的数字可
以被输出至存储器内,而缓冲区可以被清除。
[0081] 当执行上述方法的时候,对于被一个尺寸为[kx,ky,Ncomp]的卷积2D内核处理的一个尺寸为[NX,NY]的传入的原始Bayer图片而言,必要的缓冲区尺寸是原始Bayer像素的kx
行。
[0082] 根据本发明一些实施例,图4说明了在204中所描述的采用帧的策略一进行的帧内压缩过程的一个范例。正如图4所示,一帧可以一个图像块一个图像块被压缩,在一些实施
例中,在一些实施例中,帧可以被硬件比如FPGA处理,卷积内核被应用于像素的每一个图像
块,并且在移动至下一个图像块的过程中既不会出现重叠也不会出现空隙,直至移至最后
一个图像块。图4中所显示的图像块1代表着已经被处理过的图像块,而图像块2代表着正在
被处理的图像块。
[0083] 根据本发明一些实施例,图5为原始Bayer数据的一个单层卷积2D压缩过程中的一个压缩内核的范例。一个单层卷积‑2D运算的执行可以用于压缩一个[Nx,Ny]的像素原始
Bayer数据。压缩内核是以[kx,ky,Ncomp]=[8,8,4]为形状,并且该内核是从一个训练后的
浮点加权神经网络量化为一个在范围[‑7,7]内的4位有符号的整数。该内核如图5所示,并
且4个平面分别表示了[8,8]矩阵。每个平面表示压缩内核的[8,8,i]部分之一(i=0,1,2,
3)。
[0084] 图6是图1所示的用压缩内核将输入像素值压缩后的一个形状为[256,480,4]整数th
阵列。帧内压缩可以采用图5所示的压缩内核执行。i 平面显示了矩阵[256,480,i],其中的
指数i=0,1,2,3。
[0085] 根据本发明一些实施例,图7说明了帧内压缩过程之后的一个共享数据确定方法。该共享数据确定方法可以导致传送/缓冲数据的进一步压缩。
[0086] 正如图2所描述的,视频片段中的许多帧可以被压缩为ICS帧。该ICS帧可以包括第一ICS帧和在第一ICS帧后出现的若干个其余的ICS帧(R‑ICS帧)。
[0087] 在702中,对于和每个ICS通道相对应的sub‑QR‑ICS帧,在同一ICS通道对应的单通道量化的第一ICS帧的相关的sub‑QR‑ICS帧中进行图像块匹配减除,并且生成图像块减除
的ICS帧。在一个图像块减除的ICS帧中,可以存在着一个或多个与量化的第一ICS帧相关联
的匹配图像块,并且,对于与第一ICS帧中的参考图像块相关联的匹配图像块,存在着一个
运动矢量。一个运动矢量代表着一个sub‑QR‑ICS帧中的一个匹配图像块和单通道量化的第
一ICS帧中的一个参考图像块之间的相对定位。在一些实施例中,运动矢量可以被ICS通道
共享,因此,对于一个QR‑ICS帧中的所有ICS通道而言,可以仅确定一次每个QR‑ICS帧的运
动矢量。
[0088] 在704中,对于与每个ICS通道相对应的减除图像块的帧,将减除图像块的ICS帧组成堆栈,其中每个栈包括一个预设数量的减除图像块。在一些实施例中,每个堆栈中的减除
图像块的ICS帧的数目可以彼此相等。例如,由100帧组成的视频片段可以被压缩为100个
ICS帧(第一ICS帧和99个R‑ICS帧),可以对100个ICS帧执行量化(包括量化的第一ICS帧和
99个QR‑ICS帧),然后对于每个ICS通道,可以在与一个单通道量化的第一ICS相关联的99个
sub‑QR‑ICS帧中执行图像块匹配减除,并且生成99个减除图像块的ICS帧,这样,该99个减
除图像块的ICS帧可分组成33个堆栈(堆栈的总数为33*Ncomp),其中每个堆栈都包括3个减
除图像块的ICS帧。
[0089] 在706中,对于每个ICS通道所对应的每个堆栈中的减除图像块的ICS帧,确定共享数据,并且基于共享数据地确定堆栈残差帧。共享数据可以代表ICS通道所对应的减除图像
块的ICS帧中的相似数据。
[0090] 根据本发明一些实施例,图8显示了图7的一个示例性处理。
[0091] 如图8所示,一个形状为[Nx,Ny]的帧的输入原始像素值可以被压缩为尺寸为[Nx,Ny,Ncomp]的COMP。然后,COMP可以被量化为COMP_Q。可以在COMP_Q中执行图像块匹配减除,
并且生成一个尺寸为[Nx,Ny,Ncomp]的减除图像块的帧COMP_SMP,其中,一个减除图像块的
帧包括Ncomp个减除图像块的ICS帧(如图7所述,减除图像块的ICS帧是按照逐个ICS通道的
顺序执行的。)然后与每个ICS通道相对应,减除图像块的ICS帧(每个ICS通道中的COMP_
SMP,具有尺寸[Nx,Ny])可以组成堆栈,并且在每个堆栈中存在Nfp减除图像块的ICS帧。每
个堆栈中的像素值数据可以表示为COMP_SMPS。
[0092] 根据本发明一些实施例,图9说明了一种示例性的图像块匹配减除的方法。可以在单通道量化的第一ICS帧所关联的一个sub‑QR‑ICS帧中执行图像块匹配减除。
[0093] 在902中,对于一个ICS通道所对应的每个sub‑QR‑ICS帧而言,针对该ICS通道所对应的一个单通道量化的第一ICS帧所关联的sub‑QR‑ICS帧的图像块进行基于图像块匹配的
运动预测,其中sub‑QR‑ICS帧被划分为图像块,以用于在单通道量化的第一ICS帧中进行图
像块搜索,在sub‑QR‑ICS帧中既没有间隙也没有重叠。
[0094] 在904中,对于每个sub‑QR‑ICS帧,通过从sub‑QR‑ICS帧中减除匹配的图像块以确定一个减除图像块的ICS帧。最终,可以确定R‑ICS帧所对应的多个减除图像块的ICS帧。
[0095] 在一些实施例中,可以基于层次图像块搜索来进行基于图像块匹配的运动预测。根据本发明一些实施例,图10是一种示例性的基于图像块匹配的运动预测方法。
[0096] 在1002中,与一个ICS通道相对应的sub‑QR‑ICS帧可以被定义为一个匹配帧而与该ICS通道相对应的单通道量化的第一ICS帧可以被定义为一个搜索帧。在1004中,在搜索
帧中进行层次图像块搜索。匹配帧被划分为相关联的图像块。
[0097] 对于匹配帧中的每个相关联的图像块,以下步骤1006至1012可以描述层次图像块搜索的内容,并且可以在每个相关联的图像块中执行层次图像块搜索。
[0098] 对于一个相关联的图像块,可以用一个步长的面积在搜索帧中执行图像块搜索。在一些实施例中,步长面积是一个预设的不小于1的整数。在一些实施例中,在搜索帧中进
行图像块搜索期间,可以确定搜索帧中每个图像块和匹配帧中相关联的图像块之间的平方
差。最终,对于相关联的图像块,可以确定与搜索帧中的每个图像块相对应的多个平方差。
[0099] 在1006中,对于一个相关联的图像块,可以确定最小平方差是否小于一个预设的阈值。最小平方差是多个平方差中的一个。
[0100] 在1008中,如果最小平方差小于预设的阈值,那么搜索帧中的一个带有最小平方差的目标图像块可以被确定为一个参考图像块,并且相关联的图像块可以被确定为一个匹
配图像块。
[0101] 在1010中,如果最小平方差不小于预设的阈值,那么可以确定相关联的图像块的图像块面积是否待遇一个预设的最小图像块面积。
[0102] 在1012中,如果相关联的图像块的图像块面积大于预设的最小图像块面积,那么相关联的图像块可以被定义为匹配帧,并且目标图像块可以被定义为搜索帧,然后重复
1004以进行层次图像块搜索。
[0103] 对于一个相关联的图像块,如果确定了一个参考图像块或相关联的图像块的图像块面积不大于预设的最小图像块面积,则可以结束确定图像块搜索。对于所有相关联的图
像块,执行步骤1006至1012。最终,可以确定sub‑QR‑ICS帧中的一个或多个匹配图像块,并
且对于每个匹配的图像块,可以确定一个与其相对应的运动矢量。
[0104] 由于可以进一步划分相关联的图像块,在进行层次图像块搜索期间,图像块面积会不断减小。在一些实施例中,步长面积和相关联的图像块的图像块面积可以具有正相关
性。例如,当相关联的图像块具有较大的图像块面积时,步长面积可能较大;而当相关联的
图像块具有较小的图像块面积时,步长面积可能较小。通常,步长面积是一个不小于2的预
设整数,并且只有当相关联的图像块再也无法被划分时,步长面积大小才可以是1。
[0105] 根据本发明一些实施例,图11是一种示例性的基于共享数据的压缩方法。特别是,图11显示了步骤706的一个过程。
[0106] 在1102中,对于一个ICS通道所对应的每个堆栈,可以将ICS通道中的减除图像块的ICS帧与一个第一内核卷积,以确定共享数据,共享数据可以代表一个堆栈中的减除图像
块的ICS帧中的相似数据。
[0107] 在1104中,对于ICS通道所对应的每个堆栈,可通过使用第一缩放因子将共享数据中的值量化为具有预设位宽的整数来确定量化的共享数据。在一些实施例中,量化可以包
括两个步骤。首先,可以使用第一缩放因子将共享数据中的值缩放(减少位宽),以适应n位
整数的范围。例如,共享数据中的值可以乘以第一缩放因子。第一缩放因子可以是一个整数
或一个真分数。其次,共享数据的缩放值可以被整数化。
[0108] 在1106中,对于ICS通道所对应的每个堆栈,量化的共享数据可以被重缩放为重缩放量化的共享数据(RQ共享数据)。在一些实施例中,可以使用第一缩放因子将量化的共享
数据的值划分,从而对量化的共享数据进行重缩放。在一些实施例中,重缩放运算会带来量
化损失。例如,使用第一缩放因子1/2,可以将共享数据中的一个带有值23的像素缩放至
11.5,然后被整数化为12。然后可以使用第一缩放因子1/2将整数12重缩放为整数24,这变
会使整数24和整数23之间出现量化损失,其中没有考虑到卷积和反卷积的误差。
[0109] 在1108中,可以使用一个第二内核执行反卷积,从而将RQ共享数据重塑为重塑的RQ共享数据(RRQ共享数据)。
[0110] 在1110中,对于ICS通道所对应的每个堆栈,可以从减除图像块的ICS帧中减除RRQ共享数据,从而确定一个堆栈残差帧。
[0111] 在一些实施例中,图11中的方法可以被进一步简化。将一个加权求和帧与一个第一内核卷积,可以确定每个ICS通道所对应的每个堆栈中的共享数据。可以使用加权求和参
数将减除图像块的ICS帧中处于相同位置的值加权求和,从而确定加权求和帧。并且,一个
加权求和帧的卷积所需的能量和内存要比多个减除图像块的ICS帧的卷积所需的少很多。
[0112] 在一些实施例中,堆栈残差帧可以被进一步压缩、量化,等等,对于ICS通道所对应的的每个堆栈,可以使用一个第三内核栈将堆栈中的每个堆栈残差帧压缩。然后,对于ICS
通道所对应的每个堆栈,可以使用一个第二缩放因子将每个压缩的堆栈残差帧中的值量化
为具有预设位宽的整数,从而确定量化压缩的堆栈残差帧。在一些实施例中,量化过程可以
与1104中的相同。在一些实施例中,量化中使用的第二缩放因子可以等同于或不等同于第
一缩放因子。
[0113] 在一些实施例中,可以在步骤1102之后对量化的共享数据执行熵编码。其次,正如1108中所描述的进行重缩放。在一些实施例中,可以在步骤1112之后对量化的压缩的堆栈
残差帧执行熵编码。经过熵编码的量化压缩的堆栈剩余帧可被存储以用于解码。在一些实
施例中,可以对ICS通道中共享的运动矢量执行熵编码。熵编码是在进行传送或存储之前的
运算,与每个ICS通道相对应的经过熵编码的量化的共享数据,与每个ICS通道相对应的熵
编码的量化压缩的堆栈残差帧以及与ICS通道中共享的每个堆栈相对应的熵编码运动矢量
都被存储以用于解码/解压缩。在一些实施例中,还可以存储量化的第一ICS帧,用于添加匹
配的图像块以重建视频片段的多个帧。
[0114] 可以基于全局数据字典执行熵编码,其中全局数据字典是基于大量相同类型的数据而预先构建的。在一些实施例中,可以基于哈夫曼编码的编解码器的构建过程来确定全
局数据字典。
[0115] 首先,同一类型的大量数据可以用来构建适用于每种数据类型的通用字典。在一些实施例中,同一类型的数据可以是量化的共享数据、或是量化压缩的堆栈残差帧、或是运
动矢量等,虽然源于不同帧的同一类型的数据之间具有差异,但是它们共享值分布的统计
相似性(就像不同的高斯分布峰值相互重叠或彼此接近)。然后在对某一类型的输入数据进
行熵编码的过程中,可以使用全局数据字典对值进行编码。
[0116] 根据本发明的一些实施例,图12说明了图11的一个示例性处理(还包括量化和熵编码过程)。如图12中所示,可以通过将COMP_SMPS(尺寸为[Nx,Ny,Nfp])与第一内核(尺寸
为[ksmx,ksmy,Nfp,ncomp_sm])卷积来确定共享数据Smem(尺寸为[Nx/ksmx,Ny/ksmy,
ncomp_sm])。可以将Smem量化为Smem_Q。然后可以将Smem_Q重缩放为Smem_Q_rsc(尺寸为
[Nx/kresx,Ny/kresy,ncomp_sm]),并且使用一个第二内核(尺寸为[ksmx,ksmy,ncomp_sm])
对Smem_Q_rsc执行反卷积,从而可以将Smem_Q_rsc重塑为SMem_rs(尺寸为[Nx,Ny])。然后,
在每个ICS通道和每个堆栈中,可以从每个减除图像块的ICS帧COMP_SMPS_i中减除SMem_
rs,从而确定堆栈残差帧COMP_sres_i。可以使用一个第三内核(尺寸为[kresx,kresy,
ncomp_res])将每个堆栈中的每个堆栈残差帧进一步压缩为comp_sres_i(尺寸为[Nx/
kresx,Ny/kresy,ncomp_res])。最后,comp_sres_i可以被量化为comp_sres_i_Q。并且
comp_sres_i_Q可以被熵编码为comp_res_i_Q_EC。
[0117] 根据本发明的一些实施例,图13说明了视频片段的一种重建方法。
[0118] 在1302中,对于ICS通道所对应的的每个堆栈,对熵编码的量化共享数据、熵编码的量化压缩的堆栈残差帧和其所对应的熵编码的运动矢量进行熵解码。在一些实施例中,
由于可以在不同侧执行解压缩和压缩,所以可以在传送之前执行熵编码。当解压缩的一侧
接收到熵编码的数据时,便可以首先执行熵解码。
[0119] 在1304中,对于ICS通道所对应的每个堆栈,可以将每个量化压缩的堆栈残差帧重缩放为RQ压缩的堆栈残差帧,并且可以将量化的共享数据重缩放为RQ共享数据。在一些实
施例中,正如1106中所述,可以基于第一缩放因子来确定RQ共享数据。可以使用第二缩放因
子将量化压缩的堆栈残差帧划分,从而确定每个RQ压缩的堆栈残差帧。
[0120] 在1306中,对于ICS通道所对应的每个堆栈,可以使用一个第四内核执行反卷积,从而将每个RQ压缩的堆栈残差帧解压缩为第一解压缩的ICS帧。
[0121] 在1308中,对于ICS通道所对应的每个堆栈,可以使用第二内核执行反卷积,从而将RQ共享数据重塑为RRQ共享数据。
[0122] 在1310中,对于ICS通道所对应的每个堆栈中的每第一解压缩的ICS帧,可以将其所对应的RRQ共享数据和一个或多个其所对应的带有存储的运动矢量的匹配图像块添加至
第一解压缩的ICS帧,从而确定第二解压缩的ICS帧。
[0123] 在1312中,对于每个堆栈中的每第二解压缩的ICS帧,可以将与所有ICS通道相对应的的第二解压缩的ICS帧堆叠在一起,从而确定第三解压缩的ICS帧。第三解压缩的ICS帧
可以是第二解压缩的ICS帧的一个ICS通道堆栈。第三解压缩的ICS帧可以对应于一个R‑ICS
帧,并且在每个堆栈中可以存在一个预设数量的第三解压缩的ICS帧。
[0124] 在1314中,对于每个堆栈中的每第三解压缩的ICS帧,可以使用一个解压缩内核和用于质量改进的神经网络(QINN)对第三解压缩的ICS帧执行帧内解压缩,从而确定一个重
建帧。在一些实施例中,使用解压缩内核的过程可以被视为两个步骤:一个重缩放步骤和一
个解压缩步骤。重缩放步骤可以与图3所述的帧内压缩之后的量化过程相对应,并且可以基
于缩放因子来执行重缩放,其缩放因子与图3中的相同。在一些实施例中,步骤1312可以被
分为两个步骤:将第三解压缩的ICS帧重缩放为第三解压缩的ICS帧,以及将第三解压缩的
ICS帧解压缩为一个重建帧。
[0125] 在一些实施例中,ICS通道所对应的堆栈中可以共享第一内核至第四内核。此外,对应于每个ICS通道,可以存在着一组第一内核至第四内核,并且可以通过基于样本的训练
来确定每组第一内核至第四内核。
[0126] 一个堆栈中的帧可以被其所对应的RQ共享数据重建。此外,视频片段中的所有帧也可以被重建。
[0127] 根据本发明的一些实施例,图14说明了图13的一个示例性处理。正如图14所示,量化压缩的堆栈残差帧comp_sres_i_Q可以被重缩放为comp_sres_i_rsc(尺寸为[Nx/kresx,
Ny/kresy,Ncomp_res]),并且可以使用一个第四内核将comp_sres_i_rsc解压缩为COMP_
sres_i_D,其中COMP_sres_i_D的尺寸为[Nx,Ny]而第四内核的尺寸为kresx,kresy,Ncomp_
res]。然后SMem_rs可以被添加至COMP_sres_i_D以确定COMP_D,其中COMP_D的尺寸为[Nx,
Ny]。SMem_rs的确定是基于熵解码(使用全局数据字典)、重缩放(使用第一缩放因子)和重
塑(使用第二内核)。然后,可以使用一个解压缩内核和经过质量改进的神经网络(QINN)对
COMP_D_all_chans执行反卷积,从而确定重建帧,其中COMP_D_all_chans是所有ICS通道中
中的值的集合,并且COMP_D_all_chans的尺寸为Nx,Ny,Ncomp],而压缩内核的尺寸为[kx,
ky,Ncomp],重建帧的尺寸为[Nx,Ny]。
[0128] 在一些实施例中,一个时间模块包括用于每个Ncomp ICS通道的第一内核至第四内核,或者时间模块包括第一内核至第四内核和加权求和参数。在一些实施例中,可以通过
基于样本的训练来确定压缩内核中的参数、时间模块、解压缩内核和QINN。此外,可以以基
于样本的训练为基础,来确定用于所有ICS通道的时间模块。
[0129] 根据本发明的一些实施例,图15说明了一种基于样本的训练方法。
[0130] 在1502中,可以读出多组原始像素值样本,其中每组原始像素值样本都与一个帧相对应。多组原始像素值样本可以用于基于样本的训练。
[0131] 在1504中,可以使用一个初始压缩内核将每组原始像素值样本压缩为一个ICS帧样本,从而执行帧内压缩。其中ICS帧样本包括一个第一ICS帧样本和R‑ICS帧样本。
[0132] 在1506中,可以将第一ICS帧量样本量化为量化的第一ICS帧样本,并且可以将R‑ICS帧样本量化为量化的QR‑ICS帧样本。在一些实施例中,量化的第一ICS帧样本可以包括
Ncomp个单通道量化的第一ICS帧样本,并且每个单通道量化的第一ICS帧可以与量化的第
一ICS帧样本的一个ICS通道相对应,其中,每个QR‑ICS帧样本可以包括Ncomp个sub‑QR‑ICS
帧样本,并且每个sub‑QR‑ICS帧样本可以与QR‑ICS帧样本的一个ICS通道相对应。
[0133] 在1508中,对于每个ICS通道所对应的sub‑QR‑ICS帧样本,可以在单通道量化的第一ICS帧样本所关联的sub‑QR‑ICS帧样本中执行图像块匹配减除,并且生成减除图像块的
ICS帧样本,其中,一个或多个运动矢量与一个sub‑QR‑ICS帧样本相对应,并且一个运动矢
量代表着一个sub‑QR‑ICS帧样本中的一个匹配图像块和单通道量化的第一ICS帧样本中的
一个参考图像块之间的一个相对定位,并且其中一个ICS通道中的运动矢量被其他ICS通道
所共享。
[0134] 在1510中,对于每个ICS通道所对应的减除图像块的ICS帧样本,可以将减除图像块的ICS帧样本组成堆栈,其中每个堆栈包括一个预设数量的减除图像块的ICS帧样本的样

[0135] 在1512中,对于每个ICS通道中每个栈中的减除图像块的ICS帧,可以使用一个初始时间模块来确定共享数据样本、压缩的堆栈残差帧样本和第一解压缩的ICS帧样本,其中
初始时间模块包括一个第五内核、一个第六内核、一个第七内核和一个第八内核内核,或者
时间模块包括第五内核至第八内核以及初始加权求和参数。
[0136] 在1514中,对于每个堆栈,可以使用一个初始解压缩内核和一个初始QINN来确定重建帧样本。
[0137] 在1516中,可以将初始压缩内核训练为压缩内核,并且可以将初始解压缩内核以及初始QINN训练为一个中间解压缩内核以及一个中间QINN。
[0138] 在1518中,可以通过多图联合损失训练对初始时间模块的参数进行训练。
[0139] 根据本发明的一些实施例,图16说明了一个示例性的多图联合损失训练。
[0140] 在1602,可以确定4张计算图。这4张图是使用初始时间模块的处理。在一些实施例中,第一计算图G1代表着保持第一和第二量化点的一个处理,第二计算图G2代表着保持第
一量化点的一个处理,第三计算图G3代表着保持第二量化点的一个处理,而第四计算图G4
代表着保持无量化点的一个处理。在一些实施例中,第一量化点代表着第五内核的量化输
出数据,第二量化点代表着第七内核的量化输出数据。根据本发明的一些实施例,图21中也
显示了这4张计算图。
[0141] 在1604中,可以在迭代训练期间以顺序方式确定3个优化器。在一些实施例中,第一优化器被设定为在第一量化点之前训练参数以将第一全损最小化,该全损包括来自G1的
第一量化点的DA_E、来自G3的第二量化点的DA_E以及来自G4的重建损失。在一些实施例中,
第二优化器被设定为在第一和第二量化点之间训练参数以将第二全损最小化,该全损包括
来自G1的第二量化点的DA_E,以及来自G2的重建损失。在一些实施例中,第三优化器被设定
为在第二量化点之后训练参数,以将第三全损最小化,该全损包括来自G1的重建损失。在一
些实施例中,DA_E代表着一个熵的可微近似值。
[0142] 在1606中,可以迭代地运行第一、第二和第三优化器,从而训练初始时间模块中的参数,其中第五内核至第八内核可以被训练为第五中间内核至第八中间内核。在一些实施
例中,第五中间内核至第八中间内核中的参数为浮点数。在一些实施例中,也可以训练加权
求和参数。
[0143] 根据本发明的一些实施例,图17说明了第一计算图G1的一个示例性处理。
[0144] 在1702中,可以使用参数Para(bQ1)将数据T1输入一个第一卷积层,从而确定数据T2。在一些实施例中,数据T1意味着初始时间模块的输入,其与针对所有堆栈的减除图像块
的ICS帧样本相对应。在一些实施例中,Para(bQ1)是第五内核中的参数,或者Para(bQ1)是
加权求和参数和第五内核中的参数。
[0145] 在1704中,可以将第一量化点上的数据T2量化,从而确定数据T2_Q。
[0146] 在1706中,可以基于数据T2_Q来确定数据T3。在一些实施例中,在从数据T2_Q至T3的过程中,被训练的参数可以包括一个第一反卷积层和一个具有参数Para(aQ1,bQ2)的第
二卷积层。在一些实施例中,Para(aQ1,bQ2)是第六内核和第七内核中的参数。该过程可以
进一步包括在第一反卷积层之前的一个重缩放运算和在第二卷积层之后的一个减除运算。
[0147] 在1708中,可以将第二量化点上的数据T3量化,从而确定数据T3_Q。在一些实施例中,数据T3_Q可以与量化压缩的堆栈残差帧相对应。
[0148] 在1710中,可以基于数据T3_Q确定数据T4。在一些实施例中,在从数据T3_Q至T4的过程中,被训练的参数可以包括一个具有参数Para(aQ2)的第二反卷积层。在一些实施例
中,Para(aQ2)是第八内核中的参数。该过程可以进一步包括在第二卷积层之前的一个重缩
放运算。
[0149] 正如上文所述,图17中的处理过程可以与图11至13中所描述的内容相对应。
[0150] 根据本发明的一些实施例,图18说明了第二计算图G2的一个示例性处理。
[0151] 在1802中,可以使用参数Para(bQ1)将数据T1输入一个第一卷积层,从而确定数据T2。
[0152] 在1804中,可以将第一量化点上的数据T2量化,从而确定数据T2_Q。
[0153] 在1806中,可以基于数据T2_Q来确定数据T3。在一些实施例中,在从数据T2_Q到T3的过程中,被训练的参数可以包括第一反卷积层和依次出现的具有参数Para(aQ1,bQ2)的
第二卷积层。与步骤1706相同,该过程还包括在第一反卷积层之前的一个重缩放运算和在
第二卷积层之后的一个减除运算。
[0154] 在1808中,可以基于数据T3确定数据T4(2)。在一些实施例中,在从数据T3至T4(2)的过程中,被训练的参数可以包括具有参数Para(aQ2)的第二反卷积层。由于数据T3还没有
被量化,所以1710中所述的重缩放运算也并非必要操作。
[0155] 根据本发明的一些实施例,图19说明了第三正计算图G3的一个示例性处理。
[0156] 在1902中,可以使用参数Para(bQ1)将数据T1输入第一卷积层,从而确定数据T2。
[0157] 在1904年,可以基于数据T2来确定数据T3(3)。在一些实施例中,在从数据T2至T3(3)的过程中,被训练的参数可以依次包括第一反卷积层和依次出现的具有参数Para(aQ1,
bQ2)的第二卷积层。在一些实施例中,该过程可以进一步包括在第二卷积层之后的减法操
作。由于数据T2尚未量化,因此也不需要如1706中所述的重缩放操作。
[0158] 在1906中,可以将第二量化点上的数据T3量化,从而确定数据T3_Q(3)。
[0159] 在1908中,可以基于数据T3_Q(3)来确定数据T4(3)。在一些实施例中,在从数据T3_Q(3)至T4(3)的过程中,被训练的参数包括具有参数Para(aQ2)的第二反卷积层。在一些
实施例中,该过程可以进一步包括在第二解卷积层之前的一个重缩放运算。
[0160] 根据本发明的一些实施例,图20说明了第四计算图G4的一个示例性处理。
[0161] 在2002中,可以使用参数Para(bQ1)将数据T1输入第一卷积层,从而确定数据T2。
[0162] 在2004中,可以基于数据T2来确定数据T3(4)。在一些实施例中,在从数据T2至T3(4)的过程中,被训练的参数可以包括第一反卷积层和依次出现的具有参数Para(aQ1,bQ2)
的第二卷积层。在一些实施例中,该过程可以进一步包括在第二卷积层之后的一个减除运
算。
[0163] 在2006中,可以基于数据T3(4)确定数据T4(4)。在一些实施例中,在从数据T3(4)至T4(4)的过程中,被训练的参数可以包括具有参数Para(aQ2)的第二反卷积层。
[0164] 正如上文的图15至20所述,第五内核至第八内核可以被训练为第五中间内核至第八中间内核。在一些实施例中,可以进一步处理第五中间内核至第八中间内核,以确定时间
模块。
[0165] 根据本发明的一些实施例,图22说明了一种示例性的时间模块确定方法。
[0166] 在2202中,可以将第五中间内核中的参数整数化,从而确定第一内核,并且可以将第六中间内核中的参数整数化,从而确定第二内核,并且可以将地起中间内核中的参数整
数化,从而确定第三内核。
[0167] 在2204中,可以对第八中间内核中的参数进行微调,从而确定第四内核。
[0168] 在一些实施例中,第一内核至第三内核中的参数可以是整数,而第四内核中的参数可以依然是浮点数。
[0169] 在2206中,可以对中间解压缩内核和中间QINN中的参数进行微调,从而确定解压缩内核和QINN。
[0170] 根据本发明的一些实施例,图23是一个压缩设备的示例性图。正如图23所示,该压缩设备可以包括读出单元2310、压缩单元2320和存储器2330。在一些实施例中,压缩设备
2300可以被设定为压缩来自一个相机的焦面(传感器阵列)的一个视频片段所对应的原始
Bayer数据。
[0171] 读出单元2310可以被设定为按顺序读出多组原始像素值。在一些实施例中,每组原始像素值可以和一个视频片段的一帧相对应。
[0172] 压缩单元2320可以被设定为执行图2、图7至12中所描述的压缩过程,其中可以执行帧内压缩和基于共享数据的压缩。
[0173] 根据本发明的一些实施例,图24是一个录像系统的示例性图。录像系统2400可以包括压缩模块2410和解压模块2420。
[0174] 压缩模块2410可以被设定为通过读出单元2411,来按顺序读出多组原始像素值,并且可以被设定为通过压缩单元2412来执行压缩运算。应该注意的是,该压缩模块可以和
图23中所描述的压缩设备相同。
[0175] 存储器2420可以被设定用于存储量化的第一ICS帧、对应于每个ICS通道的熵编码的量化的共享数据、对应于每个ICS通道的熵编码的量化压缩的堆栈残差帧以及ICS通道中
共享的每个堆栈中的熵编码的运动矢量。在一些实施例中,存储数据可以被用于重建视频
片段中的多个帧。
[0176] 解压模块2430可以被设定用于重建视频片段的多个帧。重建运算可以如图13至14所示的那样执行。
[0177] 本发明的方法部分已经描述了压缩和解压缩的处理,并且我们在此不就压缩设备和录像系统进行深入探讨。
[0178] 在这样描述了基本概念之后,对于本领域的技术人员来说,在阅读本详细公开之后,可能相当明显的是,上述详细公开旨在仅以示例的方式呈现,而不是限制性的。对于本
领域的技术人员来说,可进行各种变更、改进和修改,尽管本文没有明确说明。这些改变、改
进和修改旨在由本发明提出,并且在本公开的示例性实施例的精神和范围内。
[0179] 此外,某些术语已用于描述本发明的实施例。例如,术语“一个实施例”、“一种实施例”和/或“一些实施例”表示结合该实施例描述的特定特征、结构或特征包括在本发明的至
少一个实施例中。因此,应强调并应理解,本说明书的各个部分中对“实施例”或“一个实施
例”或“替代实施例”的两个或多个引用不一定都指同一实施例。此外,在本发明的一个或多
个实施例中,可以将特定特征、结构或特征组合在一起。
[0180] 此外,本领域的技术人员将理解,本发明的各个方面可以在许多可申请专利的类别或上下文中的任何一个中说明和描述,包括任何新的和有用的工艺、机器、制造或物质的
组成,或其任何新的和有用的改进。因此,本发明的各个方面可以完全硬件实现、完全软件
(包括固件、驻留软件、微代码等)实现或结合软件和硬件实现,这些实现在本文中通常被称
为“块”、“模块”、“引擎”、“单元”、“组件”或“系统”。此外,本发明的各个方面可以采取计算
机处理产品的形式,该计算机处理产品体现在一个或多个计算机可读介质中,其中包含计
算机可读处理代码。
[0181] 此外,所述的处理元件或序列的顺序,或因此而使用的数字、字母或其他名称,并不意在将所要求保护的处理和方法限制为除权利要求中可能指定的以外的任何顺序。尽管
上述公开通过各种示例讨论了当前被认为是本发明的各种有用实施例的内容,但是应当理
解,这样的细节仅用于此目的,并且所附权利要求不限于所公开的实施例,相反,所附权利
要求旨在涵盖落在所公开的实施例的精神和范围内的修改和等同。例如,尽管上述各种组
件的实现可以包含于硬件设备中,但也可以作为仅软件的解决方案来实现,例如,在现有处
理设备或移动设备上的安装。
[0182] 同样,应当理解,在本发明的实施例的上述描述中,有时在单个实施例、附图、或为了有助于理解各种创造性实施例中的一个或多个而简化公开的目的所做的描述中,将各种
特征组合在一起。然而,本发明方法不应被解释为反映出所要求保护的主题需要比每个权
利要求中明确叙述的更多的特征的意图。相反,创造性实施例存在于少于上述单个公开实
施例的所有特征。