一种基于四叉树编码分割的hevc复杂度控制方法

文档序号:9399631阅读:621来源:国知局
一种基于四叉树编码分割的hevc复杂度控制方法
【技术领域】
[0001] 本发明属于视频编码领域,具体涉及一种基于四叉树编码分割的HEVC复杂度控 制方法。
【背景技术】
[0002] 在视频编码领域,复杂度控制对视频编码有重要影响;复杂度控制一般是指降低 原编码复杂度至任意指定目标复杂度,同时保证由复杂度降低所导致的视频失真最小。在 视频编码的演进过程中,伴随着编码效率的不断提高,视频编码的复杂度也不断提高;降低 和控制视频编码的复杂度成为视频编码的关键问题。
[0003] 高效率视频编码HEVC(High Efficiency Video Coding)标准,也称为H. 265,能够 减少时空冗余以满足高清乃至超高清视频的压缩需求,具有灵活的图像分割方案,并行化 编解码设定,相比较之前的H. 264/AVC视频编码标准,HEVC可以在只消耗H. 264 -半码率 的前提下获得几乎相同的视频压缩质量;但是这是以编码复杂度作为代价的,这种高昂的 编码复杂度对HEVC的实时编码的应用造成了很大的挑战。
[0004] 随着当下智能终端的多样化发展,越来越多的智能终端(智能手机,平板电脑,笔 记本电脑,计算机等)进入到人们的生活。计算能力的各异化导致其对视频编码时编码复 杂度的承受能力各不相同。同时,智能终端自带的电量往往难以满足长时间的视频录制。因 此,有必要根据智能终端实际计算能力和电量水平进行视频编码的复杂度控制。
[0005] 四叉树编码分割算法是HEVC采用的一种新的图像分割算法,这种算法对于编码 效率的提升显著,但由于要遍历几乎所有可能的不同深度的编码块,导致其编码复杂度很 尚。

【发明内容】

[0006] 本发明针对现有的HEVC复杂度控制算法无法实现精准控制并且无法保证控制后 视频主观质量的问题,提出了一种基于四叉树编码分割的HEVC复杂度控制方法,实现不同 智能终端在不同计算能力下HEVC编码复杂度的精准控制,并保证控制后视频的主观质量。
[0007] 具体步骤如下:
[0008] 步骤一、用户根据自己的需求或者终端的计算能力设定视频编码每一帧的初始目 标复杂度。
[0009] 步骤二、编码器利用区域显著性检测算法生成视频中每一帧的编码块权重图谱。
[0010] 具体包括:
[0011] 步骤201、输入视频帧;
[0012] 每一帧包括多个编码块,每个编码块包括多个像素点;
[0013] 步骤202、利用区域显著性检测算法获得视频中每个编码块包含的每个像素点的 权重值;
[0014] 步骤203、计算每个编码块内所有像素点权重值,取平均值获得该编码块的权重;
[0015] 针对第i个编码块,计算编码块i内的所有像素点的权重值并取平均值,获得编码 块i的权重W 1,公式为:
[0016]
[0017] 其中,Vn表示第η个像素点的权重值,η为整数,M为编码块内所有像素点的个数。
[0018] 步骤204、将每一帧内所有编码块的权重值构成权重图谱。
[0019] 步骤三、根据每一帧目标复杂度和编码块权重图谱,编码器设计每一帧的块级别 复杂度-失真优化控制模型;
[0020] 步骤301、通过训练至少三个视频,建立编码深度与编码复杂度之间的函数关系;
[0021] 步骤(1)、选取至少三个训练视频,包含上万个编码块;
[0022] 步骤(2)、将所有编码块的编码深度设置为最大值3 ;记录每一个编码块的编码时 间C1 (3),作为参考时间。
[0023] i表示编码块的序号,为自然数;
[0024] 步骤(3)、将所有编码块的编码深度分别设置不同的深度值山,(1# {3, 2, 1,0},记 录每一个编码块在相应的编码深度下的编码时间C1 (Cl1)。
[0025] 步骤(4)、利用参考时间对编码时间C1 (Cl1)进行归一化,获得每一个编码块归一化 的编码时间,即相对归一化编码复杂度,公式为:
[0026]
[0027] 步骤(5)、对所有训练视频的所有编码块的相对归一化编码复杂度取平均值,获得 不同编码深度(I i对应的编码复杂度C(d J。
[0028] 步骤302、通过训练至少三个视频,建立编码深度与失真程度之间的函数关系;
[0029] 步骤(3-1)、选取至少三个训练视频,包含上万个编码块;
[0030] 步骤(3-2)、将所有编码块的编码深度设置为最大值3,记录每一个编码块编码后 的均方误差值MSE 1 (3),作为参考均方误差值。
[0031] i表示编码块的序号,为自然数;
[0032] 步骤(3-3)、将所有编码块的编码深度分别设置为不同的深度值山, Cl1G {3, 2, 1,0},记录每一个编码块在相应的编码深度下的编码后的均方误差值MSE Jd1)。
[0033] 步骤(3-4)、利用参考均方误差值对均方误差值MSE1 (Cl1)进行归一化,得到每一个 编码块在不同编码深度下的归一化失真程度r公式如下:
[0034]
[0035] 步骤(3-5)、对所有训练视频的所有编码块的归一化失真程度与最大深度的关系 做二次拟合,获得不同编码深度Cl 1所对应的失真程度ADW J。
[0036] 步骤303、综合编码深度与编码复杂度,失真程度之间的函数关系以及步骤二中每 一帧的编码块权重图谱,得到每帧的块级别复杂度-失真优化控制模型;
[0037]
[0038] 其中,I为每一帧内编码块的数量,T。为初始目标复杂度,AD(Cl1)为编码深度 为山时所对应的编码失真;C(d J在编码深度为山时所对应的编码复杂度。针对第i 个和第1个两个编码块,O1是第i个编码块的权重值;ω 1是第1个编码块的权重值, AD(Cl1)是第1个编码块的失真程度,通过比较两个编码块的权重值和失真程度,满足条件: Vq 2 ,保证了权重值高的编码块的失真程度小于权重低的编码块的失 真程度。
[0039] 步骤四、针对视频中的所有帧,循环更新当前帧的目标复杂度替换前一帧的目标 复杂度,应用于步骤三中得到的当前帧的块级别复杂度-失真优化控制模型;
[0040] 步骤401、针对视频的前N帧,正常编码不进行复杂度控制,计算编码时间之和tg;
[0041] 步骤402、获取前N帧的平均编码时间作为参考时间ts:
[0042]
[0043] 其中,tg是前N帧的编码时间之和,N为整数;T。是初始目标复杂度。
[0044] 步骤403、利用初始目标复杂度,对第N+1帧的目标复杂度TN+1进行调整,公式为:
[0045]
[0046] 其中,F为视频所包含的所有帧的数量。
[0047] 步骤404、循环计算第N+1帧之后的帧的目标复杂度作为当前帧的目标复杂度,替 换前一帧的目标复杂度并应用于块级别复杂度-失真优化控制模型中。
[0048] 计算当前帧之前所有帧的编码时间的平均值4,根据tk与参考时间ts的关系获得 当前帧的目标复杂度,公式如下:
[0049]
[0050] 其中,k为当前帧,k > N+1 ; α和β用来调整复杂度波动幅度和波动频率,α和 β值越接近1,复杂度的波动幅度越大,波动频率越小。a和b用来调整复杂度控制精度和 复杂度波动幅度,a和b值越大,复杂度控制精度越高,波动幅度越大。
[0051] 步骤405、利用每帧的块级别复杂度-失真优化控制模型控制该帧的实际编码复 杂度;使当前帧的实际编码复杂度等于当前帧设定的目标复杂度。
[0052] 步骤五、当前视频的所有帧全部处理完,编码结束。
[0053] 本发明的优点在于:
[0054] (1) -种基于四叉树编码分割的HEVC复杂度控制方法,可以在最大程度地保证视 频主观质量的前提下,将视频编码的复杂度降低至指定水平。
[0055] (2) -种基于四叉树编码分割的HEVC复杂度控制方法,用户可以在编码端根据既 定需求指定目标复杂度进行编码,从而将HEVC编解码广泛地应用于具有不同计算能力或 者不同电量的终端设备中,或在一定电量下完成指定时间内的视频录制。
【附图说明】
[0056] 图1为本发明基于四叉树编码分割的HEVC复杂度控制方法的流程图;
[0057] 图2为本发明生成视频每一帧的编码块权重图谱的方法流程图;
[0058] 图3为本发明编码块权重图谱的效果示意图;
[0059] 图4为本发明设计每帧的块级别复杂度-失真优化控制模型的方法流程图;
[0060] 图5为本发明编码深度与复杂度之间关系训练流程图;
[0061] 图6为本发明编码深度与失真程度之间关系训练流程图;
[0062] 图7为本发明更新当前帧的目标复杂度方法流程图;
[0063] 图8为本发明编码深度与复杂度之间关系训练效果图;
[0064] 图9为本发明编码深度与失真程度之间关系训练效果图;
[0065] 图10为本发明编码深度与失真程度的拟合关系图;
[0066] 图11为本发明编码深度分配示意图;
[0067] 图12为本发明帧级别复杂度分配调整示意效果图。<
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1