掌桥专利:专业的专利平台
掌桥专利
首页

视频处理方法、生成视频流的方法、装置、介质及设备

文献发布时间:2023-06-19 19:30:30


视频处理方法、生成视频流的方法、装置、介质及设备

技术领域

本公开的实施方式涉及视频处理技术领域,更具体地,本公开的实施方式涉及视频处理方法、生成视频流的方法、视频处理装置、生成视频流的装置、计算机可读存储介质及电子设备。

背景技术

本部分旨在为权利要求中陈述的本公开的实施方式提供背景或上下文,此处的描述不因为包括在本部分中就承认是现有技术。

随着网络技术的不断发展,网络视频、网络直播等逐渐兴起,成为人们日常生活主要的娱乐交互方式之一。高质量的视频会为用户带来清晰和舒适的视觉体验。

目前,通过视频采集设备拍摄的视频可以是从各种不同的方向捕获,这就导致拍摄到的视频不符合预期的方向,例如用户需发送适合竖屏显示的视频,但设备拍摄到适合横屏显示的视频,一定程度上影响用户的视频交互体验。而相关技术调整视频方向的一般方法是通过旋转视频帧来调整视频方向,但容易导致视频中的画面内容的显示方向亦发生改变。

发明内容

在本上下文中,本公开的实施方式期望提供一种视频处理方法、生成视频流的方法、视频处理装置、生成视频流的装置、计算机可读存储介质及电子设备。

根据本公开实施方式的第一方面,提供一种视频处理方法,包括:响应于原始视频帧的方向与预设方向不同,根据所述原始视频帧的第一分辨率确定目标比例,所述目标比例为处理后的原始视频帧进行网络传输时的画面比例;根据所述第一分辨率和所述目标比例确定第二分辨率,并在所述原始视频帧中获取具有所述第二分辨率的图像区域;基于所述目标比例,对所述图像区域进行超分辨率处理,获得所述处理后的原始视频帧。

根据本公开实施方式的第二方面,提供一种生成视频流的方法,包括:响应于原始视频帧的方向与预设方向不同,根据所述原始视频帧的第一分辨率确定目标比例,所述目标比例为处理后的原始视频帧进行网络传输时的画面比例;根据所述第一分辨率和所述目标比例确定第二分辨率,并在所述原始视频帧中获取具有所述第二分辨率的图像区域;基于所述目标比例,对所述图像区域进行超分辨率处理,获得所述处理后的原始视频帧;对各所述处理后的原始视频帧进行编码,生成视频流。

根据本公开实施方式的第三方面,提供一种视频处理装置,包括:第一处理模块,用于响应于原始视频帧的方向与预设方向不同,根据所述原始视频帧的第一分辨率确定目标比例,所述目标比例为处理后的原始视频帧进行网络传输时的画面比例;获取模块,用于根据所述第一分辨率和所述目标比例确定第二分辨率,并在所述原始视频帧中获取具有所述第二分辨率的图像区域;第二处理模块,用于基于所述目标比例,对所述图像区域进行超分辨率处理,获得所述处理后的原始视频帧。

根据本公开实施方式的第四方面,提供一种生成视频流的装置,包括:第一处理模块,用于响应于原始视频帧的方向与预设方向不同,根据所述原始视频帧的第一分辨率确定目标比例,所述目标比例为处理后的原始视频帧进行网络传输时的画面比例;获取模块,用于根据所述第一分辨率和所述目标比例确定第二分辨率,并在所述原始视频帧中获取具有所述第二分辨率的图像区域;第二处理模块,用于基于所述目标比例,对所述图像区域进行超分辨率处理,获得所述处理后的原始视频帧;编码模块,用于对各所述处理后的原始视频帧进行编码,生成视频流。

根据本公开实施方式的第五方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一种方法。

根据本公开实施方式的第六方面,提供一种电子设备,包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行上述任意一种方法。

根据本公开实施方式的视频处理方案,一方面,在原始视频帧的方向与预设方向不同时,根据原始视频帧的第一分辨率确定目标比例,该目标比例作为处理后的原始视频帧进行网络传输时的画面比例,根据第一分辨率和目标比例确定第二分辨率,通过在原始视频中获取具有第二分辨率的图像区域,使得图像区域的方向与预设方向保持一致,从而实现将原始视频帧的方向调整为指定方向的视频帧的同时,可保证视频帧中画面内容在方向上的正确性;另一方面,还基于目标比例对图像区域进行超分辨率处理,在保证网络传输时的画面比例的同时,提升图像区域的视频清晰度,避免处理后的原始视频帧的分辨率降低,提升用户的视觉体验。

附图说明

通过参考附图阅读下文的详细描述,本公开示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本公开的若干实施方式,其中:

图1示出了根据本公开实施方式的一种视频处理方案及装置所涉及的示例性应用环境的示意图;

图2示出了根据本公开实施方式的一种视频处理方法的流程图;

图3示出了根据本公开实施方式的一种不同类型原始视频帧的示意图;

图4示出了根据本公开实施方式的一种确定第二分辨率的示意图;

图5示出了根据本公开实施方式的另一种确定第二分辨率的示意图;

图6示出了根据本公开实施方式的一种获取具有第二分辨率的图像区域的实现方式的流程图;

图7示出了根据本公开实施方式的一种对原始视频帧进行裁剪获得图像区域的示意图;

图8示出了根据本公开实施方式的一种调整起始像素点的示意图;

图9示出了根据本公开实施方式的一种基于级联的第一网络、第二网络和第三网络对图像区域进行超分辨率处理的流程示意图;

图10示出了根据本公开实施方式的一种模型训练所涉及的阶段示意图;

图11示出了根据本公开实施方式的一种生成视频流的方法的流程图;

图12示出了根据本公开实施方式的视频处理装置的示意图;

图13示出了根据本公开实施方式的生成视频流的装置的示意图;

图14示出了根据本公开实施方式的电子设备的示意图。

具体实施方式

下面将参考若干示例性实施方式来描述本公开的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本公开,而并非以任何方式限制本公开的范围。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。

本领域技术人员知道,本公开的实施方式可以实现为一种系统、装置、设备、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。

根据本公开的实施方式,提供一种视频处理方法、生成视频流的方法、视频处理装置、生成视频流的装置、计算机可读存储介质及电子设备。

在本文中,附图中的任何元素数量均用于示例而非限制,以及任何命名都仅用于区分,而不具有任何限制含义。下面参考本公开的若干代表性实施方式,详细阐述本公开的原理和精神。

发明概述

由于视频采集设备拍摄的视频可以是从各种不同的方向捕获,导致拍摄到的视频不符合预期的方向。例如,当用户通过外置的摄像头或终端设备上的摄像头拍摄视频的过程中无意识地或错误地旋转了视频采集设备,原本需要发送适合横屏显示的视频,却导致发送了适合竖屏显示的视频,使视频方向与指定的方向不符,影响用户的视觉体验。即便用户可以在发送终端指定发送视频的预设方向,但由于已采集到了错误方向的视频,仍无法发送方向准确的视频。

相关技术通过旋转视频画面来调整视频方向,例如将采集到的视频帧按照顺时针或逆时针旋转得到适合显示的方向,但该过程使得视频的画面内容也随之改变。并且,通过将视频帧裁剪至指定的显示方向,容易因丢失像素点而导致视频帧的分辨率降低,影响视频清晰程度。

而在本公开的实施方式中,在原始视频帧的方向与预设方向不同时,根据原始视频帧的第一分辨率确定目标比例,该目标比例作为处理后的原始视频帧进行网络传输时的画面比例,根据第一分辨率和目标比例确定第二分辨率,通过在原始视频中获取具有第二分辨率的图像区域,使得图像区域的方向与预设方向保持一致,从而实现将原始视频帧的方向调整为指定方向的视频帧的同时,可保证视频帧中画面内容在方向上的正确性。并且,基于目标比例对图像区域进行超分辨率处理,在保证网络传输时的画面比例的同时,提升图像区域的视频清晰度,避免处理后的原始视频帧的分辨率降低的问题,提升用户的视觉体验。

在介绍了本公开的实施方式的基本原理之后,下面具体介绍本公开的实施方式的各种非限制性实施方式。

示例性方法

图1示出了一个根据本公开实施方式提供的一种视频处理方案及装置所涉及的示例性应用环境的示意图。

如图1所示,发送终端可以为具有视频处理功能的电子设备,例如可以为智能手机、电脑、平板电脑、智能手表、车载设备、可穿戴设备、监控设备等智能设备,发送设备还可以被称为终端设备、移动终端、终端、移动设备等,本公开对发送设备的类型不做限制。

原始视频帧可以是由发送终端拍摄得到,也可以从网络或其它设备获取,本公开实施方式中,发送设备的视频处理装置可以在原始视频帧的方向与预设方向不同时,对原始视频帧进行处理,使得处理后的原始视频帧的方向调整至指定的预设方向,且同时保证处理后的原始视频帧的清晰程度不降低。

需要说明的是,本公开实施例所提供的视频处理方法可以由发送终端来执行。本公开实施例所提供的视频处理方法也可以由服务器来执行,相应的,视频处理装置也可以设置于服务器中。发送终端可以向服务器发送原始视频帧,以使服务器基于本公开实施方式的视频处理方法对原始视频帧进行处理,获得处理后的原始视频帧。服务器可以为提供本公开实施例中视频处理相关服务的后台系统,可以包括便携式计算机、台式计算机、智能手机等具有计算功能的一台电子设备或多台电子设备形成的集群。本公开实施方式中,以视频处理方法由发送终端来执行为例进行说明。

在上述应用环境中,在发送终端获得处理后的原始视频帧后,可对处理后的原始视频帧进行编码生成视频流,以将视频流发送至接收终端,以确保接收终端获得具有正确显示方向且足够清晰的视频。

下面参考图2来描述本公开的示例性实施方式的视频处理方法。如图2,本公开示例性实施方式的视频处理方法可以包括步骤210和步骤S230:

步骤S210,响应于原始视频帧的方向与预设方向不同,根据原始视频帧的第一分辨率确定目标比例,目标比例为处理后的原始视频帧进行网络传输时的画面比例。

在本公开的示例性实施方式中,原始视频帧可以为网络视频或网络直播过程采集的实时视频帧,也可以为本地保存、从网络下载或接收其它设备发送的视频帧。可根据原始视频帧的宽高比确定该原始视频帧的方向,其中宽高比是视频显示画面的宽度与高度之比。示例性的,如图3所示,原始视频帧的宽小于高时为竖屏方向的视频帧,原始视频帧的宽大于高时为横屏方向的视频帧。

预设方向为预先指定的视频显示画面的方向,不随终端设备的旋转而改变,其中用户可根据实际需求指定所需保持的视频显示画面方向,即预设方向,而由于在视频采集过程中视频采集设备被旋转或者视频采集设备具有默认的视频采集方向,可导致实际获得的原始视频帧与用户指定的视频显示画面的方向不同。除了高分辨率,原始视频帧的方向与终端设备指定的视频方向一致,才能使用户获得极佳的视觉体验。例如,原始视频帧为适合横屏显示的视频帧且终端设备指定的视频显示画面同样为横屏方向,或者,原始视频帧为适合竖屏显示的视频帧且终端设备指定的视频显示画面也为竖屏方向。

基于此,在原始视频帧的方向与预设方向不同时,首先根据原始视频帧的第一分辨率确定一目标比例,该目标比例为处理后的原始视频帧进行网络传输时的画面比例。也就是说,处理后的原始视频帧的视频显示画面将保持该目标比例。

步骤S220,根据第一分辨率和目标比例确定第二分辨率,并在原始视频帧中获取具有第二分辨率的图像区域。

在本公开的示例性实施方式中,可根据目标比例并结合原始视频帧的第一分辨率确定待剪裁的图像区域的第二分辨率。

按照第二分辨率在原始视频帧中剪裁得到图像区域的画面比例满足预设方向对应的视频显示画面的宽度与高度的比例。亦即,若原始视频帧为横屏方向,则裁剪获得的图像区域为竖屏方向;相应的,若原始视频帧为竖屏方向,则裁剪获得的图像区域为横屏方向。

其中,可以是按照裁剪后的图像区域相对于原始视频帧居中的原则,在原始视频帧中获取具有第二分辨率的图像区域。或者,也可以是以裁剪到原始视频帧中的主体内容为原则,在原始视频帧中获取具有第二分辨率的图像区域。本公开实施方式可根据实际需求确定获取图像区域的方式,包括但不限于上述裁剪方式。

步骤S230:基于目标比例,对图像区域进行超分辨率处理,获得处理后的原始视频帧。

在本公开的示例性实施方式中,超分辨率处理是指将一幅低分辨率图像或图像序列进行处理,恢复出高分辨率图像的过程。其中,可通过预先训练的超分辨率网络对图像区域进行超分处理。

可根据原始视频帧的第一分辨率,在保持目标比例的情况下对图像区域进行超分辨率处理,使处理后的原始视频帧与未处理的原始视频帧的总像素数量相同。

由于裁剪获取的图像区域的像素数量小于原始视频帧的像素数量,导致图像区域的第二分辨率较小,进而导致图像区域相比于原始视频帧的清晰度降低。通过将图像区域保持目标比例并进行超分辨率处理后,提升处理后的原始视频帧的画质,基于此,在确保处理后的原始视频帧的方向与指定的预设方向一致的同时,避免了视频清晰度的降低。

在一示例性实施方式中,提供一种确定原始视频帧的方向与预设方向不同的实现方式。在响应于原始视频帧的方向与预设方向不同,根据原始视频帧的第一分辨率确定目标比例之前,还可以首先获取拍摄设备采集到的原始视频帧以及原始视频帧的视频信息,根据视频信息确定原始视频帧的画面方向,并确定该画面方向与预设方向不同。

视频信息包括原始视频帧的第一分辨率、原始视频帧的视频显示画面的宽度和高度等信息,可根据原始视频帧的宽度与高度之比确定原始视频帧的画面方向。其中,若画面方向为横屏方向,且预设方向为竖屏方向,确定原始视频帧的画面方向与预设方向不同;或者,原始视频帧为竖屏方向,且预设方向为横屏方向,确定原始视频帧的画面方向与预设方向不同。

在一示例性实施方式中,提供一种确定目标比例的实现方式。响应于原始视频帧的方向与预设方向不同,根据原始视频帧的第一分辨率确定目标比例,可以包括:

根据第一分辨率确定原始视频帧的原始宽度和原始高度;

将原始高度与原始宽度之间的比例作为目标比例。

其中,基于第一分辨率可获取原始视频帧的水平像素数量和垂直像素数量,根据水平像素数量确定原始视频帧的原始宽度,并根据垂直像素数量确定原始视频帧的原始宽度。示例性的,若第一分辨率为640×360,原始视频帧的原始宽度和原始高度分别为640个像素点和360个像素点。

可以将原始高度与原始宽度之比作为目标比例,该目标比例用于指示处理后的原始视频帧的宽高比。例如第一分辨率为640×360,得到目标比例为360:640=9:16。也就是说,原始画面比例为16:9,则目标比例为9:16。当然,还可以将原始宽度与原始高度之比作为目标比例,该目标比例的倒数用于指示处理后的原始视频帧的宽高比。

在一示例性实施例中,还提供一种确定第二分辨率的实现方式。若原始视频帧为横屏方向,可根据原始高度和目标比例确定目标宽度,并根据原始高度和目标宽度确定第二分辨率。图4示出了根据本公开示例性实施方式的一种确定第二分辨率的示意图,如图4所示,原始视频帧为第一分辨率为640×360的横屏方向的视频,且目标比例为9:16,可保持原始高度“360”不变,并根据原始高度“360”和目标比例“9:16”重新确定一目标宽度,以根据原始高度和目标宽度确定第二分辨率。其中,图4所示的目标宽度的指示位置仅是示例性的。

若目标比例指示处理后的原始视频帧的宽高比,则可将原始高度和目标比例按照公式(1)确定目标宽度:

Width

其中,Width

通过本示例性实施方式确定的第二分辨率作为待裁剪的图像区域的分辨率,使裁剪得到的图像区域的宽高比符合指定的预设方向,进而可使处理后的原始视频为竖屏方向。

在一示例性实施例中,还提供另一种确定第二分辨率的实现方式。若原始视频帧为竖屏方向,根据原始宽度和目标比例确定目标高度,并根据原始宽度和目标高度确定第二分辨率。如图5所示,原始视频帧为第一分辨率为360×640的竖屏方向的视频,且目标比例为16:9,可保持原始宽度“360”不变,根据原始宽度“360”和目标比例“16:9”重新确定一目标高度,并根据原始宽度和目标高度确定第二分辨率。

当目标比例指示处理后的原始视频帧的宽高比,则可将原始宽度和目标比例按照公式(2)确定目标高度:

Height

其中,Height

通过本示例性实施方式确定的第二分辨率作为待裁剪的图像区域的分辨率,使裁剪得到的图像区域的宽高比符合指定的预设方向,进而可使处理后的原始视频为横屏方向。

在一示例性实施方式中,还提供一种获取具有第二分辨率的图像区域的实现方式。如图6,在原始视频帧中获取具有第二分辨率的图像区域可以包括步骤S610至步骤S640:

步骤S610:结合原始宽度和第二分辨率对应的目标宽度,确定第一坐标信息。

第一坐标信息为后续进行视频帧裁剪的起始像素点在视频画面宽度方向上的坐标信息。若原始视频帧为横屏方向,第二分辨率对应的目标宽度为根据原始高度和目标比例确定的;若原始视频帧为竖屏方向,第二分辨率对应的目标宽度即为原始宽度。

根据原始宽度和第二分辨率对应的目标宽度,可按照公式(3)确定第一坐标信息:

X=|Weight

其中,Weight

步骤S620:基于原始高度和第二分辨率对应的目标高度,确定第二坐标信息。

第二坐标信息为后续进行视频帧裁剪的起始像素点在视频画面高度方向上的坐标信息。若原始视频帧为横屏方向,第二分辨率对应的目标高度即为原始高度;若原始视频帧为竖屏方向,第二分辨率对应的目标高度为根据原始宽度和目标比例确定。

根据原始高度和第二分辨率对应的目标高度,可按照公式(4)确定第二坐标信息:

其中。Y为第二坐标信息,Height

步骤S630:根据第一坐标信息和第二坐标信息确定起始像素点,起始像素点作为图像区域的一个顶点。

在获得第一坐标信息和第二坐标信息后,可在原始视频帧中按照第一坐标信息和第二坐标信息确定一起始像素点,将该起始像素点作为图像区域的一个顶点进行画面裁剪。

步骤S640:以起始像素点为裁剪起点,按照第二分辨率对原始视频帧进行裁剪,获得图像区域。

可基于起始像素点为裁剪起点,以裁剪到原始视频帧的主体内容为目标,按照第二分辨率对原始视频帧进行裁剪获得图像区域,并且相较于原始视频帧,图像区域中画面内容的方向不变。

其中,主体内容可以是指位于原始视频帧内的居中位置的画面内容;主体内容也可以是指能最大程度包含原始视频帧中各种对象对应区域的画面内容;主体内容还可以是指原始视频帧中包含指定的目标对象的画面内容,如包含人物的画面内容。当然,本公开实施例还可根据实际需求,预先对主体内容进行设置,以使得裁剪出符合用户预期的图像区域。

在一些可能的实施方式中,还可以提供对待裁剪的图像区域进行预览的功能,基于起始像素点为裁剪起点,以裁剪到原始视频帧的主体内容为目标,确定候选区域并呈现候选区域,可响应于用户针对候选区域的触发操作,按照候选区域对原始视频帧进行裁剪,得到图像区域;或者,自呈现候选区域起,超过预设时长未接收到用户的触发操作,按照候选区域对原始视频帧进行裁剪,得到图像区域。

示例性的,图7示出了根据本公开示例性实施方式的一种对原始视频帧进行裁剪获得图像区域的示意图,在用户图形界面上呈现候选区域,以指示用户将按照该候选区域进行视频帧的裁剪处理,方便用户实时预览裁剪结果;并且,用户还能基于实时预览对候选区域进行调整,保证裁剪到图像区域的画面内容满足用户心理预期。

其中,可呈现候选区域的外轮廓(如图7所示),也可将候选区域通过闪烁等动效方式进行展现,当然,还可以采用其它的展现方式,对此不做特殊要求。用户针对候选区域的触发操作可以为单击、双连击或滑动等操作,对此也不做特殊限定。相反,若用户未及时触发,还可以自呈现候选区域起,超过预设时长未接收到触发操作,直接按照候选区域对原始视频帧进行裁剪即可。

在一些可能的实施方式中,为了使视频中的各视频帧满足用户的实际需求,还提供一种调整图像区域的实现方式。在以起始像素点为裁剪起点,按照第二分辨率对原始视频帧进行裁剪,获得图像区域之后,还可以响应于用户针对起始像素点的调整操作确定替换像素点,并以替换像素点以裁剪起点,按照第二分辨率对原始视频帧之后的每一视频帧进行裁剪。

在实际实施时,对原始视频帧按照起始像素点进行裁剪的图像区域,虽然图像区域的方向与预设方向一致,但图像区域的画面内容可能并不符合用户所需,用户可以对起始像素点进行调整确定替换像素点。

图8示出了根据本公开示例性实施方式的一种调整起始像素点的示意图,参见图8,首先以起始像素点P为裁剪起点获得图像区域A并呈现,然后根据用户在原始视频帧的触控点确定替换像素点Q,并以替换像素点Q为裁剪起点,按照第二分辨率对原始视频帧之后的每一视频帧进行裁剪获得图像区域B,进而使得后续的视频帧在保证方向与预设方向一致的情况下,确保画面内容的正确性。

在一示例性实施方式中,还提供另一种在原始视频帧中获取具有第二分辨率的图像区域的实现方式。在该实现方式中,无需确定裁剪的起始像素点,是对原始视频帧进行对象检测,以获得原始视频帧中主体内容对应的第一区域,并以裁剪到第一区域为目标,按照第二分辨率对原始视频帧进行裁剪,得到图像区域。

其中,对象检测算法可以为Fast R-CNN(区域卷积神经网络)算法、YOLO算法、SSD(Single Shot MultiBox Detector)算法等中的任一种,对此不做特殊限定。

实际实施时,本示例性实施方式可直接对原始视频帧的画面内容中的对象进行检测,确定出包含不同对象的区域,并从包含不同对象的区域中确定出主体内容对应的第一区域。其中,第一区域可以是包含不同对象的区域中面积最大的区域,亦可为包含目标对象的区域,本公开实施方式包括但不限于以上第一区域的类型。在确定第一区域后,可裁剪到满足第二分辨率且包含有第一区域的图像区域。

基于对视频帧的对象检测过程,还提供一种动态调整图像区域的实现方式。在以裁剪到第一区域为目标,按照第二分辨率对原始视频帧进行裁剪得到图像区域之后,还可以响应于主体内容在原始视频帧之后的每一视频帧中对应区域的变化,获取每一视频帧中的主体内容的第二区域,并根据第二区域和第二分辨率对每一视频帧进行裁剪。

示例性的,在网络直播或网络视频的过程中,可能因主播或用户的肢体移动或拍摄设备的移动导致主体内容在原始视频帧之后的视频帧中,的对应区域的位置可能发生改变,则可以实时地按照对象检测结果确定之后的视频帧中主体内容的第二区域,以按照第二分辨率在之后的视频帧中裁剪包含第二区域的图像区域,使得接收终端获得与预设方向一致且画面内容相对完整的视频帧。

在获得图像区域后,可根据之后发送终端采集到的每一视频帧中的对象检测结果确定主体内容对应的第二区域,实现近实时地调整裁剪出用户所需的图像区域。

在一示例性实施方式中,可对图像区域进行超分辨率处理,使得处理后的原始视频帧与原始视频帧具有相同的像素点数量,且处理后的原始视频帧保持目标比例,从而保证处理后的原始视频帧的方向与指定的预设方向一致、画面内容在方向上的正确性,并且不降低视频清晰度。

对图像区域进行超分辨率处理的过程可以是利用超分辨率网络对图像区域进行超分辨率处理。其中,超分辨率网络包括级联的第一网络、第二网络和第三网络,且第三网络包括至少两个超分子网络。其中,第一网络用于对图像进行特征提取,第二网络用于根据特征提取结果对图像进行分类,以利用第三网络中与分类结果对应的超分子网络对图像进行超分处理。

图9示出了根据本公开示例性实施方式的一种基于级联的第一网络、第二网络和第三网络对图像区域进行超分辨率处理的流程示意图。下面结合图9对本公开示例性实施方式的超分辨率处理过程进行说明。

步骤S910:将图像区域划分为多个图像块。

步骤S920:利用第一网络分别对每一图像块进行特征提取,获得每一图像块的图像特征。

其中,第一网络可以是双重注意力网络(Dual Attention Network,DANet),通过考虑到图像块中的特征关联性,使得第一网络更关注图像块中的重要特征,增强图像特征的表达能力,提高每一图像块提取图像特征的准确性。当然,第一网络还可以为其它类型的特征提取网络。

步骤S930:通过第二网络分别对图像块进行分类,得到每一图像块的分类结果。

第二网络可以是纹理分类网络、场景分类网络等,可根据实际需求确定。利用选定的第二网络对图像块进行分类处理,得到各图像块对应的分类结果。

步骤S940:针对每一图像块,基于图像块的分类结果,利用第三网络中对应的目标超分子网络对图像块进行超分辨率处理,获得重建图像块。

图像块的不同分类结果分别对应各自的超分子网络。在确定图像块的分类结果后,利用第三网络中对应的目标超分子网络对图像块进行超分辨率处理,得到每一图像块对应的重建图像块。

在一些可能的实施方式中,第二网络为纹理分类网络,相应的分类结果包括纹理分类结果。示例性的,若图像块的纹理分类结果为平坦纹理,则图像块按照第一超分子网络进行超分处理,若图像块的纹理分类结果为复杂纹理,则图像块按照第二超分子网络进行超分处理,其中不同的纹理类型反映了图像块的纹理复杂度,复杂纹理的图像块包含更多的细节像素;第二超分子网络的复杂度高于第一超分子网络,如第二超分子网络为CNN(Convolutional Neural Networks,卷积神经网络)网络,第一超分子网络为基于线性插值的网络(如亚像素卷积网络)。当然,本公开实施方式可按照纹理复杂度从平坦到复杂区分为不同的纹理分类等级,并为各纹理分类等级设置相应的超分子网络。

对于平坦纹理的图像块,使用复杂度不同的超分子网络进行超分处理的效果差别不大,因此利用复杂度较低的第一超分子网络进行超分处理,以降低超分处理的计算量;对于复杂纹理的图像块,为了保证图像块整体的超分效果,使用复杂度较高的第二超分子网络进行超分处理。并且,利用不同超分子网络并行地对各图像块进行超分处理,可进一步加速算法执行速度。

在一些可能的实施方式中,还可以进一步结合图像区域对应的处理场景确定目标超分子网络。其中,处理场景可根据原始视频帧对应的处理环境信息、应用场景信息确定,处理环境信息包括但不限于网络环境信息和设备环境信息,如发送终端的存储器大小、处理器性能、网络带宽等。应用场景信息包括实时性要求高的应用场景,如实时会议、实时视频、实时监控等,或实时性要求低的应用场景,如处理本地保存视频的场景。不同处理场景对视频的质量需求不同,即每一处理场景分别对应不同的图像质量指标信息。

