CN115484470A - 用于提高直播画面质量的方法、装置、介质及计算机设备 - Google Patents

用于提高直播画面质量的方法、装置、介质及计算机设备 Download PDF

Info

Publication number
CN115484470A
CN115484470A CN202110663445.8A CN202110663445A CN115484470A CN 115484470 A CN115484470 A CN 115484470A CN 202110663445 A CN202110663445 A CN 202110663445A CN 115484470 A CN115484470 A CN 115484470A
Authority
CN
China
Prior art keywords
code rate
rate
value
effective
current effective
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.)
Pending
Application number
CN202110663445.8A
Other languages
English (en)
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.)
Wuhan Douyu Network Technology Co Ltd
Original Assignee
Wuhan Douyu Network 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 Wuhan Douyu Network Technology Co Ltd filed Critical Wuhan Douyu Network Technology Co Ltd
Priority to CN202110663445.8A priority Critical patent/CN115484470A/zh
Publication of CN115484470A publication Critical patent/CN115484470A/zh
Pending legal-status Critical Current

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/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/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/234381Processing 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 altering the temporal resolution, e.g. decreasing the frame rate by frame skipping
    • 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/440281Processing 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 temporal resolution, e.g. by frame skipping

Landscapes

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

Abstract

本发明提供一种用于提高直播画面质量的方法、装置、介质及计算机设备,确定待输出图像组的基准帧及序列帧,基于所述基准帧获得基础码率;基于所述序列帧获得码率增益;根据所述基础码率及所述码率增益确定当前生效码率值;基于调节策略对所述当前生效码率值进行平滑处理,根据平滑处理后的所述当前生效码率调节画面质量;如此,通过基础码率及码率增益确定出实时的当前生效码率值,相当于是利用固定码率因子大致控制画面质量;然后根据实际场景需求平滑处理当前生效码率值,再将平滑处理后的当前生效码率值传递至编码器,以调节画面质量,避免画面抖动;整个过程可以实时根据场景需求快速调节当前生效码率,不依赖人工智能算法,普适性较强。

Description

