CN111629211B - 一种对视频进行转码的方法和装置 - Google Patents
一种对视频进行转码的方法和装置 Download PDFInfo
- Publication number
- CN111629211B CN111629211B CN202010367208.2A CN202010367208A CN111629211B CN 111629211 B CN111629211 B CN 111629211B CN 202010367208 A CN202010367208 A CN 202010367208A CN 111629211 B CN111629211 B CN 111629211B
- Authority
- CN
- China
- Prior art keywords
- transcoding
- video
- model
- target
- frame image
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/40—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/167—Position within a video image, e.g. region of interest [ROI]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/002—Image coding using neural networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/59—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明公开了一种对视频进行转码的方法和装置,属于视频处理技术领域。所述方法包括:基于TensorRT引擎所支持的处理层,对常规语义分割模型进行重构;将重构后的语义分割模型载入所述TensorRT引擎,生成TensorRT加速模型;利用所述TensorRT加速模型对视频帧图像进行语义分割,生成视频帧图像的多级ROI区域;采用不同的转码码率对视频帧图像的多级ROI区域和其它区域,分别进行转码处理。采用本发明,既可以确保图像分割效果的同时也保证了实时性,又能保证视频的画面质量,降低视频传输时的带宽资源消耗。
Description
技术领域
本发明涉及视频处理技术领域,特别涉及一种对视频进行转码的方法和装置。
背景技术
伴随着互联网技术的发展以及现代带宽的不断提速,互联网与人们的生活联系的日益密切,越来越多的人们热衷于在互联网中获取视频来丰富生活,当下,高品质的视频已成为人们日常需求的首选。对于视频服务平台来说,为了适应不同的网络带宽、终端处理能力和用户需求,其往往需要在服务端对视频数据进行转码处理。
视频服务平台的后台服务器可以先获取封装好的初始视频(可称为输入视频),然后按照不同的转码规则,生成多个转码任务,然后针对每个转码任务创建对应的转码进程,进而可以通过转码进程内的转码线程实现对初始视频的视频数据的解析、转码、封装等步骤。在对视频数据进行转码处理之后,在接收到用户终端对于某一转码规则下的视频数据的获取请求后,后台服务器可以向用户终端推送已生成的转码后的视频数据。
如果转码后视频的码率过小,则视频的画面质量将会很差,甚至出现画面失真或马赛克现象,而如果转码后视频的码率过大,则会导致传输视频时带宽资源的浪费,因此,目前亟需一种既能保证视频的画面质量,又能降低视频传输时的带宽资源消耗的视频转码技术。
发明内容
为了解决现有技术的问题,本发明实施例提供了一种对视频进行转码的方法和装置。所述技术方案如下:
第一方面,提供了一种对视频进行转码的方法,所述方法包括:
基于TensorRT引擎所支持的处理层,对常规语义分割模型进行重构;
将重构后的语义分割模型载入所述TensorRT引擎,生成TensorRT加速模型;
利用所述TensorRT加速模型对视频帧图像进行语义分割,生成视频帧图像的多级ROI区域;
采用不同的转码码率对视频帧图像的多级ROI区域和其它区域,分别进行转码处理。
第二方面,提供了一种视频进行转码的装置,所述装置包括:
模型重构模块,用于基于TensorRT引擎所支持的处理层,对常规语义分割模型进行重构;
模型加速模块,用于将重构后的语义分割模型载入所述TensorRT引擎,生成TensorRT加速模型;
图像分割模块,用于利用所述TensorRT加速模型对视频帧图像进行语义分割,生成视频帧图像的多级ROI区域;
视频转码模块,用于采用不同的转码码率对视频帧图像的多级ROI区域和其它区域,分别进行转码处理。
第三方面,提供了一种后台服务器,所述后台服务器包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如第一方面所述的对视频进行转码的方法。
第四方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如第一方面所述的对视频进行转码的方法。
本发明实施例提供的技术方案带来的有益效果是:
本发明实施例中,基于TensorRT引擎所支持的处理层,对常规语义分割模型进行重构;将重构后的语义分割模型载入TensorRT引擎,生成TensorRT加速模型;利用TensorRT加速模型对视频帧图像进行语义分割,生成视频帧图像的多级ROI区域;采用不同的转码码率对视频帧图像的多级ROI区域和其它区域,分别进行转码处理。这样,通过对常规语义分割模型进行重构,使得语义分割模型可以采用TensorRT引擎进行加速,确保了图像分割效果的同时也保证了实时性。进而,利用加速后的模型对视频帧图像快速进行语义分割出多级ROI区域,可以依据场景不同灵活准确地确定ROI区域的范围,再利用不同转码码率对各个ROI区域进行转码,使得视频帧图像中各层次内容均能合理占用码率份额,既可以保证视频的画面质量,又能降低视频传输时的带宽资源消耗。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种对视频进行转码的方法流程图;
图2是本发明实施例提供的一种常规PSPNet模型的金字塔池化模块的结构示意图;
图3是本发明实施例提供的一种重构后的PSPNet模型的金字塔池化模块的结构示意图;
图4是本发明实施例提供的一种重构后的PSPNet模型的金字塔池化模块的结构示意图;
图5是本发明实施例提供的一种语义分割的流程示意图;
图6是本发明实施例提供的一种对视频帧图像进行语义分割的输出图;
图7是本发明实施例提供的一种对视频进行转码的装置结构示意图;
图8是本发明实施例提供的一种后台服务器的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
本发明实施例提供了一种对视频进行转码的方法,该方法的执行主体可以是视频服务平台的后台服务器。其中,后台服务器可以具备视频转码功能,在接收到待转码视频的数据流后,其可以对视频帧图像进行转码处理,然后将转码后的视频数据提供给外界。同时,后台服务器还可以具备图像分析功能,并可依据图像分析结果来调整对视频的转码处理。视频服务平台可以设置有多个后台服务器,每台后台服务器可以用于执行多个视频的转码任务,每个视频按转码需求可以对应存在多个转码任务。上述后台服务器可以包括处理器、存储器和收发器,处理器可以用于进行下述流程中对视频进行转码的处理,存储器可以用于存储下述处理过程中需要的数据以及产生的数据,收发器可以用于接收和发送下述处理过程中的相关数据。本实施例公开的对视频进行转码的方法可应用于直播视频,也可应用于点播视频。
下面将结合具体实施方式,对图1所示的处理流程进行详细的说明,内容可以如下:
步骤101,基于TensorRT引擎所支持的处理层,对常规语义分割模型进行重构。
其中,语义分割模型可以是PSPNet模型、U-Net模型、LinkNet模型、PSANet模型、HRNet模型、OCNet模型、DeepLabv3模型和DeepLabv3+模型等。
在实施中,后台服务器上可以安装有用于加速机器学习模型的推理过程的TensorRT引擎,其可以利用TensorRT引擎对常规语义分割模型进行加速,以缩短语义分割模型的推理耗时。然而由于常规语义分割模型中可能存在无法采用TensorRT引擎加速的处理层,后台服务器则可以基于TensorRT引擎所支持的处理层,对常规语义分割模型进行重构,以使重构后的语义分割模型可以被TensorRT引擎有效识别并执行推理加速。
可选的,本实施例中的语义分割模型可以选择PSPNet模型,那么可以针对常规PSPNet模型的部分处理层进行替换操作,相应的,步骤101的处理可以如下:将常规PSPNet模型中的自适应池化层和双线性上采样层,分别替换为TensorRT引擎所支持的效果相似的处理层。
在实施中,后台服务器可以检测常规PSPNet模型的所有处理层,并与TensorRT引擎所支持的处理层进行比对,从而可以确定常规PSPNet模型中的自适应池化层和双线性上采样层无法得到TensorRT引擎的加速支持。故而,后台服务器可以在TensorRT引擎所支持的处理层中,查找与自适应池化层和双线性上采样层效果相似的处理层,从而使用这些处理层分别替换常规PSPNet模型中的自适应池化层和双线性上采样层。
可选的,可以将常规PSPNet模型中的自适应池化层替换为多尺度均值池化层,并将常规PSPNet模型中的双线性上采样层替换为转置卷积层。
在实施中,针对常规PSPNet模型中的自适应池化层,可以利用一组不同尺寸的池化层替换自适应池化层,以达到类似自适应池化的效果,并可以实现TensorRT加速。而针对常规PSPNet模型中的双线性上采样层,可以利用转置卷积层替换双线性上采样层,以达到类似自适应池化的效果,并可以实现TensorRT加速。为了便于理解,下面以特征提取模块输出为2048x64x64的特征图(即通道数为2048,图像尺寸为64x64)为例,分别给出了常规PSPNet模型的金字塔池化模块和重构后的PSPNet模型的金字塔池化模块(二者均选用四种尺度的特征融合处理为例进行说明,PSPNet模型还可以支持其它任意多种尺度的特征融合)的处理过程:
一、常规PSPNet模型的金字塔池化模块,可参考图2所示:
(1)通过自适应池化层,生成4个不同尺度的特征图,并利用1x1的卷积层减少通道数,得到512x1x1、512x2x2、512x4x4、512x8x8的特征图;
(2)将512x1x1、512x2x2、512x4x4、512x8x8的4个特征图分别通过双线性上采样层,进行不同倍数的图像尺寸放大,得到4个512x64x64的特征图;
(3)将4个512x64x64的特征图沿着通道维度拼接成一个2048x64x64的特征图;
(4)将2048x64x64的特征图拼接上输入的特征图得到一个4096x64x64的特征图作为输出。
二、重构后的PSPNet模型的金字塔池化模块,可参考图3所示:
(1)通过四个不同尺寸的池化层(kernel size分别为64、32、16和8且stride等于kernel size)分别对输入图像进行下采样,得到4个不同尺度的特征图,并用1x1的卷积层减少通道数,得到512x1x1、512x2x2、512x4x4、512x8x8的特征图;
(2)将512x1x1、512x2x2、512x4x4、512x8x8的4个特征图分别通过转置卷积,进行不同倍数的图像尺寸放大,得到4个512x64x64的特征图;其中,转置卷积层可以通过设置kernel size、stride、padding来达到上采样固定倍数的目的;比如要扩大n倍,则kernelsize=2n、stride=n、padding=取整(n/2);
(3)将4个512x64x64的特征图沿着通道维度拼接成一个2048x64x64的特征图;
(4)将2048x64x64的特征图拼接上输入的特征图得到一个4096x64x64的特征图作为输出。
可选的,可以设置多尺度共享同一个转置卷积层,以降低参数数量和计算量,相应的处理可以如下:将常规PSPNet模型中多尺度的双线性上采样层替换为最近邻池上采样层和共享转置卷积层。
在实施中,后台服务器在利用转置卷积层替换常规PSPNet模型中的双线性上采样层时,针对多个尺度的双线性上采样层,可以利用最近邻池上采样层和共享转置卷积层来进行替换,即先用无参数的最近邻上采样层将多尺度的特征图分别上采样到同个尺寸,然后共用同一个共享转置卷积层将特征图统一扩大到指定尺寸。具体的,参考图4所示,继续以特征提取模块输出为2048x64x64的特征图(即通道数为2048,图像尺寸为64x64)为例,重构后的PSPNet模型的金字塔池化模块的处理过程可以如下:
(1)通过四个不同尺寸的池化层(kernel size分别为64、32、16和8且stride等于kernel size)分别对输入图像进行下采样,得到4个不同尺度的特征图,并用1x1的卷积层减少通道数,得到512x1x1、512x2x2、512x4x4、512x8x8的特征图;
(2)将512x1x1、512x2x2、512x4x4、512x8x8的4个特征图分别通过最近邻插值方式上采样到512x16x16的尺寸大小。
(3)通过共享转置卷积层将512x16x16的特征图扩大4倍,得到512x64x64的特征图。
(4)将四个512x64x64的特征图沿着通道维度拼接成一个2048x64x64的特征图;
(5)将2048x64x64的特征图拼接上输入的特征图得到一个4096x64x64的特征图作为输出。
步骤102,将重构后的语义分割模型载入TensorRT引擎,生成TensorRT加速模型。
可选的,可以通过定期训练重构后的语义分割模型,以更新TensorRT加速模型,相应的,步骤102中TensorRT加速模型的生成处理可以如下:基于预设的训练素材集中的图像素材,定期训练重构后的语义分割模型,生成权值文件,其中,图像素材标注有不同实物的各组成部分的轮廓线;将重构后的语义分割模型的模型文件和权值文件载入TensorRT引擎,生成TensorRT加速模型。
在实施中,后台服务器可以定期对TensorRT加速模型进行优化更新,以提升TensorRT加速模型对图像语义分割的精准度。故此,视频服务平台的技术人员可以选取各种类型视频的各类帧图像,并利用开源标注工具(如labelme)在帧图像中标注出不同实物的各个组成部分的轮廓线,从而可以将标注后的帧图像存至预设的训练素材集中,以作为训练语义分割模型的图像素材。其中,在标注轮廓线时,技术人员可以根据需要选择性地标记图像中的部分实物,并可以视需求对实物进行任意分割。这样,后台服务器可以基于预设的训练素材集中的图像素材,定期对重构后的语义分割模型进行训练,以生成适用于模型内部的权值文件。继而,后台服务器可以将重构后的语义分割模型的模型文件,和上述定期生成的权值文件载入TensorRT引擎中,以生成TensorRT加速模型。
步骤103,利用TensorRT加速模型对视频帧图像进行语义分割,生成视频帧图像的多级ROI区域。
在实施中,后台服务器生成了TensorRT加速模型之后,可以将TensorRT加速模型应用到视频帧图像的转码处理中,即可以将视频帧图像输入TensorRT加速模型中,以执行语义分割处理,之后可以根据分割结果得到目标帧图像的多级ROI区域。接下来,后台服务器可以将分割得到的部分图像区域选取作为视频帧图像的多级ROI区域。
可选的,不同级别的ROI区域可以对应一个实物的不同组成部分,相应的,步骤103的处理可以如下:获取待转码视频的目标帧图像,基于TensorRT加速模型的特征提取模块生成目标帧图像的全局特征图;利用TensorRT加速模型的特征分割模块对全局特征图进行特征分割,确定目标帧图像中至少一个目标实物的多个组成部分;基于每个组成部分对应的转码优先级,确定目标帧图像的多级ROI区域。
在实施中,后台服务器在获取到某一视频的数据流后,可以按照视频服务平台预设的视频转码规则,判断该视频是否为待转码视频(即是否存在转码需求)。如果是,后台服务器则可以对待转码视频的帧图像依序进行转码处理。具体来说,后台服务器可以先获取待转码视频的目标帧图像,然后将目标帧图像输入TensorRT加速模型的特征提取模块,生成目标帧图像的全局特征图。其中,目标帧图像可以是待转码视频的任一帧图像,也可以是待转码视频的任一关键帧图像,还可以是待转码视频的指定时间段内的任一帧图像,具体可以视转码需求而定。
之后,目标帧图像的全局特征图将输入TensorRT加速模型的特征分割模块,以对目标帧图像的特征分割,从而得到目标帧图像中至少一个目标实物的多个组成部分,上述过程可以参考图5所示。可以理解,目标实物以及其组成部分的分割规律可以是基于大量图像素材训练生成的,也即是说,通过模型训练,可以定义哪些实物需要从视频帧图像中分割出,以及实物的哪些组成部分需要被独立分割为一块。图6示例性地给出了语义分割的结果,其中,整幅图像包含背景和人体两大块,人体又进一步细分为头部、上半身、下半身、双臂和双腿5个部分。之后,后台服务器可以基于每个组成部分对应的转码优先级,确定目标帧图像的多级ROI区域,其中,ROI区域对应的转码优先级越高,其转码码率越高;其它区域采用最低转码码率进行转码。值得一提的是,后台服务器中可以预先设定有不同目标实物的不同组成部分的转码优先级,如人体的头部转码优先级最高,之后上半身、下半身、四肢等部分转码优先级依次降低。此外,不同实物间可以存在转码优先级相同的组成部分,如一幅图像中人体头部和汽车车标的转码优先级可以同属于最高级。也就是说,目标帧图像中每一级ROI区域,都可以包含多个实物的多个组成部分。
可选的,针对不同类型的帧图像,可以选取不同的TensorRT加速模型进行语义分割,相应的处理可以如下:调用所述待转码视频的目标视频类型和所述目标帧图像的目标图像类型对应的目标语义分割模型。
在实施中,后台服务器处可以针对不同视频类型的视频中的帧图像,训练有专用的语义分割模型,一个语义分割模型可以专用于对一种视频类型下的视频中的帧图像进行语义分割。比如可以存在美食类、游戏类、体育类等不同类型视频对应的不同PSPNet模型。这样,后台服务器在对待转码视频进行语义分割前,可以先检测待转码视频所属的目标视频类型,再调用目标视频类型对应的目标语义分割模型。不难想到,后台服务器在训练语义分割模型时,可以设定多种视频类型对应的训练素材集,一个训练素材集中可以包含同一视频类型的图像素材,从而后台服务器可以利用每个训练素材集,训练出相应视频类型对应的语义分割模型。
当然,后台服务器处还可以针对不同图像类型的帧图像,训练有专用的语义分割模型,一个语义分割模型可以专用于对一种图像类型的帧图像进行语义分割。比如可以存在人物图像、美食图像、室内环境图像等不同图像类型对应的不同PSPNet模型。这样,后台服务器在获取到目标帧图像之后,可以先检测目标帧图像所属的目标图像类型,再调用目标图像类型对应的目标语义分割模型。同样,后台服务器在训练语义分割模型时,可以设定多种图像类型对应的训练素材集,一个训练素材集中可以包含同一图像类型的图像素材,从而后台服务器可以利用每个训练素材集,训练出相应图像类型对应的语义分割模型。
进一步的,针对不同视频类型下视频中的不同图像类型的帧图像,也可以训练有专用的语义分割模型,一个语义分割模型可以专用于对一种视频类型下的一种图像类型的帧图像进行语义分割。比如可以存在美食类视频的人物图像、体育类视频的任务图像等对应的不同语义分割模型。这样,后台服务器在获取到目标帧图像之后,可以先检测待转码视频所属的目标视频类型,以及目标帧图像所属的目标图像类型,再调用目标视频类型和目标图像类型对应的目标语义分割模型。同样,后台服务器在训练语义分割模型时,可以设定多种视频类型下多种图像类型对应的训练素材集,一个训练素材集中可以包含同一视频类型下同一图像类型的图像素材,从而后台服务器可以利用每个训练素材集,训练出相应视频类型下的图像类型对应的语义分割模型。
步骤104,采用不同的转码码率对视频帧图像的多级ROI区域和其它区域,分别进行转码处理。
在实施中,后台服务器在确定了视频帧图像的多级ROI区域之后,可以针对各级ROI区域和视频帧图像中除ROI区域外的其它区域,分别采用不同的转码码率进行转码处理。其中,ROI区域的级别可以是根据区域内的图像内容确定的,如视频帧图像为人的全身像,可以设定头部为最高ROI区域,上半身为次高ROI区域,下半身为中级ROI区域,四肢为低级ROI区域,背景为最低ROI区域。不同级别的ROI区域可以选用不同的转码码率,相邻的部分ROI区域也可以选用相同的转码码率。
可选的,可以利用转码面积来设定图像各个区域的转码码率,相应的,步骤104的处理可以如下:按照转码码率从高至低的顺序,依次选取目标级转码码率;依据目标级转码码率对应的转码面积,按照转码优先级从高至低的顺序,从未被选取的ROI区域中,选取目标级转码码率对应的转码区域。
其中,目标级转码码率可以是任一级的转码码率。
在实施中,后台服务器针对视频帧图像转码可以支持多级的转码码率,在对目标帧图像中的各个区域进行转码处理时,可以先按照转码码率从高至低的顺序,依次选取目标级转码码率。之后,后台服务器可以获取预设的目标级转码码率对应的转码面积,同时按照转码优先级从高至低的顺序,在所有未被选取的ROI区域中,选取第一ROI区域,然后比对第一ROI区域的面积与转码面积的大小。如果第一ROI区域的面积小于转码面积,则选取转码优先级次一级的第二ROI区域,再比对第一ROI区域和第二ROI区域的面积之和与转码面积的大小。若两个ROI区域的面积之和仍小于转码面积,则可以继续选取转码优先级再次一级的第三ROI区域,并继续比对面积大小,以此类推,直至所有选取出的ROI区域的面积之和大于转码面积。进而,后台服务器可以将所有选取出的ROI区域作为目标级转码码率对应的转码区域。
细节而言,基于上述处理,选取出的转码区域均将大于预设的转码面积,这样可能会对设备性能以及线路带宽造成负载压力,因而可以在各级转码码率对应的转码优先级最低的一个ROI区域中,选取出超额面积区域,再将超额面积区域划入次一级转码码率对应的转码区域中。进一步的,选取超额面积区域时,可以选取ROI区域的边缘区域。
可选的,后台服务器可以周期性根据当前设备性能负载和线路带宽负载,以及待转码视频的属性信息,调整各级转码码率对应的转码面积。
在实施中,后台服务器可以周期性地检测当前设备性能负载和线路带宽负载,并根据检测结果调整当前设备上的各个待转码视频的转码处理。具体来说。后台服务器可以先根据所有待转码视频的属性信息,确定需要调整转码处理的一个或多个待转码视频。之后,后台服务器可以进一步根据待转码视频的属性信息,以及上述检测结果,针对各个待转码视频,调整各级转码码率对应的转码面积。例如,若当前设备性能负载和线路带宽负载均较低,则可以选取热度较高的待转码视频,增加高转码码率对应的转码面积;而若当前设备性能负载和线路带宽负载均较高,则可以选取热度较低的待转码视频,降低高转码码率对应的转码面积。当然,除了视频热度,后台服务器还可以根据归属方、发布时间、视频类型和视频时长等多维度的属性信息,选取需要调整的待转码视频。
可选的,不同类型的视频中,不同类型实物的组成部分对应的转码优先级不同,相应的,在确定目标帧图像中至少一个目标实物的多个组成部分之后,可以存在如下处理:根据待转码视频的视频类型和每个目标实物的实物类型,调整每个目标实物的组成部分对应的转码优先级。
在实施中,后台服务器对目标帧图像进行语义分割,得到目标帧图像中目标实物的多个组成部分后,可以获取待转码视频的视频类型,和每个目标实物的实物类型,然后基于两种类型信息,调整每个目标实物的组成部分对应的转码优先级。可以理解,不同类型的视频中,画面展示的重点内容也不相同,如在舞蹈类视频中,人体的躯干和四肢的关注度大于人体的头部,故而可以将人体的躯干和四肢的转码优先级调高,头部的转码优先级调低;而在脱口秀类视频中,人体的头部的转码优先级可以高于人体的躯干和四肢的转码优先级;又例如旅游类视频相比于人物类视频,人体的转码优先级可以低于景物的转码优先级。更进一步的,后台服务器还可以基于每一帧图像的图像类型和帧图像中实物的实物类型,调整每个实物的组成部分对应的转码优先级。
可选的,可以根据实际需求,调整视频帧图像中指定区域的转码码率,相应的,步骤104的处理可以如下:接收待转码视频的特征清晰/模糊信息,根据特征清晰/模糊信息确定目标帧图像中的目标特征区域;采用不同的转码码率对目标帧图像的多级ROI区域、目标特征区域和其它区域分别进行转码处理。
在实施中,视频提供方或者视频服务平台的技术人员可以在后台服务器处设置待转码视频的特征清晰/模糊信息,以提高或降低视频帧图像中某个或某些特征内容的转码清晰度。这样,在对待转码视频进行转码时,视频服务器可以接收待转码视频的特征清晰/模糊信息,然后根据特征清晰/模糊信息确定目标帧图像中的目标特征区域,该目标特征区域中即包含特征清晰/模糊信息所指向的特征内容。之后,后台服务器则可以采用不同的转码码率对目标帧图像的多级ROI区域、目标特征区域和其它区域分别进行转码处理。其中,特征清晰/模糊信息中可以直接包含有目标特征区域的转码码率的具体数值,或者也可以包含有目标特征区域的转码码率的调整幅度。
本发明实施例中,基于TensorRT引擎所支持的处理层,对常规语义分割模型进行重构;将重构后的语义分割模型载入TensorRT引擎,生成TensorRT加速模型;利用TensorRT加速模型对视频帧图像进行语义分割,生成视频帧图像的多级ROI区域;采用不同的转码码率对视频帧图像的多级ROI区域和其它区域,分别进行转码处理。这样,通过对常规语义分割模型进行重构,使得语义分割模型可以采用TensorRT引擎进行加速,确保了图像分割效果的同时也保证了实时性。进而,利用加速后的模型对视频帧图像快速进行语义分割出多级ROI区域,可以依据场景不同灵活准确地确定ROI区域的范围,再利用不同转码码率对各个ROI区域进行转码,使得视频帧图像中各层次内容均能合理占用码率份额,既可以保证视频的画面质量,又能降低视频传输时的带宽资源消耗。
基于相同的技术构思,本发明实施例还提供了一种对视频进行转码的装置,如图7所示,所述装置包括:
模型重构模块701,用于基于TensorRT引擎所支持的处理层,对常规语义分割模型进行重构;
模型加速模块702,用于将重构后的语义分割模型载入所述TensorRT引擎,生成TensorRT加速模型;
图像分割模块703,用于利用所述TensorRT加速模型对视频帧图像进行语义分割,生成视频帧图像的多级ROI区域;
视频转码模块704,用于采用不同的转码码率对视频帧图像的多级ROI区域和其它区域,分别进行转码处理。
可选的,所述语义分割模型为PSPNet模型;
所述模型重构模块701,具体用于:
将常规PSPNet模型中的自适应池化层替换为多尺度均值池化层;
将常规PSPNet模型中的双线性上采样层替换为转置卷积层。
可选的,所述模型重构模块701,具体用于:
将常规PSPNet模型中多尺度的双线性上采样层替换为最近邻上采样层和共享转置卷积层。
本发明实施例中,基于TensorRT引擎所支持的处理层,对常规语义分割模型进行重构;将重构后的语义分割模型载入TensorRT引擎,生成TensorRT加速模型;利用TensorRT加速模型对视频帧图像进行语义分割,生成视频帧图像的多级ROI区域;采用不同的转码码率对视频帧图像的多级ROI区域和其它区域,分别进行转码处理。这样,通过对常规语义分割模型进行重构,使得语义分割模型可以采用TensorRT引擎进行加速,确保了图像分割效果的同时也保证了实时性。进而,利用加速后的模型对视频帧图像快速进行语义分割出多级ROI区域,可以依据场景不同灵活准确地确定ROI区域的范围,再利用不同转码码率对各个ROI区域进行转码,使得视频帧图像中各层次内容均能合理占用码率份额,既可以保证视频的画面质量,又能降低视频传输时的带宽资源消耗。
图8是本发明实施例提供的后台服务器的结构示意图。该后台服务器800可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器822(例如,一个或一个以上处理器)和存储器832,一个或一个以上存储应用程序842或数据844的存储介质830(例如一个或一个以上海量存储设备)。其中,存储器832和存储介质830可以是短暂存储或持久存储。存储在存储介质830的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对后台服务器800中的一系列指令操作。更进一步地,中央处理器822可以设置为与存储介质830通信,在后台服务器800上执行存储介质830中的一系列指令操作。
后台服务器800还可以包括一个或一个以上电源829,一个或一个以上有线或无线网络接口850,一个或一个以上输入输出接口858,一个或一个以上键盘856,和/或,一个或一个以上操作系统841,例如Windows Server,Mac OS X,Unix,Linux,FreeBSD等等。
后台服务器800可以包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行上述对视频进行转码的指令。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (15)
1.一种对视频进行转码的方法,其特征在于,所述方法包括:
基于TensorRT引擎所支持的处理层,对常规语义分割模型进行重构;
将重构后的语义分割模型载入所述TensorRT引擎,生成TensorRT加速模型;
针对不同类型的视频帧图像,调用与待转码视频的目标视频类型和目标帧图像的目标图像类型对应的TensorRT加速模型对所述视频帧图像进行语义分割,生成视频帧图像的多级ROI区域;
采用不同的转码码率对视频帧图像的多级ROI区域和其它区域,分别进行转码处理。
2.根据权利要求1所述的方法,其特征在于,所述语义分割模型为PSPNet模型;
所述基于TensorRT引擎所支持的处理层,对常规语义分割模型进行重构,包括:
将常规PSPNet模型中的自适应池化层和双线性上采样层,分别替换为所述TensorRT引擎所支持的效果相似的处理层。
3.根据权利要求2所述的方法,其特征在于,所述将常规PSPNet模型中的自适应池化层和双线性上采样层,分别替换为所述TensorRT引擎所支持的效果相似的处理层,包括:
将常规PSPNet模型中的自适应池化层替换为多尺度均值池化层;
将常规PSPNet模型中的双线性上采样层替换为转置卷积层。
4.根据权利要求3所述的方法,其特征在于,所述将常规PSPNet模型中的双线性上采样层替换为转置卷积层,包括:
将常规PSPNet模型中多尺度的双线性上采样层替换为最近邻上采样层和共享转置卷积层。
5.根据权利要求1所述的方法,其特征在于,所述将重构后的语义分割模型载入所述TensorRT引擎,生成TensorRT加速模型,包括:
基于预设的训练素材集中的图像素材,定期训练重构后的语义分割模型,生成权值文件,其中,所述图像素材标注有不同实物的各组成部分的轮廓线;
将重构后的语义分割模型的模型文件和所述权值文件载入所述TensorRT引擎,生成TensorRT加速模型。
6.根据权利要求1所述的方法,其特征在于,所述针对不同类型的视频帧图像,调用与待转码视频的目标视频类型和目标帧图像的目标图像类型对应的TensorRT加速模型对所述视频帧图像进行语义分割,生成视频帧图像的多级ROI区域,包括:
获取待转码视频的目标帧图像,基于所述TensorRT加速模型的特征提取模块生成所述目标帧图像的全局特征图;
利用所述TensorRT加速模型的特征分割模块对全局特征图进行特征分割,确定所述目标帧图像中至少一个目标实物的多个组成部分;
基于每个所述组成部分对应的转码优先级,确定所述目标帧图像的多级ROI区域。
7.根据权利要求6所述的方法,其特征在于,所述采用不同的转码码率对所述目标帧图像的多级ROI区域和其它区域分别进行转码处理,包括:
按照转码码率从高至低的顺序,依次选取目标级转码码率;
依据所述目标级转码码率对应的转码面积,按照转码优先级从高至低的顺序,从未被选取的ROI区域中,选取所述目标级转码码率对应的转码区域。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
定期根据当前设备性能负载和线路带宽负载,以及所述待转码视频的属性信息,调整各级转码码率对应的转码面积。
9.根据权利要求6所述的方法,其特征在于,所述确定所述目标帧图像中至少一个目标实物的多个组成部分之后,还包括:
根据所述待转码视频的视频类型和每个所述目标实物的实物类型,调整每个目标实物的组成部分对应的转码优先级。
10.根据权利要求1所述的方法,其特征在于,所述采用不同的转码码率对所述目标帧图像的多级ROI区域和其它区域分别进行转码处理,包括:
接收所述待转码视频的特征清晰/模糊信息,根据所述特征清晰/模糊信息确定所述目标帧图像中的目标特征区域;
采用不同的转码码率对所述目标帧图像的多级ROI区域、目标特征区域和其它区域分别进行转码处理。
11.一种对视频进行转码的装置,其特征在于,所述装置包括:
模型重构模块,用于基于TensorRT引擎所支持的处理层,对常规语义分割模型进行重构;
模型加速模块,用于将重构后的语义分割模型载入所述TensorRT引擎,生成TensorRT加速模型;
图像分割模块,用于针对不同类型的视频帧图像,调用与待转码视频的目标视频类型和目标帧图像的目标图像类型对应的TensorRT加速模型对所述视频帧图像进行语义分割,生成视频帧图像的多级ROI区域;
视频转码模块,用于采用不同的转码码率对视频帧图像的多级ROI区域和其它区域,分别进行转码处理。
12.根据权利要求11所述的装置,其特征在于,所述语义分割模型为PSPNet模型;
所述模型重构模块,具体用于:
将常规PSPNet模型中的自适应池化层替换为多尺度均值池化层;
将常规PSPNet模型中的双线性上采样层替换为转置卷积层。
13.根据权利要求12所述的装置,其特征在于,所述模型重构模块,具体用于:
将常规PSPNet模型中多尺度的双线性上采样层替换为最近邻上采样层和共享转置卷积层。
14.一种后台服务器,其特征在于,所述后台服务器包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如权利要求1至10任一所述的对视频进行转码的方法。
15.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如权利要求1至10任一所述的对视频进行转码的方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010367208.2A CN111629211B (zh) | 2020-04-30 | 2020-04-30 | 一种对视频进行转码的方法和装置 |
EP20797359.5A EP3934259A1 (en) | 2020-04-30 | 2020-06-19 | Method and apparatus for transcoding video |
PCT/CN2020/097171 WO2021217828A1 (zh) | 2020-04-30 | 2020-06-19 | 一种对视频进行转码的方法和装置 |
US17/095,728 US20210344937A1 (en) | 2020-04-30 | 2020-11-11 | Method and device for transcoding video |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010367208.2A CN111629211B (zh) | 2020-04-30 | 2020-04-30 | 一种对视频进行转码的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111629211A CN111629211A (zh) | 2020-09-04 |
CN111629211B true CN111629211B (zh) | 2022-10-28 |
Family
ID=72259820
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010367208.2A Active CN111629211B (zh) | 2020-04-30 | 2020-04-30 | 一种对视频进行转码的方法和装置 |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP3934259A1 (zh) |
CN (1) | CN111629211B (zh) |
WO (1) | WO2021217828A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115345855A (zh) * | 2022-08-16 | 2022-11-15 | 北京百度网讯科技有限公司 | 视频质量评估的方法、装置、设备以及存储介质 |
WO2024114817A1 (en) * | 2022-12-02 | 2024-06-06 | Douyin Vision Co., Ltd. | A task-oriented video semantic coding system |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105306960B (zh) * | 2015-10-18 | 2018-05-04 | 北京航空航天大学 | 一种用于传输高质量在线课程视频的动态自适应流系统 |
US10380741B2 (en) * | 2016-12-07 | 2019-08-13 | Samsung Electronics Co., Ltd | System and method for a deep learning machine for object detection |
US11508049B2 (en) * | 2018-09-13 | 2022-11-22 | Nvidia Corporation | Deep neural network processing for sensor blindness detection in autonomous machine applications |
CN110856019B (zh) * | 2019-11-20 | 2021-11-12 | 广州酷狗计算机科技有限公司 | 码率分配的方法、装置、终端及存储介质 |
CN110784745B (zh) * | 2019-11-26 | 2021-12-07 | 科大讯飞股份有限公司 | 一种视频传输方法、装置、系统、设备及存储介质 |
-
2020
- 2020-04-30 CN CN202010367208.2A patent/CN111629211B/zh active Active
- 2020-06-19 WO PCT/CN2020/097171 patent/WO2021217828A1/zh unknown
- 2020-06-19 EP EP20797359.5A patent/EP3934259A1/en not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
CN111629211A (zh) | 2020-09-04 |
EP3934259A1 (en) | 2022-01-05 |
WO2021217828A1 (zh) | 2021-11-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111629212B (zh) | 一种对视频进行转码的方法和装置 | |
CN111031346B (zh) | 一种增强视频画质的方法和装置 | |
US20210344937A1 (en) | Method and device for transcoding video | |
CN110363753B (zh) | 图像质量评估方法、装置及电子设备 | |
CN112235520B (zh) | 一种图像处理方法、装置、电子设备及存储介质 | |
CN111629211B (zh) | 一种对视频进行转码的方法和装置 | |
CN111369430B (zh) | 基于移动深度学习引擎的移动端人像智能背景替换方法 | |
CN111489322B (zh) | 给静态图片加天空滤镜的方法及装置 | |
CN110363837B (zh) | 游戏中纹理图像的处理方法及装置、电子设备、存储介质 | |
CN113011337B (zh) | 一种基于深度元学习的汉字字库生成方法及系统 | |
US11887277B2 (en) | Removing compression artifacts from digital images and videos utilizing generative machine-learning models | |
US20220004849A1 (en) | Image processing neural networks with dynamic filter activation | |
EP4213097A1 (en) | Image generation method and apparatus | |
JP2023545052A (ja) | 画像処理モデルの訓練方法及び装置、画像処理方法及び装置、電子機器並びにコンピュータプログラム | |
CN116205820A (zh) | 图像增强方法、目标识别方法、设备及介质 | |
CN110413840B (zh) | 一种构造对视频确定标签的神经网络及其训练的方法 | |
KR20230022843A (ko) | 적응적 런타임 효율적 이미지 분류를 위한 입력 이미지 크기 전환 가능 네트워크 | |
CN117835001A (zh) | 视频编辑方法、装置、设备和介质 | |
US11166035B1 (en) | Method and device for transcoding video | |
JP4933611B2 (ja) | 合成画像の形態でのオブジェクトのデジタルモックアップをコード化する方法及び画面に表示するためのシステム | |
CN117576118A (zh) | 多尺度多感知的实时图像分割方法、系统、终端及介质 | |
CN116030256A (zh) | 小目标分割方法、小目标分割系统、设备和介质 | |
CN111915533A (zh) | 一种基于低动态范围的高精图像信息提取方法 | |
CN117221504B (zh) | 一种视频抠像方法及装置 | |
CN118488219B (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 |