CN114430501B - 一种用于文件转码的内容自适应编码的方法及系统 - Google Patents

一种用于文件转码的内容自适应编码的方法及系统 Download PDF

Info

Publication number
CN114430501B
CN114430501B CN202111629156.2A CN202111629156A CN114430501B CN 114430501 B CN114430501 B CN 114430501B CN 202111629156 A CN202111629156 A CN 202111629156A CN 114430501 B CN114430501 B CN 114430501B
Authority
CN
China
Prior art keywords
content
coding
adaptive
sub
gop
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
CN202111629156.2A
Other languages
English (en)
Other versions
CN114430501A (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.)
SHANGHAI WONDERTEK SOFTWARE CO Ltd
Original Assignee
SHANGHAI WONDERTEK SOFTWARE 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 SHANGHAI WONDERTEK SOFTWARE CO Ltd filed Critical SHANGHAI WONDERTEK SOFTWARE CO Ltd
Priority to CN202111629156.2A priority Critical patent/CN114430501B/zh
Publication of CN114430501A publication Critical patent/CN114430501A/zh
Application granted granted Critical
Publication of CN114430501B publication Critical patent/CN114430501B/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/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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/40Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output 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/440245Processing 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 the reformatting operation being performed only on part of the stream, e.g. a region of the image or a time segment
    • 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/440263Processing 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 altering the spatial resolution, e.g. for displaying on a connected PDA

Landscapes

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

Abstract

一种用于文件转码的内容自适应编码的方法和系统,包括:S1:根据文件中视频内容进行虚拟切分预处理,获得视频内容中每一子内容视频段的时间段;S2:确定每一子内容视频段适配的一GOP编码参数;S3:通过所述GOP编码参数,确定适配的所述子内容视频段的内容自适应编码过程,调整所述GOP编码参数,直至对应的VMAF分值在预设范围,保存调整后的GOP编码参数作为所述子内容视频段的本段编码参数;S4:利用本段编码参数完成整个文件的内容编码。

Description

一种用于文件转码的内容自适应编码的方法及系统
技术领域
本发明属于视频转码技术开发,特别涉及根据文件的内容进行自适应编码方法及系统。
背景技术
内容自适应编码方法能够在相同码率下观看更高分辨率的视频,在带宽节省的同时提升观看体验。传统实现内容自适应编码的方式包括以下3种。
1.针对不同类型的视频会产生不同编码配置。视频分类可以是广义上的分类,例如分为视频会议、电影、体育、音乐视频等,也可以是电影类型的分类,例如戏剧、动作电影、动画等。在这种分类下,只能粗略地针对某一类的视频调整编码配置,例如对简单内容场景的视频可以降低码率。然而,这种分类可能过于粗糙,因为在某一大类中,不同视频之间仍有较大的区别,因此使用同一编码配置很不精确。
2.针对每个具体的视频都会得出相应的编码配置。根据视频不同分辨率下的rate-quality曲线(等级质量),选择出最优的分辨率和码率组合。这种方法存在的问题是,如果视频较长(如电影等),既包含复杂内容场景又包含简单内容场景,导致此方法编码配置可能不够灵活,不能有效应对视频内部不同内容的变化。
3.将输入视频划分为多个片段,为每个片段获取最佳的分辨率和码率组合。这些视频片段可能是原视频每隔一定时间间隔分割得到的。但是,由于视频内容的动态变化,此方法也不能有效应对视频内部不同内容的变化。
因此,现有技术中存在以下的问题,一个视频文件中可能包含不同的视频内容,例如静止、动态、内容复杂场景和内容简单场景等。如何根据不同的视频内容,提供不同的编码策略,能够在保证画面质量的前提下,可以降低视频码率的技术问题。
发明内容
本发明的目的在于提供一种用于文件转码的内容自适应编码的方法及系统,以解决现有技术中根据不同的视频内容,提供不同的编码策略,能够在保证画面质量的前提下,不能降低视频码率的技术问题。
一种用于文件转码的内容自适应编码的方法,它包括:
S1:根据文件中视频内容进行虚拟切分预处理,获得所述视频内容中每一子内容视频段的时间段;
S2:确定每一子内容视频段适配的一GOP编码参数,所述GOP编码参数至少包括码率控制参数值和图像锐化值;
S3:通过所述GOP编码参数,确定适配的所述子内容视频段的内容自适应编码过程,其进一步包括:
S31:对每一子内容视频段的预设帧数的原视频数据进行解码,保存第一缓冲区;
S32:使用适配的所述GOP编码参数进行所述帧级编码,成第二编码数据,后对所述第二编码数据进行解码,保存在第二缓冲区;
S33:通过VMAF工具来对比所述第一缓冲区与所述第二缓冲区,获得VMAF分值;
S34:调整所述GOP编码参数,直至对应的VMAF分值在预设范围,保存调整后的GOP编码参数作为所述子内容视频段的本段编码参数;
S4:完成整个文件的内容编码。
本发明确定每一子内容视频段适配的一GOP编码参数进一步包括:
找到所述子内容视频段所有的GOP编码参数,将所有的GOP编码参数进行平均值计算,计算后的均值参数作为所述子内容视频段适配的GOP编码参数。
其中,步骤S4具体包括:对每一子内容视频段通过本段编码参数进行编码,组成所述文件的内容编码。
本方法中:设置适配GOP编码参数计算进程和设置自适应编码进程;自适应编码进程处理当前子内容视频段的步骤S3确认内容自适应编码过程时,适配GOP编码参数计算进程同步进行当前子内容视频段的下一段子内容视频段的步骤S2进行适配的一GOP编码参数的计算获取。
本实例中,设置至少一适配GOP编码参数计算进程和设置多个自适应编码进程;适配GOP编码参数计算进程接收虚拟切分预处理后子内容视频段,依次计算对应的适配GOP编码参数并存储;多个自适应编码进程,与所述适配GOP编码参数计算进程独立设置,每一自适应编码进程独立设置,分别同步完成一子内容视频段的步骤S3确认内容自适应编码过程。
与现有技术相比,本发明具有以下优点:
首先:根据文件不同的内容场景,提供不同的编码策略,能够在保证视频画面质量的前提下,降低视频文件的码率。
附图说明
图1为本发明用于文件转码的内容自适应编码的处理端示意图;
图2为一种用于文件转码的内容自适应编码的方法的流程图;
图3为子内容视频段的内容自适应编码过程的示例图;
图4为于文件转码的内容自适应编码的方法的一实例流程图。
具体实施方式
以下结合附图,具体说明本发明。
第一实施例
本申请实施例一所提供的方法实施例可以在服务器、计算机、影像设备、手机、平板或者类似的运算装置中执行。以运行在服务器上为例,图1是本发明实施例的一种服务器的硬件结构框图。如图1所示,服务器可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,可选地,上述服务器还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述服务器的结构造成限定。例如,服务器还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。存储器104可用于存储服务器程序,例如,应用软件的软件程序以及模块,如本发明实施例中的一种视频质量的比较方法对应的服务器程序,处理器102通过运行存储在存储器104内的服务器程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至服务器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。传输设备106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括服务器的通信供应商提供的无线网络。在一个实例中,传输设备106包括一个网络适配器(Network lnterfaceController,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备106可以通过无线方式与互联网进行通讯。
实施例二
请参阅图2,其为一种用于文件转码的内容自适应编码的方法的流程图。它包括:
S110:根据文件中视频内容进行虚拟切分预处理,获得视频内容中每一子内容视频段的时间段。
视频分类可以是广义上的分类,例如分为视频会议、电影、体育、音乐视频等,也可以是电影类型的分类,例如戏剧、动作电影、动画等。可以按照视频内容的分类进行切分成第一子内容视频段、第二子内容视频段…第N子内容视频段。
视频分类也可以按照时间来设置,比如,每三分钟设置为一子内容视频段。也可以按照场景的特殊性将视频内容分为简单内容场景、第二动态内容场景、第三动态内容场景…不同的场景对应不同的切分模型设置。本实例还可以通过专用的切分软件来实现视频内容的切分。比如利用ffmpeg将视频分割为小段,先预看一下分割结果,如果结果在预期范围内,编写相关的JAVA程序,后调用制成将视频分割的JAVA工具类实现切分。
使用ffmpeg已支持的获取不同场景时间点的功能,命令行为
Ffmpeg-i″输入视频文件路径″-filter:v
″select=′gt(scene,SensitivityFactor)′,showinfo″-f null/2>&1
|grep pts_time:
能够获取到一系列的时间点,单位为秒,例如
4.41869
37.5187
58.8987
68.1587
71.0587
72.8587
78.9787
81.9587
84.3987
91.7387
102.199
106.259
113.119
118.299
119.539
119.759
137.139
138.359
169.179
不管采用何种分割方式,文件中视频内容进行切分成第一子内容视频段、第二子内容视频段…第N子内容视频段,并按照源文件的不同内容对于源文件进行虚拟打点,确定每一视频内容对应的开始和结束时间。即,第一,第一子内容视频段对应的开始和结束时间。
S120:确定每一子内容视频段适配的一GOP编码参数,GOP编码参数至少包括码率控制参数值和图像锐化值。
本发明接收到的内容视频,一般是编码压缩后视频数据。GOP是一个编码视频流中的一组连续的画面。每一个编码的视频流都由连续的GOP组成。压缩的视频流中GOP相对独立,解码器解码新的GOP时需要之前的帧来解码后面的帧,GOP的存在还可以实现在视频中更快地定位。本发明刚好利用压缩的视频流中GOP相对独立这个特性,来进行转码操作。GOP编码参数至少包括码率控制参数值和图像锐化值。
以H264为例,H264中图像以序列为单位进行组织,一个序列是一段图像编码后的数据流,以I帧开始,到下一个I帧结束。一个序列的第一个图像叫做IDR图像(立即刷新图像),IDR图像都是I帧图像。H.264引入IDR图像是为了解码的重同步,当解码器解码到IDR图像时,立即将参考帧队列清空,将已解码的数据全部输出或抛弃,重新查找参数集,开始一个新的序列。这样,如果前一个序列出现重大错误,在这里可以获得重新同步的机会。IDR图像之后的图像永远不会使用IDR之前的图像的数据来解码。一个序列就是一段内容差异不太大的图像编码后生成的一串数据流。当运动变化比较少时,一个序列可以很长,因为运动变化少就代表图像画面的内容变动很小,所以就可以编一个I帧,然后一直P帧、B帧了。当运动变化多时,可能一个序列就比较短了,比如就包含一个I帧和3、4个P帧。GOP编码参数包括码率控制参数值。比如,动态调整编码器参数,得到目标比特数。为视频序列中的图像组GOP、图像或子图像分配一定的比特。现有的码率控制算法主要是通过调整离散余弦变换的量化参数(QP)大小输出目标码率。
确定每一子内容视频段适配的一GOP编码参数进一步包括:找到所述子内容视频段所有的GOP编码参数,将所有的GOP编码参数进行平均值计算,计算后的均值参数作为所述子内容视频段适配的GOP编码参数。比如,所有的GOP编码参数中的码率控制参数值进行相加,计算后的平均值作为适配的GOP编码参数对应的码率控制参数值。
GOP:是指一组图画的意思,每一个GOP组都是从一个关键帧开始的。关键帧:是一幅完整的画面,GOP其他非关键帧可能需要参考关键帧的内容。对源文件的一个场景的第一个GOP中的每一帧的编码参数包括码率控制参数和图像锐化。
S130:通过GOP编码参数,确定适配的所述子内容视频段的内容自适应编码过程。
该步骤S130可以通过以下步骤来实现。如图3所示:
S231:对每一子内容视频段的预设帧数的原视频数据进行解码,保存第一缓冲区。
设定帧数可以是一帧,也可以多帧。一般来说,在一个图像组(GoP)中,通常情况下第1个视频帧是关键帧,其他视频帧是非关键帧。也存在特殊情况,在一个图像组(GoP)中除下第1个视频帧之外,还存在其他关键帧。例如,连续8个视频帧中的第1个视频帧是关键帧,第2-8个视频帧中的部分视频帧也可以是关键帧,例如第4个视频帧是关键帧,或者第5个视频帧是关键帧等等。预设帧数主要是对关键帧进行处理。该子内容视频段的一帧进行解码。如果编码是H.264,则接收端收到文件时,可以通过对应的解码器进行直接解码。在本实现中,解码按照子内容视频段的设定帧数段进行帧解码,比如,解码按照当前子内容视频段的一帧进行解码。
S232:使用适配的所述GOP编码参数进行所述帧级编码,成第二编码数据,后对所述第二编码数据进行解码,保存在第二缓冲区。
步骤S120中找到的适配的GOP编码参数,比如,码率控制参数值和图像锐化值作为当前子内容视频段的参数进行编码,成第二编码数据,再进行解码,后将解码的数据存在第二缓冲区。
即,为了获取一帧的VMAF分值,处理步骤为
(1)将源文件的一帧解码,为data1,保存在缓存中;
(2)将data1按照要求的编码参数编码,为data2,保存在缓存中;
(3)将data2按照编码的方式解码,为data3,保存在缓存中;
调用VMAF工具,对比data3相对data1,获取到VMAF分值
S233:通过VMAF工具来对比所述第一缓冲区与所述第二缓冲区,获得VMAF分值。
以所述第二缓冲区的视频数据为测试视频、所述第一缓冲区的视频数据为参考视频输入预设视频质量多方法评价融合VMAF模型,输出第一VMAF分数。在本实施例中,可以使用VMAF(Visual/Video Multimethod AssessmentFusion,视频质量多方法评价融)作为有参考评价的客观评价算法来计算解码的质量,本实施例的VMAF是一种客观的有参考视频质量评价指标,利用机器学习方法计算解码视频相较于源视频的质量。除了VMAF之外,也可以使用类似的有参考评价算法来交叉计算第一缓冲区和第二缓冲区视频的编码质量。下面以VMAF为例进行说明。本实施例的VMAF面对不同特征的源内容、失真类型,以及扭曲程度,每个基本指标各有优劣,通过使用机器学习算法(SVM)将基本指标“融合”为一个最终指标,可以为每个基本指标分配一定的权重,这样最终得到的指标就可以保留每个基本指标的所有优势,借此可得出更精确的最终分数。VMAF使用3种指标:visual quality fidelity(VIF)、detail loss measure(DLM)、temporal information(TI)。其中VlF和DLM是空间域的也即一帧画面内的特征,TI是时间域的也即多帧画面之间相关性的特征。这些特性之间融合计算总分的过程使用了训练好的SVM来预测。VMAF基于SVM的nuSvr算法,在运行的过程中,根据事先训练好的model,赋予每种视频特征以不同的权重。对每一帧画面都生成一个评分,最终以均值算法进行归总(也可以使用其他的归总算法),算出该视频的最终评分。本实施例在使用VMAF模型进行计算时,可以现在本地训练VMAF模型,也可以直接使用训练好的VMAF模型。(在本实例中,我们可以直接使用训练好的VMAF模型)
S234:调整所述GOP编码参数,直至对应的VMAF分值在预设范围,保存调整后的GOP编码参数作为所述子内容视频段的本段编码参数。
如VMAF分值在预设范围内,直接记录本次的GOP编码参数作为当前子内容视频段的本段编码参数。如果VMAF分值不在预设范围内,直接对GOP编码参数减去或加上一个预先设定的值再进行处理。
S140:完成整个文件的内容编码。对每一子内容视频段通过本段编码参数进行编码,组成所述文件的内容编码。
在本实例中,按照视频内容的分类进行切分成第一子内容视频段、第二子内容视频段…第N子内容视频段,第一子内容视频段进行适配GOP编码参数计算时,第二子内容视频段同步进行适配BOP编码参数计算。这种处理方案提高处理的效率,即当前子内容视频段进行适配GOP编码参数计算时,下一段子内容视频段同步进行适配GOP编码参数计算。具体来说,设置适配GOP编码参数计算进程和设置自适应编码进程;自适应编码进程处理当前子内容视频段的步骤S130确认内容自适应编码过程时,适配GOP编码参数计算进程同步进行当前子内容视频段的下一段子内容视频段的步骤S120进行适配的一GOP编码参数的计算获取。
当然,还可以是另外一种处理方案,可以设置多个进程:设置至少一适配GOP编码参数计算进程和设置多个自适应编码进程。
适配GOP编码参数计算进程与多个自适应编码进程并行处理,适配GOP编码参数计算进程依次对切分的内容视频段的适配GOP编码参数进行计算,而自适应编码进程分别同步处理一个内容视频段的步骤S130确认内容自适应编码过程。即,适配GOP编码参数计算进程接收虚拟切分预处理后子内容视频段,依次计算对应的适配GOP编码参数并存储;多个自适应编码进程,与所述适配GOP编码参数计算进程独立设置,每一自适应编码进程独立设置,分别同步完成一子内容视频段的步骤S3确认内容自适应编码过程。这种方式同样提升其处理的效率。
另外,“对每一子内容视频段的预设帧数的原视频数据进行解码”之前还可以包括:根据预先设定输出编码格式选取对应的码率控制方式;根据预先设定的输出分辨率和输出视频质量进行编码参数初始化;对源文件的当前子内容视频段的帧数据进行解码。
实施例3
请参阅图4,其为本实例的一种实施方式图。
为准确按照不同内容使用不同的编码参数,本发明采用根据视频内容对源文件进行虚拟切分预处理。具体的方式是,按照源文件的不同内容对源文件进行虚拟打点,确定每一个视频内容的开始和结束时间。
为确定每个视频内容的编码参数值,并处理整体的转码速度不因内容感知编码变慢问题,本发明采用通过确认输出第一个GOP(两个关键帧之间的一组图像,第一帧可以为关键帧)每一帧的编码参数值,然后取第一个GOP所有帧编码参数值的平均值作为此时间段视频内容的编码参数值。
为确定一帧视频内容的编码参数值,本发明采用先根据编码要求进行编码参数初始化处理,包括:根据编码方式确定码率控制方式,用于控制视频质量和码率;根据输出的分辨率和输出视频质量值确定VMAF(一种视频质量评估方法)分值、图像锐化(提升图像画面质量)、码率控制等范围。然后通过解码源文件的一帧视频内容并存放在缓冲区1中,使用初始化码率控制参数值和图像锐化数值对此缓冲区1中的数据进行编码,再将编码数据解码并存放在缓冲区2中,对缓冲区1和缓冲区2中数据,通过VMAF方法进行质量对比,得到VMAF分值。如果VMAF分值不在初始化VMAF分值范围内,则调整码率控制参数值和锐化参数值,重新对缓冲区1的数据进行编码,直至达到初始化VMAF分值范围。具体地:
S11:视频内容的虚拟切分预处理。根据文件中的视频内容确定每个内容的开始和结束时刻;
S12:根据步骤S11中每个视频内容的开始和结束时刻,开始每个视频内容的转码处理;
S13:根据输出要求的编码格式确定需要的码率控制模式;
S14:根据输出要求的分辨率和视频质量,初始化VMAF(主观质量评价标准)分值、图像锐化和码率控制参数值范围(主要是根据输出的分辨率,按照批量测试经验值确定了VMAF(主观质量评价标准)分值、图像锐化和码率控制参数值范围);
S15:对文件的一帧数据解码,视频内容保存在缓冲区1中;
S16:根据初始化的码率控制参数值和图像锐化值对缓冲区1的视频内容进行编码,然后对编码视频内容进行解码,并存放在缓冲区2中;
S17:通过VMAF工具对比缓冲区1和缓冲区2中的视频内容,获取缓冲区2视频内容对比缓冲区1视频内容的VMAF分值;
S18:判断步骤S17中VMAF分值不在步骤S14中初始化VMAF值的范围中,调整码率控制参数值和图像锐化值,重复步骤S16、S17、S18。否则执行步骤S19;
S19:保存步骤S18中的码率控制参数值和图像锐化值;
重复步骤S15、S16、S17、S18、S19,直至获取一个输出GOP数量的码率控制参数值和图像锐化值;
使用步骤S10中码率控制参数值和图像锐化值的平均值作为编码参数对此时间段的视频内容进行编码(例如一个GOP为25,则执行S15、S16、S17、S18、S19,可以分别获取25个码率控制参数值和图像锐化值,S10的结果是25个码率控制参数值和图像锐化值的平均值);其他时间段的视频内容执行步骤S2~步骤S11,完成整个文件的内容自适应编码。
一种用于文件转码的内容自适应编码的系统,其特征在于,包括:
预处理装置:用于根据文件中视频内容进行虚拟切分预处理,获得所述视频内容中每一子内容视频段的时间段;
适配GOP编码参数计算装置,用于确定每一子内容视频段适配的一GOP编码参数,所述GOP编码参数至少包括码率控制参数值和图像锐化值;
自适应编码装置:用于通过所述GOP编码参数,确定适配的所述子内容视频段的内容自适应编码过程,其进一步包括:
解码单元:用于对每一子内容视频段的预设帧数的原视频数据进行解码,保存第一缓冲区;
帧级编码单元:用于使用适配的所述GOP编码参数进行所述帧级编码,成第二编码数据,后对所述第二编码数据进行解码,保存在第二缓冲区;
比对单元:通过VMAF工具来对比所述第一缓冲区与所述第二缓冲区,获得VMAF分值;
本段编码参数确认单元:用于调整所述GOP编码参数,直至对应的VMAF分值在预设范围,保存调整后的GOP编码参数作为所述子内容视频段的本段编码参数;
文件内容编码器:用于完成整个文件的内容编码。
适配GOP编码参数计算装置和自适应编码装置并行独立设置,所述自适应编码装置为一个或多个。
一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,所述程序运行时执行上述任一项所述的方法步骤。
一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;其中:存储器,用于存放计算机程序;处理器,用于通过运行存储器上所存放的程序来执行上述所述的方法步骤。
本说明书实施例中还提供了一种计算设备,包括存储器和处理器,所述存储器中存储有计算机程序/指令,所述处理器执行所述计算机程序/指令时,实现本说明书任意一个实施例中提供的生成智能合约文件的合约类的方法。本说明书中的各个实施例均采用递进的方式描述,各个实施例中相同、相似的部分互相参见即可,每个实施例中重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。

Claims (8)

1.一种用于文件转码的内容自适应编码的方法,其特征在于,包括:
S1:根据文件中视频内容进行虚拟切分预处理,获得所述视频内容中每一子内容视频段的时间段;
S2:确定每一子内容视频段适配的一GOP编码参数,所述GOP编码参数至少包括码率控制参数值和图像锐化值;
S3:通过所述GOP编码参数,确定适配的所述子内容视频段的内容自适应编码过程,其进一步包括:
S31:对每一子内容视频段的预设帧数的原视频数据进行解码,保存第一缓冲区;
S32:使用适配的所述GOP编码参数进行帧级编码,成第二编码数据,后对所述第二编码数据进行解码,保存在第二缓冲区;
S33:通过VMAF工具来对比所述第一缓冲区与所述第二缓冲区,获得VMAF分值;
S34:调整所述GOP编码参数,直至对应的VMAF分值在预设范围,保存调整后的GOP编码参数作为所述子内容视频段的本段编码参数;
S4:完成整个文件的内容编码;
步骤S4具体包括:对每一子内容视频段通过本段编码参数进行编码,组成所述文件的内容编码;
设置适配GOP编码参数计算进程和设置自适应编码进程;
自适应编码进程处理当前子内容视频段的步骤S3确认内容自适应编码过程时,适配GOP编码参数计算进程同步进行当前子内容视频段的下一段子内容视频段的步骤S2进行适配的一GOP编码参数的计算获取。
2.如权利要求1所述的方法,其特征在于,确定每一子内容视频段适配的一GOP编码参数进一步包括:
找到所述子内容视频段所有的GOP编码参数,将所有的GOP编码参数进行平均值计算,计算后的均值参数作为所述子内容视频段适配的GOP编码参数。
3.如权利要求1所述的方法,其特征在于,还包括:
设置至少一适配GOP编码参数计算进程和设置多个自适应编码进程;
适配GOP编码参数计算进程接收虚拟切分预处理后子内容视频段,依次计算对应的适配GOP编码参数并存储;
多个自适应编码进程,与所述适配GOP编码参数计算进程独立设置,每一自适应编码进程独立设置,分别同步完成一子内容视频段的步骤S3确认内容自适应编码过程。
4.如权利要求1所述的方法,其特征在于,步骤S31中“对每一子内容视频段的预设帧数的原视频数据进行解码”之前还包括:
根据预先设定输出编码格式选取对应的码率控制方式;
根据预先设定的输出分辨率和输出视频质量进行编码参数初始化;
对源文件的当前子内容视频段的帧数据进行解码。
5.一种用于文件转码的内容自适应编码的系统,其特征在于,包括:
预处理装置:用于根据文件中视频内容进行虚拟切分预处理,获得所述视频内容中每一子内容视频段的时间段;
适配GOP编码参数计算装置,用于确定每一子内容视频段适配的一GOP编码参数,所述GOP编码参数至少包括码率控制参数值和图像锐化值;
自适应编码装置:用于通过所述GOP编码参数,确定适配的所述子内容视频段的内容自适应编码过程,其进一步包括:
解码单元:用于对每一子内容视频段的预设帧数的原视频数据进行解码,保存第一缓冲区;
帧级编码单元:用于使用适配的所述GOP编码参数进行帧级编码,成第二编码数据,后对所述第二编码数据进行解码,保存在第二缓冲区;
比对单元:通过VMAF工具来对比所述第一缓冲区与所述第二缓冲区,获得VMAF分值;
本段编码参数确认单元:用于调整所述GOP编码参数,直至对应的VMAF分值在预设范围,保存调整后的GOP编码参数作为所述子内容视频段的本段编码参数;
文件内容编码器:用于完成整个文件的内容编码;
文件内容编码器包括:对每一子内容视频段通过本段编码参数进行编码,组成所述文件的内容编码;
设置适配GOP编码参数计算进程和设置自适应编码进程;
自适应编码进程处理当前子内容视频段的自适应编码装置确认内容自适应编码过程时,适配GOP编码参数计算进程同步进行当前子内容视频段的下一段子内容视频段的适配GOP编码参数计算装置进行适配的一GOP编码参数的计算获取。
6.如权利要求5所述的系统,其特征在于,适配GOP编码参数计算装置和自适应编码装置并行独立设置,所述自适应编码装置为一个或多个。
7.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,所述程序被处理器运行时执行上述权利要求1至4中任一项所述的方法步骤。
8.一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;其中:存储器,用于存放计算机程序;处理器,用于通过运行存储器上所存放的程序来执行权利要求1至4中任一项所述的方法步骤。
CN202111629156.2A 2021-12-28 2021-12-28 一种用于文件转码的内容自适应编码的方法及系统 Active CN114430501B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111629156.2A CN114430501B (zh) 2021-12-28 2021-12-28 一种用于文件转码的内容自适应编码的方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111629156.2A CN114430501B (zh) 2021-12-28 2021-12-28 一种用于文件转码的内容自适应编码的方法及系统

Publications (2)

Publication Number Publication Date
CN114430501A CN114430501A (zh) 2022-05-03
CN114430501B true CN114430501B (zh) 2023-06-16

Family

ID=81311074

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111629156.2A Active CN114430501B (zh) 2021-12-28 2021-12-28 一种用于文件转码的内容自适应编码的方法及系统

Country Status (1)

Country Link
CN (1) CN114430501B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017130183A1 (en) * 2016-01-26 2017-08-03 Beamr Imaging Ltd. Method and system of video encoding optimization
CN112153415A (zh) * 2020-09-23 2020-12-29 北京字节跳动网络技术有限公司 一种视频转码方法、装置、设备及存储介质

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2832582A1 (fr) * 2001-11-21 2003-05-23 Canon Kk Procede et dispositif de determination d'au moins un parametre de codage de donnees multimedia
US8831089B1 (en) * 2006-07-31 2014-09-09 Geo Semiconductor Inc. Method and apparatus for selecting optimal video encoding parameter configurations
CN102685482A (zh) * 2011-12-12 2012-09-19 苏州科雷芯电子科技有限公司 混合式编解码方法及装置
US8928804B2 (en) * 2012-11-19 2015-01-06 Broadcom Corporation Managing encoder parameters for parallel transcoding
US20140269901A1 (en) * 2013-03-13 2014-09-18 Magnum Semiconductor, Inc. Method and apparatus for perceptual macroblock quantization parameter decision to improve subjective visual quality of a video signal
GB2556925B (en) * 2016-11-25 2020-07-29 Canon Kk Method and system for determining encoding parameters of video sources in large scale video surveillance systems
CN111970565A (zh) * 2020-09-21 2020-11-20 Oppo广东移动通信有限公司 视频数据处理方法、装置、电子设备及存储介质

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017130183A1 (en) * 2016-01-26 2017-08-03 Beamr Imaging Ltd. Method and system of video encoding optimization
CN112153415A (zh) * 2020-09-23 2020-12-29 北京字节跳动网络技术有限公司 一种视频转码方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN114430501A (zh) 2022-05-03

Similar Documents

Publication Publication Date Title
CN107211193B (zh) 感知体验质量估计驱动的智能适应视频流传输方法和系统
US20220030244A1 (en) Content adaptation for streaming
CN110662044B (zh) 一种视频编码方法、视频编码装置及计算机存储介质
EP3033872B1 (en) Quality driven video re-encoding
EP2727344B1 (en) Frame encoding selection based on frame similarities and visual quality and interests
JP2003018603A (ja) 動画像符号化方法及び装置
JP2008504750A5 (zh)
US11277619B2 (en) Rate control for video splicing applications
WO2023134523A1 (zh) 内容自适应视频编码方法、装置、设备和存储介质
US11330263B1 (en) Machine learning based coded size estimation in rate control of video encoding
US10536696B2 (en) Image encoding device and image encoding method
CN112272299A (zh) 一种视频编码的方法、装置、设备和存储介质
CN111416978B (zh) 视频编解码方法及系统、计算机可读存储介质
CN110545418A (zh) 一种基于场景的自适应视频编码方法
CN114430501B (zh) 一种用于文件转码的内容自适应编码的方法及系统
WO2020042177A1 (zh) 视频编码质量平滑度的优化方法、装置、设备及存储介质
CN114793282A (zh) 带有比特分配的基于神经网络的视频压缩
JP2002199398A (ja) 可変ビットレート動画像符号化装置および記録媒体
CN105847822A (zh) 一种视频解码方法及装置
CN112822493A (zh) 基于复杂度来适应性地对视频帧进行编码
CN110708548A (zh) 一种全景视频帧内比特分配的方法
CN117041581B (zh) 一种用于视频编码参数优化的方法、装置及设备
CN116760988B (zh) 基于人类视觉系统的视频编码方法和装置
CN117097925A (zh) 一种在边缘ai设备对监控内容自适应实时编码的方式
JP4878052B2 (ja) 映像符号量制御方法,映像符号化装置,映像符号量制御プログラムおよびその記録媒体

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