CN1964494A - 视频编码中帧级码率的控制方法 - Google Patents
视频编码中帧级码率的控制方法 Download PDFInfo
- Publication number
- CN1964494A CN1964494A CN 200610145809 CN200610145809A CN1964494A CN 1964494 A CN1964494 A CN 1964494A CN 200610145809 CN200610145809 CN 200610145809 CN 200610145809 A CN200610145809 A CN 200610145809A CN 1964494 A CN1964494 A CN 1964494A
- Authority
- CN
- China
- Prior art keywords
- present frame
- frame
- sliding window
- coded bits
- annular sliding
- 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
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明公开了一种视频编码中帧级码率的控制方法。为解决现有技术中视频编码的复杂度高、效果差的问题而发明。本发明视频编码中帧级码率的控制方法包括以下步骤:获取一帧图像的额定编码比特数,并为环形滑动窗的所有元素进行赋值;计算当前帧在环形滑动窗内允许的编码比特数,并根据该允许的编码比特数与额定编码比特数的差判断需要对当前帧的数据进行编码,则获取当前帧的目标编码比特数对当前帧的数据进行编码后,更新环形滑动窗。本发明能较好的调整码字分配,避免流量突变,最大程度的平缓了码流的效果,有效的控制住瞬间码率过高,让码流输出平稳,缓解了网络压力,提高了编码效率,达到了计算量小,并且编码过程效果好的目的。
Description
技术领域
本发明涉及图像信息视频编码压缩技术,特别涉及视频编码中帧级码率的控制方法。
背景技术
如今的通讯服务已不再仅限于传统的语音业务,而是将目光投向了更加丰富多彩的多媒体业务。随着网络应用的日益扩大,多媒体业务的重要性尤其是视频应用,更加凸显。视频应用相对于以往的网络应用,如网页浏览,邮件服务,对带宽的要求更大,对实时性要求更高。目前基于有线信道或者无线信道网络的视频应用包括交互式应用,如会议电视,预编码的视频流下载,如实时视频流等等。尽管现在有线信道所能提供的带宽不断增大,但是对于视频序列来说,带宽还是无法满足其高数据量的要求,无线信道更是只能提够有限的带宽。这样视频编码输出的瞬间码流过高会对有限的网络资源造成冲击,更严重的会有丢包现象。因此,为满足这些视频应用的需求,充分利用网络资源,视频压缩后的码流要尽可能的占满带宽,并且保持平稳输出,码率控制在其中扮演着重要的角色。
常用的码率控制方法分为帧内码率控制和帧间码率控制。帧内码率控制主要是利用率失真理论,这种方法能够达到较好的控制效果,但数学计算量大,且使得瞬间码率过高,对网络具有一定的冲击性,甚至会造成丢包现象。帧间码率控制是利用前几帧编码的信息,调整当前帧的量化参数,或者进行丢帧,以保证输出码流的平均码率控制在带宽要求内,达到码流平稳的效果。因此,帧间码率控制是有效的控制住瞬间码率过高,让码流输出平稳的方法。
传统的帧间码率控制的方法通过前几帧的编码情况来调整当前帧的量化因子或者目标码率,以达到几帧平均码率平稳的目的,但是这样反应速度慢,无法很快的使码流平稳。例如,中国专利CN01130703的“视频压缩码率控制方法”,该专利是利用码率积累超过经验阈值,才对目标码率进行调整,这样使得瞬间码率无法尽快下降,而且还是一样无法完全避免高数据量对网络的冲击。国际专利WO0019137的“FAME-LEVEL RATE CONTROL FOR VIDEOCOMPRESSION”,该专利利用时间窗分配码字过于平均,另外还需要根据量化因子,运动差值等对目标比特数进行调整,达到较好的调整效果需要对多种因素进行考虑,判断条件复杂,实现繁琐。
发明内容
为了克服现有技术的缺陷和不足,本发明的目的在于提供一种计算量小并且效果好的视频编码中帧级码率的控制方法。
为了达到上述目的,本发明一种视频编码中帧级码率的控制方法,包括以下步骤:
(1)获取一帧图像的额定编码比特数,并为环形滑动窗的所有元素进行赋值;
(2)计算当前帧在环形滑动窗内允许的编码比特数,并根据该允许的编码比特数与额定编码比特数的差判断是否对当前帧的数据进行编码,如果判断结果为是,则进入步骤(3);如果判断结果为否,步骤结束;
(3)获取当前帧的目标编码比特数对当前帧的数据进行编码后,更新环形滑动窗。
优选地,所述步骤(1)具体为:
(11)将视频码率除以帧频来获取一帧图像的额定编码比特数;
(12)使用该额定编码比特数给环形滑动窗的所有元素进行赋值。
优选地,所述步骤(2)具体为:
(21)计算当前帧在环形滑动窗内允许的编码比特数,并计算该允许的编码比特数与额定编码比特数的差值;
(22)将该差值与修正加权值作乘积后,判断是否小于预设的丢帧的阈值,如果不小于,则判定需要对当前帧的数据进行编码,进入步骤(3);如果小于,则丢弃当前帧,步骤结束。
优选地,步骤(21)中所述计算当前帧在环形滑动窗内允许的编码比特数的方法为:
(A)通过累加环形滑动窗内元素的值来获取当前帧之前所有帧的实际编码比特数的和;
(B)将所述步骤(A)中获取的和与环形滑动窗中保存的第一帧图像的实际编码比特数做差值;
(C)将当前帧之前所有帧的额定编码比特数的和减去所述步骤(B)中的差值,来获取当前帧在环形滑动窗内允许的编码比特数。
优选地,所述步骤(3)具体为:
(31)将当前帧的额定编码比特数与所述步骤(22)中得到的乘积值作和,来获取当前帧的目标编码比特数;
(32)根据该目标编码比特数对当前帧的数据进行编码后,更新环形滑动窗。
优选地,步骤(32)中所述更新环形滑动窗的方法为:将当前帧编出的比特数替换掉滑动窗口内当前元素的值,并将当前帧的编码后将索引值加1再模N,获取下一帧在滑动窗中的窗口索引值;
其中,所述的N为当前帧之前的所有帧个数的和。
采用上述的方法后,通过将环形滑动窗应用于视频编码器,运用环形滑动窗平滑每帧的编码比特数,平滑不下时就丢弃当前帧,如果不需丢弃当前帧,就运用滑动窗得到当前帧的目标编码比特数进行编码后更新环形滑动窗,不需要对多种因素全面考虑,判断条件也简单有效,能较好的调整码字分配,避免流量突变,最大程度的平缓了码流的效果,有效的控制住瞬间码率过高,让码流输出平稳,缓解了网络压力,提高了编码效率,达到了计算量小,并且编码过程效果好的目的。
附图说明
图1为本发明环形滑动窗的结构示意图;
图2为本发明视频编码中帧级码率的控制的具体流程图。
具体实施方式
下面结合附图对本发明的具体实施方式作进一步详细说明。
如图1所示,本发明将环形滑动窗应用于视频编码器,该环形滑动窗随时间转动,时间轴为t-3、t-2、t-1、t、t+1、t+2、t+3、t+4、t+5等,对于待编码的第t帧对应于时间轴的时间为t,此时,环形滑动时间窗对应的索引为0(t),时间窗上的其它索引为1(t-N+1)、2(t-N+2)、3(t-N+3)、N-1(t-1)、N-2(t-2),当处理完第t帧后,由于环形滑动窗是循环使用的,下一个待编码的第t+1帧对应时间轴的时间顺延为t+1,而环形滑动时间窗的索引就对应为第t帧的索引加1后模N,得到的索引为1(t+1)。
如图2所示,为本发明视频编码中帧级码率的控制的具体流程,包括以下步骤:
(101)首先判断编码是否为第一帧,如果是第一帧,则进入步骤(102);如果不是第一帧,则进入步骤(103);
(102)初始化环形滑动窗。开始视频编码时,要给环形滑动窗的N个元素赋初值。环形滑动窗记录了当前帧之前的连续N帧的实际编码比特数。即滑动窗每个元素对应前N帧中某一帧的实际编码比特数。刚启动编码器时,由于还没有编码,滑动窗的每个元素都设为一帧图像的额定编码比特数,随着编码过程的持续,再不断更新为实际编码比特数。
初始化环形滑动窗包括以下步骤:
(A1)计算一帧图像的额定编码比特数FrameRate,由视频码率BitRate除以帧频FramePerSecond得到,即:
FrameRate=BitRate/FramePerSecond
(A2)用额定编码比特数FrameRate给环形滑动窗的每个元素SlipWindow[i]赋值,即:
SlipWindow[i]=FrameRate i=0,…,N-1
(A3)赋值过程结束后,将初始化标志FirstTime置为无效,即当编码开始后不再以每帧图像的额定编码比特数给环形滑动窗元素赋值。
(103)计算在环形滑动窗内允许的当前帧编码比特数,即当前帧编码比特数的上限;包括以下步骤:
(B1)累加环形滑动窗内所有元素的值,得到当前帧之前N帧的实际编码比特数之和SumBits,即:
(B2)累加的结果SumBits减去环形滑动窗中保存的第一帧图像的实际编码比特数SlipWindow[WindowIndex],得到前N-1帧的实际编码比特数的和SumBitsplusFisrtFrm。WindowIndex是第一帧在滑动窗中的窗口索引,如图1所示,因为环形滑动窗是循环使用的,所以WindowIndex与时间轴上的帧序号不是一致的,即WindowIndex不一定等于0。从后面的步骤中可以看出结束对当前帧的处理后WindowIndex将做为当前帧的窗口索引。
SumBitsplusFisrtFrm=SumBits-SlipWindow[WindowIndex]
(B3)用N帧额定编码比特数的和Nominal减去SumBitsplusFisrtFrm得到当前帧在环形滑动窗内允许的编码比特数LeftFrameBitsl,即:
LeftFrameBitsl=Nominal-SumBitsplusFisrtFrm
(104)根据当前帧在环形滑动窗内允许的编码比特数与额定编码比特数的差判断是否需要丢弃当前帧,如果是则进入步骤(105);如果不是,则进入步骤(106);
上述步骤(104)可以包括以下步骤:
(C1)计算当前帧在环形滑动窗内允许的编码比特数LeftFrameBitsl与额定编码比特数FrameRate的差ExtraBitsl;即
ExtraBitsl=LeftFrameBitsl-FrameRate
(C2)为了增大码流的平滑度,将ExtraBitsl乘以修正加权值(1/(N/2)),即将码流的波动平均分配在后续的N/2帧上,这个结果用来做为是否丢帧的重要依据;
ExtraBits=ExtraBitsl/(N/2)
(C3)将ExtraBits与丢帧的阈值nThresh比较,小于则进入步骤(105);大于则进入步骤(106)。
(105)丢弃当前帧后,进入步骤(109):在丢帧前,更新滑动窗内当前元素的值和窗口索引,阈值的大小随码率自适应改变。即当满足条件ExtraBits<nThresh时,则做如下操作:
SlipWindow[WindowIndex]=0;
WindowIndex++;
WindowIndex=WindowIndex%N;
丢弃当前帧;
(106)确定当前帧的目标编码比特数,编码器将根据该值做更精细的码率控制,使得当前帧实际编码比特数尽可能的接近该值。
上述是将当前帧在环形滑动窗内允许的编码比特数根据它与额定编码比特数的差进行修正得到当前帧的目标编码比特数,在后续的编码过程中用目标编码比特数进行更精细的码率控制。修正的方法如下:
当前帧目标编码比特数=额定编码比特数+当前帧在滑动窗内允许的编码比特数与额定编码比特数的差×修正加权值。
也可以通过当前帧的目标编码比特数=当前帧的额定编码比特数+当前帧在滑动窗内允许的比特数与额定编码比特数的差/(N/2)来求得,即:
LeftFrameBits=FrameRate+ExtraBits;
(107)进行当前帧数据的编码;
(108)结束当前帧的编码后,更新环形滑动窗内容和索引值。
包括以下步骤:
(D1)用当前帧编出的比特数BitsFrm替换掉窗口内当前元素的值;即
SlipWindow[WindowIndex]=BitsFrm
(D2)更新窗口索引。由于环形滑动窗是循环使用的,如图1所示。窗内当前元素的窗口索引范围是0~N-1。将当前帧的编码后将索引值加1再模N,得到下一帧在滑动窗中的窗口索引值。即
WindowIndex=WindowIndex+1
WindowIndex=WindowIndex%N
本发明通过将环形滑动窗应用于视频编码器,运用环形滑动窗平滑每帧的编码比特数,平滑不下时就丢弃当前帧,如果不需丢弃当前帧,就运用滑动窗得到当前帧的目标编码比特数进行编码后更新环形滑动窗,不需要对多种因素全面考虑,判断条件也简单有效,能较好的调整码字分配,尽可能平滑码流,避免流量突变,达到了计算量小,并且编码过程效果好的目的。
Claims (6)
1、一种视频编码帧级码率的控制方法,其特征在于,包括以下步骤:
(1)获取一帧图像的额定编码比特数,并为环形滑动窗的所有元素进行赋值;
(2)计算当前帧在环形滑动窗内允许的编码比特数,并根据该允许的编码比特数与额定编码比特数的差判断是否对当前帧的数据进行编码,如果判断结果为是,则进入步骤(3);如果判断结果为否,步骤结束;
(3)获取当前帧的目标编码比特数对当前帧的数据进行编码后,更新环形滑动窗。
2、按照权利要求1所述的视频编码帧级码率的控制方法,其特征在于,所述步骤(1)具体为:
(11)将视频码率除以帧频来获取一帧图像的额定编码比特数;
(12)使用该额定编码比特数给环形滑动窗的所有元素进行赋值。
3、按照权利要求2所述的视频编码帧级码率的控制方法,其特征在于,所述步骤(2)具体为:
(21)计算当前帧在环形滑动窗内允许的编码比特数,并计算该允许的编码比特数与额定编码比特数的差值;
(22)将该差值与修正加权值作乘积后,判断是否小于预设的丢帧的阈值,如果不小于,则判定需要对当前帧的数据进行编码,进入步骤(3);如果小于,则丢弃当前帧,步骤结束。
4、按照权利要求3所述的视频编码帧级码率的控制方法,其特征在于,步骤(21)中所述计算当前帧在环形滑动窗内允许的编码比特数的方法为:
(A)通过累加环形滑动窗内元素的值来获取当前帧之前所有帧的实际编码比特数的和;
(B)将所述步骤(A)中获取的和与环形滑动窗中保存的第一帧图像的实际编码比特数做差值;
(C)将当前帧之前所有帧的额定编码比特数的和减去所述步骤(B)中的差值,来获取当前帧在环形滑动窗内允许的编码比特数。
5、按照权利要求3或4所述的视频编码帧级码率的控制方法,其特征在于,所述步骤(3)具体为:
(31)将当前帧的额定编码比特数与所述步骤(22)中得到的乘积值作和,来获取当前帧的目标编码比特数;
(32)根据该目标编码比特数对当前帧的数据进行编码后,更新环形滑动窗。
6、按照权利要求5所述的视频编码帧级码率的控制方法,其特征在于,步骤(32)中所述更新环形滑动窗的方法为:将当前帧编出的比特数替换掉滑动窗口内当前元素的值,并将当前帧的编码后将索引值加1再模N,获取下一帧在滑动窗中的窗口索引值;
其中,所述的N为当前帧之前的所有帧个数的和。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200610145809 CN100531391C (zh) | 2006-11-17 | 2006-11-17 | 视频编码中帧级码率的控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200610145809 CN100531391C (zh) | 2006-11-17 | 2006-11-17 | 视频编码中帧级码率的控制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1964494A true CN1964494A (zh) | 2007-05-16 |
CN100531391C CN100531391C (zh) | 2009-08-19 |
Family
ID=38083333
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200610145809 Active CN100531391C (zh) | 2006-11-17 | 2006-11-17 | 视频编码中帧级码率的控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100531391C (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102724502A (zh) * | 2012-06-11 | 2012-10-10 | 华为技术有限公司 | 一种视频编码中码率的控制方法及装置 |
CN103002287A (zh) * | 2012-12-06 | 2013-03-27 | 深圳广晟信源技术有限公司 | 视频单元的复杂度生成方法及装置 |
CN103002285A (zh) * | 2012-12-06 | 2013-03-27 | 深圳广晟信源技术有限公司 | 视频单元的复杂度生成方法及装置 |
CN111953978A (zh) * | 2020-07-07 | 2020-11-17 | 西安万像电子科技有限公司 | 帧率控制方法、装置及存储介质 |
CN113489981A (zh) * | 2021-07-06 | 2021-10-08 | 电子科技大学 | 一种考虑时域率失真优化的零延迟码率控制方法 |
-
2006
- 2006-11-17 CN CN 200610145809 patent/CN100531391C/zh active Active
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102724502A (zh) * | 2012-06-11 | 2012-10-10 | 华为技术有限公司 | 一种视频编码中码率的控制方法及装置 |
CN102724502B (zh) * | 2012-06-11 | 2015-08-19 | 华为技术有限公司 | 一种视频编码中码率的控制方法及装置 |
CN103002287A (zh) * | 2012-12-06 | 2013-03-27 | 深圳广晟信源技术有限公司 | 视频单元的复杂度生成方法及装置 |
CN103002285A (zh) * | 2012-12-06 | 2013-03-27 | 深圳广晟信源技术有限公司 | 视频单元的复杂度生成方法及装置 |
CN103002285B (zh) * | 2012-12-06 | 2015-07-08 | 深圳广晟信源技术有限公司 | 视频单元的复杂度生成方法及装置 |
CN103002287B (zh) * | 2012-12-06 | 2015-09-02 | 深圳广晟信源技术有限公司 | 视频单元的复杂度生成方法及装置 |
CN111953978A (zh) * | 2020-07-07 | 2020-11-17 | 西安万像电子科技有限公司 | 帧率控制方法、装置及存储介质 |
CN113489981A (zh) * | 2021-07-06 | 2021-10-08 | 电子科技大学 | 一种考虑时域率失真优化的零延迟码率控制方法 |
CN113489981B (zh) * | 2021-07-06 | 2023-02-03 | 电子科技大学 | 一种考虑时域率失真优化的零延迟码率控制方法 |
Also Published As
Publication number | Publication date |
---|---|
CN100531391C (zh) | 2009-08-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101658035B (zh) | 用于质量受控编码的方法和系统 | |
KR100357689B1 (ko) | 일관된 화질을 가지는 실시간 가변 비트율 엠펙 비디오전송 시스템 | |
CN101171844A (zh) | 视频速率控制中的上下文自适应带宽调整 | |
CN101252689B (zh) | 一种自适应的码率控制方法 | |
CN108235016B (zh) | 一种码率控制方法及装置 | |
CN101647278B (zh) | 用于视频编码标准的改进的视频速率控制 | |
KR100304103B1 (ko) | 비트율이급변되는재양자화계단크기선택방법및그를이용한비트율제어방법 | |
CN100531391C (zh) | 视频编码中帧级码率的控制方法 | |
EP0758510A1 (en) | Method, rate controller, and system for preventing overflow and underflow of a decoder buffer | |
CN101552917A (zh) | 一种视频压缩码率控制方法 | |
CN102761741B (zh) | 基于编解码端缓存的视频编码码率控制系统和方法 | |
CN101233761A (zh) | 在编码器中提供一次性速率控制的系统和方法 | |
WO2015095166A2 (en) | Producing an output need parameter for an encoder | |
CN100563338C (zh) | 一种恒定码率的控制方法 | |
CN105516721A (zh) | 一种视频编码器及其码率控制方法 | |
Assuncao et al. | Buffer analysis and control in CBR video transcoding | |
CN105187832B (zh) | 基于2.5g无线网络移动视频码率控制方法 | |
EP1157560B1 (en) | Bit rate control for video data compression | |
CN100442848C (zh) | 一种h263编码中码率的控制方法 | |
KR100498332B1 (ko) | 비디오 트랜스코더의 적응적 비트율 제어장치 및 방법 | |
CN102724507A (zh) | 一种gpu加速编码器码率控制方法 | |
CN100425079C (zh) | 基于低内存消耗查询表的视频压缩码率控制方法 | |
CN114071142A (zh) | 一种基于硬件编码器的码率控制方法及设备 | |
CN100563336C (zh) | 一种基于手机电视的恒定码率控制方法 | |
CN101360229B (zh) | 一种图像码流的平滑方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |