CN111277826B - 一种视频数据处理方法、装置及存储介质 - Google Patents

一种视频数据处理方法、装置及存储介质 Download PDF

Info

Publication number
CN111277826B
CN111277826B CN202010075679.6A CN202010075679A CN111277826B CN 111277826 B CN111277826 B CN 111277826B CN 202010075679 A CN202010075679 A CN 202010075679A CN 111277826 B CN111277826 B CN 111277826B
Authority
CN
China
Prior art keywords
video
parameter
video sequence
sample
coding
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
CN202010075679.6A
Other languages
English (en)
Other versions
CN111277826A (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202010075679.6A priority Critical patent/CN111277826B/zh
Publication of CN111277826A publication Critical patent/CN111277826A/zh
Application granted granted Critical
Publication of CN111277826B publication Critical patent/CN111277826B/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
    • 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/146Data rate or code amount at the encoder output
    • H04N19/149Data rate or code amount at the encoder output by estimating the code amount by means of a model, e.g. mathematical model or statistical model
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2187Live feed
    • 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/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • H04N21/4334Recording operations
    • 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
    • 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/8455Structuring of content, e.g. decomposing content into time segments involving pointers to the content, e.g. pointers to the I-frames of the video stream
    • 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)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本申请实施例公开一种视频数据处理方法、装置及存储介质,其中,方法包括:获取与视频源相关联的待编码视频序列;待编码视频序列包含第一视频属性参数对应的第一视频序列和第二视频属性参数对应的第二视频序列;对第一视频序列进行预编码处理,得到预编码视频序列,获取预编码视频序列的视频编码特征;根据视频编码特征和与待编码视频序列相关联的视频属性特征,确定与第一视频属性参数相关联的第一编码参数和与第二视频属性参数相关联的第二编码参数;根据第一编码参数、第一视频序列、第二编码参数和第二视频序列,得到与待编码视频序列相关联的编码视频序列。采用本申请实施例可以减少计算资源的浪费,并可以提高多路转码的效率。

Description

