一种获取最小率失真代价的方法及装置的制造方法

文档序号:8302004阅读:227来源:国知局
一种获取最小率失真代价的方法及装置的制造方法
【技术领域】
[0001]本发明涉及计算机技术领域,特别涉及一种获取最小率失真代价的方法及装置。
【背景技术】
[0002]目前,视频数据由一帧帧视频图像组成,视频数据的容量非常大,为了节省带宽,在传输视频数据之前,需要对视频数据包括的每一帧视频图像进行压缩编码,以减小视频数据的容量。
[0003]目前,可以按如下方式对一帧视频图像进行压缩编码,包括:首先对该帧视频图像进行划分,得到该视频图像包括的每个编码单元。从该视频图像包括的每个编码单元中选择一个编码单元进行压缩编码处理,为了便于说明,将该编码单元称为当前编码单元。从运动矢量集合中选择一个运动矢量,从参考巾贞集合中选择一个参考巾贞,将选择的运动矢量和参考帧组成运动参考组合,按上述方式组成所有可能的运动参考组合。根据组成的每个运动参考组合和当前编码单元,分别计算每个运动参考组合对应的率真失代价,从每个运动参考组合对应的率真失代价中选择最小的率失真代价作为当前编码单元的第一最小率真失真代价。然后将当前编码单元划分为等大小的四个子编码单元,对于每个子编码单元,都按照上述方法分别计算每个子编码单元的最小率失真代价。计算四个子编码单元的最小率失真之和,将计算的数值作为当前编码单元的第二最小率失真代价。如果第一最小率失真代价大于或等于第二最小率失真代价,则将第一最小率失真代价对应的运动参考组合包括的参考帧确定为当前编码单元的最佳参考帧,根据该运动参考组合包括的运动矢量和最佳参考帧对当前编码单元进行压缩编码。如果第一最小率失真代价小于第二最小率失真代价,则从四个子编码单元中选择一个子编码单元作为当前编码单元,按照上述方法对当前编码单元进行压缩编码。对于该帧视频图像包括的其他每个编码单元,都同当前编码单元按照上述方法对其他每个编码单元进行压缩编码,以实现对该帧视频图像进行压缩编码。
[0004]在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
[0005]由于参考巾贞集合中包括大量的参考巾贞,导致组成大量的运动参考组合,进一步导致计算率失真代价的次数变多,如此使得计算编码单元的最小率失真代价的计算量变的很大,降低了获取最小率失真代价的效率,进一步降低了对视频帧进行压缩编码的效率。

【发明内容】

[0006]为了减小计算最小率失真代价的计算量,提高获取最小率失真代价的效率,本发明提供了一种获取最小率失真代价的方法及装置。所述技术方案如下:
[0007]一种获取最小率失真代价的方法,所述方法包括:
[0008]获取第一编码单元,所述第一编码单元为视频图像包括的任一编码单元;
[0009]从参考帧列表中选择部分参考帧;
[0010]根据运动矢量集合和所述选择的部分参考帧,获取所述第一编码单元的第一最小率失真代价。
[0011]一种获取最小率失真代价的装置,所述装置包括:
[0012]第一获取模块,用于获取第一编码单元,所述第一编码单元为视频图像包括的任一编码单元;
[0013]选择模块,用于从参考巾贞列表中选择部分参考巾贞;
[0014]第二获取模块,用于根据运动矢量集合和所述选择的部分参考帧,获取所述第一编码单兀的第一最小率失真代价。
[0015]在本发明实施例中,获取第一编码单元,第一编码单元为视频图像包括的任一编码单元;从参考帧列表中选择部分参考帧;根据运动矢量集合和选择的部分参考帧,获取第一编码单元的第一最小率失真代价。由于从参考帧列表中选择了部分参考帧,而不是使用参考帧列表中包括的全部参考帧,如此在获取第一编码单元的最小率失真代价时可以大大减小计算量,提闻获取最小率失真代价的效率。
【附图说明】
[0016]图1是本发明实施例1提供的一种获取最小率失真代价的方法流程图;
[0017]图2-1是本发明实施例2提供的一种获取最小率失真代价的方法流程图;
[0018]图2-2是本发明实施例2提供的一种视频图像的第一示意图;
[0019]图2-3是本发明实施例2提供的一种视频图像的第二示意图;
[0020]图3是本发明实施例3提供的一种获取最小率失真代价的装置结构示意图;
[0021]图4是本发明实施例4提供的一种服务器的结构示意图。
【具体实施方式】
[0022]为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
[0023]实施例1
[0024]参见图1,本发明实施例提供了一种获取最小率失真代价的方法,包括:
[0025]步骤101:获取第一编码单元,第一编码单元为视频图像包括的任一编码单元;
[0026]步骤102:从参考帧列表中选择部分参考帧;
[0027]步骤103:根据运动矢量集合和选择的部分参考帧,获取第一编码单元的第一最小率失真代价。
[0028]优选地,从参考帧列表中选择部分参考帧,包括:
[0029]根据第一编码单元,从参考帧列表中选择第一编码单元对应的部分参考帧;或者,
[0030]从参考帧列表中,随机选择部分参考帧。
[0031]优选地,根据第一编码单元,从参考帧列表中选择第一编码单元对应的部分参考中贞,包括:
[0032]获取第一编码单元的相邻编码单元并组成相邻编码单元集合,该相邻编码单元集合包括在时域上与第一编码单元相邻的第一相邻编码单元和/或在空域上与第一编码单元相邻的至少一个第二相邻编码单元;
[0033]根据第一编码单元和该相邻编码单元集合,设置第一编码单元的参考帧的数量;
[0034]根据设置的数量,从参考帧列表中选择第一编码单元对应的部分参考帧。
[0035]优选地,根据第一编码单元和该相邻编码单元集合,设置第一编码单元的参考帧的数量,包括:
[0036]如果该相邻编码单元集合包括第一相邻编码单元和至少三个第二相邻编码单元,则获取第一相邻编码单元的深度和每个第二相邻编码单元的深度;
[0037]根据第一相邻编码单元的深度和每个第二相邻编码单元的深度,设置第一编码单元的参考巾贞的数量。
[0038]优选地,根据第一编码单元和该相邻编码单元集合,设置第一编码单元的参考帧的数量,包括:
[0039]如果该相邻编码单元集合不包括第一相邻编码单元或该相邻编码单元集合不包括第二相邻编码单元或包括第二相邻编码单元的数目少于三个,则设置第一编码单元的参考帧的数量为预设数值。
[0040]进一步地,获取第一编码单元之后,还包括:
[0041]将第一编码单元划分成等大小的四个第二编码单元,为四个第二编码单元中的每个第二编码单元分别选择部分参考帧;
[0042]根据运动矢量集合和每个第二编码单元的部分参考帧,计算第一编码单元的第二最小率失真代价;
[0043]如果第二最小率失真代价大于或等于第一最小率失真代价,则根据第一最小率失真代价,获取第一编码单元的运动矢量和最佳参考帧;
[0044]根据第一编码单元的运动矢量和最佳参考帧,对第一编码单元进行压缩编码。
[0045]在本发明实施例中,获取第一编码单元,第一编码单元为视频图像包括的任一编码单元;从参考帧列表中选择部分参考帧;根据运动矢量集合和选择的部分参考帧,获取第一编码单元的第一最小率失真代价。由于从参考帧列表中选择了部分参考帧,而不是使用参考帧列表中包括的全部参考帧,如此在获取第一编码单元的最小率失真代价时可以大大减小计算量,提闻获取最小率失真代价的效率。
[0046]实施例2
[0047]本发明实施例提供了一种获取最小率失真代价的方法。
[0048]为了节省带宽,在传输视频数据之前,需要对视频数据包括的每一帧视频图像进行压缩编码。在对一帧视频图像进行压缩编码时,可以通过本发明实施例提供的方法来获取该帧视频图像包括的每个编码单元和每个编码单元的最小率失真代价,然后根据每个编码单元的最小率失真代价对该帧视频图像进行压缩编码。
[0049]参见图2-1,该方法具体包括:
[0050]步骤201:获取第一编码单元,第一编码单元为视频图像包括的任一编码单元;
[0051]其中,在对一帧视频图像进行压缩编码之前,先将该帧视频图像分割成若干个编码树单元,每个编码树单元的尺寸都相同且为预设尺寸。每个编码树单元都可以划分为至少一个编码单元。一般按照预设处理顺序对一帧视频图像包括的每个编码单元进行压缩编码处理,预设处理顺序可以为从左到右或从右到左的顺序等。
[0052]其中,预设尺寸可以为64*64或32*32等。
[0053]本步骤具体为,按照预设处理顺序从一帧视频图像包括的每个编码单元中选择一个编码单元,将选择的编码单元称为第一编码单元。
[0054]例如,假设预设处理顺序为从左到右,在图2-2中视频图像O为视频图像P的前一帧视频图像。按照从左到右的处理顺序,从如图2-2所示的视频图像P包括的每个编码单元中选择左上角的第一个编码单元O作为第一编码单元。
[0055]再如,假设预设处理顺序为从左到右,视频图像P包括的编码单元0、1、2、3和4已经完成了压缩编码处理。按照从左到右的处理顺序,从如图2-2所示的视频图像P中选择编码单元5作为第一编码单元。
[0056]其中,获取第一编码单元之后,通过如下步骤202-204的操作为第一编码单元选择部分参考帧。
[0057]步骤202:获取第一编码单元的相邻编码
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1