首页> 中国专利> 一种视频编码的帧内预测模式的快速确定方法及装置

一种视频编码的帧内预测模式的快速确定方法及装置

摘要

本发明公开了一种视频编码的帧内预测模式的快速确定方法及装置,用以解决现有技术中预测模式的选择计算过程复杂,运行效率较低,硬件成本高的问题,该方法通过基于当前LCU相邻的PU的数据以及计算得到的结果,依次计算每个PU的目标预测模式,在计算未位于相应BU的起始位置的PU,则根据该PU的相邻PU的目标预测模式得到该PU的候选预测模式,在计算位于相应BU起始位置的各层次PU,则根据低层次PU的目标预测模式得到该PU的候选预测模式。这样,可以快速得到当前LCU的最优分割方式和预测模式,保留了所有的预测模式以及保证了编码性能的同时,增加了编码效率,节省了运行时间,同时降低了硬件成本,极大的节省了资源开销。

著录项

  • 公开/公告号CN104954800A

    专利类型发明专利

  • 公开/公告日2015-09-30

    原文格式PDF

  • 申请/专利权人 炬芯(珠海)科技有限公司;

    申请/专利号CN201410126267.5

  • 发明设计人 桂海田;杨少军;

    申请日2014-03-28

  • 分类号H04N19/50(20140101);H04N19/105(20140101);

  • 代理机构11291 北京同达信恒知识产权代理有限公司;

  • 代理人朱佳

  • 地址 519085 广东省珠海市唐家湾镇高新区科技四路1号1#厂房一层C区

  • 入库时间 2023-12-18 11:14:22

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-01-16

    授权

    授权

  • 2015-12-09

    实质审查的生效 IPC(主分类):H04N19/50 申请日:20140328

    实质审查的生效

  • 2015-09-30

    公开

    公开

说明书

技术领域

本发明涉及视频编码领域,尤其涉及一种视频编码的帧内预测模式的快速确定方法及装置。

背景技术

未经编码压缩的动态图像和视频等的数据量非常大,在传输与存储过程中,很容易造成通信带宽以及数据存储容量紧张的问题,因此,在处理动态图像和视频等数据时,必须将该数据进行编码。高效视频编码(High-EfficiencyVideo Coding,HEVCH.265)是新一代视频编码标准,能极大地提高编码压缩效率,在H.264的基础上引进了很多新的功能,包括:最大编码单元(Large CodeUnit,LCU)、预测单元(Prediction Unit,PU)和变换单元(Transfer Unit,TU)的多层次分割,PU的不对称分割,帧内多预测模式等。由于帧内预测是利用空间的相关性对图像进行编码,不可以参考其他帧的像素信息,导致具有非常高的码率,例如,帧内预测帧(I帧)的编码比特数是帧内帧间预测(P帧)的数倍以上,所以,帧内预测在整个码率中占有的比例非常高。因此做好帧内预测是整个编码器性能好坏的关键因素。

参阅图1所示,HEVC标准中的帧内预测由H.264原来的9种预测模式增加到35种预测模式,其中,包含33个方向预测模式(Directional PredictionMode),一个直流模式(DC Mode)以及一个平面模式(Planar Mode)。

一个LCU中帧内预测模式的数目取决于PU的大小和数目。参阅图2所示,帧内编码的PU的大小可以为64*64,32*32,16*16,8*8或4*4。若需要计算一个64*64的LCU的帧内预测的最优分割方式与预测模式需要进行上万次模式选择,同时还需要进行率失真代价(Rate Distortion cost,RD cost)计算。因此,在帧内预测过程中,软件编码需要大量的运行时间和内存,硬件编码也需要大量的硬件资源来实现,且由于帧内预测模式的选择需要对每一种模式都进行选择,这样,需要非常长的周期才能得到最后的最佳帧内预测模式。

为了提高运行效率,在HEVC标准中在对每个预测模式都计算RD cost的基础上,还增加了快速模式,即只是计算绝对误差转换和(Sum of AbsoluteTransformed Difference,SATD),从35个预测模式中选择几个较优的模式,再加上最可能模式(most probable mode,MPM)一起计算RD cost,筛选出最优的目标帧内预测模式。

虽然如此,但是由于一个LCU有多层次分割方式,在随着对LCU分割层次的降低,PU的数量呈指数增长,例如,将一个64*64的LCU分割到4*4的层次,则分割后的PU包括:1个64*64块,4个32*32块,16个16*16块,64个8*8块,256个4*4的块,尽管使用快速模式,由于每个PU都需要从35个模式中选择,并且每一层次的PU分割都是独立的,因此,帧内预测模式的选择过程依然是非常复杂,最终运行效率较低,导致编码效率无法保证,且增加了硬件的成本。

发明内容

本发明实施例提供了一种视频编码的帧内预测模式的快速确定方法及装置,用以解决现有技术中的I帧的PU的分割以及预测模式的选择计算过程复杂,运行效率较低,硬件成本高的问题。

本发明实施例提供的具体技术方案如下:

第一方面,一种视频编码的帧内预测模式的快速确定方法,包括:

存储与当前最大编码单元LCU相邻的图像数据,以及当前LCU的图像数据;

根据当前LCU的像素大小,将当前LCU分割为4n个设定像素单位的基本运算单元(Basic-arithmetic Unit,BU),其中,n为大于或等于1的正整数;

依次根据预设的各个层次的像素单位将所述LCU中的每一个BU分割为对应层次的PU;

基于与当前LCU相邻的PU的数据,分别在每一个BU中按照从低层次到高层次的顺序,依次计算每一个PU的目标预测模式,其中,在计算任意一个PU的目标预测模式时,判断所述任意一个PU是否位于相应BU中的起始位置,确定未处于起始位置时,根据所述任意一个PU的上邻PU和左邻PU的目标预测模式,确定所述任意一个PU的候选预测模式,并根据每一种候选预测模式的绝对误差转换和SATD或者率-失真代价RD cost,在候选预测模式中筛选出所述任意一个PU的目标预测模式。

通过这种方法,计算未位于相应BU中的起始位置时的PU,则根据该PU的上邻PU和左邻PU的目标预测模式得到该PU的候选预测模式,可以降低了误差传递的同时,在保持所有预测模式数目不变、且所有PU的分层深度可选择的基础上,快速得到当前LCU的最优分割方式和预测模式,保证了编码性能的同时,极大的增加了编码效率,节省了运行时间,同时降低了硬件成本,极大的节省了资源开销。结合第一方面,在第一种可能的实现方式中,存储与当前LCU相邻的图像数据,包括:

至少存储与当前LCU相邻的图像数据的目标预测模式数据,以及帧模式数据。

通过这种方式,才能计算计算未位于相应BU中的起始位置时的PU,根据该PU的上邻PU和左邻PU的目标预测模式得到该PU的候选预测模式。

结合第一方面,在第二种可能的实现方式中,进一步包括:

在计算任意一个PU的目标预测模式时,若判定所述任意一个PU位于相应BU中的起始位置,则进一步判断所述任意一个PU的层次是否为最低层次;

若是,则将全部预测模式作为所述任意一个PU的候选预测模式,并根据每一种候选预测模式的SATD或者RD cost,在候选预测模式中筛选出所述任意一个PU的目标预测模式;

否则,根据位于相应BU中的起始位置的相邻低一层次的PU的目标预测模式,确定所述任意一个PU的候选预测模式,并根据每一种候选预测模式的SATD或者RD cost,在候选预测模式中筛选出所述任意一个PU目标预测模式。

通过这种方法,在计算位于相应BU中的起始位置时的且非最低层次的PU,根据位于该BU中起始位置的低一层次的PU的目标预测模式确定该PU的候选预测模式,可以快速得到当前LCU的最优分割方式和预测模式,保证了编码性能的同时,极大的增加了编码效率,节省了运行时间,同时降低了硬件成本,极大的节省了资源开销。

结合第一方面的第二种可能的实现方式,在第三种可能的实现方式中,确定所述任意一个PU的层次为非最低层次时,根据位于相应BU中的起始位置的相邻低一层次的PU的目标预测模式,确定所述任意一个PU的候选预测模式,包括:

确定位于所述相应BU中的起始位置的相邻低一层次的PU的目标预测模式;

确定与所述目标预测模式对应的标识的标识差为设定数目内的预测模式;

将确定的所有预测模式,以及平面模式Planar、直流模式DC、水平模式以及垂直模式作为所述任意一个PU的候选预测模式。

通过这种方式,可以根据低一层次的PU的目标预测模式确定高一层次的PU的候选预测模式,降低了高一层次的PU的候选预测模式数目。

结合第一方面,在第四种可能的实现方式中,根据所述任意一个PU的上邻PU和左邻PU的目标预测模式,确定所述任意一个PU的候选预测模式,包括:

确定所述任意一个PU的上邻PU的目标预测模式;

确定与所述上邻PU的目标预测模式对应的标识的标识差为设定数目内的预测模式;

确定所述任意一个PU的左邻PU的目标预测模式;

确定与所述左邻PU的目标预测模式对应的标识的标识差为设定数目内的预测模式;

将确定的所有预测模式,以及平面模式Planar、直流模式DC、水平模式以及垂直模式作为所述任意一个PU的候选预测模式。

通过这种方式,可以通过上邻PU和左邻PU的目标预测模式确定当前PU的候选预测模式,降低了当前PU的候选预测模式数目。

结合第一方面或第一方面的第一种至第四种可能的实现方式中的任意一种,在第五种可能的实现方式中,根据任意一个PU的每一种候选预测模式的SATD或者RD cost,在候选预测模式中筛选出所述任意一个PU目标预测模式,包括:

计算所述每一种候选预测模式的SATD或者RD cost,筛选出最小SADT或者RD cost对应的候选预测模式作为所述任意一个PU的目标预测模式。

通过这种方式,可以在候选预测模式中筛选出目标预测模式。

结合第一方面或第一方面的第一种至第四种可能的实现方式中的任意一种,在第六种可能的实现方式中,分别在每一个BU中按照从低层次到高层次的顺序,依次计算每一个PU的目标预测模式,包括:

并行计算预先设置的设定数目的BU中每一个PU的目标预测模式之后,按照从左到右,从上到下的顺序依次串行计算剩余的每一个BU中每一个PU的目标预测模式;或者,

按照从左到右,从上到下的顺序依次串行计算所有BU中的每一个BU中每一个PU的目标预测模式;或者,

并行计算所有BU中的每一个BU中每一个PU的目标预测模式。

通过这种方法,可以通过不同的方式串行或并行计算每一个BU中的PU的目标预测模式,可以节省运行时间,同时降低硬件成本,极大的节省资源开销。

结合第一方面的第六种可能的实现方式,在第七种可能的实现方式中,串行计算每一个BU中的每一个PU的目标预测模式,进一步包括:

得到当前BU中任意一层次的所有PU的目标预测模式后,则计算下一个BU中的所述任意一层次的PU的目标预测模式。

通过这种方法,计算当前层次的硬件资源可以一直处于运行计算状态,缩短了系统的计算时间,提高了硬件的利用率。

结合第一方面的第六种可能的实现方式,在第八种可能的实现方式中,计算任意一个BU中每一个PU的目标预测模式,包括:

当前层次的PU中按照从左到右,从上到下的顺序串行计算每一个PU的目标预测模式;

当确定当前层次的位于所述任意一个BU中的起始位置的PU的目标预测模式时,则开始相邻高一层次的位于所述任意一个BU中的起始位置中的PU的目标预测模式的计算。

通过这种方法,计算当前层次的硬件资源可以一直处于运行计算状态,缩短了系统的计算时间,提高了硬件的利用率。

第二方面,一种视频编码的帧内预测模式的快速确定装置,包括:

存储单元,用于存储与当前最大编码单元LCU相邻的图像数据,以及当前LCU的图像数据;

第一处理单元,用于根据当前LCU的像素大小,将当前LCU分割为4n个设定像素单位的基本运算单元BU,其中,n为大于或等于1的正整数;

第二处理单元,用于依次根据预设的各个层次的像素单位将所述LCU中的每一个BU分割为对应层次的PU;

计算单元,用于基于与当前LCU相邻的PU的数据,分别在每一个BU中按照从低层次到高层次的顺序,依次计算每一个PU的目标预测模式,其中,在计算任意一个PU的目标预测模式时,判断所述任意一个PU是否位于相应BU中的起始位置,确定未处于起始位置时,根据所述任意一个PU的上邻PU和左邻PU的目标预测模式,确定所述任意一个PU的候选预测模式,并根据每一种候选预测模式的绝对误差转换和SATD或者率-失真代价RD cost,在候选预测模式中筛选出所述任意一个PU的目标预测模式。

这样,计算未位于相应BU中的起始位置时的PU,则根据该PU的上邻PU和左邻PU的目标预测模式得到该PU的候选预测模式,可以降低了误差传递的同时,在保持所有预测模式数目不变、且所有PU的分层深度可选择的基础上,快速得到当前LCU的最优分割方式和预测模式,保证了编码性能的同时,极大的增加了编码效率,节省了运行时间,同时降低了硬件成本,极大的节省了资源开销。

结合第二方面,在第一种可能的实现方式中,所述存储单元存储与当前LCU相邻的图像数据,包括:

至少存储与当前LCU相邻的图像数据的目标预测模式数据,以及帧模式数据。

这样,才能计算计算未位于相应BU中的起始位置时的PU,根据该PU的上邻PU和左邻PU的目标预测模式得到该PU的候选预测模式。

结合第二方面,在第二种可能的实现方式中,所述计算单元,进一步用于:

在计算任意一个PU的目标预测模式时,若判定所述任意一个PU位于相应BU中的起始位置,则进一步判断所述任意一个PU的层次是否为最低层次;

若是,则将全部预测模式作为所述任意一个PU的候选预测模式,并根据每一种候选预测模式的SATD或者RD cost,在候选预测模式中筛选出所述任意一个PU的目标预测模式;

否则,根据位于相应BU中的起始位置的相邻低一层次的PU的目标预测模式,确定所述任意一个PU的候选预测模式,并根据每一种候选预测模式的SATD或者RD cost,在候选预测模式中筛选出所述任意一个PU目标预测模式。

这样,在计算位于相应BU中的起始位置时的且非最低层次的PU,根据位于该BU中起始位置的低一层次的PU的目标预测模式确定该PU的候选预测模式,可以快速得到当前LCU的最优分割方式和预测模式,保证了编码性能的同时,极大的增加了编码效率,节省了运行时间,同时降低了硬件成本,极大的节省了资源开销。

结合第二方面的第二种可能的实现方式,在第三种可能的实现方式中,所述计算单元确定所述任意一个PU的层次为非最低层次时,根据位于相应BU中的起始位置的相邻低一层次的PU的目标预测模式,确定所述任意一个PU的候选预测模式,包括:

确定位于所述相应BU中的起始位置的相邻低一层次的PU的目标预测模式;

确定与所述目标预测模式对应的标识的标识差为设定数目内的预测模式;

将确定的所有预测模式,以及平面模式Planar、直流模式DC、水平模式以及垂直模式作为所述任意一个PU的候选预测模式。

这样,可以根据低一层次的PU的目标预测模式确定高一层次的PU的候选预测模式,降低了高一层次的PU的候选预测模式数目。

结合第二方面,在第四种可能的实现方式中,所述计算单元根据所述任意一个PU的上邻PU和左邻PU的目标预测模式,确定所述任意一个PU的候选预测模式,包括:

确定所述任意一个PU的上邻PU的目标预测模式;

确定与所述上邻PU的目标预测模式对应的标识的标识差为设定数目内的预测模式;

确定所述任意一个PU的左邻PU的目标预测模式;

确定与所述左邻PU的目标预测模式对应的标识的标识差为设定数目内的预测模式;

将确定的所有预测模式,以及平面模式Planar、直流模式DC、水平模式以及垂直模式作为所述任意一个PU的候选预测模式。

这样,可以通过上邻PU和左邻PU的目标预测模式确定当前PU的候选预测模式,降低了当前PU的候选预测模式数目。

结合第二方面或第二方面的第一种至第四种可能的实现方式中的任意一种,在第五种可能的实现方式中,所述计算单元根据任意一个PU的每一种候选预测模式的SATD或者RD cost,在候选预测模式中筛选出所述任意一个PU目标预测模式,包括:

计算所述每一种候选预测模式的SATD或者RD cost,筛选出最小SADT或者RD cost对应的候选预测模式作为所述任意一个PU的目标预测模式。

这样,可以在候选预测模式中筛选出目标预测模式。

结合第二方面或第二方面的第一种至第四种可能的实现方式中的任意一种,在第六种可能的实现方式中,所述计算单元分别在每一个BU中按照从低层次到高层次的顺序,依次计算每一个PU的目标预测模式,包括:

并行计算预先设置的设定数目的BU中每一个PU的目标预测模式之后,按照从左到右,从上到下的顺序依次串行计算剩余的每一个BU中每一个PU的目标预测模式;或者,

按照从左到右,从上到下的顺序依次串行计算所有BU中的每一个BU中每一个PU的目标预测模式;或者,

并行计算所有BU中的每一个BU中每一个PU的目标预测模式。

这样,可以通过不同的方式串行或并行计算每一个BU中的PU的目标预测模式,可以节省运行时间,同时降低硬件成本,极大的节省资源开销。

结合第二方面的第六种可能的实现方式,在第七种可能的实现方式中,所述计算单元串行计算每一个BU中的每一个PU的目标预测模式,进一步包括:

得到当前BU中任意一层次的所有PU的目标预测模式后,则计算下一个BU中的所述任意一层次的PU的目标预测模式。

这样,计算当前层次的硬件资源可以一直处于运行计算状态,缩短了系统的计算时间,提高了硬件的利用率。

结合第二方面的第六种可能的实现方式,在第八种可能的实现方式中,所述计算单元计算任意一个BU中每一个PU的目标预测模式,包括:

当前层次的PU中按照从左到右,从上到下的顺序串行计算每一个PU的目标预测模式;

当确定当前层次的位于所述任意一个BU中的起始位置的PU的目标预测模式时,则开始相邻高一层次的位于所述任意一个BU中的起始位置中的PU的目标预测模式的计算。

这样,计算当前层次的硬件资源可以一直处于运行计算状态,缩短了系统的计算时间,提高了硬件的利用率。

采用本发明技术方案,通过将当前LCU分割为多个BU,并将BU分割为不同层次的PU后,基于当前LVU相邻的PU的数据以及计算得到的结果,依次计算每个PU的目标预测模式,其中,若计算未位于相应BU中的起始位置时的PU,则根据该PU的上邻PU和左邻PU的目标预测模式得到该PU的候选预测模式;若计算位于相应BU中的起始位置时的PU,则根据位于该BU中起始位置的低一层次的PU的目标预测模式确定该PU的候选预测模式。这样,在保持所有预测模式数目不变、且所有PU的分层深度可选择的基础上,快速得到当前LCU的最优分割方式和预测模式,保证了编码性能的同时,极大的增加了编码效率,节省了运行时间,同时降低了硬件成本,极大的节省了资源开销。

附图说明

图1为现有技术提供的一种帧内预测模式方向示意图;

图2为现有技术提供的一种LCU中PU的分割模式示意图;

图3为本发明实施例提供的一种视频编码的帧内预测模式的快速确定方法流程图;

图4为本发明实施例提供的一种32*32的LCU分割模式示意图;

图5为本发明实施例提供的位于相应BU非起始位置的目标预测模式求取的具体流程图;

图6为本发明实施例提供的位于相应BU起始位置的目标预测模式求取的具体流程图;

图7为本发明实施例提供的一种视频编码的帧内预测模式的快速确定实例流程图;

图8为本发明实施例提供的串行计算每一个BU的流水线示意图;

图9为本发明实施例提供的一种视频编码的帧内预测模式的快速确定装置示意图。

具体实施方式

采用本发明技术方案,能够有效地避免现有技术中的帧内预测模式确定方法过程复杂,运行效率较低,无法保证编码效率、且增加了硬件的成本的问题。

本发明实施例提供了一种视频编码的帧内预测模式的快速确定方法,应用于各种视频编码设备,下面结合附图对本发明优选的实施方式进行详细说明。

参阅图3所示,本发明实施例提供的一种视频编码的帧内预测模式的确定方法的具体流程为:

步骤301:存储与当前LCU相邻的图像数据,以及当前LCU的图像数据。

具体的,由于在进行确定当前LCU的帧内预测模式过程中,会使用当前LCU相邻的PU的数据,如图像数据(YUV等)、预测模式以及帧模式(如帧内预测、帧内帧间预测等),因此,在进行当前LCU的这内预测模式确定之前,需要保存当前LCU相邻的所有的PU的各种图像数据、预测模式数据以及帧模式数据。

参阅图2所示,一个LCU中的PU包括该LCU中包含的像素单位为64*64、32*32、16*16、8*8以及4*4所有层次的所有子块。因此,与当前LCU相邻的所有PU即与当前LCU中边缘的各个层次的PU相邻的所有LCU中的各个层次的PU。

优选的,在本实施例中,仅存储当前LCU的左邻LCU和左下LCU的最右边一列数据以及上邻和上右LCU的最下一行的数据。

步骤302:根据当前LCU的像素大小,将当前LCU分割为4n个设定像素单位的基本运算单元BU,其中,n为大于或等于1的正整数。

在本发明实施例中,仅以像素大小为32*32的LCU为例,参阅图4所示,将该LCU分割为4个像素大小为16*16的宏块作为可以后期进行并行处理的BU。

在实际应用中,BU的像素大小的设置可以根据LCU的像素大小,以及实际的需求自行设置,其中,BU的像素大小设置的越小,得到的结果则越准确。

步骤303:依次根据预设的各个层次的像素单位将所述LCU中的每一个BU分割为对应层次的像素单位的PU。

预设的不同层次的像素单位包括:64*64、32*32、16*16、8*8以及4*4等,仍以图4为例,在本发明实施例中,预设的不同层次的像素单位为8*8和4*4。

其中,最低层次的像素单位为4*4,最高层次为当前LCU中分割的BU的像素单位,且高层次的像素单位的面积是相邻低一层次的像素单位的面积的4倍。

具体的,参阅图中所示,首先将每个16*16的BU分割成4个8*8的PU,然后将每个BU中的8*8的PU分割成4个4*4的PU。

步骤304:基于与当前LCU相邻的PU的数据,分别在每一个BU中按照从低层次到高层次的顺序,依次计算每一个PU的目标预测模式,其中,在计算任意一个PU的目标预测模式时,判断该任意一个PU是否位于相应BU中的起始位置,确定未处于起始位置时,根据该任意一个PU的上邻PU和左邻PU的目标预测模式,确定该任意一个PU的候选预测模式,并根据每一种候选预测模式的SATD或者RD cost,在候选预测模式中筛选出该任意一个PU的目标预测模式。

其中,BU中的起始位置即为位于BU左上角位置。

在计算任意一个PU的目标预测模式时,若判定该任意一个PU位于相应BU中的起始位置,则进一步判断该任意一个PU的层次是否为最低层次;

若是,则将全部预测模式作为该任意一个PU的候选预测模式,并根据每一种候选预测模式的SATD或者RD cost,在候选预测模式中筛选出该任意一个PU的目标预测模式;

否则,根据位于相应BU中的起始位置的相邻低一层次的PU的目标预测模式,确定该任意一个PU的候选预测模式,并根据每一种候选预测模式的SATD或者RD cost,在候选预测模式中筛选出该任意一个PU目标预测模式。

在本发明实施例中,仍以图4为例,若位于相应BU中的起始位置的PU的层次为最低层次4*4的PU,则将35中预测模式全部作为该PU的候选预测模式,并计算每种候选预测模式的SATD,并根据该SATD筛选出该PU的目标预测模式;若位于相应BU中的起始位置的PU的层次为非最低层次(8*8)的PU,由于在每一个BU中按照从低层次到高层次的顺序,依次计算每一个PU的目标预测模式,所以,此时,已经得到了相应BU中的起始位置的PU的层次为最低层次的PU的目标预测模式,则根据位于相应BU中的起始位置的相邻低一层次的PU(4*4)的目标预测模式,确定该PU的候选预测模式,并计算每种候选预测模式的SATD,并根据该SATD筛选出该PU的目标预测模式。

具体的,确定任意一个PU的层次为非最低层次时,根据位于相应BU中的起始位置的相邻低一层次的PU的目标预测模式,确定该任意一个PU的候选预测模式,包括:

确定位于该相应BU中的起始位置的相邻低一层次的PU的目标预测模式;

确定与该目标预测模式对应的标识的标识差为设定数目内的预测模式;

将确定的所有预测模式,以及平面模式Planar、直流模式DC、水平模式以及垂直模式作为该任意一个PU的候选预测模式。

优选的,在本实施例中,将位于相应BU中的起始位置的相邻低一层次的PU的目标预测模式对应的标识的标识差的设定数目设置为2,例如,若位于BU起始位置的层次为4*4的PU的目标预测模式对应的标识为6,则与6差为2的预测模式的标识为4、5、7、8,因此,位于该BU起始位置的层次为8*8的PU的候选预测模式包括对应的标识为4、5、6、7、8的预测模式以及平面模式Planar、直流模式DC、水平模式以及垂直模式。

具体的,根据任意一个PU的上邻PU和左邻PU的目标预测模式,确定该任意一个PU的候选预测模式,包括:

确定该任意一个PU的上邻PU的目标预测模式;

确定与该上邻PU的目标预测模式对应的标识的标识差为设定数目内的预测模式;

确定该任意一个PU的左邻PU的目标预测模式;

确定与该左邻PU的目标预测模式对应的标识的标识差为设定数目内的预测模式;

将确定的所有预测模式,以及平面模式Planar、直流模式DC、水平模式以及垂直模式作为该任意一个PU的候选预测模式。

在确定当前PU的上邻PU和左邻PU时,尽量寻找与当前PU的层次相同的PU。优选的,在本实施例中,将位于当前PU的上邻PU和左邻PU的目标预测模式对应的标识的标识差的设定数目设置为1,若某任意一个PU的左邻PU的目标预测模式对应的标识为5,左邻PU的目标预测模式对应的标识为13,则该任意一个PU的候选预测模式包括对应的标识为4、5、6、12、13、14的预测模式以及平面模式Planar、直流模式DC、水平模式以及垂直模式。

其中,在执行步骤304中,具体的,根据任意一个PU的每一种候选预测模式的SATD,在候选预测模式中筛选出该任意一个PU目标预测模式,包括:

计算该每一种候选预测模式的SATD,筛选出最小SADT对应的候选预测模式作为该任意一个PU的目标预测模式。

综上所述,参阅图5所示,本发明实施例中,位于相应BU非起始位置(非左上角位置)的目标预测模式求取的具体流程为:

步骤501:查找左邻PU和上邻PU,其中,该左邻PU和上邻PU尽量为与当前PU为相同层次的PU。

步骤502:将左邻PU和上邻PU的目标预测模式放入候选预测模式中。

步骤503:将与左邻PU和上邻PU的目标预测模式相邻的预测模式放入候选预测模式中。

步骤504:将Planar、DC、垂直、水平模式放入候选预测模式中。

步骤505:计算每种候选预测模式的SATD或者RD cost,得到当前PU的目标预测模式。

参阅图6所示,位于相应BU起始位置的目标预测模式求取的具体流程为:

步骤601:计算左上角第一个4*4(最低层次)的PU的所有候选预测模式的SATD,得到目标预测模式。

步骤602:将该PU的目标预测模式、与该目标预测模式相邻的设定数目的预测模式,以及Planar、DC、垂直、水平模式作为左上角第一个8*8的PU的候选预测模式。

步骤603:计算该8*8的PU所有候选模式的SATD或者RD cost,得到目标预测模式。

步骤604:将该8*8的PU的目标预测模式、与该目标预测模式相邻的设定数目的预测模式,以及Planar、DC、垂直、水平模式作为左上角第一个16*16的PU的候选预测模式。

步骤605:计算该16*16的PU所有候选预测模式的SATD或者RD cost,得到目标预测模式。

优选的,分别在每一个BU中按照从低层次到高层次的顺序,可以通过以下三种方式依次计算每一个PU的目标预测模式,包括:

第一种方式:并行计算预先设置的设定数目的BU中每一个PU的目标预测模式之后,按照从左到右,从上到下的顺序依次串行计算剩余的每一个BU中每一个PU的目标预测模式;

第二种方式:按照从左到右,从上到下的顺序依次串行计算所有BU中的每一个BU中每一个PU的目标预测模式;

第三种方式:并行计算所有BU中的每一个BU中每一个PU的目标预测模式。

在本发明实施例中,还可以通过其它方式依次计算每一个PU的目标预测模式,例如串并行计算所有BU中的每一个BU中每一个PU的目标预测模式。

采用串行计算每一个BU中的PU的目标预测模式的方式,计算的面积缩减为并行的1/4,计算过程较简单,降低了对硬件资源的需求;采用并行计算每一个BU中的PU的目标预测模式的方式,可以降低计算时间,提高了计算效率。

其中,串行计算每一个BU中的每一个PU的目标预测模式,进一步包括:

得到当前BU中任意一层次的所有PU的目标预测模式后,则计算下一个BU中的该任意一层次的PU的目标预测模式。

这样,计算当前层次的硬件资源可以一直处于运行计算状态,缩短了系统的计算时间,提高了硬件的利用率。

同理,计算任意一个BU中每一个PU的目标预测模式,包括:

当前层次的PU中按照从左到右,从上到下的顺序串行计算每一个PU的目标预测模式;

当确定当前层次的位于该任意一个BU中的起始位置的PU的目标预测模式时,则开始相邻高一层次的位于该任意一个BU中的起始位置中的PU的目标预测模式的计算。

仍以图4为例,若第一个BU中的所有层次为4*4的PU的目标预测模式确定后,则进行第二个BU中的层次为4*4的PU的目标预测模式。

基于以上对本发明实施例的描述,参阅图7所示,本发明实施例提供了一种具体的实例:

仍以图4为例,启动计算当前LCU的目标预测模式后,将当前的LCU分割为4个BU,并判断是否执行并行计算,若是,则同时计算BU0-BU3中的PU的预测模式:首先计算每个BU中起始位置的最低层次的4*4的PU的目标预测模式;然后计算其余3个4*4的PU的目标预测模式,并启动起始位置的高一层次的8*8的PU的目标预测模式;计算下一个8*8的PU、内部4*4的PU的目标预测模式;并重复此步骤,直至将所有层次的所有PU的目标预测模式全部计算完毕;否则,先进行第一个BU(BU0)中起始位置的最低层次的4*4的PU的目标预测模式;然后起算其余3个4*4的PU的目标预测模式,并启动起始位置的高一层次的8*8的PU的目标预测模式;计算下一个8*8的PU、内部4*4的PU的目标预测模式后,启动下个BU中的起始位置的最低层次的4*4的PU的目标预测模式。得到采用串行和并行计算方式下得到的每一个PU的目标预测模式后,比较每种分割模式和预测模式的SATD,确定最终的分割模式和预测模式。

具体的,参阅图8所示,采用串行计算方式计算每一个BU中的PU的目标预测模式的流程为:

步骤801:计算位于BU起始位置的最低层次的PU(4*4)的目标预测模式;

步骤802:计算第一个高一层次的8*8的PU的目标预测模式,同时计算与起始位置相邻的其余三个4*4的PU的目标预测模式后,计算第二个8*8中的第一个4*4的PU的目标预测模式;

步骤803:计算第二个8*8的PU中的其余三个4*4的PU的目标预测模式后,计算第三个8*8中的第一个4*4的PU的目标预测模式,第一个8*8的PU的目标预测模式计算完成后,计算第二个8*8的PU的目标预测模式,同时,计算16*16的PU的目标预测模式;

步骤804:计算第三个8*8的PU中的其余三个4*4的PU的目标预测模式后,计算第四个8*8中的第一个4*4的PU的目标预测模式,计算完第二个8*8的PU的目标预测模式计算完成后,计算第三个8*8的PU的目标预测模式。

步骤805:计算第四个8*8的PU中的其余三个4*4的PU的目标预测模式,计算完第三个8*8的PU的目标预测模式计算完成后,计算第四个8*8的PU的目标预测模式。

采用这种方法,可以提高硬件以及软件的利用率,节省了资源开销,可以快速的完成不同分层层次的目标预测模式的选择,在保证了编码性能的同时,缩短计算时间,提高计算效率。

基于上述本发明实施例提供的一种视频编码的帧内预测模式的快速确定方法,参阅图9所示,本发明实施例还提供了一种视频编码的帧内预测模式的快速确定装置,具体包括:存储单元901、第一处理单元902、第二处理单元903以及计算单元904,其中,

存储单元901,用于存储与当前最大编码单元LCU相邻的图像数据,以及当前LCU的图像数据;

第一处理单元902,用于根据当前LCU的像素大小,将当前LCU分割为4n个设定像素单位的基本运算单元BU,其中,n为大于或等于1的正整数;

第二处理单元903,用于依次根据预设的各个层次的像素单位将LCU中的每一个BU分割为对应层次的PU;

