CN104754335B - 一种视频编码码率控制方法 - Google Patents

一种视频编码码率控制方法 Download PDF

Info

Publication number
CN104754335B
CN104754335B CN201510102199.3A CN201510102199A CN104754335B CN 104754335 B CN104754335 B CN 104754335B CN 201510102199 A CN201510102199 A CN 201510102199A CN 104754335 B CN104754335 B CN 104754335B
Authority
CN
China
Prior art keywords
index
complex
frame image
current frame
predict
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
CN201510102199.3A
Other languages
English (en)
Other versions
CN104754335A (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.)
Hunan Goke Microelectronics Co Ltd
Original Assignee
Hunan Goke Microelectronics 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 Hunan Goke Microelectronics Co Ltd filed Critical Hunan Goke Microelectronics Co Ltd
Priority to CN201510102199.3A priority Critical patent/CN104754335B/zh
Publication of CN104754335A publication Critical patent/CN104754335A/zh
Application granted granted Critical
Publication of CN104754335B publication Critical patent/CN104754335B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本发明公开了一种视频编码码率控制方法,在编码当前帧图像的过程中,计算当前帧图像每一个宏块的特征值;计算与当前帧图像同类型的上一帧图像的预测复杂度和复杂程度;利用上一帧图像的预测复杂度和复杂程度计算当前帧图像的复杂程度结合当前帧图像的复杂程度、虚拟参考编码器以及目标码率,计算当前帧图像的QP_INDEX;得到QP_INDEX后,把当前帧图像的帧级别的QP_INDEX值变化成一个等差数列的QP_INDEX值表,从而量化当前帧图像的宏块。本发明方法实现简单,且对于运动场景有着比较好的关联度,能直接应用于视频编码器。

Description

