使用块预测的视频编码方法转让专利

申请号 : CN201610971313.0

文献号 : CN107018417B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 吴东兴陈立恒周汉良

申请人 : 联发科技股份有限公司

摘要 :

本发明公开一种使用块预测的视频编码方法,包括:接收当前切片中的当前块的输入像素;获得使用具有第一块大小的所述块预测来编码的所述当前块的第一失真,所述第一失真对应于所述当前块的一个或多个第一预测器和与所述当前块相关的所述一个或多个第一分区之间的偏差;获得使用具有第二块大小的所述块预测来编码的所述当前块的第二失真,所述第二失真对应于所述当前块的一个或多个第二预测器和与所述当前块相关的所述一个或多个第二分区之间的偏差;从所述一个或多个第一预测器和所述一个或多个第二预测器确定一个或多个最佳预测器;以及将具有选定的块大小的所述块预测应用于使用所述一个或多个最佳预测器的所述当前块。

权利要求 :

1.一种使用块预测的视频编码方法,所述块预测使用可变块大小,其特征在于,所述方法包括:接收与当前切片中的当前块相关的输入数据,其中所述当前切片被划分为多个块;

如果将所述当前块分割成多个分区的、具有来自所述可变块大小的选定的块大小的所述块预测被使用:为每个分区确定一个预测器,所述每个分区与使用具有所述选定的块大小的所述块预测来编码的所述当前块相关,其中两个不同分区的两个预测器是从不同像素行组获得的,并且每个像素行组包括在所述当前块之前处理的一个或多个重构像素行;以及将具有所述选定的块大小的所述块预测应用于分别使用所述多个分区的所述预测器的所述当前块。

2.如权利要求1所述的方法,其特征在于,所述可变块大小包括2x2和1x2,并且所述选定的块大小对应于1x2。

3.如权利要求2所述的方法,其特征在于,当具有所述选定的块大小的所述块预测被使用时,当前的2x2块被划分为上方的1x2分区和下方的1x2分区。

4.如权利要求3所述的方法,其特征在于,所述上方的1x2分区的第一预测器是从包括所述上方的1x2分区的第一像素线获得的,以及所述下方的1x2分区的第二预测器是从包括所述下方的1x2分区的第二像素线获得的。

说明书 :

使用块预测的视频编码方法

技术领域

[0001] 本发明涉及用于图像编码系统的块预测(block prediction)。具体地,本发明涉及使用图像压缩应用(例如,通过显示链路的图像数据传输)的可变块大小进行块预测的方法和装置。

背景技术

[0002] 目前已经有各种视频编码标准以减少视频传输所需的比特率或存储所需的容量。例如,MPEG-2、MPEG-4和AVC/H.264已经广泛用于各种应用中。近年来,在诸如VP8、VP9和新兴的高效率视频编码(High Efficiency Video Coding,HEVC)标准的较新的视频压缩格式中,编码效率已经大大提高。
[0003] 在涉及图像显示的各种设备中,存在需要数据压缩的另一类型的应用程序。特别地,将计算机连接到监视器、将机顶盒连接到电视机、以及将应用处理器连接到显示面板的显示链路是在工业中广泛使用的数字接口格式。显示链接使用数字接口。随着对更高显示分辨率和更高帧速率的不断增长的需求,通过显示链路发送的数据量变得非常高。例如,在120Hz帧速率下,机顶盒设备和1080p的高清电视(High-Definition TV,HDTV)之间的显示链路将需要大于7Gb/秒(Gbits/sec)。对于超高清(Ultra High Definition,UHD)电视,所需的数据将高达上述的四倍。因此,显示链接通常是压缩格式。例如,视频电子标准协会(Video Electronics Standards Association,VESA)和MIPI联盟联合开发了显示流压缩(Display Stream Compression,DSC)标准,以满足显示应用(display applications)中的数据压缩的需要。
[0004] 由于不同的要求,DSC标准不同于流行的视频编码标准,诸如MPEG-2/4,AVC/H.264和HEVC。例如,用于显示应用中的压缩的颜色空间(color space)可以是YCoCg颜色空间,而不是YUV颜色空间。此外,DSC仅包括帧内(Intra-frame)压缩而没有帧间(Inter-frame)压缩,以最小化处理延迟并避免需要参考图像缓冲器(reference picture buffer)。在典型的应用中,DSC所需的压缩比远小于视频存储或网络传输的压缩比。图1A为示例性DSC编码器的主要功能块的示意图。如图所示。如图1A所示,DSC编码器包括源缓冲器110、预测/量化/重构单元112、可变长度编码(Variable Length Coding,VLC)熵编码单元114、平坦度(flatness)确定单元116、速率控制单元118、行缓冲器(line buffer)120以及索引颜色历史(indexed color history,ICH)单元122。如果输入图像数据是RGB颜色格式,则在DSC编码器中使用对应于RGB至YCoCg颜色格式转换器的颜色空间转换器(图1A中未示出)。来自平坦度确定单元116的信息可以用于调整速率控制单元118中的量化参数(quantization parameter,QP)。如图1A所示,使用VLC熵编码单元114对平坦度指示(flatness indication)进行熵编码,并将其并入比特流中。根据DSC,像素使用1x3的块大小进行处理,如图1B所示。其中,当前块130由相同像素行中的参考块132来预测。参考块132的位置由对应的块向量134来指示。
[0005] 随着对显示链路的越来越多的需要,以支持用于颜色分量的更高的显示分辨率和更高的位深度,VESA发起了建立用于高级显示流压缩(Advanced Display Stream Compression,ADSC)的标准的开发努力。此外,ADSC支持原生的4:2:0和4:2:2编码,以消除将像素转换为RGB分量的需要。例如,ADSC允许以YCbCr4:2:0颜色取样图案进行更有效的压缩。此外,ADSC还支持高动态范围(High Dynamic Range,HDR),以适应较新的电视节目和电影中较高的颜色深度。
[0006] 显示链接的处理经常使用基于块的(block-based)压缩,其中将图片(picture)划分为块,并且将压缩应用于每个块。此外,压缩设置可以应用于小于图片的图像单元(image unit)。例如,正在开发的高级DSC(ADSC)被应用于每个图片的切片,并且目标比特率被施加在每个切片上。每个切片被划分为多个编码单元(即,块),并且每个编码单元由N×M个像素的块组成,其中N对应于块宽度,M对应于块高度。根据ADSC,每个块的特性根据“平坦度”来评估,其中每个块的平坦度被分类到如下的五个平坦度类型之中:
[0007] ·类型:-1表示“复杂块”
[0008] ·类型:0表示“平坦区域”
[0009] ·类型:1表示“平坦区域(比类型0较不平坦”)
[0010] ·类型:2表示“复杂到平坦块”
[0011] ·类型:3表示“平坦到复杂块”
[0012] 根据每个块及其相邻块的复杂度信息确定平坦度类型。平坦度类型影响每个块中的速率控制行为。根据现有的ADSC草案标准,平坦度类型的语法在每个编码单元中被通知。
[0013] 图1C为根据ADSC草案的示例性编码系统的主要功能块的示意图。ADSC编码器包括源缓冲器140,用于为正被编码的当前块选择最佳模式的模式决定单元142,使用由模式决定单元142选择的最佳模式对当前块应用预测、量化和重构的块编码单元144,VLC熵编码单元146,平坦度确定单元148,速率控制单元150和重构缓冲器152。在重构缓冲器152中缓冲的重构数据将用作为编码当前块和/或后续块的参考数据。在重建缓冲器152中缓冲的重构数据也将被用于模式决定。
[0014] 根据ADSC,使用各种编码模式来对块进行编码。编码模式包括转换模式、DPCM(Delta Pulse Code Modulation)模式、块预测(block prediction,BP)模式、图案(Pattern)模式、中点预测(midpoint prediction,MPP)模式和MPP回退(MPP fallback,MPPF)模式。中点预测模式使用中点值作为每个块中的预测器。例如,中点值可以由像素的动态范围的一半或当前块的相邻重构像素的平均值来确定。
[0015] 图1D为根据ADSC草案的示例性模式决定处理的示意图。模式的类型包括常规模式(160至164)和回退模式(165和166)。对于每种模式,计算速率-失真成本(rate-distortion cost,R-D成本),并将其提供给相应的处理单元(170)以执行速率失真优化、缓冲器预算和错误校验功能。处理单元170检查每个可用模式的缓冲器预算。如果检测到所有可用的常规模式都有缓冲器错误(溢出)或者剩余比特小于阈值,则根据相应的R-D成本从回退模式(例如,MPPF模式或BP跳跃模式(BP-Skip))中选择最佳模式。否则,编码器通过R-D成本从常规模式中选择最佳模式。
[0016] 希望进一步提高ADSC的压缩效率。具体地,本发明涉及块预测模式的性能改进。

发明内容

[0017] 有鉴于此,本发明提供一种使用块预测的视频编码方法。
[0018] 依据本发明一实施方式,提供一种使用块预测的视频编码方法,所述块预测使用多个块大小,所述方法包括:接收当前切片中的当前块的输入像素,其中所述当前切片被划分为多个块;获得使用具有第一块大小的所述块预测来编码的所述当前块的第一失真,其中所述当前块被分割成具有所述第一块大小的一个或多个第一分区,所述第一失真对应于所述当前块的一个或多个第一预测器和与所述当前块相关的所述一个或多个第一分区之间的偏差,并且每个所述第一预测器是从所述当前块之前的重构像素获得的;获得使用具有第二块大小的所述块预测来编码的所述当前块的第二失真,其中所述当前块被分割成具有所述第二块大小的一个或多个第二分区,所述第二失真对应于所述当前块的一个或多个第二预测器和与所述当前块相关的所述一个或多个第二分区之间的偏差,并且每个所述第二预测器是从所述当前块之前的所述重构像素获得的,其中所述第二失真是使用至少部分所述第一失真来计算的;从所述一个或多个第一预测器和所述一个或多个第二预测器确定一个或多个最佳预测器;以及将具有选定的块大小的所述块预测应用于使用所述一个或多个最佳预测器的所述当前块,其中所述选定的块大小与所述最佳预测器相关。
[0019] 依据本发明另一实施方式,提供一种使用块预测的视频编码方法,所述块预测使用可变块大小,所述方法包括:接收与当前切片中的当前块相关的输入数据,其中所述当前切片被划分为多个块;确定使用所述可变块大小的所述块预测是否被启用;如果使用所述可变块大小的所述块预测被启用:确定所述当前块的一个或多个第一预测器,所述当前块使用具有所述可变块大小允许的每个块大小的所述块预测来编码,其中所述一个或多个第一预测器是从所述当前块之前的重构像素获得的;从所述可变块大小的所述一个或多个第一预测器确定一个或多个最佳预测器;以及将具有选定的块大小的所述块预测应用于使用所述一个或多个最佳预测器的所述当前块,其中所述选定的块大小与所述一个或多个最佳预测器相关;以及如果使用所述可变块大小的所述块预测没有被启用:确定所述当前块的一个或多个第二预测器,所述当前块使用具有固定块大小的所述块预测来编码;以及将具有所述固定块大小的所述块预测应用于使用所述一个或多个第二预测器的所述当前块。
[0020] 依据本发明另一实施方式,提供一种使用块预测的视频编码方法,所述块预测使用可变块大小,所述方法包括:接收与当前切片中的当前块相关的输入数据,其中所述当前切片被划分为多个块;如果将所述当前块分割成多个分区的、具有来自所述可变块大小的选定的块大小的所述块预测被使用:为每个分区确定一个预测器,所述每个分区与使用具有所述选定的块大小的所述块预测来编码的所述当前块相关,其中两个不同分区的两个预测器是从不同像素行组获得的,并且每个像素行组包括在所述当前块之前处理的一个或多个重构像素行;以及将具有所述选定的块大小的所述块预测应用于分别使用所述多个分区的所述预测器的所述当前块。
[0021] 依据本发明另一实施方式,提供一种使用块预测的视频编码方法,所述块预测使用非444格式的彩色视频数据的可变块大小,所述方法包括:接收与当前切片中的当前块相关的输入数据,其中所述当前切片被划分为多个块,所述当前块包括与所述非444格式的所述彩色视频数据相关的亮度像素和色度像素;确定所述当前块的所述亮度像素的一个或多个预测器,所述当前块使用具有所述可变块大小允许的每个选定的块大小的所述块预测来编码,其中所述当前块根据所述选定的块大小被划分为一个或多个分区,并且从所述当前块之前处理的重构亮度像素获得每个分区的一个预测器;从与所述可变块大小相关的所述一个或多个预测器中确定一个或多个最佳亮度预测器;将具有所述选定的块大小的所述块预测应用于使用所述一个或多个最佳亮度预测器的所述当前块的所述亮度像素,其中所述选定的块大小与所述一个或多个最佳亮度预测器相关;以及将具有所述选定的块大小的所述块预测应用于使用一个或多个最佳色度预测器的所述当前块的所述色度像素,其中所述一个或多个最佳色度预测器是从属于所述一个或多个最佳亮度预测器的重构色度像素获得的。
[0022] 依据本发明又一实施方式,提供一种使用块预测的视频编码方法,所述块预测使用可变块大小,所述方法包括:接收与当前切片中的当前块相关的输入数据,其中所述当前切片被划分为多个块,并且所述当前块包括亮度像素;确定所述当前块的第一预测器,所述当前块使用具有对应于当前块大小的第一块大小的块预测来编码,其中所述第一预测器使用从所述当前块指向所述第一预测器的第一块向量来定位,且所述第一块向量被限制为一维的;确定与所述当前块相关的多个分区的多个第二预测器,所述当前块使用具有从所述可变块大小中选择的允许的第二块大小的所述块预测来编码,以及所述第二块大小小于所述第一块大小,其中,所述当前块被划分为具有所述第二块大小的所述多个分区,为每个分区获得一个所述第二预测器,所述每个分区具有从一个所述分区指向一个所述第二预测器的一个第二块向量,并且允许所述第二块向量中的至少一个是二维的;从与所述可变块大小相关的候选预测器中确定一个或多个最佳预测器,其中所述候选预测器包括所述第一预测器和所述多个第二预测器;以及将具有选定的块大小的所述块预测应用于使用所述一个或多个最佳预测器的所述当前块,其中所述选定的块大小与所述一个或多个最佳预测器相关。
[0023] 本发明所提供的使用块预测的视频编码方法,能够改善使用块预测模式的性能,提高ADSC的压缩效率。
[0024] 对于已经阅读后续由各附图及内容所显示的较佳实施方式的本领域的技术人员来说,本发明的各目的是明显的。

附图说明

[0025] 图1A为基于显示流压缩(DSC)标准的示例性系统的主要功能块的示意图。
[0026] 图1B为根据DSC标准的块预测的示意图。
[0027] 图1C为根据ADSC草案的示例性编码系统的主要功能块的示意图。
[0028] 图1D为根据ADSC草案的示例性模式决定处理(mode decision process)的示意图。
[0029] 图2A为根据ADSC v0.3的块预测模式的允许可变块大小(即,2x2和1x2)的示意图。
[0030] 图2B为由2x8个像素组成的图像区域的示意图,其被划分为四个2x2块。对于每个2x2块,该块可以被编码为一个2x2块或两个1x2分区(partition)。
[0031] 图3A为根据常规ADSC的位于切片的第一行的2x2块的1x2块预测模式的块预测的实施例。
[0032] 图3B为根据传统ADSC的使用1x2块预测模式的切片的非第一行中的当前块的块预测的另一实施例。
[0033] 图4A为根据常规ADSC的在切片的第一行处的2x2块预测模式的块预测的实施例。
[0034] 图4B为根据常规ADSC的在切片的非第一行处的2x2块预测模式的块预测的实施例。
[0035] 图5A为使用重用(reusing)先前获得的(derived)至少部分失真的方法的实施例。
[0036] 图5B为使用具有不同块大小(即,1x2)的块预测来计算当前块的失真的实施例。
[0037] 图6为分别从不同像素线组得到的属于不同像素线组的分区的预测器的实施例。
[0038] 图7A为4:2:0颜色取样图案(color sampling pattern)705的实施例,其中每四个亮度像素存在一个色度像素,其中色度像素位于两个左边的亮度像素的中间。
[0039] 图7B为基于当前块的亮度像素的预测器为图7A所示的颜色取样图案获得色度预测器的实施例。
[0040] 图7C为基于当前块的亮度像素的预测器为图7A所示的颜色取样图案获得色度预测器的另一实施例。
[0041] 图8A为4:2:0颜色取样图案的实施例,其中每四个亮度像素存在一个色度像素,其中色度像素位于两个右边的亮度像素的中间。
[0042] 图8B为基于用于当前块的亮度像素的预测器为图8A所示的颜色取样图案获得色度预测器的实施例。
[0043] 图8C为基于用于当前块的亮度像素的预测器为图8A所示的颜色取样图案获得色度预测器的另一实施例。
[0044] 图9A为4:2:0颜色取样图案的实施例,其中每四个亮度像素存在一个色度像素,其中色度像素位于四个亮度像素的中心。
[0045] 图9B为基于当前块的亮度像素的预测器为图9A所示的颜色取样图案的获得色度预测器的实施例。
[0046] 图9C为基于当前块的亮度像素的预测器为图9A所示的颜色取样图案的获得色度预测器的另一实施例。
[0047] 图10为用于当前块的分区的预测器的实施例,其中从分区指向预测器的块向量可以是二维的。
[0048] 图11A为根据本发明的实施例的结合可变大小块预测的示例性系统的主要功能块的示意图。
[0049] 图11B为根据本发明实施例的根据结合可变大小块预测的示例性系统的模式决定处理的示意图。
[0050] 图12为结合本发明的实施例的示例性编码系统的流程图,其中与具有第一块大小的块预测相关的失真重用与具有第二块大小的块预测相关的失真。
[0051] 图13为结合本发明的实施例的示例性编码系统的流程图,信息被发信以指示使用可变块大小的块预测是否被启用。
[0052] 图14为结合本发明的实施例的示例性编码系统的流程图,其中两个不同分区的两个预测器是从不同像素线组得到的,并且每个像素线组包括在当前块之前处理的一个或多个重构像素线。
[0053] 图15为结合本发明的实施例的示例性编码系统的流程图,其中图像数据为非444格式(non-444format),并且当前块的色度像素的预测器是从属于当前块的亮度像素的预测器的色度像素获得的。
[0054] 图16为结合本发明的实施例的示例性编码系统的流程图,其中当前块被划分为多个分区,并且为每个分区获得一个预测器,其中预测器具有允许是二维的一个块向量。

具体实施方式

[0055] 以下描述为本发明的较佳实施例。以下实施例仅用来举例阐释本发明的技术特征,并非用以限定本发明。本发明的保护范围当视权利要求书所界定为准。
[0056] 在大多数图像和视频编码系统中,图片被划分为块,并且编码处理被应用于各个块。通常,在大多数图像和视频压缩系统中允许可变块大小。例如,新的视频编码标准,HEVC(高效率视频编码)广泛地使用可变块大小用于编码(即,编码单元,CU)和预测(即,预测单元,PU)。在高级显示流压缩(ADSC)中,块预测模式的块大小也可以是可变块大小。例如,ADSC v0.3中的块预测模式的块大小可以是1x2或2x2,如图2A所示。块大小可以针对每个2x2块自适应地确定。例如,图2B为由2x8个像素组成的图像区域的示意图,其被划分为四个
2x2块。对于每个2x2块,该块可以被编码为一个2x2块或两个1x2分区,如图2B所示。
[0057] 对于ADSC块预测模式,将每一图像分割成一个或一个以上切片,且将每一切片分割成2x2块。每个块可以使用2x2或1x2块预测模式来编码。图3A为根据常规ADSC的位于切片的第一行的2x2块的1x2块预测模式的块预测的实施例。分区310a和分区310b表示正在被处理的当前块的两个1x2分区,并且用斜线填充的像素行340表示在正在被处理的当前块之前的重构像素。块320和块330分别对应于当前块的分区310b和分区310a的两个候选块。块向量312和块向量313分别表示从分区310b指向候选预测器(candidate predictor)320和从分区310a指向候选预测器330的块向量。通常来说,候选预测器是从候选块中经过一些计算/处理而提取出来的。在本实施例中,候选预测器是直接使用候选块的像素值来作为当前块的像素预测器,值得注意的是,上述说明仅用来说明本发明的一种实施方式,并非用来限制本发明的范围。
[0058] 图3B为根据传统ADSC的使用1x2块预测模式的切片的非第一行中的当前块的块预测的另一实施例,其中同一切片中的上方重构像素线390用于获取预测器(predictor)。块350a和块350b表示正在被处理的两个1x2分区。块360和块370分别对应于当前分区350a和
350b的两个候选块。块向量356和块向量357分别表示从当前分区350a指向候选块360和从当前分区350b指向候选块370的块向量。再次,根据常规ADSC,在1x2块预测模式中,仅一行重构像素被用于块预测。
[0059] 图4A为根据常规ADSC的在切片的第一行处的2x2块预测模式的块预测的实施例。块410表示正在被处理的2x2块,并且用斜线填充的像素行440表示在块410之前的两个重构像素行。块420和块430对应于当前块的两个候选预测器。块向量412和块向量413表示分别从当前块410指向候选预测器420和候选预测器430的块向量。
[0060] 图4B为根据常规ADSC的在切片的非第一行处的2x2块预测模式的块预测的实施例。分区450a和450b表示正在被处理的2x2块的两部分。块460对应于两个分区450a和450b的候选预测器。块向量456a和456b表示从分区450a指向候选块460和从分区450b指向候选块460的块向量。
[0061] 根据常规ADSC,针对具有所有允许块大小的所有可能候选来评估编码性能。例如,可能必须针对可变块大小来评估块预测残差(在本申请中也称为失真)。在使用不同块大小的编码性能评估期间将存在一些冗余。因此,期望开发用于块预测的编码处理,其允许可变块大小以消除或减少与失真评估相关的冗余。因此,在本发明的一个方法中,针对使用具有第二块大小的块预测而编码的当前块所计算的第二失真,利用针对使用具有第一块大小的块预测而编码的当前块所计算的至少部分第一失真。根据包括通过利用至少部分第一失真获得的第二失真的性能评估信息来确定最佳候选和块大小。结合此方法的编码系统可将图片分割成一个或多个切片。每个切片被分割成用于块预测的多个块。对于当前块,确定与使用第一块大小的块预测的第一块向量相关的重构区域中的第一候选预测器。计算第一候选预测器(即,重构像素)和当前块(即,源像素)之间的第一失真。确定与使用第二块大小的块预测的第二块向量相关的重构区域中的第二候选预测器。计算第二候选预测器(即,重构像素)和当前块(即,源像素)之间的第二失真。根据本方法,第二失真的计算将至少部分利用第一失真。
[0062] 基于该方法的系统可以使用不同的配置。例如,系统可以仅允许一维块向量,例如仅在水平方向上具有非零值的块向量。在这种情况下,只有当前块左侧的重构像素可以用作预测像素。在另一实施例中,系统使用当前块上方的重构像素作为预测像素。该系统还可以从同一图像中的重构像素获得预测像素。
[0063] 图5A为使用重用先前获得的至少部分失真的方法的实施例。块510表示在2x2块预测模式中编码的当前块。候选预测器520基于块向量512来定位。候选预测器520和当前块510之间的失真可以针对上面部分510a和下面部分510b以两个部分来计算(即,块510的两个部分的失真)。可以将当前块的总失真计算为这两个部分的失真的和。图5B为使用具有不同块大小(即,1x2)的块预测来计算当前块的失真的实施例。块550表示下面部分的块分区。
候选预测器560基于块向量556来定位。候选预测器560和当前块550之间的失真与2x2块510的下面部分的部分失真完全相同。根据本方法,从两个部分失真来计算块510的失真。下面部分的失真可以被分区550使用,以计算1x2块预测模式的失真。因此,块550的失真计算可以重用来自在2x2块预测模式中编码的块510的部分失真。或者,可以首先针对使用1x2块大小的块分区来计算失真。在这种情况下,对于使用1x2块大小的块预测的块550的失真,将通过使用2x2块大小的块预测的失真计算来重用。
[0064] 在本发明的另一方面中,系统发信(signal)一标志(flag)以指示可变大小块预测是启用还是停用。该标志可以在比特流中被发信。例如,该标志可以在比特流的序列层级(sequence level)、帧层级、切片层级或块层级中被发信。当该标志在选定的层级中被发信时,对整个层级启用或禁用可变大小块预测。例如,如果在帧层级中发信该标志,则根据该标志对整个帧启用或禁用可变大小块预测。块向量可以被限制到一个方向。例如,仅允许水平块向量。在这种情况下,系统将仅使用当前块左侧的重构像素。在根据该方法的其他实施例中,系统可以使用当前块上方的重构像素。此外,代替直接使用重构像素作为预测像素,系统还可以基于重构像素获得预测像素。
[0065] 根据本发明的另一方法,属于不同像素线组的分区的预测器分别从不同像素线组得到。每个线组至少包括一个像素线。通过分割具有第一块大小的块来生成分区。在分区之后,每个分区具有第二块大小。使用具有第一块大小的块预测对具有第一块的块进行编码,而使用具有第二块大小的块预测对分区进行编码。在块被划分为两个分区的情况下,根据该方法,分别从所述两个不同的像素线组得到属于两个不同像素线组的两个分区的预测器。换句话说,如果第一分区属于第一像素线组,并且第二分区属于第二像素线组,则从第一像素线组得到第一分区的预测器,并从第二像素线组得到第二分区的预测器。系统可以将图像分割成一个或多个切片,并且将每个切片分割成多个块。系统可以具有各种配置以实现该方法。例如,用于不同像素线组中的不同分区的预测器的本方法是从不同像素线组得到的,可以应用于使用可变块大小的块预测。可变块大小可以包括第一块大小和第二块大小,其中第一块大小大于第二块大小。在一个实施例中,第一块大小可以等于当前块大小。在另一实施例中,第一块大小等于第二块大小的N倍,其中N是大于1的整数。在又一实施例中,第一块大小为至少两个像素高。在又一实施例中,第二块大小为一个像素高。
[0066] 图6为分别从不同像素线组得到的属于不同像素线组的分区的预测器的实施例。2x2块被划分为两个分区610a和610b,并且每个使用1x2块预测模式来编码。根据该方法,分区610a在上方像素线630a中,并且允许使用上方像素线630a中的重构像素来获得候选预测器。因此,预测器620a位于上方像素线630a中,具有用于分区610a的对应块向量612a。类似地,预测器620b位于下方像素线630b中,具有用于分区610b的对应块向量612b。在该实施例中,每个像素线组仅包括一个像素线。
[0067] 根据本发明的另一种方法,使用与相应亮度像素相关的块向量来对色度像素进行编码。例如,当块被划分为两个分区时,两个分区的亮度像素的预测器来自相同的亮度像素线组,其中像素线组包括一个或多个像素线。例如,如果每个分区对应于1x2块,则对应的像素线组仅包含一个像素线。一个选定的亮度分区的块向量可以用作当前块的色度像素的块向量。当前块的色度像素的预测器可以从属于选定的亮度分区的亮度预测器的色度像素获得。
[0068] 图7A为4:2:0颜色取样图案(color sampling pattern)705的实施例,其中每四个亮度像素存在一个色度像素。在该实施例中,色度像素位于两个左边的亮度像素的中间。图7B为根据该方法的获得色度预测器的实施例。在该实施例中,2x2块被划分为两个分区710a和710b,并且每个分区使用块大小等于1x2的块预测来编码。使用块向量712a和712b来分别定位同一像素线中的两个预测器720a和720b。如果上方的分区(即710a)的预测器被用于确定当前块的色度象素的预测器,则色度象素“b”将被用作当前块的色度象素“k”的预测器。
图7C为根据该方法的获得色度预测器的另一实施例。在该实施例中,使用块向量713a来定位预测器730a。如果上方的分区(即710a)的预测器被用于确定当前块的色度象素的预测器,则色度象素“c”将被用作当前块的色度象素“k”的预测器。
[0069] 图8A为4:2:0颜色取样图案805的实施例,其中每四个亮度像素存在一个色度像素。在该实施例中,色度像素位于两个右边的亮度像素的中间。图8B为根据该方法的获得色度预测器的实施例。在该实施例中,2x2块被划分为两个分区810a和810b,并且每个分区使用块大小等于1x2的块预测来编码。使用块向量812a和812b来分别定位同一像素线中的两个预测器820a和820b。如果上方的分区(即810a)的预测器被用于确定当前块的色度象素的预测器,则色度象素“b”将被用作当前块的色度象素“k”的预测器。图8C为根据该方法的获得色度预测器的另一实施例。在该实施例中,使用块向量813a来定位预测器830a。如果上方的分区(即810a)的预测器被用于确定当前块的色度象素的预测器,则色度象素“b”将被用作当前块的色度象素“k”的预测器。
[0070] 图9A为4:2:0颜色取样图案905的实施例,其中每四个亮度像素存在一个色度像素。在该实施例中,色度像素的位置在四个亮度像素的中间。图9B为根据该方法的获得色度预测器的实施例。在该实施例中,2x2块被分割成两个分区910a和910b,并且每个分区使用块大小等于1x2的块预测来编码。使用块向量912a和912b来分别定位同一像素线中的两个预测器920a和920b。如果上方的分区(即910a)的预测器被用于确定当前块的色度象素的预测器,则色度象素“b”将被用作当前块的色度象素“k”的预测器。图9C为根据该方法的获得色度预测器的另一实施例。在该实施例中,使用块向量913a来定位预测器930a。如果上方的分区(即910a)的预测器被用于确定当前块的色度像素的预测器,则色度像素“b”或“c”将被用作色度像素“k”的预测器当前块。在多个候选预测器的情况下,可以在比特流中发信选择信息,使得解码器可以使用与编码器相同的预测器。或者,可通过对多个候选预测器应用算术运算来从多个候选预测器中获得预测器。例如,色度像素“b”和色度像素“c”的平均值可以用作图9C所示的色度像素“k”的色度预测器。
[0071] 在获得色度预测器的上述实施例中,用于不同像素线组中的当前块的分区的预测器总是从相同的重建像素线组获得的。然而,本方法不限于使用相同的像素线组来获得预测器。根据另一实施例,用于不同像素线组中的当前块的分区的预测器可以分别从不同的像素线组获得。
[0072] 根据本发明的另一方法,当对当前块启用使用可变块大小的块预测时,当前块可使用具有第一块大小和第二块大小的块预测,其中第一块大小大于第二块大小。当将具有第一块大小的块预测用于当前块时,块向量被限制为一维。当将具有第二块大小的块预测用于当前块时,允许块向量是一维的。例如,系统可以将图片分割成一个或多个切片,并且每个切片进一步分成多个块。使用具有可变块大小的块预测模式来对块进行编码。例如,第一块大小对应于2x2,第二块大小对应于1x2。根据该方法的2x2块预测可以与上面公开的其他方法相同,例如图6所示的方法。根据该方法的1x2块预测的实施例如图10所示。在该实施例中,使用具有指向预测器1020b的一维块向量1012b的块预测来编码下方的分区1010b。在该实施例中,上方的分区1010a具有指向预测器1020a的二维块向量1012a。二维块向量1012a具有水平分量1012a_h和垂直分量1012a_v。
[0073] 图11A为根据本发明的实施例的结合可变大小块预测的示例性系统的主要功能块的示意图。编码系统是基于图1C所示的编码系统。然而,块编码单元1110是基于如上所公开的新的块预测。此外,模式决定单元1120在最佳模式确定期间考虑新的块预测模式。其余的主要功能块可以保持相同。
[0074] 图11B为根据本发明实施例的根据结合可变大小块预测的示例性系统的模式决定处理的示意图。模式决定处理是基于图1D所示的模式决定处理。然而,会使用新的块预测单元1130。此外,新的处理单元1140用于执行速率失真优化、缓冲器预算和错误校验功能。
[0075] 图12为结合本发明的实施例的示例性编码系统的流程图,其中与具有第一块大小的块预测相关的失真重用与具有第二块大小的块预测相关的失真。在步骤1210中,系统接收当前切片中的当前块的输入像素,其中当前切片被划分为多个块。在步骤1220中,获得使用具有第一块大小的块预测来编码的当前块的第一失真,其中当前块被分割成具有第一块大小的一个或多个第一分区。第一失真对应于当前块的一个或多个第一预测器和与当前块相关的所述一个或多个第一分区之间的偏差(differences),并且每个第一预测器是从当前块之前的重构像素获得的。如果第一块大小等于当前块大小,则不对当前块进行分割,并且对于当前块仅存在一个预测器。然而,如果第一块大小小于当前块大小(例如,1/2),则当前块将被划分为多个分区,并且将获得多个预测器。在步骤1230中,获得使用具有第二块大小的块预测来编码的当前块的第二失真,其中当前块被分割成具有第二块大小的一个或多个第二分区。第二失真对应于当前块的一个或多个第二预测器和与当前块相关的所述一个或多个第二分区之间的偏差,并且每个第二预测器是从当前块之前的重构像素获得的,其中第二失真是使用至少部分第一失真来计算的。在步骤1240中,从所述一个或多个第一预测器和所述一个或多个第二预测器确定一个或多个最佳预测器。在步骤1250中,将具有选定的块大小的块预测应用于使用所述一个或多个最佳预测器的当前块,其中选定的块大小与最佳预测器相关。
[0076] 图13为结合本发明的实施例的示例性编码系统的流程图,其中信息被发信以指示使用可变块大小的块预测是否被启用。在步骤1310中,系统接收与当前切片中的当前块相关的输入数据,其中当前切片被划分为多个块。在编码器侧,与当前块相关的输入数据对应于将被编码的当前块的像素值。在解码器侧,与当前块相关的输入数据对应于包括当前块的已编码的数据或比特流。在步骤1320中,检查使用可变块大小的块预测是否被启用。如果结果为“是”,则执行步骤1330至1350。如果结果为“否”,则执行步骤1360至1370。在步骤1330中,确定当前块的一个或多个第一预测器,该当前块使用可变块大小允许的每个块大小的块预测来编码,其中所述一个或多个第一预测器是从当前块之前的重构像素获得的。
在步骤1340中,从可变块大小的所述一个或多个第一预测器确定一个或多个最佳预测器。
在步骤1350中,将具有选定的块大小的块预测应用于使用所述一个或多个最佳预测器的当前块,其中选定的块大小与所述一个或多个最佳预测器相关。在步骤1360中,为使用具有固定块大小的块预测来编码的当前块确定一个或多个第二预测器。在步骤1370中,将具有固定块大小的块预测应用于使用所述一个或多个第二预测器的当前块。
[0077] 图14为结合本发明的实施例的示例性编码系统的流程图,其中两个不同分区的两个预测器是从不同像素线组得到的,并且每个像素线组包括在当前块之前处理的一个或多个重构像素线。在步骤1410中,系统接收与当前切片中的当前块相关的输入数据,其中当前切片被划分为多个块。在步骤1420中,检查块预测是否被使用,所述块预测具有从将当前块分割为多个分区的可变块大小中选定的块大小。如果结果为“是”,则执行步骤1430至1440。如果结果为“否”,则跳过步骤1430至1440。在步骤1430中,确定与使用具有选定的块大小的块预测来编码的当前块相关的每个分区的一个预测器,其中两个不同分区的两个预测器是从不同像素线组获得的,且每一像素线组包括一个或多个在当前块之前处理的重构像素行。在步骤1440中,将具有选定的块大小的块预测应用于使用所述多个分区的预测器的当前块。
[0078] 图15为结合本发明的实施例的示例性编码系统的流程图,其中图像数据为非444格式(non-444format),并且当前块的色度像素的预测器是从属于当前块的亮度像素的预测器的色度像素获得的。如在彩色图像(color image)和视频数据领域中已知的,彩色信号可以由亮度和色度分量(例如,YUV)来表示。为了节省带宽,降低比特率或减少所需的处理,色度信号通常是子采样格式(sub-sampled chrominance),例如YUV422和YUV420格式。444格式(例如YUV444)对应于具有所有分量全分辨率的格式。非444格式指具有子采样色度分量的任何颜色格式。在步骤1510中,系统接收与当前切片中的当前块相关的输入数据,其中当前切片被划分为多个块,并且当前块包括与非444格式中的彩色图像数据相关的亮度像素和色度像素。在步骤1520中,确定当前块的亮度像素的一个或多个预测器以用于块预测,块预测具有可变块大小允许的每个选定的块大小。根据选定的块大小将当前块划分为一个或多个分区,以及为每个分区从在当前块之前处理的重构亮度像素获得一个预测器。在步骤1530中,从与可变块大小相关的所述一个或多个预测器中确定一个或多个最佳亮度预测器。在步骤1540中,将具有选定的块大小的块预测应用于使用所述一个或多个最佳亮度预测器的当前块的亮度像素,其中选定的块大小与所述一个或多个最佳亮度预测器相关。在步骤1550中,将具有选定的块大小的块预测应用于使用一个或多个最佳色度预测器的当前块的色度像素,其中所述一个或多个最佳色度预测器是从属于所述一个或多个最佳亮度预测器的重构色度像素获得的。
[0079] 图16为结合本发明的实施例的示例性编码系统的流程图,其中当前块被划分为多个分区,并且为每个分区获得一个预测器,其中预测器具有允许是二维的一个块向量。在步骤1610中,系统接收与当前切片中的当前块相关的输入数据,其中当前切片被划分为多个块,并且当前块包括亮度像素。在步骤1620中,确定使用具有对应于当前块大小的第一块大小的块预测来编码当前块的第一预测器,其中使用从当前块指向第一预测器的第一块向量来定位第一预测器,第一块向量被限制为一维的。在步骤1630中,确定多个第二预测器,以编码多个分区,该多个分区与使用具有从所允许的可变块大小中选择的第二块大小的块预测的当前块相关,并且第二块大小小于第一块大小,其中当前块被分割为具有第二块大小的所述多个分区,为每个分区获得一个第二预测器,其中第二预测器具有从所述一个分区指向所述一个第二预测器的一个第二块向量,并且允许至少一个第二块向量是二维的。在步骤1640中,从与可变块大小相关的候选预测器中确定一个或多个最佳预测器,其中候选预测器包括第一预测器和所述多个第二预测器。在步骤1650中,将具有选定的块大小的块预测应用于使用所述一个或多个最佳预测器的当前块,其中选定的块大小与所述一个或多个最佳预测器相关。
[0080] 以上所示的流程图旨在说明本发明的图像编码的实施例。本领域的技术人员可以修改每个步骤、重新安排步骤的顺序、拆分步骤或者结合某些步骤来实现本发明,而不脱离本发明的精神。
[0081] 以上的描述是使本领域的技术人员在本文提供的特定应用和需求下能够实践本发明。本领域的技术人员将容易地观察到,在不脱离本发明的精神和范围内,可以进行多种修改和变动。因此,本发明并非限定在所示和描述的特定的实施例上,而本发明公开是为了符合原则和新颖性的最广泛的范围。在上述详细的描述中,各种具体的细节,用以提供对本发明的透彻的了解。尽管如此,将被本领域的技术人员理解的是,本发明能够被实践。
[0082] 如上述所述的本发明的实施例,可以使用硬件、软件或其组合来实现。例如,本发明的一实施例可以是集成到视频压缩芯片中的电路或集成到视频压缩软件中的程序代码,以执行所描述的处理。本发明的实施例也可以是将在数字信号处理器上执行的程序代码来执行所描述的处理。本发明还涉及一系列的由计算机处理器、数字信号处理器、微处理器和现场可编程门阵列(FPGA)执行的功能。根据本发明,这些处理器可以被配置为执行特定任务,通过执行定义特定方法的计算机可读软件代码或固件代码来实现。软件代码或固件代码可以用不同的编程语言和不同的格式或样式来开发。软件代码也可以为不同的目标平台所编译。然而,软件代码的不同的代码格式、风格和语言,以及配置代码的其他方式以执行任务,均不脱离本发明之精神和范围。
[0083] 本发明可以以其它具体形式实施而不背离其精神或本质特征。所描述的实施例在所有方面都仅是说明性的而不是限制性。本发明的范围因此由所附权利要求为准而不是由前面的描述所界定。因此,各种修改、改编以及所描述的实施例的各种特征的组合可以在不脱离本发明的范围如权利要求书中阐述的情况下实施。