CN101854524A - 甚低码率视频编码器码率控制方法 - Google Patents
甚低码率视频编码器码率控制方法 Download PDFInfo
- Publication number
- CN101854524A CN101854524A CN200910064533A CN200910064533A CN101854524A CN 101854524 A CN101854524 A CN 101854524A CN 200910064533 A CN200910064533 A CN 200910064533A CN 200910064533 A CN200910064533 A CN 200910064533A CN 101854524 A CN101854524 A CN 101854524A
- Authority
- CN
- China
- Prior art keywords
- frame
- rate control
- control method
- centerdot
- code rate
- 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
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明公开了一种甚低码率视频编码器视频控制方法,它包括I帧码率控制方法和P帧码率控制方法,所述的I帧码率控制方法包括以下步骤:①建立二阶率失真模型;②求取初始量化值;③对目标位数进行分配;④求取量化值。本发明提出一种甚低码率视频编码器码率控制策略,该策略引入二阶码率控制模型实现I帧码率控制,以及引入二阶率失真模型,对I帧码率控制算法中的初始量化值选取、目标位数分配和量化值求取进行了改进。同时改进了原有算法量化值调整策略,使码率控制算法在场景变化时分配合适的量化值。本发明与VMx相比明显提高了码率控制的精度、降低了输出缓冲区延迟、提高了重建图像的整体质量,并且改进了P帧的码率控制算法。
Description
技术领域
本发明属于视频编码中的码率控制领域,具体地说是涉及一种甚低码率视频编码器的码率控制方法。
背景技术
有效的码率控制策略是低带宽下传输低延迟、高质量视频的关键。适于甚低带宽码率控制的算法有H.26x的TMNx和MPEG-4中的VMx。TMNx、VMx中的码率控制算法是基于二阶率失真模型的控制算法,同时实现了帧级、对象级和宏块级的码率控制,但仅提出对P帧的码率控制没有I帧的码率控制,在甚低带宽下使用存在一些问题,例如PSTN、GPRS网络等。
码率控制有帧一级和宏块一级的码率控制。帧一级码率控制对帧内所有宏块使用同一个量化值,宏块一级的码率控制对帧内宏块使用不同的量化值。在低带宽下不适宜使用宏块一级的码率控制,因为宏块的量化信息要占用相对较多的编码位数。另外,由于低带宽下编码帧率一般比较低,如编码使用CIF格式图像,帧率一般为1-5帧/秒,帧之间的相关性比较差,使用B帧并不能够提高图像的质量,而且还会增加编码的复杂度和延迟,所以在低带宽下一般不使用B帧。
而现有视频编码标准中的码率控制算法仅提出了P和B帧的码率控制模型,没有I帧的码率控制模型,原因是算法假设编码的第一帧为I帧,其余帧均为P或B帧。但在实际应用中为了适应传输容错和信息检索的需求编码中必须有一定数目的I帧。
发明内容
本发明的目的是提供一种能够降低编码缓冲区延迟,同时提高重建图像质量、码率控制精度高的甚低码率视频编码器码率控制方法。
为实现上述目的,本发明采用以下技术方案:
本发明包括I帧码率控制方法和P帧码率控制方法,上述的I帧码率控制方法包括以下步骤:
②初始量化值的求取:当a2=0时,二阶率失真模型退化为一阶模型,则初始量化值Qt=0=a1×Mt/(Bt-Ht);
③目标位数的分配:在一个视频序列内图像质量保持不变的情况下,有
其中,T为视频序列持续的周期,r1为序列的输出位率,NP是序列中P帧数目,NI是序列中I帧数目,和分别使用前一个同类型帧的绝对平均差函数值,再根据二阶率失真模型利用线性回归技术得出a1 I、a2 I和a1 P、a2 P;
当序列中只有一个I帧,其余均为P帧时,P帧码率控制方法中的目标位数其中,AI t为I帧的实际编码位数;
本发明对P帧码率控制方法中得到的P帧量化值进行调整如下:
1)、如果Qt<0.75Qt-1时,令Qt=0.75Qt-1;
2)、如果Qt>1.25Qt-1时,采用以下三种进行处理:
(a)、首先令Qt=0.25Qt-1,
(b)、如果Bt>2Rp,其中Rp为编码一帧从缓冲区中删除的位数,则令Bt=2Rp,然后转到(c),否则,令Qt=1.25Qt-1,直接结束处理;
采用上述技术方案的本发明,根据基于非常低带宽线路,如PSTN的远程视频传输需求,提出一种甚低码率视频编码器码率控制策略,该策略引入二阶码率控制模型实现I帧码率控制,以及引入二阶率失真模型,对I帧码率控制算法中的初始量化值选取、目标位数分配和量化值求取进行了改进。同时改进了原有算法量化值调整策略,使码率控制算法在场景变化时分配合适的量化值。此外对低带宽下码率控制中滑动窗口的大小和GOP长度的动态调整进行了分析。本发明与VMx相比明显提高了码率控制的精度、降低了输出缓冲区延迟、提高了重建图像的整体质量,并且改进了P帧的码率控制算法,总之,在甚低码率网络应用中,有效提高了视频编码器码率控制的精度和传输图像的质量。
附图说明
图1为本发明与原VM8码率控制方法的R-D曲线对比图。
具体实施方式
实施例1
VMx的码率控制算法仅提出了P帧的码率控制模型,没有I帧的码率控制模型,原因是算法假设编码的第一帧为I帧,其余帧均为P帧。但在实际应用中为了适应传输容错和信息检索的需求编码中必须有一定数目的I帧。在远程视频监控应用中,为了获得优化的输出码流,本发明增加了I帧码率控制。
本发明包括P帧码率控制方法和I帧码率控制方法,上述的I帧码率控制方法包括以下步骤:
①建立二阶率失真模型:
其中,Qt为t时刻待计算的量化值,a1,a2分别是一阶和二阶系数,r与当前帧目标编码位数、基本信息占用位数以及图像的绝对差有关,由下式给出
其中,Bt为当前帧目标编码位数、Ht为t时刻编码使用的头信息位数、Mt为t时刻图像的绝对平均差函数值,即MAD值。
码率控制主要是通过不断调整Qt值实现的,核心则是量化参数的求取和模型更新,当上述二次方程有解时,Qt通过下述公式计算得到
上述a1和a2根据已编码帧的实际量化值和编码位数,使用线性回归技术获得,每编码完一帧都要对a1和a2进行更新。另外在编码第一帧时a1和a2未知,不能利用公式(3)计算Qt,这时通常令Qt为一定值,其典型值为15,然后根据编码后的实际量化值和编码位数,利用线性回归技术计算a1和a2。
②初始量化值的求取:由公式(1)可知,当a2=0时,二阶率失真模型退化为一阶模型,这时模型仅有一个参数a1,可以令a1取一经验值,典型值130,然后利用公式(3)求取初始量化值Qt=0=a1×Mt/(Bt-Ht)。
而对于I帧后面的第一个P帧的量化值Qt+1可以使用和其前面I帧相同的量化值Qt。
③目标位数的分配:简化公式(1),对于I、P帧分别有
上述二公式中的每个变量右上角符号I、P仅用于区别是属于I帧还是P帧的参数。在一个视频序列中有
其中,NI是序列中I帧数目,NP是序列中P帧数目,T是视频序列持续的周期,以秒为单位,rt是序列的输出位率,以位/秒为单位。
假定在一个视频序列内图像质量保持不变,即I、P帧量化值相同,则有
联合公式(4)、(5)、(6)、(7)解得:
④量化值求取:根据公式(3)求出Qt,且每编码完一帧都要对a1、a2进行更新。
为了使实验视频序列具有代表性,试验使用的测试序列由A、B和C三类序列组合得到复合序列,共100帧。其中Mother序列A类25帧、Coastguard序列B类25帧、Basket序列C类25帧和DancerA类序列25帧。复合序列不仅包含了不同复杂度的图像,而且还存在不同复杂度图像之间的切换,与视频监控中的实际图像特点比较吻合,具有代表意义。
本文对复合序列分别测试了五种码率,即9.6kbps、28.8kbps、33.6kbps、44.8kbps、56kbps,测试条件为:GOP长度为15、帧率3fps,其中9.6kbps下GOP长度为30、帧率1fps。本发明与MPEG-4的VM8算法的对比测试结果如表1,对比曲线如图1所示,其中,图1中曲线A代表原VM8算法,曲线B代表本发明。显然,本发明在低码率线路上具有明显优势。
表1
从表1和图1中可以看出,从延迟角度来看,由于本发明使用了合理的I帧量化值分配算法、对P帧量化值调整幅度的处理和GOP长度的动态调整等一系列措施大大降低了最大缓冲延迟,避免了缓冲区上溢。从重建图像质量来看,本发明在不同带宽下的PSNR值均高于原VM8控制方法的PSNR值。而且从图1可以看出在同一带宽下,本发明的重建图像的PSNR值比原VM8控制方法的高;在重建图像质量相同的情况下,本发明比原VM8控制方法使用的编码位数更少。从输出码流偏差Db来看,本发明的输出码率平均偏差更小。
实施例2
本实施例与实施例1不同的是,本实施例在实施例1的基础上,对P帧码率控制进行了改进。
P帧的目标位数分配可以使用公式(9),当序列中只有一个I帧,其余均为P帧时,由公式(6)可得简化计算公式:
同时,由于VM8控制方法为了保持图像质量的稳定,对当前帧量化值Qt的调整幅度进行了限制,即调整的最大幅度不超过前一帧Qt-1的0.25倍。这样,在前一帧量化值较小而计算出的当前帧量化值较大时,经过调整后的当前帧量化值也较小,导致当前帧实际编码位数过大,增加传输延迟,所以对量化值变化较大的情况要进行合理处理。本发明对P帧码率控制方法中得到的P帧量化值进行调整如下:
1)、如果Qt<0.75Qt-1时,令Qt=0.75Qt-1;
2)、如果Qt>1.25Qt-1时,采用以下三种进行处理:
(a)、首先令Qt=0.25Qt-1,
(b)、如果Bt>2Rp,其中Rp为编码一帧从缓冲区中删除的位数,则令Bt=2Rp,然后转到c,否则,令Qt=1.25Qt-1,直接结束处理;
其他技术特征与实施例1相同。
实施例3
本实施例与实施例1不同的是,在本实施例中,对于P帧运动向量所占的位数Ht,VM8码率控制模型使用的是其前一帧运动向量占的位数。这假设前后两帧的运动向量占的位数差别不大,但在实际中前后两帧运动向量差别比较大,使用前一帧的运动向量并不合适。本发明通过统计当前帧运动估计后运动向量占的位数作为模型中的参数。由于对运动向量为零并且量化系数为零的宏块不进行编码,通过统计运动估计后运动向量占的位数比实际编码中运动向量占位数略多,但这之间的偏差相对较小而且比采用上一帧运动向量占的位数更为精确。
另外,滑动窗口用于选取回归二阶模型中的a1、a2的数据个数,滑动窗口的大小对a1、a2有很大的影响,从而影响量化值的求取。在甚低带宽下,编码帧率比较低,帧之间的相关性较差,几秒前的数据可能已经不能反映当前图像的特点,在模型更新时应尽量选取距离当前帧较近的数据,因此滑动窗口不应过大,否则滑动窗口内的数据不能及时反应图像的变化。实验表明,在低带宽下滑动窗口大小为10较为合适。
码率控制算法一般在一个图像组GOP内进行控制,本发明的GOP是由一个I帧和一定数目的P帧的组成。一般情况下GOP的长度为定值,典型值30。在P帧运动估计过程中,如果采用帧内编码方式的宏块数目大于一个阈值,如0.5倍总宏块数时,则将此帧编码为I帧。对于这种动态产生I帧的情况,可以将I帧作为一个新的GOP的开始,同时更新码率控制算法中GOP可分配位数,但不应将上一个GOP剩余的可分配位数累加到当前GOP的可分配位数上。
其他技术特征与实施例1相同。
Claims (3)
1.一种甚低码率视频编码器视频控制方法,其特征在于,它包括I帧码率控制方法和P帧码率控制方法,所述的I帧码率控制方法包括以下步骤:
②初始量化值的求取:当a2=0时,二阶率失真模型退化为一阶模型,则初始量化值Qt=0=a1×Mt/(Bt-Ht);
③目标位数的分配:在一个视频序列内图像质量保持不变的情况下,有
其中,T为视频序列持续的周期,rt为序列的输出位率,NP是序列中P帧数目,NI是序列中I帧数目,和分别为前一个同类型帧的绝对平均差函数值,再根据二阶率失真模型利用线性回归技术得出a1 I、a2 I和a1 P、a2 P;
3.根据权利要求2所述的甚低码率视频编码器视频控制方法,其特征在于:对P帧码率控制方法中得到的P帧量化值进行调整如下:
1)、如果Qt<0.75Qt-1时,令Qt=0.75Qt-1;
2)、如果Qt>1.25Qt-1时,采用以下三种进行处理:
(a)、首先令Qt=0.25Qt-1,
(b)、如果Bt>2Rp,其中Rp为编码一帧从缓冲区中删除的位数,则令Bt=2Rp,然后转到(c),否则,令Qt=1.25Qt-1,直接结束处理;
(c)、根据Bt利用二阶率失真模型:求取新的Qt作为当前帧的量化值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910064533A CN101854524A (zh) | 2009-03-31 | 2009-03-31 | 甚低码率视频编码器码率控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910064533A CN101854524A (zh) | 2009-03-31 | 2009-03-31 | 甚低码率视频编码器码率控制方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101854524A true CN101854524A (zh) | 2010-10-06 |
Family
ID=42805751
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200910064533A Pending CN101854524A (zh) | 2009-03-31 | 2009-03-31 | 甚低码率视频编码器码率控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101854524A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104683804A (zh) * | 2015-02-14 | 2015-06-03 | 北京航空航天大学 | 基于视频内容特征的参数自适应多维码率控制方法 |
WO2018161867A1 (zh) * | 2017-03-07 | 2018-09-13 | 腾讯科技(深圳)有限公司 | 码率分配方法、设备及存储介质 |
-
2009
- 2009-03-31 CN CN200910064533A patent/CN101854524A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104683804A (zh) * | 2015-02-14 | 2015-06-03 | 北京航空航天大学 | 基于视频内容特征的参数自适应多维码率控制方法 |
CN104683804B (zh) * | 2015-02-14 | 2017-12-29 | 北京航空航天大学 | 基于视频内容特征的参数自适应多维码率控制方法 |
WO2018161867A1 (zh) * | 2017-03-07 | 2018-09-13 | 腾讯科技(深圳)有限公司 | 码率分配方法、设备及存储介质 |
US10834405B2 (en) | 2017-03-07 | 2020-11-10 | Tencent Technology (Shenzhen) Company Limited | Bit rate allocation method and device, and storage medium |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101647278B (zh) | 用于视频编码标准的改进的视频速率控制 | |
KR100484148B1 (ko) | 개선된 비트율 제어 방법과 그 장치 | |
CN101743753B (zh) | 利用视频编码中的帧复杂性、缓冲水平和内部帧位置的基于缓冲的速率控制 | |
CN102630013B (zh) | 基于场景切换的码率控制视频压缩方法和装置 | |
CN101835042B (zh) | 基于无反馈速率控制的Wyner-Ziv视频编码系统及方法 | |
CN100425077C (zh) | 采用帧目标比特数不平均分配的视频压缩码率控制方法 | |
CN101895759B (zh) | 一种h.264码率控制方法 | |
CN102186077B (zh) | 基于Wyner-Ziv视频编码的Wyner-Ziv帧码率控制系统和方法 | |
CN100464585C (zh) | 一种视频压缩方法 | |
CN101010964A (zh) | 在可分级视频编码中的使用帧速率上变换技术的方法与设备 | |
US9860543B2 (en) | Rate control for content transcoding | |
CN105681793A (zh) | 基于视频内容复杂度自适应的极低延迟高性能视频编码帧内码率控制方法 | |
CN1988659A (zh) | 一种视频编码码率控制方法 | |
CN101466035A (zh) | 一种基于h.264的视频图像组比特分配方法 | |
CN101795415A (zh) | 一种视频编码中的码率控制方法及其装置 | |
CN103533359A (zh) | 一种h.264码率控制方法 | |
CN101877784B (zh) | 一种适用于实时应用的h.264码率控制方法 | |
CN102932641A (zh) | 一种恒定质量码率控制方法 | |
CN106937112A (zh) | 基于h.264视频压缩标准的码率控制方法 | |
CN100563338C (zh) | 一种恒定码率的控制方法 | |
CN100448295C (zh) | 一种低复杂度的积分码率控制方法 | |
CN102752591A (zh) | 基于综合因子的h.264码率控制方法 | |
CN100442848C (zh) | 一种h263编码中码率的控制方法 | |
CN111416978B (zh) | 视频编解码方法及系统、计算机可读存储介质 | |
CN102724507B (zh) | 一种gpu加速编码器码率控制方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20101006 |