Quomodo codicem video opus? Pars 2. Quid, quare, quomodo

Prima pars: Basics of working with video and images

Quomodo codicem video opus? Pars 2. Quid, quare, quomodo

Quid? Video codec fragmen software/hardware comprimens et/vel decompressit digitalem video.

Quid enim? Quamvis limitationes quaedam tam in terminis band longitudinis et
et secundum spatium emissi notitiae repositionis, forum altiorem qualitatem magis magisque postulat. Meministine quomodo in ultimo poste minimum requisitum computavimus pro 30 tabulis per alterum, 24 frusta per pixel, cum resolutione 480x240? 82,944 Mbit/s sine compressione aeeepimus. Compressio in praesenti est unica via ut vulgo HD/FullHD/4K ad tegumenta televisionis et interretialis transmittat. Quomodo hoc fit? Nunc summas methodos breviter videamus.

Quomodo codicem video opus? Pars 2. Quid, quare, quomodo

Versio facta est auxilio EDISON Software.

In sumus occupati integratio systematis video custodiaeEt nos developing microtomograph.

Codec vs

Commune error newbies efficit quod digitalis video codec et video continens confundit. Continens est quaedam forma. Fascia continens metadata video (et fortasse audio) metadata. Compressum video cogitari potest ut continens payload.

Typice extensio fasciculi video speciem continens. Exempli gratia, tabella video.mp4 vas probabiliter MPEG-4 Part 14, et fasciculus nominatus video.mkv verisimillimum est matrioshka. Omnino certa de codice et forma continentis uti potes FFmpeg aut MediaInfo.

A paulo historia

Antequam ad Quid?paulum in historiam intendere, ut antiquiores codices paulo melius intellegamus.

Video codicem H.261 apparuit in 1990 (technicis-in 1988) et creatus est ad operandum data translationis rate of 64 Kbps. Iam notiones usus est ut color subsampling, macroblocks, etc. Vexillum codicem video in anno 1995 editum esse H.263quae usque ad MMI exculta est.

Prima versio completa est anno MMIII H.264 / AVC. Eodem anno TrueMotion liberam suam iacturam videndi codicem vocatum dimisit VP3. Google societatem emit in 2008, solvens VP8 eodem anno. Mense Decembri MMXII, Google dimissus VP9et sustentatur circa mercatus navigatri (inclusa mobilia machinis).

AV1 est novum liberum et apertum fontem video codicem evolvit Foedus Open Media (AOMedia), quae celeberrimas turmas complectitur, ut: Google, Mozilla, Microsoft, Amazon, Netflix, AMD, ARM, NVidia, Intel et Cisco. Prima versio codicis, 0.1.0, die 7 Aprilis 2016 publicata est.

Nativitas Domini AV1

In primis MMXV Google opus in VP10Xiph (quod a Mozilla possidetur) laboratum est Daalaet Cisco suum liberum fecit vocatum video cod Thor.

tum O MPEG primus denuntiavit annui fines for HEVC (H.265f.

nullus annuus modus;
contentus feodo (0,5% de vectigal) et
the unitas fee is about 10 times higher than H.264.

Foedus Open Media a societatibus e diversis campis creatum est: armorum fabricatores (Intel, AMD, ARM, Nvidia, Cisco), provisores contenti (Google, Netflix, Amazon), creatores navigatores (Google, Mozilla) et alii.

Societates metam communem habebant - video codicem liberum regium. Tunc apparet AV1 multo simpliciore patente licentia. Timotheus B. Terryberry attonitus dedit praesentationem quae fons AV1 notionis et licentiae exemplar originem dedit.

Miraberis scire te per pasco AV1 codicam resolvere posse (qui interest adire possunt aomanalyzer.org).

Quomodo codicem video opus? Pars 2. Quid, quare, quomodo

Universale codec

Intueamur principales machinas quae universali video codec subiectae. Pleraque ex his conceptibus utilia sunt et in codicibus hodiernis utuntur VP9, AV1 и HEVC. Moneo te multa ex quibus explicata faciliora fient. Interdum exempla realia mundi (ut apud H.264) demonstrare adhibebuntur technicae.

1st step - scindendo imaginem

Primus gradus est artus in plures sectiones, sectiones et ultra dividere.

Quomodo codicem video opus? Pars 2. Quid, quare, quomodo

Quod? Causae multae sunt. Cum imaginem findimus, motum vectoris verius praedicere possumus utendo parvas sectiones pro partibus parvis mobilibus. Dum pro static prospectu potes te limitare ad sectiones maiores.

Codecs typice ordinant has sectiones in sectiones (vel chunks), macroblocks (vel caudices arboris coding), et plures sectiones. Magnitudo maxima harum partitionum variat, HEVC ad 64x64 ponit, dum AVC utitur 16x16, et subpartitiones usque ad magnitudinum 4x4 dividi possunt.

Meministine figurarum tabularum ab ultimo articulo ?! Idem applicari potest ad caudices, ut habere possumus I-fragmentum, B-obstructionem, P-macroblock, etc.

Qui enim exercere volunt, vide quomodo imago in sectiones et sectiones dividatur. Ad quod faciendum, iam superiore articulo uti potes. Intel Video Pro Analyzer (scilicet una, quae solvitur, sed cum libera versione, quae terminatur ad primos X tabulas). Sectiones hic enucleatae VP9:

Quomodo codicem video opus? Pars 2. Quid, quare, quomodo

2nd step - forecasting

Cum sectiones habemus, illis praenoscere possumus astrologicis. For INTER praenoscere transferendum est motus vector et residuum, et pro INTRA praevidens transmittitur Providemus directionem et reliqua.

3 gradus - transformatio

Cum habeamus stipitem residua (sectio → sectionem realem praedictam), fieri potest ut eam ita transformemus ut sciamus quae elementa abiici possint servato altiore qualitate. Sunt aliquae mutationes, quae accuratam mores praebent.

Etsi aliae sunt methodi, eas planius inspiciamus. discretus cosinus transform (DCT - a discretus cosinus transform). Praecipua munera DCT:

  • Conversorum pixellarum caudices in coefficientium frequentiae caudices aequabiles.
  • Condensat virtutem localem redundantiam adiuvandi tollendam.
  • Reversibility praebet.

Die 2 Februarii 2017 Sintra R.J. (Cintra, RJ) et Bayer F.M. (Bayer FM) ediderunt articulum de DCT-simili mutatione pro compressione imaginum quae solum 14 additiones requirit.

Nolite ergo solliciti esse si beneficia cuiusque item non intellegitis. Nunc certis exemplis utamur ad eorum valorem realem videndum.

Sit hoc 8x8 truncum elementa:

Quomodo codicem video opus? Pars 2. Quid, quare, quomodo

Hic stipes redditur in sequenti 8 8 per XNUMX pixel imaginem:

Quomodo codicem video opus? Pars 2. Quid, quare, quomodo

Applicare DCT ad hunc truncum pixels et 8x8 truncum coefficientium obtine:

Quomodo codicem video opus? Pars 2. Quid, quare, quomodo

Et si hunc scandalum coefficientium reddimus, sequentem imaginem habebimus:

Quomodo codicem video opus? Pars 2. Quid, quare, quomodo

Ut videre potes, non tamquam imago originalis. Potes videre primum coefficientem longe ab omnibus aliis esse diversum. Hic primus coefficiens notus est ut DC coefficiens, quae omnia exempla in input ordinata repraesentans, aliquid simile mediocris.

Hic scandalum coefficientium interesting proprietatem habet: summus frequentiam separat ab humili frequentia.

Quomodo codicem video opus? Pars 2. Quid, quare, quomodo

In imagine, maxima potentiae frequentia in inferioribus contrahitur, ut si imaginem in frequentia sua convertas et coefficientes frequentia superiora abiicias, quantitatem notitiarum quae ad imaginem exprimendam sine immolatione nimis imaginis qualitatem minuere potes.

Frequentia significat quam cito signum mutationum.

Studeamus cognitioni in casu probato applicare convertendo imaginem originalem ad frequentiam (obstructionem coefficientium) utendo DCT et deinde abiecta parte coefficientium minimorum momenti.

Primum eam ad frequentiam imperii convertimus.

Quomodo codicem video opus? Pars 2. Quid, quare, quomodo

Deinde partem coefficientium (67%) coefficientium, maxime partem dextrae inferioris, rejicimus.

Quomodo codicem video opus? Pars 2. Quid, quare, quomodo

Tandem imaginem ex hoc coefficientium stipite abiecto (memini esse invertibilem) restituimus et cum originali comparamus.

Quomodo codicem video opus? Pars 2. Quid, quare, quomodo

Videmus quod similis sit originalis imaginis, sed multae differentiae ab originali. 67,1875% eiecimus et tamen aliquid originali simile obtinuit. Potuit diligentius coefficientes abicere imaginem melioris notae obtinere, sed locus proximus est.

Quisque coefficiens generatur per omnia elementa

Maximus: quilibet coefficiens non directe ad unum pixel descriptus est, sed omnium elementorum summa ponderata est. Hoc mirabile graphus ostendit quomodo coefficientes primi et secundi computantur utentes pondera singularia ad unumquemque indicem.

Quomodo codicem video opus? Pars 2. Quid, quare, quomodo

Potes etiam conantur insitum DCT videndo simplicem formationem imaginis in ea fundatam. Exempli gratia: hic symbolum A genito utens pondere coëfficiente quodlibet;

Quomodo codicem video opus? Pars 2. Quid, quare, quomodo

4 gradus - quantitatis

Postquam aliquos coefficientes ad priorem gradum eicimus, in ultimo gradu (transformatio) specialem quantitatis formam perficimus. Hac in re placet notitias amittere. Vel simplicius quantitatis coefficientes ad comprimendum assequendum.

Quomodo coefficientium truncum quantitare potes? Una methodorum simplicissimarum est quantitatis uniformis, quando truncum accipimus, eam uno valore (per 10) et circa exitum divide.

Quomodo codicem video opus? Pars 2. Quid, quare, quomodo

Possumusne hunc scandalum coefficientium convertere? Poterimus sane, eodem valore quo divisimus multiplicando.

Quomodo codicem video opus? Pars 2. Quid, quare, quomodo

Accessus hic non optimus est quia non attendit momentum cuiusque coefficientis. Potuit aliquis matrix quantitariorum loco unius pretii uti, et haec matricem possessionem DCT abutere, quantitate maior pars dextrae inferioris et minoritas superioris sinistrae.

Step 5 - entropy coding

Postquam datam quantitatem (imago caudices, fragmenta, tabulas), adhuc incommodum comprimere possumus. Multae vias algorithmicae ad comprimendum datae sunt. Imus ut aliquas ex illis velox inspicias, ad altiorem intellegentiam potes legere librum Copressionis intellectus: Data Compressione pro Moderni Developers ("Compressio intellectus: Data Cogo pro Modern Developers").

Video modum translitterandi per VLC

Dicamus nos torrens characteres: a, e, r и t. Probabilitas (ab 0 ad 1) quoties apparet cuiusque characteris in rivo in hac tabula exhibetur.

a e r t
probabilitas 0,3 0,3 0,2 0,2

Singulos codices binarios (potius parvos) pluribus verisimilibus assignare possumus, ac maiores codices minus probabiles.

a e r t
probabilitas 0,3 0,3 0,2 0,2
Binarii codice 0 10 110 1110

Agmen comprimimus, si denique singulas mores 8 agemus expendendo. Sine compressione, 24 frena per characterem opus esset. Si singulas mores cum suo codice restituas, peculium accipis!

Primus gradus est ad encode character equae est = X, et secunda character est aquae additur (non mathematice): [10] [0], et denique tertia charactere t, quae finalem efficit amphiboliam compressam aequalem [10][0][1110] or 1001110quae tantum 7 particulas requirit (3,4 minus spatium quam originale).

Quaeso nota unumquemque codicem cum praepositione singularem esse debere. Huffman algorithmus auxiliatus sum tibi hos numeros invenire. Quamvis haec methodus non careat suis mendis, video tamen codices qui hanc methodum algorithmicam comprimendi praebent.

Tum encoder tum decoder accedere debent ad mensam symboli cum suis binariis codicibus. Ergo etiam necesse est ut mensam mittere input.

Arithmetica coding

Dicamus nos torrens characteres: a, e, r, s и tet eorum probabilitas in hac tabula exhibetur.

a e r s t
probabilitas 0,3 0,3 0,15 0,05 0,2

Hac mensa utentes, regiones aedificabimus in quibus omnia ingenia possibilia sunt, per maximum numerum digesta.

Quomodo codicem video opus? Pars 2. Quid, quare, quomodo

Nunc encode rivum trium characterum; manducare.

Primum eligere primum characterem equae est in subrange ab 0,3 ad 0,6 (non possidet). Hanc subrange- sionem sumimus et iterum dividimus pro portionibus quibus prius, sed pro hoc novo ambitu.

Quomodo codicem video opus? Pars 2. Quid, quare, quomodo

Permanere coding nostri amnis manducare. Accipe nunc secundum characterem aquae est in nova subrange ab 0,3 ad 0,39, et tunc demum characterem nostrum adhibe t et iterum eundem processum repetendo consequimur finalem subordinationem ab 0,354 ad 0,372.

Quomodo codicem video opus? Pars 2. Quid, quare, quomodo

Non solum necesse est numerum eligere in ultimis subrange ab 0,354 ad 0,372. Eligite 0,36 (sed alium numerum in hac subrangia eligere potest). Tantum hoc numero rivum pristinum restituere poterimus. Tamquam si intra iugis lineam duceremus ut rivum nostrum encodemus.

Quomodo codicem video opus? Pars 2. Quid, quare, quomodo

Operatio econtrario (hoc est; decoding) perinde ac simplex: numero nostro 0,36 et ambitu initiali eundem processum currere possumus. Nunc autem, hoc numero utentes, hunc numerum definimus amnem encoded utentes.

Primo ambitu animadvertimus numerum nostrum segmento respondere: ergo haec est prima indoles nostra. Hanc autem sub- ditionem iterum sequendo eundem processum quo prius dividimus. Hic videre potes quod 0,36 symbolo respondeat aet repetito processu ad novissimum characterem pervenimus t (Formentum originale encoded stream manducare).

Tam encoder quam decoder mensam probabilium symbolorum habere debent, ideo necesse est eam in input notitias mittere.

Annon satis elegans est? Quicumque ad hanc solutionem accessit, captiosus erat damn. Nonnulli codicei video hac arte utuntur (vel saltem eam ut optio offerunt).

Idea est damnum quantum comprimat amnis. Num hic articulus deest tons singularium, rationum, commercii, etc. Sed si elit es, plus scire debes. Novi codecs uti conantur algorithms diversos entropy delatam ut ANS.

Gradus VI - bitstream forma

His omnibus peractis, omnia quae supersunt, compages compressas in contextu graduum peractarum solvant. Decoder explicite informari debet decisionibus ab encoder factis. Decoder praebenda est omnibus informationibus necessariis: frenum profundum, color spatium, resolutio, notitia praenuntiatio (motus vector, directio inter praenuntiatio), profile, gradus, tabulae rate, genus artubus, numerus et multo plus.

Nos tibi velox vultus in bitstream H.264. Primus gradus est minimam H.264 bitstream creare (FFmpeg per default addit omnes optiones descriptam ut SEI NAL — quid sit paulo ulterius cognoscemus). Hoc facere possumus utens repositorio nostro et FFmpeg.

./s/ffmpeg -i /files/i/minimal.png -pix_fmt yuv420p /files/v/minimal_yuv420.h264

Hoc mandatum rudis bitstream . generabit H.264 with one frame, 64×64 resolution, with colo space YUV420. Quo in casu, sequens imago in tabula adhibita est.

Quomodo codicem video opus? Pars 2. Quid, quare, quomodo

H.264 bitstrem

Standard AVC (H.264) informationes mittendas decernit in macroframes (in sensu retis), vocatur nal (hoc est gradu retis abstractio). Praecipuum propositum NAL est "textam amicabilem" praebere praesentationem. Vexillum hoc in TV (amnis-substructum), in Interreti (constructum-substructio) operari debet.

Quomodo codicem video opus? Pars 2. Quid, quare, quomodo

Synchronisatio est titulus elementorum NAL limites definiendi. Quisque sync indicium habet valorem 0x00 0x00 0x01, excepto primo primo , quod eft 0x00 0x00 0x00 0x01. Si launch hexdump pro genito H.264 bitstream, tria saltem exemplaria NAL ineunte tabella cognoscimus.

Quomodo codicem video opus? Pars 2. Quid, quare, quomodo

Ut dictum est, decoder non solum notitias imaginum cognoscere debet, sed etiam singula quae video, artus, colores, parametris adhibitis, et multo plura. Primus quisque NAL byte suum categoriam et genus definit.

NAL genus identifier Description
0 Genus ignotum
1 fragmentum imaginis encoded sine IDR
2 Coded scalpere notitia sectionem A
3 Coded scalpere notitia sectionem B
4 Coded scalpere notitia sectionem C
5 IDR fragmentum imaginis IDR Encoded
6 Plura de SEI extensione
7 SPS Sequence Parameter Set
8 Set PPS imaginem parametri
9 Aditus separator
10 Finis sequentiarum
11 Finis sequelae
... ...

De more primo NAL de bitstream est SPS. Hoc genus NAL debet informare de communibus variabilibus translitterandi sicut profile, gradu, resolutione etc.

Si primam sync titulum omittimus, primum byte decoquere possumus quemnam NAL typus sit primus.

Exempli gratia, primum byte post sync signum est 01100111ubi primum paulum0) In agro f *orbidden_zero_bit. Next 2 bits (11) Agrum nobis narrat nal_ref_idc, in quo num hic NAL referatur campus sit necne. Reliquae et V minutae (00111) Agrum nobis narrat nal_unit_type, hoc casu est SPS scandalum (7NAL.

Secundo byte (binarii=01100100, omnis hexagonis traversa=0x64, Dec=100) In SPS NAL est agri profile_idc, quod figuram encoder adhibendam ostendit. In hoc casu, profile alta definita adhibita est (id est, profile alta sine bidirectionali B-segmenti auxilio).

Quomodo codicem video opus? Pars 2. Quid, quare, quomodo

Si spectas in bitstream speciem H.264 pro SPS NAL, multa bona pro parametri nomine, categoria et descriptione inveniemus. Exempli gratia, videamus agros pic_width_in_mbs_minus_1 и pic_height_in_map_units_minus_1.

Parameter nomen Category Description
pic_width_in_mbs_minus_1 0 ue (v)
pic_height_in_map_units_minus_1 0 ue (v)

Si aliquas operationes mathematicas cum valoribus agrorum exercemus, resolutionem obtinebimus. Repraesentare potest 1920 x 1080 utens pic_width_in_mbs_minus_1 cum valore 119 (119 + 1) * macroblock_size = 120 * 16 = 1920). Iterum ad spatium conservandum, pro anno 1920 descriptam, fecimus cum 119.

