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

文档序号:9399616阅读:405来源:国知局
用于生成多码率视频的方法和装置的制造方法
【技术领域】
[0001]本申请涉及图像通信技术领域,具体涉及视频的处理技术领域,尤其涉及用于生成多码率视频的方法和装置。
【背景技术】
[0002]视频码率,即视频数据传输时单位时间传送的视频数据位数。视频码率越高,单位时间内传送的视频数据位数越多,传输后处理得到的文件就越接近原始文件,视频传输的带宽占用比也越高。
[0003]在视频直播和视频点播系统中,服务器端需要提供多种不同码率的视频码流,以适应不同的带宽条件。然而,服务器端为了达到较好的数据压缩率,需要消耗大量的计算资源,因此在系统的计算资源有限的情况下,服务器端无法实时地生成多个码率的视频,导致客户端需要缓冲时间来等待服务器端对视频进行编码,从而无法为用户提供快速、实时的视频播放服务。在视频的离线转码系统中,多码率视频的生成也消耗大量的计算资源,存在着计算速度慢的问题。

【发明内容】

[0004]本申请的目的在于提出一种改进的用于生成多码率视频方法和装置,来解决以上【背景技术】部分提到的技术问题。
[0005]第一方面,本申请提供了一种用于生成多码率视频的方法,所述方法包括:获取输入的视频;基于第一码率对所述输入的视频进行运动估计,得出第一码率的视频的最佳第一运动矢量以及至少一个包含候选运动矢量、所述候选运动矢量的预测误差和所述候选运动矢量的比特数的三元组;基于第二码率以及所述三元组估计所述第二码率的视频的最佳第二运动矢量;根据所述最佳第二运动矢量确定所述第二码率的视频的编码模式。
[0006]在一些实施例中,所述基于第一码率对所述输入的视频进行运动估计,包括:对输入的视频中各子帧的每个分块,确定至少一个候选运动矢量;计算所述候选运动矢量的比特数和预测误差,得到所述每个分块的三元组;确定所述第一码率的量化参数;根据所述第一码率的量化参数以及所述每个分块的所述三元组计算所述每个分块的运动矢量率失真代价;遍历所述三元组,将使所述每个分块的运动矢量率失真代价最小的三元组中的候选运动矢量作为所述每个分块的最佳第一运动矢量。
[0007]在一些实施例中,所述基于第二码率以及所述三元组估计所述第二码率的视频的最佳第二运动矢量,包括:确定所述第二码率的量化参数;基于所述第二码率的量化参数以及所述每个分块的所述三元组,计算所述第二码率的视频中对应分块的运动矢量率失真代价;遍历所述每个分块的三元组,将使所述对应分块的运动矢量率失真代价最小的三元组中的候选运动矢量作为所述对应分块的最佳第二运动矢量。
[0008]在一些实施例中,所述根据所述最佳第二运动矢量确定所述第二码率的视频的编码模式,包括:确定所述第二码率的视频的至少一个候选编码模式及所述候选编码模式对应的量化参数;计算所述至少一个候选编码模式对应的失真参数以及编码比特数,其中,所述编码比特数包括所述最佳第二运动矢量需要的比特数、所述候选编码模式需要的比特数以及所述最佳第二运动矢量对应的预测误差需要的比特数;基于所述候选编码模式对应的量化参数、失真参数以及编码比特数,计算所述第二码率的视频的对应子帧中对应分块的编码模式率失真代价;遍历所述候选编码模式,将使所述第二码率的视频的对应子帧中对应分块的编码模式率失真代价最小的候选编码模式作为所述对应分块的编码模式。
[0009]在一些实施例中,所述方法还包括:根据所述最佳第一运动矢量确定所述第一码率的视频的编码模式。
[0010]在一些实施例中,所述根据所述最佳第一运动矢量确定所述第一码率的视频的编码模式,包括:确定所述第一码率的视频的至少一个候选编码模式及所述候选编码模式对应的量化参数;计算所述至少一个候选编码模式对应的失真参数以及编码比特数,其中,所述编码比特数包括所述最佳第一运动矢量需要的比特数、所述候选编码模式需要的比特数以及所述最佳第一运动矢量对应的预测误差需要的比特数;基于所述候选编码模式对应的量化参数、失真参数以及编码比特数,计算所述第一码率的视频中所述每个分块的编码模式率失真代价;遍历所述候选编码模式,将使所述第一码率的视频中所述每个分块的编码模式率失真代价最小的候选编码模式作为所述每个分块的编码模式。
[0011]在一些实施例中,所述方法还包括:获取所述第一码率的视频的分辨率及所述第二码率的视频的分辨率;将所述第一码率的视频的分辨率除以所述第二码率的视频的分辨率,得到倍除因子;以及在基于第二码率以及所述三元组估计所述第二码率的视频的最佳第二运动矢量之前,将所述三元组中的候选运动矢量按照所述倍除因子进行倍除。
[0012]在一些实施例中,所述方法还包括:对所述最佳第二运动矢量进行优化。
[0013]在一些实施例中,所述对所述最佳第二运动矢量进行优化,包括:确定所述第二码率的视频中对应分块的运动矢量优化集合;计算所述运动矢量优化集合内的所有运动矢量对应的率失真代价;将所述率失真代价最小的运动矢量作为优化后的最佳第二运动矢量;其中,所述运动矢量优化集合包括所述最佳第二运动矢量,以及与所述最佳第二运动矢量的欧氏距离最小的八个运动矢量。
[0014]在一些实施例中,所述方法还包括:根据所述第一码率的视频的编码模式对所述输入的视频进行编码,以生成所述第一码率的视频;以及根据所述第二码率的视频的编码模式对所述输入的视频进行编码,以生成所述第二码率的视频。
[0015]在一些实施例中,所述第一码率高于所述第二码率。
[0016]第二方面,本申请提供了一种用于生成多码率视频的装置,所述装置包括:获取单元,配置用于获取输入的视频;第一估计单元,配置用于基于第一码率对所述输入的视频进行运动估计,得出至少一个包含候选运动矢量、所述候选运动矢量的预测误差和所述候选运动矢量的比特数的三元组以及第一码率的视频的最佳第一运动矢量;第二估计单元,配置用于基于第二码率以及所述三元组估计所述第二码率的视频的最佳第二运动矢量;第一确定单元,配置用于根据所述最佳第二运动矢量确定所述第二码率的视频的编码模式。
[0017]在一些实施例中,所述第一估计单元进一步配置用于:对输入的视频中各子帧的每个分块,确定至少一个候选运动矢量;计算所述候选运动矢量的比特数和预测误差,得到所述每个分块的三元组;确定所述第一码率的量化参数;根据所述第一码率的量化参数以及所述每个分块的所述三元组计算所述每个分块的运动矢量率失真代价;遍历所述三元组,将使所述每个分块的运动矢量率失真代价最小的三元组中的候选运动矢量作为所述每个分块的最佳第一运动矢量。
[0018]在一些实施例中,所述第二估计单元进一步配置用于:确定所述第二码率的量化参数;基于所述第二码率的量化参数以及所述每个分块的所述三元组,计算所述第二码率的视频中对应分块的运动矢量率失真代价;遍历所述每个分块的三元组,将使所述对应分块的运动矢量率失真代价最小的三元组中的候选运动矢量作为所述对应分块的最佳第二运动矢量。
[0019]在一些实施例中,所述第一确定单元进一步配置用于:确定所述第二码率的视频的至少一个候选编码模式及所述候选编码模式对应的量化参数;计算所述至少一个候选编码模式对应的失真参数以及编码比特数,其中,所述编码比特数包括所述最佳第二运动矢量需要的比特数、所述候选编码模式需要的比特数以及所述最佳第二运动矢量对应的预测误差需要的比特数;基于所述候选编码模式对应的量化参数、失真参数以及编码比特数,计算所述第二码率的视频的对应子帧中对应分块的编码模式率失真代价;遍历所述候选编码模式,将使所述第二码率的视频的对应子帧中对应分块的编码模式率失真代价最小的候选编码模式作为所述对应分块的编码模式。
[0020]在一些实施例中,所述装置还包括:第二确定单元,配置用于根据所述最佳第一运动矢量确定所述第一码率的视频的编码模式。
[0021]在一些实施例中,所述第二确定单元进一步配置用于:确定所述第一码率的视频的至少一个候选编码模式及所述候选编码模式对应的量化参数;计算所述至少一个候选编码模式对应的失真参数以及编码比特数,其中,所述编码比特数包括所述最佳第一运动矢量需要的比特数、所述候选编码模式需要的比特数以及所述最佳第一运动矢量对应的预测误差需要的比特数;基于所述候选编码模式对应的量化参数、失真参数以及编码比特数,计算所述第一码率的视频中所述每个分块的编码模式率失真代价;遍历所述候选编码模式,将使所述第一码率的视频中所述每个分块的编码模式率失真代价最小的候选编码模式作为所述每个分块的编码模式。
[0022]在一些实施例中,所述装置还包括调整单元,配置用于:获取所述第一码率的视频的分辨率及所述第二码率的视频的分辨率;将所述第一码率的视频的分辨率除以所述第二码率的视频的分辨率,得到倍除因子;以及在所述第二估计单元基于第二码率以及所述三元组估计所述第二码率的视频的最佳第二运动矢量之前,将所述三元组中的候选运动矢量按照所述倍除因子进行倍除。
[0023]在一些实施例中,所述装置还包括:优化单元,配置用于对所述最佳第二运动矢量进行优化。
[0024]在一些实施例中,所述优化单元进一步配置用于:确定所述第二码率的视频中对应分块的运动矢量优化集合;计算所述运动矢量优化集合内的所有运动矢量对应的率失真代价;将所述率失真代价最小的运动矢量作为优化后的最佳第二运动矢量;其中,所述运动矢量优化集合包括所述最佳第二运动矢量,以及与所述最佳第二运动矢量的欧氏距离最小的八个运动矢量。
[0025]在一些实施例中,所述装置还包括编码单元,配置用于:根据所述第一码率的视频的编码模式对所述输入的视频进行编码,以生成所述第一码率的视频;以及根据所述第二码率的视频的编码模式对所述输入的视频进行编码,以生成所述第二码率的视频。
[0026]在一些实施例中,所述第一码率高于所述第二码率。
[0027]本申请提供的用于生成多码率视频的方法和装置,通过获取输入的视频,随后基于第一码率对输入的视频进行运动估计,得出至少一个包含候选运动矢量、所述候选运动矢量的预测误差和所述候选运动矢量的比特数的三元组以及第一码率的视频的最佳第一运动矢量,之后基于第二码率以及三元组估计第二码率的视频的最佳第二运动矢量,最后根据最佳第二运动矢量确定所述第二码率的视频的编码模式,从而有效地利用了多码率视频之间运动矢量的相关性,提升了多码率视频生成过程中的编码速度。
【附图说明】
[0028]通过阅读参照以下附图所作的对非限制性实施例详细描述,本申请的其它特征、目的和优点将会变得更明显:
[0029]图1是本申请可以应用于其中的示例性系统架构图;
[0030]图2是根据本申请的用于生成多码率视频的方法的一个实施例的流程图;
[0031]图3a是根据本申请的用于生成多码率视频的一种数据处理流程的示意图;
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1