基于非对称Tile划分的图像编解码方法及其装置转让专利

申请号 : CN201410746397.9

文献号 : CN105744272B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 梁立伟刘强于培松李成功何银环林彬

申请人 : 深圳力维智联技术有限公司

摘要 :

本发明公开了一种基于非对称Tile划分的图像编码方法及其装置,所述方法包括:将当前编码图像在行方向上进行一次划分,得到多个编码单元行;或,将当前编码图像在列方向上进行一次划分,得到多个编码单元列;将至少一个所述编码单元行包含的基本编码单元在列方向上进行二次划分,或将至少一个所述编码单元列包含的基本编码单元在行方向上进行二次划分,以得到多个至少包含有一个基本编码单元的非对称并行块Tile;对所述多个Tile依次执行图像编码。采用本发明,能够在不影响视频编码压缩率的情况下,提高视频编码中Tile的划分灵活性,进一步提高多核负载均衡,并且可以灵活的支持不同数量的处理器核数。

权利要求 :

1.一种基于非对称Tile划分的图像编码方法,其特征在于,包括:将当前编码图像在行方向上进行一次划分,得到多个编码单元行;或,将当前编码图像在列方向上进行一次划分,得到多个编码单元列;

将至少一个所述编码单元行包含的基本编码单元在列方向上进行二次划分,或将至少一个所述编码单元列包含的基本编码单元在行方向上进行二次划分,以得到多个至少包含有一个基本编码单元的非对称并行块Tile;

对所述多个Tile依次执行图像编码,若一次划分在行方向上进行则,所述多个Tile依次执行图像编码的策略为:依照从左至右以及从上至下的Tile编码顺序对所述多个Tile依次执行图像编码;若一次划分在列方向上进行则,所述多个Tile依次执行图像编码的策略为:依照从上至下以及从左至右的Tile编码顺序对所述多个Tile依次执行图像编码;

其中,对每个Tile执行图像编码的策略为:按照光栅扫描顺序,依次对每个Tile中的每个基本编码单元进行图像编码。

2.一种基于非对称Tile划分的图像编码装置,其特征在于,包括:一次划分单元,用于将当前编码图像在行方向上进行一次划分,得到多个编码单元行;

或,用于将当前编码图像在列方向上进行一次划分,得到多个编码单元列;

二次划分单元,用于将至少一个所述编码单元行包含的基本编码单元在列方向上进行二次划分,或用于将至少一个所述编码单元列包含的基本编码单元在行方向上进行二次划分,以得到多个至少包含有一个基本编码单元的非对称Tile;

编码处理单元,用于对所述多个Tile依次执行图像编码,若一次划分在行方向上进行则,所述多个Tile依次执行图像编码的策略为:依照从左至右以及从上至下的Tile编码顺序对所述多个Tile依次执行图像编码;若一次划分在列方向上进行则,所述多个Tile依次执行图像编码的策略为:依照从上至下以及从左至右的Tile编码顺序对所述多个Tile依次执行图像编码,所述编码处理单元还用于按照光栅扫描顺序,依次对每个Tile中的每个基本编码单元进行图像编码。

3.一种编码器,其特征在于,包括如权利要求1或2所述的基于非对称Tile划分的图像编码装置。

4.一种用于基于如权利要求1所述的非对称Tile划分的图像编码方法而提供的编码码流的图像解码方法,其特征在于,包括:识别出多个非对称Tile;

对所述多个Tile依次执行图像解码。

5.一种用于执行如权利要求4所述的图像解码方法的图像解码装置,其特征在于,包括:Tile识别单元,用于识别出多个非对称Tile;

解码处理单元,用于对所述多个Tile依次执行图像解码。

6.一种解码器,其特征在于,包括如权利要求5所述的图像解码装置。

说明书 :

基于非对称Tile划分的图像编解码方法及其装置

技术领域

[0001] 本发明属于视频编解码技术领域,具体而言,涉及一种基于非对称Tile划分的图像编解码方法及其装置。

背景技术

[0002] 目前新一代的高级视频编码标准中包含了Tile(并行块)的概念。Tile是为了在多核架构下进行视频编解码的并行处理而引入的,这些多核处理器之间共享同一块内存,从而可以方便地进行帧内并行处理。在上一代视频编码标准中则使用Slice(片)来进行并行处理,因为每个Slice可以单独解码,所以每个Slice都要包含Slice头数据,并且Slice划分必须按照宏块光栅扫描顺序进行,另外Slice之间也不可以互相参考(诸如帧内预测、帧间运动矢量预测等)。为了提高多核并行效率,减少Slice头数据占用,并提高编码效率,在新一代视频编码国际标准HEVC(High Efficiency Video Coding,高效率视频编码)中加入了Tile。
[0003] 如图1所示,Tile被定义为矩形的区域,一帧图像按照行列划分为若干个Tile,每个Tile包含整数个最大编码单元LCU。Tile的宽度和高度使用PPS(Picture Parameter Set,图像参数集)中的语法进行标识。每个Tile内的LCU按光栅扫描顺序进行处理,Tile之间也按光栅扫描顺序进行处理。同时由于Tile允许纵向划分图像,纵向边界的长度要小于横向边界,这样更利于提高编码压缩效率。并且多核直接的负载也更均衡,利于提高多核处理器的并行度。一帧图像中的每个Tile的宽度和高度可以一样,也可以不完全一样,这有利于在各个处理器之间均衡计算量。
[0004] 从Tile的定义可以看出,每条横向或纵向边都是穿越整个图像的,也就是说当其中某一条边移动时,这条边所相邻的Tile都要受影响,这显然也存在一些不灵活的地方。可以说是牵一发而动全身,在同一条边上的Tile是有直接联系的,难以做到多核的最佳负载均衡。另外按照HEVC中关于Tile的定义,如图2所示,如果要使用3个、5个、7个、11个等这种质数数量的Tile,只能从一个方向进行划分,而不能横向和纵向同时划分,显然限制了Tile在这种情况下的使用。

发明内容

[0005] 为了提高视频编码中Tile的划分灵活性,进一步提高多核负载均衡,并且可以灵活地支持不同数量的处理器核数,本发明实施例的目的在于提供一种基于非对称Tile划分的图像编解码方法及其装置。
[0006] 本发明实施例采用以下技术方案实现:
[0007] 一种基于非对称Tile划分的图像编码方法,包括:
[0008] 将当前编码图像在行方向上进行一次划分,得到多个编码单元行;或,将当前编码图像在列方向上进行一次划分,得到多个编码单元列;
[0009] 将至少一个所述编码单元行包含的基本编码单元在列方向上进行二次划分,或将至少一个所述编码单元列包含的基本编码单元在行方向上进行二次划分,以得到多个至少包含有一个基本编码单元的非对称并行块Tile;
[0010] 对所述多个Tile依次执行图像编码。
[0011] 优选地,对所述多个Tile依次执行图像编码的策略为:
[0012] 依照从左至右以及从上至下的Tile编码顺序对所述多个Tile依次执行图像编码,或者,依照从上至下以及从左至右的Tile编码顺序对所述多个Tile依次执行图像编码;
[0013] 其中,对每个Tile执行图像编码的策略为:
[0014] 按照光栅扫描顺序,依次对每个Tile中的每个基本编码单元进行图像编码。
[0015] 一种基于非对称Tile划分的图像编码装置,包括:
[0016] 一次划分单元,用于将当前编码图像在行方向上进行一次划分,得到多个编码单元行;或,用于将当前编码图像在列方向上进行一次划分,得到多个编码单元列;
[0017] 二次划分单元,用于将至少一个所述编码单元行包含的基本编码单元在列方向上进行二次划分,或用于将至少一个所述编码单元列包含的基本编码单元在行方向上进行二次划分,以得到多个至少包含有一个基本编码单元的非对称Tile;
[0018] 编码处理单元,用于对所述多个Tile依次执行图像编码。
[0019] 优选地,所述编码处理单元对所述多个Tile依次执行图像编码的策略为:
[0020] 依照从左至右以及从上至下的Tile编码顺序对所述多个Tile依次执行图像编码,或者,依照从上至下以及从左至右的Tile编码顺序对所述多个Tile依次执行图像编码;
[0021] 其中,所述编码处理单元对每个Tile包括的基本编码单元执行图像编码的策略为:
[0022] 按照光栅扫描顺序,依次对每个Tile中的每个基本编码单元进行图像编码。
[0023] 一种编码器,其包括如上所述的基于非对称Tile划分的图像编码装置,所述图像编码装置包括:
[0024] 一次划分单元,用于将当前编码图像在行方向上进行一次划分,得到多个编码单元行;或,用于将当前编码图像在列方向上进行一次划分,得到多个编码单元列;
[0025] 二次划分单元,用于将至少一个所述编码单元行包含的基本编码单元在列方向上进行二次划分,或用于将至少一个所述编码单元列包含的基本编码单元在行方向上进行二次划分,以得到多个至少包含有一个基本编码单元的非对称Tile;
[0026] 编码处理单元,用于对所述多个Tile依次执行图像编码。
[0027] 一种用于基于如上所述的非对称Tile划分的图像编码方法而提供的编码码流的图像解码方法,包括:
[0028] 识别出多个非对称Tile;
[0029] 对所述多个Tile依次执行图像解码。
[0030] 优选地,对所述多个Tile依次执行图像解码的策略为:
[0031] 依照从左至右以及从上至下的Tile解码顺序对所述多个Tile依次执行图像解码,或者,依照从上至下以及从左至右的Tile编码顺序对所述多个Tile依次执行图像编码;
[0032] 其中,对每个Tile执行图像解码的策略为:
[0033] 按照光栅扫描顺序,依次对每个Tile中的每个基本编码单元进行图像解码。
[0034] 一种用于执行如上所述的图想解码方法的图像解码装置,其包括:
[0035] Tile识别单元,用于识别出多个非对称Tile;
[0036] 解码处理单元,用于对所述多个Tile依次执行图像解码。
[0037] 优选地,所述解码处理单元对所述多个Tile依次执行图像解码的策略为:
[0038] 依照从左至右以及从上至下的Tile解码顺序对所述多个Tile依次执行图像解码,或者,依照从上至下以及从左至右的Tile编码顺序对所述多个Tile依次执行图像编码;
[0039] 其中,所述解码处理单元对每个Tile执行图像解码的策略为:
[0040] 按照光栅扫描顺序,依次对每个Tile中的每个基本编码单元进行图像解码。
[0041] 一种解码器,其包括如上所述的图像解码装置,具体地,所述图像解码装置包括:
[0042] Tile识别单元,用于识别出多个非对称Tile;
[0043] 解码处理单元,用于对所述多个Tile依次执行图像解码。
[0044] 采用本发明,能够在不影响视频编码压缩率的情况下,提高视频编码中Tile的划分灵活性,进一步提高多核负载均衡,并且可以灵活的支持不同数量的处理器核数。

附图说明

[0045] 图1是HEVC标准中划分4个Tile的示意图。
[0046] 图2是HEVC标准中划分5个Tile的示意图。
[0047] 图3是本发明实施例提供的基于非对称Tile划分的图像编码方法流程图。
[0048] 图4是本发明实施例提供的基于非对称Tile划分的图像解码方法流程图。
[0049] 图5是本发明实施例中首先以“编码单元行”为单位进行划分示意图。
[0050] 图6是本发明实施例中首先以“编码单元列”为单位进行划分示意图。
[0051] 图7是本发明实施例中对“编码单元行”进行二次划分为4个Tile的示意图。
[0052] 图8是本发明实施例中对“编码单元行”进行二次划分为5个Tile的示意图。
[0053] 图9是本发明实施例中对“编码单元行”进行二次划分为7个Tile的示意图。
[0054] 图10是本发明实施例中对“编码单元行”进行二次划分为9个Tile的示意图。
[0055] 图11是本发明实施例中对“编码单元列”进行二次划分为4个Tile的示意图。
[0056] 本发明目的的实现、功能特点及优异效果,下面将结合具体实施例以及附图做进一步的说明。

具体实施方式

[0057] 下面结合附图和具体实施例对本发明所述技术方案作进一步的详细描述,以使本领域的技术人员可以更好的理解本发明并能予以实施,但所举实施例不作为对本发明的限定。
[0058] 参考图3所示,本发明实施例提供了一种基于非对称Tile划分的图像编码方法,包括:
[0059] 第一步:将当前“编码图像”以“编码单元行”或“编码单元列”为单位进行划分,划分为r行或c列,其中r和c为整数,每个行划分的编码单元行数Hi(其中i=0~(r-1))或每个列划分的编码单元列数Wi(其中i=0~(c-1))可以相同也可以不相同,如图5和图6所示。如果是按编码单元行划分的则进入第二步,否则进入第四步。
[0060] 第二步:从第一个行方向的“编码单元行”分组开始,将每个“编码单元行”中的基本编码单元按列方向进行二次划分,划分为Ci列(其中i=0~(r-1)),每个划分记为1个Tile,其中Ci为整数,每个Tile的基本编码单元列数WAij(其中j=0~(Ci-1))可以相同也可以不相同,如图7至图10所示。
[0061] 第三步:将当前“编码图像”的所有Tile按照从左到右然后从上到下的顺序进行编码。每个Tile内部按照光栅扫描顺序,对每个基本编码单元进行编码。直到当前“编码图像”的所有基本编码单元处理完毕,重新进入第一步处理下一帧编码图像。
[0062] 第四步:从第一个列方向的“编码单元列”分组开始,将每个“编码单元列”中的基本编码单元按行方向进行二次划分,划分为Ri行(其中i=0~(c-1)),每个划分记为1个Tile,其中Ri为整数,每个Tile的基本编码单元行数HAij(其中j=0~(Ri-1))可以相同也可以不相同,如图11所示。
[0063] 第五步:将当前“编码图像”的所有Tile按照从上到下然后从左到右的顺序进行编码。每个Tile内部按照光栅扫描顺序,对每个基本编码单元进行编码。直到当前“编码图像”的所有基本编码单元处理完毕,重新进入第一步处理下一帧编码图像。
[0064] 例如,一实施例中,编码端首先按“编码单元行”进行划分的具体处理过程如下:
[0065] 第一步:将当前“编码图像”以“编码单元行”为单位进行划分,划分为r行,其中r为整数,每个行划分的编码单元行数Hi(其中i=0~(r-1))可以相同也可以不相同,如图5所示,所述r=2,H0=4,H1=5。
[0066] 第二步:从第一个行方向的“编码单元行”分组开始,将每个“编码单元行”中的基本编码单元按列方向进行二次划分,划分为Ci列(其中i=0~(r-1)),每个划分记为1个Tile,其中Ci为整数,每个Tile的基本编码单元列数WAij(其中j=0~(Ci-1))可以相同也可以不相同,如图7所示,r=2;H0=4,H1=5;C0=2,C1=2;WA00=5,WA01=6,WA10=6,WA11=5。如图8所示,r=2;H0=4,H1=5;C0=2,C1=3;WA00=5,WA01=6,WA10=4,WA11=3,WA12=4。如图9所示,r=2;H0=4,H1=5;C0=3,C1=4;WA00=4,WA01=4,WA02=3,WA10=3,WA11=3,WA12=3,WA13=2。如图10所示,r=3;H0=3,H1=3,H2=3;C0=3,C1=3,C2=3;WA00=4,WA01=4,WA02=3,WA10=5,WA11=4,WA12=2,WA20=3,WA21=4,WA22=4。
[0067] 第三步:将当前“编码图像”的所有Tile按照从左到右然后从上到下的顺序进行编码。每个Tile内部按照光栅扫描顺序,对每个基本编码单元进行编码。直到当前“编码图像”的所有编码单元处理完毕,重新进入第一步处理下一帧。
[0068] 另一实施例中,编码端首先按“编码单元列”进行划分的具体处理过程如下:
[0069] 第一步:将当前“编码图像”以“编码单元列”为单位进行划分,划分为c列,其中c为整数,每个列划分的编码单元列数Wi(其中i=0~(c-1))可以相同也可以不相同,如图6所示,c=2,W0=6,W1=5。
[0070] 第二步:从第一个列方向的“编码单元列”分组开始,将每个“编码单元列”中的基本编码单元按行方向进行二次划分,划分为Ri行(其中i=0~(c-1)),每个划分记为1个Tile,其中Ri为整数,每个Tile的基本编码单元行数HAij(其中j=0~(Ri-1))可以相同也可以不相同,如图11所示,c=2;W0=6,W1=5;R0=2,R1=2;HA00=5,HA01=4,HA10=4,HA11=5。
[0071] 第三步:将当前“编码图像”的所有Tile按照从上到下然后从左到右的顺序进行编码。每个Tile内部按照光栅扫描顺序,对每个基本编码单元进行编码。直到当前“编码图像”的所有基本编码单元处理完毕,重新进入第一步处理下一帧。
[0072] 相应地,本发明实施例还提供了一种基于非对称Tile划分的图像编码装置,包括:
[0073] 一次划分单元,用于将当前编码图像在行方向上进行一次划分,得到多个编码单元行;或,用于将当前编码图像在列方向上进行一次划分,得到多个编码单元列;
[0074] 二次划分单元,用于将至少一个所述编码单元行包含的基本编码单元在列方向上进行二次划分,或用于将至少一个所述编码单元列包含的基本编码单元在行方向上进行二次划分,以得到多个至少包含有一个基本编码单元的非对称Tile;
[0075] 编码处理单元,用于对所述多个Tile依次执行图像编码。
[0076] 其中,所述编码处理单元对所述多个Tile依次执行图像编码的策略为:
[0077] 依照从左至右以及从上至下的Tile编码顺序对所述多个Tile依次执行图像编码,其中,所述编码处理单元对每个Tile包括的基本编码单元执行图像编码的策略为:
[0078] 按照光栅扫描顺序,依次对每个Tile中的每个基本编码单元进行图像编码。
[0079] 本发明实施例还相应地提供了一种编码器,其包括如上所述的基于非对称Tile划分的图像编码装置,所述图像编码装置包括:
[0080] 一次划分单元,用于将当前编码图像在行方向上进行一次划分,得到多个编码单元行;或,用于将当前编码图像在列方向上进行一次划分,得到多个编码单元列;
[0081] 二次划分单元,用于将至少一个所述编码单元行包含的基本编码单元在列方向上进行二次划分,或用于将至少一个所述编码单元列包含的基本编码单元在行方向上进行二次划分,以得到多个至少包含有一个基本编码单元的非对称Tile;
[0082] 编码处理单元,用于对所述多个Tile依次执行图像编码。
[0083] 相应地,参考图4所示,本发明实施例还提供了一种用于基于如上所述的非对称Tile划分的图像编码方法而提供的编码码流的图像解码方法,包括如下步骤:
[0084] 第一步:从码流中得出当前“编码图像”是首先以“编码单元行”为单元进行划分还是首先以“编码单元列”为单位进行划分,如果是首先以“编码单元行”为单元进行划分则进入第二步,否则进入第六步。
[0085] 第二步:从码流中得出当前“编码图像”以“编码单元行”为单位划分的行数r,其中r为整数,每个行划分的编码单元行数可以相同也可以不相同,如图5所示,r=2。
[0086] 第三步:从第一个行方向的“编码单元行”分组开始,按光栅扫描顺序从码流中得出每个“编码单元行”中的编码单元高度Hi,并得出其对应的列方向二次划分列数Ci,其中Hi和Ci为整数,i=0~(r-1),每个二次划分后的区域定义为1个Tile。每个Tile中包含的基本编码单元列数可以相同也可以不相同,如图7所示,r=2;H0=4,H1=5;C0=2,C1=2。如图8所示,r=2;H0=4,H1=5;C0=2,C1=3。如图9所示,r=2;H0=4,H1=5;C0=3,C1=4。如图10所示,r=3;H0=3,H1=3,H2=3;C0=3,C1=3,C2=3。
[0087] 第四步:按光栅扫描顺序对每一个Tile从码流中得出其编码单元宽度WAij,其中WAij为整数,j=0~(Ci-1),如图7所示,WA00=5,WA01=6,WA10=6,WA11=5。如图8所示,WA00=5,WA01=6,WA10=4,WA11=3,WA12=4。如图9所示,WA00=4,WA01=4,WA02=3,WA10=3,WA11=3,WA12=3,WA13=2。如图10所示,WA00=4,WA01=4,WA02=3,WA10=5,WA11=4,WA12=2,WA20=3,WA21=4,WA22=4。
[0088] 第五步:将当前“编码图像”的所有Tile按照从左到右然后从上到下的顺序进行解码。每个Tile内部按照光栅扫描顺序,对每个基本编码单元进行解码。直到当前“编码图像”的所有基本编码单元处理完毕,重新进入第一步处理下一帧。
[0089] 第六步:从码流中得出当前“编码图像”以“编码单元列”为单位划分的列数c,其中c为整数,每个列划分的编码单元列数可以相同也可以不相同,如图6所示,c=2。
[0090] 第七步:从第一个列方向的“编码单元列”分组开始,按光栅扫描顺序从码流中得出每个“编码单元列”中的编码单元宽度Wi,并得出其对应的行方向二次划分列数Ri,其中Wi和Ri为整数,i=0~(c-1),每个二次划分后的区域定义为1个Tile。每个Tile中包含的基本编码单元行数可以相同也可以不相同,如图11所示,c=2;W0=6,W1=5;R0=2,R1=2。
[0091] 第八步:按垂直扫描顺序对每一个Tile从码流中得出其编码单元高度HAij,其中HAij为整数,其中j=0~(Ri-1),如图11所示,HA00=5,HA01=4,HA10=4,HA11=5。
[0092] 第九步:将当前“编码图像”的所有Tile按照从上到下然后从左到右的顺序进行解码。每个Tile内部按照光栅扫描顺序,对每个基本编码单元进行解码。直到当前“编码图像”的所有基本编码单元处理完毕,重新进入第一步处理下一帧。
[0093] 本发明实施例相应地还提供了一种用于执行如上所述的图想解码方法的图像解码装置,其包括:
[0094] Tile识别单元,用于识别出多个非对称Tile;
[0095] 解码处理单元,用于对所述多个Tile依次执行图像解码。
[0096] 优选地,所述解码处理单元对所述多个Tile依次执行图像解码的策略为:
[0097] 依照从左至右以及从上至下的Tile解码顺序对所述多个Tile依次执行图像解码,其中,所述解码处理单元对每个Tile执行图像解码的策略为:
[0098] 按照光栅扫描顺序,依次对每个Tile中的每个基本编码单元进行图像解码。
[0099] 相应地,本发明实施例还提供了一种解码器,其包括如上所述的图像解码装置,具体地,所述图像解码装置包括:
[0100] Tile识别单元,用于识别出多个非对称Tile;
[0101] 解码处理单元,用于对所述多个Tile依次执行图像解码。
[0102] 以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。