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

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

Info

Publication number
CN105120295B
CN105120295B CN201510490394.8A CN201510490394A CN105120295B CN 105120295 B CN105120295 B CN 105120295B CN 201510490394 A CN201510490394 A CN 201510490394A CN 105120295 B CN105120295 B CN 105120295B
Authority
CN
China
Prior art keywords
msub
mrow
complexity
coding
frame
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
Application number
CN201510490394.8A
Other languages
English (en)
Other versions
CN105120295A (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 CN201510490394.8A priority Critical patent/CN105120295B/zh
Publication of CN105120295A publication Critical patent/CN105120295A/zh
Application granted granted Critical
Publication of CN105120295B publication Critical patent/CN105120295B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本发明公开了一种基于四叉树编码分割的HEVC复杂度控制方法,属于视频编码领域,具体步骤如下:一、用户设定视频编码的初始目标复杂度;步骤二、利用区域显著性检测算法生成视频中每一帧的编码块权重图谱;步骤三、编码器设计每一帧的块级别复杂度‑失真优化控制模型;步骤四、针对视频中的所有帧,循环更新当前帧的目标复杂度替换前一帧的目标复杂度,应用于当前帧的块级别复杂度‑失真优化控制模型;步骤五、编码结束。优点在于:用户在编码端根据既定需求指定目标复杂度进行编码,从而将HEVC编解码广泛地应用于具有不同计算能力或者不同电量的终端设备中,或在一定电量下完成指定时间内的视频录制。

Description

一种基于四叉树编码分割的HEVC复杂度控制方法
技术领域
本发明属于视频编码领域,具体涉及一种基于四叉树编码分割的HEVC复杂度控制方法。
背景技术
在视频编码领域,复杂度控制对视频编码有重要影响;复杂度控制一般是指降低原编码复杂度至任意指定目标复杂度,同时保证由复杂度降低所导致的视频失真最小。在视频编码的演进过程中,伴随着编码效率的不断提高,视频编码的复杂度也不断提高;降低和控制视频编码的复杂度成为视频编码的关键问题。
高效率视频编码HEVC(High Efficiency Video Coding)标准,也称为H.265,能够减少时空冗余以满足高清乃至超高清视频的压缩需求,具有灵活的图像分割方案,并行化编解码设定,相比较之前的H.264/AVC视频编码标准,HEVC可以在只消耗H.264一半码率的前提下获得几乎相同的视频压缩质量;但是这是以编码复杂度作为代价的,这种高昂的编码复杂度对HEVC的实时编码的应用造成了很大的挑战。
随着当下智能终端的多样化发展,越来越多的智能终端(智能手机,平板电脑,笔记本电脑,计算机等)进入到人们的生活。计算能力的各异化导致其对视频编码时编码复杂度的承受能力各不相同。同时,智能终端自带的电量往往难以满足长时间的视频录制。因此,有必要根据智能终端实际计算能力和电量水平进行视频编码的复杂度控制。
四叉树编码分割算法是HEVC采用的一种新的图像分割算法,这种算法对于编码效率的提升显著,但由于要遍历几乎所有可能的不同深度的编码块,导致其编码复杂度很高。
发明内容
本发明针对现有的HEVC复杂度控制算法无法实现精准控制并且无法保证控制后视频主观质量的问题,提出了一种基于四叉树编码分割的HEVC复杂度控制方法,实现不同智能终端在不同计算能力下HEVC编码复杂度的精准控制,并保证控制后视频的主观质量。
具体步骤如下:
步骤一、用户根据自己的需求或者终端的计算能力设定视频编码每一帧的初始目标复杂度。
步骤二、编码器利用区域显著性检测算法生成视频中每一帧的编码块权重图谱。
具体包括:
步骤201、输入视频帧;
每一帧包括多个编码块,每个编码块包括多个像素点;
步骤202、利用区域显著性检测算法获得视频中每个编码块包含的每个像素点的权重值;
步骤203、计算每个编码块内所有像素点权重值,取平均值获得该编码块的权重;
针对第i个编码块,计算编码块i内的所有像素点的权重值并取平均值,获得编码块i的权重ωi,公式为:
其中,vn表示第n个像素点的权重值,n为整数,M为编码块内所有像素点的个数。
步骤204、将每一帧内所有编码块的权重值构成权重图谱。
步骤三、根据每一帧目标复杂度和编码块权重图谱,编码器设计每一帧的块级别复杂度-失真优化控制模型;
步骤301、通过训练至少三个视频,建立编码深度与编码复杂度之间的函数关系;
步骤(1)、选取至少三个训练视频,包含上万个编码块;
步骤(2)、将所有编码块的编码深度设置为最大值3;记录每一个编码块的编码时间Ci(3),作为参考时间。
i表示编码块的序号,为自然数;
步骤(3)、将所有编码块的编码深度分别设置不同的深度值di,di∈{3,2,1,0},记录每一个编码块在相应的编码深度下的编码时间Ci(di)。
步骤(4)、利用参考时间对编码时间Ci(di)进行归一化,获得每一个编码块归一化的编码时间即相对归一化编码复杂度,公式为:
步骤(5)、对所有训练视频的所有编码块的相对归一化编码复杂度取平均值,获得不同编码深度di对应的编码复杂度C(di)。
步骤302、通过训练至少三个视频,建立编码深度与失真程度之间的函数关系;
步骤(3-1)、选取至少三个训练视频,包含上万个编码块;
步骤(3-2)、将所有编码块的编码深度设置为最大值3,记录每一个编码块编码后的均方误差值MSEi(3),作为参考均方误差值。
i表示编码块的序号,为自然数;
步骤(3-3)、将所有编码块的编码深度分别设置为不同的深度值di,di∈{3,2,1,0},记录每一个编码块在相应的编码深度下的编码后的均方误差值MSEi(di)。
步骤(3-4)、利用参考均方误差值对均方误差值MSEi(di)进行归一化,得到每一个编码块在不同编码深度下的归一化失真程度公式如下:
步骤(3-5)、对所有训练视频的所有编码块的归一化失真程度与最大深度的关系做二次拟合,获得不同编码深度di所对应的失真程度ΔD(di)。
步骤303、综合编码深度与编码复杂度,失真程度之间的函数关系以及步骤二中每一帧的编码块权重图谱,得到每帧的块级别复杂度-失真优化控制模型;
其中,I为每一帧内编码块的数量,Tc为初始目标复杂度,ΔD(di)为编码深度为di时所对应的编码失真;C(di)在编码深度为di时所对应的编码复杂度。针对第i个和第l个两个编码块,ωi是第i个编码块的权重值;ωl是第l个编码块的权重值,ΔD(dl)是第l个编码块的失真程度,通过比较两个编码块的权重值和失真程度,满足条件:保证了权重值高的编码块的失真程度小于权重低的编码块的失真程度。
步骤四、针对视频中的所有帧,循环更新当前帧的目标复杂度替换前一帧的目标复杂度,应用于步骤三中得到的当前帧的块级别复杂度-失真优化控制模型;
步骤401、针对视频的前N帧,正常编码不进行复杂度控制,计算编码时间之和tg
步骤402、获取前N帧的平均编码时间作为参考时间ts
其中,tg是前N帧的编码时间之和,N为整数;Tc是初始目标复杂度。
步骤403、利用初始目标复杂度,对第N+1帧的目标复杂度TN+1进行调整,公式为:
其中,F为视频所包含的所有帧的数量。
步骤404、循环计算第N+1帧之后的帧的目标复杂度作为当前帧的目标复杂度,替换前一帧的目标复杂度并应用于块级别复杂度-失真优化控制模型中。
计算当前帧之前所有帧的编码时间的平均值tk,根据tk与参考时间ts的关系获得当前帧的目标复杂度,公式如下:
其中,k为当前帧,k>N+1;α和β用来调整复杂度波动幅度和波动频率,α和β值越接近1,复杂度的波动幅度越大,波动频率越小。a和b用来调整复杂度控制精度和复杂度波动幅度,a和b值越大,复杂度控制精度越高,波动幅度越大。
步骤405、利用每帧的块级别复杂度-失真优化控制模型控制该帧的实际编码复杂度;使当前帧的实际编码复杂度等于当前帧设定的目标复杂度。
步骤五、当前视频的所有帧全部处理完,编码结束。
本发明的优点在于:
(1)一种基于四叉树编码分割的HEVC复杂度控制方法,可以在最大程度地保证视频主观质量的前提下,将视频编码的复杂度降低至指定水平。
(2)一种基于四叉树编码分割的HEVC复杂度控制方法,用户可以在编码端根据既定需求指定目标复杂度进行编码,从而将HEVC编解码广泛地应用于具有不同计算能力或者不同电量的终端设备中,或在一定电量下完成指定时间内的视频录制。
附图说明
图1为本发明基于四叉树编码分割的HEVC复杂度控制方法的流程图;
图2为本发明生成视频每一帧的编码块权重图谱的方法流程图;
图3为本发明编码块权重图谱的效果示意图;
图4为本发明设计每帧的块级别复杂度-失真优化控制模型的方法流程图;
图5为本发明编码深度与复杂度之间关系训练流程图;
图6为本发明编码深度与失真程度之间关系训练流程图;
图7为本发明更新当前帧的目标复杂度方法流程图;
图8为本发明编码深度与复杂度之间关系训练效果图;
图9为本发明编码深度与失真程度之间关系训练效果图;
图10为本发明编码深度与失真程度的拟合关系图;
图11为本发明编码深度分配示意图;
图12为本发明帧级别复杂度分配调整示意效果图。
具体实施方式
下面结合附图与具体实例对本发明作进一步的描述:
一种基于四叉树编码分割的HEVC复杂度控制方法,包括检测区域显著性、建立块级别权重图谱,建立编码深度与编码复杂度之间的函数关系,以及编码深度与失真程度之间的函数关系,通过复杂度-失真优化控制模型控制每一帧的编码复杂度等于其相应的目标复杂度,以及在帧级别上调整目标复杂度。
首先由用户根据自身需求或者由终端的计算能力决定编码的初始目标复杂度,同时,由区域显著性检测(saliency detection)算法检测出每一个像素点的视觉显著性,进而生成块级别权重图谱。根据初始目标复杂度和块级别的权重图谱,进行块级别的编码复杂度控制。
在控制之前,通过统计学习,提前训练两个函数关系,获取编码深度与编码复杂度之间的对应关系,编码深度与失真程度之间的对应关系,将这两个关系和块级别的权重图谱应用到块级别复杂度-失真控制优化模型中。
在块级别的复杂度控制优化模型中,复杂度的控制是通过计算每一个编码块的编码深度实现的,深度越高,编码复杂度越高,所对应的视频失真越小。因此,可在实现目标编码复杂度的前提下,通过失真优化模型,最小化编码后视频的失真。除此之外,本发明还设置了帧级别的复杂度分配调整机制,这一机制旨在根据之前帧的实际编码复杂度来动态地调整当前帧的目标复杂度,其目的是在块级别复杂度控制的基础上,进一步保证视频整体的编码复杂度最大程度地接近目标复杂度,提高复杂度控制的准确性。
在块级别控制实施完成后,在帧级别进行复杂度的分配调整,获得下一帧的目标复杂度后,进行目标复杂度的更新,用获得的新的目标复杂度替换掉之前的目标复杂度,继续进行下一帧的块级别复杂度控制。
循环此过程直至整个视频编码结束。
具体步骤如下,如图1所示:
步骤一、用户根据自己的需求或者终端的计算能力设定视频编码每一帧的初始目标复杂度。
步骤二、编码器利用区域显著性检测算法生成视频帧中每一帧的编码块权重图谱。
如图2所示,包括如下步骤:
步骤201、输入视频帧;
视频的格式优选原始的YUV文件,但不局限于此格式。
视频由帧组成,每一帧包括多个编码块,每个编码块含有多个像素点;本发明实例中,编码块尺寸为64×64;
如果编码区域不重合的话,一个像素点只能属于一个编码块,每个编码块可以包含多个像素点;
步骤202、利用区域显著性检测算法获得视频帧中每个编码块包含的每一个像素点的权重;
每一个像素点的视觉显著性就是每一个像素点的权重值,本发明优选PQFT(phasespectrum of quaternion Fourier transform)区域显著性检测算法计算每一个像素点的视觉显著性。
步骤203、计算每个编码块内所有像素点权重值,取平均值获得该编码块的权重;
针对编码块i,计算编码块内的所有像素点的视觉显著性并取平均值,获得编码块i的视觉显著性ωi,公式为:
其中,vn表示第n个像素点的视觉显著性。编码块尺寸为64×64;M为编码块内所有像素点的个数,本发明实例中的M值为64×64。
步骤204、将视频每一帧内所有编码块的权重值构成权重图谱;
对视频中每一帧内的每一个编码块都进行步骤203,获得每一个编码块的视觉显著性,从而生成该帧的编码块权重图谱。
本实施例选取的视频中生成的块级别的权重图谱如图3所示;
步骤三、根据每一帧目标复杂度和编码块权重图谱,编码器设计每一帧的块级别复杂度-失真优化控制模型;
编码深度与复杂度之间关系训练是基于四叉树编码分割的体系;具体步骤如图4所示,
步骤301、建立编码深度与编码复杂度之间的关系;
如图5和图8所示,具体包括:
步骤(1)、选取至少三个训练视频,包含上万个编码块;
本发明不局限于训练视频数量和编码块深度。
步骤(2)、将所有编码块的编码深度设置为最大值3;记录每一个编码块的编码时间Ci(3),作为参考时间。
i表示编码块的序号,为自然数;编码块的深度分别为3,2,1和0,本实例中最大值为3。
步骤(3)、将所有编码块的编码深度分别设置为不同的深度值di,di∈{3,2,1,0},记录每一个编码块在相应的编码深度下的编码时间Ci(di)。
步骤(4)、利用参考时间对编码时间Ci(di)进行归一化,获得每一个编码块归一化的编码时间即相对编码复杂度,归一化公式为:
步骤(5)、对所有训练视频的所有编码块的归一化编码复杂度取平均值,获得不同编码深度di对应的编码复杂度C(di)。
步骤302、建立编码深度与失真程度之间的关系;
训练流程图如图6和图9所示,具体包括:
步骤(3-1)、选取至少三个训练视频,包含上万个编码块;
步骤(3-2)、将所有编码块的编码深度设置为最大值,记录每一个编码块编码后的均方误差值MSEi(3),作为参考均方误差值。
编码块的深度分别为3,2,1和0。将所有编码块的编码深度设置为最大值3,记录每一个编码块编码后的均方误差MSE(Mean Square Error)值MSEi(3),作为参考均方误差值。
i表示编码块的序号,为自然数;
步骤(3-3)、将所有编码块的编码深度分别设置为不同的深度值di,di∈{3,2,1,0},记录每一个编码块在相应的编码深度下的编码后的均方误差值,记为MSEi(di)。
步骤(3-4)、利用参考均方误差值对均方误差值MSEi(di)进行归一化,得到每一个编码块在不同编码深度下的归一化失真程度公式如下:
步骤(3-5)、对所有训练视频的所有编码块的归一化失真程度与最大深度的关系做二次拟合,即可获得不同编码深度di所对应的失真程度ΔD(di)。
如图10所示,横坐标是编码深度,纵坐标是失真程度,图中的黑点表示在对应深度下的失真程度,黑点包含所有训练视频,然后对所有的数据进行多项式拟合,得到图中的蓝线,即最终的关于编码深度和失真程度的关系。
步骤303、综合编码深度与编码复杂度之间的关系,编码深度与失真程度之间的通用的函数关系以及步骤二中每一帧的编码块权重图谱,得到每帧的块级别复杂度-失真优化控制模型;
该模型表示如下:
其中,I为每一帧内编码块的数量,Tc为初始目标复杂度,ΔD(di)为编码深度为di时所对应的编码失真;C(di)在编码深度为di时所对应的编码复杂度。针对第i个和第l个两个编码块,ωi是第i个编码块的权重值;ωl是第l个编码块的权重值,ΔD(dl)是第l个编码块的失真程度,通过比较两个编码块的权重值和失真程度,满足条件:保证了权重值高的编码块的失真程度小于权重低的编码块的失真程度。
该块级别复杂度-失真优化控制模型中,含有一个优化目标和两个优化条件。优化目标是第一个表达式,使得视频整体的客观失真最小,优化条件有两个:第一是:中间的表达式保证控制的准确度,即实际编码复杂度等于目标复杂度;第二是:最后一个表达式,保证编码后视频的主观质量,即要求显著性比较高的编码块的失真程度较小。
在满足第一个优化条件的情况下,可以获得编码深度分别为3,2,1和0所对应的编码块数量:分别为N3,N2,N1和N0。在此基础上,为了满足第二个优化条件,需要对编码块的视觉显著性ωi进行排序,为了使显著性高的编码块失真较小,需要赋予其相对较大的编码深度。
在实施例中优选快速排序法,但不局限于快速排序方法。具体的分配过程,如图11所示:按照编码块的视觉显著性大小,编码深度被分配给每一个编码块,显著性越大的编码块所分配的编码深度也越高,并且总体满足N3,N2,N1和N0四者之和为每一帧中编码块的总数量。
步骤四、针对步骤二输入的视频中的所有帧,循环更新当前帧的目标复杂度替换前一帧的目标复杂度,应用于步骤三得到的当前帧的块级别复杂度-失真优化控制模型中;
如图7所示,包括以下几个步骤:
步骤401、针对视频的前N帧,正常编码不进行复杂度控制,计算编码时间之和tg
步骤402、获取前N帧的平均编码时间作为参考时间ts
视频的前N帧进行正常编码,即不进行任何的复杂度控制,获取参考时间tS
其中,tg是前N帧的编码时间之和,Tc是初始目标复杂度。N为整数。
步骤403、利用初始目标复杂度,对第N+1帧的目标复杂度TN+1进行调整;
由于前N帧不进行复杂度控制,对整体的复杂度控制结果会有一定的影响,为了尽量消除这种影响,需要对第N+1帧的目标复杂度TN+1进行调整,调整公式为:
其中,F为视频所包含的所有帧的数量。
步骤404、循环计算第N+1帧之后的帧的目标复杂度作为当前帧的目标复杂度,替换前一帧的目标复杂度并应用于块级别复杂度-失真优化控制模型中。
在对当前帧,假设第k帧,k>N+1,进行编码之前,需要更新其目标复杂度。首先,需要计算k帧之前所有帧的编码时间的平均值,记为tk,然后根据tk与ts的关系获得第k帧的目标复杂度,具体计算方法如下:
其中,α和β是用来调整复杂度波动幅度和波动频率的,其值越接近1,复杂度的波动幅度越大,波动频率越小。a和b是用来调整复杂度控制精度和复杂度波动幅度的,其值越大,复杂度控制精度越高,波动幅度越大。在本实例中,α和β取值可分别为1.2和0.8,a和b的取值为2%,但不局限于上述取值。
步骤405、利用每帧的块级别复杂度-失真优化控制模型控制该帧的实际编码复杂度,使当前帧的实际编码复杂度等于该帧设定的初始目标复杂度。
实际编码复杂度与初始目标复杂度基本保持一致。
步骤五、当前视频的所有帧全部处理完,编码结束。
如图12所示,展示了在剩余电量不足的应用场景下,随着电量的变化,视频编码的复杂度控制结果和相应的视频质量变化情况。可以看出,应用本发明的方法后,视频编码的复杂度随着电量的降低而减小,但是这种复杂度的减小主要发生在显著性比较低的区域,即图中的黑色区域,而显著性较高的区域的编码复杂度并没有降低,在一定程度上保证了由复杂度降低所导致的视频主观失真。
一种基于四叉树编码分割的HEVC复杂度控制方法,特点在于具有面向主观重要性的编码复杂度分配机制,能够按照区域的视觉显著性来分配相应的编码复杂度,在一定程度上减小由于编码复杂度的降低所导致的视频失真。同时,采用了块级别和帧级别的双级复杂度控制方法,保证了复杂度控制的准确度;通过建立一种基于四叉树编码分割的复杂度-失真优化控制模型来准确地控制HEVC视频编码的复杂度,能够根据不同智能终端的编码能力和设备的剩余电量动态地调整HEVC编码器的复杂度;适用于多种具有视频编码需求的智能终端中。
可根据用户端设置的目标复杂度,通过复杂度控制算法,通过保证关键区域的视频编码质量,保证编码后视频整体的主观质量;在最大程度地保证视频主观质量的前提下,将实际视频编码的复杂度降低至指定水平的目标复杂度。
本发明通过设定目标复杂度,对视频编码的复杂度进行准确地控制,适用于需要进行视频编码但计算能力受限或者电量不足的终端设备中。尽管本发明已参照具体实施方式进行描述和举例说明,但是并不意味着本发明限于这些描述的实施方式。

Claims (2)

1.一种基于四叉树编码分割的HEVC复杂度控制方法,其特征在于,具体步骤如下:
步骤一、用户根据自己的需求或者终端的计算能力设定视频编码初始目标复杂度;
步骤二、编码器利用区域显著性检测算法生成视频中每一帧的编码块权重图谱;
步骤三、根据每一帧的目标复杂度和编码块权重图谱,编码器设计每一帧的块级别复杂度-失真优化控制模型;
具体包括以下步骤:
步骤301、通过训练至少三个视频,建立编码深度与编码复杂度之间的函数关系;
具体包括:
步骤(1)、选取至少三个训练视频;
步骤(2)、将所有编码块的编码深度设置为最大值3;记录每一个编码块的编码时间Ci(3),作为参考时间;i表示编码块的序号,为自然数;
步骤(3)、将所有编码块的编码深度分别设置不同的深度值di,di∈{3,2,1,0},记录每一个编码块在相应的编码深度下的编码时间Ci(di);
步骤(4)、利用参考时间对编码时间Ci(di)进行归一化,获得每一个编码块的相对归一化编码复杂度公式为:
<mrow> <msub> <mover> <mi>C</mi> <mo>~</mo> </mover> <mi>i</mi> </msub> <mrow> <mo>(</mo> <msub> <mi>d</mi> <mi>i</mi> </msub> <mo>)</mo> </mrow> <mo>=</mo> <mfrac> <mrow> <msub> <mi>C</mi> <mi>i</mi> </msub> <mrow> <mo>(</mo> <msub> <mi>d</mi> <mi>i</mi> </msub> <mo>)</mo> </mrow> </mrow> <mrow> <msub> <mi>C</mi> <mi>i</mi> </msub> <mrow> <mo>(</mo> <mn>3</mn> <mo>)</mo> </mrow> </mrow> </mfrac> <mo>,</mo> </mrow>
步骤(5)、对所有训练视频的所有编码块的相对归一化编码复杂度取平均值,获得不同编码深度di对应的编码复杂度C(di);
步骤302、通过训练至少三个视频,建立编码深度与失真程度之间的函数关系;具体包括:
步骤(3-1)、选取至少三个训练视频;
步骤(3-2)、将所有编码块的编码深度设置为最大值3,记录每一个编码块编码后的均方误差值MSEi(3),作为参考均方误差值;
i表示编码块的序号,为自然数;
步骤(3-3)、将所有编码块的编码深度分别设置为不同的深度值di,di∈{3,2,1,0},记录每一个编码块在相应的编码深度下的编码后的均方误差值MSEi(di);
步骤(3-4)、利用参考均方误差值对均方误差值MSEi(di)进行归一化,得到每一个编码块在不同编码深度下的归一化失真程度公式如下:
<mrow> <mi>&amp;Delta;</mi> <msub> <mover> <mi>D</mi> <mo>~</mo> </mover> <mi>i</mi> </msub> <mrow> <mo>(</mo> <msub> <mi>d</mi> <mi>i</mi> </msub> <mo>)</mo> </mrow> <mo>=</mo> <mfrac> <mrow> <msub> <mi>MSE</mi> <mi>i</mi> </msub> <mrow> <mo>(</mo> <msub> <mi>d</mi> <mi>i</mi> </msub> <mo>)</mo> </mrow> <mo>-</mo> <msub> <mi>MSE</mi> <mi>i</mi> </msub> <mrow> <mo>(</mo> <mn>3</mn> <mo>)</mo> </mrow> </mrow> <mrow> <msub> <mi>MSE</mi> <mi>i</mi> </msub> <mrow> <mo>(</mo> <mn>3</mn> <mo>)</mo> </mrow> </mrow> </mfrac> <mo>,</mo> <msub> <mi>d</mi> <mi>i</mi> </msub> <mo>&amp;Element;</mo> <mo>{</mo> <mn>3</mn> <mo>,</mo> <mn>2</mn> <mo>,</mo> <mn>1</mn> <mo>,</mo> <mn>0</mn> <mo>}</mo> </mrow>
步骤(3-5)、对所有训练视频的所有编码块的归一化失真程度与最大深度的关系做二次拟合,获得不同编码深度di所对应的失真程度ΔD(di);
步骤303、综合编码深度与编码复杂度、失真程度之间的函数关系以及步骤二中每一帧的编码块权重图谱,得到每帧的块级别复杂度-失真优化控制模型:
<mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <munder> <mi>min</mi> <msubsup> <mrow> <mo>{</mo> <msub> <mi>d</mi> <mi>i</mi> </msub> <mo>}</mo> </mrow> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>I</mi> </msubsup> </munder> <munderover> <mo>&amp;Sigma;</mo> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>I</mi> </munderover> <mi>&amp;Delta;</mi> <mi>D</mi> <mrow> <mo>(</mo> <msub> <mi>d</mi> <mi>i</mi> </msub> <mo>)</mo> </mrow> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <mfrac> <mn>1</mn> <mi>I</mi> </mfrac> <munderover> <mo>&amp;Sigma;</mo> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>I</mi> </munderover> <mi>C</mi> <mrow> <mo>(</mo> <msub> <mi>d</mi> <mi>i</mi> </msub> <mo>)</mo> </mrow> <mo>=</mo> <msub> <mi>T</mi> <mi>c</mi> </msub> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <mo>&amp;ForAll;</mo> <msub> <mi>&amp;omega;</mi> <mi>i</mi> </msub> <mo>&amp;GreaterEqual;</mo> <msub> <mi>&amp;omega;</mi> <mi>l</mi> </msub> <mo>,</mo> <mi>&amp;Delta;</mi> <mi>D</mi> <mrow> <mo>(</mo> <msub> <mi>d</mi> <mi>i</mi> </msub> <mo>)</mo> </mrow> <mo>&amp;le;</mo> <mi>&amp;Delta;</mi> <mi>D</mi> <mrow> <mo>(</mo> <msub> <mi>d</mi> <mi>l</mi> </msub> <mo>)</mo> </mrow> </mrow> </mtd> </mtr> </mtable> </mfenced>
其中,I为每一帧内编码块的数量;Tc为初始目标复杂度;ΔD(di)为编码深度为di时所对应的编码失真;C(di)在编码深度为di时所对应的编码复杂度;针对第i个和第l个两个编码块,ωi是第i个编码块的权重值;ωl是第l个编码块的权重值;ΔD(dl)是第l个编码块的失真程度;通过比较两个编码块的权重值和失真程度,满足条件:ΔD(di)≤ΔD(dl),保证了权重值高的编码块的失真程度小于权重低的编码块的失真程度;
步骤四、针对视频中的所有帧,循环更新当前帧的目标复杂度替换前一帧的目标复杂度,应用于步骤三中得到的当前帧的块级别复杂度-失真优化控制模型;
具体包括以下步骤:
步骤401、针对视频的前N帧,正常编码不进行复杂度控制,计算编码时间之和tg
步骤402、获取前N帧的平均编码时间作为参考时间ts
<mrow> <msub> <mi>t</mi> <mi>s</mi> </msub> <mo>=</mo> <msub> <mi>T</mi> <mi>c</mi> </msub> <mo>&amp;CenterDot;</mo> <mfrac> <msub> <mi>t</mi> <mi>g</mi> </msub> <mi>N</mi> </mfrac> </mrow>
其中,tg是前N帧的编码时间之和,N为整数;
步骤403、利用初始目标复杂度,对第N+1帧的目标复杂度TN+1进行调整,公式为:
<mrow> <msub> <mi>T</mi> <mrow> <mi>N</mi> <mo>+</mo> <mn>1</mn> </mrow> </msub> <mo>=</mo> <msub> <mi>T</mi> <mi>c</mi> </msub> <mo>+</mo> <mfrac> <mi>N</mi> <mrow> <mi>F</mi> <mo>-</mo> <mi>N</mi> </mrow> </mfrac> <mo>&amp;CenterDot;</mo> <mrow> <mo>(</mo> <msub> <mi>T</mi> <mi>c</mi> </msub> <mo>-</mo> <mn>1</mn> <mo>)</mo> </mrow> </mrow>
其中,F为视频所包含的所有帧的数量;
步骤404、循环计算第N+1帧之后的帧的目标复杂度作为当前帧的目标复杂度,替换前一帧的目标复杂度并应用于块级别复杂度-失真优化控制模型中;
计算当前帧之前所有帧的编码时间的平均值tk,根据tk与参考时间ts的关系获得当前帧的目标复杂度,公式如下:
<mrow> <msub> <mi>T</mi> <mrow> <mi>k</mi> <mo>+</mo> <mn>1</mn> </mrow> </msub> <mo>=</mo> <mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <msub> <mi>T</mi> <mrow> <mi>N</mi> <mo>+</mo> <mn>1</mn> </mrow> </msub> <mo>-</mo> <mi>a</mi> <mo>,</mo> <msub> <mi>t</mi> <mi>k</mi> </msub> <mo>&amp;GreaterEqual;</mo> <msub> <mi>&amp;alpha;t</mi> <mi>s</mi> </msub> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mi>T</mi> <mrow> <mi>N</mi> <mo>+</mo> <mn>1</mn> </mrow> </msub> <mo>,</mo> <msub> <mi>&amp;beta;t</mi> <mi>s</mi> </msub> <mo>&lt;</mo> <msub> <mi>t</mi> <mi>k</mi> </msub> <mo>&lt;</mo> <msub> <mi>&amp;alpha;t</mi> <mi>s</mi> </msub> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mi>T</mi> <mrow> <mi>N</mi> <mo>+</mo> <mn>1</mn> </mrow> </msub> <mo>+</mo> <mi>b</mi> <mo>,</mo> <msub> <mi>t</mi> <mi>k</mi> </msub> <mo>&amp;le;</mo> <msub> <mi>&amp;beta;t</mi> <mi>s</mi> </msub> </mrow> </mtd> </mtr> </mtable> </mfenced> </mrow>
其中,k为当前帧,k>N+1;α和β用来调整复杂度波动幅度和波动频率,α和β值越接近1,复杂度的波动幅度越大,波动频率越小;a和b用来调整复杂度控制精度和复杂度波动幅度,a和b值越大,复杂度控制精度越高,波动幅度越大;
步骤405、利用每帧的块级别复杂度-失真优化控制模型控制该帧的实际编码复杂度;使当前帧的实际编码复杂度等于当前帧设定的目标复杂度;
步骤五、当前视频的所有帧全部处理完,编码结束。
2.如权利要求1所述的一种基于四叉树编码分割的HEVC复杂度控制方法,其特征在于,所述的步骤二,具体包括:
步骤201、输入视频帧;
步骤202、利用区域显著性检测算法获得视频帧中每个编码块包含的每个像素点的权重值;
步骤203、计算每个编码块内所有像素点权重值,取平均值获得该编码块的权重;
针对第i个编码块,计算编码块i内的所有像素点的权重值并取平均值,获得编码块i的权重ωi,公式为:
<mrow> <msub> <mi>&amp;omega;</mi> <mi>i</mi> </msub> <mo>=</mo> <mfrac> <mn>1</mn> <mi>M</mi> </mfrac> <munderover> <mo>&amp;Sigma;</mo> <mrow> <mi>n</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>M</mi> </munderover> <msub> <mi>v</mi> <mi>n</mi> </msub> </mrow>
其中,vn表示第n个像素点的权重值,n为整数,M为编码块内像素点的个数;
步骤204、将每一帧内所有编码块的权重值构成权重图谱。
CN201510490394.8A 2015-08-11 2015-08-11 一种基于四叉树编码分割的hevc复杂度控制方法 Active CN105120295B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510490394.8A CN105120295B (zh) 2015-08-11 2015-08-11 一种基于四叉树编码分割的hevc复杂度控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510490394.8A CN105120295B (zh) 2015-08-11 2015-08-11 一种基于四叉树编码分割的hevc复杂度控制方法

Publications (2)

Publication Number Publication Date
CN105120295A CN105120295A (zh) 2015-12-02
CN105120295B true CN105120295B (zh) 2018-05-18

Family

ID=54668141

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510490394.8A Active CN105120295B (zh) 2015-08-11 2015-08-11 一种基于四叉树编码分割的hevc复杂度控制方法

Country Status (1)

Country Link
CN (1) CN105120295B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107483931B (zh) * 2017-08-01 2019-10-08 南京邮电大学 一种基于显著度的hevc帧内编码深度划分快速决策方法
CN108322740B (zh) * 2018-01-10 2020-04-17 宁波大学 一种编码复杂度可控的编码方法
CN108495129B (zh) * 2018-03-22 2019-03-08 北京航空航天大学 基于深度学习方法的块分割编码复杂度优化方法及装置
CN108965873B (zh) * 2018-07-24 2020-02-14 北京大学 一种脉冲阵列编码的自适应划分方法
CN109660808B (zh) * 2018-12-21 2020-05-05 信通达智能科技有限公司 基于大数据存储的视频编码器以及相应终端
CN111510715B (zh) 2019-01-31 2022-03-01 上海哔哩哔哩科技有限公司 视频处理方法、系统、计算机设备及存储介质
CN110062228B (zh) * 2019-03-18 2022-04-05 北方工业大学 基于wmse的360度视频快速帧内预测算法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103533354A (zh) * 2013-10-10 2014-01-22 宁波大学 一种高清视频快速编码方法
CN104581159A (zh) * 2013-10-18 2015-04-29 华为技术有限公司 视频编解码中的块分割方式确定方法及相关装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106067983B (zh) * 2010-04-13 2019-07-12 Ge视频压缩有限责任公司 解码数据流的方法、生成数据流的方法及解码器

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103533354A (zh) * 2013-10-10 2014-01-22 宁波大学 一种高清视频快速编码方法
CN104581159A (zh) * 2013-10-18 2015-04-29 华为技术有限公司 视频编解码中的块分割方式确定方法及相关装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Complexity Control of High Efficiency Video Encoders;Guilherme Corrêa,Pedro Assuncao;《IEEE Transactions on Consumer Electronics》;20111130;全文 *
Xin Deng,Mai Xu,Shengxi Li,Zulin Wang;Complexity Control of HEVC Based on;《Visual Communications and Image Processing Conference, 2014 IEEE》;20141231;全文 *

Also Published As

Publication number Publication date
CN105120295A (zh) 2015-12-02

Similar Documents

Publication Publication Date Title
CN105120295B (zh) 一种基于四叉树编码分割的hevc复杂度控制方法
CN110310343B (zh) 图像处理方法及装置
US20170169736A1 (en) Data hiding method and data hiding system
CN104284190B (zh) 一种基于ambtc高低均值最优化的压缩图像隐写编码方法
CN104065976B (zh) 一种基于视频的图像压缩及保密传输方法
CN103345767A (zh) 一种高安全性的jpeg图像隐写方法
CN104780379A (zh) 一种屏幕图像集合的压缩方法
CN103051901A (zh) 视频数据编码装置和视频数据编码方法
CN108810530A (zh) 一种基于人眼视觉系统的avc码率控制方法
CN100574434C (zh) 一种图像压缩/解压缩方法和系统
CN111179144B (zh) 一种多进制秘密信息多次嵌入的高效信息隐藏方法
CN104994382A (zh) 一种感知率失真的优化方法
CN103313047A (zh) 一种视频编码方法及装置
CN108200431A (zh) 一种视频编码码率控制帧层比特分配方法
CN107197267A (zh) 高效视频编码标准量化参数的分配方法
CN102857760B (zh) 一种无反馈的优化码率的分布式视频编解码方法及其系统
CN104853215A (zh) 基于运动向量局部最优性保持的视频隐写方法
CN102685491B (zh) 一种实现视频编码的方法和系统
CN106210717A (zh) 一种基于视频显著性的hevc解码复杂度控制方法
CN103391439A (zh) 一种基于主动宏块隐藏的h.264/avc码率控制方法
Barannik et al. The Application of the Internal Restructuring Method of the Information Resource Data According to the Sign of the Number of Series of Units to Improve the Statistical Coding Efficiency
CN115022649B (zh) 基于可逆神经网络的高嵌入量且可上色的图像隐写及恢复方法
CN106921840A (zh) 一种即时视频中的人脸美化方法、设备及系统
CN104244008A (zh) 一种深度视频编码方法
CN102420980B (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