一种并行编码方法和装置制造方法及图纸

技术编号:13711292 阅读:102 留言:0更新日期:2016-09-16 14:16
本发明专利技术实施例提供了一种并行编码方法和装置,涉及视频编码技术领域。所述方法包括:将图像的编码单元按列均匀划分为M个编码组,所述M个编码组对应M个线程;启动各线程对对应的编码组进行基于组间相邻列预测的并行编码。本发明专利技术解决了在先技术中如波形并行编码每行编码单元均对应一次初始化编码和一次结尾编码;而瓦片并行编码中不同区域之间不进行运动预测,且对于非第一行开始的区域中第一行编码单元,无法使用负的运动向量进行预测,导致的编码效率较低的问题,取得了提高编码效率的有益效果。

【技术实现步骤摘要】

本专利技术涉及视频编码
,特别是涉及一种并行编码方法和装置
技术介绍
多核CPU(Central Processing Unit,中央处理器)的出现为人们的生活带来了巨大的改变。为了充分利用多核CPU的优势,启动多个线程对视频图像进行并行编码。在先技术中,并行编码主要有两种:波形并行编码和瓦片并行编码。如图1,波形并行编码启动多个线程对四行编码单元进行并行编码,且每行编码单元均按照从左往右的顺序编码,每行编码单元对应独立的熵编码。其中,对于第四行第二个编码单元42,必须在第三行第三个编码单元33编码完成后再开始编码。瓦片编码首先将视频划分为多个互不重叠的矩形区域,然后启动多个线程对各区域进行并行编码。其中,每个区域对应一个独立的熵编码,各区域之间不进行运动预测。可以看出,波形并行编码中每行编码单元均对应一次初始化编码和一次结尾编码,当视频图像比较大时,会导致编码效率的浪费。瓦片并行编码中不同区域之间阻断了运动预测,会导致降低编码效率;此外,当视频图像水平并行时,对于非第一行开始的区域中第一行编码单元,无法使用负的运动向量进行预测,从而也会导致降低编码效率。
技术实现思路
鉴于上述问题,提出了本专利技术以便提供一种克服上述问题或者至少部分地解决上述问题的并行编码方法和装置。依据本专利技术的一个方面,提供了一种并行编码方法,包括:将图像的编码单元按列均匀划分为M个编码组,所述M个编码组对应M个线程;启动各线程对对应的编码组进行基于组间相邻列预测的并行编码。优选地,所述启动各线程对对应的编码组进行基于组间相邻列预测的并行编码的步骤,包括:对于当前编码组的各编码单元,根据所述编码单元在当前编码组、当前编码组的相邻编码组中的相邻编码单元的编码内容,启动各线程按行从左向右进行预测编码。优选地,所述对于当前编码组的各编码单元,根据所述编码单元在当前编码组、当前编码组的相邻编码组中的相邻编码单元,启动线程按行从左向右进行预测编码的步骤,包括:判断当前编码单元在当前编码组中所处列的位置;若当前编码单元在当前编码组的第一列,则从当前编码组的左相邻编码组中获取当前编码单元的左相邻编码单元、左上相邻编码单元的编码内容,从当前编码组中获取当前编码单元的上相邻编码单元、右上相邻编码单元的编码内容,进行预测编码;若当前编码单元在当前编码组的最后一列,则从当前编码组的右相邻编码组中获取当前编码单元的右上相邻编码单元的编码内容,从当前编码组中获取当前编码单元的左相邻编码单元、左上相邻编码单元、上相邻编码单元的编码内容,进行预测编码;若当前编码单元在当前编码组的内部列,则从当前编码组中获取当前编码单元的左相邻编码单元、左上相邻编码单元、上相邻编码单元、右上相邻编码单元的编码内容,进行预测编码。优选地,还包括:对各编码组的码流长度进行编码;将编码后的码流长度按照编码组从左向右的顺序写入总码流;将各编码组对应的码流按照编码组从左向右的顺序写入总码流。优选地,所述对于当前编码组的各编码单元,根据所述编码单元在当前编码组、当前编码组的相邻编码组中的相邻编码单元,启动线程按行从左向右进行预测编码的步骤,包括:判断当前编码单元在当前编码组中所处列的位置;若当前编码单元在当前编码组的第一列,则从当前编码组的左相邻编码组中,获取当前编码单元的左下相邻编码单元、左相邻编码单元、左上编码单元的编码内容,从当前编码组中,获取当前编码单元的上相邻编码单元、右上相邻编码单元的编码内容,进行预测编码;若当前编码单元在当前编码组的最后一列,则从当前编码组中,获取当前编码单元的左相邻编码单元、左上相邻编码单元、上相邻编码单元进行预测编码;若当前编码单元在当前编码组的内部列,则从当前编码组中,获取当前编码单元的左相邻编码单元、左上相邻编码单元、上相邻编码单元、右上相邻编码单元进行预测编码。优选地,还包括:将各编码组对应的码流按照编码组从左向右的顺序写入总码流。依据本专利技术的另一方面,提供了一种并行编码装置,其特征在于,包括:划分模块,用于将图像的编码单元按列均匀划分为M个编码组,所述M个编码组对应M个线程;编码模块,用于启动各线程对对应的编码组进行基于组间相邻列预测的并行编码。优选地,所述编码模块,包括:第一编码子模块,用于对于当前编码组的各编码单元,根据所述编码单元在当前编码组、当前编码组的相邻编码组中的相邻编码单元的编码内容,启动各线程按行从左向右进行预测编码。优选地,所述第一编码子模块,包括:第一判断单元,用于判断当前编码单元在当前编码组中所处列的位置;第一编码单元,用于若当前编码单元在当前编码组的第一列,则从当前编码组的左相邻编码组中获取当前编码单元的左相邻编码单元、左上相邻编码单元的编码内容,从当前编码组中获取当前编码单元的上相邻编码单元、右上相邻编码单元的编码内容,进行预测编码;第二编码单元,用于若当前编码单元在当前编码组的最后一列,则从当
前编码组的右相邻编码组中获取当前编码单元的右上相邻编码单元的编码内容,从当前编码组中获取当前编码单元的左相邻编码单元、左上相邻编码单元、上相邻编码单元的编码内容,进行预测编码;第三编码单元,用于若当前编码单元在当前编码组的内部列,则从当前编码组中获取当前编码单元的左相邻编码单元、左上相邻编码单元、上相邻编码单元、右上相邻编码单元的编码内容,进行预测编码。优选地,还包括:第一码流长度编码模块,用于对各编码组的码流长度进行编码;第一码流长度写入模块,用于将编码后的码流长度按照编码组从左向右的顺序写入总码流;第一码流写入模块,用于将各编码组对应的码流按照编码组从左向右的顺序写入总码流。优选地,所述第一编码子模块,包括:第二判断单元,用于判断当前编码单元在当前编码组中所处列的位置;第四编码单元,用于若当前编码单元在当前编码组的第一列,则从当前编码组的左相邻编码组中,获取当前编码单元的左下相邻编码单元、左相邻编码单元、左上编码单元的编码内容,从当前编码组中,获取当前编码单元的上相邻编码单元、右上相邻编码单元的编码内容,进行预测编码;第五编码单元,用于若当前编码单元在当前编码组的最后一列,则从当前编码组中,获取当前编码单元的左相邻编码单元、左上相邻编码单元、上相邻编码单元进行预测编码;第六编码单元,用于若当前编码单元在当前编码组的内部列,则从当前编码组中,获取当前编码单元的左相邻编码单元、左上相邻编码单元、上相邻编码单元、右上相邻编码单元进行预测编码。优选地,还包括:第二码流写入模块,用于将各编码组对应的码流按照编码组从左向右的顺序写入总码流。本专利技术实施例具有如下优点:根据本专利技术的一种并行编码方法和装置,可以将图像的编码单元按列均匀划分为M个编码组,所述M个编码组对应M个线程;启动各线程对对应的编码组进行基于组间相邻列预测的并行编码。由此解决了在先技术中每行编码单元均对应一次初始化编码和一次结尾编码,不同区域之间不进行运动预测,当视频图像水平并行时,对于非第一行开始的区域中第一行编码单元,无法使用负的运动向量进行预测,导致的编码效率较低的问题,取得了提高编码效率的有益效果。上述说明仅是本专利技术技术方案的概述,为了能够更清楚了解本专利技术的技术手段,而可依照说明书的内容予以实施,并且为了让本专利技术的上述和其它目的、特征和优点能本文档来自技高网
...

【技术保护点】
一种并行编码方法,其特征在于,包括:将图像的编码单元按列均匀划分为M个编码组,所述M个编码组对应M个线程;启动各线程对对应的编码组进行基于组间相邻列预测的并行编码。

【技术特征摘要】
1.一种并行编码方法,其特征在于,包括:将图像的编码单元按列均匀划分为M个编码组,所述M个编码组对应M个线程;启动各线程对对应的编码组进行基于组间相邻列预测的并行编码。2.根据权利要求1所述的方法,其特征在于,所述启动各线程对对应的编码组进行基于组间相邻列预测的并行编码的步骤,包括:对于当前编码组的各编码单元,根据所述编码单元在当前编码组、当前编码组的相邻编码组中的相邻编码单元的编码内容,启动各线程按行从左向右进行预测编码。3.根据权利要求2所述的方法,其特征在于,所述对于当前编码组的各编码单元,根据所述编码单元在当前编码组、当前编码组的相邻编码组中的相邻编码单元,启动各线程按行从左向右进行预测编码的步骤,包括:判断当前编码单元在当前编码组中所处列的位置;若当前编码单元在当前编码组的第一列,则从当前编码组的左相邻编码组中获取当前编码单元的左相邻编码单元、左上相邻编码单元的编码内容,从当前编码组中获取当前编码单元的上相邻编码单元、右上相邻编码单元的编码内容,进行预测编码;若当前编码单元在当前编码组的最后一列,则从当前编码组的右相邻编码组中获取当前编码单元的右上相邻编码单元的编码内容,从当前编码组中获取当前编码单元的左相邻编码单元、左上相邻编码单元、上相邻编码单元的编码内容,进行预测编码;若当前编码单元在当前编码组的内部列,则从当前编码组中获取当前编码单元的左相邻编码单元、左上相邻编码单元、上相邻编码单元、右上相邻编码单元的编码内容,进行预测编码。4.根据权利要求3所述的方法,其特征在于,还包括:对各编码组的码流长度进行编码;将编码后的码流长度按照编码组从左向右的顺序写入总码流;将各编码组对应的码流按照编码组从左向右的顺序写入总码流。5.根据权利要求2中所述的方法,其特征在于,所述对于当前编码组的各编码单元,根据所述编码单元在当前编码组、当前编码组的相邻编码组中的相邻编码单元,启动各线程按行从左向右进行预测编码的步骤,包括:判断当前编码单元在当前编码组中所处列的位置;若当前编码单元在当前编码组的第一列,则从当前编码组的左相邻编码组中,获取当前编码单元的左下相邻编码单元、左相邻编码单元、左上编码单元的编码内容,从当前编码组中,获取当前编码单元的上相邻编码单元、右上相邻编码单元的编码内容,进行预测编码;若当前编码单元在当前编码组的最后一列,则从当前编码组中,获取当前编码单元的左相邻编码单元、左上相邻编码单元、上相邻编码单元进行预测编码;若当前编码单元在当前编码组的内部列,则从当前编码组中,获取当前编码单元的左相邻编码单元、左上相邻编码单元、上相邻编码单元、右上相邻编码单元进行预测编码。6.根据权利要求5所述的方法,其特征在于,还包括:将各编码组对应的码流按照编码组从左向右的顺序写入总码流。7...

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

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

1