CN105430395A - 一种基于最佳比特分配的hevc ctu级码率控制方法 - Google Patents

一种基于最佳比特分配的hevc ctu级码率控制方法 Download PDF

Info

Publication number
CN105430395A
CN105430395A CN201510882801.XA CN201510882801A CN105430395A CN 105430395 A CN105430395 A CN 105430395A CN 201510882801 A CN201510882801 A CN 201510882801A CN 105430395 A CN105430395 A CN 105430395A
Authority
CN
China
Prior art keywords
frame
ctu
rate control
bit
lambda
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
Application number
CN201510882801.XA
Other languages
English (en)
Other versions
CN105430395B (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.)
Beihang University
Original Assignee
Beihang University
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 Beihang University filed Critical Beihang University
Priority to CN201510882801.XA priority Critical patent/CN105430395B/zh
Publication of CN105430395A publication Critical patent/CN105430395A/zh
Application granted granted Critical
Publication of CN105430395B publication Critical patent/CN105430395B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本发明公开了一种基于最佳比特分配的HEVC?CTU级码率控制方法,属于视频编码领域,具体来说,为了在编码树单元(CTU)为R-λ码率控制模型实现最佳比特分配,提出一种新的R-D估计来代替现有的R-λ估计,并利用其演绎出最佳比特分配方程。进一步地,提出了一种递归泰勒展开算法,以很快的收敛速度解出此原本不可解的方程,进而获得近似的封闭解,从而实现最佳比特分配。同时,还利用递归泰勒展开算法,提出了对剩余比特进行最佳比特再分配的方法。本发明优点是:是第一种以很低的编码复杂度实现HEVC最佳比特分配的算法,在率失真,RC准确性和对于动态画面变换的鲁棒性等方面优于其他现有R-λ码率控制模型。

Description

一种基于最佳比特分配的HEVC CTU级码率控制方法
技术领域
本发明涉及一种基于最佳比特分配的HEVCCTU级码率控制方法,属于视频编码技术领域。
背景技术
在视频编码领域,码率控制致力于在给定压缩视频的比特率的条件下使其失真最小。如果压缩视频的比特率大于所提供的带宽,多余的比特就会在编码缓冲器中累积,从而一旦缓冲器溢出,就会导致视频跳帧。相反的,若是所提供的带宽过大的话就会导致浪费带宽资源,因为这些富裕的带宽资源可以用来提高压缩视频的质量。一般,在给定的比特率下,采用优化比特分配然后将分配的比特映射到量化参数的方式来实现码率控制。因此,视频编码码率控制有两个目标,第一个是利用最佳比特分配实现最小失真,第二个是准确的估计量化参数来保证码率控制准确性。
近来为了进一步地减少时空冗余以满足高清乃至超高清视频的压缩需求,高效率视频编码HEVC(HighEfficiencyVideoCoding)标准,也称为H.265,被正式提出。然而,对于HEVC标准,大多数现有的前沿码率控制模型主要专注于实现码率控制的第二个目标,即使用分配的比特估计量化参数,同时尽管有一些前沿的工作致力于第一个目标,例如R-λ模型比特分配的研究,现在还没有针对HEVC码率控制的最佳比特分配实现。
发明内容
本发明的目的是为了解决上述问题,提出一种基于最佳比特分配的HEVCCTU级码率控制方法(Optimalbitallocation),可以在编码树单元(Codingtreeunit)为R-λ码率控制模型实现最佳比特分配。本发明通过使用一种新的R-D估计来代替现有的R-λ估计,演绎出最佳比特分配方程。并利用递归泰勒展开(RecursiveTaylorexpansion)算法,以很快的收敛速度解出此方程,进而获得近似的封闭解,从而实现最佳比特分配和最佳比特再分配。同时,本发明可以用很低的编码复杂度,来实现HEVCCTU级的最佳比特分配。
本发明的一种基于最佳比特分配的HEVCCTU级码率控制方法,可以用很低的编码复杂度增加,达到在率失真,码率控制准确性和对于动态画面变换的鲁棒性上优于其他现有R-λ模型的效果,实现HEVCCTU级码率控制的最佳比特分配和再分配。
本发明的一种基于最佳比特分配的HEVCCTU级码率控制算法(OBA),使用一种新的R-D估计来代替现有的R-λ估计,并得到优化方程,为了求解此原本不可解的优化方程,提出递归泰勒展开(RTE)算法,用极低的编码复杂度,在编码树单元(CTU)为R-λ码率控制模型实现最佳比特分配,同时通过理论与数值分析,验证了本发明在率失真,RC准确性和对于动态画面变换的鲁棒性等方面优于其他现有的R-λ模型。
本发明的优点在于:
(1)提出新的率失真估计模型,并由此得到最佳码率分配方程;
(2)提出递归泰勒级数展开算法,得到原本不可解的最佳比特分配方程的近似封闭解;
(3)此算法只需额外产生极小的编码复杂度来实现极小的逼近误差。
附图说明
图1基于最佳比特分配的HEVCCTU级码率控制算法整体流程图;
图2递归泰勒级数展开算法流程图;
图3编码量化参数计算流程图;
图4最佳比特重分配流程图;
图5亮度峰值信噪比图;
图6R-λ码率控制机制编码图像;
图7OBA码率控制机制编码图像;
具体实施方式
下面将结合附图和实施例对本发明作进一步的详细说明。
本发明是一种基于最佳比特分配的HEVCCTU级码率控制方法,流程如图1所示,包括以下几个步骤:
步骤一:针对需要进行码率控制的视频,获取第h个视频帧,第h个视频帧包括M个CTU块,设i个CTU块的最佳码率分配方程为:
R h = Σ i = 1 M ( λ ^ c h i k h i ) - 1 k h i + 1 - - - ( 1 )
其中:Rh表示视频第h帧预先分配的目标比特,chi和khi表示第h帧第i个CTU块的码率控制参数,其中I帧之后第1帧中的参数c1i和k1i使用HEVC标准中的默认值,表示为了最佳比特分配需要求出的朗格朗日乘子。
步骤二:采用递归泰勒级数展开算法(RTE算法)获取最佳码率分配方程的近似封闭解。
如图2所示,具体过程如下:
(1)获取给定的第k个视频帧的目标比特Rh,使用已知的图像λ作为预估
(2)设其中,为第h帧第i个CTU块的预估分配比特数。
利用泰勒级数展开将式(1)变形为3阶泰勒展开式(2)。
计算出A,B,C,D。
(3)通过公式解三次方程式(2):
λ ^ = e - B - ( Y 1 3 + Y 2 3 ) 3 A , Y 1 , 2 = B E + 3 A ( - F ± F 2 - 4 E G 2 )
获得其中E=B2-3AC,F=BC-9A(D-R),G=C2-3B(D-R)。
(4)判断是否满足收敛条件
E a = | Σ i = 1 M ( a i λ ^ ) b i - R | | Σ i = 1 M ( a i λ ^ ) b i | ≤ 10 - 10
若满足则得到最佳近似封闭解进入步骤三,否则,用步骤(3)中得到的来更新返回到步骤(2)。
步骤三:参考图3,进行编码量化参数的计算。在通过RTE算法得到最佳近似封闭解之后,利用公式
计算出第h帧每个CTU块理论上分配的比特数之后计算出每一个像素点的目标比特bpphi
其中Nhi表示第i个CTU块中的像素点数量。
之后通过公式求出相应的λhi
λ hi = α hi · bpp hi β hi
其中 α h i = c h i k h i · ( N h i ) - k h i - 1 , β h i = - k h i - 1.
然后对其进行λ平滑,具体操作为HEVC标准。之后通过公式求出量化参数QPhi
QPhi=4.2005·lnλhi+13.7122
由此得到第h帧的所有CTU块量化参数QPhi。然后对其进行QP平滑,具体操作为HEVC标准。最后通过标准的HEVC熵编码就可以对第h帧进行编码,得到其最佳码率分配,即每个CTU块所分配的真实比特数rhi
步骤四:参考图4,在前三个步骤结束之后,初步得到其中每一个CTU块分配的真实比特数rhi,但因为其与理论值会存在误差,所以在第h帧初步编码完成之后利用递归泰勒级数展开算法进行最佳比特重分配。其方法如下:
在编码第i个CTU块后,对接下来的K个CTU块进行比特重分配。使用公式
其中,Ti,i+K表示接下来的从第i+1到第i+K这K个CTU块的目标比特,是当前帧在编码i个CTU块后,用来编码剩余CTU的剩余比特数,可以用该帧总的目标比特Rh减去已经分配完的前i帧的总比特数,M代表此帧中总的CTU数,是利用递归泰勒级数算法为第j个CTU块分配的理论比特数。其意义为,第i次执行步骤二和步骤三后,得到第i个CTU块的实际分配比特数,之后在接下来的K个CTU块中补偿了第i个CTU编码过程中出现的误差,再循环一次步骤二步骤三得到第i+1个CTU块的实际分配比特数。
具体来说,在得到Ti,i+K之后,返回步骤二,用Ti,i+K代替Rh,将公式(2)变形为
然后依次执行步骤二和步骤三,从而得到第i+1个CTU块的实际分配比特rh(i+1)。如此循环M次,就可以得到第h帧的所有CTU块的最佳比特分配。
步骤五:在第h帧的编码完成之后,利用下式准确地得到第h+1帧码率控制所需的参数c(h+1)i和k(h+1)i,用于下一帧的编码:
c ( h + 1 ) i = d h i r h i - λ h i · r h i / d h i
k ( h + 1 ) i = λ h i · r h i d h i
其中λhi,rhi和dhi为编码第h帧第i个CTU之后得到的其真实的λ值,比特数和失真。失真值可以通过下面的公式得到:
d h i = Σ ( p o - p n ) 2
其中po是这个CTU块原始的像素值,pn是同一个像素点经过码率控制重新编码之后的像素值。
在得到第h+1帧的参数c(h+1)i和k(h+1)i之后,重复执行步骤二至步骤四,完成第h+1帧的码率控制。然后循环操作直至最终完成整个视频的码率控制工作。
实施例:
以使用本发明方法和使用原本的R-λ码率控制机制分别进行编码的一段视频‘kimono’为例。图5表示的是平均每帧的亮度峰值信噪比(Y-PSNR)和比特率的关系。从图中可以看出,使用本发明的OBA机制编码的视频在Y-PSNR方面表现的优于原本的R-λ码率控制机制。
图6和图7表示的是对两种方法编码出的视频帧的主观质量比较。图6是使用原本的R-λ码率控制机制编码的一帧图像,图7是使用本发明方法编码的同一帧图像,从中可以看出在主观质量比较上本发明的优势。

