CN110992260B - 一种视频超分辨率重建的方法和装置 - Google Patents
一种视频超分辨率重建的方法和装置 Download PDFInfo
- Publication number
- CN110992260B CN110992260B CN201910980047.1A CN201910980047A CN110992260B CN 110992260 B CN110992260 B CN 110992260B CN 201910980047 A CN201910980047 A CN 201910980047A CN 110992260 B CN110992260 B CN 110992260B
- Authority
- CN
- China
- Prior art keywords
- resolution
- video
- reconstructed
- super
- reconstruction
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformation in the plane of the image
- G06T3/40—Scaling the whole image or part thereof
- G06T3/4053—Super resolution, i.e. output image resolution higher than sensor resolution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
Abstract
本发明公开了一种视频超分辨率重建的方法和装置,属于图像处理技术领域。所述方法包括:基于卷积神经网络和加速器框架生成多个预设分辨率对应的引擎文件,其中,所述引擎文件用于对视频进行超分辨率重建;基于GPU设备创建多个工作线程,设置每个所述工作线程的私有数据;根据待重建视频的分辨率,确定目标引擎文件,并在选取的多个目标工作线程上加载所述目标引擎文件;通过所述多个目标工作线程对所述待重建视频的视频数据进行图像推理,生成超分辨率重建后的视频数据。采用本发明,可以不同分辨率视频的超分辨率重建,并且可以提高超分辨率重建的效率,减少设备资源消耗,满足视频的实时性播放需求。
Description
技术领域
本发明涉及图像处理技术领域,特别涉及一种视频超分辨率重建的方法和装置。
背景技术
超分辨率重建技术是一种将低分辨率图像通过一定的算法转换为具有更高像素密度、更多细节信息的高分辨率图像。而随着深度学习技术的不断发展,通过卷积神经网络对图像进行超分辨率重建已成为研究重点,其采用大量的高分辨率图像构造素材库,以训练生成超分辨率重建模型,再使用超分辨率重建模型对低分辨率图像执行超分辨率重建。
具体过程中,可以先通过对高分辨率图像进行降质处理,生成低分辨率图像,并将高分辨率图像和低分辨率图像进行分块对应,从而以大量相互对应的图像块作为模型训练素材,之后可以采用模型训练素材通过卷积神经网络进行机器学习,训练生成超分辨率重建模型。进而在执行超分辨率重建时,可以以输入的低分辨率图像为依据,通过超分辨率重建模型构造高分辨率图像。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
超分辨率重建技术开始应用于视频领域,主要通过超分辨率重建模型将低分辨率视频帧重建为高分辨率视频帧,以增强视频画质和清晰度。然而,由于视频可以认为是大量连续的图像,利用原有的图像超分辨率重建方案对视频逐帧进行超分辨率重建,将需要消耗大量的设备处理资源,同时也无法满足视频的实时性播放需求。
发明内容
为了解决现有技术的问题,本发明实施例提供了一种视频超分辨率重建的方法和装置。所述技术方案如下:
第一方面,提供了一种视频超分辨率重建的方法,所述方法包括:
基于卷积神经网络和加速器框架生成多个预设分辨率对应的引擎文件,其中,所述引擎文件用于对视频进行超分辨率重建;
基于GPU设备创建多个工作线程,设置每个所述工作线程的私有数据;
根据待重建视频的分辨率,确定目标引擎文件,并在选取的多个目标工作线程上加载所述目标引擎文件;
通过所述多个目标工作线程对所述待重建视频的视频数据进行图像推理,生成超分辨率重建后的视频数据。
第二方面,提供了一种视频超分辨率重建的装置,所述装置包括:
引擎生成模块,用于基于卷积神经网络和加速器框架生成多个预设分辨率对应的引擎文件,其中,所述引擎文件用于对视频进行超分辨率重建;
线程创建模块,用于基于GPU设备创建多个工作线程,设置每个所述工作线程的私有数据;
引擎加载模块,用于根据待重建视频的分辨率,确定目标引擎文件,并在选取的多个目标工作线程上加载所述目标引擎文件;
图像推理模块,用于通过所述多个目标工作线程对所述待重建视频的视频数据进行图像推理,生成超分辨率重建后的视频数据。
第三方面,提供了一种网络设备,所述网络设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如第一方面所述的视频超分辨率重建的方法。
第四方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如第一方面所述的视频超分辨率重建的方法。
本发明实施例提供的技术方案带来的有益效果是:
本发明实施例中,基于卷积神经网络和加速器框架生成多个预设分辨率对应的引擎文件,其中,引擎文件用于对视频进行超分辨率重建;基于GPU设备创建多个工作线程,设置每个工作线程的私有数据;根据待重建视频的分辨率,确定目标引擎文件,并在选取的多个目标工作线程上加载目标引擎文件;通过多个目标工作线程对待重建视频的视频数据进行图像推理,生成超分辨率重建后的视频数据。这样,利用加速器框架生成不同分辨率对应的用于超分辨率重建的加速引擎,并在GPU设备上预加载引擎,采用多线程方式并行执行视频数据的图像推理,从而可以实现不同分辨率视频的超分辨率重建,并且可以提高超分辨率重建效率,减少设备资源消耗,满足视频的实时性播放需求。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种视频超分辨率重建的方法流程图;
图2是本发明实施例提供的一种视频图像分割和拼接的流程示意图;
图3是本发明实施例提供的一种分辨率调节和恢复的流程示意图;
图4是本发明实施例提供的一种分辨率调节和恢复的流程示意图;
图5是本发明实施例提供的一种分辨率调节和恢复的流程示意图;
图6是本发明实施例提供的一种视频超分辨率重建的装置结构示意图;
图7是本发明实施例提供的一种网络设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
本发明实施例提供了一种视频超分辨率重建的方法,所述方法适用于任意具备图像处理功能的网络设备,该网络设备上可以设置有深度学习框架,用于训练生成超分辨率重建模型,同时可以设置有加速器框架,用于利用已有的超分辨率重建模型,执行图像推理操作,从而实现超分辨率重建处理,本实施例将以加速器框架为NVIDIA TensorRT框架为例进行说明。从硬件配置上讲,网络设备上还可以设置有CPU设备、GPU设备、内存和显存,分别用于具体执行超分辨率重建过程中各个环节的处理,其中,CPU设备主要可以用于模型训练,引擎创建、以及视频数据的编解码、格式转换等处理,GPU设备主要用于执行引擎进行图像推理,而内存和显存分别用于在CPU设备和GPU设备执行处理时提供数据存储的功能。
下面将结合具体实施方式,对图1所示的处理流程进行详细的说明,内容可以如下:
步骤201,基于卷积神经网络和TensorRT框架生成多个预设分辨率对应的引擎文件。
其中,引擎文件用于对视频进行超分辨率重建;
预设分辨率可以是技术人员根据视频的常用分辨率而预先确定的固定尺寸的分辨率,其可以根据视频播放状态针对性地分为横屏和竖屏两大类,每类下可以包括由小至大的多个预设分辨率,例如,横屏类分辨率(宽×高)可以包括:640×360、960×540、1280×720、1920×1080;竖屏类分辨率(宽×高)可以包括:360×640、540×960、720×1280、1080×1920。
在实施中,由于TensorRT引擎需要具备固定尺寸的特性,网络设备可以按照技术人员给定的多个预设分辨率,利用卷积神经网络和TensorRT框架,生成上述多个预设分辨率对应的可以用于执行超分辨率重建的引擎文件。同时,网络设备还可以将得到的各预设分辨率对应的引擎文件进行压缩,使其便于存储和传输,此处具体可采用常规压缩算法进行压缩。而相对应的,后续在工作线程上加载引擎文件时,则需要先进行解压缩处理。需要说明的是,每个预设分辨率均可以对应多个不同图像重建倍率,也即每个预设分辨率可以对应多个不同图像重建倍率下的引擎文件,图像重建倍率即为图像在超分辨率重建后的分辨率与原分辨率的大小比例,如可以是1倍、2倍、3倍等,例如,图像原分辨为640×360,图像重建倍率为2倍,则超分辨率重建后的分辨率即为1280×720;而进一步的,每个预设分辨率下的每个图像重建倍率均可以对应一个用于实现相应超分辨重建处理的引擎文件。
可选的,可以通过模型-引擎-引擎文件的步骤,实现引擎文件的生成,相应的,步骤101的处理具体可以如下:基于卷积神经网络训练生成多个预设分辨率对应的超分辨率重建模型;对超分辨率重建模型进行格式转换,并将所有超分辨率重建模型输入至TensorRT框架,生成多个预设分辨率对应的重建引擎;将所有重建引擎进行序列化处理,生成多个预设分辨率对应的用于超分辨率重建的引擎文件。
在实施中,网络设备可以先利用预设的深度学习框架,通过卷积神经网络训练生成多个预设分辨率对应的超分辨率重建模型,并以文件的形式保存每个超分辨率重建模型。其中,深度学习框架可以采用TensorFlow、PyTorch、Keras或Caffe等框架。之后,网络设备可以通过NVIDIA TensorRT官方提供的转换脚本对超分辨率重建模型进行格式转换,以便将超分辨率重建模型输入至TensorRT框架中。以深度学习框架为TensorFlow为例,生成的超分辨率重建模型可以保存为pb格式的模型文件,格式转化时可以将pb格式的模型文件转换为uff格式的模型文件。继而,网络设备可以将格式转换完成的超分辨重建模型输入至TensorRT框架中,创建生成多个预设分辨率对应的重建引擎,同时还可以采用FP16方式、或者DLA硬件加速对重建引擎进行优化。然后,网络设备可以将所有重建引擎进行序列化处理,从而生成多个预设分辨率对应的用于超分辨率重建的引擎文件。相对应的,后续在工作线程上加载引擎文件时,则需要对引擎文件进行反序列化处理。
步骤102,基于GPU设备创建多个工作线程,设置每个工作线程的私有数据。
在实施中,网络设备创建了多个预设分辨率对应引擎文件后,可以再基于GPU设备创建多个工作线程,具体可以在每个GPU设备上分别创建一个工作线程,并针对每个工作线程设置包括引擎上下文、内存输入/输出缓冲区、显存输入/输出缓冲区等在内的私有数据,且各个工作线程的私有数据相互独立,互不干扰。
值得一提的是,在不同实施例下,工作线程的设置时刻也存在不同:
其一,网络设备可以在确定了待重建视频后,根据待重建视频的参数,确定需要创建的工作线程个数,以及针对各个工作线程设置相应的私有数据;在对待重建视频完成超分辨率重建后,网络设备可以删除上述工作线程,以释放设备处理资源;而出现了新的待重建视频后,网络设备可以再次针对新的待重建视频,创建新的工作线程,并执行后续处理。
其二,网络设备可以先基于GPU设备创建多个工作线程,并完成每个工作线程的私有数据的设置。当出现待重建视频时,可以在已创建的多个工作线程中选取部分或全部工作线程,用于执行超分辨率重建处理;而重建完成后,网络设备可以继续保留工作线程,用于后续视频的超分辨率重建。
可以理解,基于上述处理,网络设备可以同时执行多个视频的超分辨率重建处理。优选的,网络设备可以基于全部的GPU设备创建工作线程,并使用全部的工作线程来执行同一视频的超分辨率重建处理,从而可以提高超分辨率重建的速率和实时性。
步骤103,根据待重建视频的分辨率,确定目标引擎文件,并在选取的多个目标工作线程上加载目标引擎文件。
在实施中,网络设备可以根据待重建视频的分辨率,在步骤101生成的多个引擎文件中选取一个目标引擎文件。之后,网络设备可以再在步骤102创建的所有工作线程中选取用于执行超分辨率重建处理的多个目标工作线程,然后对每个目标工作线程进行初始化操作,并在每个目标工作线程对应的GPU设备上分别加载一次目标引擎文件,从而生成针对各目标工作线程的引擎上下文。值得一提的是,如果步骤101中每个预设分辨率对应有多个不同图像重建倍率下的引擎文件,则在确定目标引擎文件时,需要同时根据待重建视频的分辨率和指定的图像重建倍率来确定目标引擎文件,并进行后续处理。
可选的,在确定目标引擎文件时,可以从步骤101生成的所有引擎文件中,选取对应的预设分辨率不小于待重建视频的分辨率,且与待重建视频的分辨率最接近的引擎文件作为目标引擎文件。
在实施中,网络设备在针对待重建视频从步骤101生成的所有引擎文件中选取引擎文件时,可以根据待重建视频的分辨率,先确定横屏类分辨率或者竖屏类分辨率,再在该类下的所有预设分辨率中,选取不小于待重建视频的分辨率,且与待重建视频的分辨率最接近的目标分辨率,然后可以将目标分辨率对应的引擎文件作为目标引擎文件。例如,以横屏类分辨率包括640×360、960×540、1280×720、1920×1080为例,如果待重建视频的分辨率为1000×900,则可以选取1920×1080对应的引擎文件,如果待重建视频的分辨率为1000×700,则可以选取1280×720对应的引擎文件。这样,可以保证后续在进行图像推理可以完整覆盖各帧视频数据的全部内容,且可以最大程度地减少图像推理的工作量。
可选的,对于超出所有预设分辨率的视频,选取目标引擎文件的方式可以如下:
其一,如果步骤101生成的所有引擎文件对应的预设分辨率均小于待重建视频的分辨率,则选取最大预设分辨率对应的引擎文件作为目标引擎文件。
在实施中,网络设备在确定了待重建视频的分辨率后,如果发现已有的所有引擎文件对应的预设分辨率均小于待重建视频的分辨率,则可以选取最大预设分辨率对应的引擎文件作为目标引擎文件。例如,以横屏类分辨率包括640×360、960×540、1280×720、1920×1080为例,如果待重建视频的分辨率为2000×1920,则可以选取1920×1080对应的引擎文件。
其二,如果步骤101生成的所有引擎文件对应的预设分辨率均小于待重建视频的分辨率,则对待重建视频的各帧图像进行分块;针对各个图像块,分别从步骤101生成的所有引擎文件中,选取对应的预设分辨率不小于图像块的分辨率,且与图像块的分辨率最接近的引擎文件作为目标引擎文件。
在实施中,网络设备在确定了待重建视频的分辨率后,如果发现已有的所有引擎文件对应的预设分辨率均小于待重建视频的分辨率,则可以对待重建视频的各帧图像进行分块,将一帧图像内容分为多个图像块。之后,针对每个图像块,网络可以选取对应的预设分辨率不小于图像块的分辨率,且与图像块的分辨率最接近的引擎文件作为目标引擎文件。后续,网络设备也可以利用各图像块对应目标引擎文件,将每个图像块作为一张独立的图像进行超分辨重建,并在重建完成后根据分块标准,对同属于一帧图像的所有图像块反向进行图像拼接,从而实现一帧图像的超分辨率重建处理。此处,对图像的分块处理,优先对图像进行等比例分割,以使分割得到的各图像块的大小统一,从而保证同一帧图像中各图像块的超分辨率重建速率接近相同,便于图像块的拼接整合;并且一帧图像分割后的图像块数量尽量最少,使得可以以最少的工作线程来完成一帧图像的超分辨率重建处理,同时可以降低图像分割和拼接的工作量。上述过程可参照图2所示。
可选的,在选取目标工作线程前,可以根据超分辨率重建的实时性需求,来确定目标工作线程的个数,相应的处理可以如下:如果待重建视频为直播视频,则根据待重建视频的帧率和分辨率,以及每个工作线程的超分辨率重建速率,选取多个目标工作线程。
在实施中,目前常规的视频大致分为直播视频和点播视频,相对而言,直播视频更注重超分辨率重建的实时性。故而,在对待重建视频进行超分辨率重建前,网络设备可以先判断待重建视频是否为直播视频,如果是,则可以获取待重建视频的帧率和分辨率,以及针对待重建视频的分辨率下每个工作线程的超分辨率重建速率(必要时,也可以考虑图像重建倍率的影响)。之后,网络设备可以按照超分辨率重建速率确定出单个工作线程每秒内能够重建完成的图像数量,进而可以根据待重建视频的帧率与该图像数量,确定出目标工作线程的选取个数。例如视频帧率为30帧/s,工作线程的超分辨率重建速率为8张/s,则至少需要选取4个目标工作线程。这样,通过视频帧率和重建速率计算工作线程个数,既可以保证视频超分辨重建的实时性,也可以节省网络设备的处理资源,同时可以避免过多的工作线程被占用,而无法及时处理突发任务的情况。
步骤104,通过多个目标工作线程对待重建视频的视频数据进行图像推理,生成超分辨率重建后的视频数据。
在实施中,网络设备在目标工作线程上加载了目标引擎文件后,可以将待重建视频的视频数据,按序输入至多个目标工作线程的内存输入缓冲区。之后,网络设备可以采用NVIDIA的HostToDevice方式从内存输入缓冲区中将视频数据拷贝至显存输入缓冲区,从而可以通过多个目标工作线程对待重建视频的每帧视频数据进行图像推理,即每个目标工作线程可以独立负责一帧视频数据的图像推理,N个目标工作线程可以同时并行N帧视频数据的图像推理。接下来,网络设备可以将输出至显存输出缓冲区内的推理结果,通过NVIDIA的DeviceToHost方式,拷贝至内存输出缓冲区,从而得到超分辨率重建后的视频数据。
需要说明的是,原始的视频数据是整数形式,而TensorRT框架下的引擎采用的是浮点数,则在将视频数据从内存输入缓冲区拷贝至显存输入缓冲区前,可以对视频数据进行归一化操作,即将视频数据中的像素值都除以255;同理,在将推理结果从显存输出缓冲区拷贝至内存输出缓冲区前,可以对视频数据进行反归一化操作,即将推理结果中的像素值都乘以255。上述归一化和反归一化操作均可采用NVIDIA的CUDA编程接口来执行,以缩短操作耗时、提升操作效率。
可选的,步骤104的处理具体可以如下:对待重建视频进行解码,并基于目标引擎文件对应的预设分辨率对解码得到的各帧视频数据进行分辨率调节;通过多个目标工作线程中的引擎上下文,对调节后的各帧视频数据进行图像推理,并对推理结果进行分辨率恢复;基于待重建视频的视频参数,对恢复后的推理结果进行编码,生成超分辨率重建后的视频数据。
在实施中,网络设备在目标工作线程上加载了目标引擎文件后,可以对待重建视频进行解码,并将解码得到的视频数据依序输入一个目标工作线程的私有数据对应的内存输入缓冲区。之后网络设备可以基于目标引擎文件对应的预设分辨率,对解码得到的各帧视频数据进行分辨率调节,以使调节后的视频数据的分辨率与目标引擎文件对应的预设分辨率一致。进一步的,网络设备可以将调节后的视频数据拷贝至显存输入缓冲区,再通过多个目标工作线程中的引擎上下文,对显存输入缓冲区中的视频数据进行图像推理,并将推理结果输出至目标工作线程的私有数据对应的显存输出缓冲区。此处的图像推理指的是,运行引擎上下文构建神经网络结构,将视频数据输入神经网络结构,执行相应的卷积操作以及激活函数后得到相应的输出(即推理结果)。接下来,网络设备可以对推理结果进行分辨率恢复,即将分辨率恢复至超分辨率重建后的视频数据所需的分辨率大小。最后,网络设备可以将恢复后的推理结果输入内存输出缓冲区,再基于待重建视频的视频参数,对恢复后的推理结果进行编码,生成编码格式、色域及时间戳均与原始视频相同的视频数据。这样,通过分辨率调节和恢复的处理,可以利用有限的引擎文件,完成对多种不同分辨率视频的超分辨率重建处理,而无需对每种分辨率都生成一个对应的引擎文件。
此处,如果视频数据的原始数据格式与引擎文件所需的数据格式不一致,则在解码视频数据后,输入内存输入缓冲区前,对视频数据进行格式转换。以视频数据的原始数据格式为YUV420P格式,引擎文件所需的数据格式为RGB格式为例,网络设备可以通过libyuv,或者通过CUDA编程接口来实现格式转换。同理,在从显卡输出缓冲区拷贝到推理结果后,网络设备可以对推理结果进行格式转换,将推理结果的数据格式还原为视频数据的原始数据格式。
可选的,本实施例基于不同的目标引擎文件选取结果,给出了多种分辨率调节和恢复的处理,具体内容可以如下:
第一种,分辨率调节包括将待重建视频的各帧图像缩放至目标引擎文件对应的预设分辨率;分辨率恢复包括基于待重建视频的分辨率和图像重建倍率,对推理结果进行缩放还原。
在实施中,网络设备在对待重建视频的各帧图像进行分辨率调节时,可以基于目标引擎文件对应的预设分辨率,对各帧图像进行缩放处理,使得缩放后各帧图像的分辨率与目标引擎文件对应的预设分辨率相同。相应的,在对推理结果进行分辨率恢复时,网络设备可以基于待重建视频的分辨率(即原始分辨率)和图像重建倍率(可以是1倍或多倍),对得到的推理结果进行缩放还原。举例来说,如图3所示,若目标引擎文件对应的预设分辨率为1280×720,而待重建视频的分辨率为1080×720,则可以保持各帧图像的高度不变,将宽度由1080缩放至1280,而若图像重建倍率为2倍,则推理结果的分辨率将为2560×1440,而分辨率恢复的标准为2160×1440,故而可以保持推理结果的高度不变,将宽度由2560缩放至2160。这样,通过直接对视频图像进行缩放处理,可以减少分辨率调节和恢复的工作量,有效降低该过程中消耗的设备资源。
第二种,分辨率调节包括:如果待重建视频的分辨率小于目标引擎文件对应的预设分辨率,则对待重建视频的各帧图像进行边缘空白补充,以使各帧图像的分辨率与目标引擎文件对应的预设分辨率相同;分辨率恢复包括:基于待重建视频的分辨率和图像重建倍率,对推理结果进行边缘空白删除。
在实施中,如果待重建视频的分辨率小于目标引擎文件对应的预设分辨率,网络设备则可以通过对待重建视频的各帧图像进行边缘空白补充的方式,对各帧图像进行分辨率调节,从而可以使得补充后的各帧图像的分辨率与目标引擎文件对应预设分辨率相同。相应的,在进行分辨率恢复的过程中,网络设备可以基于待重建视频的分辨率和图像重建倍率,对推理结果进行边缘空白删除,即删除推理结果中边缘处的空白内容。举例而言,如图4所示,若目标引擎文件对应的预设分辨率为1280×960,而待重建视频的分辨率为1080×720,则可以保持各帧图像的宽、高均不变,在各帧图像的右侧和下方边缘区域增补空白内容,以构成分辨率为1280×960的图像,而若图像重建倍率为2倍,则推理结果的分辨率将为2560×1920,而分辨率恢复的标准为2160×1440,故而可以将推理结果的右侧和下方的空白边缘区域删除,保留左上方2160×1440区域中的内容。这样,通过边缘空白补充和删除的方式来实现分辨率调节和恢复,可以保持各帧图像中的宽高比例相同,避免各帧图像的画面内容因缩放而变形失真。
第三种,分辨率调节包括:如果待重建视频的分辨率大于目标引擎文件对应的预设分辨率,则依序对待重建视频的各帧图像进行等比例缩放和边缘空白补充,以使各帧图像的分辨率与目标引擎文件对应的预设分辨率相同;分辨率恢复包括:基于待重建视频的分辨率和图像重建倍率,对推理结果进行边缘空白删除和等比例缩放还原。
在实施中,如果待重建视频的分辨率大于目标引擎文件对应的预设分辨率,网络设备在对各帧图像进行分辨率调节时,可以先对待重建视频的各帧图像进行等比例缩放,使得缩放后的各帧图像的分辨率小于目标引擎文件对应的预设分辨率,之后,网络设备可以再对缩放后的各帧图像进行边缘空白补充,以使补充后的各帧图像的分辨率与目标引擎文件对应的预设分辨率相同。相应的,在进行分辨率恢复的过程中,网络设备可以基于待重建视频的分辨率和图像重建倍率,先对推理结果进行边缘空白删除,以去除无用的图像内容,再对删除处理后的推理结果进行等比例缩放还原。举例而言,如图5所示,若目标引擎文件对应的预设分辨率为1080×720,而待重建视频的分辨率为1280×960,则可以先将各帧图像等比例缩放为960×720,然后在各帧图像的右侧边缘区域增补空白内容,以构成分辨率为1080×720的图像,而若图像重建倍率为2倍,则推理结果的分辨率将为2160×1440,而分辨率恢复的标准为2560×1920,故而可以将推理结果的右侧空白边缘区域删除,保留左侧1920×1440区域中的内容,然后再对保留的图像内容进行等比例缩放,恢复至2560×1920。这样,对于分辨率较大的视频图像,通过等比例缩放加边缘空白补充/删除的方式来实现分辨率调节和恢复,可以保持各帧图像中的宽高比例相同,避免各帧图像的画面内容因非等比例缩放而变形失真。
值得一提的是,为了提高缩放速率,上述缩放和缩放还原的处理均可采用硬件加速的方式实现,具体可以在NVIDIA的GPU设备上通过npp或CUDA编程接口来实现。
本发明实施例中,基于卷积神经网络和加速器框架生成多个预设分辨率对应的引擎文件,其中,引擎文件用于对视频进行超分辨率重建;基于GPU设备创建多个工作线程,设置每个工作线程的私有数据;根据待重建视频的分辨率,确定目标引擎文件,并在选取的多个目标工作线程上加载目标引擎文件;通过多个目标工作线程对待重建视频的视频数据进行图像推理,生成超分辨率重建后的视频数据。这样,利用加速器框架生成不同分辨率对应的用于超分辨率重建的加速引擎,并在GPU设备上预加载引擎,采用多线程方式并行执行视频数据的图像推理,从而可以实现不同分辨率视频的超分辨率重建,并且可以提高超分辨率重建效率,减少设备资源消耗,满足视频的实时性播放需求。
基于相同的技术构思,本发明实施例还提供了一种视频超分辨率重建的装置,如图6所示,所述装置包括:
引擎生成模块601,用于基于卷积神经网络和加速器框架生成多个预设分辨率对应的引擎文件,其中,所述引擎文件用于对视频进行超分辨率重建;
线程创建模块602,用于基于GPU设备创建多个工作线程,设置每个所述工作线程的私有数据;
引擎加载模块603,用于根据待重建视频的分辨率,确定目标引擎文件,并在选取的多个目标工作线程上加载所述目标引擎文件;
图像推理模块604,用于通过所述多个目标工作线程对所述待重建视频的视频数据进行图像推理,生成超分辨率重建后的视频数据。
可选的,所述引擎生成模块601,具体用于:
基于卷积神经网络训练生成多个预设分辨率对应的超分辨率重建模型;
对所述超分辨率重建模型进行格式转换,并将所有超分辨率重建模型输入至加速器框架,生成所述多个预设分辨率对应的重建引擎;
将所有重建引擎进行序列化处理,生成所述多个预设分辨率对应的引擎文件。
可选的,所述图像推理模块604,具体用于
对所述待重建视频进行解码,并基于所述目标引擎文件对应的预设分辨率对解码得到的各帧视频数据进行分辨率调节;
通过所述多个目标工作线程中的引擎上下文,对调节后的所述各帧视频数据进行图像推理,并对推理结果进行分辨率恢复;
基于所述待重建视频的视频参数,对恢复后的所述推理结果进行编码,生成超分辨率重建后的视频数据。
图7是本发明实施例提供的网络设备的结构示意图。该网络设备700可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器722(例如,一个或一个以上处理器)和存储器732,一个或一个以上存储应用程序742或数据744的存储介质730(例如一个或一个以上海量存储设备)。其中,存储器732和存储介质730可以是短暂存储或持久存储。存储在存储介质730的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对网络设备700中的一系列指令操作。更进一步地,中央处理器722可以设置为与存储介质730通信,在网络设备700上执行存储介质730中的一系列指令操作。
网络设备700还可以包括一个或一个以上电源729,一个或一个以上有线或无线网络接口750,一个或一个以上输入输出接口758,一个或一个以上键盘756,和/或,一个或一个以上操作系统741,例如Windows Server,Mac OS X,Unix,Linux,FreeBSD等等。
网络设备700可以包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行上述视频超分辨率重建的指令。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (16)
1.一种视频超分辨率重建的方法,其特征在于,所述方法包括:
基于卷积神经网络和加速器框架生成多个预设分辨率对应的引擎文件,其中,所述引擎文件用于对视频进行超分辨率重建,所述预设分辨率包括横屏类分辨率和竖屏类分辨率;
基于GPU设备创建多个工作线程,设置每个所述工作线程的私有数据;
根据待重建视频的分辨率,确定目标引擎文件,并在选取的多个目标工作线程上加载所述目标引擎文件;
通过所述多个目标工作线程对所述待重建视频的视频数据进行图像推理,生成超分辨率重建后的视频数据。
2.根据权利要求1所述的方法,其特征在于,所述基于卷积神经网络和加速器框架生成多个预设分辨率对应的引擎文件,包括:
基于卷积神经网络训练生成多个预设分辨率对应的超分辨率重建模型;
对所述超分辨率重建模型进行格式转换,并将所有超分辨率重建模型输入至加速器框架,生成所述多个预设分辨率对应的重建引擎;
将所有重建引擎进行序列化处理,生成所述多个预设分辨率对应的引擎文件。
3.根据权利要求1所述的方法,其特征在于,所述根据待重建视频的分辨率,确定目标引擎文件,包括:
从生成的所有所述引擎文件中,选取对应的预设分辨率不小于待重建视频的分辨率,且与所述待重建视频的分辨率最接近的引擎文件作为目标引擎文件。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
如果生成的所有所述引擎文件对应的预设分辨率均小于待重建视频的分辨率,则选取最大预设分辨率对应的引擎文件作为目标引擎文件。
5.根据权利要求3所述的方法,其特征在于,所述方法还包括:
如果生成的所有所述引擎文件对应的预设分辨率均小于待重建视频的分辨率,则对所述待重建视频的各帧图像进行分块;
针对各个图像块,分别从生成的所有所述引擎文件中,选取对应的预设分辨率不小于所述图像块的分辨率,且与所述图像块的分辨率最接近的引擎文件作为目标引擎文件。
6.根据权利要求1所述的方法,其特征在于,所述通过所述多个目标工作线程对所述待重建视频的视频数据进行图像推理,生成超分辨率重建后的视频数据,包括:
对所述待重建视频进行解码,并基于所述目标引擎文件对应的预设分辨率对解码得到的各帧视频数据进行分辨率调节;
通过所述多个目标工作线程中的引擎上下文,对调节后的所述各帧视频数据进行图像推理,并对推理结果进行分辨率恢复;
基于所述待重建视频的视频参数,对恢复后的所述推理结果进行编码,生成超分辨率重建后的视频数据。
7.根据权利要求6所述的方法,其特征在于,所述分辨率调节包括:
将所述待重建视频的各帧图像缩放至所述目标引擎文件对应的预设分辨率;
所述分辨率恢复包括:
基于所述待重建视频的分辨率和图像重建倍率,对所述推理结果进行缩放还原。
8.根据权利要求6所述的方法,其特征在于,所述分辨率调节包括:
如果所述待重建视频的分辨率小于所述目标引擎文件对应的预设分辨率,则对所述待重建视频的各帧图像进行边缘空白补充,以使各帧图像的分辨率与所述目标引擎文件对应的预设分辨率相同;
所述分辨率恢复包括:
基于所述待重建视频的分辨率和图像重建倍率,对所述推理结果进行边缘空白删除。
9.根据权利要求6所述的方法,其特征在于,所述分辨率调节包括:
如果所述待重建视频的分辨率大于所述目标引擎文件对应的预设分辨率,则依序对所述待重建视频的各帧图像进行等比例缩放和边缘空白补充,以使各帧图像的分辨率与所述目标引擎文件对应的预设分辨率相同;
所述分辨率恢复包括:
基于所述待重建视频的分辨率和图像重建倍率,对所述推理结果进行边缘空白删除和等比例缩放还原。
10.根据权利要求1所述的方法,其特征在于,所述在选取的多个目标工作线程上加载所述目标引擎文件之前,还包括:
如果所述待重建视频为直播视频,则根据所述待重建视频的帧率和分辨率,以及每个所述工作线程的超分辨率重建速率,选取多个目标工作线程。
11.根据权利要求1所述的方法,其特征在于,每个所述预设分辨率对应多个不同图像重建倍率下的引擎文件;
所述根据待重建视频的分辨率,确定目标引擎文件,包括:
根据待重建视频的分辨率和指定的图像重建倍率,确定目标引擎文件。
12.一种视频超分辨率重建的装置,其特征在于,所述装置包括:
引擎生成模块,用于基于卷积神经网络和加速器框架生成多个预设分辨率对应的引擎文件,其中,所述引擎文件用于对视频进行超分辨率重建,所述预设分辨率包括横屏类分辨率和竖屏类分辨率;
线程创建模块,用于基于GPU设备创建多个工作线程,设置每个所述工作线程的私有数据;
引擎加载模块,用于根据待重建视频的分辨率,确定目标引擎文件,并在选取的多个目标工作线程上加载所述目标引擎文件;
图像推理模块,用于通过所述多个目标工作线程对所述待重建视频的视频数据进行图像推理,生成超分辨率重建后的视频数据。
13.根据权利要求12所述的装置,其特征在于,所述引擎生成模块,具体用于:
基于卷积神经网络训练生成多个预设分辨率对应的超分辨率重建模型;
对所述超分辨率重建模型进行格式转换,并将所有超分辨率重建模型输入至加速器框架,生成所述多个预设分辨率对应的重建引擎;
将所有重建引擎进行序列化处理,生成所述多个预设分辨率对应的引擎文件。
14.根据权利要求12所述的装置,其特征在于,所述图像推理模块,具体用于
对所述待重建视频进行解码,并基于所述目标引擎文件对应的预设分辨率对解码得到的各帧视频数据进行分辨率调节;
通过所述多个目标工作线程中的引擎上下文,对调节后的所述各帧视频数据进行图像推理,并对推理结果进行分辨率恢复;
基于所述待重建视频的视频参数,对恢复后的所述推理结果进行编码,生成超分辨率重建后的视频数据。
15.一种网络设备,其特征在于,所述网络设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如权利要求1至11任一所述的视频超分辨率重建的方法。
16.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如权利要求1至11任一所述的视频超分辨率重建的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910980047.1A CN110992260B (zh) | 2019-10-15 | 2019-10-15 | 一种视频超分辨率重建的方法和装置 |
PCT/CN2019/118057 WO2021072869A1 (zh) | 2019-10-15 | 2019-11-13 | 一种视频超分辨率重建的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910980047.1A CN110992260B (zh) | 2019-10-15 | 2019-10-15 | 一种视频超分辨率重建的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110992260A CN110992260A (zh) | 2020-04-10 |
CN110992260B true CN110992260B (zh) | 2022-04-22 |
Family
ID=70082020
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910980047.1A Active CN110992260B (zh) | 2019-10-15 | 2019-10-15 | 一种视频超分辨率重建的方法和装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN110992260B (zh) |
WO (1) | WO2021072869A1 (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111314741B (zh) * | 2020-05-15 | 2021-01-05 | 腾讯科技(深圳)有限公司 | 视频超分处理方法、装置、电子设备及存储介质 |
CN113766252A (zh) * | 2020-06-03 | 2021-12-07 | 广州虎牙科技有限公司 | 直播视频处理方法、装置、设备、集群和系统及存储介质 |
CN111767679B (zh) * | 2020-07-14 | 2023-11-07 | 中国科学院计算机网络信息中心 | 时变矢量场数据的处理方法及装置 |
CN112991170A (zh) * | 2021-03-05 | 2021-06-18 | Oppo广东移动通信有限公司 | 图像超分辨率重建的方法、装置、终端及存储介质 |
CN112668672A (zh) * | 2021-03-16 | 2021-04-16 | 深圳市安软科技股份有限公司 | 基于TensorRT的目标检测模型加速方法及装置 |
CN113038279B (zh) * | 2021-03-29 | 2023-04-18 | 京东方科技集团股份有限公司 | 视频转码方法、系统及电子设备 |
CN113099182B (zh) * | 2021-04-08 | 2022-11-22 | 西安应用光学研究所 | 基于机载并行处理架构的多视窗实时缩放方法 |
CN114339412B (zh) * | 2021-12-30 | 2024-02-27 | 咪咕文化科技有限公司 | 视频质量增强方法、移动终端、存储介质及装置 |
CN115022670B (zh) * | 2022-05-31 | 2023-09-05 | 咪咕文化科技有限公司 | 视频文件存储方法、还原方法、装置、设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107967669A (zh) * | 2017-11-24 | 2018-04-27 | 腾讯科技(深圳)有限公司 | 图片处理的方法、装置、计算机设备及存储介质 |
CN109102462A (zh) * | 2018-08-01 | 2018-12-28 | 中国计量大学 | 一种基于深度学习的视频超分辨率重建方法 |
CN109429030A (zh) * | 2017-08-31 | 2019-03-05 | 爱唯秀股份有限公司 | 利用超分辨率算法重建视频的方法 |
CN109862370A (zh) * | 2017-11-30 | 2019-06-07 | 北京大学 | 视频超分辨率处理方法及装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10733714B2 (en) * | 2017-11-09 | 2020-08-04 | Samsung Electronics Co., Ltd | Method and apparatus for video super resolution using convolutional neural network with two-stage motion compensation |
CN108022212B (zh) * | 2017-11-24 | 2022-07-01 | 腾讯科技(深圳)有限公司 | 高分辨率图片生成方法、生成装置及存储介质 |
CN110136056B (zh) * | 2018-02-08 | 2023-08-29 | 华为技术有限公司 | 图像超分辨率重建的方法和装置 |
US11153550B2 (en) * | 2018-04-06 | 2021-10-19 | Disney Enterprises, Inc. | Depth codec for real-time, high-quality light field reconstruction |
CN110009566A (zh) * | 2019-04-04 | 2019-07-12 | 北京邮电大学 | 基于深度神经网络的红外热成像超分辨率仪器 |
-
2019
- 2019-10-15 CN CN201910980047.1A patent/CN110992260B/zh active Active
- 2019-11-13 WO PCT/CN2019/118057 patent/WO2021072869A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109429030A (zh) * | 2017-08-31 | 2019-03-05 | 爱唯秀股份有限公司 | 利用超分辨率算法重建视频的方法 |
CN107967669A (zh) * | 2017-11-24 | 2018-04-27 | 腾讯科技(深圳)有限公司 | 图片处理的方法、装置、计算机设备及存储介质 |
CN109862370A (zh) * | 2017-11-30 | 2019-06-07 | 北京大学 | 视频超分辨率处理方法及装置 |
CN109102462A (zh) * | 2018-08-01 | 2018-12-28 | 中国计量大学 | 一种基于深度学习的视频超分辨率重建方法 |
Non-Patent Citations (6)
Title |
---|
GPU-aided real-time image/video super resolution based on error feedback;Yuxiang Shen等;《IEEE Xplore》;20150302;286-290 * |
Real-Time Single Image and Video Super-Resolution Using an Efficient Sub-Pixel Convolutional Neural Network;Wenzhe Shi等;《IEEE Xplore》;20161212;1-10 * |
基于卷积神经网络的图像超分辨率算法研究及GPU实现;陈浩;《中国优秀硕士学位论文全文数据库 信息科技辑》;20180415;第2018年卷(第4期);I138-2439 * |
基于对抗生成网络的超分辨率图像生成的研究与实现;夏卫尚;《中国优秀硕士学位论文全文数据库 信息科技辑》;20190815;第2019年卷(第8期);摘要,第5章 * |
对使用TensorRT加速AI深度学习推断效率的探索;施一飞;《科技视界》;20171110(第31期);26-27 * |
视频超分辨率重建系统的研究与实现;李程超;《中国优秀硕士学位论文全文数据库 信息科技辑》;20180415;第2018年卷(第4期);I138-2709 * |
Also Published As
Publication number | Publication date |
---|---|
CN110992260A (zh) | 2020-04-10 |
WO2021072869A1 (zh) | 2021-04-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110992260B (zh) | 一种视频超分辨率重建的方法和装置 | |
US11159790B2 (en) | Methods, apparatuses, and systems for transcoding a video | |
CN112801901A (zh) | 基于分块多尺度卷积神经网络的图像去模糊算法 | |
DE102015002364A1 (de) | Mipmap-komprimierung | |
CN112950471A (zh) | 视频超分处理方法、装置、超分辨率重建模型、介质 | |
EP3923585A1 (en) | Video transcoding method and device | |
CN109327698B (zh) | 动态预览图的生成方法、系统、介质和电子设备 | |
KR20200132682A (ko) | 이미지 최적화 방법, 장치, 디바이스 및 저장 매체 | |
WO2021213336A1 (zh) | 一种画质增强装置及相关方法 | |
CN111540032A (zh) | 基于音频的模型控制方法、装置、介质及电子设备 | |
Kim et al. | Single image super-resolution using fire modules with asymmetric configuration | |
Liu et al. | Facial image inpainting using multi-level generative network | |
CN116703777A (zh) | 一种图像处理方法、系统、存储介质及电子设备 | |
US20200294270A1 (en) | Patch extension method, encoder and decoder | |
US11928855B2 (en) | Method, device, and computer program product for video processing | |
CN110572715A (zh) | 一种解决Android TV播放webp卡顿的方法 | |
CN116362995A (zh) | 一种基于标准先验的牙齿图像修复方法和系统 | |
CN115527258A (zh) | 一种基于身份信息响应的人脸交换方法 | |
EP3934259A1 (en) | Method and apparatus for transcoding video | |
US20210344936A1 (en) | Method and device for transcoding video | |
JP2021174404A (ja) | データ生成装置、訓練装置及びデータ生成方法 | |
Jiang et al. | Png: Micro-structured prune-and-grow networks for flexible image restoration | |
CN116996695B (zh) | 一种全景图像压缩方法、装置、设备及介质 | |
CN117707515A (zh) | 一种二维水质模型可视化方法、系统及设备 | |
CN114879919B (zh) | 一种图像快速缩放打印系统及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |