VP8 Data Format and Decoding Guide.docx
- 文档编号:8880512
- 上传时间:2023-02-02
- 格式:DOCX
- 页数:100
- 大小:548.32KB
VP8 Data Format and Decoding Guide.docx
《VP8 Data Format and Decoding Guide.docx》由会员分享,可在线阅读,更多相关《VP8 Data Format and Decoding Guide.docx(100页珍藏版)》请在冰豆网上搜索。
VP8DataFormatandDecodingGuide
VP8DataFormatandDecodingGuide
WebMProject
Google,Inc.
3CorporateDrive,Suite100
CliftonPark,NY12065USA
http:
//www.webmproject.org/
Revised:
May2010
License
Copyright
Chapter1:
Introduction
Chapter2:
FormatOverview
Chapter3:
CompressedFrameTypes
Chapter4:
OverviewofCompressedDataFormat
Chapter5:
OverviewoftheDecodingProcess
Chapter6:
DescriptionofAlgorithms
Chapter7:
BooleanEntropyDecoder
7.1UnderlyingTheoryofCoding
7.2PracticalAlgorithmDescription
7.3ActualImplementation
Chapter8:
CompressedDataComponents
8.1TreeCodingImplementation
8.2TreeCodingExample
Chapter9:
FrameHeader
9.1UncompressedDataChunk
9.2ColorSpaceandPixelType(KeyFrames-only)
9.3Segment-basedAdjustments
9.4LoopFilterTypeandLevels
9.5TokenPartitionandPartitionDataOffsets
9.6DequantizationIndices
9.7RefreshGoldenFrameandAltRefFrame
9.8RefreshLastFrameBuffer
9.9DCTCoefficientProbabilityUpdate
9.10RemainingFrameHeaderData(non-KeyFrame)
9.11RemainingFrameHeaderData(KeyFrame)
Chapter10:
Segment-basedFeatureAdjustments
Chapter11:
KeyFrameMacroblockPredictionRecords
11.1mb_skip_coeff
11.2LumaModes
11.3SubblockModeContexts
11.4ChromaModes
11.5SubblockModeProbabilityTable
Chapter12:
IntraframePrediction
12.1mb_skip_coeff
12.2ChromaPrediction
12.3LumaPrediction
Chapter13:
DCTCoefficientDecoding
13.1MBWithoutnon-ZeroCoefficientValues
13.2CodingofIndividualCoefficientValues
13.3TokenProbabilities
13.4TokenProbabilityUpdates
13.5DefaultTokenProbabilityTable
Chapter14:
DCTandWHTInversionandMacroblockReconstruction
14.1Dequantization
14.2InverseTransforms
14.3ImplementationoftheWHTInversion
14.4ImplementationoftheDCTInversion
14.5SummationofPredictorandResidue
Chapter15:
LoopFilter
15.1FilterGeometryandOverallProcedure
15.2SimpleFilter
15.3NormalFilter
15.4CalculationofControlParameters
Chapter16:
InterframeMacroblockPredictionRecords
16.1Intra-PredictedMacroblocks
16.2Inter-PredictedMacroblocks
16.3ModeandMotionVectorContexts
16.4SplitPrediction
Chapter17:
MotionVectorDecoding
17.1CodingofEachComponent
17.2ProbabilityUpdates
Chapter18:
InterframePrediction
18.1BoundsonandAdjustmentofMotionVectors
18.2PredictionSubblocks
18.3Sub-pixelInterpolation
18.4FilterProperties
Chapter19:
References
RevisionHistory
READMEforVP8BitstreamSpecification
History
Format
MathML
License
GoogleherebygrantstoYouaperpetual,worldwide,non-exclusive,no-charge,royalty-free,irrevocable(exceptasstatedinthissection)patentlicensetomake,havemade,use,offertosell,sell,import,andotherwiseimplementationsofthisspecificationwheresuchlicenseappliesonlytothosepatentclaims,bothcurrentlyownedbyGoogleandacquiredinthefuture,licensablebyGooglethatarenecessarilyinfringedbyimplementationofthisspecification.IfYouoryouragentorexclusivelicenseeinstituteororderoragreetotheinstitutionofpatentlitigationagainstanyentity(includingacross-claimorcounterclaiminalawsuit)allegingthatanyimplementationofthisspecificationconstitutesdirectorcontributorypatentinfringement,orinducementofpatentinfringement,thenanyrightsgrantedtoYouundertheLicenseforthisspecificationshallterminateasofthedatesuchlitigationisfiled.
Copyright
ThisspecificationismadeavailableunderaCreativeCommonsAttribution3.0License.
Chapter1:
Introduction
ThisdocumentdescribestheVP8compressedvideodataformatcreatedbyGoogleOn2,togetherwithadiscussionofthedecodingprocedureforthisformat.ItisintendedtobeusedinconjunctionwithandasaguidetothereferencedecoderprovidedbyGoogleOn2.Ifthereareanyconflictsbetweenthisdocumentandthereferencesourcecode,thereferencesourcecodeshouldbeconsideredcorrect.Thebitstreamisdefinedbythereferencesourcecodeandnotthisdocument.
Likemanymodernvideocompressionschemes,VP8isbasedondecompositionofframesintosquaresubblocksofpixels,predictionofsuchsubblocksusingpreviouslyconstructedblocks,andadjustmentofsuchpredictions(aswellassynthesisofunpredictedblocks)usingadiscretecosinetransform(hereafterabbreviatedasDCT).Inonespecialcase,however,VP8usesa“Walsh-Hadamard”(hereafterabbreviatedasWHT)transforminsteadofaDCT.
Roughlyspeaking,suchsystemsreducedataratebyexploitingthetemporalandspatialcoherenceofmostvideosignals.Itismoreefficienttospecifythelocationofavisuallysimilarportionofapriorframethanitistospecifypixelvalues.ThefrequencysegregationprovidedbytheDCTandWHTfacilitatetheexploitationofbothspatialcoherenceintheoriginalsignalandthetoleranceofthehumanvisualsystemtomoderatelossesoffidelityinthereconstitutedsignal.
VP8augmentsthesebasicconceptswith,amongotherthings,sophisticatedusageofcontextualprobabilities.Theresultisasignificantreductionindatarateatagivenquality.
Unlikesomesimilarschemes(theolderMPEGformats,forexample),VP8specifiesexactvaluesforreconstructedpixels.Specifically,thespecificationfortheDCTandWHTportionsofthereconstructiondoesnotallowforany“drift”causedbytruncationoffractions.Rather,thealgorithmisspecifiedusingfixedprecisionintegeroperationsexclusively.Thisgreatlyfacilitatestheverificationofthecorrectnessofadecoderimplementationaswellasavoidingdifficult-to-predictvisualincongruitiesbetweensuchimplementations.
Itshouldberemarkedthat,inacompletevideoplaybacksystem,thedisplayedframesmayormaynotbeidenticaltothereconstructedframes.Manysystemsapplyafinalleveloffiltering(commonlyreferredtoaspostprocessing)tothereconstructedframespriortoviewing.Suchpostprocessinghasnoeffectonthedecodingandreconstructionofsubsequentframes(whicharepredictedusingthecompletely-specifiedreconstructedframes)andisbeyondthescopeofthisdocument.Inpractice,thenatureandextentofthissortofpostprocessingisdependentonboththetasteoftheuserandonthecomputationalfacilitiesoftheplaybackenvironment.
Chapter2:
FormatOverview
VP8worksexclusivelywithan8-bitYUV4:
2:
0imageformat.Inthisformat,each8-bitpixelinthetwochromaplanes(UandV)correspondspositionallytoa2x2blockof8-bitlumapixelsintheYplane;coordinatesoftheupperleftcorneroftheYblockareofcourseexactlytwicethecoordinatesofthecorrespondingchromapixels.Whenwerefertopixelsorpixeldistanceswithoutspecifyingaplane,weareimplicitlyreferringtotheYplaneortothecompleteimage,bothofwhichhavethesame(full)resolution.
Asisusuallythecase,thepixelsaresimplyalargearrayofbytesstoredinrowsfromtoptobottom,eachrowbeingstoredfromlefttoright.This“lefttoright”then“toptobottom”raster-scanorderisreflectedinthelayoutofthecompresseddataaswell.
ProvisionhasbeenmadeforthesupportoftwodifferentYUVcolorformatsintheVP8bitstreamheader,howeveronlyoneformatissupportedinthefirstreleaseofVP8.
TheYUVformatsdifferintermsoftheirconversiontoandfromRGBcolorspace.ThefirstcorrespondstothetraditionalYUVcolorspacesimilartotheYCrCbcolorspacedefinedinITU-RBT.601.Thesecond(currentlyunsupported)formatcorrespondstoanewYUVcolorspacewhosedigitalconversiontoandfromRGBcanbeimplementedwithoutmultiplicationsanddivides.TheVP8DecodershoulddecodeandpasstheinformationontotheprocessesthatconverttheYUVoutputtoRGBcolorspace.
Occasionally,atverylowdatarates,acompressionsystemmaydecidetoreducetheresolutionoftheinputsignaltofacilitateefficientcompression.TheVP8dataformatsupportsthisviaoptionalupscalingofitsinternalreconstructionbufferpriortooutput(thisiscompletelydistinctfromtheoptionalpostprocessingdiscussedearlier,whichhasnothingtodowithdecodingperse).Thisupsamplingrestoresthevideoframestotheiroriginalresolution.Inotherwords,thecompression/decompressionsystemcanbeviewedasa“blackbox”,wheretheinputandoutputisalwaysatagivenresolution.Thecompressormightdecideto“cheat”andprocessthesignalatalowerresolution.Inthatcase,thedecompressorneedstheabilitytorestorethesignaltoitsoriginalresolution.
Internally,VP8decomposeseachoutputframeintoanarrayofmacroblocks.AmacroblockisasquarearrayofpixelswhoseYdimensionsare16x16andwhoseUandVdimensionsare8x8.Macroblock-leveldatainacompressedframeoccurs(andmustbeprocessed)inarasterordersimilartothatofthepixelscomprisingtheframe.
Macroblocksarefurtherdecomposedinto4x4subblocks.Everymacroblockhas16Ysubblocks,4Usubblocks,and4Vsubblocks.Anysubblock-leveldata(andprocessingofsuchdata)againoccursinrasterorder,thistimeinrasterorderwithinthecontainingmacroblock.
Asdiscussedinfurtherdetailbelow,datacanbespecifiedatthelevelsofbothmacroblocksandtheirsubblocks.
Pixelsarealwaystreated,ataminimum,atthelevelofsubblocks,whichmaybethoughtofasthe“atoms”oftheVP8algorithm.Inparticular,the2x2chromablockscorrespondingto4x4Ysubblocksarenevertreatedexplicitlyinthedataformatorinthealgorithmspecification.
TheDCTandWHTalwaysoperateata4x4resolution.TheDCTisusedforthe16Y,4Uand4Vsubblocks.
TheWHTisused(withsomebutnotallpredictionmodes)toencodea4x4arraycomprisingtheaverageintensitiesofthe16Ysubblocksofamacroblock.The
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VP8 Data Format and Decoding Guide