欢迎光临小豌豆知识网!
当前位置:首页 > 电学技术 > 电通讯技术> 视频处理方法、视频处理装置及终端设备独创技术40497字

视频处理方法、视频处理装置及终端设备

2021-02-04 15:31:27

视频处理方法、视频处理装置及终端设备

  技术领域

  本申请属于视频处理技术领域,尤其涉及一种视频处理方法、视频处理装置、终端设备及计算机可读存储介质。

  背景技术

  视频是一个非常重要的信息载体,利用人眼视觉暂留的原理,通过播放一系列的图片,使人眼产生运动的感觉。然而原始视频所占空间较大,不利于存储或传输,视频应用的一项关键技术就是视频压缩,通过视频压缩可以减小视频的大小,使视频占用较少存储空间。传统的视频编解码模块众多,需要依赖大量的含有经验的人工设计与人工优化,编码过程较为繁琐,编码效果较差。

  发明内容

  有鉴于此,本申请实施例提供了一种视频处理方法、视频处理装置、终端设备及计算机可读存储介质,以解决现有技术中视频编码过程较为繁琐,编码效果较差的问题。

  本申请实施例的第一方面提供了一种视频处理方法,所述视频处理方法包括:

  获取待处理视频;

  将所述待处理视频分解成多个视频片段,其中,每个视频片段包括一个I帧和多个R帧,I帧为所述每个视频片段中的关键帧,R帧为所述每个视频片段中除I帧之外的帧;

  通过基于深度学习的第一编码模型对所述每个视频片段中的I帧进行编码;

  获取所述每个视频片段中每层插值的R帧和所述每个视频片段中每层插值的R帧的上下文帧;

  根据所述每个视频片段中每层插值的R帧的上下文帧和基于深度学习的第二编码模型,对所述每个视频片段中每层插值的R帧进行编码。

  本申请实施例的第二方面提供了一种视频处理装置,所述视频处理装置包括:

  视频获取模块,用于获取待处理视频;

  视频分解模块,用于将所述待处理视频分解成多个视频片段,其中,每个视频片段包括一个I帧和多个R帧,I帧为所述每个视频片段中的关键帧,R帧为所述每个视频片段中除I帧之外的帧;

  I帧编码模块,用于通过基于深度学习的第一编码模型对所述每个视频片段中的I帧进行编码;

  插值帧获取模块,用于获取所述每个视频片段中每层插值的R帧和所述每个视频片段中每层插值的R帧的上下文帧;

  R帧编码模块,用于根据所述每个视频片段中每层插值的R帧的上下文帧和基于深度学习的第二编码模型,对所述每个视频片段中每层插值的R帧进行编码。

  本申请实施例的第三方面提供了一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述第一方面所述视频处理方法的步骤。

  本申请实施例的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上述第一方面所述视频处理方法的步骤。

  本申请的第五方面提供了一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被一个或多个处理器执行时实现如上述第一方面所述视频处理方法的步骤。

  由上可见,本申请方案获取到待处理视频之后,先将待处理视频分解成多个视频片段,再通过基于深度学习的第一编码模型对每个视频片段中的I帧进行编码,通过基于深度学习的分层插值算法对每个视频片段中每层插值的R帧进行编码,在对每个视频片段中I帧和R帧进行编码时,无需人工参与,简化了视频编码过程,提升了视频编码效果。

  附图说明

  为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

  图1是本申请实施例一提供的视频处理方法的实现流程示意图;

  图2是分层插值的示例图;

  图3是上下文模型的结构示例图;

  图4是本申请实施例二提供的视频处理方法的实现流程示意图;

  图5是本申请实施例三提供的视频处理装置的示意图;

  图6是本申请实施例四提供的终端设备的示意图。

  具体实施方式

  以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。

  应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。

  还应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。

  具体实现中,本申请实施例中描述的终端设备包括但不限于诸如具有触摸敏感表面(例如,触摸屏显示器和/或触摸板)的移动电话、膝上型计算机或平板计算机之类的其它便携式设备。还应当理解的是,在某些实施例中,所述设备并非便携式通信设备,而是具有触摸敏感表面(例如,触摸屏显示器和/或触摸板)的台式计算机。

  在接下来的讨论中,描述了包括显示器和触摸敏感表面的终端设备。然而,应当理解的是,终端设备可以包括诸如物理键盘、鼠标和/或控制杆的一个或多个其它物理用户接口设备。

  终端设备支持各种应用程序,例如以下中的一个或多个:绘图应用程序、演示应用程序、文字处理应用程序、网站创建应用程序、盘刻录应用程序、电子表格应用程序、游戏应用程序、电话应用程序、视频会议应用程序、电子邮件应用程序、即时消息收发应用程序、锻炼支持应用程序、照片管理应用程序、数码相机应用程序、数字摄影机应用程序、web浏览应用程序、数字音乐播放器应用程序和/或数字视频播放器应用程序。

  可以在终端设备上执行的各种应用程序可以使用诸如触摸敏感表面的至少一个公共物理用户接口设备。可以在应用程序之间和/或相应应用程序内调整和/或改变触摸敏感表面的一个或多个功能以及终端上显示的相应信息。这样,终端的公共物理架构(例如,触摸敏感表面)可以支持具有对用户而言直观且透明的用户界面的各种应用程序。

  应理解,本实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。

  为了说明本申请所述的技术方案,下面通过具体实施例来进行说明。

  参见图1,是本申请实施例一提供的视频处理方法的实现流程示意图,如图所示该视频处理方法可以包括以下步骤:

  步骤S101,获取待处理视频。

  步骤S102,将所述待处理视频分解成多个视频片段。

  其中,每个视频片段包括一个I帧和多个R帧,I帧为所述每个视频片段中的关键帧,R帧为所述每个视频片段中除I帧之外的帧。

  在本申请实施例中,可以将待处理视频分解成一个个视频片段(Group OfPicture,GOP),每个视频片段可以包含预设数量的视频帧,每个视频片段的第一帧为所述每个视频片段的I帧,其余的帧为所述每个视频片段的R帧。其中,每个视频片段表示一组连续的画面,一个视频片段通常是由I帧开始,到下一个I帧之前的帧结束。每帧代表一幅静止的画面,I帧表示关键帧,I帧的画面保留完整,对I帧进行解码时只需I帧自身的数据就可完成解码,而无需其他帧的数据。用户可以根据实际需要自行设定预设数量,在此不作限定。例如,预设数量为12,每个视频片段包括12个视频帧,第一个帧为I帧,剩余11个帧为R帧。

  步骤S103,通过基于深度学习的第一编码模型对所述每个视频片段中的I帧进行编码。

  在本申请实施例中,所述第一编码模型可以是任意一种视频压缩技术,例如基于卷积神经网络的多尺度神经网络。

  步骤S104,获取所述每个视频片段中每层插值的R帧和所述每个视频片段中每层插值的R帧的上下文帧。

  在本申请实施例中,每个视频片段中的R帧通过多层插值(例如三层插值)进行编码,针对每个视频片段可以获取多层插值中每层插值的R帧和该R帧的上文帧和下文帧。

  可选的,所述每个视频片段包括N层插值,N为大于1的整数,所述N层插值包括首层插值和非首层插值,针对所述首层插值,所述获取所述每个视频片段中每层插值的R帧和所述每个视频片段中每层插值的R帧的上下文帧包括:

  根据当前视频片段的I帧和下一个视频片段的I帧,获取所述当前视频片段中所述首层插值的R帧,其中,所述当前视频片段的I帧和所述下一个视频片段的I帧为所述当前视频片段中所述首层插值的R帧的上下文帧;

  针对所述非首层插值中的第M层插值,所述第M层插值为所述非首层插值中的任意一层插值,所述获取所述每个视频片段中每层插值的R帧和所述每个视频片段中每层插值的R帧的上下文帧包括:

  根据所述当前视频片段中前M-1层插值分别对应的R帧、所述当前视频片段的I帧和所述下一个视频片段的I帧,获取所述当前视频片段中所述第M层插值的R帧,其中,所述当前视频片段中前M-1层插值的R帧、所述当前视频片段的I帧和所述下一个视频片段的I帧为所述当前视频片段中所述第M层插值的R帧的上下文帧,M为大于1且小于或等于N的整数。

  其中,对于首层插值(即第一层插值),当前视频片段中排列在当前视频片段的I帧与下一个视频片段的I帧之间的中间位置的R帧为首层插值的R帧,排列在首层插值的R帧之前的当前视频片段的I帧为首层插值的R帧的上文帧,排列在首层插值的R帧之后的下一个视频片段的I帧为首层插值的R帧的下文帧。

  对于非首层插值的任意一层插值,例如第M层插值,可以将当前视频片段中前M-1层插值分别对应的R帧、当前视频片段的I帧和下一个视频片段的I帧均作为第M层插值的参考帧,参考帧数量通常至少为三个,根据任意两个相邻参考帧均可获取第M层插值的一个或两个R帧(两个相邻参考帧之间帧数量为奇数时,根据两个相邻参考帧可获取第M层插值的一个R帧;两个相邻参考帧之间帧数量为偶数时,根据两个相邻参考帧可获取第M层插值的两个R帧)。其中,前M-1层插值是指首层插值至第M-1层插值,例如在获取第三层插值的R帧时,使用第一层插值的R帧和第二层插值的R帧。

  具体的,排列在任意两个相邻参考帧之间的中间位置的R帧为第M层插值的R帧,任意两个相邻参考帧中排列在第M层插值的R帧之前的参考帧为第M层插值的R帧的上文帧,排列在第M层插值的R帧之后的参考帧为第M层插值的R帧的下文帧。例如,对于任意两个相邻参考帧P和Q,且参考帧P排列在参考帧Q之前,排列在参考帧P和Q之间的中间位置的R帧为第M层插值的R帧,参考帧P为该R帧的上文帧,参考帧Q为该R帧的下文帧。

  如图2所示是分层插值的示例图,一个视频片段包括一个I帧和11个R帧,图2中的两个I帧分别是当前视频片段的I帧和下一个视频片段的I帧,编号2至12为当前视频片段中的11个R帧,在第一层插值中,插值编码当前视频片段中编号为7的R帧,编号为7的R帧的上文帧为当前视频片段的I帧、下文帧为下一个视频片段的I帧;在第二层插值中,分别插值编码当前视频片段中编号为4、10的R帧,编号为4的R帧的上文帧为当前视频片段的I帧、下文帧为编号为7的R帧,编号为10的R帧的上文帧为编号为7的R帧、下文帧为下一视频片段的I帧;在第三层插值中,分别插值编码当前视频片段中编号为2、3、4、5、8、9、11、12的R帧,编号为2和3的R帧的上文帧均为当前视频片段的I帧、下文帧为编号均为4的R帧,编号为4和5的R帧的上文帧均为编号为4的R帧、下文帧均为编号为7的R帧,编号为8和9的R帧的上文帧均为编号为7的R帧、下文帧均为编号为10的R帧,编号为11和12的R帧的上文帧均为编号为10的R帧、下文帧均为下一个视频片段的I帧。

  步骤S105,根据所述每个视频片段中每层插值的R帧的上下文帧和基于深度学习的第二编码模型,对所述每个视频片段中每层插值的R帧进行编码。

  其中,基于深度学习的第二编码模型包括但不限于卷积长短时记忆网络模型,其不仅具有长短时记忆网络(Long Short Term Memory Network,LSTM)的时序建模能力,还能像卷积神经网络一样刻画局部特征,即具备时空特性。

  可选的,所述根据所述每个视频片段中每层插值的R帧的上下文帧和基于深度学习的第二编码模型,对所述每个视频片段中每层插值的R帧进行编码包括:

  将所述每个视频片段中每层插值的R帧的上下文帧输入至基于深度学习的上下文模型,输出所述每个视频片段中每层插值的R帧的上下文帧的上下文特征;

  将所述每个视频片段中每层插值的R帧输入至所述第二编码模型,并将所述每个视频片段中每层插值的R帧的上下文帧的上下文特征与所述第二编码模型的指定网络层进行融合,以对所述每个视频片段中每层插值的R帧进行编码。

  在本申请实施例中,上下文模型的网络结构可以采用Unet网络,Unet网络是卷积神经网络的一种变形,由于结构形似字母U,因而得名Unet网络。Unet网络的上采样部分可以采用pixel_shuffle和一个1*1卷积,采用pixel_shuffle可以扩大特征分辨率,采用1*1卷积可以扩大特征通道数。上下文模型对上文帧和下文帧进行特征提取,此模型抽象的特征即为上下文特征。如图3所示是上下文模型的结构示例图,采用四个下采样层以及三个上采样层,网络的output1、output2、output3分别为上下文模型的三个输出。为了将上下文帧的信息加入到编码器(即第二编码模型)中,可以将上下文模型提取的特征融合到第二编码模型的网络层中,多层插值编码时的区别主要在于第二编码模型在不同的网络层融合上下文特征,即不同的层的R帧其对应的第二编码模型中的指定网络层不同。

  可选的,本申请实施例还包括:

  获取所述每个视频片段中每层插值的R帧与所述每个视频片段中每层插值的R帧的上下文帧的运动估计信息;

  根据所述每个视频片段中每层插值的R帧与所述每个视频片段中每层插值的R帧的上下文帧的运动估计信息,对所述每个视频片段中每层插值的R帧的上下文帧的上下文特征进行映射;

  相应的,所述将所述每个视频片段中每层插值的R帧的上下文帧的上下文特征与所述第二编码模型的指定网络层进行融合包括:

  将映射后的所述每个视频片段中每层插值的R帧的上下文特征与所述第二编码模型的指定网络层进行融合。

  在本申请实施例中,可以采用PWC-Net网络获取每层插值的R帧与其上下文帧之间的运动估计信息,利用该运动估计信息对上下文特征进行映射,可以达到运动补偿的目的。另外,在对上下文模型训练阶段,可以采用与每层插值的R帧坐标对应的运动信息对上下文特征进行映射,在使用上下文模型时,可以将上下文模型中每个上采样层获取的特征经过映射操作后,用于后续与编解码模型中的特征图融合。其中,PWC-Net网络是一种紧凑而有效的光流估计卷积神经网络模型,其遵循了简单明了的原则:图像金字塔、卷绕、以及本量的使用。

  本申请实施例获取到待处理视频之后,先将待处理视频分解成多个视频片段,再通过基于深度学习的第一编码模型对每个视频片段中的I帧进行编码,通过基于深度学习的分层插值算法对每个视频片段中每层插值的R帧进行编码,在对每个视频片段中I帧和R帧进行编码时,无需人工参与,简化了视频编码过程,提升了视频编码效果。

  参见图4,是本申请实施例二提供的视频处理方法的实现流程示意图,如图所示该视频处理方法可以包括以下步骤:

  步骤S401,获取待处理视频。

  该步骤与步骤S101相同,具体可参见步骤S101的相关描述,在此不再赘述。

  步骤S402,将所述待处理视频分解成多个视频片段。

  其中,每个视频片段包括一个I帧和多个R帧,I帧为所述每个视频片段中的关键帧,R帧为所述每个视频片段中除I帧之外的帧。

  该步骤与步骤S102相同,具体可参见步骤S102的相关描述,在此不再赘述。

  步骤S403,通过基于深度学习的第一编码模型对所述每个视频片段中的I帧进行编码。

  该步骤与步骤S103相同,具体可参见步骤S103的相关描述,在此不再赘述。

  步骤S404,获取所述每个视频片段中每层插值的R帧和所述每个视频片段中每层插值的R帧的上下文帧。

  该步骤与步骤S104相同,具体可参见步骤S104的相关描述,在此不再赘述。

  步骤S405,根据所述每个视频片段中每层插值的R帧的上下文帧和基于深度学习的第二编码模型,对所述每个视频片段中每层插值的R帧进行编码。

  该步骤与步骤S105相同,具体可参见步骤S105的相关描述,在此不再赘述。

  可选的,在对所述每个视频片段中的I帧和每层插值的R帧进行编码之后,还包括:

  对所述每个视频片段中编码后的I帧和编码后的每层插值的R帧进行量化操作;

  对所述每个视频片段中量化后的I帧和量化后的每层插值的R帧进行熵编解码。

  在本申请实施例中,量化操作可以是基于深度学习的量化编码,该量化操作可以采用一个1*1的卷积网络和一个符号函数,将第一编码模型和第二编码模型的信息量化为-1和1,从而减小信息冗余。熵编码可以是基于深度学习的熵编码,主要是进一步对量化后的I帧和R帧的信息进行压缩,熵编码是一种无损压缩,首先利用PixelCNN网络对量化后的二进制数进行概率估计,然后利用算术编码进行编码。对于损失函数,可以采用L1损失函数与MS-SSIM损失函数的组合,即loss=lossL1*α+lossMS-SSIM*(1-α),其中,loss为熵编码的损失函数,lossL1为L1损失函数,lossMS-SSIM为MS-SSIM损失函数,α为的融合系数,取值为0至1,例如,α=0.2。

  步骤S406,通过基于深度学习的第一解码模型对所述每个视频片段中编码后的I帧进行解码。

  在本申请实施例中,所述第一解码模型可以是任意一种视频解码技术,例如基于卷积神经网络的多尺度神经网络。

  步骤S407,根据所述每个视频片段中每层插值的R帧的上下文帧和基于深度学习的第二解码模型,对所述每个视频片段中编码后的每层插值的R帧进行解码。

  其中,基于深度学习的第二解码模型包括但不限于卷积长短时记忆网络模型。

  在本申请实施例中,将每个视频片段中编码后的每层插值的R帧输入至第二解码模型,并将每层插值的R帧的上下文帧的上下文特征与第二解码模型的指定网络层进行融合,以对编码后的每层插值的R帧进行解码。其中,在解码阶段,可以选定不同的重构次数进行解码。

  为了将上下文帧的信息加入到解码器(即第二解码模型)中,可以将上下文模型提取的特征融合到第二解码模型的网络层中,多层插值解码时的区别主要在于第二解码模型在不同的网络层融合上下文特征,即不同的层的R帧其对应的第二解码模型中的指定网络层不同。

  需要说明的是,为了便于第二编码模型和第二解码模型比较每层插值的R帧与该R帧的上下文帧,可以将该R帧与该R帧的上下文帧在通道级别进行融合,形成多通道(例如9通道)的图像送入到第二编码模型和第二解码模型中。

  以第一层插值的R帧为例,表1为第二编码模型和量化模型,表2为第二解码模型,表1、2中的B、C、H、W分别表示批尺寸(即batchSize)、通道、高、宽,表1、2给出了第一层插值的操作;第二层插值在编码阶段rnn2层融合图3中的output2,解码阶段rnn3层融合output2;第三层插值在编码阶段rnn3融合output1,解码阶段rnn2融合output1,其余操作与第一层插值一样。

  表1第二编码模型和量化模型

  

  表2第二解码模型

  

  

  可选的,在将所述待处理视频分解成多个视频片段之后,还包括:

  将每个视频片段中的每个帧分成多个图像块;

  在对所述每个视频片段中的I帧和每层插值的R帧进行解码之后,还包括:

  将所述每个视频片段中解码后的I帧和解码后的每层插值的R帧进行图像块合并。

  在本申请实施例中,为了减少一张图片(即一个帧)编解码时占用的算力资源,可以将每个帧分成多个预设尺寸的图像块,同时,为了削弱后续卷积时padding操作带来的边界影响,将每个图像块的边界扩充N个像素,在解码后再将图像块进行合并。其中,N为大于1的整数,例如16。用户可以根据实际需要自行设定预设尺寸,在此不作限定,例如预设尺寸为352*288。

  本申请实施例在对每个视频片段中每层插值的R帧进行编解码操作时,均基于深度学习网络,可以对各个深度学习网络进行联合训练,无需过多的人为设计与优化,简化了视频编解码过程,提升了视频编解码效果,节约了视频传输带宽。

  参见图5,是本申请实施例三提供的视频处理装置的示意图,为了便于说明,仅示出了与本申请实施例相关的部分。

  所述视频处理装置包括:

  视频获取模块51,用于获取待处理视频;

  视频分解模块52,用于将所述待处理视频分解成多个视频片段,其中,每个视频片段包括一个I帧和多个R帧,I帧为所述每个视频片段中的关键帧,R帧为所述每个视频片段中除I帧之外的帧;

  I帧编码模块53,用于通过基于深度学习的第一编码模型对所述每个视频片段中的I帧进行编码;

  插值帧获取模块54,用于获取所述每个视频片段中每层插值的R帧和所述每个视频片段中每层插值的R帧的上下文帧;

  R帧编码模块55,用于根据所述每个视频片段中每层插值的R帧的上下文帧和基于深度学习的第二编码模型,对所述每个视频片段中每层插值的R帧进行编码。

  可选的,所述每个视频片段包括N层插值,N为大于1的整数,所述N层插值包括首层插值和非首层插值,所述插值帧获取模块54包括:

  第一获取单元,用于针对所述首层插值,根据当前视频片段的I帧和下一个视频片段的I帧,获取所述当前视频片段中所述首层插值的R帧,其中,所述当前视频片段的I帧和所述下一个视频片段的I帧为所述当前视频片段中所述首层插值的R帧的上下文帧;

  第二获取单元,用于针对所述非首层插值中的第M层插值,所述第M层插值为所述非首层插值中的任意一层插值,根据所述当前视频片段中前M-1层插值分别对应的R帧、所述当前视频片段的I帧和所述下一个视频片段的I帧,获取所述当前视频片段中所述第M层插值的R帧,其中,所述当前视频片段中前M-1层插值的R帧、所述当前视频片段的I帧和所述下一个视频片段的I帧为所述当前视频片段中所述第M层插值的R帧的上下文帧,M为大于1且小于或等于N的整数。

  可选的,所述R帧编码模块55包括:

  特征输出单元,用于将所述每个视频片段中每层插值的R帧的上下文帧输入至基于深度学习的上下文模型,输出所述每个视频片段中每层插值的R帧的上下文帧的上下文特征;

  处理单元,用于将所述每个视频片段中每层插值的R帧输入至所述第二编码模型,并将所述每个视频片段中每层插值的R帧的上下文帧的上下文特征与所述第二编码模型的指定网络层进行融合,以对所述每个视频片段中每层插值的R帧进行编码。

  可选的,所述视频处理装置还包括:

  信息获取模块,用于获取所述每个视频片段中每层插值的R帧与所述每个视频片段中每层插值的R帧的上下文帧的运动估计信息;

  特征映射模块,用于根据所述每个视频片段中每层插值的R帧与所述每个视频片段中每层插值的R帧的上下文帧的运动估计信息,对所述每个视频片段中每层插值的R帧的上下文帧的上下文特征进行映射;

  相应的,所述处理单元具体用于:

  将映射后的所述每个视频片段中每层插值的R帧的上下文特征与所述第二编码模型的指定网络层进行融合。

  可选的,所述视频处理装置还包括:

  I帧解码模块,用于通过基于深度学习的第一解码模型对所述每个视频片段中编码后的I帧进行解码;

  R帧解码模块,用于根据所述每个视频片段中每层插值的R帧的上下文帧和基于深度学习的第二解码模型,对所述每个视频片段中编码后的每层插值的R帧进行解码。

  可选的,所述视频处理装置还包括:

  图像块分成模块,用于将每个视频片段中的每个帧分成多个图像块;

  图像块合并模块,用于将所述每个视频片段中解码后的I帧和解码后的每层插值的R帧进行图像块合并。

  可选的,所述视频处理装置还包括:

  量化模块,用于对所述每个视频片段中编码后的I帧和编码后的每层插值的R帧进行量化操作;

  熵编解码模块,用于对所述每个视频片段中量化后的I帧和量化后的每层插值的R帧进行熵编解码。

  本申请实施例提供的装置可以应用在前述方法实施例一和实施例二中,详情参见上述方法实施例一和实施例二的描述,在此不再赘述。

  图6是本申请实施例四提供的终端设备的示意图。如图6所示,该实施例的终端设备6包括:处理器60、存储器61以及存储在所述存储器61中并可在所述处理器60上运行的计算机程序62。所述处理器60执行所述计算机程序62时实现上述各个视频处理方法实施例中的步骤。或者,所述处理器60执行所述计算机程序62时实现上述各装置实施例中各模块/单元的功能。

  示例性的,所述计算机程序62可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器61中,并由所述处理器60执行,以完成本申请。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序62在所述终端设备6中的执行过程。例如,所述计算机程序62可以被分割成视频获取模块、视频分解模块、I帧编码模块、插值帧获取模块、R帧编码模块、信息获取模块、特征映射模块、I帧解码模块、R帧解码模块、图像块分成模块、图像块合并模块、量化模块以及熵编解码模块,各模块具体功能如下:

  视频获取模块,用于获取待处理视频;

  视频分解模块,用于将所述待处理视频分解成多个视频片段,其中,每个视频片段包括一个I帧和多个R帧,I帧为所述每个视频片段中的关键帧,R帧为所述每个视频片段中除I帧之外的帧;

  I帧编码模块,用于通过基于深度学习的第一编码模型对所述每个视频片段中的I帧进行编码;

  插值帧获取模块,用于获取所述每个视频片段中每层插值的R帧和所述每个视频片段中每层插值的R帧的上下文帧;

  R帧编码模块,用于根据所述每个视频片段中每层插值的R帧的上下文帧和基于深度学习的第二编码模型,对所述每个视频片段中每层插值的R帧进行编码。

  可选的,所述每个视频片段包括N层插值,N为大于1的整数,所述N层插值包括首层插值和非首层插值,所述插值帧获取模块包括:

  第一获取单元,用于针对所述首层插值,根据当前视频片段的I帧和下一个视频片段的I帧,获取所述当前视频片段中所述首层插值的R帧,其中,所述当前视频片段的I帧和所述下一个视频片段的I帧为所述当前视频片段中所述首层插值的R帧的上下文帧;

  第二获取单元,用于针对所述非首层插值中的第M层插值,所述第M层插值为所述非首层插值中的任意一层插值,根据所述当前视频片段中前M-1层插值分别对应的R帧、所述当前视频片段的I帧和所述下一个视频片段的I帧,获取所述当前视频片段中所述第M层插值的R帧,其中,所述当前视频片段中前M-1层插值的R帧、所述当前视频片段的I帧和所述下一个视频片段的I帧为所述当前视频片段中所述第M层插值的R帧的上下文帧,M为大于1且小于或等于N的整数。

  可选的,所述R帧编码模块包括:

  特征输出单元,用于将所述每个视频片段中每层插值的R帧的上下文帧输入至基于深度学习的上下文模型,输出所述每个视频片段中每层插值的R帧的上下文帧的上下文特征;

  处理单元,用于将所述每个视频片段中每层插值的R帧输入至所述第二编码模型,并将所述每个视频片段中每层插值的R帧的上下文帧的上下文特征与所述第二编码模型的指定网络层进行融合,以对所述每个视频片段中每层插值的R帧进行编码。

  可选的,信息获取模块,用于获取所述每个视频片段中每层插值的R帧与所述每个视频片段中每层插值的R帧的上下文帧的运动估计信息;

  特征映射模块,用于根据所述每个视频片段中每层插值的R帧与所述每个视频片段中每层插值的R帧的上下文帧的运动估计信息,对所述每个视频片段中每层插值的R帧的上下文帧的上下文特征进行映射;

  相应的,所述处理单元具体用于:

  将映射后的所述每个视频片段中每层插值的R帧的上下文特征与所述第二编码模型的指定网络层进行融合。

  可选的,I帧解码模块,用于通过基于深度学习的第一解码模型对所述每个视频片段中编码后的I帧进行解码;

  R帧解码模块,用于根据所述每个视频片段中每层插值的R帧的上下文帧和基于深度学习的第二解码模型,对所述每个视频片段中编码后的每层插值的R帧进行解码。

  可选的,图像块分成模块,用于将每个视频片段中的每个帧分成多个图像块;

  图像块合并模块,用于将所述每个视频片段中解码后的I帧和解码后的每层插值的R帧进行图像块合并。

  可选的,量化模块,用于对所述每个视频片段中编码后的I帧和编码后的每层插值的R帧进行量化操作;

  熵编解码模块,用于对所述每个视频片段中量化后的I帧和量化后的每层插值的R帧进行熵编解码。

  所述终端设备6可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述终端设备可包括,但不仅限于,处理器60、存储器61。本领域技术人员可以理解,图6仅仅是终端设备6的示例,并不构成对终端设备6的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述终端设备还可以包括输入输出设备、网络接入设备、总线等。

  所称处理器60可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

  所述存储器61可以是所述终端设备6的内部存储单元,例如终端设备6的硬盘或内存。所述存储器61也可以是所述终端设备6的外部存储设备,例如所述终端设备6上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器61还可以既包括所述终端设备6的内部存储单元也包括外部存储设备。所述存储器61用于存储所述计算机程序以及所述终端设备所需的其他程序和数据。所述存储器61还可以用于暂时地存储已经输出或者将要输出的数据。

  所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

  在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。

  本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

  在本申请所提供的实施例中,应该理解到,所揭露的装置/终端设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/终端设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。

  所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

  另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

  所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。

  以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。

《视频处理方法、视频处理装置及终端设备.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式(或pdf格式)