CN110650370B - 一种视频编码参数确定方法、装置、电子设备及存储介质 - Google Patents

一种视频编码参数确定方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN110650370B
CN110650370B CN201910995614.0A CN201910995614A CN110650370B CN 110650370 B CN110650370 B CN 110650370B CN 201910995614 A CN201910995614 A CN 201910995614A CN 110650370 B CN110650370 B CN 110650370B
Authority
CN
China
Prior art keywords
video
sample
sample video
segment
complexity
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
CN201910995614.0A
Other languages
English (en)
Other versions
CN110650370A (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 CN201910995614.0A priority Critical patent/CN110650370B/zh
Publication of CN110650370A publication Critical patent/CN110650370A/zh
Application granted granted Critical
Publication of CN110650370B publication Critical patent/CN110650370B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44008Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics in the video stream
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • H04N21/440218Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by transcoding between formats or standards, e.g. from MPEG-2 to MPEG-4
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • Biophysics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本公开关于一种视频编码参数确定方法、装置、电子设备及存储介质,该方法包括:将待编码视频切分成多个视频片段;计算各个视频片段的复杂度特征,所述复杂度特征用于表征视频片段的时间复杂度和空间复杂度;将各个视频片段的复杂度特征和当前网络带宽输入预先训练好的神经网络模型中,得到各个视频片段的编码参数。通过本发明实施例提供的技术方案,对于待编码视频切分所得的每一视频片段而言,利用从预先训练好的神经网络模型所输出的编码参数,对该视频片段进行编码,编码后的该视频片段的视频质量较高;且上传编码后的样本视频所需的网络带宽小于当前网络带宽,进而确保成功上传编码后的视频。

Description

一种视频编码参数确定方法、装置、电子设备及存储介质
技术领域
本申请涉及视频技术领域,特别是涉及一种视频编码参数确定方法、装置、电子设备及存储介质。
背景技术
随着视频技术的快速发展,视频分发平台每天都会接收到大量终端上传的大量视频,终端在上传视频前,首先需要对待上传视频进行编码,然后将编码后的视频上传至视频分发平台。
相关技术中,为了保证编码后的视频的视频质量,为每个待上传视频确定较高的编码码率,这样,终端在上传编码后的视频的过程中,可能会超出当前的网络带宽,从而导致视频上传失败。
发明内容
本公开提供一种视频编码参数确定方法、装置、电子设备及存储介质,本公开的技术方案如下:
根据本公开实施例的第一方面,提供一种视频编码参数确定方法,所述方法包括:
将待编码视频切分成多个视频片段;
计算各个视频片段的复杂度特征,所述复杂度特征用于表征视频片段的时间复杂度和空间复杂度;
将各个视频片段的复杂度特征和当前网络带宽输入预先训练好的神经网络模型中,得到各个视频片段的编码参数;
其中,所述预先训练好的神经网络模型是:基于样本视频的样本视频片段的复杂度特征以及当前网络带宽,与样本视频片段的凸包编码参数训练得到的;
所述凸包编码参数用于表征:利用所述凸包编码参数对所述样本视频片断进行编码,编码后的样本视频片断的视频质量大于预设视频质量,且上传所述编码后的样本视频片段所需要的网络带宽小于所述当前网络带宽。
可选的,训练所述预先训练好的神经网络模型的过程,包括:
将所述样本视频切分成多个第一样本视频片段;
将经多个预设编码参数编码后的样本视频进行解码,并将解码后的样本视频分别切分成多个第二样本视频片段,所述第一样本视频片段的数量与所述第二样本视频片段的数量相同;
对于每一第二样本视频片段,根据该第二样本视频片段,以及与该第二样本视频片段对应的第一样本视频片段,计算该第二样本视频片段的视频质量;
根据各个第二样本视频片段的视频质量,确定每一预设编码参数对应的视频质量差值矩阵;
根据每一视频质量差值矩阵,该视频质量差值矩阵对应的视频质量常数,以及当前网络带宽,确定每一第一样本视频片段对应的凸包编码参数;
对于每一第一样本视频片段,将该第一样本视频片段的复杂度特征与当前网络带宽输入到神经网络模型中,对所述神经网络模型进行训练,直至从所述神经网络模型中输出的编码参数为:与该第一样本视频片段相邻的下一个第一样本视频片段对应的凸包编码参数。
可选的,所述根据各个第二样本视频片段的视频质量,确定每一预设编码参数对应的视频质量差值矩阵,包括:
对于目标第二样本视频片段,计算所述目标第二样本视频片段的视频质量,以及,与所述目标第二样本视频片段对应的第二样本视频片段的视频质量的视频质量差值;
将各个视频质量差值组成的向量,确定为所述目标预设编码参数对应的视频质量差值矩阵;
其中,所述目标第二样本视频片段的目标预设编码参数,以及,与所述目标第二样本视频片段对应的第二样本视频片段的预设编码参数大小相邻。
可选的,所述根据每一视频质量差值矩阵,该视频质量差值矩阵对应的视频质量常数,以及当前网络带宽,确定每一第一样本视频片段对应的凸包编码参数,包括:
对于每一视频质量差值矩阵,将该视频质量差值矩阵中的每一视频质量与该视频质量差值矩阵对应的视频质量常数进行比较,得到比较值,所述视频质量常数用于表征:该视频质量差值矩阵中的视频质量所能接受的最小值;
对于每一第一样本视频片段,按照对应的预设编码参数由小到大的顺序,将所述第一样本视频片段对应的第二样本视频片段的比较值进行排序,得到比较值向量;
将所述比较值向量中,比较值首次为预设比较值对应的预设编码参数确定为目标编码参数;
将目标编码参数与当前网络带宽中的最小值,确定为所述第一样本视频片段对应的凸包编码参数。
可选的,所述计算各个视频片段的复杂度特征,包括:
对于每一视频片段,计算该视频片段的每一视频帧的复杂度特征,并将各个视频帧的复杂度特征,确定为该视频片段的复杂度特征。
可选的,所述计算各个视频片段的复杂度特征,包括:
对于每一视频片段,计算该视频片段的关键视频帧的复杂度特征,并将各个关键视频帧的复杂度特征,确定为该视频片段的复杂度特征。
可选的,所述复杂度特征包括以下特征中的至少一种:相邻帧差的方差最大值MaxTI,相邻帧差的方差平均值AvgTI,帧内编码的残差绝对值总和STAD,帧间编码的STAD,编码B帧时的STAD和编码P帧时的STAD。
可选的,所述编码参数包括以下参数中的至少一种:码率、分辨率和帧率。
根据本公开实施例的第二方面,提供了一种视频编码参数确定装置,所述装置包括:
视频切分模块,被配置为执行将待编码视频切分成多个视频片段;
特征计算模块,被配置为执行计算各个视频片段的复杂度特征,所述复杂度特征用于表征视频片段的时间复杂度和空间复杂度;
编码参数获取模块,被配置为执行将各个视频片段的复杂度特征和当前网络带宽输入预先训练好的神经网络模型中,得到各个视频片段的编码参数;
其中,所述预先训练好的神经网络模型是:基于样本视频的样本视频片段的复杂度特征以及当前网络带宽,与样本视频片段的凸包编码参数训练得到的;
所述凸包编码参数用于表征:利用所述凸包编码参数对所述样本视频片断进行编码,编码后的样本视频片断的视频质量大于预设视频质量,且上传所述编码后的样本视频片段所需要的网络带宽小于所述当前网络带宽。
可选的,所包括模型训练模块,包括:
第一视频切分单元,被配置为执行将所述样本视频切分成多个第一样本视频片段;
第二视频切分单元,被配置为执行将经多个预设编码参数编码后的样本视频进行解码,并将解码后的样本视频分别切分成多个第二样本视频片段,所述第一样本视频片段的数量与所述第二样本视频片段的数量相同;
视频质量计算单元,被配置为执行对于每一第二样本视频片段,根据该第二样本视频片段,以及与该第二样本视频片段对应的第一样本视频片段,计算该第二样本视频片段的视频质量;
差值矩阵确定单元,被配置为执行根据各个第二样本视频片段的视频质量,确定每一预设编码参数对应的视频质量差值矩阵;
凸包编码参数确定单元,被配置为执行根据每一视频质量差值矩阵,该视频质量差值矩阵对应的视频质量常数,以及当前网络带宽,确定每一第一样本视频片段对应的凸包编码参数;
模型训练单元,被配置为执行对于每一第一样本视频片段,将该第一样本视频片段的复杂度特征与当前网络带宽输入到神经网络模型中,对所述神经网络模型进行训练,直至从所述神经网络模型中输出的编码参数为:与该第一样本视频片段相邻的下一个第一样本视频片段对应的凸包编码参数。
可选的,所述差值矩阵确定单元,被配置为执行:
对于目标第二样本视频片段,计算所述目标第二样本视频片段的视频质量,以及,与所述目标第二样本视频片段对应的第二样本视频片段的视频质量的视频质量差值;
将各个视频质量差值组成的向量,确定为所述目标预设编码参数对应的视频质量差值矩阵;
其中,所述目标第二样本视频片段的目标预设编码参数,以及,与所述目标第二样本视频片段对应的第二样本视频片段的预设编码参数大小相邻。
可选的,所述凸包编码参数确定单元,被配置为执行:
对于每一视频质量差值矩阵,将该视频质量差值矩阵中的每一视频质量与该视频质量差值矩阵对应的视频质量常数进行比较,得到比较值,所述视频质量常数用于表征:该视频质量差值矩阵中的视频质量所能接受的最小值;
对于每一第一样本视频片段,按照对应的预设编码参数由小到大的顺序,将所述第一样本视频片段对应的第二样本视频片段的比较值进行排序,得到比较值向量;
将所述比较值向量中,比较值首次为预设比较值对应的预设编码参数确定为目标编码参数;
将目标编码参数与当前网络带宽中的最小值,确定为所述第一样本视频片段对应的凸包编码参数。
可选的,所述特征计算模块,被配置为执行:
对于每一视频片段,计算该视频片段的每一视频帧的复杂度特征,并将各个视频帧的复杂度特征,确定为该视频片段的复杂度特征。
可选的,所述特征计算模块,被配置为执行:
对于每一视频片段,计算该视频片段的关键视频帧的复杂度特征,并将各个关键视频帧的复杂度特征,确定为该视频片段的复杂度特征。
可选的,所述复杂度特征包括以下特征中的至少一种:相邻帧差的方差最大值MaxTI,相邻帧差的方差平均值AvgTI,帧内编码的残差绝对值总和STAD,帧间编码的STAD,编码B帧时的STAD和编码P帧时的STAD。
可选的,所述编码参数包括以下参数中的至少一种:码率、分辨率和帧率。
根据本公开实施例的第三方面,提供了一种电子设备,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现第一方面所述的视频编码参数确定方法。
根据本公开实施例的第四方面,提供了一种存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行第一方面所述的视频编码参数确定方法。
根据本公开实施例的又一方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机实现第一方面所述的视频编码参数确定方法。
通过本公开实施例提供的技术方案,在对待编码视频进行编码时,将待编码视频切分成多个视频片段;计算各个视频片段的复杂度特征;并将各个视频片段的复杂度特征和当前网络带宽输入预先训练好的神经网络模型中,得到各个视频片段的编码参数。
由于预先训练好的神经网络模型是基于样本视频的复杂度特征以及当前网络带宽,与样本视频片段的凸包编码参数训练得到的,而利用凸包编码参数对样本视频片段进行编码,能够保证编码后的样本视频片段的视频质量较高,且上传编码后的样本视频片段所需要的网络带宽小于当前网络带宽。因此,对于待编码视频切分所得的每一视频片段而言,利用从预先训练好的神经网络模型所输出的编码参数,对该视频片段进行编码,编码后的该视频片段的视频质量较高;且上传编码后的样本视频所需的网络带宽小于当前网络带宽,进而确保成功上传编码后的视频。
附图说明
图1是根据一示例性实施例示出的一种视频编码参数确定方法的流程图;
图2是根据一示例性实施例示出的训练神经网络模型的过程的流程图;
图3是根据一示例性实施例示出的S25一种具体实施方式的流程图;
图4是根据一示例性实施例示出的获取样本视频的复杂度特征的示意图;
图5是根据一示例性实施例示出的获取视频质量差值矩阵的示意图;
图6是根据一示例性实施例示出的一种视频编码参数确定装置的框图;
图7是根据一示例性实施例示出的一种电子设备的框图;
图8是根据一示例性实施例示出的一种视频编码参数确定装置的框图。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
图1是根据一示例性实施例示出的一种视频编码参数确定方法的流程图,该方法用于一种视频编码参数确定装置,该一种视频编码参数确定装置运行于电子设备中,该电子设备具有视频编码功能,本公开实施例对该电子设备不做具体限定。
如图1所示,该方法可以包括以下步骤。
在步骤S11中,将待编码视频切分成多个视频片段。
在对待编码视频进行编码前,可以将待编码视频切分成多个视频片段。例如,可以将待编码视频切分成多个视频片段,每个视频片段的时长为3秒。当然,具体将待编码视频切分成多少个视频片段,可以根据实际情况来确定,本公开实施例对此不做具体限定。
在步骤S12中,计算各个视频片段的复杂度特征。
其中,复杂度特征用于表征视频片段的时间复杂度和空间复杂度。
在将待编码视频切分成多个视频片段之后,可以计算每个视频片段的复杂度特征。该复杂度特征可以包括时间复杂度特征和空间复杂度,该时间复杂度特征用于表征视频片段的时间复杂度,该空间复杂度特征用于表征视频片段的空间复杂度。
具体的,复杂度特征可以包括以下特征中的至少一种:相邻帧差的方差最大值MaxTI,相邻帧差的方差平均值AvgTI,帧内编码的残差绝对值总和STAD,帧间编码的STAD,编码B帧时的STAD和编码P帧时的STAD。当然,本公开实施例对复杂度特征不做具体限定。
在一种实施方式中,计算各个视频片段的复杂度特征,可以包括:
对于每一视频片段,计算该视频片段的每一视频帧的复杂度特征,并将各个视频帧的复杂度特征,确定为该视频片段的复杂度特征。
在该实施方式中,在计算每一视频片段的复杂度特征时,可以计算该视频片段的每一视频帧的复杂度特征,这样计算出的该视频片段的复杂度特征更加准确。
在另一种实施方式中,计算各个视频片段的复杂度特征,可以包括:
对于每一视频片段,计算该视频片段的关键视频帧的复杂度特征,并将各个关键视频帧的复杂度特征,确定为该视频片段的复杂度特征。
在该实施方式中,在计算每一视频片段的复杂度特征时,可以只计算该视频片段的关键视频帧的复杂度特征,也就是说,不会计算视频片段中每一视频帧的复杂度特征,而是选取视频片段的关键视频帧来计算复杂度特征,这样可以降低计算量。
在步骤S13中,将各个视频片段的复杂度特征和当前网络带宽输入预先训练好的神经网络模型中,得到各个视频片段的编码参数。
其中,预先训练好的神经网络模型是:基于样本视频的样本视频片段的复杂度特征以及当前网络带宽,与样本视频片段的凸包编码参数训练得到的;
凸包编码参数用于表征:利用凸包编码参数对样本视频片断进行编码,编码后的样本视频片断的视频质量大于预设视频质量,且上传编码后的样本视频片段所需要的网络带宽小于当前网络带宽。
由于预先训练好的神经网络模型是基于样本视频的复杂度特征以及当前网络带宽,与样本视频片段的凸包编码参数训练得到的,而利用凸包编码参数对样本视频片段进行编码,能够保证编码后的样本视频片段的视频质量较高,即视频质量大于预设视频质量,且上传编码后的样本视频片段所需要的网络带宽小于当前网络带宽。可以理解的是,预设视频质量可以根据实际情况进行确定,本公开实施例对预设视频质量不做具体限定。
因此,在计算得到各个视频片段的复杂度特征后,可以将各个视频片段的复杂度特征以及当前网络带宽,输入到预先训练好的神经网络模型中,从预先训练好的神经网络模型输出各个视频片段的编码参数,即得到各个视频片段的编码参数。例如,将第i个视频片段的复杂度特征以及当前网络带宽输入到预先训练好的神经网络模型中,可以得到第i+1个视频片段的编码参数。
可见,对于每一视频片段,利用从预先训练好的神经网络模型所输出的编码参数,对该视频片段进行编码,编码后的该视频片段的视频质量较高,即视频质量大于预设视频质量;且上传编码后的样本视频所需的网络带宽小于当前网络带宽。从而既能保证编码后的视频的视频质量,又能保证上传编码后的视频所需的网络带宽小于当前网络带宽,进而确保成功上传编码后的视频。
需要说明的是,编码参数包括以下参数中的至少一种:码率、分辨率和帧率。当然,本公开实施例对编码参数不做具体限定。
通过本公开实施例提供的技术方案,在对待编码视频进行编码时,将待编码视频切分成多个视频片段;计算各个视频片段的复杂度特征;并将各个视频片段的复杂度特征和当前网络带宽输入预先训练好的神经网络模型中,得到各个视频片段的编码参数。
由于预先训练好的神经网络模型是基于样本视频的复杂度特征以及当前网络带宽,与样本视频片段的凸包编码参数训练得到的,而利用凸包编码参数对样本视频片段进行编码,能够保证编码后的样本视频片段的视频质量较高,且上传编码后的样本视频片段所需要的网络带宽小于当前网络带宽。因此,对于待编码视频切分所得的每一视频片段而言,利用从预先训练好的神经网络模型所输出的编码参数,对该视频片段进行编码,编码后的该视频片段的视频质量较高;且上传编码后的样本视频所需的网络带宽小于当前网络带宽,进而确保成功上传编码后的视频。
为了方案描述清楚,将在下面实施例中,对训练上述预先训练好的神经网络模型的过程进行详细阐述。
在一种实施方式中,训练预先训练好的神经网络模型的过程,可以包括如下步骤,如图2所示。
在步骤S21中,将样本视频切分成多个第一样本视频片段。
在步骤S22中,将经多个预设编码参数编码后的样本视频进行解码,并将解码后的样本视频分别切分成多个第二样本视频片段。
其中,第一样本视频片段的数量与第二样本视频片段的数量相同。
具体的,可以利用多个预设编码参数分别对样本视频进行编码,得到多个编码后的样本视频。例如,假设预设编码参数为预设编码码率,可以利用不同的预设编码码率,分别对样本视频进行编码。具体的,可以利用450k(kbps,千比特/秒),500k,550k,600k,650k,……,1000k,对样本视频进行编码。
将样本视频切分成多个第一样本视频片段。并且,在得到多个利用预设编码参数编码后的样本视频后,可以将利用预设编码参数编码后的样本视频进行解码,并将解码后的样本视频分别切分成多个第二样本视频片段,第一样本视频片段的数量与第二样本视频片段的数量相同。
在步骤S23中,对于每一第二样本视频片段,根据该第二样本视频片段以及与该第二样本视频片段对应的第一样本视频片段,计算该第二样本视频片段的视频质量。
样本视频切分后得到多个第一样本视频片段,而解码后的样本视频,切分后得到多个第二样本视频片段。由于第一样本视频片段的数量与第二样本视频片段的数量相同。也就是说,每一第一样本视频片段对应一个第二样本视频片段。
举例而言,第一样本视频片段有三个,分别为:第一样本视频片段1,第一样本视频片段2,和第一样本视频片段3。第二样本视频片段有三个,分别为:第二样本视频片段1,第二样本视频片段2,和第二样本视频片段3。那么,第一样本视频片段1和第二样本视频片段1对应;第一样本视频片段2和第二样本视频片段2对应;第一样本视频片段3和第二样本视频片段3对应。
对于每一第二样本视频片段,可以根据该第二样本视频片段,以及与该第二样本视频片段对应的第一样本视频片段,计算该第二样本视频片段的视频质量。其中,视频质量可以用VMAF(Visual Multimethod Assessment Fusion,视频质量多方法评价融合)来衡量。当然,本公开实施例对此不做具体限定。
在步骤S24中,根据各个第二样本视频片段的视频质量,确定每一预设编码参数对应的视频质量差值矩阵。
在一种实施方式中,根据各个第二样本视频片段的视频质量,确定每一预设编码参数对应的视频质量差值矩阵,可以包括如下两个步骤,分别为步骤a1和步骤a2:
步骤a1,对于目标第二样本视频片段,计算所述目标第二样本视频片段的视频质量,以及,与所述目标第二样本视频片段对应的第二样本视频片段的视频质量的视频质量差值。
其中,所述目标第二样本视频片段的目标预设编码参数,以及,与所述目标第二样本视频片段对应的第二样本视频片段的预设编码参数大小相邻。
步骤a2,将各个视频质量差值组成的向量,确定为目标预设编码参数对应的视频质量差值矩阵。
具体的,对于每个第二样本视频片段,即目标第二样本视频片段而言,均有预设编码参数与目标第二样本视频片段的目标预设编码参数大小相邻的第二样本视频片段。也就是说,存在与目标第二样本视频片段对应的第二样本视频片段。可以将目标第二样本视频片段的视频质量,与目标样本视频片段的视频质量作差。这样,每个目标第二样本视频片段,均对应一个视频质量差值。将各个目标第二样本视频片段,对应的各个视频质量差值所组成的向量,确定为目标预设编码参数对应的视频质量差值矩阵。
在步骤S25中,根据每一视频质量差值矩阵,该视频质量差值矩阵对应的视频质量常数,以及当前网络带宽,确定每一第一样本视频片段对应的凸包编码参数。
在一种实施方式中,根据每一视频质量差值矩阵,该视频质量差值矩阵对应的视频质量常数,以及当前网络带宽,确定每一第一样本视频片段对应的凸包编码参数,可以包括如下步骤,如图3所示,分别为步骤S251至步骤S254:
S251,对于每一视频质量差值矩阵,将该视频质量差值矩阵中的每一视频质量与该视频质量差值矩阵对应的视频质量常数进行比较,得到比较值。
其中,视频质量常数用于表征:该视频质量差值矩阵中的视频质量所能接受的最小值。
需要说明的是,每一预设编码参数对应一个视频质量参数,该视频质量参数用于表征:该预设编码参数对应的视频质量差值矩阵中,各个视频质量所能接收的最小值。其中,视频质量常数是基于预先确定的训练集训练得到的,也就是说,视频质量常数是一个经验值。
对于每一视频质量差值矩阵,将该视频质量差值矩阵中的每一视频质量与该视频质量差值矩阵对应的视频质量常数进行比较,得到比较值。具体的,如果视频质量差值矩阵中的视频质量,小于该视频质量差值矩阵对应的视频质量常数,可以将比较值确定为0;如果视频质量差值矩阵中的视频质量,大于该视频质量差值矩阵对应的视频质量常数,可以将比较值确定为1。
S252,对于每一第一样本视频片段,按照对应的预设编码参数由小到大的顺序,将第一样本视频片段对应的第二样本视频片段的比较值进行排序,得到比较值向量。
第一样本视频片段的数量与第二样本视频片段的数量相同,第一样本视频片段,与第二样本视频片段具有对应性。可以理解的是,有多少个预设编码参数,那么第一样本视频片段就对应多少个第二样本视频片段,每个第二样本视频片段对应一个比较值。可以按照对应的预设编码参数由小到大的顺序,将第一样本视频片段对应的第二样本视频片段的比较值进行排序,得到比较值向量。
举例而言,比较值向量可以为[0,0,0,1,1,1…,1]T
S253,将比较值向量中,比较值首次为预设比较值对应的预设编码参数确定为目标编码参数。
其中,该预设比较值可以为1。例如,比较值向量为[0,0,0,1,1,1…,1]T。预设编码参数为预设编码码率。假设第一个0对应的预设编码码率为450k,第二个0对应的预设编码码率为500k,第三个0对应的预设编码码率为550k,第一个1对应的预设编码码率为600k,那么,比较值首次为1对应的目标编码码率为600k。
S254,将目标编码参数与当前网络带宽中的最小值,确定为第一样本视频片段对应的凸包编码参数。
在确定了目标编码参数后,可以将目标编码参数与当前网络带宽进行比较,将目标编码参数与当前网络带宽中的最小值,确定为第一样本视频片段对应的凸包编码参数。
在步骤S26中,对于每一第一样本视频片段,将该第一样本视频片段的复杂度特征与当前网络带宽输入到神经网络模型中,对神经网络模型进行训练,直至从神经网络模型中输出的编码参数为:与该第一样本视频片段相邻的下一个第一样本视频片段对应的凸包编码参数。
具体的,将第i个第一样本视频片段的复杂度特征,以及当前网络带宽输入到神经网络模型中,对神经网络模型进行训练,通过神经网络模型输出的编码参数尽量接近第i+1个第一样本视频片段的凸包编码码率。
为了方案描述清楚,下面将结合具体实例对本公开实施例进行阐述。在具体实例中,以编码参数为编码码率为例进行介绍。
首先对神经网络模型的预先训练过程需要的复杂度特征和凸包编码码率的获取方法进行详细阐述。
如图4所示,可以将任一样本视频切分成n+1个样本视频片段,n为自然数,n的大小可以根据实际情况确定,这n+1个样本视频片段分别为:OrgChunk0,OrgChunk1,……,OrgChunkn
分别计算这n+1个样本视频片段的复杂度特征,每个样本视频片段的复杂度特征包括:相邻帧差的方差最大值MaxTI,相邻帧差的方差平均值AvgTI,帧内编码的残差绝对值总和STAD,帧间编码的STAD,编码B帧时的STAD和编码P帧时的STAD。
例如,对于OrgChunk0这个样本视频片段,计算所得的复杂度特征包括:MaxTI0,AvgTI0,IntraComplexity0(用于表征帧内编码的STAD值),InterComplexity0(用于表征帧间编码的STAD值),Bcomplexity0(用于表征编码B帧时的STAD值),Pcomplexity0(用于表征编码P帧时的STAD值),进而得到OrgChunk0的复杂度特征Feature0
对于OrgChunkn这个样本视频片段,计算所得的复杂度特征包括:MaxTIn,AvgTIn,IntraComplexityn(用于表征帧内编码的STAD值),InterComplexityn(用于表征帧间编码的STAD值),Bcomplexityn(用于表征编码B帧时的STAD值),Pcomplexityn(用于表征编码P帧时的STAD值),进而得到OrgChunkn的复杂度特征Featuren
如图5所示,将样本视频经不同的预设编码码率进行编码。其中,不同的预设编码码率分别为:rateA,rateB,rateC,rateD,……,rateL。相邻两个预设编码码率之间的差值为50k。rateA为400k,rateB为450k,rateC为500k,rateB为550k,……,rateL为1000k。
经rateA编码的样本视频为streamA,经rateB编码的样本视频为streamB,经rateC编码的样本视频为streamC,经rateD编码的样本视频为streamD,……,经rateL编码的样本视频为streamL。
将streamA进行解码,得到解码后的样本视频recA,将streamB进行解码,得到解码后的样本视频recB,将stream C进行解码,得到解码后的样本视频recC,将stream D进行解码,得到解码后的样本视频recD,……,将stream L进行解码,得到解码后的样本视频recL。
分别将解码后的视频切分成n+1个第二样本视频片段。recA切分成的n+1个第一样本视频片段分别为:recChunkA0,recChunkA1,……,recChunkAn。recB切分成的n+1个样本视频片段分别为:recChunkB0,recChunkB1,……,recChunkBn。recC切分成的n+1个第二样本视频片段分别为:recChunkC0,recChunkC1,……,recChunkCn。recD切分成的n+1个第二样本视频片段分别为:recChunkD0,recChunkD1,……,recChunkDn。以此类推,recL切分成的n+1个第二样本视频片段分别为:recChunkL0,recChunkL1,……,recChunkLn
接下来,对于每一第二样本视频片段,根据与该第二样本视频片段对应的第一样本视频片段,计算该第二样本视频片段的视频质量。例如,对于recChunkA0而言,其对应的第一样本视频片段为:OrgChunk0,计算得到的recChunkA0的视频质量为VMAFA0。对于recChunkAn而言,其对应的第一样本视频片段为:OrgChunkn,计算得到的recChunkAn的视频质量为VMAFAn。以此类推,可以计算得到recChunkB0,……,recChunkBn;recChunkC0,……,recChunKCn;……recChunKL0,……,recChunKLn
将recChunkA0,……,recChunkAn,分别与recChunkB0,……,recChunkBn作差,得到rateA对应的视频质量差值矩阵,为[Vdiff_AB0,…,Vdiff_ABn]。以此类推,rateB对应的视频质量差值矩阵,为[Vdiff_BC0,…,Vdiff_BCn]。rateL对应的视频质量差值矩阵,为[Vdiff_KL0,…,Vdiff_KLn]。
对于每一视频质量差值矩阵,将该视频质量差值矩阵中的每一个值,与对应的视频质量常数进行比对,得到比较值。比较值为0或1,每一个第一样本视频对应一个布尔型BOOl型的向量。例如,OrgChunk0对应的BOOl型的向量为[BOOl_AB0,BOOl_BC0,BOOl_CD0,BOOl_KL0]T。该向量称为BOOlVec0。以此类推,可以得到BOOlVec1,……,BOOlVecn
在确定了每个第一样本视频片段对应的BOOl型的向量后,可以将向量中,第一个非零下表对应的编码码率与当前的网络带宽进行比较,两者中的最小值为该第一样本视频片段对应的凸包码率。
例如,BOOlVec=[0,0,0,1,1,1,…,1]T,可见,第一个非零下标对应的编码码率为600k。当前网络带宽用Budget表示,那么凸包码率Convex=|min(600k,Budget)|。可见,每个第一样本视频片段对应一个凸包码率,OrgChunk0对应的凸包码率为Convex0,…,OrgChunkn对应的凸包码率为Convexn
在得到每个第一样本视频片段对应的凸包码率后,将OrgChunki的复杂度特征,以及当前网络带宽输入到神经网络模型中,对神经网络模型进行训练,直至从神经网络模型中输出的编码码率为第i+1个OrgChunki+1对应的凸包编码码率。
在训练好卷积神经网络模型后,可以进行在线使用。具体的,将待编码视频切分成多个视频片段;计算各个视频片段的复杂度特征,将各个视频片段的复杂度特征和当前网络带宽输入预先训练好的神经网络模型中,得到各个视频片段的编码码率,进而得到待编码视频的编码码率。
图6是根据一示例性实施例示出的一种一种视频编码参数确定装置的框图,所述装置包括:
视频切分模块610,被配置为执行将待编码视频切分成多个视频片段;
特征计算模块620,被配置为执行计算各个视频片段的复杂度特征,所述复杂度特征用于表征视频片段的时间复杂度和空间复杂度;
编码参数获取模块630,被配置为执行将各个视频片段的复杂度特征和当前网络带宽输入预先训练好的神经网络模型中,得到各个视频片段的编码参数;
其中,所述预先训练好的神经网络模型是:基于样本视频的样本视频片段的复杂度特征以及当前网络带宽,与样本视频片段的凸包编码参数训练得到的;
所述凸包编码参数用于表征:利用所述凸包编码参数对所述样本视频片断进行编码,编码后的样本视频片断的视频质量大于预设视频质量,且上传所述编码后的样本视频片段所需要的网络带宽小于所述当前网络带宽。
通过本公开实施例提供的技术方案,在对待编码视频进行编码时,将待编码视频切分成多个视频片段;计算各个视频片段的复杂度特征;并将各个视频片段的复杂度特征和当前网络带宽输入预先训练好的神经网络模型中,得到各个视频片段的编码参数。
由于预先训练好的神经网络模型是基于样本视频的复杂度特征以及当前网络带宽,与样本视频片段的凸包编码参数训练得到的,而利用凸包编码参数对样本视频片段进行编码,能够保证编码后的样本视频片段的视频质量较高,且上传编码后的样本视频片段所需要的网络带宽小于当前网络带宽。因此,对于待编码视频切分所得的每一视频片段而言,利用从预先训练好的神经网络模型所输出的编码参数,对该视频片段进行编码,编码后的该视频片段的视频质量较高;且上传编码后的样本视频所需的网络带宽小于当前网络带宽,进而确保成功上传编码后的视频。
可选的,所包括模型训练模块,包括:
第一视频切分单元,被配置为执行将所述样本视频切分成多个第一样本视频片段;
第二视频切分单元,被配置为执行将经多个预设编码参数编码后的样本视频进行解码,并将解码后的样本视频分别切分成多个第二样本视频片段,所述第一样本视频片段的数量与所述第二样本视频片段的数量相同;
视频质量计算单元,被配置为执行对于每一第二样本视频片段,根据该第二样本视频片段,以及与该第二样本视频片段对应的第一样本视频片段,计算该第二样本视频片段的视频质量;
差值矩阵确定单元,被配置为执行根据各个第二样本视频片段的视频质量,确定每一预设编码参数对应的视频质量差值矩阵;
凸包编码参数确定单元,被配置为执行根据每一视频质量差值矩阵,该视频质量差值矩阵对应的视频质量常数,以及当前网络带宽,确定每一第一样本视频片段对应的凸包编码参数;
模型训练单元,被配置为执行对于每一第一样本视频片段,将该第一样本视频片段的复杂度特征与当前网络带宽输入到神经网络模型中,对所述神经网络模型进行训练,直至从所述神经网络模型中输出的编码参数为:与该第一样本视频片段相邻的下一个第一样本视频片段对应的凸包编码参数。
可选的,所述差值矩阵确定单元,被配置为执行:
对于目标第二样本视频片段,计算所述目标第二样本视频片段的视频质量,以及,与所述目标第二样本视频片段对应的第二样本视频片段的视频质量的视频质量差值;
将各个视频质量差值组成的向量,确定为所述目标预设编码参数对应的视频质量差值矩阵;
其中,所述目标第二样本视频片段的目标预设编码参数,以及,与所述目标第二样本视频片段对应的第二样本视频片段的预设编码参数大小相邻。
可选的,所述凸包编码参数确定单元,被配置为执行:
对于每一视频质量差值矩阵,将该视频质量差值矩阵中的每一视频质量与该视频质量差值矩阵对应的视频质量常数进行比较,得到比较值,所述视频质量常数用于表征:该视频质量差值矩阵中的视频质量所能接受的最小值;
对于每一第一样本视频片段,按照对应的预设编码参数由小到大的顺序,将所述第一样本视频片段对应的第二样本视频片段的比较值进行排序,得到比较值向量;
将所述比较值向量中,比较值首次为预设比较值对应的预设编码参数确定为目标编码参数;
将目标编码参数与当前网络带宽中的最小值,确定为所述第一样本视频片段对应的凸包编码参数。
可选的,所述特征计算模块,被配置为执行:
对于每一视频片段,计算该视频片段的每一视频帧的复杂度特征,并将各个视频帧的复杂度特征,确定为该视频片段的复杂度特征。
可选的,所述特征计算模块,被配置为执行:
对于每一视频片段,计算该视频片段的关键视频帧的复杂度特征,并将各个关键视频帧的复杂度特征,确定为该视频片段的复杂度特征。
可选的,所述复杂度特征包括以下特征中的至少一种:相邻帧差的方差最大值MaxTI,相邻帧差的方差平均值AvgTI,帧内编码的残差绝对值总和STAD,帧间编码的STAD,编码B帧时的STAD和编码P帧时的STAD。
图7是根据一示例性实施例示出的一种电子设备框图。参照图7,该电子设备包括:
处理器710;
用于存储所述处理器可执行指令的存储器720;
其中,所述处理器被配置为执行所述指令,以实现本公开所提供的视频编码参数确定方法。
通过本公开实施例提供的技术方案,在对待编码视频进行编码时,将待编码视频切分成多个视频片段;计算各个视频片段的复杂度特征;并将各个视频片段的复杂度特征和当前网络带宽输入预先训练好的神经网络模型中,得到各个视频片段的编码参数。
由于预先训练好的神经网络模型是基于样本视频的复杂度特征以及当前网络带宽,与样本视频片段的凸包编码参数训练得到的,而利用凸包编码参数对样本视频片段进行编码,能够保证编码后的样本视频片段的视频质量较高,且上传编码后的样本视频片段所需要的网络带宽小于当前网络带宽。因此,对于待编码视频切分所得的每一视频片段而言,利用从预先训练好的神经网络模型所输出的编码参数,对该视频片段进行编码,编码后的该视频片段的视频质量较高;且上传编码后的样本视频所需的网络带宽小于当前网络带宽,进而确保成功上传编码后的视频。
图8是根据一示例性实施例示出的一种用于的装置800的框图。例如,装置800可以是移动电话,计算机,数字广播电子设备,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
参照图8,装置800可以包括以下一个或多个组件:处理组件802,存储器804,电力组件806,多媒体组件808,音频组件810,输入/输出(I/O)的接口812,传感器组件814,以及通信组件816。
处理组件802通常控制装置800的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件802可以包括一个或多个处理器820来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件802可以包括一个或多个模块,便于处理组件802和其他组件之间的交互。例如,处理组件802可以包括多媒体模块,以方便多媒体组件808和处理组件802之间的交互。
存储器804被配置为存储各种类型的数据以支持在设备800的操作。这些数据的示例包括用于在装置800上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器804可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件806为装置800的各种组件提供电力。电源组件806可以包括电源管理***,一个或多个电源,及其他与为装置800生成、管理和分配电力相关联的组件。
多媒体组件808包括在所述装置800和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件808包括一个前置摄像头和/或后置摄像头。当设备800处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜***或具有焦距和光学变焦能力。
音频组件810被配置为输出和/或输入音频信号。例如,音频组件810包括一个麦克风(MIC),当装置800处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器404或经由通信组件816发送。在一些实施例中,音频组件810还包括一个扬声器,用于输出音频信号。
I/O接口812为处理组件802和***接口模块之间提供接口,上述***接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件814包括一个或多个传感器,用于为装置800提供各个方面的状态评估。例如,传感器组件814可以检测到设备800的打开/关闭状态,组件的相对定位,例如所述组件为装置800的显示器和小键盘,传感器组件814还可以检测装置800或装置800一个组件的位置改变,用户与装置800接触的存在或不存在,装置800方位或加速/减速和装置800的温度变化。传感器组件814可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件814还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件814还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件816被配置为便于装置800和其他设备之间有线或无线方式的通信。装置800可以接入基于通信标准的无线网络,如WiFi,运营商网络(如2G、3G、4G或5G),或它们的组合。在一个示例性实施例中,通信组件416经由广播信道接收来自外部广播管理***的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件816还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,装置800可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器804,上述指令可由装置800的处理器820执行以完成上述方法。可选地,例如,存储介质可以是非临时性计算机可读存储介质,例如,所述非临时性非临时性计算机可读存储介质计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
通过本公开实施例提供的技术方案,在对待编码视频进行编码时,将待编码视频切分成多个视频片段;计算各个视频片段的复杂度特征;并将各个视频片段的复杂度特征和当前网络带宽输入预先训练好的神经网络模型中,得到各个视频片段的编码参数。
由于预先训练好的神经网络模型是基于样本视频的复杂度特征以及当前网络带宽,与样本视频片段的凸包编码参数训练得到的,而利用凸包编码参数对样本视频片段进行编码,能够保证编码后的样本视频片段的视频质量较高,且上传编码后的样本视频片段所需要的网络带宽小于当前网络带宽。因此,对于待编码视频切分所得的每一视频片段而言,利用从预先训练好的神经网络模型所输出的编码参数,对该视频片段进行编码,编码后的该视频片段的视频质量较高;且上传编码后的样本视频所需的网络带宽小于当前网络带宽,进而确保成功上传编码后的视频。
在本公开实施的又一方面,本公开实施例还提供了一种存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行本公开实施例提供的视频编码参数确定方法。
通过本公开实施例提供的技术方案,在对待编码视频进行编码时,将待编码视频切分成多个视频片段;计算各个视频片段的复杂度特征;并将各个视频片段的复杂度特征和当前网络带宽输入预先训练好的神经网络模型中,得到各个视频片段的编码参数。
由于预先训练好的神经网络模型是基于样本视频的复杂度特征以及当前网络带宽,与样本视频片段的凸包编码参数训练得到的,而利用凸包编码参数对样本视频片段进行编码,能够保证编码后的样本视频片段的视频质量较高,且上传编码后的样本视频片段所需要的网络带宽小于当前网络带宽。因此,对于待编码视频切分所得的每一视频片段而言,利用从预先训练好的神经网络模型所输出的编码参数,对该视频片段进行编码,编码后的该视频片段的视频质量较高;且上传编码后的样本视频所需的网络带宽小于当前网络带宽,进而确保成功上传编码后的视频。
根据本公开实施例的又一方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机实现第一方面所述的视频编码参数确定方法。
通过本公开实施例提供的技术方案,在对待编码视频进行编码时,将待编码视频切分成多个视频片段;计算各个视频片段的复杂度特征;并将各个视频片段的复杂度特征和当前网络带宽输入预先训练好的神经网络模型中,得到各个视频片段的编码参数。
由于预先训练好的神经网络模型是基于样本视频的复杂度特征以及当前网络带宽,与样本视频片段的凸包编码参数训练得到的,而利用凸包编码参数对样本视频片段进行编码,能够保证编码后的样本视频片段的视频质量较高,且上传编码后的样本视频片段所需要的网络带宽小于当前网络带宽。因此,对于待编码视频切分所得的每一视频片段而言,利用从预先训练好的神经网络模型所输出的编码参数,对该视频片段进行编码,编码后的该视频片段的视频质量较高;且上传编码后的样本视频所需的网络带宽小于当前网络带宽,进而确保成功上传编码后的视频。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

Claims (18)

1.一种视频编码参数确定方法,其特征在于,所述方法包括:
将待编码视频切分成多个视频片段;
计算各个视频片段的复杂度特征,所述复杂度特征用于表征视频片段的时间复杂度和空间复杂度;
将各个视频片段的复杂度特征和当前网络带宽输入预先训练好的神经网络模型中,得到各个视频片段的编码参数;
其中,所述预先训练好的神经网络模型是:基于样本视频的样本视频片段的复杂度特征以及当前网络带宽,与样本视频片段的凸包编码参数训练得到的;
所述凸包编码参数用于表征:利用所述凸包编码参数对所述样本视频片段进行编码,编码后的样本视频片段的视频质量大于预设视频质量,且上传所述编码后的样本视频片段所需要的网络带宽小于所述当前网络带宽。
2.根据权利要求1所述的方法,其特征在于,训练所述预先训练好的神经网络模型的过程,包括:
将所述样本视频切分成多个第一样本视频片段;
将经多个预设编码参数编码后的样本视频进行解码,并将解码后的样本视频分别切分成多个第二样本视频片段,所述第一样本视频片段的数量与所述第二样本视频片段的数量相同;
对于每一第二样本视频片段,根据该第二样本视频片段,以及与该第二样本视频片段对应的第一样本视频片段,计算该第二样本视频片段的视频质量;
根据各个第二样本视频片段的视频质量,确定每一预设编码参数对应的视频质量差值矩阵;
根据每一视频质量差值矩阵,该视频质量差值矩阵对应的视频质量常数,以及当前网络带宽,确定每一第一样本视频片段对应的凸包编码参数;
对于每一第一样本视频片段,将该第一样本视频片段的复杂度特征与当前网络带宽输入到神经网络模型中,对所述神经网络模型进行训练,直至从所述神经网络模型中输出的编码参数为:与该第一样本视频片段相邻的下一个第一样本视频片段对应的凸包编码参数。
3.根据权利要求2所述的方法,其特征在于,所述根据各个第二样本视频片段的视频质量,确定每一预设编码参数对应的视频质量差值矩阵,包括:
对于目标第二样本视频片段,计算所述目标第二样本视频片段的视频质量,以及,与所述目标第二样本视频片段对应的第二样本视频片段的视频质量的视频质量差值;
将各个视频质量差值组成的向量,确定为目标预设编码参数对应的视频质量差值矩阵;
其中,所述目标第二样本视频片段的目标预设编码参数,以及,与所述目标第二样本视频片段对应的第二样本视频片段的预设编码参数大小相邻。
4.根据权利要求2所述的方法,其特征在于,所述根据每一视频质量差值矩阵,该视频质量差值矩阵对应的视频质量常数,以及当前网络带宽,确定每一第一样本视频片段对应的凸包编码参数,包括:
对于每一视频质量差值矩阵,将该视频质量差值矩阵中的每一视频质量与该视频质量差值矩阵对应的视频质量常数进行比较,得到比较值,所述视频质量常数用于表征:该视频质量差值矩阵中的视频质量所能接受的最小值;
对于每一第一样本视频片段,按照对应的预设编码参数由小到大的顺序,将所述第一样本视频片段对应的第二样本视频片段的比较值进行排序,得到比较值向量;
将所述比较值向量中,比较值首次为预设比较值对应的预设编码参数确定为目标编码参数;
将目标编码参数与当前网络带宽中的最小值,确定为所述第一样本视频片段对应的凸包编码参数。
5.根据权利要求1至4任一项所述的方法,其特征在于,所述计算各个视频片段的复杂度特征,包括:
对于每一视频片段,计算该视频片段的每一视频帧的复杂度特征,并将各个视频帧的复杂度特征,确定为该视频片段的复杂度特征。
6.根据权利要求1至4任一项所述的方法,其特征在于,所述计算各个视频片段的复杂度特征,包括:
对于每一视频片段,计算该视频片段的关键视频帧的复杂度特征,并将各个关键视频帧的复杂度特征,确定为该视频片段的复杂度特征。
7.根据权利要求1至4任一项所述的方法,其特征在于,所述复杂度特征包括以下特征中的至少一种:相邻帧差的方差最大值MaxTI,相邻帧差的方差平均值AvgTI,帧内编码的残差绝对值总和STAD,帧间编码的STAD,编码B帧时的STAD和编码P帧时的STAD。
8.根据权利要求1至4任一项所述的方法,其特征在于,所述编码参数包括以下参数中的至少一种:码率、分辨率和帧率。
9.一种视频编码参数确定装置,其特征在于,所述装置包括:
视频切分模块,被配置为执行将待编码视频切分成多个视频片段;
特征计算模块,被配置为执行计算各个视频片段的复杂度特征,所述复杂度特征用于表征视频片段的时间复杂度和空间复杂度;
编码参数获取模块,被配置为执行将各个视频片段的复杂度特征和当前网络带宽输入预先训练好的神经网络模型中,得到各个视频片段的编码参数;
其中,所述预先训练好的神经网络模型是:基于样本视频的样本视频片段的复杂度特征以及当前网络带宽,与样本视频片段的凸包编码参数训练得到的;
所述凸包编码参数用于表征:利用所述凸包编码参数对所述样本视频片段进行编码,编码后的样本视频片段的视频质量大于预设视频质量,且上传所述编码后的样本视频片段所需要的网络带宽小于所述当前网络带宽。
10.根据权利要求9所述的装置,其特征在于,所包括模型训练模块,包括:
第一视频切分单元,被配置为执行将所述样本视频切分成多个第一样本视频片段;
第二视频切分单元,被配置为执行将经多个预设编码参数编码后的样本视频进行解码,并将解码后的样本视频分别切分成多个第二样本视频片段,所述第一样本视频片段的数量与所述第二样本视频片段的数量相同;
视频质量计算单元,被配置为执行对于每一第二样本视频片段,根据该第二样本视频片段,以及与该第二样本视频片段对应的第一样本视频片段,计算该第二样本视频片段的视频质量;
差值矩阵确定单元,被配置为执行根据各个第二样本视频片段的视频质量,确定每一预设编码参数对应的视频质量差值矩阵;
凸包编码参数确定单元,被配置为执行根据每一视频质量差值矩阵,该视频质量差值矩阵对应的视频质量常数,以及当前网络带宽,确定每一第一样本视频片段对应的凸包编码参数;
模型训练单元,被配置为执行对于每一第一样本视频片段,将该第一样本视频片段的复杂度特征与当前网络带宽输入到神经网络模型中,对所述神经网络模型进行训练,直至从所述神经网络模型中输出的编码参数为:与该第一样本视频片段相邻的下一个第一样本视频片段对应的凸包编码参数。
11.根据权利要求10所述的装置,其特征在于,所述差值矩阵确定单元,被配置为执行:
对于目标第二样本视频片段,计算所述目标第二样本视频片段的视频质量,以及,与所述目标第二样本视频片段对应的第二样本视频片段的视频质量的视频质量差值;
将各个视频质量差值组成的向量,确定为目标预设编码参数对应的视频质量差值矩阵;
其中,所述目标第二样本视频片段的目标预设编码参数,以及,与所述目标第二样本视频片段对应的第二样本视频片段的预设编码参数大小相邻。
12.根据权利要求9所述的装置,其特征在于,所述凸包编码参数确定单元,被配置为执行:
对于每一视频质量差值矩阵,将该视频质量差值矩阵中的每一视频质量与该视频质量差值矩阵对应的视频质量常数进行比较,得到比较值,所述视频质量常数用于表征:该视频质量差值矩阵中的视频质量所能接受的最小值;
对于每一第一样本视频片段,按照对应的预设编码参数由小到大的顺序,将所述第一样本视频片段对应的第二样本视频片段的比较值进行排序,得到比较值向量;
将所述比较值向量中,比较值首次为预设比较值对应的预设编码参数确定为目标编码参数;
将目标编码参数与当前网络带宽中的最小值,确定为所述第一样本视频片段对应的凸包编码参数。
13.根据权利要求9至12任一项所述的装置,其特征在于,所述特征计算模块,被配置为执行:
对于每一视频片段,计算该视频片段的每一视频帧的复杂度特征,并将各个视频帧的复杂度特征,确定为该视频片段的复杂度特征。
14.根据权利要求9至12任一项所述的装置,其特征在于,所述特征计算模块,被配置为执行:
对于每一视频片段,计算该视频片段的关键视频帧的复杂度特征,并将各个关键视频帧的复杂度特征,确定为该视频片段的复杂度特征。
15.根据权利要求9至12任一项所述的装置,其特征在于,所述复杂度特征包括以下特征中的至少一种:相邻帧差的方差最大值MaxTI,相邻帧差的方差平均值AvgTI,帧内编码的残差绝对值总和STAD,帧间编码的STAD,编码B帧时的STAD和编码P帧时的STAD。
16.根据权利要求9至12任一项所述的装置,其特征在于,所述编码参数包括以下参数中的至少一种:码率、分辨率和帧率。
17.一种电子设备,其特征在于,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如权利要求1至8中任一项所述的方法。
18.一种存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行如权利要求1至8中任一项所述的方法。
CN201910995614.0A 2019-10-18 2019-10-18 一种视频编码参数确定方法、装置、电子设备及存储介质 Active CN110650370B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910995614.0A CN110650370B (zh) 2019-10-18 2019-10-18 一种视频编码参数确定方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910995614.0A CN110650370B (zh) 2019-10-18 2019-10-18 一种视频编码参数确定方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN110650370A CN110650370A (zh) 2020-01-03
CN110650370B true CN110650370B (zh) 2021-09-24

Family

ID=68994401

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910995614.0A Active CN110650370B (zh) 2019-10-18 2019-10-18 一种视频编码参数确定方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN110650370B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111246209B (zh) * 2020-01-20 2022-08-02 北京字节跳动网络技术有限公司 自适应编码方法、装置、电子设备及计算机存储介质
CN111510740B (zh) * 2020-04-03 2022-08-30 咪咕文化科技有限公司 转码方法、装置、电子设备和计算机可读存储介质
CN112383777B (zh) * 2020-09-28 2023-09-05 北京达佳互联信息技术有限公司 视频编码方法、装置、电子设备及存储介质
CN112672157B (zh) * 2020-12-22 2022-08-05 广州博冠信息科技有限公司 视频编码方法、装置、设备及存储介质
CN113014922B (zh) * 2021-02-23 2023-04-07 北京百度网讯科技有限公司 模型训练、视频编码方法,装置,设备以及存储介质
CN113573101B (zh) * 2021-07-09 2023-11-28 百果园技术(新加坡)有限公司 视频编码方法、装置、设备及存储介质
CN116320529A (zh) * 2021-12-10 2023-06-23 深圳市中兴微电子技术有限公司 视频码率控制方法及装置、计算机可读存储介质
CN115225911B (zh) * 2022-08-19 2022-12-06 腾讯科技(深圳)有限公司 一种码率自适应方法、装置、计算机设备和存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101345867A (zh) * 2008-08-22 2009-01-14 四川长虹电器股份有限公司 一种基于帧复杂度的码率控制方法
CN101854526A (zh) * 2009-03-30 2010-10-06 国际商业机器公司 码率控制方法和编码控制器
CN105208390A (zh) * 2014-06-30 2015-12-30 杭州海康威视数字技术股份有限公司 视频编码的码率控制方法及其***
CN107371028A (zh) * 2017-08-22 2017-11-21 南京惟初信息科技有限公司 一种适应带宽的高质量视频编码方法
CN109286825A (zh) * 2018-12-14 2019-01-29 北京百度网讯科技有限公司 用于处理视频的方法和装置
CN109660795A (zh) * 2018-11-09 2019-04-19 建湖云飞数据科技有限公司 一种基于下采样的信息编码方法
CN109754077A (zh) * 2017-11-08 2019-05-14 杭州海康威视数字技术股份有限公司 深度神经网络的网络模型压缩方法、装置及计算机设备

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6950463B2 (en) * 2001-06-13 2005-09-27 Microsoft Corporation Non-compensated transcoding of a video stream
US8976857B2 (en) * 2011-09-23 2015-03-10 Microsoft Technology Licensing, Llc Quality-based video compression

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101345867A (zh) * 2008-08-22 2009-01-14 四川长虹电器股份有限公司 一种基于帧复杂度的码率控制方法
CN101854526A (zh) * 2009-03-30 2010-10-06 国际商业机器公司 码率控制方法和编码控制器
CN105208390A (zh) * 2014-06-30 2015-12-30 杭州海康威视数字技术股份有限公司 视频编码的码率控制方法及其***
CN107371028A (zh) * 2017-08-22 2017-11-21 南京惟初信息科技有限公司 一种适应带宽的高质量视频编码方法
CN109754077A (zh) * 2017-11-08 2019-05-14 杭州海康威视数字技术股份有限公司 深度神经网络的网络模型压缩方法、装置及计算机设备
CN109660795A (zh) * 2018-11-09 2019-04-19 建湖云飞数据科技有限公司 一种基于下采样的信息编码方法
CN109286825A (zh) * 2018-12-14 2019-01-29 北京百度网讯科技有限公司 用于处理视频的方法和装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
H.264码率/分辨率下采样转码的设计与实现;王晓楠;《中国优秀硕士学位论文全文数据库》;20100331;全文 *
视频编码量化预测及多模块的关联性度量;祝建英;《万方数据》;20131210;全文 *

Also Published As

Publication number Publication date
CN110650370A (zh) 2020-01-03

Similar Documents

Publication Publication Date Title
CN110650370B (zh) 一种视频编码参数确定方法、装置、电子设备及存储介质
CN110827253A (zh) 一种目标检测模型的训练方法、装置及电子设备
CN110536168B (zh) 视频上传方法、装置、电子设备及存储介质
CN106559712B (zh) 视频播放处理方法、装置及终端设备
CN110708559B (zh) 图像处理方法、装置及存储介质
CN106454413B (zh) 直播编码切换方法、装置及设备
CN109165738B (zh) 神经网络模型的优化方法及装置、电子设备和存储介质
CN108881952B (zh) 视频生成方法及装置、电子设备和存储介质
CN109275029B (zh) 视频流处理方法和装置、移动终端及存储介质
CN108171222B (zh) 一种基于多流神经网络的实时视频分类方法及装置
CN115052150A (zh) 视频编码方法、装置、电子设备和存储介质
CN111862995A (zh) 一种码率确定模型训练方法、码率确定方法及装置
CN112948704A (zh) 用于信息推荐的模型训练方法、装置、电子设备以及介质
CN110941727A (zh) 一种资源推荐方法、装置、电子设备及存储介质
CN108629814B (zh) 相机调整方法及装置
CN105392056A (zh) 电视情景模式的确定方法及装置
CN104539497B (zh) 网络连接方法及装置
CN111953980B (zh) 视频处理方法及装置
CN109120929A (zh) 一种视频编码、解码方法、装置、电子设备及***
CN109068138B (zh) 视频图像的处理方法及装置、电子设备和存储介质
CN111860552A (zh) 基于核自编码器的模型训练方法、装置及存储介质
CN108024005B (zh) 信息处理方法、装置、智能终端、服务器和***
CN110798721B (zh) 一种剧集管理方法、装置及电子设备
CN114422854A (zh) 一种数据处理方法、装置、电子设备及存储介质
CN108154092B (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