基于此,可根据原始视频帧的场景识别结果,确定图像区域的处理场景,并结合处理场景对应的图像质量指标信息和纹理分类结果,确定目标超分子网络,以利用目标超分子网络对图像块进行超分处理,得到重建图像块。其中,图像质量指标信息包括不同的图像质量等级,可结合图像质量等级和纹理分类等级综合确定目标超分子网络。如需优先保证图像质量,则根据图像质量等级确定候选超分子网络,然后根据纹理分类等级从候选超分子网络中确定目标超分子网络。

本公开示例性实施方式,可采用与图像块匹配的目标超分子网络,分别对各图像块进行超分处理,降低超分计算量的同时,提升重建图像块的图像质量。

步骤S950:将各图像块对应的重建图像块进行融合,获得处理后的原

始视频帧。

将图像区域中各图像块对应的重建图像块进行融合,得到处理后的原始视频帧。

通过本公开示例性实施方式,采用级联的第一网络、第二网络和第三网络对图像区域进行超分辨率处理,挖掘图像块中的特征关联性,提高处理后原始视频帧在图像细节上表现力,且通过图像块的不同分类结果,按照对应的目标超分子网络进行超分处理,降低计算量并进一步提升图像质量。

在一示例性实施方式中,提供一种训练超分辨率网络的实现方式。如图10示出了根据本公开示例性实施方式的模型训练所涉及的阶段示意图。如图10,在步骤S1010中,首先利用图像样本对待训练的第一网络和第二网络进行级联训练,第一网络的输出作为第二网络的输入,其中图像样本包括各类视频场景下采集的图像;在步骤S1020中,将图像样本输入至训练后的第一网络,以对训练后的第一网络和训练后的第二网络与第三网络进行级联训练。

在步骤S1020中,利用训练后的第二网络输出的第一输出结果和对应的标准分类结果构建第一损失函数,并利用第三网络输出的第二输出结果和对应的参考图像结果构建第二损失函数。其中第一损失函数和第二损失函数为二元交叉熵损失,对此不做特殊限定。

其中,基于第一损失函数和第二损失函数,对待训练的超分辨率网络的参数进行调整,得到超分辨率网络。

其中,根据第一损失函数和第二损失函数构建模型总损失函数:

L=W1×L1+W2×L2 (5)

其中,W1和W2分别为第一损失函数和第二损失函数,L1和L2分别为第一损失函数和第二损失函数对应的权重。

本公开示例性实施方式的模型训练方法,结合第一损失函数和第二损失函数对模型的参数进行调整,提高图像块分类的准确性,并且确保图像重建质量。

通过本公开的示例性实施方式的视频处理方法,可以针对网络视频或网络直播过程的实时视频进行处理,满足这些场景对实时性的需求,使得发送终端与接收终端呈现的视频画面和效果均一致,也可以对本地保存的视频进行处理。在原始视频帧的方向与预设方向不同时,根据原始视频帧的第一分辨率确定目标比例,该目标比例作为处理后的原始视频帧进行网络传输时的画面比例,根据第一分辨率和目标比例确定第二分辨率,通过在原始视频中获取具有第二分辨率的图像区域,使得图像区域的方向与预设方向保持一致,从而实现将原始视频帧的方向调整为指定方向的视频帧的同时,可保证视频帧中画面内容在方向上的正确性。基于目标比例对图像区域进行超分辨率处理,在保证网络传输时的画面比例的同时,提升图像区域的视频清晰度,避免处理后的原始视频帧的清晰度降低,提升用户的视觉体验。

进一步的,本公开示例性实施方式还提供一种生成视频流的方法。如图11所示,本公开示例性实施方式的生成视频流的方法包括步骤S1110至步骤S1140:

步骤S1110:响应于原始视频帧的方向与预设方向不同,根据原始视频帧的第一分辨率确定目标比例,目标比例为处理后的原始视频帧进行网络传输时的画面比例;

步骤S1120:根据第一分辨率和目标比例确定第二分辨率,并在原始视频帧中获取具有第二分辨率的图像区域;

步骤S1130:基于目标比例,对图像区域进行超分辨率处理,获得处理后的原始视频帧;

步骤S1140:对各处理后的原始视频帧进行编码,生成视频流。

值得说明的是,步骤S1110至步骤S1130的具体实现细节已在上述视频处理方法的实施方式中详细记载,在此不再赘述。

在一示例性应用场景中,原始视频帧为发送终端采集的实时视频帧,在对各处理后的原始视频帧进行编码生成视频流后,可将编码得到的视频流发送至接收终端,以使发送终端与接收终端进行终端之间的实时视频传输。

实际实施时,在发送终端与接收终端之间通过网络进行实时视频时,在发送终端可根据指定的预设方向,将采集的原始视频帧按照本公开的视频处理方法进行处理,获得处理后的原始视频帧,并将处理后的原始视频帧进行编码生成视频流发送至接收终端,在实时视频过程中,充分利用发送终端的算力资源,在不降低画质的情况下,持续向接收终端发送方向和画面内容正确的视频,进而在接收终端准确呈现合适方向的视频内容,提高用户的视觉体验。

其中,发送终端与接收终端是相对概念。例如,实时视频过程中,当终端A将其采集的原始视频帧进行处理并编码后,发送至终端B,则终端A作为发送终端,终端B作为接收终端;相应的,当前终端B将其采集的原始视频帧进行处理并编码后发送至终端A,则终端B作为发送终端,终端A作为接收终端。

