CN105100800A - 视频编码器编码码率调节方法及装置 - Google Patents
视频编码器编码码率调节方法及装置 Download PDFInfo
- Publication number
- CN105100800A CN105100800A CN201510577912.XA CN201510577912A CN105100800A CN 105100800 A CN105100800 A CN 105100800A CN 201510577912 A CN201510577912 A CN 201510577912A CN 105100800 A CN105100800 A CN 105100800A
- Authority
- CN
- China
- Prior art keywords
- code check
- resolution
- history
- video encoder
- frame per
- 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.)
- Granted
Links
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明提供一种视频编码器编码码率调节方法及装置,其中该方法包括:当接收到目标变化码率时,获取视频编码器当前的编码码率;若当前的编码码率不等于目标变化码率,则查询码率调节历史数据表,以获取目标变化码率对应的历史调节参数,该历史调节参数包括历史分辨率和历史帧率;若获取到历史分辨率和历史帧率,则根据历史分辨率和历史帧率调节视频编码器的分辨率和帧率,以调节视频编码器的编码码率;若未获取到历史分辨率和历史帧率,则根据预置调节规则,调节视频编码器的分辨率和帧率。本发明免去了整个调节过程的参数预估和调节反馈环节,从而可提高调节速度,快速达到需求的码率值。
Description
技术领域
本发明属于网络及视频技术领域,尤其涉及一种视频编码器编码码率调节方法及装置。
背景技术
码率,即比特率:是指每秒传送的比特(bit)数。视频编码器在编码时,经常会以一个固定的码率或者根据视频内容变化的动态码率输出视频流,但是在实际的应用环境中经常会遇到根据网络环境要求编码器改变码率以保障实时传输质量的情况。比如,在视频通讯及视频监控中,由于网络环境的原因,数据丢包在所难免,针对丢包处理的一种方法就是自动调节码率,在视频丢包时降低码率,网络恢复后再提高码率,确保通信质量。对视频编码器来说,视频质量的损失产生在量化环节,调节量化系数是码率控制的最主要手段:量化系数越小,数据损失越小,码率越大,图像质量也就越好。
现有技术中,一般可通过调节调节视频编码器的内部参数来调节码率,例如:调节量化系数,调节I帧、B帧、P帧分布比例、丢帧、以及宏块特质计算预测等。视频编码器在内部参数整体调节完成后,根据反馈回来的实际编码出来的码率进行微调,以确保调节的码率符合要求。但是上述现有技术存在以下缺陷:
1、调节过程复杂,需要视频编码器配合,上述如量化系数,调节I帧、B帧、P帧分布比例、丢帧、以及宏块特质计算预测等方法,均需要视频编码器支持才可以进行。
2、调节速度慢,视频编码器调节完成后需要相应的控制及反馈确保调节的码率符合要求,这个过程需要一定的时间。
发明内容
本发明的目的在于提供一种视频编码器编码码率调节方法及装置,免去了整个调节过程的参数预估和调节反馈环节,从而可提高调节速度,快速达到需求的码率值。
本发明第一方面提供一种视频编码器编码码率调节方法,所述方法包括:当接收到目标变化码率时,获取视频编码器当前的编码码率;若所述当前的编码码率不等于所述目标变化码率,则查询码率调节历史数据表,以获取所述目标变化码率对应的历史调节参数,所述码率调节历史数据表中包含多个不同码率段、历史调节参数、以及各码率段及其各自对应的历史调节参数之间的对应关系,所述历史调节参数包括历史分辨率和历史帧率;若获取到所述历史分辨率和历史帧率,则根据所述历史分辨率和历史帧率调节所述视频编码器的分辨率和帧率,以调节所述视频编码器的编码码率为所述目标变化码率;以及若未获取到所述历史分辨率和历史帧率,则根据预置调节规则,调节所述视频编码器的分辨率和帧率,以调节所述视频编码器的编码码率为所述目标变化码率。
本发明第二方面提供一种视频编码器编码码率调节装置,所述装置包括:检测模块,用于检测是否接收到目标变化码率;码率获取模块,用于当所述检测模块检测到接收到目标变化码率时,获取视频编码器当前的编码码率;判断模块,用于判断所述当前的编码码率是否等于所述目标变化码率;查询模块,用于若所述判断模块的判断结果为所述当前的编码码率不等于所述目标变化码率,则查询码率调节历史数据表,以获取所述目标变化码率对应的历史调节参数,所述码率调节历史数据表中包含多个不同码率段、历史调节参数、以及各码率段及其各自对应的历史调节参数之间的对应关系,所述历史调节参数包括历史分辨率和历史帧率;所述判断模块,还用于判断是否获取到所述历史分辨率和历史帧率;以及码率调节模块,用于若所述判断模块的判断结果为获取到所述历史分辨率和历史帧率,则根据所述历史分辨率和历史帧率调节所述视频编码器的分辨率和帧率,以调节所述视频编码器的编码码率为所述目标变化码率;所述码率调节模块,还用于若所述判断模块的判断结果为未获取到所述历史分辨率和历史帧率,则根据预置调节规则,调节所述视频编码器的分辨率和帧率,以调节所述视频编码器的编码码率为所述目标变化码率。
从上述本发明技术方案可知,通过当需要对视频编码器的编码码率进行调节时,优先参考码率调节历史数据表中的历史数据,根据历史数据调节视频编码器的分辨率和帧率,若无历史数据则按照预置调节规则进行调节,相对于现有技术,本发明一方面由于在视频编码器参数调节前增加历史调节参数数据记录,每次调节时优先参考历史记录,减少了调节的参数预估和调节反馈环节,从而可提高调节速度,快速达到需求的码率值,尤其是在视频通讯等运行应用场景中,视频编码器的运行时间越长,记录的历史数据越多、越准确,相应的调节速度也就越快;另一方面,由于是通过调整视频编码器的分辨率、帧率而调节码率,不涉及编码器内部算法,因此适用于所有视频编码器的调节,提高了调节算法的通用性。
附图说明
图1是本发明实施例一提供的视频编码器编码码率调节方法的实现流程示意图;
图2是本发明实施例二提供的视频编码器编码码率调节方法的实现流程示意图;
图3是本发明实施例提供的视频编码器编码码率调节方法中的码率数据分布示意图;
图4是本发明实施例三提供的视频编码器编码码率调节装置的结构示意图;
图5是本发明实施例四提供的视频编码器编码码率调节装置的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例提供一种视频编码器编码码率调节方法,应用于终端设备,该终端设备优选为移动终端,可以但不限于包括:支持视频编码及网络传输的智能手机、平板电脑、笔记本电脑等等。该方法包括:当接收到目标变化码率时,获取视频编码器当前的编码码率;若该当前的编码码率不等于该目标变化码率,则查询码率调节历史数据表,以获取该目标变化码率对应的历史调节参数,该码率调节历史数据表中包含多个不同码率段、历史调节参数、以及各码率段及其各自对应的历史调节参数之间的对应关系,该历史调节参数包括历史分辨率和历史帧率;若获取到该历史分辨率和历史帧率,则根据该历史分辨率和历史帧率调节该视频编码器的分辨率和帧率,以调节该视频编码器的编码码率为该目标变化码率;若未获取到该历史分辨率和历史帧率,则根据预置调节规则,调节该视频编码器的分辨率和帧率,以调节该视频编码器的编码码率为该目标变化码率。本发明实施例还提供相应的视频编码器编码码率调节装置。以下分别进行详细说明。
请参阅附图1,所示是本发明实施例一提供的视频编码器编码码率调节方法的实现流程,该方法可应用于终端设备中,快速而又准确地调节视频编码器的码率相关参数,从而使得视频编码器的码率快速达到实际需求值。附图1示例的视频编码器编码码率调节方法主要包括以下步骤S11至步骤S14:
S11、当接收到目标变化码率时,获取视频编码器当前的编码码率。
终端设备中预置有目标变化码率确定模块,该目标变化码率确定模块用于根据当前网络的码率确定作为码率需求变化的目标变化码率BRq,并将目标变化码率BRq发送给其他有需求的模块。当接收到目标变化码率确定模块发送的目标变化码率BRq时,获取视频编码器当前的编码码率BR。
S12、若该当前的编码码率不等于该目标变化码率,则查询码率调节历史数据表,以获取该目标变化码率对应的历史调节参数,该码率调节历史数据表中包含多个不同码率段、历史调节参数、以及各码率段及其各自对应的历史调节参数之间的对应关系,该历史调节参数包括历史分辨率和历史帧率。
若当前的编码码率BR等于目标变化码率BRq,则说明不需要对视频编码器的编码码率进行调节,于是执行步骤S11,以继续执行下一轮的调节。
若当前的编码码率BR不等于目标变化码率BRq,即,BR>BRq或BR<BRq,则查询码率调节历史数据表,以获取目标变化码率BRq所在的码率段对应的历史调节参数。历史调节参数,即历史上为调节视频编码器的编码码率而曾经调节过的该视频编码器的相关参数及其参数值。如下表1所示,码率调节历史数据表中包含多个不同码率段、历史参数数据、以及各码率段与各码率段各自对应的历史调节参数之间的对应关系,该历史调节参数具体可包括历史分辨率和历史帧率。码率调节历史数据表可根据预置生成规则生成并配置于终端设备中。
表1
码率段 | 历史调节参数 |
BR0~BR1 | 历史分辨率1、历史帧率1 |
BR1~BR2 | 历史分辨率2、历史帧率2 |
BR2~BR3 | 历史分辨率3、历史帧率3 |
…… | …… |
BRN-1~BRN | 历史分辨率N、历史帧率N |
作为本发明的一个实施例,如附图2所示的实施例二,步骤S11之前还可包括以下生成码率调节历史数据表的步骤S101至S103:
S101、获取视频编码器的分辨率、帧率以及码率的初始值;
S102、根据该初始值以及预置第一算法,得到相邻分辨率下码率的最小变化比作为划分不同码率段的分段标准;
S103、根据得到的该相邻分辨率下码率的最小变化比以及预置生成规则,生成该码率调节历史数据表。
上述步骤S101至S103的实现过程具体描述如下:
将分辨率表示为WH,帧率表示为FR,码率表示为BR,编码压缩比表示为CR,则根据视频编码数据生成原理,可获得以下码率计算公式:
CR=WH*FR/BR,即,BR=WH*FR/CR。
在一次编码时,根据外部给视频编码器设定的初始值WHint、FRint、BRint,计算出本次视频编码器运行的压缩比CR。
再基于常见的分辨率等级变化时,宽高是成倍数变化的这一基本原理,如下表2所示:
表2
分辨率等级(档) | 分辨率(宽、高) |
QCIF | 176*144 |
QVGA | 320*240 |
VGA | 640*480 |
WHD | 1280*720 |
FULLHD | 1920*1080 |
其中,QCIF(Quartercommonintermediateformat,四分之一公共中间格式)、QVGA(QuarterVGA,VGA的四分之一尺寸)、VGA(VideoGraphicsArray,视频传输标准)、WHD、FULLHD(FullHighDefinition,全高清)分别对应不同档位的分辨率,也是五档不同的视频传输标准。
结合上面的码率计算公式,以及随着分辨率的变化,码率也相应的成倍数变化的基本原理,由此可以得出,当分辨率越大时,相邻分辨率下码率的变化跨度也越大。具体可如附图3所示,BR0表示分辨率为WH0时的码率,BR1表示分辨率为WH1时的码率,以此类推。
根据上述特点,创建码率调节历史数据表,具体如下:
相邻分辨率下码率的变化比为:
Ri=BRi+1/BRi(其中,i=0,1,……n)
考虑到压缩比CR在编码器初始化完成后不再变化,则:
Ri=(WHi+1*FRi+1)/(WHi*FRi)
假设FRi+1=FRi,则:
Ri=WHi+1/WHi,
为了确保调节的精确度,选择相邻分辨率下码率的最小变化比作为划分不同码率段的分段标准,也即作为历史数据分段标准,则根据以下公式计算相邻分辨率下码率的最小变化比Rmin:
Rmin=min(WHi+1/WHi)(其中,i=0,1,2,……n)
由于在实际应用中FR可能会不相同,FR范围为FRmin~FRmax,一般取值为15~30帧,因此,当FR不同时,
Rmin=min(((WHi+1)*FRmin)/((WHi)*FRmax))(其中,i=0,1,2,……n)
根据附图3码率数据分布图所示的码率数据随分辨率变化分布这一状态,可得到以下相邻分辨率下码率的最小值计算公式:
BRi+1=BRi*Rmin(其中,BR0=0,i=0,1,2……n)
上述公式推理过程如下:
Rmin表示相邻分辨率下压缩比的最小值,以Rmin作为历史数据的分段标准,所以就有:
Rmin=BR1/BR0,BR1=BR0*Rmin;
Rmin=BR2/BR1,BR2=BR1*Rmin;
Rmin=BR3/BR2,BR3=BR2*Rmin;
……
Rmin=BRn+1/BRn,BRn+1=BRn*Rmin。
基于上述推理,最终可以得出上述相邻分辨率下码率的最小值计算公式:
BRi+1=BRi*Rmin(其中,i=0,1,2,3,……,n)
根据上述公式计算得到相邻分辨率下码率的最小值,作为不同码率段的最小值,并将该码率段相邻的下一码率段(高一段的码率段)的最小值,作为该码率段的最大值,并最终生成上述表1所示的码率调节历史数据表。需要说明的是,上述表1只是一种示例,在实际应用中,具体格式不限于此,并可包含更多的内容。
可以理解地,最初生成的码率调节历史数据表中,不同码率段对应的历史调节参数可为空,每一次调节完视频编码器的编码码率后,将调节后的视频编码器的分辨率与帧率作为历史调节参数写入表1中调节后的编码码率(即,目标变化码率)所处的码率段对应的位置。
作为本发明的一个实施例,步骤S12中查询码率调节历史数据表,以获取该目标变化码率对应的历史调节参数具体包括以下步骤S121至S123:
S121、查询码率调节历史数据表,获取与该目标变化码率对应的码率段;
S122、若该目标变化码率对应一个码率段,则将该码率段对应的历史调节参数,作为该目标变化码率对应的历史调节参数,进行获取;
S123、若该目标变化码率对应两个码率段,则将低一段的码率段对应的历史调节参数,作为该目标变化码率对应的历史调节参数,进行获取。
具体地,由于相邻的两个码率段中低一段的码率段的最大值是高其一段码率段的最小值,如表1所示,作为低一段的码率段BR0~BR1的最大值BR1是高其一段的码率段BR1~BR2的最小值,因此可能出现目标变化码率BRq同时对应两个码率段的情况,也即,BRq=BR1,此时,将低一段的码率段BR0~BR1对应的历史调节参数作为目标变化码率BRq对应的历史调节参数,以保证视频的流畅性。
S13、若获取到该历史分辨率和历史帧率,则根据该历史分辨率和历史帧率调节该视频编码器的分辨率和帧率,以调节该视频编码器的编码码率为该目标变化码率。
若目标变化码率BRq对应的码率段存在对应的包含历史分辨率和历史帧率的历史调节参数,则获取该历史调节参数,根据该历史调节参数调节视频编码器的分辨率和帧率,使得视频编码器的分辨率和帧率与该历史分辨率和历史帧率变为一致。例如,假设目标变化码率BRq对应一个码率段BR0~BR1,则判断码率调节历史数据表中是否包含与BR0~BR1对应的历史调节参数,若包含,则根据BR0~BR1对应的历史调节参数调节视频编码器的分辨率和帧率。假设目标变化码率BRq对应两个码率段BR1~BR2与BR2~BR3,则判断码率调节历史数据表中是否包含与BR1~BR2对应的历史调节参数,若包含,则根据BR1~BR2对应的历史调节参数调节视频编码器的分辨率和帧率。
S14、若未获取到该历史分辨率和历史帧率,则根据预置调节规则,调节该视频编码器的分辨率和帧率,以调节该视频编码器的编码码率为该目标变化码率。
若码率调节历史数据表中未记录该目标变化码率对应的码率段对应的历史调节参数,则根据预置调节规则,调节该视频编码器的分辨率和帧率,使该视频编码器的编码码率为目标变化码率,例如可按照预置的分辨率和帧率,调节该视频编码器的分辨率和帧率。
进一步地,在根据预置规则调节该视频编码器的分辨率和帧率使其编码码率为目标变化码率之后,获取参数调节后的该视频编码器的分辨率和帧率,将获取的分辨率和帧率作为该历史分辨率和历史帧率,写入码率调节历史数据表,以备下一次调节时使用。获取参数调节后的视频编码器的编码码率、分辨率以及帧率,根据获取的编码码率在码率调节历史数据表中确定对应的码率段,将获取的分辨率和帧率写入该对应的码率段对应的位置,以更新该码率调节历史数据表。并且,若调节后的编码码率对应两个码率段,则将获取的分辨率和帧率写入码率调节历史数据表中两个码率段中低一段的码率段对应的位置。
作为本发明的一个实施例,如附图2所示的实施例二,步骤S14中的根据预置调节规则,调节该视频编码器的分辨率和帧率,具体可包括以下步骤S141至S145:
S141、根据该目标变化码率以及预置第二算法,得到目标变化分辨率,并根据预置的多个档位的备选分辩率中最接近该目标变化分辨率的一档分辨率,调节该视频编码器的分辨率;
S142、获取该视频编码器在参数调节后的编码码率;
S143、若该目标变化码率等于该参数调节后的编码码率,则将该视频编码器在参数调节后的分辨率和帧率作为该历史分辨率和帧率写入该码率调节历史数据表;
S144、若该目标变化码率小于该参数调节后的编码码率且该视频编码器的帧率未达到预置下限,则将该视频编码器的帧率减一,并执行步骤S142:获取该视频编码器在参数调节后的编码码率;
S145、若该目标变化码率大于该参数调节后的编码码率且该视频编码器的帧率未达到预置上限,则将该视频编码器的帧率加一,并执行步骤S142:获取该视频编码器在参数调节后的编码码率。
需要说明的是,当该视频编码器的帧率达到预置下限或预置上限,则不再对该视频编码器的分辨率和帧率进行调节,即结束本轮调节,转而执行步骤S11,以继续执行下一轮的调节。
上述步骤S141至S145的实现过程具体描述如下:
分辨率变化时,通常有固定的值,如表2所示的QCIF、QVGA、VGA等,不能为任意值,同时相邻分辨率每变化一档时,每帧的数据变化较大,而相同分辨率每增加或减少一帧时,数据的变化相对较少,例如:
QCIF:176*144=25344,QVGA:320*240=76800,当分辨率由QCIF变为QVGA时,每帧数据增加了76800-25344=51456,而由一帧QCIF变为两帧QCIF时,数据增加了25344,远小于由QCIF变为QVGA的数据增加。
QVGA:320*240=76800,VGA:640*480=307200,当分辨率由QVGA变为VGA时,每帧数据增加了307200-76800=230400,而由一帧QVGA变为两帧QVGA时,数据增加了76800,远远小于由QVGA变为VGA的数据增加。
根据上述这个特性,当未获取到对应的历史分辨率和帧率时,根据预置规则,采用以分辨率调节为主,帧率调节为辅的方式来调节。具体如下:
将作为码率变化需求的目标变化码率表示为BRq,视频编码器当前的编码码率表示为BR,WHq表示目标变化分辨率。根据上述码率计算公式:BR=WH*FR/CR,在压缩比CR不变时,可得出:
BRq/BR=(WHq*FRq)/(WH*FR),调节分辨率时保持帧率不变,即FRq=FR,则:
BRq/BR=WHq/WH,继而,WHq=BRq*WH/BR。
目标变化码率BRq不一定是当前帧率下的某一档分辨率对应的码率,因此,第一步先将视频编码器的分辨率调节到最接近WHq的一档,然后第二步用帧率做辅助调节。例如,假设计算出的WHq为76000,则根据表2,将视频编码器的分辨率调节到最接近76000的一档QVGA的分辨率76800。
将距离WHq最近一档的分辨率设置给编码器,读取设置后编码器产生的码率BR,然后根据读取的码率相应的调节帧率,具体调节如下:
综合以上步骤及各算法,本发明提供的视频编码器编码码率调节方法,具体调节逻辑可如下所示:
接收到码率变化需求BRq后,根据目标变化码率BRq搜索历史记录,
需要说明的是,在视频编码器进行编码期间,上述步骤是不断循环执行的,即结束一轮调节后,自动执行步骤S11,以继续执行下一轮调节,直至视频编码器结束编码。
从上述附图1与附图2示例的视频编码器编码码率调节方法可知,在本发明实施例中,通过当需要对视频编码器的编码码率进行调节时,优先参考码率调节历史数据表中的历史数据,根据历史数据调节视频编码器的分辨率和帧率,若无历史数据则按照预置调节规则进行调节,相对于现有技术,本发明一方面由于在视频编码器参数调节前增加历史调节参数数据记录,每次调节时优先参考历史记录,减少了调节的参数预估和调节反馈环节,从而可提高调节速度,快速达到需求的码率值,尤其是在视频通讯等运行应用场景中,视频编码器的运行时间越长,记录的历史数据越多、越准确,相应的调节速度也就越快;另一方面,由于是通过调整视频编码器的分辨率、帧率调节码率,不涉及编码器内部算法,因此适用于所有视频编码器的调节,提高了调节算法的通用性。
请参阅附图4,是本发明实施例三提供的视频编码器编码码率调节装置的结构示意图,用于实现附图1所示的实施例一提供的视频编码器编码码率调节方法,作为附图1所示方法的执行主体,其可以是终端设备或终端设备中的一个模块。为了便于说明,附图4仅示出了与本发明实施例相关的部分。如附图4所示,该装置包括:检测模块31、码率获取模块32、判断模块33、查询模块34以及码率调节模块35。各功能模块详细说明如下:
其中,检测模块31,用于检测是否接收到目标变化码率;
码率获取模块32,用于当检测模块31检测到接收到目标变化码率时,获取视频编码器当前的编码码率;
判断模块33,用于判断该当前的编码码率是否等于该目标变化码率;
查询模块34,用于若判断模块33的判断结果为该当前的编码码率不等于该目标变化码率,则查询码率调节历史数据表,以获取该目标变化码率对应的历史调节参数,该码率调节历史数据表中包含多个不同码率段、历史调节参数、以及各码率段及其各自对应的历史调节参数之间的对应关系,该历史调节参数包括历史分辨率和历史帧率;
判断模块33,还用于判断是否获取到该历史分辨率和历史帧率;
码率调节模块35,用于若判断模块33的判断结果为获取到该历史分辨率和历史帧率,则根据该历史分辨率和历史帧率调节该视频编码器的分辨率和帧率,以调节该视频编码器的编码码率为该目标变化码率;
码率调节模块35,还用于若判断模块33的判断结果为未获取到该历史分辨率和历史帧率,则根据预置调节规则,调节该视频编码器的分辨率和帧率,以调节该视频编码器的编码码率为该目标变化码率。
需要说明的是,以上附图4示例的视频编码器编码码率调节装置的实施方式中,各功能模块的划分仅是举例说明,实际应用中可以根据需要,例如相应硬件的配置要求或者软件的实现的便利考虑,而将上述功能分配由不同的功能模块完成,即将所述视频编码器编码码率调节装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。而且,实际应用中,本实施例中的相应的功能模块可以是由相应的硬件实现,也可以由相应的硬件执行相应的软件完成(本说明书提供的各个实施例都可应用上述描述原则)。
以上附图4所示实施例三中各功能模块实现各自功能的过程,具体可参考附图1所示实施例一的相关描述,此处不再赘述。
请参阅附图5,本发明实施例四提供的视频编码器编码码率调节装置,用于实现附图1所示的实施例一或附图2所示的实施例二提供的视频编码器编码码率调节方法,作为上述方法的执行主体,其可以是终端设备或终端设备中的一个模块。在附图4示例的本发明实施例三提供的视频编码器编码码率调节装置的基础上,本发明实施例四提供的视频编码器编码码率调节装置中,如附图5所示,
进一步地,该装置还包括:
初始值获取模块41,用于获取该视频编码器的分辨率、帧率以及码率的初始值;
分段标准获取模块42,用于根据该初始值以及预置第一算法,得到相邻分辨率下码率的最小变化比作为划分不同码率段的分段标准;
码率调节历史数据表生成模块43,用于根据得到的该相邻分辨率下码率的最小变化比以及预置生成规则,生成该码率调节历史数据表。
进一步地,查询模块34包括:
查询子模块341,用于查询码率调节历史数据表,获取与该目标变化码率对应的码率段;
获取子模块342,用于若该目标变化码率对应一个码率段,则将该码率段对应的历史调节参数,作为该目标变化码率对应的历史调节参数,进行获取;
获取子模块342,还用于若该目标变化码率对应两个码率段,则将低一段的码率段对应的历史调节参数,作为该目标变化码率对应的历史调节参数,进行获取。
进一步地,该装置还包括:
历史数据写入模块44,用于获取参数调节后的该视频编码器的分辨率以及帧率,将获取的分辨率和帧率写入该码率调节历史数据表,以更新该码率调节历史数据表。
进一步地,码率调节模块35包括:
计算子模块351,用于根据该目标变化码率以及预置第二算法,得到目标变化分辨率;
调节子模块352,用于根据预置的多个档位的备选分辩率中最接近该目标变化分辨率的一档分辨率,调节该视频编码器的分辨率;
获取子模块353,用于获取该视频编码器在参数调节后的编码码率;
历史数据写入模块44,还用于若该目标变化码率等于该参数调节后的编码码率,则将该视频编码器在参数调节后的分辨率和帧率作为该历史分辨率和帧率写入该码率调节历史数据表;
调节子模块352,还用于若该目标变化码率小于该参数调节后的编码码率且该视频编码器的帧率未达到预置下限,则将该视频编码器的帧率减一,并调用获取子模块353获取该视频编码器在参数调节后的编码码率;
调节子模块352,还用于若该目标变化码率大于该参数调节后的编码码率且该视频编码器的帧率未达到预置上限,则将该视频编码器的帧率加一,并调用获取子模块353获取该视频编码器在参数调节后的编码码率。
为了便于说明,附图4仅示出了与本发明实施例相关的部分。以上附图5所示实施例四中各功能模块实现各自功能的过程,具体可参考附图2所示实施例二的相关描述,此处不再赘述。
从上述附图4与附图5示例的视频编码器编码码率调节装置可知,在本发明实施例中,通过当需要对视频编码器的编码码率进行调节时,优先参考码率调节历史数据表中的历史数据,根据历史数据调节视频编码器的分辨率和帧率,若无历史数据则按照预置调节规则进行调节,相对于现有技术,本发明一方面由于在视频编码器参数调节前增加历史调节参数数据记录,每次调节时优先参考历史记录,减少了调节的参数预估和调节反馈环节,从而可提高调节速度,快速达到需求的码率值,尤其是在视频通讯等运行应用场景中,视频编码器的运行时间越长,记录的历史数据越多、越准确,相应的调节速度也就越快;另一方面,由于是通过调整视频编码器的分辨率、帧率调节码率,不涉及编码器内部算法,因此适用于所有视频编码器的调节,提高了调节算法的通用性。
在本申请所提供的几个实施例中,应该理解到,所揭露的方法和装置,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,RandomAccessMemory)、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本发明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上为对本发明所提供的一种视频编码器编码码率调节方法及装置的描述,对于本领域的技术人员,依据本发明实施例的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种视频编码器编码码率调节方法,其特征在于,所述方法包括:
当接收到目标变化码率时,获取视频编码器当前的编码码率;
若所述当前的编码码率不等于所述目标变化码率,则查询码率调节历史数据表,以获取所述目标变化码率对应的历史调节参数,所述码率调节历史数据表中包含多个不同码率段、历史调节参数、以及各码率段及其各自对应的历史调节参数之间的对应关系,所述历史调节参数包括历史分辨率和历史帧率;
若获取到所述历史分辨率和历史帧率,则根据所述历史分辨率和历史帧率调节所述视频编码器的分辨率和帧率,以调节所述视频编码器的编码码率为所述目标变化码率;以及
若未获取到所述历史分辨率和历史帧率,则根据预置调节规则,调节所述视频编码器的分辨率和帧率,以调节所述视频编码器的编码码率为所述目标变化码率。
2.根据权利要求1所述的方法,其特征在于,在所述当接收到目标变化码率时,获取视频编码器当前的编码码率步骤之前,所述方法还包括:
获取所述视频编码器的分辨率、帧率以及码率的初始值;
根据所述初始值以及预置第一算法,得到相邻分辨率下码率的最小变化比作为划分不同码率段的分段标准;
根据得到的所述相邻分辨率下码率的最小变化比以及预置生成规则,生成所述码率调节历史数据表。
3.根据权利要求1所述的方法,其特征在于,所述查询码率调节历史数据表,以获取所述目标变化码率对应的历史调节参数包括:
查询所述码率调节历史数据表,获取与所述目标变化码率对应的码率段;
若所述目标变化码率对应一个码率段,则将所述码率段对应的历史调节参数,作为所述目标变化码率对应的历史调节参数,进行获取;
若所述目标变化码率对应两个码率段,则将低一段的码率段对应的历史调节参数,作为所述目标变化码率对应的历史调节参数,进行获取。
4.根据权利要求1至3任意一项所述的方法,其特征在于,所述根据预置调节规则,调节所述视频编码器的分辨率和帧率,以调节所述视频编码器的编码码率为所述目标变化码率之后包括:
获取参数调节后的所述视频编码器的分辨率以及帧率,将获取的分辨率和帧率写入所述码率调节历史数据表,以更新所述码率调节历史数据表。
5.根据权利要求4所述的方法,其特征在于,所述根据预置调节规则,调节所述视频编码器的分辨率和帧率,以调节所述视频编码器的编码码率为所述目标变化码率;获取参数调节后的所述视频编码器的分辨率以及帧率,将获取的分辨率和帧率写入所述码率调节历史数据表包括:
根据所述目标变化码率以及预置第二算法,得到目标变化分辨率,并根据预置的多个档位的备选分辩率中最接近所述目标变化分辨率的一档分辨率,调节所述视频编码器的分辨率;
获取所述视频编码器在参数调节后的编码码率;
若所述目标变化码率等于所述参数调节后的编码码率,则将所述视频编码器在参数调节后的分辨率和帧率作为所述历史分辨率和帧率写入所述码率调节历史数据表;
若所述目标变化码率小于所述参数调节后的编码码率且所述视频编码器的帧率未达到预置下限,则将所述视频编码器的帧率减一,并执行所述获取所述视频编码器在参数调节后的编码码率的步骤;
若所述目标变化码率大于所述参数调节后的编码码率且所述视频编码器的帧率未达到预置上限,则将所述视频编码器的帧率加一,并执行所述获取所述视频编码器在参数调节后的编码码率的步骤。
6.一种视频编码器编码码率调节装置,其特征在于,所述装置包括:
检测模块,用于检测是否接收到目标变化码率;
码率获取模块,用于当所述检测模块检测到接收到目标变化码率时,获取视频编码器当前的编码码率;
判断模块,用于判断所述当前的编码码率是否等于所述目标变化码率;
查询模块,用于若所述判断模块的判断结果为所述当前的编码码率不等于所述目标变化码率,则查询码率调节历史数据表,以获取所述目标变化码率对应的历史调节参数,所述码率调节历史数据表中包含多个不同码率段、历史调节参数、以及各码率段及其各自对应的历史调节参数之间的对应关系,所述历史调节参数包括历史分辨率和历史帧率;
所述判断模块,还用于判断是否获取到所述历史分辨率和历史帧率;以及
码率调节模块,用于若所述判断模块的判断结果为获取到所述历史分辨率和历史帧率,则根据所述历史分辨率和历史帧率调节所述视频编码器的分辨率和帧率,以调节所述视频编码器的编码码率为所述目标变化码率;
所述码率调节模块,还用于若所述判断模块的判断结果为未获取到所述历史分辨率和历史帧率,则根据预置调节规则,调节所述视频编码器的分辨率和帧率,以调节所述视频编码器的编码码率为所述目标变化码率。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括:
初始值获取模块,用于获取所述视频编码器的分辨率、帧率以及码率的初始值;
分段标准获取模块,用于根据所述初始值以及预置第一算法,得到相邻分辨率下码率的最小变化比作为划分不同码率段的分段标准;
码率调节历史数据表生成模块,用于根据得到的所述相邻分辨率下码率的最小变化比以及预置生成规则,生成所述码率调节历史数据表。
8.根据权利要求6所述的装置,其特征在于,所述查询模块包括:
查询子模块,用于查询所述码率调节历史数据表,获取与所述目标变化码率对应的码率段;
获取子模块,用于若所述目标变化码率对应一个码率段,则将所述码率段对应的历史调节参数,作为所述目标变化码率对应的历史调节参数,进行获取;
所述获取子模块,还用于若所述目标变化码率对应两个码率段,则将低一段的码率段对应的历史调节参数,作为所述目标变化码率对应的历史调节参数,进行获取。
9.根据权利要求6至8任意一项所述的装置,其特征在于,所述装置还包括:
历史数据写入模块,用于获取参数调节后的所述视频编码器的分辨率以及帧率,将获取的分辨率和帧率写入所述码率调节历史数据表,以更新所述码率调节历史数据表。
10.根据权利要求9所述的装置,其特征在于,
所述码率调节模块包括:
计算子模块,用于根据所述目标变化码率以及预置第二算法,得到目标变化分辨率;
调节子模块,用于根据预置的多个档位的备选分辩率中最接近所述目标变化分辨率的一档分辨率,调节所述视频编码器的分辨率;
获取子模块,用于获取所述视频编码器在参数调节后的编码码率;
所述历史数据写入模块,还用于若所述目标变化码率等于所述参数调节后的编码码率,则将所述视频编码器在参数调节后的分辨率和帧率作为所述历史分辨率和帧率写入所述码率调节历史数据表;
所述调节子模块,还用于若所述目标变化码率小于所述参数调节后的编码码率且所述视频编码器的帧率未达到预置下限,则将所述视频编码器的帧率减一,并调用获取子模块获取所述视频编码器在参数调节后的编码码率;
所述调节子模块,还用于若所述目标变化码率大于所述参数调节后的编码码率且所述视频编码器的帧率未达到预置上限,则将所述视频编码器的帧率加一,并调用获取子模块获取所述视频编码器在参数调节后的编码码率。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510577912.XA CN105100800B (zh) | 2015-09-11 | 2015-09-11 | 视频编码器编码码率调节方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510577912.XA CN105100800B (zh) | 2015-09-11 | 2015-09-11 | 视频编码器编码码率调节方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105100800A true CN105100800A (zh) | 2015-11-25 |
CN105100800B CN105100800B (zh) | 2019-05-24 |
Family
ID=54580208
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510577912.XA Active CN105100800B (zh) | 2015-09-11 | 2015-09-11 | 视频编码器编码码率调节方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105100800B (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105959714A (zh) * | 2016-04-28 | 2016-09-21 | 武汉斗鱼网络科技有限公司 | 根据用户的硬件环境自动推荐网络直播参数的方法和系统 |
CN106254875A (zh) * | 2016-09-30 | 2016-12-21 | 邦彦技术股份有限公司 | 一种编码器及控制方法 |
WO2017097151A1 (zh) * | 2015-12-09 | 2017-06-15 | 阿里巴巴集团控股有限公司 | 一种转码方法及装置 |
WO2017097126A1 (zh) * | 2015-12-08 | 2017-06-15 | 阿里巴巴集团控股有限公司 | 一种转码方法及装置 |
CN107493478A (zh) * | 2017-09-01 | 2017-12-19 | 广州市百果园网络科技有限公司 | 编码帧率设置方法及设备 |
CN109753207A (zh) * | 2017-11-02 | 2019-05-14 | 腾讯科技(深圳)有限公司 | 一种信息处理方法及其装置、存储介质 |
CN109908586A (zh) * | 2019-03-18 | 2019-06-21 | 北京智明星通科技股份有限公司 | Html5游戏的优化方法及装置 |
CN110708599A (zh) * | 2019-10-10 | 2020-01-17 | 威创集团股份有限公司 | 编码控制方法及装置 |
CN112131423A (zh) * | 2019-06-25 | 2020-12-25 | 杭州海康威视数字技术股份有限公司 | 图片获取方法、装置及系统 |
CN112367462A (zh) * | 2020-10-29 | 2021-02-12 | 北京达佳互联信息技术有限公司 | 拍摄方法、装置、电子设备及存储介质 |
CN113038136A (zh) * | 2019-12-25 | 2021-06-25 | 成都鼎桥通信技术有限公司 | 一种视频自适应调整方法和装置 |
CN113037697A (zh) * | 2019-12-25 | 2021-06-25 | 深信服科技股份有限公司 | 一种视频帧处理方法、装置和电子设备及可读存储介质 |
CN114257880A (zh) * | 2022-01-10 | 2022-03-29 | 百果园技术(新加坡)有限公司 | 一种码率策略选择方法、装置、电子设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101977218A (zh) * | 2010-10-20 | 2011-02-16 | 深圳市融创天下科技发展有限公司 | 一种互联网播放文件转码方法和系统 |
CN103096084A (zh) * | 2013-01-29 | 2013-05-08 | 海能达通信股份有限公司 | 一种无线传输中码率自适应调节的方法、装置及系统 |
CN103260053A (zh) * | 2013-04-15 | 2013-08-21 | 威盛电子股份有限公司 | 动态调整多媒体数据码率的系统、媒体播放装置及方法 |
US8861932B2 (en) * | 2012-05-18 | 2014-10-14 | At&T Mobility Ii Llc | Video service buffer management |
-
2015
- 2015-09-11 CN CN201510577912.XA patent/CN105100800B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101977218A (zh) * | 2010-10-20 | 2011-02-16 | 深圳市融创天下科技发展有限公司 | 一种互联网播放文件转码方法和系统 |
US8861932B2 (en) * | 2012-05-18 | 2014-10-14 | At&T Mobility Ii Llc | Video service buffer management |
CN103096084A (zh) * | 2013-01-29 | 2013-05-08 | 海能达通信股份有限公司 | 一种无线传输中码率自适应调节的方法、装置及系统 |
CN103260053A (zh) * | 2013-04-15 | 2013-08-21 | 威盛电子股份有限公司 | 动态调整多媒体数据码率的系统、媒体播放装置及方法 |
Cited By (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10567779B2 (en) | 2015-12-08 | 2020-02-18 | Alibaba Group Holding Limited | Method and apparatus for transcoding |
WO2017097126A1 (zh) * | 2015-12-08 | 2017-06-15 | 阿里巴巴集团控股有限公司 | 一种转码方法及装置 |
CN106856570B (zh) * | 2015-12-08 | 2018-08-24 | 阿里巴巴集团控股有限公司 | 一种转码方法及装置 |
CN106856571A (zh) * | 2015-12-09 | 2017-06-16 | 阿里巴巴集团控股有限公司 | 一种转码方法及装置 |
US10645406B2 (en) | 2015-12-09 | 2020-05-05 | Alibaba Group Holding Limited | Transcoding method and apparatus |
CN106856571B (zh) * | 2015-12-09 | 2019-12-06 | 阿里巴巴集团控股有限公司 | 一种转码方法及装置 |
WO2017097151A1 (zh) * | 2015-12-09 | 2017-06-15 | 阿里巴巴集团控股有限公司 | 一种转码方法及装置 |
CN105959714B (zh) * | 2016-04-28 | 2019-04-05 | 武汉斗鱼网络科技有限公司 | 根据用户的硬件环境自动推荐网络直播参数的方法和系统 |
CN105959714A (zh) * | 2016-04-28 | 2016-09-21 | 武汉斗鱼网络科技有限公司 | 根据用户的硬件环境自动推荐网络直播参数的方法和系统 |
CN106254875A (zh) * | 2016-09-30 | 2016-12-21 | 邦彦技术股份有限公司 | 一种编码器及控制方法 |
CN107493478A (zh) * | 2017-09-01 | 2017-12-19 | 广州市百果园网络科技有限公司 | 编码帧率设置方法及设备 |
CN107493478B (zh) * | 2017-09-01 | 2020-04-14 | 广州市百果园网络科技有限公司 | 编码帧率设置方法及设备 |
CN109753207A (zh) * | 2017-11-02 | 2019-05-14 | 腾讯科技(深圳)有限公司 | 一种信息处理方法及其装置、存储介质 |
CN109753207B (zh) * | 2017-11-02 | 2021-12-10 | 腾讯科技(深圳)有限公司 | 一种信息处理方法及其装置、存储介质 |
CN109908586A (zh) * | 2019-03-18 | 2019-06-21 | 北京智明星通科技股份有限公司 | Html5游戏的优化方法及装置 |
CN109908586B (zh) * | 2019-03-18 | 2022-06-21 | 北京智明星通科技股份有限公司 | Html5游戏的优化方法及装置 |
CN112131423A (zh) * | 2019-06-25 | 2020-12-25 | 杭州海康威视数字技术股份有限公司 | 图片获取方法、装置及系统 |
CN110708599A (zh) * | 2019-10-10 | 2020-01-17 | 威创集团股份有限公司 | 编码控制方法及装置 |
CN110708599B (zh) * | 2019-10-10 | 2020-11-24 | 威创集团股份有限公司 | 编码控制方法及装置 |
CN113038136A (zh) * | 2019-12-25 | 2021-06-25 | 成都鼎桥通信技术有限公司 | 一种视频自适应调整方法和装置 |
CN113037697A (zh) * | 2019-12-25 | 2021-06-25 | 深信服科技股份有限公司 | 一种视频帧处理方法、装置和电子设备及可读存储介质 |
CN112367462A (zh) * | 2020-10-29 | 2021-02-12 | 北京达佳互联信息技术有限公司 | 拍摄方法、装置、电子设备及存储介质 |
CN112367462B (zh) * | 2020-10-29 | 2022-04-22 | 北京达佳互联信息技术有限公司 | 拍摄方法、装置、电子设备及存储介质 |
CN114257880B (zh) * | 2022-01-10 | 2023-11-17 | 百果园技术(新加坡)有限公司 | 一种码率策略选择方法、装置、电子设备及存储介质 |
CN114257880A (zh) * | 2022-01-10 | 2022-03-29 | 百果园技术(新加坡)有限公司 | 一种码率策略选择方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN105100800B (zh) | 2019-05-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105100800A (zh) | 视频编码器编码码率调节方法及装置 | |
JP6019189B2 (ja) | ビデオ記述長によって導かれるビデオ符号化のレート−歪み−複雑性の最適化 | |
CN108496199B (zh) | 利用创作意图元数据的色调原版制作系统 | |
JPWO2019065299A1 (ja) | 情報処理装置および方法 | |
MX2012000905A (es) | Control de ganancia adaptativa para muestras de audio digital en una transmision de medios. | |
US20180184092A1 (en) | Apparatus and method for encoding video and adjusting a quantization parameter | |
JP6546192B2 (ja) | 帯域幅依存のファイル転送のための方法及びシステム | |
US20230050250A1 (en) | Method and apparatus for encoding video, and storage medium | |
US10536696B2 (en) | Image encoding device and image encoding method | |
JP2020520197A (ja) | ビデオ符号化方法、コンピュータ機器、及び記憶媒体 | |
KR102472971B1 (ko) | 인공지능 모델을 이용한 동영상 인코딩 최적화 방법, 시스템, 및 컴퓨터 프로그램 | |
WO2022000298A1 (en) | Reinforcement learning based rate control | |
US10616585B2 (en) | Encoding data arrays | |
US10412386B2 (en) | System on chip and data processing system including the same | |
US7805014B2 (en) | Image-encoding controlling apparatus for using a table reflecting statistical frequency of quantization parameter selection and method thereof | |
CN111368978A (zh) | 一种离线量化工具的精度提升方法 | |
CN102047661A (zh) | 视频码量控制方法、视频码量控制装置、视频码量控制程序以及记录有该程序的计算机能够读取的记录介质 | |
CN104284195A (zh) | 三维视频中的深度图预测方法、装置、编码器和解码器 | |
CN114090654A (zh) | 工业时序数据的近似查询处理方法、系统、介质及设备 | |
CN113313248A (zh) | 一种共享自适应度优化方法及装置 | |
CN114245127A (zh) | 一种云桌面编码器的参数调整方法、装置、设备及介质 | |
CN113762510B (zh) | 针对目标模型的数据处理方法、装置、电子设备和介质 | |
US10991383B2 (en) | Method of measuring sound level of audio content and device therefor | |
CN116911403B (zh) | 联邦学习的服务器和客户端的一体化训练方法及相关设备 | |
KR101978379B1 (ko) | 데이터 분석 활용을 위한 데이터 보안성 유지 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |