CN112672157A - 视频编码方法、装置、设备及存储介质 - Google Patents
视频编码方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN112672157A CN112672157A CN202011531195.4A CN202011531195A CN112672157A CN 112672157 A CN112672157 A CN 112672157A CN 202011531195 A CN202011531195 A CN 202011531195A CN 112672157 A CN112672157 A CN 112672157A
- Authority
- CN
- China
- Prior art keywords
- video
- video coding
- coding parameter
- complexity
- parameter set
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 72
- 238000013145 classification model Methods 0.000 claims abstract description 45
- 238000012549 training Methods 0.000 claims abstract description 30
- 238000013136 deep learning model Methods 0.000 claims abstract description 11
- 238000012545 processing Methods 0.000 claims description 24
- 230000002068 genetic effect Effects 0.000 claims description 20
- 230000008569 process Effects 0.000 claims description 20
- 238000004590 computer program Methods 0.000 claims description 15
- 238000010801 machine learning Methods 0.000 claims description 4
- 238000005457 optimization Methods 0.000 description 13
- 108090000623 proteins and genes Proteins 0.000 description 8
- 238000013139 quantization Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 6
- 230000000694 effects Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 239000002699 waste material Substances 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000003044 adaptive effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000004545 gene duplication Effects 0.000 description 1
- 230000007614 genetic variation Effects 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本申请提供一种视频编码方法、装置、设备及存储介质,该方法包括:获取视频数据,将视频数据输入至视频复杂度分类模型,得到视频数据的复杂度类别;根据视频数据的复杂度类别,确定与复杂度类别对应的视频编码参数集合,视频编码参数集合包括多种视频编码参数;基于视频编码参数集合中各视频编码参数,对视频数据进行视频编码。其中,视频复杂度分类模型是基于轻量级深度学习模型训练得到的用于确定视频复杂度类别的模型。上述技术方案可实时地获取每段视频的复杂度类别,根据复杂度类别匹配合适的视频编码参数集合,避免复杂度不高的视频片段使用过大码率,造成带宽浪费的问题,提高视频编码效率。
Description
技术领域
本申请实施例涉及视频处理领域,尤其涉及一种视频编码方法、装置、设备及存储介质。
背景技术
相比与其他多媒体,视频具有直观生动、内容丰富等显著特点,成为人们获取信息的主要媒介。随着信息技术的不断发展,多媒体通信、数字电视等各类视频应用的视频数据量急剧增加,视频存储和传输需要更大的存储空间和更高带宽。因此,视频编码技术成为信息技术领域的研究重点。
视频编码参数很大程度上决定视频本身的清晰度、码率大小。一般而言,在其他视频编码参数相同的情况下,码率越高,视频清晰度越高,用户体验越好,相应的,网络服务器带宽成本越高。可见,用户体验和带宽成本之间存在一定矛盾。目前针对视频的编码优化,主要是通过对视频场景的识别,根据视频场景确定编码参数,编码参数主要基于视频场景的语义。
然而,对于相同或近似场景的两段视频,每段视频包含的各图像帧画面的复杂程度以及画面变化情况差异较大,仅仅通过视频场景对应的编码参数对视频进行编码,可能使用过大码率,造成带宽的浪费。
发明内容
本申请实施例提供一种视频编码方法、装置、设备及存储介质,实现对视频数据的动态编码,提高视频编码效率。
第一方面,本申请实施例提供一种视频编码方法,包括:
获取视频数据,将所述视频数据输入至视频复杂度分类模型,得到所述视频数据的复杂度类别,其中,所述视频复杂度分类模型是基于轻量级深度学习模型训练得到的用于确定视频复杂度类别的模型;
根据所述视频数据的复杂度类别,确定与所述复杂度类别对应的视频编码参数集合,所述视频编码参数集合包括多种视频编码参数;
基于所述视频编码参数集合中各视频编码参数,对所述视频数据进行视频编码。
在本申请的一个实施例中,所述视频复杂度分类模型的训练过程,包括:
获取视频样本集合,所述视频样本集合包括多个视频长度满足预设长度的视频样本;
确定每个所述视频样本的复杂度标签值,所述复杂度标签值用于指示所述视频样本的复杂度类别;
建立初始视频复杂度分类模型,将每个所述视频样本作为所述初始复杂度预测模型的输入,将每个所述视频样本的复杂度标签值作为所述初始复杂度预测模型的输出,进行模型训练,得到训练好的视频复杂度分类模型。
在本申请的一个实施例中,所述确定每个所述视频样本的复杂度标签值,包括:
若所述视频样本为非固定码率系数CRF模式的视频样本,将所述视频样本转码为CRF模式的视频样本;
根据所述CRF模式的视频样本确定所述视频样本的复杂度标签值。
在本申请的一个实施例中,不同复杂度类别对应的视频编码参数集合是采用遗传算法对初始视频编码参数集合中的各视频编码参数进行优化得到的。
在本申请的一个实施例中,第一复杂度类别为复杂度类别中的任意一个类别,确定所述第一复杂度类别对应的第一视频编码参数集合,包括:
获取多个初始视频编码参数集合以及所述第一复杂度类别的第一视频样本;
对基于不同初始视频编码参数集合进行视频编码后的第一视频样本,进行参数分析,从所述多个初始视频编码参数集合中确定目标视频编码参数集合;
基于所述目标视频编码参数集合,采用遗传算法生成多个子代视频编码参数集合;
对基于不同子代视频编码参数集合进行视频编码后的第一视频样本,进行参数分析,判断是否满足迭代终止条件,若满足迭代终止条件,从所述多个子代视频编码参数集合中确定所述第一视频编码参数集合。
在本申请的一个实施例中,所述对基于不同初始视频编码参数集合进行视频编码后的第一视频样本,进行参数分析,从所述多个初始视频编码参数集合中确定目标视频编码参数集合,包括:
获取基于不同初始视频编码参数集合进行视频编码后的第一视频样本的清晰度评分以及码率;
根据所述清晰度评分以及所述码率,从所述多个初始视频编码参数集合中确定目标视频编码参数集合。
在本申请的一个实施例中,所述获取基于不同初始视频编码参数集合进行视频编码后的第一视频样本的清晰度评分,包括:
将基于不同初始视频编码参数集合进行视频编码后的第一视频样本,依次输入至预设的视频清晰度评分模型中,得到基于每个初始视频编码参数集合进行视频编码后的第一视频样本的清晰度评分;
其中,所述视频清晰度评分模型是采用机器学习模型训练得到的用于评估视频清晰度的模型。
在本申请的一个实施例中,所述根据所述清晰度评分以及所述码率,从所述多个初始视频编码参数集合中确定目标视频编码参数集合,包括:
将视频编码后的第一视频样本的清晰度评分大于或等于预设清晰度阈值,且,视频编码后的第一视频样本的码率小于目标码率所对应的初始视频编码参数集合,作为所述目标视频编码参数集合。
在本申请的一个实施例中,所述目标视频编码参数集合包括第一目标视频编码参数集合;所述基于所述目标视频编码参数集合,采用遗传算法生成多个子代视频编码参数集合,包括:
将所述第一目标视频编码参数集合作为一个新的子代视频编码参数集合。
在本申请的一个实施例中,所述目标视频编码参数集合包括第一目标视频编码参数集合和第二目标视频编码参数集合;所述基于所述目标视频编码参数集合,采用遗传算法生成多个子代视频编码参数集合,包括:
从所述第一目标视频编码参数集合和所述第二目标视频编码参数集合中分别选取部分视频编码参数,组成一个新的子代视频编码参数集合。
在本申请的一个实施例中,所述目标视频编码参数集合包括第一目标视频编码参数集合;所述基于所述目标视频编码参数集合,采用遗传算法生成多个子代视频编码参数集合,包括:
基于各类视频编码参数的预设变异概率,随机调整所述第一目标视频编码参数集合中的至少一个视频编码参数,得到一个新的子代视频编码参数集合。
在本申请的一个实施例中,所述判断是否满足迭代终止条件,若满足迭代终止条件,从所述多个子代视频编码参数集合中确定所述第一复杂度类别对应的第一视频编码参数集合,包括:
在到达预设迭代次数时,将视频编码后的第一视频样本的清晰度评分大于或等于预设清晰度阈值,且,视频编码后的第一视频样本的码率与目标码率的差值最大所对应的子代视频编码参数集合,作为所述第一视频编码参数集合。
在本申请的一个实施例中,所述判断是否满足迭代终止条件,若满足迭代终止条件,从所述多个子代视频编码参数集合中确定所述第一复杂度类别对应的第一视频编码参数集合,包括:
若视频编码后的第一视频样本的清晰度评分大于或等于预设清晰度阈值,且,视频编码后的第一视频样本的码率与目标码率的差值大于预设值,将视频编码后的第一视频样本的清晰度评分大于或等于预设清晰度阈值,且,视频编码后的第一视频样本的码率与目标码率的差值最大所对应的子代视频编码参数集合作为,所述第一视频编码参数集合。
第二方面,本申请实施例提供一种视频编码装置,包括:
获取模块,用于获取视频数据;
处理模块,用于将所述视频数据输入至视频复杂度分类模型,得到所述视频数据的复杂度类别,其中,所述视频复杂度分类模型是基于轻量级深度学习模型训练得到的用于确定视频复杂度类别的模型;
所述处理模块,还用于根据所述视频数据的复杂度类别,确定与所述复杂度类别对应的视频编码参数集合,所述视频编码参数集合包括多种视频编码参数;
基于所述视频编码参数集合中各视频编码参数,对所述视频数据进行视频编码。
第三方面,本申请实施例提供一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述电子设备能够执行第一方面中任一项所述的方法。
第四方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行以实现如第一方面中任一项所述的方法。
第五方面,本申请实施例一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现第一方面中任一项所述的方法。
本申请实施例提供一种视频编码方法、装置、设备及存储介质,该方法包括:获取视频数据,将视频数据输入至视频复杂度分类模型,得到视频数据的复杂度类别;根据视频数据的复杂度类别,确定与复杂度类别对应的视频编码参数集合,视频编码参数集合包括多种视频编码参数;基于视频编码参数集合中各视频编码参数,对视频数据进行视频编码。其中,视频复杂度分类模型是基于轻量级深度学习模型训练得到的用于确定视频复杂度类别的模型。上述技术方案可实时地获取每段视频的复杂度类别,根据复杂度类别匹配合适的视频编码参数集合,避免复杂度不高的视频片段使用过大码率,造成带宽浪费的问题,提高视频编码效率。
附图说明
图1为本申请实施例提供的视频编码方法的一种场景示意图;
图2为本申请实施例提供的视频编码方法的流程示意图;
图3为本申请实施例提供的视频复杂度分类模型的训练过程的流程示意图;
图4为本申请实施例提供的第一复杂度类别对应的第一视频编码参数集合的优化过程的流程示意图;
图5为本申请实施例提供的一种视频编码装置的结构示意图;
图6为本申请实施例提供的一种电子设备的硬件结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。
此外,本文中使用的术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
首先对本申请实施例涉及的专业术语进行简要说明。
码率(bit rate),指视频或音频文件在单位时间内使用的数据流量,该参数的单位通常是kbps,也就是千比特每秒。通常2000kbps~3000kbps就已经足以将画质效果表现到极致了。码率参数与视频文件最终体积大小有直接性的关系。
分辨率,指视频宽高的像素数值,单位为Px。通常视频分辨率的数值宽高比要等于画面比例,不然视频文件就会产生黑边。标准1080P的分辨率为1920×1080,帧率为60fps,也就是真高清。而最常见的网络传播的1080P高清片帧率通常为23.976fps。
转码,包括对原始视频解码以及重编码两个步骤。首先对原始视频进行解码,得到一帧一帧的图像,然后对这些图像进行重新编码,得到一个与原始视频编码方式不同的视频。
固定码率系数模式(Constant Rate Factor,CRF),CRF模式在编码时尽量控制视频画质不变(或者说视频清晰度不变),而码率可以按需波动。因此,在复杂度高的画面下,瞬时码率会比较大,而在复杂度低的画面下,瞬时码率会比较小。
平均目标码率模式(Average Bitrate,ABR),ABR模式在编码时尽量使一段时间内的平均码率接近预设的目标码率,即尽量保持码率稳定,而视频画质可以波动。实际ABR模式下,视频的码率随时间会有波动,复杂度高的画面下,瞬时码率会高于目标码率,复杂度低的画面下,瞬时码率会低于目标码率。为了保持码率基本稳定,需要设置瞬时码率的最大值,即最大码率,最大码率一般设置为目标码率的1.2-1.5倍。
固定量化值模式(Constant Quantizer,CQP),是最简单的码率控制模式,每帧图像都按照一个特定的量化参数QP值来编码,每帧编码后的数据量有多大是未知的。
CRF模式可以提供跟CQP模式一样的视觉质量,但是文件更小,CRF模式是通过降低那些“less important”帧(指那些过于耗费码率又难以用肉眼察觉的帧,比如复杂或者高速运行的场景)的质量,将省下来的码率分配给其它更有效的帧。
图1为本申请实施例提供的视频编码方法的一种场景示意图,如图1所示,该场景包括终端设备11以及服务器12,终端设备11与服务器12通信连接。用户通过终端设备11向服务器12发起视频请求,视频请求中包括视频数据的访问地址。服务器12在接收到视频请求后,根据访问地址获取视频数据,对视频数据进行视频编码,将视频编码后的视频数据下发给终端设备11。其中,视频编码的目的是对视频数据进行压缩,去除视频中的冗余信息,确保视频数据的网络传输满足带宽要求。本申请提供的视频编码方法可应用于图1所示的服务器。
基于上述应用场景,目前的技术方案中,服务器对视频数据的处理过程主要包括:通过算法识别视频数据的场景,根据视频数据的场景选择预设的该场景对应的编码参数组合,同时还可以结合兴趣区域识别,提高人眼关注区域的码率分配,降低人眼脱焦区域的码率分配,对视频数据进行编码,实现较低码率获得较清晰的视频画质。其中,场景对应的编码参数主要依赖于专业人员的经验进行预设置,相同或近似场景的视频数据往往采用同一编码参数组合,无法达到较为理想的处理效果。
为了解决上述技术问题,本申请实施例提供一种视频编码方案,该方案的整体思路如下:
针对一段视频,随着时间的变化,该视频的图像帧不断变化,图像帧的复杂程度也不断变化。视频的编码复杂度一方面与图像帧内部内容的复杂程度相关,另一方面也与视频的连续图像帧之间的差异性相关。图像帧内部内容的复杂程度,即图像帧的帧内复杂度,例如对于一张细节丰富的图像帧,其编码复杂度就很高,对于一张纯色的图像帧,其编码复杂度就很低。连续图像帧之间的复杂程度,即图像帧的帧间复杂度,例如前后图像帧之间差异较大,那么帧间复杂度就很高,又例如前后图像帧保持不变,即视频的静止画面,那么帧间复杂度就很低。
发明人基于上述思考,想要通过确定视频数据的复杂度,根据视频数据的复杂度来匹配视频编码参数集合,视频编码参数众多,不同视频编码参数的组合对视频清晰度以及码率等方面产生影响,为了达到最佳的视频编码参数的组合,本申请考虑利用遗传算法的思想,进一步增加视频编码参数之间的相互限制,在满足视频数据清晰度要求的前提下,针对不同复杂度对应的视频编码参数的组合方式进行优化,得到优化后的不同复杂度对应的视频编码参数集合,基于优化后的视频编码参数集合中的视频编码参数,对视频数据进行视频编码,以避免不必要的码率浪费,降低传输带宽成本。另外,本申请通过预设的视频复杂度分类模型可实时判断某一视频片段的复杂度,并匹配最合适的视频编码参数集合,避免复杂度不高的视频片段使用过大码率,造成带宽浪费的问题。由于无需将视频数据转码为CRF模式,大大提高了视频编码的效率。
下面采用几个具体实施例对本申请提供的技术方案进行详细说明。需要说明的是,下面几个具体实施例可以相互结合,对于相同或相似的内容,在不同的实施例中不再进行重复说明。
图2为本申请实施例提供的一种视频编码方法的流程示意图。如图2所示,本实施例提供的视频编码方法,主要包括如下几个步骤:
步骤201、获取视频数据。
本实施例的视频数据可以是任意编码模式的视频数据,包括CRF模式的视频数据、ABR模式的视频数据以及CQP模式的视频数据。
步骤202、将视频数据输入至视频复杂度分类模型,得到视频数据的复杂度类别。
其中,视频复杂度分类模型是基于轻量级深度学习模型训练得到的用于确定视频复杂度类别的模型。需要说明的是,输入到视频复杂度分类模型的视频数据应满足该模型对输入视频数据时长的要求。
在一些实施例中,视频复杂度分类模型可以设置在服务器侧,服务器在获取视频数据后,需要对视频数据按照预设的视频数据时长进行切分,得到在时间上连续的多段视频数据,依次将每段视频数据输入至视频复杂度分类模型中,得到每段视频的复杂度类别。
在一些实施例中,可以通过标签值指示视频数据的复杂度类别。示例性的,标签值包括0-n,其中n为正整数,标签值越大,视频数据的复杂程度越高。
下面结合一个具体实例进行说明,假设视频复杂度分类模型的输入视频数据的时长设置为5s,视频复杂度分类模型的输出标签值包括0、1、2,其中0表示视频数据的复杂度为低,1表示视频数据的复杂度为中,2表示视频数据的复杂度为高。服务器获取时长为20s的视频数据,首先将视频数据切分为4段,依次记为片段A、B、C、D。然后依次将片段A、B、C、D输入至视频复杂度分类模型中,得到片段A、B、C、D的复杂度标签值分别为0、2、1、0。
下面结合附图3对上述视频复杂度分类模型的训练过程进行详细说明。图3为本申请实施例提供的视频复杂度分类模型的训练过程的流程示意图,如图3所示,该模型的训练过程主要包括如下几个步骤:
步骤301、获取视频样本集合,视频样本集合包括多个视频长度满足预设长度的视频样本。其中预设长度是指视频的时长,例如预设长度设置为5s。
本实施例的视频样本可以是任意编码模式的视频样本,包括CRF模式的视频样本、ABR模式的视频样本以及CQP模式的视频样本。
步骤302、确定每个视频样本的复杂度标签值,复杂度标签值用于指示视频样本的复杂度类别。
在本申请的一个实施例中,若视频样本为CRF模式的视频样本,可直接从编码器中获取CRF模式的视频样本的平均码率,视频样本的平均码率可以表征视频样本的编码复杂度。再根据平均码率与复杂度标签值的对应关系,确定CRF模式的视频样本的复杂度标签值。
示例性的,一个5s的视频片段,该视频片段为CRF模式的视频片段,该视频片段的大小为1000Kbit,那么该视频片段的平均码率为1000/5=200Kbps。表1为本申请实施例提供的视频平均码率的数值范围与复杂度标签值的对应关系表。基于表1,可以得到上述视频片段的复杂度标签值为0。
表1
视频平均码率(Kbps) | (0,500] | (500,1000] | (1000,1500] | ... |
复杂度标签值 | 0 | 1 | 2 | … |
在本申请的一个实施例中,若视频样本为非CRF模式的视频样本,将视频样本转码为CRF模式的视频样本,根据CRF模式的视频样本确定视频样本的复杂度标签值。其中,非CRF模式包括ABR模式、CQP模式等。
通过上述方式确定每个视频样本的复杂度标签值,将每个视频样本以及其对应的复杂度标签值作为模型的训练数据样本,对步骤303的初始视频复杂度分类模型进行模型训练。
步骤303、建立初始视频复杂度分类模型。
其中,初始视频复杂度分类模型采用轻量级深度学习模型,常用的轻量级深度学习模型有:SqueezeNet、Xception、MobileNet、ShuffleNet等。
步骤304、将每个视频样本作为初始复杂度预测模型的输入,将每个视频样本的复杂度标签值作为初始复杂度预测模型的输出,进行模型训练,得到训练好的视频复杂度分类模型。
从上述描述可知,本实施例的视频复杂度分类模型可以对任意编码模式的视频片段进行复杂度分类。为了实现该功能,在构建视频复杂度分类模型的训练样本时,使用包括CRF模式的视频片段,以及非CRF模式的视频片段,例如ABR模式的视频片段。由于ABR模式的视频片段和CRF模式的视频片段在视频内容和视频编码复杂度上是完全一致的,因此可以通过对ABR模式的视频片段进行转码,获取转码后的视频片段(即CRF模式的视频片段)的复杂度标签值,将该复杂度标签值作为ABR模式的视频片段的复杂度标签值。基于上述样本构建过程,对初始视频复杂度分类模型进行训练,得到训练好的视频复杂度分类模型。在实际应用中,无需对非CRF模式的视频数据进行解码后再进行CRF模式编码,降低了服务器性能消耗,实现对任意编码模式的视频数据复杂度的快速分类。
步骤203、根据视频数据的复杂度类别,确定与复杂度类别对应的视频编码参数集合。
其中,视频编码参数集合包括多种视频编码参数。
视频编码参数包括以下几种:目标码率、最大码率、自适应量化强度(aq-strength)、量化值曲线压缩系数(qcomp)、视频缓存检验器缓冲大小(vbv_buffer_size)、参考帧数、基于心理视觉模型的率失真优化强度(psy-rd)、基于心里视觉模型的格状量化强度(psy-trellis)、格状量化模式(trellis-mode)、色度编码量化偏移(chroma-qp-offset)、自适应B帧替代方法(b-adapt)、运动预测模式(direct_mv_pre)、P帧隐式加权模式(weightp)、弹性量化模式(aq-mode)、分辨率等。其中aq-strength、qcomp、psy-rd、psy-trellis是浮点型数值,为了方便编码、交叉、变异,可以将浮点型数值乘以一定倍数,映射为int型数值,此外,还可以将常见的目标分辨率也映射为int型数值。
示例性的,aq-strength的数值范围是0.0~2.0,可以将其乘以100,映射到0~200,这样其调整粒度为0.01。qcomp的数值范围是0.0~1.0,可以将其乘以1000,映射到0~1000,其调整粒度为0.001。需要说明的是,上述倍数可以根据实际需要灵活设置。
上述视频编码参数构成一个视频编码参数集合,用于视频编码。应理解,视频编码参数集合中还可以包括其他参数,其他参数通常为固定参数。视频编码参数有很多,可选择性地调整上述视频编码参数中的一部分参数,实现对视频编码的优化。
本实施例中,不同复杂度类别对应的视频编码参数集合是采用遗传算法对初始视频编码参数集合中的各视频编码参数进行优化得到的。针对不同复杂度类别对应的视频编码参数集合的具体优化过程,可参见后文实施例。
步骤204、基于视频编码参数集合中各视频编码参数,对视频数据进行视频编码。
本实施例示出了一种视频编码方法,通过获取视频数据,将视频数据输入至视频复杂度分类模型,得到视频数据的复杂度类别;根据视频数据的复杂度类别,确定与复杂度类别对应的视频编码参数集合,视频编码参数集合包括多种视频编码参数;基于视频编码参数集合中各视频编码参数,对视频数据进行视频编码。其中,视频复杂度分类模型是基于轻量级深度学习模型训练得到的用于确定视频复杂度类别的模型。上述技术方案可实时地获取每段视频的复杂度类别,根据复杂度类别匹配合适的视频编码参数集合,避免复杂度不高的视频片段使用过大码率,造成带宽浪费的问题,提高视频编码效率。
上述实施例示出了对视频数据按照视频复杂程度匹配合适的视频编码参数集合,实现对视频数据的动态编码过程。不同视频复杂度类别对应的视频编码参数集合中的视频编码参数全部或部分不同。下面一个实施例示出了采用遗传算法获得各视频复杂度类别对应的视频编码参数集合,相比专业人员根据经验设置的固定视频编码参数集合,可以获得更好的视频编码参数集合,实现在有限的码率下取得更好的视频清晰度。下面结合附图4对视频复杂度类别对应的视频编码参数集合的优化过程进行详细说明。
图4为本申请实施例提供的第一复杂度类别对应的第一视频编码参数集合的优化过程的流程示意图。其中,第一复杂度类别为复杂度类别中的任意一个类别,如图4所示,本实施例提供的对第一视频编码参数集合的优化过程,主要包括如下几个步骤:
步骤401、获取多个初始视频编码参数集合以及第一复杂度类别的第一视频样本。
在本实施例中,初始视频编码参数集合可以是专业人员根据经验设置的第一复杂度类别的视频编码参数集合,记为G0,还可以是通过随机调整G0中部分或全部视频编码参数而组成的多个新的视频编码参数集合,记为G1、G2、G3等。第一复杂度类别的第一视频样本可以直接从训练上述视频复杂度分类模型的视频样本集合中获取。
步骤402、对基于不同初始视频编码参数集合进行视频编码后的第一视频样本,进行参数分析,从多个初始视频编码参数集合中确定目标视频编码参数集合。其中,参数分析包括对码率和清晰度的分析。
在本申请的一个实施例中,对基于不同初始视频编码参数集合进行视频编码后的第一视频样本进行参数分析,包括如下几个步骤:
获取基于不同初始视频编码参数集合进行视频编码后的第一视频样本的清晰度评分以及码率,根据清晰度评分以及码率,从多个初始视频编码参数集合中确定目标视频编码参数集合。
需要说明的是,目标视频编码参数集合通常有多个。示例性的,在实际应用中,从200个初始编码参数集合中确定例如60个目标视频编码参数集合,即保留约30%的初始视频编码参数集合,保留的30%的初始视频编码参数集合用于生成步骤403的子代视频编码参数集合。
在本申请的一个实施例中,可以通过如下方式获取基于每个初始视频编码参数集合进行视频编码后的第一视频样本的清晰度评分:将基于不同初始视频编码参数集合进行视频编码后的第一视频样本,依次输入至预设的视频清晰度评分模型中,得到基于每个初始视频编码参数集合进行视频编码后的第一视频样本的清晰度评分。
其中,视频清晰度评分模型是采用机器学习模型训练得到的用于评估视频清晰度的模型。视频清晰度评分模型的训练过程,包括:获取视频样本集合以及视频样本集合中每个视频样本的清晰度评分;建立初始视频清晰度评分模型;将视频样本集合中每个视频样本作为初始视频清晰度评分模型的输入,将每个视频样本的清晰度评分作为初始视频清晰度评分模型的输出,进行模型训练,得到训练好的视频清晰度评分模型。
需要说明的是,视频样本集合中每个视频样本的清晰度评分包括来自不同标注人员对视频样本的清晰度评分,也称为vmaf评分。可见,本实施例的视频清晰度评分模型输出的清晰度评分可用于表征人主观感受到的视频数据的清晰度。
在本申请实施例中,码率和清晰度是两个重要的优化目标,对视频编码参数集合的优化目的是在保证目标清晰度的前提下,尽量降低码率,因此设计适应度函数如下:
式中,vmaf_score表示第一视频样本的清晰度评分,t表示目标清晰度,C表示目标码率,bitrate表示第一视频样本的码率,Score表示适应度,表征目标码率与第一视频样本的码率的差值。
通常情况下,对于超清画质,目标码率一般设置为2000Kbps,对于高清画质,目标码率一般设置为1000Kbps,对于流畅画质,目标码率一般设置为600Kbps。第一视频样本的码率为用户通过编码器设置的第一视频样本的平均码率,为了实现编码优化,第一视频样本的码率小于目标码率。第一视频样本的码率是可以动态调节的。在视频复杂度高时,可提高第一视频样本的码率,避免由于码率不够影响视频清晰度;在视频复杂度低时,可降低第一视频样本的码率。
由上述公式可知,当vmaf_score≥t时,即基于某初始视频编码参数集合进行视频编码后的第一视频样本的清晰度满足设定的目标清晰度时,Score为一个正数,Score越大,说明在保证目标清晰度的情况下,第一视频样本的码率越小,适应度越高。当vmaf_score<t时,即基于某初始视频编码参数集合进行视频编码后的第一视频样本的清晰度不满足预设的目标清晰度时,Score直接置为0,说明可舍弃相应的初始视频编码参数集合。
在本申请的一个实施例中,可以将视频编码后的第一视频样本的清晰度评分大于或等于预设清晰度阈值,且,视频编码后的第一视频样本的码率小于目标码率所对应的初始视频编码参数集合,作为目标视频编码参数集合。
可选的,在一些实施例中,首先从多个初始视频编码参数集合中选取:视频编码后的第一视频样本的清晰度评分大于或等于预设清晰度阈值,且,视频编码后的第一视频样本的码率小于目标码率所对应的初始视频编码参数集合。然后,对选取的多个初始视频编码参数集合,按照视频编码后的第一视频样本的目标码率与码率差值进行排序,即按照Score排序,保留预设比例数量的初始视频编码参数集合,例如保留前30%。将预设比例数量的初始视频编码参数集合作为目标视频编码参数集合。
示例性的,有100个初始视频编码参数集合,基于不同的初始视频编码集合对第一视频样本进行视频编码,分别获取编码后的第一视频样本的清晰度评分和码率。首先舍弃清晰度评分不达标的编码视频对应的初始视频编码参数集合,例如舍弃10个初始视频编码集合。其次根据编码视频的码率与目标码率,确定剩余的90个初始视频编码参数集合对应的编码视频的适应度Score,根据Score对剩余的90个初始视频编码参数集合进行排序,保留前30%的Score对应的初始视频编码参数集合,将前30%的Score对应的初始视频编码参数集合作为目标视频编码参数集合,即有90×30%=27个初始视频编码参数集合被保留。
步骤403、采用遗传算法生成多个子代视频编码参数集合。
具体的,基于步骤402确定的目标视频编码参数集合,采用遗传算法生成多个子代视频编码参数集合。目标视频编码参数集合即被保留下来的初始视频编码参数集合,可通过遗传算法的基因复制、双亲基因选择及交叉、基因变异,处理目标编码参数集合。
在本申请的一个实施例中,目标视频编码参数集合包括第一目标视频编码参数集合,可以直接将第一目标视频编码参数集合作为一个新的子代视频编码参数集合。该实施例是将第一目标视频编码参数集合中的所有视频编码参数原样保留,可以看作是基因复制。
在本申请的一个实施例中,目标视频编码参数集合包括第一目标视频编码参数集合和第二目标视频编码参数集合,可以从第一目标视频编码参数集合和第二目标视频编码参数集合中分别选取部分视频编码参数,组成一个新的子代视频编码参数集合。该实施例是从多个目标视频编码参数集合中选取两个集合,从这两个集合中选取视频编码参数,组合生成一个新的视频编码参数集合,该新的视频编码参数集合继承了两个集合的基因,可以看作是双亲基因选择及交叉。
示例性的,假设选取的两个视频编码参数集合表示为M和N,每个集合中包含例如7个视频编码参数,例如集合M为(a1,b1,c1,d1,e1,f1,g1),集合N为(a2,b2,c2,d2,e2,f2,g2),取集合M中的a1,b1,c1以及集合N中的d2,e2,f2,g2,得到一个新的视频编码参数集合P(a1,b1,c1,d2,e2,f2,g2)。新的视频编码参数集合P可看作是一个子代视频编码参数集合。
在本申请的一个实施例中,目标视频编码参数集合包括第一目标视频编码参数集合,可以基于各类视频编码参数的预设变异概率,随机调整第一目标视频编码参数集合中的至少一个视频编码参数,得到一个新的子代视频编码参数集合。该实施例是将第一目标视频编码参数集合中的至少一个视频编码参数以一定的概率发生随机变化,从而生成一个新的视频编码参数集合,可以看作是基因变异。视频编码参数集合中可能出现多个编码参数的变异,也可能所有编码参数都没有发生变异,每个视频编码参数的预设变异概率可以相同也可以不同,每个视频编码参数独立进行概率性的变异。通过基因变异引入新的基因片段,避免陷入局部最优,可提升优化效果。
示例性的,基于上述实例中的视频编码参数集合M(a1,b1,c1,d1,e1,f1,g1),随机调整集合M中视频编码参数a1为a3,c1为c3,得到一个新的子代视频编码参数集合M’(a3,b1,c3,d1,e1,f1,g1)。
可选的,在一些实施例中,还可以基于新的子代视频编码参数集合,随机调整新的子代视频编码参数集合中的至少一个视频编码参数,得到一个新的子代视频编码参数集合。示例性的,基于上述实例中双亲交叉生成的新的视频编码参数集合P(a1,b1,c1,d2,e2,f2,g2),随机调整视频编码参数e2为e3,得到一个新的子代视频编码参数集合P’(a1,b1,c1,d2,e3,f2,g2)。
步骤404、对基于不同子代视频编码参数集合进行视频编码后的第一视频样本,进行参数分析。
步骤404与步骤402的参数分析过程相同,具体可参见上文实施例,此处不再赘述。
步骤405、判断是否满足迭代终止条件,若满足迭代终止条件,执行步骤406,若不满足迭代终止条件,跳回至步骤403。
步骤406、从多个子代视频编码参数集合中确定第一复杂度类别对应的第一视频编码参数集合。
在本申请的一个实施例中,在到达预设迭代次数时,将视频编码后的第一视频样本的清晰度评分大于或等于预设清晰度阈值,且,视频编码后的第一视频样本的码率与目标码率的差值最大所对应的子代视频编码参数集合,作为第一视频编码参数集合。
在本申请的一个实施例中,若视频编码后的第一视频样本的清晰度评分大于或等于预设清晰度阈值,且,视频编码后的第一视频样本的码率与目标码率的差值大于预设值,将视频编码后的第一视频样本的清晰度评分大于或等于预设清晰度阈值,且,视频编码后的第一视频样本的码率与目标码率的差值最大所对应的子代视频编码参数集合作为,第一视频编码参数集合。
其中,视频编码后的第一视频样本的码率与目标码率的差值最大即适应度Score最大,说明此时编码后的第一视频样本在清晰度满足设定的目标清晰度,且占用的码率最小,因此,将相应的子代视频编码参数集合作为第一复杂度类别对应的第一视频编码参数集合,该集合为采用遗传算法优化后的视频编码参数集合。
本实施例示出了某一视频复杂度类别对应的视频编码参数集合的优化过程,该优化过程采用了遗传算法,通过对视频编码参数集合的多次迭代,对基于不同视频编码参数集合进行视频编码后的视频样本的参数进行分析,在满足迭代停止条件时,从保留下来的多个视频编码参数集合中选取最优的一个视频编码参数集合作为该视频复杂度类别对应的视频编码参数集合。基于优化后的视频编码参数集合对视频数据进行视频编码,可有效避免不必要的码率浪费,降低传输带宽成本。
本申请实施例可以根据上述方法实施例对视频编码装置进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以使用硬件的形式实现,也可以使用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。下面以使用对应各个功能划分各个功能模块为例进行说明。
图5为本申请实施例提供的一种视频编码装置的结构示意图,如图5所示,本实施例的视频编码装置500,包括:
获取模块501,用于获取视频数据;
处理模块502,用于将所述视频数据输入至视频复杂度分类模型,得到所述视频数据的复杂度类别,其中,所述视频复杂度分类模型是基于轻量级深度学习模型训练得到的用于确定视频复杂度类别的模型;
处理模块502,还用于根据所述视频数据的复杂度类别,确定与所述复杂度类别对应的视频编码参数集合,所述视频编码参数集合包括多种视频编码参数;
基于所述视频编码参数集合中各视频编码参数,对所述视频数据进行视频编码。
在本申请的一个实施例中,获取模块501,还用于:
获取视频样本集合,所述视频样本集合包括多个视频长度满足预设长度的视频样本;
处理模块502,还用于确定每个所述视频样本的复杂度标签值,所述复杂度标签值用于指示所述视频样本的复杂度类别;
建立初始视频复杂度分类模型,将每个所述视频样本作为所述初始复杂度预测模型的输入,将每个所述视频样本的复杂度标签值作为所述初始复杂度预测模型的输出,进行模型训练,得到训练好的视频复杂度分类模型。
在本申请的一个实施例中,处理模块502,还用于:
若所述视频样本为非固定码率系数CRF模式的视频样本,将所述视频样本转码为CRF模式的视频样本;
根据所述CRF模式的视频样本确定所述视频样本的复杂度标签值。
在本申请的一个实施例中,不同复杂度类别对应的视频编码参数集合是采用遗传算法对初始视频编码参数集合中的各视频编码参数进行优化得到的。
在本申请的一个实施例中,第一复杂度类别为复杂度类别中的任意一个类别,获取模块501,还用于获取多个初始视频编码参数集合以及所述第一复杂度类别的第一视频样本;
处理模块502,还用于对基于不同初始视频编码参数集合进行视频编码后的第一视频样本,进行参数分析,从所述多个初始视频编码参数集合中确定目标视频编码参数集合;
基于所述目标视频编码参数集合,采用遗传算法生成多个子代视频编码参数集合;
对基于不同子代视频编码参数集合进行视频编码后的第一视频样本,进行参数分析,判断是否满足迭代终止条件,若满足迭代终止条件,从所述多个子代视频编码参数集合中确定所述第一视频编码参数集合。
在本申请的一个实施例中,获取模块501,具体用于获取基于不同初始视频编码参数集合进行视频编码后的第一视频样本的清晰度评分以及码率;
处理模块502,具体用于根据所述清晰度评分以及所述码率,从所述多个初始视频编码参数集合中确定目标视频编码参数集合。
在本申请的一个实施例中,获取模块501,具体用于将基于不同初始视频编码参数集合进行视频编码后的第一视频样本,依次输入至预设的视频清晰度评分模型中,得到基于每个初始视频编码参数集合进行视频编码后的第一视频样本的清晰度评分;
其中,所述视频清晰度评分模型是采用机器学习模型训练得到的用于评估视频清晰度的模型。
在本申请的一个实施例中,处理模块502,具体用于:
将视频编码后的第一视频样本的清晰度评分大于或等于预设清晰度阈值,且,视频编码后的第一视频样本的码率小于目标码率所对应的初始视频编码参数集合,作为所述目标视频编码参数集合。
在本申请的一个实施例中,所述目标视频编码参数集合包括第一目标视频编码参数集合;处理模块502,具体用于:
将所述第一目标视频编码参数集合作为一个新的子代视频编码参数集合。
在本申请的一个实施例中,所述目标视频编码参数集合包括第一目标视频编码参数集合和第二目标视频编码参数集合;处理模块502,具体用于:
从所述第一目标视频编码参数集合和所述第二目标视频编码参数集合中分别选取部分视频编码参数,组成一个新的子代视频编码参数集合。
在本申请的一个实施例中,所述目标视频编码参数集合包括第一目标视频编码参数集合;处理模块502,具体用于:
基于各类视频编码参数的预设变异概率,随机调整所述第一目标视频编码参数集合中的至少一个视频编码参数,得到一个新的子代视频编码参数集合。
在本申请的一个实施例中,处理模块502,具体用于:
在到达预设迭代次数时,将视频编码后的第一视频样本的清晰度评分大于或等于预设清晰度阈值,且,视频编码后的第一视频样本的码率与目标码率的差值最大所对应的子代视频编码参数集合,作为所述第一视频编码参数集合。
在本申请的一个实施例中,处理模块502,具体用于:
若视频编码后的第一视频样本的清晰度评分大于或等于预设清晰度阈值,且,视频编码后的第一视频样本的码率与目标码率的差值大于预设值,将视频编码后的第一视频样本的清晰度评分大于或等于预设清晰度阈值,且,视频编码后的第一视频样本的码率与目标码率的差值最大所对应的子代视频编码参数集合作为,所述第一视频编码参数集合。
本实施例提供的视频编码装置,可以用于执行上述各方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图6为本申请实施例提供的一种电子设备的硬件结构示意图。如图6所示,本实施例提供的电子设备600,包括:
至少一个处理器601(图6中仅示出了一个处理器);以及
与所述至少一个处理器通信连接的存储器602;其中,
所述存储器602存储有可被所述至少一个处理器601执行的指令,所述指令被所述至少一个处理器601执行,以使电子设备600能够执行前述任一方法实施例中的技术方案。
可选的,存储器602既可以是独立的,也可以跟处理器601集成在一起。
当存储器602是独立于处理器601之外的器件时,电子设备600还包括:总线603,用于连接存储器602和处理器601。
本申请实施例提供的电子设备可以执行前述任一方法实施例的技术方案,其实现原理和技术效果类似,在此不再赘述。
本申请实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器601执行以实现如上方法实施例中的各个步骤。
本申请实施例还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现上方法实施例中的各个步骤。
本申请实施例还提供了一种芯片,包括:处理模块与通信接口,该处理模块能执行前述方法实施例中的各个步骤。
进一步地,该芯片还包括存储模块(如,存储器),存储模块用于存储指令,处理模块用于执行存储模块存储的指令,并且对存储模块中存储的指令的执行使得处理模块执行前述方法实施例中的各个步骤。
应理解,上述处理器可以是中央处理单元(英文:Central Processing Unit,简称:CPU),还可以是其他通用处理器、数字信号处理器(英文:Digital Signal Processor,简称:DSP)、专用集成电路(英文:Application Specific Integrated Circuit,简称:ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器可能包含高速RAM存储器,也可能还包括非易失性存储NVM,例如至少一个磁盘存储器,还可以为U盘、移动硬盘、只读存储器、磁盘或光盘等。
总线可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(Peripheral Component,PCI)总线或扩展工业标准体系结构(ExtendedIndustry Standard Architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本申请附图中的总线并不限定仅有一根总线或一种类型的总线。
上述存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。存储介质可以是通用或专用计算机能够存取的任何可用介质。
一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于专用集成电路(Application Specific Integrated Circuits,简称:ASIC)中。当然,处理器和存储介质也可以作为分立组件存在于电子设备中。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (17)
1.一种视频编码方法,其特征在于,包括:
获取视频数据,将所述视频数据输入至视频复杂度分类模型,得到所述视频数据的复杂度类别,其中,所述视频复杂度分类模型是基于轻量级深度学习模型训练得到的用于确定视频复杂度类别的模型;
根据所述视频数据的复杂度类别,确定与所述复杂度类别对应的视频编码参数集合,所述视频编码参数集合包括多种视频编码参数;
基于所述视频编码参数集合中各视频编码参数,对所述视频数据进行视频编码。
2.根据权利要求1所述的方法,其特征在于,所述视频复杂度分类模型的训练过程,包括:
获取视频样本集合,所述视频样本集合包括多个视频长度满足预设长度的视频样本;
确定每个所述视频样本的复杂度标签值,所述复杂度标签值用于指示所述视频样本的复杂度类别;
建立初始视频复杂度分类模型,将每个所述视频样本作为所述初始复杂度预测模型的输入,将每个所述视频样本的复杂度标签值作为所述初始复杂度预测模型的输出,进行模型训练,得到训练好的视频复杂度分类模型。
3.根据权利要求2所述的方法,其特征在于,所述确定每个所述视频样本的复杂度标签值,包括:
若所述视频样本为非固定码率系数CRF模式的视频样本,将所述视频样本转码为CRF模式的视频样本;
根据所述CRF模式的视频样本确定所述视频样本的复杂度标签值。
4.根据权利要求1-3中任一项所述的方法,其特征在于,不同复杂度类别对应的视频编码参数集合是采用遗传算法对初始视频编码参数集合中的各视频编码参数进行优化得到的。
5.根据权利要求1-3中任一项所述的方法,其特征在于,
第一复杂度类别为复杂度类别中的任意一个类别,确定所述第一复杂度类别对应的第一视频编码参数集合,包括:
获取多个初始视频编码参数集合以及所述第一复杂度类别的第一视频样本;
对基于不同初始视频编码参数集合进行视频编码后的第一视频样本,进行参数分析,从所述多个初始视频编码参数集合中确定目标视频编码参数集合;
基于所述目标视频编码参数集合,采用遗传算法生成多个子代视频编码参数集合;
对基于不同子代视频编码参数集合进行视频编码后的第一视频样本,进行参数分析,判断是否满足迭代终止条件,若满足迭代终止条件,从所述多个子代视频编码参数集合中确定所述第一视频编码参数集合。
6.根据权利要求5所述的方法,其特征在于,所述对基于不同初始视频编码参数集合进行视频编码后的第一视频样本,进行参数分析,从所述多个初始视频编码参数集合中确定目标视频编码参数集合,包括:
获取基于不同初始视频编码参数集合进行视频编码后的第一视频样本的清晰度评分以及码率;
根据所述清晰度评分以及所述码率,从所述多个初始视频编码参数集合中确定目标视频编码参数集合。
7.根据权利要求6所述的方法,其特征在于,所述获取基于不同初始视频编码参数集合进行视频编码后的第一视频样本的清晰度评分,包括:
将基于不同初始视频编码参数集合进行视频编码后的第一视频样本,依次输入至预设的视频清晰度评分模型中,得到基于每个初始视频编码参数集合进行视频编码后的第一视频样本的清晰度评分;
其中,所述视频清晰度评分模型是采用机器学习模型训练得到的用于评估视频清晰度的模型。
8.根据权利要求6所述的方法,其特征在于,
所述根据所述清晰度评分以及所述码率,从所述多个初始视频编码参数集合中确定目标视频编码参数集合,包括:
将视频编码后的第一视频样本的清晰度评分大于或等于预设清晰度阈值,且,视频编码后的第一视频样本的码率小于目标码率所对应的初始视频编码参数集合,作为所述目标视频编码参数集合。
9.根据权利要求5所述的方法,其特征在于,所述目标视频编码参数集合包括第一目标视频编码参数集合;所述基于所述目标视频编码参数集合,采用遗传算法生成多个子代视频编码参数集合,包括:
将所述第一目标视频编码参数集合作为一个新的子代视频编码参数集合。
10.根据权利要求5所述的方法,其特征在于,所述目标视频编码参数集合包括第一目标视频编码参数集合和第二目标视频编码参数集合;所述基于所述目标视频编码参数集合,采用遗传算法生成多个子代视频编码参数集合,包括:
从所述第一目标视频编码参数集合和所述第二目标视频编码参数集合中分别选取部分视频编码参数,组成一个新的子代视频编码参数集合。
11.根据权利要求5所述的方法,其特征在于,所述目标视频编码参数集合包括第一目标视频编码参数集合;所述基于所述目标视频编码参数集合,采用遗传算法生成多个子代视频编码参数集合,包括:
基于各类视频编码参数的预设变异概率,随机调整所述第一目标视频编码参数集合中的至少一个视频编码参数,得到一个新的子代视频编码参数集合。
12.根据权利要求5所述的方法,其特征在于,所述判断是否满足迭代终止条件,若满足迭代终止条件,从所述多个子代视频编码参数集合中确定所述第一复杂度类别对应的第一视频编码参数集合,包括:
在到达预设迭代次数时,将视频编码后的第一视频样本的清晰度评分大于或等于预设清晰度阈值,且,视频编码后的第一视频样本的码率与目标码率的差值最大所对应的子代视频编码参数集合,作为所述第一视频编码参数集合。
13.根据权利要求5所述的方法,其特征在于,所述判断是否满足迭代终止条件,若满足迭代终止条件,从所述多个子代视频编码参数集合中确定所述第一复杂度类别对应的第一视频编码参数集合,包括:
若视频编码后的第一视频样本的清晰度评分大于或等于预设清晰度阈值,且,视频编码后的第一视频样本的码率与目标码率的差值大于预设值,将视频编码后的第一视频样本的清晰度评分大于或等于预设清晰度阈值,且,视频编码后的第一视频样本的码率与目标码率的差值最大所对应的子代视频编码参数集合作为,所述第一视频编码参数集合。
14.一种视频编码装置,其特征在于,包括:
获取模块,用于获取视频数据;
处理模块,用于将所述视频数据输入至视频复杂度分类模型,得到所述视频数据的复杂度类别,其中,所述视频复杂度分类模型是基于轻量级深度学习模型训练得到的用于确定视频复杂度类别的模型;
所述处理模块,还用于根据所述视频数据的复杂度类别,确定与所述复杂度类别对应的视频编码参数集合,所述视频编码参数集合包括多种视频编码参数;
基于所述视频编码参数集合中各视频编码参数,对所述视频数据进行视频编码。
15.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述电子设备能够执行权利要求1-13中任一项所述的方法。
16.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,所述计算机程序被处理器执行以实现如权利要求1-13中任一项所述的方法。
17.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-13中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011531195.4A CN112672157B (zh) | 2020-12-22 | 2020-12-22 | 视频编码方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011531195.4A CN112672157B (zh) | 2020-12-22 | 2020-12-22 | 视频编码方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112672157A true CN112672157A (zh) | 2021-04-16 |
CN112672157B CN112672157B (zh) | 2022-08-05 |
Family
ID=75407776
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011531195.4A Active CN112672157B (zh) | 2020-12-22 | 2020-12-22 | 视频编码方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112672157B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113949877A (zh) * | 2021-10-18 | 2022-01-18 | 湖南快乐阳光互动娱乐传媒有限公司 | 一种转码码率确定方法及装置 |
CN116996680A (zh) * | 2023-09-26 | 2023-11-03 | 上海视龙软件有限公司 | 一种用于视频数据分类模型训练的方法及装置 |
Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5835149A (en) * | 1995-06-06 | 1998-11-10 | Intel Corporation | Bit allocation in a coded video sequence |
US6181742B1 (en) * | 1998-01-26 | 2001-01-30 | International Business Machines Corporation | Single pass target allocation for video encoding |
WO2005084035A2 (en) * | 2004-02-06 | 2005-09-09 | Apple Computer, Inc. | Rate and quality controller for h.264/avc video coder and scene analyzer therefor |
US20070253479A1 (en) * | 2006-04-30 | 2007-11-01 | Debargha Mukherjee | Robust and efficient compression/decompression providing for adjustable division of computational complexity between encoding/compression and decoding/decompression |
US20110164677A1 (en) * | 2008-09-26 | 2011-07-07 | Dolby Laboratories Licensing Corporation | Complexity Allocation for Video and Image Coding Applications |
CN102196254A (zh) * | 2010-03-11 | 2011-09-21 | 中国科学院微电子研究所 | 一种视频编码复杂度自适应调整方法及装置 |
US8290038B1 (en) * | 2009-11-30 | 2012-10-16 | Google Inc. | Video coding complexity estimation |
CN108765510A (zh) * | 2018-05-24 | 2018-11-06 | 河南理工大学 | 一种基于遗传优化搜索策略的快速纹理合成方法 |
CN108769736A (zh) * | 2018-05-24 | 2018-11-06 | 重庆瑞景信息科技有限公司 | 面向显示的视频转码码率决策模型的建立及参数确定方法 |
CN109076194A (zh) * | 2017-11-21 | 2018-12-21 | 深圳市大疆创新科技有限公司 | 一种视频处理方法、设备、飞行器、系统及存储介质 |
US20180376153A1 (en) * | 2017-06-21 | 2018-12-27 | Intel Corporation | Content, psychovisual, region of interest, and persistence based adaptive quantization for video coding |
CN109286825A (zh) * | 2018-12-14 | 2019-01-29 | 北京百度网讯科技有限公司 | 用于处理视频的方法和装置 |
CN110536168A (zh) * | 2019-09-11 | 2019-12-03 | 北京达佳互联信息技术有限公司 | 视频上传方法、装置、电子设备及存储介质 |
CN110650370A (zh) * | 2019-10-18 | 2020-01-03 | 北京达佳互联信息技术有限公司 | 一种视频编码参数确定方法、装置、电子设备及存储介质 |
CN110956018A (zh) * | 2019-11-22 | 2020-04-03 | 腾讯科技(深圳)有限公司 | 文本处理模型的训练方法、文本处理方法、装置及存储介质 |
US10798399B1 (en) * | 2017-12-11 | 2020-10-06 | Amazon Technologies, Inc. | Adaptive video compression |
-
2020
- 2020-12-22 CN CN202011531195.4A patent/CN112672157B/zh active Active
Patent Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5835149A (en) * | 1995-06-06 | 1998-11-10 | Intel Corporation | Bit allocation in a coded video sequence |
US6181742B1 (en) * | 1998-01-26 | 2001-01-30 | International Business Machines Corporation | Single pass target allocation for video encoding |
WO2005084035A2 (en) * | 2004-02-06 | 2005-09-09 | Apple Computer, Inc. | Rate and quality controller for h.264/avc video coder and scene analyzer therefor |
US20070253479A1 (en) * | 2006-04-30 | 2007-11-01 | Debargha Mukherjee | Robust and efficient compression/decompression providing for adjustable division of computational complexity between encoding/compression and decoding/decompression |
US20110164677A1 (en) * | 2008-09-26 | 2011-07-07 | Dolby Laboratories Licensing Corporation | Complexity Allocation for Video and Image Coding Applications |
US8290038B1 (en) * | 2009-11-30 | 2012-10-16 | Google Inc. | Video coding complexity estimation |
CN102196254A (zh) * | 2010-03-11 | 2011-09-21 | 中国科学院微电子研究所 | 一种视频编码复杂度自适应调整方法及装置 |
US20180376153A1 (en) * | 2017-06-21 | 2018-12-27 | Intel Corporation | Content, psychovisual, region of interest, and persistence based adaptive quantization for video coding |
CN109076194A (zh) * | 2017-11-21 | 2018-12-21 | 深圳市大疆创新科技有限公司 | 一种视频处理方法、设备、飞行器、系统及存储介质 |
US10798399B1 (en) * | 2017-12-11 | 2020-10-06 | Amazon Technologies, Inc. | Adaptive video compression |
CN108769736A (zh) * | 2018-05-24 | 2018-11-06 | 重庆瑞景信息科技有限公司 | 面向显示的视频转码码率决策模型的建立及参数确定方法 |
CN108765510A (zh) * | 2018-05-24 | 2018-11-06 | 河南理工大学 | 一种基于遗传优化搜索策略的快速纹理合成方法 |
CN109286825A (zh) * | 2018-12-14 | 2019-01-29 | 北京百度网讯科技有限公司 | 用于处理视频的方法和装置 |
CN110536168A (zh) * | 2019-09-11 | 2019-12-03 | 北京达佳互联信息技术有限公司 | 视频上传方法、装置、电子设备及存储介质 |
CN110650370A (zh) * | 2019-10-18 | 2020-01-03 | 北京达佳互联信息技术有限公司 | 一种视频编码参数确定方法、装置、电子设备及存储介质 |
CN110956018A (zh) * | 2019-11-22 | 2020-04-03 | 腾讯科技(深圳)有限公司 | 文本处理模型的训练方法、文本处理方法、装置及存储介质 |
Non-Patent Citations (2)
Title |
---|
ZHAOQING PAN,ET AL.: "Fast Motion Estimation Based on Content Property for Low-Complexity H.265/HEVC Encoder", 《 IEEE TRANSACTIONS ON BROADCASTING ( VOLUME: 62, ISSUE: 3, SEPT. 2016)》 * |
赵璇: "视频的特征获取与高效编码方法", 《中国优秀硕士学位全文数据库(电子期刊)》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113949877A (zh) * | 2021-10-18 | 2022-01-18 | 湖南快乐阳光互动娱乐传媒有限公司 | 一种转码码率确定方法及装置 |
CN116996680A (zh) * | 2023-09-26 | 2023-11-03 | 上海视龙软件有限公司 | 一种用于视频数据分类模型训练的方法及装置 |
CN116996680B (zh) * | 2023-09-26 | 2023-12-12 | 上海视龙软件有限公司 | 一种用于视频数据分类模型训练的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN112672157B (zh) | 2022-08-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109286825B (zh) | 用于处理视频的方法和装置 | |
CN111107395B (zh) | 一种视频转码的方法、装置、服务器和存储介质 | |
WO2023134523A1 (zh) | 内容自适应视频编码方法、装置、设备和存储介质 | |
CN112672157B (zh) | 视频编码方法、装置、设备及存储介质 | |
US20060188014A1 (en) | Video coding and adaptation by semantics-driven resolution control for transport and storage | |
US20170359580A1 (en) | Content Adaptation for Streaming | |
CN110418177A (zh) | 视频编码方法、装置、设备和存储介质 | |
CN109698957B (zh) | 图像编码方法、装置、计算设备及存储介质 | |
CN111083473B (zh) | 一种基于机器学习的内容自适应视频编码方法 | |
CN110620924A (zh) | 编码数据的处理方法、装置、计算机设备及存储介质 | |
CN113194320A (zh) | 参数预测模型的训练方法及装置和参数预测方法及装置 | |
CN110545418B (zh) | 一种基于场景的自适应视频编码方法 | |
CN115022629B (zh) | 云游戏视频的最优编码模式确定方法与装置 | |
CN110766637A (zh) | 一种视频处理方法、处理装置、电子设备及存储介质 | |
CN106791850A (zh) | 视频编码方法及装置 | |
CN116095355B (zh) | 视频显示控制方法及其装置、设备、介质、产品 | |
CN111385577B (zh) | 视频转码方法、装置、计算机设备和计算机可读存储介质 | |
CN103339934B (zh) | 视频编码 | |
CN107205150A (zh) | 编码方法及装置 | |
CN111277827A (zh) | 一种视频数据处理方法、装置、设备以及可读存储介质 | |
CN113452996A (zh) | 一种视频编码、解码方法及装置 | |
CN111767428A (zh) | 视频推荐方法、装置、电子设备及存储介质 | |
CN109219960B (zh) | 视频编码质量平滑度的优化方法、装置、设备及存储介质 | |
CN111901631B (zh) | 一种直播视频的转码方法、装置、服务器和存储介质 | |
CN113630599B (zh) | 一种基于roi的视频码率控制方法及系统 |
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 |