CN112351279A - 面向hevc快速编码的自适应复杂度调整系统及方法 - Google Patents

面向hevc快速编码的自适应复杂度调整系统及方法 Download PDF

Info

Publication number
CN112351279A
CN112351279A CN202011152367.7A CN202011152367A CN112351279A CN 112351279 A CN112351279 A CN 112351279A CN 202011152367 A CN202011152367 A CN 202011152367A CN 112351279 A CN112351279 A CN 112351279A
Authority
CN
China
Prior art keywords
coding
complexity
time
frame
gop
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
CN202011152367.7A
Other languages
English (en)
Other versions
CN112351279B (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.)
Shenzhen Lizhuan Technology Transfer Center Co ltd
Original Assignee
Hangzhou Dianzi 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 Hangzhou Dianzi University filed Critical Hangzhou Dianzi University
Priority to CN202011152367.7A priority Critical patent/CN112351279B/zh
Publication of CN112351279A publication Critical patent/CN112351279A/zh
Application granted granted Critical
Publication of CN112351279B publication Critical patent/CN112351279B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/177Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a group of pictures [GOP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本发明公开了一种面向HEVC快速编码的自适应复杂度调整系统及方法。本发明首先结合离线训练模块和在线训练模块,确定在给定编码树单元(CTU)的目标编码时间时启用的预测模式以及跳过的模式;然后使用复杂度分配模块,利用第3个图片组(GOP)的编码时间来预测整个序列的编码时间,从而估算出当前给定目标复杂度下所需控制的序列目标编码时间,并将目标编码时间以分层的方式分配到CTU层级;在模式选择模块中,根据分配到每个CTU的目标编码时间选择启用的预测模式,然后开始编码,跳过未启用的模式;最后复杂度更新模块周期性地取一帧作标准编码,用于更新序列的目标编码时间和调整下一帧的目标编码时间。本发明充分利用视频编码的特点将实际的编码复杂度自适应地调整在目标复杂度附近,并尽可能减少失真。

Description

面向HEVC快速编码的自适应复杂度调整系统及方法
技术领域
本发明属于高效视频编码(HEVC)技术领域,尤其涉及一种面向HEVC快速编码的自适应复杂度调整系统及方法。
背景技术
近年来,随着高清、超高清视频(分辨率达4K×2K、8K×4K)应用走进人们的视野,视频压缩技术受到了巨大的挑战。此外,各式各样的视频应用也随着网络和存储技术的发展不断涌现。视频应用的多样化和高清趋势对视频压缩性能提出了更高的要求。为此,2010年4月ITU-T的视频编码专家组(VCEG)和ISO/IEC的运动图像专家组(MPEG)成立了视频编码联合开发组(JCT-VC),联手制定新一代视频编码标准,在2013年完成了高效视频编码HEVC(High Efficiency Video Coding)标准,也称为H.265。该标准可以在视觉质量相同的情况下,比上一代标准H.264/AVC节省44%左右的码率,这部分编码效率主要得益于HEVC采用了灵活的块划分模式,包括编码单元(CU)、预测单元(PU)、变换单元(TU)。CU的尺寸有64×64,32×32、16×16、8×8,分别对应着划分深度为0、1、2、3。其中64×64的CU被定义为编码树单元(CTU),采用四叉树划分结构,每个CTU能够递归的划分成4个大小相等的CU,直到最小的CU(8×8)。为了找到最优的CU划分方案,编码器必须要考虑所有的划分情况。然后,HEVC采用率失真优化(RDO)技术从众多模式中选取率失真代价最小的模式作为最佳模式。编码时,HEVC编码器需要遍历所有可能的PU预测方式,这个遍历过程的计算量较大,使得编码复杂度急剧增加,约为H.264的2到3倍。这也导致HEVC无法在一些设备上实现,尤其是一些计算能力受限的移动多媒体设备。为此许多学者提出了一些快速算法,但是一些算法的复杂度降低以率失真性能损失为代价,且大多数快速算法的复杂度降低并不一致,根据实际编码的序列不同,复杂度差距较大。
HEVC的复杂度调整十分重要。一方面,人们对视频高分辨率的大幅度提高,使得HEVC的编码复杂度急剧提升。另一方面,多媒体设备的数目爆炸式增长,而其性能参差不齐,有些设备无法进行如此大规模的计算。所以为了更好地发展HEVC并将其应用地更加广泛,我们有必要对如何控制HEVC的复杂度进行研究。普通的快速划分算法存在一些缺陷:1、时间节省有限。由于率失真性能的限制,很难在复杂度、率失真性能之间找到一个平衡点。2、时间节省对于某个特定的视频来说是不确定的。一般来说,同质区域越多的视频序列时间节省越多。HEVC复杂度调整的目标是高精度的控制以及较好的率失真性能,而高精度的复杂度又可以很好地防止率失真性能的恶化。与大多数快速算法类似,本发明对编码复杂度的定义是快速算法的编码时间与标准的HEVC编码时间的比值。
发明内容
本发明的目的是为了解决现有的HEVC编码复杂度较高而大多数优化算法降低的复杂度降低不均匀的问题,从而提出了一种面向HEVC快速编码的自适应复杂度调整系统及方法,在尽可能保证视频率失真性能的同时,自适应地调整编码复杂度,尤其适用于需要对编码复杂度进行精准控制或者降低的场合,例如各种便携式移动终端设备。
本发明提出了一种面向HEVC快速编码的自适应复杂度调整系统及方法。利用HEVC编码过程中图片组(GOP)内每帧编码时间占GOP编码总时间的比例几乎不变和每种预测模式编码所需的相对时间几乎不变的特性,根据目标复杂度简化了划分方式的选择过程,对编码复杂度进行了精准的控制。本发明方法包括离线训练模块、在线训练模块、复杂度分配模块、模式选择模块和复杂度更新模块。
本发明解决其技术问题所采用的技术方案如下。
(一)离线训练模块
离线训练模块采用标准的HEVC编码,根据实际的视频序列编码时间,计算出每个CTU编码所需的时间,然后根据不同的目标复杂度,给出初始的预测模式选择方法。定义HEVC编码时采用的10种预测模式,用
Figure BDA0002741547820000031
表示,每种模式所需的编码时间用
Figure BDA0002741547820000032
来表示,其中d=0,1,2,3是CU深度,j=0,1,2...10,这11种预测模式依次分别代表帧间预测模式Merge/Skip(MSM),Inter_2Nx2N,Inter_2NxN,Inter_Nx2N,Inter_NxN,Inter_2NxnU,Inter_2NxnD,Inter_nLx2N,Inter_nRx2N和帧内预测模式Intra_2Nx2N,Intra_NxN。根据对编码结果的统计,CU划分最终选择的深度是2或3的概率较大,而对于每个CU的模式选择而言,最终选择MSM或Inter_2Nx2N,以及Intra_2Nx2N的概率比较大,而且这三种模式是在作帧间预测和帧内预测时候最先测试的,如果编码选择了这些模式,其它的模式就可以省略,达到节省编码时间,降低复杂度的目的,其步骤是:
步骤(I)、设定的编码复杂度TC,并对视频进行HEVC标准编码,得到实际的编码时间
Figure BDA0002741547820000033
则视频的低复杂度编码时间
Figure BDA0002741547820000034
计算为:
Figure BDA0002741547820000035
则视频中每个CTU的低复杂度编码时间
Figure BDA0002741547820000036
计算为:
Figure BDA0002741547820000037
其中,
Figure BDA0002741547820000038
表示正在编码的视频的每帧的CTU数量,FW和FL表示每帧视频的宽度和长度,Fall为编码总帧数。
步骤(II)、根据低复杂度编码时间
Figure BDA0002741547820000039
估计得到初始的预测模式,其规则是:
(a)当
Figure BDA00027415478200000310
时,选择
Figure BDA00027415478200000311
模式;
(b)当
Figure BDA00027415478200000312
时,选择模式
Figure BDA00027415478200000313
(c)当
Figure BDA00027415478200000314
选择模式
Figure BDA00027415478200000315
Figure BDA0002741547820000041
(d)当
Figure BDA0002741547820000042
时,选择模式
Figure BDA0002741547820000043
(二)在线训练模块
在线训练模块的作用是获取第3个GOP的各个模式的编码时间、分布数量,以及各帧编码时间占GOP编码时间的比例,作为后续模式选择模块和复杂度更新模块的依据。该模块的步骤如下:
步骤(I)、在序列的前3个GOP不对其进行复杂度调整,直接使用HM的原始编码方法进行编码,并在第3个GOP编码完成后,统计在第3个GOP内每一帧的编码时间
Figure BDA0002741547820000044
(这里WG(Width of GOP)表示编码器设置的GOPSize的宽度)、第3个GOP的总时间
Figure BDA0002741547820000045
该GOP内每个深度下每种模式的编码时间
Figure BDA0002741547820000046
以及该GOP内每个深度下每种模式的数量
Figure BDA0002741547820000047
步骤(II)、把统计得到的
Figure BDA0002741547820000048
按照从大到小的顺序进行排序,其结果保存在一个模式集合
Figure BDA0002741547820000049
中,用于模式选择模块。
步骤(III)、计算第3个GOP内每帧占GOP总时间的比例
Figure BDA00027415478200000410
用于复杂度分配模块的复杂度分配和复杂度更新模块的复杂度更新:
Figure BDA00027415478200000411
(三)复杂度分配模块
离线训练模块、在线训练模块是本发明的基础工作。在离线训练模块、在线训练模块之后,即可进行复杂度调整工作,这其中首先要进行的工作就是复杂度的分配。复杂度分配模块的功能是负责将序列的目标复杂度向下分配到各个层级,包括GOP层级、帧层级以及CTU层级。
复杂度分配的具体步骤是:
步骤(I)、在第3个GOP编码完成以后,预测整个序列的编码时间
Figure BDA0002741547820000051
Figure BDA0002741547820000052
其中,Fall是编码总帧数,Tf表示第f帧的实际编码时间。由于第1个GOP只有1帧,所以第3个GOP编码完成之后已编码的帧数为(2×WG+1)。结合设定的目标复杂度TC,即可得到序列的目标编码时间
Figure BDA0002741547820000053
Figure BDA0002741547820000054
步骤(Ⅱ)、从第4个GOP开始,在每个GOP编码之前,获取这个GOP的目标编码时间
Figure BDA0002741547820000055
Figure BDA0002741547820000056
上式中的
Figure BDA0002741547820000057
表示已编码视频帧所消耗的时间,Fall是编码总帧数,Fpast是当前已编码的帧数。
步骤(Ⅲ)、将
Figure BDA0002741547820000058
分配到GOP内的每一帧:
Figure BDA0002741547820000059
上式中
Figure BDA00027415478200000510
表示的是分配到GOP内每帧的编码时间,
Figure BDA00027415478200000511
由公式(3)计算。
步骤(Ⅳ)、将
Figure BDA00027415478200000512
的时间分配到当前帧内的每个CTU:
Figure BDA00027415478200000513
上式中
Figure BDA0002741547820000061
表示当前帧内已编码的时间,
Figure BDA0002741547820000062
指当前帧的CTU总数,
Figure BDA0002741547820000063
表示的则是当前帧已编码的CTU数量。
(四)模式选择模块
模式选择模块的作用是根据分配给当前CTU的复杂度,确定启用的模式。在获取了复杂度分配模块分配给当前CTU的复杂度之后,首先根据离线训练模块的训练结果,确定基本的预测模式,如果此时编码复杂度小于目标复杂度,则按照在线训练模块的模式选择情况的降序列表,将模式逐一加入到基本的预测模式中,直到编码复杂度大于或等于目标复杂度。对于没有选中的模式,在接下来的CTU编码过程中将会被跳过,从而将CTU实际的编码复杂度调整在目标复杂度附近。
该模块的具体步骤是:
步骤(I)、根据复杂度分配模块得到的当前CTU的目标编码时间
Figure BDA0002741547820000064
以及在线训练模块中得到的每个深度下每种模式的编码时间
Figure BDA0002741547820000065
运用离线训练模块步骤(II)的分配规则,得到初始的预测模式。
步骤(II)、将初始的预测模式的编码时间进行累加,如果其编码时间小于
Figure BDA0002741547820000066
则根据在线训练模块获得的模式集合
Figure BDA0002741547820000067
从前往后依次加入到预测模式之中,直到累加得到的编码时间大于或等于
Figure BDA0002741547820000068
并保存此时所有的预测模式,开始对当前CTU进行编码。
(五)复杂度更新模块
为了避免模式选择模块选取的预测模式的编码复杂度偏离目标复杂度太多,需采用复杂度更新模块来自适应地减少误差。在第3个GOP编码完成以后,把每M个GOP作为一组,每一组中的最后1帧作标准的HEVC编码,运行复杂度更新模块,用于更新每一帧的目标编码时间。
该模块的步骤是:
步骤(I)、在第3个GOP后,每M个GOP作一组,每一组的最后1帧作HEVC的标准编码,对序列的预测时间进行更新。设f表示当前编码帧的帧号,当(f-2WG)%(M×WG)=0时,计算预测的序列编码时间为:
Figure BDA0002741547820000071
其中,Tg表示的是第g个符合(f-2WG)%(M×WG)=0的帧的实际编码时间。对这些帧的编码时间取均值,然后除以第3个GOP中最后一帧的编码时间占整个GOP编码时间的比例
Figure BDA0002741547820000072
即可获得更新后的每个GOP的编码时间。然后再乘以剩余的GOP数
Figure BDA0002741547820000073
并加上已编码帧所消耗的实际编码时间
Figure BDA0002741547820000074
即可获得更新后的序列编码时间,它用于更新复杂度分配模块中的公式(6),然后利用公式(7),计算得到更新的每一帧的目标编码时间
Figure BDA0002741547820000075
步骤(II)、从第4个GOP开始,每一帧编码完成之后,将该帧的实际编码时间Tf与目标编码时间
Figure BDA0002741547820000076
作差,得时间差Trest:
Figure BDA0002741547820000077
将Trest加到下一帧的目标编码时间
Figure BDA0002741547820000078
得到更新的目标编码时间:
Figure BDA0002741547820000081
上式的结果用于计算复杂度分配模块中公式(8)的
Figure BDA0002741547820000082
本发明有益效果如下:
本发明的基本原理是:1、编码过程中,除去前两个GOP,每个GOP的编码结构相似,GOP内部位置相同的帧编码时间占整个GOP的编码时间的比例几乎不变。2、编码过程中,每种深度下每种预测模式的处理时间几乎不变。利用上述2个基本原理,本发明中提出了一种HEVC快速编码的复杂度调整系统及方法,在给定了目标复杂度以后,按照GOP、帧、CTU的顺序分层次地分配编码复杂度,据此选择CTU编码的预测模式实现低复杂度编码。最后为了减少误差,本发明提出了自适应的复杂度更新方法,从而将视频编码的复杂度精准地控制到目标复杂度,而尽可能地减少失真以及码率的提高。仿真实验表明,在预设编码复杂度为0.6的条件下,对视频序列在4个QP的情况下(22、27、32和37)进行编码,平均的编码复杂度为0.59,平均码率(BDBR)为2.48%,平均峰值信噪比(BDPSNR)为-0.04dB。从中可以看出,实际编码复杂度与预设复杂度非常接近,而且进行快速编码的码率增加不多,视频质量的损失极小,证明了本发明的自适应复杂度调整系统及方法是有效的。
附图说明
图1为本发明系统图;
图2为本发明的方法总流程图;
图3为在线训练模块流程图;
图4为模式选择模块流程图;
具体实施方式
下面结合附图和实施例子对本发明作进一步说明。
如图1所示,面向HEVC快速编码的自适应复杂度调整系统及方法,包括离线训练模块、在线训练模块、复杂度分配模块、模式选择模块和复杂度更新模块;
离线训练模块采用标准的HEVC编码,根据实际的视频序列编码时间,计算出每个CTU编码所需的时间,然后根据不同的目标复杂度,给出初始的预测模式选择方法;
在线训练模块的作用是获取第3个GOP的各个模式的编码时间、分布数量,以及各帧编码时间占GOP编码时间的比例,作为后续模式选择模块和复杂度更新模块的依据;
复杂度分配模块的功能是负责将序列的目标复杂度向下分配到各个层级,包括GOP层级、帧层级以及CTU层级;
模式选择模块的作用是根据分配给当前CTU的复杂度,确定启用的模式;
复杂度更新模块能够自适应地减少误差;在第3个GOP编码完成以后,把每M个GOP作为一组,每一组中的最后1帧作标准的HEVC编码,运行复杂度更新模块,用于更新每一帧的目标编码时间。
进一步的,所述的离线训练模块具体如下:
定义HEVC编码时采用的10种预测模式,用
Figure BDA0002741547820000091
表示,每种模式所需的编码时间用
Figure BDA0002741547820000092
来表示,其中d=0,1,2,3是CU深度,j=0,1,2...10,这11种预测模式依次分别代表帧间预测模式Merge/Skip(MSM),Inter_2Nx2N,Inter_2NxN,Inter_Nx2N,Inter_NxN,Inter_2NxnU,Inter_2NxnD,Inter_nLx2N,Inter_nRx2N和帧内预测模式Intra_2Nx2N,Intra_NxN。根据实际的编码结果,得到初始的模式选择规则。
进一步的,获取了复杂度分配模块分配给当前CTU的复杂度之后,首先根据离线训练模块的训练结果,确定基本的预测模式,如果此时编码复杂度小于目标复杂度,则按照在线训练模块的模式选择情况的降序列表,将模式逐一加入到基本的预测模式中,直到编码复杂度大于或等于目标复杂度;对于没有选中的模式,在接下来的CTU编码过程中将会被跳过,从而将CTU实际的编码复杂度调整在目标复杂度附近。
如图2所示,一种面向HEVC快速编码的自适应复杂度调整系统及方法,使用了HEVC视频编码的HM16.7编解码器,测试条件参考JCT-VC的通用测试条件(JCTVC-H1100),使用HM16.7自带的低时延编码配置文件encoder_lowdelay_P_main.cfg,量化参数QP取22,27,32,37。参数设置为M=4,WG=4,TC=0.6。测试视频序列使用BQTerrace进行测试。
(一)离线训练模块
步骤(I)、根据设定的编码复杂度TC=0.6,对视频进行HEVC标准编码,得到实际的编码时间
Figure BDA0002741547820000101
则视频的低复杂度编码时间
Figure BDA0002741547820000102
计算为:
Figure BDA0002741547820000103
则视频中每个CTU的低复杂度编码时间
Figure BDA0002741547820000104
计算为:
Figure BDA0002741547820000105
其中,
Figure BDA0002741547820000106
表示正在编码的视频的每帧的CTU数量,FW和FL表示每帧视频的宽度和长度,Fall为配置文件中指定的编码总帧数。
步骤(II)、根据
Figure BDA0002741547820000107
估计得到初始的预测模式,其规则是:
(a)当
Figure BDA0002741547820000108
时,选择
Figure BDA0002741547820000109
模式;
(b)当
Figure BDA00027415478200001010
时,选择模式
Figure BDA00027415478200001011
(c)当
Figure BDA00027415478200001012
选择模式
Figure BDA00027415478200001013
Figure BDA00027415478200001014
(d)当
Figure BDA00027415478200001015
时,选择模式
Figure BDA00027415478200001016
(二)在线训练模块
在线训练模块的流程如图3所示。其具体步骤为:
步骤(I)、在序列的前3个GOP不对其进行复杂度调整,直接使用HM的原始编码方法进行编码,并在第3个GOP编码完成后,统计在第3个GOP内每一帧的编码时间
Figure BDA0002741547820000111
该GOP内每个深度下每种模式的编码时间
Figure BDA0002741547820000112
以及该GOP内每个深度下每种模式的数量
Figure BDA0002741547820000113
步骤(II)、把统计得到的
Figure BDA0002741547820000114
按照从大到小的顺序进行排序,其结果保存在一个模式集合
Figure BDA0002741547820000115
中,用于模式选择模块。
步骤(III)、计算第3个GOP内每帧占GOP总时间的比例
Figure BDA0002741547820000116
用于复杂度分配模块的复杂度分配和复杂度更新模块复杂度更新:
Figure BDA0002741547820000117
(三)复杂度分配模块
步骤(I)、在第3个GOP编码完成以后,预测整个序列的编码时间
Figure BDA0002741547820000118
Figure BDA0002741547820000119
其中,Fall是编码总帧数,Tf表示第f帧的实际编码时间。由于第1个GOP只有1帧,所以第3个GOP编码完成之后已编码的帧数为9。结合设定的目标复杂度TC=0.6,即可得到序列的目标编码时间
Figure BDA00027415478200001110
Figure BDA00027415478200001111
步骤(Ⅱ)、从第4个GOP开始,在每个GOP编码之前,获取这个GOP的目标编码时间
Figure BDA0002741547820000121
Figure BDA0002741547820000122
上式中的
Figure BDA0002741547820000123
表示已编码视频帧所消耗的时间,Fall是编码的总帧数,Fpast表示的则是当前已编码的帧数。
步骤(Ⅲ)、将
Figure BDA0002741547820000124
分配到GOP内的每一帧:
Figure BDA0002741547820000125
上式中
Figure BDA0002741547820000126
表示的是分配到GOP内每帧的编码时间,
Figure BDA0002741547820000127
由公式(3)计算。
步骤(Ⅳ)、将
Figure BDA0002741547820000128
的时间分配到当前帧内的每个CTU:
Figure BDA0002741547820000129
上式中
Figure BDA00027415478200001210
表示当前帧内已编码的时间,
Figure BDA00027415478200001211
指当前帧的CTU总数,
Figure BDA00027415478200001212
表示的则是当前帧已编码的CTU数量。
(四)模式选择模块
模式选择模块的流程如图4所示。其具体步骤是:
步骤(I)、根据复杂度分配模块得到的当前CTU的目标编码时间
Figure BDA00027415478200001213
以及在线训练模块中得到的每个深度下每种模式的编码时间
Figure BDA00027415478200001214
运用离线训练模块步骤(II)的分配规则,得到初始的预测模式。
步骤(II)、将初始的预测模式的编码时间进行累加,如果其编码时间小于
Figure BDA00027415478200001215
则根据在线训练模块获得的模式集合
Figure BDA00027415478200001216
从前往后依次加入到预测模式之中,直到累加得到的编码时间大于或等于
Figure BDA00027415478200001217
并保存此时所有的预测模式,开始对当前CTU进行编码。
(五)复杂度更新模块
步骤(I)、在第3个GOP后,每4个GOP作一组,每一组的最后1帧作HEVC的标准编码,对序列的预测时间进行更新。设f表示当前编码帧的帧号,当(f-8)%16=0时,计算预测的序列编码时间为:
Figure BDA0002741547820000131
其中,Tg表示的是第g个符合(f-8)%16=0的帧的实际编码时间。对这些帧的编码时间取均值,然后除以第3个GOP中最后一帧的编码时间占整个GOP编码时间的比例
Figure BDA0002741547820000132
即可获得更新后的每个GOP的编码时间。然后再乘以剩余的GOP数
Figure BDA0002741547820000133
并加上已编码帧所消耗的实际编码时间
Figure BDA0002741547820000134
即可获得更新后的序列编码时间,它用于更新复杂度分配模块中的公式(6),然后利用公式(7),计算得到每一帧的目标编码时间
Figure BDA0002741547820000135
步骤(II)、从第4个GOP开始,每一帧编码完成之后,将该帧的实际编码时间Tf与目标编码时间
Figure BDA0002741547820000136
作差,得时间差Trest:
Figure BDA0002741547820000137
将Trest加到下一帧的目标编码时间
Figure BDA0002741547820000138
得到更新的目标编码时间:
Figure BDA0002741547820000139
上式的结果用于计算复杂度分配模块中公式(8)的
Figure BDA00027415478200001310

Claims (8)

1.面向HEVC快速编码的自适应复杂度调整系统及方法,其特征在于包括离线训练模块、在线训练模块、复杂度分配模块、模式选择模块和复杂度更新模块;
离线训练模块采用标准的HEVC编码,根据实际的视频序列编码时间,计算出每个编码树(CTU)编码所需的时间,然后根据不同的目标复杂度,给出初始的预测模式选择方法;
在线训练模块的作用是获取第3个图片组(GOP)的各个模式的编码时间、分布数量,以及各帧编码时间占GOP编码时间的比例,作为后续模式选择模块和复杂度更新模块的依据;
复杂度分配模块的功能是负责将序列的目标复杂度向下分配到各个层级,包括GOP层级、帧层级以及CTU层级;
模式选择模块的作用是根据分配给当前CTU的复杂度,确定启用的模式;
复杂度更新模块能够自适应地减少误差;在第3个GOP编码完成以后,把每M个GOP作为一组,每一组中的最后1帧作标准的HEVC编码,运行复杂度更新模块,用于更新每一帧的目标编码时间。
2.根据权利要求1所述的面向HEVC快速编码的自适应复杂度调整系统及方法,其特征在于所述的离线训练模块具体如下:
定义HEVC编码时采用的10种预测模式,用
Figure FDA0002741547810000011
表示,每种模式所需的编码时间用
Figure FDA0002741547810000012
来表示,其中d=0,1,2,3是CU深度,j=0,1,2...10,这11种预测模式依次分别代表帧间预测模式Merge/Skip(MSM),Inter_2Nx2N,Inter_2NxN,Inter_Nx2N,Inter_NxN,Inter_2NxnU,Inter_2NxnD,Inter_nLx2N,Inter_nRx2N和帧内预测模式Intra_2Nx2N,Intra_NxN。
3.根据权利要求1或2所述的面向HEVC快速编码的自适应复杂度调整系统及方法,其特征在于在获取了复杂度分配模块分配给当前CTU的复杂度之后,首先根据离线训练模块的训练结果,确定基本的预测模式,如果此时编码复杂度小于目标复杂度,则按照在线训练模块的模式选择情况的降序列表,将模式逐一加入到基本的预测模式中,直到编码复杂度大于或等于目标复杂度;对于没有选中的模式,在接下来的CTU编码过程中将会被跳过,从而将CTU实际的编码复杂度调整在目标复杂度附近。
4.根据权利要求3所述的面向HEVC快速编码的自适应复杂度调整系统及方法,其特征在于离线训练模块的具体实现步骤如下:
步骤(I)、设定的编码复杂度TC,并对视频进行HEVC标准编码,得到实际的编码时间
Figure FDA0002741547810000021
则视频的低复杂度编码时间
Figure FDA0002741547810000022
计算为:
Figure FDA0002741547810000023
则视频中每个CTU的低复杂度编码时间
Figure FDA0002741547810000024
计算为:
Figure FDA0002741547810000025
其中,
Figure FDA0002741547810000026
表示正在编码的视频的每帧的CTU数量,FW和FL表示每帧视频的宽度和长度,Fall为编码总帧数;
步骤(II)、根据低复杂度编码时间
Figure FDA0002741547810000027
估计得到初始的预测模式,其规则是:
(a)当
Figure FDA0002741547810000028
时,选择
Figure FDA0002741547810000029
模式;
(b)当
Figure FDA00027415478100000210
时,选择模式
Figure FDA00027415478100000211
(c)当
Figure FDA00027415478100000212
选择模式
Figure FDA00027415478100000213
Figure FDA00027415478100000214
(d)当
Figure FDA00027415478100000215
时,选择模式
Figure FDA00027415478100000216
5.根据权利要求4所述的面向HEVC快速编码的自适应复杂度调整系统及方法,其特征在于在线训练模块的具体实现步骤如下:
步骤(I)、在序列的前3个GOP不对其进行复杂度调整,直接使用HM的原始编码方法进行编码,并在第3个GOP编码完成后,统计在第3个GOP内每一帧的编码时间
Figure FDA00027415478100000217
这里WG(Width of GOP)表示编码器设置的GOPSize的宽度,第3个GOP的总时间
Figure FDA0002741547810000031
该GOP内每个深度下每种模式的编码时间
Figure FDA0002741547810000032
以及该GOP内每个深度下每种模式的数量
Figure FDA0002741547810000033
步骤(II)、把统计得到的
Figure FDA0002741547810000034
按照从大到小的顺序进行排序,其结果保存在一个模式集合
Figure FDA0002741547810000035
中,用于模式选择模块;
步骤(III)、计算第3个GOP内每帧占GOP总时间的比例
Figure FDA0002741547810000036
用于复杂度分配模块的复杂度分配和复杂度更新模块的复杂度更新:
Figure FDA0002741547810000037
6.根据权利要求5所述的面向HEVC快速编码的自适应复杂度调整系统及方法,其特征在于复杂度分配模块的具体实现步骤如下:
步骤(I)、在第3个GOP编码完成以后,预测整个序列的编码时间
Figure FDA0002741547810000038
Figure FDA0002741547810000039
其中,Fall是编码总帧数,Tf表示第f帧的实际编码时间;由于第1个GOP只有1帧,所以第3个GOP编码完成之后已编码的帧数为(2×WG+1);结合设定的目标复杂度TC,即可得到序列的目标编码时间
Figure FDA00027415478100000310
Figure FDA00027415478100000311
步骤(Ⅱ)、从第4个GOP开始,在每个GOP编码之前,获取这个GOP的目标编码时间
Figure FDA00027415478100000312
Figure FDA00027415478100000313
上式中的
Figure FDA0002741547810000041
表示已编码视频帧所消耗的时间,Fall是编码总帧数,Fpast是当前已编码的帧数;
步骤(Ⅲ)、将
Figure FDA0002741547810000042
分配到GOP内的每一帧:
Figure FDA0002741547810000043
上式中
Figure FDA0002741547810000044
表示的是分配到GOP内每帧的编码时间,
Figure FDA0002741547810000045
由公式(3)计算;
步骤(Ⅳ)、将
Figure FDA0002741547810000046
的时间分配到当前帧内的每个CTU:
Figure FDA0002741547810000047
上式中
Figure FDA0002741547810000048
表示当前帧内已编码的时间,
Figure FDA0002741547810000049
指当前帧的CTU总数,
Figure FDA00027415478100000410
表示的则是当前帧已编码的CTU数量。
7.根据权利要求6所述的面向HEVC快速编码的自适应复杂度调整系统及方法,其特征在于模式选择模块的具体实现步骤如下:
步骤(I)、根据复杂度分配模块得到的当前CTU的目标编码时间
Figure FDA00027415478100000411
以及在线训练模块中得到的每个深度下每种模式的编码时间
Figure FDA00027415478100000412
运用离线训练模块步骤(II)的分配规则,得到初始的预测模式;
步骤(II)、将初始的预测模式的编码时间进行累加,如果其编码时间小于
Figure FDA00027415478100000413
则根据在线训练模块获得的模式集合
Figure FDA00027415478100000414
从前往后依次加入到预测模式之中,直到累加得到的编码时间大于或等于
Figure FDA00027415478100000415
并保存此时所有的预测模式,开始对当前CTU进行编码。
8.根据权利要求7所述的面向HEVC快速编码的自适应复杂度调整系统及方法,其特征在于复杂度更新模块的具体实现步骤如下:
步骤(I)、在第3个GOP后,每M个GOP作一组,每一组的最后1帧作HEVC的标准编码,对序列的预测时间进行更新;设f表示当前编码帧的帧号,当(f-2WG)%(M×WG)=0时,计算预测的序列编码时间为:
Figure FDA0002741547810000051
其中,Tg表示的是第g个符合(f-2WG)%(M×WG)=0的帧的实际编码时间;对这些帧的编码时间取均值,然后除以第3个GOP中最后一帧的编码时间占整个GOP编码时间的比例
Figure FDA0002741547810000052
即可获得更新后的每个GOP的编码时间;然后再乘以剩余的GOP数
Figure FDA0002741547810000053
并加上已编码帧所消耗的实际编码时间
Figure FDA0002741547810000054
即可获得更新后的序列编码时间,它用于更新复杂度分配模块中的公式(6),然后利用公式(7),计算得到更新的每一帧的目标编码时间
Figure FDA0002741547810000055
步骤(II)、从第4个GOP开始,每一帧编码完成之后,将该帧的实际编码时间Tf与目标编码时间
Figure FDA0002741547810000056
作差,得时间差Trest:
Figure FDA0002741547810000057
将Trest加到下一帧的目标编码时间
Figure FDA0002741547810000058
得到更新的目标编码时间:
Figure FDA0002741547810000059
上式的结果用于计算复杂度分配模块中公式(8)的
Figure FDA00027415478100000510
CN202011152367.7A 2020-10-26 2020-10-26 面向hevc快速编码的自适应复杂度调整系统及方法 Active CN112351279B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011152367.7A CN112351279B (zh) 2020-10-26 2020-10-26 面向hevc快速编码的自适应复杂度调整系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011152367.7A CN112351279B (zh) 2020-10-26 2020-10-26 面向hevc快速编码的自适应复杂度调整系统及方法

Publications (2)

Publication Number Publication Date
CN112351279A true CN112351279A (zh) 2021-02-09
CN112351279B CN112351279B (zh) 2023-07-28

Family

ID=74360171

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011152367.7A Active CN112351279B (zh) 2020-10-26 2020-10-26 面向hevc快速编码的自适应复杂度调整系统及方法

Country Status (1)

Country Link
CN (1) CN112351279B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113382258A (zh) * 2021-06-10 2021-09-10 北京百度网讯科技有限公司 视频编码方法、装置、设备和介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106231303A (zh) * 2016-07-22 2016-12-14 上海交通大学 一种hevc编码中使用预测模式进行复杂度控制的方法
CN106231301A (zh) * 2016-07-22 2016-12-14 上海交通大学 基于编码单元层次和率失真代价的hevc复杂度控制方法
CN106412611A (zh) * 2016-09-26 2017-02-15 宁波大学 一种高效视频编码的复杂度控制方法
US20180332278A1 (en) * 2017-05-15 2018-11-15 City University Of Hong Kong Hevc with complexity control based on dynamic ctu depth range adjustment
CN109729351A (zh) * 2018-12-18 2019-05-07 中南大学 一种低复杂度配置下的hevc快速模式选择方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106231303A (zh) * 2016-07-22 2016-12-14 上海交通大学 一种hevc编码中使用预测模式进行复杂度控制的方法
CN106231301A (zh) * 2016-07-22 2016-12-14 上海交通大学 基于编码单元层次和率失真代价的hevc复杂度控制方法
CN106412611A (zh) * 2016-09-26 2017-02-15 宁波大学 一种高效视频编码的复杂度控制方法
US20180332278A1 (en) * 2017-05-15 2018-11-15 City University Of Hong Kong Hevc with complexity control based on dynamic ctu depth range adjustment
CN109729351A (zh) * 2018-12-18 2019-05-07 中南大学 一种低复杂度配置下的hevc快速模式选择方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113382258A (zh) * 2021-06-10 2021-09-10 北京百度网讯科技有限公司 视频编码方法、装置、设备和介质
CN113382258B (zh) * 2021-06-10 2022-10-21 北京百度网讯科技有限公司 视频编码方法、装置、设备和介质

Also Published As

Publication number Publication date
CN112351279B (zh) 2023-07-28

Similar Documents

Publication Publication Date Title
CN109688414B (zh) 一种vvc帧内编码单元候选预测模式缩减及块划分提前终止方法
US8559501B2 (en) Method and apparatus for adaptively determining a bit budget for encoding video pictures
CN106231320B (zh) 一种支持多机并行编码的联合码率控制方法及系统
CN103517069A (zh) 一种基于纹理分析的hevc帧内预测快速模式选择方法
CN110662078B (zh) 适用于avs2和hevc的4k/8k超高清编码帧间编码帧快速算法
CN104853191B (zh) 一种hevc的快速编码方法
CN108200431B (zh) 一种视频编码码率控制帧层比特分配方法
JPH0898179A (ja) 画像符号化装置
CN106937116B (zh) 基于随机训练集自适应学习的低复杂度视频编码方法
CN105141954A (zh) 一种hevc帧间编码快速模式选择方法
CN106791848B (zh) 一种基于HEVC的Two-Pass码率控制方法
CN104243997A (zh) 一种质量可分级hevc视频编码方法
CN104601992B (zh) 基于贝叶斯最小风险决策的skip模式快速选择方法
JP2007166608A (ja) ビデオ符号化方法及びビデオ符号化システム
Liang et al. A novel RQ model based rate control scheme in HEVC
CN106412611B (zh) 一种高效视频编码的复杂度控制方法
CN110139101B (zh) 一种基于λ域码率控制的帧级比特分配方法
CN104754335A (zh) 一种视频编码码率控制方法
CN110896481B (zh) 一种适用于hevc的快速帧内模式编码方法
CN104333755B (zh) HEVC中B帧的基于SKIP/Merge RD Cost的CU提前终止方法
CN108989818B (zh) 一种图像编码参数调整方法及装置
CN108322740B (zh) 一种编码复杂度可控的编码方法
CN100525454C (zh) 帧间预测模式的选择方法
JP2015192403A (ja) 符号化装置及び符号化方法
CN112351279B (zh) 面向hevc快速编码的自适应复杂度调整系统及方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20240103

Address after: 509 Kangrui Times Square, Keyuan Business Building, 39 Huarong Road, Gaofeng Community, Dalang Street, Longhua District, Shenzhen, Guangdong Province, 518000

Patentee after: Shenzhen lizhuan Technology Transfer Center Co.,Ltd.

Address before: 310018 No. 2 street, Xiasha Higher Education Zone, Hangzhou, Zhejiang

Patentee before: HANGZHOU DIANZI University