CN115209150B - 一种视频编码参数获取方法、装置及电子设备 - Google Patents
一种视频编码参数获取方法、装置及电子设备 Download PDFInfo
- Publication number
- CN115209150B CN115209150B CN202211125470.1A CN202211125470A CN115209150B CN 115209150 B CN115209150 B CN 115209150B CN 202211125470 A CN202211125470 A CN 202211125470A CN 115209150 B CN115209150 B CN 115209150B
- Authority
- CN
- China
- Prior art keywords
- video
- different
- neural network
- network model
- coded
- 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/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/146—Data rate or code amount at the encoder output
- H04N19/149—Data rate or code amount at the encoder output by estimating the code amount by means of a model, e.g. mathematical model or statistical model
-
- 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/08—Learning methods
-
- 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/154—Measured or subjectively estimated visual quality after decoding, e.g. measurement of distortion
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Biophysics (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Biomedical Technology (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Algebra (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本申请涉及一种视频编码参数获取方法、装置及电子设备,属于视频编码技术领域。该视频编码参数获取方法包括:获取待编码视频;利用预先训练好的多叉戟神经网络模型对待编码视频进行处理,输出不同分辨率不同码率下的质量分数;根据不同分辨率不同码率下的质量分数确定出目标分辨率和目标码率,其中,目标分辨率和目标码率为待编码视频编码所需的编码参数。本申请实施例中,仅需要向多叉戟神经网络模型输入一个待编码视频便可得到多个不同分辨率和/或不同码率的质量分数,解决了现有技术需要多次编码才能得到不同分辨率和/或不同码率的视频所存在的问题,即改善了现有视频编码方法耗时长以及消耗的编码资源多的问题。
Description
技术领域
本申请属于视频编码技术领域,具体涉及一种视频编码参数获取方法、装置及电子设备。
背景技术
视频是由连续的帧图像构成的视频帧序列。原始的视频帧序列需要占用很大的内存或带宽,导致存储和传输困难。由于连续的帧图像之间具有相似性,为便于储存和传输,可以通过视频编码技术对原始的视频进行编码压缩,将原始视频格式的文件转换成另一种视频格式文件,以去除空间、时间维度的冗余。
目前对于智能视频编码技术,主要采用基于视频复杂性的恒定场景质量硬编码技术。这种编码方式的主要做法是:1)根据所需要的视频质量的分辨率和码率对原始视频进行编码,并计算出编码视频相对于原始视频的PSNR(Peak Signal to Noise Ratio,峰值信噪比)分数;2)以码率为横轴,以PSNR分数为纵轴,画出不同分辨率下的PSNR分数-码率曲线(R-D曲线);3)由于视频质量的PSNR分数会随着码率增大而增大,而增长率会逐渐降低,因此多条不同分辨率下的曲线会呈现出类似凸函数的曲线,取所有曲线或每条曲线的最大凸包(最大凸点,该点即是同等码率下视频质量分数最好的点),这个点对应的分辨率和码率就是最优编码条件,使用这组分辨率和码率对原始视频编码即可得到最优视频。
这种方法缺点是每次需要对同一个的视频使用不同分辨率、不同码率来编码,这样如果想要得到更稠密的由码率-分数点组成的曲线,需要消耗平方倍的编码资源,导致视频编码的过程所消耗时间会很长。
发明内容
鉴于此,本申请的目的在于提供一种视频编码参数获取方法、装置及电子设备,以改善现有视频编码方法耗时长以及消耗的编码资源多的问题。
本申请的实施例是这样实现的:
第一方面,本申请实施例提供了一种视频编码参数获取方法,包括:获取待编码视频;利用预先训练好的多叉戟神经网络模型对所述待编码视频进行处理,输出不同分辨率不同码率下的质量分数;根据不同分辨率不同码率下的质量分数确定出目标分辨率和目标码率,其中,所述目标分辨率和所述目标码率为所述待编码视频编码所需的编码参数。
本申请实施例中,仅需要向多叉戟神经网络模型输入一个待编码视频便可得到多个不同分辨率和/或不同码率的质量分数,解决了现有技术需要多次编码才能得到不同分辨率和/或不同码率的视频所存在的问题,即改善了现有视频编码方法耗时长以及消耗的编码资源多的问题。
结合第一方面实施例的一种可能的实施方式,所述利用预先训练好的多叉戟神经网络模型对所述待编码视频进行处理,输出不同分辨率不同码率下的质量分数,包括:利用所述多叉戟神经网络模型对所述待编码视频进行处理,得到浅层特征;利用所述多叉戟神经网络模型对所述浅层特征进行处理,得到多个不同分辨率下的深层特征;利用所述多叉戟神经网络模型对每一个所述深层特征进行处理,得到多个不同码率下的质量分数。
本申请实施例中,先对待编码视频进行浅层特征提取,之后基于同一个浅层特征得到多个不同分辨率下的深层特征,使得这多个深层特征均是基于同一个浅层特征得到,之后再对每一个所述深层特征进行处理,得到多个不同码率下的质量分数,这样便可得到快速不同分辨率不同码率下的质量分数。
结合第一方面实施例的一种可能的实施方式,所述多叉戟神经网络模型包括:依次连接的主干网络、多叉戟网络、多网络头,所述多叉戟网络中的每个分支均连接一个所述多网络头,所述多叉戟网络中的每个分支对应的分辨率不同,所述多网络头中的每个分支对应的码率不同;所述利用预先训练好的多叉戟神经网络模型对所述待编码视频进行处理,输出不同分辨率不同码率下的质量分数,包括:利用所述主干网络对所述待编码视频进行处理,得到浅层特征;利用所述多叉戟网络对所述浅层特征进行处理,得到多个不同分辨率下的深层特征;利用对应的所述多网络头对每一个所述深层特征进行处理,得到多个不同码率下的质量分数。
本申请实施例中,采用上述结构的多叉戟神经网络模型,使得仅需要输入一个待编码视频便可得到多个不同分辨率和/或不同码率的质量分数,同时利用多叉戟网络来表示不同分辨率的深层特征,与只使用不分叉的、单结构的网络相比,能够更好表示不同分辨率的视频的特征;与另一种多分辨率的表示方法(特征金字塔)相比,不需要使用上采样的方式模拟不同分辨率,不会引入新的误差。
结合第一方面实施例的一种可能的实施方式,所述待编码视频包括k帧图像,k为正整数;所述根据不同分辨率不同码率下的质量分数确定出目标分辨率和目标码率,包括:从图像帧的维度,确定所述待编码视频的平均质量分数和平均码率;根据所述平均质量分数和所述平均码率,得到表征质量分数和码率的曲线;获取所述曲线中的最大凸包对应的所述目标分辨率和所述目标码率。
本申请实施例中,通过获取表征质量分数和码率的曲线中的最大凸包对应的目标分辨率和目标码率,从而可以获得最优的编码参数。
结合第一方面实施例的一种可能的实施方式,所述质量分数包括峰值信噪比分数和/或结构相似性分数。
本申请实施例中,可以基于峰值信噪比分数和/或结构相似性分数来表征视频的编码质量得分,灵活性高,若同时考虑峰值信噪比分数和结构相似性分数时,可以提高准确性,进而筛选出来的目标分辨率和目标码率的参数最好。
结合第一方面实施例的一种可能的实施方式,所述待编码视频为对原始视频进行指定处理后的视频,所述指定处理包括针对所述原始视频中的每帧图像,将该帧图像的尺寸缩放至设定大小,对缩放后的该帧图像中的每一个像素点除以第一阈值,得到数值在设定范围内的数组,之后对数组内的每一个点先减去第二阈值,再除以第三阈值。
本申请实施例中,通过对原始视频进行指定处理,可以消除异常像素点导致的不良影响,可以防止过拟合,提高模型的泛化能力。
结合第一方面实施例的一种可能的实施方式,所述方法还包括:获取训练样本,所述训练样本包括训练视频和m×n个编码视频对应的实际分数,不同所述编码视频的分辨率和/或码率不同,所述m×n个编码视频为利用给定的m个分辨率和n个码率对所述训练视频编码得到,m、n均为正整数;利用训练样本对初始的多叉戟神经网络模型进行训练,得到训练好的多叉戟神经网络模型。
结合第一方面实施例的一种可能的实施方式,利用训练样本对初始的多叉戟神经网络模型进行训练,得到训练好的多叉戟神经网络模型,包括:将所述训练视频的每帧图像输入初始的多叉戟神经网络模型中进行处理,输出m×n个质量分数;确定质量分数与该训练视频对应的实际分数的损失误差;基于所述损失误差更新模型参数,之后继续将所述训练视频的每帧图像输入初始的多叉戟神经网络模型中进行处理,输出m×n个新质量分数,直至新质量分数与该训练视频对应的实际分数的损失误差满足指定条件,或迭代次数到达指定次数,停止训练。
第二方面,本申请实施例还提供了一种视频编码参数获取装置,包括:获取模块、处理模块;获取模块,用于获取待编码视频;处理模块,用于利用预先训练好的多叉戟神经网络模型对所述待编码视频进行处理,输出不同分辨率不同码率下的质量分数;根据不同分辨率不同码率下的质量分数确定出目标分辨率和目标码率,其中,所述目标分辨率和所述目标码率为所述待编码视频编码所需的编码参数。
第三方面,本申请实施例还提供了一种网络模型,包括:主干网络、多叉戟网络、多网络头;主干网络,用于对输入的待编码视频进行处理,得到浅层特征;多叉戟网络,用于对所述浅层特征进行处理,得到多个不同分辨率下的深层特征,所述多叉戟网络中的每个分支对应的分辨率不同;多网络头,所述多叉戟网络中的每个分支均连接一个所述多网络头,所述多网络头中的每个分支对应的码率不同;所述多网络头,用于对输入的深层特征进行处理,得到多个不同码率下的质量分数。
第四方面,本申请实施例还提供了一种电子设备,包括:存储器和处理器,所述处理器与所述存储器连接;所述存储器,用于存储程序;所述处理器,用于调用存储于所述存储器中的程序,以执行上述第一方面实施例和/或结合第一方面实施例的任一种可能的实施方式提供的方法。
第五方面,本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器运行时,执行上述第一方面实施例和/或结合第一方面实施例的任一种可能的实施方式提供的方法。
本申请的其他特征和优点将在随后的说明书阐述。本申请的目的和其他优点可通过在所写的说明书以及附图中所特别指出的结构来实现和获得。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。通过附图所示,本申请的上述及其它目的、特征和优势将更加清晰。在全部附图中相同的附图标记指示相同的部分。并未刻意按实际尺寸等比例缩放绘制附图,重点在于示出本申请的主旨。
图1示出了本申请实施例提供的一种视频编码参数获取方法的流程示意图。
图2示出了本申请实施例提供的一种多叉戟神经网络模型的模结构示意图。
图3示出了本申请实施例提供的一种视频编码参数获取方法的原理示意图。
图4示出了本申请实施例提供的一种视频编码参数获取装置的原理示意图。
图5示出了本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
再者,本申请中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。
鉴于现有的智能视频编码技术所存在的缺陷,比如,每次需要对同一个的视频使用不同分辨率、不同码率来编码,这样如果想要得到更稠密的由码率-分数点组成的曲线,需要消耗平方倍的编码资源,导致视频编码的过程所消耗时间会很长。
基于此,本申请实施例提供了一种基于深度神经网络的视频编码参数获取方法,该方法仅需输入一个待编码视频便可得到多个不同分辨率和/或不同码率的质量分数,解决现有技术需要多次编码才能得到不同分辨率和/或不同码率的视频所存在的问题。下面将结合图1,对本申请实施例提供的视频编码参数获取方法进行说明。
S1:获取待编码视频。
可选地,待编码视频为对原始视频进行指定处理后的视频。一种实施方式下,获取待编码视频的过程可以是:直接获取已经对原始视频进行指定处理后的视频,又一种实施方式下,获取待编码视频的过程可以是:首先获取原始视频,并对原始视频进行指定处理,得到待编码视频。
一种实施方式下,指定处理包括针对原始视频中的每帧图像,将该帧图像的尺寸缩放(缩小或放大)至设定大小(如指定宽度W和指定高度H,具体可以根据模型的输入要求进行设置),以符合网络模型的输入要求。例如,可以利用ffmpeg或其他视频软件将原始视频拆分为原始分辨率和原始码率的k(大于等于1的整数)帧图像,对得到的k帧图像的每一帧图像,使用OpenCV或者opencv-python,将其图片尺寸缩放至网络模型需要的固定大小。
又一种实施方式下,指定处理除了针对原始视频中的每帧图像,将该帧图像的尺寸缩放至设定大小外,还可以进一步对缩放后的该帧图像中的每一个像素点除以第一阈值(如255,但并不限于此,还可以是大于255的任意数),也即对该缩放后的该帧图像中的每一个像素点进行归一化处理,得到数值在设定范围,如[0,1]内的数组,对数组内的每一个点先减去第二阈值(可以为归一化处理后的数组的平均值),之后再除以第三阈值(可以为归一化处理后的数组的标准差),即对归一化处理后的数组进行正则化处理。假设待编码视频有k帧图像,就可以得到k个数组。
通过对该帧图像中的每一个像素点进行归一化处理,可以消除异常像素点导致的不良影响,通过对归一化处理后的数组进行正则化处理(对归一化处理后的每一个像素点再减去一个平均值,之后再除以标准差),可以防止过拟合,提高模型的泛化能力。
S2:利用预先训练好的多叉戟神经网络模型对所述待编码视频进行处理,输出不同分辨率不同码率下的质量分数。
获取到待编码视频后,利用预先训练好的多叉戟神经网络模型对待编码视频进行处理,输出不同分辨率不同码率下的质量分数。也即,将待编码视频对应的数组输入预先训练好的多叉戟神经网络模型中,即可输出不同分辨率不同码率下的质量分数。其中,多叉戟神经网络模型用于预测不同分辨率不同码率下的质量分数。
假设该多叉戟神经网络模型包括m个分辨率和n个码率,则该多叉戟神经网络模型可以输出m×n个质量分数。m、n均为正整数,此处不对其数值进行具体限制。假设待编码视频包括k帧图像,相应地的会有k个数组,在将待编码视频对应的k个数组输入预先训练好的多叉戟神经网络模型中,可输出k×m×n个质量分数。每帧图像可得到m×n个质量参数,k帧图像可得到k×m×n个质量分数。
一种实施方式下,利用预先训练好的多叉戟神经网络模型对待编码视频进行处理,输出不同分辨率不同码率下的质量分数的过程可以是:利用多叉戟神经网络模型对待编码视频进行处理,得到浅层特征;利用多叉戟神经网络模型对浅层特征进行处理,得到多个不同分辨率下的深层特征;利用多叉戟神经网络模型对每一个深层特征进行处理,得到多个不同码率下的质量分数。
其中,质量分数包括峰值信噪比(Peak Signal to Noise Ratio,PSNR)分数和/或结构相似性(Structural SIMilarity,SSIM)分数。即,一种实施方式下,仅包含一种类型的质量分数,即为PSNR分数或SSIM分数,又一种实施方式下,包含两种类型的质量分数,PSNR分数和SSIM分数。视频码率是数据传输时单位时间传送的数据位数,一般用的单位是kbps,即千位每秒。
一种实施方式下,多叉戟神经网络模型包括:依次连接的主干网络、多叉戟网络、多网络头,多叉戟网络中的每个分支均连接一个多网络头,多叉戟网络中的每个分支对应的分辨率不同,如多叉戟网络包括m个分支,相应地,多网络头的数量为m,多网络头中的每个分支对应的码率不同,如多网络头包括n个分支,其结果示意图如图2所示。
其中,主干网络可以为resnet50网络的block1~block4。使用卷积神经网络来提取视频的特征,相比于其他提取特征的方式,效果更好。
多叉戟网络可以包括m个具有不同空洞大小的空洞卷积块,每个空洞卷积块的结构与resnet50网络的block5相同,不同的空洞大小对应的分辨率不同。使用多叉戟网络来表示不同分辨率的深层特征。与只使用不分叉的、单结构的网络相比,能够更好表示不同分辨率的视频的特征。与另一种多分辨率的表示方法(特征金字塔)相比,不需要使用上采样的方式模拟不同分辨率,不会引入新的误差。
多网络头可以包括N个卷积网络和N个回归头,每个卷积网络包含4层一样的卷积层,不同分支的卷积网络对应的码率不同。每层卷积层的通道数(channel)可以为256,每个回归头可以包含256×3的全连接层,此处的3是指3个参数(PSNR分数、SSIM分数、码率)。可以理解的是,若多网络头的每个分支的输出参数为2,则回归头包含256×2的全连接层,即仅输出2个参数,如输出PSNR分数、码率;或者SSIM分数、码率。因此,不能将图2所示的输出三个参数的情形理解成是对本申请的限制。
则利用预先训练好的多叉戟神经网络模型对待编码视频进行处理,输出不同分辨率不同码率下的质量分数的过程可以是:利用主干网络对待编码视频进行处理,得到浅层特征;利用多叉戟网络对浅层特征进行处理,得到多个不同分辨率下的深层特征;利用对应的多网络头对每一个深层特征进行处理,得到多个不同码率下的质量分数。也即,将待编码视频的k个数组输入主干网络,输出k个浅层特征,每个浅层特征输入多叉戟网络,输出m个不同分辨率下的深层特征,每一个深层特征输入对应的多网络头,输出n个不同码率下的质量分数,共计输出k×m×n个质量分数。
此外,除了输出质量分数如PSNR分数和/或SSIM分数外,还可以进一步输出对应的码率。
其中,PSNR的定义为:,MSE为给定大小(W×H,也可以表示为W.H)的原始图像I和噪声图像(对原始图像利用给定的分辨率和码率编码后的编码图像)K的均方误差(MSE),,MAX为原始图像I以及噪声图像K中的最大像素值。
结构相似性是一种全参考的图像质量评价指标,它分别从亮度(luminance)、对比度(contrast)、结构(structure)三方面度量图像相似性。SSIM的计算方式如下:先求给定大小(W.H)的图像X和图像Y的均值、方差、协方差,再求亮度因子l(x,y)、对比度因子c(x,y)、结构相似因子s(x,y),最后将三个因子乘在一起,即可得到图像X和图像Y的结构相似性。其表示式如下:
SSIM取值范围为[0,1],值越大,表示图像失真越小。只有当x=y时,SSIM才能取最大值,为1。
S3:根据不同分辨率不同码率下的质量分数确定出目标分辨率和目标码率。
在得到k×m×n个质量分数后,即根据不同分辨率不同码率下的质量分数确定出目标分辨率和目标码率。
一种实施方式下,待编码视频包括多帧(即k帧)图像;根据不同分辨率不同码率下的质量分数确定出目标分辨率和目标码率的过程可以是:从图像帧的维度,确定待编码视频的平均质量分数(m×n个)和平均码率(m×n个);根据平均质量分数和平均码率,得到表征质量分数和码率的曲线,得到m×n条曲线;获取曲线中的最大凸包对应的目标分辨率和目标码率。
若质量分数包括PSNR分数和SSIM分数,则可以建立一个三维坐标系,如以平均码率为x轴,平均PSNR分数为y轴,平均SSIM分数为Z轴,将网络模型输出的m×n×3个参数画在坐标轴内,一共会得到m×n条表征质量分数(此时包含PSNR分数和SSIM分数)和码率的曲线。若质量分数仅为PSNR分数或SSIM分数,则可以建立一个二维坐标系,如以平均码率为x轴,平均PSNR分数或平均SSIM分数为y轴,将网络模型输出的m×n×2个参数画在坐标轴内,一共会得到m×n条表征质量分数(此时为PSNR分数或SSIM分数)和码率的曲线。
一种实施方式下,获取曲线中的最大凸包对应的目标分辨率和目标码率可以是获取所有曲线中的最大凸包对应的目标分辨率和目标码率,此时目标分辨率和目标码率的数量只有一个。
又一种实施方式下,获取曲线中的最大凸包对应的目标分辨率和目标码率可以是获取每条曲线中的最大凸包对应的目标分辨率和目标码率,此时目标分辨率和目标码率的数量有m×n个。
可以理解的是,目标分辨率和目标码率的数量可以是介于1和m×n之间,例如,在获取到每条曲线中的最大凸包对应的目标分辨率和目标码率后,从中筛选出数值较大的部分目标分辨率和目标码率。
其中,目标分辨率和目标码率为待编码视频编码所需的编码参数,在得到目标分辨率和目标码率后,可以利用该目标分辨率和目标码率对待编码视频进行编码。若目标分辨率和目标码率的数量为2个及以上,还可以对该参数进行显示,以供用户进行选择,利用用户所选择的目标分辨率和目标码率对待编码视频进行编码。
一种实施方式下,上述的视频编码参数获取方法的原理可以如图3所示。
上述的多叉戟神经网络模型为预先训练好的多叉戟神经网络模型,一种实施方式下,可以利用如下方式对其进行训练:获取训练样本,训练样本包括训练视频和m×n个编码视频对应的实际分数(PSNR分数和/或SSIM分数),不同编码视频的分辨率和/或码率不同,m×n个编码视频为利用给定的m个分辨率和n个码率对训练视频编码得到,m、n均为正整数;利用训练样本对初始的多叉戟神经网络模型进行训练,得到训练好的多叉戟神经网络模型。此外,该获取待编码视频方法还包括获取训练样本,利用训练样本对初始的多叉戟神经网络模型进行训练,得到训练好的多叉戟神经网络模型。
获取训练样本的过程可以是,获取原始视频,对原始视频进行指定处理,得到训练视频。指定处理可以是针对原始视频中的每一帧图像,将该帧图像的尺寸缩放至设定大小,对缩放后的该帧图像中的每一个像素点除以第一阈值,得到数值在设定范围内的数组,对数组内的每一个点先减去第二阈值,再除以第三阈值,从而得到训练视频。之后,给定m个分辨率和n个码率,利用不同的分辨率和/或码率对该原始视频进行编码,得到m×n个编码视频,计算每一个编码视频对应的实际分数,即计算每一个编码视频相对于 原始视频的PSNR分数和/或SSIM分数,得到m×n个实际分数,也即得到m×n个PSNR分数和/或SSIM分数。
利用训练样本对初始的多叉戟神经网络模型进行训练,得到训练好的多叉戟神经网络模型的过程可以是包括:将训练视频的每帧图像输入初始的多叉戟神经网络模型中进行处理,输出m×n个质量分数,确定质量分数与该训练视频对应的实际分数的损失误差;基于损失误差更新模型参数,之后继续将训练视频的每帧图像输入初始的多叉戟神经网络模型中进行处理,输出m×n个新质量分数,直至新质量分数与该训练视频对应的实际分数的损失误差满足指定条件(可以设定),或迭代次数到达指定次数(可以设定),停止训练。
在基于损失误差更新模型参数时,可以是对得到的误差进行链式反向求导,更新模型的每个参数,可以使用SGD (mini batch Stochastic Gradient Descent),ADAM (ADAptive Momentum),RMSPROP (Root Mean Square PROP) 等算法更新参数。以SGD算法为例,SGD就是每一次迭代计算mini-batch的梯度,然后对参数进行更新。即:
其中,ƞ是学习率,可以取学习率取0.001,gt是梯度,f是优化函数,ɵ是网络中的参数,t是指时刻。 SGD完全依赖于当前batch的梯度。
在停止训练的条件可以是当模型预测质量分数与真实结果差距小于0.0001时终止训练,或者一共执行50万步迭代后终止训练。
基于同样的发明构思,本申请实施例还提供了一种网络模型,该网络模型包括依次连接的主干网络、多叉戟网络、多网络头,多叉戟网络中的每个分支均连接一个多网络头,多叉戟网络中的每个分支对应的分辨率不同,如多叉戟网络包括m个分支,相应地,多网络头的数量为m,多网络头中的每个分支对应的码率不同,如多网络头包括n个分支,其结果示意图如图2所示。
主干网络,用于对输入的待编码视频进行处理,得到浅层特征。多叉戟网络,用于对浅层特征进行处理,得到多个不同分辨率下的深层特征。多网络头,用于对输入的深层特征进行处理,得到多个不同码率下的质量分数。
可以通过对该网络模型模型进行训练,之后仅需要输入一个待编码视频便可得到多个不同分辨率和/或不同码率的质量分数。对网络模型的训练可以参阅方法实施例中的相应内容。
基于同样的发明构思,本申请实施例还提供了一种视频编码参数获取装置100,如图4所示。该视频编码参数获取装置100包括:获取模块110、处理模块120。
获取模块110,用于获取待编码视频;处理模块120,用于利用预先训练好的多叉戟神经网络模型对所述待编码视频进行处理,输出不同分辨率不同码率下的质量分数;根据不同分辨率不同码率下的质量分数确定出目标分辨率和目标码率,其中,所述目标分辨率和所述目标码率为所述待编码视频编码所需的编码参数。
处理模块120,用于利用所述多叉戟神经网络模型对所述待编码视频进行处理,得到浅层特征;利用所述多叉戟神经网络模型对所述浅层特征进行处理,得到多个不同分辨率下的深层特征;利用所述多叉戟神经网络模型对每一个所述深层特征进行处理,得到多个不同码率下的质量分数。
所述多叉戟神经网络模型包括:依次连接的主干网络、多叉戟网络、多网络头,所述多叉戟网络中的每个分支均连接一个所述多网络头,所述多叉戟网络中的每个分支对应的分辨率不同,所述多网络头中的每个分支对应的码率不同;处理模块120,用于利用所述主干网络对所述待编码视频进行处理,得到浅层特征;利用所述多叉戟网络对所述浅层特征进行处理,得到多个不同分辨率下的深层特征;利用对应的所述多网络头对每一个所述深层特征进行处理,得到多个不同码率下的质量分数。
所述待编码视频包括k帧图像;处理模块120,用于从图像帧的维度,确定所述待编码视频的平均质量分数和平均码率;根据所述平均质量分数和所述平均码率,得到表征质量分数和码率的曲线;获取所述曲线中的最大凸包对应的所述目标分辨率和所述目标码率。
该视频编码参数获取装置100还包括训练模块,用于获取训练样本,所述训练样本包括训练视频和m×n个编码视频对应的实际分数,不同所述编码视频的分辨率和/或码率不同,所述m×n个编码视频为利用给定的m个分辨率和n个码率对所述训练视频编码得到,m、n均为正整数;利用训练样本对初始的多叉戟神经网络模型进行训练,得到训练好的多叉戟神经网络模型。
训练模块,用于将所述训练视频的每帧图像输入初始的多叉戟神经网络模型中进行处理,输出m×n个质量分数;确定质量分数与该训练视频对应的实际分数的损失误差;基于所述损失误差更新模型参数,之后继续将所述训练视频的每帧图像输入初始的多叉戟神经网络模型中进行处理,输出m×n个新质量分数,直至新质量分数与该训练视频对应的实际分数的损失误差满足指定条件,或迭代次数到达指定次数,停止训练。
本申请实施例所提供的视频编码参数获取装置100,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。
如图5所示,图5示出了本申请实施例提供的一种电子设备200的结构框图。所述电子设备200包括:收发器210、存储器220、通讯总线230以及处理器240。
所述收发器210、所述存储器220、处理器240各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线230或信号线实现电性连接。其中,收发器210用于收发数据。存储器220用于存储计算机程序,如存储有图4中所示的软件功能模块,即视频编码参数获取装置100。其中,视频编码参数获取装置100包括至少一个可以软件或固件(Firmware)的形式存储于所述存储器220中或固化在所述电子设备200的操作系统(Operating System,OS)中的软件功能模块。所述处理器240,用于执行存储器220中存储的可执行模块,例如视频编码参数获取装置100包括的软件功能模块或计算机程序。例如,处理器240,用于获取待编码视频;利用预先训练好的多叉戟神经网络模型对所述待编码视频进行处理,输出不同分辨率不同码率下的质量分数;根据不同分辨率不同码率下的质量分数确定出目标分辨率和目标码率,其中,所述目标分辨率和所述目标码率为所述待编码视频编码所需的编码参数。
其中,存储器220可以是,但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-OnlyMemory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)等。
处理器240可能是一种集成电路芯片,具有信号的处理能力。上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit, CPU)、网络处理器(NetworkProcessor,NP)等;还可以是数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(FieldProgrammable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器240也可以是任何常规的处理器等。
其中,上述的电子设备200,包括但不限于手机、平板、电脑、工控机、车载电脑、服务器等。
本申请实施例还提供了一种非易失性的计算机可读取存储介质(以下简称存储介质),该存储介质上存储有计算机程序,该计算机程序被计算机如上述的电子设备200运行时,执行上述所示的视频编码参数获取方法。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个计算机可读存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,笔记本电脑,服务器,或者电子设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的计算机可读存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。
Claims (10)
1.一种视频编码参数获取方法,其特征在于,包括:
获取待编码视频;
利用预先训练好的多叉戟神经网络模型对所述待编码视频进行处理,输出不同分辨率不同码率下的质量分数,其中,所述多叉戟神经网络模型包括:依次连接的主干网络、多叉戟网络、多网络头,所述多叉戟网络中的每个分支均连接一个所述多网络头,所述多叉戟网络中的每个分支对应的分辨率不同,所述多网络头中的每个分支对应的码率不同;
根据不同分辨率不同码率下的质量分数确定出目标分辨率和目标码率,其中,所述目标分辨率和所述目标码率为所述待编码视频编码所需的编码参数。
2.根据权利要求1所述的方法,其特征在于,所述利用预先训练好的多叉戟神经网络模型对所述待编码视频进行处理,输出不同分辨率不同码率下的质量分数,包括:
利用所述多叉戟神经网络模型对所述待编码视频进行处理,得到浅层特征;
利用所述多叉戟神经网络模型对所述浅层特征进行处理,得到多个不同分辨率下的深层特征;
利用所述多叉戟神经网络模型对每一个所述深层特征进行处理,得到多个不同码率下的质量分数。
3.根据权利要求1或2所述的方法,其特征在于,所述利用预先训练好的多叉戟神经网络模型对所述待编码视频进行处理,输出不同分辨率不同码率下的质量分数,包括:
利用所述主干网络对所述待编码视频进行处理,得到浅层特征;
利用所述多叉戟网络对所述浅层特征进行处理,得到多个不同分辨率下的深层特征;
利用对应的所述多网络头对每一个所述深层特征进行处理,得到多个不同码率下的质量分数。
4.根据权利要求3所述的方法,其特征在于,所述待编码视频包括k帧图像,k为正整数;所述根据不同分辨率不同码率下的质量分数确定出目标分辨率和目标码率,包括:
从图像帧的维度,确定所述待编码视频的平均质量分数和平均码率;
根据所述平均质量分数和所述平均码率,得到表征质量分数和码率的曲线;
获取所述曲线中的最大凸包对应的所述目标分辨率和所述目标码率。
5.根据权利要求1所述的方法,其特征在于,所述质量分数包括峰值信噪比分数和/或结构相似性分数。
6.根据权利要求1所述的方法,其特征在于,所述待编码视频为对原始视频进行指定处理后的视频,所述指定处理包括针对所述原始视频中的每帧图像,将该帧图像的尺寸缩放至设定大小,对缩放后的该帧图像中的每一个像素点除以第一阈值,得到数值在设定范围内的数组,之后对数组内的每一个点先减去第二阈值,再除以第三阈值。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取训练样本,所述训练样本包括训练视频和m×n个编码视频对应的实际分数,不同所述编码视频的分辨率和/或码率不同,所述m×n个编码视频为利用给定的m个分辨率和n个码率对所述训练视频编码得到,m、n均为正整数;
利用训练样本对初始的多叉戟神经网络模型进行训练,得到训练好的多叉戟神经网络模型。
8.根据权利要求7所述的方法,其特征在于,利用训练样本对初始的多叉戟神经网络模型进行训练,得到训练好的多叉戟神经网络模型,包括:
将所述训练视频的每帧图像输入初始的多叉戟神经网络模型中进行处理,输出m×n个质量分数;
确定质量分数与该训练视频对应的实际分数的损失误差;
基于所述损失误差更新模型参数,之后继续将所述训练视频的每帧图像输入初始的多叉戟神经网络模型中进行处理,输出m×n个新质量分数,直至新质量分数与该训练视频对应的实际分数的损失误差满足指定条件,或迭代次数到达指定次数,停止训练。
9.一种视频编码参数获取装置,其特征在于,包括:
获取模块,用于获取待编码视频;
处理模块,用于利用预先训练好的多叉戟神经网络模型对所述待编码视频进行处理,输出不同分辨率不同码率下的质量分数;根据不同分辨率不同码率下的质量分数确定出目标分辨率和目标码率,其中,所述目标分辨率和所述目标码率为所述待编码视频编码所需的编码参数;所述多叉戟神经网络模型包括:依次连接的主干网络、多叉戟网络、多网络头,所述多叉戟网络中的每个分支均连接一个所述多网络头,所述多叉戟网络中的每个分支对应的分辨率不同,所述多网络头中的每个分支对应的码率不同。
10.一种电子设备,其特征在于,包括:
存储器和处理器,所述处理器与所述存储器连接;
所述存储器,用于存储程序;
所述处理器,用于调用存储于所述存储器中的程序,以执行如权利要求1-8中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211125470.1A CN115209150B (zh) | 2022-09-16 | 2022-09-16 | 一种视频编码参数获取方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211125470.1A CN115209150B (zh) | 2022-09-16 | 2022-09-16 | 一种视频编码参数获取方法、装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115209150A CN115209150A (zh) | 2022-10-18 |
CN115209150B true CN115209150B (zh) | 2022-12-27 |
Family
ID=83571860
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211125470.1A Active CN115209150B (zh) | 2022-09-16 | 2022-09-16 | 一种视频编码参数获取方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115209150B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118200571A (zh) * | 2022-12-07 | 2024-06-14 | 北京字跳网络技术有限公司 | 视频编码方法、装置、电子设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110852349A (zh) * | 2019-10-21 | 2020-02-28 | 上海联影智能医疗科技有限公司 | 一种图像处理方法、检测方法、相关设备及存储介质 |
CN113553908A (zh) * | 2021-06-23 | 2021-10-26 | 中国科学院自动化研究所 | 基于设备独有性感知的异质虹膜识别方法 |
CN114979672A (zh) * | 2022-06-23 | 2022-08-30 | 阿里巴巴(中国)有限公司 | 视频编码方法、解码方法、电子设备及存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7599434B2 (en) * | 2001-09-26 | 2009-10-06 | Reynolds Jodie L | System and method for compressing portions of a media signal using different codecs |
CN112383777B (zh) * | 2020-09-28 | 2023-09-05 | 北京达佳互联信息技术有限公司 | 视频编码方法、装置、电子设备及存储介质 |
-
2022
- 2022-09-16 CN CN202211125470.1A patent/CN115209150B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110852349A (zh) * | 2019-10-21 | 2020-02-28 | 上海联影智能医疗科技有限公司 | 一种图像处理方法、检测方法、相关设备及存储介质 |
CN113553908A (zh) * | 2021-06-23 | 2021-10-26 | 中国科学院自动化研究所 | 基于设备独有性感知的异质虹膜识别方法 |
CN114979672A (zh) * | 2022-06-23 | 2022-08-30 | 阿里巴巴(中国)有限公司 | 视频编码方法、解码方法、电子设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
基于深度学习的小目标检测综述;刘洪江 等;《计算机工程与科学》;20210831;第43卷(第8期);第1429-1442页 * |
Also Published As
Publication number | Publication date |
---|---|
CN115209150A (zh) | 2022-10-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110689599A (zh) | 基于非局部增强的生成对抗网络的3d视觉显著性预测方法 | |
CN110139102B (zh) | 视频编码复杂度的预测方法、装置、设备和存储介质 | |
US11798254B2 (en) | Bandwidth limited context based adaptive acquisition of video frames and events for user defined tasks | |
CN110136057B (zh) | 一种图像超分辨率重建方法、装置及电子设备 | |
CN113298728B (zh) | 一种视频优化方法、装置、终端设备及存储介质 | |
CN113870335A (zh) | 一种基于多尺度特征融合的单目深度估计方法 | |
CN109871790B (zh) | 一种基于混合神经网络模型的视频去色方法 | |
CN115209150B (zh) | 一种视频编码参数获取方法、装置及电子设备 | |
CN114140346A (zh) | 一种图像处理方法及装置 | |
CN106204551A (zh) | 一种图像显著性检测方法及装置 | |
CN115082966A (zh) | 行人重识别模型训练方法、行人重识别方法、装置和设备 | |
CN109615620B (zh) | 图像压缩度识别方法、装置、设备及计算机可读存储介质 | |
CN117576118B (zh) | 多尺度多感知的实时图像分割方法、系统、终端及介质 | |
Ruivo et al. | Double-deep learning-based point cloud geometry coding with adaptive super-resolution | |
CN111311584B (zh) | 视频质量评估方法及装置、电子设备、可读介质 | |
CN112084371B (zh) | 一种电影多标签分类方法、装置、电子设备以及存储介质 | |
CN113452996A (zh) | 一种视频编码、解码方法及装置 | |
CN111583345A (zh) | 一种相机参数的获取方法、装置、设备及存储介质 | |
CN110633630A (zh) | 一种行为识别方法、装置及终端设备 | |
CN111754412A (zh) | 构建数据对的方法、装置及终端设备 | |
CN112637609B (zh) | 图像实时传输方法、发送端及接收端 | |
WO2023082162A1 (zh) | 图像处理方法和装置 | |
US20230377321A1 (en) | Low-power change-based neural network inference for image processing | |
CN118748712A (zh) | 针对超分辨率视频的无参视频质量评估方法 | |
CN117574994A (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 |