Claims (1)

1.一种基于最佳比特分配的HEVCCTU级码率控制方法,包括以下几个步骤:
步骤一:针对需要进行码率控制的视频,获取第h个视频帧,第h个视频帧包括M个CTU块,设i个CTU块的最佳码率分配方程为:
R h = Σ i = 1 M ( λ ^ c h i k h i ) - 1 k h i + 1 - - - ( 1 )
其中:Rh表示视频第h帧预先分配的目标比特,chi和khi表示第h帧第i个CTU块的码率控制参数,其中I帧之后第1帧中的参数c1i和k1i使用HEVC标准中的默认值,表示为了最佳比特分配需要求出的朗格朗日乘子;
步骤二:采用递归泰勒级数展开算法获取最佳码率分配方程的近似封闭解;
具体过程如下:
(1)获取给定的第k个视频帧的目标比特Rh,使用已知的图像λ作为预估
(2)设其中,为第h帧第i个CTU块的预估分配比特数;
利用泰勒级数展开将式(1)变形为3阶泰勒展开式(2);
计算出A,B,C,D;
(3)通过公式解三次方程式(2):
λ ^ = e - B - ( Y 1 3 + Y 2 3 ) 3 A , Y 1 , 2 = B E + 3 A ( - F ± F 2 - 4 E G 2 )
获得其中E=B2-3AC,F=BC-9A(D-R),G=C2-3B(D-R);
(4)判断是否满足收敛条件
E a = | Σ i = 1 M ( a i λ ^ ) b i - R | Σ i = 1 M ( a i λ ^ ) b i ≤ 10 - 10
若满足则得到最佳近似封闭解进入步骤三,否则,用步骤(3)中得到的来更新返回到步骤(2);
步骤三:进行编码量化参数的计算,在通过递归泰勒级数展开算法得到最佳近似封闭解后,利用公式
计算出第h帧每个CTU块理论上分配的比特数计算出每一个像素点的目标比特bpphi
其中Nhi表示第i个CTU块中的像素点数量;
通过公式求出相应的λhi
λ h i = α h i · bpp h i β h i
其中 α h i = c h i k h i · ( N h i ) - k h i - 1 , βhi=-khi-1;
然后对其进行λ平滑,具体操作为HEVC标准;之后通过公式求出量化参数QPhi
QPhi=4.2005·lnλhi+13.7122
由此得到第h帧的所有CTU块量化参数QPhi,然后对其进行QP平滑,具体操作为HEVC标准,最后通过标准的HEVC熵编码就可以对第h帧进行编码,得到其最佳码率分配,即每个CTU块所分配的真实比特数rhi
步骤四:通过上述步骤,初步得到其中每一个CTU块分配的真实比特数rhi,其与理论值存在误差,所以在第h帧初步编码完成之后利用递归泰勒级数展开算法进行最佳比特重分配;
其方法如下:
在编码第i个CTU块后,对接下来的K个CTU块进行比特重分配,使用公式
其中,Ti,i+K表示接下来的从第i+1到第i+K这K个CTU块的目标比特,是当前帧在编码i个CTU块后,用来编码剩余CTU的剩余比特数,用该帧总的目标比特Rh减去已经分配完的前i帧的总比特数,M代表此帧中总的CTU数,是利用递归泰勒级数算法为第j个CTU块分配的理论比特数;
在得到Ti,i+K之后,返回步骤二,用Ti,i+K代替Rh,将公式(2)变形为
然后依次执行步骤二和步骤三,从而得到第i+1个CTU块的实际分配比特rh(i+1),如此循环M次,得到第h帧的所有CTU块的最佳比特分配;
步骤五:在第h帧的编码完成之后,利用下式准确地得到第h+1帧码率控制所需的参数c(h+1)i和k(h+1)i,用于下一帧的编码:
c ( h + 1 ) i = d h i r h i - λ h i · r h i / d h i
k ( h + 1 ) i = λ h i · r h i d h i
其中λhi,rhi和dhi为编码第h帧第i个CTU之后得到的其真实的λ值,比特数和失真;失真值通过下面的公式得到:
dhi=∑(po-pn)2
其中po是这个CTU块原始的像素值,pn是同一个像素点经过码率控制重新编码之后的像素值;
在得到第h+1帧的参数c(h+1)i和k(h+1)i之后,重复执行步骤二至步骤四,完成第h+1帧的码率控制,然后循环操作直至最终完成整个视频的码率控制工作。
CN201510882801.XA 2015-12-03 2015-12-03 一种基于最佳比特分配的hevc ctu级码率控制方法 Active CN105430395B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510882801.XA CN105430395B (zh) 2015-12-03 2015-12-03 一种基于最佳比特分配的hevc ctu级码率控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510882801.XA CN105430395B (zh) 2015-12-03 2015-12-03 一种基于最佳比特分配的hevc ctu级码率控制方法

Publications (2)

Publication Number Publication Date
CN105430395A true CN105430395A (zh) 2016-03-23
CN105430395B CN105430395B (zh) 2018-04-27

Family

ID=55508290

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510882801.XA Active CN105430395B (zh) 2015-12-03 2015-12-03 一种基于最佳比特分配的hevc ctu级码率控制方法

Country Status (1)

Country Link
CN (1) CN105430395B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106937118A (zh) * 2017-03-13 2017-07-07 西安电子科技大学 一种基于主观感兴趣区域和时空域相结合的码率控制方法
WO2018126496A1 (en) * 2017-01-09 2018-07-12 Qualcomm Incorporated Bit allocation for encoding and decoding
US10523369B2 (en) 2017-01-09 2019-12-31 Qualcomm Incorporated Mutual-information based recursive polar code construction
CN110730346A (zh) * 2018-07-17 2020-01-24 天开数码媒体有限公司 基于编码树单元失真优化的视频编码码率控制方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012058394A1 (en) * 2010-10-27 2012-05-03 Vid Scale, Inc. Systems and methods for adaptive video coding
CN103561266A (zh) * 2013-11-06 2014-02-05 北京牡丹电子集团有限责任公司数字电视技术中心 基于对数r-q模型和层次化比特分配的码率控制方法
CN103945222A (zh) * 2014-04-21 2014-07-23 福州大学 一种基于hevc视频编码标准的码率控制模型更新方法
CN104079933A (zh) * 2014-07-09 2014-10-01 上海君观信息技术有限公司 适用于hevc的低延时码率控制方法及比特数分配方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012058394A1 (en) * 2010-10-27 2012-05-03 Vid Scale, Inc. Systems and methods for adaptive video coding
CN103561266A (zh) * 2013-11-06 2014-02-05 北京牡丹电子集团有限责任公司数字电视技术中心 基于对数r-q模型和层次化比特分配的码率控制方法
CN103945222A (zh) * 2014-04-21 2014-07-23 福州大学 一种基于hevc视频编码标准的码率控制模型更新方法
CN104079933A (zh) * 2014-07-09 2014-10-01 上海君观信息技术有限公司 适用于hevc的低延时码率控制方法及比特数分配方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
BIN LI: "λ Domain Rate Control Algorithm for High Efficiency Video Coding", 《IEEE TRANSACTIONS ON IMAGE PROCESSING》 *
司俊俊,马思伟,王诗淇,高文: "一种基于变换系数拉普拉斯分布的HEVC码率控制算法", 《上海大学学报》 *
赵振军,沈礼权,胡乾乾,张兆杨: "基于复杂度HEVC码率控制的算法优化", 《光电子.激光》 *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018126496A1 (en) * 2017-01-09 2018-07-12 Qualcomm Incorporated Bit allocation for encoding and decoding
US10523369B2 (en) 2017-01-09 2019-12-31 Qualcomm Incorporated Mutual-information based recursive polar code construction
US11018804B2 (en) 2017-01-09 2021-05-25 Qualcomm Incorporated Bit allocations for encoding and decoding
US11239947B2 (en) 2017-01-09 2022-02-01 Qualcomm Incorporated Bit allocation for encoding and decoding
US11855776B2 (en) 2017-01-09 2023-12-26 Qualcomm Incorporated Bit allocation for encoding and decoding
CN106937118A (zh) * 2017-03-13 2017-07-07 西安电子科技大学 一种基于主观感兴趣区域和时空域相结合的码率控制方法
CN106937118B (zh) * 2017-03-13 2019-09-13 西安电子科技大学 一种基于主观感兴趣区域和时空域相结合的码率控制方法
CN110730346A (zh) * 2018-07-17 2020-01-24 天开数码媒体有限公司 基于编码树单元失真优化的视频编码码率控制方法
CN110730346B (zh) * 2018-07-17 2023-05-23 天开数码媒体有限公司 基于编码树单元失真优化的视频编码码率控制方法

