编码视频数据的方法以及装置与流程

文档序号:15116793发布日期:2018-08-07 20:33阅读:200来源:国知局
本发明有关于视频编码。特别地,本发明有关于将基础层(baselayer)的运动信息(motioninformation)用于增强层(enhancementlayer)编码的可伸缩(scalable)编码。
背景技术
:压缩数字视频(compresseddigitalvideo)已经广泛用于各种应用中,例如数字网络上的视频流(streaming)以及数字频道(channel)上的视频传输。经常,单一视频内容可以在具有不同特性的多个网络上传递(deliver)。例如,实时体育赛事(livesportevent)可以承载在宽频网络上的高频宽流格式中,以用于优质(premium)视频服务。在这类应用中,压缩视频通常保留有高解析度(resolution)以及高品质(quality),所以视频内容(content)适合用于高解析度装置,例如hdtv或者高解析度lcd显示。相同内容也可以透过蜂窝数据网络而承载,这样,内容可以在便携式装置,例如智能手机或者联网便携媒介装置上观看。在这类应用中,由于网络频宽问题,以及智能手机或者便携装置上的典型的低解析度显示,视频内容通常压缩为较低解析度以及较低比特率(bitrate)。因此,对于不同网络环境以及不同应用,视频解析度以及视频品质的需求有显著差异。甚至由于不同网络架构以及网络业务条件,对于相同类型的网络,用户可以体验不同可用频宽。因此,当网络发生拥塞(congestion),当可用频段为高以及接收较低品质,但是平滑视频,用户可能期望接收到较高品质的视频。另一个场景中,由于有限计算资源,高端视频播放器可以处理高解析度以及高比特率压缩视频,而低成本视频播放器只能处理低解析度以及低比特率压缩视频。相应地,在可伸缩的方式构建压缩视频,以致不同空间时间(spatial-temporal)解析度(resolution)以及/或者品质的视频可以从相同压缩比特流中获得。iso/iecmpeg的联合视频组(jointvideoteam,jvt)以及itu-tvceg将h.264/avc标准标准化为一个可伸缩视频编码(scalablevideocoding,svc)扩展。h.264/avcsvc比特流可以包含从低帧率(frame-rate)、低解析度以及低品质到高帧率,高解析度以及高品质的视频信息。这个单一视频流可以适应不同应用以及显示在不同配置的装置上。相应地,h.264/avcsvc适合各种视频应用,例如视频广播、视频流以及视频监控(surveillance)以适应网络架构、业务条件、用户体验等等。svc中提供三种可伸缩性,即帧率可伸缩(temporalscalability)、空间可伸缩(spatialscalability)以及品质可伸缩(qualityscalability)。svc使用多层编码结构以利用三维可伸缩。svc的主要目标为没有转换编码(trans-coding)或者重新编码(re-encoding)的前提下,产生一个可伸缩比特流,以及该比特流可以容易以及快速适应到与各种传输频道、多样视频能力(capabilities)以及不同计算资源相关的比特率需求。svc设计的重要特征为可缩放在比特流级别(bitstreamlevel)提供。换言之,得到具有减少空间以及/或者帧率解析度的视频的比特流可以透过从可缩放比特流中提取网络抽象层(networkabstractionlayer,nal)单元(或者网络单元)而简单地获得。用于品质优化(refinement)的nal单元可以额外地截断(truncated)以减少比特率以及相关视频品质。举例说明,帧率可伸缩可以根据h.264/avc标准,基于b图片的分层(hierarchical)编码结构而推导(derive)。图1为具有4个时间层的分层b图片架构以及8个图片的图片组(groupofpicture,gop)的例子示意图。图1中的图片0以及8被称作关键图片(keypictures)。关键图片的帧间预测(interprediction)只是用之前的关键图片的参考。两个关键图片之间的其他图片分层(hierarchically)预测。只具有关键图片的视频形成可缩放系统的最粗略(coarsest)帧率解析度。透过根据可缩放系统的增强层,增加更多b图片而逐步优化较低级别(比较粗略)视频而获得帧率可缩放。在图1的例子中图片4为使用关键图片的第一个双向预测,即关键图片之后图片0以及8被编码。图片2在使用图片0以及4双向预测,图片6为使用图片4以及图片8双向预测,剩余图片,即图片1、3、5以及7使用如图1所示的两个分别相邻图片而双向处理,如图1所示。相应地,对于gop的处理顺序为0、8、4、2、6、1、3、5以及7。根据图1的分层处理而处理之后的图片形成了分层的四级别图片,其中图片0以及8属于第一时间顺序,图片4属于第二时间顺序,图片2以及6属于第三时间顺序以及图片1、3、5以及7属于第四时间顺序。透过编码基本级别图片以及增加更高时间顺序图片能够提供更高级别视频。举例说明,基础级别图片0以及8可以与第二级别时间顺序图片4合并以形成第二级别图片。透过解码基础级别图片以及增加更高时间顺序图片能够提供更高级别视频。举例说明,基础级别图片0以及8可以被与第二时间顺序图片4而合并,以形成第二级别图片。透过进一步增加第三时间顺序图片到第二级别视频可以形成第三级别视频。相似地,透过增加第四时间顺序图片到第三级别视频可以形成第四级别视频。相应地,达到帧率伸缩。如果原始视频具有30帧每秒的帧率,那么基础级别视频具有30/8=3.75每秒的帧率。第二级别,第三级别以及第四级别视频对应7.5,15,以及30帧每秒。第一时间顺序图片也称作基础级别视频或者基础级别图片。第二时间顺序图片到第四时间顺序图片也称作增强级别视频或者增强级别图片。除了使能帧率伸缩,在增加编码-解码延迟的的前提下,分层b图片的编码架构也提高了典型ibbpgop结构上的编码效率。svc中,支持基于图2所示的金字塔(pyramid)编码方案的空间伸缩。在具有空间伸缩的svc系统中,视频序列首先下采样(down-sampled)以获得不同空间解析度(层)的更小的图片。举例说明,原始解析度的图片210可以由空间抽取(decimation)220处理以获得解析度降低图片211。解析度降低图片211可以进一步由空间抽取221处理以获得进一步解析度降低图片212,如图2所示。除了二值(dyadic)空间解析度,其中空间解析度被每一个级别降低为一半,svc也支持任意解析度比,其中称作扩展空间伸缩(extendedspatialscalability,ess)。图2的svc系统描述了具有3层的空间伸缩系统的例子示意图,其中层0对应具有最低空间解析度的图片,层2对应具有最高解析度的图片。层0图片没有参考其他层而编码,即,单层编码。举例说明,最低层图片212使用运动补偿以及帧内预测(intraprediction)230而编码。运动补偿以及帧内预测230可以产生语法元素(syntaxelement)以及编码相关信息,这样运动信息用于进一步的熵编码240。图2实际上给出了提供空间伸缩以及频率伸缩(也称作snr伸缩)的组合svc系统。该系统也可以提供帧率伸缩,没有明示。对于每一个单层编码,残差(residual)编码错误可以使用snr增强层编码250而优化。图2的snr增强层可以提供多个品质级别(品质伸缩)。每一被支持解析度层可以透过像无伸缩编码系统的分别单层运动补偿以及帧内预测而编码。每一较高空间层也可以使用基于一个或者更多较低空间层的层之间编码而编码。举例说明,层1视频可以使用基于层0视频,或者基于逐宏块(macroblockbymacroblock)或者其他区块单元的单层编码,自适应地编码。相似地,层2视频可以使用层间预测,基于已重建层1视频,或者单层编码而自适应地编码如图2所示,层1图片211可以透过运动补偿以及帧内预测231、基础层熵编码241以及snr增强层编码251而编码。相似地,层2图片210可以透过运动补偿以及帧内预测232、基础层熵编码242以及snr增强层编码252而编码。snr增强层编码250、snr增强层编码251以及snr增强层编码252连接到多工器(multiplexer)260以输出可伸缩比特流。由于层之间编码,编码效率可以被提高。进一步说,编码层1的所需信息可以依赖于被重建层0(层之间预测)。svc系统中较高层被称作增强层。h.264svc提供三个类型层之间预测工具:层之间(inter-layer)运动预测、层之间帧内预测以及层之间残差预测。svc中,增强层(enhancementlayer,el)可以复用基础层(baselayer,bl)中的运动信息以减少层之间运动数据冗余(redundancy)。举例说明,el宏块编码可以在宏块类型(mb_type)决定之前,利用旗标(flag),例如base_mode_flag以指示出是否el运动信息为直接来自bl。如果base_mode_flag等于1,具有相关参考索引的el宏块的分割以及运动矢量为来自对应bl中对应位置(collocated)8x8区块的对应数据。bl的参考图片索引直接用在el中。el的运动矢量从bl相关数据中缩放(scale)。除此之外,已缩放bl运动矢量可以用作el的额外运动矢量预测子(predictor)。层之间残差预测使用上采样(up-sampled)bl冗余信息以减少编码el冗余所需信息。bl的对应位置冗余可以为逐块(block-wise)上采样,使用双向滤波器,以及可以用作el中对应宏块的冗余的预测。参考层冗余的上采样基于变换区块基础而完成,以保证跨越变换区块边界之间不使用滤波。与层之间残差预测相似,层之间帧内预测减少了el的冗余纹理(texture)信息。el中的预测为逐块上采样对应位置的bl重建信号而产生。在层之间帧内预测上采样过程中,4抽头(tap)以及2抽头fib滤波器分别用于亮度(luma)以及色度(chroma)分量。与层之间残差预测不同,层之间帧内预测的滤波总是在子区块边界之间实施。为了解码简单,层之间帧内预测可以只用于bl的已编码宏区块内。svc中,品质伸缩透过编码多个品质el而实现,其中,多个品质el包含多个优化系数。伸缩视频比特流可以轻易截断或者提取以提供具有不同视频品质或者比特流大小的视频比特流。svc中,品质伸缩,(作为snr伸缩而被熟知)可以透过两个策略而提供,粗粒度伸缩(coarsegrainscalability,cgs)以及中粒度伸缩(mediumgrainscalability,mgs)。cgs可以看作是空间伸缩的一个特例,其中bl以及el的空间解析度相同。但是,el的品质更好(el的qp比bl的qp更小)。用于空间伸缩编码的相同层之间预测机制可以被使用。但是不是是对应上采样或者解区块运作。进一步说,层之间帧内预测以及残差预测直接在变换域实施。对cgs的层之间预测透过使用更小量化步长(step)大小,重新量化el中冗余信号而获得纹理信息的优化,其中上述更小量化步长大小比用于预测cgs层的小。cgs可以提供多个预先决定品质点。为了提供更细比特率粒度(granularity)而保持品质伸缩的合理复杂度,mgs被h.264svc所用。mgs可以看作是cgs的扩展,其中,一个cgs片(slice)被分割为几个mgs片。cgs中已量化系数基于zigzag扫描顺序中的扫描位置而划分为16个类别。系数的这些16个类别可以分布在不同片中以提供比cgs更多量化提取点。使用与之前已编码视频数据相关的运动信息的预测编码为改进视频编码的有力工具。当使用帧间编码之间(intercoding)模式,之前已编码视频数据可以对应之前已编码图片帧。当使用帧内编码内(intracoding)模式,之前已编码视频数据可以对应已经编码的相邻多个区块。区块(即,预测单元或者pu)可以复用(reuse)来自之前已编码帧(帧间编码模式)或者相同帧中相邻区块(帧内模式)的对应区块的运动信息。在此情况下(即,融合(merge)模式),没有必要传送融合索引(mergeindex)之外的信息以识别用于共享运动信息的区块。对于帧间(inter)模式,运动矢量预测(motionvectorprediction,mvp)方案被用于选择mvp候选列表中mvp候选相关的运动信息,以编码当前区块。期望在伸缩编码系统中,透过使用来自较低层的运动信息用于编码较高层区块而提高编码效率。当前hevc中,只提供基于多层b编码结构的没有任何空间伸缩以及品质伸缩的单层编码。期望为当前hevc提供空间伸缩以及品质伸缩的能力。进一步说,期望提供h.264svc上的优化svc以获得更高效能以及/或者更多灵活性。技术实现要素:本发明提供一种编码视频数据的方法,用于视频编码系统中,其中该视频数据配置为基础层以及增强层,以及该增强层比该基础层具有更高空间解析度以及更高品质,该方法包含:从媒介或者处理器接收与该增强层相关的输入数据对应的信息;识别该基础层的多个子区块相关的运动数据;使用包含该基础层的多个子区块相关的运动数据在内的预测信息,编码与该增强层相关的该输入数据;以及透过使用压缩区域中用于多个子区块的代表运动数据而压缩该基础层的多个子区块相关的运动数据,其中所述压缩运动数据,在编码该增强层相关的输入数据之后实施,以及该压缩运动数据被存储用于其他视频帧。本发明另提供一种编码视频数据的装置,用于视频编码系统中,其中该视频数据配置为基础层以及增强层,以及该增强层比该基础层具有更高空间解析度以及更高品质,该装置包含:从媒介或者处理器接收与该增强层相关的输入数据的元件;识别该基础层的多个子区块相关的运动数据的元件;使用包含该基础层的多个子区块相关的运动数据在内的预测信息,编码与该增强层相关的该输入数据的元件;以及透过使用压缩区域中用于多个子区块的代表运动数据而压缩该基础层的多个子区块相关的运动数据的元件,其中所述压缩运动数据,在编码该增强层相关的输入数据之后实施,以及该压缩运动数据被存储用于其他视频帧。通过利用本发明,可获得更高效能以及/或者更多灵活性。附图说明图1为使用分层b图片的帧率伸缩视频编码例子示意图。图2为提供空间伸缩以及品质伸缩的合并伸缩视频编码系统的例子示意图,其中提供3个空间层。图3为cu结构复用于伸缩视频编码的例子示意图,其中,用于基础层的cu结构被伸缩以及用作增强层的初始cu结构。图4为根据本发明的实施例,压缩区域中小单元的位置,以推导代表运动数据的示意图。图5为使用多个基础层运动矢量,获得(derivation)运动矢量以用于层之间运动预测的示意图。图6为根据本发明的一个实施例,伸缩视频系统中流程示意图。图7为根据本发明的实施例,伸缩视频编码系统中流程示意图。具体实施方式hevc中,引入编码单元(codingunit,cu)作为编码处理的新区块结构。一个图片分为最大cu(largestcu,lcu),以及每一个lcu自适应分割为多个cu,直到获得叶子(leaf)cu,或者达到最小cu大小。cu结构信息必须传递给解码器一侧,所以相同cu结构可以在解码器一侧被恢复。为了提高用于伸缩hevc的与cu结构相关的编码效率,bl的cu结构可以由el复用(reuse)。在ellcu或者cu级别,一个旗标(flag)被传送以指示是否cu结构从bl的对应cu中复用。ellcu以及elcu分别指el中的lcu以及el中的cu。如果复用blcu结构,blcu结构被伸缩以匹配el的解析度,已经被伸缩blcu结构被el所复用。bllcu以及blcu分别指bl中的lcu以及bl中的cu。el可以复用的cu结构信息包含cu分解(split)旗标以及冗余四叉树(quad-tree)分解旗标。进一步,已伸缩cu结构的leafcu,可以进一步分割为子cu。图3给出了cu分割(partition)复用的例子。分割310对应bl的cu结构。el的图片解析度水平上还有垂直上,为bl的图片解析度的二倍。bl的对应cu分割315的cu结构(如粗线方块表示)被放大为2被。已伸缩cu结构320然后用做ellcu的初始cu结构。el中已伸缩cu的leafcu可以进一步分解为多个子cu,以及结果由图3的cu分割330所表示。旗标可以用于指示是否leafcu被进一步分为多个子cu。图3给出了被复用cu结构的例子,其他信息也被复用。举例说明,预测类型、预测大小,融合索引,帧间参考方向(interreferencedirection)、参考图片索引、运动矢量mvp索引,以及帧内模式(intramode)也可以复用。当在信息/数据需要在el中复用时,信息数据可以伸缩。不只有cu结构可以被复用,其他信息也可以同时被复用。举例说明,cu预测模式、cu分割模式,融合候选索引,帧间预测旗标(interpredictionflag(inter_pred_flag)、参考图片索引,运动矢量、mvp索引,帧内预测模式等可以被伸缩(如果需要)以及被复用。在一个leafcu中模式信息复用:模式信息,包含el的leaf的跳过旗标(skipflag)、cu预测模式、cu分割模式、融合候选索引、帧间预测旗标、参考图片索引、运动矢量,mvp索引、帧内预测模式等,可以共享bl中对应cu的相同模式信息,或者缩放模式信息。旗标可以用于指示是否el可以复用来自bl的模式信息。对于模式信息的每一片,或者多于一片的信息,旗标可以用于指示是否el可以复用来自bl的模式信息。模式信息复用bl中对应预测单元(pu)的模式信息,包含cu预测模式、cu分割模式、融合候选索引、帧间预测旗标,参考图片索引,运动矢量以及mvp索引,融合候选等,可以用做el运动信息编码的预测子(predictors)或者候选。举例说明,blmv以及blmvp可以被增加到amvp的mvp列表中以及/或者融合候选列表中。在一个实施例中,blmv可以设定为amvp/融合候选列表中第一个候选从而用于el。bl中对应pu的融合候选也可以增加到融合候选列表以及/或者amvp中的mvp列表中。如上所述,运动信息可以包含各种元素,例如cu预测模式,cu分割模式,融合候选索引,帧间预测旗标,参考图片索引,运动矢量以及mvp索引,融合候选。每一个元素称作本发明所揭露的信息片。与所选mvp索引、融合候选索引以及帧内预测模式索引相关的bl信息,可以用于自适应改变elmvp列表、融合索引列表以及帧内最大概率模式列表(intramostprobablemodelist)中的索引顺序。举例说明,在hevc测试模式版本6.0(hevctestmodelversion6.0,hm-6.0)中,mvp列表的顺序为{左mv(leftmvp),上mvp(abovemvp),对应位置mvp(collocatedmvp)}。如果对应blpu选择abovemvp,aboveelmvp的顺序可以向前移动。elmvp列表可以为{abovemvp,leftmvp,collocatedmvp}。blmv,缩放mv,mvp候选,缩放mvp候选,融合候选以及缩放融合候选可以替代一些elmvp候选以及/或者融合候选。举例说明,blmv可以替代时间对应位置mv,以用于amvp/融合候选的得出。bl信息指与bl中区块相关的运动信息,以及elmvp列表指用于el的mvp列表。当前pu包含bl中多于一个对应位置区块时,与对应位置区块相关的运动信息可以用于推导至少一个层之间mvp或者融合候选。当在bl中有多于一个对应位置区块时,预先定义的搜索顺序可以用于推导mvp候选列表中的所述至少一层之间候选,或者从bl的所述多于一个对应位置区块中推导融合候选列表。当运动信息不可以用于el中运动矢量预测时,bl中对应运动信息可以被使用。举例说明,如果右上区块的mv可用,那么bl的右上区块中对应区块的mv可以被使用。blmv、mvp候选以及融合候选包含mv、mvp候选,bl中对应区块的融合候选。blmv、mvp候选以及融合候选也可以包含mv、mvp候选以及bl中对应区块的相邻区块中的融合候选。举例说明,相邻区块可以对应bl中左下区块。为了提高编码效率、具有(上采样)基础层运动矢量的冗余校验可以被实施。如果(上采样)基础层运动矢量被放在空间以及时间融合/amvp候选之前,对于空间以及时间融合/amvp候选,具有(上采样)基础层运动矢量的等同校验可以被实施。如果空间或者时间融合/amvp候选与基础层运动矢量(上采样)相同,那么可以被去掉。另一方面,如果(上采样)基础层运动矢量被放在空间以及时间融合/amvp候选之后,那么等同校验也可以被实施。帧内预测bl帧内预测模式信息可以用于预测el帧内预测模式信息。bl中对应pu的帧内预测模式可以被增加到最可能模式(mostprobablemode,mpm)列表中,以用于帧内模式编码。在一个实施例中,bl帧内预测模式可以被设定为最可能模式列表中的第一最可能模式。在一个实施例中,el中帧内预测模式顺序根据bl帧内模式进行调整。bl帧内预测模式的相邻方向模式也可以被增加到帧内最可能模式列表中。在另一个实施例中,预测方向接近(closeto)bl帧内模式的预测方向的剩余帧内预测模式被分配更短码字。在另一个实施例中,帧内预测被使用受限(constrained)帧内预测模式而事实,以用于除了最高el的所有比特流层。在再一个实施例中,为了简化cu结构,层之间帧内预测模式可以被包含以作为el的帧内预测模式之一。层之间帧内预测模式可以被包含作为el的帧内预测模式之一。层之间帧内预测用于上采样bl重建纹理,作为el的预测子。冗余四叉树信息复用bl中对应cu的冗余四叉树(quadtree)分割以及已编码区块样态(codedblockpattern,cbp)可以被缩放以及用于得到el冗余四叉树分割以及cbp编码。纹理信息复用在h.264/avc缩放扩展中,4抽头以及2抽头fir滤波器分别用于亮度以及色度的纹理信号的上采样运作。本发明的实施例使用上采样方法用于hevcsvc,以替代h.264/avc扩展中的4抽头以及2抽头fir滤波器。上采样滤波器可以为下列滤波器中一个或者组合:离散余弦变换插值滤波器(discretecosinetransforminterpolationfilter,dctif)、离散正选变换插值滤波器(discretesinetransforminterpolationfilter,dstif)、维纳滤波器(wienerfilter),非本地均值滤波器(non-localmeanfilter),平滑滤波器(smoothingfilter),自适应重采样滤波器(adaptiveresamplingfilter)以及双向滤波器(bilateralfilter)。在一个实施例中,上采样滤波器为自适应滤波器以及自适应到已解码bl信息,其中包含bl纹理以及bl帧内预测模式。举例说明,方向插值滤波器可以用于对应blcu及其相邻区域的纹理信息,或者帧内预测末模式决定的滤波方向(orientation)而被用于上采样。滤波器可以跨越cu、pu或者tu边界,或者限制在cu、pu或者tu边界内。层之间帧内预测的填充以及解区块过程可以被跳过以减少计算以及数据依赖问题。bl中的采样自适应偏移(sampleadaptiveoffset,sao)以及自适应闭环滤波器(adaptiveloopfilter,alf)也可以跳过。填充、解区块、sao以及alf的跳过可以在整个ctb上,或者在leafcu、或者pu、或者tu、或者预先定义区域,或者lcu边界,或者leafcu边界,或者pu边界,或者tu边界,或者预先定义区域的边界实施。基于ctb的,或者基于cu的维纳滤波器以及/或者自适应偏移也可以用于层之间帧内预测,其中滤波器以及/或者自适应偏移用于bl纹理数据或者已上采样bl纹理数据。在另一个实施例中,双向预测,或者加权预测可以在bl的纹理信息以及el的空间纹理信息合并时使用。残差信息复用:h.264/avcsvc中,2抽头fir滤波器用于亮度以及色度分量的冗余信号的上采样运作。在一个实施例中,其他上采样方法用于缩放hevc以替代h.264/avcsvc中2抽头fir滤波器。滤波器可以为下列多个滤波器之一或者组合:dctif、dstif、维纳滤波器、非本地均值(mean)滤波器,平滑滤波器以及双向滤波器。所有上述滤波器可以限制在跨tu边界或者不跨越。残差预测可以在空间域或者频域实施,无论bl以及el是否相同解析度。在h.264/avcsvc中,层之间冗余预测只用于mb之间类型。在本发明中,对于hevcsvc扩展,层之间冗余预测可以用于cu之间以及cu内。熵编码数据信息复用bl信息可以用于el中的熵编码。在cabac中,上下文(context)分配可以利用bl的信息。基于bl中的对应信息,el可以使用不同上下文模型,或者不同上下文格式方法,或者不同上下文组合。举例说明,elpu可以基于bl中对应pu是否编码为跳过模式而使用不同上下文模型。cabac中,bl中上下文模型的一部分的概率以及最可能符号(mostprobablesymbol,mps)可以被复用,以推导el中部分上下文模型的初始概率以及mps。alf信息复用bl中alf的一些信息,例如滤波器子适应模式、滤波器系数、滤波器足印(footprint)、区域分割(regionpartition)、开关决定(on/offdecision),或者融合结果可以被共享,或者用于推导el中的alf信息。举例说明,el可以使用bl的alf参数用于el的alf参数,或者从对应blalf参数中提取elalf参数,这样,elalf参数的传输可以被跳过。在另一个实施例中,blalf参数可以用作推导对应elalf参数的预测子。因此,只有预测差异需要被编码以及传送。sao信息复用bl的sao中一些信息,例如偏移类型、偏移,区域分割、开关决定或者融合结果可以被共享或者用于推导el的sao信息。举例说明,el可以使用bl中sao参数的一部分作为el中sao参数。这些参数的传输可以被跳过或者减少。df信息复用bl中解区块滤波器(deblockingfilter,df)中一些信息,例如阈值(alpha,beta,等等),可以被共享或者用于推导el的df信息。运动数据压缩具有空间伸缩的svc系统中,增强层的编码或者解码可以依赖bl的运动数据。因此,对于bl的运动数据必须在bl被重建之后存储,这样,el可以使用来自bl的运动数据。为了减少运动数据缓冲器的大小,运动压缩处理可以被用于存储与重建降低解析度相关的运动数据(即,被存储运动数据用于更大区块大小)。在当前层被重建之后,以及在下一层被处理(即,编码或者解码)之前,传统svc系统将与当前层相关运动数据应用压缩,本发明的实施例在相同接入单元(accessunit)中所有层被处理之后,对于当前相关的运动数据应用压缩。因此,本发明的实施例有更多运动数据可以用于更好的编码效率。运动数据的压缩可以选择性地存储更大粒度而不是最小单元(smallestunit,su)的cu预测模式(帧内或者帧间),帧间预测旗标(用于推导pred_l0,pred_lc或者pred_bi),参考图片索引以及运动矢量。在一个实施例中,只有一个代表(representative)运动被存储用于包含运动数据nxnsu的每一运动压缩区域。压缩比n的控制参数可以预先定义或者在片(slice)级别、图片级别(例如,pps,aps)或者序列级别(例如sos)明确指示(例如,片标头)。代表运动数据可以从多个nxnsu其中之一的运动数据中选择。另一个例子中,代表运动数据可以根据nxnsu的主要(majority)运动数据而获得。图4为根据结合本发明的实施例的运动数据压缩的例子。在该例子中,mv压缩被在包含4x4个su(即,16su)的每一压缩区域410上实施,其中,最小单元的大小由方块420所表示。在该压缩区域中的所有su共享相同cu预测模式、帧间预测旗标、参考图片索引以及代表区块的运动矢量,如果su的大小为4x4,压缩区域的大小为16x16。在该例子中,左上(topleft,tl)su用于整个压缩区域的代表区块。任何其他su,例如中间子区块c1(中心子区块的左上)、c2(中心子区块的右上)、c3(中心子区块的左下)以及c4(中心子区块的右下)或者角(corner)子区块tr(右上)、bl(左下)以及br(右下)也可以选择用于代表su。代表su的位置可以预先定义或者在片级别(例如,片标头(sliceheader))、图片级别(例如pps,aps)或者序列级别(例如sps)而明确指示。指示代表运动矢量的使用的语法元素,可以隐含推断,或者在每一层重建之后,或者相同接入单元中所有层被重建之后明确指示。语法元素可以在片级别(例如片标头)、图片级别(例如,pps,aps)或者序列级别(例如sps)指示。平行融合/跳过模式的优化在本发明中,揭示了方法,以提供功能,例如减少存储失灵以及平行融合/跳过(merge/skip)模式的优化。平行融合/跳过用于hevc以提供高吞吐量的灵活性。本发明的一个实施例增加了高级别语法元素以指示平行融合/跳过模式。每一图片(picture)/片(slice)被分为平行的运动估计区域(motionestimationregion,mer)以及当前pu中只有属于不同mer的相邻pu可以被允许包含在融合/跳过mvp候选列表构建处理中。本发明的一个实施例,在编码el图片时,补偿了平行融合/跳过的品质损失。如果相邻pu以及当前pu属于相同mer,那么bl中对应pu可以用作替代。mv语法预测hevc中每一pu或者cu,与候选列表中mv预测候选相关的索引被编码以告知解码器,选择哪个候选。举例说明,融合索引用于指示哪个融合候选被用于该pu,以及增强运动矢量预测子(advancedmotionvectorpredictor,amvp)索引用于指示哪个运动矢量应该用作运动矢量预测。一般说来,基础层对应区块的信息与增强层中当前pu的对应区块信息高度相关。举例说明,基础层运动矢量更可能选作增强层当前区块的运动矢量预测子。为了减少与索引选择相关的side信息,本发明的实施例使用一个旗标,inferred_idx_flag用于每一个lcu。当inferred_idx_flag等于1时,不选择包含融合索引、运动矢量预测子索引、帧内模式索引等的索引编码用于该lcu。在此情况下,该lcu中相关索引可以设定为预先定义索引,例如,0。当inferred_index_flag等于0,选择索引可以被编码。受限运动矢量差异hevc中,运动矢量差异(motionvectordifference,mvd)的范围受到档次(profile)和级别的限制。mvc的语法由前缀比特(即,语法元素pre-fix-bits)、一元正exp-golomb码(即,语法元素ueg1)以及正负号比特(即,语法元素1-signbit)组成。举例说明,如果mvd为0,那么码字“0”为编码;以及如果mvd为“1”,那么码字“101”被编码。svc中,上采样基础层运动矢量的可以被用于融合或者amvp候选其中之一。但是,基础层的运动矢量应该相当接近增强层中的运动矢量,如果基础层运动矢量以及增强层运动矢量对应真运动。如果原始mvd语法用于代表基础层以及增强层之间的mvd,那么对应已编码比特不是有效率的。基础层运动矢量的mvd应该被限制在一定范围内。因此,本发明的一个实施例限制运动矢量差异以减少在此情况下的side信息。举例说明,一个旗标可以用于指示是否mvd等于0或者不等于0,以及mvd的范围也可以限制在[-1,1]。因此,需要更少比特代表mvd。当mvd为“-1”,只需要两个比特代表mvd。首先,一个旗标被编码以指示mvd不为0。一个正负号比特所遵守的旗标以指示mvd的值为“-1”。该限制可以用于基础层以及增强层运动矢量预测子索引作为额外限制。该限制也可以用于一些预先定义运动矢量预测子索引以作为额外限制。换言之,当预先定义运动矢量预测子索引(例如,amvp中的索引0)被选择,mvd的范围被限制。mvd限制也可以用于融合模式编码。举例说明,如果上采样基础层融合候选,或者索引为0的融合候选被选择,那么可以发送优化(refinement)mvd。优化mvd的语法/码字可以由优化一个方向(方法1:只优化一个方向)而获得。举例说明,一个旗标被指示以决定是否mvd为全0或者不全0。如果mvd不是全0,只有一个方向mvd可以被优化。码字设计可以为(zeromvdflag+fixed-lengthcode)或者(zeromvdflag+x/y_refine_flag+refinement_value+signbit),其中,zeromvdflag表示零mvd旗标,fixed-lengthcode表示固定长度码,x/y_refine_flag表示x/y优化旗标,以及signbit表示正负号比特。下面的表格给出(zeromvdflag+fixed-lengthcode)的码字表格例子。mvd码字(0,0)0(1,0)100(-1,0)101(0,1)110(0,-1)111可替换地,优化mvd的语法/码字可以透过优化两个方向(方法2:截断mvd编码)而获得。举例说明,每一方向的优化值以及正负号可以被编码。码字可以设计为(refinement_valueformvd_x,signformvd_x,refinement_valueformvd_y,signformvd_y),其中refinement_valueformvd_x表示用于mvd_x的优化值,signformvd_x为用于mvd_x的正负号,refinement_valueformvd_y为用于mvd_y的优化值,以及signformvd_y表示用于mvd_y的正负号。mvd_x/y码字00110-111mvd优化可以明示指示或者暗示推导。mvd优化值可以基于相邻区块信息以及bl信息而推导。举例说明,四分(quarter)像素单元中的相邻区块的mv或者mvd为(-1,1),mvd优化值可以推导为(-1,1)。基础层的运动矢量获得:svc中,基础层的运动矢量可以用于增强层以用于层之间运动预测。传统方法中,用于增强层的运动矢量可以透过将增强层pu中已选择点(例如,中心位置)映射到基础层而从基础层推导。基础层pu的运动矢量包含将要用于增强层的运动矢量的位置。但是,当增强层以及基础层的pu边界没有对齐,或者增强以及基础层之间的解析度比不是2的次方时,增强层的pu将会覆盖基础层中的几个pu。在此情况下,基础层中已覆盖pu的只有一个运动矢量可以用于增强层中的pu。本发明的一个实施例透过参考(referring)多个基础层运动矢量,推导与层之间运动预测相关的运动矢量。举例说明如图5所示,增强层pu510被分为4个区块。每一区块的中心点为参考点。对于每一个区块,基础层参考点的对应位置点被得出。基础层对应位置参考点的运动矢量被用于推导层之间运动预测的运动矢量。例如,多数选择(majorityvote)可以被使用。具有最多机会的运动矢量可以看作层之间运动预测的运动矢量。具有冗余校验的运动矢量推导svc中,基础层的运动矢量可以用于增强层中,以用于层之间运动预测。(上采样)基础层运动矢量可以包含在融合或者amvp列表中。为了提高编码效率,可以与(上采样)基础层运动矢量实施冗余校验。当空间或者时间融合/amvp候选被增加到融合/amvp候选列表中,如果(上采样)基础层运动矢量已经包含其中,在空间或者时间融合/amvp候选中实施冗余校验。如果空间或者时间融合/amvp候选与(上采样)基础层矢量相同,那么应该从融合/amvp候选列表中去除。相似地,如果空间或者时间融合/amvp候选已经被增加到融合/amvp候选列表中,冗余校验在(上采样)基础层运动矢量上实施。如果有多于一个层之间候选,则对多于一个层之间候选实施冗余校验。层之间冗余预测旗标编码h.264/svc中,层之间冗余预测用于减少增强层冗余的信息。基础层对应位置冗余可以用于增强层当前宏块的冗余的逐块预测子。hevc中,编码单元(codingunit,cu),预测单元(predictionunit,pu)以及转换单元(transformunit,tu)被使用。cu可以包含几个pu以及tu。如果层之间冗余预测只用于cu级别,那么可能不是有效率的。层之间冗余预测可以用于更小区块。本发明的一个实施例应用pu级别、tu级别或者子cu级别的层之间冗余预测。pu级别中,层之间冗余预测旗标被指示用于每一pu。在tu级别,层之间冗余预测旗标被指示用于每一leaftu。对于子cu级别,定义冗余预测单元(residualpredictionunit,rpu)。对于tu或者当与等于rpu,层之间冗余预测旗标被指示。相同rpu中tu,层之间冗余预测旗标被指示。相同rpu中所有tu共享相同层之间冗余预测旗标。图6为结合本发明的实施例,可伸缩编码系统以编码增强层的的流程示意图。该流程用于视频数据配置为bl以及el以及el具有比bl更高解析度或者更好视频品质的系统。该流程以从媒介(media)或者处理器,接收与el中已选择区块对应的输入数据所相关的信息而开始,如步骤610所示。对于编码器,对应已选择区块输入数据所相关的信息可以存储在媒介中。媒介可以用于输入缓冲器以及输入数据可以从该情况下的媒介中获得。该媒介可以为计算机存储器、缓冲器(ram或者dram)或者其他存储装置/媒介。在基于硬件的实现中,输入数据可以从处理器,例如控制器、中央处理单元、数据信号处理器,或者电子电路获得。在解码器中,对应el中已选择区块的输入数据以压缩格式以及需要被解码。识别bl中与一个或者多个bl区块相关的运动信息中的至少一个信息片,如步骤620所示。el中用于已选择区块的mvp候选列表或者融合候选列表被决定,如步骤630所示,其中bl中所述一个或者多个bl区块所相关的至少一信息片被包含在mvp候选列表或者融合候选里列表中。在mvp候选列表或者融合候选列表在mvp候选列表或者融合候选列表被得出之后,对应已选择区块的输入数据然后使用mvp候选列表或者融合候选列表而编码或者解码,如步骤640所示。图7为结合本发明实施例,伸缩编码系统编码增强层的流程示意图。该流程用于视频数据被配置为bl以及el,以及el具有比bl更高空间解析度或者更好视频品质的系统。该流程以从媒介或者处理器接收与el相关的输入数据所对应的信息开始,如步骤710所示。再一次,对于编码器,与el相关的输入数据所对应信息可以被存储在媒介中。该媒介可以为数据缓冲器,以及输入数据从该情况的媒介中获得。该媒介可以为计算机存储器、缓冲器(ram或者dram)或者其他存储装置/媒介。在基于硬件实现中,输入数据可以从处理器,例如控制器、中央控制单元、数字信号处理器或者电子电路中获得。在解码器中,对应el中所选择区块对应的输入数据为压缩格式,以及需要被解码。在步骤720中与bl的子区块所相关的运动数据被识别。与el相关的输入数据然后,使用包含bl的子区块所相关的运动数据的预测信息被编码或者解码,如步骤730所示。预测信息可以包含帧内编码的相邻区块所相关的信息。预测信息可以包含帧间编码的其他帧所相关的信息。在对el的相关输入数据实施编码之后,与bl的子区块所相关的运动数据可以透过使用压缩区域中多个子区块的代表运动数据而压缩,如步骤740所示,其中,运动数据压缩被存储用于其他视频帧。介绍上述描述为了使能所属领域一般技术人员可以结合特定应用的内容以及需求而实现本发明。所描述实施例的各种变形对于所属领域技术人员是显而易见的,而且所定义的一般原则可以用于其他实施例。因此,本发明不限于上述特定实施例,但是根据所揭示的原则和新颖性特征而符合最宽范围。在上述详细描述中,各种特定细节被描述以提供对于本发明的透彻理解。虽然如此,实现本发明可以被所属领域技术人员所理解。上述本发明的实施例可以以各种硬件、软件代码或者上述两者的组合而实现。举例说明,本发明的实施例可以为整合如视频压缩芯片或者可编程代码而整合到视频压缩软件中,以实施上述处理。本发明的一个实施例也可以程序代码,以被dsp以实施上述处理。本发明也可以包含多个功能以被计算机处理、dsp、微处理器或者fpga所实施。这些处理器可以配置为根据本发明而实施特定任务,透过执行机器可读软件代码或者固件代码,其中机器可读软件代码或者固件代码定义了本发明所体现的特定方法。软件代码或者固件代码可以以不同程序语言、不同格式或者风格而实现。软件代码也可以被汇编为不同目标平台。但是,不同代码格式、风格以及软件代码语言,以及配置代码根据本发明而实施任务的其他方式不会推理本发明的精神以及保护范围之内。本发明可以体现为其他特定格式,而不脱离本发明的精神或者实质特征。上述例子被认为是只用于说明而不是限制。本发明的保护范围,由所附权利要求所指示,而不会被上述描述所限制。在权利要求的意思以及等同范围内的所有变形均在权利要求的保护范围之内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1