通过本公开示例性实施方式,可以使得图像区域的方向与预设方向保持一致,从而实现将原始视频帧的方向调整为指定方向的视频帧的同时,可保证视频帧中画面内容在方向上的正确性;并且,基于目标比例对图像区域进行超分辨率处理,在保证网络传输时的画面比例的同时,提升图像区域的视频清晰度,避免处理后的原始视频帧的清晰度降低;此外,根据各处理后的原始视频帧进行编码生成视频流,进而能够将方向和图像质量符合预期的视频数据作为稳定和连续的流来通过网络处理,适用于本地视频的处理场景的同时,可用于网络直播或网络视频场景下的视频交互。

示例性装置

在介绍了本公开示例性实施方式的视频处理方案之后,接下来,参考图12对本公开示例性实施方式的视频处理装置进行说明。需要说明的是,本公开实施方式的视频处理装置的各个功能模块的其他具体细节在上述视频处理方法的实施方式中已经详细说明,在此不再赘述。

图12示出了本公开示例性实施方式的视频处理装置1200,包括:

第一处理模块1210,用于响应于原始视频帧的方向与预设方向不同,根据原始视频帧的第一分辨率确定目标比例,目标比例为处理后的原始视频帧进行网络传输时的画面比例;

获取模块1220,用于根据第一分辨率和目标比例确定第二分辨率,并在原始视频帧中获取具有第二分辨率的图像区域;

第二处理模块1230,用于基于目标比例,对图像区域进行超分辨率处理,获得处理后的原始视频帧。

在一种可选的实施方式中,所述装置1200还包括:

信息采集模块,用于获取拍摄设备采集到的原始视频帧以及原始视频帧的视频信息;第一处理模块1210还用于根据视频信息确定原始视频帧的画面方向,并确定画面方向与预设方向不同;其中,若画面方向为横屏方向,且预设方向为竖屏方向,确定原始视频帧的画面方向与预设方向不同;或者,原始视频帧为竖屏方向,且预设方向为横屏方向,确定原始视频帧的画面方向与预设方向不同。

在一种可选的实施方式中,第一处理模块1210还用于:根据原始视频帧的宽高比确定原始视频帧的画面方向。

在一种可选的实施方式中,第一处理模块1210包括:第一确定单元,用于根据第一分辨率确定原始视频帧的原始宽度和原始高度;第二确定单元,用于将原始高度与原始宽度之间的比例作为目标比例。

在一种可选的实施方式中,获取模块1220还用于:若原始视频帧为横屏方向,根据原始高度和目标比例确定目标宽度;根据原始高度和目标宽度确定第二分辨率。

在一种可选的实施方式中,获取模块1220还用于:若原始视频帧为竖屏方向,根据原始宽度和目标比例确定目标高度;根据述原始宽度和目标高度确定第二分辨率。

在一种可选的实施方式中,获取模块1220还用于:结合原始宽度和第二分辨率对应的目标宽度,确定第一坐标信息;基于原始高度和第二分辨率对应的目标高度,确定第二坐标信息;根据第一坐标信息和第二坐标信息确定起始像素点,起始像素点作为图像区域的一个顶点;以起始像素点为裁剪起点,按照第二分辨率对原始视频帧进行裁剪,获得图像区域。

在一种可选的实施方式中,获取模块1220用于:基于起始像素点为裁剪起点,以裁剪到原始视频帧的主体内容为目标,按照第二分辨率对原始视频帧进行裁剪,得到图像区域;其中,相较于原始视频帧,图像区域中画面内容的方向不变。

在一种可选的实施方式中,获取模块1220还用于:基于起始像素点为裁剪起点,以裁剪到原始视频帧的主体内容为目标,确定候选区域并呈现候选区域;响应于用户针对候选区域的触发操作,按照候选区域对原始视频帧进行裁剪,得到图像区域;或者,自呈现候选区域起,超过预设时长未接收到用户的触发操作,按照候选区域对原始视频帧进行裁剪,得到图像区域。

在一种可选的实施方式中,装置1200还包括:第一调整模块,用于响应于用户针对起始像素点的调整操作,确定替换像素点;获取模块1220还用于以替换像素点以裁剪起点,按照第二分辨率对原始视频帧之后的每一视频帧进行裁剪。

在一种可选的实施方式中,装置1200还包括:检测模块,用于对原始视频帧进行对象检测,以获得原始视频帧中主体内容对应的第一区域;获取模块1220还用于以裁剪到第一区域为目标,按照第二分辨率对原始视频帧进行裁剪,得到图像区域。

在一种可选的实施方式中,装置1200还包括:第二调整模块,用于响应于主体内容在原始视频帧之后的每一视频帧中对应区域的变化,获取每一视频帧中的主体内容的第二区域;获取模块1220还用于根据第二区域和第二分辨率,对每一视频帧进行裁剪。

在一种可选的实施方式中,第二处理模块1230用于:对图像区域进行超分辨率处理,使得处理后的原始视频帧与原始视频帧具有相同的像素点数量,且处理后的原始视频帧保持目标比例。

在一种可选的实施方式中,第二处理模块1230还用于:利用超分辨率网络对图像区域进行超分辨率处理,超分辨率网络包括级联的第一网络、第二网络和第三网络,第三网络包括至少两个超分子网络;

其中,第二处理模块1230还包括:

划分单元,用于将图像区域划分为多个图像块;特征提取单元,用于利用第一网络分别对每一图像块进行特征提取,获得每一图像块的图像特征;分类单元,用于通过第二网络分别对图像块进行分类,得到每一图像块的分类结果;超分处理单元,用于针对每一图像块,基于图像块的分类结果,利用第三网络中对应的目标超分子网络对图像块进行超分辨率处理,获得重建图像块;融合处理单元,用于将各图像块对应的重建图像块进行融合,获得处理后的原始视频帧。

在一种可选的实施方式中,分类结果包括纹理分类结果;超分处理单元还用于:根据原始视频帧的场景识别结果,确定图像区域的处理场景;结合处理场景对应的图像质量指标信息和纹理分类结果,确定目标超分子网络;利用目标超分子网络对图像块进行超分处理,得到重建图像块。

在一种可选的实施方式中,装置1200还包括模型训练模块,用于获取超分辨率网络,模型训练模块还用于:利用图像样本对待训练的第一网络和第二网络进行级联训练,第一网络的输出作为第二网络的输入;将图像样本输入至训练后的第一网络,以对训练后的第一网络和训练后的第二网络与第三网络进行级联训练;其中,利用所述训练后的第二网络输出的第一输出结果和对应的标准分类结果构建第一损失函数,并利用第三网络输出的第二输出结果和对应的参考图像结果构建第二损失函数;基于第一损失函数和第二损失函数,对待训练的超分辨率网络的参数进行调整,得到超分辨率网络。

进一步的,本公开示例性实施方式还提供一种生成视频流的装置,如图13,该生成视频流的装置1300可以包括第一处理模块1310、获取模块1320、第二处理模块1330和编码模块1340,具体地:

第一处理模块1310,用于响应于原始视频帧的方向与预设方向不同,根据原始视频帧的第一分辨率确定目标比例,目标比例为处理后的原始视频帧进行网络传输时的画面比例;

获取模块1320,用于根据第一分辨率和目标比例确定第二分辨率,并在原始视频帧中获取具有第二分辨率的图像区域;

第二处理模块1330,用于基于目标比例,对图像区域进行超分辨率处理,获得处理后的原始视频帧;

编码模块1340,用于对各处理后的原始视频帧进行编码,生成视频流。

在一种可选的实施方式中,原始视频帧为发送终端采集的实时视频帧,装置1600还包括:实时通信模块,用于将编码得到的视频流发送至接收终端,以使发送终端与接收终端进行终端之间的实时视频传输。

需要说明的是,本公开实施方式的生成视频流的装置的各个功能模块的其他具体细节在上述生成视频流的方法的实施方式中已经详细说明,在此不再赘述。

应当注意,尽管在上文详细描述中提及了的视频处理装置或生成视频流的装置若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。

示例性存储介质

下面对本公开示例性实施方式的存储介质进行说明。本示例性实施方式中,提供了根据本公开的示例性实施方式的用于实现上述方法的程序产品,如可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在设备,例如个人电脑上运行。然而,本公开的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。

该程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。

计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。

可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RE等等,或者上述的任意合适的组合。

可以以一种或多种程序设计语言的任意组合来编写用于执行本公开操作的程序代码,程序设计语言包括面向对象的程序设计语言-诸如Java、C++等,还包括常规的过程式程序设计语言-诸如"C"语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(FAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。

示例性电子设备

参考图14对本公开示例性实施方式的电子设备进行说明。图14显示的电子设备1400仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。

如图14所示,电子设备1400以通用计算设备的形式表现。电子设备1400的组件可以包括但不限于:至少一个处理单元1410、至少一个存储单元1420、连接不同系统组件(包括存储单元1420和处理单元1410)的总线1430、显示单元1440。

其中,存储单元存储有程序代码,程序代码可以被处理单元1410执行,使得处理单元1410执行本说明书上述"示例性方法"部分中描述的根据本公开各种示例性实施方式的步骤。例如,处理单元1410可以执行如图1所示的方法步骤等。存储单元1420可以包括易失性存储单元,例如随机存取存储单元(RAM)1421和/或高速缓存存储单元1422,还可以进一步包括只读存储单元(ROM)1423。存储单元1420还可以包括具有一组(至少一个)程序模块1425的程序/实用工具1424,这样的程序模块1425包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。

总线1430可以包括数据总线、地址总线和控制总线。

电子设备1400也可以与一个或多个外部设备1500(例如键盘、指向设备、蓝牙设备等)通信,这种通信可以通过输入/输出(I/O)接口1450进行。电子设备1400还包括显示单元1440,其连接到输入/输出(I/O)接口1450,用于进行显示。并且,电子设备1400还可以通过网络适配器1460与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器1460通过总线1430与电子设备1400的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备1400使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。

应当注意,尽管在上文详细描述中提及了装置的若干模块或子模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多单元/模块的特征和功能可以在一个单元/模块中具体化。反之,上文描述的一个单元/模块的特征和功能可以进一步划分为由多个单元/模块来具体化。

尽管在附图中以特定顺序描述了本公开方法的操作,但并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。

虽然已参考若干具体实施方式描述本公开的精神和原理,但应该理解,本公开并不限于所公开的具体实施方式,对各方面的划分也不意味着这些方面中的特征不能组合以进行受益,这种划分仅是为表述的方便。本公开旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等同布置。

相关技术
  • 基于视频处理方法及装置、视频设备及存储介质
  • 视频生成、视频播放方法、装置、电子设备及存储介质
  • 视频处理方法、装置、计算机设备和存储介质
  • 视频处理方法、装置、电子设备及存储介质
  • 视频处理方法、装置、电子设备及存储介质
  • 视频流处理方法、视频流显示方法、装置及设备
  • 视频流对象处理方法、装置、视频流处理系统、电子设备
技术分类

06120115938443