一种预测编、解码方法和相应的编、解码器和电子设备的制造方法
【技术领域】
[0001]本发明涉及视频编解码领域,更具体地,涉及一种预测编、解码方法和相应的编、解码器和电子设备。
【背景技术】
[0002]正在制定的基于高性能视频编码(H. 265/High Efficiency Video Coding,HEVC)标准扩展的屏幕内容编码(Screen Content Coding,SCC)标准中,采用了帧内块复制(Intra Block Copying,IBC)模式。与传统的使用当前图像内当前块边界处相邻块已恢复像素预测当前块内像素值的方法不同,IBC允许使用当前图像内已经恢复出的一个二维像素块作为当前块的预测块,同时,IBC使用预测块与当前块之间的相对偏移量来定位预测参考块,该偏移量称之为块复制矢量(Block copying Vector,BV)。
[0003]IBC与H. 265/HEVC标准中帧间预测模式相似,其不同之处在于IBC使用当前图像中部分解码恢复的像素点作为预测参考,而帧间预测模式采用按解码顺序在当前图像之前已经解码恢复的图像中的像素作为预测参考。类比帧间预测模式,IBC可以使用相同或相似的块划分方法,IBC的BV信息可以使用与帧间预测模式的运动矢量(Motion Vector,MV)相同或相似的预测编码方法。
[0004]H.265/HEVC标准中,分片(slice)的类型包括帧间预测类型和帧内预测类型。基本概念上,帧间预测类型的分片指的是该分片中的编码块(或解码块)可以使用该分片所在图像或该分片所在图像之外的其他图像中的像素点采样值构造编码块(或解码块)的预测参考;帧内预测类型的分片指的是该分片中的编码块(或解码块)仅使用该分片所在图像中的像素点采样值构造编码块(或解码块)的预测参考。
[0005]考虑到IBC与H. 265/HEVC已有帧间预测模式之间的相似性,为了避免对采用IBC模式的编码块定义一种全新的编、解码方法而带来的冗余,JCTVC-R0100和JCTVC-R0190均提出在SCC标准扩展中使用统一结构的IBC与帧间预测模式。JCTVC-R0100提出将当前解码图像添加到参考图像列表(reference picture list)的列表0 (List 0)的最后一个位置,并将其标记为“长期参考图像(Long-term reference picture)”,这样可以使用已有帧间预测模式的块划分、MV预测编码方法对IBC的块划分和BV进行编码,同时使用帧间预测模式的语法组织方法将IBC的相关信息写入码流。JCTVC-R0190提出将IBC作为一种帧间预测模式来处理,在slice_type取值等于“2”的分片中,使用“帧间预测块”(即pred_m〇de_flag取值等于0)来表示IBC块;在sliCe_type取值等于“0”或“1”的分片中,使用“列表0参考图像索引值等于1的帧间预测块”(即pred_mode_flag取值等于0且ref_idx_10取值等于1)来表示IBC块,这样,可以使用已有帧间预测模式的块划分、MV预测编码方法对IBC的块划分和BV进行编码,同时使用帧间预测模式的语法组织方法将IBC的相关信息写入码流。
[0006]上述方法可以实现了统一结构的IBC和帧间预测模式,可以直接将帧间预测模式上使用的预测块划分、运动信息编码等高效预测编码方法直接应用在IBC上,获得较大的编码效率的提升。尽管如此,上述方法的主要缺点如下:
[0007] 第一,统一 IBC与帧间预测模式的方法无法定义全帧内档次(Al 1 IntraProfile)。对于全帧内档次而言,视频序列的所有图像均使用帧内预测编码方法进行编码,不需要使用和构造参考图像列表。统一 IBC与帧间预测模式的方法需要为全帧内档次增加参考图像列表,在档次定义以及假设参考解码器、一致性测试、码流工作点等多个方法增加针对额外的参考图像列表的相关说明,增加了全帧内档次的复杂度。在编码器设计上,无法直接复用已有的H. 265/HEVC全帧内编码器的高层架构。
[0008]第二,即使对帧内编码图像,在IBC开启的情况下,仍需要构造和使用参考图像列表,因此,在使用IBC的情况下,对于随机接入图像,需要增加额外的对参考图像列表和解码图像缓冲区的操作。
[0009]第三,在统一 IBC与帧间预测模式的方法的基础上,由于完全使用特殊帧间预测模式参数(如特定的参考图像)来声明IBC模式,因此,对IBC模式的改进需要修改全部帧间预测模式参数的语法组织结构和声明方式,增加额外的条件判断,以区分处理IBC与帧间预测模式,这样增加了额外的处理复杂度。特别是,对帧内编码图像的IBC模式进行改进时,需要对从不用于帧内编码图像的帧间预测编码模式进行调整,增加相关条件判断及对应的处理流程。
[〇〇1〇] 第四,目前的统一 IBC与帧间预测模式方法同时应用于帧内预测编码图像和帧间预测编码图像,这样就无法分别地针对帧内预测编码图像和帧间预测编码图像的特点对IBC模式进行改进和优化。
[0011]此外,在目前的预测编码和解码的过程中,预测参考图像中未编码和未解码位置像素点的采样值均用于构造IBC模式的参考块,因此,IBC模式参考块构造过程的性能还有待提升。
【发明内容】
[0012]为解决统一 IBC与帧间预测模式带来的上述技术问题,本发明提供了一种预测编码方法及相应的解码方法,以及采用上述方法的编码器、解码器和电子设备。
[0013]本发明提供了一种预测编码方法,应用于编码器,包括:
[0014]设置分片的类型;
[0015]对帧间预测类型的分片编码时,将所述分片所在图像设置为所述分片的预测参考图像,对所述分片中采用帧内块复制IBC模式的编码块,使用第一编码方式进行编码;
[0016]对帧内预测类型的分片编码时,对所述分片中采用IBC模式的编码块,使用不同于第一编码方式的第二编码方式进行编码。
[0017]可选地,
[0018]所述对帧间预测类型的分片编码时,将所述分片所在图像设置为所述分片的预测参考图像,包括:将所述分片所在图像插入预测参考图像列表,作为所述分片的预测参考图像。
[0019]可选地,
[0020]所述对帧间预测类型的分片编码时,将所述分片所在图像设置为所述分片的预测参考图像,还包括:进行参考图像列表调整操作,调整所述分片所在图像在预测参考图像列表中的位置,并将参考图像列表调整操作相关的参数写入码流。
[0021]可选地,
[0022]对帧间预测类型的所述分片中采用IBC模式的编码块,使用第一编码方式进行编码,包括:使用帧间预测模式的模式参数编码方式编码IBC模式参数。
[0023]可选地,
[0024]所述使用帧间预测模式的模式参数编码方式编码IBC模式参数,包括:使用预测单元PU的运动信息编码方法编码IBC模式参数,编码的所述IBC模式参数包括以下参数中的至少一种:块划分、参考块指示矢量和参考图像索引。
[0025]可选地,
[0026]对帧内预测类型的所述分片中采用IBC模式的编码块,使用第二编码方式进行编码,包括:
[0027]在编码块直接编码IBC模式参数,编码的所述IBC模式参数包括以下参数中的至少之一种:块划分和参考块指示矢量。
[0028]可选地,
[0029]对帧内预测类型的所述分片中采用IBC模式的编码块,使用第二编码方式进行编码,还包括:
[0030]编码时使用预测参考图像列表,将所述分片所在图像放置在所述预测参考图像列表中的固定位置,不进行参考图像列表调整操作。
[0031]可选地,
[0032]所述在编码块直接编码IBC模式参数,包括:在编码单元⑶直接编码IBC模式参数。
[0033]可选地,
[0034]所述在编码块直接编码IBC模式参数之前,还包括:编码IBC模式标识信息。
[0035]可选地,
[0036]将所述分片所在图像设置为所述分片的预测参考图像,包括:将所述分片所在图像直接作为所述分片的预测参考图像;
[0037]对帧间预测类型的所述分片中采用IBC模式的编码块,按照第一编码方式进行编码,包括:
[0038]使用编码单元(CU)编码IBC模式标识信息,使用预测单元(PU)编码IBC模式参数信息;或者
[0039]使用预测单元(PU)编码IBC模式标识信息和IBC模式参数信息。
[0040]可选地,
[0041]使用所述第一编码方式和/或第二编码方式对所述采用IBC模式的编码块进行编码,包括:编码时,对所述编码块的参考块中未编码位置像素点的采样值进行填充。
[0042]相应地,本发明还提供了一种解码方法,应用于解码器,包括:
[0043]解析码流,获得分片类型信息;
[0044]对帧间预测类型的分片解码时,使用第一解码方式,将所述分片所在图像设置为所述分片的预测参考图像,并对所述分片中采用帧内块复制(IBC)模式的解码块进行解码;
[0045]对帧内预测类型的分片解码时,使用不同于第一解码方式的第二解码方式,对所述分片中采用IBC模式的解码块进行解码。
[0046]可选地,
[0047]所述使用第一解码方式,将所述分片所在图像设置为所述分片的预测参考图像,包括:将所述分片所在图像插入预测参考图像列表,作为所述分片的预测参考图像。
[0048]可选地,
[0049]所述使用第一解码方式,将所述分片所在图像设置为所述分片的预测参考图像,还包括:
[0050]解析码流,获得参考图像列表调整操作相关参数的取值;
[0051]根据所述相关参数的取值,进行参考图像列表调整操作,调整所述分片所在图像在预测参考图像列表中的位置。
[0052]可选地,
[0053]所述使用第一解码方式,对所述分片中采用IBC模式的解码块进行解码,包括:使用帧间预测模式的解码方式对所述分片中采用IBC模式的解码块进行解码,通过解析帧间预测模式的模式参数对应的比特字段,获得IBC模式参数。
[0054]可选地,
[0055]所述通过解析帧间预测模式的模式参数对应的比特字段,获得IBC模式参数,包括:通过解析预测单元(PU)及其中运动信息参数对应的比特字段,获得以下IBC模式参数中的至少一种:块划分、参考块指示矢量和参考图像索引。
[0056]可选地,
[0057]所述使用不同于第一编码方式的第二解码方式,对所述分片中采用IBC模式的解码块进行解码,包括:解析所述解码块中IBC模式参数对应的比特字段,获得以下IBC模式参数中的至少一种:块划分和参考块指示矢量。
[0058]可选地,
[0059]所述使用第二编码方式对所述分片中采用IBC模式的解码块进行解码,还包括:
[0060]解码时使用预测参考图像列表,将所述分片所在图像放置在所述预测参考图像列表中的固定位置,不进行参考图像列表调整操作。
[0061]可选地,
[0062]解析所述解码块中IBC模式参数对应的比特字段,包括:解析编码单元⑶中IBC模式参数对应的比特字段,获得IBC模式参数。
[0063]可选地,
[0064]解析所述解码块中IBC模式参数对应的比特字段之前,还包括:解析解码块中IBC模式标识信息对应的比特字段,获得IBC模式标识信息对应参数的取值。
[0065]可选地,
[0066]所述使用第一解码方式,将所述分片所在图像设置为所述分片的预测参考图像,包括:将所述分片所在图像直接作为所述分片的预测参考图像;
[0067]对帧间预测类型的所述分片中采用IBC模式的解码块,使用第一解码方式进行解码,包括:
[0068]解析⑶中IBC模式标识信息对应的比特字段,获得IBC模式标识信息;解析PU中IBC模式参数对应的比特字段,获得IBC模式参数的取值;或者
[0069]解析中IBC模式标识信息和IBC模式参数对应的比特字段,获得IBC模式标识信息和IBC模式参数的取值。
[0070]可选地,
[0071]使用所述第一解码方式和/或第二解码方式对所述采用IBC模式的解码块解码,包括:解码时,对所述解码块的参考块中未解码位置像素点的采样值进行填充。
[0072]相应地,本发明又提供了一种编码器,包括:
[0073]类型设置装置,用于设置分片的类型;
[0074]第一编码装置,用于对帧间预测类型的分片编码,编码时,将所述分片所在图像设置为所述分片的预测参考图像,对所述分片中采用帧内块复制IBC模式的编码块,使用第一编码方式进行编码;
[0075]第二编码装置,用于对帧内预测类型的分片编码,编码时,对所述分片中采用IBC模式的编码块,使用不同于第一编码方式的第二编码方式进行编码。
[0076]可选地,
[0077]所述第一编码装置对帧间预测类型的分片编码时,将所述分片所在图像设置为所述分片的预测参考图像,包括:将所述分片所在图像插入预测参考图像列表,作为所述分片的预测参考图像。
[0078]可选地,
[0079]所述第一编码装置对帧间预测类型的分片编码时,将所述分片所在图像设置为所述分片的预测参考图像,还包括:进行参考图像列表调整操作,调整所述分片所在图像在预测参考图像列表中的位置,并将参考图像列表调整操作相关的参数写入码流。
[0080]可选地,
[0081]所述第一编码装置对帧间预测类型的所述分片中采用IBC模式的编码块,使用第一编码方式进行编码,包括:使用帧间预测模式的模式参数编码方式编码IBC模式参数。
[0082]可选地,
[0083]所述第一编码装置使用帧间预测模式的模式参数编码方式编码IBC模式参数,包括:使用预测单元PU的运动信息编码方法编码IBC模式参数,编码的所述IBC模式参数包括以下参数中的至少一种:块划分、参考块指示矢量和参考图像索引。
[0084]可选地,
[0085]所述第二编码装置对帧内预测类型的所述分片中采用IBC模式的编码块,使用第二编码方式进行编码,包括:在编码块直接编码IBC模式参数,编码的所述IBC模式参数包括以下参数中的至少之一种:块划分和参考块指示矢量。
[0086]可选地,
[0087]所述第二编码装置对帧内预测类型的所述分片中采用IBC模式的编码块,使用第二编码方式进行编码,还包括: