发明内容
本申请实施例提供了一种视频处理方法、装置、电子设备及计算机可读存储介质,可以解决现有技术中视频存储空间的有效利用率不高的问题。所述技术方案如下:
根据本申请实施例的一个方面,提供了一种视频处理方法,该方法包括:
获取待处理的视频数据,从视频数据中获取至少一个图像集;图像集包括至少两个连续帧图像;
从连续帧图像中确定关键编码帧,并确定关键编码帧的场景类别;
基于场景类别,确定视频数据的剪辑点;
根据剪辑点,对视频数据进行剪辑。
可选的,上述从连续帧图像中确定关键编码帧,并确定关键编码帧的场景类别,包括:
将连续帧图像中的起始帧设为关键编码帧;
基于预训练的目标识别器对关键编码帧进行识别,得到关键编码帧的场景类别。
可选的,上述目标识别器是基于如下方式训练得到的:
获取预设训练集;其中,训练集包括帧图像样本和帧图像样本对应的场景类别样本;
将训练集输入预设的初始识别器,得到帧图像样本对应的类别标签;
基于场景类别样本和类别标签的差值确定损失函数;
基于损失函数对初始识别器的参数进行调整,直至损失函数符合预设收敛条件,得到目标识别器。
可选的,上述剪辑点包括起始剪辑点和终止剪辑点;
基于场景类别,确定视频数据的剪辑点,包括:
接收待删除的目标场景类别;
将场景类别为目标场景类别的关键编码帧,作为目标帧;
将时序最小的目标帧作为起始剪辑点;
根据时序最大的目标帧确定终止剪辑点。
可选的,上述根据时序最大的目标帧确定终止剪辑点,包括:
将时序最大的目标帧作为定位帧;
确定定位帧对应的目标图像集;
将目标图像集中的结束帧作为终止剪辑点。
可选的,上述根据剪辑点,对视频数据进行剪辑,包括:
将视频数据分解为对应的图像数据和音频数据;
基于剪辑点分别对图像数据和音频数据进行剪辑,得到目标图像数据和目标音频数据;
对目标图像数据和目标音频数据进行封装,生成目标视频数据。
可选的,上述基于剪辑点分别对图像数据和音频数据进行剪辑,包括:
将起始剪辑点与终止剪辑点之间的图像序列作为待删除图像序列,从图像数据中删除待删除图像序列,得到目标图像数据;
将起始剪辑点与终止剪辑点之间的音频序列作为待删除音频序列,从音频数据中删除待删除音频序列,得到目标音频数据。
根据本申请实施例的另一个方面,提供了一种视频处理装置,该装置包括:
获取模块,用于获取待处理的视频数据,从视频数据中获取至少一个图像集;图像集包括至少两个连续帧图像;
第一确定模块,用于从连续帧图像中确定关键编码帧,并确定关键编码帧的场景类别;
第二确定模块,用于基于场景类别,确定视频数据的剪辑点;
剪辑模块,用于根据剪辑点,对视频数据进行剪辑。
可选的,上述第一确定模块,用于:
将连续帧图像中的起始帧设为关键编码帧;
基于预训练的目标识别器对关键编码帧进行识别,得到关键编码帧的场景类别。
可选的,上述目标识别器是基于如下方式训练得到的:
获取预设训练集;其中,训练集包括帧图像样本和帧图像样本对应的场景类别样本;
将训练集输入预设的初始识别器,得到帧图像样本对应的类别标签;
基于场景类别样本和类别标签的差值确定损失函数;
基于损失函数对初始识别器的参数进行调整,直至损失函数符合预设收敛条件,得到目标识别器。
可选的,上述剪辑点包括起始剪辑点和终止剪辑点;上述第二确定模块,用于:
接收待删除的目标场景类别;
将场景类别为目标场景类别的关键编码帧,作为目标帧;
将时序最小的目标帧作为起始剪辑点;
根据时序最大的目标帧确定终止剪辑点。
可选的,上述第二确定模块,还用于:
将时序最大的目标帧作为定位帧;
确定定位帧对应的目标图像集;
将目标图像集中的结束帧作为终止剪辑点。
可选的,上述剪辑模块,用于:
将视频数据分解为对应的图像数据和音频数据;
基于剪辑点分别对图像数据和音频数据进行剪辑,得到目标图像数据和目标音频数据;
对目标图像数据和目标音频数据进行封装,生成目标视频数据。
可选的,上述剪辑模块,还用于:
将起始剪辑点与终止剪辑点之间的图像序列作为待删除图像序列,从图像数据中删除待删除图像序列,得到目标图像数据;
将起始剪辑点与终止剪辑点之间的音频序列作为待删除音频序列,从音频数据中删除待删除音频序列,得到目标音频数据。
根据本申请实施例的另一个方面,提供了一种电子设备,该电子设备包括:存储器、处理器及存储在存储器上的计算机程序,上述处理器执行计算机程序以实现本申请实施例第一方面所示方法的步骤。
根据本申请实施例的再一个方面,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现本申请实施例第一方面所示方法的步骤。
根据本申请实施例的一个方面,提供了一种计算机程序产品,其包括计算机程序,该计算机程序被处理器执行时实现本申请实施例第一方面所示方法的步骤。
本申请实施例提供的技术方案带来的有益效果是:
本申请实施例通过待处理的视频数据确定至少一个图像集,接着基于图像集得到关键编码帧,并确定关键编码帧的场景类别,进而根据场景类别确定了视频数据的剪辑点,实现了基于剪辑点对视频数据进行剪辑处理;同时,视频数据的图像集中包括至少两个连续帧图像,临近的帧图像之间的相似度较高,本申请只需识别关键编码帧的场景类别就能得到对应图像集的场景类别,提升了视频场景的识别效率。由于剪辑点是基于视频帧的场景类别得到的,本申请实现了基于场景的自动化视频剪辑;相比现有技术中按照一定时间顺序删除整个视频文件,导致视频文件中的无用信息占用存储空间,本申请根据视频帧的场景对视频数据进行剪辑,可以删除用户不感兴趣的场景片段,提升了存储空间的有效利用率,节省了存储资源。
具体实施方式
下面结合本申请中的附图描述本申请的实施例。应理解,下面结合附图所阐述的实施方式,是用于解释本申请实施例的技术方案的示例性描述,对本申请实施例的技术方案不构成限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请实施例所使用的术语“包括”以及“包含”是指相应特征可以实现为所呈现的特征、信息、数据、步骤、操作、元件和/或组件,但不排除实现为本技术领域所支持其他特征、信息、数据、步骤、操作、元件、组件和/或它们的组合等。应该理解,当我们称一个元件被“连接”或“耦接”到另一元件时,该一个元件可以直接连接或耦接到另一元件,也可以指该一个元件和另一元件通过中间元件建立连接关系。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的术语“和/或”指示该术语所限定的项目中的至少一个,例如“A和/或B”可以实现为“A”,或者实现为“B”,或者实现为“A和B”。
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
随着多媒体技术的发展,人类通过视觉获取的信息量约占总信息量的70%,而且视频信息具有直观性、可信性等一系列优点。所以,视讯技术中的关键技术就是视频技术。
视频是连续的图像序列,由连续的帧构成,一帧即为一幅图像。由于人眼的视觉暂留效应,当帧序列以一定的速率播放时,我们看到的就是动作连续的视频。视频技术的应用范围很广,如网上可视会议、网上可视电子商务、网上政务、网上购物、网上学校、远程医疗、网上研讨会、网上展示厅、个人网上聊天、可视咨询等业务。但是,以上所有的应用都必须压缩。传输的数据量之大,单纯用扩大存储器容量、增加通信干线的传输速率的办法是不现实的,数据压缩技术是个行之有效的解决办法,通过数据压缩,可以把信息数据量压下来,以压缩形式存储、传输,既节约了存储空间,又提高了通信干线的传输效率,同时也可使计算机实时处理音频、视频信息,以保证播放出高质量的视频、音频节目。
在数字电视广播领域,通常需要录制并存储大量的视频文件,但往往受限于存储空间的大小,一般情况下会将低优先级的视频文件进行整体删除;被删除的视频文件中也可能包含对用户有用的信息,使得存储空间没有被合理、有效地利用。发明人发现,整个视频文件中通常夹杂着用户不感兴趣的视频片段,如广告、其他穿插的节目、重复的片头等。因此,有必要剪辑出视频文件中的有效部分进行存储,达到节省存储资源的目的。
本申请提供的视频处理方法、装置、电子设备及计算机可读存储介质,旨在解决现有技术的如上技术问题。
本申请实施例提供了一种视频处理方法,该方法可以由终端或服务器实现。本申请实施例涉及的终端或服务器,通过从待处理的视频数据中获取至少一个图像集,基于图像集确定对应的关键编码帧,并确定关键编码帧的场景类别,进而基于场景类别确定视频数据的剪辑点,实现了根据上述剪辑点对视频数据进行剪辑处理;本申请实现了基于场景的自动化视频剪辑,提升了存储空间的有效利用率,确保了存储资源的合理分配。
下面通过对几个示例性实施方式的描述,对本申请实施例的技术方案以及本申请的技术方案产生的技术效果进行说明。需要指出的是,下述实施方式之间可以相互参考、借鉴或结合,对于不同实施方式中相同的术语、相似的特征以及相似的实施步骤等,不再重复描述。
如图1所示,本申请的视频处理方法,可以应用于图1所示的场景中,具体的,服务器101可以从客户端102接收待处理的视频数据,然后基于视频数据所包括的图像集确定关键编码帧,并确定关键编码帧的场景类别,进而根据场景类别确定了视频数据的剪辑点,实现了基于剪辑点对视频数据进行剪辑处理,得到剪辑后的视频数据并进行存储,节省了服务器101资源。
图1所示的场景中,上述视频处理方法可以在服务器中进行,在其他的场景中,也可以在终端中进行。
本技术领域技术人员可以理解,这里所使用的“终端”可以是手机、平板电脑、PDA(Personal Digital Assistant,个人数字助理)、MID(Mobile Internet Device,移动互联网设备)等;“服务器”可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
本申请实施例中提供了一种视频处理方法,如图2所示,该方法包括:
S201,获取待处理的视频数据,从视频数据中获取至少一个图像集;图像集包括至少两个连续帧图像。
其中,待处理的视频数据可以是基于模拟摄像机、录像机、LD(Laserdisc,镭射影碟)视盘机、电视机等设备实时采集的,还可以是从预设数据库中提取的。上述图像集可以是基于预设的编码方式即视频的存储格式,对视频数据进行划分得到的。
具体的,用于进行视频处理的终端或服务器,可以基于预设地址提取视频数据,然后基于视频数据的编码方式将视频数据划分为至少一个图像集。
视频格式实质是视频编码方式,由于视频编码的主要任务是缩小视频文件的存储空间,因此,视频编码又称视频压缩编码或视频压缩,简单地说就是去除视频数据中的冗余信息。
视频编码格式与编码标准是密不可分的,特定的视频编码格式文件是按照特定编码标准加工生成的结果。视频流传输中最为重要的编码标准有国际电联视频编码专家组的H.261(一种视频编码标准)、H.263(又一种视频编码标准)、MPEG(Moving Picture ExpertsGroup,即运动图像专家组格式)系列标准等。
S202,从连续帧图像中确定关键编码帧,并确定关键编码帧的场景类别。
其中,关键编码帧可以表征对应图像集的特征信息。
具体的,用于进行视频处理的终端或服务器,可以基于视频数据的编码方式从连续帧图像中提取关键编码帧,然后对关键编码帧进行场景识别,得到关键编码帧的场景类别。
在本申请实施例中,以视频数据的编码方式为MPEG格式为例进行具体说明。MPEG格式基于GOP(Group of Pictures,画面组)作为基本的处理单元,一个GOP就是一组连续的帧图片组合,该编码方式可以将视频数据分为I、P、B三种帧,I是内部编码帧,P是前向预测帧,B是双向内插帧。也就是说,I帧是一个完整的画面,而P帧和B帧记录的是相对于I帧的变化,没有I帧,P帧和B帧就无法解码。每一GOP由I、P、B三种帧组成,I帧是GOP的起始帧,在一组GOP中只有一个I帧。GOP所对应的时长可以为两个I帧之间的时间间隔,例如一组GOP可以对应2s时长的帧图像。在本申请中,可以将每一组GOP作为一图像集,将该GOP中的I帧确定为关键编码帧。
在本申请实施例中,用于进行视频处理的终端或服务器,可以基于关键编码帧的图像特征信息进行图像识别,具体的识别方式将在下文详细说明。
S203,基于场景类别,确定视频数据的剪辑点。
具体的,用于进行视频处理的终端或服务器,可以接收用户发送的目标场景类别,该目标场景类别可以是用户不感兴趣的待删除场景,然后将场景类别与目标场景类别进行匹配;
当场景类别与目标场景类别不一致,则表示该关键编码帧所对应的图像集可以保留;当场景类别与目标场景类别一致,则表示上述关键编码帧所对应的图像集需要从原视频数据中删除。
在本申请实施例中,以电视剧的视频数据为例,用于进行视频处理的终端或服务器,可以基于各关键编码帧识别出广告、片头、正片等场景类别,当用户想将视频数据中的广告部分删减,则可以基于场景类别为广告的关键编码帧确定剪辑点。
S204,根据剪辑点,对视频数据进行剪辑。
其中,剪辑点的数量为至少两个,其可以包括起始剪辑点和终止剪辑点。
具体的,用于进行视频处理的终端或服务器,可以根据多组起始剪辑点和终止剪辑点确定多段待删减的视频片段,然后从视频数据中去除该视频片段,以完成视频数据的剪辑,保留视频数据中的有效信息。
本申请实施例通过待处理的视频数据确定至少一个图像集,接着基于图像集得到关键编码帧,并确定关键编码帧的场景类别,进而根据场景类别确定了视频数据的剪辑点,实现了基于剪辑点对视频数据进行剪辑处理;同时,视频数据的图像集中包括至少两个连续帧图像,临近的帧图像之间的相似度较高,本申请只需识别关键编码帧的场景类别就能得到对应图像集的场景类别,提升了视频场景的识别效率。由于剪辑点是基于视频帧的场景类别得到的,本申请实现了基于场景的自动化视频剪辑;相比现有技术中按照一定时间顺序删除整个视频文件,导致视频文件中的无用信息占用存储空间,本申请根据视频帧的场景对视频数据进行剪辑,可以删除用户不感兴趣的场景片段,提升了存储空间的有效利用率,节省了存储资源。
本申请实施例中提供了一种可能的实现方式,上述步骤S202中从连续帧图像中确定关键编码帧,并确定关键编码帧的场景类别,包括:
(1)将连续帧图像中的起始帧设为关键编码帧。
在本申请实施例中,以视频数据的编码方式为MPEG格式为例,用于进行视频处理的终端或服务器,可以根据视频数据的编码方式确定各组GOP即连续帧图像,然后将该GOP中的起始帧即I帧作为关键编码帧。
(2)基于预训练的目标识别器对关键编码帧进行识别,得到关键编码帧的场景类别。
其中,目标识别器可以是基于深度学习的图像分类模型,例如GoogLeNet(一种深度学习网络模型)、VGGNet(一种深度卷积神经网络)、AlexNet(一种深度卷积神经网络)等。
深度学习是机器学习的一种,深度学习的概念源于人工神经网络的研究,含多个隐藏层的多层感知器就是一种深度学习结构。深度学习通过组合低层特征形成更加抽象的高层表示属性类别或特征,以发现数据的分布式特征表示。研究深度学习的动机在于建立模拟人脑进行分析学习的神经网络,它模仿人脑的机制来解释数据,例如对图像,声音和文本等数据进行处理。
在本申请实施例中,目标识别器可以为GoogLeNet网络,GoogLeNet网络的结构如图3所示,在网络输入部分,先通过3个卷积层和2个最大池化层(Max Pool)对输入的关键编码帧进行数据降维,使用不同尺度的卷积核和池化核来提取前一层的不同特征信息,提高模型性能;其中,在最大池化层和卷积层之间还加入了LRN(Local ResponseNormalization,局部响应归一化层)层,避免参数过多导致的过拟合。在网络中间部分,叠加了9个Inception(一种卷积神经网络结构)模块,Inception模块包括3种不同尺寸的卷积核和1个最大池化,增加网络对不同尺度的适应性,Inception模块使用不同尺度的卷积核和池化核提取前一层的不同特征信息,降低过拟合,进一步提高模型性能。在网络的输出部分,采用平均池化层(Average Pool)来对特征图进行降维,随后降维后的特征图经过全连接层(Fully connected)的特征整合处理,被输入到softmax(柔性最大传递函数)层进行分类,最终得到关键编码帧的场景类别。
上述实施例阐述了目标识别器进行场景分类的过程,以下将进一步阐述针对目标识别器的训练过程。
本申请实施例中提供了一种可能的实现方式,上述目标识别器是基于如下方式训练得到的:
获取预设训练集;其中,训练集包括帧图像样本和帧图像样本对应的场景类别样本;
将训练集输入预设的初始识别器,得到帧图像样本对应的类别标签;
基于场景类别样本和类别标签的差值确定损失函数;
基于损失函数对初始识别器的参数进行调整,直至损失函数符合预设收敛条件,得到目标识别器。
本申请实施例采用训练好的目标识别器来对关键编码帧进行场景识别,以目标识别器为GoogLeNet网络为例,该网络通过多个Inception模块的叠加保证了网络结构稀疏性,避免了现有技术中网络参数过多而造成的过拟合现象,通过特征降维减少计算量,节省了模型的训练成本,保证了模型分类的准确率。
本申请实施例中提供了一种可能的实现方式,上述剪辑点包括起始剪辑点和终止剪辑点;本申请实施例中,以视频数据的编码方式为MPEG格式为例进行具体说明,上述步骤S203中基于场景类别,确定视频数据的剪辑点,包括:
(1)接收待删除的目标场景类别。
其中,目标场景类别可以是基于视频数据的内容信息确定的。例如,当视频数据的内容为电影,其目标场景类别可以包括片头、片尾、广告、菜单等;当视频数据的内容为直播,其目标场景类别可以包括室内、户外、人物、风景等。
具体的,用于进行视频处理的终端或服务器,可以响应于用户对鼠标、键盘或触控板等输入设备的预设操作,确定待删除的目标场景类别。
其中,上述预设操作可以包括如下至少一项:
将目标场景类别的图标拖拽或移动至当前用户界面的预设范围内的操作;
针对目标场景类别的图标的点击或触摸操作;
在预设的输入控件中针对上述目标场景类别的表示的输入操作。
(2)将场景类别为目标场景类别的关键编码帧,作为目标帧。
其中,关键编码帧可以表征对应图像集的特征信息。
本申请实施例中,可以将每一组GOP作为一图像集,将该GOP中的I帧确定为关键编码帧。
(3)将时序最小的目标帧作为起始剪辑点。
具体的,用于进行视频处理的终端或服务器,可以基于各目标帧的时序信息,抽取时序最小的目标帧作为起始剪辑点。
在本申请实施例中,由于I帧为GOP的起始帧,其与相邻的其他帧不存在时间依赖,可以将时序最小的I帧作为起始剪辑点。
(4)根据时序最大的目标帧确定终止剪辑点。
具体的,用于进行视频处理的终端或服务器,可以基于时序最大的目标帧进行定位,确保终止剪辑点在时序上的后一帧与其他帧不存在时间依赖关系,以便剪辑后的视频可以独立解码。终止剪辑点的详细确定步骤将在下文详细介绍。
本申请实施例中提供了一种可能的实现方式,如图4所示,上述根据时序最大的目标帧确定终止剪辑点,包括:
将时序最大的目标帧作为定位帧;确定定位帧对应的目标图像集,将目标图像集中的结束帧作为终止剪辑点。
具体的,由于P帧和B帧记录的是相对于I帧的变化,没有I帧,P帧和B帧就无法解码,故终止剪辑点需要定位在I帧在时序上的前一帧上,以确保剪辑后的视频数据可以顺利解码。因此,在找到时序最大的I帧之后,需要在时序上向前移一位定位终止剪辑点。
在本申请实施例基于关键编码帧确定目标帧,并基于目标帧定位剪辑点,由于临近的帧图像之间的相似度较高,本申请中并不需要对视频数据的所有帧进行场景识别和定位,只需要基于关键编码帧的场景类别即可定位到剪辑点,有效提升了视频场景识别和视频剪辑的效率。同时,在定位终止剪辑点时,本申请考虑到剪辑后视频在解码过程中的连续性,基于时序最大目标帧进行定位,再确定终止剪辑点,有效提升了用户体验。
本申请实施例中提供了一种可能的实现方式,上述步骤S204中根据剪辑点,对视频数据进行剪辑,包括:
(1)将视频数据分解为对应的图像数据和音频数据。
具体的,用于进行视频处理的终端或服务器,可以基于预设的解复用器对视频数据进行解封装,得到对应的图像数据和音频数据。
(2)基于剪辑点分别对图像数据和音频数据进行剪辑,得到目标图像数据和目标音频数据。
在本申请实施例中,用于进行视频处理的终端或服务器,可以基于剪辑点确定待删除数据,即待删除图像序列和待删除音频序列,然后从图像数据和音频数据中分别去除上述待删除数据,生成目标图像数据和目标音频数据。
本申请实施例中提供了一种可能的实现方式,上述基于剪辑点分别对图像数据和音频数据进行剪辑,包括:
a、将起始剪辑点与终止剪辑点之间的图像序列作为待删除图像序列,从图像数据中删除待删除图像序列,得到目标图像数据;
b、将起始剪辑点与终止剪辑点之间的音频序列作为待删除音频序列,从音频数据中删除待删除音频序列,得到目标音频数据。
在本申请实施例中,用于进行视频处理的终端或服务器,可以基于起始剪辑点和终止剪辑点,分别对图像数据和音频数据进行剪辑,生成目标图像数据和目标音频数据,上述目标图像数据和目标音频数据所对应的场景类别不为目标场景类别,其不包含用户不感兴趣的信息。
(3)对目标图像数据和目标音频数据进行封装,生成目标视频数据。
具体的,用于进行视频处理的终端或服务器,可以将目标图像数据和目标音频数据根据PTS(Presentation Time Stamp,显示时间戳)校准对齐排列,并根据预设的封装器规范格式,生成目标视频数据。
本申请实施例中,通过对视频数据进行解封装生成对应的图像数据和音频数据,然后基于视频剪辑点分别对图像数据和音频数据进行剪辑,随后对剪辑后的目标图像数据和目标音频数据重新封装,得到目标视频数据,实现了基于剪辑点的视频剪辑处理,由于剪辑点是基于视频帧的场景识别结果确定的,故剪辑后的目标视频数据保留了用户感兴趣的内容,目标视频数据所占用的内存相比原视频数据变小,使得视频的存储空间得到有效利用,提升了用户体验。
为了更好的理解上述视频处理方法,下面结合图5详细阐述一个本申请的视频处理方法的示例,该方法包括如下步骤:
S501,获取待处理的视频数据,从视频数据中获取至少一个图像集;图像集包括至少两个连续帧图像。
其中,待处理的视频数据可以是基于模拟摄像机、录像机、LD视盘机、电视机等设备实时采集的,还可以是从预设数据库中提取的。上述图像集可以是基于预设的编码方式即视频的存储格式,对视频数据进行划分得到的。
具体的,用于进行视频处理的终端或服务器,可以基于预设地址提取视频数据,然后基于视频数据的编码方式将视频数据划分为至少一个图像集。
在本申请实施例中,以视频数据的编码方式为MPEG格式为例,用于进行视频处理的终端或服务器,可以根据视频数据的编码方式确定各组GOP即连续帧图像,可以将每一组GOP作为一图像集
S502,将连续帧图像中的起始帧设为关键编码帧。
在本申请实施例中,可以将该GOP中的起始帧即I帧作为关键编码帧。
S503,基于预训练的目标识别器对关键编码帧进行识别,得到关键编码帧的场景类别。
其中,目标识别器可以是基于深度学习的图像分类模型,例如GoogLeNet、VGGNet、AlexNet等。
S504,接收待删除的目标场景类别。
其中,目标场景类别可以是基于视频数据的内容信息确定的。例如,当视频数据的内容为电影,其目标场景类别可以包括片头、片尾、广告、菜单等;当视频数据的内容为直播,其目标场景类别可以包括室内、户外、人物、风景等。
具体的,用于进行视频处理的终端或服务器,可以响应于用户对鼠标、键盘或触控板等输入设备的预设操作,确定待删除的目标场景类别。
S505,将场景类别为目标场景类别的关键编码帧,作为目标帧。
其中,关键编码帧可以表征对应图像集的特征信息。
S506,将时序最小的目标帧作为起始剪辑点。
具体的,用于进行视频处理的终端或服务器,可以基于各目标帧的时序信息,抽取时序最小的目标帧作为起始剪辑点。
在本申请实施例中,由于I帧为GOP的起始帧,其与相邻的其他帧不存在时间依赖,可以将时序最小的I帧作为起始剪辑点。
S507,将时序最大的目标帧作为定位帧;确定定位帧对应的目标图像集,将目标图像集中的结束帧作为终止剪辑点。
具体的,由于P帧和B帧记录的是相对于I帧的变化,没有I帧,P帧和B帧就无法解码,故终止剪辑点需要定位于I帧在时序上的前一帧上,以确保剪辑后的视频数据可以顺利解码。因此,在找到时序最大的I帧之后,需要在时序上向前移一位定位终止剪辑点。
S508,将视频数据分解为对应的图像数据和音频数据。
具体的,用于进行视频处理的终端或服务器,可以基于预设的解复用器对视频数据进行解封装,得到对应的图像数据和音频数据。
S509,基于起始剪辑点和终止剪辑点分别对图像数据和音频数据进行剪辑,得到目标图像数据和目标音频数据。
在本申请实施例中,用于进行视频处理的终端或服务器,可以基于剪辑点确定待删除数据,即待删除图像序列和待删除音频序列,然后从图像数据和音频数据中分别去除上述待删除数据,生成目标图像数据和目标音频数据。
S510,对目标图像数据和目标音频数据进行封装,生成目标视频数据。
具体的,用于进行视频处理的终端或服务器,可以将目标图像数据和目标音频数据根据PTS校准对齐排列,并根据预设的封装器规范格式,生成目标视频数据。
本申请实施例提供了一种视频处理装置,如图6所示,该视频处理装置60可以包括:获取模块601、第一确定模块602、第二确定模块和剪辑模块;
其中,获取模块601,用于获取待处理的视频数据,从视频数据中获取至少一个图像集;图像集包括至少两个连续帧图像;
第一确定模块602,用于从连续帧图像中确定关键编码帧,并确定关键编码帧的场景类别;
第二确定模块603,用于基于场景类别,确定视频数据的剪辑点;
剪辑模块604,用于根据剪辑点,对视频数据进行剪辑。
本申请实施例中提供了一种可能的实现方式,上述第一确定模块602,用于:
将连续帧图像中的起始帧设为关键编码帧;
基于预训练的目标识别器对关键编码帧进行识别,得到关键编码帧的场景类别。
本申请实施例中提供了一种可能的实现方式,上述目标识别器是基于如下方式训练得到的:
获取预设训练集;其中,训练集包括帧图像样本和帧图像样本对应的场景类别样本;
将训练集输入预设的初始识别器,得到帧图像样本对应的类别标签;
基于场景类别样本和类别标签的差值确定损失函数;
基于损失函数对初始识别器的参数进行调整,直至损失函数符合预设收敛条件,得到目标识别器。
本申请实施例中提供了一种可能的实现方式,上述剪辑点包括起始剪辑点和终止剪辑点;上述第二确定模块603,用于:
接收待删除的目标场景类别;
将场景类别为目标场景类别的关键编码帧,作为目标帧;
将时序最小的目标帧作为起始剪辑点;
根据时序最大的目标帧确定终止剪辑点。
本申请实施例中提供了一种可能的实现方式,上述第二确定模块603,还用于:
将时序最大的目标帧作为定位帧;
确定定位帧对应的目标图像集;
将目标图像集中的结束帧作为终止剪辑点。
本申请实施例中提供了一种可能的实现方式,上述剪辑模块604,用于:
将视频数据分解为对应的图像数据和音频数据;
基于剪辑点分别对图像数据和音频数据进行剪辑,得到目标图像数据和目标音频数据;
对目标图像数据和目标音频数据进行封装,生成目标视频数据。
本申请实施例中提供了一种可能的实现方式,上述剪辑模块604,还用于:
将起始剪辑点与终止剪辑点之间的图像序列作为待删除图像序列,从图像数据中删除待删除图像序列,得到目标图像数据;
将起始剪辑点与终止剪辑点之间的音频序列作为待删除音频序列,从音频数据中删除待删除音频序列,得到目标音频数据。
本申请实施例的装置可执行本申请实施例所提供的方法,其实现原理相类似,本申请各实施例的装置中的各模块所执行的动作是与本申请各实施例的方法中的步骤相对应的,对于装置的各模块的详细功能描述具体可以参见前文中所示的对应方法中的描述,此处不再赘述。
本申请实施例通过待处理的视频数据确定至少一个图像集,接着基于图像集得到关键编码帧,并确定关键编码帧的场景类别,进而根据场景类别确定了视频数据的剪辑点,实现了基于剪辑点对视频数据进行剪辑处理;同时,视频数据的图像集中包括至少两个连续帧图像,临近的帧图像之间的相似度较高,本申请只需识别关键编码帧的场景类别就能得到对应图像集的场景类别,提升了视频场景的识别效率。由于剪辑点是基于视频帧的场景类别得到的,本申请实现了基于场景的自动化视频剪辑;相比现有技术中按照一定时间顺序删除整个视频文件,导致视频文件中的无用信息占用存储空间,本申请根据视频帧的场景对视频数据进行剪辑,可以删除用户不感兴趣的场景片段,提升了存储空间的有效利用率,节省了存储资源。
本申请实施例中提供了一种电子设备,包括存储器、处理器及存储在存储器上的计算机程序,该处理器执行上述计算机程序以实现视频处理方法的步骤,与相关技术相比可实现:本申请实施例通过待处理的视频数据确定至少一个图像集,接着基于图像集得到关键编码帧,并确定关键编码帧的场景类别,进而根据场景类别确定了视频数据的剪辑点,实现了基于剪辑点对视频数据进行剪辑处理;同时,视频数据的图像集中包括至少两个连续帧图像,临近的帧图像之间的相似度较高,本申请只需识别关键编码帧的场景类别就能得到对应图像集的场景类别,提升了视频场景的识别效率。由于剪辑点是基于视频帧的场景类别得到的,本申请实现了基于场景的自动化视频剪辑;相比现有技术中按照一定时间顺序删除整个视频文件,导致视频文件中的无用信息占用存储空间,本申请根据视频帧的场景对视频数据进行剪辑,可以删除用户不感兴趣的场景片段,提升了存储空间的有效利用率,节省了存储资源。
在一个可选实施例中提供了一种电子设备,如图7所示,图7所示的电子设备700包括:处理器701和存储器703。其中,处理器701和存储器703相连,如通过总线702相连。可选地,电子设备700还可以包括收发器704,收发器704可以用于该电子设备与其他电子设备之间的数据交互,如数据的发送和/或数据的接收等。需要说明的是,实际应用中收发器704不限于一个,该电子设备700的结构并不构成对本申请实施例的限定。
处理器701可以是CPU(Central Processing Unit,中央处理器),通用处理器,DSP(Digital Signal Processor,数据信号处理器),ASIC(Application SpecificIntegrated Circuit,专用集成电路),FPGA(Field Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器701也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
总线702可包括一通路,在上述组件之间传送信息。总线702可以是PCI(Peripheral Component Interconnect,外设部件互连标准)总线或EISA(ExtendedIndustry Standard Architecture,扩展工业标准结构)总线等。总线702可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器703可以是ROM(Read Only Memory,只读存储器)或可存储静态信息和指令的其他类型的静态存储设备,RAM(Random Access Memory,随机存取存储器)或者可存储信息和指令的其他类型的动态存储设备,也可以是EEPROM(Electrically ErasableProgrammable Read Only Memory,电可擦可编程只读存储器)、CD-ROM(Compact DiscRead Only Memory,只读光盘)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质、其他磁存储设备、或者能够用于携带或存储计算机程序并能够由计算机读取的任何其他介质,在此不做限定。
存储器703用于存储执行本申请实施例的计算机程序,并由处理器701来控制执行。处理器701用于执行存储器703中存储的计算机程序,以实现前述方法实施例所示的步骤。
其中,电子设备包括但不限于:诸如移动电话、笔记本电脑、PAD等等移动终端以及诸如数字TV、台式计算机等等固定终端。
本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时可实现前述方法实施例的步骤及相应内容。
本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行时实现如下情况:
获取待处理的视频数据,从视频数据中获取至少一个图像集;图像集包括至少两个连续帧图像;
从连续帧图像中确定关键编码帧,并确定关键编码帧的场景类别;
基于场景类别,确定视频数据的剪辑点;
根据剪辑点,对视频数据进行剪辑。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”、“1”、“2”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除图示或文字描述以外的顺序实施。
应该理解的是,虽然本申请实施例的流程图中通过箭头指示各个操作步骤,但是这些步骤的实施顺序并不受限于箭头所指示的顺序。除非本文中有明确的说明,否则在本申请实施例的一些实施场景中,各流程图中的实施步骤可以按照需求以其他的顺序执行。此外,各流程图中的部分或全部步骤基于实际的实施场景,可以包括多个子步骤或者多个阶段。这些子步骤或者阶段中的部分或全部可以在同一时刻被执行,这些子步骤或者阶段中的每个子步骤或者阶段也可以分别在不同的时刻被执行。在执行时刻不同的场景下,这些子步骤或者阶段的执行顺序可以根据需求灵活配置,本申请实施例对此不限制。
以上所述仅是本申请部分实施场景的可选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请的方案技术构思的前提下,采用基于本申请技术思想的其他类似实施手段,同样属于本申请实施例的保护范畴。