用于提高直播画面质量的方法、装置、介质及计算机设备
技术领域
本发明属于互联网直播技术领域,尤其涉及一种用于提高直播画面质量的方法、装置、介质及计算机设备。
背景技术
码率控制是视频编码重要一环,关系到视频输出质量与播放成本。
当前常见的码率控制技术,一般是基于画面,使用人工智能分析场景以及运动强度,结合画面清晰程度输出码率值。
现有技术中,码率控制技术与场景结合过于紧密,若出现新场景后需要大量收集样本,更新模型,周期长,人力消耗大,普适性不强。并且如果有新场景未及时更新,将导致码控算法的准确性大大降低;最终将导致画面抖动明显,画质较差。
发明内容
针对现有技术存在的问题,本发明实施例提供了一种用于提高直播画面质量的方法、装置、介质及计算机设备,用于解决现有技术中由于码率控制技术对具体场景依赖较大,模型更新缓慢,进而无法确保直播画面质量的技术问题。
本发明提供一种用于提高直播画面质量的方法,所述方法包括:
确定待输出图像组的基准帧及序列帧,基于所述基准帧获得基础码率;
基于所述序列帧获得码率增益;
根据所述基础码率及所述码率增益确定当前生效码率值;
基于调节策略对所述当前生效码率值进行平滑处理,根据平滑处理后的所述当前生效码率调节画面质量。
可选的,所述基于所述基准帧获得基础码率,包括:
基于预设的第一固码率系数、第一画质参数、第一编码效率调整参数对所述基准帧进行编码,获得基础码率。
可选的,所述基于所述序列帧获得码率增益,包括:
基于预设的第二固码率系数、第二画质参数、第二编码效率调整参数构建编码器;
向所述编码器中输入所述序列帧,获得输出码流;
确定所述输出码流的总尺寸以及所述输出码流中I帧编码对应的第一尺寸;
基于公式
Figure BDA0003116030440000021
确定所述码率增益rate_plus;其中,所述sizet为所述总尺寸,所述sizei为所述第一尺寸,所述rate为预设的码率系数。
可选的,所述根据所述基础码率及所述码率增益确定当前生效码率值,包括:
基于公式Δrate=rate_base*rate_plus确定参考码率值Δrate;
基于所述参考码率值确定所述当前生效码率值;其中,所述rate_plus为所述码率增益,所述rate_base为所述基础码率。
可选的,所述基于调节策略对所述当前生效码率值进行平滑处理,包括:
获取预设采样时间段内的各参考码率值,并将各所述参考码率值存储至码率集合rates中;
根据公式mrate=max(rates)确定目标码率值mrate;
若确定effectve_rate*k1<mrate,则根据公式effectve_rate′=effectve_rate*1/4+mrate*3/4对所述当前生效码率值进行提升,获得提升后的当前生效码率值effectve_rate′;其中,所述effectve_rate为当前生效码率值,所述k1为第一折算系数,所述k1的取值为0.9~1.1。
可选的,所述方法还包括:
若确定effectve_rate*k2>mrate,则根据公式effectve_rate″=effectve_rate*1/3+mrate*2/3对所述当前生效码率值进行降低,获得降低后的当前生效码率值effectve_rate″;其中,所述effectve_rate为当前生效码率值,所述k2为第二折算系数,所述k2的取值为0.6~0.8。
本发明提供一种用于提高直播画面质量的装置,所述装置包括:
第一确定单元,用于确定待输出图像组的基准帧及序列帧,基于所述基准帧获得基础码率;
获取单元,用于基于所述序列帧获得码率增益;
第二确定单元,用于根据所述基础码率及所述码率增益确定当前生效码率值;
平滑单元,用于基于调节策略对所述当前生效码率值进行平滑处理,根据平滑处理后的所述当前生效码率调节画面质量。
可选的,所述第一确定单元具体用于:
基于预设的第一固码率系数、第一画质参数、第一编码效率调整参数对所述基准帧进行编码,获得基础码率。
本发明还提供一种存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任一项所述的方法。
本发明还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述任一项所述的方法。
本发明提供一种用于提高直播画面质量的方法、装置、介质及计算机设备,确定待输出图像组的基准帧及序列帧,基于所述基准帧获得基础码率;基于所述序列帧获得码率增益;根据所述基础码率及所述码率增益确定当前生效码率值;基于调节策略对所述当前生效码率值进行平滑处理,根据平滑处理后的所述当前生效码率调节画面质量;如此,通过基础码率及码率增益确定出实时的当前生效码率值,相当于是利用固定码率因子大致控制画面质量;然后根据实际场景需求平滑处理当前生效码率值,再将平滑处理后的当前生效码率值传递至编码器,以调节画面质量,避免画面抖动;整个过程可以实时根据场景需求快速调节当前生效码率,不依赖人工智能算法,普适性较强。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1为本发明实施例提供的用于提高直播画面质量的方法流程示意图;
图2为本发明实施例提供的用于提高直播画面质量的装置结构示意图;
图3为本发明实施例提供的用于提高直播画面质量的计算机设备结构示意图;
图4为本发明实施例提供的用于提高直播画面质量的计算机存储介质结构示意图。
具体实施方式
为解决现有技术中由于码率控制技术对具体场景依赖较大,模型更新缓慢,进而无法确保直播画面质量的技术问题。本发明提供了一种用于提高直播画面质量的方法、装置、介质及计算机设备。
下面通过附图及具体实施例对本发明的技术方案做进一步的详细说明。
本实施例提供一种用于提高直播画面质量的方法,如图1所示,方法包括:
S110,确定待输出图像组的基准帧及序列帧,基于所述基准帧获得基础码率;
本实施例中,待输出图像组可以为闭合图像组(GOP,Group of Pictures),也可以为开放图像组,也可以为其他类型的图像组,在此不做限制。以闭合GOP为例来说,闭合GOP包括:I帧、P帧和B帧;其中,I帧为关键帧,I帧包含有完整的画面数据,I帧为起始帧;
P帧为差别帧,P帧记录的是当前帧和前一I帧(或前一P帧)之间的差别。B帧为双向差别帧,B帧记录的是当前帧与前一P帧(或前一B帧)的差别,以及当前帧与后一P帧(或后一B帧)的差别。
因此,可以看出,每个GOP的输出,均是需要以I帧作为基准帧,以后续P帧和B帧作为运动帧。因此针对待输出图像组可先确定待输出图像组的基准帧及序列帧,再基于基准帧获得基础码率。
本实施例中,每秒采样一帧作为基准帧,同时向后采样15帧(同1秒内)作为序列帧。那么基于基准帧获得基础码率,包括:
基于预设的第一固码率系数crf1、第一画质参数profile1、第一编码效率调整参数preset1对基准帧进行编码,获得基础码率。其中,第一固码率系数crf1、第一画质参数profile1、第一编码效率调整参数preset1可以根据历史编码参数确定。
本步骤中先确定出基础码率,再结合后续确定的码率增益计算当前生效码率值,相当于先使用固定码率因子,大致控制画面质量,初步对画面质量进行调节,避免画面抖动。
S111,基于所述序列帧获得码率增益;
序列帧是运动帧序列,本实施例先按照画面所需高度,设定所述序列帧的编码码率;然后基于编码码率对序列帧进行编码,获得码率增益。
具体的,基于序列帧获得码率增益,包括:
基于预设的第二固码率系数crf2、第二画质参数profile2、第二编码效率调整参数preset2构建编码器;
向编码器中输入序列帧,获得输出码流;
确定输出码流的总尺寸以及输出码流中I帧编码对应的第一尺寸;
基于公式
Figure BDA0003116030440000051
确定码率增益rate_plus;其中,sizet为总尺寸,sizei为第一尺寸,rate为预设的码率系数,rate一般取值为2~6,优选地可以为3。
具体的,码率系数的取值根据直播场景的需求确定。比如:对于清晰度要求较高的场景,可将rate值调高,增强对运动的敏感程度。对于清晰度要求一般的场景(比如一般的直播场景或点播场景),rate值可取中间值,比如3。对于webrtc快直播这类对带宽要求相对较高,对清晰度要求较低的场景,可以调低rate值,比如将rate值设置为2。对于大主播来说,可以独立配置,根据实际需要调高或调低rate值。
上述公式的原理是:当实际场景运动比较剧烈时,运动系数较高(例如fps游戏),
Figure BDA0003116030440000061
的值会增大,那么此时可通过调整码率系数的值来优化码率值,进而调节画面质量。
本步骤的码率增益可基于实际场景进行调节,以优化最终的实际生效码率值,进而调节画面质量。
S112,根据所述基础码率及所述码率增益确定当前生效码率值;
基础码率和码率增益确定之后,根据基础码率及码率增益确定当前生效码率值。
根据基础码率及码率增益确定当前生效码率值,包括:
基于公式Δrate=rate_base*rate_plus确定参考码率值Δrate;
基于参考码率值确定当前生效码率值;其中,rate_plus为码率增益,rate_base为基础码率。
本实施例中,基于参考码率值确定当前生效码率值,包括:
获得当前采样点对应的当前实际码率值;
对所述当前实际码率值及参考码率值进行平滑处理,获得当前生效码率值。
本步骤中,当前生效码率值确定出之后,可以更当前生效码率值大致控制画面质量,初步对画面质量进行调节,避免画面抖动。
S113,基于调节策略对所述当前生效码率值进行平滑处理,根据平滑处理后的所述当前生效码率调节画面质量。
但是实际应用中,不同的场景对应的运动系数不同,因此需要根据实际场景需求确定调节策略,根据调节策略对当前生效码率值进行平滑处理,以能根据平滑处理后的当前生效码率调节画面质量。
具体的,基于调节策略对当前生效码率值进行平滑处理,包括:
获取预设采样时间段内的各参考码率值,并将各所述参考码率值存储至码率集合rates中;
根据公式mrate=max(rates)确定目标码率值mrate;
若确定effectve_rate*k1<mrate,则根据公式effectve_rate′=effectve_rate*1/4+mrate*3/4对当前生效码率值进行提升,获得提升后的当前生效码率值effectve_rate′;其中,所述effectve_rate为当前生效码率值,所述k1为第一折算系数,所述k1的取值为0.9~1.1。
若确定effectve_rate*k2>mrate,则根据公式effectve_rate″=effectve_rate*1/3+mrate*2/3对当前生效码率值进行降低,获得降低后的当前生效码率值effectve_rate″;其中,k2为第二折算系数,k2的取值为0.6~0.8。
其中,k1可以理解为用于控制当前生效码率值上升的触发阈值,k2可以理解为用于控制当前生效码率值下降的触发阈值,k1和k2的值根据直播场景中视频运动剧烈程度确定。当视频运动剧烈程度较大时(比如视频中有奔跑场景),需要将k1和k2适当调低;当视频运动剧烈程度较低时(比如视频中没有奔跑场景,只有普通直播画面),需要将k1和k2适当调高。
举例来说,若当前生效码率值为5Mbps,若确定出的目标码率值低于5M*110%(k1),或者目标码率值高于5M*70%(k2),则确定需要调整当前生效码率值。
具体的,预设采样时间段一般为5s,也即获得5s内的各参考码率值,并将各参考码率值存储至码率集合中,将码率集合中的最大参考码率值作为目标码率值。
值得注意的是,若码率集合超出容量,则删除该集合中的队首值,更新码率集合,并基于更新后的码率集合重新确定目标码率。
上述公式的原理为:若effectve_rate*k1<mrate,说明将当前生效码率值按照第一折算系数折算后,小于目标码率值,此时需要对当前生效码率进行提升;若effectve_rate*k2>mrate,说明将当前生效码率值按照第二折算系数折算后,大于目标码率值,此时需要对当前生效码率进行降低;以确保画面质量。并且,该公式effectve_rate′=effectve_rate*1/4+mrate*3/4中设置的参数数值可以确保对当前生效码率平滑提升;该公式中effectve_rate″=effectve_rate*1/3+mrate*2/3设置的参数数值可以确保对当前生效码率缓慢下降,避免画面抖动。
本步骤中可根据实际的场景来对当前生效码率中进行平滑处理,避免画面抖动,提高画面质量。
本实施例通过基础码率及码率增益确定出实时的当前生效码率值,相当于是利用固定码率因子大致控制画面质量;然后根据实际场景需求平滑处理当前生效码率值,再将平滑处理后的当前生效码率值传递至编码器,以调节画面质量,避免画面抖动;整个过程可以实时根据场景需求快速调节当前生效码率,完全不依赖人工智能算法,普适性较强。
基于与前述实施例同一发明构思,本实施例还提供一种用于提高直播画面质量的装置,如图2所示,装置包括:
第一确定单元21,用于确定待输出图像组的基准帧及序列帧,基于基准帧获得基础码率;
获取单元22,用于基于序列帧获得码率增益;
第二确定单元23,用于根据基础码率及所述码率增益确定当前生效码率值;
平滑单元24,用于基于调节策略对当前生效码率值进行平滑处理,根据平滑处理后的当前生效码率调节画面质量。
本实施例中,待输出图像组可以为闭合图像组(GOP,Group of Pictures),也可以为开放图像组,也可以为其他类型的图像组,在此不做限制。以闭合GOP为例来说,闭合GOP包括:I帧、P帧和B帧;其中,I帧为关键帧,I帧包含有完整的画面数据,I帧为起始帧;
P帧为差别帧,P帧记录的是当前帧和前一I帧(或前一P帧)之间的差别。B帧为双向差别帧,B帧记录的是当前帧与前一P帧(或前一B帧)的差别,以及当前帧与后一P帧(或后一B帧)的差别。
因此,可以看出,每个GOP的输出,均是需要以I帧作为基准帧,以后续P帧和B帧作为运动帧。因此针对待输出图像组可先确定待输出图像组的基准帧及序列帧,再基于基准帧获得基础码率。
本实施例中,每秒采样一帧作为基准帧,同时向后采样15帧(同1秒内)作为序列帧。那么第一确定单元21用于:
基于预设的第一固码率系数crf1、第一画质参数profile1、第一编码效率调整参数preset1对基准帧进行编码,获得基础码率。其中,第一固码率系数crf1、第一画质参数profile1、第一编码效率调整参数preset1可以根据历史编码参数确定。
本实施例先确定出基础码率,再结合后续确定的码率增益计算当前生效码率值,相当于先使用固定码率因子,大致控制画面质量,初步对画面质量进行调节,避免画面抖动。
序列帧是运动帧序列,本实施例先按照画面所需高度,设定所述序列帧的编码码率;然后基于编码码率对序列帧进行编码,获得码率增益。
具体的,基于序列帧获得码率增益,包括:
基于预设的第二固码率系数crf2、第二画质参数profile2、第二编码效率调整参数preset2构建编码器;
向编码器中输入序列帧,获得输出码流;
确定输出码流的总尺寸以及输出码流中I帧编码对应的第一尺寸;
基于公式
Figure BDA0003116030440000101
确定码率增益rate_plus;其中,sizet为总尺寸,sizei为第一尺寸,rate为预设的码率系数,rate一般取值为2~6,优选地可以为3。
上述公式的原理是:当实际场景运动比较剧烈时,运动系数较高(例如fps游戏),
Figure BDA0003116030440000102
的值会增大,那么此时可通过调整码率系数的值来优化码率值,进而调节画面质量。
本步骤的码率增益可基于实际场景进行调节,以优化最终的实际生效码率值,进而调节画面质量。
序列帧是运动帧序列,本实施例先按照画面所需高度,设定所述序列帧的编码码率;然后基于编码码率对序列帧进行编码,获得码率增益。
具体的,获取单元22基于序列帧获得码率增益,包括:
基于预设的第二固码率系数crf2、第二画质参数profile2、第二编码效率调整参数preset2构建编码器;
向编码器中输入序列帧,获得输出码流;
确定输出码流的总尺寸以及输出码流中I帧编码对应的第一尺寸;
基于公式
Figure BDA0003116030440000103
确定码率增益rate_plus;其中,sizet为总尺寸,sizei为第一尺寸,rate为预设的码率系数,rate一般取值为2~6,优选地可以为3。
具体的,码率系数的取值根据直播场景的需求确定。比如:对于清晰度要求较高的场景,可将rate值调高,增强对运动的敏感程度。对于清晰度要求一般的场景(比如一般的直播场景或点播场景),rate值可取中间值,比如3。对于webrtc快直播这类对带宽要求相对较高,对清晰度要求较低的场景,可以调低rate值,比如将rate值设置为2。对于大主播来说,可以独立配置,根据实际需要调高或调低rate值。
上述公式的原理是:当实际场景运动比较剧烈时,运动系数较高(例如fps游戏),
Figure BDA0003116030440000111
的值会增大,那么此时可通过调整码率系数的值来优化码率值,进而调节画面质量。
本实施例的码率增益可基于实际场景进行调节,以优化最终的实际生效码率值,进而调节画面质量。
基础码率和码率增益确定之后,根据基础码率及码率增益确定当前生效码率值。
第二确定单元23根据基础码率及码率增益确定当前生效码率值,包括:
基于公式Δrate=rate_base*rate_plus确定参考码率值Δrate;
基于参考码率值确定当前生效码率值;其中,rate_plus为码率增益,rate_base为基础码率。
本实施例中,基于参考码率值确定当前生效码率值,包括:
获得当前采样点对应的当前实际码率值;
对所述当前实际码率值及参考码率值进行平滑处理,获得当前生效码率值。
本实施例中,当前生效码率值确定出之后,可以更当前生效码率值大致控制画面质量,初步对画面质量进行调节,避免画面抖动。
但是实际应用中,不同的场景对应的运动系数不同,因此需要根据实际场景需求确定调节策略,根据调节策略对当前生效码率值进行平滑处理,以能根据平滑处理后的当前生效码率调节画面质量。
具体的,平滑单元24基于调节策略对当前生效码率值进行平滑处理,包括:
获取预设采样时间段内的各参考码率值,并将各所述参考码率值存储至码率集合rates中;
根据公式mrate=max(rates)确定目标码率值mrate;
若确定effectve_rate*k1<mrate,则根据公式effectve_rate′=effectve_rate*1/4+mrate*3/4对当前生效码率值进行提升,获得提升后的当前生效码率值effectve_rate′;其中,所述effectve_rate为当前生效码率值,所述k1为第一折算系数,所述k1的取值为0.9~1.1。
若确定effectve_rate*k2>mrate,则根据公式effectve_rate″=effectve_rate*1/3+mrate*2/3对当前生效码率值进行降低,获得降低后的当前生效码率值effectve_rate″;其中,k2为第二折算系数,k2的取值为0.6~0.8。
其中,k1可以理解为用于控制当前生效码率值上升的触发阈值,k2可以理解为用于控制当前生效码率值下降的触发阈值,k1和k2的值根据直播场景中视频运动剧烈程度确定。当视频运动剧烈程度较大时(比如视频中有奔跑场景),需要将k1和k2适当调低;当视频运动剧烈程度较低时(比如视频中没有奔跑场景,只有普通直播画面),需要将k1和k2适当调高。
具体的,预设采样时间段一般为5s,也即获得5s内的各参考码率值,并将各参考码率值存储至码率集合中,将码率集合中的最大参考码率值作为目标码率值。
值得注意的是,若码率集合超出容量,则删除该集合中的队首值,更新码率集合,并基于更新后的码率集合重新确定目标码率。
上述公式的原理为:若effectve_rate*k1<mrate,说明将当前生效码率值按照第一折算系数折算后,小于目标码率值,此时需要对当前生效码率进行提升;若effectve_rate*k2>mrate,说明将当前生效码率值按照第二折算系数折算后,大于目标码率值,此时需要对当前生效码率进行降低;以确保画面质量。并且,该公式effectve_rate′=effectve_rate*1/4+mrate*3/4中设置的参数数值可以确保对当前生效码率快速提升;该公式中effectve_rate″=effectve_rate*1/3+mrate*2/3设置的参数数值可以确保对当前生效码率缓慢下降,避免画面抖动。
本实施例可根据实际的场景来对当前生效码率中进行平滑处理,避免画面抖动,提高画面质量。
本实施例通过基础码率及码率增益确定出实时的当前生效码率值,相当于是利用固定码率因子大致控制画面质量;然后根据实际场景需求平滑处理当前生效码率值,再将平滑处理后的当前生效码率值传递至编码器,以调节画面质量,避免画面抖动;整个过程可以实时根据场景需求快速调节当前生效码率,完全不依赖人工智能算法,普适性较强。
基于与前述实施例同样的发明构思,本实施例提供一种计算机设备300,如图3所示,包括存储器310、处理器320及存储在存储器310上并可在处理器320上运行的计算机程序311,处理器320执行计算机程序311时实现以下步骤:
确定待输出图像组的基准帧及序列帧,基于所述基准帧获得基础码率;
基于所述序列帧获得码率增益;
根据所述基础码率及所述码率增益确定当前生效码率值;
基于调节策略对所述当前生效码率值进行平滑处理,根据平滑处理后的所述当前生效码率调节画面质量。
由于本实施例所介绍的计算机设备为实施本申请实施例一种用于提高直播画面质量的方法所采用的设备,故而基于本申请前述实施例中所介绍的方法,本领域所属技术人员能够了解本实施例的计算机设备的具体实施方式以及其各种变化形式,所以在此对于该服务器如何实现本申请实施例中的方法不再详细介绍。只要本领域所属技术人员实施本申请实施例中的方法所采用的设备,都属于本申请所欲保护的范围。
基于与前述实施例同一发明构思,本实施例还提供一种计算机可读存储介质400,如图4所示,其上存储有计算机程序411,该计算机程序411被处理器执行时可以实现以下步骤:
确定待输出图像组的基准帧及序列帧,基于所述基准帧获得基础码率;
基于所述序列帧获得码率增益;
根据所述基础码率及所述码率增益确定当前生效码率值;
基于调节策略对所述当前生效码率值进行平滑处理,根据平滑处理后的所述当前生效码率调节画面质量。
在具体实施过程中,该计算机程序411被处理器执行时,可以实现上述实施例中任一实施方式。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本发明提供的一种推荐充电站的方法、服务器、介质及计算机设备能带来的有益效果至少是:
本发明提供一种用于提高直播画面质量的方法、装置、介质及计算机设备,确定待输出图像组的基准帧及序列帧,基于所述基准帧获得基础码率;基于所述序列帧获得码率增益;根据所述基础码率及所述码率增益确定当前生效码率值;基于调节策略对所述当前生效码率值进行平滑处理,根据平滑处理后的所述当前生效码率调节画面质量;如此,通过基础码率及码率增益确定出实时的当前生效码率值,相当于是利用固定码率因子大致控制画面质量;然后根据实际场景需求平滑处理当前生效码率值,再将平滑处理后的当前生效码率值传递至编码器,以调节画面质量,避免画面抖动;整个过程可以实时根据场景需求快速调节当前生效码率,不依赖人工智能算法,普适性较强。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种用于提高直播画面质量的方法,其特征在于,所述方法包括:
确定待输出图像组的基准帧及序列帧,基于所述基准帧获得基础码率;
基于所述序列帧获得码率增益;
根据所述基础码率及所述码率增益确定当前生效码率值;
基于调节策略对所述当前生效码率值进行平滑处理,根据平滑处理后的所述当前生效码率调节画面质量。
2.如权利要求1所述的方法,其特征在于,所述基于所述基准帧获得基础码率,包括:
基于预设的第一固码率系数、第一画质参数、第一编码效率调整参数对所述基准帧进行编码,获得基础码率。
3.如权利要求1所述的方法,其特征在于,所述基于所述序列帧获得码率增益,包括:
基于预设的第二固码率系数、第二画质参数、第二编码效率调整参数构建编码器;
向所述编码器中输入所述序列帧,获得输出码流;
确定所述输出码流的总尺寸以及所述输出码流中I帧编码对应的第一尺寸;
基于公式
Figure FDA0003116030430000011
确定所述码率增益rate_plus;其中,所述sizet为所述总尺寸,所述sizei为所述第一尺寸,所述rate为预设的码率系数。
4.如权利要求1所述的方法,其特征在于,所述根据所述基础码率及所述码率增益确定当前生效码率值,包括:
基于公式Δrate=rate_base*rate_plus确定参考码率值Δrate;
基于所述参考码率值确定所述当前生效码率值;其中,所述rate_plus为所述码率增益,所述rate_base为所述基础码率。
5.如权利要求1所述的方法,其特征在于,所述基于调节策略对所述当前生效码率值进行平滑处理,包括:
获取预设采样时间段内的各参考码率值,并将各所述参考码率值存储至码率集合rates中;
根据公式mrate=max(rates)确定目标码率值mrate;
若确定effectve_rate*k1<mrate,则根据公式effectve_rate′=effectve_rate*1/4+mrate*3/4对所述当前生效码率值进行提升,获得提升后的当前生效码率值effectve_rate′;其中,所述effectve_rate为当前生效码率值,所述k1为第一折算系数,所述k1的取值为0.9~1.1。
6.如权利要求5所述的方法,其特征在于,所述方法还包括:
若确定effectve_rate*k2>mrate,则根据公式effectve_rate″=effectve_rate*1/3+mrate*2/3对所述当前生效码率值进行降低,获得降低后的当前生效码率值effectve_rate″;其中,所述effectve_rate为当前生效码率值,所述k2为第二折算系数,所述k2的取值为0.6~0.8。
7.一种用于提高直播画面质量的装置,其特征在于,所述装置包括:
第一确定单元,用于确定待输出图像组的基准帧及序列帧,基于所述基准帧获得基础码率;
获取单元,用于基于所述序列帧获得码率增益;
第二确定单元,用于根据所述基础码率及所述码率增益确定当前生效码率值;
平滑单元,用于基于调节策略对所述当前生效码率值进行平滑处理,根据平滑处理后的所述当前生效码率调节画面质量。
8.如权利要求7所述的装置,其特征在于,所述第一确定单元具体用于:
基于预设的第一固码率系数、第一画质参数、第一编码效率调整参数对所述基准帧进行编码,获得基础码率。
9.一种存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1至6任一项所述的方法。
10.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至6任一项所述的方法。
CN202110663445.8A 2021-06-15 2021-06-15 用于提高直播画面质量的方法、装置、介质及计算机设备 Pending CN115484470A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110663445.8A CN115484470A (zh) 2021-06-15 2021-06-15 用于提高直播画面质量的方法、装置、介质及计算机设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110663445.8A CN115484470A (zh) 2021-06-15 2021-06-15 用于提高直播画面质量的方法、装置、介质及计算机设备

Publications (1)

Publication Number Publication Date
CN115484470A true CN115484470A (zh) 2022-12-16

Family

ID=84419627

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110663445.8A Pending CN115484470A (zh) 2021-06-15 2021-06-15 用于提高直播画面质量的方法、装置、介质及计算机设备

Country Status (1)

Country Link
CN (1) CN115484470A (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009149564A1 (en) * 2008-06-13 2009-12-17 Octasic Inc. Method and device for controlling bit-rate for video encoding, video encoding system using same and computer product therefor
CN101795415A (zh) * 2010-04-22 2010-08-04 杭州华三通信技术有限公司 一种视频编码中的码率控制方法及其装置
CN106254868A (zh) * 2016-08-19 2016-12-21 浙江宇视科技有限公司 视频编码码率控制方法、装置及系统
CN107124610A (zh) * 2017-04-06 2017-09-01 浙江大华技术股份有限公司 一种视频编码方法及装置
CN110166781A (zh) * 2018-06-22 2019-08-23 腾讯科技(深圳)有限公司 一种视频编码方法、装置和可读介质
CN111193927A (zh) * 2018-11-14 2020-05-22 腾讯科技(深圳)有限公司 编码数据处理方法、装置、计算机设备和存储介质
CN111385571A (zh) * 2018-12-29 2020-07-07 浙江宇视科技有限公司 一种超长图像组码率控制方法及装置
CN111416986A (zh) * 2020-03-24 2020-07-14 中国建设银行股份有限公司 一种码率确定方法、装置、存储介质及电子设备

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009149564A1 (en) * 2008-06-13 2009-12-17 Octasic Inc. Method and device for controlling bit-rate for video encoding, video encoding system using same and computer product therefor
CN101795415A (zh) * 2010-04-22 2010-08-04 杭州华三通信技术有限公司 一种视频编码中的码率控制方法及其装置
CN106254868A (zh) * 2016-08-19 2016-12-21 浙江宇视科技有限公司 视频编码码率控制方法、装置及系统
CN107124610A (zh) * 2017-04-06 2017-09-01 浙江大华技术股份有限公司 一种视频编码方法及装置
CN110166781A (zh) * 2018-06-22 2019-08-23 腾讯科技(深圳)有限公司 一种视频编码方法、装置和可读介质
CN111193927A (zh) * 2018-11-14 2020-05-22 腾讯科技(深圳)有限公司 编码数据处理方法、装置、计算机设备和存储介质
CN111385571A (zh) * 2018-12-29 2020-07-07 浙江宇视科技有限公司 一种超长图像组码率控制方法及装置
CN111416986A (zh) * 2020-03-24 2020-07-14 中国建设银行股份有限公司 一种码率确定方法、装置、存储介质及电子设备

Similar Documents

Publication Publication Date Title
WO2018113191A1 (zh) 一种码率控制方法及装置
US11089305B2 (en) Video frame coding method during scene change, terminal and storage medium
JP2005065291A (ja) ビデオエンコーダのエンコーディング率制御方法、ビデオデータの伝送方法、ビデオエンコーダのエンコーディング率制御器、及びビデオデータ伝送システム
US20210409724A1 (en) Method and device for bitrate adjustment in encoding process
WO2018059175A1 (zh) 视频码率处理方法和装置、存储介质及电子设备
CN107659819B (zh) 一种视频转码的方法和装置
CN111741300B (zh) 一种视频处理方法
WO2021164670A1 (zh) 视频编码方法、装置、设备及存储介质
CN105681793A (zh) 基于视频内容复杂度自适应的极低延迟高性能视频编码帧内码率控制方法
WO2021097865A1 (zh) 面向多人互动直播的自适应码率调节方法
CN113038127B (zh) 一种基于roi的实时视频多路并行传输码率控制方法
US8654840B2 (en) Rate control method of perceptual-based rate-distortion optimized bit allocation
CN108965807B (zh) 实时视频的播放控制方法、装置、终端及存储介质
CN110225340A (zh) 一种视频编码的控制方法及装置、计算设备和存储介质
Wang et al. Machine learning-based rate distortion modeling for VVC/H. 266 intra-frame
WO2024120214A1 (zh) 一种编码控制方法、装置、设备、存储介质及产品
CN115484470A (zh) 用于提高直播画面质量的方法、装置、介质及计算机设备
CN102724507B (zh) 一种gpu加速编码器码率控制方法
CN115834924B (zh) 面向交互式视频的松耦合编码码率-传输速率调节方法
Ren et al. Reinforcement learning based ROI bit allocation for gaming video coding in VVC
CN108924555B (zh) 一种适用于视频切片的码率控制比特分配方法
CN106713842B (zh) 影像处理方法及其摄影机
CN114071142A (zh) 一种基于硬件编码器的码率控制方法及设备
Guo et al. Quality-progressive coding for high bit-rate background frames on surveillance videos
JPH0479587A (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