Si pergimus ad reprimendam nostram video creatam in forma binaria (exempli gratia: xxd -b -c 11 v/minim_yuv420.h264) potes ire ad ultimum NAL, quod est ipsum corpus.

Quomodo codicem video opus? Pars 2. Quid, quare, quomodo

Hic videmus primos eius 6 byte valores; 01100101 10001000 10000100 00000000 00100001 11111111. Cum primum byte notum sit genus NAL significare, in hoc casu.00101) est fragmentum IDR (5), ac deinde illud explorare amplius potes.

Quomodo codicem video opus? Pars 2. Quid, quare, quomodo

Per informationes specificationis, poterit genus fragmenti decoquere (scalpe_type) Et numerus frame (frame_num) in aliis magnis campis.

Ut aliquas agros valores (ue(v), me(v), se(v), vel te(v)) decodere necesse est fragmentum speciali decoder utendo subnixum Exponentialis Golomb codice. Haec methodus valde efficax est ad valores variabiles translitterandi, praesertim cum multae valores defaltae sunt.

idest scalpe_type и frame_num huius notae sunt 7 (I-fragmentum) et 0 (prima tabula).

Aliquantulus rivus protocollo cogitari potest. Si plura scire vis de amaro, referas ad specificationem ITU H.264. Hic tortor tabulae monstrans ubi imago data est (YUV in forma compressa).

Quomodo codicem video opus? Pars 2. Quid, quare, quomodo

Aliae torrentes examinari possunt, ut VP9, H.265 (HEVC) Vel nostri novi optimi bitstream AV1. suntne omnes similes? Non, sed semel saltem unum, multo facilius est cetera intelligere.

Vis exercere? H.264 bitstrem explorare

Potes unum frame video generare et MediaInfo utere ut bittremam exploret H.264. Re quidem vera, nihil prohibet te etiam fontem codicem intueri, qui frenum torrens evolvit H.264 (AVC).

Quomodo codicem video opus? Pars 2. Quid, quare, quomodo

Pro usu, Intel Video Pro Analyzer uti potes (iam dixi programma solutum esse, sed libera est cum termino de 10 tabulis versionis iudicii?).

Quomodo codicem video opus? Pars 2. Quid, quare, quomodo

Overview

Nota quod multi moderni codices eodem exemplari utuntur quod mox studuimus. Hic inspice truncum iconis codicis Thor. Omnes gradus quos peragimus continet. Totum punctum huius sententiae est ut melius saltem tibi tradat innovationum ac documentorum in hac provincia intelligentiam.

Quomodo codicem video opus? Pars 2. Quid, quare, quomodo

Antea computatum est quod 139 GB spatii orbis orbis requireretur ut fasciculum video duratum unius horae ad 720p qualitatem et 30 fps condere. Si methodis in hoc articulo tractatis uteris (praedictiones inter- frameas internas, transformationem, quantitatem, entropy coding, etc.), tunc consequi potes (ex eo quod per pixel 0,031 expendimus) videi satis qualitas satisfactoria, solum 367,82 MB occupans, non 139 GB memoriae.

How does H.265 proportionem compressionis meliorem consequi quam H.264?

Nunc quod plura scimus quomodo codices operantur, facilius est intellegere quomodo recentiores codices superiores conclusiones cum paucioribus lamellis tradere possint.

Si comparemus AVC и HEVCmemoria dignum est hanc fere semper electionem inter maiorem CPU sarcinam et compressionem rationem habere.

HEVC plus habet sectionem (and ordo) options quam AVCinteriori vaticinii directiones, entropy coding emendavit, ac magis. Haec omnia meliora sunt facta H.265 potest com- presso L% plus H.264.

Quomodo codicem video opus? Pars 2. Quid, quare, quomodo

Prima pars: Basics of working with video and images

Source: www.habr.com

Add a comment