CN104469367B - 基于丢帧和量化参数调整的视频码率控制方法 - Google Patents
基于丢帧和量化参数调整的视频码率控制方法 Download PDFInfo
- Publication number
- CN104469367B CN104469367B CN201410785427.7A CN201410785427A CN104469367B CN 104469367 B CN104469367 B CN 104469367B CN 201410785427 A CN201410785427 A CN 201410785427A CN 104469367 B CN104469367 B CN 104469367B
- Authority
- CN
- China
- Prior art keywords
- frame
- rate control
- next frame
- rate
- video
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/266—Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
- H04N21/2662—Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明公开了一种基于丢帧和量化参数调整的视频码率控制方法,在编码器对每帧视频内容编码结束后,根据该帧产生的比特数、所使用的量化参数、缓冲区状态和累计多消耗的比特数的信息,判断是否需要跳过对下一帧的编码,如果确定下一帧需要编码,计算下一帧的目标比特数,继而通过一定方法计算出编码下一帧应使用的量化参数,对下一帧进行编码,比传统的码率·QP模型,准确可靠,从而保证视频编码器输出码率和信道带宽相匹配,保证编码质量,具有良好的应用前景。
Description
技术领域
本发明涉及一种基于丢帧和量化参数调整的视频码率控制方法,属于视频编码技术领域。
背景技术
在视频通信、视频流媒体直播等多种多媒体应用中,码率控制都是非常关键的一个模块。它被用来使编码器产生的比特率和信道带宽相匹配,并在此基础上尽量保证图像失真最小,因此,码率控制主要受到信道带宽条件和视频内容两方面的制约,具体如下,
一方面,信道传输带宽通常不是恒定的,尤其对于无线3G信道,其的网络带宽通常是时变的,这便要求编码器能够及时根据实时带宽的变化实时来调节输出视频的码率;
另一方面,视频的内容也千变万化,根据信息论,纹理丰富、运动剧烈的视频内容所携带的信息量比较大,编码所需的比特数也相应较多;反之,对于纹理平坦、运动简单的视频内容,编码所需的比特数也相应较少。
因此,编码器要根据目标比特率和视频内容的复杂性,及时调整编码策略,以保证编码出的比特流和信道带宽相匹配。在实时视频通信应用中,如果无法做到精确的码率控制,将可能出现编出的实际码率大于信道承受能力的情况,后果是视频图像的传输延时大大增加,或者发生丢包导致对方无法正确解码,严重者,整个通信应用将瘫痪。
目前,码率的控制过程可以分为两步进行:第一步为位分配,即根据目标码率以及缓冲区状态,为每一帧图像分配一定的比特数;第二步通过调整量化参数使得编码该帧图像所用的比特数接近分配给该帧的比特数,从而达到目标码率,通常可以在宏块(macroblock)、组块(slice)或帧级(frame)进行量化参数调整以产生所需要的编码码流,典型算法包括如MPEG-2的TM5[TM 94],H.263的TMN8[Corbera 97],MPEG-4的VM8[Lee 00]等。
但是,以上算法大多不适用于实时通信应用,它们都没有丢帧逻辑。比如,在视频通信中,如果场景急剧发生变化,即时码率会发生陡增,导致传输缓冲内容也急剧增加,这时需要跳过一些帧以保证较低的传输延时;另一方面,实际应用中,通常有最低画质要求,在上述情景下,如果不丢帧,即使以最低画质编码,也无法达到目标码率。
发明内容
本发明的目的克服现有的视频码率控制过程,使用的典型算法,没有丢帧逻辑,不适用于实时通信应用,无法达到目标码率的问题。本发明的基于丢帧和量化参数调整的视频码率控制方法,比传统的码率-QP模型,准确可靠,保证视频编码器输出码率和信道带宽相匹配,保证编码质量,具有良好的应用前景。
为了达到上述目的,本发明采用的技术方案为,
一种基于丢帧和量化参数调整的视频码率控制方法,其特征在于:包括以下步骤,
步骤(1),启动编码器,对码率控制模块初始化;
步骤(2),在编码器对每帧视频内容编码结束后,计算本帧编码产生的实际比特数CurrentBits和平均量化参数QPcurrent,若本帧被跳过没有进行编码,则其的实际比特数CurrentBits=0;
步骤(3),根据公式(1)、(2)实时更新码率控制模块内的缓冲区状态、累计超出目标码率的总比特数,
Bufferlevel=Bufferlevel0+CurrentBits-AverageBits (1)
OverBits=OverBits0+CurrentBits-AverageBits (2)
其中,Bufferlevel为码率控制模块内缓冲区的当前状态、Bufferlevel0为码率控制模块内缓冲区的前一状态、OverBits为当前累计超出目标码率的总比特数、OverBits0为前一累计超出目标码率的总比特数、AverageBit为每帧的平均比特数,信道码率除以视频帧率得到;
步骤(4),根据计算码率控制模块内缓冲区的当前状态Bufferlevel,判断是否需要对下一帧进行编码,若Bufferlevel大于缓冲区的上溢阈值,则跳过下一帧的编码,进入步骤(2);否则,进入步骤(5)-步骤(7);
步骤(5),根据公式(3),计算下一帧的目标比特数TargetBits,
TargetBits=(AverageBits*Windowsize-OverBits)/Windowsize (3)
其中,Windowsize为码率控制模块的平滑窗宽度;
步骤(6),根据公式(4),计算下一帧的编码参数QP
QP=QPcurrent+ΔQP (4),
其中,ΔQP为下一帧编码参数QP与当前QP的差值,根据公式(5)得到,
ΔQP=((log(TargetBits)-log(CurrentBits))*α (5)
其中,α系数控制码率控制的灵敏度,在-5.0~-1.0之间;
步骤(7),根据步骤(6)计算的下一帧编码参数QP,对下一帧进行编码后,返回步骤(2)。
前述的基于丢帧和量化参数调整的视频码率控制方法,其特征在于:所述缓冲区的上溢阈值为Threshold,根据公式(6)得到,
Threshold=Windowsize*AverageBits (6)
其中,Windowsize=视频帧率除以A,A常数系数在0~10之间,A越大,码率平滑要求越严格。
本发明的有益效果是:本发明的基于丢帧和量化参数调整的视频码率控制方法,在编码器对每帧视频内容编码结束后,根据该帧产生的比特数、所使用的量化参数、缓冲区状态和累计多消耗的比特数的信息,判断是否需要跳过对下一帧的编码,如果确定下一帧需要编码,计算下一帧的目标比特数,继而通过一定方法计算出编码下一帧应使用的量化参数,对下一帧进行编码,比传统的码率-QP模型,准确可靠,从而保证视频编码器输出码率和信道带宽相匹配,保证编码质量,具有良好的应用前景。
附图说明
图1是本发明基于丢帧和量化参数调整的视频码率控制方法的流程图。
具体实施方式
下面将结合说明书附图,以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
本发明的基于丢帧和量化参数调整的视频码率控制方法,在编码器对每帧视频内容编码结束后,根据该帧产生的比特数、所使用的量化参数、缓冲区状态和累计多消耗的比特数的信息,判断是否需要跳过对下一帧的编码,如果确定下一帧需要编码,计算下一帧的目标比特数,继而通过一定方法计算出编码下一帧应使用的量化参数,对下一帧进行编码,比传统的码率-QP模型,准确可靠,从而保证视频编码器输出码率和信道带宽相匹配,保证编码质量,如图l所示,具体包括以下步骤,
步骤(1),启动编码器,对码率控制模块初始化,包括
每帧的平均比特数AverageBits=信道码率/视频帧率;
累计超出目标码率的总比特数OverBits=0;
码率控制模块内的缓冲区状态Bufferlevel=AverageBits;
码率控制模块的平滑窗宽度,Windowsize=视频帧率/A,A常数系数在0~10之间,A越大,码率平滑要求越严格;
缓冲区的上溢阈值阈值Threshold,根据公式(6)得到,
Threshold=Windowsize*AverageBits (6);
步骤(2),在编码器对每帧视频内容编码结束后,计算本帧编码产生的实际比特数CurrentBits和平均量化参数QPcurrent,若本帧被跳过没有进行编码,则其的实际比特数CurrentBits=0;
步骤(3),根据公式(1)、(2)实时更新码率控制模块内的缓冲区状态、累计超出目标码率的总比特数,
Bufferlevel=Bufferlevel0+CurrentBits-AverageBits (1)
OverBits=OverBits0+CurrentBits-AverageBits (2)
Bufferlevel为码率控制模块内缓冲区的当前状态、Bufferlevel0为码率控制模块内缓冲区的前一状态、OverBits为当前累计超出目标码率的总比特数、OverBits0为前一累计超出目标码率的总比特数、AverageBit为每帧的平均比特数,信道码率除以视频帧率得到;
步骤(4),根据计算码率控制模块内缓冲区的当前状态Bufferlevel,判断是否需要对下一帧进行编码,若Bufferlevel大于缓冲区的上溢阈值,则跳过下一帧的编码,返回步骤(2);否则,进入步骤(5)-步骤(7);
步骤(5),根据公式(3),计算下一帧的目标比特数TargetBits,
TargetBits=(AverageBits*Windowsize-OverBits)/Windowsize (3)
其中,Windowsize为码率控制模块的平滑窗宽度;
步骤(6),根据公式(4),计算下一帧的编码参数QP
QP=QPcurrent+ΔQP (4),
其中,ΔQP为下一帧编码参数QP与当前QP的差值,根据公式(5)得到,
ΔQP=((log(TargetBits)-log(CurrentBits))*α
其中,α系数控制码率控制的灵敏度,在-5.0~-1.0之间;
步骤(7),根据步骤(6)计算的下一帧编码参数QP,对下一帧进行编码后,返回步骤(2)。
以上显示和描述了本发明的基本原理、主要特征及优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。
Claims (1)
1.一种基于丢帧和量化参数调整的视频码率控制方法,其特征在于:包括以下步骤,
步骤(1),启动编码器,对码率控制模块初始化;
步骤(2),在编码器对每帧视频内容编码结束后,计算本帧编码产生的实际比特数CurrentBits和平均量化参数QPcurrent,若本帧被跳过没有进行编码,则其的实际比特数CurrentBits=0;
步骤(3),根据公式(1)、(2)实时更新码率控制模块内的缓冲区状态、累计超出目标码率的总比特数,
Bufferlevel=Bufferlevel0+CurrentBits–AverageBits(1)
OverBits=OverBits0+CurrentBits–AverageBits(2)
其中,Bufferlevel为码率控制模块内缓冲区的当前状态、Bufferlevel0为码率控制模块内缓冲区的前一状态、OverBits为当前累计超出目标码率的总比特数、OverBits0为前一累计超出目标码率的总比特数、AverageBit为每帧的平均比特数,AverageBit通过信道码率除以视频帧率得到;
步骤(4),根据计算码率控制模块内缓冲区的当前状态Bufferlevel,判断是否需要对下一帧进行编码,若Bufferlevel大于缓冲区的上溢阈值,则跳过下一帧的编码,进入步骤(2);否则,进入步骤(5)-步骤(7);
步骤(5),根据公式(3),计算下一帧的目标比特数TargetBits,TargetBits=(AverageBits*Windowsize–OverBits)/Windowsize(3)
其中,Windowsize为码率控制模块的平滑窗宽度;
步骤(6),根据公式(4),计算下一帧的编码参数QP
QP=QPcurrent+ΔQP (4),
其中,ΔQP为下一帧编码参数QP与当前QP的差值,根据公式(5)得到,
ΔQP=((log(TargetBits)-log(CurrentBits))*α (5)
其中,α系数控制码率控制的灵敏度,在-5.0~-1.0之间;
步骤(7),根据步骤(6)计算的下一帧编码参数QP,对下一帧进行编码后,返回步骤(2),
所述缓冲区的上溢阈值为Threshold,根据公式(6)得到,
Threshold=Windowsize*AverageBits (6)
其中,Windowsize=视频帧率除以A,A常数系数在0~10之间,A越大,码率平滑要求越严格。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410785427.7A CN104469367B (zh) | 2014-12-16 | 2014-12-16 | 基于丢帧和量化参数调整的视频码率控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410785427.7A CN104469367B (zh) | 2014-12-16 | 2014-12-16 | 基于丢帧和量化参数调整的视频码率控制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104469367A CN104469367A (zh) | 2015-03-25 |
CN104469367B true CN104469367B (zh) | 2017-11-14 |
Family
ID=52914636
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410785427.7A Active CN104469367B (zh) | 2014-12-16 | 2014-12-16 | 基于丢帧和量化参数调整的视频码率控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104469367B (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106331704B (zh) * | 2015-07-07 | 2019-10-22 | 杭州海康威视数字技术股份有限公司 | 一种视频码率控制方法及视频编码装置 |
CN108235016B (zh) * | 2016-12-21 | 2019-08-23 | 杭州海康威视数字技术股份有限公司 | 一种码率控制方法及装置 |
CN106658005B (zh) * | 2016-12-30 | 2019-07-05 | 上海聚力传媒技术有限公司 | 视频编码方法和装置 |
CN110139168B (zh) * | 2018-02-02 | 2021-07-13 | 中南大学 | 视频编码方法、装置、计算机设备及存储介质 |
CN108600794B (zh) * | 2018-05-21 | 2021-03-02 | 深圳市梦网科技发展有限公司 | 一种丢帧率的校正方法、装置及终端 |
WO2020042177A1 (zh) * | 2018-08-31 | 2020-03-05 | 深圳大学 | 视频编码质量平滑度的优化方法、装置、设备及存储介质 |
CN109168013B (zh) * | 2018-09-19 | 2020-09-25 | 广州华多网络科技有限公司 | 一种抽帧的方法、装置、设备及计算机可读存储介质 |
CN111225239A (zh) * | 2018-11-27 | 2020-06-02 | 广州骏视信息科技有限公司 | 一种平衡及优化视频播放流畅度和时延的方法与系统 |
CN112004082B (zh) * | 2019-05-27 | 2022-04-01 | 北京君正集成电路股份有限公司 | 一种双帧作为控制单元的码率控制的优化方法 |
CN113556505B (zh) * | 2020-04-23 | 2022-11-25 | 杭州海康威视数字技术股份有限公司 | 数据处理方法、装置、电子设备及可读存储介质 |
CN112040246B (zh) * | 2020-08-27 | 2022-03-04 | 西安迪威码半导体有限公司 | 一种低时延低复杂度的固定码率控制方法 |
CN114513664B (zh) * | 2022-04-18 | 2022-07-22 | 鹏城实验室 | 视频帧编码方法、装置、智能终端及计算机可读存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1406072A (zh) * | 2001-08-21 | 2003-03-26 | 北京威速科技有限公司 | 视频压缩码率控制方法 |
CN101252689A (zh) * | 2008-02-29 | 2008-08-27 | 杭州爱威芯科技有限公司 | 一种自适应的码率控制方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008154742A1 (en) * | 2007-06-19 | 2008-12-24 | Vantrix Corporation | A buffer-based rate control exploiting frame complexity, buffer level and position of intra frames in video coding |
IT1398196B1 (it) * | 2009-06-25 | 2013-02-14 | St Microelectronics Srl | Controllore dinamico della velocita' di trasmissione indipendente dal gruppo di immagini |
-
2014
- 2014-12-16 CN CN201410785427.7A patent/CN104469367B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1406072A (zh) * | 2001-08-21 | 2003-03-26 | 北京威速科技有限公司 | 视频压缩码率控制方法 |
CN101252689A (zh) * | 2008-02-29 | 2008-08-27 | 杭州爱威芯科技有限公司 | 一种自适应的码率控制方法 |
Non-Patent Citations (2)
Title |
---|
基于MPEG-4的流媒体服务器端缓冲区管理;杨格兰;《多媒体技术及应用》;20070331;第33卷(第5期);全文 * |
支持码率平滑的嵌入式移动视频编码系统;饶雪峰;《计算机工程与设计》;20110616;第32卷(第6期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN104469367A (zh) | 2015-03-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104469367B (zh) | 基于丢帧和量化参数调整的视频码率控制方法 | |
Wang et al. | An efficient frame-content based intra frame rate control for high efficiency video coding | |
RU2349054C1 (ru) | Контекстно-адаптивная регулировка пропускной способности при управлении скоростью передачи видеосигнала | |
CN102630013B (zh) | 基于场景切换的码率控制视频压缩方法和装置 | |
ITBA20130077A1 (it) | Meccanismo per il controllo del bitrate di codifica in un sistema di video streaming adattivo basato su buffer di playout e sulla stima di banda. | |
CN105681793A (zh) | 基于视频内容复杂度自适应的极低延迟高性能视频编码帧内码率控制方法 | |
CN102724510B (zh) | 一种基于虚拟编码缓冲区充盈度的码率控制算法 | |
CN105392001B (zh) | 基于梯度的自适应高性能视频编码码率控制方法 | |
CN104754335B (zh) | 一种视频编码码率控制方法 | |
US20050089092A1 (en) | Moving picture encoding apparatus | |
JP2019512970A5 (zh) | ||
CN102761741A (zh) | 基于编解码端缓存的视频编码码率控制系统和方法 | |
CN100563338C (zh) | 一种恒定码率的控制方法 | |
CN105187832B (zh) | 基于2.5g无线网络移动视频码率控制方法 | |
CN102724507B (zh) | 一种gpu加速编码器码率控制方法 | |
CN100448295C (zh) | 一种低复杂度的积分码率控制方法 | |
CN110971900A (zh) | 一种适用于4k、8k超高清运动平缓视频的码率控制方法 | |
Sanz-Rodríguez et al. | A rate control algorithm for HEVC with hierarchical GOP structures | |
CN100563336C (zh) | 一种基于手机电视的恒定码率控制方法 | |
CN110572661B (zh) | 一种面向4k/8k超高清视频编码的低延时码率控制方法 | |
Wang et al. | Adaptive rate control for dynamic bandwidth in video transcoding | |
CN101854524A (zh) | 甚低码率视频编码器码率控制方法 | |
Usach et al. | Variable frame rate and gop size H. 264 rate control for mobile communications | |
Lu et al. | Efficient rate control for intra-only coding in high efficiency video coding | |
CN110662045B (zh) | 一种面向8k的avs2超高清视频编码码率控制方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
C41 | Transfer of patent application or patent right or utility model | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20161206 Address after: Room 33, No. 100000 Beijing city Haidian District Xiaoying road 3F02 Applicant after: Beijing Jinshanyun Net Technology Co., Ltd. Address before: 210000 Gulou District Nanjing Jiangsu Stone City No. 69 3-302 Applicant before: NANJING QIANYI VIDEO INFORMATION TECHNOLOGY CO., LTD. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |