视频译码中的与自适应环路滤波器合并的样本自适应偏移的制作方法

文档序号:7992584阅读:293来源:国知局
视频译码中的与自适应环路滤波器合并的样本自适应偏移的制作方法
【专利摘要】本发明揭示用于在视频译码过程中执行样本自适应偏移SAO以及自适应环路滤波器ALF过程的技术。可将所述SAO和ALF过程进行组合。在一个实例中,对SAO滤波器过程的偏移值的确定可基于ALF过程中所使用的分类。在一个实例中,可使用指示视频块的特定方向特性的ALF分类来确定如何以及是否将SAO滤波器过程应用于所述视频块内的每一样本。
【专利说明】视频译码中的与自适应环路滤波器合并的样本自适应偏移
[0001]相关申请案
[0002]本申请案主张以下申请案的权益:
[0003]2011年10月13日申请的第61/546,925号美国临时申请案,
[0004]其在此以全文引用的方式并入。
【技术领域】
[0005]本发明涉及视频译码,且更特定来说,涉及用于在视频译码过程中执行样本自适应偏移以及自适应环路滤波器过程的技术。
【背景技术】
[0006]数字视频能力可并入到大范围的装置中,包含数字电视、数字直播系统、无线广播系统、个人数字助理(PDA)、膝上型或桌上型计算机、平板计算机、数码相机、数字记录装置、数字媒体播放器、视频游戏装置、视频游戏控制台、蜂窝式或卫星无线电电话、所谓的“智能电话”、视频会议装置等等。数字视频装置实施视频压缩技术,例如由MPEG-2、MPEG-4、ITU-TH.263、ITU-T H.264/MPEG-4第10部分高级视频译码(AVC)、目前在开发中的高效率视频译码(HEVC)标准定义的标准和所述标准的扩展部分中所描述的那些视频压缩技术,从而更高效地发射、接收以及存储数字视频信息。
[0007]视频压缩技术包含空间预测和/或时间预测以减少或移除视频序列中所固有的冗余。对于基于块的视频译码,可将一视频帧或切片分割成若干块。可进一步分割每一块。使用空间预测相对于同一帧或切片中的相邻块中的参考样本来编码经帧内译码(I)帧或切片中的块。经帧间译码的(P或B)帧或切片中的块可使用关于同一帧或切片中的相邻块中的参考样本的空间预测或关于其它参考帧中的参考样本的时间预测。空间或时间预测产生对待译码的块的预测性块。残余数据表示待译码的原始块与预测性块之间的像素差。
[0008]根据指向形成预测性块的参考样本块的运动向量以及指示经译码块与所述预测性块之间的差的残余数据来编码经帧间译码块。根据帧内译码模式和残余数据来编码经帧内译码块。为了进一步压缩,可将残余数据从像素域变换为变换域,从而产生残余变换系数,所述残余变换系数随后可被量化。起初布置在二维阵列中的经量化变换系数可以特定次序扫描以产生变换系数的一维向量以用于熵译码。

【发明内容】

[0009]一般来说,本发明描述用于对视频数据进行译码的技术。具体来说,本发明描述用于在视频译码过程中执行样本自适应偏移(SAO)以及自适应环路滤波器(ALF)过程的技术。所述自适应环路滤波器可与偏移值的SAO确定合并,使得SAO偏移值至少部分基于与自适应环路滤波器的AC系数相关联的值。
[0010]根据本发明的一个实例,一种对视频数据进行滤波的方法包括:接收视频数据块,其中所述视频数据块包含多个样本值;确定所述视频数据块的一个或一个以上滤波器系数;至少部分基于与所述一个或一个以上滤波器系数相关联的值来确定所述多个样本值中的每一者的相应偏移值;以及基于所述所确定的一个或一个以上滤波器系数以及所述所确定的相应偏移值对所述视频数据块进行滤波。
[0011]根据本发明的另一实例,一种经配置以对视频数据进行滤波的设备包括:用于接收视频数据块的装置,其中所述视频数据块包含多个样本值;用于确定所述视频数据块的一个或一个以上滤波器系数的装置;用于至少部分基于与所述一个或一个以上滤波器系数相关联的值来确定所述多个样本值中的每一者的相应偏移值的装置;以及用于基于所述所确定的一个或一个以上滤波器系数以及所述所确定的相应偏移值对所述视频数据块进行滤波的装置。
[0012]根据本发明的另一实例,一种装置包括视频译码器,所述视频译码器经配置以:接收视频数据块,其中所述视频数据块包含多个样本值;确定所述视频数据块的一个或一个以上滤波器系数;至少部分基于与所述一个或一个以上滤波器系数相关联的值来确定所述多个样本值中的每一者的相应偏移值;以及基于所述所确定的一个或一个以上滤波器系数以及所述所确定的相应偏移值对所述视频数据块进行滤波。
[0013]根据本发明的另一实例,一种非暂时性计算机可读存储媒体,其具有存储于其上的指令,所述指令在执行后即刻致使视频译码装置的一个或一个以上处理器:接收视频数据块,其中所述视频数据块包含多个样本值;确定所述视频数据块的一个或一个以上滤波器系数;至少部分基于与所述一个或一个以上滤波器系数相关联的值来确定所述多个样本值中的每一者的相应偏移值;以及基于所述所确定的一个或一个以上滤波器系数以及所述所确定的相应偏移值对所述视频数据块进行滤波。
[0014]一个或一个以上实例的细节陈述于附图及以下描述中。其它特征、目标及优势将从描述及附图和从权利要求书中显而易见。
【专利附图】

【附图说明】
[0015]图1是展示用于SAO滤波的四个可能的边缘偏移分类的概念图。
[0016]图2是展示用于SAO滤波的两个可能的边缘偏移分类的概念图。
[0017]图3是展示用于SAO滤波的实例性频带偏移类型的概念图。
[0018]图4是展示用于自适应环路滤波器的基于区的分类的概念图。
[0019]图5是展示用于自适应环路滤波器的基于块的分类的概念图。
[0020]图6为说明实例性视频编码及解码系统的框图。
[0021]图7为说明实例性视频编码器的框图。
[0022]图8A到8B是说明经分割的图片或视频帧的实例的概念图。
[0023]图9为说明视频编码器中所包含的实例性SA0/ALF模块的框图。
[0024]图10是说明根据本发明的技术的对视频数据进行滤波的实例的流程图。
[0025]图11为说明实例性视频解码器的框图。
[0026]图12为说明视频解码器中所包含的实例性SA0/ALF模块的框图。
[0027]图13是说明根据本发明的技术的对视频数据进行滤波的实例的流程图。
【具体实施方式】[0028]一般来说,本发明描述用于对视频数据进行译码的技术。本发明描述用于在视频译码过程中执行样本自适应偏移以及自适应环路滤波器过程的技术。在一些情况下,ALF中的DC系数偏移可为冗余的,因为SAO已经使用DC偏移。此外,因为SAO通常在应用ALF之前执行,所以可产生额外的编码器帧延迟。鉴于此,本发明提出用于将SAO滤波技术与ALF滤波技术进行组合的若干技术。
[0029]数字视频装置实施视频压缩技术以更有效地编码和解码数字视频信息。视频压缩技术可弓锯视频译码标准来界定。视频译码标准的实例包含ITU-T H.26UIS0/IEC MPEG-1视觉、ITU-T H.262 或 IS0/IEC MPEG-2 视觉、ITU-T H.263、IS0/IEC MPEG-4 视觉以及 ITU-TH.264(还被称为IS0/IEC MPEG-4AVC),包含其可缩放视频译码(SVC)以及多视图视频译码(MVC)扩展。另外,存在正由ITU-T视频译码专家组(VCEG)以及IS0/IEC运动图片专家组(MPEG)的视频译码联合合作小组(JCT-VC)开发的新的视频译码标准,即高效率视频译码(HEVC)。
[0030]HEVC标准化工作是基于被称作HEVC测试模型(HM)的视频译码装置模型。HM假设相对于在开发其它先前视频译码标准(例如,ITU-T H.264/AVC)的开发期间可用的视频译码装置的当前视频译码装置的能力上的提高。举例来说,尽管H.264提供九种帧内预测编码模式,但HEVC提供多达三十五种帧内预测编码模式。被称作“HEVC工作草案4 (HEVCWorking Draft4) ”或“WD4”的HEVC的最近的工作草案(WD)还描述于布洛斯(Bross)等人的文献JCTVC-F803_d2“WD4:高效率视频译码(HEVC)的工作草案4(WD4:fforking Draft4ofHigh-Efficiency Video Coding(HEVC))”, ITU-T SG16WP3 和 IS0/IEC JTC1/SC29/WG11的视频译码联合合作小组(JCT-VC)第6次会议:2011年7月意大利托里诺。此外,HEVC的另一最近的工作草案(工作草案8)描述于布洛斯(Bioss)等人的文献HCTVC_J1003_d7 “高效率视频译码(HEVC)文本规范草案 8(High Efficiency Video Coding (HEVC) TextSpecification Draft8) ”中,ITU-T SG16WP3 和 IS0/IEC JTC1/SC29/WG11 的视频译码联合合作小组(JCT-VC)第10次会议:2012年7月11日到20日,瑞典斯德哥尔摩。HEVC标准还被称作IS0/IEC23008-HEVC,其既定为HEVC的递交版本的标准编号。
[0031]根据视频译码标准(例如,HEVC WD4)而操作的典型视频编码器将原始视频序列的每一帧分割为被称为“块”或“译码单元”的邻接矩形区。这些块可通过应用空间(帧内)预测和/或时间(帧间)预测技术进行编码,以减少或移除视频序列中所固有的冗余。空间预测可被称作“帧内模式”(I模式),且时间预测可被称作“帧间模式”(P模式或B模式)。
[0032]对于帧间模式,编码器首先搜索“参考帧”(通过Fref表示)以寻找类似于待译码的块的块。帧内的待译码的块的位置可通过(x,y)来表示。搜索一般被约束于不多于与待编码的块的某一空间移位。当已识别最佳匹配(即,预测性块或“预测”)时,其可以二维(2D)运动向量的形式表达(ΛΧ,Ay),其中Λ X是参考帧中的预测性块的位置相对于待译码的块的位置的水平移位,且Ay是垂直移位。运动向量与参考帧一起用于如下建构所预测块Fpw:
[0033]Fpred (x, y) = F ref (χ+Δχ, y+Δ y)
[0034]对于以帧内模式编码的块,使用空间预测从与待译码的块相同的帧内的先前经编码相邻块来形成所预测块。
[0035]对于I模式以及P或B模式两者,将预测误差(即,正被编码的块与所预测块中的像素值之间的差)表示为某一离散变换(例如,离散余弦变换(DCT))的一组经加权基础函数。可基于不同的块大小,例如4X4、8X8或16X16以及更大,来执行变换。矩形变换块还可与(例如)16X4、32X8等的变换块大小一起使用。可随后对权重(即,变换系数)进行量化。经量化系数可具有比原始变换系数低的精度。因此,量化可引入信息的损失。量化参数(QP)可确定经量化系数的精度水平。
[0036]这些经量化系数以及语法元素(例如运动向量)加上某一控制信息可形成视频序列的经译码表示。此外,经量化系数、语法元素以及控制信息还可被熵译码,进而进一步减少用于其表示所需的位的数目。熵译码是旨在基于概率分布(即,基于符号出现的频率对符号进行译码)使表示所发射或所存储的符号所需的位的数目最少化的无损操作。压缩比率(即,用于表示原始序列的位的数目对用于表示经译码视频序列的位的数目的比率)可通过调整在量化变换系数时所使用的QP的值来控制。然而,调整值QP可影响经译码视频序列的视觉质量。压缩比率还可取决于所使用的熵译码方法。在解码器处,可通过将预测误差添加到所识别的预测性块来重构待解码的当前帧中的块。归因于译码过程中的信息损失,在一些情况下,经重构的帧可不同于原始帧。经重构的帧与原始帧之间的差异被称为重构误差。
[0037]对于根据HEVC的视频译码,作为一个实例,可将视频帧分割为译码单元。译码单元(CU) —般指代用作向其应用各种译码工具以进行视频压缩的基本单元的图像区。CU通常具有亮度分量(表示为Y),以及两个色度分量,表示为U和V。所述两个色度分量还可通过Cb和(;来表示。视频取样格式可相对于亮度样本的数目来界定色度样本的数目。在一些视频取样格式中,色度样本的数目可与亮度样本的数目相同或不同。CU通常是正方形的,且可被视为类似于在例如ITU-T H.264等其它视频译码标准中所描述的所谓的“宏块”。将在此申请案中出于说明的目的来描述根据开发HEVC标准的目前提出的方面中的一些方面的译码。然而,本发明中所描述的技术还可用于且应用于其它视频译码过程,例如根据ITU-T
H.264或其它标准或私有视频译码过程而界定的视频译码过程。
[0038] 根据HEVC,⑶可包含一个或一个以上预测单元(PU)和/或一个或一个以上变换单元(TU)。位流内的语法数据可界定最大译码单元(LCU),其为在像素数目方面的最大CU。一般来说,⑶具有与H.264的宏块类似的目的,只不过⑶不具有大小区别。因此,IXU可被分裂成若干子⑶,且每一子⑶可进一步被分裂成若干子⑶。此外,可将⑶分割为预测PU以用于预测的目的。I3U可表示对应CU的全部或一部分,且可包含用于检索I3U的参考样本的数据。PU可具有正方形或矩形形状。TU表示可经变换以产生变换系数的一组像素差值或像素残差。位流的语法数据可界定LCU可被分裂的最大倍数,被称作CU深度。因此,位流还可界定最小译码单元(SCU)。本发明还使用术语“块”、“分区”或“部分”来指代CU、PU或TU中的任一者。一般来说,“部分”可指代视频帧的任何子组。
[0039]此外,HEVC WD4描述样本自适应偏移(SAO)译码技术。已提出额外的SAO译码技术以供可能包含在HEVC标准中。一个实例性SAO译码技术描述于C.-M.付、C.-Y.陈、C.-Y.蔡、Y.-W.黄、S.雷的“CE13:具有LCU独立解码的样本自适应偏移(CE13 =Sample AdaptiveOffset with LCU-1ndependent Decoding) ”,JCT-VC 贡献、E049,日内瓦,2011 年 3 月(下文称为“JCT-VC E049”)。一般来说,SAO译码技术是将偏移值添加到视频帧中的像素的滤波技术。在一些情况下,可将偏移值添加到经重构视频帧中的像素。具有偏移值的经重构帧可进一步用作参考视频帧和/或输出到显示器。可在视频编码器或解码器的“环路内”滤波器块中结合其它滤波技术来执行SAO技术。
[0040]如上文所描述,预测性译码可导致重构误差。将偏移值添加到经重构视频帧中的像素可提高视频序列的帧之间的照明改变期间(例如,在闪光、变暗的天空,或帧之间的其它类型的照明改变期间)的译码。此照明改变可跨帧中的像素区添加相对均匀的强度改变。SAO技术可将偏移值应用于所预测视频块的像素,以便偏置预测性视频块的值,从而补偿提高SAO技术的使用的照明改变或其它视频译码条件。SAO技术可确定偏移值且通过分类度量对像素进行分类而将偏移值应用于像素。分类度量还可被称作像素分类或偏移类型。此外,弓锯分类度量对像素进行分类的结果还可被称作偏移类型、像素偏移类型、类别或像素类别。可能的分类度量包含例如边缘度量和频带度量等活动性度量。
[0041]一些SAO技术包含多种像素分类技术。一些视频译码标准可限制可针对每个帧应用的不同像素分类的数目(例如,每个帧一种技术),而其它标准可通过允许基于逐块地或逐像素地应用不同的像素分类来实现更多的灵活性。应注意,允许应用的像素分类类型的数目以及在视频帧中允许应用不同像素分类的频率可影响译码效率。
[0042]HEVC WD4描述一种用于HEVC的可能的SAO实施方案,其中每一分区(其由一组LCU组成)可具有三个像素分类中的一者:无偏移、基于边缘分类的类型,以及基于频带分类的偏移类型。此外,基于边缘分类的类型包含四个边缘偏移分类:1D0度边缘(还被称作分类零的SAO边缘偏移或SA0_E0_0)、1D90度边缘(还被称作分类一的SAO边缘偏移或SA0_E0_1) UD135度边缘(还被称作分类二的SAO边缘偏移或SA0_E0_2),以及1D45度边缘(还被称作分类三的SAO边缘偏移或SA0_E0_3)。基于频带分类的偏移类型包含两个频带偏移类型分类:中心频带和边频带。
[0043]基于边缘分类的类型SAO技术基于边缘信息对分区内的每一像素进行分类。图1是展示用于四个可能的边缘偏移分类的概念图。JCT-VC E049描述边缘分类技术的一个实例,其包含上文所描述的四个边缘偏移类型分类。对于图1中所示的给定边缘分类,通过将当前像素的值(C)与相邻像素(I和2)的值进行比较来计算当前像素的边缘类型。在一些实例中,像素值可为包含256个可能值的8位字串或包含1024个可能值的10位字串。对于SA0_E0_0,将当前像素与左边和右边相邻像素进行比较。对于SA0_E0_1,将当前像素与顶部和底部相邻像素进行比较。对于SA0_E0_2,将当前像素与左上和右下相邻像素进行比较。对于SA0_E0_3,将当前像素与左下和右上相邻像素进行比较。
[0044]起初,假设当前像素的边缘类型是零。如果当前像素C的值等于左边和右边相邻像素(I和2)的值,那么边缘类型保持于零。如果当前像素C的值比相邻像素的值大1,那么边缘类型增加一。如果当前像素C的值比相邻像素的值小1,那么边缘类型减小一。同样,如果当前像素C的值比相邻像素的值大2,那么边缘类型增加一,且如果当前像素C的值比相邻像素的值小2,那么边缘类型减小I。
[0045]因此,当前像素C可具有边缘类型-2、-1、0、1或2,其中⑴如果当前像素C的值小于相邻像素I和2的值两者,那么边缘类型为-2 ; (2)如果当前像素C的值小于一个相邻像素,那么边缘类型为-1 ; (3)如果当前像素C的值与两个相邻像素相同,或如果当前像素C的值大于一个相邻像素但小于另一相邻像素,那么边缘类型为O ; (4)如果当前像素C的值大于一个相邻像素但等于另一相邻像素,那么边缘类型为I ;且(5)如果当前像素C的值大于相邻像素I和2的两个值,那么边缘类型为2。应注意,当相邻像素I和2中的一者不可用时(即,当前像素C位于帧或分区的边缘处),可界定默认边缘类型。
[0046]鉴于以上描述,对于每一边缘偏移分类,可用以下等式计算边缘类型值:
[0047]EdgeType = O ;
[0048]if(C > PixelI)EdgeType = EdgeType+1 ;
[0049]if(C < PixelI)EdgeType = EdgeType-1 ;
[0050]if(C > Pixel2)EdgeType = EdgeType+1 ;
[0051]if(C < Pixel2)EdgeType = EdgeType-1 ;
[0052]一旦确定当前像素的边缘类型,便可确定当前像素的偏移值。偏移值是基于原始视频帧与经重构视频帧之间的差异。在一个实例中,每一非零边缘类型值(即,-2、-1、1和2)具有通过取得属于分区中的每一类别的原始和经重构像素的值之间的差异的平均值而计算的一个偏移值。可将四个偏移值表示为eoffset_2、eoffset_1> Goffset1和eoffset2。因为eoffset^eoffset^^offset1和eoffset2中的每一者是基于在视频解码器处不可得的原始视频帧,所以视频解码器包含用以在不依赖原始视频帧的情况下导出四个偏移值的机制。
[0053]除了图1中 所说明的四个偏移分类之外,可结合图1中所说明的边缘偏移分类来使用额外的边缘偏移分类或作为其替代。图2说明可用作图1中所说明的偏移分类的补充或替代的两个额外偏移分类。图2中所说明的额外偏移分类可分别被称作大于135度的ID边缘(SA0_E0_4)和小于45度的ID边缘(SA0_E0_5)。因此,图1和图2中所说明的边缘偏移分类的任一组合可用于边缘偏移滤波。如下文更详细地描述,边缘偏移分类的组合可与基于频带分类的偏移类型一起使用。对于图2中所说明的每一边缘偏移分类,可根据上文关于图1中所说明的边缘偏移分类来提供根据等式而计算的边缘类型值。
[0054]基于频带分类的偏移类型基于其强度将像素分类为不同的频带。如上文所描述,基于频带分类的偏移类型可包含两个频带偏移类型分类:中心频带和边频带。图3是展示包含中心频带和边频带的基于实例性频带分类的偏移类型的概念图。如图3中所示,可将像素强度O到MAX中的每一者分类为32个频带中的一者。在一个实例中,像素可具有8位强度值,且MAX可等于255。在图3的实例中,中心中的16个频带被分类为第一群组,且剩余边频带被分类为第二群组。以类似于边缘类型频带偏移的方式,一旦确定当前像素的频带类型,那么便可基于原始视频帧与经重构视频帧之间的差异来确定当前像素的偏移值。在一个实例中,每一频带类型值(即,O到31)具有通过取得属于分区中的每一频带类型类别的原始和经重构像素的值之间的差异的平均值而计算的一个偏移值。因此,对于每一频带群组(即,第一群组和第二群组),确定16个偏移值。可将每一群组的16个偏移值表不为 boffset0,…,boffset150 与 eoffset_2> eoffset_1> Goffset1 和 eoffset2 —样,boffset0,..., boffset15中的每一者是基于原始视频帧,且视频解码器包含用以导出16个偏移值的机制。通常,经编码视频位流包含指示视频帧的每一分区的六个像素分类类型以及对应组偏移(即,eoffset_2,..., eoffset2 以及 boffset。,...,boffset15)中的一者的信息。在一些实例中,一组偏移值中的每一偏移值基于逐分区地使用带正负号的一元译码在位流中被独立地译码和用信号发送。在其它实例中,可由视频解码器使用位流中的其它偏移值来预测偏移值。举例来说,视频解码器可从eoffSet2预测eoffSet_2的值。以此方式,可减少用信号发送一组偏移值所需的位数目。在2012年9月26日申请的第13/627,457号共同待决的美国专利申请案中描述了用信号发送偏移值的实例,所述申请案在此以引用的方式并入。
[0055]此外,如上文所描述,可结合额外的滤波技术来执行SAO技术。额外的滤波技术可包含(例如)维纳(Weiner)滤波技术。类似于SAO技术的偏移值的计算,额外的滤波技术可基于原始帧与经重构帧之间的差异来计算滤波器系数。举例来说,可基于原始图片与经重构图片之间的差异来确定维纳滤波器的滤波器系数。与偏移值一样,所计算的系数也可包含在位流中以供视频解码器使用。
[0056]用于HEVC的其它协议描述自适应环路滤波器(ALF)过程。在一个实例性ALF过程中,提出两个调适模式(即,块和区调适)。对于基于区的自适应模式,将帧划分为16个区,且每一区可具有一组线性滤波器系数(多个AC系数和一个DC系数),且一个区可与其它区共享相同的滤波器系数。图4是展示用于自适应环路滤波器的基于区的分类的概念图。如图4中所说明,将帧划分为16个区,其中每一区根据索引值来编制索弓丨,即0,...,
15。如图4中所说明,根据所说明的样式将索引指派给帧的区。在其它实例中,可基于其它样式(例如,光栅扫描、z形等)将索引值指派给帧的区。在一些实例中,索引值0,...,15可与对区执行操作的次序相关联。
[0057]图5是展示用于自适应环路滤波器的基于块的分类的概念图。在一个实例性基于块的模式中,每一 4X4块通过使用方向和活动性信息计算度量而导出类别。方向、活动性和对应类别可根据以下等式来计算。在以下等式中,(i,j)表示根据水平和垂直坐标的像素的位置。
[0058]方向
[0059]Ver (i,j) = abs (X(i, j) < < 1-X (i,j-l)-X(i, j+1))
[0060]Hor (i,j) = abs (X(i, j) < < l_X(i_l,j)_X(i+l,j))
[0061]Hb = Σ I = = 12Hor(i, j)
[0062] Vb =E i = 1,22J = lj2Ver(i, j)
[0063]方向=0,1(HB > 2V),2(VB > 2H)
[0064]活动性
[0065] Lb = Hb+Vb
[0066]活动性=0,I,2,3,4
[0067]度量
[0068]活动性+5*方向
[0069] 15classes (O, I,..., 14,15)
[0070]对于每一类别(B卩,0,1,...,14,15),可使用一组线性滤波器系数(多个AC系数和一个DC系数)。此外,在一个实例中,可允许一类别与其它类别共享滤波器系数。
[0071]因此,在基于区的分类中,每一区可具有一组AC和DC滤波器系数。同样,在基于块的分类中,每一块可具有一组AC和DC滤波器系数。此外,在实例性ALF过程中,通过取得视频块的分区内的当前和相邻像素的经调整值的总和来导出经滤波像素值,其中通过将所计算的AC系数相乘且将DC系数添加到当前和相邻像素来调整当前和相邻像素的值。以此方式,可将AC系数描述为乘数或权重。通过将所述总和的结果除以包含于分区中的总像素数目来进一步将所述总和的值规格化。以下等式提供用于使用AC和DC系数来计算经滤波像素的实例性等式,其中像素包含于大小为I乘m的分区中,且bit_shift是规格化因数:
[0072]经滤波像素(X,y) = (Sumlj m(经预滤波的像素(x+1, y+m) *AC系数(1,m)) +DC系数)> > bit_shift0
[0073]因为SAO过程将偏移值添加到像素,所以在一些情况下,将DC系数添加到经SAO滤波的像素可为冗余的。此外,因为SAO通常在应用ALF之前执行,所以可能由于在每一滤波过程中应用DC系数/偏移而产生额外的编码器帧延迟。鉴于以下内容,本发明提出用于将SAO滤波技术与利用AC和DC系数的基于区和块的滤波技术(例如,ALF)进行合并的技术。
[0074]图6为说明可经配置以利用用于使用ALF和SAO技术的组合对视频进行滤波的技术的实例性视频编码和解码系统10的框图。如图6中所示,系统10包含源装置12和目的地装置14。源装置12可经配置以经由通信信道16将经编码视频发射到目的地装置14,或者发射到文件服务器36,目的地装置14可在需要时存取所述文件服务器。源装置12和目的地装置14可包括广泛多种装置中的任一者,包含桌上型计算机、笔记本(即,膝上型)计算机、平板计算机、机顶盒、电话手持机(例如,所谓的“智能”电话)、电视、相机、显示装置、数字媒体播放器、视频游戏控制台等。在许多情况下,此些装置可被装备用于有线和/或无线通信。因此,通信信道16可包括任何无线或有线通信媒体,例如射频(RF)频谱或者一个或一个以上物理传输线,或无线媒体与有线媒体的任何组合。通信信道16可形成例如局域网、广域网或例如因特网的全球网络等基于包的网络的部分。通信信道16 —般表示用于将视频数据从源装置12发射到目的地装置14的任何合适的通信媒体或不同通信媒体的集合,包含有线或无线媒体的任何合适组合。通信信道16可包含可用于促进从源装置12到目的地装置14的通信的路由器、交换器、基站或任何其它设备。
[0075]类似地,文件服务器36可由源装置12和目的地装置14通过任何标准数据连接(包含因特网连接)进行存取。此可包含无线信道(例如,W1-Fi连接)、有线连接(例如,DSL、缆线调制解调器,以太网、USB等等),或适合于存取存储于文件服务器36上的经编码视频数据的以上两者的组合。文件服务器36可为能够存储经编码视频数据和将经编码视频数据发射到目的地装置14的任何类型的服务器。实例文件服务器包含网络服务器(例如,对于网站)、FTP服务器、网络附接存储(NAS)装置或本地磁盘驱动器,或能够存储经编码视频数据和将所述经编码视频数据发射到目的地装置的任何其它类型的装置。经编码视频数据从文件服务器36的传输可为流式传输、下载传输,或两者的组合。
[0076]源装置12还可经配置以将经编码视频数据存储于存储媒体34上。存储媒体34可包含蓝光光盘、DVD、CD-ROM、快闪存储器,或用于存储经编码视频的任何其它合适的数字存储媒体。当经编码视频数据被存储到存储媒体34或文件服务器36时,视频编码器20可将经译码视频数据提供给另一装置,例如网络接口、压缩光盘(CD)、蓝光或数字视频光盘(DVD)烧录器或压印设施装置,或用于将经译码视频数据存储到存储媒体的其它装置。同样,与视频解码器30分开的装置(例如,网络接口、CD或DVD读取器等)可从存储媒体检索经译码视频数据且将所检索的数据提供给视频解码器30。
[0077]根据本发明的实例的用于使用ALF和SAO技术的组合对视频数据进行滤波的技术可应用于支持多种多媒体应用(例如,无线电视广播、有线电视传输、卫星电视传输、流式视频传输(例如,经由因特网))中的任一者的视频译码、供存储于数据存储媒体上的数字视频的编码、存储于数据存储媒体上的数字视频的解码,或其它应用。在一些实例中,系统10可经配置以支持单向或双向视频传输以支持例如视频流式传输、视频回放、视频广播和/或视频电话等应用。
[0078]在图6的实例中,源装置12包含视频源18、视频编码器20、调制器/解调器22和发射器24。视频源18可包含例如视频俘获装置(例如,摄像机、含有先前俘获的视频的视频存档、用以从视频内容提供者接收视频的视频馈送接口)的源,和/或用于产生计算机图形数据以作为源视频的计算机图形系统的源,或此些源的组合。在一个实例中,如果视频源18为摄像机,则源装置12与目的 地装置14可形成所谓的相机电话或视频电话。然而,一般来说,本发明中所描述的技术可适用于视频译码,且可适用于无线及/或有线应用,或其中将经编码视频数据存储于本地磁盘上的应用。视频编码器20可对所俘获的、预先俘获的或计算机产生的视频进行编码。经编码视频信息可由调制解调器22根据通信标准(例如,无线通信协议)来调制,且经由发射器24而发射到目的地装置14。调制解调器22可包含各种混频器、滤波器、放大器或经设计以用于信号调制的其它组件。发射器24可包含经设计以用于发射数据的电路,包括放大器、滤波器及一个或一个以上天线。视频编码器20可将经编码视频信息存储到存储媒体34或文件服务器36上以供稍后消耗。存储在存储媒体34上的经编码视频随后可由目的地装置14存取以进行解码和回放。
[0079]图6的实例中的目的地装置14包含接收器26、调制解调器28、视频解码器30和显示装置32。目的地装置14的接收器26在信道16上接收信息,且调制解调器28解调所述信息以产生用于视频解码器30的经解调位流。在信道16上传送的信息可包含由视频编码器20产生的多种语法信息,以供视频解码器30在解码视频数据中使用。此语法还可与存储于存储媒体34或文件服务器36上的经编码视频数据包含在一起。视频编码器20和视频解码器30中的每一者可形成能够编码或解码视频数据的相应编码器-解码器(CODEC)的部分。
[0080]显示装置32可与目的地装置14 一起集成,或在所述目的地装置外部。在一些实例中,目的地装置14可包含集成式显示装置,且还经配置以与外部显示装置介接。在其它实例中,目的地装置14可为显示装置。一般来说,显示装置32向用户显示经解码视频数据,且可包括多种显示装置中的任一者,例如,液晶显示器(LCD)、等离子体显示器、有机发光二极管(OLED)显示器或另一类型的显示装置。
[0081]视频编码器20和视频解码器30可实质上根据例如HEVC等视频压缩标准而操作,且可符合腿。或者,视频编码器20和视频解码器30可根据例如ITU-T H.264标准或此类标准的扩展等其它专有或产业标准而操作。然而,本发明的技术不限于任何特定译码标准。
[0082]尽管图6中未展示,但在一些方面中,视频编码器20及视频解码器30可各自与音频编码器及解码器集成,且可包含适当的MUX-DEMUX单元或其它硬件及软件,以处置对共同数据流或单独数据流中的音频与视频两者的编码。在一些实例中,如果适用,MUX-DEMUX单元可符合ITU H.223多路复用器协议或例如用户数据报协议(UDP)等其它协议。
[0083]视频编码器20和视频解码器30各自可经实施为例如一个或一个以上微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑、软件、硬件、固件或其任何组合的多种合适编码器电路中的任一者。当所述技术部分地在软件中实施时,一装置可将用于软件的指令存储于合适的非暂时性计算机可读媒体中,且在硬件中使用一个或一个以上处理器来执行所述指令以执行本发明的技术。视频编码器20和视频解码器30中的每一者可包含于一个或一个以上编码器或解码器中,所述视频编码器和视频解码器中的任一者可在相应装置中被集成为组合式编码器/解码器(CODEC)的一部分。
[0084]视频编码器20可实施本发明的用于在视频译码过程中对样本自适应偏移值和滤波器系数进行译码和用信号发送的技术中的任一者或全部。同样,视频解码器30可实施用于在视频译码过程中对用于ALF的样本自适应偏移值和AC系数进行译码的这些技术中的任一者或全部的互逆版本。如本发明中所描述的视频译码器可指代视频编码器或视频解码器。类似地,视频译码单元可指代视频编码器或视频解码器。同样,视频译码可指代视频编码或视频解码。以此方式,视频编码器20和视频解码器30表示经配置以确定视频数据块的一个或一个以上滤波器系数且至少部分基于所述一个或一个以上滤波器系数来确定所述多个样本值中的每一者的相应偏移值的视频译码器的实例。
[0085]图7为说明可经配置以使用用于使用如本发明中所描述的ALF和SAO技术的组合对视频数据进行滤波的技术的视频编码器20的实例的框图。将出于说明的目的在HEVC的上下文中描述视频编码器20,但本文中所描述的技术可同等地适用于其它视频译码标准。视频编码器20可执行对视频帧内的CU的帧内译码和帧间译码。如上文所描述,帧内译码依赖于空间预测以减少或移除给定视频帧内的视频数据中的空间冗余。帧间译码依赖于时间预测以减少或移除视频序列的当前帧与先前经译码帧之间的时间冗余。帧内模式(I模式)可指代若干基于空间的视频压缩模式中的任一者。帧间模式(例如单向预测(P模式)和或双向预测(B模式))可指代若干基于时间的视频压缩模式中的任一者。
[0086]如图7所示,视频编码器20接收视频帧内的待编码的源视频块。在图7的实例中,视频编码器20包含模式选择模块40、运动估计模块42、运动补偿模块44、帧内预测模块46、参考帧缓冲器64、求和器50、变换模块52、量化模块54以及熵编码模块56。为了视频块重构,视频编码器20还包含反量化模块58、反变换模块60、求和器62、解块模块43和/ 或 SA0/ALF 模块 45。
[0087]在编码过程期间,视频编码器20接收待译码的视频帧或切片。运动估计模块42和运动补偿模块44相对于一个或一个以上参考帧中的一个或一个以上块执行对所接收的视频块的帧间预测译码以提供时间压缩。帧内预测模块46可相对于在与待译码的块相同的帧或切片中的一个或一个以上相邻块执行对所接收视频块的帧内预测译码,以提供空间压缩。
[0088]如上文所描述,为了根据HEVC的视频译码,可将帧或切片划分为多个视频块(即,IXUXU、TU和PU)。IXU可与四叉树数据结构相关联。一般来说,四叉树数据结构每个⑶包含一个节点,其中根节点对应于IXU。如果将⑶分裂为四个子⑶,那么对应于⑶的节点包含四个叶节点,所述四个叶节点中的每一者可对应于子CU中的一者。所述四叉树数据结构的每一节点可提供对应CU的语法数据。举例来说,四叉树中的节点可包含分裂旗标,从而指示对应于所述节点的CU是否被分裂为子CU。可递归地界定CU的语法元素,且所述语法元素可取决于CU是否被分裂为子CU。如果CU未进一步分裂,那么其被称作叶CU。在本发明中,叶CU的四个子CU也将被称作叶CU,虽然不存在对原始叶CU的明确分裂。举例来说,如果16X 16大小的⑶未进一步分裂,那么四个8X8子⑶也将被称作叶CU,虽然16X 16的CU从未分裂。
[0089]另外,叶⑶的TU还可与相应的四叉树数据结构相关联。也就是说,叶⑶可包含指示叶CU如何被分割为TU的四叉树。本发明涉及指示LCU如何被分割为CU四叉树的四叉树以及指示叶CU如何被分割为TU以作为TU四叉树的四叉树。TU的根节点一般对应于叶CU,而⑶四叉树的根节点一般对应于IXU。TU四叉树的未分裂的TU被称作叶TU。
[0090]叶⑶可包含一个或一个以上预测单元(PU)。一般来说,PU表示对应⑶的全部或一部分,且可包含用于检索PU的参考样本的数据。举例来说,在对PU进行帧间模式编码时,PU可包含界定PU的运动向量的数据。界定运动向量的数据可描述(例如)运动向量的水平分量、运动向量的垂直分量、运动向量的分辨率(例如,四分之一像素精度或八分之一像素精度)、运动向量指向的参考帧,和/或运动向量的参考列表(例如,列表O或列表
I)。界定I3U的叶CU的数据还可描述(例如)将CU分割为一个或一个以上ro。分割模式可取决于CU是未被译码、被帧内预测模式编码还是被帧间预测模式编码而不同。对于帧内译码,可将PU视为与下文所描述的叶变换单元相同。
[0091]作为一实例,HE支持按各种I3U大小的预测。假定特定⑶的大小为2NX2N,HM支持按2NX 2N或NX N的PU大小的帧内预测,以及按2NX 2N、2NX N、NX 2N或NX N的对称I3U大小的帧间预测。HM还支持用于按2NXnU、2NXnD、nLX2N和nRX2N的I3U大小的帧间预测的不对称分割。在不对称分割中,CU的一个方向未被分割,而另一方向被分割为25%和75 %。⑶的对应于25 %分区的部分由“η ”继之以“向上”、“向下”、“左边”或“右边”的指示来指示。因此,例如,“2NXnU”指代被水平地分割成在顶部具有2ΝΧ0.5Ν I3U且在底部具有 2NX 1.5N PU 的 2NX 2N CU。
[0092]在本发明中,“NXN”与“N乘N”可以可互换地使用,以在垂直和水平尺寸方面指代视频块的像素尺寸,例如16X 16像素或16乘16像素。一般来说,16X16块将具有在垂直方向上的16个像素(y = 16)和在水平方向上的16个像素(x = 16)。同样地,NXN块一般具有在垂直方向上的N个像素和在水平方向上的N个像素,其中N表示非负整数值。一块中的像素可布置在若干行和若干列中。此外,块无需一定在水平方向上具有与在垂直方向上相同数目的像素。举例来说,块可包括NXM个像素,其中M不一定等于N。
[0093]模式选择模块40可(例如)基于对每一模式的速率失真分析而选择译码模式(帧内或帧间)中的一者,且将所得的经帧内译码或经帧间译码的块(例如,预测单元(PU))提供到求和器50以产生残余块数据,且提供到求和器62以重构经编码块以用于参考帧。求和器62将所预测块与来自反变换模块60的用于所述块的经反量化、反变换的数据进行组合,以重构经编码块,如下文更详细地描述。可将一些视频帧标示为I帧,其中I帧中的所有块在帧内预测模式中编码。在一些情况下,帧内预测模块46可例如当由运动估计模块42执行的运动搜索未产生对块的充分预测时执行对P帧或B帧中的块的帧内预测编码。
[0094]运动估计模块42与运动补偿模块44可高度集成,但出于概念上的目的而分开予以说明。运动估计(或运动搜索)是产生估计视频块的运动的运动向量的过程。运动向量(例如)可指示当前帧中的预测单元相对于参考帧的参考样本的移位。运动估计模块42通过将预测单元与参考帧缓冲器64中存储的参考帧的参考样本进行比较来计算经帧间译码帧的预测单元的运动向量。参考样本可为被发现在像素差方面与CU的包含正被译码的I3U的部分紧密匹配的块,其可通过绝对差和(SAD)、平方差和(SSD)或其它差度量来确定。参考样本可出现在参考帧或参考切片内的任何地方,且不一定在参考帧或切片的块(例如,译码单元)边界处。在一些实例中,参考样本可出现在分数像素位置处。
[0095]运动估计模块42将所计算的运动向量发送到熵编码模块56和运动补偿模块44。参考帧的由运动向量识别的部分可称作参考样本。运动补偿模块44可例如通过检索由的运动向量识别的参考样本来计算当前CU的预测单元的预测值。
[0096]帧内预测模块46可对所接收的块进行帧内预测,以作为由运动估计模块42和运动补偿模块44执行的帧间预测的替代方案。帧内预测单元46可相对于相邻的先前经译码块(例如,当前块的上方、右上方、左上方,或左边的块(假设块的从左到右、从上到下的编码次序))来预测所接收的块。可用多种不同帧内预测模式来配置帧内预测模块46。举例来说,帧内预测模块46可基于正被编码的CU的大小而用某一数目的方向预测模式来配置,例如三十五种方向预测模式。
[0097]帧内预测模块46可通过(例如)计算各种帧内预测模式的误差值且选择产生最低误差值的模式来选择帧内预测模式。方向预测模式可包含用于组合空间上相邻的像素的值且将经组合值应用于PU中的一个或一个以上像素位置的功能。一旦已计算中的所有像素位置的值,帧内预测模块46可基于PU与待编码的所接收块之间的像素差来计算预测模式的误差值。帧内预测模块46可继续测试帧内预测模式,直到发现产生可接受的误差值的帧内预测模式为止。帧内预测模块46可随后将发射到求和器50。
[0098]视频编码器20通过从正经译码的原始视频块减去由运动补偿模块44或帧内预测模块46计算的预测数据而形成残余块。求和器50表示执行此减法运算的组件。残余块可对应于像素差值的二维 矩阵,其中残余块中的值的数目与对应于残余块的I3U中的像素的数目相同。残余块中的值可对应于PU中以及待译码的原始块中位于同一地点的像素的值之间的差,即,误差。所述差可为色度或亮度差,其取决于被译码的块的类型。
[0099]变换模块52可从残余块形成一个或一个以上变换单元(TU)。变换模块52从多个变换中选择变换。可基于一个或一个以上译码特性(例如,块大小、译码模式等)来选择所述变换。变换模块52随后将选定的变换应用于TU,从而产生包括变换系数的二维阵列的视频块。变换模块52可根据本发明的上文所描述的技术来选择变换分区。另外,变换模块52可在经编码视频位流中用信号发送选定的变换分区。
[0100]变换模块52可将所得的变换系数发送到量化模块54。量化模块54可随后对变换系数进行量化。熵编码模块56可随后根据扫描模式执行对矩阵中的经量化变换系数的扫描。本发明将熵编码模块56描述为执行所述扫描。然而,应理解,在其它实例中,例如量化模块54等其它处理模块可执行所述扫描。一旦将变换系数扫描为一维阵列,熵编码模块56可对系数应用熵译码,例如CAVLC、CABAC、基于语法的上下文自适应二进制算术译码(SBAC),或另一熵译码方法。
[0101]为了执行CAVLC,熵编码模块56可针对待发射的符号选择可变长度码。可将VLC中的码字建构成使得相对较短的码对应于更有可能的符号,而较长的码对应于较不可能的符号。以此方式,与(例如)针对待发射的每一符号使用相等长度的码字相比,使用VLC可实现位节省。为了执行CABAC,熵编码模块56可选择要应用于某些上下文的上下文模型以编码待发射的符号。所述上下文可涉及(例如)相邻值是否为非零。熵编码模块56还可对语法元素进行熵编码,所述语法元素例如为表示选定的变换和滤波器语法元素的信号,下文更详细地描述。根据本发明的技术,熵编码模块56可基于(例如)帧内预测模式的帧内预测方向、对应于语法元素的系数的扫描位置、块类型和/或变换类型,以及用于上下文模型选择的其它因素来选择用于对这些语法元素进行编码的上下文模型。在由熵编码模块56熵译码之后,可将所得的经编码视频发射到另一装置(例如,视频解码器30)或存档以供随后发射或检索。
[0102]在一些情况下,除熵译码之外,视频编码器20的熵编码模块56或另一模块可经配置以执行其它译码功能。举例来说,熵编码模块56可经配置以确定CU和PU的经译码块样式(CBP)值。而且,在一些情况下,熵编码模块56可执行对系数的游程长度译码。
[0103]反量化模块58和反变换模块60分别应用反量化和反变换以在像素域中重构残余块,(例如)以用于随后用作参考块。运动补偿模块44可通过将残余块加到参考帧缓冲器64的帧中的一者的预测块来计算参考块。运动补偿模块44还可将一个或一个以上内插滤波器应用于经重构的残余块以计算子整数像素值以在运动估计中使用。求和器62将经重构的残余块添加到由运动补偿模块44产生的经运动补偿的预测块以产生经重构的视频块。
[0104]解块模块43可接收多个经重构视频块从而形成经重构视频的切片或帧,且对块边界进行滤波以从切片或帧移除成块性假影。在一个实例中,解块模块43评估视频块的所谓的“边界强度”。基于视频块的边界强度,可相对于相邻视频块的边缘像素对视频块的边缘像素进行滤波,使得来自一个视频块的转变让观看者更难感知。应注意,由解块滤波器使用的变量通常可从经重构视频块导出,而不需要将经重构视频块与原始源视频块进行比较。因此,视频编码器20和视频解码器30可各自经编程以在关于被译码到位流中的原始视频帧的最少额外信息的情况下对经重构视频块执行相同的解块过程。然而,应注意,在一些情况下,视频编码器20可在位流中包含用以指示是否应执行解块和/或是否应执行特定类型的解块模式中的一者的语法元素。
[0105]SA0/ALF模块45从解块模块43接收经重构视频块,且可将SAO和其它滤波技术应用于经重构视频块。经滤波经重构视频块可随后存储于参考帧缓冲器64中。经重构视频块可由运动估计模块42和运动补偿模块44用作用以对后续视频帧中的块进行帧间译码的参考块。如上文所描述,SAO译码技术可将偏移值添加到经重构视频帧中的像素,其中所述偏移值是基于源视频帧来计算。此外,其它滤波技术可包含ALF过程和/或维纳滤波技术,其基于源视频帧与经重构视频帧之间的差来计算AC和DC系数。因此,如图7中所说明,除了将经SA0/ALF调整的视频块输出到参考帧缓冲器64之外,SA0/ALF模块45将滤波器语法元素输出到熵编码模块56以供视频解码器稍后使用。除了包含关于应执行哪些滤波过程的信息之外,在一个实例中,滤波器语法元素可包含一组偏移值和滤波器系数。在其它实例中,滤波器语法元素可包含信息以使得视频解码器可确定一组偏移和/或系数值。
[0106]在一个实例中,SA0/ALF模块45可经配置以执行以下滤波技术的任一组合:
[0107](I)具有块适应性的ALF技术。ALF技术可为已在HEVC的提议中所描述的ALF技术。块适应性可包含上文关于图4和图5所描述的块和/或区调适。
[0108](2)不具有块适应性的ALF技术。ALF技术可为已在HEVC的提议中所描述的ALF技术。当ALF技术不包含块适应性时,可使用单个滤波器来用于视频数据的分区。[0109](3) SAO滤波技术。SAO滤波技术可包含频带偏移分类技术或利用图1和图2中所说明的边缘偏移分类的任一组合的边缘偏移技术。
[0110](4)包含具有块适应性的ALF技术与SAO滤波技术的组合的滤波技术。具有块适应性的ALF技术与SAO滤波技术的实例性组合在下文关于图9更详细地描述。
[0111](5)包含不具有块适应性的ALF技术与SAO滤波技术的组合的滤波技术。
[0112](6)其中不应用滤波或偏移的滤波技术。
[0113]视频编码器20可经配置以将视频帧划分为若干分区,且可针对每一分区选择滤波技术。图8A到SB说明被划分为分区以用于将滤波技术指派给分区的视频帧的实例。图8A说明其中帧被划分为不同大小的分区(Ptl到P2)的实例。图SB说明其中帧被划分为不同大小的分区(Pjl」P3)的实例。在一个实例中,视频帧的分区(PcrP2)和(PcrP3)可对应于整数数目的视频数据切片或CU。在一个实例中,图8A和8B中的分区中的每一者可被指派上文所描述的六种滤波技术中的一者。举例来说,可根据SAO技术对Ptl进行滤波,可不对P1进行滤波,且可使用作为具有块适应性的ALF滤波技术与SAO滤波技术的组合的滤波技术对P3进行滤波。
[0114]图9为说明 可包含于视频编码器中的实例性SA0/ALF模块的框图。SA0/ALF模块45说明可经配置以将SAO滤波技术与利用AC和DC系数的滤波技术进行合并的SA0/ALF模块的实例。上文关于图1和图2来描述SAO滤波技术的实例。利用AC和DC系数的滤波技术的实例包含上文关于图4和图5所描述的基于区和块的滤波技术。在针对HEVC提出的ALF技术中,存在⑶层级ALF开/关图。也就是说,可针对每一⑶选择性地应用ALF。SAO/ALF模块45可经配置以使得SAO信令可在其中组合ALF与SAO的技术中与ALF的⑶层级开/关图同步。也就是说,可针对每一⑶选择性地应用经组合滤波技术。
[0115]如图9中所说明,SA0/ALF模块45包含滤波器系数计算模块402,SAO模式选择模块404、像素分类模块406、偏移值分类模块408以及视频块滤波器模块410。滤波器系数计算模块404经配置以接收源视频块和经重构视频块,且计算用于对经重构视频块进行滤波的滤波器系数。可使用上文关于图4和图5所描述的基于区或基于块的技术来计算视频数据块的滤波器系数。如上文所描述,两种技术可包含基于分类来确定一个或一个以上系数。滤波器系数计算模块404可经配置以使用上文关于图4所描述的基于区的分类对视频数据块进行分类,或使用上文关于图5所描述的基于块的技术对视频数据块进行分类。举例来说,滤波器系数计算模块404可通过根据上文所提供的等式来计算方向和活动性信息而导出4X4块的类别。
[0116]滤波器系数计算模块404可经配置以基于所确定的分类来确定AC和/或DC滤波器系数。在一个实例中,滤波器系数计算模块402可经配置以基于源视频帧与经重构视频帧之间的差来计算AC和/或DC滤波器系数。在另一实例中,AC和/或DC滤波器系数可预先计算,且滤波器系数计算模块402可经配置以基于与区或块相关联的分类来查找滤波器系数。如图9中所说明,滤波器系数计算模块402将分类信息输出到SAO模式选择模块404且将滤波器系数输出到视频块滤波器模块410。
[0117]此外,在一个实例中,当使用基于块的分类时,可将每一类别识别为class_i,其中i = 0,...,L-1且L是类别的编号。在一个实例中,可将可被识别为f_i (m)(其中m =0,...,M)的一个滤波器指派给每一类别,其中f_i (M)提供类别的AC和DC系数。以类似的方式,在一个实例中,当使用基于区的分类时,将每一类别识别为region_i,其中i =O,...,P-1和P,且P是帧的区的编号,且可将可被识别为f_i (m)(其中m = O,...,M)的一个滤波器指派给每一类别,其中f_i(M)提供类别或区的AC和DC系数。
[0118]然而,如上文所描述,因为SAO过程将偏移值添加到像素,所以在一些情况下,DC系数可为冗余的。因此,在替代性实例中,可修改f_i (M),使得其不提供DC系数,且替代地,可使用上文所描述的偏移分类方法(即,边缘偏移0/1/2/3或频带偏移0/1)来计算块或区的多个偏移。举例来说,对于4X4块,可使用活动性和方向度量来确定块的一个AC滤波器系数,且可使用边缘偏移分类来确定16个像素中的每一者的SAO偏移值。以此方式,可组合ALF滤波技术与SAO滤波技术。因此,滤波器系数计算模块402可经配置以计算块或区的仅AC系数(例如,当SAO与ALF组合时),块或区的AC和DC系数(例如,当单独执行ALF时)。
[0119]SAO模式选择模块404可经配置以接收类别信息、源视频块以及经重构视频块,且在各种SAO技术之间进行选择以用于视频块的分区。在一个实例中,SAO模式选择模块404经配置以在以下各者之间进行 选择:不应用SAO滤波器、应用IDO度边缘滤波器、应用1D90度边缘滤波器、应用1D135度边缘滤波器、应用1D45度边缘滤波器、应用图2中所说明的SAO滤波器中的任一者、应用中心频带滤波器或应用边频带滤波器。在一个实例中,SAO模式选择模块404可经配置以基于源视频帧的性质、经重构视频帧的性质、重构误差,和/或源视频块与经重构视频块之间的差来选择模式。在其它实例中,模式选择模块404可经配置以基于其中执行多个SAO技术的迭代过程来选择SAO技术,且SAO模式选择模块404基于速率失真分析来选择SAO技术。
[0120]此外,在一个实例中,SAO模式选择模块404可经配置以基于ALF的基于块或基于区的分类来选择SAO模式。以此方式,可另外组合ALF与SAO滤波技术。举例来说,在上文关于图5所描述的基于块的分类技术中,类别(即,0,1,...,14,15)中的每一者是基于与块相关联的活动性和方向计算。活动性和方向计算可提供边缘偏移技术中的哪一者可提供更佳的滤波结果的指示。在一个实例中,SAO模式选择模块404可经配置以基于与块相关联的类别来区分可能的偏移分类方法的优先级(即,增加选择特定偏移模式的概率)或限制用于块的可能偏移分类方法的数目。
[0121]举例来说,类别5,6,..,9指示强水平方向活动性。因此,SAO模式选择模块404可经配置以在类别等于5,6,..,9中的任一者时将对使用水平方向像素的边缘偏移O的选择列入优先。作为在类别等于5,6,..,9中的任一者时将对边缘偏移O的选择列入优先的补充或替代,SAO模式选择模块404可进一步经配置以在类别等于5,6,..,9中的任一者时消除使用垂直方向像素的边缘偏移I。此外,类别10,11,..,14指示强垂直方向活动性。因此,SAO模式选择模块404可经配置以在类别等于10,11,..,14中的任一者时将对使用垂直方向像素且/或消除边缘偏移O的边缘偏移I的选择列入优先。
[0122]此外,应注意,SAO模式选择模块404可经配置以使得基于区的分类中的视频帧的每一区可通过在区内使用基于块的分类而具有一个以上偏移分类模式。举例来说,对于region_0,可对区内的具有class_5到class_9的所有4X4块应用边缘Offsetci,且对区内的具有class_10到class_14的类别的所有4X4块应用边缘offset^
[0123]此外,SA0/ALF模式选择模块404还可经配置以跳过对具有特定class_i的4X4块执行SAO滤波,即使对那些块应用ALF也如此。举例来说,对于具有class_0的4X4块,可跳过SA0,因为classj)意味着那些块上存在较少的方向和拉普拉斯算子活动性。以此方式,可组合基于区和基于块的分类技术。
[0124]像素分类模块406可经配置以从SAO模式选择模块404接收SAO技术的指示,且相应地对像素进行分类。举例来说,如果所指示的SAO技术是SA0_E0_4,如上文关于图2所描述,那么像素分类模块406可基于图2中的被识别为I和2的像素的值来计算块或区像素内的像素中的每一者的边缘类型-2、_1、0、I或2。当被识别为I或2的像素中的一者不可用于计算当前像素的边缘类型时,像素分类模块406可将默认边缘类型值(例如,边缘类型O)指派给当前像素。此外,像素分类模块406可经配置以在选择频带偏移时将像素分类为频带。
[0125]偏移值计算模块408可经配置以接收视频数据的分区的一组边缘类型值或频带分类且确定一组对应偏移值。如上文所描述,偏移值可基于原始视频帧与经重构视频帧之间的差异。此外,如上文所描述,在边缘分类的情况下,在一个实例性SAO技术中,每一非零边缘类型值(即,-2、-1、1和2)可具有一个偏移值(即,eoffset_2、eoffSet1 Joffset1和eoffset2)。然而,在一个其它实例中,偏移值计算模块408还可经配置以在EdgeType = O时确定边缘偏移值。因此,偏移值计算模块408可确定每一边缘类型值(即,-2、-1、0、1和
2)的一个偏移值(即,eoffset_2、eoffset-丨、eoffset。、eoffsetp eoffset2)。此外,偏移值计算模块408可经配置以基于S AO滤波技术是否与ALF合并来确定在EdgeType = O的情况下的边缘偏移值。举例来说,偏移值计算模块408可经配置以基于滤波系数计算模块402是否计算DC系数来确定在EdgeType = O的情况下的边缘偏移值。
[0126]此外,偏移值计算模块408可经配置以产生可由视频解码器用于重构偏移值的偏移值语法。此外,偏移值计算模块408可将偏移值输出到模式选择模块404,以作为迭代模式选择过程的一部分。在一个实例中,偏移值计算模块408可产生指示SAO模式和对应的偏移值的偏移值语法,其中使用二进制串来表示所述对应的偏移值中的每一者(例如,五个二进制值用于五个偏移值)。此外,在一个实例中,偏移值计算模块406可通过利用偏移值群组内的偏移值之间的相关性来减少发送所述群组所需的位数目。因此,作为个别地表示每一偏移值的替代,偏移值计算模块406可输出允许视频解码器确定/预测偏移值群组的语法元素。
[0127]在一个实例中,偏移值计算模块406可经配置以通过两种方式中的一者用信号发送上文所描述的五个边缘偏移值(即,eoffset_2、eoffset^、eoffset。、eoffset^eoffset2):独立地或使用预测技术。预测技术可包含使用已知操作来修改一组偏移值内的一个或一个以上偏移值,使得视频解码器可通过执行互逆操作来产生所述组偏移值。当使用截断一元译码技术对边缘偏移值进行译码时,预测技术可为特别有用的。在一个实例中,所述偏移值中的一者可减去另一偏移值,且可在位流中用信号发送所述偏移值中的一者以及所述减法的结果。在此情况下,视频解码器可通过将所述结果添加到已知偏移值来确定所述偏移值。在一个实例中,可从一组边缘偏移值内的其它偏移值减去eoffse^。在此实例中,偏移值计算模块可经配置以在经编码位流中包含以下值:e0ffSet_2-e0ffSetQ ;eoffset^-eoffsetg ;eoffset0 !eoffsetj-eoffsetg ;以及 eofTset2-eofTset0O
[0128]在一个实例中,偏移值计算模块406可进一步经配置以独立地或使用预测技术来用信号发送上文所描述的16个频带偏移值(即,boffset。,...,boff set15)。在一个实例中,预测技术可包含从boffsetQ,...,boffset15中的每一者计算boffset0,...,boffset15的平均值,且在经编码位流中包含以下值:M_b = Mean (boffset。,..., boffset15) ;boffset0-M_b ^offset1-MjD ;...;boffset15_M_b。应注意,预测技术可与上文所描述的基于区和基于块的分类技术结合使用。
[0129] 滤波器模块410可经配置以接收经重构视频块、偏移值以及滤波器系数,且输出经滤波视频块和滤波器系数语法。滤波器模块410可经配置以使用滤波系数执行滤波技术,例如维纳滤波技术或在对HEVC的提议中描述的ALF技术。此外,滤波器模块410可经配置以将偏移值添加到经重构视频块。滤波器模块410可经配置以使用视频数据的区或块内的每一像素的单组系数将滤波技术应用于所述区或块,且将相应偏移值添加到所述区或块的每一像素。如上文所描述,可基于与视频数据的区或块相关联的分类来确定偏移值。
[0130]以此方式,视频编码器20、SA0/ALF模块45、滤波器系数计算模块402,SAO模式选择模块404、像素分类模块406、偏移值分类模块408和/或滤波器模块410可经配置以:接收视频数据块,其中所述视频数据块包含多个样本值;确定所述视频数据块的一个或一个以上滤波器系数;至少部分基于所述一个或一个以上滤波器系数来确定所述多个样本值中的每一者的相应偏移值;以及基于所述所确定的一个或一个以上滤波器系数以及所述所确定的相应偏移值对所述视频数据块进行滤波。
[0131]图10是说明根据本发明的技术的应用滤波技术以及编码滤波器语法的实例的流程图。虽然图10中的过程在下文是关于SA0/ALF模块45进行描述,但所述过程可由视频编码器20、SA0/ALF模块45、滤波器系数计算模块402,SAO模式选择模块404、像素分类模块406、偏移值分类模块408和/或滤波器模块410的任何组合来执行。
[0132]如图10中所说明,SA0/ALF模块45接收经重构视频块(1002)。可根据预测技术来产生经重构视频块。在一些情况下,可在SA0/ALF模块45接收经重构视频块之前将解块滤波器应用于经重构视频块。SA0/ALF模块45确定视频块的滤波器系数(1004)。滤波器系数可包含AC系数、DC系数或AC和DC系数。滤波器系数可对应于维纳滤波器,且可根据上文所描述的技术来产生ALF滤波器过程。SA0/ALF模块45确定视频块的样本的偏移值(1006)。偏移值可对应于边缘偏移分类或频带偏移分类,且可使用上文所描述的技术来确定。SAO/ALF模块45使用所产生的滤波器系数和偏移值对经重构视频块进行滤波(1008)。对经重构视频块进行滤波可包含将SAO偏移添加到经重构视频块中的像素值且/或使视频块内的所有像素值乘以一组滤波器系数。SA0/ALF模块45输出经滤波经重构视频块(1010)。可将经滤波经重构视频块输出到参考帧缓冲器以用于后续预测。SA0/ALF模块45产生滤波器语法(1012)。滤波器语法可包含上文所描述的语法元素中的任一者且可进一步包含允许视频解码器确定滤波技术和与所述滤波技术相关联的滤波器值的任何语法元素。SA0/ALF模块45输出所产生的滤波器语法(1014)。SA0/ALF模块45可将滤波器语法输出到熵编码器,例如上文所描述的熵编码器56。
[0133]图11是说明对经编码视频序列进行解码的视频解码器30的实例的框图。在图11的实例中,视频解码器30包含熵解码模块70、运动补偿模块72、帧内预测模块74、反量化模块76、解块模块77、反变换模块78、参考帧缓冲器82、SAO和ALF模块79以及求和器80。视频解码器30在一些实例中可执行一般与关于视频编码器20 (查看图7)所描述的编码回合互逆的解码回合。
[0134]熵解码模块70对经编码位流执行熵解码过程以检索变换系数的一维阵列。所使用的熵解码过程取决于视频编码器20所使用的熵译码(例如,CABAC、CAVLC等)。由编码器使用的熵译码过程可在经编码位流中用信号发送或可为预定过程。
[0135]一些实例中,熵解码模块70 (或反量化模块76)可使用镜射由视频编码器20的熵编码模块56 (或量化模块54)使用的扫描模式的扫描来扫描所接收的值。虽然可在反量化模块76中执行对系数的扫描,但将出于说明的目的将扫描描述为由熵解码模块70执行。另夕卜,虽然为了易于说明而展示为单独的功能模块,但熵解码模块70、反量化模块76以及视频解码器30的其它模块的结构和功能性可彼此高度集成。此外,熵解码模块70可对语法元素(例如,上文所描述的滤波器语法元素)进行熵解码。
[0136]反量化模块76将提供于位流中且由熵解码模块70解码的经量化变换系数反量化(即,解量化)。反量化过程可包含常规的过程,例如,类似于针对HEVC所提出或由H.264解码标准界定的过程。反量化过程可包含使用由视频编码器20针对CU计算的量化参数QP,以确定应应用的量化程度以及同样的反量化程度。反量化模块76可在将系数从一维阵列转换为二维阵列之前或之后将变换系数反量化。
[0137]反变换模块78将反变换应用于经反量化变换系数。在一些实例中,反变换模块78可基于来自视频编码器20的信令或通过从一个或一个以上译码特性(例如,块大小、译码模式等)推断变换来确定反变换。在一些实例中,反变换模块78可基于在包含当前块的LCU的四叉树的根节点处的用信号发送的变换来确定要应用于当前块的变换。或者,可在LCU四叉树中的叶节点 CU的TU四叉树的根处用信号发送所述变换。在一些实例中,反变换模块78可应用级联反变换,其中反变换模块78将两个或两个以上反变换应用于正被解码的当前块的变换系数。
[0138]帧内预测模块74可基于用信号发送的帧内预测模式以及来自当前帧的先前经解码块的数据来产生当前帧的当前块的预测数据。基于所检索的运动预测方向、参考帧索引以及所计算的当前运动向量,运动补偿模块72产生当前部分的经运动补偿的块。这些经运动补偿的块实质上重新产生用于产生残余数据的预测性块。运动补偿模块72可产生经运动补偿的块,可能执行基于内插滤波器的内插。待用于具有子像素精度的运动估计的内插滤波器的识别符可包含在语法元素中。运动补偿模块72可使用如由视频编码器20在视频块的编码期间所使用的内插滤波器来计算参考块的子整数像素的内插值。运动补偿模块72可根据所接收的语法信息来确定由视频编码器20使用的内插滤波器且使用所述内插滤波器来产生预测性块。
[0139]另外,在HEVC实例中,运动补偿模块72和帧内预测模块74可使用一些语法信息(例如,由四叉树提供)来确定用于对经编码视频序列的帧进行编码的LCU的大小。运动补偿模块72和帧内预测模块74还可使用语法信息来确定分裂信息,所述分裂信息描述经编码视频序列的帧的每一 CU如何分裂(且同样地,子CU如何分裂)。语法信息还可包含指示如何对每一分裂进行编码的模式(例如,帧内预测或帧间预测,且对于帧内预测,帧内预测编码模式)、用于每一经巾贞间编码PU的一个或一个以上参考巾贞(和/或含有参考巾贞的识别符的参考列表),以及其它信息,以对经编码视频序列进行解码。求和器80将残余块与由运动补偿模块72或帧内预测模块74产生的对应预测块进行组合以形成经解码块。[0140]解块模块77可接收多个经重构视频块从而形成经重构视频的切片或帧,且对块边界进行滤波以从切片或帧移除成块性假影。解块模块77可以类似于上文所描述的解块模块43的方式进行操作。在一个实例中,解块模块77评估视频块的所谓的“边界强度”。基于视频块的边界强度,可相对于相邻视频块的边缘像素对视频块的边缘像素进行滤波。
[0141]SA0/ALF模块79接收滤波器语法和经重构视频块,且输出经滤波经重构视频块。SA0/ALF模块79根据上文关于(例如)图9所描述的滤波器技术来操作。SA0/ALF模块79可将经滤波视频块输出到参考帧缓冲器82和/或显示器(例如,图6的显示装置32)。当经滤波视频块存储于参考帧缓冲器82中时,其可用作参考块以供后续运动补偿。
[0142]图12为说明视频解码器中所包含的实例性SA0/ALF模块的框图。SA0/ALF模块79接收经重构视频块和滤波器语法(例如,模式语法、偏移值以及滤波器系数)以作为输入,且输出经滤波视频块。SA0/ALF模块79可通过单独地使用SAO滤波技术、单独地使用其它滤波技术(例如,维纳滤波技术或在HEVC的提议中所描述的ALF过程),或通过如上文所描述组合地使用SAO滤波技术与其它滤波技术,而产生经滤波视频块。在大多数情况下,SAO/ALF模块79将执行与由视频编码器执行的滤波器过程一致的滤波。因此,SA0/ALF模块79可经配置以使得其可执行上文关于SA0/ALF模块45所描述的实例性滤波器技术中的任一者。出于简明起见,将不重复关于SA0/ALF模块45所描述的滤波技术的详细描述。然而,应注意,SA0/ALF45可在确定滤波模式且执行滤波过程时参考原始视频帧,而SA0/ALF模块79依赖于包含在经编码位流中的信息。图12中所说明的实例性SA0/ALF模块79包含区/块分类模块702、像素分类模块704、滤波器参数模块706以及滤波器模块708。
[0143]在一个实例中,区/块分类模块702可经配置以接收视频帧的分区以及分类的指示(例如,基于块的分类或基于区的分类),且基于与分区相关联的值对分区进行分类。举例来说,区/块分类模块704可基于上文关于图4和5所描述的技术对像素进行分类。举例来说,区/块分类模块702可接收4X4视频块,且使用上文所描述的方向和活动性计算将所述块分类为类别O到15中的一者。应注意,在一些情况下,所述分类值可包含于滤波器语法中。
[0144]在一个实例中,像素分类模块704可经配置以从滤波器语法接收SAO技术的指示,且基于经重构视频块的像素值对像素进行分类。在一个实例中,像素分类模块704可基于上文关于图1到3所描述的技术对像素进行分类。此外,如上文所描述,可基于与视频数据的区或块相关联的分类来确定像素分类。因此,在一些情况下,像素分类模块704可接收基于块的分类且基于所述分类来确定SAO技术。应注意,在一些情况下,所述像素分类值可包含于滤波器语法中。
[0145]滤波器参数模块706可经配置以接收分区的一组偏移类型值以及分类,且确定对应的滤波器系数和偏移值以及滤波器系数。滤波器参数模块706可经配置以基于所确定的分类来确定AC和/或DC滤波器系数。在另一实例中,AC和/或DC滤波器系数可包含于经编码位流中的滤波器语法中。此外,滤波器系数可预先计算,且滤波器系数计算模块706可经配置以基于与区或块相关联的分类来查找滤波器系数。
[0146]此外,如上文关于图9的实例中所描述,偏移值语法可基于显式地用信号发送每一偏移值的信令技术或利用偏移值之间的相关性的技术。滤波器参数模块706可经配置以通过执行与上文所描述的译码过程中的任一者互逆的译码过程来确定偏移值。[0147]滤波器模块708可经配置以接收经重构视频块、偏移值、滤波器系数、偏移值且输出经滤波视频块。滤波器模块708可经配置以使用滤波系数执行滤波技术,例如维纳滤波技术或在HEVC的提议中描述的ALF技术。此外,滤波器模块708可经配置以将偏移值添加到经重构视频块。滤波器模块708可经配置以使用视频数据的区或块的单组系数将滤波技术应用于所述区或块,且将相应偏移值添加到所述区或块的每一像素。
[0148]以此方式,视频解码器30、SA0/ALF模块79、区/块分类模块702,像素分类模块704、滤波器参数模块706和/或滤波器模块708可经配置以:接收视频数据块,其中所述视频数据块包含多个样本值;确定所述视频数据块的一个或一个以上滤波器系数;至少部分基于所述一个或一个以上滤波器系数来确定所述多个样本值中的每一者的相应偏移值;以及基于所述所确定的一个或一个以上滤波器系数以及所述所确定的相应偏移值对所述视频数据块进行滤波。
[0149]图13是说明根据本发明的技术的应用滤波技术的实例的流程图。虽然图13中的过程在下文是关于SA0/ALF模块79进行描述,但所述过程可由视频解码器30、SA0/ALF模块79、区/块分类模块702,像素分类模块704、滤波器参数模块706和/或滤波器模块708的任何组合来执行。
[0150]如图13中所说明,SA0/ALF模块79接收经重构视频块(1302)。可根据预测技术来产生经重构视频块。在一些情况下,可在SA0/ALF模块79接收经重构视频块之前将解块滤波器应用于经重构视频块。SA0/ALF模块79接收视频块的滤波器系数(1304)。滤波器系数可包含AC系数、DC系数或AC和DC系数。滤波器系数可对应于维纳滤波器,且可根据上文所描述的技术来产生ALF滤波器过程。SA0/ALF模块79接收视频块的样本的偏移值(1306)。偏移值可对应于边缘偏移分类或频带偏移分类,且可使用上文所描述的技术来确定。SAO/ALF模块45使用所接收的滤波器系数和偏移值对经重构视频块进行滤波(1308)。对经重构视频块进行滤波可包含将SAO偏移添加到经重构视频块中的像素值且/或使视频块内的所有像素值乘以一组滤波器系数。SA0/ALF模块79输出经滤波经重构视频块(1310)。可将经滤波经重构视频块输出到参考帧缓冲器以用于后续预测。
[0151]视频编码器20可实施本发明的用于在视频译码过程中执行样本自适应偏移和自适应环路滤波器过程的技术中的任一者或全部。同样,视频解码器30可实施用于在视频译码过程中执行样本自适应偏移和自适应环路滤波器过程的这些技术中的任一者或全部。如本发明中所描述的视频译码器可指代视频编码器或视频解码器。类似地,视频译码单元可指代视频编码器或视频解码器。同样,视频译码可指代视频编码或视频解码。
[0152]在一个或一个以上实例中,所描述的功能可以硬件、软件、固件或其任何组合来实施。如果以软件实施,那么所述功能可作为一个或一个以上指令或代码存储在计算机可读媒体上或经由计算机可读媒体进行传输且由基于硬件的处理单元执行。计算机可读媒体可包含计算机可读存储媒体(其对应于例如数据存储媒体等有形媒体)或通信媒体,通信媒体包含促进(例如)根据通信协议将计算机程序从一处传递到另一处的任何媒体。以此方式,计算机可读媒体一般可对应于(I)非暂时性的有形计算机可读存储媒体或(2)例如信号或载波等通信媒体。数据存储媒体可为可由一个或一个以上计算机或一个或一个以上处理器存取以检索指令、代码和/或数据结构来用于实施本发明中所描述的技术的任何可用媒体。计算机程序产品可包含计算机可读媒体。[0153]举例来说且并非限制,所述计算机可读媒体可包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置,快闪存储器,或可用于存储呈指令或数据结构的形式的所要程序代码且可由计算机存取的任何其它媒体。同样,可适当地将任何连接称作计算机可读媒体。举例来说,如果使用同轴电缆、光纤电缆、双绞线、数字订户线(DSL)或例如红外线、无线电及微波的无线技术从网站、服务器或其它远程源传输软件,则同轴电缆、光纤电缆、双绞线、DSL或例如红外线、无线电及微波的无线技术包含于媒体的定义中。然而,应理解,计算机可读存储媒体和数据存储媒体不包含连接、载波、信号或其它瞬时媒体,而是针对于非瞬时的、有形存储媒体。如本文中所使用,磁盘及光盘包含压缩光盘(CD)、激光光盘、光学光盘、数字多功能光盘(DVD)、软磁盘及蓝光光盘,其中磁盘通常磁性地重现数据,而光盘使用激光光学地重现数据。以上各者的组合也应包含在计算机可读媒体的范围内。
[0154]可由例如一个或一个以上数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其它等效集成或离散逻辑电路等一个或一个以上处理器来执行所述指令。因此,如本文中所使用的术语“处理器”可指上述结构或适合于实施本文中所描述的技术的任一其它结构中的任一者。另外,在一些方面中,本文中所描述的功能性可提供于经配置以用于编码及解码的专用硬件模块和/或软件模块内,或并入组合式编解码器中。并且,可将所述技术完全实施于一个或一个以上电路或逻辑元件中。
[0155]本发明的技术可实施于广泛多种装置或设备中,包含无线手持机、集成电路(IC)或IC组(例如,芯片组)。本发明中描述各种组件、模块或单元来强调经配置以执行所揭示的技术的装置的若干功能性方面,但不一定需要通过不同的硬件单元来实现。而是,如上文所描述,各种单元可联合合适的软件和/或固件而组合于编解码器硬件单元中或通过互操作的硬件单元的集合(包含如上文所描述的一个或一个以上处理器)来提供。
[0156]已描述了各种实例。这些及其它实例属于所附权利要求书的范围内。
【权利要求】
1.一种在视频译码过程中对视频数据进行滤波的方法,其包括: 接收视频数据块,其中所述视频数据块包含多个样本值; 确定所述视频数据块的一个或一个以上滤波器系数; 至少部分基于与所述一个或一个以上滤波器系数相关联的值来确定所述多个样本值中的每一者的相应偏移值;以及 基于所述所确定的一个或一个以上滤波器系数以及所述所确定的相应偏移值对所述视频数据块进行滤波。
2.根据权利要求1所述的方 法,其中确定所述视频数据块的一个或一个以上滤波器系数包含确定一个或一个以上AC系数且不确定DC系数。
3.根据权利要求1所述的方法,其中确定相应偏移值包含从一组SAO滤波器模式中选择一 SAO滤波器模式,其中所述组SAO滤波器模式包含:不应用SAO滤波器、IDO度边缘、1D90度边缘、1D135度边缘、1D45度边缘、ID小于45度边缘、ID大于135度边缘、中心频带滤波器,以及边频带滤波器。
4.根据权利要求1所述的方法,其中确定相应偏移值包含从一组SAO滤波器模式中选择一 SAO滤波器模式,其中所述组SAO滤波器模式包含:1D0度边缘、1D90度边缘、ID135度边缘以及1D45度边缘。
5.根据权利要求4所述的方法,其中确定一个或一个以上滤波器系数包含确定所述视频数据块的方向活动性,且其中选择SAO偏移滤波器模式包含至少部分基于所述方向活动性来选择SAO滤波器模式。
6.根据权利要求1所述的方法,其中确定一个或一个以上滤波器系数包含基于所述视频数据块的方向活动性来确定所述视频数据块的分类,且其中确定相应偏移值包含在所述分类指示较少的方向活动性时确定不应用SAO滤波器。
7.根据权利要求1所述的方法,其中基于所述所确定的一个或一个以上滤波器系数以及所述所确定的相应偏移值对所述视频数据块进行滤波包含:通过将所述一个或一个以上滤波器系数用作权重值且将所述相应偏移值添加到相应样本值来调整所述视频数据块中的样本中的一者或一者以上的值。
8.根据权利要求1所述的方法,其中所述视频数据块是视频数据的样本值块的4X4阵列。
9.根据权利要求1所述的方法,其中所述视频数据块是视频帧的十六个区中的一者。
10.根据权利要求1所述的方法,其进一步包括使用预测技术对所述视频数据块进行编码,且在经编码位流中用信号发送所述一个或一个以上滤波器系数和相应偏移值。
11.根据权利要求1所述的方法,其进一步包括对来自经编码位流的所述视频数据块进行解码,且其中确定所述多个样本值中的每一者的相应偏移值包含对来自经编码位流的所述相应偏移值进行解码。
12.—种经配置以在视频译码过程中对视频数据进行滤波的设备,其包括: 用于接收视频数据块的装置,其中所述视频数据块包含多个样本值; 用于确定所述视频数据块的一个或一个以上滤波器系数的装置; 用于至少部分基于与所述一个或一个以上滤波器系数相关联的值来确定所述多个样本值中的每一者的相应偏移值的装置;以及用于基于所述所确定的一个或一个以上滤波器系数以及所述所确定的相应偏移值对所述视频数据块进行滤波的装置。
13.根据权利要求12所述的设备,其中确定所述视频数据块的一个或一个以上滤波器系数包含确定一个或一个以上AC系数且不确定DC系数。
14.根据权利要求12所述的设备,其中确定相应偏移值包含从一组SAO滤波器模式中选择一 SAO滤波器模式,其中所述组SAO滤波器模式包含:不应用SAO滤波器、IDO度边缘、1D90度边缘、1D135度边缘、1D45度边缘、ID小于45度边缘、ID大于135度边缘、中心频带滤波器,以及边频带滤波器。
15.根据权利要求12所述的设备,其中确定相应偏移值包含从一组SAO滤波器模式中选择一 SAO滤波器模式,其中所述组SAO滤波器模式包含:1D0度边缘、1D90度边缘、ID135度边缘以及1D45度边缘。
16.根据权利要求15所述的设备,其中确定一个或一个以上滤波器系数包含确定所述视频数据块的方向活动性,且其中选择SAO偏移滤波器模式包含至少部分基于所述方向活动性来选择SAO滤波器模式。
17.根据权利要求12所述的设备,其中确定一个或一个以上滤波器系数包含基于所述视频数据块的方向活动性来确定所述视频数据块的分类,且其中确定相应偏移值包含在所述分类指示较少 的方向活动性时确定不应用SAO滤波器。
18.根据权利要求12所述的设备,其中基于所述所确定的一个或一个以上滤波器系数以及所述所确定的相应偏移值对所述视频数据块进行滤波包含:通过将所述一个或一个以上滤波器系数用作权重值且将所述相应偏移值添加到相应样本值来调整所述视频数据块中的样本中的一者或一者以上的值。
19.根据权利要求12所述的设备,其中所述视频数据块是视频数据的样本值块的4X4阵列。
20.根据权利要求12所述的设备,其中所述视频数据块是视频帧的十六个区中的一者。
21.根据权利要求12所述的设备,其进一步包括用于使用预测技术对所述视频数据块进行编码的装置,以及用于在经编码位流中用信号发送所述一个或一个以上滤波器系数和相应偏移值的装置。
22.根据权利要求12所述的设备,其进一步包括用于对来自经编码位流的所述视频数据块进行解码的装置,且其中确定所述多个样本值中的每一者的相应偏移值包含对来自经编码位流的所述相应偏移值进行解码。
23.一种包括视频译码器的装置,所述视频译码器经配置以: 接收视频数据块,其中所述视频数据块包含多个样本值; 确定所述视频数据块的一个或一个以上滤波器系数; 至少部分基于与所述一个或一个以上滤波器系数相关联的值来确定所述多个样本值中的每一者的相应偏移值;以及 基于所述所确定的一个或一个以上滤波器系数以及所述所确定的相应偏移值对所述视频数据块进行滤波。
24.根据权利要求23所述的装置,其中确定所述视频数据块的一个或一个以上滤波器系数包含确定一个或一个以上AC系数且不确定DC系数。
25.根据权利要求23所述的装置,其中经配置以确定相应偏移值包含从一组SAO滤波器模式中选择一 SAO滤波器模式,其中所述组SAO滤波器模式包含:不应用SAO滤波器、IDO度边缘、1D90度边缘、1D135度边缘、1D45度边缘、ID小于45度边缘、ID大于135度边缘、中心频带滤波器,以及边频带滤波器。
26.根据权利要求23所述的装置,其中经配置以确定相应偏移值包含从一组SAO滤波器模式中选择一 SAO滤波器模式,其中所述组SAO滤波器模式包含:1D0度边缘、1D90度边缘、1D135度边缘以及1D45度边缘。
27.根据权利要求26所述的装置,其中经配置以确定一个或一个以上滤波器系数包含确定所述视频数据块的方向活动性,且其中经配置以选择SAO偏移滤波器模式包含至少部分基于所述方向活动性来选择SAO滤波器模式。
28.根据权利要求23所述的装置,其中经配置以确定一个或一个以上滤波器系数包含基于所述视频数据块的方向活动性来确定所述视频数据块的分类,且其中确定相应偏移值包含在所述分类指示较少的方向活动性时确定不应用SAO滤波器。
29.根据权利要求23所述的装置,其中经配置以基于所述所确定的一个或一个以上滤波器系数以及所述所确定的相应偏移值对所述视频数据块进行滤波包含:通过将所述一个或一个以上滤波器系数用作权重值且将所述相应偏移值添加到相应样本值来调整所述视频数据块中的样本中的一者或一者以上的值。
30.根据权利要 求23所述的装置,其中所述视频数据块是视频数据的样本值块的4X4阵列。
31.根据权利要求23所述的装置,其中所述视频数据块是视频帧的十六个区中的一者。
32.根据权利要求23所述的装置,其中所述视频译码装置包括视频编码器,且其进一步经配置以使用预测技术对所述视频数据块进行编码,且在经编码位流中用信号发送所述一个或一个以上滤波器系数和相应偏移值。
33.根据权利要求23所述的装置,其中所述视频译码装置包括视频解码器,其中所述视频解码器经配置以对来自经编码位流的所述视频数据块进行解码,且其中经配置以确定所述多个样本值中的每一者的相应偏移值包含对来自经编码位流的所述相应偏移值进行解码。
34.一种其上存储有指令的非暂时性计算机可读存储媒体,所述指令在执行后即刻致使视频译码装置的一个或一个以上处理器: 接收视频数据块,其中所述视频数据块包含多个样本值; 确定所述视频数据块的一个或一个以上滤波器系数; 至少部分基于与所述一个或一个以上滤波器系数相关联的值来确定所述多个样本值中的每一者的相应偏移值;以及 基于所述所确定的一个或一个以上滤波器系数以及所述所确定的相应偏移值对所述视频数据块进行滤波。
35.根据权利要求34所述的非暂时性计算机可读存储媒体,其中确定所述视频数据块的一个或一个以上滤波器系数包含确定一个或一个以上AC系数且不确定DC系数。
36.根据权利要求34所述的非暂时性计算机可读存储媒体,其中确定相应偏移值包含从一组SAO滤波器模式中选择一 SAO滤波器模式,其中所述组SAO滤波器模式包含:不应用SAO滤波器、IDO度边缘、1D90度边缘、1D135度边缘、1D45度边缘、ID小于45度边缘、ID大于135度边缘、中心频带滤波器,以及边频带滤波器。
37.根据权利要求34所述的非暂时性计算机可读存储媒体,其中确定相应偏移值包含从一组SAO滤波器模式中选择一 SAO滤波器模式,其中所述组SAO滤波器模式包含:IDO度边缘、1D90度边缘、1D135度边缘以及1D45度边缘。
38.根据权利要求37所述的非暂时性计算机可读存储媒体,其中确定一个或一个以上滤波器系数包含确定所述视频数据块的方向活动性,且其中选择SAO偏移滤波器模式包含至少部分基于所述方向活动性来选择SAO滤波器模式。
39.根据权利要求34所述的非暂时性计算机可读存储媒体,其中确定一个或一个以上滤波器系数包含基于所述视频数据块的方向活动性来确定所述视频数据块的分类,且其中确定相应偏移值包含在所述分类指示较少的方向活动性时确定不应用SAO滤波器。
40.根据权利要求34所述的非暂时性计算机可读存储媒体,其中基于所述所确定的一个或一个以上滤波器系数以及所述所确定的相应偏移值对所述视频数据块进行滤波包含:通过将所述一个或一个以上滤波器系数用作权重值且将所述相应偏移值添加到相应样本值来调整所述视频数据块中的样本中的一者或一者以上的值。
41.根据权利要求34所述的非暂时性计算机可读存储媒体,其中所述视频数据块是视频数据的样本值块的4X4阵列。
42.根据权利要求34所述的非暂时性计算机可读存储媒体,其中所述视频数据块是视频帧的十六个区中的一者。
43.根据权利要求34所述的非暂时性计算机可读存储媒体,其中所述指令在执行后即刻进一步致使视频译码装置使用预测技术对所述视频数据块进行编码,且在经编码位流中用信号发送所述一个或一个以上滤波器系数和相应偏移值。
44.根据权利要求34所述的非暂时性计算机可读存储媒体,其中所述指令在执行后即刻进一步致使视频译码装置对来自经编码位流的所述视频数据块进行解码,且其中确定所述多个样本值中的每一者的相应偏移值包含对来自经编码位流的所述相应偏移值进行解码。
【文档编号】H04N19/176GK103959777SQ201280050083
【公开日】2014年7月30日 申请日期:2012年10月11日 优先权日:2011年10月13日
【发明者】钟仁肃, 桑吉弗·库马尔, 马尔塔·卡切维奇 申请人:高通股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1