视频编码方法

文档序号:7918736阅读:150来源:国知局

专利名称::视频编码方法
技术领域
:本发明有关于一种^L频编码方法,且特别有关于一种^L频编码的运动估计(motionestimation)方法。
背景技术
:几十年来,基于区块的编码标准,例如MPEG1/2/4与H.26X,其是通过降低多个—见频帧间的时间冗余(temporalredundancies)与同一3见频帧内的空间冗余(spatialredundancies)来完成数据压缩(datacompression)。符合上述标准的编码器产生可由符合其它标准的译码器译码的比特流(bitstream)。上述视频编码标准的弹性使编码器能够利用最佳化的技术来提高^L频质量。编码器所获得的弹性也体现在帧类型上。基于区块的编码器可编码三种类型的帧,即无^f壬〈可运动#卜4尝预测(MotionCompensatedPrediction,MCP)的帧内编码帧(intra-codedframe,Iframe)、具有先前参考帧的运动补偿预测的预测编码帧(predictedframe,Pframe)以及具有先前参考帧及后续参考帧的运动补偿预测的3又向预测编石马帧(bi-directionpredictedframe,Bframe)。预测编石马帧及帧内编码帧通常被用作运动补偿预测的参考帧。帧间编码帧(inter-codedframe)包括预测编码帧及双向预测编码帧,其是通过先前所编码帧的运动补偿来降低时间冗余,借此获得高压缩效率(compressione伍ciency)。每一个视频帧都包括一个具有多个像素的阵列,而宏块(macroblock)则是像素的群组,例如,16x16、16x8、8x16、以及8x8的区块。8x8的区块更可进一步子划分为8x4、4x8、或4x4的区块。因此,被支持的区块类型总共有七种。以宏块为基础在帧间对图像的运动进行估计是一种常见做法,称为运动估计(motionestimation)。运动估计通常包括将当前帧中的宏块与其它参考帧中的多个宏块进行比较以得出其相似度(similarity)。当前视频帧中的宏块与参考帧中最相似的宏块间的空间位移(spatialdisplacement)即为运动矢量(motionvector)。通过插值参考帧中的〗象素,运动矢量可#1估计至像素的分数(fraction)级。例如H.264的视频编码标准,其为运动估计提供了多参考帧(multi-referenceframes)及自适应搜寻窗口(adaptivesearchwindow)的功能,以支持通过多参考帧及自适应搜寻窗口来估计视频帧的运动矢量。运动估计的质量决定于所选择的参考帧及搜寻窗口,其通常受制于视频编码器的软件与硬件资源。因此,本领域亟需一种可通过选择多个参考帧与搜寻窗口的组合,以在不同^L频编码环境下最佳化运动估计的^L频编码方法。
发明内容为了提高视频编码中运动估计的质量,特提出以下技术方案本发明提供一种视频编码方法,包括撷取一见频帧以及至少一个参考帧;依据至少一个参考帧的数量决定搜寻窗口尺寸;依据搜寻窗口尺寸以及至少一个参考帧的数量对视频帧执行预测编码以获取编码信息;以及依据编码信息决定另一搜寻窗口尺寸以及参考帧数量。本发明另提供一种一见频编码方法,包括撷取一见频帧;决定视频帧的参考帧最大数量;依据参考帧最大数量决定搜寻窗口尺寸;以及依据参考帧最大数量以及搜寻窗口尺寸对^L频帧执行预测编码。以上所述的视频编码方法,能够通过选择不同的参考帧数量与搜寻窗口尺寸的组合来提高运动估计的质量,进而提高视频编码的质量。图1是若干视频帧及其可能参考帧的示意图。图2是在视频编码器中为运动估计选择参考帧及搜寻窗口的范例的示意图。图3是根据本发明的自适应视频编码方法的范例的示意图。图4是根据本发明的视频编码方法的范例的流程图。图5是根据本发明的另一视频编码方法的范例的流程图。具体实施例方式在说明书及权利要求书当中使用了某些词汇来指称特定的元件。所属
技术领域
的技术人员应可理解,硬件制造商可能会用不同的名词来称呼同一个元件。本说明书及权利要求书并不以名称的差异作为区分元件的方式,而是以元件在功能上的差异作为区分的准则。在通篇说明书及权利要求项中所提及的「包括J为一开放式的用语,故应解释成「包括^旦不限定于」。此外,「耦接」一词在此包括任何直接及间接的电气连接手段。因此,若文中描述第一装置耦接于第二装置,则代表第一装置可直接电气连接于第二装置,或透过其它装置或连接手段间接地电气连接至第二装置。运动估计的质量决定于参考帧的数量以及搜寻窗口的尺寸,由于视频编码器中软件计算能力及硬件处理元件通常受到限制,因此,可通过选择参考帧数量与搜寻窗口尺寸的组合来获得较佳的编码质量。图1为一系列一见频图像(帧10至帧18)。^L频编码标准(例如H.264)是利用即时解码刷新(InstantaneousDecoderRefresh,以下简称IDR)帧来提供关键图像(keypictures)以支持视频内容的随机存取(randomaccess),例如,快进操作(fastforwarding)。上述图像群组中第一编码帧是IDR帧,其余编码帧都是预测编码帧(P帧)。每一个P帧都相对于上述系列中可用的先前参考帧(包括第一编码帧IDR帧10)进行编码。举例来说,P帧124又利用IDR帧10作为参考帧进行预测编码,P帧14利用IDR帧10以及P帧12作为参考帧进行预测编码,而P帧18则利用IDR帧IO以及P帧12、14、16作为参考帧进行预测编码。每一个P帧都包括多个宏块,而每一个宏块都可以是帧内编码(intra-coded)宏块或帧间编码(inter-coded)宏块。帧内编石马宏i夹的编石马方式与帧内编石马帧(I帧)中宏块的编码方式相同,而帧间编码宏块则通过参考帧与剩余的编码宏块一起进行编码。为进行预测编码而计算的运动矢量(motionvector)表明当前牙见频帧中的宏块与参考帧中最相似的宏块间的空间位移(spatialdisplacement)。区块匹配度量指标(blockmatchingmetric),例如,纟色对"i吴差和(SumofAbsoluteDifferences,SAD)或均方误差(MeanSquaredError,MSE),可用于决定当前宏块与参考帧中用于决定运动矢量的宏块之间的相似度(similarity)。通常,最相似的宏块可在参考帧的预设搜寻窗口尺寸中搜寻得到。虽然大搜寻窗口尺寸可使宏块的搜寻范围扩大,但其计算量之大也会导致视频编码器的速度降低。所有视频帧的预设搜寻窗口尺寸可以是相同的,或可依据其它因素(例如参考帧的数量)适应性地调整。举例来说,搜寻窗口尺寸可与参考帧数量成反比,以维持计算量大致恒定。剩余的宏块则可利用离散余弦转换(DiscreteCosineTransform,DCT)、量4匕(quantization)及游禾呈编石马(run-lengthencoding)进4亍编码。图2是用来举例说明另一视频编码算法的视频帧200至228。图2所示的是基于场景变换(scenechange)的视频编码的范例。在视频编码之前,视频编码器接收视频帧并决定是否存在场景变换。举例来说,视频编码器侦测视频帧220中是否存在场景变换,以通过帧内编码宏块来编码视频帧220中的全部或绝大部分宏块。由于视频帧220中存在场景变换,视频帧222至228与其之前的视频帧无任何关联,因此,场景变换帧220之后的P帧被用作预测编码的参考帧。视频编码器可利用参考帧的数量来决定参考帧的搜寻窗口尺寸,以搜寻最相似的宏块并计算运动矢量。本实施例中,一见频帧222利用单参考帧220及较大搜寻窗口SWO来进行预测编码,视频帧228利用浮见频帧220至226作为参考帧并利用较小搜寻窗口SW6以进行预测编码。搜寻窗口尺寸可依据欲编码视频帧的可用参考帧的数量决定,也可以为每一参考帧设置相同的搜寻窗口尺寸,例如,视频帧220至226具有相同的搜寻窗口尺寸(SW6)来执行视频帧228的预测编码。搜寻窗口尺寸可与参考帧数量成反比,且每一搜寻窗口尺寸与参考帧数量的组合都可以被储存至视频编码器以作为查找表(lookuptable),这样,视频编码器就可以通过可用参考帧数量来搜寻相应的搜寻窗口尺寸。请参考图4,图4是依本发明实施例的视频编码方法的范例的流程图,其是与图l及图2相结合。步骤S400中,接收碎见频帧以进行编码。下一步骤S402中,一见频编码器决定视频帧的参考帧的最大数量。以图1为例,一见频编码器利用最邻近的先前IDR帧之后的所有可用参考帧来进行编码,帧12的最大参考帧数量为l(IDR帧10),而帧18的最大参考帧数量则为4(帧10至16)。备选地,视频编码器也可以利用图2中最近的先前场景变换帧之后的所有参考帧来进行编码。举例来说,帧222的最大参考帧数量为1(帧220),帧228的最大参考帧数量为4(帧220至226)。随后,在步骤S404中,依据最大参考帧数量决定搜寻窗口尺寸。搜寻窗口尺寸可与最大参考帧数量成反比。举例来说,帧228的参考帧数量为帧222的参考帧数量的4倍,而帧228的每一参考帧的搜寻窗口SW6则大致为帧222的每一参考帧的搜寻窗口SW0的四分之一。接着,在步骤S406中,视频编码器依据最大参考帧数量及搜寻窗口尺寸对碎见频帧执行预测编码。然后,视频编码方法4返回至步骤S400以进4于下一^L频帧的一见频编石马。图3是用来举例说明依本发明实施例的另一视频编码方法的视频帧300至328,其中横轴表示时间,纵轴表示运动矢量。图3是用来举例说明自适应视频编码,其中背景中的图形表示从一个帧至另一帧运动矢量的变化。参考帧数量与搜寻窗口尺寸的组合可依据视频源特性来决定,例如运动(motion)、细节层次(levelofdetails)或紋理(texture)。本实施例中,参考帧数量与搜寻窗口尺寸的决定是基于运动统计(motionstatistics)。举例来说,依据编码信息(例如运动矢量),视J贞帧的运动可分为慢速运动(slowmotion)与快速运动(fastmotion)两种类型。视频编码器可决定视频帧是快速运动类型或是慢速运动类型。举例来说,通过将平均运动矢量(averagedmotionvector)与予贞设阈值(predeterminedthreshold)进行比较,可决定当平均运动矢量超过预设阈值时,视频帧为快速运动类型,当平均运动矢量不超过预设阈值时,视频帧为慢速运动类型。本实施例中,视频帧300至308的平均运动矢量低于预设阈值,因此,其为慢速运动类型,而帧320至328则为快速运动类型。视频编码器可依据每一视频帧先前预测编码的运动统计为其指定参考帧数量与搜寻窗口尺寸的预设组合。接着,每一视频帧都将执行预测编码并产生编码信息(例如运动矢量),以作为后续参考帧数量与搜寻窗口尺寸的选择的参考。举例来说,视频帧300至308为慢速运动类型帧,因此,视频编码器为帧302至320指定三个参考帧以及相对较小的搜寻窗口尺寸;视频帧320至328为快速运动类型帧,因此^f见频编码器为帧322至328指定一个参考帧以及相对较大的搜寻窗口尺寸。请参考图5,图5是依本发明的另一视频编码方法的范例的流程图,其是与图3相结合。执行步骤S500,撷取视频帧300以及参考帧。举例来说,上述参考帧可以是IDR帧或场景变换帧之后最大数量的参考帧。步骤S501中,视频编码器检查帧300的编码信息是否存在,若编码信息存在,视频编码器将会依据上述编码数据决定参考帧数量及搜寻窗口尺寸,执行步骤S506,否则执行步骤S502。此实施例中,上述编码信息可以是运动矢量。接着,步骤S502中,视频编码器依据帧300的参考帧lt量决定搜寻窗口尺寸。当参考帧数量小于预设参考帧数量时,搜寻窗口尺寸可依据参考帧数量决定;当参考帧数量大于或等于预设参考帧数量时,搜寻窗口尺寸可依据预设参考帧数量决定。某一个实施例中,预设参考帧数量为3。以图3为例,帧300是紧随IDF帧之后的第一预测帧,其参考帧数量为1,因此,搜寻窗口尺寸是依据一个参考帧(亦即IDF帧)来决定。同样地,帧302的搜寻窗口尺寸是依据两个参考帧(亦即IDF帧及帧300)来决定的。对于帧306来说,其可用参考帧包括IDF帧及帧300、302、304,超过预设参考帧数量3,因此,搜寻窗口尺寸是依照三个先前参考帧(IDF帧及帧300、302)来决定。然后,视频编码器在步骤S504中依据参考帧及搜寻窗口尺寸对视频帧300执行预测编码,以得到编码信息(例如运动矢量)。在步骤S506中,视频编码器通过将编码信息与预设阈值进行比较来决定编码信息是否超过预设阈值。若编码信息超过预设阈值,执行步骤S508,否则执行步骤S512。举例来说,视频编码器将帧300的平均运动矢量与预设阈值进行比较,从而决定帧300为慢速运动类型(继续执行步骤S512);视频编码器将帧320的平均运动矢量与预设阈值进行比较,从而决定帧320为快速运动类型(继续执行步骤S508)。步骤S508中,视频编码器决定帧的第一预设参考帧数量以及搜寻窗口尺寸,其中上述帧的编码信息超过预设阈值。当参考帧需要较大搜寻范围时,第一预设参考帧数量及搜寻窗口尺寸可作为快速运动类型的专属参考帧数量及搜寻窗口尺寸。举例来说,如图3所示,第一预设参考帧数量可以是l,且第一预设搜寻窗口尺寸可以是SW32。随后,在步骤S510中,视频编码器依据第一预设参考帧数量及搜寻窗口尺寸对下一视频帧执行预测编码,以得到编码信息。应注意,在对下一视频帧执行预测编码之前,下一视频帧已被接收。如图3所示,本实施例中,视频编码器是依据单一参考帧320以及搜寻窗口尺寸SW32对帧322进行预测编码,以得到包括运动矢量的编码信息。然后,视频编码方法5返回至步骤S506以执行编码信息与预设阈值的比较,从而得出下一^f见频帧所用的参考帧数量及搜寻窗口尺寸。步骤S512中,视频编码器决定帧的第二预设参考帧数量以及搜寻窗口尺寸,其中上述帧的编码信息不超过预设阈值。当参考帧需要较小搜寻范围时,第二预设参考帧数量及搜寻窗口尺寸可作为慢速运动类型的专属参考帧数量及搜寻窗口尺寸。举例来说,如图3所示,第二预设参考帧数量为3,且第二预设搜寻窗口尺寸为SW30。其中,搜寻窗口尺寸SW32大于搜寻窗口尺寸SW30。随后,在步骤S514中,依据第二预设参考帧数量及搜寻窗口尺寸对下一视9频帧执行预测编码,以得到编码信息。应注意,在对下一3见频帧执行预测编码之前,下一视频帧已被接收。其中,第一预设搜寻窗口尺寸超过第二预设搜寻窗口尺寸,且第二预设参考帧数量超过第一预设参考帧数量。举例来说,如图3所示,视频编码器是依据三个先前参考帧以及搜寻窗口尺寸SW30对帧302进行预测编码,以得到包括运动矢量的编码信息。然后,视频编码方法5返回至步骤S506以执行编码信息与预设阈值的比较,从而得出下一视频帧所用的参考帧数量及搜寻窗口尺寸。尽管图1至5中视频编码的实施例都是以预测编码帧来举例说明的,但所属
技术领域
的技术人员应可理解,双向预测编码帧经适当地修饰之后也可以与本发明相结合。以上所述仅为本发明的较佳实施例,凡依本发明权利要求所做的均等变化与修饰,皆应属本发明的涵盖范围。权利要求1.一种视频编码方法,包括撷取视频帧以及至少一个参考帧;依据该至少一个参考帧的数量决定搜寻窗口尺寸;依据该搜寻窗口尺寸以及该至少一个参考帧的数量对该视频帧执行预测编码以获取编码信息;以及依据该编码信息决定另一搜寻窗口尺寸以及另一参考帧数量。2.如权利要求1所述的视频编码方法,其特征在于在该依据该至少一个参考帧的数量决定搜寻窗口尺寸的步骤之前,更包括以下步骤才全查该一见频帧的该编码信息是否存在;以及若该视频帧的该编码信息存在,依据该编码信息决定该另一搜寻窗口尺寸以及该另一参考帧数量,其中,若该视频帧的该编码信息不存在,则执行依据该至少一个参考帧的数量决定该搜寻窗口尺寸的步骤。3.如权利要求1所述的视频编码方法,其特征在于若该编码信息指示慢速运动时,该另一搜寻窗口尺寸以及该另一参考帧数量为第一预设搜寻窗口尺寸以及第一预设参考帧数量;以及若该编码信息指示快速运动时,该另一搜寻窗口尺寸以及该另一参考帧数量为第二预设搜寻窗口尺寸以及第二预设参考帧数量,其不同于该第一预设搜寻窗口尺寸以及该第一预设参考帧数量。4.如权利要求1所述的视频编码方法,其特征在于该决定该搜寻窗口尺寸的步骤包括若该至少一个参考帧的数量小于预设参考帧数量,依据该至少一个参考帧的数量决定该搜寻窗口尺寸;以及若该至少一个参考帧的数量等于或大于该预设参考帧数量,依据该预设参考帧数量决定该搜寻窗口尺寸。5.如权利要求1所述的3见频编码方法,其特征在于在该依据该编码信息决定另一搜寻窗口尺寸以及另一参考帧数量的步骤之前,更包括将该编码信息与预设阈值进行比较的步骤。6.如权利要求1所述的^L频编码方法,其特4正在于该编码信息为运动矢量,若该运动矢量不超过运动矢量阈值,该编码信息指示慢速运动,若该运动矢量超过该运动矢量阈值,该编码信息指示快速运动。7.如权利要求3所述的视频编码方法,其特征在于该第二预设搜寻窗口尺寸大于该第一预设搜寻窗口尺寸,而该第一预i殳参考帧数量大于该第二预设参考帧数量。8.如权利要求1所述的视频编码方法,其特征在于该参考帧数量为位于即时解码刷新帧之后且与其紧邻的该视频帧的可用参考帧的最大数量。9.如权利要求1所述的视频编码方法,其特征在于该参考帧数量为位于具有场景变换的帧之后且与其紧邻的该视频帧的可用参考帧的最大数量。10.如^l利要求1所述的^L频编码方法,其特4正在于该预测编码为预测编码或双向预测编码。11.一种一见频编码方法,包括擷耳又纟见频帧;决定该视频帧的参考帧最大数量;依据该参考帧最大数量决定搜寻窗口尺寸;以及依据该参考帧最大数量以及该搜寻窗口尺寸对该视频帧执行预测编码。12.如权利要求11所述的视频编码方法,其特征在于该搜寻窗口尺寸与该参考帧最大数量成反比例。13.如权利要求11所述的视频编码方法,其特征在于该决定该纟见频帧的参考帧最大数量的步骤包括将一组画面中与即时解码刷新帧相连的所有参考帧指定为该一见频帧的该参考帧。14.如权利要求11所述的视频编码方法,其特征在于更包括侦测具有场景变换的场景变换帧,其中决定该参考帧最大数量的步骤包括将与该场景变换帧相连的所有参考帧指定为该视频帧的该参考帧。15.如权利要求11所述的视频编码方法,其特征在于该预测编码为预测编码或双向预测编码。全文摘要一种视频编码方法,包括撷取视频帧及至少一个参考帧;依据参考帧的数量决定搜寻窗口的尺寸;依据参考帧的数量及搜寻窗口的尺寸对视频帧执行预测编码以获取编码信息;以及依据编码信息决定另一搜寻窗口的尺寸及参考帧的数量。上述视频编码方法可提高运动估计的质量,进而提高视频编码的质量。文档编号H04N7/50GK101540905SQ20081014703公开日2009年9月23日申请日期2008年8月12日优先权日2008年3月20日发明者徐志玮,郭志辉,黄毓文申请人:联发科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1