一种视频编码码率控制方法
技术领域
本发明涉及一种视频编码码率控制方法。
背景技术
由于信道带宽和编码传输实时性,以及编解码器对缓冲区的要求,码率控制在编码器中至关重要,一个好的码率控制方案,在网络实时传输和视频质量控制,以及编解码器的成本控制上,能够发挥积极的作用。码率控制通过动态地调整编码参数,使得输出码率符合目标码率的要求,影响码率的主要因素有:编码模式、帧率、量化参数QP(取值为0~51)和编码帧复杂度。量化参数QP大小的选取是影响码率最关键的因素。QP越小,说明大部分细节内容就能被保留,图像比较精细,但当前帧的码率升高;QP越大,说明一些细节信息就会丢失,图像失真增加、视频图像质量下降,但当前帧的码率降低。其关系可以由图1,图2所示。在编码的码率控制过程中,根据目标码率和当前已经编码的图像,预测即将编码的图像复杂程度,选取合适的量化参数QP,成为码率控制的关键技术。
尽管码率控制算法本身不是视频编码的标准部分,但基于其在实际视频编码系统中的重要作用,各种视频编码标准都推荐了相应的码率控制算法,如MPEG-2的TM5、H.263的TMN8等。这些算法已经比较成熟,并在具体应用中取得了不错的效果。随着新的编码标准压缩率越来越高,伴随着的是编码复杂度也越来越高。因此,对于图像的复杂程度的估算的难度也越来越大,选择适当的量化参数也就变得十分困难,即便选取了比较合适的QP参数,但是由于一帧当中的图像细节各有不同,粗糙的QP选择也会使得在同一帧图像中,细节表现很差,观看者主观视觉上得不到优秀的体验。现有标准的经典码率控制算法很难直接应用于越来越先进的视频编码器。
发明内容
本发明所要解决的技术问题是,针对现有技术不足,提供一种视频编码码率控制方法。
为解决上述技术问题,本发明所采用的技术方案是:一种视频编码码率控制方法,包括以下步骤:
1)在编码当前帧图像的过程中,计算当前帧图像每一个宏块的特征值Taint;
2)计算与当前帧图像同类型的上一帧图像的预测复杂度complex_predict_F1和复杂程度complex_prospect_F1;
3)利用上一帧图像的预测复杂度complex_predict_F1和复杂程度complex_prospect_F1计算当前帧图像的复杂程度complex_predict_F;
4)结合当前帧图像的复杂程度complex_predict_F、虚拟参考编码器以及目标码率,计算当前帧图像的帧级别的量化参数QP_INDEX;
5)当QP_INDEX≥2时,把当前帧图像的帧级别的量化参数QP_INDEX值变化成一个等差数列的QP_INDEX值表:(QP_INDEX-2,QP_INDEX-1,QP_INDEX,QP_INDEX+1,QP_INDEX+2),从而量化当前帧图像的宏块;所述等差数列的QP_INDEX值表如下:
QP_INDEX-2 Taint值最小的10%的宏块
QP_INDEX-1 Taint值较小的20%的宏块
QP_INDEX Taint值大小处于中间的40%的宏块
QP_INDEX+1 Taint值较大的20%的宏块
QP_INDEX+2 Taint值最大的10%的宏块
当QP_INDEX=0时,把当前帧图像的帧级别的量化参数QP_INDEX值变化成一个等差数列的QP_INDEX值表:(QP_INDEX,QP_INDEX+1,QP_INDEX+2,QP_INDEX+3,QP_INDEX+4),从而量化当前帧图像的宏块;所述等差数列的QP_INDEX值表如下:
QP_INDEX Taint值最小的10%的宏块
QP_INDEX+1 Taint值较小的20%的宏块
QP_INDEX+2 Taint值大小处于中间的40%的宏块
QP_INDEX+3 Taint值较大的20%的宏块
QP_INDEX+4 Taint值最大的10%的宏块
当QP_INDEX=1时,把当前帧图像的帧级别的量化参数QP_INDEX值变化成一个等差数列的QP_INDEX值表:(QP_INDEX-1,QP_INDEX,QP_INDEX+1,QP_INDEX+2,QP_INDEX+3),从而量化当前帧图像的宏块,实现宏块级别的码率控制;所述等差数列的QP_INDEX值表如下:
QP_INDEX-1 Taint值最小的10%的宏块
QP_INDEX Taint值较小的20%的宏块
QP_INDEX+1 Taint值大小处于中间的40%的宏块
QP_INDEX+2 Taint值较大的20%的宏块
QP_INDEX+3 Taint值最大的10%的宏块
优选地,宏块的特征值Taint的计算过程包括以下步骤:
1)把一个宏块分为16个小块,每一个小块即是一个4x4的矩阵,每一个4x4的矩阵和对应的参考块取绝对差值后,进行哈达玛变换,形成一个系数矩阵,因此一个宏块会有16个4x4的系数矩阵,把每一个4x4的系数矩阵的AC系数分为AC高频块、AC低频块,同时把16个小块的DC系数组成一个4x4的DC系数矩阵,将所述DC系数矩阵分为DC高频块、DC低频块;
2)分别将一个宏块内的所有AC高频块系数相加,并将所有AC高频块的和相加,得到AC高频和SUM_AC_H,同理得到AC低频和SUM_AC_L;将所述DC高频块中的所有系数相加,得到DC高频和SUM_DC_H,同理得到DC低频和SUM_DC_L;
3)利用下式计算宏块的特征值Taint:
Taint=(SUM_AC_Lx0.5+SUM_AC_H)/(SUM_DC_L+SUM_DC_Hx0.5)。
上述宏块的特征值Taint的计算方法简单,且能准确估计特征值。
优选地,complex_prospect_F1计算公式为:complex_prospect_F1=cabac_bitsxQP_INDEX;其中,cabac_bits为所述上一帧图像熵编码后产生的bit数;当前帧图像的复杂程度complex_predict_F的计算方法为:
若当前帧图像是某种类型帧的第一帧,则complex_predict_F=complex_prospect_F1;否则,对于I帧、P帧、B帧三种不同类型的图像,利用下式计算当前帧图像的复杂程度complex_predict_F:
I帧:complex_predict_F=(complex_predict_F1+complex_prospect_F1)/2;
P帧:complex_predict_F=(3*complex_predict_F1+complex_prospect_F1)/M;
B帧:complex_predict_F=(7*complex_predict_F1+complex_prospect_F1)/N;
其中,M=2~6;N=5~12。
本发明的复杂程度计算方法简单易实现,能准确估计图像的复杂程度,从而使得码率控制更加精确,
优选地,M=4;N=8;更准确地估算P帧和B帧类型下的图像的复杂程度。
与现有技术相比,本发明所具有的有益效果为:本发明编码帧的每一个宏块mb根据其特征值被分到不同区间,对应着不同的量化参数,实现比较精确的宏块级别码率控制;通过前一帧的complex_prospect_F1和complex_predict_F1来预测当前帧的复杂程度,算法简单,容易实现,而且complex_predict_F1在预测的权重上更大,对于码率的收敛效果更好;本发明方法实现简单,且对于运动场景有着比较好的关联度,能直接应用于视频编码器。
附图说明
图1为码率与量化参数的关系;
图2为码率与图像复杂度的关系;
图3为本发明一实施例AC高频块示意图;
图4为本发明一实施例AC低频块示意图;
图5为本发明一实施例DC高频块示意图;
图6为本发明一实施例DC低频块示意图;
图7为本发明一实施例QP计算和复杂度预测的流程。
具体实施方式
本发明方法具体实现过程如下:
(1)在编码当前帧的过程中,对每一个宏块,根据以下的计算方法,计算宏块的特征值Taint。计算方法:
1)把一个宏块分为16个block,每一个block即是一个4x4的矩阵,每一个4x4的矩阵和对应的参考块取绝对差值后,进行哈达玛变换,形成一个系数矩阵,因此一个宏块就会有16个4x4的系数矩阵。把每一个4x4的矩阵的AC系数按照图3、图4分为AC高频块、AC低频块。同时把16个小块的DC系数组成一个4x4的DC系数矩阵,将所述DC系数矩阵分为DC高频块、DC低频块;
2)分别将一个宏块内的所有AC高频块系数相加,并将所有AC高频块的和相加,得到AC高频和SUM_AC_H,同理得到AC低频和SUM_AC_L;将所述DC高频块中的所有系数相加,得到DC高频和SUM_DC_H,同理得到DC低频和SUM_DC_L;
3)宏块的Taint值:
Taint=(SUM_AC_Lx0.5+SUM_AC_H)/(SUM_DC_L+SUM_DC_Hx0.5)。
(2)当前编码帧F的预测复杂度complex_predict_F得到以后,结合HRD以及目标码率,便可以参与F的帧级别的QP_INDEX的计算;
(3)当前编码帧F的复杂程度是由上一个同类型帧F1的信息预测而得。所需的F1的信息有两个:第一,是F1的实际编码过程中获得的预测复杂度complex_predict_F1;第二,是从F1的前一同类型的编码帧F2直接预测得到的复杂程度complex_prospect_F1。
(4)F1的complex_prospect_F1值的计算方法。首先得到F1熵编码后产生bit数cabac_bits,再由F1的帧级QP_INDEX的值,计算出F1的complex_prospect_F1:complex_prospect_F1=cabac_bitsxQP_INDEX;
(5)当前编码帧F的预计复杂度complex_predict_F是由同类型的前一编码帧F1的complex_prospect_F1和complex_predict_F1得出,如果是该类型帧的第一帧,则complex_predict_F=complex_prospect_F1,否则具体计算方式如下:
I帧:complex_predict_F=(complex_predict_F1+complex_prospect_F1)/2;
P帧:complex_predict_F=(3*complex_predict_F1+complex_prospect_F1)/4;
B帧:complex_predict_F=(7*complex_predict_F1+complex_prospect_F1)/8;
(6)当QP_INDEX≥2时,把当前帧图像的帧级别的量化参数QP_INDEX值变化成一个等差数列的QP_INDEX值表:(QP_INDEX-2,QP_INDEX-1,QP_INDEX,QP_INDEX+1,QP_INDEX+2),从而量化当前帧图像的宏块;所述等差数列的QP_INDEX值表如下:
QP_INDEX-2 Taint值最小的10%的宏块
QP_INDEX-1 Taint值较小的20%的宏块
QP_INDEX Taint值大小处于中间的40%的宏块
QP_INDEX+1 Taint值较大的20%的宏块
QP_INDEX+2 Taint值最大的10%的宏块
当QP_INDEX=0时,把当前帧图像的帧级别的量化参数QP_INDEX值变化成一个等差数列的QP_INDEX值表:(QP_INDEX,QP_INDEX+1,QP_INDEX+2,QP_INDEX+3,QP_INDEX+4),从而量化当前帧图像的宏块;所述等差数列的QP_INDEX值表如下:
QP_INDEX Taint值最小的10%的宏块
QP_INDEX+1 Taint值较小的20%的宏块
QP_INDEX+2 Taint值大小处于中间的40%的宏块
QP_INDEX+3 Taint值较大的20%的宏块
QP_INDEX+4 Taint值最大的10%的宏块
当QP_INDEX=1时,把当前帧图像的帧级别的量化参数QP_INDEX值变化成一个等差数列的QP_INDEX值表:(QP_INDEX-1,QP_INDEX,QP_INDEX+1,QP_INDEX+2,QP_INDEX+3),从而量化当前帧图像的宏块,实现宏块级别的码率控制;所述等差数列的QP_INDEX值表如下:
QP_INDEX-1 Taint值最小的10%的宏块
QP_INDEX Taint值较小的20%的宏块
QP_INDEX+1 Taint值大小处于中间的40%的宏块
QP_INDEX+2 Taint值较大的20%的宏块
QP_INDEX+3 Taint值最大的10%的宏块
量化参数计算和复杂度预测的流程如图7。

Claims (4)

1.一种视频编码码率控制方法,其特征在于,包括以下步骤:
1)在编码当前帧图像的过程中,计算当前帧图像每一个宏块的特征值Taint;宏块的特征值Taint的计算过程包括以下步骤:
1a)把一个宏块分为16个小块,每一个小块即是一个4x4的矩阵,每一个4x4的矩阵和对应的参考块取绝对差值后,进行哈达玛变换,形成一个系数矩阵,因此一个宏块会有16个4x4的系数矩阵,把每一个4x4的系数矩阵的AC系数分为AC高频块、AC低频块,同时把16个小块的DC系数组成一个4x4的DC系数矩阵,将所述DC系数矩阵分为DC高频块、DC低频块;
1b)分别将一个宏块内的所有AC高频块系数相加,并将所有AC高频块的和相加,得到AC高频和SUM_AC_H,同理得到AC低频和SUM_AC_L;将所述DC高频块中的所有系数相加,得到DC高频和SUM_DC_H,同理得到DC低频和SUM_DC_L;
1c)利用下式计算宏块的特征值Taint:
Taint=(SUM_AC_Lx0.5+SUM_AC_H)/(SUM_DC_L+SUM_DC_Hx0.5);
2)计算与当前帧图像同类型的上一帧图像的预测复杂度complex_predict_F1和复杂程度complex_prospect_F1;
3)利用上一帧图像的预测复杂度complex_predict_F1和复杂程度complex_prospect_F1
计算当前帧图像的复杂程度complex_predict_F;
4)结合当前帧图像的复杂程度complex_predict_F、虚拟参考编码器以及目标码率,计算当前帧图像的帧级别的量化参数QP_INDEX;
5)当QP_INDEX≥2时,把当前帧图像的帧级别的量化参数QP_INDEX值变化成一个等差数列的QP_INDEX值表:(QP_INDEX-2,QP_INDEX-1,QP_INDEX,QP_INDEX+1,QP_INDEX+2),从而量化当前帧图像的宏块;所述等差数列的QP_INDEX值表如下:
当QP_INDEX=0时,把当前帧图像的帧级别的量化参数QP_INDEX值变化成一个等差数列的QP_INDEX值表:(QP_INDEX,QP_INDEX+1,QP_INDEX+2,QP_INDEX+3,QP_INDEX+4),从而量化当前帧图像的宏块;所述等差数列的QP_INDEX值表如下:
当QP_INDEX=1时,把当前帧图像的帧级别的量化参数QP_INDEX值变化成一个等差数列的QP_INDEX值表:(QP_INDEX-1,QP_INDEX,QP_INDEX+1,QP_INDEX+2,QP_INDEX+3),从而量化当前帧图像的宏块,实现宏块级别的码率控制;所述等差数列的QP_INDEX值表如下:
2.根据权利要求1所述的视频编码码率控制方法,其特征在于,complex_prospect_F1计算公式为:complex_prospect_F1=cabac_bitsxQP_INDEX;其中,cabac_bits为所述上一帧图像熵编码后产生的bit数。
3.根据权利要求2所述的视频编码码率控制方法,其特征在于,当前帧图像的复杂程度complex_predict_F的计算方法为:
若当前帧图像是某种类型帧的第一帧,则complex_predict_F=complex_prospect_F1;否则,对于I帧、P帧、B帧三种不同类型的图像,利用下式计算当前帧图像的复杂程度complex_predict_F:
I帧:complex_predict_F=(complex_predict_F1+complex_prospect_F1)/2;
P帧:complex_predict_F=(3*complex_predict_F1+complex_prospect_F1)/M;
B帧:complex_predict_F=(7*complex_predict_F1+complex_prospect_F1)/N;
其中,M=2~6;N=5~12。
4.根据权利要求3所述的视频编码码率控制方法,其特征在于,M=4;N=8。
CN201510102199.3A 2015-03-09 2015-03-09 一种视频编码码率控制方法 Active CN104754335B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510102199.3A CN104754335B (zh) 2015-03-09 2015-03-09 一种视频编码码率控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510102199.3A CN104754335B (zh) 2015-03-09 2015-03-09 一种视频编码码率控制方法

Publications (2)

Publication Number Publication Date
CN104754335A CN104754335A (zh) 2015-07-01
CN104754335B true CN104754335B (zh) 2016-03-02

Family

ID=53593357

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510102199.3A Active CN104754335B (zh) 2015-03-09 2015-03-09 一种视频编码码率控制方法

Country Status (1)

Country Link
CN (1) CN104754335B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106488234B (zh) * 2015-08-26 2019-06-11 芯原微电子(上海)股份有限公司 Hevc编码单元级码率控制的实现装置及方法
CN109076212A (zh) * 2017-12-27 2018-12-21 深圳市大疆创新科技有限公司 码率控制的方法与编码装置
CN111193927B (zh) 2018-11-14 2022-09-23 腾讯科技(深圳)有限公司 编码数据处理方法、装置、计算机设备和存储介质
CN111416978B (zh) * 2020-04-29 2022-06-07 随锐科技集团股份有限公司 视频编解码方法及系统、计算机可读存储介质
CN112422964B (zh) * 2020-10-30 2024-05-17 西安万像电子科技有限公司 一种渐进式编码方法及装置
CN113660487B (zh) * 2021-07-02 2024-03-19 珠海全志科技股份有限公司 用于为帧图像分配对应比特数的参数确定方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2200322A1 (en) * 2008-12-22 2010-06-23 Thomson Licensing Method and device for estimating a bit rate required for encoding a block of an image
CN102647586A (zh) * 2011-02-16 2012-08-22 富士通株式会社 用在视频编码系统中的码率控制方法和装置
CN102892004A (zh) * 2012-10-16 2013-01-23 天津大学 一种多视点视频编码码率控制方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9215466B2 (en) * 2011-01-31 2015-12-15 Apple Inc. Joint frame rate and resolution adaptation

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2200322A1 (en) * 2008-12-22 2010-06-23 Thomson Licensing Method and device for estimating a bit rate required for encoding a block of an image
CN102647586A (zh) * 2011-02-16 2012-08-22 富士通株式会社 用在视频编码系统中的码率控制方法和装置
CN102892004A (zh) * 2012-10-16 2013-01-23 天津大学 一种多视点视频编码码率控制方法

Also Published As

Publication number Publication date
CN104754335A (zh) 2015-07-01

Similar Documents

Publication Publication Date Title
CN104754335B (zh) 一种视频编码码率控制方法
CN101395923B (zh) 用于在图像信号编码中为图像中的像素块组确定比特分配的方法及设备
CN100562116C (zh) 一种面向多视点视频的码率控制方法
CN101534436B (zh) 一种视频图像宏块级自适应码率分配方法
CN104219522B (zh) 一种视频图像编码中的码率控制方法及装置
CN105681793B (zh) 基于视频内容复杂度自适应的极低延迟高性能视频编码帧内码率控制方法
CN106231320B (zh) 一种支持多机并行编码的联合码率控制方法及系统
CN104469367B (zh) 基于丢帧和量化参数调整的视频码率控制方法
CN101945275A (zh) 一种基于感兴趣区域的视频编码方法
CN108200431B (zh) 一种视频编码码率控制帧层比特分配方法
CN104185024B (zh) 一种基于总码率与信息熵模型的hevc量化参数优化方法
CN106791848B (zh) 一种基于HEVC的Two-Pass码率控制方法
CN107071422B (zh) 基于图像相关模型的低复杂度hevc码率适配转换编码方法
CN101262603B (zh) 一种自适应码率控制方法
CN103634601B (zh) 基于结构相似度的高效视频编码感知码率控制优化方法
CN107257464B (zh) 基于Sobel算子和线性回归的高清视频编码码率控制方法
CN103533359A (zh) 一种h.264码率控制方法
US9955168B2 (en) Constraining number of bits generated relative to VBV buffer
CN103096048B (zh) 一种可伸缩视频编码量化参数确定方法及装置
CN100563338C (zh) 一种恒定码率的控制方法
CN103945222A (zh) 一种基于hevc视频编码标准的码率控制模型更新方法
CN106412611B (zh) 一种高效视频编码的复杂度控制方法
CN104767999A (zh) 一种基于失真测量的hevc码率控制模型参数更新算法
CN104113761B (zh) 一种视频编码中的码率控制方法及编码器
CN101335891A (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
CB02 Change of applicant information

Address after: 410125 Hunan, Changsha economic and Technological Development Zone, the east side of the south section of the No. ten road, Tong Tong Street, No.

Applicant after: GOKE MICROELECTRONICS CO., LTD.

Address before: 410125 No. 9, East ten, South Road, Changsha economic and Technological Development Zone, Hunan

Applicant before: Hunan Guoke Microelectronics Co., Ltd.

COR Change of bibliographic data
C14 Grant of patent or utility model
GR01 Patent grant
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20150701

Assignee: Shandong industry research information and Artificial Intelligence Integration Research Institute Co.,Ltd.

Assignor: HUNAN GOKE MICROELECTRONICS Co.,Ltd.

Contract record no.: X2021430000001

Denomination of invention: A rate control method for video coding

Granted publication date: 20160302

License type: Common License

Record date: 20210115

EE01 Entry into force of recordation of patent licensing contract