Also Published As

Publication number Publication date
CN105430395B (zh) 2018-04-27

Similar Documents

Publication Publication Date Title
CN103873861B (zh) 一种用于hevc的编码模式选择方法
CN101547349B (zh) 一种对视频信号的二次avs编码码率控制的方法
CN103561266B (zh) 基于对数r-q模型和层次化比特分配的码率控制方法
CN105430395A (zh) 一种基于最佳比特分配的hevc ctu级码率控制方法
CN100574427C (zh) 视频编码比特率的控制方法
CN105120282B (zh) 一种时域依赖的码率控制比特分配方法
CN106331711A (zh) 一种基于网络特征与视频特征的动态码率控制方法
CN101674472A (zh) 多视点视频编码的多级码率控制方法
CN103634601B (zh) 基于结构相似度的高效视频编码感知码率控制优化方法
CN104320658A (zh) 一种hevc快速编码方法
CN103533365B (zh) 比特率控制方法与比特率控制系统
CN101835042A (zh) 基于无反馈速率控制的Wyner-Ziv视频编码系统及方法
CN107277537B (zh) 一种基于时间相关性的分布式视频压缩感知采样方法
CN106231320A (zh) 一种支持多机并行编码的联合码率控制方法及系统
CN104994382A (zh) 一种感知率失真的优化方法
CN104159117A (zh) 一种hevc视频的信息隐藏方法
CN101827268B (zh) 一种基于对象的分形视频压缩与解压缩方法
CN105120276B (zh) 自适应Motion JPEG编码方法和系统
CN107343202B (zh) 基于附加码率的无反馈分布式视频编解码方法
CN105898331A (zh) 一种深度视频编码的比特分配和码率控制方法
CN106454360B (zh) 视频编码中帧内编码的码率估计方法
CN103152568A (zh) 一种实时截断码流的jpeg2000编码方法及其实施系统
CN101511026B (zh) 一种基于场景的avs二次编码码率控制方法
CN100425079C (zh) 基于低内存消耗查询表的视频压缩码率控制方法
CN108063945A (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