CN105120282B - 一种时域依赖的码率控制比特分配方法 - Google Patents
一种时域依赖的码率控制比特分配方法 Download PDFInfo
- Publication number
- CN105120282B CN105120282B CN201510483514.1A CN201510483514A CN105120282B CN 105120282 B CN105120282 B CN 105120282B CN 201510483514 A CN201510483514 A CN 201510483514A CN 105120282 B CN105120282 B CN 105120282B
- Authority
- CN
- China
- Prior art keywords
- time domain
- coding unit
- frame
- code check
- ctu
- 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
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明提供一种时域依赖的码率控制比特分配方法,其中:预先读取当前编码帧的后续多帧,构造时域传播链;根据预设量化参数和前一帧各个编码单元的失真情况,获取时域传播链上各帧的运动补偿预测误差估计和失真估计等信息;根据时域传播链的各帧信息,获取当前编码帧各个编码单元的时域传播因子;根据时域传播因子和编码单元复杂度分配各个编码单元的目标比特;根据目标比特设定合适的拉格朗日乘子,实现码率控制功能。本发明考虑了后续多帧的时域相关性对当前编码帧的指导作用,因而能够获取整个编码序列的全局最优。
Description
技术领域
本发明涉及一种图像处理技术领域的方法,具体是一种时域依赖的码率控制比特分配方法。
背景技术
视频压缩给今天的人们带来了各种生活、工作、娱乐上的便利,比如可视电话、视频会议、高清电视等等。视频压缩则依赖于视频编码技术在过去几十年的长足发展,从早期的H.261到今天的H.264和HEVC,视频编码技术通过一代一代的演进,大致确立了混合编码框架的编码结构。各种模块技术的演进则极大地提升了视频编码的性能,最新的HEVC已经实现了相比上一代编码器H.264提升50%性能的要求。
在所有的视频编码技术中,码率控制扮演着举足轻重的角色,特别是在实时通信系统中,因为其有限的带宽,精确的码率控制显得尤为重要。具体来说,码率控制就是在一个给定的码率下,尽可能地提升视频的编码质量。对绝大多数码率控制方案,通常的做法就是给不同的帧和编码单元分配合适的目标比特。比如MPEG-2采用了TM5码率控制算法,MEPG-4采用了VM8算法,H.264/MPEG-4Advanced Video Coding(AVC)采用了R-Q算法,最新的HEVC则采用了R-lambda算法。
在这些传统的算法中,在编码单元层的码率控制均是根据其内容复杂度来确定的。尽管这种方法能够在一定程度上反映出其最终的编码比特,但是其忽略了编码单元在时域上的相关性,根据其目标比特设定的编码参数仅仅对当前编码单元有利,而没有考虑到对其时域相关的编码单元的影响。一些复杂度较低但时域相关性很强的编码单元有可能会被一种低质量的方式编码,导致后续参考该编码单元的所有编码单元的编码质量遭受严重的损失。
发明内容
本发明针对现有视频编码技术的缺陷,提供一种时域依赖的码率控制比特分配方法,该方法通过探测当前编码单元与后续帧的时域相关性,并以此指导当前编码单元的目标比特分配,从而获得更好的编码性能。
为实现以上目的,本发明所述的时域依赖的码率控制比特分配方法包括如下步骤:
①预先读取当前编码帧的后续多帧,构造时域传播链;
②根据预设量化参数和前一帧各个编码单元的失真情况,获取时域传播链上各帧的运动补偿预测误差估计和失真估计等信息;
③根据时域传播链的各帧信息,获取当前编码帧各个编码单元的时域传播因子;
④根据时域传播因子和编码单元复杂度分配各个编码单元的目标比特;
⑤根据目标比特设定合适的拉格朗日乘子,实现码率控制功能。
优选地,所述④中,各个编码单元的目标比特不仅由编码单元自身的内容复杂度确定,还由编码单元在时域上的传播因子确定;
设表示由编码单元内容复杂度确定的目标比特,表示由时域权重确定的目标比特,则编码单元最终的目标比特TCTU为
其中μ是权重因子,表明时域权重比特分配方法应在整个比特分配中占多大的比重。
本发明设计的时域依赖的码率控制比特分配方法,在给某个编码单元分配目标比特的时候,将其时域相关的编码单元均考虑进来,具体地,如果当前编码单元被多次参考,则认为其时域权重比较高,给其分配相对较多的比特,使其以一种较高质量的方式编码,这样就能够保证所有与其时域相关的编码单元的质量。
与现有技术相比,本发明具有如下的有益效果:
本发明考虑了后续多帧的时域相关性对当前编码帧的指导作用,因而能够获取整个编码序列的全局最优。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1是本发明的时域依赖度的码率控制比特分配方法的流程图;
图2是时域传播链构造的示意图;
图3是本发明实施例中BQSquare第346帧在两种方法下编码的结果;
图4是本发明实施例中RaceHorses第132帧在两种方法下的编码结果。
具体实施方式
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进。这些都属于本发明的保护范围。
此处把本发明应用到最新的HEVC编码框架的码率控制方法中。具体操作流程如图1所示。其中第一步到第三步是通过时域传播链来计算各个编码单元的时域因子,第四步到第五步是根据时域因子给每个编码单元分配合适的比特,实现时域依赖的码率控制功能。下面先介绍时域因子的计算方式,然后再此基础上详细介绍时域依赖的码率控制的优化。
1.时域传播因子的计算
源失真时域传播链将率失真优化问题改写为如下形式
其中oi表示第i个编码单元的编码参数,Dj表示第j个编码单元的失真,N表示时域传播链的长度,λg是对N个编码单元全局最优的拉格朗日乘子。因为当前编码单元的失真有可能会传播到后续帧里面的几个时域相关的编码单元,上式将所有时域相关的编码单元的失真考虑进来,是一种比较全面的率失真优化方案,最终的选择是对整个序列的全局最优。
本发明通过构造一个时域传播链来解决上述率失真优化问题。图2展示了一个长度为3的时域传播链,其中Frame 1表示当前编码帧,Frame 2和Frame 3表示当前编码帧在时间上的后续帧。对当前帧里面的每一个编码单元,如CU1,通过前向搜索,可以找到其在下一帧里面最匹配的编码单元CU2,如果CU2跨越几个编码单元,取其覆盖面积最大的编码单元的运动向量,然后继续向前搜索,直到传播链的最后一帧,这样就可以构造出一条时域传播链。
假定编码单元失真Di+1与运动补偿预测误差之间存在如下关系
其中Ri+1表示编码单元i+1的编码比特,b是一个跟源分布相关的常数,可以近似地表示为
其中Fi+1是编码单元i+1的像素值,是编码单元i的重建像素值,在原始帧上使用前向搜索后的源失真,α取经验值0.94。将其代入(2)式,可以得到
其中它们均和当前编码单元的编码参数oi相互独立。通过反复迭代,就可以估计传播链上所有编码单元的失真。第k个编码单元的失真估计可以表示为
Dk=βk·βk-1·…·βi+1·Di+Ck (5)
从而(1)式就可以重写为
其中时域传播因子被定义为
它衡量了当前编码单元有多少信息量将被传播到其时域相关的后续帧。从(2)(4)式可知
根据(3)式,可以通过Di和估计得到,Di+1可以通过和量化步长Q估计得到:
通过假定运动补偿预测误差的DCT系数服从拉普拉斯分布,可以证明,对绝大多数视频,F(θ)有一个稳定的分布,可以制成如表1所示的查找表。该查找表是以0.5为步长制定的,若当θ处于两个值的区间内部时,取其最近的θ对应的F(θ)值即可。
表1 F(θ)查找表
θ | 0.0 | 0.5 | 1.0 | 1.5 | 2.0 | 2.5 | 3.0 | 3.5 | 4.0 |
F(θ) | 0.00 | 0.06 | 0.08 | 0.15 | 0.30 | 0.45 | 0.70 | 0.85 | 0.92 |
θ | 4.5 | 5.0 | 5.5 | 6.0 | 6.5 | 7.0 | 7.5 | 8.0 | 大于8 |
F(θ) | 0.95 | 0.96 | 0.97 | 0.98 | 0.99 | 0.99 | 1.00 | 1.00 | 1.00 |
2.时域依赖的比特分配
最新的HEVC参考代码HM16.0在码率控制中采用了R-lambda算法。该算法在码率和拉格朗日乘子之间建立了如下的指数关系
λ=α×bppβ (10)
其中bpp表示每个像素的比特,它是目标比特T与像素个数N之间的比值:
α和β是模型参数,每次编码一帧或者一个CTU之后会更新这些模型参数。
比特分配在三个层次上分别实现,GOP层的目标比特是根据全局目标码率、帧率、GOP的帧数来确定的,图像层的目标比特是根据当前GOP的剩余比特和剩余未编码帧数、帧类型来确定的,而CTU层的比特则是根据其内容复杂度来分配的:
其中TPic是当前帧的目标码率,CodedPic是当前帧已编码部分消耗的比特。ωCTU是CTU的权重,在R-λ模型中,CTU的权重由平均绝对误差(MAD)的平方来衡量:
ωCTU=MADCTU 2 (13)
MAD的计算方式为
其中N是CTU中的像素个数,Porg(i)是原始帧的像素值,Ppred(i)是预测帧的像素值,此处的预测帧设定为与当前帧属于同一层次的前一个已编码帧。
时域依赖的比特分配修改CTU层的比特分配为
其中TPic是当前帧的目标码率,CodedPic是当前帧已编码部分消耗的比特。kCTU是CTU的时域权重,本发明将其设定为时域传播因子加上一个常数:
kCTU=κCTU+c (16)
其中κCTU是根据时域传播链计算出的时域传播因子,常数c避免了时域因子为0导致除零的情形,考虑到大多数情况下时域因子远大于1,在本发明的实施例中常数c被设定为1。
同时,本发明将按内容复杂度的比特分配方法考虑进来,最终的目标码率为按内容复杂度分配的码率和按时域权重分配的码率的加权平均。具体地,以表示根据内容复杂度分配的目标比特,其计算方式为(12),以表示根据时域权重分配的目标比特,其计算方式为(15),则最终的目标比特为
其中μ是权重因子,取值范围为[0,1],表明时域因素在比特分配中的比重。本发明的试验中设定为0.5。
为了避免在少数极端情况下目标码率过于偏离实际码率,导致质量波动太大,最终的目标码率根据复杂度分配的目标码率做如下限定:
5.实施条件与结果
基于HM 16.0软件实现应用本发明方法的时域依赖的比特分配方案,以HEVC标准的low delay P配置参数作为编码参数,目标码率设定为在四个QP(22,27,32,37)下,无码控的编码码率的近似值,如表2所示。构建时域传播链采用17x17大小的搜索框,传播链长度设定为20帧。HEVC标准测试序列中的Class B~Class E作为测试序列。
表2目标码率设置
在上述实施条件下,得到了表3和表4所示的编码结果。其中“原始方法”指的是用于对比的,相同条件下原始HM16.0的编码方法;“目前方法”指的是应用了本发明的实施例的编码方法。表3所示的是两种方法码率控制准确度的结果,采用的是实际码率相对设定的目标码率的偏差百分比,可以看出两种方法的码率控制准确度基本上一致。表4所示的是两种方法编码性能的结果,采用BD-Rate计算方法,表现了“目前方法”相对“原始方法”在相同编码质量下码率节省的百分比,可以发现相对“原始方法”,在同样的峰值信噪比(PSNR)或者同样的结构相似性(SSIM)质量下,“目前方法”均有一定的码率节省。
表3码率控制准确度结果
表3编码性能结果
经过对比发现,“目前方法”相对“原始方法”有更好的视觉质量。图3是BQSquare第346帧在两种方法下编码的结果,相对左边的“原始方法”,右边的“目前方法”在某些区域有更好的视觉质量。图4是RaceHorses第132帧在两种方法下的编码结果,对比可得同样的结论。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变形或修改,这并不影响本发明的实质内容。
Claims (4)
1.一种时域依赖的码率控制比特分配方法,其特征在于:所述方法包括如下步骤:
①预先读取当前编码帧的后续多帧,构造时域传播链;
②根据预设量化参数和前一帧各个编码单元的失真情况,获取时域传播链上各帧的运动补偿预测误差估计和失真估计信息;
③根据时域传播链的各帧信息,获取当前编码帧各个编码单元的时域传播因子;
④根据时域传播因子和编码单元复杂度分配各个编码单元的目标比特;
⑤根据目标比特设定拉格朗日乘子,实现码率控制功能;
所述④中,各个编码单元的目标比特不仅由编码单元自身的内容复杂度确定,还由编码单元在时域上的传播因子确定;
设表示由编码单元内容复杂度确定的目标比特,表示由时域权重确定的目标比特,则编码单元最终的目标比特TCTU为
其中μ是权重因子,表明时域权重比特分配方法应在整个比特分配中占多大的比重;
由时域权重确定的目标比特按照以下公式确定:
其中TPic是当前编码帧的目标比特,CodedPic是当前编码帧的已编码部分消耗的比特,kCTU是编码树单元的时域权重,kCurCTU表示当前编码树单元的时域权重,表示当前帧内所有未编码树单元的时域权重之和;
编码树单元的时域权重kCTU,设定为时域传播因子加上一个常数:
kCTU=κCTU+c
其中κCTU是根据时域传播链计算出的时域传播因子,常数c避免了时域传播因子为0导致除零的情形,常数c设定为1。
2.根据权利要求1所述的一种时域依赖的码率控制比特分配方法,其特征在于:μ是权重因子,取值范围为[0,1]。
3.根据权利要求1-2任一项所述一种时域依赖的码率控制比特分配方法,其特征在于,各个编码单元的时域权重kCTU根据其在时域传播链上的时域传播因子来设定,将编码单元在时域上的重要性直接通过目标码率反映出来。
4.根据权利要求1-2任一项所述的一种时域依赖的码率控制比特分配方法,其特征在于:时域传播链的构造是通过在原始帧上做运动估计来进行的,在编码当前帧之间预先分析出后续多帧的时域传播趋势。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510483514.1A CN105120282B (zh) | 2015-08-07 | 2015-08-07 | 一种时域依赖的码率控制比特分配方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510483514.1A CN105120282B (zh) | 2015-08-07 | 2015-08-07 | 一种时域依赖的码率控制比特分配方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105120282A CN105120282A (zh) | 2015-12-02 |
CN105120282B true CN105120282B (zh) | 2018-08-31 |
Family
ID=54668134
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510483514.1A Active CN105120282B (zh) | 2015-08-07 | 2015-08-07 | 一种时域依赖的码率控制比特分配方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105120282B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105872544B (zh) * | 2016-04-19 | 2019-01-01 | 电子科技大学 | 低延迟视频编码中时域率失真优化方法 |
CN106358040B (zh) * | 2016-08-30 | 2020-07-14 | 上海交通大学 | 一种基于显著性的码率控制比特分配方法 |
CN110876060B (zh) * | 2018-08-31 | 2022-07-15 | 网宿科技股份有限公司 | 一种编码过程中的码率调整方法及装置 |
WO2020172813A1 (zh) * | 2019-02-27 | 2020-09-03 | Oppo广东移动通信有限公司 | 率失真优化方法及装置、计算机可读存储介质 |
CN111314703B (zh) * | 2020-03-31 | 2022-03-08 | 电子科技大学 | 一种基于失真类型传播分析的时域率失真优化方法 |
CN111787318A (zh) * | 2020-06-24 | 2020-10-16 | 浙江大华技术股份有限公司 | 一种视频码率控制方法、装置、设备以及存储装置 |
CN111918068B (zh) * | 2020-08-05 | 2022-03-08 | 电子科技大学 | 基于视频序列特征和QP-λ修正的时域率失真优化方法 |
US11418795B2 (en) | 2020-08-05 | 2022-08-16 | University Of Electronic Science And Technology Of China | Temporal domain rate distortion optimization based on video content characteristic and QP-λcorrection |
CN112887714B (zh) * | 2021-01-14 | 2022-08-02 | 红河学院 | 一种视频编码比特资源重分配方法 |
CN113489981B (zh) * | 2021-07-06 | 2023-02-03 | 电子科技大学 | 一种考虑时域率失真优化的零延迟码率控制方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104079933B (zh) * | 2014-07-09 | 2018-07-27 | 上海君观信息技术有限公司 | 适用于hevc的低延时码率控制方法及比特数分配方法 |
-
2015
- 2015-08-07 CN CN201510483514.1A patent/CN105120282B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN105120282A (zh) | 2015-12-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105120282B (zh) | 一种时域依赖的码率控制比特分配方法 | |
CN105049850B (zh) | 基于感兴趣区域的hevc码率控制方法 | |
CN102845060B (zh) | 用于视频的数据压缩 | |
US9635387B2 (en) | Controlling a video content system | |
US20180115787A1 (en) | Method for encoding and decoding video signal, and apparatus therefor | |
US10602186B2 (en) | Systems and methods for mask based processing of a block of a digital image | |
CN106170092A (zh) | 用于无损编码的快速编码方法 | |
CN101911702A (zh) | Cabac编码器的基于速率-失真建模的量化 | |
CN101242532A (zh) | 一种面向多视点视频的码率控制方法 | |
CN103733621A (zh) | 基于低复杂度差错传播追踪的速率失真优化的视频编码模式选择 | |
CN103533365B (zh) | 比特率控制方法与比特率控制系统 | |
CN102281446B (zh) | 一种分布式视频编码中基于视觉感知特性的量化方法 | |
US9560386B2 (en) | Pyramid vector quantization for video coding | |
CN103327325A (zh) | 基于hevc标准的帧内预测模式快速自适应选择方法 | |
CN106464880A (zh) | 用于减少高效率视频编码中的计算负荷的方法和设备 | |
US20160337668A1 (en) | Method and apparatus for encoding image data and method and apparatus for decoding image data | |
CN103945220A (zh) | 一种用于高效视频编码hevc的量化优化方法 | |
CN107846593A (zh) | 一种率失真优化方法及装置 | |
JP2017523691A (ja) | 符号化または復号のための画像サンプルを予測する方法および装置 | |
CN104994382A (zh) | 一种感知率失真的优化方法 | |
Sanchez et al. | Rate control for lossless region of interest coding in HEVC intra-coding with applications to digital pathology images | |
CN103634601A (zh) | 基于结构相似度的高效视频编码感知码率控制优化方法 | |
CN104159126B (zh) | 基于Map-Reduce的视频转码任务调度方法 | |
CN108076342A (zh) | 用于编码视频的方法和编码器系统 | |
CN107343202A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |