[发明专利]面向HEVC快速编码的自适应复杂度调整系统及方法有效
申请号: | 202011152367.7 | 申请日: | 2020-10-26 |
公开(公告)号: | CN112351279B | 公开(公告)日: | 2023-07-28 |
发明(设计)人: | 陆宇;毛翔田;黄晓峰;周洋;杨萌;殷海兵 | 申请(专利权)人: | 杭州电子科技大学 |
主分类号: | H04N19/14 | 分类号: | H04N19/14;H04N19/61;H04N19/177;H04N19/103 |
代理公司: | 杭州君度专利代理事务所(特殊普通合伙) 33240 | 代理人: | 朱月芬 |
地址: | 310018 浙*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 面向 hevc 快速 编码 自适应 复杂度 调整 系统 方法 | ||
1.面向HEVC快速编码的自适应复杂度调整系统,其特征在于包括离线训练模块、在线训练模块、复杂度分配模块、模式选择模块和复杂度更新模块;
离线训练模块采用标准的HEVC编码,根据实际的视频序列编码时间,计算出每个编码树(CTU)编码所需的时间,然后根据不同的目标复杂度,给出初始的预测模式选择方法;
在线训练模块的作用是获取第3个图片组(GOP)的各个模式的编码时间、分布数量,以及各帧编码时间占GOP编码时间的比例,作为后续模式选择模块和复杂度更新模块的依据;
复杂度分配模块的功能是负责将序列的目标复杂度向下分配到各个层级,包括GOP层级、帧层级以及CTU层级;
模式选择模块的作用是根据分配给当前CTU的复杂度,确定启用的模式;
复杂度更新模块能够自适应地减少误差;在第3个GOP编码完成以后,把每M个GOP作为一组,每一组中的最后1帧作标准的HEVC编码,运行复杂度更新模块,用于更新每一帧的目标编码时间;
所述的离线训练模块具体如下:
定义HEVC编码时采用的10种预测模式,用表示,每种模式所需的编码时间用来表示,其中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实际的编码复杂度调整在目标复杂度附近;
离线训练模块的具体实现步骤如下:
步骤(I)、设定的编码复杂度TC,并对视频进行HEVC标准编码,得到实际的编码时间则视频的低复杂度编码时间计算为:
则视频中每个CTU的低复杂度编码时间计算为:
其中,表示正在编码的视频的每帧的CTU数量,FW和FL表示每帧视频的宽度和长度,Fall为编码总帧数;
步骤(II)、根据低复杂度编码时间估计得到初始的预测模式,其规则是:
(a)当时,选择模式;
(b)当时,选择模式
(c)当选择模式
(d)当时,选择模式
在线训练模块的具体实现步骤如下:
步骤(I)、在序列的前3个GOP不对其进行复杂度调整,直接使用HM的原始编码方法进行编码,并在第3个GOP编码完成后,统计在第3个GOP内每一帧的编码时间这里WG(Width of GOP)表示编码器设置的GOPSize的宽度,第3个GOP的总时间该GOP内每个深度下每种模式的编码时间以及该GOP内每个深度下每种模式的数量
步骤(II)、把统计得到的按照从大到小的顺序进行排序,其结果保存在一个模式集合中,用于模式选择模块;
步骤(III)、计算第3个GOP内每帧占GOP总时间的比例用于复杂度分配模块的复杂度分配和复杂度更新模块的复杂度更新:
复杂度分配模块的具体实现步骤如下:
步骤(I)、在第3个GOP编码完成以后,预测整个序列的编码时间
其中,Fall是编码总帧数,Tf表示第f帧的实际编码时间;由于第1个GOP只有1帧,所以第3个GOP编码完成之后已编码的帧数为(2×WG+1);结合设定的目标复杂度TC,即可得到序列的目标编码时间
步骤(Ⅱ)、从第4个GOP开始,在每个GOP编码之前,获取这个GOP的目标编码时间
上式中的表示已编码视频帧所消耗的时间,Fall是编码总帧数,Gpast是当前已编码的帧数;
步骤(Ⅲ)、将分配到GOP内的每一帧:
上式中表示的是分配到GOP内每帧的编码时间,由公式(3)计算;
步骤(Ⅳ)、将的时间分配到当前帧内的每个CTU:
上式中表示当前帧内已编码的时间,指当前帧的CTU总数,表示的则是当前帧已编码的CTU数量;
模式选择模块的具体实现步骤如下:
步骤(I)、根据复杂度分配模块得到的当前CTU的目标编码时间以及在线训练模块中得到的每个深度下每种模式的编码时间运用离线训练模块步骤(II)的分配规则,得到初始的预测模式;
步骤(II)、将初始的预测模式的编码时间进行累加,如果其编码时间小于则根据在线训练模块获得的模式集合从前往后依次加入到预测模式之中,直到累加得到的编码时间大于或等于并保存此时所有的预测模式,开始对当前CTU进行编码;
复杂度更新模块的具体实现步骤如下:
步骤(I)、在第3个GOP后,每M个GOP作一组,每一组的最后1帧作HEVC的标准编码,对序列的预测时间进行更新;设f表示当前编码帧的帧号,当(f-2WG)%(M×WG)=0时,计算预测的序列编码时间为:
其中,Tg表示的是第g个符合(f-2WG)%(M×WG)=0的帧的实际编码时间;对这些帧的编码时间取均值,然后除以第3个GOP中最后一帧的编码时间占整个GOP编码时间的比例即可获得更新后的每个GOP的编码时间;然后再乘以剩余的GOP数并加上已编码帧所消耗的实际编码时间即可获得更新后的序列编码时间,它用于更新复杂度分配模块中的公式(6),然后利用公式(7),计算得到更新的每一帧的目标编码时间
步骤(II)、从第4个GOP开始,每一帧编码完成之后,将该帧的实际编码时间Tf与目标编码时间作差,得时间差Trest:
将Trest加到下一帧的目标编码时间得到更新的目标编码时间:
上式的结果用于计算复杂度分配模块中公式(8)的
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州电子科技大学,未经杭州电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011152367.7/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种管材二次加工用曲线弯折设备
- 下一篇:一种水下声学定位导航授时系统