CN112383777B - 视频编码方法、装置、电子设备及存储介质 - Google Patents

视频编码方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN112383777B
CN112383777B CN202011041726.1A CN202011041726A CN112383777B CN 112383777 B CN112383777 B CN 112383777B CN 202011041726 A CN202011041726 A CN 202011041726A CN 112383777 B CN112383777 B CN 112383777B
Authority
CN
China
Prior art keywords
video
frame
complexity
coding
video 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
Application number
CN202011041726.1A
Other languages
English (en)
Other versions
CN112383777A (zh
Inventor
赵明菲
于冰
闻兴
王晓楠
黄晓政
陈敏
陈宇聪
刘智辉
黄跃
黄博
郭磊
高敏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Dajia Internet Information Technology Co Ltd
Original Assignee
Beijing Dajia Internet Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Dajia Internet Information Technology Co Ltd filed Critical Beijing Dajia Internet Information Technology Co Ltd
Priority to CN202011041726.1A priority Critical patent/CN112383777B/zh
Publication of CN112383777A publication Critical patent/CN112383777A/zh
Application granted granted Critical
Publication of CN112383777B publication Critical patent/CN112383777B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods 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/154Measured or subjectively estimated visual quality after decoding, e.g. measurement of distortion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02TCLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
    • Y02T10/00Road transport of goods or passengers
    • Y02T10/10Internal combustion engine [ICE] based vehicles
    • Y02T10/40Engine management systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本公开关于一种视频编码方法、装置、电子设备及存储介质,首先确定待编码的视频的复杂度信息,将复杂度信息输入至预先训练的编码参数预测模型,由于编码参数预测模型是基于多个样本图像分别对应的复杂度信息以及多个所述样本视频分别对应的标定编码参数训练生成的,一个样本图像的复杂度信息包括表征所述样本视频包含的至少一个视频图像集合对应的帧间复杂度的第一信息以及表征所述样本视频包含的至少一帧视频图像对应的帧内复杂度的第二信息,所以编码参数预测模型具有输出满足该视频的帧间复杂度和帧内复杂度的第一预测编码参数的能力。不会出现编码参数对有的视频而言较高,对有的视频而言较低的情况。

Description

视频编码方法、装置、电子设备及存储介质
技术领域
本公开涉及视频编码技术领域,尤其涉及视频编码方法、装置、电子设备及存储介质。
背景技术
目前,在传输视频之前需要对视频进行编码,得到编码后的编码视频文件,传输编码视频文件与直接传输视频相比,大大节约了传输时间。
相关技术中,不同视频是基于相同的编码参数进行编码,下面以编码参数为码率为例进行说明。假设视频1和视频2都是基于码率A进行编码的。可能会出现以下情况:码率A相对于视频1而言较低,即视频1对应的编码视频文件解码后得到的视频不清晰;码率A相对于视频2而言较高,即基于码率A对视频2进行编码得到的编码视频文件A对应的解码视频的清晰度,与,基于低于码率A的码率B对视频2进行编码得到的编码视频文件B对应的解码频的清晰度相同。传输编码视频文件A相比传输编码视频文件B而言,增大了传输时间,浪费了带宽资源。
综上,如何确定视频的编码参数是本领域技术人员需要解决的难题。
发明内容
本公开提供一种视频编码方法、装置、电子设备及存储介质,以至少解决相关技术中如何确定视频的编码参数的问题。本公开的技术方案如下:
根据本公开实施例的第一方面,提供一种视频编码方法,包括:确定待编码的视频的复杂度信息,所述复杂度信息包括:表征所述视频包含的至少一个视频图像集合对应的帧间复杂度的第一信息,以及,表征所述视频包含的至少一帧视频图像对应的帧内复杂度的第二信息;一个所述视频图像集合包括时间相邻的至少两帧视频图像,一个所述视频图像集合对应的帧间复杂度用于表征所述时间相邻的至少两帧视频图像之间的差别程度;一帧所述视频图像的帧内复杂度用于表征所述视频图像自身的纹理复杂程度;将所述复杂度信息输入至预先训练的编码参数预测模型,通过所述编码参数预测模型获得第一预测编码参数;所述编码参数预测模型是通过多个样本视频分别对应的复杂度信息以及多个所述样本视频分别对应的标定编码参数训练生成的;基于所述第一预测编码参数对所述视频进行编码。
结合第一方面,在第一种可能的实现方式中,所述确定待编码的视频的复杂度信息包括:获取所述视频包含的至少一帧关键帧;基于所述至少一帧关键帧,确定至少一个视频图像集合,一个所述视频图像集合包括一帧所述关键帧以及所述关键帧下一帧视频图像,或,一个所述视频图像集合包括一帧所述关键帧、所述关键帧的下一帧视频图像以及所述关键帧的上一帧视频图像,或,一个所述视频图像集合包括一帧所述关键帧以及所述关键帧的上一帧视频图像;获取表征所述至少一组视频图像集合对应的帧间复杂度的第一信息;获取表征所述至少一帧关键帧分别对应的帧内复杂度的第二信息。
结合第一方面,在第二种可能的实现方式中,所述第一信息包括:所述至少一个视频图像集合对应的帧间复杂度中最大帧间复杂度;所述至少一个视频图像集合对应的帧间复杂度中最小帧间复杂度;以及,所述至少一个视频图像集合对应的帧间复杂度的平均帧间复杂度中至少一个;和/或,所述第二信息包括:所述至少一帧关键帧对应的帧内复杂度的平均帧内复杂度;所述至少一帧关键帧对应的帧内复杂度的最大帧内复杂度;以及,所述至少一帧关键帧对应的帧内复杂度的最小帧内复杂度中至少一个;和/或,所述复杂度信息还包括:所述视频的帧率,以及,所述视频的分辨率中的至少一个。
结合第一方面,在第三种可能的实现方式中,所述预先训练的编码参数预测模型采用如下步骤训练:获取多个所述样本视频对应的复杂度信息;获取多个所述样本视频对应的标定编码参数;针对每一所述样本视频,将所述样本视频对应的复杂度信息作为机器学习模型的输入,将所述机器学习模型输出的第二预测编码参数与所述样本视频的标定编码参数进行比较,得到损失函数,以得到多个所述样本视频分别对应的损失函数;基于多个所述样本视频分别对应的损失函数训练所述机器学习模型以得到所述编码参数预测模型。
结合第一方面,在第四种可能的实现方式中,针对每一所述样本图像,获取所述样本视频的标定编码参数步骤包括:确定M个编码参数,所述M个编码参数组成等差数列,M为大于或等于2的正整数;基于M个所述编码参数对所述样本视频分别进行编码,以得到编码后的M个编码视频文件;针对每一所述编码视频文件,确定表征解码视频相对于所述样本视频的还原程度的编码质量信息,所述解码视频是通过解码所述编码视频文件得到的,以得到M个所述编码视频文件分别对应的所述编码质量信息;将M个所述编码视频文件分别对应的所述编码质量信息按照从小到大降序排序,得到排序后的M个所述编码质量信息;依次计算排序后的M个所述编码质量信息中位置相邻的两个所述编码质量信息的差值的绝对值,直至确定出第一个小于预设阈值的目标差值的绝对值;将计算得到所述目标差值的两个所述编码质量信息分别对应的编码参数中的目标编码参数确定为标定编码参数。
结合第一方面,在第五种可能的实现方式中,所述编码参数为码率,所述目标编码参数为计算得到所述目标差值的两个所述编码质量信息分别对应的编码参数中较小的码率;或,所述编码参数为固定码率系数,所述目标编码参数为计算得到所述目标差值的两个所述编码质量信息分别对应的编码参数中较大的固定码率系数。
根据本公开实施例的第二方面,提供一种视频编码装置,包括:确定模块,被配置为确定待编码的视频的复杂度信息,所述复杂度信息包括:表征所述视频包含的至少一个视频图像集合对应的帧间复杂度的第一信息,以及,表征所述视频包含的至少一帧视频图像对应的帧内复杂度的第二信息;一个所述视频图像集合包括时间相邻的至少两帧视频图像,一个所述视频图像集合对应的帧间复杂度用于表征所述时间相邻的至少两帧视频图像之间的差别程度;一帧所述视频图像的帧内复杂度用于表征所述视频图像自身的纹理复杂程度;输入模块,被配置为将所述确定模块确定的复杂度信息输入至预先训练的编码参数预测模型,通过所述编码参数预测模型获得第一预测编码参数;所述编码参数预测模型是通过多个样本视频分别对应的复杂度信息以及多个所述样本视频分别对应的标定编码参数训练生成的;编码模块,被配置为基于所述输入模块得到的所述第一预测编码参数对所述视频进行编码。
结合第二方面,在第一种可能的实现方式中,所述确定模块具体被配置为:第一获取单元,被配置为获取所述视频包含的至少一帧关键帧;第一确定单元,被配置为基于所述第一获取单元获得的所述至少一帧关键帧,确定至少一个视频图像集合,一个所述视频图像集合包括一帧所述关键帧以及所述关键帧下一帧视频图像,或,一个所述视频图像集合包括一帧所述关键帧、所述关键帧的下一帧视频图像以及所述关键帧的上一帧视频图像,或,一个所述视频图像集合包括一帧所述关键帧以及所述关键帧的上一帧视频图像;第二获取单元,被配置为获取表征所述第一确定单元确定的所述至少一组视频图像集合对应的帧间复杂度的第一信息;第三获取单元,被配置为获取表征所述第一确定单元确定的所述至少一帧关键帧分别对应的帧内复杂度的第二信息。
结合第二方面,在第二种可能的实现方式中,所述第一信息包括:所述至少一个视频图像集合对应的帧间复杂度中最大帧间复杂度;所述至少一个视频图像集合对应的帧间复杂度中最小帧间复杂度;以及,所述至少一个视频图像集合对应的帧间复杂度的平均帧间复杂度中至少一个;和/或,所述第二信息包括:所述至少一帧关键帧对应的帧内复杂度的平均帧内复杂度;所述至少一帧关键帧对应的帧内复杂度的最大帧内复杂度;以及,所述至少一帧关键帧对应的帧内复杂度的最小帧内复杂度中至少一个;和/或,所述复杂度信息还包括:所述视频的帧率,以及,所述视频的分辨率中的至少一个。
结合第二方面,在第三种可能的实现方式中,所述视频编码装置还包括:第一获取模块,被配置为获取多个所述样本视频对应的复杂度信息;第二获取模块,被配置为获取多个所述样本视频对应的标定编码参数;第三获取模块,被配置为针对每一所述样本视频,将所述第一获取模块获得的所述样本视频对应的复杂度信息作为机器学习模型的输入,将所述机器学习模型输出的第二预测编码参数与所述第二获取模块获得的所述样本视频的标定编码参数进行比较,得到损失函数,以得到多个所述样本视频分别对应的损失函数;训练模块,被配置为基于所述第三获取模块获得的多个所述样本视频分别对应的损失函数训练所述机器学习模型以得到所述编码参数预测模型。
结合第二方面,在第四种可能的实现方式中,针对每一所述样本图像,所述第二获取模块具体被配置为:第二确定单元,被配置为确定M个编码参数,所述M个编码参数组成等差数列,M为大于或等于2的正整数;编码单元,被配置为基于所述第二确定单元确定的M个所述编码参数对所述样本视频分别进行编码,以得到编码后的M个编码视频文件;第三确定单元,被配置为针对每一所述编码单元得到的所述编码视频文件,确定表征解码视频相对于所述样本视频的还原程度的编码质量信息,所述解码视频是通过解码所述编码视频文件得到的,以得到M个所述编码视频文件分别对应的所述编码质量信息;排序单元,被配置为将所述第三确定单元确定的M个所述编码视频文件分别对应的所述编码质量信息按照从小到大降序排序,得到排序后的M个所述编码质量信息;计算单元,被配置为依次计算排序后的M个所述编码质量信息中位置相邻的两个所述编码质量信息的差值的绝对值,直至确定出第一个小于预设阈值的目标差值的绝对值;第四确定单元,将计算得到所述目标差值的两个所述编码质量信息分别对应的编码参数中的目标编码参数确定为标定编码参数。
结合第二方面,在第五种可能的实现方式中,所述编码参数为码率,所述目标编码参数为计算得到所述目标差值的两个所述编码质量信息分别对应的编码参数中较小的码率;或,所述编码参数为固定码率系数,所述目标编码参数为计算得到所述目标差值的两个所述编码质量信息分别对应的编码参数中较大的固定码率系数。
根据本公开实施例的第三方面,提供一种电子设备,包括:处理器;用于存储所述处理器可执行指令的存储器;其中,所述处理器被配置为执行所述指令,以实现如第一方面所述的视频编码方法。
根据本公开实施例的第四方面,提供一种存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如第一方面所述的视频编码方法。
根据本公开实施例的第五方面,提供一种计算机程序产品,可直接加载到计算机的内部存储器,例如上述第三方面所述电子设备包含的存储器中,并含有软件代码,该计算机程序经由计算机载入并执行后能够实现如第一方面所述视频编码方法。
本公开的实施例提供的技术方案至少带来以下有益效果:
本公开实施例提供的视频编码方法中,首先确定待编码的视频的复杂度信息,将复杂度信息输入至预先训练的编码参数预测模型,由于编码参数预测模型是基于多个样本图像分别对应的复杂度信息以及多个所述样本视频分别对应的标定编码参数训练生成的,一个样本图像的复杂度信息包括表征所述样本视频包含的至少一个视频图像集合对应的帧间复杂度的第一信息以及表征所述样本视频包含的至少一帧视频图像对应的帧内复杂度的第二信息,所以编码参数预测模型具有输出满足该视频的帧间复杂度和帧内复杂度的第一预测编码参数的能力,例如,若编码参数越大,基于该编码参数对视频进行编码得到的编码视频文件的编码质量信息越高,那么,帧内复杂度越大,编码参数越高。若编码参数越小,基于该编码参数对视频进行编码得到的编码视频文件的编码质量信息越高,那么,帧内复杂度越大,编码参数越低。帧间复杂度同理。不会出现相关技术中若对不同视频采用相同的编码参数对视频进行编码,编码参数对有的视频而言较高,对有的视频而言较低的情况。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
图1是根据一示例性实施例示出的一种实施环境的架构图;
图2是根据一示例性实施例示出的一种视频编码方法的流程图;
图3是根据一示例性实施例示出的编码参数预测模型的训练过程的示意图;
图4是根据一示例性实施例示出的样本视频的复杂度信息计算过程的示意图;
图5是根据一示例性实施例示出的样本视频的标定编码参数确定方式的示意图;
图6是根据一示例性实施例示出的码率与编码指令信息的示意图;
图7是根据一示例性实施例示出的CRF与编码指令信息的示意图;
图8是根据一示例性实施例示出的R-D曲线的示意图;
图9是根据一示例性实施例示出的一种视频编码装置的框图;
图10是根据一示例性实施例示出的一种电子设备的框图。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
在介绍本公开实施例提供的技术方案之前,先介绍本公开实施例涉及的应用环境和实施环境。
首先对本公开实施例涉及的应用环境进行说明,本公开实施例涉及传输视频的应用环境。
涉及传输视频的应用环境对应多个应用场景,下面以4种应用场景为例进行说明。
第一种应用场景,对于视频分发平台而言,一个或多个推流客户端向视频分发平台发送不同视频之前,需要基于编码参数对视频进行编码得到的编码视频文件。
示例性的,视频分发平台可以是一台服务器,也可以是由多台服务器组成的服务器集群,或者,是一个云计算服务中心。
第二种应用场景,若拉流客户端需要从视频分发平台获得视频并观看,视频分发平台会基于编码参数对视频进行编码,将得到的编码视频文件发送至拉流客户端,拉流客户端可以对编码视频文件进行解码,从而可以观看视频。
示例性的,由于拉流客户端会从视频分发平台获得编码视频文件,并播放;若视频分发平台接收到的编码视频文件对应的解码后的视频不清晰,那么,视频分发平台发送至拉流客户端的编码视频文件对应的视频也不清晰,使得拉流客户端不能有较好的观看体验。
第三种应用场景,一个客户端在向另一个客户端发送视频之前,需要基于编码参数对视频进行编码,将得到的编码视频文件发送至另一个客户端。
第四种应用场景,一个服务器向另一服务器发送视频之前,需要基于编码参数对视频进行编码,将得到的编码视频文件发送至另一个服务器。
示例性的,编码参数包括码率、分辨率、帧率以及CRF(Constant Rate Factor,固定码率系数)中的一个或多个。
上述四种应用场景中均涉及“基于编码参数对视频进行编码”的过程,在相关技术中,上述四种应用场景中,对于不同视频而言,是基于相同的编码参数对视频进行编码的。
可以理解的是,不同视频的内容的差异性非常大,不同视频的内容的差异性非常大是指视频包含的视频图像的纹理复杂程度不同,视频包含的时间连续的多帧视频图像之间的差异程度信息(例如运动矢量(MV)信息)不同。
例如,英雄联盟的视频和小猪佩奇的视频内容差异性非常大,英雄联盟的视频中视频图像的纹理复杂度远远大于小猪佩奇的视频中视频图像的纹理复杂度;英雄联盟的视频中时间连续的多帧视频图像之间的差异程度信息远远大于小猪佩奇的视频中时间连续的多帧视频图像之间的差异程度信息。
若对不同视频采用相同的编码参数对视频进行编码,那么会出现编码参数对有的视频而言较高,对有的视频而言较低。下面以编码参数为码率为例进行说明。
假设,视频1(例如为英雄联盟的视频)和视频2(例如为小猪佩奇的视频)都是基于码率A进行编码的。可能出现以下情况:码率A相对于视频1而言较低,即基于码率A对视频1进行编码后,可以得到编码视频文件,对该编码视频文件解码后得到的视频不清晰;码率A相对于视频2而言较高,基于码率A对视频2进行编码得到编码视频文件A,基于低于码率A的码率B对视频2进行编码得到的编码视频文件B,编码视频文件A对应的解码后的视频的清晰度与编码视频文件B对应的解码后的视频的清晰度相同。
示例性的,视频的清晰度属于编码质量信息的一种。
可以理解的是,在编码质量信息相同的情况下,码率越低编码视频文件的数据量越低,码率越高编码视频文件的数据量越大,例如,编码视频文件B由于采用了较高的码率A进行编码,相比采用较低的码率B进行编码的编码视频文件A而言,在传输过程中浪费了较多的带宽资源。
综上,如何能够自适应的为每一个视频确定相应的编码参数,是本领域技术人员棘手的技术问题。
下面对本公开实施例涉及的实施环境进行介绍。
图1是根据一示例性实施例示出的一种实施环境的架构图,该实施环境包括:至少一个客户端11以及至少一个服务器12。
示例性的,客户端11可以为网页版客户端或应用程序客户端。
示例性的,客户端11可以运行于电子设备中,示例性的,电子设备可以为任何一种可与用户通过键盘、触摸板、触摸屏、遥控器、语音交互或手写设备等一种或多种方式进行人机交互的电子产品,例如,手机、平板电脑、掌上电脑、个人计算机、可穿戴设备、智能电视等。
图1仅仅是一种示例,图1示出了3个运行有客户端11的电子设备,实际应用中电子设备的数量可以按照实际需求设定,本公开实施例不对电子设备的数目进行限定。
服务器12可以是一台服务器,也可以是由多台服务器组成的服务器集群,或者,是一个云计算服务中心。服务器12可以包括处理器、存储器以及网络接口等。
示例性的,客户端11与服务器12可以通过无线网络建立连接并通信。不同客户端11之间可以通过无线网络建立连接并通信。不同服务器12之间可以通过无线网络建立连接并通信。
示例性的,客户端11获取视频后,可以对视频进行编码,将编码后的编码视频文件发送至服务器12或其他客户端11。本公开实施例提供的视频编码方法可以应用于客户端11。
示例性的,若客户端11或其他服务器需要从服务器12获得视频,服务器12可以对视频进行编码,将编码后的编码视频文件发送至客户端11或其他服务器。本公开实施例提供的视频编码方法可以应用于服务器12。
下面结合附图对本公开实施例提供的视频编码方法进行说明。
图2是根据一示例性实施例示出的一种视频编码方法的流程图,如图2所示,视频编码方法用于图1所示的客户端11或服务器12中,该方法在实施过程中包括以下步骤S11至步骤S13。
在步骤S11中,确定待编码的视频的复杂度信息。
所述复杂度信息包括:表征所述视频包含的至少一个视频图像集合对应的帧间复杂度的第一信息,以及,表征所述视频包含的至少一帧视频图像对应的帧内复杂度的第二信息;一个所述视频图像集合包括时间相邻的至少两帧视频图像,一个所述视频图像集合对应的帧间复杂度用于表征所述时间相邻的至少两帧视频图像之间的差别程度;一帧所述视频图像的帧内复杂度用于表征所述视频图像自身的纹理复杂程度。
在步骤S12中,将所述复杂度信息输入至预先训练的编码参数预测模型,通过所述编码参数预测模型获得第一预测编码参数。
其中,所述编码参数预测模型是通过多个样本视频分别对应的复杂度信息以及多个所述样本视频分别对应的标定编码参数训练生成的。
一个样本视频对应的复杂度信息包括表征所述样本视频包含的至少一个视频图像集合对应的帧间复杂度的第一信息,以及,表征所述样本视频包含的至少一帧视频图像对应的帧内复杂度的第二信息。
示例性的,第一预测编码参数为码率或CRF。
在步骤S13中,基于所述第一预测编码参数对所述视频进行编码。
示例性的,步骤S13在基于第一预测编码参数对视频进行编码后,可以得到编码视频文件,示例性的,还包括传输所述编码视频文件。
下面举例对视频图像集合进行说明。
假设视频包括10帧视频图像,10帧视频图像按照位于视频的时间从早到晚依次为:视频图像1、视频图像2、视频图像3、视频图像4、视频图像5、视频图像6、视频图像7、视频图像8、视频图像9以及视频图像10。
示例性的,视频图像i与视频图像i+1为时间相邻的两帧视频图像,其中,i的取值依次为1、2、3、4、5、6、7、8、9。视频图像k、视频图像k+1、视频图像k+2为时间相邻的三帧视频图像,其中,k的取值依次为1、2、3、4、5、6、7、8。视频图像m、视频图像m+1、视频图像m+2、视频图像m+3为时间相邻的四帧视频图像,其中,m的取值依次为1、2、3、4、5、6、7。后续依次类推,这里不再赘述。
下面对获得视频图像集合对应的帧间复杂度的过程进行说明。
示例性的,可以对视频图像集合包括的时间相邻的至少两帧视频图像进行帧间编码,以得到该视频图像集合对应的帧间复杂度。
示例性的,帧间编码可以为模拟编码的lookahead的SATD(Sum of AbsoluteTransformed Difference,图像序列中对应像素差的绝对值),或,图像序列中对应像素差的平方和(SSD,Sum of Squared Differences),或,图像的相关性(NCC,,NormalizedCross Correlation)中任一种。
示例性的,帧间编码所利用的是视频的时间冗余。在视频中,每一帧视频图像所包含的物体对象与其前一帧视频图像和/或后一帧视频图像之间存在运动关系,例如,运动矢量(MV)信息,这种物体对象的运动关系即构成视频图像与视频图像之间的帧间复杂度。
示例性的,若编码参数越大,基于该编码参数对视频进行编码得到的编码视频文件的编码质量信息越高,那么,帧间复杂度越大,为了达到相同编码质量信息所需编码参数就越高。
示例性的,若编码参数越小,基于该编码参数对视频进行编码得到的编码视频文件的编码质量信息越高,那么,帧间复杂度越大,为了达到相同编码质量信息所需编码参数就越小。
示例性的,编码质量信息是指解码编码视频文件得到的解码视频相对于原视频的视频还原程度。编码质量信息越大,解码视频相对于原视频的视频还原程度越大;编码质量信息越小,解码视频相对于原视频的视频还原程度越小。
下面对获得视频图像对应的帧内复杂度的过程进行说明。
示例性的,可以对视频图像进行帧内编码,以得到视频图像对应的帧内复杂度。
示例性的,若编码参数越大,基于该编码参数对视频进行编码得到的编码视频文件的编码质量信息越高,那么,帧内复杂度越大,为了达到相同编码质量信息所需编码参数就越高。
示例性的,若编码参数越小,基于该编码参数对视频进行编码得到的编码视频文件的编码质量信息越高,那么,帧内复杂度越大,为了达到相同编码质量信息所需编码参数就越低。
下面对第一信息和第二信息进行说明。
示例性的,所述第一信息包括:所述至少一个视频图像集合对应的帧间复杂度中最大帧间复杂度;所述至少一个视频图像集合对应的帧间复杂度中最小帧间复杂度;以及,所述至少一个视频图像集合对应的帧间复杂度的平均帧间复杂度中至少一个。
示例性的,第一信息包括:至少一个所述视频图像集合对应的帧间复杂度。
示例性的,所述第二信息包括:所述至少一帧关键帧对应的帧内复杂度的平均帧内复杂度;所述至少一帧关键帧对应的帧内复杂度的最大帧内复杂度;以及,所述至少一帧关键帧对应的帧内复杂度的最小帧内复杂度中至少一个。
示例性的,第二信息包括:至少一帧视频图像分别对应的帧内复杂度。
示例性的,所述复杂度信息还包括:所述视频的帧率,以及,所述视频的分辨率中的至少一个。
下面对视频的帧率和分辨率的获取过程进行说明。
示例性的,步骤S11中的待编码的视频可以是运行视频编码方法的设备自己采集得到的视频,或者,接收其他设备发送过来的视频。
可以理解的是,步骤S11中的待编码的视频是运行视频编码方法的设备自己采集得到的,那么,在运行视频编码方法的设备采集并存储视频的过程中,已经自动进行了编码,视频的帧率和分辨率可以是基于编码后的编码视频文件得到的。
若步骤S11中的待编码的视频是其他设备发送过来的视频,那么,其他设备在发送视频之前已经进行编码,运行视频编码方法的设备接收到的是该视频对应的编码视频文件,可以基于编码视频文件得到该视频的分辨率和帧率。
示例性的,需要对编码视频文件进行解码,获取解码后的视频的复杂度信息。
示例性的,本公开实施例中,在获得待编码的视频的复杂度信息的过程中,需要获得视频中至少一个视频图像集合对应的帧间复杂度,以及,至少一个视频图像的帧内复杂度,无需对视频整体再次进行编码,与需要对视频整体再次进行编码以得到视频的特征信息相比,更加快速,即加快了视频编码的速度。
尤其是对于视频传输实时性要求较高的应用场景,例如,直播应用场景,主播在上传视频的过程中,若视频编码速度较慢,可能会造成直播延时。本公开实施例中通过对视频中部分视频图像进行帧间编码和帧内编码的方式得到复杂度信息,而不是对视频整体进行编码的方式得到复杂度信息,从而加快了视频编码的速度,保证了视频传输的实时性。
示例性的,本公开实施例中由于仅对视频的部分视频图像进行编码就可以得到复杂度信息,与对视频整体再次进行编码以得到视频的特征信息相比,节约了计算资源,本公开实施例提供的视频编码方法可以应用于计算资源有限的电子设备,例如智能手机。
示例性的,预先训练的编码参数预测模型是通过多个样本视频分别对应的复杂度信息以及多个所述样本视频分别对应的标定编码参数训练生成的。
示例性的,可以预先设置编码质量信息,对于不同视频进行编码后,得到的编码视频文件对应的编码质量信息不低于预先设置的编码质量信息。示例性的,一个样本视频对应的标定编码参数是指在达到预先设置的编码质量信息的前提下,使得编码后的编码视频文件占用的数据量最小的编码参数。
仍以视频2为例,使用码率A和码率B对视频2进行编码,得到的编码视频文件对应的编码质量信息均不低于预先设置编码质量信息,但是由于使用码率B对视频2进行编码后的编码视频文件占用的数据量最小,所以码率B为标定编码参数。
示例性的,编码质量信息可以为由VMAF(Visual Multimethod AssessmentFusion,视频质量多方法评价融合)方法得到。
本公开实施例提供的视频编码方法中,首先确定待编码的视频的复杂度信息,将复杂度信息输入至预先训练的编码参数预测模型,由于编码参数预测模型是基于多个样本图像分别对应的复杂度信息以及多个所述样本视频分别对应的标定编码参数训练生成的,一个样本图像的复杂度信息包括表征所述样本视频包含的至少一个视频图像集合对应的帧间复杂度的第一信息以及表征所述样本视频包含的至少一帧视频图像对应的帧内复杂度的第二信息,所以编码参数预测模型具有输出满足该视频的帧间复杂度和帧内复杂度的第一预测编码参数的能力,例如,若编码参数越大,基于该编码参数对视频进行编码得到的编码视频文件的编码质量信息越高,那么,帧内复杂度越大,编码参数越高。若编码参数越小,基于该编码参数对视频进行编码得到的编码视频文件的编码质量信息越高,那么,帧内复杂度越大,编码参数越低。帧间复杂度同理。不会出现相关技术中若对不同视频采用相同的编码参数对视频进行编码,会出现编码参数对有的视频而言较高,对有的视频而言较低的情况。
在一可选实现方式中,步骤S11的实现方式有多种,本公开实施例提供但不限于以下两种。
第一种步骤S11的实现方式包括以下步骤A11至步骤A14。
在步骤A11中,从视频中确定至少一个视频图像集合,一个所述视频图像集合包括任意时间相邻的至少两帧视频图像。
在步骤A12中,获取表征至少一个视频图像集合对应的帧间复杂度的第一信息。
在步骤A13中,从视频中确定至少一帧视频图像。
在步骤A14中,获取表征至少一帧视频图像对应的帧内复杂度的第二信息。
示例性的,不同视频图像集合包含的时间相邻的至少两帧视图像不完全相同,仍以视频包括10帧视频图像,10帧视频图像按照位于视频的时间从早到晚依次为:视频图像1、视频图像2、视频图像3、视频图像4、视频图像5、视频图像6、视频图像7、视频图像8、视频图像9以及视频图像10为例进行说明。
假设至少一个视频图像集合包括视频图像集合1以及视频图像集合2,其中,视频图像集合1包括:视频图像1、视频图像2、视频图像3;视频图像集合2包括:视频图像2、视频图像3、视频图像4;视频图像集合1和视频图像集合2包含的视频图像不完全相同。
示例性的,不同视频图像集合包含的时间相邻的至少两帧视图像完全不同,仍以上述为例,假设至少一个视频图像集合包括视频图像集合3以及视频图像集合4;其中,视频图像集合3包括:视频图像3、视频图像4、视频图像5,视频图像集合4包括:视频图像6、视频图像7、视频图像8。视频图像集合3与视频图像集合4包含的视频图像完全不同。
示例性的,上述“至少一个视频图像集合”仅为视频包含的部分视频图像。
示例性的,从视频中确定的视频图像可以为视频中任一帧视频图像。
可以理解的是,一个视频包含的关键帧的帧内复杂度能够反映出视频整体的帧内复杂度,一个视频中包含关键帧的视频图像集合对应的帧间复杂度,可以反映出视频整体的帧间复杂度。基于此,提供第二种实现方式。
第二种步骤S11的实现方式包括以下步骤B11至步骤B14。
在步骤B11中,获取所述视频包含的至少一帧关键帧。
示例性的,本公开实施例提及的“关键帧”是指I帧,在编码时关键帧的画面完整保留;解码时只需要关键帧本帧数据就可以完成解码,无需基于其他帧视频图像进行解码。
在步骤B12中,基于所述至少一帧关键帧,确定至少一个视频图像集合。
示例性的,一个所述视频图像集合包括一帧所述关键帧以及所述关键帧下一帧视频图像。例如,关键帧为视频图像i,一个视频图像集合包括视频图像i与视频图像i+1。
示例性的,一个所述视频图像集合包括一帧所述关键帧以及所述关键帧前一帧视频图像。例如,关键帧为视频图像i+1,一个视频图像集合包括视频图像i与视频图像i+1。
示例性的,一个所述视频图像集合包括一帧所述关键帧、所述关键帧的下一帧视频图像以及所述关键帧的上一帧视频图像,例如,关键帧为视频图像k+1,一个视频图像集合包括视频图像k、视频图像k+1、视频图像k+2。
在步骤B13中,获取表征所述至少一组视频图像集合对应的帧间复杂度的第一信息。
在步骤B14中,获取表征所述至少一帧关键帧分别对应的帧内复杂度的第二信息。
对于步骤B13和步骤B14的说明,可以参见上述说明,这里不再赘述。
下面说明预先训练的编码参数预测模型的训练过程,该过程在实时过程中包括以下步骤C11至步骤C14。
在步骤C11中,获取多个所述样本视频对应的复杂度信息。
其中,一个样本视频对应的复杂度信息包括:表征所述样本视频包含的至少一个视频图像集合对应的帧间复杂度的第一信息,以及,表征所述样本视频包含的至少一帧视频图像对应的帧内复杂度的第二信息。
其中,针对样本视频对应的复杂度信息的说明可以参见针对待编码的视频的复杂度信息的说明,这里不再赘述。
在步骤C12中,获取多个所述样本视频对应的标定编码参数。
示例性的,可以基于样本视频对应的复杂度信息,计算得到标定编码参数。
在步骤C13中,针对每一所述样本视频,将所述样本视频对应的复杂度信息作为机器学习模型的输入,将所述机器学习模型输出的第二预测编码参数与所述样本视频的标定编码参数进行比较,得到损失函数,以得到多个所述样本视频分别对应的损失函数。
示例性的,机器学习模型可以为神经网络模型,例如,深度神经网络(DNN,DeepNeural Networks)模型;示例性的,机器学习模型可以为线性回归模型或随机森林模型。
在步骤C14中,基于多个所述样本视频分别对应的损失函数训练所述机器学习模型以得到所述编码参数预测模型。
为了本领域技术人员更加理解步骤C11至步骤C14所示方法,下面结合具体例子进行说明。图3是根据一示例性实施例示出的编码参数预测模型的训练过程的示意图。
图3中以一个样本图像为例进行说明。图3中在机器学习模型31中输入样本图像的复杂度信息,机器学习模型31输出第二预测编码参数;基于第二预测编码参数与该样本图像的标定编码参数进行比较,以得到损失函数,利用损失函数更新机器学习模型中的参数。
示例性的,一个样本视频对应的复杂度信息可以为<avgInterComplexity,avgIntraComplexity,minInterComplexity,maxInterComplexity,framerate,resolution>六元组,其中,avgInterComplexity为样本视频包含的至少一个视频图像集合对应的帧间复杂度的平均帧间复杂度;minInterComplexity为样本视频包含的至少一个视频图像集合对应的帧间复杂度中最小帧间复杂度;maxInterComplexity为样本视频包含的至少一个视频图像集合对应的帧间复杂度中最大帧间复杂度;avgIntraComplexity为样本视频包含的至少一帧视频图像分别对应的帧内复杂度的平均帧内复杂度;framerate为样本视频对应的帧率,resolution为样本视频对应的分辨率。
示例性的,一个样本视频对应的复杂度信息还可以为<avgInterComplexity,avgIntraComplexity,minInterComplexity,maxInterComplexity minIntraComplexity,maxIntraComplexity,framerate,resolution>八元组。
其中,minIntraComplexity是指样本视频包含的至少一帧视频图像对应的帧内复杂度的最小帧内复杂度;maxIntraComplexity是指样本视频包含的至少一帧视频图像对应的帧内复杂度的最大帧内复杂度。
下面以第二种步骤S11的实现方式为例对样本视频对应的复杂度信息<avgInterComplexity,avgIntraComplexity,minInterComplexity,maxInterComplexity,framerate,resolution>进行说明。如图4所示,图4是根据一示例性实施例示出的样本视频的复杂度信息计算过程的示意图。
以一个视频图像集合包括一个关键帧以及关键帧的下一帧视频图像为例进行说明。假设样本视频包括n个关键帧,分别为:Keyframe0、Keyframe1、Keyframe2、Keyframe3,…,Keyframen,那么,样本视频包括n个视频图像集合。
如图4所示,关键帧Keyframe0的下一帧视频图像为Keyframe0+1,视频图像集合0包括关键帧Keyframe0以及Keyframe0+1;关键帧Keyframe1的下一帧视频图像为Keyframe1+1,视频图像集合1包括关键帧Keyframe1以及Keyframe1+1;关键帧Keyframe2的下一帧视频图像为Keyframe2+1,视频图像集合2包括关键帧Keyframe2以及Keyframe2+1;关键帧Keyframe3的下一帧视频图像为Keyframe3+1,视频图像集合3包括关键帧Keyframe3以及Keyframe3+1;…,关键帧Keyframen的下一帧视频图像为Keyframen+1,视频图像集合n包括关键帧Keyframen以及Keyframen+1。
如图4所示,视频图像集合0对应的帧间复杂度用InterComplexity0表示,关键帧Keyframe0的帧内复杂度用IntraComplexity0表示;视频图像集合1对应的帧间复杂度用InterComplexity1表示,关键帧Keyframe1的帧内复杂度用IntraComplexity1表示,…,视频图像集合n对应的帧间复杂度用InterComplexityn表示,关键帧Keyframen的帧内复杂度用IntraComplexityn表示。
那么,avgInterComplexity=(InterComplexity0+InterComplexity1+...+InterComplexityn)/(n+1);minInterComplexity=min(InterComplexity0,InterComplexity1,...,InterComplexityn);maxInterComplexity=max(InterComplexity0,InterComplexity1,...,InterComplexityn);avgIntraComplexity=(IntraComplexity0+IntraComplexity1+...+IntraComplexityn)/(n+1)。
示例性的,minIntraComplexity=min(IntraComplexity0,IntraComplexity1,...,IntraComplexityn);maxIntraComplexity=max(IntraComplexity0,IntraComplexity1,...,IntraComplexityn)。
示例性的,可以预先存储有多个样本视频,在存储样本视频时已经对样本视频进行了编码,因此,可以基于已经编码的样本视频得到样本视频的帧率和分辨率。可以基于已经编码的样本视频得到各关键帧。
示例性的,样本视频的帧率和分辨率可以是预先设置的。
示例性的,样本视频的复杂度信息不包括帧率和/或分辨率。
在一可选实现方式中,步骤C12中确定一个样本视频的标定编码参数的实现方式有多种,本公开实施例提供但不限于以下两种。
第一种实现方式包括以下步骤D11至步骤D16。
在步骤D11中,确定M个编码参数,M为大于或等于2的正整数。
示例性的,M个编码参数为等差数列,即将M个编码参数由大至小或由小至大排序后,各相邻两个编码参数的差值均相等。
为了本领域技术人员更加理解步骤D11至步骤D16所示方法,下面结合图5进行说明,图5是根据一示例性实施例示出的样本视频的标定编码参数确定方式的示意图。
示例性的,如图5所示,假设M个编码参数分别为:编码参数11、编码参数12、编码参数13,…,编码参数1M。
在步骤D12中,基于M个所述编码参数对所述样本视频分别进行编码,以得到编码后的M个编码视频文件。
示例性的,如图5所示,样本视频在YUV颜色空间中分别基于编码参数11、编码参数12、编码参数13,…,编码参数1M进行编码,以得到编码视频文件11、编码视频文件12、编码视频文件13,…,编码视频文件1M。
在步骤D13中,针对每一所述编码视频文件,确定表征解码视频相对于所述样本视频的还原程度的编码质量信息,所述解码视频是通过解码所述编码视频文件得到的,以得到M个所述编码视频分别对应的所述编码质量信息。
示例性的,针对每一编码视频文件,在YUV颜色空间中进行解码,以得到解码视频。
如图5所示,在YUV颜色空间中,对编码视频文件11进行解码得到解码视频11;对编码视频文件12进行解码得到解码视频12;对编码视频文件13进行解码得到解码视频13;…,对编码视频文件1M进行解码得到解码视频1M。
示例性的,可以计算解码视频与样本视频在YUV颜色空间中的VMAF,以得到编码质量信息。
如图5所示,计算解码视频11与样本视频的VMAF,得到VMAF11;计算解码视频12与样本视频的VMAF,得到VMAF12;计算解码视频13与样本视频的VMAF,得到VMAF13;…,计算解码视频1M与样本视频的VMAF,得到VMAF1M。
示例性的,可以计算每一解码视频与样本视频的PSNR(Peak Signal to NoiseRatio,峰值信噪)值,以得到表征解码视频相对于所述样本视频的还原程度的编码质量信息。
可以理解的是,PSNR的值无法和人眼看到的视觉品质完全一致,有可能较高的PSNR值对应的视频看起来反而比较低的PSNR值对应的视频视觉品质差。这是因为人眼的视觉对于误差的敏感度并不是绝对的,其感知结果会受到许多因素的影响而产生变化,例如,人眼对空间频率较低的对比差异敏感度较高,人眼对亮度对比差异的敏感度较色度高,人眼对一个区域的感知结果会受到其周围邻近区域的影响。
而VMAF越大,人眼看到的视频的视觉品质越好,即VMAF更符合人眼视觉的视频评价标准,所以可选的,可以计算解码视频与样本视频在YUV颜色空间中的VMAF,以得到编码质量信息。
在步骤D14中,将M个所述编码视频文件分别对应的所述编码质量信息按照从小到大降序排序,得到排序后的M个所述编码质量信息。
如图5所示,假设将VMAF11、VMAF12、VMAF13,…,VMAF1M按照从小至大降序排序,得到排序后M个VMAF,假设,排序后的M个编码质量信息依次为:VMAF11、VMAF12、VMAF13,…,VMAF1M。
示例性的,编码参数可以为码率,在编码参数为码率时,编码参数与编码质量信息的关系如图6所示,图6是根据一示例性实施例示出的码率与编码指令信息的示意图。
如图6所示,码率越大,编码质量信息越大,但是,随着码率的增大,编码质量信息并不是线性增大,编码质量信息增大的趋势变缓。
示例性的,本公开实施例中,将M个所述编码视频文件分别对应的所述编码质量信息按照从小到大降序排序,即将M个编码质量信息按照其对应的编码参数(即码率)进行升序排序。
示例性的,编码参数可以为CRF,在编码参数为CRF时,编码参数与编码质量信息的关系如图7所示,图7是根据一示例性实施例示出的CRF与编码指令信息的示意图。
如图7所示,CRF越大,编码质量信息越小,但是,随着CRF的增大,编码质量信息并不是线性减小,编码质量信息减小趋势变大。
示例性的,本公开实施例中,将M个所述编码视频文件分别对应的所述编码质量信息按照从小到大降序排序,即将M个编码质量信息按照其对应的编码参数(即CRF)进行降序排序。
在步骤D15中,依次计算排序后的M个所述编码质量信息中位置相邻的两个所述编码质量信息的差值的绝对值,直至确定出第一个小于预设阈值的目标差值的绝对值。
示例性的,预设阈值是基于以下方式确定的。
若两个编码质量信息的差值的绝对值大于或等于预设阈值,说明用户观看两个编码质量信息对应的解码视频时,能够很明显的观看出两个解码视频的视觉品质的差距。若两个编码质量信息的差值的绝对值小于预设阈值,说明用户观看两个编码质量信息对应的解码视频时,不能够观看出两个视频的视觉品质的差距。
示例性的,视频的视觉品质可以为:视频图像的清晰度(与分辨率、码率和CRF有关),和/或,视频的连贯性(与帧率有关)。
如图5所示,计算Vdiff_21=VMAF12-VMAF11,或者,Vdiff_21=|VMAF11-VMAF12|;计算Vdiff_32=VMAF13-VMAF12,或者,VVdiff_32=|VMAF12-VMAF13|,…,计算Vdiff_M(M-1)=VMAF1M-VMAF1(M-1),或者,Vdiff_M(M-1)=|VMAF1(M-1)-VMAF1M|,得到差值向量[Vdiff_21,Vdiff_32,…,Vdiff_M(M-1)]。
从差值向量中找到第一个小于预设阈值T的数,例如,Vdiff_21>T,Vdiff_32<T,则标定编码参数为计算得到Vdiff_32的VMAF13与VMAF12对应的编码参数13和编码参数12中的目标编码参数。
下面以图6为例对步骤D15进行说明。
由于M个编码参数组成等差数列,所以各位置相邻的两个编码参数的差值相等。
假设M=6,假设编码参数为码率,则6个编码参数分别为:码率11、码率12、码率13、码率14、码率15以及码率16。假设,码率11和码率12分别对应的编码质量信息的差值的绝对值为Vdiff_21;码率12和码率13分别对应的编码质量信息的差值的绝对值为Vdiff_32;码率13和码率14分别对应的编码质量信息的差值的绝对值为Vdiff_43;码率14和码率15分别对应的编码质量信息的差值的绝对值为Vdiff_54;码率15和码率16分别对应的编码质量信息的差值的绝对值为Vdiff_65。
从图6中可以看出,Vdiff_21>Vdiff_32>Vdiff_43>Vdiff_54>Vdiff_65。
若Vdiff_21>T,说明用户在观看解码视频11(与码率11相对应)与解码视频12(与码率12相对应)时,能够很明显的观看出两个视频的视觉品质的差距。所以采用码率12比采用码率11好。
若Vdiff_32≥T,说用户在观看解码视频12(与码率12相对应)与解码视频13(与码率13相对应)时,能够很明显的观看出两个视频的视觉品质的差距。所以采用码率13比采用码率12好。
若Vdiff_43<T,说用户在观看解码视频13(与码率13相对应)与解码视频14(与码率14相对应)时,不能够观看出两个视频的视觉品质的差距。由于采用码率13得到的编码视频文件占用的数据量小于采用码率14得到的编码视频文件占用的数据量,因此,采用码率13比采用码率14好。
可以理解的是,可能用户在观看解码视频16(与码率16相对应)与解码视频13(与码率13相对应)时,能够很明显的观看出两个视频的视觉品质的差距。但是由于采用码率16得到的编码视频文件占用的数据量远远大于采用码率13得到的编码视频文件占用的数据量,而且将码率由码率13提升至码率16,编码质量信息增大的不是很多,即对于用户而言,视频的视觉品质虽然提升了,但是这种视觉品质的提升是很小幅度提升,但是由于大大增加了数据量,所以导致传输视频对应的编码视频文件的时间增长。
这种以牺牲大量带宽资源,实现编码质量信息小幅度提升的方式,可能会导致以下问题:编码视频文件较大,导致编码视频文件传输时间较长,造成带宽资源的浪费,还可能使得用户放弃传输编码视频文件,对于视频分发平台而言,其接收到的视频的数量会大幅度较少。
综上,本公开实施例即为在编码视频文件的数据量大小与编码质量信息之间做权衡。示例性的,将码率13作为样本视频的标定编码参数。
示例性的,可以将码率13、码率14、码率15、码率16中任一码率作为标定编码参数。
CRF同理,这里不再赘述。
在步骤D16中,将计算得到所述目标差值的两个所述编码质量信息分别对应的编码参数中的目标编码参数确定为标定编码参数。
示例性的,若编码参数为码率,则目标编码参数为计算得到所述目标差值的两个所述编码质量信息分别对应的编码参数中较小编码参数;若编码参数为CRF,目标编码参数为计算得到所述目标差值的两个所述编码质量信息分别对应的编码参数中较大的编码参数。
第二种实现方式包括以下步骤E11至步骤E16。
在步骤E11中,确定L个编码参数集合,一个编码参数集合包括一个分辨率和一个码率,L为大于或等于2的正整数。
在步骤E12中,基于L个编码参数集合对所述样本视频分别进行编码,以得到编码后的L个编码视频文件。
在步骤E13中,针对每一所述编码视频文件,确定表征解码视频相对于所述样本视频的还原程度的编码质量信息,所述解码视频是通过解码所述编码视频文件得到的,以得到L个所述编码视频文件分别对应的所述编码质量信息。
针对步骤E13的说明可以参见针对步骤D13的说明,这里不再赘述。
在步骤E14中,基于L个编码质量信息以及L个编码参数集合,绘制R-D曲线。
在步骤E15中,基于R-D曲线,确定凸包曲线,对于每个分辨率,该分辨率对应的曲线中最接近凸包曲线的点对应的码率与该分辨率即为标定编码参数。
下面以编码质量信息为PSNR为例进行说明。
图8是根据一示例性实施例示出的R-D曲线的示意图。假设L=15,其中,这15个编码参数集合中有5个编码参数集合中的分辨率均为720*480,有5个编码参数集合中的分辨率均为1280*720,有5个编码参数集合中分辨率均为1920*1080。
基于编码参数集合中的分辨率均为720*480的5个编码参数集合与相应的PSNR绘制分辨率720*480对应的R-D曲线,如图8中细实线所示;基于编码参数集合中的分辨率均为1280*720的5个编码参数集合与相应的PSNR绘制分辨率1280*720对应的R-D曲线,如图8中点划线所示;基于编码参数集合中的分辨率均为1920*1080的5个编码参数集合与相应的PSNR绘制分辨率1920*1080对应的R-D曲线,如图8中虚线所示。
基3个分辨率分别对应的R-D曲线确定凸包曲线,如图8中所示的半透明的粗实线为凸包曲线。
其中,对于每个分辨率对应的曲线而言,最接近凸包的点即为编码效率最好的点,例如,若确定分辨率为720*480,那么,标定编码参数包括:细实线上A点对应的码率和720*480。
若确定分辨率为1280*720,那么,标定编码参数可以为:点划线上B点对应的码率和1280*720,或,标定编码参数可以为:点划线上C点对应的码率和1280*720。示例性的,标定编码参数具体是哪个可以基于步骤D11至步骤D16确定,其中,步骤D11至步骤D16中提及的M个编码参数为点划线上C点对应的码率以及点划线上B点对应的码率。示例性的,标定编码参数可以为任一个。
若确定分辨率为1920*1080,那么,标定编码参数可以为:虚线上点D对应的码率以及1920*1080,或者,标定编码参数可以为:虚线上点E对应的码率以及1920*1080,或者,标定编码参数可以为:虚线上点F对应的码率以及1920*1080。
示例性的,标定编码参数可以为上述三个任一个,或者,可以基于步骤D11至步骤D16确定,其中,步骤D11至步骤D16中提及的M个编码参数为虚线上点D对应的码率、虚线上点E对应的码率、虚线上点F对应的码率。
在一可选实现方式中,为了快速确定样本视频的标定编码参数,可以设定预设编码参数,其中,预设编码参数可以位于标定编码参数的附近。
示例性的,以所述预设编码参数为中心,每间隔预设值获取一个编码参数,以得到M个编码参数。
其中,M个编码参数中有的大于预设编码参数,有的小于预设编码参数,有的等于预设编码参数。
在一可选实现方式中,若编码参数与编码质量信息呈正相关,可以预先设置编码参数的最大值。
示例性的,以所述最大值为起点,每间隔预设值获取一个编码参数,以得到M个编码参数,其中,M个编码参数均小于或等于所述最大值。
在一可选实现方式中,若编码参数与编码质量信息呈负相关,可以预先设置编码参数的最小值。
示例性的,以所述最大值为起点,每间隔预设值获取一个编码参数,以得到M个编码参数,其中,M个编码参数均大于或等于所述最小值。
示例性的,不同视频对应的预设值可能不同,可能相同,不同视频对应的预设编码参数可能相同可能不同。
示例性的,不同视频对应的M个编码参数可能相同。示例性的。不同视频对应的M个编码参数不完全相同。示例性的,不同视频对应的M个编码参数可能完全不同。
上述本申请公开的实施例中详细描述了方法,对于本申请的方法可采用多种形式的装置实现,因此本申请还公开了多种装置,下面给出具体的实施例进行详细说明。
图9是根据一示例性实施例示出的一种视频编码装置的框图。参照图9,该装置包括确定模块91,输入模块92和编码模块93。
确定模块91,被配置为确定待编码的视频的复杂度信息,所述复杂度信息包括:表征所述视频包含的至少一个视频图像集合对应的帧间复杂度的第一信息,以及,表征所述视频包含的至少一帧视频图像对应的帧内复杂度的第二信息;一个所述视频图像集合包括时间相邻的至少两帧视频图像,一个所述视频图像集合对应的帧间复杂度用于表征所述时间相邻的至少两帧视频图像之间的差别程度;一帧所述视频图像的帧内复杂度用于表征所述视频图像自身的纹理复杂程度。输入模块92,被配置为将所述确定模块确定的复杂度信息输入至预先训练的编码参数预测模型,通过所述编码参数预测模型获得第一预测编码参数;所述编码参数预测模型是通过多个样本视频分别对应的复杂度信息以及多个所述样本视频分别对应的标定编码参数训练生成的。编码模块93,被配置为基于所述输入模块得到的所述第一预测编码参数对所述视频进行编码。
在一可选实现方式中,确定模块具体被配置为:第一获取单元,被配置为获取所述视频包含的至少一帧关键帧;第一确定单元,被配置为基于所述第一获取单元获得的所述至少一帧关键帧,确定至少一个视频图像集合,一个所述视频图像集合包括一帧所述关键帧以及所述关键帧下一帧视频图像,或,一个所述视频图像集合包括一帧所述关键帧、所述关键帧的下一帧视频图像以及所述关键帧的上一帧视频图像,或,一个所述视频图像集合包括一帧所述关键帧以及所述关键帧的上一帧视频图像;第二获取单元,被配置为获取表征所述第一确定单元确定的所述至少一组视频图像集合对应的帧间复杂度的第一信息;第三获取单元,被配置为获取表征所述第一确定单元确定的所述至少一帧关键帧分别对应的帧内复杂度的第二信息。
在一可选实现方式中,所述第一信息包括:所述至少一个视频图像集合对应的帧间复杂度中最大帧间复杂度;所述至少一个视频图像集合对应的帧间复杂度中最小帧间复杂度;以及,所述至少一个视频图像集合对应的帧间复杂度的平均帧间复杂度中至少一个;和/或,所述第二信息包括:所述至少一帧关键帧对应的帧内复杂度的平均帧内复杂度;所述至少一帧关键帧对应的帧内复杂度的最大帧内复杂度;以及,所述至少一帧关键帧对应的帧内复杂度的最小帧内复杂度中至少一个;和/或,所述复杂度信息还包括:所述视频的帧率,以及,所述视频的分辨率中的至少一个。
在一可选实现方式中,视频编码装置还包括:第一获取模块,被配置为获取多个所述样本视频对应的复杂度信息;第二获取模块,被配置为获取多个所述样本视频对应的标定编码参数;第三获取模块,被配置为针对每一所述样本视频,将所述第一获取模块获得的所述样本视频对应的复杂度信息作为机器学习模型的输入,将所述机器学习模型输出的第二预测编码参数与所述第二获取模块获得的所述样本视频的标定编码参数进行比较,得到损失函数,以得到多个所述样本视频分别对应的损失函数;训练模块,被配置为基于所述第三获取模块获得的多个所述样本视频分别对应的损失函数训练所述机器学习模型以得到所述编码参数预测模型。
在一可选实现方式中,针对每一所述样本图像,第二获取模块具体被配置为:第二确定单元,被配置为确定M个编码参数,所述M个编码参数组成等差数列,M为大于或等于2的正整数;编码单元,被配置为基于所述第二确定单元确定的M个所述编码参数对所述样本视频分别进行编码,以得到编码后的M个编码视频文件;第三确定单元,被配置为针对每一所述编码单元得到的所述编码视频文件,确定表征解码视频相对于所述样本视频的还原程度的编码质量信息,所述解码视频是通过解码所述编码视频文件得到的,以得到M个所述编码视频文件分别对应的所述编码质量信息;排序单元,被配置为将所述第三确定单元确定的M个所述编码视频文件分别对应的所述编码质量信息按照从小到大降序排序,得到排序后的M个所述编码质量信息;计算单元,被配置为依次计算排序后的M个所述编码质量信息中位置相邻的两个所述编码质量信息的差值的绝对值,直至确定出第一个小于预设阈值的目标差值的绝对值;第四确定单元,将计算得到所述目标差值的两个所述编码质量信息分别对应的编码参数中的目标编码参数确定为标定编码参数。
在一可选实现方式中,所述编码参数为码率,所述目标编码参数为计算得到所述目标差值的两个所述编码质量信息分别对应的编码参数中较小的码率;或,所述编码参数为固定码率系数,所述目标编码参数为计算得到所述目标差值的两个所述编码质量信息分别对应的编码参数中较大的固定码率系数。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图10是根据一示例性实施例示出的一种电子设备100的框图。
如图10所示,电子设备100包括但不限于输入单元1001、存储器1002、显示单元1003以及处理器1004等部件。本领域技术人员可以理解,图10中示出的结构只做实现方式的举例,并不构成对电子设备的限定,电子设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合图10对电子设备的各个构成部件进行具体的介绍:
示例性的,输入单元1001可用于接收用户输入的信息(例如采集的视频)或字符信息,以及产生与电子设备100的用户设置以及功能控制有关的键信号输入。可选的,输入单元1001可以包括触控面板10012以及其他输入设备10011。触控面板10012,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板10012上或在触控面板10012附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板10012可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器1004,并能接收处理器1004发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板10012。除了触控面板10012,输入单元1001还可以包括其他输入设备10011。具体地,其他输入设备10011可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
可选的,存储器1002可用于存储软件程序以及模块,处理器1004通过运行存储在存储器1002的软件程序以及模块,从而执行电子设备100的各种功能应用以及数据处理。存储器1002可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据电子设备100的使用所创建的数据(比如M个编码参数)等。此外,存储器1002可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
可选的,显示单元1003可用于显示由用户输入的信息或提供给用户的信息(例如显示主播的视频)以及电子设备100的各种菜单。显示单元1003可包括显示面板10031,可选的,可以采用LCD(Liquid Crystal Display,液晶显示器)、OLED(Organic Light-EmittingDiode,有机发光二极管)等形式来配置显示面板10031。进一步的,触控面板10012可覆盖显示面板10031,当触控面板10012检测到在其上或附近的触摸操作后,传送给处理器1004以确定触摸事件的类型,随后处理器1004根据触摸事件的类型在显示面板10031上提供相应的视觉输出。虽然在图10中,触控面板10012与显示面板10031是作为两个独立的部件来实现电子设备100的输入和输入功能,但是在某些实施例中,可以将触控面板10012与显示面板10031集成而实现电子设备100的输入和输出功能。
可选的,处理器1004是电子设备100的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器1002内的软件程序和/或模块,以及调用存储在存储器1002内的数据,执行电子设备100的各种功能和处理数据,从而对电子设备100进行整体监控。可选的,处理器1004可包括一个或多个处理单元;优选的,处理器1004可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器1004中。
电子设备100还包括给各个部件供电的电源1005(比如电池),优选的,电源可以通过电源管理系统与处理器1004逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
尽管未示出,电子设备100还可以包括摄像头、蓝牙模块、RF(Radio Frequency,射频)电路、传感器、音频电路、WiFi(wireless fidelity,无线保真)模块、传感器、网络单元、接口单元等等。
电子设备通过网络单元为用户提供了无线的宽带互联网访问,如访问服务器。
接口单元为外部装置与电子设备100连接的接口。例如,外部装置可以包括有线或无线头戴式耳机端口、外部电源(或电池充电器)端口、有线或无线数据端口、存储卡端口、用于连接具有识别模块的装置的端口、音频输入/输出(I/O)端口、视频I/O端口、耳机端口等等。接口单元可以用于接收来自外部装置的输入并且将接收到的输入传输到电子设备100内的一个或多个元件或者可以用于在电子设备100和外部装置之间传输数据。
在本发明实施例中,该电子设备100所包括处理器1004可能是一个中央处理器CPU,或者是特定集成电路ASIC(Application Specific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。
该电子设备100所包括处理器1004具有以下功能:确定待编码的视频的复杂度信息,所述复杂度信息包括:表征所述视频包含的至少一个视频图像集合对应的帧间复杂度的第一信息,以及,表征所述视频包含的至少一帧视频图像对应的帧内复杂度的第二信息;一个所述视频图像集合包括时间相邻的至少两帧视频图像,一个所述视频图像集合对应的帧间复杂度用于表征所述时间相邻的至少两帧视频图像之间的差别程度;一帧所述视频图像的帧内复杂度用于表征所述视频图像自身的纹理复杂程度;将所述复杂度信息输入至预先训练的编码参数预测模型,通过所述编码参数预测模型获得第一预测编码参数;所述编码参数预测模型是通过多个样本视频分别对应的复杂度信息以及多个所述样本视频分别对应的标定编码参数训练生成的;基于所述第一预测编码参数对所述视频进行编码。
示例性的,上述电子设备可以为任何一种可与用户通过键盘、触摸板、触摸屏、遥控器、语音交互或手写设备等一种或多种方式进行人机交互的电子产品,例如,手机、平板电脑、掌上电脑、个人计算机、可穿戴设备、智能电视等。
示例性的,上述电子设备可以为服务器。
在示例性实施例中,本公开实施例还提供了一种包括指令的存储介质,例如包括指令的存储器1002,上述指令可由电子设备100的处理器1004执行以完成上述方法。可选地,存储介质可以是非临时性计算机可读存储介质,例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
在示例性实施例中,本公开实施例还提供了一种包括一条或多条指令的计算机程序产品,该一条或多条指令可以由电子设备100的处理器1004执行已完成上述方法。
需要说明的是,上述存储介质中的指令或计算机程序产品中的一条或多条指令被处理器1004执行时实现上述方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

Claims (10)

1.一种编码参数预测模型的训练方法,其特征在于,包括:
获取多个样本视频对应的复杂度信息;
获取多个所述样本视频对应的标定编码参数;
针对每一所述样本视频,将所述样本视频对应的复杂度信息作为机器学习模型的输入,将所述机器学习模型输出的第二预测编码参数与所述样本视频的标定编码参数进行比较,得到损失函数,以得到多个所述样本视频分别对应的损失函数;
基于多个所述样本视频分别对应的损失函数训练所述机器学习模型以得到所述编码参数预测模型;
其中,针对每一所述样本视频,获取所述样本视频的标定编码参数步骤包括:
确定M个编码参数,所述M个编码参数组成等差数列,M为大于或等于2的正整数;
基于M个所述编码参数对所述样本视频分别进行编码,以得到编码后的M个编码视频文件;
针对每一所述编码视频文件,确定表征解码视频相对于所述样本视频的还原程度的编码质量信息,所述解码视频是通过解码所述编码视频文件得到的,以得到M个所述编码视频文件分别对应的所述编码质量信息;
将M个所述编码视频文件分别对应的所述编码质量信息按照从小到大降序排序,得到排序后的M个所述编码质量信息;
依次计算排序后的M个所述编码质量信息中位置相邻的两个所述编码质量信息的差值的绝对值,直至确定出第一个小于预设阈值的目标差值的绝对值;
将计算得到所述目标差值的两个所述编码质量信息分别对应的编码参数中的目标编码参数确定为标定编码参数;
其中,所述编码参数为码率,所述目标编码参数为计算得到所述目标差值的两个所述编码质量信息分别对应的编码参数中较小的码率;或,所述编码参数为固定码率系数,所述目标编码参数为计算得到所述目标差值的两个所述编码质量信息分别对应的编码参数中较大的固定码率系数。
2.一种视频编码方法,其特征在于,包括:
确定待编码的视频的复杂度信息,所述复杂度信息包括:表征所述视频包含的至少一个视频图像集合对应的帧间复杂度的第一信息,以及,表征所述视频包含的至少一帧视频图像对应的帧内复杂度的第二信息;一个所述视频图像集合包括时间相邻的至少两帧视频图像,一个所述视频图像集合对应的帧间复杂度用于表征所述时间相邻的至少两帧视频图像之间的差别程度;一帧所述视频图像的帧内复杂度用于表征所述视频图像自身的纹理复杂程度;
将所述复杂度信息输入至预先训练的编码参数预测模型,通过所述编码参数预测模型获得第一预测编码参数;所述编码参数预测模型是通过权利要求1所述的编码参数预测模型的训练方法训练得到的;
基于所述第一预测编码参数对所述视频进行编码。
3.根据权利要求2所述视频编码方法,其特征在于,所述确定待编码的视频的复杂度信息包括:
获取所述视频包含的至少一帧关键帧;
基于所述至少一帧关键帧,确定至少一个视频图像集合,一个所述视频图像集合包括一帧所述关键帧以及所述关键帧下一帧视频图像,或,一个所述视频图像集合包括一帧所述关键帧、所述关键帧的下一帧视频图像以及所述关键帧的上一帧视频图像,或,一个所述视频图像集合包括一帧所述关键帧以及所述关键帧的上一帧视频图像;
获取表征所述至少一组视频图像集合对应的帧间复杂度的第一信息;
获取表征所述至少一帧关键帧分别对应的帧内复杂度的第二信息。
4.根据权利要求3所述视频编码方法,其特征在于,所述第一信息包括:所述至少一个视频图像集合对应的帧间复杂度中最大帧间复杂度;所述至少一个视频图像集合对应的帧间复杂度中最小帧间复杂度;以及,所述至少一个视频图像集合对应的帧间复杂度的平均帧间复杂度中至少一个;和/或,
所述第二信息包括:所述至少一帧关键帧对应的帧内复杂度的平均帧内复杂度;所述至少一帧关键帧对应的帧内复杂度的最大帧内复杂度;以及,所述至少一帧关键帧对应的帧内复杂度的最小帧内复杂度中至少一个;和/或,
所述复杂度信息还包括:所述视频的帧率,以及,所述视频的分辨率中的至少一个。
5.一种编码参数预测模型的训练装置,其特征在于,包括:
第一获取模块,被配置为获取多个样本视频对应的复杂度信息;
第二获取模块,被配置为获取多个所述样本视频对应的标定编码参数;
第三获取模块,被配置为针对每一所述样本视频,将所述第一获取模块获得的所述样本视频对应的复杂度信息作为机器学习模型的输入,将所述机器学习模型输出的第二预测编码参数与所述第二获取模块获得的所述样本视频的标定编码参数进行比较,得到损失函数,以得到多个所述样本视频分别对应的损失函数;
训练模块,被配置为基于所述第三获取模块获得的多个所述样本视频分别对应的损失函数训练所述机器学习模型以得到所述编码参数预测模型;
其中,针对每一所述样本视频,所述第二获取模块具体被配置为:
第二确定单元,被配置为确定M个编码参数,所述M个编码参数组成等差数列,M为大于或等于2的正整数;
编码单元,被配置为基于所述第二确定单元确定的M个所述编码参数对所述样本视频分别进行编码,以得到编码后的M个编码视频文件;
第三确定单元,被配置为针对每一所述编码单元得到的所述编码视频文件,确定表征解码视频相对于所述样本视频的还原程度的编码质量信息,所述解码视频是通过解码所述编码视频文件得到的,以得到M个所述编码视频文件分别对应的所述编码质量信息;
排序单元,被配置为将所述第三确定单元确定的M个所述编码视频文件分别对应的所述编码质量信息按照从小到大降序排序,得到排序后的M个所述编码质量信息;
计算单元,被配置为依次计算排序后的M个所述编码质量信息中位置相邻的两个所述编码质量信息的差值的绝对值,直至确定出第一个小于预设阈值的目标差值的绝对值;
第四确定单元,将计算得到所述目标差值的两个所述编码质量信息分别对应的编码参数中的目标编码参数确定为标定编码参数;
其中,所述编码参数为码率,所述目标编码参数为计算得到所述目标差值的两个所述编码质量信息分别对应的编码参数中较小的码率;或,
所述编码参数为固定码率系数,所述目标编码参数为计算得到所述目标差值的两个所述编码质量信息分别对应的编码参数中较大的固定码率系数。
6.一种视频编码装置,其特征在于,包括:
确定模块,被配置为确定待编码的视频的复杂度信息,所述复杂度信息包括:表征所述视频包含的至少一个视频图像集合对应的帧间复杂度的第一信息,以及,表征所述视频包含的至少一帧视频图像对应的帧内复杂度的第二信息;一个所述视频图像集合包括时间相邻的至少两帧视频图像,一个所述视频图像集合对应的帧间复杂度用于表征所述时间相邻的至少两帧视频图像之间的差别程度;一帧所述视频图像的帧内复杂度用于表征所述视频图像自身的纹理复杂程度;
输入模块,被配置为将所述确定模块确定的复杂度信息输入至预先训练的编码参数预测模型,通过所述编码参数预测模型获得第一预测编码参数;所述编码参数预测模型是通过权利要求5所述的编码参数预测模型的训练装置训练得到的;
编码模块,被配置为基于所述输入模块得到的所述第一预测编码参数对所述视频进行编码。
7.根据权利要求6所述视频编码装置,其特征在于,所述确定模块具体被配置为:
第一获取单元,被配置为获取所述视频包含的至少一帧关键帧;
第一确定单元,被配置为基于所述第一获取单元获得的所述至少一帧关键帧,确定至少一个视频图像集合,一个所述视频图像集合包括一帧所述关键帧以及所述关键帧下一帧视频图像,或,一个所述视频图像集合包括一帧所述关键帧、所述关键帧的下一帧视频图像以及所述关键帧的上一帧视频图像,或,一个所述视频图像集合包括一帧所述关键帧以及所述关键帧的上一帧视频图像;
第二获取单元,被配置为获取表征所述第一确定单元确定的所述至少一组视频图像集合对应的帧间复杂度的第一信息;
第三获取单元,被配置为获取表征所述第一确定单元确定的所述至少一帧关键帧分别对应的帧内复杂度的第二信息。
8.根据权利要求7所述视频编码装置,其特征在于,所述第一信息包括:所述至少一个视频图像集合对应的帧间复杂度中最大帧间复杂度;所述至少一个视频图像集合对应的帧间复杂度中最小帧间复杂度;以及,所述至少一个视频图像集合对应的帧间复杂度的平均帧间复杂度中至少一个;和/或,
所述第二信息包括:所述至少一帧关键帧对应的帧内复杂度的平均帧内复杂度;所述至少一帧关键帧对应的帧内复杂度的最大帧内复杂度;以及,所述至少一帧关键帧对应的帧内复杂度的最小帧内复杂度中至少一个;和/或,
所述复杂度信息还包括:所述视频的帧率,以及,所述视频的分辨率中的至少一个。
9.一种电子设备,其特征在于,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如权利要求1所述的编码参数预测模型的训练方法;或,以实现如权利要求2至4中任一项所述的视频编码方法。
10.一种存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如权利要求1所述的编码参数预测模型的训练方法;或,如权利要求2至4中任一项所述的视频编码方法。
CN202011041726.1A 2020-09-28 2020-09-28 视频编码方法、装置、电子设备及存储介质 Active CN112383777B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011041726.1A CN112383777B (zh) 2020-09-28 2020-09-28 视频编码方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011041726.1A CN112383777B (zh) 2020-09-28 2020-09-28 视频编码方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN112383777A CN112383777A (zh) 2021-02-19
CN112383777B true CN112383777B (zh) 2023-09-05

Family

ID=74580307

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011041726.1A Active CN112383777B (zh) 2020-09-28 2020-09-28 视频编码方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN112383777B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113194320B (zh) * 2021-04-30 2022-11-22 北京达佳互联信息技术有限公司 参数预测模型的训练方法及装置和参数预测方法及装置
CN113271462B (zh) * 2021-05-17 2022-12-02 北京百度网讯科技有限公司 视频编码算法的评价方法及装置、计算机设备及介质
CN114025190B (zh) * 2021-11-03 2023-06-20 北京达佳互联信息技术有限公司 多码率调度方法和多码率调度装置
CN114554211A (zh) * 2022-01-14 2022-05-27 百果园技术(新加坡)有限公司 内容自适应视频编码方法、装置、设备和存储介质
CN114885167A (zh) * 2022-04-29 2022-08-09 上海哔哩哔哩科技有限公司 视频编码方法及装置
CN117395426A (zh) * 2022-06-30 2024-01-12 深圳市中兴微电子技术有限公司 编码模式的预测方法、装置、电子设备和存储介质
CN115209150B (zh) * 2022-09-16 2022-12-27 沐曦科技(成都)有限公司 一种视频编码参数获取方法、装置及电子设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1988659A (zh) * 2006-12-30 2007-06-27 清华大学 一种视频编码码率控制方法
CN106537923A (zh) * 2014-09-08 2017-03-22 苹果公司 自适应视频流的技术
WO2018171447A1 (zh) * 2017-03-21 2018-09-27 腾讯科技(深圳)有限公司 视频编码方法、视频解码方法、计算机设备和存储介质
CN110650370A (zh) * 2019-10-18 2020-01-03 北京达佳互联信息技术有限公司 一种视频编码参数确定方法、装置、电子设备及存储介质
CN111263153A (zh) * 2020-02-20 2020-06-09 广州市百果园信息技术有限公司 视频编码方法、装置、设备及存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080205515A1 (en) * 2007-01-25 2008-08-28 Florida Atlantic University Video encoding with reduced complexity

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1988659A (zh) * 2006-12-30 2007-06-27 清华大学 一种视频编码码率控制方法
CN106537923A (zh) * 2014-09-08 2017-03-22 苹果公司 自适应视频流的技术
WO2018171447A1 (zh) * 2017-03-21 2018-09-27 腾讯科技(深圳)有限公司 视频编码方法、视频解码方法、计算机设备和存储介质
CN110650370A (zh) * 2019-10-18 2020-01-03 北京达佳互联信息技术有限公司 一种视频编码参数确定方法、装置、电子设备及存储介质
CN111263153A (zh) * 2020-02-20 2020-06-09 广州市百果园信息技术有限公司 视频编码方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN112383777A (zh) 2021-02-19

Similar Documents

Publication Publication Date Title
CN112383777B (zh) 视频编码方法、装置、电子设备及存储介质
CN108780499B (zh) 基于量化参数的视频处理的系统和方法
US9117112B2 (en) Background detection as an optimization for gesture recognition
US11093752B2 (en) Object tracking in multi-view video
US20220046261A1 (en) Encoding method and apparatus for screen sharing, storage medium, and electronic device
CN111010495B (zh) 一种视频降噪处理方法及装置
CN110418177A (zh) 视频编码方法、装置、设备和存储介质
KR20140110008A (ko) 객체 검출 정보에 따른 인코딩
EP4007289A1 (en) Video uploading method and apparatus, electronic device, and storage medium
WO2021129007A1 (zh) 视频码率的确定方法、装置、计算机设备及存储介质
CN103517072A (zh) 视频通信方法和设备
CN110620924A (zh) 编码数据的处理方法、装置、计算机设备及存储介质
CN114900692A (zh) 视频流帧率调整方法及其装置、设备、介质、产品
CN112672149A (zh) 一种视频处理方法、装置、存储介质及服务器
CN109474833B (zh) 一种网络直播的方法、相关装置和系统
CN114554211A (zh) 内容自适应视频编码方法、装置、设备和存储介质
Zhang et al. Mfvp: Mobile-friendly viewport prediction for live 360-degree video streaming
CN110740316A (zh) 数据编码方法及装置
CN111643901B (zh) 用于云游戏界面智能渲染的方法和装置
WO2022000298A1 (en) Reinforcement learning based rate control
US11095901B2 (en) Object manipulation video conference compression
US10536726B2 (en) Pixel patch collection for prediction in video coding system
CN116437088A (zh) 图像缓存区的更新方法、装置、服务器及存储介质
CN116980604A (zh) 视频编码方法、视频解码方法及相关设备
CN116827921A (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