一种视频数据处理方法、装置及存储介质
技术领域
本申请涉及互联网技术领域,尤其涉及一种视频数据处理方法、装置及存储介质。
背景技术
目前,对于一些由帧序列构成的视频数据中,可以对具有不同分辨率的视频数据进行多路转码,以得到与每个视频数据相关联的多路转码码流。但是,在多路转码过程中,对于具有不同分辨率的任意一个视频数据(例如,视频数据A)而言,可以采用多个编码器分别对多路分辨率下的视频数据A进行多次预编码,以得到每一个分辨率下的视频数据A的视频编码特征。由于与每一路分辨率相关联的视频数据A为具有相同视频内容的视频数据;所以,在对与每一路分辨率相关联的视频数据A进行多路转码的过程中,会将每一路需要转码的视频序列都作为独立的视频数据进行对待,以至于多路转码的过程中,必然会不存在多次预编码,进而会存在多次特征提取的现象,进而导致在进行多路转码的过程中存在计算资源的浪费,从而降低了多路转码的效率。
发明内容
本申请实施例提供一种视频数据处理方法、装置及存储介质,可以减少计算资源的浪费消耗,并可以提高多路转码的效率。
本申请实施例一方面提供了一种视频数据处理方法,方法包括:
获取与视频源相关联的待编码视频序列;待编码视频序列包含第一视频属性参数对应的第一视频序列和第二视频属性参数对应的第二视频序列,且第一视频序列的视频内容与第二视频序列的视频内容相同;
对第一视频序列进行预编码处理,得到预编码视频序列,获取预编码视频序列的视频编码特征;
根据视频编码特征和与待编码视频序列相关联的视频属性特征,确定与第一视频属性参数相关联的第一编码参数和与第二视频属性参数相关联的第二编码参数;
根据第一编码参数、第一视频序列、第二编码参数和第二视频序列,得到与待编码视频序列相关联的编码视频序列。
其中,获取与视频源相关联的待编码视频序列,包括:
获取与视频源相关联的初始视频序列;初始视频序列是由对视频源进行场景检测时所得到的关键视频帧确定的;一个初始视频序列包含一个关键视频帧;
获取与视频源相关联的视频属性参数;视频属性参数包含第一视频属性参数和第二视频属性参数;
根据第一视频属性参数、第二视频属性参数以及初始视频序列,确定与视频属性参数相关联的待编码视频序列。
其中,第一视频属性参数包含第一分辨率;第二视频属性参数包含第二分辨率;
根据第一视频属性参数、第二视频属性参数以及初始视频序列,确定与视频属性参数相关联的待编码视频序列,包括:
根据第一分辨率对初始视频序列的分辨率进行缩放处理,将缩放处理后的初始视频序列确定为第一视频序列;
根据第二分辨率对初始视频序列的分辨率进行缩放处理,将缩放处理后的初始视频序列确定为第二视频序列;
将第一视频序列、第二视频序列,确定为与视频属性参数相关联的待编码视频序列。
其中,对第一视频序列进行预编码处理,得到预编码视频序列,获取预编码视频序列的视频编码特征,包括:
获取为初始视频序列配置的视频质量参数,将视频质量参数确定为与第一视频序列相关联的视频质量标准参数;
根据视频质量标准参数,获取用于对第一视频序列进行预编码的初始编码器;
根据初始编码器对第一视频序列进行预编码处理,得到与第一视频属性参数相关联的预编码视序列;预编码视频序列中包含关键视频帧和预测视频帧;
根据关键视频帧、预测视频帧、第一视频属性参数以及预编码视频序列的码率,确定预编码视频序列的视频编码特征。
其中,根据视频编码特征和与待编码视频序列相关联的视频属性特征,确定与第一视频属性参数相关联的第一编码参数和与第二视频属性参数相关联的第二编码参数,包括:
获取视频质量标准参数对应的目标质量类型,在与多个质量类型相关联的预测模型库中,将与目标质量类型相匹配的预测模型作为目标预测模型;
将第一视频属性参数对应的像素尺寸信息作为第一视频属性参数的第一视频属性特征,将第二视频属性参数对应的像素尺寸信息作为第二视频属性参数的第二视频属性特征;
将第一视频属性特征和第二视频属性特征作为与待编码视频序列相关联的视频属性特征;
将视频编码特征和视频属性特征输入目标预测模型,输出与第一视频属性参数相关联的第一编码参数和与第二视频属性参数相关联的第二编码参数。
其中,目标预测模型为神经网络模型;
将视频编码特征和视频属性特征输入目标预测模型,输出与第一视频属性参数相关联的第一编码参数和与第二视频属性参数相关联的第二编码参数,包括:
将视频编码特征和第一视频属性特征所构成的第一特征向量输入神经网络模型,输出与第一视频属性参数相关联的第一编码参数;
将视频编码特征和第二视频属性特征所构成的第二特征向量输入神经网络模型,输出与第二视频属性参数相关联的第二编码参数。
其中,神经网络模型包含第一隐藏层、第二隐藏层和输出层;
将视频编码特征和第一视频属性特征所构成的第一特征向量输入神经网络模型,输出与第一视频属性参数相关联的第一编码参数,包括:
将视频编码特征和第一视频属性特征所构成的第一特征向量输入神经网络模型的第一隐藏层,输出与第一视频属性参数相关联的第一归一化向量;
将第一特征向量和第一归一化向量进行向量拼接,得到第一拼接向量,将第一拼接向量输入第二隐藏层,输出与第一视频属性参数相关联的第一隐藏向量;
将第一隐藏向量输入输出层,输出第一隐藏向量与输出层中的多个参考视频特征之间的匹配度;
在匹配度中将与第一特征向量具有最高匹配度的参考视频特征作为第一参考视频特征,将与第一参考视频特征相关联的目标质量标签信息所对应的样本码率参数,作为与第一视频属性参数相关联的第一编码参数。
其中,将视频编码特征和第二视频属性特征所构成的第二特征向量输入神经网络模型,输出与第二视频属性参数相关联的第二编码参数,包括:
将视频编码特征和第二视频属性特征所构成的第二特征向量输入神经网络模型的第一隐藏层,输出与第二视频属性参数相关联的第二归一化向量;
将第二特征向量和第二归一化向量进行向量拼接,得到第二拼接向量,将第二拼接向量输入第二隐藏层,输出与第二视频属性参数相关联的第二隐藏向量;
将第二隐藏向量输入输出层,输出第二隐藏向量与输出层中的多个参考视频特征之间的匹配度;
在匹配度中将与第二特征向量具有最高匹配度的参考视频特征作为第二参考视频特征,将与第二参考视频特征相关联的目标质量标签信息所对应的样本码率信息,作为与第二视频属性参数相关联的第二编码参数。
其中,方法还包括:
获取与业务场景相关联的N个样本视频序列和N个样本视频序列的样本视频特征,获取与N个样本视频序列相关联的至少两个质量类型;N为正整数;一个样本视频特征为对一个样本视频序列进行预编码处理后所确定的;
从至少两个质量类型中获取目标质量类型,获取与目标质量类型相关联的样本码率参数;样本码率参数包含K1个样本码率信息;K1为正整数;
根据K1个样本码率参数对N个样本视频序列中的每个样本视频序列进行遍历编码,得到每个样本视频序列在K1个样本码率参数下的质量评估值;一个质量评估值为一个样本视频序列在一个样本码率信息下所确定的;
根据N×K1个质量评估值,确定与目标质量类型相关联的初始模型的目标质量标签信息,根据与目标质量标签信息相关联的样本视频特征和与视频属性参数相关联的样本属性特征,对初始模型进行训练,根据训练结果确定与目标质量类型相匹配的预测模型。
其中,根据N×K1个质量评估值,确定与目标质量类型相关联的初始模型的目标质量标签信息,根据与目标质量标签信息相关联的样本视频特征和与视频属性参数相关联的样本属性特征,对初始模型进行训练,根据训练结果确定与目标质量类型相匹配的预测模型,包括:
将N×K1个质量评估值中的每个质量评估值作为与目标质量类型相关联的初始质量标签信息;
根据在初始质量标签信息中所筛选出的与多项式拟合条件相匹配的初始质量标签信息,确定与目标质量类型相关联的初始模型的目标质量标签信息;
将与目标质量标签信息相关联的样本视频特征和与视频属性参数相关联的视频属性特征作为参考视频特征;
根据参考视频特征对初始模型进行训练,根据训练结果确定与目标质量类型相匹配的预测模型。
其中,根据在初始质量标签信息中所筛选出的与多项式拟合条件相匹配的初始质量标签信息,确定与目标质量类型相关联的初始模型的目标质量标签信息,包括:
从初始质量标签信息对应的N×K1个质量评估值中,获取与每个样本视频序列相关联的质量评估表;一个质量评估表中包含与一个样本视频序列相关联的K1个质量评估值,且一个质量评估值对应一个样本码率参数;
在质量评估表中,将质量评估值大于或者等于拟合阈值的质量评估值作为第一质量评估值,根据第一质量评估值和第一质量评估值对应的样本码率参数,确定与每个样本视频序列相关联的拟合系数;
从K1个样本码率参数中获取与多项式拟合条件相关联的K2个样本码率参数,根据拟合系数、K2个样本码率参数,从N个样本视频序列中,筛选与多项式拟合条件中的拟合曲线的单调性相匹配的样本视频序列,将筛选出的样本视频序列作为训练视频序列;
根据K2个样本码率参数对训练样本视频序列进行遍历编码,得到训练视频序列在K2个样本码率参数下的第二质量评估值,将第二质量评估值作为与目标质量类型相关联的初始模型的目标质量标签信息。
其中,第一编码参数包含第一编码码率,第二编码参数包含第二编码码率;
根据第一编码参数、第一视频序列、第二编码参数和第二视频序列,得到与待编码视频序列相关联的编码视频序列,包括:
根据第一编码码率对第一视频序列进行编码处理,得到第一编码视频序列;
根据第二编码码率对第二视频序列进行编码处理,得到第一编码视频序列;
将第一编码视频序列和第二编码视频序列,确定为与待编码视频序列相关联的编码视频序列。
本申请实施例一方面提供了一种视频数据处理装置,装置包括:
视频序列获取模块,用于获取与视频源相关联的待编码视频序列;待编码视频序列包含第一视频属性参数对应的第一视频序列和第二视频属性参数对应的第二视频序列,且第一视频序列的视频内容与第二视频序列的视频内容相同;
编码特征确定模块,用于对第一视频序列进行预编码处理,得到预编码视频序列,获取预编码视频序列的视频编码特征;
编码参数预测模块,用于根据视频编码特征和与待编码视频序列相关联的视频属性特征,确定与第一视频属性参数相关联的第一编码参数和与第二视频属性参数相关联的第二编码参数;
视频编码模块,用于根据第一编码参数、第一视频序列、第二编码参数和第二视频序列,得到与待编码视频序列相关联的编码视频序列。
其中,视频序列获取模块包括:
初始序列获取单元,用于获取与视频源相关联的初始视频序列;初始视频序列是由对视频源进行场景检测时所得到的关键视频帧确定的;一个初始视频序列包含一个关键视频帧;
属性参数获取单元,用于获取与视频源相关联的视频属性参数;视频属性参数包含第一视频属性参数和第二视频属性参数;
待编码序列确定单元,用于根据第一视频属性参数、第二视频属性参数以及初始视频序列,确定与视频属性参数相关联的待编码视频序列。
其中,第一视频属性参数包含第一分辨率;第二视频属性参数包含第二分辨率;
待编码序列确定单元包括:
第一序列确定子单元,用于根据第一分辨率对初始视频序列的分辨率进行缩放处理,将缩放处理后的初始视频序列确定为第一视频序列;
第二序列确定子单元,用于根据第二分辨率对初始视频序列的分辨率进行缩放处理,将缩放处理后的初始视频序列确定为第二视频序列;
待编码序列子单元,用于将第一视频序列、第二视频序列,确定为与视频属性参数相关联的待编码视频序列。
其中,编码特征确定模块包括:
质量参数获取单元,用于获取为初始视频序列配置的视频质量参数,将视频质量参数确定为与第一视频序列相关联的视频质量标准参数;
编码器获取单元,用于根据视频质量标准参数,获取用于对第一视频序列进行预编码的初始编码器;
预编码单元,用于根据初始编码器对第一视频序列进行预编码处理,得到与第一视频属性参数相关联的预编码视序列;预编码视频序列中包含关键视频帧和预测视频帧;
编码特征确定单元,用于根据关键视频帧、预测视频帧、第一视频属性参数以及预编码视频序列的码率,确定预编码视频序列的视频编码特征。
其中,编码参数预测模块包括:
目标模型确定单元,用于获取视频质量标准参数对应的目标质量类型,在与多个质量类型相关联的预测模型库中,将与目标质量类型相匹配的预测模型作为目标预测模型;
像素尺寸确定单元,用于将第一视频属性参数对应的像素尺寸信息作为第一视频属性参数的第一视频属性特征,将第二视频属性参数对应的像素尺寸信息作为第二视频属性参数的第二视频属性特征;
属性特征确定单元,用于将第一视频属性特征和第二视频属性特征作为与待编码视频序列相关联的视频属性特征;
编码参数确定单元,用于将视频编码特征和视频属性特征输入目标预测模型,输出与第一视频属性参数相关联的第一编码参数和与第二视频属性参数相关联的第二编码参数。
其中,目标预测模型为神经网络模型;
编码参数确定单元包括:
第一参数输出子单元,用于将视频编码特征和第一视频属性特征所构成的第一特征向量输入神经网络模型,输出与第一视频属性参数相关联的第一编码参数;
第二参数输出子单元,用于将视频编码特征和第二视频属性特征所构成的第二特征向量输入神经网络模型,输出与第二视频属性参数相关联的第二编码参数。
其中,神经网络模型包含第一隐藏层、第二隐藏层和输出层;
第一参数输出子单元包括:
第一归一化子单元,用于将视频编码特征和第一视频属性特征所构成的第一特征向量输入神经网络模型的第一隐藏层,输出与第一视频属性参数相关联的第一归一化向量;
第一向量拼接子单元,用于将第一特征向量和第一归一化向量进行向量拼接,得到第一拼接向量,将第一拼接向量输入第二隐藏层,输出与第一视频属性参数相关联的第一隐藏向量;
第一匹配度输出子单元,用于将第一隐藏向量输入输出层,输出第一隐藏向量与输出层中的多个参考视频特征之间的匹配度;
第一参数确定子单元,用于在匹配度中将与第一特征向量具有最高匹配度的参考视频特征作为第一参考视频特征,将与第一参考视频特征相关联的目标质量标签信息所对应的样本码率参数,作为与第一视频属性参数相关联的第一编码参数。
其中,第二参数输出子单元包括:
第二归一化子单元,用于将视频编码特征和第二视频属性特征所构成的第二特征向量输入神经网络模型的第一隐藏层,输出与第二视频属性参数相关联的第二归一化向量;
第二向量拼接子单元,用于将第二特征向量和第二归一化向量进行向量拼接,得到第二拼接向量,将第二拼接向量输入第二隐藏层,输出与第二视频属性参数相关联的第二隐藏向量;
第二匹配度输出子单元,用于将第二隐藏向量输入输出层,输出第二隐藏向量与输出层中的多个参考视频特征之间的匹配度;
第二参数确定子单元,用于在匹配度中将与第二特征向量具有最高匹配度的参考视频特征作为第二参考视频特征,将与第二参考视频特征相关联的目标质量标签信息所对应的样本码率信息,作为与第二视频属性参数相关联的第二编码参数。
其中,编码参数预测模块还包括:
样本特征获取单元,用于获取与业务场景相关联的N个样本视频序列和N个样本视频序列的样本视频特征,获取与N个样本视频序列相关联的至少两个质量类型;N为正整数;一个样本视频特征为对一个样本视频序列进行预编码处理后所确定的;
样本参数获取单元,用于从至少两个质量类型中获取目标质量类型,获取与目标质量类型相关联的样本码率参数;样本码率参数包含K1个样本码率信息;K1为正整数;
遍历编码单元,用于根据K1个样本码率参数对N个样本视频序列中的每个样本视频序列进行遍历编码,得到每个样本视频序列在K1个样本码率参数下的质量评估值;一个质量评估值为一个样本视频序列在一个样本码率信息下所确定的;
模型训练单元,用于根据N×K1个质量评估值,确定与目标质量类型相关联的初始模型的目标质量标签信息,根据与目标质量标签信息相关联的样本视频特征和与视频属性参数相关联的样本属性特征,对初始模型进行训练,根据训练结果确定与目标质量类型相匹配的预测模型。
其中,模型训练单元包括:
初始标签确定子单元,用于将N×K1个质量评估值中的每个质量评估值作为与目标质量类型相关联的初始质量标签信息;
目标标签确定子单元,用于根据在初始质量标签信息中所筛选出的与多项式拟合条件相匹配的初始质量标签信息,确定与目标质量类型相关联的初始模型的目标质量标签信息;
参考特征确定子单元,用于将与目标质量标签信息相关联的样本视频特征和与视频属性参数相关联的视频属性特征作为参考视频特征;
模型训练子单元,用于根据参考视频特征对初始模型进行训练,根据训练结果确定与目标质量类型相匹配的预测模型。
其中,目标标签确定子单元包括:
评估表获取子单元,用于从初始质量标签信息对应的N×K1个质量评估值中,获取与每个样本视频序列相关联的质量评估表;一个质量评估表中包含与一个样本视频序列相关联的K1个质量评估值,且一个质量评估值对应一个样本码率参数;
拟合系数确定子单元,用于在质量评估表中,将质量评估值大于或者等于拟合阈值的质量评估值作为第一质量评估值,根据第一质量评估值和第一质量评估值对应的样本码率参数,确定与每个样本视频序列相关联的拟合系数;
样本筛选子单元,用于从K1个样本码率参数中获取与多项式拟合条件相关联的K2个样本码率参数,根据拟合系数、K2个样本码率参数,从N个样本视频序列中,筛选与多项式拟合条件中的拟合曲线的单调性相匹配的样本视频序列,将筛选出的样本视频序列作为训练视频序列;
编码确定子单子,用于根据K2个样本码率参数对训练样本视频序列进行遍历编码,得到训练视频序列在K2个样本码率参数下的第二质量评估值,将第二质量评估值作为与目标质量类型相关联的初始模型的目标质量标签信息。
其中,第一编码参数包含第一编码码率,第二编码参数包含第二编码码率;
视频编码模块包括:
第一编码单元,用于根据第一编码码率对第一视频序列进行编码处理,得到第一编码视频序列;
第二编码单元,用于根据第二编码码率对第二视频序列进行编码处理,得到第一编码视频序列;
编码序列确定单元,用于将第一编码视频序列和第二编码视频序列,确定为与待编码视频序列相关联的编码视频序列。
本申请实施例一方面提供了一种计算机设备,计算机设备包括:处理器、存储器以及网络接口;
处理器与存储器、网络接口相连,其中,网络接口用于提供数据通信功能,存储器用于存储程序代码,处理器用于调用程序代码,以执行如本申请实施例一方面中的方法。
本申请实施例一方面提供了一种计算机存储介质,计算机存储介质存储有计算机程序,计算机程序包括程序指令,当处理器执行程序指令时执行如本申请实施例一方面中的方法。
本申请实施例可以获取与视频源相关联的待编码视频序列;其中,待编码视频序列包含第一视频属性参数对应的第一视频序列和第二视频属性参数对应的第二视频序列,且第一视频序列的视频内容与第二视频序列的视频内容相同;进一步的,对第一视频序列进行预编码处理,得到预编码视频序列,获取预编码视频序列的视频编码特征;进一步的,根据视频编码特征和与待编码视频序列相关联的视频属性特征,确定与第一视频属性参数相关联的第一编码参数和与第二视频属性参数相关联的第二编码参数;进一步的,根据第一编码参数、第一视频序列、第二编码参数和第二视频序列,得到与待编码视频序列相关联的编码视频序列。由此可见,本申请实施例可以对单个视频属性参数(例如,单个分辨率)下的第一视频序列的视频特征进行一次特征提取,从而可以根据提取到的这个分辨率所对应的视频编码特征和与待编码视频序列相关联的视频属性特征(比如,与第一视频序列相关联的分辨率的像素尺寸特征和与第二视频序列相关联的分辨率的像素尺寸特征),快速预测得到多路内容相同、且分辨率不同的视频序列的编码参数。换言之,本申请实施例在进行多路转码的过程中,通过引入与待编码视频序列相关联的视频属性特征,可以有效地实现对不同分辨率下的具有相同视频内容的视频序列的进行特征区别,从而无需对具有同一视频内容的视频片段进行多次预编码,即可以无需重复地进行特征提取,进而可以减少多路转码过程中的计算资源的消耗,并可以提高多路转码的效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种网络架构的结构示意图;
图2是本申请实施例提供的一种进行多路式转码的场景示意图;
图3是本申请实施例提供的一种视频数据处理方法的流程示意图;
图4是本申请实施例提供的一种通过神经网络模型预测编码参数的场景示意图;
图5是本申请实施例提供的一种视频数据处理方法的示意图;
图6是本申请实施例提供的一种确定训练视频序列的场景示意图;
图7是本申请实施例提供的一种获取目标质量标签信息的场景示意图;
图8是本申请实施例提供的一种预测编码参数与实际编码参数的对比曲线图;
图9是本申请实施例提供的一种视频数据处理装置的结构示意图;
图10是本申请实施例提供的一种计算机设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
请参见图1,是本申请实施例提供的一种网络架构的结构示意图。如图1所示,网络架构可以包括服务器集群和用户终端集群,用户终端集群可以包括多个用户终端,如图1所示,具体可以包括用户终端3000a、用户终端3000b、用户终端3000c、…、用户终端3000n;如图1所示,用户终端3000a、用户终端3000b、用户终端3000c、…、用户终端3000n可以分别与服务器集群中的任意一服务器进行网络连接,以便于每个用户终端可以通过该网络连接与相应服务器之间进行数据交互。
为便于理解,本申请实施例可以在图1所示的多个用户终端中选择一个用户终端作为目标用户终端,该目标用户终端可以包括:智能手机、平板电脑、笔记本电脑、智能电视、智能手表、智能手环、桌上型电脑等携带视频数据采集功能(例如,视频数据录制功能等)的智能终端。例如,本申请实施例可以将图1所示的用户终端3000a称之为目标用户终端,该目标用户终端中可以集成有具备视频数据录制功能的目标客户端。其中,应当理解,集成在该目标用户终端中的目标客户端可以包括即时通讯客户端(例如,微信客户端、QQ客户端)、多媒体客户端(例如,视频播放客户端)、娱乐客户端(例如,游戏客户端)、虚拟房间客户端(例如,直播客户端)等具有帧序列(例如,视频数据)加载和录制功能的客户端。
其中,可以理解的是,本申请实施例可以将该目标用户终端通过浏览器页面或者目标客户端所采集到的视频数据统称为源视频数据(该源视频数据也可以称之为视频源),并可以进一步通过上述网络连接将这个视频源上传给上述服务器集群中的任意一个服务器。其中,本申请实施例可以将该服务器集群中的任意一个服务器统称为业务服务器。
其中,与视频源相关联的业务场景可以具体包含视频播放客户端或者视频网页下的视频点播场景,也可以包含视频直播客户端下的视频直播场景;可选的,业务场景还可以具体包含即时通信客户端下的视频通话和视频会议等应用场景,这里将不对具体的业务场景进行限定。
其中,应当理解,一个业务场景可以对应一个转码数据库。比如,在视频点播场景下,本申请实施例可以将目标用户终端(例如,视频素材终端)所上传的点播视频源(例如,点播视频源A)添加到业务数据库中的第一转码数据库,以便于后续可以对存在在该第一转码数据库中的点播视频源进行批量性的切片处理;又比如,在视频直播场景下,本申请实施例可以将目标用户终端(例如,主播终端)在视频直播的过程中所录制的完整的直播视频源(例如,直播视频源B)添加至第二转码数据库,比如,目标用户终端可以在录制好完整的直播视频数据时,将录制的完整的直播视频数据作为直播视频源上传给服务器。这样,在上述分布式转码系统中的服务器可以基于第一切片分割规则分别对这些转码数据库中的视频源进行切片处理,以得到与点播视频源A相关联的视频片段(例如,视频片段A1和视频片段A2),还可以得到与直播视频源B相关联的视频片段(例如,视频片段B3和视频片段B4)。其中,第一切片分割规则可以是指服务器可以通过时间长度或者镜头内容等方式,将存储在转码数据库中的视频源切分成若干个视频片段,这里将不对切片处理后的视频片段的具体数量进行限定。
可选的,在上述视频直播场景下,由该目标用户终端上传至服务器的源视频数据还可以为在视频直播过程中所持续性录制到的直播视频源,即目标用户终端(即主播终端)可以将实时录制的直播视频源上传给服务器,这时,服务器在获取到这种实时录制的直播视频源时,可以基于第二切片分割规则直接在该服务器中对持续性获取到的直播视频源进行场景检测,以持续性地确定出的与直播视频源相关联的视频片段进行多路转码,以提高多路转码的实时性。又比如,在视频通话场景下,服务器也可以通过该第二切片分割规则对视频通话场景下的收发视频源进行场景检测,以在该服务器中持续性确定出与收发视频源(即视频通话时所发送的视频源和接收到的视频源)相关联的视频片段进行多路转码,以提高多路转码的实时性,并可以确保通信双方所获取到的视频数据的视频质量。
其中,可以理解的是,该服务器集群中的服务器可以根据业务场景的不同,自适应地选择相应的切片分割规则对视频源进行切片处理,以得到与视频源相关联的视频片段。其中,可以理解的是,本申请实施例中的与视频源相关联的视频片段的数量可以为一个,也可以为多个,这里将不对视频片段的具体数量进行限制。应当理解,本申请实施例可以将与视频源相关联的视频片段中的每个视频片段统称为初始视频序列。其中,可以理解的是,一个初始视频序列可以包含一个关键视频帧和至少一个预测视频帧。
为便于理解,本申请实施例以上述业务场景为视频点播场景为例,以阐述在上述任意一个服务器中对获取到的视频片段进行多路转码的具体过程。为便于理解,本申请实施例以从上述服务器集群中选择一个服务器作为目标服务器(例如,图1所示的服务器20d)为例,以阐述在该服务器20d中对与上述视频源相关联的视频片段进行多路转码的具体过程。其中,该目标服务器可以用于接收分布式转码系统中其他服务器所下发的视频片段,可选的,该目标服务器还可以用于根据场景检测规则对获取到的视频源进行场景检测,以在该目标服务器中将视频源划分为多个视频片段。一个视频片段可以对应一个镜头。
进一步的,该服务器20d(即目标服务器)还可以将这些视频源的视频片段(即若干个视频片段)分发给该分布式转码系统中其他服务器,以在其他服务器中同步对与每个视频源相关联的视频片段进行多路转码,以提高多路转码的效率。比如,服务器20d可以将点播视频源A相关联视频片段A1分发给服务器20a,将视频片段A2分发给服务器20b;又比如,服务器20d可以将直播视频源B相关联的视频片段B3分发给服务器20b,将视频片段B4分发给服务器20c。
其中,可以理解的是,在目标服务器获取到与视频源相关联的视频片段(即前述初始视频序列)时,可以根据与视频源相关联的视频属性参数(例如,分辨率),对初始视频序列进行预处理,比如可以根据在目标客户端或者网页中播放视频数据所需要的多个分辨率,分别将该第一视频序列的分辨率缩放到不同分辨率,以得到与每个分辨率相关联的待编码视频序列。其中,为便于理解,本申请实施例以在腾讯视频客户端中播放某个视频数据时所需要的视频属性参数包含1080p、720p、540p、270p等分辨率为例,以阐述在不同分辨率下对具有相同视频内容的视频片段进行多路转码的具体过程。其中,分辨率为1080p时的图像的像素尺寸信息可以为1920×1080;分辨率为720p时的图像的像素尺寸信息可以为1280×720;分辨率为480p时的图像的像素尺寸信息可以为640×480;分辨率为270p时的图像的像素尺寸信息可以为480×270。
为便于理解,进一步的,请参见图2,是本申请实施例提供的一种进行多路转码的场景示意图。如图2所示的业务服务器可以为分布式转码系统中的任意一个服务器,例如,上述图1所对应实施例中的服务器20a。可以理解的是,该服务器20a在获取到图2所示的视频片段(即上述初始视频序列)时,可以根据与视频源相关联的视频属性参数(例如,图2所示的分辨率1、分辨率2、分辨率3和分辨率4),对该视频片段(即初始视频序列)的分辨率(例如,分辨率5)进行缩放处理,以得到图2所示的视频序列1a、视频序列2a、视频序列3a、视频序列4a。
其中,可以理解的是,本申请实施例可以将与一个视频属性参数(例如,一个分辨率)对应的一个视频序列称之为待编码视频序列,即可以将与分辨率1对应的视频序列1a、与分辨率2对应的视频序列2a、与分辨率3对应的视频序列3a、与分辨率4对应的视频序列4a统称为待编码视频序列。应当理解,这里的待编码视频序列(即视频序列1a、视频序列2a、视频序列3a、视频序列4a)是指具有不同分辨率但具有相同视频内容的视频序列。
如图2所示,为了减少多路转码过程中的计算资源的浪费以及提高多路转码的效率,本申请实施例提出了一种改进的多路转码框架,通过该改进的多路转码框架可以对指定的单个分辨率下的第一视频序列(即图2所示的视频序列3a)进行一次预编码,以从预编码视频序列中提取得到图2所示的视频编码特征3b,进而可以基于该单分辨率下的视频编码特征预测与多分辨率相关联的编码参数,换言之,本申请实施例可以不用对具有相同视频内容的不同分辨率下的各待编码视频序列的视频编码特征进行重复的特征提取,进而可以减少计算资源的浪费。
采用图2所示的多路转码框架中的目标预测模型,可以根据单个分辨率(即图2所示的分辨率3)所对应的视频编码特征和与待编码视频序列相关联的视频属性特征,快速预测与这个分辨率(即分辨率3)相关联的编码参数(即图2所示的编码参数3c),还可以同步预测不同于这个分辨率3的其他分辨率所关联的编码参数。比如,可以预测得到与分辨率1相关联的编码参数1c、与分辨率2相关联的编码参数2c、与分辨率4相关联的编码参数4c。
其中,本申请实施例可以将用于进行预编码的待编码视频序列(即图2所示的视频序列3a)称之为第一视频序列,将无需进行预编码的其他的待编码视频序列(即视频序列1a、视频序列2a、视频序列4a)统称为第二视频序列。可以理解的是,本申请实施例可以将与第一视频序列相关联的分辨率(例如,分辨率3)可以统称为第一视频属性参数,将与第二视频序列相关联的分辨率(例如,分辨率1、分辨率2、分辨率3)统称为第二视频属性参数。另外,本申请实施例可以将与第一视频序列相关联的编码参数(例如,编码参数3c)称之为第一编码参数,以此类推,可以将与第二视频序列相关联的编码参数称之为第二编码参数。
由此可见,采用图2所示的目标预测模型可以有效地对不同分辨率所对应的视频特征(即视频编码特征和视频属性特征所构成的特征向量)进行区别,进而可以确保通过该目标预测模型所预测得到的多个分辨率下的编码参数的准确性,进而可以根据预测得到的编码参数对相应待编码视频序列进行编码处理,以实现对图2所示的不同分辨率下的视频片段的多路转码。
其中,应当理解,本申请实施例可以将图2所示的视频片段在一个分辨率上的转码操作称之为一路转码,从而可以将这个视频片段在多个分辨率(例如,1080p、720p、540p、270p)上的转码操作称之为多路转码,通过对同一视频片段(即获取到的初始视频序列)进行多路转码,可以快速得到图2所示的多个编码码流。多个转码码流具体可以包含图2所示的编码序列1d、编码序列2d、编码序列3d、编码序列4d。
可以理解的是,在分布式转码系统中,业务服务器在对该初始视频序列(即图2所示的视频片段)进行多路转码之前,该业务服务器还可以获取为该视频片段配置相应的质量类型以及质量类型对应的视频质量参数。其中,本申请实施例中的质量类型可以包含以下至少一个质量类型:第一质量类型、第二质量类型、第三质量类型和第四质量类型。其中,可以理解的是,这四种质量类型均可以用于对相应视频片段中的视频图像的视频质量进行评估,且本申请实施例可以将评估所得到的分数统称为相应质量类型下的视频质量参数。
其中,第一质量类型可以为VMAF(Video Multi-Method Assessment Fusion,视频质量多方法融合)类型。其中,第二服务器(即上述业务服务器)为第一视频序列所配置的VMAF类型下的视频质量标准参数(这里指在VMAF类型下所设定的质量评估值)可以为0~100的取值范围中的任意一个,例如,VMAF 90。可以理解的是,VMAF类型下所设定的质量评估值的取值越大,则表征最终所输出的编码码流的视频质量越好。
其中,第二质量类型可以为SSIM(Structural Similarity,结构相似性指标)类型;其中,第二服务器(即上述业务服务器)为第一视频序列所配置的SSIM类型下的视频质量标准参数(这里指在SSIM类型下所设定的质量评估值)可以为0~1的取值范围中的任意一个,例如,SSIM 0.987。可以理解的是,SSIM类型下所设定的质量评估值的取值越大,则表征最终所输出的编码码流的视频质量越好。
其中,第三质量类型可以为PNSR(Peak Signal to Noise Ratio,峰值信噪比)类型;其中,第二服务器(即上述业务服务器)为第一视频序列所配置的PNSR类型下的视频质量标准参数(这里指在PNSR类型下所设定的质量评估值)可以为0~100的取值范围中的任意一个,例如,PNSR 40。
其中,第四质量类型可以为MOS(Mean Opinion Score,平均意见分)类型;其中,第二服务器(即上述业务服务器)为第一视频序列所配置的MOS类型下的视频质量标准参数(这里指在MOS类型下所设定的质量评估值)可以为1~5的取值范围中的任意一个,例如,MOS 4。
可以理解的是,本申请实施例中可以将为上述视频片段所配置的质量类型统称为目标质量类型。例如,图2所示的业务服务器为视频片段所配置的目标质量类型可以为VMAF类型、SSIM类型、PSNR类型和MOS类型中的任意一个质量类型。可以理解的是,本申请实施例可以在设定好目标质量类型时,通过上述目标预测模型输出在特定视频质量下的编码参数,比如,可以在目标质量类型的视频质量标准参数为VMAF 90时,通过与该目标质量类型相匹配的目标预测模型快速且准确地预测出不同分辨率下的编码码率。
其中,业务服务器获取待编码视频序列、通过预编码得到预编码视频序列的视频编码特征、以及基于视频编码特征和视频属性特征预测第一编码参数和第二编码参数的具体实现方式可以参见如下图3至图8所对应的实施例。
进一步地,请参见图3,是本申请实施例提供的一种视频数据处理方法的流程示意图。如图3所示,方法可以由具备视频数据处理功能的视频数据处理装置执行,该方法至少可以包括步骤S101-步骤S104:
步骤S101,获取与视频源相关联的待编码视频序列;
具体的,视频数据处理装置可以获取与视频源相关联的初始视频序列;其中,初始视频序列可以是由对视频源进行场景检测时所得到的关键视频帧确定的;一个初始视频序列包含一个关键视频帧;进一步的,视频数据处理装置可以获取与视频源相关联的视频属性参数;其中,视频属性参数包含第一视频属性参数和第二视频属性参数;进一步的,视频数据处理装置可以根据第一视频属性参数、第二视频属性参数以及初始视频序列,确定与视频属性参数相关联的待编码视频序列。
其中,可以理解的是,该具备视频数据处理功能的视频数据处理装置可以运行在上述服务器集群中的任意一个服务器上,例如,可以运行在上述图2所对应实施例中的业务服务器上。为便于理解,本申请实施例以获取到初始视频序列的业务服务器为上述服务器20a为例,以阐述在该服务器20a中获取待编码视频序列的具体过程。其中,本申请实施例中的待编码视频序列可以包含第一视频属性参数对应的第一视频序列和第二视频属性参数对应的第二视频序列,且第一视频序列的视频内容与第二视频序列的视频内容相同;
其中,第一视频属性参数可以包含第一分辨率;第二视频属性参数可以包含第二分辨率;此时,运行有视频数据处理装置的服务器确定与视频属性参数相关联的待编码视频序列的具体过程可以描述为:根据第一分辨率对初始视频序列的分辨率进行缩放处理,将缩放处理后的初始视频序列确定为第一视频序列;进一步的,根据第二分辨率对初始视频序列的分辨率进行缩放处理,将缩放处理后的初始视频序列确定为第二视频序列;进一步的,将第一视频序列、第二视频序列,确定为与视频属性参数相关联的待编码视频序列。
其中,为便于理解,本申请实施例以该第一视频属性参数为上述图2所对应实施例中的分辨率3为例,该分辨率3可以为720p,此时,第一视频序列可以为上述图2所对应实施例中的视频序列3a。其中,该第二视频属性参数可以为上述图2所对应实施例中的分辨率4,该分辨率4可以为1080p,此时,第二视频序列可以为上述图2所对应实施例中的视频序列4a;可选的,该第二视频属性参数还可以为上述图2所对应实施例中的分辨率1,该分辨率1可以为270p,此时,第二视频序列可以为上述图2所对应实施例中的视频序列1a;可选的,该第二视频属性参数还可以为上述图2所对应实施例中的分辨率2,该分辨率2可以为540p,此时,第二视频序列可以为上述图2所对应实施例中的视频序列2a。
其中,需要注意的是,这里的第一视频序列(例如,视频序列3a)可以为需要进行预编码的视频序列,这里的第二视频序列可以为无需进行预编码的视频序列。为便于理解,本申请实施例以第二视频序列为与上述分辨率1080p相关联的视频序列4a为例,以阐述在服务器(即服务器20a)中基于单个分辨率下的视频编码特征预测多分辨率下的编码参数的具体过程。
其中,可以理解的是,服务器在获取到上述第一视频序列和上述第二视频序列之后,可以进一步执行下述步骤S102-步骤S104。
步骤S102,对第一视频序列进行预编码处理,得到预编码视频序列,获取预编码视频序列的视频编码特征。
具体的,视频数据处理装置可以获取为初始视频序列配置的视频质量参数,将视频质量参数确定为与第一视频序列相关联的视频质量标准参数;进一步的,视频数据处理装置可以根据视频质量标准参数,获取用于对第一视频序列进行预编码的初始编码器;进一步的,视频数据处理装置可以根据初始编码器对第一视频序列进行预编码处理,得到与第一视频属性参数相关联的预编码视序列;预编码视频序列中包含关键视频帧和预测视频帧;进一步的,视频数据处理装置可以根据关键视频帧、预测视频帧、第一视频属性参数以及预编码视频序列的码率,确定预编码视频序列的视频编码特征。
可以理解的是,本申请实施例通过对第一视频属性参对应的第一视频序列进行一次预编码,可以快速得到与该第一视频序列相关联的编码视频特征,从而可以避免对不同分辨率下具有相同视频内容的第一视频序列和第二视频序列进行多次特征提取,这样,可以有效地减少计算资源的浪费。为便于理解,本申请实施例以对上述图2所示的视频序列3a(即第一视频序列)进行预编码为例,以对得到视频编码特征的具体过程进行阐述。可以理解的是,运行有该视频数据处理装置的服务器在获取到初始视频序列(即上述视频片段)时,可以同步获取为该视频片段所配置的视频质量参数,并可以将为该视频片段所配置的视频质量参数,作为该第一视频序列的视频质量标准参数(例如,上述VMAF90)。
可以理解的是,该服务器可以根据该视频质量标准参数(例如,上述VMAF90),获取用于对视频序列3a(即第一视频序列)进行预编码的初始编码器,并可以根据初始编码器对第一视频序列进行预编码处理,以得到与第一视频属性参数相关联的预编码视序列;其中,预编码视频序列中可以包含关键视频帧和预测视频帧;可以理解的是,这里的预编码视频序列中可以包含一个关键视频帧和至少一个预测视频帧。进一步的,服务器可以根据关键视频帧、预测视频帧、预编码视频序列的分辨率(即第一视频属性参数)以及预编码视频序列的码率,快速确定预编码视频序列的视频编码特征。
其中,可以理解的是,该服务器可以保存对视频序列3a(即第一视频序列)进行预编码处理过程中所得到的编码信息,并可以将保存得到的预编码视频序列的编码信息统称为该视频序列3a的视频编码特征。其中,该视频序列3a的视频特征可以为上述图2所示的视频特征3b。
其中,在预编码视频序列包含前向预测帧(即P帧)时,该服务器获取预编码视频序列的编码信息的具体过程可以描述为:服务器可以获取对前向预测帧进行帧间压缩时所选取的关键视频帧,并可以将选取到的关键视频帧确定为前向预测帧对应的参考视频帧;进一步的,服务器可以将参考视频帧的总选取数量确定为第一数量,并可以将关键视频帧的总数量确定为第二数量,并可以将前向预测帧的总数量确定为第三数量;进一步的,服务器可以根据关键视频帧对应的数据容量、第二数量,确定关键视频帧的第一平均数据容量,根据前向预测帧对应的数据容量、第三数量,确定前向预测帧的第二平均数据容量;进一步的,服务器可以从关键视频帧对应的数据容量中获取最大数据容量,将第一平均数据容量与最大数据容量之间的比值,作为预编码视频序列的空域复杂度,将第二平均数据容量与第一平均数据容量之间的比值,确定为预编码视频序列的时域复杂度;进一步的,服务器可以将第一数量、第二数量、第三数量、空域复杂度、时域复杂度以及预编码码视频序列的分辨率(比如,上述720p)和预编码码视频序列的码率,确定为预编码视频序列的编码信息。
其中,可以理解的是,在上述视频点播场景下,运行有上述视频数据处理装置的服务器可以对上述图2所示的视频序列3a(即第一码视频序列)进行一次完整的预编码,以在对该视频序列3a进行预编码处理的过程中,保存与该视频序列3a相关联的预编码视频序列的编码信息。其中,可以理解的是,在对视频序列3a进行预编码处理过程中所采用的压缩方式不同,就可以得到不同类别的编码视频帧,比如,可以通过帧内编码得到I帧(即Intracoded frames,帧内编码帧),还可以通过帧间编码得到P帧(Predicted frames,前向预测帧)和B帧(Bi-directional predicted frames,双向预测帧)。其中,本申请实施例可以将帧内编码所得到的I帧统称为上述关键视频帧,并可以将P帧或者B帧统称为上述预测视频帧。
其中,本申请实施例可以利用视频序列3a的单个视频帧内的空间相关性编码输出I帧。即在进行帧内压缩的过程中,可以无需考虑时间上的相关性,也不用考虑运动补偿。此外,应当理解,编码所得到I帧还可以作为后续进行视频解码时的基准帧。应当理解。I帧图像可以周期性地出现在该视频序列3a中,且出现频率可以由初始编码器的插入周期所确定。可以理解的是,根据插入周期可以确定与该第一视频序列(即视频序列3a)相关联的帧组,一个帧组即可以视为一个场景。
其中,P帧(即P帧图像)和B帧(即B帧图像)可以采用帧间编码方式进行帧间压缩,即可以同时利用空间和时间上的相关性。比如,P帧图像可以采用前向时间预测,以提高压缩效率和图像质量。P帧图像中的每一个宏块可以为根据P帧最接近的I帧(这里的I帧可以视为参考视频帧)进行前向预测后所得到的。其中,B帧图像是通过双向时间预测所得到的,即B帧图像可以将与B帧最接近的I帧图像或最接近的P帧图像作为进行双向预测的另一种参考视频帧。比如,B帧图像可以采用未来帧(即在B帧图像之后的且与B帧相邻最近的已编码的P帧或者I帧)作为参考。因此,在通过初始编码器对第一视频序列中的视频帧进行预编码处理的过程中,显示在每个帧组中的编码视频帧的传输顺序和显示顺序是不同的。比如,在视频序列3a对应的预编码视频序列中,编码视频帧的显示顺序(即编码顺序)可以是:I BB P。但是考虑到前述预测帧P帧在进行解码的过程中,需要依赖于I帧,且双向预测帧(即B帧)在解码的过程中,需要在解码B帧时知道P帧和I帧中信息,所以,这几帧在预编码视频序列中的解码顺序可能是:I P B B。所以,通过对该视频序列3a进行预编码,可以快速统计得到预编码视频序列的编码信息。其中,可以理解的是,与该视频序列3a(第一视频序列)相关联的预编码视频序列的编码信息可以包含预编码视频序列的关键编码信息、预编码视频序列的空域复杂度、预编码视频序列的时域复杂度等。其中,预编码视频序列的关键编码信息具体可以包含预编码视频序列的分辨率(例如,上述720p)、码率、关键视频帧的个数、预测视频帧的个数、参考帧的个数等。
其中,该预编码视频序列的分辨率可以为上述分辨率3。其中,该预编码视频序列的码率可以为预编码过程中所直接统计到的码率。其中,该视频序列3a中可以包含多个场景、每个场景可以对应一个关键视频帧和至少一个预测视频帧。这里的至少一个预测视频帧可以为P帧(即前向预测帧)。其中,本申请实施例可以将在对前向预测帧(即P帧)进行帧间编码时所采用的关键视频帧统称为参考视频帧,即本申请实施例在进行预编码的过程中,每使用一次关键视频帧则可以将参考视频帧的个数进行加一处理,进而可以将预编码完成时所最终统计到的参考视频帧的总选取数量确定为第一数量。此外,本申请实施例也可以将在预编码过程中所统计到的关键视频帧的个数(即关键视频帧的总数量)统称为第二数量,并可以将在预编码过程中所统计到的前向预测帧的个数(即前向预测帧的总数量)统称为第三数量。
进一步的,该第一服务器还可以通过下述公式(1)计算得到该预编码视频序列的空域复杂度:
空域复杂度=I帧平均大小/最大I帧大小 公式(1);
其中,I帧平均大小是由该第一服务器所获取到的每个关键视频帧对应的数据容量(例如,100kB、90kB等)以及统计到的I帧的总数量所确定的。其中,本申请实施例可以通过每个关键视频帧对应的数据容量、和该第一服务器所统计到的关键视频帧的总数量(即上述第二数量),确定这些关键视频帧的第一平均数据容量,并可以将该第一平均数据容量统称为上述I帧平均大小。另外,本申请实施例还可以从这些关键视频帧对应的数据容量中找到具有最大数据容量的关键视频帧,并可以将找到的具有最大数据容量的关键视频帧称之为最大I帧,该最大I帧大小即为从这些关键视频帧对应的数据容量中的最大数据容量。所以,本申请实施例可以根据上述公式(1)将第一平均数据容量与最大数据容量之间的比值,作为预编码视频序列的空域复杂度。
进一步的,该第一服务器还可以通过下述公式(2)计算得到该预编码视频序列的时域复杂度:
时域复杂度=P帧平均大小/I帧平均大小 公式(2);
其中,P帧平均大小是指该第一服务器所获取到的每个前向预测帧对应的数据容量(例如,20kB、15kB等)。其中,本申请实施例可以通过每个前向预测帧对应的数据容量、和该第一服务器所统计到的前向预测帧的总数量(即上述第三数量),确定这些前向预测帧的第二平均数据容量,本申请实施例可以将该第二平均数据容量统称为上述P帧平均大小。如上述公式(2)所示,本申请实施例可以将第二平均数据容量与第一平均数据容量之间的比值,作为预编码视频序列的时域复杂度。
步骤S103,根据视频编码特征和与待编码视频序列相关联的视频属性特征,确定与第一视频属性参数相关联的第一编码参数和与第二视频属性参数相关联的第二编码参数;
具体的,视频数据处理装置可以获取视频质量标准参数对应的目标质量类型,在与多个质量类型相关联的预测模型库中,将与目标质量类型相匹配的预测模型作为目标预测模型;进一步的,视频数据处理装置可以将第一视频属性参数对应的像素尺寸信息作为第一视频属性参数的第一视频属性特征,将第二视频属性参数对应的像素尺寸信息作为第二视频属性参数的第二视频属性特征;进一步的,视频数据处理装置可以将第一视频属性特征和第二视频属性特征作为与待编码视频序列相关联的视频属性特征;进一步的,视频数据处理装置可以将视频编码特征和视频属性特征输入目标预测模型,输出与第一视频属性参数相关联的第一编码参数和与第二视频属性参数相关联的第二编码参数。
其中,本申请实施例中的目标预测模型可以为神经网络模型;此时,该视频数据处理装置通过目标预测模型预测与第一视频属性参数相关联的第一编码参数和与第二视频属性参数相关联的第二编码参数的具体过程可以描述为:视频数据处理装置可以将视频编码特征和第一视频属性特征所构成的第一特征向量输入神经网络模型,输出与第一视频属性参数相关联的第一编码参数;进一步的,视频数据处理装置可以将视频编码特征和第二视频属性特征所构成的第二特征向量输入神经网络模型,输出与第二视频属性参数相关联的第二编码参数。
为便于理解,进一步的,请参见图4,是本申请实施例提供的一种通过神经网络模型预测编码参数的场景示意图。其中,本申请实施例所采用的目标预测模型可以为如图4所示的神经网络模型20,该神经网络模型20可以包含一个输出层和至少两个隐藏层;其中,至少两个隐藏层可以具体包含图4所示的第一隐藏层、第二隐藏层;其中,图4所示的第一隐藏层可以为配置有N1(例如,113)个节点的特征提取层。其中,该第一隐藏层的输入可以为图4所示的特征向量30a,该第一隐藏层的输出可以为图4所示的归一化向量30b。其中,图4所示的第二隐藏层可以包含图4所示的隐藏层40a和隐藏层40b。其中,隐藏层40a可以为配置有N2(例如,120)个节点的特征提取层。
其中,输入该神经网络20的特征向量30a具体可以包含图4所示的特征向量100a和特征向量100b,可以理解的是,本申请实施例可以将输入该神经网络模型20的特征向量统称为图4所示的特征向量30a。
应当理解,为便于对这两个特征向量进行区别,本申请实施例可以将特征向量100a称之为上述第一特征向量,将特征向量100b称之为第二特征向量。其中,本申请实施例中的第一特征向量和第二特征向量中均可以包含由对上述第一视频序列进行预编码后所得到的视频编码特征。例如,特征向量100a(即第一特征向量)可以是由上述视频编码特征(例如,图4所示的视频编码特征10a)和与第一视频序列相关联的第一视频属性特征(即图4所示的视频属性特征10b)所构成的。这里的第一视频属性特征可以为上述第一视频属性参数对应的像素尺寸信息(例如,1280×720)。其中,1280为在图像宽度方向上像素点的个数,720为在图像高度方向上的像素点的个数。同理,特征向量100b(即第二特征向量)可以是由上述视频编码特征(例如,图4所示的视频编码特征10a)和与第二视频序列相关联的第二视频属性特征(即图4所示的视频属性特征10c)所构成的。这里的第二视频属性特征可以为上述第一视频属性参数对应的像素尺寸信息(例如,1920×1080),同理,1920为在图像宽度方向上像素点的个数,1080为在图像高度方向上的像素点的个数。由此可见,输入该神经网络模型20的特征向量30a可以是由上述步骤S102所得到的预编码视频序列的视频编码特征和与待编码视频序列相关联的视频属性特征所构成的。
其中,应当理解,在本申请实施例中,通过图4所示的第一隐藏层,可以将该第一隐藏层所输出的经过归一化后的归一化向量30b作为与相应视频属性特征相关联的额外的辅助特征,这样,在将具有相同向量维度的辅助特征与视频编码特征进行向量拼接之后,可以有效地区别与不同视频属性特征下的待编码视频序列,从而可以提高编码参数预测的准确性。应当理解,为避免计算资源的浪费,本申请实施例可以对第一视频序列进行一次预编码后,直接将针对该第一视频序列进行预编码过程中所得到的视频编码特征10a作为第一视频序列的视频特征和第二视频序列的视频编码特征,即本申请实施例在进行特征提取的过程中,无需进行多次特征提取,进而可以有效地减少计算资源的浪费,从而可以提高在分布式转码系统中进行多路转码的效率。
其中,该第二隐藏层中的隐藏层40a的输入可以为图4所示的拼接向量30c,该隐藏层40c的输出可以为需要输入至隐藏层40b的中间隐藏向量。可以理解的是,该隐藏层40b可以为配置有N3(例如,80)个节点的特征提取层。如图4所示,该隐藏层40b的输入可以为隐藏层40a所输出的中间隐藏向量,该隐藏层40b的输出可以为图4所示的隐藏向量30d。可以理解的是,本申请实施例可以将输入该隐藏层40a的拼接向量30c统称为该第二隐藏层的输入,并可以将输出该隐藏层40b的隐藏向量30d统称为该第二隐藏层的输出。可以理解的是,在每个隐藏层中所设置的节点的数量即为相应网络层级所对应的神经元的个数。应当理解,本申请实施例还可以根据实际的业务需求,动态调整相应网络层级所对应的神经元的个数,这里将不对具体网络层级所对应的神经元的个数进行限定。
应当理解,对于第一视频序列而言,在将特征向量100a(即视频编码特征10a和视频属性特征10b)输入该神经网络模型20之后,可以得到与第一视频属性参数相关联的第一编码参数(即图4所示的编码参数1)。同理,对于第一视频序列而言,在将特征向量100b(即视频编码特征10a和视频属性特征10c)输入该神经网络模型20之后,可以得到与第二视频属性参数相关联的第二编码参数(即图4所示的编码参数2)。如图4所示,本申请实施例可以将与第一视频参数相关联的编码参数1和与第二视频参数相关联的视频参数2统称为图4所示的编码参数40。
其中,图4所示的输出层可以为配置有N4(例如,29)个节点的特征提取层。该输出层中的一个节点可以对应与一个参考视频视频特征相关联的目标质量标签信息。
其中,在训练得到该神经网络模型的过程中,可以对大量样本视频序列进行遍历编码,比如,对于每个样本视频序列均可以在CRF(const Rate Factor,固定码率系数)参数的初始取值范围为[10,51)上进行遍历编码,以将对这些样本视频序列进行遍历编码后所得到的VAMF得分统称为初始标签信息。进一步的,本申请实施例通过在这40个CRF上所得到的大量标签数据(即初始标签信息)进行研究发现,视频转码后的VMAF得分在大于或者等于拟合阈值(例如,70)时,可以在CRF参数与VMAF得分之间呈现多项式拟合关系,根据实际业务需求(比如,要求视频转码后的VMAF得分≥88),可以利用上述多项式拟合关系所确定出的拟合曲线,进一步在对初始模型进行训练之前,预先从上述初始质量标签信息中所筛选出的与多项式拟合条件相匹配的初始质量标签信息,确定出与目标质量类型相关联的初始模型的目标质量标签信息。其中,该目标质量标签信息所对应的CRF(const Rate Factor,固定码率系数)参数的目标取值范围可以为[10,30)。此时,用于对初始模型进行训练的样本视频序列为在该目标取值范围进行遍历编码后所得到的VMAF得分满足单独递减的视频片段。
其中,可以理解的是,本申请实施例中的CRF参数可以理解为一种用于保持相同压缩失真的编码参数,即可以作为编码过程中的一种码控因子。本申请实施例中的该输出层的29个节点可以对应样本码率参数(例如,CRF,const Rate Factor)在CRF=[10,39)时所对应的VMAF得分,即通过对初始模型进行训练,可以输出一个样本视频序列在上述目标取值范围(即[10,39))内所得到的VMAF得分的质量评估表。所以,在目标质量类型为VMAF类型,且视频质量标准参数为VMAF 90时,本申请实施例可以通过该目标预测模型(即图4所示的神经网络模型20)唯一的预测得到在该特定质量类型下与VMAF 90相关联的编码参数(比如,图4所示的编码参数1和编码参数2)。其中,可以理解的是,编码参数1是由图4所示的输出层所输出的第一隐藏向量与输出层中的多个参考视频特征之间的匹配度所确定的,即本申请实施例可以在与这29个节点相关联的匹配度中,将与第一特征向量具有最高匹配度的参考视频特征作为第一参考视频特征,并可以将与第一参考视频特征相关联的目标质量标签信息所对应的样本码率参数,作为与第一视频属性参数相关联的第一编码参数。
同理,编码参数2可以是由图4所示的输出层所输出的第二隐藏向量与输出层中的多个参考视频特征之间的匹配度所确定的,这里将不再继续进行赘述。其中,该视频数据处理装置通过神经网络模型输出与第二视频属性参数相关联的第二编码参数具体过程可以描述为:视频数据处理装置可以将视频编码特征和第二视频属性特征所构成的第二特征向量输入神经网络模型的第一隐藏层,输出与第二视频属性参数相关联的第二归一化向量;进一步的,视频数据处理装置可以将第二特征向量和第二归一化向量进行向量拼接,得到第二拼接向量,将第二拼接向量输入第二隐藏层,输出与第二视频属性参数相关联的第二隐藏向量;进一步的,视频数据处理装置可以将第二隐藏向量输入输出层,输出第二隐藏向量与输出层中的多个参考视频特征之间的匹配度;进一步的,视频数据处理装置可以在匹配度中将与第二特征向量具有最高匹配度的参考视频特征作为第二参考视频特征,将与第二参考视频特征相关联的目标质量标签信息所对应的样本码率信息,作为与第二视频属性参数相关联的第二编码参数。
步骤S104,根据第一编码参数、第一视频序列、第二编码参数和第二视频序列,得到与待编码视频序列相关联的编码视频序列。
具体的,当第一编码参数包含第一编码码率,第二编码参数包含第二编码码率时,该视频数据处理装置可以根据第一编码码率对第一视频序列进行编码处理,得到第一编码视频序列;进一步的,该视频数据处理装置可以根据第二编码码率对第二视频序列进行编码处理,得到第一编码视频序列;进一步的,该视频数据处理装置可以将第一编码视频序列和第二编码视频序列,确定为与待编码视频序列相关联的编码视频序列。
如上述图4所示,本申请实施例在对不同视频属性参数下的待编码视频序列进行转码处理的过程中,可以通过同一目标预测模型,对具有相同视频内容的同一视频片段在不同分辨率下的编码码率进行预测,进而可以根据预测得到的多个编码参数(即这里的编码码率可以为预测得到的CRF参数值或者预测得到的码率参数值)分别上述多个待编码视频序列进行编码处理,以输出与相应视频属性参数相关联的编码视频序列。其中,可以理解的是,本申请实施例可以将与每个视频属性参数(例如,每个分辨率)相关联的编码视频序列统称为一路编码码流。
可以理解的是,本申请实施例中的目标质量类型可以为上述多种质量类型中的任意一种质量类型,每个质量类型可以对应一个预测模型,这些预测模型均可以存储在该分布式转码系统的预测模型库中。所以,运行有上述视频数据处理装置的服务器在获取到特定质量指标(即目标质量类型)下的目标评估值时,可以将该特定质量指标下的目标评估值统称为上述视频质量标准参数,以便于该服务器可以直接根据设定的目标质量类型的视频质量标准参数来直接调整所需输出的编码序列的输出质量。换言之,对于分布式转码系统中的每个服务器而言,可以在这些服务器中通过上述神经网络模型快速预测得到第一编码参数和第二编码参数,进而可以根据预测得到的编码参数对相应待编码视频序列进行编码处理,以得到与相应待编码视频序列相关联的编码视频序列。
本申请实施例可以对单个视频属性参数(例如,单个分辨率)下的第一视频序列的视频特征进行一次特征提取,从而可以根据提取到的这个分辨率所对应的视频编码特征和与待编码视频序列相关联的视频属性特征(比如,与第一视频序列相关联的分辨率的像素尺寸特征和与第二视频序列相关联的分辨率的像素尺寸特征),快速预测得到多路内容相同、且分辨率不同的视频序列的编码参数。换言之,本申请实施例在进行多路转码的过程中,通过引入与待编码视频序列相关联的视频属性特征,可以有效地实现对不同分辨率下的具有相同视频内容的视频序列的进行特征区别,从而无需对具有同一视频内容的视频片段进行多次预编码,即可以无需重复地进行特征提取,进而可以减少多路转码过程中的计算资源的消耗,并可以提高多路转码的效率。
进一步地,请参见图7,是本申请实施例提供的一种视频数据处理方法的示意图。如图7所示,方法可以由具备视频数据处理功能的视频数据处理装置执行,方法可以包含以下步骤:
步骤S201,获取与视频源相关联的初始视频序列;
其中,初始视频序列可以是由对视频源进行场景检测时所得到的关键视频帧确定的;其中,一个初始视频序列可以包含一个关键视频帧。
其中,可以理解的是,在分布式转码系统中的服务器每天可以接收到用户终端通过浏览器网页或者目标客户端所上传的大量的视频,这些视频中可以包含视频点播场景下的视频数据1(例如,上述点播视频数据),还可以包含视频直播场景下的视频数据2(例如,上述实时录制的直播视频数据),还可以包含视频通讯场景下的视频数据3。本申请实施例可以将该服务器所接收到的这些视频数据1、视频数据2和视频数据3一并统称为上述源视频数据,即一个源视频数据可以为一个视频源。
其中,可以理解的是,本申请实施例中的服务器可以对获取到的源视频数据(即视频源)所属的业务场景进行判断,进而可以根据判断出的源视频数据所属的业务场景,判断是否能够直接对获取到视频源进行切片处理。这里的业务场景可以包含但不限于上述视频点播场景、视频直播场景、和视频通讯场景。
其中,可以理解的是,运行有视频数据处理装置的服务器在确定获取到的源视频数据为点播视频数据时,可以直接将获取到的点播视频数据作为视频源进行切片处理,以将切片处理后的视频片段作为初始视频序列分发给与该服务器处于同一分布式网络中的其他服务器,以使其他服务器在获取到相应的初始视频序列时,也可以根据这个视频源(即点播视频数据)的视频属性参数对初始视频序列进行缩放处理,以将缩放处理后的初始视频序列确定为与视频源相关联的待编码视频序列。可以理解的是,在视频点播场景下,对于同一初始视频序列而言,待编码视频序列的个数与视频源的视频属性参数的个数相同。所以,在视频点播场景下,服务器所获取到的待编码视频序列的个数决定了后续需要进行视频转码的路数。
可以理解的是,运行有该视频数据处理装置的服务器也可以接收上述分布式转码系统中其他服务器所分发的视频片段(即初始视频序列),该服务器在获取到初始视频序列之后,可以进一步执行下述步骤S202-步骤S209,以对不同视频属性参数下的初始视频序列进行多路转码。
步骤S202,获取与视频源相关联的视频属性参数;
其中,视频属性参数可以包含第一视频属性参数和第二视频属性参数;可以理解的是,本申请实施例中的视频属性参数可以包含分辨率、画质等级、色度信息等,这里将不对其进行限制。其中,为便于理解,本申请实施例以视频属性参数为分辨率为例,以阐述在该服务器中对不同分辨率下的同一视频片段进行多路转码的具体过程。
可以理解的是,在视频点播场景下,与视频源相关联的多个分辨率中的任意两个分辨率所对应的编码码流之间可以相互进行切换。比如,上述服务器可以根据使用该用户终端的点播用户的码流切换请求,快速找到并下发具有相同视频内容的同一视频片段在不同分辨率上的编码码流,进而可以在确保视频播放质量的情况下,快速实现相应编码码流之间的切换,以提供友好的用户体验,进而可以增加用户的黏度。
步骤S203,根据第一视频属性参数、第二视频属性参数以及初始视频序列,确定与视频属性参数相关联的待编码视频序列;
具体的,在第一视频属性参数包含第一分辨率;第二视频属性参数包含第二分辨率时,视频数据处理装置可以根据第一分辨率对初始视频序列的分辨率进行缩放处理,将缩放处理后的初始视频序列确定为第一视频序列;进一步的,视频数据处理装置可以根据第二分辨率对初始视频序列的分辨率进行缩放处理,将缩放处理后的初始视频序列确定为第二视频序列;进一步的,视频数据处理装置可以将第一视频序列、第二视频序列,确定为与视频属性参数相关联的待编码视频序列。
其中,可以理解的是,本申请实施例可以将第一视频属性参数对应的第一视频序列和第二视频属性参数对应的第二视频序列统称为上述待编码视频序列。换言之,本申请实施例可以将同一视频片段在不同分辨率下的视频序列统称为待编码视频序列。该待编码视频序列可以包含将上述图2所示的视频片段300a缩放到分辨率1时所得到的视频序列1a、将视频片段300a缩放到分辨率2时所得到的视频序列2a、将视频片段300a缩放到分辨率3时所得到的视频序列3a,将视频片段300a缩放到分辨率4时所得到的视频序列4a。
应当理解,本申请实施例在将上述分辨率2作为第一视频属性参数时,可以将与该分辨率2(即第一分辨率)相关联的视频序列2a称之为第一视频序列,即该第一视频序列为后续需要进行预编码的视频序列。为便于理解,本申请实施例可以将上述与分辨率1(即第二分辨率)相关联的视频序列1a作为第二视频序列,以在该服务器(例如,上述服务器10d)中对这些待编码视频序列进行多路转码,以得到同一视频片段在不同分辨率下的转码码流。
应当理解,在对待编码视频序列进行转码的过程中,考虑到第一视频序列的视频内容与第二视频序列的视频内容相同,为避免计算资源的浪费,本申请实施例可以进一步执行下述步骤S204,以对第一视频序列进行一次预编码,以快速得到预编码视频序列的视频编码特征。
步骤S204,对第一视频序列进行预编码处理,得到预编码视频序列,获取预编码视频序列的视频编码特征;
步骤S205,获取视频质量标准参数对应的目标质量类型,在与多个质量类型相关联的预测模型库中,将与目标质量类型相匹配的预测模型作为目标预测模型;
步骤S206,将第一视频属性参数对应的像素尺寸信息作为第一视频属性参数的第一视频属性特征,将第二视频属性参数对应的像素尺寸信息作为第二视频属性参数的第二视频属性特征;
步骤S207,将第一视频属性特征和第二视频属性特征作为与待编码视频序列相关联的视频属性特征;
步骤S208,将视频编码特征和视频属性特征输入目标预测模型,输出与第一视频属性参数相关联的第一编码参数和与第二视频属性参数相关联的第二编码参数;
其中,可以理解的是,在目标预测模型为神经网络模型时,在采用该神经网络模型输出与第一视频属性参数相关联的第一编码参数和与第二视频属性参数相关联的第二编码参数之前,可以通过标签数据筛选、特征提取等方式预先训练得到该用于预测编码参数的神经网络模型。
其中,训练得到该神经网络模型的具体过程可以描述为:视频数据处理装置可以获取与业务场景相关联的N个样本视频序列和N个样本视频序列的样本视频特征,获取与N个样本视频序列相关联的至少两个质量类型;N为正整数;一个样本视频特征为对一个样本视频序列进行预编码处理后所确定的;进一步的,视频数据处理装置可以从至少两个质量类型中获取目标质量类型,获取与目标质量类型相关联的样本码率参数;样本码率参数包含K1个样本码率信息;K1为正整数;进一步的,视频数据处理装置可以根据K1个样本码率参数对N个样本视频序列中的每个样本视频序列进行遍历编码,得到每个样本视频序列在K1个样本码率参数下的质量评估值;一个质量评估值为一个样本视频序列在一个样本码率信息下所确定的;进一步的,视频数据处理装置可以根据N×K1个质量评估值,确定与目标质量类型相关联的初始模型的目标质量标签信息,根据与目标质量标签信息相关联的样本视频特征和与视频属性参数相关联的样本属性特征,对初始模型进行训练,根据训练结果确定与目标质量类型相匹配的预测模型。
为便于理解,进一步的,请参见图6,是本申请实施例提供的一种确定训练视频序列的场景示意图。如图6所示,服务器获取到的N个样本视频序列可以为图6所示的样本视频序列300a。该样本视频序列300a具体可以包含图6所示的样本视频序列10、样本视频序列20、样本视频序列30、样本视频序列40、样本视频序列50、样本视频序列60、样本视频序列70、样本视频序列80、样本视频序列90。
可以理解的是,为了确保训练所得到的与目标质量类型相匹配的预测模型(即上述目标网络模型)的准确性,本申请实施例可以在对初始模型(也可以称之为初始网络模型)进行模型训练之前,通过多项式拟合条件对初始质量标签信息的二次筛选,以从大量的样本视频序列(即图6所示的样本视频序列300a)中筛选出用于训练初始模型的训练视频序列,进而可以利用样本筛选过程中所确定的多项式在上述目标取值范围(即[10,39))上进行遍历编码,以得到用于真正训练该初始模型的目标质量标签信息。
其中,本申请实施例可以从N个样本视频序列中,筛选出与多项式拟合条件中的拟合曲线的单调性(即单调递减特性)相匹配的样本视频序列,进而可以将筛选出的样本视频序列(例如,图6所示的样本视频序列10、样本视频序列20、样本视频序列30、样本视频序列70、样本视频序列80、样本视频序列90)作为图6所示的训练视频序列300b。可以理解的是,上述样本视频序列40、样本视频序列50、样本视频序列60,为需要从N个样本视频序列中去除的样本视频序列,即样本视频序列40、样本视频序列50、样本视频序列60在上述目标取值范围(即[10,39))上所得到的VAMF得分是不满足多项式拟合条件中的拟合曲线的单调性的。
为便于理解,进一步的,请参见图7,是本申请实施例提供的一种获取目标质量标签信息的场景示意图。其中,样本视频序列1、样本视频序列2、...、样本视频序列N即为服务器所获取到的N个样本视频序列。其中,图7所示的样本视频序列1可以为上述图6所对应实施例中的样本视频序列10、样本视频序列,图7所示的样本视频序列2可以为上述图6所对应实施例中的样本视频序列20,这里将不一一进行列举。
其中,应当理解,在N个样本视频序列的选取过程中:可以确保所选取的样本能够尽量覆盖实际业务类型中所有业务场景,以保证后续训练得到的预测模型的普遍性。实际业务类型可以包括新闻、动漫、综艺、游戏、电影电视等,业务场景上可以包含一些复杂画面、简单画面,运动剧烈镜头和静止镜头等场景信息。其中,样本视频序列的规模一般可以在1万个视频片段左右。
如图7所示,服务器在获取目标质量标签信息的过程中,需要先对每个遍历编码,以得到每个样本视频序列在图7所示的K1个样本码率参数下的质量评估值。比如,服务器在初始阈值范围(即图7所示的[10,51))上对图7所示的样本视频序列1进行遍历编码之后,可以得到样本视频序列1在该初始阈值范围所对应的K1个样本码率参数下的质量评估值,从而可以基于与该样本视频序列1相关联的K1个质量评估值,得到图7所示的质量评估表1。以此类推,本申请实施例在上述初始阈值范围上对图7所示的样本视频序列2进行遍历编码之后,可以得到图7所示的质量评估表1。同理,本申请实施例在上述初始阈值范围上对图7所示的样本视频序列N进行遍历编码之后,可以得到图7所示的质量评估表N。其中,一个质量评估表中可以包含与一个样本视频序列相关联的K1个质量评估值,且一个质量评估值可以对应一个样本码率参数。
应当理解,在该质量评估表(例如,质量评估表1)中,一个质量评估值可以为一个样本视频序列在一个样本码率信息下所确定。本申请实施例所采用的样本码率信息可以为上述CRF参数,该CRF参数对应的初始阈值范围可以为上述[10,51),若CRF参数的量化步长为1,则上述K1的取值可以为40,从而可以将每个质量评估表中的40个质量评估值统称为样本视频序列的初始标签信息,即可以得到N×K1个初始质量标签信息。应当理解,该CRF参数的量化步长也可以为更小的取值,这里将不对其进行限定。
进一步的,服务器可以从每个质量评估表中截取质量评估值大于拟合阈值(例如,70)的质量评估值,并可以将截取出的大于拟合阈值的质量评估值作为第一质量评估值,从而可以根据第一质量评估值和第一质量评估值对应的样本码率参数,确定与每个样本视频序列相关联的拟合系数。如图7所示,与样本视频序列1相关联的拟合系数可以为图7所示的拟合系数1,该拟合系数1可以满足下述公式(3)所示的多项式关系:
VMAF=a*CRF2+b*CRF2+c*CRF+d 公式(3)
其中,本申请实施例可以将公式(3)中的系数a、b、c、d统称为拟合系数。例如,上述拟合系数1中的系数a=a1、系数b=b1、系数c=c1、系数d=d1。其中,通过该公式(3)中的多项式,可以得到上述目标阈值范围内的K2(例如,29)个样本码率参数对应的质量评估值,进而可以基于这K2(例如,29)个样本码率参数对应的质量评估值,构成与该样本视频序列1对应的拟合曲线1,进而可以基于该拟合曲线1,快速判断在上述目标阈值范围上的单调性是否满足单调递减特性,如果满足,则可以确定该样本视频序列1为与多项式拟合条件中的拟合曲线的单调性相匹配的样本视频序列,进而可以将该样本视频序列1作为后续用于训练初始模型的训练样本序列。然后,该服务器可以将根据这K2个样本码率参数对该样本视频序列1进行遍历编码后所得到的第二质量评估值,作为该初始模型的目标质量标签信息。此时,在该目标取值范围内的一个CRF参数(即一个样本码率参数)可以对应的一个第二质量评估值。
以此类推,本申请实施例也得到与样本视频序列2相关联的拟合系数,即图7所示的拟合系数2。该拟合系数2中的系数a=a2、系数b=b2、系数c=c2、系数d=d2,。同理,通过该拟合系数2也可以判断该样本视频序列2在上述目标取值范围内所得到的质量评估值是否满足上述多项式拟合条件中的拟合曲线(即拟合曲线2)的单调性,若不满足,则需要从上述N个样本视频序列中去除该样本视频序列2,反之,则可以将该样本视频序列2作为训练样本序列。
换言之,本申请实施例在从N个样本视频序列中去除掉与多项式拟合条件中的拟合曲线的单调性不匹配的样本视频序列之后,可以将剩下的所有样本视频序列统称为训练样本序列,进而可以这K2个样本码率参数对这些训练样本视频序列进行遍历编码,以得到每个训练视频序列在K2个样本码率参数下的第二质量评估值,从而可以进一步将第二质量评估值作为与目标质量类型相关联的初始模型的目标质量标签信息。
可选的,样本码率信息还可以为上述码率参数(即Bitrate参数),该Bitrate参数所对应的初始阈值范围可以为(10kbps~5Mbps),该Bitrate参数对应的量化步长可以为10kbps,这样可以确保每间隔10kbps产生一个初始标签信息,其中,服务器通过码率参数获取目标质量标签信息的具体过程可以参见上述通过CRF参数获取目标质量标签信息的描述,这里将不再进行赘述。
进一步的,该服务器在二次筛选得到上述目标质量标签信息之后,可以将与目标质量标签信息相关联的样本视频特征统称为对应的训练样本序列的样本视频特征,进而可以将样本视频特征和与上述视频属性参数相关联的视频属性特征统称为参考视频特征,然后该服务器可以根据这些参考视频特征对初始模型进行训练,以根据训练结果确定与目标质量类型相匹配的预测模型(例如,上述图4所对应实施例中的神经网络模型20)。其中,在上述样本视频序列的样本视频特征所对应的特征提取的具体过程,可以参照对上述图3所对应实施例中的对提取第一视频序列的视频特征的具体过程的描述,这里将不再继续进行赘述。
为便于理解,进一步的,请参见图8,是本申请实施例提供的一种预测编码参数与实际编码参数的对比曲线图。其中,图8所示的预测到的质量评估值可以为将上述样本视频频特征输入上述训练所得到的与目标质量类型相匹配的预测模型后所得到的。该对比曲线图可以用于反映在得到上述目标预测模型时,目标预测模型具有最小的损失函数,该损失函数可以为预测出的在K2个样本码率参数下的VAMF得分(即预测得到的质量评估值)和目标质量标签信息(即实际得到的质量评估值)平方差的和。
所以,当将该目标预测模型用于对上述待编码视频序列(即第一视频序列和第二视频序列)的编码参数进行预测时,可以根据最终所确定的质量评估表,在目标质量类型所对应的视频质量标准参数下唯一的找到一个编码参数(例如,上述CRF参数)。可以理解的是,当该目标预测模型在最终所确定的质量评估表(即目标质量评估表)无法直接找到设定的视频质量标准参数对应的编码参数,则该服务器可以通过下述线性插值计算公式(4)得到一个编码参数作为编码参数:
Figure GDA0003477984980000351
其中,CRFtarget为上述设定的目标质量类型下的视频质量标准参数(即期望VMAF得分,例如,VMAF 90)所对应的CRF参数值(例如,13);其中,CRFmin和CRFmax为上述目标质量评估表中距离期望VMAF得分最近的一大一小的两个预测VMAF得分(例如,VMAF 90.1和VMAF89.5)所对应的CRF参数值。鉴于此,通过上述公式(4)也可以快速预测得到期望的CRF参数值,即可以快速计算出上述待编码视频序列的编码参数。
步骤S209,根据第一编码参数、第一视频序列、第二编码参数和第二视频序列,得到与待编码视频序列相关联的编码视频序列。
其中,步骤S209的具体实现方式可以参见上述图3所对应实施例中对步骤S104的描述,这里将不再继续进行赘述。
本申请实施例可以对单个视频属性参数(例如,单个分辨率)下的第一视频序列的视频特征进行一次特征提取,从而可以根据提取到的这个分辨率所对应的视频编码特征和与待编码视频序列相关联的视频属性特征(比如,与第一视频序列相关联的分辨率的像素尺寸特征和与第二视频序列相关联的分辨率的像素尺寸特征),快速预测得到多路内容相同、且分辨率不同的视频序列的编码参数。换言之,本申请实施例在进行多路转码的过程中,通过引入与待编码视频序列相关联的视频属性特征,可以有效地实现对不同分辨率下的具有相同视频内容的视频序列的进行特征区别,从而无需对具有同一视频内容的视频片段进行多次预编码,即可以无需重复地进行特征提取,进而可以减少多路转码过程中的计算资源的消耗,并可以提高多路转码的效率。
进一步地,请参见图9,是本申请实施例提供的一种视频数据处理装置的结构示意图。该视频数据处理装置1可以运行在上述图2所对应实施例中的业务服务器中。该视频数据处理装置1可以包括:视频序列获取模块10,编码特征确定模块20,编码参数预测模块30和视频编码模块40。
视频序列获取模块10,用于获取与视频源相关联的待编码视频序列;待编码视频序列包含第一视频属性参数对应的第一视频序列和第二视频属性参数对应的第二视频序列,且第一视频序列的视频内容与第二视频序列的视频内容相同;
其中,视频序列获取模块10包括:初始序列获取单元101,属性参数获取单元102,待编码序列确定单元103;
初始序列获取单元101,用于获取与视频源相关联的初始视频序列;初始视频序列是由对视频源进行场景检测时所得到的关键视频帧确定的;一个初始视频序列包含一个关键视频帧;
属性参数获取单元102,用于获取与视频源相关联的视频属性参数;视频属性参数包含第一视频属性参数和第二视频属性参数;
待编码序列确定单元103,用于根据第一视频属性参数、第二视频属性参数以及初始视频序列,确定与视频属性参数相关联的待编码视频序列。
其中,第一视频属性参数包含第一分辨率;第二视频属性参数包含第二分辨率;
待编码序列确定单元103包括:第一序列确定子单元1031,第二序列确定子单元1032和待编码序列子单元1033;
第一序列确定子单元1031,用于根据第一分辨率对初始视频序列的分辨率进行缩放处理,将缩放处理后的初始视频序列确定为第一视频序列;
第二序列确定子单元1032,用于根据第二分辨率对初始视频序列的分辨率进行缩放处理,将缩放处理后的初始视频序列确定为第二视频序列;
待编码序列子单元1033,用于将第一视频序列、第二视频序列,确定为与视频属性参数相关联的待编码视频序列。
其中,第一序列确定子单元1031,第二序列确定子单元1032和待编码序列子单元1033的具体实现方式可以参见上述图3所对应实施例中对获取待编码视频序列的具体过程的描述,这里将不再继续进行赘述。
其中,初始序列获取单元101,属性参数获取单元102,待编码序列确定单元103的具体实现方式可以参见上述图3所对应实施例中对步骤S101的描述,这里将不再继续进行赘述。
编码特征确定模块20,用于对第一视频序列进行预编码处理,得到预编码视频序列,获取预编码视频序列的视频编码特征;
其中,编码特征确定模块20包括:质量参数获取单元201,编码器获取单元202,预编码单元203,编码特征确定单元204;
质量参数获取单元201,用于获取为初始视频序列配置的视频质量参数,将视频质量参数确定为与第一视频序列相关联的视频质量标准参数;
编码器获取单元202,用于根据视频质量标准参数,获取用于对第一视频序列进行预编码的初始编码器;
预编码单元203,用于根据初始编码器对第一视频序列进行预编码处理,得到与第一视频属性参数相关联的预编码视序列;预编码视频序列中包含关键视频帧和预测视频帧;
编码特征确定单元204,用于根据关键视频帧、预测视频帧、第一视频属性参数以及预编码视频序列的码率,确定预编码视频序列的视频编码特征。
其中,质量参数获取单元201,编码器获取单元202,预编码单元203,编码特征确定单元204的具体实现方式可以参见上述获取视频编码特征的具体过程的描述,这里将不再继续进行赘述。
编码参数预测模块30,用于根据视频编码特征和与待编码视频序列相关联的视频属性特征,确定与第一视频属性参数相关联的第一编码参数和与第二视频属性参数相关联的第二编码参数;
其中,编码参数预测模块30包括:目标模型确定单元301,像素尺寸确定单302,属性特征确定单元303,编码参数确定单元304;进一步的,编码参数预测模块30还可以包括:样本特征获取单元305,样本参数获取单元306,遍历编码单元307和模型训练单元308;
目标模型确定单元301,用于获取视频质量标准参数对应的目标质量类型,在与多个质量类型相关联的预测模型库中,将与目标质量类型相匹配的预测模型作为目标预测模型;
像素尺寸确定单元302,用于将第一视频属性参数对应的像素尺寸信息作为第一视频属性参数的第一视频属性特征,将第二视频属性参数对应的像素尺寸信息作为第二视频属性参数的第二视频属性特征;
属性特征确定单元303,用于将第一视频属性特征和第二视频属性特征作为与待编码视频序列相关联的视频属性特征;
编码参数确定单元304,用于将视频编码特征和视频属性特征输入目标预测模型,输出与第一视频属性参数相关联的第一编码参数和与第二视频属性参数相关联的第二编码参数。
其中,目标预测模型为神经网络模型;
编码参数确定单元304包括:第一参数输出子单元3041和第二参数输出子单元3042;
第一参数输出子单元3041,用于将视频编码特征和第一视频属性特征所构成的第一特征向量输入神经网络模型,输出与第一视频属性参数相关联的第一编码参数;
其中,神经网络模型包含第一隐藏层、第二隐藏层和输出层;
第一参数输出子单元3041包括:第一归一化子单元30411,第一向量拼接子单元30412,第一匹配度输出子单元30413和第一参数确定子单元30414;
第一归一化子单元30411,用于将视频编码特征和第一视频属性特征所构成的第一特征向量输入神经网络模型的第一隐藏层,输出与第一视频属性参数相关联的第一归一化向量;
第一向量拼接子单元30412,用于将第一特征向量和第一归一化向量进行向量拼接,得到第一拼接向量,将第一拼接向量输入第二隐藏层,输出与第一视频属性参数相关联的第一隐藏向量;
第一匹配度输出子单元30413,用于将第一隐藏向量输入输出层,输出第一隐藏向量与输出层中的多个参考视频特征之间的匹配度;
第一参数确定子单元30414,用于在匹配度中将与第一特征向量具有最高匹配度的参考视频特征作为第一参考视频特征,将与第一参考视频特征相关联的目标质量标签信息所对应的样本码率参数,作为与第一视频属性参数相关联的第一编码参数。
其中,第一归一化子单元30411,第一向量拼接子单元30412,第一匹配度输出子单元30413和第一参数确定子单元30414的具体实现方式可以参见上述图3所对应实施例中对获取第一编码参数的具体过程的描述,这里将不再继续进行赘述。
第二参数输出子单元3042,用于将视频编码特征和第二视频属性特征所构成的第二特征向量输入神经网络模型,输出与第二视频属性参数相关联的第二编码参数。
其中,第二参数输出子单元3042包括:第二归一化子单元30421,第二向量拼接子单元30422,第二匹配度输出子单元30423和第二参数确定子单元30424;
第二归一化子单元30421,用于将视频编码特征和第二视频属性特征所构成的第二特征向量输入神经网络模型的第一隐藏层,输出与第二视频属性参数相关联的第二归一化向量;
第二向量拼接子单元30422,用于将第二特征向量和第二归一化向量进行向量拼接,得到第二拼接向量,将第二拼接向量输入第二隐藏层,输出与第二视频属性参数相关联的第二隐藏向量;
第二匹配度输出子单元30423,用于将第二隐藏向量输入输出层,输出第二隐藏向量与输出层中的多个参考视频特征之间的匹配度;
第二参数确定子单元30424,用于在匹配度中将与第二特征向量具有最高匹配度的参考视频特征作为第二参考视频特征,将与第二参考视频特征相关联的目标质量标签信息所对应的样本码率信息,作为与第二视频属性参数相关联的第二编码参数。
其中,第二归一化子单元30421,第二向量拼接子单元30422,第二匹配度输出子单元30423和第二参数确定子单元30424的具体实现方式可以参见上述图3所对应实施例中对获取第二编码参数的具体过程的描述,这里将不再继续进行赘述。
其中,第一参数输出子单元3041和第二参数输出子单元3042的具体实现方式可以参见上述对编码参数的描述,这里将不再继续进行赘述。
可选的,样本特征获取单元305,用于获取与业务场景相关联的N个样本视频序列和N个样本视频序列的样本视频特征,获取与N个样本视频序列相关联的至少两个质量类型;N为正整数;一个样本视频特征为对一个样本视频序列进行预编码处理后所确定的;
样本参数获取单元306,用于从至少两个质量类型中获取目标质量类型,获取与目标质量类型相关联的样本码率参数;样本码率参数包含K1个样本码率信息;K1为正整数;
遍历编码单元307,用于根据K1个样本码率参数对N个样本视频序列中的每个样本视频序列进行遍历编码,得到每个样本视频序列在K1个样本码率参数下的质量评估值;一个质量评估值为一个样本视频序列在一个样本码率信息下所确定的;
模型训练单元308,用于根据N×K1个质量评估值,确定与目标质量类型相关联的初始模型的目标质量标签信息,根据与目标质量标签信息相关联的样本视频特征和与视频属性参数相关联的样本属性特征,对初始模型进行训练,根据训练结果确定与目标质量类型相匹配的预测模型。
其中,模型训练单元308包括:初始标签确定子单元3081,目标标签确定子单元3082,参考特征确定子单元3083和模型训练子单元3084;
初始标签确定子单元3081,用于将N×K1个质量评估值中的每个质量评估值作为与目标质量类型相关联的初始质量标签信息;
目标标签确定子单元3082,用于根据在初始质量标签信息中所筛选出的与多项式拟合条件相匹配的初始质量标签信息,确定与目标质量类型相关联的初始模型的目标质量标签信息;
其中,目标标签确定子单元3082包括:评估表获取子单元30821,拟合系数确定子单元30822,样本筛选子单元30823和编码确定子单子30824;
评估表获取子单元30821,用于从初始质量标签信息对应的N×K1个质量评估值中,获取与每个样本视频序列相关联的质量评估表;一个质量评估表中包含与一个样本视频序列相关联的K1个质量评估值,且一个质量评估值对应一个样本码率参数;
拟合系数确定子单元30822,用于在质量评估表中,将质量评估值大于或者等于拟合阈值的质量评估值作为第一质量评估值,根据第一质量评估值和第一质量评估值对应的样本码率参数,确定与每个样本视频序列相关联的拟合系数;
样本筛选子单元30823,用于从K1个样本码率参数中获取与多项式拟合条件相关联的K2个样本码率参数,根据拟合系数、K2个样本码率参数,从N个样本视频序列中,筛选与多项式拟合条件中的拟合曲线的单调性相匹配的样本视频序列,将筛选出的样本视频序列作为训练视频序列;
编码确定子单子30824,用于根据K2个样本码率参数对训练样本视频序列进行遍历编码,得到训练视频序列在K2个样本码率参数下的第二质量评估值,将第二质量评估值作为与目标质量类型相关联的初始模型的目标质量标签信息。
其中,评估表获取子单元30821,拟合系数确定子单元30822,样本筛选子单元30823和编码确定子单子30824的具体实现方式可以参见上述图7所对应实施例中对标签筛选的具体过程的描述,这里将不再继续进行赘述。
参考特征确定子单元3083,用于将与目标质量标签信息相关联的样本视频特征和与视频属性参数相关联的视频属性特征作为参考视频特征;
模型训练子单元3084,用于根据参考视频特征对初始模型进行训练,根据训练结果确定与目标质量类型相匹配的预测模型。
其中,初始标签确定子单元3081,目标标签确定子单元3082,参考特征确定子单元3083和模型训练子单元3084的具体实现方式可以参见上述图7所对应实施例中对模型训练的具体过程的描述,这里将不再继续进行赘述。
其中,目标模型确定单元301,像素尺寸确定单302,属性特征确定单元303,编码参数确定单元304,样本特征获取单元305,样本参数获取单元306,遍历编码单元307和模型训练单元308的具体实现方式可以参见上述对第一编码参数和第二编码参数的描述,这里将不再继续进行赘述。
视频编码模块40,用于根据第一编码参数、第一视频序列、第二编码参数和第二视频序列,得到与待编码视频序列相关联的编码视频序列。
其中,第一编码参数包含第一编码码率,第二编码参数包含第二编码码率;
视频编码模块40包括:第一编码单元401,第二编码单元402和编码序列确定单元403;
第一编码单元401,用于根据第一编码码率对第一视频序列进行编码处理,得到第一编码视频序列;
第二编码单元402,用于根据第二编码码率对第二视频序列进行编码处理,得到第一编码视频序列;
编码序列确定单元403,用于将第一编码视频序列和第二编码视频序列,确定为与待编码视频序列相关联的编码视频序列。
其中,第一编码单元401,第二编码单元402和编码序列确定单元403的具体实现方式可以参见上述图3所对应实施例中对步骤S104的描述,这里将不再继续进行赘述。
其中,视频序列获取模块10,编码特征确定模块20,编码参数预测模块30和视频编码模块40的具体实现方式可以参见上述图3所对应实施例中对步骤S101-步骤S104的描述,这里将不再继续进行赘述。
可以理解的是,本申请实施例中的视频数据处理装置1可执行前文图3或图5所对应实施例中对视频数据处理方法的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
进一步地,请参见图10,是本申请实施例提供的一种计算机设备的结构示意图。如图10所示,该计算机设备1000可以为上述图2所对应实施例中的业务服务器。该计算机设备1000可以包括:处理器1001,网络接口1004和存储器1005,此外,该计算机设备1000还可以包括:用户接口1003,和至少一个通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。其中,用户接口1003可以包括显示屏(Display)、键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1004可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器1005可选的还可以是至少一个位于远离前述处理器1001的存储装置。如图10所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及设备控制应用程序。
其中,该计算机设备1000中的可选用户接口1003还可以包括显示屏(Display)、键盘(Keyboard)。在图10所示的计算机设备1000中,网络接口1004可提供网络通讯功能;而用户接口1003主要用于为用户提供输入的接口;而处理器1001可以用于调用存储器1005中存储的设备控制应用程序,以实现:
获取与视频源相关联的待编码视频序列;待编码视频序列包含第一视频属性参数对应的第一视频序列和第二视频属性参数对应的第二视频序列,且第一视频序列的视频内容与第二视频序列的视频内容相同;
对第一视频序列进行预编码处理,得到预编码视频序列,获取预编码视频序列的视频编码特征;
根据视频编码特征和与待编码视频序列相关联的视频属性特征,确定与第一视频属性参数相关联的第一编码参数和与第二视频属性参数相关联的第二编码参数;
根据第一编码参数、第一视频序列、第二编码参数和第二视频序列,得到与待编码视频序列相关联的编码视频序列。
应当理解,本申请实施例中所描述的计算机设备1000可执行前文图3或图5所对应实施例中对视频数据处理方法的描述,也可执行前文图9所对应实施例中对视频数据处理装置1的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。此外,这里需要指出的是:本申请实施例还提供了一种计算机存储介质,且计算机存储介质中存储有前文提及的视频数据处理装置1所执行的计算机程序,且计算机程序包括程序指令,当处理器执行程序指令时,能够执行前文图3或图5所对应实施例中对视频数据处理方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机存储介质实施例中未披露的技术细节,请参照本申请方法实施例的描述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。

Claims (14)

1.一种视频数据处理方法,其特征在于,包括:
获取与视频源相关联的待编码视频序列;所述待编码视频序列包含第一视频属性参数对应的第一视频序列和第二视频属性参数对应的第二视频序列,且所述第一视频序列的视频内容与所述第二视频序列的视频内容相同;
对所述第一视频序列进行预编码处理,得到预编码视频序列,获取所述预编码视频序列的视频编码特征;
根据所述视频编码特征和与所述待编码视频序列相关联的视频属性特征以及目标预测模型,确定与所述第一视频属性参数相关联的第一编码参数和与所述第二视频属性参数相关联的第二编码参数;所述目标预测模型为在与多个质量类型相关联的预测模型库中所确定的与目标质量类型相匹配的预测模型;所述目标质量类型是由与所述第一视频序列相关联的视频质量标准参数所确定的;
根据所述第一编码参数、所述第一视频序列、所述第二编码参数和所述第二视频序列,得到与所述待编码视频序列相关联的编码视频序列;
其中,所述方法还包括:
获取与业务场景相关联的N个样本视频序列和所述N个样本视频序列的样本视频特征,获取与所述N个样本视频序列相关联的至少两个质量类型;N为正整数;一个样本视频特征为对一个样本视频序列进行预编码处理后所确定的;
从所述至少两个质量类型中获取所述目标质量类型,获取与所述目标质量类型相关联的样本码率参数;所述样本码率参数包含K1个样本码率信息;K1为正整数;
根据所述K1个样本码率参数对所述N个样本视频序列中的每个样本视频序列进行遍历编码,得到所述每个样本视频序列在所述K1个样本码率参数下的质量评估值;一个质量评估值为一个样本视频序列在一个样本码率信息下所确定的;
根据N×K1个质量评估值,确定与所述目标质量类型相关联的初始模型的目标质量标签信息,根据与所述目标质量标签信息相关联的样本视频特征和与所述视频属性参数相关联的样本属性特征,对所述初始模型进行训练,根据训练结果确定与所述目标质量类型相匹配的预测模型。
2.根据权利要求1所述的方法,其特征在于,所述获取与视频源相关联的待编码视频序列,包括:
获取与视频源相关联的初始视频序列;所述初始视频序列是由对所述视频源进行场景检测时所得到的关键视频帧确定的;一个初始视频序列包含一个关键视频帧;
获取与所述视频源相关联的视频属性参数;所述视频属性参数包含第一视频属性参数和第二视频属性参数;
根据所述第一视频属性参数、所述第二视频属性参数以及所述初始视频序列,确定与所述视频属性参数相关联的待编码视频序列。
3.根据权利要求2所述的方法,其特征在于,所述第一视频属性参数包含第一分辨率;所述第二视频属性参数包含第二分辨率;
所述根据所述第一视频属性参数、所述第二视频属性参数以及所述初始视频序列,确定与所述视频属性参数相关联的待编码视频序列,包括:
根据所述第一分辨率对所述初始视频序列的分辨率进行缩放处理,将缩放处理后的初始视频序列确定为第一视频序列;
根据所述第二分辨率对所述初始视频序列的分辨率进行缩放处理,将缩放处理后的初始视频序列确定为第二视频序列;
将所述第一视频序列、所述第二视频序列,确定为与所述视频属性参数相关联的待编码视频序列。
4.根据权利要求2所述的方法,其特征在于,所述对所述第一视频序列进行预编码处理,得到预编码视频序列,获取所述预编码视频序列的视频编码特征,包括:
获取为所述初始视频序列配置的视频质量参数,将所述视频质量参数确定为与所述第一视频序列相关联的视频质量标准参数;
根据所述视频质量标准参数,获取用于对所述第一视频序列进行预编码的初始编码器;
根据所述初始编码器对所述第一视频序列进行预编码处理,得到与所述第一视频属性参数相关联的预编码视序列;所述预编码视频序列中包含关键视频帧和预测视频帧;
根据所述关键视频帧、所述预测视频帧、所述第一视频属性参数以及所述预编码视频序列的码率,确定所述预编码视频序列的视频编码特征。
5.根据权利要求1所述的方法,其特征在于,所述根据所述视频编码特征和与所述待编码视频序列相关联的视频属性特征以及目标预测模型,确定与所述第一视频属性参数相关联的第一编码参数和与所述第二视频属性参数相关联的第二编码参数,包括:
获取与所述第一视频序列相关联的视频质量标准参数对应的目标质量类型,在与多个质量类型相关联的预测模型库中,将与所述目标质量类型相匹配的预测模型作为目标预测模型;
将所述第一视频属性参数对应的像素尺寸信息作为所述第一视频属性参数的第一视频属性特征,将所述第二视频属性参数对应的像素尺寸信息作为所述第二视频属性参数的第二视频属性特征;
将所述第一视频属性特征和所述第二视频属性特征作为与所述待编码视频序列相关联的视频属性特征;
将所述视频编码特征和所述视频属性特征输入所述目标预测模型,输出与所述第一视频属性参数相关联的第一编码参数和与所述第二视频属性参数相关联的第二编码参数。
6.根据权利要求5所述的方法,其特征在于,所述目标预测模型为神经网络模型;
所述将所述视频编码特征和所述视频属性特征输入所述目标预测模型,输出与所述第一视频属性参数相关联的第一编码参数和与所述第二视频属性参数相关联的第二编码参数,包括:
将所述视频编码特征和所述第一视频属性特征所构成的第一特征向量输入所述神经网络模型,输出与所述第一视频属性参数相关联的第一编码参数;
将所述视频编码特征和所述第二视频属性特征所构成的第二特征向量输入所述神经网络模型,输出与所述第二视频属性参数相关联的第二编码参数。
7.根据权利要求6所述的方法,其特征在于,所述神经网络模型包含第一隐藏层、第二隐藏层和输出层;
所述将所述视频编码特征和所述第一视频属性特征所构成的第一特征向量输入所述神经网络模型,输出与所述第一视频属性参数相关联的第一编码参数,包括:
将所述视频编码特征和所述第一视频属性特征所构成的第一特征向量输入所述神经网络模型的所述第一隐藏层,输出与所述第一视频属性参数相关联的第一归一化向量;
将所述第一特征向量和所述第一归一化向量进行向量拼接,得到第一拼接向量,将所述第一拼接向量输入所述第二隐藏层,输出与所述第一视频属性参数相关联的第一隐藏向量;
将所述第一隐藏向量输入所述输出层,输出所述第一隐藏向量与所述输出层中的多个参考视频特征之间的匹配度;
在所述匹配度中将与所述第一特征向量具有最高匹配度的参考视频特征作为第一参考视频特征,将与所述第一参考视频特征相关联的目标质量标签信息所对应的样本码率参数,作为与所述第一视频属性参数相关联的第一编码参数。
8.根据权利要求7所述的方法,其特征在于,所述将所述视频编码特征和所述第二视频属性特征所构成的第二特征向量输入所述神经网络模型,输出与所述第二视频属性参数相关联的第二编码参数,包括:
将所述视频编码特征和所述第二视频属性特征所构成的第二特征向量输入所述神经网络模型的所述第一隐藏层,输出与所述第二视频属性参数相关联的第二归一化向量;
将所述第二特征向量和所述第二归一化向量进行向量拼接,得到第二拼接向量,将所述第二拼接向量输入所述第二隐藏层,输出与所述第二视频属性参数相关联的第二隐藏向量;
将所述第二隐藏向量输入所述输出层,输出所述第二隐藏向量与所述输出层中的多个参考视频特征之间的匹配度;
在所述匹配度中将与所述第二特征向量具有最高匹配度的参考视频特征作为第二参考视频特征,将与所述第二参考视频特征相关联的目标质量标签信息所对应的样本码率信息,作为与所述第二视频属性参数相关联的第二编码参数。
9.根据权利要求1所述的方法,其特征在于,所述根据N×K1个质量评估值,确定与目标质量类型相关联的初始模型的目标质量标签信息,根据与所述目标质量标签信息相关联的样本视频特征和与所述视频属性参数相关联的样本属性特征,对所述初始模型进行训练,根据训练结果确定与所述目标质量类型相匹配的预测模型,包括:
将N×K1个质量评估值中的每个质量评估值作为与所述目标质量类型相关联的初始质量标签信息;
根据在所述初始质量标签信息中所筛选出的与多项式拟合条件相匹配的初始质量标签信息,确定与目标质量类型相关联的初始模型的目标质量标签信息;
将与所述目标质量标签信息相关联的样本视频特征和与所述视频属性参数相关联的视频属性特征作为参考视频特征;
根据所述参考视频特征对所述初始模型进行训练,根据训练结果确定与所述目标质量类型相匹配的预测模型。
10.根据权利要求9所述的方法,其特征在于,所述根据在所述初始质量标签信息中所筛选出的与多项式拟合条件相匹配的初始质量标签信息,确定与目标质量类型相关联的初始模型的目标质量标签信息,包括:
从所述初始质量标签信息对应的N×K1个质量评估值中,获取与所述每个样本视频序列相关联的质量评估表;一个质量评估表中包含与一个样本视频序列相关联的K1个质量评估值,且一个质量评估值对应一个样本码率参数;
在所述质量评估表中,将质量评估值大于或者等于拟合阈值的质量评估值作为第一质量评估值,根据所述第一质量评估值和所述第一质量评估值对应的样本码率参数,确定与所述每个样本视频序列相关联的拟合系数;
从所述K1个样本码率参数中获取与多项式拟合条件相关联的K2个样本码率参数,根据所述拟合系数、所述K2个样本码率参数,从所述N个样本视频序列中,筛选与所述多项式拟合条件中的拟合曲线的单调性相匹配的样本视频序列,将筛选出的样本视频序列作为训练视频序列;
根据所述K2个样本码率参数对所述训练视频序列进行遍历编码,得到所述训练视频序列在所述K2个样本码率参数下的第二质量评估值,将所述第二质量评估值作为与目标质量类型相关联的初始模型的目标质量标签信息。
11.根据权利要求1所述的方法,其特征在于,所述第一编码参数包含第一编码码率,所述第二编码参数包含第二编码码率;
所述根据所述第一编码参数、所述第一视频序列、所述第二编码参数和所述第二视频序列,得到与所述待编码视频序列相关联的编码视频序列,包括:
根据所述第一编码码率对所述第一视频序列进行编码处理,得到第一编码视频序列;
根据所述第二编码码率对所述第二视频序列进行编码处理,得到第二编码视频序列;
将所述第一编码视频序列和所述第二编码视频序列,确定为与所述待编码视频序列相关联的编码视频序列。
12.一种视频数据处理装置,其特征在于,包括:
视频序列获取模块,用于获取与视频源相关联的待编码视频序列;所述待编码视频序列包含第一视频属性参数对应的第一视频序列和第二视频属性参数对应的第二视频序列,且所述第一视频序列的视频内容与所述第二视频序列的视频内容相同;
编码特征确定模块,用于对所述第一视频序列进行预编码处理,得到预编码视频序列,获取所述预编码视频序列的视频编码特征;
编码参数预测模块,用于根据所述视频编码特征和与所述待编码视频序列相关联的视频属性特征以及目标预测模型,确定与所述第一视频属性参数相关联的第一编码参数和与所述第二视频属性参数相关联的第二编码参数;所述目标预测模型为在与多个质量类型相关联的预测模型库中所确定的与目标质量类型相匹配的预测模型;所述目标质量类型是由与所述第一视频序列相关联的视频质量标准参数所确定的;
视频编码模块,用于根据所述第一编码参数、所述第一视频序列、所述第二编码参数和所述第二视频序列,得到与所述待编码视频序列相关联的编码视频序列;
其中,所述编码参数预测模块还包括:
样本特征获取单元,用于获取与业务场景相关联的N个样本视频序列和所述N个样本视频序列的样本视频特征,获取与所述N个样本视频序列相关联的至少两个质量类型;N为正整数;一个样本视频特征为对一个样本视频序列进行预编码处理后所确定的;
样本参数获取单元,用于从所述至少两个质量类型中获取所述目标质量类型,获取与所述目标质量类型相关联的样本码率参数;所述样本码率参数包含K1个样本码率信息;K1为正整数;
遍历编码单元,用于根据所述K1个样本码率参数对所述N个样本视频序列中的每个样本视频序列进行遍历编码,得到所述每个样本视频序列在所述K1个样本码率参数下的质量评估值;一个质量评估值为一个样本视频序列在一个样本码率信息下所确定的;
模型训练单元,用于根据N×K1个质量评估值,确定与所述目标质量类型相关联的初始模型的目标质量标签信息,根据与所述目标质量标签信息相关联的样本视频特征和与所述视频属性参数相关联的样本属性特征,对所述初始模型进行训练,根据训练结果确定与所述目标质量类型相匹配的预测模型。
13.一种计算机设备,其特征在于,包括:处理器、存储器和网络接口;
所述处理器与存储器、网络接口相连,其中,网络接口用于提供数据通信功能,所述存储器用于存储程序代码,所述处理器用于调用所述程序代码,以执行如权利要求1-11任一项所述的方法。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时,执行如权利要求1-11任一项所述的方法。
CN202010075679.6A 2020-01-22 2020-01-22 一种视频数据处理方法、装置及存储介质 Active CN111277826B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010075679.6A CN111277826B (zh) 2020-01-22 2020-01-22 一种视频数据处理方法、装置及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010075679.6A CN111277826B (zh) 2020-01-22 2020-01-22 一种视频数据处理方法、装置及存储介质

Publications (2)

Publication Number Publication Date
CN111277826A CN111277826A (zh) 2020-06-12
CN111277826B true CN111277826B (zh) 2022-03-11

Family

ID=71001206

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010075679.6A Active CN111277826B (zh) 2020-01-22 2020-01-22 一种视频数据处理方法、装置及存储介质

Country Status (1)

Country Link
CN (1) CN111277826B (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112040311B (zh) * 2020-07-24 2021-10-26 北京航空航天大学 视频图像补帧方法、装置、设备及可存储介质
CN112351252B (zh) * 2020-10-27 2023-10-20 重庆中星微人工智能芯片技术有限公司 监控视频编解码装置
CN113438486A (zh) * 2021-05-11 2021-09-24 中天恒星(上海)科技有限公司 多路视频编码方法与编码装置
CN114298199A (zh) * 2021-12-23 2022-04-08 北京达佳互联信息技术有限公司 转码参数模型的训练方法、视频转码方法及装置
CN115474037B (zh) * 2022-09-06 2024-06-21 腾讯科技(深圳)有限公司 视频的质量检测方法、装置、电子设备及可读存储介质
CN115941966B (zh) * 2022-12-30 2023-08-22 深圳大学 一种视频压缩方法及电子设备
CN116996680B (zh) * 2023-09-26 2023-12-12 上海视龙软件有限公司 一种用于视频数据分类模型训练的方法及装置
CN117459732B (zh) * 2023-10-25 2024-08-16 书行科技(北京)有限公司 视频编码方法、装置、设备、可读存储介质及程序产品
CN117459733B (zh) * 2023-10-25 2024-08-16 书行科技(北京)有限公司 视频编码方法、装置、设备、可读存储介质及程序产品
CN117729355A (zh) * 2023-12-15 2024-03-19 书行科技(北京)有限公司 一种视频转码方法、装置、电子设备和存储介质
CN117956157A (zh) * 2024-02-27 2024-04-30 书行科技(北京)有限公司 视频编码方法、装置、电子设备及计算机存储介质

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5900163B2 (ja) * 2012-05-30 2016-04-06 ソニー株式会社 画像処理装置、画像処理方法およびプログラム
CN103491381B (zh) * 2013-08-22 2016-03-02 合一网络技术(北京)有限公司 一种动态规划优化视频编码关键帧位置方法
CN105187835B (zh) * 2014-05-30 2019-02-15 阿里巴巴集团控股有限公司 基于内容的自适应视频转码方法及装置
CN106856570B (zh) * 2015-12-08 2018-08-24 阿里巴巴集团控股有限公司 一种转码方法及装置
US10826963B2 (en) * 2016-12-31 2020-11-03 DISH Technologies L.L.C. Reducing latency for streaming video
CN109391825A (zh) * 2017-08-03 2019-02-26 腾讯科技(深圳)有限公司 一种视频转码方法及其装置、服务器、可读存储介质
CN109286825B (zh) * 2018-12-14 2021-04-30 北京百度网讯科技有限公司 用于处理视频的方法和装置
CN110418177B (zh) * 2019-04-19 2021-06-11 腾讯科技(深圳)有限公司 视频编码方法、装置、设备和存储介质

Also Published As

Publication number Publication date
CN111277826A (zh) 2020-06-12

Similar Documents

Publication Publication Date Title
CN111277826B (zh) 一种视频数据处理方法、装置及存储介质
CN111263154B (zh) 一种视频数据处理方法、装置及存储介质
CN106416251B (zh) 基于感知质量的可缩放视频编码速率适配
US9071841B2 (en) Video transcoding with dynamically modifiable spatial resolution
CN111294612B (zh) 一种多媒体数据处理方法、系统以及存储介质
JP6059219B2 (ja) ビデオ符号化及び復号化における待ち時間の低減
US20080043832A1 (en) Techniques for variable resolution encoding and decoding of digital video
CN108810545B (zh) 用于视频编码的方法、装置、计算机可读介质及电子设备
EP3493547B1 (en) Video streaming delivery
US11647223B2 (en) Dynamic motion vector referencing for video coding
MX2013008757A (es) Control de velocidad de bits adaptativa basado en escenas.
KR20160007564A (ko) 높은 프레임 레이트 및 가변 프레임 레이트 캡처를 위한 비디오 압축 튜닝
US20230104270A1 (en) Dynamic Parameter Selection for Quality-Normalized Video Transcoding
WO2024169391A1 (zh) 一种视频数据处理方法、装置、计算机设备以及存储介质
CN112040232B (zh) 实时通信的传输方法和装置、实时通信的处理方法和装置
US10728568B1 (en) Visual element encoding parameter tuning
CN115942009A (zh) 基于混合式编码的远程视频业务办理方法和装置
CN115379291A (zh) 一种码表更新方法、装置、设备及存储介质
KR20060043050A (ko) 영상 신호의 인코딩 및 디코딩 방법
CN112004084B (zh) 一种利用量化参数排序的码率控制优化方法及系统
CN117354524B (zh) 编码器编码性能测试方法、装置、设备及计算机介质
US20240244229A1 (en) Systems and methods for predictive coding
EP4447441A1 (en) Video processing method and related device
Uddin et al. Preliminary Study on Video Codec Optimization Using VMAF
Boumehrez et al. The efficiency of HEVC/H. 265, AV1, and VVC/H. 266 in Terms of Performance Compression and Video Content

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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40024374

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant