视频编解码系统中在帧内块复制模式和帧间预测模式之间的资源共享的方法和装置与流程

文档序号:13518735阅读:181来源:国知局
视频编解码系统中在帧内块复制模式和帧间预测模式之间的资源共享的方法和装置与流程

相关申请

本申请要求递交于2015年6月3日的号码为60/170,267的美国临时专利申请案和递交于2015年9月2日的号码为62/213,254的美国临时专利申请案的优先权。美国临时专利申请案整体通过引用的方式纳入本文当中。

本申请涉及使用帧内块复制(intrablockcopy,简称intrabc)模式的视频编解码。具体地,本申请涉及视频编解码系统中的帧内块复制模式和帧间预测模式之间的资源共享。



背景技术:

高效视频编码(hevc)是最近几年发展起来的一种新的编解码标准。在高效视频编码系统中,h.264/avc中固定大小的宏块(macroblock)被一个灵活的块所代替,称为编码单元(codingunit,简称cu),cu中的像素共享相同的编解码参数以提升编解码效率。一个cu可以开始于一个最大的cu(lcu),在hevc中也称为编码树单元(codedtreeunit,ctu)。除了编码单元的概念,hevc中也介绍了预测单元(predictionunit,简称pu)的概念。一旦完成了cu分层树的拆分,根据预测类型和pu分区,每个叶cu进一步被拆分为一个或多个预测单元。

随着hevc标准的发展,也开始了hevc扩展的发展,hevc扩展包括屏幕内容编码(screencontentcoding,简称scc)。由于屏幕内容特定的特性,已经完成开发的编解码工具在编解码效率方面证明了其显著增益。其间,色彩索引编码(colourindexcoding)(也称为基于主色彩的编码(majorcolourbasedcoding))技术表示像素块将索引(indices)用于调色板(主色彩),并且利用空间冗余(spatialredundancy)对调色板和索引进行编码。虽然可能的色彩组合(colourcombinations)的总数目是巨大的,但是对于典型的屏幕内容,图像的一个区域中的色彩通常是非常有限的。因此,色彩索引编码对于屏幕内容材料变得非常有效,相关的关键色彩索引编码技术简要说明如下。

在屏幕内容编码(scc)发展的历程中,已经描述了各种各样的视频编码工具,包括“帧内图像块复制”(intrabc)技术。intrabc技术第一次公开于jctvc-m0350(2013年4月18-26日,在韩国仁川举行的视频编码联合协作小组(jointcollaborativeteamonvideocoding,简写为jct-vc)itu-tsg16wp3和iso/iecjtc1/sc29/wg11,第13次会议中,budagavi在ahg8:使用帧内运动补偿的视频编解码(videocodingusingintramotioncompensation),文献:jctvc-m0350)中。图1示出了根据jctvc-m0350的一个示例,其中使用帧内运动补偿(motioncompensation,简称mc)对当前编码单元(cu,110)进行编码。帧内mc也称为帧内块复制(intrabc)。预测块(120)由当前cu和位移向量(112)来定位,在这个示例中,搜索范围被限制于当前ctu(编码树单元)、左ctu以及左左ctu(left-leftctu),预测块从已经重建的区域中获得。然后,也被称为运动向量(mv)或块向量(bv)的当前cu的位移向量和当前cu的残差进行编码。众所周知,hevc采用ctu和cu块结构作为编解码视频数据的基础单元,每个图像被分成多个ctu且每个ctu递归地分成多个cu。在预测期间,每个cu可以被分成用于执行预测进程多个块,称为预测单元(predictionunits,简称pus)。

在jctvc-m0350中,在至少以下方面,intrabc不同于用于帧间预测的运动补偿:

帧内运动补偿的块向量(mvs)被限制为一维的(1-d)(也就是水平或者垂直),而帧间运动补偿使用二维的(2-d)运动估计。

帧内运动补偿的二进制化是定长的,而帧间预测使用指数哥伦布(exponential-golomb)。

帧内运动补偿引入了一个新的语法元素来用指示块向量是水平的或者垂直的。

基于jctvc-m0350,2013年7月25日-8月2日,在奥地利维也纳举行的jct-vcitu-tsg16wp3和iso/iecjtc1/sc29/wg11,第14次会议中,pang等人在non-rce3:使用2-d运动向量的帧内运动补偿(intramotioncompensationwith2-dmvs)中公开了一些修正,文献:jctvc-n0256(以下称为jctvc-n0256)。首先,intrabc扩展至支持2-dmvs,以致于垂直和水平的两个mv分量可以同时是非0的,相比于mv被严格限制为水平的或垂直的传统方法,这为intrabc提供了更多的灵活性。

在jctvc-r0309(2014年7月,在日本札幌举行的jct-vcitu-tsg16wp3和iso/iecjtc1/sc29/wg11,第18次会议中,pang等人提出了:non-scce1:jctvc-r0185和jctvc-r0203的组合,文献:jctvc-r0309)中,相邻的bvs和编码的bvs被用作bv预测值(bvp)。bv预测值的获取与hevc中的高级运动向量预测(advancedmotionvectorprediction,简称amvp)方案相类似。由首先顺序访问当前块(210)的空间邻近的块a1(220)和b1(230)构成预测值候选列表,如图2所示。如果任一空间邻近的块没有块向量,最后两个编码的bvs用作替代块向量以填充块向量候选列表以致于该列表包括两个不同的条目。替代块向量用(-2*cu_width,0)和(-cu_width,0)进行初始化,其中cu_width是cu的宽度。为了避免线缓冲器(linebuffer),上述在ctu之外的bv被认为是不可用的,在每个ctu编解碼结束时,将每个ctu的最后两个编码的bvs重置为(0,0)以防止数据的相关性。

在hevc中,从帧间编码的切片(slice)中的用于当前编码的块的空间/时间相邻的块中获取merge候选。merge_flag用于发信当前块是否被并入到其候选之一中,如果是,使用另一个索引以发信哪一候选被用于merge模式。例如,如果图2中的候选块a1被发信为将要被使用的候选,则当前块将共享与块a1相同的运动向量和参考图像。

如果任何merge候选都是不可用的(例如,在帧间模式中不存在或未被编码),则在候选列表中插入的额外的候选。如果merge候选列表在插入额外的候选后还是没有满,具有等于0的参考索引(也就是refidx)的0运动向量将被用于填充所有空的候选。

可以插入的额外的候选的两种类型:

1.组合的双向预测的merge候选(候选类型1)

2.0向量merge/awvp候选(候选类型2)

在额外的候选类型1之后插入额外的候选类型2。

对于候选类型1,通过组合原始的merge候选生成组合的双向预测的merge候选。具体地,具有mvl0(列表0中的运动向量)和refidxl0(列表0中的参考图像索引),或者具有mvl1(列表1中的运动向量)和refidxl1(列表1中的参考图像索引)的两个原始的候选被用于生成双向预测的merge候选。

对于候选类型2,通过组合0向量和可以被参考的参考索引来生成0向量merge/amvp候选。如果0向量候选没有重复,它将被加入至merge/amvp候选集中。

在scm-2.0中(2014年6月30日-7月9日,在日本札幌举行的jct-vcitu-tsg16wp3和iso/iecjtc1/sc29/wg11,第18次会议中,joshi等人提出了:屏幕内容编码测试模式2(screencontentcodingtestmodel2(scm2)),文献:jctvc-r1014),将块向量差异的编码修正为去使用一个上下文编码(context-coded)的二进制(bin)以用于编码每个向量分量。在此文献中,还提出了一种进一步提升编解码效率和能够实现bvd个mvd编解码统一的方法。

在scm3.0中(2014年8月17-24日,在法国斯特拉斯堡举行的jct-vcitu-tsg16wp3和iso/iecjtc1/sc29/wg11,第19次会议中,joshi等人提出:屏幕内容编码测试模式3(screencontentcodingtestmodel3(scm3)),文献:jctvc-s1014),如图3所示,采用了阶梯形(laddershaped)的intrabc搜索范围约束,其中具有交叉线背景的块指示阶梯形的intrabc的搜索范围以及对应于当前ctu的块310。对于在当前ctu中的intrabc块,将可用搜索区域被约束到具有点背景的ctus和当前ctu中的重建的块中。



技术实现要素:

本发明公开了一种用于在使用包括帧内块复制(intrabc)的编码模式的视频编解码系统中配置片上缓冲器(on-chipbuffer)或高速缓冲存储器(cachememory)方法和装置。根据这一方法,当前图像的至少部分预去块重建(pre-deblockingreconstructed)的视频数据存储于片上缓冲器或高速缓冲存储器中,当视频编解码系统使用包括帧间预测模式的编码模式的时候,来自于在先图像的至少部分帧间参考视频数据也存储在片上缓冲器或高速缓冲存储器中。在这种情况下,来自于在先图像的至少部分帧间参考视频数据存储在片上缓冲器或高速缓冲存储器中。如果当前块使用intrabc模式进行编码,存储在片上缓冲器或高速缓冲存储器中当前图像的预去块重建的视频数据被用于获取用于当前块的intrabc预测。在一些实施例中,如果当前块使用帧间预测模式进行编码,存储在片上缓冲器或高速缓冲存储器中的帧间参考视频数据被用于获取用于当前块的帧间预测。来自于先前图像的部分帧间参考视频数据可以从基于片外存储器(off-chipmemory)中的解码图像缓冲器中预取出至片上缓冲器或高速缓冲存储器中。在一个实施例中,当前图像的第二部分预去块重建的视频数据可以存储于片外存储器。

为了压缩系统带宽,当前图像的预去块重建的视频数据可以从运动补偿或运动估计(mc/me)单元中直接输出至片上存储器或高速缓冲存储器中。因此,对于intrabc编码或解码当前图像的后续编码树单元(ctu)中的另一个块,系统可以决定所需要的预去块重建的视频数据在片上缓冲器或高速缓冲存储器中。如果是,那么系统可以从片上缓冲器或高速缓冲存储器中读取所需要的预去块重建的视频数据。否则,系统将从片外存储器中读取所需要的预去块重建的视频数据。当片上缓冲器或高速缓冲存储器是饱和或几乎饱和的时候,清除片上缓冲器或高速缓冲存储器中的至少一些预去块重建的数据,被清除的数据可以对应于长时间逗留的、近期几乎不使用的、在几何位置上远离当前块的或在将来最不可能使用的数据。

在一个实施例中,片上缓冲器或高速缓冲存储器被重新配置以存储在一个配置中属于当前图像的预去块重建的视频数据的重建的视频数据,并且存储在另一个配置中属于来自于先前图像的所述至少部分帧间参考视频数据的重建视频数据。如果片上缓冲器或高速缓冲存储器包括n条高速缓存线,所述n条高速缓存线可以被配置到m个高速缓存线组中,其中每个所述高速缓存线组由1至(n-m+1)个高速缓存线组成,其中n和m是正整数且1<m≤n。所述高速缓存线组可以单独地和动态地被配置以在帧间预测模式中存储参考帧数据以及在intrabc模式中存储预去块数据。一个标记或地址范围可以被用于标识在高速缓存线组中所存储的数据是否是帧间预测模式中的参考帧数据或intrabc模式中的预去块数据。如果用于帧间预测模式和intrabc模式中的一个模式的高速缓存线组的总数超过了阈值,清除至少一个高速缓存线组以释放资源以用于另一个模式,所述阈值可以根据编码条件适应性地确定。例如,如果在一个intra切片中对块进行编码或解码,用于所述帧间预测模式的所述阈值被设置为0。

根据本发明的另一种方法,使用编码器侧用于所述帧间预测模式的所述运动估计(mc)单元或者解码器侧用于所述帧间预测模式的所述运动补偿(me)单元在intrabc模式中执行像素重建。所述运动估计单元或所述运动补偿单元使用在先前图像中的参考像素和运动向量生成预测块。对于intrabc模式,所述运动估计单元或所述运动补偿单元在当前图像中的使用先前的预去块重建视频数据作为参考像素以及使用块向量作为运动向量以生成所述预测块。在帧间预测模式和intrabc模式之间的所述mc/me共享可以与片上缓冲器或高速缓冲存储器共享合并。

当intrabc应用于非444色彩视频数据的时候,色度分量必须水平和垂直地插值,然而,插值过滤需要来自相邻块的数据,数据相关性将会在处理管线中造成泡沫周期(bubblecycles)。根据本发明的又一方法,通过交错第一色彩色度块和第二色彩色度块将空间插值应用于第一色彩色度块和第二色彩色度块。此外,通过将每个亮度块拆分成两半亮度块以及在一个第二色彩色度块和一个第二色彩色度块之间处理每一半个亮度块,将重建进程应用于亮度块、第一色彩色度块以及第二色彩色度块。

附图说明

图1示出了帧内块复制(intrabc)的示例,其中块向量被限制为水平方向。

图2示出了基于空间相邻的块的运动向量构造运动向量预测值候选列表的示例。

图3示出了根据现有的hevcscc(高效视频编码-屏幕内容编码)规格的一个阶梯形的intrabc搜索范围的示例。

图4示出了与预去块数据高速缓存方法有关的一个示例性系统框图,其中仅示出了编解码系统中相关的系统块。

图5示出了用于结合了共享的预去块数据和帧间参考数据高速缓存方法的实施例的编解码系统的示例性框图。

图6a示出了根据本发明的一实施例的用于存储预去块数据和帧间参考数据的配置共享的片上存储器的示例。

图6b示出了根据本发明一实施例的用于存储预去块数据和帧间参考数据的配置共享的片上存储器的示例。

图7示出了对应于intrabc模式中色度水平滤波、垂直滤波和重建的处理线程的示例性定时关系,其中在相同色度分量的两个连续的块的水平处理之间需要两个泡沫周期。

图8示出了根据本发明一实施例的对应于色彩分量交错方法以估算泡沫周期的处理线程的一个示例性定时关系。

图9示出了根据本发明一实施例的对应于色彩分量交错方法以估算泡沫周期的处理线程的另一个示例性定时关系。

图10示出了根据本发明一实施例的对应于色彩分量交错方法以估算泡沫周期的处理线程的又一个示例性定时关系。

图11示出了用于分数的块向量情况下的对应于色彩分量交错方法的处理线程的另一个示例性定时关系。

图12示出了根据本发明一实施例的使用包括intrabc模式和帧间预测模式的编码模式的一个示例性编解码系统的流程图,其中帧间预测模式和intrabc模式共享片上缓冲器和高速缓冲存储器。

图13示出了根据本发明一实施例的使用包括intrabc模式和帧间预测模式的编码模式的一个示例性编解码系统的流程图,其中帧间预测模式和intrabc模式共享运动补偿(mc)单元或运动估计(me)单元。

具体实施方式

以下描述是实施本发明的最佳实施模式,本说明书旨在说明本发明的一般原理而不应该做限制性的理解,本发明的范围由所附权利要求最佳确定。

帧间模式和intrabc模式共享片上高速缓冲器

在视频编码设计中,片上缓冲器或高速缓冲存储器(cache)通常用于存储对应于参考帧的纹理(texture)的搜索范围数据。在scc(屏幕内容编码)中,对于intrabc预测而言,需要当前图像的预去块重建的纹理。当前图像的预去块重建的视频数据(例如,纹理)通常存储在与参考图像相同的地方。由于相当大的存储需求,所述参考图像通常存储在片外存储器中,例如dram(动态随机存取存储器)。然而,在编码器侧,通常有一个或多个片上缓冲器或高速缓冲存储器以存储参考图像的部分数据用于帧间预测模式中的运动估计。在本发明中,公开了帧间预测和intrabc预测两者共享片上缓冲器或高速缓冲存储器,片上缓冲器或高速缓冲存储器不仅存储参考图像的部分数据,而且存储当前图像的预去块重建的纹理。因此,帧间运动估计和intrabc块匹配可以存取相同的片上缓冲器或高速缓冲存储器获得所需要的数据。

在一个实施例中,当前图像的部分预去块重建的纹理存储于片外缓冲器中,而当前图像的部分预去块重建的纹理存储于片上缓冲器或高速缓冲存储器中,在帧间预测和intrabc预测之间共享所述片上缓冲器或高速缓冲存储器。

在另一个实施例中,当前图像的部分预去块重建的纹理存储于片外缓冲器中,而当前图像的部分预去块重建的纹理存储于片上缓冲器或高速缓冲存储器中。然而,所述片上缓冲器或高速缓冲存储器对于帧间预测是不共享的,在这种情况下,存储在片上缓冲器或高速缓冲存储器中的数据可以被当前帧中的cus参考。

与用于帧间预测的merge模式相似,根据本发明的一个实施例,用于当前pu的可能的候选bvs可以从相邻块的信息中获取,可能的bv候选可以是左边的、左下方的、上方的、左上方的、右上方的相邻的块的bvs,可能的bv候选也可以是根据merge候选获取而获取的。在对当前pu进行编码之前,当前pu的intrabc预测的参考数据可以被预取出至片上缓冲器或高速缓冲存储器中。在一些其他实施例中,来自于先前图像的至少部分帧间参考视频数据可以从基于片外存储器中的解码图像缓冲器中被预取出至片上缓冲器或高速缓冲存储器中。

预去块数据高速缓存方法

对于intrabc模式,视频编码器和解码器需要在缓冲器中存储预去块数据,所述缓冲器其通常作为外部存储器被实施,为了存取存储在外部存储器中的预去块数据,将会导致存储器带宽消耗的增加。为了减少存储器带宽,一个预去块数据高速缓存方法可以包括以下步骤或特征中的一个或多个:

1.从mc(运动补偿)/me(运动估计)中输出重建的数据(预去块数据)至预去块滤波模块;

2.在内部缓冲器中(例如,sram(静态随机存取存储器)或高速缓冲存储器)存储直接来自于mc/me的至少一部分预去块数据;

a)为了长期使用,预去块数据也可以存在于外部缓冲器中。在编码器侧,为了节省存储器的带宽,预去块数据可以不存储于外部存储器中或仅一部分预去块数据存储于外部存储器中。

3.当在相同帧的后续ctu中进行编码/解码intrabc模式的时候,检查所需要的预去块数据是否在内部缓冲器中;

a)如果所需要的预去块数据存在于内部缓冲器中,从内部缓冲器中读取所述数据;

b)如果所需要的预去块数据不存在,从外部缓冲器中读取所述数据;

4.在下列情况下,清除内部缓冲器中的预去块数据:

a)缓冲器饱和或几乎饱和;或者

b)数据存储了最长的时间、或数据最近最少被使用、或数据在未来最不可能被使用。

图4示出了与预去块数据高速缓存方法有关的一个示例性系统框图,其中仅示出了编解码系统中相关的系统块。主要的系统块包括mc/me单元410(运动补偿/运动估计单元)、去块滤波单元420、内部缓冲器430以及外部缓冲器440。内部缓冲器430使用sram(静态随机存取存储器)或高速缓冲存储器设备实施以支持所需要的高速存取速度。另一方面,外部缓冲器可以基于dram(动态随机存储器)实现以低成本实现大存储。在一些实施例中,可以根据预定的策略(例如阈值),确定缓冲器是否饱和或者几乎饱和或者没有饱和。

共享的预去块数据高速缓存的方法

预去块数据高速缓存方法可以被实施为专用的高速缓冲存储器或像高速缓冲存储器一样的存储器,其通常具有高成本。为了进一步减少成本,提出了一种共享的预去块数据高速缓存的方法。

可以看出,数据缓冲对于不同的编解码情景可以是不同的。在一个情景中,视频编码系统可能不需要缓冲预去块数据,在另一个情景中,视频编解码系统可能需要缓冲多于参考帧数据的预去块数据以用于运动补偿。可以存储对应于去块和/或滤波数据的预去块数据和参考帧数据两者的可重配置的高速缓冲存储器可以显著提高高速缓冲存储器的利用和降低成本。所述数据高速缓存方法可以包括下列步骤或特征的一个或多个:

1.使用高速缓冲存储器系统去同时存储对应于去块和/或滤波数据的预去块数据和参考帧数据,其中至少一部分高速缓冲存储器资源可以被重配置以存储参考帧数据或预去块数据;

2.将高速缓冲存储器系统配置为n个高速缓存线,其中所述n个高速缓存线被配置到m个组中,每个组有1到(n-m+1)个高速缓存线,m和n是正整数且1<m≤n;

3.独立地和动态地配置至少一组高速缓存线作为用于存储所述参考帧数据的参考模式或用于存储预去块数据的预去块模式:

a.模式配置:使用标签或地址范围去标注高速缓存线作为参考模式或预去块模式。

4.使用清除方法来控制参考模式或预去块模式的资源使用,以提高高速缓存命中率(hitrate):

a.限制用于两个模式之一的高速缓存线的数量。例如,当被占用的高速缓存线数量超过阈值的时候,清除高速缓存线以释放资源至另一个模式;

b.根据编解码情景适应性地确定资源限制,例如,当帧内切片被编码或解码的时候,用于参考模式的高速缓存线的数量被限制为0。

图5示出了中结合了共享的预去块数据的高速缓存方法的实施例的编解码系统中配置高速缓冲存储器的示例。高速缓冲缓存器(510-0至510-4)用于缓冲当前帧的预去块数据(520)或者先前帧的参考帧数据(530)。换句话说,预去块数据和参考帧数据共享高速缓冲缓存器(510-0至510-4),预去块数据用于intrabc预测并且来自于先前帧的参考帧数据用于帧间预测。高速缓冲存储器被配置至高速缓存线组中以致于每个高速缓存线组可以单独地和适应性地被分配以存储预去块数据或参考帧数据。在图5的示例中,有五个高速缓存线组,其中高速缓存线组0(510-0)和高速缓存线组2(510-2)被分配用于存储预去块数据,另一方面,高速缓存线组1(510-1)和高速缓存线组3(510-3)和4(510-4)被分配用于存储参考帧数据。每个高速缓存线组由一个或多个高速缓存线组成。图5示出了一个示例,其中intrabc进程和帧间预测进程通过选择器550共享相同的mc/me单元540(运动补偿/运动估计单元),不过,独立的处理单元可以用于intrabc预测和帧间预测。因为高速缓冲存储器的分配是单独地和适应性地执行的,在下一决策实例中可以改变高速缓存线组的分配,如下一个预测单元(pu)、编码单元(cu)或编码树单元(ctu)。

高速缓冲存储器配置-示例1。根据共享的预去块数据高速缓存方法的示例如下所示:

1.如图6a所示,n=5,m=2。换句话说,有五个高速缓存线(610-0至610-4)被配置至两个高速缓存线组(620-0和620-1)中。

2.每个组具有预定义的高速缓存线的数量

a.在这种情况下,高速缓存线组0(620-0)有两个高速缓存线并且高速缓存线组1(620-1)有三个高速缓存线。

3.两个高速缓存线组中的每一个可以被独立地被配置为用于存储参考帧数据的参考模式或用于存储预去块数据的预去块模式:

a.对于不使用intrabc模式的帧间切片类型,将两个缓存线组配置为参考模式以将全部高速缓存线用于mc/me。

b.对于帧内切片类型,配置两个高速缓存线组为预去块模式以将全部高速缓存线用于intrabc模式。

4.两个高速缓存线组可以被实施为两个单独的缓冲器/srams。

高速缓冲存储器配置-示例2,根据共享的预去块数据高速缓存方法的示例如下所示:

1.如图6b所示,n=m=5。换句话说,五个高速缓存线(610-0至610-4)被配置至五个高速缓存线组(630-0至630-4)中,其中每个高速缓存线组中有一个高速缓存线。

2.高速缓存线组中的每个高速缓存线可以被单独地和动态地配置为用于存储参考帧数据的参考模式或用于存储预去块数据的预去块模式。

3.使用标签或存储器地址范围以标注高速缓存线为参考模式或预去块模式。

4.对参考模式高速缓存线和预去块模式高速缓存线两者使用lru(最近最少使用)清除方法。

高速缓冲存储器的更新可以基于数据几何关系。在scm中,左边相邻的ctus和上面的ctus通常用作intrabc预测值。在解码器侧,预去块取样的左边m个ctus和上面n个ctus可以存储于高速缓冲缓存器或从高速缓冲缓存器预取出。在高速缓冲缓存器中,不在左边m个ctus和上面n个ctus中的取样可以由其他数据替代。

重新使用mchw用于intrabc图像

在scm-4.0中,intrabc将使用bv和参考像素以执行用于目标块的补偿,这一操作恰好和mc(运动补偿)进程的操作是一样的,其使用先前帧中的mv和参考像素。因此,用于mc进程的处理器、电子电路或其他硬件可以被重新使用以执行intrabc补偿。在解码器侧,intrabc补偿可以在像素重建阶段执行,在编码器侧,me硬件可以在intrabc模式和帧间预测模式之间被重新使用或共享。

色度ibcmc时间表

在scm-5.1中(在2015年6月19-26日,在波兰华沙举行的jct-vcitu-tsg16wp3和iso/iecjtc1/sc29/wg11,第21次会议中,joshi等人提出的:屏幕内容编码测试模式3(screencontentcodingtestmodel3,简称scm3),文献jctvc-u1014),在非444格式中需要进行色度插值。如果输入和输出数据具有数据相关性,插值可能需要泡沫周期(bubblecycle),所述泡沫周期是添加到处理线程以解决数据相关性问题的无操作(nop)周期(也就是空闲周期)。例如,如果先前pu/cu中重建的数据用作为用于当前pu/cu的预测值,可能需要泡沫周期。在这种情况下,根据hevc-scc规格使用2d可分离的插值滤波器。如图7所示,在过滤了4行(也就是将4个分接头的滤波器用于色度分量)以后,首先应用水平滤波器(h-filter)接着应用垂直滤波器(v-filter)以获得插值的预测值。因为执行垂直滤波需要额外的水平线(也就是3行),所以总的水平滤波将需要7个周期(也就是4c+3c)。需要一个额外的周期来通过加上残差以生成重建像素,如图7所示,需要两个泡沫周期。

为了减少泡沫周期,如图8所示,可以应用本发明的色彩分量交错方法,其中处理对应于第一色度分量(也就是cb)的块,随后是另一个对应于第二色度分量(也就是cr)的块,换句话说,交错两个色彩块(也就是cb块和cr块)用于intrabc处理。在另一个实施例中,如图9所示,可以将亮度分量分成两部分,一部分可以插在cb和cr之间且另一部分插在cr和cb之间以减少泡沫周期。

在另一个实施例中,如图10所示,cb和cr分量可以并行处理以减少所需要的泡沫周期。

在hevc-scc中,如果块向量(bv)是分数的(也就是bv指向一分数的位置),根据本发明的一个实施例,那么靠近于可用像素边界的2像素边缘被认为是不可用区域。因此,如图11所示,在前2个周期期间,先前cu的输出数据将不会被用于当前cu的插值,泡沫周期将被隐藏起来。

图12示出了根据本发明一实施例的使用包括intrabc模式和帧间预测模式的编码模式的示例性编解码系统的流程图,其中帧间预测模式和intrabc模式共享片上缓冲器或高速缓冲存储器。如步骤1210所示,将当前图像的至少部分预去块重建的视频数据存储于片上缓冲器或高速缓冲存储器中。在步骤1220中接收当前图像中与当前块有关的输入数据,在编码器侧,使用帧间预测模式或intrabc模式对对应于像素数据的输入数据进行编码,在解码器侧,使用帧间预测模式或intrabc模式对对应于编码的像素数据的输入数据进行解码。在步骤1230中,如果使用所述intrabc模式对所述当前块进行编码,使用当前图像的所述至少部分预去块重建的视频数据以获取用于所述当前块的intrabc预测。

图13示出了根据本发明一实施例的使用包括intrabc模式和帧间预测模式的编码模式的示例性编解码系统的流程图,其中帧间预测模式和intrabc模式共享运动补偿(mc)单元或运动估计(me)单元。在步骤1310中,接收与当前图像中当前块有关的输入数据,在编码器侧,使用使用帧间预测模式或intrabc模式对对应于像素数据的输入数据进行编码,在解码器侧,使用帧间预测模式或intrabc模式对对应于编码的像素数据的输入数据进行解码。在步骤1320中,如果使用帧间预测模式对当前块进行编码,使用编码器侧中的运动估计单元或解码器侧中的运动补偿单元以执行像素重建,其中运动估计单元或运动补偿单元使用先前图像中的参考像素和运动向量生成预测块。在步骤1330中,如果使用intrabc模式对当前块进行编码,使用编码器侧中的运动估计单元或解码器侧中的运动补偿单元执行像素重建。

根据本发明所示出的流程图是为了说明视频编解码的一个示例,在不脱离本发明精神的前提下,本领域技术人员可以对每一步进行修改、重新排列步骤、拆分步骤或合并步骤来实施本发明。在本发明中,使用了特定的语法和语义示出了实施本发明实施例的示例,在不背离本发明精神的前提下,本领域技术人员可以用相等的语法和情景替换语法和语义以实施本发明。

上述描述是为了使本领域普通技术人员能够根据上下文所提供的特定应用和其需求实施本发明。对于本领域普通技术人员而言,所描述的实施例的各种各样的修正是显而易见的,且本文中所定义的一般原理可应用于其他实施例。因此,本发明不旨在限制于示出和描述的具体实施例,其应符合这里所公开的原则和新颖性特征一致的最广范围。在上述详细的描述中,为了提供本发明透彻的理解,示出了各种各样的具体的细节,然而本领域技术人员应当理解,可以实施本发明。

上述所描述的本发明的实施例可以实施为各种各样的硬件、软件代码或两者的组合,例如,本发明的一个实施例可以是集成到视频压缩芯片上的一个或多个电子电路或集成到视频压缩软件中的程序代码以执行本文所描述的进程。本发明的一个实施例也可以是在数字信号处理器(digitalsignalprocessor,简称dsp)上执行的程序代码以执行本文所描述的进程。本发明也可以包含由电脑处理器、数字信号处理器、微处理器或现场可编程门阵列(fieldprogrammablegatearray,简称fpga)执行的一些功能。可以配置这些处理器执行根据本发明的具体的任务,通过执行由本发明定义的具体方法的机器可读软件代码或固件代码。软件代码或固件代码可以以不同的编程语言和不同的格式或样式来开发,还可以被不同的目标平台编译软件代码。然而,软件代码的不同的代码格式、风格和语言以及配置代码以执行与本发明中认为一致的其他手段将不会脱离本发明的精神和范围。

在不背离本发明精神或基本特征的情况下,本发明可以以其他特定的形式实施。所描述的实施例在所有方面仅被认为是说明性的而非限制性的,因此,本发明的范围由所附权利要求所指示而不是前面的描述。在权利要求的等同物的含义和范围内的所有变化都包括在它们的范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1