具体实施方式
下面详细描述本申请的实施例,实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能解释为对本申请的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组合。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
本领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
下面以具体实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
本申请实施例提供了一种可能的实现方式,如图1所示,提供了一种图像处理方法的流程图,该方案可以由任一电子设备执行,可选的,可以在用户设备执行,为描述方便,下面以用户设备作为执行主体对本申请实施例提供的方法进行说明。
本申请实施例可应用于媒体文件处理领域,将基于深度学习的超分辨率技术与视频插帧技术结合,融合两者的优势,基于帧率以及分辨率,实现将低质量视频增强成高质量视频,使得经过低分辨率和/或低帧率的媒体文件在传输至用户设备侧时可以还原成高分辨率和/或高帧率的媒体文件;在保证用户设备侧的媒体文件的分辨率和/或帧率的基础之上,降低媒体文件的传输带宽压力以及传输成本需求。
如图1中所示,该方法可以包括以下步骤:
步骤101,获取原始帧组合;其中,所述原始帧组合包括第一图像帧和第二图像帧。
其中,原始帧组合可以为目标媒体文件中的帧组合,例如目标媒体文件为视频格式的文件,第一图像帧和第二图像帧为视频文件中相邻的两帧、或者二者相隔一帧或多帧。可选地,第一图像帧和第二图像帧为低质量图像帧,例如目标媒体文件为经过视频压缩处理的媒体文件,这样,在目标媒体文件传输至用户设备的过程中,有利于减少传输带宽成本。
用户设备在接收到目标媒体文件时,提取其中的一个或多个原始帧组合,对原始帧组合进行处理。
步骤102,将所述原始帧组合输入至预设的图像处理器,得到目标帧组合。其中,所述目标帧组合包括:与所述第一图像帧对应的第一目标图像帧,与所述第二图像帧对应的第二目标图像帧,时序位于所述第一目标图像帧以及所述第二目标图像帧之间的中间目标图像帧。
例如,第一目标图像帧
为对第一图像帧
进行超分辨率处理后的图像帧,第二目标图像帧
为对第二图像帧
进行超分辨率处理后的图像帧,中间目标图像帧
为对第一目标图像帧
以及第二目标图像帧
进行插帧处理所得到的图像帧;具体的,中间目标图像帧
的时序位于第一目标图像帧
以及第二目标图像帧
之间,即中间目标图像帧
以插帧的形式,存在于目标帧组合中。
具体地,在该步骤中,所述图像处理器根据输入的所述原始帧组合得到反向光流组合以及中间图像帧;根据所述反向光流组合以及所述中间图像帧,得到中间增强图像帧;对所述原始帧组合以及所述中间增强图像帧进行超分重构,得到所述目标帧组合。其中,反向光流组合包括与第一图像帧
对应的反向光流Flow
t→0以及与第二图像帧
对应的反向光流Flow
t→1。
更具体地,所述图像处理器首先对原始帧组合进行估计,得到反向光流组合,再根据反向光流组合得到中间图像帧
进一步对反向光流组合以及中间图像帧
进行增强处理,得到中间增强图像帧
最终进行超分重构,得到中间目标图像帧
需要说明的是,图像处理器是预先经过深度学习处理得到的,深度学习处理可以恢复图像细节,将分辨率较低且不清晰的视频恢复成分辨率较高且清晰的视频。在经深度学习后,图像处理器能够对原始帧组合进行处理,分别得到相对于原始帧组合分辨率更高的第一目标图像帧
以及第二目标图像帧
并在二者之间实现插帧,得到中间目标图像帧
根据第一目标图像帧
以及第二目标图像帧
的关系,估算图像中物体运动轨迹,然后在二者之间插入一张中间合成帧,从而提升视频帧率,让画面更流畅,运动细节展示更为清晰。如此,图像处理器将基于深度学习的超分辨率技术与视频插帧技术结合,融合两者的优势,基于帧率以及分辨率,实现将低质量视频增强成高质量视频。
这样,经过图像处理器处理原始帧组合,得到分辨率更高并经过插帧处理的目标帧组合。在还原成高清媒体文件的过程中,无需再额外设定光流估计模型,因此简化了光流估计模型。且根据所述反向光流组合以及所述中间图像帧,得到中间增强图像帧,联合反向光流组中的高分辨率的特征信息以及中间图像帧中的低分辨率的特征信息,对低分辨率的中间图像帧进行增强,从而使得最终生成的中间目标图像帧
减少伪影,更为清晰。
本申请实施例中,通过获取原始帧组合,将所述原始帧组合输入至预设的图像处理器,得到目标帧组合。在此过程中,由于所述图像处理器为根据深度学习处理得到的,具体来说,所述图像处理器将基于深度学习的超分辨率技术与视频插帧技术结合,融合了两者的优势,因此基于帧率以及分辨率,实现将低质量视频增强成高质量视频,使得经过低分辨率和/或低帧率的媒体文件在传输至用户设备侧时可以还原成高分辨率和/或高帧率的媒体文件。因此,本实施例的方案在保证用户设备侧的媒体文件的分辨率和/或帧率的基础之上,降低媒体文件的传输带宽压力以及传输成本需求。本申请实施例解决了现有技术中,视频数据传输过程中的传输带宽压力以及传输成本压力问题。
在一个可选实施例中,所述根据所述原始帧组合得到反向光流组合以及中间图像帧,包括:对所述原始帧组合进行中间流估计,得到反向光流组合;反向光流组合包括与第一图像帧
对应的第一反向光流Flow
t→0以及与第二图像帧
对应的第二反向光流Flow
t→1;对所述反向光流组合进行后向扭曲(Backward warping),得到中间图像帧。后向扭曲指将
和
经过中间流信息Flow
t→0和Flow
t→1得到的中间图像帧
可选地,在中间流估计的过程中,可采用简化的中间流估计网络(IntermediateFlow Estimation Network,IFEN)进行中间流估计。作为第一示例,图2为本申请实施例中IFEN的工作原理,如图2所示,IFEN根据输入的第一图像帧
以及第二图像帧
直接估计出两个方向的反向光流(第一反向光流和第二反向光流),而不需要进行光流反转操作。
图3示出了本申请实施例的中间流估计的过程示意图。参见图3,其中,IFEN网络架构包括四层中间流估计块(IFE-block0至IFE-block3),其中,每个IFE-block由一个Backward warping模块、一个步长(stride)为2的卷积层(Conv)、6个残差块(Resblock0至Resblock5)和一个步长为2的转置卷积层构成。
如图3所示,IFE-block0的输入数据为第一图像帧
第二图像帧
以及前一层的反向光流组合
和
i表示IFE-block的序号,输出数据为本层的反向光流组合
和
每一层中间流估计块执行相同的数据处理,至IFE-block3输出反向光流组合
和
即Flow
t→0,
即Flow
t→1,Flow
t→0与Flow
t→1组成中间流信息。
在每个IFE-block内部,如图3所示,以IFE-block0为例,输入数据为第一图像帧
第二图像帧
以及前一层的反向光流组合
和
Backward warping模块输入数据进行后向扭曲得到映射帧
以及
经过卷积层、残差块和转置卷积层处理,得到η
i 根据以下表达式(1)和(2)分别计算
和
作为下一层IFE-block的输入数据:
其中,ηi表示第i个IFE-block,i=0,1,2,3。
在一个可选实施例中,所述根据所述反向光流组合以及所述中间图像帧,得到中间增强图像帧,包括:第一步,提取所述反向光流组合的运动特征信息,以及分别确定所述原始帧组合和所述中间图像帧的图像特征信息;第二步,根据所述运动特征信息以及图像特征信息得到中间增强图像帧。
其中,第一步提取动运动特征信息M以及图像特征信息;第二步综合所述运动特征信息以及图像特征信息得到中间增强图像帧。
可选地,上述第一步中,所述提取所述反向光流组合的运动特征信息,包括:将所述反向光流组合输入至运动估计器,得到所述反向光流组合的运动特征信息;所述运动估计器可执行运动估计卷积神经网络(Motion-Net)算法,通过反向光流组合输入至运动估计卷积神经网络,得到从反向光流提取的运动特征M。
可选地,本申请实施例中,所述图像特征信息包括:所述原始帧组合的第一特征信息以及第二特征信息,所述中间图像帧的第三特征信息;
上述第一步中,所述分别确定所述原始帧组合和所述中间图像帧的图像特征信息,包括步骤11至步骤13:
步骤11,将所述原始帧组合输入至特征提取器,得到所述第一特征信息;第一特征信息包括与第一图像帧
对应的特征信息
和与第二图像帧
对应的特征信息
以及将所述中间图像帧
输入至所述特征提取器,得到所述第三特征信息
步骤12,对所述原始帧组合进行插值采样处理,输入至所述特征提取器,得到第四特征信息。插值采样处理例如双三次线性插值法,将原始帧组合采样成原来分辨率大小的尺寸后进行特征提取,得到高分辨率特征
和
步骤13,对所述第四特征信息进行降采样处理,得到所述第二特征信息,第二特征信息即低分辨率特征,例如将
和
经过max pooling降采样成低分辨率特征
和
综合原始帧组合的高分辨率特征以及低分辨率特征,充分考虑两帧图像之间的特征信息。
可选地,本申请实施例中的特征提取器可以由一个卷积层和四个残差块组成。
确定所述原始帧组合和所述中间图像帧的图像特征信息的过程中,将原始帧组合输入至特征提取器,并根据特征提取器所提取的特征信息进一步预测中间图像帧的特征,对中间图像帧进行重构处理。可选地,本申请实施例中,上述第二步包括步骤21至步骤22:
步骤21,对所述运动特征信息、所述第一特征信息以及所述第二特征信息进行预设预测处理,得到所述中间图像帧的第五特征信息。例如,将运动特征信息M、所述第一特征信息
以及所述第二特征信息
输入至预设预测网络进行预测处理,预测得到中间图像帧
的第五特征信息
步骤22,对所述第三特征信息以及所述第五特征信息进行重构处理,得到中间增强图像帧。具体将第三特征信息
与第五特征信息
输入重构网络中,输出增强的中间帧,即中间增强图像帧
作为第二示例,参见图4,将运动特征信息M、所述第一特征信息
以及所述第二特征信息
输入至预设预测网络进行预测处理,预测得到中间图像帧
的第五特征信息
将第三特征信息
与第五特征信息
输入重构网络中,输出增强的中间帧
本申请实施例中,得到中间增强图像帧
后,图像处理器对原始图像帧组合以及中间增强图像帧进行超分重构处理,得到包括第一目标图像帧
第二目标图像帧
时序位于所述第一目标图像帧以及所述第二目标图像帧之间的中间目标图像帧
可选地,重构网络可以是超分重构网络;超分重构网络例如基于用于单幅图像超分辨率的增强型深度残差网络(Enhanced Deep Residual Networks for Single Image Super-Resolution,EDSR)、使用深度残差通道注意网络的图像超分辨率(Image Super-Resolution Using Very Deep Residual Channel Attention Networks,RCAN)或使用生成对抗网络的超分辨率(Photo-Realistic Single Image Super-Resolution Using aGenerative Adversarial Network,SRGAN)改进的一些超分网络。
可选地,本申请实施例中,所述获取原始帧组合之前,所述方法包括:获取训练样本数据;根据所述训练样本数据,训练初始处理器,得到所述图像处理器。
其中,训练图像处理器过程中,可采用深度学习的方式训练。具体地,所述训练样本数据中包括第一帧组合,所述第一帧组合包括第一样本帧和第二样本帧,第一样本帧和第二样本帧可以是提取自高分辨率和/或高帧率媒体文件中的图像帧。在一个实施例中,可选择N组高清视频,将每一组高清视频序列剪辑成若干个第一帧组合,例如选择Adobe-240数据集,每个视频的帧速率为240fps,空间分辨率为720×1280,从这个集合中选取120个视频(即N=120)来构建训练样本数据。
可选地,本申请实施例中,所述根据所述训练样本数据,训练初始处理器,得到所述图像处理器,包括步骤31至步骤33:
步骤31,对所述第一帧组合进行降采样处理,得到第二帧组合。可选地,第二帧组合包括第三样本帧和第四样本帧,第三样本帧为与第一图像帧对应的训练样本,第三样本帧为与第二图像帧对应的训练样本。
可选地,降采样处理可以是双三次插值降采样,如以下表达式(3)所示:
其中,
表示经双三次插值降采样后的样本帧,
表示采样前的样本帧,j为0、1或t。例如,
表示第一样本帧,
表示第三样本帧。↓
scale表示降采样操作,scale为降采样因子,取值例如2、3、4或8。以scale为2为例,对于前述空间分辨率为720×1280的训练样本数据,经降采样处理之后,分辨率为360×640。
步骤32,对所述第一帧组合以及所述第二帧组合分别进行数据集增强,得到增强样本数据。所述增强样本数据包括第三帧组合,第三帧组合中包括两帧增强后的样本数据,例如第五样本帧以及第六样本帧。
例如,将第一帧组合随机裁剪成128×128大小的HR补丁(patch),与其对应的LR样本(第二帧组合)根据HR裁剪的像素内容,也对应的裁剪出(128//scale)×(128//scale)大小的LR patch,其中,“//”表示整除。令scale=2,因此LR patch的大小为64×64,并将HRpatch与LR patch进行同步的水平、垂直,以及将HR patch与LR patch进行时间顺序反转,用于数据集增强,最终得到增强后的训练样本集。时间顺序反转例如对于第一帧组合,原时间顺序为第一样本帧、第二样本帧,经时间反转之后,该组合可增强为第二样本帧、第一样本帧。或者,帧组合A包括A1帧、A2帧、A3帧以及A4帧,经过时间顺序反转后,时间顺序变为A4帧、A3帧、A2帧、A1帧,或者变为A2帧、A1帧、A4帧、A3帧等。
步骤33,根据所述第一帧组合以及所述第三帧组合,训练初始处理器,得到所述图像处理器。
在一个可选的实施例中,步骤33包括步骤41至步骤43:
步骤41,将所述第三帧组合,输入至初始处理器,得到样本目标帧组合,所述样本目标帧组合包括样本中间图像帧
初始处理器可以是一个初始的深度学习网络模型,在训练图像处理器的过程中,将第三帧组合与第一帧组合作为一组样本组合对,针对每一组样本组合对,首先将第三帧组合,输入至初始处理器,得到样本目标帧组合,即经过高清还原处理的图像帧。
步骤42,根据所述第一帧组合以及所述样本目标帧组合,确定所述初始处理器的损失函数值,损失函数值即原始的第一帧组合与经过高清还原后的目标帧组合之间的差异,即当前所训练的图像处理器的还原能力。
步骤43,根据所述损失函数值反向优化所述初始处理器,至所述损失函数值低于预设损失函数阈值,得到所述图像处理器。当上述差异足够小,表明图像处理器已满足精确度要求。
在一个可选的实施例中,根据时空视频超分辨率网络模型的损失函数计算当前所训练的图像处理器的损失值,并采用随机梯度下降法更新当前所训练的图像处理器的参数值,通过更新后的参数值对网络模型重新训练,如此反复迭代,最终获得训练好的时空视频超分辨率网络模型,即损失函数值低于预设损失函数阈值的图像处理器。
步骤42包括:根据所述样本中间图像帧以及所述第一样本帧确定重构损失;
根据所述重构损失、感知重构损失以及泄露蒸馏损失确定所述初始处理器的损失函数值。
其中,可根据所述第一帧组合、所述样本目标帧组合以及第一数据关系,确定所述初始处理器的损失函数值,所述第一数据关系如以下表达式(4)所示:
Loss=Lrec+λpLp+λdisLdis (4)
其中,Loss表示所述损失函数值;L
rec表示重构损失,
表示所述样本中间图像帧,
表示所述第一样本帧;L
p表示感知重构损失,λ
p为第一预设数值,例如λ
p=0.04;L
dis表示泄露蒸馏损失(leakage distillation),
λ
dis为第二预设数值,例如λ
dis=0.01。
为了使IFEN网络预测的反向光流较为准确,采用一个预训练的光流估计模型提供额外的光流信息
和
作为监督信息去训练,即
和
为预先设定的数值;Flow1
t→0表示第一样本帧的反向光流,Flow1
t→1表示第二样本帧的反向光流。
可选地,感知重构损失采用VGG-16作为预训练网络,并使用前三个阶段中每个阶段最后一层的特征图来测量差异,即Conv1_2(第一个阶段第二层特征图)、Conv2_2(第二个阶段第二层特征图)和Conv3_3(第二个阶段第三层特征图),例如采用以下表达式(5)计算感知重构损失:
其中,i=l,l=1、2、3;
表示
经过Conv1_2、Conv2_2和Conv3_3感知重构对应的特征图;
表示
经过Conv1_2、Conv2_2和Conv3_3感知重构对应的特征图;
表示样本目标帧组合中的图像帧,
表示第一帧组合中的图像帧。
作为第三示例,参见图5,图5示出了所述图像处理器工作的过程示意图。如图5所示,主要包括以下步骤:
2、将
和
输入至IFEN模块,得到反向光流Flow
t→1和Flow
t→0。
3、将反向光流Flow
t→1和Flow
t→0同时送入Backward warping模块,从而得到
4、将反向光流Flowt→1和Flowt→0送入运动估计卷积神经网络中(Motion-Net),得到从反向光流提取的运动特征M;
5、根据特征提取器(Feature Extractor),获取
和
的特征信息
和中间帧
的特征信息
以及对
进行max pooling降采样成低分辨率特征
6、将运动特征M、
同时送入时空增强网络(ST-EnhanceNet),从而获得增强的中间帧
7、将
和
以及增强的中间帧
送入超分重构网络中,最终得到重构的超分图像
和
即目标帧组合。
本申请实施例中,获取原始帧组合,将所述原始帧组合输入至预设的图像处理器,得到目标帧组合。由于所述图像处理器为根据深度学习处理得到的,所述图像处理器将基于深度学习的超分辨率技术与视频插帧技术结合,因此能够融合两者的优势,基于帧率以及分辨率,实现将低质量视频增强成高质量视频,使得经过低分辨率和/或低帧率的媒体文件在传输至用户设备侧时可以还原成高分辨率和/或高帧率的媒体文件。而且,在保证用户设备侧的媒体文件的分辨率和/或帧率的基础之上,降低媒体文件的传输带宽压力以及传输成本需求。
依据本申请实施例的另一个方面,还提供了一种媒体文件处理方法,如图6所示,所述方法包括如下步骤:
步骤601,获取媒体文件中的原始帧组合;其中,所述原始帧组合包括第一图像帧和第二图像帧;
其中,原始帧组合可以为媒体文件中的帧组合,例如媒体文件为视频格式的文件,第一图像帧和第二图像帧为视频文件中相邻的两帧、或者二者相隔一帧或多帧;可选地,第一图像帧和第二图像帧为低质量图像帧,例如目标媒体文件为经过视频压缩处理的媒体文件,这样,在媒体文件传输至用户设备的过程中,有利于减少传输带宽成本。
用户设备在接收到媒体文件时,提取其中的一个或多个原始帧组合,对原始帧组合进行处理。
步骤602,将所述原始帧组合输入至预设的图像处理器,得到目标帧组合;
其中,所述目标帧组合包括:与所述第一图像帧对应的第一目标图像帧,与所述第二图像帧对应的第二目标图像帧,时序位于所述第一目标图像帧以及所述第二目标图像帧之间的中间目标图像帧。例如,第一目标图像帧
为对第一图像帧
进行超分辨率处理后的图像帧,第二目标图像帧
为对第二图像帧
进行超分辨率处理后的图像帧,中间目标图像帧
为对第一图像帧以及第二图像帧进行处理后的图像帧;中间目标图像帧
的时序位于第一目标图像帧
以及第二目标图像帧
之间,即中间目标图像帧
以插帧的形式,存在于目标帧组合中。
所述图像处理器为根据深度学习处理得到的;具体地,所述图像处理器根据所述原始帧组合得到反向光流组合以及中间图像帧;根据所述反向光流组合以及所述中间图像帧,得到中间增强图像帧;对所述原始帧组合以及所述中间增强图像帧进行超分重构,得到所述目标帧组合。
反向光流组合包括与第一图像帧
对应的Flow
t→0以及与第二图像帧
对应的Flow
t→1;所述图像处理器首先对原始帧组合进行估计,得到反向光流组合,再根据反向光流组合得到中间图像帧
进一步对反向光流组合以及中间图像帧
进行增强处理,得到中间增强图像帧
最终进行超分重构,得到中间目标图像帧
图像处理器是预先经过深度学习处理得到的,深度学习处理可以恢复图像细节,将分辨率较低且不清晰的视频恢复成分辨率较高且清晰的视频。图像处理器通过对原始帧组合进行处理,分别得到相对于原始帧组合分辨率更高的第一目标图像帧
以及第二目标图像帧
并在二者之间实现插帧,得到中间目标图像帧
根据第一目标图像帧
以及第二目标图像帧
的关系,估算图像中物体运动轨迹,然后在二者之间插入一张中间合成帧,从而提升视频帧率,让画面更流畅,运动细节展示更为清晰。图像处理器将基于深度学习的超分辨率技术与视频插帧技术结合,融合两者的优势,基于帧率以及分辨率,实现将低质量视频增强成高质量视频。
这样,经过图像处理器处理原始帧组合,得到分辨率更高并经过插帧处理的目标帧组合;在还原成高清媒体文件的过程中,无需再额外设定光流估计模型,简化了光流估计模型;且根据所述反向光流组合以及所述中间图像帧,得到中间增强图像帧,联合反向光流组中的高分辨率的特征信息以及中间图像帧中的低分辨率的特征信息,对低分辨率的中间图像帧进行增强,从而使得最终生成的中间目标图像帧
减少伪影,更为清晰。
本实施例中,还包括前述实施例中其他步骤,为避免重复,在此不再赘述。
本申请实施例中,获取媒体文件中的原始帧组合,将所述原始帧组合输入至预设的图像处理器,得到目标帧组合;所述图像处理器为根据深度学习处理得到的,所述图像处理器将基于深度学习的超分辨率技术与视频插帧技术结合,融合两者的优势,基于帧率以及分辨率,实现将低质量视频增强成高质量视频,使得经过低分辨率和/或低帧率的媒体文件在传输至用户设备侧时可以还原成高分辨率和/或高帧率的媒体文件;在保证用户设备侧的媒体文件的分辨率和/或帧率的基础之上,降低媒体文件的传输带宽压力以及传输成本需求。本申请实施例解决了现有技术中,视频数据传输过程中的传输带宽压力以及传输成本压力问题。
依据本申请实施例的另一个方面,还提供了一种媒体文件处理方法,所述方法可应用于服务器或其他向接收端发送媒体文件的设备,为了便于描述,后续以所述方法应用于服务器为例说明。
如图7所示,所述方法包括:
步骤701,对第一媒体文件进行帧率压缩和/或分辨率压缩,得到第二媒体文件;
在第一媒体文件传输至接收端的过程中,为了减少传输带宽成本以及降低传输带宽压力,服务器将第一媒体文件进行帧率压缩和/或分辨率压缩,得到第二媒体文件后再传输。可选地,在对第一媒体文件进行帧率压缩和/或分辨率压缩过程中,对第一媒体文件中的帧组合进行降采样处理,得到原始帧组合,第二媒体文件包括原始帧组合。
作为第四示例,以所述第一媒体文件为高质量视频源为例,服务器从超高清拍摄端获取满足高质量且已经保存到服务器本地的本地视频作为高质量视频源,首先将高质量视频源进行均匀2x(x表示倍数)帧率下采样操作,即进行减帧处理,视频的分辨率尺寸保持不变,此时得到视频称为低帧率视频,接着使用双三次线性插值法将低帧率视频进行单帧图像降采样操作,得到低分辨率且低帧率视频即第二媒体文件,其中降采样的倍数包括例如2x、3x、4x和8x;采用视频编码技术将第二媒体文件进行视频编码,并将编码后的视频经过视频传输技术传输至接收端。接收端接收到第二媒体文件之后,进行视频解码操作,获得解码后的低质量的第二媒体文件。
例如,针对一直播视频,采集高质量视频1080p/60fps,将其进行均匀进行2x减帧处理,得到1080p/30fps视频;再将1080p/30fps视频进行双三次线性插值降采样操作,其中降采样的倍数为4x,得到270p/30fps低质量压缩视频;然后将这个低质量压缩视频采用HEVC的编码技术进行编码,这样,需要传输的视频数据将是原数据的90%左右,因此,将很大程度上的减少带宽成本。具体地,以一个时长为2分钟,1080p/60fps的视频源为例,表1示出了高质量视频(第一媒体文件)和低质量压缩视频(第二媒体文件)传输所需要的码流对比;
表1:
根据表1可知,视频质量参数降低,将实现视频码流明显降低。
步骤702,将所述第二媒体文件发送至接收端,指示接收端获取媒体文件中的原始帧组合,并将所述原始帧组合输入至预设的图像处理器,得到目标帧组合。
其中,所述原始帧组合包括第一图像帧和第二图像帧;
所述目标帧组合包括:与所述第一图像帧对应的第一目标图像帧,与所述第二图像帧对应的第二目标图像帧,时序位于所述第一目标图像帧以及所述第二目标图像帧之间的中间目标图像帧。例如,第一目标图像帧
为对第一图像帧
进行超分辨率处理后的图像帧,第二目标图像帧
为对第二图像帧
进行超分辨率处理后的图像帧,中间目标图像帧
为对第一图像帧和第二图像帧进行处理后的图像帧;中间目标图像帧
为对第一目标图像帧
以及第二目标图像帧
进行插帧处理所得到的图像帧;具体的,中间目标图像帧
的时序位于第一目标图像帧
以及第二目标图像帧
之间,即中间目标图像帧
以插帧的形式,存在于目标帧组合中。
服务器将所述第二媒体文件发送至接收端,并指示接收端获取媒体文件中的原始帧组合,并将所述原始帧组合输入至预设的图像处理器,得到目标帧组合;所述图像处理器为根据深度学习处理得到的;具体地,所述图像处理器根据所述原始帧组合得到反向光流组合以及中间图像帧;根据所述反向光流组合以及所述中间图像帧,得到中间增强图像帧;对所述原始帧组合以及所述中间增强图像帧进行超分重构,得到所述目标帧组合。
反向光流组合包括与第一图像帧
对应的Flow
t→0以及与第二图像帧
对应的Flow
t→1;所述图像处理器首先对原始帧组合进行估计,得到反向光流组合,再根据反向光流组合得到中间图像帧
进一步对反向光流组合以及中间图像帧
进行增强处理,得到中间增强图像帧
最终进行超分重构,得到中间目标图像帧
图像处理器是预先经过深度学习处理得到的,深度学习处理可以恢复图像细节,将分辨率较低且不清晰的视频恢复成分辨率较高且清晰的视频。图像处理器通过对原始帧组合进行处理,分别得到相对于原始帧组合分辨率更高的第一目标图像帧
以及第二目标图像帧
并在二者之间实现插帧,得到中间目标图像帧
根据第一目标图像帧
以及第二目标图像帧
的关系,估算图像中物体运动轨迹,然后在二者之间插入一张中间合成帧,从而提升视频帧率,让画面更流畅,运动细节展示更为清晰。图像处理器将基于深度学习的超分辨率技术与视频插帧技术结合,融合两者的优势,基于帧率以及分辨率,实现将低质量视频增强成高质量视频。
这样,经过图像处理器处理原始帧组合,得到分辨率更高并经过插帧处理的目标帧组合;在还原成高清媒体文件的过程中,无需再额外设定光流估计模型,简化了光流估计模型;且根据所述反向光流组合以及所述中间图像帧,得到中间增强图像帧,联合反向光流组中的高分辨率的特征信息以及中间图像帧中的低分辨率的特征信息,对低分辨率的中间图像帧进行增强,从而使得最终生成的中间目标图像帧
减少伪影,更为清晰。
作为第五示例,参见图8,图8示出了第一媒体文件由服务器传输至接收端的过程:
一、服务器侧:
1、获取高质量视频源(第一媒体文件)。
2、获取低质量视频源(第二媒体文件)。
通过对第一媒体文件分别进行帧率下采样、双三次线性插值降采样。得到第二媒体文件。
3、对第二媒体文件进行视频编码,编码格式包括但不限于AVC、HEVC、AV1、VPB、VP9。
4、通过信道传输视频。
二、接收端侧:
5、对第二媒体文件进行视频解码。
6、接收端使用图像处理器基于时空的视频超分技术进行视频增强,得到目标帧组合。
图像处理器根据所述原始帧组合得到反向光流组合以及中间图像帧;根据所述反向光流组合以及所述中间图像帧,得到中间增强图像帧;对所述原始帧组合以及所述中间增强图像帧进行超分重构,得到所述目标帧组合。
7、接收端的显示屏显示包括目标帧组合的高清视频。
服务器其能够将高质量视频(本申请实施例中,高质量视频为高分辨率和/或高帧率视频,例如帧率大于等于48fps),如1080p/60fps等,转换成低质量的视频(本申请实施例中,低质量视频例如低分辨率视频和/或低分辨率的视频)进行传输,从而在不改变视频编解码技术的基础上达到了降低带宽的要求。经过服务器与接收端的配合,视频能够在现有的编码框架上压缩率有明显提升,接收端可以将低质量视频采用基于时空的视频超分技术将其重构并增强为高质量的视频并播放,从而保证用户在观看视频时的高分辨率且高帧率的视频体验。
本申请实施例中,对第一媒体文件进行帧率压缩和/或分辨率压缩,得到第二媒体文件,将所述第二媒体文件发送至接收端,指示接收端获取媒体文件中的原始帧组合,并将所述原始帧组合输入至预设的图像处理器,得到目标帧组合;将基于深度学习的超分辨率技术与视频插帧技术结合,融合两者的优势,基于帧率以及分辨率,实现将低质量视频增强成高质量视频,使得经过低分辨率和/或低帧率的媒体文件在传输至用户设备侧时可以还原成高分辨率和/或高帧率的媒体文件;在保证用户设备侧的媒体文件的分辨率和/或帧率的基础之上,降低媒体文件的传输带宽压力以及传输成本需求。本申请实施例解决了现有技术中,视频数据传输过程中的传输带宽压力以及传输成本压力问题。
基于与本申请实施例所提供的图像处理方法相同的原理,本申请实施例还提供了一种图像处理装置,如图9所示,该装置包括:
原始帧获取模块901,用于获取原始帧组合;其中,所述原始帧组合包括第一图像帧和第二图像帧;
原始帧输入模块902,用于将所述原始帧组合输入至预设的图像处理器,得到目标帧组合;
在一个可选实施例中,所述根据所述原始帧组合得到反向光流组合以及中间图像帧,包括:
对所述原始帧组合进行中间流估计,得到反向光流组合;
对所述反向光流组合进行后向扭曲,得到中间图像帧。
在一个可选实施例中,所述根据所述反向光流组合以及所述中间图像帧,得到中间增强图像帧,包括:
提取所述反向光流组合的运动特征信息,以及分别确定所述原始帧组合和所述中间图像帧的图像特征信息;
根据所述运动特征信息以及图像特征信息得到中间增强图像帧。
在一个可选实施例中,所述提取所述反向光流组合的运动特征信息,包括:
将所述反向光流组合输入至运动估计器,得到所述反向光流组合的运动特征信息。
在一个可选实施例中,所述图像特征信息包括:所述原始帧组合的第一特征信息以及第二特征信息,所述中间图像帧的第三特征信息;
所述分别确定所述原始帧组合和所述中间图像帧的图像特征信息,包括:
将所述原始帧组合输入至特征提取器,得到所述第一特征信息;以及将所述中间图像帧输入至所述特征提取器,得到所述第三特征信息;
对所述原始帧组合进行插值采样处理,输入至所述特征提取器,得到第四特征信息;
对所述第四特征信息进行降采样处理,得到所述第二特征信息。
在一个可选实施例中,所述根据所述运动特征信息以及图像特征信息得到中间增强图像帧,包括:
对所述运动特征信息、所述第一特征信息以及所述第二特征信息进行预设预测处理,得到所述中间图像帧的第五特征信息;
对所述第三特征信息以及所述第五特征信息进行重构处理,得到中间增强图像帧。
在一个可选实施例中,所述装置包括:
样本获取模块,用于获取训练样本数据;所述训练样本数据中包括第一帧组合;所述第一帧组合包括第一样本帧和第二样本帧;
降采样模块,用于对所述第一帧组合进行降采样处理,得到第二帧组合;
增强模块,用于对所述第一帧组合以及所述第二帧组合分别进行数据集增强,得到增强样本数据;所述增强样本数据包括第三帧组合;
训练模块,用于根据所述第一帧组合以及所述第三帧组合,训练初始处理器,得到所述图像处理器。
在一个可选实施例中,所述训练模块包括:
输入子模块,用于将所述第三帧组合,输入至初始处理器,得到样本目标帧组合;所述样本目标帧组合包括样本中间图像帧;
确定子模块,用于根据所述第一帧组合以及所述样本目标帧组合,确定所述初始处理器的损失函数值;
优化子模块,用于根据所述损失函数值反向优化所述初始处理器,至所述损失函数值低于预设损失函数阈值,得到所述图像处理器。
在一个可选实施例中,所述确定子模块用于:
根据所述样本中间图像帧以及所述第一样本帧确定重构损失;
根据所述重构损失、感知重构损失以及泄露蒸馏损失确定所述初始处理器的损失函数值。
本申请实施例提供的图像处理装置能够实现图1至图7的方法实施例中接收端或用户设备侧实现的各个过程,为避免重复,这里不再赘述。
本申请实施例中,原始帧获取模块901获取原始帧组合,原始帧输入模块902将所述原始帧组合输入至预设的图像处理器,得到目标帧组合;所述图像处理器为根据深度学习处理得到的,所述图像处理器将基于深度学习的超分辨率技术与视频插帧技术结合,融合两者的优势,基于帧率以及分辨率,实现将低质量视频增强成高质量视频,使得经过低分辨率和/或低帧率的媒体文件在传输至用户设备侧时可以还原成高分辨率和/或高帧率的媒体文件;在保证用户设备侧的媒体文件的分辨率和/或帧率的基础之上,降低媒体文件的传输带宽压力以及传输成本需求。
基于与本申请实施例所提供的媒体文件处理方法相同的原理,本申请实施例还提供了一种媒体文件处理装置,如图10所示,该装置包括:
获取模块1001,用于获取媒体文件中的原始帧组合;其中,所述原始帧组合包括第一图像帧和第二图像帧。
输入模块1002,用于将所述原始帧组合输入至预设的图像处理器,得到目标帧组合;
本申请实施例提供的媒体文件处理装置能够实现图1至图7的方法实施例中接收端或用户设备侧实现的各个过程,为避免重复,这里不再赘述。
本申请实施例中,获取模块1001获取媒体文件中的原始帧组合,输入模块1002将所述原始帧组合输入至预设的图像处理器,得到目标帧组合;所述图像处理器为根据深度学习处理得到的,所述图像处理器将基于深度学习的超分辨率技术与视频插帧技术结合,融合两者的优势,基于帧率以及分辨率,实现将低质量视频增强成高质量视频,使得经过低分辨率和/或低帧率的媒体文件在传输至用户设备侧时可以还原成高分辨率和/或高帧率的媒体文件;在保证用户设备侧的媒体文件的分辨率和/或帧率的基础之上,降低媒体文件的传输带宽压力以及传输成本需求。
基于与本申请实施例所提供的媒体文件处理方法相同的原理,本申请实施例还提供了一种媒体文件处理装置,所述装置可应用于服务器或其他向接收端发送媒体文件的设备,为了便于描述,后续以所述装置应用于服务器为例说明。
如图11所示,该装置包括:
压缩模块1101,用于对第一媒体文件进行帧率压缩和/或分辨率压缩,得到第二媒体文件。
发送模块1102,用于将所述第二媒体文件发送至接收端,指示接收端获取媒体文件中的原始帧组合,并将所述原始帧组合输入至预设的图像处理器,得到目标帧组合;
其中,所述原始帧组合包括第一图像帧和第二图像帧;
所述目标帧组合包括:与所述第一图像帧对应的第一目标图像帧,与所述第二图像帧对应的第二目标图像帧,时序位于所述第一目标图像帧以及所述第二目标图像帧之间的中间目标图像帧。
本申请实施例提供的媒体文件处理装置能够实现图1至图7的方法实施例中服务器侧实现的各个过程,为避免重复,这里不再赘述。
本申请实施例中,压缩模块1101对第一媒体文件进行帧率压缩和/或分辨率压缩,得到第二媒体文件,发送模块1102将所述第二媒体文件发送至接收端,指示接收端获取媒体文件中的原始帧组合,并将所述原始帧组合输入至预设的图像处理器,得到目标帧组合。
本申请实施例的图像处理装置可执行本申请实施例所提供的图像处理方法,媒体文件处理装置可执行本申请实施例所提供的媒体文件处理方法,其实现原理相类似,本申请各实施例中的装置中的各模块、单元所执行的动作是与本申请各实施例中的方法中的步骤相对应的,对于装置的各模块的详细功能描述具体可以参见前文中所示的对应的方法中的描述,此处不再赘述。
基于与本申请的实施例中所示的方法相同的原理,本申请实施例还提供了一种电子设备,该电子设备可以包括但不限于:处理器和存储器;存储器,用于存储计算机程序;处理器,用于通过调用计算机程序执行本申请任一可选实施例所示的图像处理方法以及媒体文件处理方法。
在一个可选实施例中,还提供了一种电子设备,如图12所示,图12所示的电子设备12000可以为服务器,包括:处理器12001和存储器12003。其中,处理器12001和存储器12003相连,如通过总线12002相连。可选地,电子设备12000还可以包括收发器12004。需要说明的是,实际应用中收发器12004不限于一个,该电子设备12000的结构并不构成对本申请实施例的限定。
处理器12001可以是CPU(Central Processing Unit,中央处理器),通用处理器,DSP(Digital Signal Processor,数据信号处理器),ASIC(Application SpecificIntegrated Circuit,专用集成电路),FPGA(Field Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器12001也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
总线12002可包括一通路,在上述组件之间传送信息。总线12002可以是PCI(Peripheral Component Interconnect,外设部件互连标准)总线或EISA(ExtendedIndustry Standard Architecture,扩展工业标准结构)总线等。总线12002可以分为地址总线、数据总线、控制总线等。为便于表示,图11中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器12003可以是ROM(Read Only Memory,只读存储器)或可存储静态信息和指令的其他类型的静态存储设备,RAM(Random Access Memory,随机存取存储器)或者可存储信息和指令的其他类型的动态存储设备,也可以是EEPROM(Electrically ErasableProgrammable Read Only Memory,电可擦可编程只读存储器)、CD-ROM(Compact DiscRead Only Memory,只读光盘)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
存储器12003用于存储执行本申请方案的应用程序代码,并由处理器12001来控制执行。处理器12001用于执行存储器12003中存储的应用程序代码,以实现前述方法实施例所示的内容。
其中,电子设备包括但不限于:移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。图11示出的电子设备仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
本申请提供的服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,当其在计算机上运行时,使得计算机可以执行前述方法实施例中相应内容。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
需要说明的是,本申请上述的计算机可读存储介质还可以是计算机可读信号介质或者计算机可读存储介质与计算机可读存储介质的组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备执行上述实施例所示的方法。
根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各种可选实现方式中提供的方法。
可以以一种或多种程序设计语言或其组合来编写用于执行本申请的操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,模块的名称在某种情况下并不构成对该模块本身的限定,例如,A模块还可以被描述为“用于执行B操作的A模块”。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。