一种视频数据的编码方法和装置制造方法及图纸

技术编号:11797126 阅读:100 留言:0更新日期:2015-07-30 12:26
本发明专利技术实施例提供了一种视频数据的编码方法和装置,该方法包括:在第一编码流水中,对每一组视频数据进行预编码,以获得预编码结果;所述预编码结果包括每组内每一帧视频数据在至少部分视频编码层中划分的编码单元的最佳编码参数;在第二编码流水中,当每一组视频数据预编码完成时,根据所述最佳编码参数对组内每一帧视频数据进行编码。一方面,可以兼容帧级并行、WPP并行等并行方案,大大提高并行度,提高CPU的利用率,另一方面,可以提前跳过一些不必要的CU划分和计算,进而大大提高了编码效率。

【技术实现步骤摘要】

本专利技术涉及编码的
,特别是涉及一种视频数据的编码方法和一种视频数据的编码装置。
技术介绍
随着互联网的普及,多媒体尤其视频成为内容的主要的承载媒介,而且视频正在朝着高清-超清的方向发展,视频传输占据了网络传输大部分带宽,在给用户带来丰富体验的同时是存储和传输压力,因此对视频的压缩很重要。当前的视频编码标准普遍采用有损的率失真(Rate Distort1n)压缩方法,采用基于块的预测-变换混合编码框架。要得到好的RD性能,往往带来编码计算复杂度的成倍增加,而分辨率越大,编码的复杂度也相应增大。同时当前服务器的CPU (Central Processing Unit,中央处理器)的单核主频提升越来越困难,被迫朝着多核或者重核的方向发展,并行计算能力大幅提高,目前主流服务器的CPU —般都在16核及以上,如何有效的利用上这些多核资源来帮助提高视频编码速度以及提升压缩效率(RD性能)变得越来越重要。目前的并行方案有如下几种:1、把一个长视频序列切成多个短的视频序列;2、帧级并行;3、SLICE/TILE 并行;4、WPP(wavefront parallel processing,波前并行运算)并行。但是,上述几种并行方案的并行度较低,CPU利用率较低,编码效率较低。
技术实现思路
鉴于上述问题,提出了本专利技术实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种视频数据的编码方法和相应的一种视频数据的编码装置。为了解决上述问题,本专利技术实施例公开了一种视频数据的编码方法,包括:在第一编码流水中,对每一组视频数据进行预编码,以获得预编码结果;所述预编码结果包括每组内每一帧视频数据在至少部分视频编码层中划分的编码单元的最佳编码参数;在第二编码流水中,当每一组视频数据预编码完成时,根据所述最佳编码参数对组内每一帧视频数据进行编码。优选地,所述在第一编码流水中,对每一组视频数据进行预编码,以获得预编码结果的步骤包括:针对每组内每一帧视频数据的每一块最大编码单元,在至少部分视频编码层中划分为多个编码单元;在所述至少部分视频编码层中所述对多个编码单元进行模式决策,以获得最佳编码参数。优选地,所述预编码结果还包括第一参考帧;所述在所述至少部分视频编码层中所述对多个编码单元进行模式决策的步骤包括:计算当前视频编码层中的编码单元的第一率失真,和/或,由当前视频编码层中的编码单元划分的在下一视频编码层中的编码单元的第二率失真;判断在当前视频编码层中的编码单元的第一率失真是否小于,由当前视频编码层中的编码单元划分的在下一视频编码层中的编码单元的第二率失真;其中,所述第二失真率配置有第一系数;若是,则获取当前的视频编码层中编码单元对应的第一重构块,以组成第一参考帧;若否,则进入下一视频编码层,返回执行所述计算当前视频编码层中的编码单元的第一率失真,和/或,由当前视频编码层中的编码单元划分的在下一视频编码层中的编码单元的第二率失真的步骤,直至遍历完所述至少部分视频编码层;其中,所述第一参考帧用于在第一编码流水中,其他编码单元的模式决策。优选地,所述在第一编码流水中,对每一组视频数据进行预编码,以获得预编码结果的步骤还包括:当缓存的已完成预编码的视频数据的帧数超过预设的帧数阈值时,阻塞第一编码流水。优选地,所述在第二编码流水中,当每一组视频数据预编码完成时,根据所述最佳编码参数对组内每一帧视频数据进行编码的步骤包括:针对组内每一帧视频数据的每一块最大编码单元,获取在当前视频编码层中的编码单元,以及,由当前视频编码层中的编码单元划分的在下一视频编码层中的编码单元;采用编码参数对当前视频编码层中的编码单元,和/或,由当前编码单元划分的在下一视频编码层中的编码单元进行编码;计算编码后的,当前视频编码层中的编码单元的第三率失真、由当前编码单元划分的在下一视频编码层中的编码单元的第四率失真;判断所述第三率失真是否小于所述第四率失真;其中,所述第四失真率配置有第二系数;若是,则将编码后的当前视频编码层中的编码单元和所述编码参数写入码流;若否,则进入下一视频编码层,返回执行所述获取在当前视频编码层中的编码单元,以及,由当前视频编码层中的编码单元划分的在下一视频编码层中的编码单元的步骤,直至遍历完所有视频编码层;其中,所述编码单元进行编码的编码参数包括在第一编码流水中对所述编码单元进行模式决策获得的最佳编码参数,或者,在第二编码流水中对所述编码单元进行模式决策获得的编码参数。优选地,所述最佳编码参数包括位移矢量,所述采用编码参数对当前视频编码层中的编码单元,和/或,由当前编码单元划分的在下一视频编码层中的编码单元进行编码的步骤包括:当所述位移矢量为整像素时,在所述当前视频编码层中的编码单元,和/或,由当前编码单元划分的在下一视频编码层的第一预设范围内进行整像素运动估计;在最佳的整像素的第二预设范围内进行分像素运动估计。优选地,所述在第二编码流水中,当每一组视频数据预编码完成时,根据所述最佳编码参数对组内每一帧视频数据进行编码的步骤还包括:获取写入码流的编码单元对应的第二重构块,以组成第二参考帧;其中,所述第二参考帧用于在第二编码流水中,其他编码单元的编码。优选地,所述在第二编码流水中,当每一组视频数据预编码完成时,根据所述最佳编码参数对组内每一帧视频数据进行编码的步骤还包括:当第一编码流水中的参考帧为源图像数据,且,当前帧的图像数据编码完成时,判断当前帧的图像数据是否应用于第一编码流水中的参考预测;若否,则回收当前帧的图像数据;若是,则将当前帧的图像数据缓存到第一编码流水中的参考帧队列。优选地,所述在第二编码流水中,当每一组视频数据预编码完成时,根据所述最佳编码参数对组内每一帧视频数据进行编码的步骤还包括:当下一组视频数据未完成预编码时,阻塞第二编码流水。本专利技术实施例还公开了一种视频数据的编码装置,包括:第一编码模块,用于在第一编码流水中,对每一组视频数据进行预编码,以获得预编码结果;所述预编码结果包括每组内每一帧视频数据在至少部分视频编码层中划分的编码单元的最佳编码参数;第二编码模块,用于在第二编码流水中,当每一组视频数据预编码完成时,根据所述最佳编码参数对组内每一帧视频数据进行编码。优选地,所述第一编码模块包括:划分子模块,用于针对每组内每一帧视频数据的每一块最大编码单元,在至少部分视频编码层中划分为多个编码单元;模式决策子模块,用于在所述至少部分视频编码层中所述对多个编码单元进行模式决策,以获得最佳编码参数。优选地,所述预编码结果还包括第一参考帧;所述模式决策子模块包括:第一计算子模块,用于计算当前视频编码层中的编码单元的第一率失真,和/或,由当前视频编码层中的编码单元划分的在下一视频编码层中的编码单元的第二率失真;第一判断子模块,用于判断在当前视频编码层中的编码单元的第一率失真是否小于,由当前视频编码层中的编码单元划分的在下一视频编码层中的编码单元的第二率失真;若是,则调用第一重构子模块,若否,则调用第一进入子模块;其中,所述第二失真率配置有第一系数;第一重构子模块,用于获取当前的视频编码层中编码单元对应的第一重构块,以组成第一参考帧;第一进入子模块,用于进入下一视频编码层,返回调用第一计算子模块,直至遍历完本文档来自技高网...
一种<a href="http://www.xjishu.com/zhuanli/62/CN104811696.html" title="一种视频数据的编码方法和装置原文来自X技术">视频数据的编码方法和装置</a>

【技术保护点】
一种视频数据的编码方法,其特征在于,包括:在第一编码流水中,对每一组视频数据进行预编码,以获得预编码结果;所述预编码结果包括每组内每一帧视频数据在至少部分视频编码层中划分的编码单元的最佳编码参数;在第二编码流水中,当每一组视频数据预编码完成时,根据所述最佳编码参数对组内每一帧视频数据进行编码。

【技术特征摘要】

【专利技术属性】
技术研发人员:贺坚强
申请(专利权)人:北京奇艺世纪科技有限公司
类型:发明
国别省市:北京;11

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

1