1.面向HEVC快速编码的自适应复杂度调整系统及方法,其特征在于包括离线训练模块、在线训练模块、复杂度分配模块、模式选择模块和复杂度更新模块;
离线训练模块采用标准的HEVC编码,根据实际的视频序列编码时间,计算出每个编码树(CTU)编码所需的时间,然后根据不同的目标复杂度,给出初始的预测模式选择方法;
在线训练模块的作用是获取第3个图片组(GOP)的各个模式的编码时间、分布数量,以及各帧编码时间占GOP编码时间的比例,作为后续模式选择模块和复杂度更新模块的依据;
复杂度分配模块的功能是负责将序列的目标复杂度向下分配到各个层级,包括GOP层级、帧层级以及CTU层级;
模式选择模块的作用是根据分配给当前CTU的复杂度,确定启用的模式;
复杂度更新模块能够自适应地减少误差;在第3个GOP编码完成以后,把每M个GOP作为一组,每一组中的最后1帧作标准的HEVC编码,运行复杂度更新模块,用于更新每一帧的目标编码时间。
2.根据权利要求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。
3.根据权利要求1或2所述的面向HEVC快速编码的自适应复杂度调整系统及方法,其特征在于在获取了复杂度分配模块分配给当前CTU的复杂度之后,首先根据离线训练模块的训练结果,确定基本的预测模式,如果此时编码复杂度小于目标复杂度,则按照在线训练模块的模式选择情况的降序列表,将模式逐一加入到基本的预测模式中,直到编码复杂度大于或等于目标复杂度;对于没有选中的模式,在接下来的CTU编码过程中将会被跳过,从而将CTU实际的编码复杂度调整在目标复杂度附近。
4.根据权利要求3所述的面向HEVC快速编码的自适应复杂度调整系统及方法,其特征在于离线训练模块的具体实现步骤如下:步骤(I)、设定的编码复杂度TC,并对视频进行HEVC标准编码,得到实际的编码时间则视频的低复杂度编码时间 计算为:则视频中每个CTU的低复杂度编码时间 计算为:
其中, 表示正在编码的视频的每帧的CTU数量,FW和FL表示每帧视频的宽度和长度,Fall为编码总帧数;
步骤(II)、根据低复杂度编码时间 估计得到初始的预测模式,其规则是:(a)当 时,选择 模式;
(b)当 时,选择模式
(c)当 选择模式
(d)当 时,选择模式
5.根据权利要求4所述的面向HEVC快速编码的自适应复杂度调整系统及方法,其特征在于在线训练模块的具体实现步骤如下:步骤(I)、在序列的前3个GOP不对其进行复杂度调整,直接使用HM的原始编码方法进行编码,并在第3个GOP编码完成后,统计在第3个GOP内每一帧的编码时间这里WG(Width of GOP)表示编码器设置的GOPSize的宽度,第3个GOP的总时间 该GOP内每个深度下每种模式的编码时间 以及该GOP内每个深度下每种模式的数量步骤(II)、把统计得到的 按照从大到小的顺序进行排序,其结果保存在一个模式集合 中,用于模式选择模块;
步骤(III)、计算第3个GOP内每帧占GOP总时间的比例 用于复杂度分配模块的复杂度分配和复杂度更新模块的复杂度更新:。
6.根据权利要求5所述的面向HEVC快速编码的自适应复杂度调整系统及方法,其特征在于复杂度分配模块的具体实现步骤如下:步骤(I)、在第3个GOP编码完成以后,预测整个序列的编码时间其中,Fall是编码总帧数,Tf表示第f帧的实际编码时间;由于第1个GOP只有1帧,所以第3个GOP编码完成之后已编码的帧数为(2×WG+1);结合设定的目标复杂度TC,即可得到序列的目标编码时间步骤(Ⅱ)、从第4个GOP开始,在每个GOP编码之前,获取这个GOP的目标编码时间上式中的 表示已编码视频帧所消耗的时间,Fall是编码总帧数,Fpast是当前已编码的帧数;
步骤(Ⅲ)、将 分配到GOP内的每一帧:
上式中 表示的是分配到GOP内每帧的编码时间, 由公式(3)计算;
步骤(Ⅳ)、将 的时间分配到当前帧内的每个CTU:
上式中 表示当前帧内已编码的时间, 指当前帧的CTU总数, 表示的则是当前帧已编码的CTU数量。
7.根据权利要求6所述的面向HEVC快速编码的自适应复杂度调整系统及方法,其特征在于模式选择模块的具体实现步骤如下:步骤(I)、根据复杂度分配模块得到的当前CTU的目标编码时间 以及在线训练模块中得到的每个深度下每种模式的编码时间 运用离线训练模块步骤(II)的分配规则,得到初始的预测模式;
步骤(II)、将初始的预测模式的编码时间进行累加,如果其编码时间小于 则根据在线训练模块获得的模式集合 从前往后依次加入到预测模式之中,直到累加得到的编码时间大于或等于 并保存此时所有的预测模式,开始对当前CTU进行编码。
8.根据权利要求7所述的面向HEVC快速编码的自适应复杂度调整系统及方法,其特征在于复杂度更新模块的具体实现步骤如下:步骤(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)的