用于生成多码率视频的方法和装置制造方法及图纸

技术编号:12420453 阅读:82 留言:0更新日期:2015-12-02 15:34
本申请公开了用于生成多码率视频的方法和装置。所述方法的一具体实施方式包括:获取输入的视频;基于第一码率对输入的视频进行运动估计,得出第一码率的视频的最佳第一运动矢量以及至少一个包含候选运动矢量、候选运动矢量的预测误差和候选运动矢量的比特数的三元组;基于第二码率以及三元组估计第二码率的视频的最佳第二运动矢量;根据最佳第二运动矢量确定第二码率的视频的编码模式。该实施方式有效地利用了多码率视频之间运动矢量的相关性,提升了多码率视频生成过程中的编码速度。

【技术实现步骤摘要】

本申请涉及图像通信
,具体涉及视频的处理
,尤其涉及用于生成多码率视频的方法和装置
技术介绍
视频码率,即视频数据传输时单位时间传送的视频数据位数。视频码率越高,单位时间内传送的视频数据位数越多,传输后处理得到的文件就越接近原始文件,视频传输的带宽占用比也越高。在视频直播和视频点播系统中,服务器端需要提供多种不同码率的视频码流,以适应不同的带宽条件。然而,服务器端为了达到较好的数据压缩率,需要消耗大量的计算资源,因此在系统的计算资源有限的情况下,服务器端无法实时地生成多个码率的视频,导致客户端需要缓冲时间来等待服务器端对视频进行编码,从而无法为用户提供快速、实时的视频播放服务。在视频的离线转码系统中,多码率视频的生成也消耗大量的计算资源,存在着计算速度慢的问题。
技术实现思路
本申请的目的在于提出一种改进的用于生成多码率视频方法和装置,来解决以上
技术介绍
部分提到的技术问题。第一方面,本申请提供了一种用于生成多码率视频的方法,所述方法包括:获取输入的视频;基于第一码率对所述输入的视频进行运动估计,得出第一码率的视频的最佳第一运动矢量以及至少一个包含候选运动矢量、所述候选运动矢量的预测误差和所述候选运动矢量的比特数的三元组;基于第二码率以及所述三元组估计所述第二码率的视频的最佳第二运动矢量;根据所述最佳第二运动矢量确定所述第二码率的视频的编码模式。在一些实施例中,所述基于第一码率对所述输入的视频进行运动估计,包括:对输入的视频中各子帧的每个分块,确定至少一个候选运动矢量;计算所述候选运动矢量的比特数和预测误差,得到所述每个分块的三元组;确定所述第一码率的量化参数;根据所述第一码率的量化参数以及所述每个分块的所述三元组计算所述每个分块的运动矢量率失真代价;遍历所述三元组,将使所述每个分块的运动矢量率失真代价最小的三元组中的候选运动矢量作为所述每个分块的最佳第一运动矢量。在一些实施例中,所述基于第二码率以及所述三元组估计所述第二码率的视频的最佳第二运动矢量,包括:确定所述第二码率的量化参数;基于所述第二码率的量化参数以及所述每个分块的所述三元组,计算所述第二码率的视频中对应分块的运动矢量率失真代价;遍历所述每个分块的三元组,将使所述对应分块的运动矢量率失真代价最小的三元组中的候选运动矢量作为所述对应分块的最佳第二运动矢量。在一些实施例中,所述根据所述最佳第二运动矢量确定所述第二码率的视频的编码模式,包括:确定所述第二码率的视频的至少一个候选编码模式及所述候选编码模式对应的量化参数;计算所述至少一个候选编码模式对应的失真参数以及编码比特数,其中,所述编码比特数包括所述最佳第二运动矢量需要的比特数、所述候选编码模式需要的比特数以及所述最佳第二运动矢量对应的预测误差需要的比特数;基于所述候选编码模式对应的量化参数、失真参数以及编码比特数,计算所述第二码率的视频的对应子帧中对应分块的编码模式率失真代价;遍历所述候选编码模式,将使所述第二码率的视频的对应子帧中对应分块的编码模式率失真代价最小的候选编码模式作为所述对应分块的编码模式。在一些实施例中,所述方法还包括:根据所述最佳第一运动矢量确定所述第一码率的视频的编码模式。在一些实施例中,所述根据所述最佳第一运动矢量确定所述第一码率的视频的编码模式,包括:确定所述第一码率的视频的至少一个候选编码模式及所述候选编码模式对应的量化参数;计算所述至少一个候选编码模式对应的失真参数以及编码比特数,其中,所述编码比特数包括所述最佳第一运动矢量需要的比特数、所述候选编码模式需要的比特数以及所述最佳第一运动矢量对应的预测误差需要的比特数;基于所述候选编码模式对应的量化参数、失真参数以及编码比特数,计算所述第一码率的视频中所述每个分块的编码模式率失真代价;遍历所述候选编码模式,将使所述第一码率的视频中所述每个分块的编码模式率失真代价最小的候选编码模式作为所述每个分块的编码模式。在一些实施例中,所述方法还包括:获取所述第一码率的视频的分辨率及所述第二码率的视频的分辨率;将所述第一码率的视频的分辨率除以所述第二码率的视频的分辨率,得到倍除因子;以及在基于第二码率以及所述三元组估计所述第二码率的视频的最佳第二运动矢量之前,将所述三元组中的候选运动矢量按照所述倍除因子进行倍除。在一些实施例中,所述方法还包括:对所述最佳第二运动矢量进行优化。在一些实施例中,所述对所述最佳第二运动矢量进行优化,包括:确定所述第二码率的视频中对应分块的运动矢量优化集合;计算所述运动矢量优化集合内的所有运动矢量对应的率失真代价;将所述率失真代价最小的运动矢量作为优化后的最佳第二运动矢量;其中,所述运动矢量优化集合包括所述最佳第二运动矢量,以及与所述最佳第二运动矢量的欧氏距离最小的八个运动矢量。在一些实施例中,所述方法还包括:根据所述第一码率的视频的编码模式对所述输入的视频进行编码,以生成所述第一码率的视频;以及根据所述第二码率的视频的编码模式对所述输入的视频进行编码,以生成所述第二码率的视频。在一些实施例中,所述第一码率高于所述第二码率。第二方面,本申请提供了一种用于生成多码率视频的装置,所述装置包括:获取单元,配置用于获取输入的视频;第一估计单元,配置用于基于第一码率对所述输入的视频进行运动估计,得出至少一个包含候选运动矢量、所述候选运动矢量的预测误差和所述候选运动矢量的比特数的三元组以及第一码率的视频的最佳第一运动矢量;第二估计单元,配置用于基于第二码率以及所述三元组估计所述第二码率的视频的最佳第二运动矢量;第一确定单元,配置用于根据所述最佳第二运动矢量确定所述第二码率的视频的编码模式。在一些实施例中,所述第一估计单元进一步配置用于:对输入的视频中各子帧的每个分块,确定至少一个候选运动矢量;计算所述候选运动矢量的比特数和预测误差,得到所述每个分块的三元组;确定所述第一码率的量化参数;根据所述第一码率的量化参数以及所述每个分块的所述三元组计算所述每个分块的运动矢量率失真代价;遍历所述三元组,将使所述每个分块的运动矢量率失真代价最小的三元组中的候选运动矢量作为所述每个分块的最佳第一运动矢量。在一些实施例中,所述第二估计单元进一步配置用于:确定所述第二码率的量化参数;基于所述第二码率的量化参数以及所述每个分块的所述三元组,计算所述第二码率的视频中对应分块的运动矢量率失真代价;遍历所述每个分块的三元组,将使所述对应分块的运动矢量率失真代价最小的三元组中的候选运动矢量作为所述对应分块的最佳第二运动矢量。在一些实施例中,所述第一确定单元进一步配置用于:确定所述第二码率的视频的至少一个候选编码模式及所述候选编码模式对应的量化参数;计算所述至少一个候选编码模式对应的失真参数以及编码比特数,其中,所述编码比特数包括所述最佳第二运动矢量需要的比特数、所述候选编码模式需要的比特数以及所述最佳第二运动矢量对应的预测误差需要的比特数;基于所述候选编码模式对应的量化参数、失真参数以及编码比特数,计算所述第二码率的视频的对应子帧中对应分块的编码模式率失真代价;遍历所述候选编码模式,将使所述第二码率的视频的对应子帧中对应分块的编码模式率失真代价最小的候选编码模式作为所述对应分块的编码模式。在一些实施例中,本文档来自技高网...

【技术保护点】
一种用于生成多码率视频的方法,其特征在于,所述方法包括:获取输入的视频;基于第一码率对所述输入的视频进行运动估计,得出第一码率的视频的最佳第一运动矢量以及至少一个包含候选运动矢量、所述候选运动矢量的预测误差和所述候选运动矢量的比特数的三元组;基于第二码率以及所述三元组估计所述第二码率的视频的最佳第二运动矢量;根据所述最佳第二运动矢量确定所述第二码率的视频的编码模式。

【技术特征摘要】

【专利技术属性】
技术研发人员:沈慧锋黄靖博
申请(专利权)人:北京百度网讯科技有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1