计算单元904,用于基于与当前LCU相邻的PU的数据,分别在每一个BU中按照从低层次到高层次的顺序,依次计算每一个PU的目标预测模式,其中,在计算任意一个PU的目标预测模式时,判断该任意一个PU是否位于相应BU中的起始位置,确定未处于起始位置时,根据该任意一个PU的上邻PU和左邻PU的目标预测模式,确定该任意一个PU的候选预测模式,并根据每一种候选预测模式的绝对误差转换和SATD或者率-失真代价RD cost,在候选预测模式中筛选出该任意一个PU的目标预测模式。

存储单元901存储与当前LCU相邻的图像数据,包括:

至少存储与当前LCU相邻的图像数据的目标预测模式数据,以及帧模式数据。

计算单元904,进一步用于:

在计算任意一个PU的目标预测模式时,若判定该任意一个PU位于相应BU中的起始位置,则进一步判断该任意一个PU的层次是否为最低层次;

若是,则将全部预测模式作为该任意一个PU的候选预测模式,并根据每一种候选预测模式的SATD或者RD cost,在候选预测模式中筛选出该任意一个PU的目标预测模式;

否则,根据位于相应BU中的起始位置的相邻低一层次的PU的目标预测模式,确定该任意一个PU的候选预测模式,并根据每一种候选预测模式的SATD或者RD cost,在候选预测模式中筛选出该任意一个PU目标预测模式。

计算单元904确定任意一个PU的层次为非最低层次时,根据位于相应BU中的起始位置的相邻低一层次的PU的目标预测模式,确定该任意一个PU的候选预测模式,包括:

确定位于该相应BU中的起始位置的相邻低一层次的PU的目标预测模式;

确定与该目标预测模式对应的标识的标识差为设定数目内的预测模式;

将确定的所有预测模式,以及平面模式Planar、直流模式DC、水平模式以及垂直模式作为该任意一个PU的候选预测模式。

计算单元904根据任意一个PU的上邻PU和左邻PU的目标预测模式,确定该任意一个PU的候选预测模式,包括:

确定该任意一个PU的上邻PU的目标预测模式;

确定与该上邻PU的目标预测模式对应的标识的标识差为设定数目内的预测模式;

确定该任意一个PU的左邻PU的目标预测模式;

确定与该左邻PU的目标预测模式对应的标识的标识差为设定数目内的预测模式;

将确定的所有预测模式,以及平面模式Planar、直流模式DC、水平模式以及垂直模式作为该任意一个PU的候选预测模式。

计算单元904根据任意一个PU的每一种候选预测模式的SATD或者RDcost,在候选预测模式中筛选出该任意一个PU目标预测模式,包括:

计算该每一种候选预测模式的SATD或者RD cost,筛选出最小SADT或者RD cost对应的候选预测模式作为该任意一个PU的目标预测模式。

计算单元904分别在每一个BU中按照从低层次到高层次的顺序,依次计算每一个PU的目标预测模式,包括:

并行计算预先设置的设定数目的BU中每一个PU的目标预测模式之后,按照从左到右,从上到下的顺序依次串行计算剩余的每一个BU中每一个PU的目标预测模式;或者,

按照从左到右,从上到下的顺序依次串行计算所有BU中的每一个BU中每一个PU的目标预测模式;或者,

并行计算所有BU中的每一个BU中每一个PU的目标预测模式。

计算单元904串行计算每一个BU中的每一个PU的目标预测模式,进一步包括:

得到当前BU中任意一层次的所有PU的目标预测模式后,则计算下一个BU中的该任意一层次的PU的目标预测模式。

计算单元904计算任意一个BU中每一个PU的目标预测模式,包括:

当前层次的PU中按照从左到右,从上到下的顺序串行计算每一个PU的目标预测模式;

当确定当前层次的位于该任意一个BU中的起始位置的PU的目标预测模式时,则开始相邻高一层次的位于该任意一个BU中的起始位置中的PU的目标预测模式的计算。

综上所述,本发明实施例提供了一种视频编码的帧内预测模式的快速确定方法及装置,该方法通过将当前LCU分割为多个BU,并将BU分割为不同层次的PU后,基于当前LVU相邻的PU的数据以及计算得到的结果,依次计算每个PU的目标预测模式,其中,若计算未位于相应BU中的起始位置时的PU,则根据该PU的上邻PU和左邻PU的目标预测模式得到该PU的候选预测模式;若计算位于相应BU中的起始位置时的PU,则根据位于该BU中起始位置的低一层次的PU的目标预测模式确定该PU的候选预测模式。这样,在保持所有预测模式数目不变、且所有PU的分层深度可选择的基础上,快速得到当前LCU的最优分割方式和预测模式,保证了编码性能的同时,极大的增加了编码效率,节省了运行时间,同时降低了硬件成本,极大的节省了资源开销。

尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。

显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明实施例的精神和范围。这样,倘若本发明实施例的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号