CN111510740B - 转码方法、装置、电子设备和计算机可读存储介质 - Google Patents

转码方法、装置、电子设备和计算机可读存储介质 Download PDF

Info

Publication number
CN111510740B
CN111510740B CN202010258221.4A CN202010258221A CN111510740B CN 111510740 B CN111510740 B CN 111510740B CN 202010258221 A CN202010258221 A CN 202010258221A CN 111510740 B CN111510740 B CN 111510740B
Authority
CN
China
Prior art keywords
video
transcoding
content
transcoded
stacking
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
CN202010258221.4A
Other languages
English (en)
Other versions
CN111510740A (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.)
China Mobile Communications Group Co Ltd
MIGU Culture Technology Co Ltd
Original Assignee
China Mobile Communications Group Co Ltd
MIGU Culture 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 China Mobile Communications Group Co Ltd, MIGU Culture Technology Co Ltd filed Critical China Mobile Communications Group Co Ltd
Priority to CN202010258221.4A priority Critical patent/CN111510740B/zh
Publication of CN111510740A publication Critical patent/CN111510740A/zh
Application granted granted Critical
Publication of CN111510740B publication Critical patent/CN111510740B/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/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234309Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by transcoding between formats or standards, e.g. from MPEG-2 to MPEG-4 or from Quicktime to Realvideo
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • 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/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/23418Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • Biomedical Technology (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

转码方法、装置、电子设备和计算机可读存储介质
技术领域
本发明实施例涉及视频转码领域,特别涉及一种转码方法、装置、电子设备和计算机可读存储介质。
背景技术
当前很多视频转码采用的都是人工设定转码参数,所有的视频采用同一套。而转码参数对于在网络上传输的短视频的用户体验至关重要,如:过高的码率会导致更高的网络带宽需求和更大的播放延迟。而过低的码率可能会导致图像质量过低出现花屏马赛克等,影响观看体验。
然而,发明人发现相关技术中至少存在如下问题:当前有很多应用场景下有海量的短片(如抖音,微信等社交媒体),无法通过人工来确定不同视频的转码参数,只能采用固定的转码参数,影响观看体验。
发明内容
本发明实施方式的目的在于提供一种转码方法、装置、电子设备和计算机可读存储介质,使得可以结合用于描述视频内容的内容特征确定对应的转码参数,从而基于与视频内容对应的转码参数完成视频转码,避免了采用固定的转码参数,有利于提升用户的观看体验。
为解决上述技术问题,本发明的实施方式提供了一种转码方法,包括以下步骤:获取用于描述待转码视频的视频内容的内容特征,并确定与所述内容特征对应的转码参数的值;根据所述转码参数的值,对所述待转码视频进行转码得到转码后的视频。
本发明的实施方式还提供了一种转码装置,其特征在于,包括:转码参数输出模块,用于获取用于描述待转码视频的视频内容的内容特征,并确定与所述内容特征对应的转码参数的值;转码模块,用于根据所述转码参数的值,对所述待转码视频进行转码得到转码后的视频。
本发明的实施方式还提供了一种电子设备,包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述的转码方法。
本发明的实施方式还提供了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现上述的转码方法。
本发明实施方式相对于现有技术而言,获取用于描述待转码视频的视频内容的内容特征,并确定与内容特征对应的转码参数的值,根据确定的转码参数的值,对待转码视频进行转码得到转码后的视频。本发明实施方式通过获取用于描述待转码视频的视频内容的内容特征,并确定与内容特征对应的转码参数的值,有利于得到与待转码视频的视频内容相适应的转码参数的值,从而进一步根据与待转码视频的视频内容相适应的转码参数的值对待转码视频进行转码。也就是说,不同的待转码视频之间因为内容特征的不同,确定的转码参数的值也可能存在差异,在一定程度上有利于避免采用固定的转码参数对不同的待转码视频进行转码,使得可以对待转码视频采用相对合理的转码参数进行转码,有利于提升用户的观看体验。
另外,所述内容特征至少包括以下任意之一或其组合:场景、动作、物体、视频类型、视频动作剧烈程度。提供了多维度的用于描述待转码视频的视频内容的内容特征,方便了更全面的对待转码视频的视频内容进行描述,为确定与内容特征对应的转码参数的值提供了多维度的参考,使得确定的转码参数的值更加合理准确。
另外,所述内容特征包括视频动作剧烈程度,所述获取用于描述待转码视频的视频内容的内容特征,包括:根据所述待转码视频中各视频帧的运动矢量,获取平均运动矢量;获取所述各视频帧的运动矢量中的最大运动矢量;根据所述平均运动矢量和所述最大运动矢量,提取用于表征所述待转码视频的视频动作剧烈程度的特征向量。提供了一种获取待转码视频中的视频动作剧烈程度的方式,通过对待转码视频中各视频帧的运动矢量进行如上处理,有利于将较为复杂的视频动作剧烈程度通过一个特征向量表示,方便了获取待转码视频中的视频动作剧烈程度。
另外,所述根据所述平均运动矢量和所述最大运动矢量,提取用于表征所述待转码视频的视频动作剧烈程度的特征向量,包括:将所述平均运动矢量和所述最大运动矢量进行堆叠,得到堆叠矢量;对所述堆叠矢量进行降维处理,得到用于表征所述待转码视频的视频动作剧烈程度的特征向量,通过对堆叠矢量进行降维处理使得得到的用于表征待转码视频的视频动作剧烈程度的特征向量维度相对较低,有利于提高后续的执行速度。
另外,所述内容特征包括不同维度的内容特征,所述预先训练用于提取内容特征并输出转码参数的值的神经网络模型,包括:分别训练用于提取不同维度的内容特征的各分块模型;其中,所述各分块模型包括隐藏层和所述隐藏层之后的网络层;去除所述各分块模型的隐藏层之后的网络层,并将所述各分块模型的隐藏层进行堆叠,得到特征堆叠层;在所述特征堆叠层之后增加神经网络计算层,得到神经网络模型的网络结构;其中,所述神经网络计算层用于输出与所述内容特征对应的转码参数的值;根据所述网络结构,预先训练用于提取内容特征并输出转码参数的值的神经网络模型。通过训练用于提取不同维度的内容特征的各分块模型,使得训练得到的每一个分块模型均可以有针对性的提取一个维度的内容特征,有利于提高提取到的内容特征的准确性。去除各分块模型的隐藏层之后的网络层,并将各分块模型的隐藏层进行堆叠,得到特征堆叠层,有利于通过特征堆叠层对各分块模型的隐藏层输出的内容特征进行无损失的融合。在特征堆叠层之后增加用于输出与内容特征对应的转码参数的值的神经网络计算层,得到神经网络模型的网络结构,通过该网络结构有利于训练得到用于提取内容特征并输出转码参数的值的神经网络模型。
另外,所述不同维度的内容特征包括:第一类内容特征和第二类内容特征,所述第一类内容特征至少包括:场景、动作、物体、视频类型,所述第二类内容特征包括视频动作剧烈程度;所述分别训练用于提取不同维度的内容特征的各分块模型,包括:分别训练用于提取不同维度的第一类内容特征的各分块模型;所述在所述特征堆叠层之后增加神经网络计算层,得到神经网络模型的网络结构之前,还包括:搭建用于提取表征视频动作剧烈程度的特征向量的提取器;将所述提取器输出的特征向量堆叠到所述特征堆叠层中,得到预测模型的网络结构。考虑到视频动作剧烈程度这一内容特征,也可以通过搭建的用于提取表征视频动作剧烈程度的特征向量的提取器提取,而且搭建的提取器避免了训练用于输出视频动作剧烈程度的分块模型。本实施方式通过搭建提取器来提取表征视频动作剧烈程度的特征向量,简化了视频动作剧烈程度这一内容特征的获取过程,从而有利于在一定程度上简化搭建神经网络模型模型的网络结构的过程。
附图说明
一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定。
图1是根据本发明第一实施方式的转码方法的流程图;
图2是根据本发明第一实施方式的视频帧中运动矢量的示意图;
图3是根据本发明第一实施方式的根据视频帧中的运动矢量估算视频动作剧烈程度的流程图;
图4是根据本发明第二实施方式的转码方法的流程图;
图5是根据本发明第二实施方式的步骤401的子步骤的流程图;
图6是根据本发明第二实施方式的分块模型的网络结构的示意图;
图7是根据本发明第二实施方式的神经网络模型的网络结构的示意图;
图8是根据本发明第三实施方式的转码装置的示意图;
图9是根据本发明第四实施方式的电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施方式中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请所要求保护的技术方案。以下各个实施例的划分是为了描述方便,不应对本发明的具体实现方式构成任何限定,各个实施例在不矛盾的前提下可以相互结合相互引用。
本发明的第一实施方式涉及一种转码方法,应用于电子设备。下面对本实施方式的转码方法的实现细节进行具体的说明,以下内容仅为方便理解提供的实现细节,并非实施本方案的必须。
本实施方式中的转码方法的流程图如图1所示,具体包括:
步骤101:获取用于描述待转码视频的视频内容的内容特征。
其中,待转码的视频可以为视频平台上的短视频,然而在具体实现中并不以短视频为限。
在一个例子中,用于描述待转码视频的视频内容的内容特征可以至少包括以下任意之一或其组合:场景、动作、物体、视频类型、视频动作剧烈程度。具体的,可以通过对待转码视频的视频内容进行分析,从而得到待转码视频的内容特征。比如,可以根据用于提取内容特征的提取模型获取用于描述待转码视频的视频内容的内容特征。也就是说,将待转码视频作为提取模型的输入,提取模型输出待转码视频的内容特征。
在一个例子中,用于提取内容特征的提取模型可以提取待转码视频的多个维度的内容特征,比如提取待转码视频的场景、动作、物体、视频类型、视频动作剧烈程度等。也就是说,利用一个模型可以提取多个维度的内容特征。比如,在训练该提取模型时,训练样本中的每个样本均标注有多个维度的内容特征,从而使训练得到的提取模型可以用来提取待转码视频中的多个维度的内容特征。
在一个例子中,用于提取内容特征的提取模型可以包括多个分块模型,每个分块模型用于提取一个维度的内容特征。比如,分块模型1用于提取待转码视频中的场景,分块模型2用于提取待转码视频中的动作,分块模型3用于提取待转码视频的视频类型,也就是说,每一个分块模型有针对性的提取一个维度的内容特征。在具体实现中,场景、动作、物体对应的分块模型可以基于互联网上现有的动作,场景,物体数据库进行训练。视频类型对应的分块模型可以采用人工标注过视频类型的视频数据库来完成训练。视频动作剧烈程度对应的分块模型也可以采用人工标注过剧烈程度的视频数据库来完成训练,剧烈程度可以用1、2、3来标注,其中,1表示剧烈,2表示一般,3表示不剧烈,然而在具体实现中对剧烈程度标注的内容并不以此为限。
在一个例子中,可以假设转码视频中各视频帧由运动的块构成,根据块的位置移动可估算出视频动作剧烈程度,块的位置移动可采用运动矢量表示。参考图2,图2中的箭头展示了将视频帧中的运动矢量,表示帧中块的位移和大小,从视频帧中可以提取出运动矢量。假设视频的分辨率是1280*960,每4*4个像素表示一个块,每一行1280/4=320个块,一共有960/4=240行,每个块可使用2个数字(针对二维图像)也可以使用3个数字(针对三维图像)表示表示运动矢量。下面以使用两个数字表示运动矢量为例,则最终运动矢量可以采用如下表示:
[[(0,7)(1,2)(1,1)...(1,1)]
[(0,-7)(1,0)(1,7)...(2,1)]
[(0,0)(1,2)(1,1)...(1,1)]
...
[(0,0)(1,2)(1,1)...(1,1)]
[(0,0)(1,2)(1,1)...(1,1)]
[(0,0)(1,2)(1,1)...(1,1)]]----一共240行.
由于运动矢量是采用两个数字表示的,可以进一步使用一个数字等价表示。比如采用|x|*100+|y|表示。另外,由于本实施方式中主要关注的是动作激烈程度,而不是运动的方向,所以可以把所有值都取正值,则运动矢量可以表示如下:
[[7 102 101...101]
[7 100 107...201]
[0 102 101...101]
...
[0 102 101...101]
[0 102 101...101]
[0 102 101...101]]
下面对根据块的位置移动即视频帧中的运动矢量,估算出视频动作剧烈程度的方式进行解释说明,可以参考图3,包括:
步骤301:根据待转码视频中各视频帧的运动矢量,获取平均运动矢量。
具体的说,可以先获取待转码视频中各视频帧的运动矢量,然后根据各视频帧的运动矢量获取整个待转码视频的平均运动矢量。比如,可以通过以下公式获取平均运动矢量:
Figure BDA0002438246370000061
其中,ai为第i个视频帧的运动矢量,n为待转码视频中视频帧的数量。
步骤302:获取各视频帧的运动矢量中的最大运动矢量。
也就是说,在各视频帧的运动矢量中选择一个最大的运动矢量。比如,可以通过以下公式获取最大运动矢量:
g=max(|a1|,|a2|...|an|)
其中,如果用2个数字表示运动矢量,即an=(x,y),则|an|=|x|+|y|;如果用3个数字表示运动矢量,即,an=(x,y,z),则|an|=|x|+|y|+|z|。
步骤303:根据平均运动矢量和最大运动矢量,提取用于表征待转码视频的视频动作剧烈程度的特征向量。
在一个例子中,可以将平均运动矢量f和最大运动矢量g进行堆叠,得到堆叠矢量s,直接将堆叠矢量作为用于表征待转码视频的视频动作剧烈程度的特征向量。堆叠的方式可以为:s=stack(f,g)=(s1,s2,s3...sm),其中m为每个视频帧中块的行数量。在具体实现中,将f与g进行堆叠的方式可以为横向堆叠也可以为纵向堆叠,假设f与g均为10维的运动矢量,则横向堆叠得到的堆叠矢量s为20维,纵向堆叠得到的堆叠矢量s为2×10维。
在另一个例子中,可以将平均运动矢量和所述最大运动矢量进行堆叠,得到堆叠矢量;然后对堆叠矢量进行降维处理,得到用于表征待转码视频的视频动作剧烈程度的特征向量。其中,降维处理理解为降低堆叠矢量的维数,比如对组成堆叠矢量的两个矢量求平均值,使得可以在降维的同时尽可能的降低数据量的丢失。比如,可以通过以下公式对堆叠矢量进行降维处理:
Figure BDA0002438246370000071
其中,h即为提取的用于表征待转码视频的视频动作剧烈程度的特征向量。
为方便理解上述估算出视频动作剧烈程度的方式,进行如下举例说明:
假设视频有2个视频帧,对应的运动矢量如下(维度为2*3),则
第一个视频帧的运动矢量可以表示为:[(101,103,3),(1,2,5)]
第二个视频帧的运动矢量可以表示为:[(2,4,103),(1,0,5)]
平均运动矢量可以表示为:
[(101+2,103+4,3+103)/2,(1+1,2+0,5+5)/2]=[(52,54,53),(1,1,5)]
第一个视频帧的运动矢量和可以表示为:101+103+3+1+2+5=215
第二个视频帧的运动矢量和可以表示为:2+4+103+1+0+5=115
通过第一个视频帧的运动矢量和、第二个视频帧的运动矢量和可以确定最大运动矢量为第一个视频帧,即[(101,103,3),(1,2,5)]。
将平均运动矢量和最大运动矢量进行堆叠得到的堆叠矢量如下:
S=[(52,54,53,101,103,3),(1,1,5,1,2,5)]
对堆叠矢量进行降维处理得到:
h=[(52+1,54+1,53+5,101+1,103+2,103+5)/2]=(27,28,29,51,53,54)
需要说明的是,在具体实现中可以将上述计算的到s作为用于表征待转码视频的视频动作剧烈程度的特征向量,也可以将h作为用于表征待转码视频的视频动作剧烈程度的特征向量,本实施方式对此不作具体限定。
步骤102:确定与内容特征对应的转码参数的值。
其中,转码参数可以包括:码率、帧率、QP等。其中,QP是量化参数QuantizationParameter的英文缩写,在视频编码过程中,决定输出码率比特数的直接因素为DCT变换(离散余弦变换—Discrete Cosine Transform)后,对获得的DCT系数进行量化时采用的量化参数。
在一个例子中,可以预存内容特征与转码参数的值的对应关系,根据预存的该对应关系确定与内容特征对应的转码参数的值。
在另一个例子中,可以预先训练用于输出转码参数的值的预测模型,根据该预测模型确定与内容特征对应的转码参数的值。比如,可以将内容特征输入预测模型从而输出与内容特征对应的转码参数的值。在具体实现中,可以预先准备训练样本,该训练样本中包括大量不同种类的视频,提取样本特征,基于样本特征训练得到预测模型。其中,样本特征可以包括视频的内容特征和该视频适合的转码参数的值,在具体实现中,适合的转码参数的值可以由有经验的专家给出。
步骤103:根据转码参数的值,对待转码视频进行转码得到转码后的视频。
也就是说,根据与待转码视频的内容特征相适应的码率值、帧率值和QP值等,对待转码视频采用预设的转码工具进行转码,得到转码后的视频。其中,预设的转码工具可以根据实际需要进行设置,本实施方式对此不作具体限定。
需要说明的是,本实施方式中的上述各示例均为为方便理解进行的举例说明,并不对本发明的技术方案构成限定。
与现有技术相比,本实施方式获取用于描述待转码视频的视频内容的内容特征,并确定与内容特征对应的转码参数的值,根据确定的转码参数的值,对待转码视频进行转码得到转码后的视频。本发明实施方式通过获取用于描述待转码视频的视频内容的内容特征,并确定与内容特征对应的转码参数的值,有利于得到与待转码视频的视频内容相适应的转码参数的值,从而进一步根据与待转码视频的视频内容相适应的转码参数的值对待转码视频进行转码。也就是说,不同的待转码视频之间因为内容特征的不同,确定的转码参数的值也可能存在差异,在一定程度上有利于避免采用固定的转码参数对不同的待转码视频进行转码,使得可以对待转码视频采用相对合理的转码参数进行转码,有利于提升用户的观看体验。
本发明的第二实施方式涉及一种转码方法。下面对本实施方式的转码方法的实现细节进行具体的说明,以下内容仅为方便理解提供的实现细节,并非实施本方案的必须。
本实施方式中的转码方法的流程图如图4所示,具体包括:
步骤401:预先训练用于提取内容特征并输出转码参数的值的神经网络模型。
在一个例子中,内容特征包括不同维度的内容特征,预先训练神经网络模型的方式可以参考图5,包括:
步骤4011:分别训练用于提取不同维度的内容特征的各分块模型。
其中,各分块模型包括隐藏层和隐藏层之后的网络层,各分块模型的隐藏层用于输出不同维度的内容特征。其中,不同维度的内容特征可以包括:场景、动作、物体、视频类型、视频动作剧烈程度。即分别训练用于提取视频中的场景的分块模型1、用于提取视频中的动作的分块模型2、用于提取视频中的物体的分块模型3、用于提取视频类型的分块模型4、用于提取视频中的视频动作剧烈程度的分块模型4。
在一个例子中,各分块模型的网络结构均可以如图6所示,该网络结构包括:I3D网络601、第一全连接子层602、隐藏层603、第二全连接子层604、输出层605。其中,I3D网络601,即双流膨胀3D卷积神经网络是一种把卷积核和池化核都扩张成3D形式的网络结构,即把所有卷积核以及池化核在原本长和宽的基础上,又增加了时间的一维。通过图6可以看出隐藏层之后的网络层可以包括第二全连接子层604和输出层605。通常情况下,第一全连接子层602输出至隐藏层603的特征的维度较高,信息量较大,第二全连接子层604输出至输出层605的特征的维度较低,信息量较少。
其中,场景、动作、物体对应的分块模型可以基于现有的场景数据库,动作数据库,物体数据库进行训练得到。视频类型对应的分块模型可以采用人工标注视频类型的视频数据库来完成训练。视频动作剧烈程度对应的分块模型也可以采用人工标注过剧烈程度的视频数据库来完成训练,剧烈程度可以用1、2、3来标注,其中,1表示剧烈,2表示一般,3表示不剧烈,然而在具体实现中对剧烈程度标注的内容并不以此为限。
在一个例子中,不同维度的内容特征包括:第一类内容特征和第二类内容特征,第一类内容特征至少包括:场景、动作、物体、视频类型,第二类内容特征包括视频动作剧烈程度。可以分别训练用于提取不同维度的第一类内容特征的各分块模型,即分别训练用于提取场景、动作、物体、视频类型的各分块模型。对于视频动作剧烈程度这一内容特征的获取,可以搭建用于提取表征视频动作剧烈程度的特征向量的提取器。具体的,该提取器提取取表征视频动作剧烈程度的特征向量的方式可以参考第一实施方式中步骤301至步骤303,为避免重复,本实施方式在此不再赘述。
步骤4012:去除各分块模型的隐藏层之后的网络层,并将各分块模型的隐藏层进行堆叠,得到特征堆叠层。
在一个例子中,场景、动作、物体、视频类型、视频动作剧烈程度均可以均通过对应的分块模型提取得到。参考图6,去除各分块模型的隐藏层之后的网络层,即去除各分块模型的二全连接子层604和输出层605。然后,将各分块模型的隐藏层进行堆叠,得到特征堆叠层。特征堆叠层可以将各分块模型的隐藏层输出的内容特征进行堆叠。
在一个例子中,场景、动作、物体、视频类型通过对应的分块模型提取得到,视频动作剧烈程度通过上述搭建的提取器提取得到。可以将场景、动作、物体、视频类型对应的各分块模型的隐藏层之后的网络层去除,然后,将各分块模型的隐藏层进行堆叠,得到特征堆叠层,接着,将提取器输出的特征向量堆叠到特征堆叠层中。
步骤4013:在特征堆叠层之后增加神经网络计算层,得到神经网络模型的网络结构。
其中,神经网络计算层用于输出与内容特征对应的转码参数的值。
步骤4014:根据网络结构进行端到端的训练,得到用于提取不同维度的内容特征并输出转码参数的值的神经网络模型。
具体的说,可以预先准备用于训练神经网络模型的视频样本集,假设该视频样本集中有600个不同种类的视频,并由有经验的专业人士给出每个视频适合的转码参数的值,将标注有适合的转码参数的值的视频输入神经网络模型的网络结构进行模型训练,从而训练得到神经网络模型。
为方便对本实施方式中的神经网络模型的网络结构的理解,可以参考图7,图7中主要分为两部分即分块网络和神经网络计算层。分块网络中的分块模型1用于提取视频中的场景、分块模型2用于提取视频中的场景动作、分块模型3用于提取视频中的视频类型、分块模型4用于提取视频中的物体。可以理解的是,图7中的各分块模型已经去除第二全连接层和输出层,分块模型1至分块模型4中的各隐藏层堆叠后得到堆叠特征层706,堆叠特征层706输出的向量可以表示为(1,512*3+128)分别对应(场景、动作、物体和视频类型),即分块模型1、2、4的隐藏层输出的向量为(512,1)维,分块模型3的隐藏层输出的向量为(128,1)维。提取器705输出的特征向量堆叠到堆叠特征层706后,堆叠特征层706输出的向量可以表示为:(1,512*3+128+提取器705输出的特征向量)。堆叠特征层706输出的向量进入神经网络计算层,输出对应的转码参数的值。需要说明的是,本实施方式中各隐藏层输出的向量的维度只是以上述的(512,1)维、(128,1)维为例,在具体实现中并不以此为限。
图7中神经网络计算层包括全连接网络707、码率输出网络708、QP输出网络709、帧率输出网络710,码率输出网络708用于输出对应的码率值,QP输出网络709用于输出对应的QP值,帧率输出网络710用于输出对应的帧率值。
需要说明的,本实施方式只是为方便说明以各分块模型的结构相同为例,但在具体实现中各分块模型的结构也可以存在差异,本实施方式对此不作限定。另外,神经网络计算层输出的转码参数的值也只是以码率值、QP值、帧率值为例,在具体实现中并不以此为限,可以根据实际需要输出其他类型的转码参数的值。
步骤402:根据神经网络模型获取用于描述待转码视频的视频内容的内容特征,并确定与内容特征对应的转码参数的值。
具体的说,可以将待转码视频输入如图7所示的神经网络模型,通过堆叠特征层706可以提取用于描述待转码视频的视频内容的内容特征,即待转码视频中的场景、动作、视频类型、物体、视频动作剧烈程度。通过神经网络计算层可以输出与内容特征对应的转码参数的值。
在具体实现中,可以直接将待转码视频输入神经网络模型,神经网络模型通过内部的网络结构自动提取内容特征,从而直接根据提取的内容特征输出与待转码视频相适应的转码参数的值。
步骤403:根据转码参数的值,对待转码视频进行转码得到转码后的视频。
其中,步骤403与第一实施方式中步骤103大致相同那个,为避免重复本实施方式对此不再赘述。
与现有技术相比,本实施方式中,通过训练用于提取不同维度的内容特征的各分块模型,使得训练得到的每一个分块模型均可以有针对性的提取一个维度的内容特征,有利于提高提取到的内容特征的准确性。去除各分块模型的隐藏层之后的网络层,并将各分块模型的隐藏层进行堆叠,得到特征堆叠层,有利于通过特征堆叠层对各分块模型的隐藏层输出的内容特征进行无损失的融合。在特征堆叠层之后增加用于输出与内容特征对应的转码参数的值的神经网络计算层,得到预测模型的网络结构,通过该网络结构有利于训练得到用于提取内容特征并输出转码参数的值的预测模型。而且,考虑到视频动作剧烈程度这一内容特征,也可以通过搭建的用于提取表征视频动作剧烈程度的特征向量的提取器提取,而且搭建的提取器避免了训练用于输出视频动作剧烈程度的的分块模型。本实施方式通过搭建提取器来提取表征视频动作剧烈程度的特征向量,简化了视频动作剧烈程度这一内容特征的获取过程,从而有利于在一定程度上简化搭建预测模型的网络结构的过程。
上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包括相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。
本发明第三实施方式涉及一种转码装置,如图8所示,包括:转码参数输出模块801,用于获取用于描述待转码视频的视频内容的内容特征,并确定与所述内容特征对应的转码参数的值;转码模块802,用于根据所述转码参数的值,对所述待转码视频进行转码得到转码后的视频。
不难发现,本实施方式为与第一或二实施方式相对应的装置实施例,本实施方式可与第一或二实施方式互相配合实施。第一或二实施方式中提到的相关技术细节和技术效果在本实施方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在第一或二实施方式中。
值得一提的是,本实施方式中所涉及到的各模块均为逻辑模块,在实际应用中,一个逻辑单元可以是一个物理单元,也可以是一个物理单元的一部分,还可以以多个物理单元的组合实现。此外,为了突出本发明的创新部分,本实施方式中并没有将与解决本发明所提出的技术问题关系不太密切的单元引入,但这并不表明本实施方式中不存在其它的单元。
本发明第四实施方式涉及一种电子设备,如图9所示,包括至少一个处理器901;以及,与至少一个处理器901通信连接的存储器902;其中,存储器902存储有可被至少一个处理器901执行的指令,指令被至少一个处理器901执行,以使至少一个处理器901能够执行第一或第二实施方式中的转码方法。
其中,存储器902和处理器901采用总线方式连接,总线可以包括任意数量的互联的总线和桥,总线将一个或多个处理器901和存储器902的各种电路连接在一起。总线还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路连接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口在总线和收发机之间提供接口。收发机可以是一个元件,也可以是多个元件,比如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。经处理器901处理的数据通过天线在无线介质上进行传输,进一步,天线还接收数据并将数据传送给处理器901。
处理器901负责管理总线和通常的处理,还可以提供各种功能,包括定时,外围接口,电压调节、电源管理以及其他控制功能。而存储器902可以被用于存储处理器901在执行操作时所使用的数据。
本发明第五实施方式涉及一种计算机可读存储介质,存储有计算机程序。计算机程序被处理器执行时实现上述方法实施例。
即,本领域技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域的普通技术人员可以理解,上述各实施方式是实现本发明的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。

Claims (7)

1.一种转码方法,其特征在于,包括:
获取用于描述待转码视频的视频内容的内容特征,并确定与所述内容特征对应的转码参数的值;
根据所述转码参数的值,对所述待转码视频进行转码得到转码后的视频;
其中,所述内容特征至少包括以下任意之一或其组合:场景、动作、物体、视频类型、视频动作剧烈程度;
所述内容特征包括视频动作剧烈程度,所述获取用于描述待转码视频的视频内容的内容特征,包括:
根据所述待转码视频中各视频帧的运动矢量,获取平均运动矢量;
获取所述各视频帧的运动矢量中的最大运动矢量;
将所述平均运动矢量和所述最大运动矢量进行堆叠,得到堆叠矢量;
对所述堆叠矢量进行降维处理,得到用于表征所述待转码视频的视频动作剧烈程度的特征向量。
2.根据权利要求1所述的转码方法,其特征在于,所述获取用于描述待转码视频的视频内容的内容特征,并确定与所述内容特征对应的转码参数的值,包括:
预先训练用于提取内容特征并输出转码参数的值的神经网络模型;
根据所述神经网络模型获取用于描述待转码视频的视频内容的内容特征,并确定与所述内容特征对应的转码参数的值。
3.根据权利要求2所述的转码方法,其特征在于,所述内容特征包括不同维度的内容特征,所述预先训练用于提取内容特征并输出转码参数的值的神经网络模型,包括:
分别训练用于提取不同维度的内容特征的各分块模型;其中,所述各分块模型包括隐藏层和所述隐藏层之后的网络层;
去除所述各分块模型的隐藏层之后的网络层,并将所述各分块模型的隐藏层进行堆叠,得到特征堆叠层;其中,所述特征堆叠层用于堆叠所述各分块模型的隐藏层输出的内容特征;
在所述特征堆叠层之后增加神经网络计算层,得到所述神经网络模型的网络结构;其中,所述神经网络计算层用于输出与所述内容特征对应的转码参数的值;
根据所述网络结构进行端到端的训练,得到用于提取不同维度的内容特征并输出转码参数的值的神经网络模型。
4.根据权利要求3所述的转码方法,其特征在于,所述不同维度的内容特征包括:第一类内容特征和第二类内容特征,所述第一类内容特征至少包括以下任意之一或其组合:场景、动作、物体、视频类型,所述第二类内容特征包括视频动作剧烈程度;
所述分别训练用于提取不同维度的内容特征的各分块模型,包括:
分别训练用于提取不同维度的第一类内容特征的各分块模型;
所述在所述特征堆叠层之后增加神经网络计算层,得到所述神经网络模型的网络结构之前,还包括:
搭建用于提取表征视频动作剧烈程度的特征向量的提取器;
将所述提取器输出的特征向量堆叠到所述特征堆叠层中。
5.一种转码装置,其特征在于,包括:
转码参数输出模块,用于获取用于描述待转码视频的视频内容的内容特征,并确定与所述内容特征对应的转码参数的值;其中,所述内容特征至少包括以下任意之一或其组合:场景、动作、物体、视频类型、视频动作剧烈程度;
所述内容特征包括视频动作剧烈程度,所述转码参数输出模块,还用于根据所述待转码视频中各视频帧的运动矢量,获取平均运动矢量;获取所述各视频帧的运动矢量中的最大运动矢量;将所述平均运动矢量和所述最大运动矢量进行堆叠,得到堆叠矢量;对所述堆叠矢量进行降维处理,得到用于表征所述待转码视频的视频动作剧烈程度的特征向量;
转码模块,用于根据所述转码参数的值,对所述待转码视频进行转码得到转码后的视频。
6.一种电子设备,其特征在于,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至4中任一所述的转码方法。
7.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至4中任一项所述的转码方法。
CN202010258221.4A 2020-04-03 2020-04-03 转码方法、装置、电子设备和计算机可读存储介质 Active CN111510740B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010258221.4A CN111510740B (zh) 2020-04-03 2020-04-03 转码方法、装置、电子设备和计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010258221.4A CN111510740B (zh) 2020-04-03 2020-04-03 转码方法、装置、电子设备和计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN111510740A CN111510740A (zh) 2020-08-07
CN111510740B true CN111510740B (zh) 2022-08-30

Family

ID=71877494

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010258221.4A Active CN111510740B (zh) 2020-04-03 2020-04-03 转码方法、装置、电子设备和计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN111510740B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115396683B (zh) * 2022-08-22 2024-04-09 广州博冠信息科技有限公司 视频优化处理方法、装置、电子设备及计算机可读介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101404767A (zh) * 2008-11-24 2009-04-08 崔天龙 一种基于图像分析及人工智能的可变参数的自动化视频转码方法
CN105187835A (zh) * 2014-05-30 2015-12-23 阿里巴巴集团控股有限公司 基于内容的自适应视频转码方法及装置
CN107155107A (zh) * 2017-03-21 2017-09-12 腾讯科技(深圳)有限公司 视频编码方法和装置、视频解码方法和装置
CN109874018A (zh) * 2018-12-29 2019-06-11 深兰科技(上海)有限公司 基于神经网络的图像编码方法、系统、终端及存储介质
CN110650370A (zh) * 2019-10-18 2020-01-03 北京达佳互联信息技术有限公司 一种视频编码参数确定方法、装置、电子设备及存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150181208A1 (en) * 2013-12-20 2015-06-25 Qualcomm Incorporated Thermal and power management with video coding

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101404767A (zh) * 2008-11-24 2009-04-08 崔天龙 一种基于图像分析及人工智能的可变参数的自动化视频转码方法
CN105187835A (zh) * 2014-05-30 2015-12-23 阿里巴巴集团控股有限公司 基于内容的自适应视频转码方法及装置
CN107155107A (zh) * 2017-03-21 2017-09-12 腾讯科技(深圳)有限公司 视频编码方法和装置、视频解码方法和装置
CN109874018A (zh) * 2018-12-29 2019-06-11 深兰科技(上海)有限公司 基于神经网络的图像编码方法、系统、终端及存储介质
CN110650370A (zh) * 2019-10-18 2020-01-03 北京达佳互联信息技术有限公司 一种视频编码参数确定方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN111510740A (zh) 2020-08-07

Similar Documents

Publication Publication Date Title
CN109087273B (zh) 基于增强的神经网络的图像复原方法、存储介质及系统
CN110751649B (zh) 视频质量评估方法、装置、电子设备及存储介质
CN112396645B (zh) 一种基于卷积残差学习的单目图像深度估计方法和系统
US11429817B2 (en) Neural network model training method and device, and time-lapse photography video generating method and device
Sun et al. CVIQD: Subjective quality evaluation of compressed virtual reality images
CN112399176B (zh) 一种视频编码方法、装置、计算机设备及存储介质
CN110136057B (zh) 一种图像超分辨率重建方法、装置及电子设备
EP2145476B1 (en) Image compression and decompression using the pixon method
CN116664450A (zh) 基于扩散模型的图像增强方法、装置、设备及存储介质
CN114418030A (zh) 图像分类方法、图像分类模型的训练方法及装置
CN113688907A (zh) 模型训练、视频处理方法,装置,设备以及存储介质
CN114766035A (zh) 频域数据的预处理和数据增强
KR101428671B1 (ko) 스케일링 및 퀄리티-컨트롤 파라미터의 변경에 의한 변환이 가능한 이미지의 파일 사이즈 예측 시스템 및 방법
CN111294614B (zh) 用于数字图像、音频或视频数据处理的方法和设备
CN111510740B (zh) 转码方法、装置、电子设备和计算机可读存储介质
CN115170746A (zh) 一种基于深度学习的多视图三维重建方法、系统及设备
CN115035171A (zh) 基于自注意力导向特征融合的自监督单目深度估计方法
CN116250008A (zh) 点云的编码、解码方法、编码器、解码器以及编解码系统
CN116508320A (zh) 基于机器学习的图像译码中的色度子采样格式处理方法
CN117036436A (zh) 一种基于双编码器-解码器的单目深度估计方法及系统
EP4216553A1 (en) Point cloud decoding and encoding method, and decoder, encoder and encoding and decoding system
CN113240589A (zh) 一种多尺度特征融合的图像去雾方法及系统
CN112669240A (zh) 高清图像修复方法、装置、电子设备和存储介质
Jayasankar et al. A new objective image quality assessment metric: For color and grayscale images
CN117319655B (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