由包含SAO的视频编码系统产生的视频比特流的解码方法与流程

文档序号:11844841
由包含SAO的视频编码系统产生的视频比特流的解码方法与流程
交叉引用本申请要求下述申请的优先权:2011年1月13日递交的,发明名称为“图像四分树自适应偏移”的美国临时申请案No.61/432,482;2011年1月26日递交的,发明名称为“改良偏移方法”的美国临时申请案No.61/436,296;2011年3月22日递交的,发明名称为“用于视频编码的样本自适应偏移的方法和装置”的美国临时申请案No.61/466,083;及2011年1月9日递交的,发明名称为“用于视频编码的自适应偏移的方法和装置”的美国申请案No.12/987,151;于2011年6月12日递交的,发明名称为“用于视频编码的样本自适应偏移的方法和装置”美国专利申请案No.13/158,427。本申请将上述美国临时申请案及专利申请案作为参考。
技术领域
本发明有关于视频编码(videocoding),且尤其是有关于与样本自适应偏移补偿的方法及装置有关的编码技术。
背景技术
:在一视频编码系统中,视频数据被进行多种处理如:预测、转换、量化、解块还有自适应滤波。沿着视频编码系统的处理轨迹,因为在视频数据上应用上述操作,已处理的视频数据的某些特征可能从原始视频数据被改变。如:已处理的视频的平均值可能发生偏移。强度偏移可能导致视觉损害或者障碍,尤其是强度偏移从帧到帧的变化时,更明显。因此,像素强度偏移需被小心补偿或者恢复以减轻伪影(artifacts)。在此领域,一些强度补偿方案已经被使用。该强度补偿方案一般依据选择的上下文,将已处理视频数据中的每一像素分类至多个类别中的一个。举例来说,该上下文可为该已处理视频数据的像素强度。作为替代的,该上下文可能为当前像素及其周边像素的组合。依据该选择的上下文推导出一特性衡量,依据该被衡量的特性决定一类别。为该每一类别,该原始像素与已处理像素之间的强度偏移被决定。本文中该强度偏移也被称为“偏移值(offsetvalue)”。因此,该偏移值被应用至属于该类别的该已处理像素以补偿该强度偏移。基于每一像素的类别,对于已处理视频数据的强度偏移补偿或者恢复的处理在本文中被称为“样本自适应偏移”(sampleadaptiveoffset,SAO)。传统的SAO方案经常基于每一帧或者每一片(slice)决定该像素的类别。然而,图像内容一般为动态的且每一帧的特征可能发生改变或者一帧内不同分区的特征也可能发生改变。因此,需要开发一种样本自适应偏移方案考虑一帧内的动态特征,使用一分区划分方案以自适应地划分已处理的视频数据至不同大小的分区。进一步,传统的SAO方案总是用以固定的上下文来决定已处理视频数据的像素的类别。如:该SAO可能只使用一固定的16带的带偏移(bandoffset,BO)以进行样本自适应偏移。另一范例,该SAO仅使用一3x3窗口作为上下文来决定已处理视频数据的像素的类别。需要一种样本自适应方案可以自适应从一组SAO类型中选择一SAO类型来合适地使用SAO处理已处理的视频数据的特征,实现更好的质量。因此,本发明揭示一种样本自适应方案能够利用已处理视频数据中的动态特征。技术实现要素:有鉴于此,本发明提出一种用于视频编码的样本自适应偏移的方法。依据本发明第一实施方式,提供一种由包含样本自适应偏移SAO的视频编码系统产生的视频比特流的解码方法。该方法包括,接收视频比特流;从该视频比特流中获得已处理视频数据;在用于强度偏移值的一第二语法元素之前,从该视频比特流的一位置处自该视频比特流解析与分区划分信息相关的一第一语法元素;根据该分区划分信息,划分该已处理视频数据至多个分区,其中每一分区小于一图像;从该视频比特流中获得每一分区的一基于分区的SAO类型,其中,该基于分区的SAO类型允许从一个分区至另一个分区改变;从该基于分区的SAO类型相关的一组类别中,为该每一分区的每一像素决定一类别;为该基于分区的SAO类型相关的该类别,从视频比特流中获得强度偏移值;及基于已获得的该基于分区的SAO类型中的该类别的该强度偏移值,对该已处理视频数据的该分区中的该每一像素应用样本自适应偏移补偿。依据本发明第二实施方式,提供一种已处理视频数据的样本自适应偏移SAO补偿方法。该方法包括,接收已处理视频数据;根据分区划分信息,划分该已处理视频数据至多个分区,其中每一分区小于一图像;从一组SAO类型中,替每一个分区选择一基于分区的SAO类型,其中,该基于分区的SAO类型允许从一个分区至另一个分区改变;从与基于分区的SAO类型相关的一组类别中,为该每一分区的每一像素决定一类别;根据在该已处理视频数据的每一分区中属于该类别的像素和在对应的原始视频数据的各个分区中属于该类别的各个像素,决定与该基于分区的SAO类型相关的该类别的强度偏移;以及基于该基于分区的SAO类型的该类别的该强度偏移值,应用样本自适应偏移补偿至该已处理视频数据的分区内的每一像素;以及在用于强度偏移值的一第二语法元素之前,在视频比特流的一位置处,发送与该分区划分信息相关的一第一语法元素。本发明提出用于视频编码的样本自适应偏移的方法,可实现更好的质量。附图说明图1揭露一视频编码器包含一重构回路的系统框图,该重构回路包含一解块滤波器和一自适应回路滤波器。图2揭露一视频解码器包含一解块滤波器及一自适应滤波器的系统框图。图3揭露基于像素类别的自适应偏移的范例,其中依据像素C及其相邻像素n1-n4决定该类别。图4揭露一视频编码器的系统框图,其中该视频编码器中一样本自适应偏移在解块滤波器后被应用至视频数据。图5揭露一视频编码器的系统框图,其中,该视频数据在重构之后被应用样本自适应偏移。图6揭露基于带偏移的两种SAO类型的范例,其中该第一类别包含中心带(centralbands),第二类别包含边缘带(sidebands)。图7A-图7D揭露为了像素类别决定的当前像素及其相邻像素的四种线性结构。图8揭露一视频编码器的系统框图,其中在逆变换后样本自适应偏移被应用。图9揭露一实施例的视频编码器的系统框图,其中该样本自适应偏移被应用至该预测信号。图10揭露一实施例的视频编码器的系统框图,其中该样本自适应偏移被应用至该解量化信号(de-quantizedsignal)。图11揭露一循环分区划分的实施例,其中以SAO类型被选择用于每一分区。图12揭露一划分一分区至四个子分区的循环分区划分的实施例,该四个子分区在水平方向及垂直方向基本具有相同数目的LCU。图13A揭露当该45度、90度或者135度的EO图形被使用,为一LCU的第一行及最后一行的像素跳过SAO补偿的一实施例。图13B揭露对齐块边界的分区划分的一实施例,其中该被选择的块为LCU。图14揭露支持本发明的序列层的语法设计。图15揭露支持本发明的片头的语法设计。图16揭露SAO参数sao_param()的语法设计。图17揭露SAO分割参数sao_split_param()的语法设计。图18揭露SAO补偿参数sao_offset_param()的语法设计。具体实施方式在一视频编码系统中,视频数据被进行多种处理如:预测、转换、量化、解块还有自适应滤波。沿着视频编码系统的处理轨迹,因为在视频数据上应用上述操作,已处理的视频数据的某些特征可能从原始视频数据被改变。如:已处理的视频的平均值可能发生偏移。强度偏移可能导致视觉损害或者伪影。尤其是强度偏移从帧到帧的变化更明显。因此,像素强度偏移需被小心补偿或者恢复以减轻该伪影。有多种理由可以导致该已处理视频数据的某些特性被转换。该已处理视频数据的特性的改变可能与其被应用的操作有着本质的联系。如,当应用一低通滤波器至该视频数据,相应于锐边的像素值将减少倾斜度。该边缘的一边的像素值将增加,而另一边的像素值将减少。在该范例中,若样本自适应偏移能考虑该边缘特性,就能够实现提高视频质量。传统的强度偏移方案一般依据已选择的上下文,分类该已处理视频数据的每一像素至多个类别中的一个。举例来说,该上下文可为该已处理视频数据的像素强度。作为替代的,该上下文可能为当前像素及其周边像素的组合。依据该选择的上下文推导出一特性衡量,依据该被衡量的特性决定一类别。对于每一类别,该原始像素与该已处理像素之间的强度偏移被决定。本文中该强度偏移也被称为“偏移值”。因此,该偏移值被应用至属于该类别的该已处理像素以补偿该强度偏移。基于该类别的每一像素,对于已处理视频数据的强度偏移补偿或者恢复的处理在本文中被称为“样本自适应偏移”(sampleadaptiveoffset,SAO)。传统的SAO方案经常基于每一帧或者每一片(slice)决定该像素的类别。然而,图像内容一般为动态的且每一帧的特征可能发生改变或者一帧内不同分区的特征也可能发生改变。因此,需要开发一种样本自适应偏移方案考虑一帧内的动态特征,使用一分区划分方案以自适应地划分已处理的视频数据至不同大小的分区。进一步,传统的SAO方案总是用一固定的上下文来决定已处理视频数据的像素的一类别。如:该SAO可能只使用一固定的16带的带偏移(bandoffset,BO)以进行样本自适应偏移。另一范例,该SAO仅使用一3x3窗口作为上下文来决定已处理视频数据的像素的类别。需要一种样本自适应方案可以自适应从一组SAO类型中选择一SAO类型来合适地使用SAO处理已处理的视频数据的特征,实现更好的质量。因此,本发明揭示一种样本自适应方案能够利用已处理视频数据中的动态特征。如图1所示的编码器的范例表示了一使用帧内/帧间预测的系统。帧内预测单元110基于同一图像的视频数据,负责提供预测数据。对于帧间预测,ME/MC单元112,即运动预测(motionestimation,ME)及运动补偿(motioncompensation,MC)被用于基于其它图像的视频数据提供预测数据。开关114用于选择帧内或者帧间预测数据且将该被选择的预测数据提供至加法器116以产生预测误差(predictionerrors),也叫残差(residues)。该预测误差接着依次被T118(转换)及Q120(量化)处理。被转换及量化的残差被熵编码单元122编码相应于该压缩的视频数据形成一比特流。与该转换参数相关的比特流与附加信息(sideinformation)被打包。该附加信息可以为:运动模式和其它与图像区域相关的信息。该附加信息也被进行熵编码以减少所需带宽。如图1所示,与附加信息相关的数据被提供至熵编码单元122。当使用帧间预测模式,一参考图像或者多个参考图像在编码器端须被重构。因此,IQ(逆量化)124及IT(逆转换)126处理该被转换及量化的残差以恢复该残差。然后,在REC(reconstruction,重构)128,该残差被加回至该预测数据以重构视频数据。该重构视频数据可存储在参考图像缓存器134,且被用于预测其它帧。在重构数据被存储至该参考图像缓存器134之前,DF(解块滤波器)130及ALF(自适应滤波器)132被应用至该重构视频数据以提高视频质量。该自适应滤波信息在该比特流中被传输,因此解码器可以适当的恢复所需信息以应用自适应滤波器。因此,从ALF132输出的自适应滤波信息并入该比特流被提供至熵编码器122。如图1所示,输入之视频数据在编码系统中经历了一系列处理。该REC128的重构视频数据因为上述一系列处理可能发生强度偏移(intensityshift)。该重构视频数据进一步被解块单元130及自适应滤波器132进行处理,这也可能引起强度偏移。因此,需要引入一样本自适应偏移以恢复或者补偿该强度偏移。图2揭示一包含解块滤波器及自适应回路滤波器的视频解码器实施例的系统框图。因为编码器也包含一解码器以重构该视频数据,因此除了熵解码器222,一些解码器元件已经被使用在编码器中。进一步,仅有运动补偿单元212在解码器端被需要。开关214选择帧内或者帧间预测模式,且将选择的预测数据提供至重构单元REC128以与恢复的残差合并。除了对已压缩视频数据执行熵解码,熵解码单元222还熵解码附加信息且提供该附加信息至各自的块。举例来说,帧内模式信息被提供至帧内预测单元110,帧间模式信息被提供至运动补偿单元MC212,自适应滤波信息被提供至ALF132且残差被提供至IQ124。该残差由该IQ124处理,IT126及随后的重构处理,重构该视频数据。再一次,如图2所示,从REC128输出的重构视频数据历经包括IQ124及IT126的一系列处理且发生强度偏移。该重构视频数据进一步被解块滤波器130及自适应滤波器132处理,这些也将进一步引起强度偏移。因此,需要一种样本自适应偏移来补偿该强度偏移。为了克服偏移问题,于Document:JCTVC-A124,JointCollaborativeTeamonVideoCoding(JCT-VC)ofITU-TSG16WP3andISO/IECJTC1/SC29/WG11,1stMeeting:Dresden,DE,15-23April,2010,McCann等人在公开题为:“三星对视频压缩技术征集建议的回应”中揭露了内容自适应极端校正及带校正。使用基于相邻像素的内容信息可以开发局部边缘特性(localedgecharacteristics)且提高系统表现即获得更好的视觉质量或者减少比特率。如图3所示,McCann等人揭示了相邻像素结构,其中C为当前像素值,n1至n4为四个相邻像素分别在当前像素的上、下、左及右。如表1所示,依据McCann等人的方法将像素分类至七个类别中:表1.类别(Category)条件(Condition)备注(Note)0C<4neighbors局部最小1C<3neighbors&&C=4thneighbor物体边缘2C<3neighbors&&C>4thneighbor物体边缘3C>3neighbors&&C<4thneighbor物体边缘4C>3neighbors&&C=4thneighbor物体边缘5C>4neighbors局部最大6以上均不是其它对于类别0,该像素C为一局部最小值,也叫一山谷。对于类别5,该像素C为一局部最大值,也叫一山峰。对于类别1、2、3及4,该像素C在一物体边缘(objectedge)。对于每一类别中的像素,已处理视频数据的方差值和原始视频数据的方差值的不同被计算且被传输至解码器。该已处理的视频数据可以是从REC128出来的重构视频数据、从DF130出来的解块数据或者从ALF132中出来的自适应回路滤波数据。分类该边缘特性至类别(“categories”),也叫级别(“classes”)。当虽然图1及图2所示实施例中的显示了视频编码的样本自适应偏移可应用的示范性系统,其它系统也可以使用本发明以克服强度偏移问题。举例来说,在照相机图像处理系统,视频数据被进行去马赛克、白平衡、和或者边缘增强等处理也可能出现强度偏移。如上所述,相关的
背景技术
依据底层像素(underlyingpixel)的边缘特性在DF130和ALF132之间应用一第一强度偏移以恢复已处理数据。此基于底层像素边缘特性的自适应偏移也被称为极端校正(ExtremeCorrection,EXC)。相关的
背景技术
依据上述极端校正被应用在重构视频数据上。决定视频图像对应C类的重构视频数据的平均强度值Vr(c)与原始视频数据的平均强度值Vo(c)。对应C类的偏移值Vd(c)可以由下述公式决定:Vd(c)=Vo(c)–Vr(c)上述计算得到的该偏移值Vd(c)被加至属于C类的重构视频数据上,如:Vr’(c)=Vr(c)+Vd(c),其中,Vr’(c)为偏移校正视频数据。为了使解码器为各类应用合适的偏移,该所有类的偏移值Vd(c)均被输出至该解码器,需要合适的比特流语法设计来合并该偏移值Vd(c)。该SAO类型相关的类别的强度偏移值包含一与已处理视频数据的像素比特深度相关的精度。由于偏移值的精确度与视频数据的像素比特深度相关,因此我们为了限制输出至比特流的偏移值,所以偏移值的精确度可利用视频数据的像素深度作换算,例如:若视频数据的像素深度小于或等于10,我们将输出至比特流的偏移值的精确度设计成与视频数据的像素深度相同,然而若视频数据的像素深度大于10,我们将输出至比特流的偏移值的精确度设为10,并将偏移值作适当的量化。基于EXC的自适应偏移410被应用在DF130和ALF132之间的视频数据上。如图4所示,揭露了另一种根据底层像素属于的带的自适应偏移校正。该方法也被称为带校正(bandcorrection,BDC)。在相关的
背景技术
中,基于带的分类的主要动机是使得相对应的重构视频数据和原始视频数据的底层数据的两种不同的概率密度函数(ProbabilityDensityFunctions,PDF)均衡。在相关的
背景技术
中,另公开了一种基于带的分类法,通过使用像素的p个最高有效位,等同于将强度划分至间隔相等的2p个类别。在一实施例中,选择p=4将强度划分至16个等间隔的带,也称为“类别(classes)”。对于每一带或者类别,计算平均差,并传送给解码器,且为每个带单独纠正该偏移量。决定视频图像的对应带C或者C类的该重构平均强度值Vr(c)及对应带C或者C类的原始平均强度值Vo(c)。为了方便起见,使用与EXC同样的数学标记Vr(c)及Vo(c)。如基于边缘特性的自适应偏移校正,依据公式Vd(c)=Vo(c)–Vr(c),决定C类的相关的偏移值Vd(c)。上述计算得到的偏移值Vd(c)被加至属于C类的重构视频数据,即:Vr’(c)=Vr(c)+Vd(c),其中Vr’(c)为偏移校正视频数据。相关的
背景技术
中应用带校正至ALF132与参考图像缓存器134(未显示)之间的已处理视频数据。相关的
背景技术
中提供自适应偏移在DF130和ALF132之间,或者在ALF132与参考图像缓存器134之间,如图5所示,该AO510也可以被应用在REC128和DF130之间。对于带类别,除了16个统一的带,也可以使用32个统一的带以增加非零的可能性。在“CE8Subset3:PictureQuadtreeAdaptiveOffset”,Document:JCTVC-D122,JointCollaborativeTeamonVideoCoding(JCT-VC)ofITU-TSG16WP3andISO/IECJTC1/SC29/WG11,4thMeeting:Daegu,KR,20-28January,2011,andin“CE13:SampleAdaptiveOffsetwithLCU-IndependentDecoding”,Document:JCTVC-E049,JointCollaborativeTeamonVideoCoding(JCT-VC)ofITU-TSG16WP3andISO/IECJTC1/SC29/WG11,5thMeeting:Geneva,CH,16-23March,2011及于2011年1月9日申请的美国专利申请,申请号为No.12/987,151,题为:视频编码的自适应偏移装置及方法均有描述。为了减少附加信息(从32偏移至16),如图6所示,该32统一的带被划分成两个组。在中央16个带为第一组,两边16个带为第二组。因此,一组偏移被送至中央16个带(第一组),另一组偏移被送至外围16带(第二组)。虽然相关的
背景技术
中自适应处理与底层像素的边缘特性相关,且该像素特性是基于整个图像,但是于2011年1月9日申请的美国专利申请No.12/987,151,题为:视频编码的自适应偏移装置及方法,公开了一种基于替代的边缘自适应偏移。其使用两相邻像素的简单线性像素结构。使用简单的像素结构可以减少所需计算量。因此,图7A-7D揭示了四个简单像素结构,也称为像素图形,分别为垂直线(90度)、水平线(0度)、135度及45度。每个像素结构排列成一短线,且沿着该短线响应强度过渡。如:相较于其它方向,在该垂直线上,一水平边缘将引起一更明显的强度过渡。相似的,相较于其它方向的线上,该垂直边缘在该水平线上将引起更明显的强度过渡。选择像素结构可以基于分区,且每一分区均需要一标记。如表2所示,基于像素结构,该底层像素可以被分成6类分别对应边缘、山峰、山谷及以上都不是。表2.虽然上述提到的SAO方案使用BO上下文或者EO上下文来分类像素,但是依据本发明的一实施例使用多种SAO类型。举例来说,该多种SAO类型包括BO上下文及EO上下文。每一SAO包含一个相关数量的类别。如:在上面的例子中,16类(如:16带)与第一组BO和第二组BO相关。每四个EO配置或者上下文与6种类别相关。上面例子中提到的类别的数量仅具有说明目的,并不对本发明作出限制。依据本发明SAO类型的总数可以被预定、由使用者来确定或者自适应改变。进一步,每一SAO类型的分类总数也可以被预定或者由使用者确定或者有画面大小决定、或者自适应改变。当使用多个SAO类型,需要使用一语法元素sao_type_idx来识别所选择的SAO类型。表3揭示包含BO上下文及EO上下文的多个SAO类型的一范例。表3.虽然样本自适应偏移总是被应用至重构之后的视频信号以恢复视频信号,但是样本自适应偏移也可以被应用在重构之前。举例来说,如图8所示,样本自适应偏移单元810可以在重构单元(REC)128之前应用至逆转换残差信号。IT单元126输出的已恢复残差信号已被转换单元118、量化单元120、解量化单元124及逆转换单元126处理。因此,该残差信号可能已经发生强度偏移,且自适应偏移对恢复该强度偏移有用。与自适应偏移有关的附加信息被熵编码且合并至该比特流。在另一实施例中,如图9所示,在预测信号从原始视频信号减去之前,样本自适应偏移被应用至帧内/帧间预测。依据帧内或者帧间预测得到的预测信号受到各种操作可能产生强度偏移。因此,样本自适应偏移对恢复该强度偏移有效。再在另一实施例中,如图10所示,该样本自适应偏移器1010可能被应用至解量化124及逆转化126之间的视频信号。在相关技术的方法里,该AO总是基于整个帧或者一组图像。对于一些视频数据,对应更小的图像的分区可具有自适应处理的更多优点,因为更小图像区域有关的类别可能更接近该分区底层视频数据的特性。因此,本发明使用多层的分区划分。每一分区可以使用四分树法递归的划分成四个子分区。与分区划分有关的信息可以使用一语法设计来传达。该分区的边界可以与编码单元(CU)或者最大编码单元(LCU)对齐。每一分区可以选择一种样本自适应偏移(SAO)类型,如上表中所示的两种类别的带偏移(BO)、四种类别的边缘偏移(EO)或者无处理(OFF)。图11揭示一种图像划分的范例,且每一图像被使用BO、EO或者OFF类型进行SAO处理,图11中的每一小块表示一LCU。SAO的分区划分可以基于块。四分树划分的深度数取决于块大小。如果分区的宽度及高度均小于一块的大小,则当前分区的分割处理结束。最大四分树深度可以为用户设定深度、预定深度或者图像大小。该块的大小可以小于、等于或者大于LCU大小。图12揭露与LCU对齐的分区划分的范例。该分区使用LCU大小衡量。WidthInLCU为LCU的数量表示当前分区的宽度,且HeightInLCU为LCU的数量表示当前分区的高度。在水平方向划分WidthInLCU至具有宽度分别为Floor(WidthInLCU/2)及WidthInLCU-Floor(WidthInLCU/2)的两子分区。其中函数Floor(x)为一向下取整函数。类似地,在垂直方向划分HeightInLCU至具有宽度分别为Floor(HeightInLCU/2)及HeightInLCU-Floor(HeightInLCU/2)的两子分区。一些类型的AO分类法依赖于相邻像素,如基于EO的SAO,其中该类别可能取决于围绕当前像素的3x3窗口。因此,决定LCU边缘上的像素的SAO类别可能依赖于相邻LCU的像素。这种依赖关系将会阻止平行处理多个LCU,也可能需要更大的缓存来容纳所有的相邻LCU。需要开发一种方法以消除对相邻LCU的依赖。本发明的一实施例提供一块独立的SAO处理,对于接近块的边缘而需要依赖其它块的像素,对其跳过SAO处理以提供与块无关的SAO处理。依赖于SAO的设计,依赖于相邻的块来作出SAO决定的边界上的像素可能包含立即毗邻该边界的像素或者距离该边界有一像素或者更远的像素。举例来说,如图13A所示,如果图7A中90度的EO被使用,该块第一行及最后一行的像素(此例中一LCU包含64x64个像素)将依赖其上面或者其下面的相邻块来作出SAO决定。因此,SAO处理将跳过该块的第一行1302及最后一行1304,则该SAO为独立块(block-independent)处理。如果使用45度EO或者135度EO,该第一行1302及该最后一行1304作SAO决定也取决于相邻块。因此,若使用45度EO或者135度EO,该SAO处理将跳过该块的该第一行1302及该最后一行1304以使得该SAO将为块独立。类似地,当使用0度、45度或者135度EO,该块的第一列及最后一列将跳过SAO处理。图13A揭示当使用45度、90度或者135度EO图像使用时,为一LCU第一行及最后一行的像素跳过SAO补偿范例。类似地,当使用0度、45度或者135度EO图像使用时,为一LCU第一列及最后一列的像素跳过SAO补偿。这样,每一LCU的SAO解码无需其它LCU的像素,LCU独立解码或者LCU平行解码可以实现。除了为特殊的EO图像跳过LCU边界像素的SAO补偿,填补技术也可以被使用,以取代其它LCU的像素来实现LCU独立解码。填补技术的范例可以为重复填补或者镜像(mirror-based)填补。填补技术可以先进行水平填补或者先进行垂直填补。“块独立解码”(“block-independentdecoding”)的方案的另一益处为:当SAO解码逐块完成时,解码器的与图像宽度成比例的线缓存器可以被消除。其中该块的大小小于、等于或者大于该LCU的大小。另一修正的该块独立解码方案为使用可变的块来取代固定的块。举例来说,在叶CU(leafCU)边界跳过SAO补偿或者填补可以被应用以实现叶CU独立解码。另一延伸的块独立解码为SAO解码逐块完成且解码每一块无需未来块(futureblocks)的数据。举例来说,当块处理顺序为栅格扫描,右面和下面的块的像素未被使用。跳过或者填补技术将使用在最后行或者最后列。类似地,该块可以为LCU、叶CU、条宽等于图像宽度且包含多个连续块的长条、其它任意固定尺寸或者非固定尺寸。图13B与块边界对齐的分区划分,其中该块为LCU。如图13B所示,该图像被分割成无重叠的块。该SAO分区划分使用四分树法划分该视频数据至分区,其中该划分与块边界对齐(如:此例中使用LCU边界)。一些分区的类别决定可能基于相邻块(LCU)的像素。举例来说,该分区1310可能依赖其右边的块如LCU1320的像素、顶部的LCU1330及其右上方的LCU1340来作出SAO决定。该分区1310被块1350封闭,其中该分区1310顶部及右边边界对应属于块1350顶部及右边的边界。该分区1310左边及底部的边界在该封闭的块1350内。该分区1310左边及底部边界(除了左边边界的第一顶端像素及底部边界的最右像素)的SAO决定不依赖于相邻块的像素。视频比特流包括序列层、图像层、片层和LCU层。该SAO分区划分信息须传输至解码端以使得该分区结构及AO参数被恢复。在实现上SAO信息可以在,SAO类型允许从视频比特流的不同层获得,包括序列层、图像层、片层和LCU层。在我们的设计中SAO的开启或关闭的讯息在序列、片层和LCU层都存在,而序列层会影响片层和LCU层,而片层会影响LCU层。而在LCU层则可以包含是否相邻块分享SAO类型或偏移值。图14-18揭示一语法设计以支持SAO分区划分。图14揭示一序列层的语法设计的范例,其中序列参数组如:SPS头(SPSheader)包含一语法元素sample_adaptive_offset_enabled_flag。其中,该语法元素sample_adaptive_offset_enabled_flag指示在该序列中SAO是否已启用。SAO启用标记也被并入图像层或者片层。图15揭示了一种新的语法元素包含在片头内。如果该SAO启用标记,如:sample_adaptive_offset_enabled_flag,具有值1,则SAO参数组:sao_param()被包含在片头内。图16显示一SAO参数组sao_param()的范例。其中sample_adaptive_offset_flag表示SAO是否应用在当前片。如果该标记的值为1,则该参数组也包含参数sao_split_param(0,0,0)和sao_offset_param(0,0,0)以传输分别与四分树划分及补偿相关的信息。图17揭示sao_split_param(xs,ys,sao_curr_depth)的语法范例。该sao_split_param(xs,ys,sao_curr_depth)显示递归SAO分割结构。检查条件sao_curr_depth<SaoMaxDepth来看当前SAO深度是否达到最大SAO深度SaoMaxDepth。如果该条件满足,sao_split_flag[sao_curr_depth][ys][xs]显示进一步分割被执行。否则分割结束。图18揭露了sao_offset_param(xs,ys,sao_curr_depth)语法范例。如果SAO分割标记只是该分区被分割,在下一深度包含四个SAO偏移参数组。如果该SAO分区没有进一步被分割,则包含一语法元素sao_type_idx[sao_curr_depth][ys][xs]以指示当前片在深度sao_curr_depth-th时的(ys*2+xs)-th分区将应用的偏移类型。该sao_type_idx的值在表3被定义。当sao_type_idx的值为0,没有SAO被应用。当sao_type_idx的值为1至4,边缘偏移的SAO被应用。当sao_type_idx的值为5-6,带偏移的SAO被应用。对于每一sao_type_idx对应一SAO偏移值,如:sao_offset[sao_curr_depth][ys][xs][i]被并入。依据图14-图18揭示的语法结构,一包含本发明具体化的SAO的解码器被启用以得到SAO划分且对应的SAO偏移值执行样本补偿恢复。举例来说,通过SPS的sample_adaptive_offset_enabled_flag,检查该SAO是否启用。如果该SAO被启用,该解码器可能在该片头中提取参数sao_param()。该sao_param()中的sample_adaptive_offset_flag表示该SAO是否被应用在当前片。如果该SAO被应用在当前片,该解码器进一步提取sao_param()里的sao_split_param(0,0,0)和sao_offset_param(0,0,0)。从sao_split_param(0,0,0)中,该解码器可以得到SAO分区划分信息。进一步,从sao_offset_param(0,0,0)可以得到对应分区的SAO偏移值。因此,所需的SAO信息均可以依据上面描述的语法结构获得。SAO分区划分信息,可从视频比特流的不同层获得,包括序列层、图像、片层或LCU层获得。SAO类型与偏移值可以从视频比特流的不同层获得,包括序列层、图像层、片层和LCU层获得。图14-18显示的语法设计的范例仅为描述目的,在不脱离本发明的精神和范围内,本领域的一般技术人员当可对该语法作各种的变更以执行样本自适应偏移。依据本发明的实施例的上述样本自适应偏移可以被应用在多种硬件、软件码或上述的结合中。举例来说,本发明的一实施例可为电路集成到视频压缩芯片,或者程序码集成到视频压缩系统,以进行相应处理。本发明的一实施例也可为程序码在数字信号处理器(DigitalSignalProcessor,DSP)上执行以进行相应处理。本发明还可包含一系列功能,并由电脑处理器、数字信号处理器、微处理器、现场可编程门阵列(FieldProgrammableGateArray,FPGA)执行。通过执行定义本发明实施例的机器可读软件码或固件码,上述处理器可根据本发明执行特定任务。软件码或固件码可在不同程序语言和不同格式或方式中进行。软件码可编译成不同的目标平台。不过,不同的编码格式、方式和软件码语言,以及与本发明有关的使码执行任务的其它方法均符合本发明的精神,落入本发明的保护范围。虽然本发明已就较佳实施例揭露如上,然其并非用以限制本发明。本发明所属
技术领域
中一般技术人员,在不脱离本发明的精神和范围内,当可作各种的变更和润饰。因此,本发明的保护范围当视之前的权利要求书所界定为准。当前第1页1 2 3 
再多了解一些
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1