CN110691246B - 视频编码方法、装置及电子设备 - Google Patents
视频编码方法、装置及电子设备 Download PDFInfo
- Publication number
- CN110691246B CN110691246B CN201911057387.3A CN201911057387A CN110691246B CN 110691246 B CN110691246 B CN 110691246B CN 201911057387 A CN201911057387 A CN 201911057387A CN 110691246 B CN110691246 B CN 110691246B
- Authority
- CN
- China
- Prior art keywords
- video
- segmented
- video stream
- scene
- thread
- 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
- 238000000034 method Methods 0.000 title claims abstract description 61
- 238000000605 extraction Methods 0.000 claims description 47
- 238000013500 data storage Methods 0.000 claims description 25
- 238000013145 classification model Methods 0.000 claims description 18
- 230000004927 fusion Effects 0.000 claims description 18
- 238000004590 computer program Methods 0.000 claims description 7
- 238000012544 monitoring process Methods 0.000 claims description 4
- 230000006835 compression Effects 0.000 abstract description 17
- 238000007906 compression Methods 0.000 abstract description 17
- 230000005540 biological transmission Effects 0.000 abstract description 13
- 238000010586 diagram Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000004913 activation Effects 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000010606 normalization Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 238000011176 pooling Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000003796 beauty Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 229940068196 placebo Drugs 0.000 description 1
- 239000000902 placebo Substances 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
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/136—Incoming video signal characteristics or properties
-
- 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/85—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
- H04N19/87—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving scene cut or scene change detection in combination with video compression
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明提供了一种视频编码方法、装置及电子设备,涉及计算机视觉技术领域,该方法包括:获取待编码的多个分段视频流;其中,多个分段视频流是将待编码的原始视频流进行分段后得到的;将多个分段视频流分别写入预设的第一线程和第二线程;其中,第一线程用于确定分段视频流对应的视频场景,第二线程用于根据分段视频流对应的视频场景对分段视频流进行编码;在第二线程获取到多个分段视频流中的第一分段视频流的情况下,根据第一视频场景对第一分段视频流进行编码;其中,第一视频场景为第一线程确定的第一分段视频流对应的视频场景。本发明可以较好的平衡视频画面质量和压缩比,从而降低画面质量损失或者降低传输占用宽带和存储空间。
Description
技术领域
本发明涉及计算机视觉技术领域,尤其是涉及一种视频编码方法、装置及电子设备。
背景技术
由于视频数据数字化后通常数据带宽很高且存在大量的冗余信息,导致视频存储和传输压力较大。因此,压缩编码方法对于视频数据的存储和传输是必需的。现有的压缩编码方法通常是采用编码参数对视频整体进行格式转换。由于不同的编码参数对应编码后的视频画面质量损失与压缩比有所不同,而且随着科技的进步,视频向着超清、超高清的方向发展,所以上述压缩编码方法无法在视频画面质量损失和压缩比之间找到一个较好的平衡点,从而面临着画面质量损失较大,或者传输占用带宽高和存储空间需求较大的问题。
发明内容
本发明的目的在于提供视频编码方法、装置及电子设备,以较好的平衡视频画面质量和压缩比,从而降低画面质量损失或者降低传输占用宽带和存储空间。
本发明提供的一种视频编码方法,所述方法包括:获取待编码的多个分段视频流;其中,多个所述分段视频流是将待编码的原始视频流进行分段后得到的;将多个所述分段视频流分别写入预设的第一线程和第二线程;其中,所述第一线程用于确定所述分段视频流对应的视频场景,所述第二线程用于根据所述分段视频流对应的视频场景对所述分段视频流进行编码;在所述第二线程获取到多个所述分段视频流中的第一分段视频流的情况下,根据第一视频场景对所述第一分段视频流进行编码;其中,所述第一视频场景为所述第一线程确定的所述第一分段视频流对应的视频场景。
进一步的,在所述根据第一视频场景对所述第一分段视频流进行编码之前,所述方法包括:在所述第一线程获取到所述原始视频流中的第一分段视频流的情况下,通过所述第一线程对所述第一分段视频流进行场景分类,得到所述第一分段视频流对应的第一视频场景。
进一步的,所述通过所述第一线程对所述第一分段视频流进行场景分类,得到所述第一分段视频流对应的第一视频场景的步骤,包括:获取所述第一分段视频流中的多张视频帧图像;将获取的多张所述视频帧图像输入至分类模型,获取所述分类模型输入的所述第一视频场景,其中,所述分类模型包括:特征提取层和特征融合层,所述特征提取层用于对多张所述视频帧图像分别进行特征提取,并将得到的多张所述视频帧图像的特征参数均输入至所述特征融合层,所述特征融合层用于对多张所述视频帧图像的特征参数进行融合,得到所述第一分段视频流对应的所述第一视频场景。
进一步的,所述根据第一视频场景对所述第一分段视频流进行编码的步骤,包括:通过所述第二线程从数据存储表中获取所述第一分段视频流对应的第一视频场景,其中,所述第一线程将所述第一视频场景存储于预设的数据存储表中;基于所述第一视频场景从预设的参数对照表中查找与所述第一分段视频流相匹配的第一编码参数,并根据所述第一编码参数对所述第一分段视频流进行编码;其中,所述预设的参数对照表中存储有视频场景与编码参数的对应关系。
进一步的,所述数据存储表包括队列或者场景对照表;其中,所述队列用于存储所述分段视频流对应的视频场景,所述场景对照表用于存储所述分段视频流的标签与视频场景的对应关系;所述通过所述第二线程从所述数据存储表中获取所述第一分段视频流对应的第一视频场景的步骤,包括:通过所述第二线程监听所述队列,在所述队列不为空的情况下,将所述队列中位于第一位的视频场景确定为所述第一视频场景;或者,通过所述第二线程在所述场景对照表中查找与输入的所述第一分段视频流的标签相对应的第一视频场景。
进一步的,在所述第二线程获取到所述原始视频流中的第二分段视频流的情况下,所述方法还包括:根据第二视频场景从所述参数对照表中查找与所述第二分段视频流相匹配的第二编码参数,并根据所述第二编码参数对所述第二分段视频流进行编码;其中,所述第二视频场景为所述第一线程确定出的所述第二分段视频流对应的视频场景,所述第二视频场景不同于所述第一视频场景,所述第二编码参数不同于所述第一编码参数。
进一步的,所述获取待编码的多个分段视频流的步骤,包括:获取预设视频流分段长度,按照所述预设视频流分段长度将待编码的原始视频流进行分段,得到待编码的多个分段视频流。
进一步的,所述方法还包括:如果第三分段视频流的长度小于所述预设视频流分段长度,将第四分段视频流对应的视频场景确定为所述第三分段视频流对应的视频场景;其中,所述第三分段视频流为所述原始视频流中末端的分段视频流,所述第四分段视频流为与所述第三分段视频流相邻的前一段分段视频流。
本发明提供的一种视频编码装置,所述装置包括:视频流获取模块,用于获取待编码的多个分段视频流;其中,多个所述分段视频流是将待编码的原始视频流进行分段后得到的;视频流写入模块,用于将多个所述分段视频流分别写入预设的第一线程和第二线程;其中,所述第一线程用于确定所述分段视频流对应的视频场景,所述第二线程用于根据所述分段视频流对应的视频场景对所述分段视频流进行编码;视频编码模块,用于在所述第二线程获取到多个所述分段视频流中的第一分段视频流的情况下,根据第一视频场景对所述第一分段视频流进行编码;其中,所述第一视频场景为所述第一线程确定的所述第一分段视频流对应的视频场景。
本发明提供的一种电子设备,包括:处理器和存储装置;所述存储装置上存储有计算机程序,所述计算机程序在被所述处理器运行时执行以上任一项所述的方法。
本发明提供的一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行以上任一项所述的方法的步骤。
本发明实施例提供了一种视频编码方法、装置及电子设备,该方法首先获取多个分段视频流,该多个分段视频流是将待编码的原始视频流进行分段后得到的,然后将多个分段视频流分别写入预设的第一线程和第二线程;其中,第一线程用于确定分段视频流对应的视频场景,第二线程用于根据分段视频流对应的视频场景对分段视频流进行编码。与现有技术中直接采用编码参数对视频整体进行编码的方式相比,本实施例提供的上述方式通过对视频流进行先分段后确定视频场景,可以较准确的得到视频流的至少一个视频场景;对于各分段视频流,均基于与其对应的视频场景进行编码,使编码后的分段视频流能够适应当前的视频场景,较好的平衡视频画面质量和压缩比,从而降低画面质量损失或者降低传输占用宽带和存储空间。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种视频编码方法流程图;
图2为本发明实施例提供的一种分类模型的结构示意图;
图3为本发明实施例提供的一种视频编码方法的应用架构示意图;
图4为本发明实施例提供的一种视频编码的结构框图;
图5为本发明实施例提供的电子设备的结构示意图。
具体实施方式
下面将结合实施例对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
随着互联网以及视频编码技术的进步,人们能够享受高清晰度视频带来的美好观影体验,但也面临着更高的传输占用带宽和更大的存储空间需求等问题。可以理解的是,视频编码是压缩改变视频内容格式的过程,在该过程中进行编码参数的调优可以在相同画面质量损失的情况下找到最大的压缩比,或者在相同压缩比的情况下让画面质量损失最小。发明人研究发现,传统的视频编码对一段视频整体选取一样的编码参数,并不会对该段视频进行区分。
因此,考虑到现有压缩编码方法无法平衡视频画面质量损失和压缩比之间的关系,导致画面质量损失较大,或者传输占用带宽高和存储空间需求较大。为缓解上述问题,本发明实施例提供的一种视频编码方法、装置及电子设备,可以较好的平衡视频画面质量和压缩比,从而降低画面质量损失或者降低传输占用宽带和存储空间。该技术可以应用于可视会议、网络直播、网络视频和电视广播等任何需要进行视频编码的场合,为便于对本实施例进行理解,首先对本发明实施例所公开的一种视频编码方法进行详细介绍。
实施例一:
参照图1所示的视频编码方法流程图,该方法可由诸如平板电脑、计算机等电子设备执行,该方法具体包括如下步骤:
步骤S102,获取待编码的多个分段视频流;其中,多个分段视频流是将待编码的原始视频流进行分段后得到的。
在本发明实施例中,给出一种获取待编码的分段视频流的实施方式:(1)获取待编码的原始视频,该原始视频流的获取方式有多种,诸如可以为通过手机、摄像机等视频采集设备采集到的待编码视频。(2)获取预设视频流分段长度(假设为M),按照预设视频流分段长度将待编码的原始视频流进行分段,得到待编码的多个分段视频流。其中,上述预设视频流分段长度可以为基于当前的原始视频流的长度确定的,该预设视频流分段长度能够较好的匹配当前的原始视频流,将当前的原始视频流均分为多段分段视频流。或者,上述预设视频流分段长度还可以为与原始视频流的长度无关的其它长度值,这样的预设视频流分段长度普适性较强,能够对不同的原始视频流进行分段,得到多段分段视频流;当然能够理解的是,最后一段分段视频流的长度是可以小于该预设视频流分段长度的。
步骤S104,将多个分段视频流分别写入预设的第一线程和第二线程。其中,第一线程用于确定分段视频流对应的视频场景,第二线程用于根据分段视频流对应的视频场景对分段视频流进行编码。
可以理解的是,通常各分段视频流中均包含有用于场景分类的场景信息,场景信息诸如可以体现为视频内容中的目标物(如人物、建筑和风景)和特征(如颜色、纹理和形状)等信息。第一线程可以基于场景信息对分段视频流进行场景分类,得到当前分段视频流的视频场景,该视频场景诸如体育竞赛、美女秀场、电子游戏、动漫和综艺娱乐等。
在实际应用中,对于不同视频场景下的分段视频流,要求将其冗余信息进行压缩的程度也不相同;基于此,第二线程可以根据视频场景对当前的分段视频流进行编码。在一种实现方式中,第二线程可以先根据各分段视频流的视频场景选取各分段视频流对应的编码参数;然后再根据选取的编码参数对各分段视频流进行编码。
步骤S106,在第二线程获取到多个分段视频流中的第一分段视频流的情况下,根据第一视频场景对第一分段视频流进行编码;其中,第一视频场景为第一线程确定的第一分段视频流对应的视频场景;且第一分段视频流可以为多个分段视频流中任意一个分段视频流。
在本实施例中,可以先根据第一视频场景选取第一分段视频流对应的编码参数;然后再根据选取的编码参数对第一分段视频流进行编码。上述编码参数可以为根据视频场景从预先设置好的多种编码参数中选取出来的,也可以为根据视频场景对各项参数属性值(如分辨率、码率等)进行配置或调整得到的。根据得到的编码参数,可以采用诸如X261、DivX和RealVideo等编码器对当前的分段视频流进行编码。本实施例基于第一视频场景选取的编码参数能够更好的适应第一分段视频流,能够使编码后的第一分段视频流较好地平衡视频画面质量和压缩比。
本发明实施例提供的视频编码方法,通过首先获取多个分段视频流,该多个分段视频流是将待编码的原始视频流进行分段后得到的,然后将多个分段视频流分别写入预设的第一线程和第二线程;其中,第一线程用于确定分段视频流对应的视频场景,第二线程用于根据分段视频流对应的视频场景对分段视频流进行编码。与现有技术中直接采用编码参数对视频整体进行编码的方式相比,本实施例提供的上述方式通过对视频流进行先分段后确定视频场景,可以较准确的得到视频流的至少一个视频场景;对于各分段视频流,均基于与其对应的视频场景进行编码,使编码后的分段视频流能够适应当前的视频场景,较好的平衡视频画面质量和压缩比,从而降低画面质量损失或者降低传输占用宽带和存储空间。
在本实施例中,在根据第一视频场景对第一分段视频流进行编码之前,视频编码方法可以包括如下内容:在第一线程获取到原始视频流中的第一分段视频流的情况下,通过第一线程对第一分段视频流进行场景分类,得到第一分段视频流对应的第一视频场景。
在一种可能的实现方式中,上述通过第一线程对第一分段视频流进行场景分类的过程可以参照如下步骤(1)和(2)所示。
(1)获取第一分段视频流中的多张视频帧图像。在具体实现时,可以通过诸如平板电脑、计算机等电子设备,从第一分段视频流中等间隔或不等间隔地抽取至少两张视频帧图像;其中,该电子设备中安装有可抽取视频中图像的软件,诸如Adobe Premiere软件,或者,该电子设备中存储有可抽取视频中图像的代码,诸如基于Python+OpenCV(Open SourceComputer Vision Library,开源计算机视觉库)的通用函数。
可以理解的是,获取的视频帧图像张数越多,越有利于提升场景分类的准确性。当然,在实际应用中,如果为了减少场景分类的计算量,可以从第一分段视频流中仅抽取一张视频帧图像。本实施例对视频帧图像的数量不进行限定。
(2)将获取的多张视频帧图像输入至分类模型,获取分类模型输入的第一视频场景。基于上述获取视频帧图像的电子设备,本步骤在具体实现时,可以是电子设备通过数据接口将视频帧图像输入至分类模型,该数据接口可以是软件与分类模型之间的数据传输接口,也可以是在代码中预先定义的接口函数。
在本实施例中,参照如图2所示的一种分类模型的结构示意图,上述分类模型包括:特征提取层和特征融合层,特征提取层用于对多张视频帧图像分别进行特征提取,并将得到的多张视频帧图像的特征参数均输入至特征融合层。
可以理解的是,为了减轻特征提取层的运算量,在将视频帧图像输入至特征提取网络之前,可以先将视频帧图像的尺寸调整至指定尺寸,诸如将视频帧图像的尺寸调整到224*224大小。该特征提取层可以是基于深度学习的特征提取网络,包括但不限于卷积神经网络(ConvolutionalNeural Networks,CNN)、稀疏模式的自动编码算法、GoogLe Net、VGG网络等。特征提取层对输入的N张尺寸为224*224的视频帧图像进行特征提取后,得到的特征参数包括但不限于颜色特征、纹理特征、形状特征(如边缘或轮廓)、时序特征和空间关系特征。可以理解的是,上述图像尺寸仅为本发明提供的可选实施例,本发明并不对图像尺寸进行限定。
在一种具体实施方式中,特征提取层包括依次连接的多个特征提取子网络,且各特征提取子网络均包括依次连接的卷积层、归一化层、激活函数层和残差连接层。其中,卷积层用于对特征提取子网络的输入进行卷积处理,归一化层用于对特征提取子网络的输入进行批归一化处理,激活函数层用于对特征提取子网络的输入进行激活函数处理,残差连接层用于对特征提取子网络的输入进行残差连接处理。
在此基础上,本发明实施例提供了一种将多张视频帧图像输入至分类模型的特征提取层,通过特征提取层提取各视频帧图像的特征参数的具体实现方式,参见如下步骤A和步骤B:
步骤A,将多张视频帧图像输入至分类模型的特征提取层中第一个特征提取子网络,通过第一个特征子网络对各视频帧图像进行特征提取,其中,第一个特征提取子网络的输入为各视频帧图像,输出为各视频帧图像的第一层特征。步骤B,按照特征提取子网络的连接顺序,将第一个特征提取子网络提取的特征输入至下一特征提取子网络,通过下一特征子网络对第一个特征提取子网络提取的特征进行特征提取,直至得到各视频帧图像的特征参数,对于除第一个特征提取子网络外剩余的每个特征提取子网络,该特征提取子网络的输入为该特征提取子网络的前一特征提取子网络输出的特征,通过对输入的特征再次进行特征提取,并将提取得到的特征输入至该特征提取子网络的下一特征提取子网络。例如,特征提取层包括依次连接的5个特征提取子网络,也即特征提取子网络分为5个阶段,每个阶段依次输出不同尺寸的特征图,以得到各视频帧图像对应的特征参数。
在特征提取层提取多张视频帧图像的特征参数之后,上述特征融合层用于对多张视频帧图像的特征参数进行融合,得到第一分段视频流对应的第一视频场景。在具体实现时,可以参照如下步骤1至步骤3以得到第一视频场景:
步骤1,针对特征参数中的每种特征参数,特征融合层均根据多张视频帧图像的当前特征参数,确定多张视频帧图像对应的概率集。为便于理解,本实施例以特征参数中的空间关系特征为例,对该步骤1进行描述,如下所示:特征融合层根据多张视频帧图像的空间关系特征,确定多张视频帧图像对应的第一概率集。其中,第一概率集中包括多个第一概率,每个第一概率用于指示视频帧图像的属于一种视频场景的概率。
在实际应用中,特征融合层可以包括与特征提取层相连的池化层和多个卷积层,池化层和卷积层用于对不同的特征参数进行处理。针对上述的空间关系特征,可以通过特征融合层中的卷积层根据空间关系特征,确定多张视频帧图像对应的第一概率集。例如,第一概率集包括用于指示多张视频帧图像属于综艺的概率为70%、用于指示多张视频帧图像属于体育的概率为50%、用于指示多张视频帧图像属于动漫的概率为20%和用于指示多张视频帧图像属于游戏的概率为20%等。
参照该步骤1所示的方法,特征融合层可以根据多张视频帧图像的颜色特征和时序特征等特征参数,分别确定多张视频帧图像对应的第二概率集和第三概率集等概率集。可以理解的是,第二概率集中包括多个第二概率,第三概率集中包括多个第三概率。
步骤2,对同一视频场景对应的第一概率、第二概率和第三概率进行加权计算,得到各个视频场景对应的加权概率。通过对上述多个概率进行加权平均,可以得到更为准确的第一分段视频流所有可能场景类别的概率。例如,对于综艺场景对应的第一概率、第二概率和第三概率进行加权计算,得到综艺场景的加权概率为75%,对于游戏场景对应的第一概率、第二概率和第三概率进行加权计算,得到游戏场景的加权概率为20%,通过对每个视频场景对应的第一概率、第二概率和第三概率进行加权计算,即可以得到每个视频场景对应的加权概率。
步骤3,将最大加权概率对应的视频场景,确定为第一分段视频流对应的第一视频场景。假设综艺场景的加权概率最大,则第一分段视频流的第一视频场景即为综艺场景。
相较于现有的视频场景的确定方式忽略了不同帧图像之间的关联性,本实施例通过特征提取层可以充分提取视频帧图像中不同级别不同尺寸的特征参数,还可以利用特征融合层融合视频帧图像之间的特征参数,进而有效提高视频场景的分类准确性。
在又一种实施例中,视频编码方法可以基于包括第一线程和第二线程的应用架构来实现。上述架构的创建方式可参照如下内容:创建数据存储表以及采用多线程技术创建第一线程和第二线程。在具体实现时,可以采用继承Thread类的方式或者采用实现Runnable接口的方式创建场景分类线程和视频编码线程。参照图3所示的视频编码方法的应用架构示意图,为了更直观地区分第一线程和第二线程,图3中将第一线程称为场景分类线程,将第二线程称为视频编码线程。场景分类线程和视频编码线程之间通过数据存储表进行数据交互。场景分类线程每次的输入为长度为M的分段视频流,对应的输出为该分段视频流的视频场景;数据存储表用于存储场景分类线程输出的每一段的分段视频流的视频场景;视频编码线程每次的输入为长度为M的分段视频流和从数据存储表中读取到的该分段视频流的视频场景,对应的输出为该分段视频流基于视频场景进行编码后的结果,也即编码后的视频流。
上述采用多线程技术分别创建第一线程和第二线程的方式,可以减小第一线程和第二线程之间存在的时间延迟。该较小的时间延迟是通过如下两种具体方式实现的:
方式一:在第一线程对输入的分段视频流执行场景分类时,第二线程可以同时输入同一段分段视频流,并在较短的时间(即场景分类线程执行场景分类的时间,一般为1秒)内从数据存储表中读取该分段视频流的视频场景,然后根据该视频场景选取该分段视频流对应的编码参数,最后根据选取的编码参数对该分段视频流进行编码。
方式二:对于同一段分段视频流,可以设置第二线程的输入时间延迟于第一线程的输入时间,所延迟的时间根据第一线程执行场景分类的时间确定。具体的,当第一线程完成对该分段视频流的场景分类并将确定的视频场景存储于数据存储表中时,第二线程输入该分段视频流并从数据存储表中读取与之对应的视频场景。接下来,第二线程根据该视频场景选取该分段视频流对应的编码参数,最后根据选取的编码参数对该分段视频流进行编码。
上述两种方式中,第二线程仅在输入数据(数据为分段视频流和视频场景)的过程中,会受到第一线程执行场景分类的时间影响(而该时间通常又比较短,几乎可以忽略),在选取编码参数以及根据编码参数对分段视频流进行编码的过程中与第一线程完全无关。可见,第二线程对第一线程的依赖程度较低,因此,在第一线程对分段视频流进行场景分类后,不会对第二线程中视频编码的效率造成影响,也即上述实施例所提供的视频编码方法可以保证较高的编码效率。
考虑到上述按照预设视频流分段长度对原始视频流进行分段时,原始视频流中末端的分段视频流的长度可能小于该预设视频流分段长度。故在实际应用中,可以采用如下方法确定该末端的分段视频流的视频场景:如果第三分段视频流的长度小于预设视频流分段长度,将第四分段视频流对应的视频场景确定为第三分段视频流对应的视频场景;其中,第三分段视频流为原始视频流中末端的分段视频流,第四分段视频流为与第三分段视频流相邻的前一段分段视频流。
该方式可以减少数据运算量,减少场景分类的时间,从而可以进一步降低第一线程对第二线程的影响程度,减少第一线程和第二线程之间的延迟时间。
基于包括第一线程和第二线程的应用架构,在确定第一视频场景后,上述步骤S106中根据第一视频场景对第一分段视频流进行编码的实现方式可以包括:
第一步,通过第二线程从数据存储表中获取第一分段视频流对应的第一视频场景,其中,第一线程将第一视频场景存储数据存储表中。
第二步,基于第一视频场景从预设的参数对照表中查找与第一分段视频流相匹配的第一编码参数,并根据第一编码参数对第一分段视频流进行编码,以输出编码后的视频流。其中,预设的参数对照表中存储有视频场景与编码参数的对应关系。
在从数据存储表中获取第一分段视频流对应的第一视频场景的步骤中,可参照如下两种具体实现方式的示例:
示例一:数据存储表可以为队列,队列用于存储分段视频流对应的视频场景;通过第二线程获取第一视频场景的步骤可以包括:通过第二线程监听队列,在队列不为空的情况下,将队列中位于第一位的视频场景确定为第一分段视频流对应的第一视频场景。其中,队列是一种先进先出的数据结构,它只允许在表的前端进行删除操作,而在表的后端进行插入操作;进行插入操作的端称为队尾,进行删除操作的端称为队头,上述第一位即为队头。当队列中没有元素(即分段视频流的视频场景)时,称队列为空。
示例二:数据存储表可以为场景对照表,场景对照表用于存储分段视频流的标签与视频场景的对应关系;通过第二线程获取第一视频场景的步骤可以包括:通过第二线程在场景对照表中查找与输入的第一分段视频流的标签相对应的第一视频场景。分段视频流的标签诸如为分段视频流的序号、时间戳等;分类结果对照表按照标签将具有对应关系的分段视频流和视频场景进行存储。视频编码线程可以根据所输入的第一分段视频流的标签直接查找到对应的第一视频场景。
参照上述示例确定视频场景后,从预设的参数对照表中查找匹配分段视频流的编码参数;为便于理解,在此给出一种预设的参数对照表的具体示例:
当使用X264编码器对分段视频流进行编码时,对于游戏场景和综艺场景,由于游戏场景中游戏画面的纹理和细节相比综艺场景要少,因此编码时可以对游戏场景对应的分段视频流压缩的更多,据此相关编码参数可参照表1进行配置:
表1
表1中第一列为分段视频流的视频场景,包括游戏场景和综艺场景,第一行为各项编码参数,包括预设参数(Preset)、B帧决策参数(b-adapt)和直接预测模式参数(Direct)等。其中,Preset主要调节编码速度和质量的平衡,在最快(ultrafast)到最慢(placebo)之间可划分为十个等级,速度越低视频画面的纹理等特征越清楚,视频画面的质量越好;可将游戏场景对应的分段视频流的Preset配置为中速(medium),以及可将综艺场景对应的分段视频流的Preset配置为慢速(slow)。b-adapt中的b为测试参数,b-adapt的值为0表示关闭,即总是使用B帧,与以前未配置b-adapt效果相同;b-adapt的值为1表示快速算法,快速,b-frames越大速度越快;b-adapt的值为2表示最佳算法,慢速,b-frames越大速度越慢。可见,b-adapt与Preset是相适应的。Direct是B帧上一种独有的预测方式,可将游戏场景对应的分段视频流的Direct配置为空域直接模式(Spatial),以及可将综艺场景对应的分段视频流的Direct配置为自动预测模式(Auto)。
进一步,在第二线程获取到原始视频流中除第一分段视频流之外的第二分段视频流的情况下,视频编码方法还包括:
根据第二视频场景从参数对照表中查找与第二分段视频流相匹配的第二编码参数,并根据第二编码参数对第二分段视频流进行编码;其中,第二视频场景为第一线程确定出的第二分段视频流对应的视频场景,第二视频场景不同于第一视频场景,第二编码参数不同于第一编码参数。本实施例的具体实现方式可参照上述第一分段视频流的相关内容,在此不再赘述。
综上,与现有技术中直接采用编码参数对视频整体进行编码的方式相比,上述实施例提供的视频编码方法通过对视频流进行先分段后确定视频场景,可以较准确的得到视频流的至少一个视频场景;对于各分段视频流,均基于与其对应的视频场景进行编码,使编码后的分段视频流能够适应当前的视频场景,较好的平衡视频画面质量和压缩比,从而降低画面质量损失或者降低传输占用宽带和存储空间。
实施例二:
对应于前述实施例提供的一种视频编码方法,本实施例提供了一种视频编码装置,参见图4所示的一种视频编码装置的结构框图,该装置包括:
视频流获取模块402,用于获取待编码的多个分段视频流;其中,多个分段视频流是将待编码的原始视频流进行分段后得到的。
视频流写入模块404,用于将多个分段视频流分别写入预设的第一线程和第二线程;其中,第一线程用于确定分段视频流对应的视频场景,第二线程用于根据分段视频流对应的视频场景对分段视频流进行编码。
视频编码模块406,用于在第二线程获取到多个分段视频流中的第一分段视频流的情况下,根据第一视频场景对第一分段视频流进行编码;其中,第一视频场景为第一线程确定的第一分段视频流对应的视频场景。
本发明实施例提供的视频编码装置,通过首先获取多个分段视频流,该多个分段视频流是将待编码的原始视频流进行分段后得到的,然后将多个分段视频流分别写入预设的第一线程和第二线程;其中,第一线程用于确定分段视频流对应的视频场景,第二线程用于根据分段视频流对应的视频场景对分段视频流进行编码。与现有技术中直接采用编码参数对视频整体进行编码的方式相比,本实施例提供的上述方式通过对视频流进行先分段后确定视频场景,可以较准确的得到视频流的至少一个视频场景;对于各分段视频流,均基于与其对应的视频场景进行编码,使编码后的分段视频流能够适应当前的视频场景,较好的平衡视频画面质量和压缩比,从而降低画面质量损失或者降低传输占用宽带和存储空间。
在一种实施方式中,上述视频编码装置还包括场景分类模块(图中未示出),场景分类模块用于:在第一线程获取到原始视频流中的第一分段视频流的情况下,通过第一线程对第一分段视频流进行场景分类,得到第一分段视频流对应的第一视频场景。
在一种实施方式中,上述场景分类模块进一步用于:获取第一分段视频流中的多张视频帧图像;将获取的多张视频帧图像输入至分类模型,获取分类模型输入的第一视频场景,其中,分类模型包括:特征提取层和特征融合层,特征提取层用于对多张视频帧图像分别进行特征提取,并将得到的多张视频帧图像的特征参数均输入至特征融合层,特征融合层用于对多张视频帧图像的特征参数进行融合,得到第一分段视频流对应的第一视频场景。
在一种实施方式中,上述视频编码模块406进一步用于:通过第二线程从数据存储表中获取第一分段视频流对应的第一视频场景,其中,第一线程将第一视频场景存储于预设的数据存储表中;基于第一视频场景从预设的参数对照表中查找与第一分段视频流相匹配的第一编码参数,并根据第一编码参数对第一分段视频流进行编码;其中,预设的参数对照表中存储有视频场景与编码参数的对应关系。
在一种实施方式中,上述数据存储表包括队列或者场景对照表;其中,队列用于存储分段视频流对应的视频场景,场景对照表用于存储分段视频流的标签与视频场景的对应关系;上述视频编码模块406进一步用于:通过第二线程监听队列,在队列不为空的情况下,将队列中位于第一位的视频场景确定为第一视频场景;或者,通过第二线程在场景对照表中查找与输入的第一分段视频流的标签相对应的第一视频场景。
在一种实施方式中,在第二线程获取到原始视频流中的第二分段视频流的情况下,上述视频编码模块406进一步用于:根据第二视频场景从参数对照表中查找与第二分段视频流相匹配的第二编码参数,并根据第二编码参数对第二分段视频流进行编码;其中,第二视频场景为第一线程确定出的第二分段视频流对应的视频场景,第二视频场景不同于第一视频场景,第二编码参数不同于第一编码参数。
在一种实施方式中,上述视频流获取模块402进一步用于:获取预设视频流分段长度,按照预设视频流分段长度将待编码的原始视频流进行分段,得到待编码的多个分段视频流。
在一种实施方式中,上述场景分类模块进一步用于:如果第三分段视频流的长度小于预设视频流分段长度,将第四分段视频流对应的视频场景确定为第三分段视频流对应的视频场景;其中,第三分段视频流为原始视频流中末端的分段视频流,第四分段视频流为与第三分段视频流相邻的前一段分段视频流。
本实施例所提供的装置,其实现原理及产生的技术效果和前述实施例一相同,为简要描述,本实施例部分未提及之处,可参考前述实施例一中相应内容。
进一步,本实施例还提供了一种电子设备,参照图5所示的电子设备的结构示意图,其包括:处理器502和存储装置504;存储装置504上存储有计算机程序,计算机程序在被处理器502运行时执行如上述实施例中的视频编码方法。
进一步,本实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器运行时执行上述实施例中的视频编码方法的步骤。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (10)
1.一种视频编码方法,其特征在于,所述方法包括:
获取待编码的多个分段视频流;其中,多个所述分段视频流是将待编码的原始视频流进行分段后得到的;
将多个所述分段视频流分别写入预设的第一线程和第二线程;其中,所述第一线程用于确定所述分段视频流对应的视频场景,所述第二线程用于根据各所述分段视频流的所述视频场景选取各所述分段视频流对应的编码参数,以及根据各所述编码参数对各所述分段视频流进行编码;
在所述第二线程获取到多个所述分段视频流中的第一分段视频流的情况下,根据第一视频场景对所述第一分段视频流进行编码;其中,所述第一视频场景为所述第一线程确定的所述第一分段视频流对应的视频场景;
所述根据第一视频场景对所述第一分段视频流进行编码的步骤,包括:
通过所述第二线程从数据存储表中获取所述第一分段视频流对应的第一视频场景,其中,所述第一线程将所述第一视频场景存储于预设的数据存储表中;
基于所述第一视频场景从预设的参数对照表中查找与所述第一分段视频流相匹配的第一编码参数,并根据所述第一编码参数对所述第一分段视频流进行编码;其中,所述预设的参数对照表中存储有视频场景与编码参数的对应关系。
2.根据权利要求1所述的方法,其特征在于,在所述根据第一视频场景对所述第一分段视频流进行编码之前,所述方法包括:
在所述第一线程获取到所述原始视频流中的第一分段视频流的情况下,通过所述第一线程对所述第一分段视频流进行场景分类,得到所述第一分段视频流对应的第一视频场景。
3.根据权利要求2所述的方法,其特征在于,所述通过所述第一线程对所述第一分段视频流进行场景分类,得到所述第一分段视频流对应的第一视频场景的步骤,包括:
获取所述第一分段视频流中的多张视频帧图像;
将获取的多张所述视频帧图像输入至分类模型,获取所述分类模型输入的所述第一视频场景,其中,所述分类模型包括:特征提取层和特征融合层,所述特征提取层用于对多张所述视频帧图像分别进行特征提取,并将得到的多张所述视频帧图像的特征参数均输入至所述特征融合层,所述特征融合层用于对多张所述视频帧图像的特征参数进行融合,得到所述第一分段视频流对应的所述第一视频场景。
4.根据权利要求1所述的方法,其特征在于,所述数据存储表包括队列或者场景对照表;其中,所述队列用于存储所述分段视频流对应的视频场景,所述场景对照表用于存储所述分段视频流的标签与视频场景的对应关系;
所述通过所述第二线程从所述数据存储表中获取所述第一分段视频流对应的第一视频场景的步骤,包括:
通过所述第二线程监听所述队列,在所述队列不为空的情况下,将所述队列中位于第一位的视频场景确定为所述第一视频场景;
或者,
通过所述第二线程在所述场景对照表中查找与输入的所述第一分段视频流的标签相对应的第一视频场景。
5.根据权利要求1所述的方法,其特征在于,在所述第二线程获取到所述原始视频流中的第二分段视频流的情况下,所述方法还包括:
根据第二视频场景从所述参数对照表中查找与所述第二分段视频流相匹配的第二编码参数,并根据所述第二编码参数对所述第二分段视频流进行编码;其中,所述第二视频场景为所述第一线程确定出的所述第二分段视频流对应的视频场景,所述第二视频场景不同于所述第一视频场景,所述第二编码参数不同于所述第一编码参数。
6.根据权利要求1所述的方法,其特征在于,所述获取待编码的多个分段视频流的步骤,包括:
获取预设视频流分段长度,按照所述预设视频流分段长度将待编码的原始视频流进行分段,得到待编码的多个分段视频流。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
如果第三分段视频流的长度小于所述预设视频流分段长度,将第四分段视频流对应的视频场景确定为所述第三分段视频流对应的视频场景;其中,所述第三分段视频流为所述原始视频流中末端的分段视频流,所述第四分段视频流为与所述第三分段视频流相邻的前一段分段视频流。
8.一种视频编码装置,其特征在于,所述装置包括:
视频流获取模块,用于获取待编码的多个分段视频流;其中,多个所述分段视频流是将待编码的原始视频流进行分段后得到的;
视频流写入模块,用于将多个所述分段视频流分别写入预设的第一线程和第二线程;其中,所述第一线程用于确定所述分段视频流对应的视频场景,所述第二线程用于根据各所述分段视频流的所述视频场景选取各所述分段视频流对应的编码参数,以及根据各所述编码参数对各所述分段视频流进行编码;
视频编码模块,用于在所述第二线程获取到多个所述分段视频流中的第一分段视频流的情况下,根据第一视频场景对所述第一分段视频流进行编码;其中,所述第一视频场景为所述第一线程确定的所述第一分段视频流对应的视频场景;
所述根据第一视频场景对所述第一分段视频流进行编码的步骤,包括:
通过所述第二线程从数据存储表中获取所述第一分段视频流对应的第一视频场景,其中,所述第一线程将所述第一视频场景存储于预设的数据存储表中;
基于所述第一视频场景从预设的参数对照表中查找与所述第一分段视频流相匹配的第一编码参数,并根据所述第一编码参数对所述第一分段视频流进行编码;其中,所述预设的参数对照表中存储有视频场景与编码参数的对应关系。
9.一种电子设备,其特征在于,包括:处理器和存储装置;
所述存储装置上存储有计算机程序,所述计算机程序在被所述处理器运行时执行如权利要求1至7任一项所述的方法。
10.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,其特征在于,所述计算机程序被处理器运行时执行上述权利要求1至7任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911057387.3A CN110691246B (zh) | 2019-10-31 | 2019-10-31 | 视频编码方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911057387.3A CN110691246B (zh) | 2019-10-31 | 2019-10-31 | 视频编码方法、装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110691246A CN110691246A (zh) | 2020-01-14 |
CN110691246B true CN110691246B (zh) | 2022-04-05 |
Family
ID=69115182
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911057387.3A Active CN110691246B (zh) | 2019-10-31 | 2019-10-31 | 视频编码方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110691246B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110766096B (zh) * | 2019-10-31 | 2022-09-23 | 北京金山云网络技术有限公司 | 视频分类方法、装置及电子设备 |
CN113115054B (zh) * | 2021-03-31 | 2022-05-06 | 杭州海康威视数字技术股份有限公司 | 视频流编码方法、装置、系统、电子设备及存储介质 |
CN116033198B (zh) * | 2023-02-16 | 2023-06-20 | 南京红松信息技术有限公司 | 基于目标帧的多路视频流智能存储的识别方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102572380A (zh) * | 2010-12-29 | 2012-07-11 | 中国移动通信集团公司 | 视频监控编码方法及其装置 |
CN103503454A (zh) * | 2011-01-28 | 2014-01-08 | 艾艾欧有限公司 | 场景形式的视频流编码 |
CN104902279A (zh) * | 2015-05-25 | 2015-09-09 | 浙江大学 | 一种视频处理方法及装置 |
CN105979267A (zh) * | 2015-12-03 | 2016-09-28 | 乐视致新电子科技(天津)有限公司 | 一种视频压缩、播放方法以及装置 |
CN106791850A (zh) * | 2016-12-05 | 2017-05-31 | 乐视控股(北京)有限公司 | 视频编码方法及装置 |
CN107135392A (zh) * | 2017-04-21 | 2017-09-05 | 西安电子科技大学 | 基于异步模式的hevc运动搜索并行方法 |
CN108650510A (zh) * | 2018-05-10 | 2018-10-12 | 中南大学 | 视频的编码方法和装置、存储介质、电子装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9219922B2 (en) * | 2013-06-06 | 2015-12-22 | Activevideo Networks, Inc. | System and method for exploiting scene graph information in construction of an encoded video sequence |
US10523957B2 (en) * | 2014-10-08 | 2019-12-31 | Vid Scale, Inc. | Optimization using multi-threaded parallel processing framework |
-
2019
- 2019-10-31 CN CN201911057387.3A patent/CN110691246B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102572380A (zh) * | 2010-12-29 | 2012-07-11 | 中国移动通信集团公司 | 视频监控编码方法及其装置 |
CN103503454A (zh) * | 2011-01-28 | 2014-01-08 | 艾艾欧有限公司 | 场景形式的视频流编码 |
CN104902279A (zh) * | 2015-05-25 | 2015-09-09 | 浙江大学 | 一种视频处理方法及装置 |
CN105979267A (zh) * | 2015-12-03 | 2016-09-28 | 乐视致新电子科技(天津)有限公司 | 一种视频压缩、播放方法以及装置 |
CN106791850A (zh) * | 2016-12-05 | 2017-05-31 | 乐视控股(北京)有限公司 | 视频编码方法及装置 |
CN107135392A (zh) * | 2017-04-21 | 2017-09-05 | 西安电子科技大学 | 基于异步模式的hevc运动搜索并行方法 |
CN108650510A (zh) * | 2018-05-10 | 2018-10-12 | 中南大学 | 视频的编码方法和装置、存储介质、电子装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110691246A (zh) | 2020-01-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111954053B (zh) | 获取蒙版帧数据的方法、计算机设备及可读存储介质 | |
CN110691246B (zh) | 视频编码方法、装置及电子设备 | |
CN111954060B (zh) | 弹幕蒙版的渲染方法、计算机设备及可读存储介质 | |
US10354394B2 (en) | Dynamic adjustment of frame rate conversion settings | |
CN111954052B (zh) | 显示弹幕信息的方法、计算机设备及可读存储介质 | |
US20210150769A1 (en) | High efficiency image and video compression and decompression | |
US11290345B2 (en) | Method for enhancing quality of media | |
CN110958469A (zh) | 视频处理方法、装置、电子设备及存储介质 | |
KR101812103B1 (ko) | 썸네일이미지 설정방법 및 설정프로그램 | |
CN112954393A (zh) | 一种基于视频编码的目标跟踪方法、系统、存储介质及终端 | |
US11095901B2 (en) | Object manipulation video conference compression | |
CN112468792A (zh) | 图像识别方法、装置、电子设备及存储介质 | |
CN108985244B (zh) | 一种电视节目类型识别方法及装置 | |
US20230316464A1 (en) | Virtual view drawing method and apparatus, rendering method and apparatus, and decoding method and apparatus, and devices and storage medium | |
CN112118494B (zh) | 一种视频数据处理方法、装置及存储介质 | |
US20230343017A1 (en) | Virtual viewport generation method and apparatus, rendering and decoding methods and apparatuses, device and storage medium | |
US20230326086A1 (en) | Systems and methods for image and video compression | |
CN111954082B (zh) | 蒙版文件结构、蒙版文件的读取方法、计算机设备及可读存储介质 | |
CN113613024B (zh) | 视频预处理方法及设备 | |
CN110996173B (zh) | 一种图像数据处理方法、装置及存储介质 | |
CN111954081B (zh) | 获取蒙版数据的方法、计算机设备及可读存储介质 | |
TWI669947B (zh) | 圖片轉碼方法、計算設備及儲存介質 | |
CN110798715A (zh) | 基于图像串的视频播放方法及系统 | |
CN109168007B (zh) | 一种标定焦点及其图像传输的方法 | |
Couto | Inpainting-based Image Coding: A Patch-driven Approach |
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 |