Codec ea video e sebetsa joang? Karolo ea 2. Eng, hobaneng, joang

Karolo ea pele: Lintlha tsa motheo tsa ho sebetsa ka video le litšoantšo

Codec ea video e sebetsa joang? Karolo ea 2. Eng, hobaneng, joang

Eng? Video codec ke sengoathoana sa software/hardware e hatellang le/kapa e nyenyefatsang video ea dijithale.

Ho thoe'ng? Ho sa tsotellehe mefokolo e itseng ka bobeli mabapi le bandwidth le
mme mabapi le sebaka sa polokelo ea data, 'maraka o hloka video e ntseng e eketseha ea boleng bo holimo. Na u sa hopola hore na posong ea ho qetela re balile bonyane bo hlokahalang bakeng sa liforeimi tse 30 motsotsoana, li-bits tse 24 ka pixel, ka qeto ea 480x240? Re amohetse 82,944 Mbit / s ntle le khatello. Hajoale khatello ke eona feela mokhoa oa ho fetisa HD/FullHD/4K ho li-skrini tsa thelevishene le Marang-rang. See se finyelloa joang? Joale a re ke re shebe ka bokhutšoanyane mekhoa e ka sehloohong.

Codec ea video e sebetsa joang? Karolo ea 2. Eng, hobaneng, joang

Phetolelo e entsoe ka tšehetso ea EDISON Software.

Re kopanetse ho kopanya mekhoa ea ho shebella livideo, hammoho le re ntse re etsa microtomograph.

Codec vs Setshelo

Phoso e tloaelehileng eo batho ba qalang ho e etsa ke ho ferekanya codec ea video ea dijithale le setshelo sa video sa dijithale. Setshelo ke sebopeho se itseng. Sephutheloana se nang le metadata ea video (mme mohlomong le molumo). Video e hatelitsoeng e ka nkoa e le moroalo oa setshelo.

Ka tloaelo, ho atolosoa ha faele ea video ho bontša mofuta oa setshelo. Ka mohlala, faele video.mp4 mohlomong setshelo MPEG-4 Karolo ea 14, le faele e bitsoang video.mkv e ka etsahala haholo matryoshka. Ho ba le bonnete ba ka ho feletseng ka codec le setshelo sebopeho, u ka sebelisa FFmpeg kapa MediaInfo.

Pale ea histori

Pele re fihla Joang?, a re ke re keneleng nalaneng ho utloisisa li-codec tse ling tsa khale hamolemonyana.

Codec ea video H.261 e hlahile ka 1990 (ka botekgeniki - ka 1988) mme e thehiloe ho sebetsa ka sekhahla sa phetisetso ea data ea 64 Kbps. E se e sebelisitse mehopolo e kang ho etsa mohlala oa mebala, li-macroblocks, joalo-joalo. Tekanyetso ea codec ea video e phatlalalitsoe ka 1995 H.263, e ileng ea tsoela pele ho fihlela ka 2001.

Phetolelo ea pele e ile ea phethoa ka 2003 H.264 / AVC. Selemong sona seo, TrueMotion e ile ea lokolla codec ea eona ea mahala ea tahlehelo ea video e bitsoang VP3. Google e rekile k'hamphani ka 2008, ea lokolla VP8 selemong sona seo. Ka December 2012, Google e ile ea lokolloa VP9, 'me e tšehetsoa hoo e ka bang ¾ ea 'maraka oa sebatli (ho kenyeletsoa le lisebelisoa tsa mohala).

AV1 ke codec e ncha ea mahala le e bulehileng ea video e ntlafalitsoeng ke Alliance for Open Media (AOMedia), e kenyeletsang lik'hamphani tse tummeng ka ho fetisisa, tse kang: Google, Mozilla, Microsoft, Amazon, Netflix, AMD, ARM, NVidia, Intel le Cisco. Mofuta oa pele oa codec, 0.1.0, o hatisitsoe ka la 7 Mmesa, 2016.

Tsoalo ea AV1

Qalong ea 2015, Google e ne e ntse e sebetsa VP10Xiph (eo e leng ea Mozilla) o ne a ntse a sebetsa Daala, 'me Cisco e iketselitse codec ea eona ea mahala ea video e bitsoang Thor.

ebe MPEG LA ka lekhetlo la pele e phatlalalitseng meeli ea selemo bakeng sa HEVC (H.265) le tefo e phahameng ka makhetlo a 8 ho feta ea H.264, empa kapele ba ile ba fetola melao hape:

ha ho na moeli oa selemo,
ditefello tsa dikahare (0,5% ya lekeno) le
tefiso ea yuniti e ka ba makhetlo a 10 ho feta H.264.

Alliance for Open Media e entsoe ke lik'hamphani tse tsoang libakeng tse fapaneng: baetsi ba lisebelisoa (Intel, AMD, ARM, Nvidia, Cisco), bafani ba litaba (Google, Netflix, Amazon), baetsi ba sebatli (Google, Mozilla) le ba bang.

Likhamphani li ne li e-na le sepheo se le seng - codec ea video e sa lefelloeng. Ebe e hlaha AV1 ka laesense e bonolo haholoanyane ea patent. Timothy B. Terryberry o fane ka nehelano e makatsang e ileng ea fetoha tšimoloho ea mohopolo oa hajoale oa AV1 le mofuta oa eona oa laesense.

U tla makala ho tseba hore u ka sekaseka AV1 codec ka sebatli (ba nang le thahasello ba ka ea ho aomanalyzer.org).

Codec ea video e sebetsa joang? Karolo ea 2. Eng, hobaneng, joang

Codec ea bokahohle

Ha re shebeng mekhoa ea mantlha e thehiloeng ho codec ea bokahohleng ea video. Boholo ba likhopolo tsena li na le thuso 'me li sebelisoa li-codecs tsa morao-rao tse kang VP9, AV1 и HEVC. Kea u lemosa hore lintho tse ngata tse hlalositsoeng li tla nolofatsoa. Ka linako tse ling mehlala ea sebele ea lefats'e (joaloka H.264) e tla sebelisoa ho bontša theknoloji.

Mohato oa 1 - ho arola setšoantšo

Mohato oa pele ke ho arola foreimi ka likarolo tse 'maloa, likaroloana le ho feta.

Codec ea video e sebetsa joang? Karolo ea 2. Eng, hobaneng, joang

Molelmong oa eng? Ho na le mabaka a mangata. Ha re arola setšoantšo, re ka bolela esale pele ka nepo vector ea motsamao ka ho sebelisa likarolo tse nyane bakeng sa likarolo tse nyane tse tsamaeang. Ha u ntse u le bakeng sa semelo sa static u ka fokotsa likarolo tse kholoanyane.

Li-codecs hangata li hlophisa likarolo tsena ka likarolo (kapa likotoana), li-macroblocks (kapa li-coding tsa lifate tsa li-coding), le likaroloana tse ngata. Boholo ba likarolo tsena bo fapana, HEVC e e beha ho 64x64 ha AVC e sebelisa 16x16, 'me likaroloana li ka aroloa ho fihla ho 4x4 boholo.

Na u hopola mefuta ea liforeimi tse tsoang sehloohong se fetileng?! E tšoanang e ka sebelisoa ho li-blocks, kahoo re ka ba le I-fragment, B-block, P-macroblock, joalo-joalo.

Bakeng sa ba batlang ho ikoetlisa, shebella kamoo setšoantšo se arotsoeng ka likarolo le likaroloana. Ho etsa sena, o ka sebelisa e seng e boletsoe sehloohong se fetileng. Intel Video Pro Analyzer (e lefshoang, empa ka mofuta oa teko ea mahala e lekantsoeng liforeimi tse 10 tsa pele). Likarolo tse hlahlobiloeng mona VP9:

Codec ea video e sebetsa joang? Karolo ea 2. Eng, hobaneng, joang

Mohato oa 2 - ho bolela esale pele

Ha re se re e-na le likarolo, re ka li etsetsa ponelopele ea bonohe ba linaleli. Bakeng sa INTER e bolela esale pele e tlameha ho fetisoa li-vector tse tsamaeang le se setseng, 'me bakeng sa ponelopele ea INTRA e fetisoa tataiso ea bolepi le se setseng.

Mohato oa 3 - phetoho

Ha re se re e-na le sebaka se setseng (karolo e boletsoeng esale pele → karolo ea sebele), hoa khoneha ho e fetola ka tsela eo re tsebang hore na ke li-pixels life tse ka lahloang ha re ntse re boloka boleng ba kakaretso. Ho na le liphetoho tse ling tse fanang ka boitšoaro bo nepahetseng.

Leha ho na le mekhoa e meng, a re e shebeng ka botlalo. phetoho e hlakileng ea cosine (DCT - ho tloha phetoho e hlakileng ea cosine). Mesebetsi ea mantlha ea DCT:

  • E fetolela li-block tsa pixels ho li-block tsa boholo bo lekanang tsa frequency coefficients.
  • E fokotsa matla ho thusa ho felisa khaello ea sebaka.
  • E fana ka phetoho.

Hlakola 2, 2017 Sintra R.J. (Cintra, RJ) le Bayer F.M. (Bayer FM) e hatisitse sengoloa mabapi le phetoho e kang ea DCT bakeng sa khatello ea litšoantšo e hlokang litlatsetso tse 14 feela.

Se ke oa tšoenyeha haeba u sa utloisise melemo ea ntlha ka 'ngoe. Joale a re sebeliseng mehlala e tobileng ho bona bohlokoa ba bona ba sebele.

Ha re nke sebaka sena sa 8x8 sa pixels:

Codec ea video e sebetsa joang? Karolo ea 2. Eng, hobaneng, joang

Sebaka sena se fetoleloa setšoantšong se latelang sa 8 ka 8 pixel:

Codec ea video e sebetsa joang? Karolo ea 2. Eng, hobaneng, joang

Sebelisa DCT ho block ena ea pixels 'me u fumane block ea 8x8 ea coefficients:

Codec ea video e sebetsa joang? Karolo ea 2. Eng, hobaneng, joang

'Me haeba re fana ka block ena ea coefficients, re tla fumana setšoantšo se latelang:

Codec ea video e sebetsa joang? Karolo ea 2. Eng, hobaneng, joang

Joalokaha u bona, ha e shebahale joaloka setšoantšo sa pele. U ka bona hore coefficient ea pele e fapane haholo le tse ling kaofela. Coefficient ena ea pele e tsejoa e le coefficient ea DC, e emelang disampole tsohle tse teng ka har'a sehlopha sa ho kenya, ntho e kang karolelano.

Sebaka sena sa li-coefficients se na le thepa e thahasellisang: e arola likarolo tse phahameng tsa maqhubu ho tloha ho tse fokolang.

Codec ea video e sebetsa joang? Karolo ea 2. Eng, hobaneng, joang

Setšoantšong, boholo ba matla a tsepamisitsoe ka maqhubu a tlaase, kahoo haeba u fetola setšoantšo ho likarolo tsa sona tsa maqhubu 'me u lahla li-coefficients tse phahameng, u ka fokotsa palo ea lintlha tse hlokahalang ho hlalosa setšoantšo ntle le ho tela boleng bo bongata ba setšoantšo.

Khafetsa e bolela hore na lets'oao le fetoha kapele hakae.

Ha re leke ho sebelisa tsebo e fumanoeng tekong ea teko ka ho fetola setšoantšo sa pele ho maqhubu a sona (block of coefficients) re sebelisa DCT ebe re lahla karolo ea li-coefficients tsa bohlokoa ka ho fetisisa.

Pele re e fetolela ho frequency domain.

Codec ea video e sebetsa joang? Karolo ea 2. Eng, hobaneng, joang

Ka mor'a moo, re lahla karolo (67%) ea li-coefficients, haholo-holo karolo e ka tlaase e nepahetseng.

Codec ea video e sebetsa joang? Karolo ea 2. Eng, hobaneng, joang

Qetellong, re haha ​​​​sets'oants'o ho tsoa ho li-coefficients tse lahliloeng (hopola, e tlameha ho ba invertible) ebe re li bapisa le tsa pele.

Codec ea video e sebetsa joang? Karolo ea 2. Eng, hobaneng, joang

Rea bona hore e tšoana le setšoantšo sa pele, empa ho na le liphapang tse ngata ho tloha qalong. Re lahlile 67,1875% mme re ntse re na le ntho e ts'oanang le ea mantlha. Ho ne ho khoneha ho lahla li-coefficients ka mokhoa o nahanang ho fumana setšoantšo sa boleng bo holimo, empa seo ke sehlooho se latelang.

Coefficient e 'ngoe le e' ngoe e etsoa ka lipikselse tsohle

Bohlokoa: coefficient e 'ngoe le e' ngoe ha ea etsoa 'mapa ka kotloloho ho pixel e le' ngoe, empa ke kakaretso e lekantsoeng ea lipikselse tsohle. Kerafo ena e makatsang e bontša kamoo li-coefficients tsa pele le tsa bobeli li baloang ho sebelisoa boima bo ikhethang ho index ka 'ngoe.

Codec ea video e sebetsa joang? Karolo ea 2. Eng, hobaneng, joang

U ka boela ua leka ho bona DCT ka mahlo a kelello ka ho sheba sebopeho se bonolo sa setšoantšo se thehiloeng ho eona. Mohlala, mona ke letšoao A le hlahisitsoeng ho sebelisoa boima bo bong le bo bong ba coefficient:

Codec ea video e sebetsa joang? Karolo ea 2. Eng, hobaneng, joang

Mohato oa 4 - quantization

Ka mor'a hore re lahlele li-coefficients tse ling mohato o fetileng, mohato oa ho qetela (phetoho) re etsa mofuta o khethehileng oa quantization. Mothating ona hoa amoheleha ho lahleheloa ke tlhahisoleseding. Kapa, ​​​​ho feta, re tla lekanya li-coefficients ho fihlela compression.

U ka lekanya li-coefficients joang? E 'ngoe ea mekhoa e bonolo ka ho fetisisa ke quantization e ts'oanang, ha re nka thibela, re e arole ka boleng bo le bong (ka 10) le ho potoloha sephetho.

Codec ea video e sebetsa joang? Karolo ea 2. Eng, hobaneng, joang

A na re ka khutlisa boloko boo ba li-coefficients? E, re ka khona, re atisa ka boleng bo tšoanang boo re arolang ka bona.

Codec ea video e sebetsa joang? Karolo ea 2. Eng, hobaneng, joang

Mokhoa ona ha o molemo ka ho fetisisa hobane ha o nahane ka bohlokoa ba coefficient ka 'ngoe. Motho a ka sebelisa matrix a quantizers ho e-na le boleng bo le bong, 'me matrix ena a ka sebelisa thepa ea DCT ka ho lekanya boholo ba karolo e ka tlaase ea ho le letona le e fokolang e ka holimo ho le letšehali.

Mohato oa 5 - entropy coding

Ha re se re lekanyelitse lintlha (li-blocks tsa litšoantšo, likhechana, liforeimi), re ntse re ka li hatella ntle le tahlehelo. Ho na le mekhoa e mengata ea algorithmic ea ho hatella data. Re tla shebisisa tse ling tsa tsona ka potlako, bakeng sa kutloisiso e tebileng u ka bala buka ea Understanding Compression: Data Compression for Modern Developers ("Kutloisiso Compress: Data Compression bakeng sa Bahlahisi ba Kajeno").

Khouto ea video e sebelisa VLC

Ha re re re na le batho ba bangata: a, e, r и t. Monyetla (ho tloha ho 0 ho isa ho 1) oa hore na sebapali se seng le se seng se hlaha hangata hakae molatsoaneng se hlahisoa lethathamong lena.

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

Re ka fana ka li-binary codes tse ikhethang (haholo-holo tse nyane) ho tse ka etsahalang, le likhoutu tse kholo ho tse fokolang haholo.

a e r t
Monyetla 0,3 0,3 0,2 0,2
Khoutu ea binary 0 10 110 1110

Re hatella molapo, re nka hore re tla qetella re sebelisa likotoana tse 8 bakeng sa sebapali ka seng. Ntle le khatello, li-bits tse 24 li ne li tla hlokahala tlhaku ka 'ngoe. Haeba u nkela sebapali se seng le se seng sebaka ka khoutu ea sona, u fumana chelete!

Mohato oa pele ke ho kenyelletsa sebopeho e, e lekanang le 10, 'me tlhaku ea bobeli ke a, e kenyellelitsoeng (eseng ka mokhoa oa lipalo): [10][0], 'me qetellong ke sebapali sa boraro t, e etsang hore bitstream ea rona ea ho qetela e hatisitsoeng e lekana le [10][0][1110] kapa 1001110, e hlokang li-bits tse 7 feela (sebaka se fokolang ka makhetlo a 3,4 ho feta sa pele).

Ka kopo hlokomela hore khoutu ka 'ngoe e tlameha ho ba khoutu e ikhethileng e nang le sehlomapele. Algorithm ea Huffman e tla u thusa ho fumana linomoro tsena. Le hoja mokhoa ona o se na liphoso, ho na le li-codec tsa video tse ntseng li fana ka mokhoa ona oa algorithmic bakeng sa khatello.

Ka bobeli encoder le decoder li tlameha ho fihlella tafole ea matšoao ka likhoutu tsa tsona tsa binary. Ka hona, ho boetse hoa hlokahala ho romela tafole e le ho kenya letsoho.

Likhoutu tsa Arithmetic

Ha re re re na le batho ba bangata: a, e, r, s и t, 'me monyetla oa bona o hlahisoa tafoleng ena.

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

Ka ho sebelisa tafole ena, re tla haha ​​mekhahlelo e nang le litlhaku tsohle tse ka khonehang, tse hlophisitsoeng ka palo e kholo ka ho fetisisa.

Codec ea video e sebetsa joang? Karolo ea 2. Eng, hobaneng, joang

Joale a re kenyelletseng lethathamo la litlhaku tse tharo: ja.

Pele khetha tlhaku ea pele e, e leng sebakeng se ka tlase ho tloha ho 0,3 ho ea ho 0,6 (ho sa kenyelelitsoe). Re nka karoloana ena ebe re e arola hape ka tekanyo e tšoanang le ea pele, empa bakeng sa mefuta ena e mecha.

Codec ea video e sebetsa joang? Karolo ea 2. Eng, hobaneng, joang

Ha re tsoeleng pele ho khouta molapo oa rona ja. Jwale nka sebopeho sa bobedi a, e sebakeng se secha sa 0,3 ho isa ho 0,39, ebe re nka sebapali sa rona sa ho qetela. t le ho pheta ts'ebetso e ts'oanang hape, re fumana karolo ea ho qetela ho tloha ho 0,354 ho ea ho 0,372.

Codec ea video e sebetsa joang? Karolo ea 2. Eng, hobaneng, joang

Re hloka feela ho khetha nomoro sebakeng sa ho qetela ho tloha ho 0,354 ho isa ho 0,372. Ha re khetheng 0,36 (empa o ka khetha nomoro efe kapa efe e 'ngoe ka har'a karolo ena). Ke ka nomoro ena feela re tla khona ho khutlisa molatsoana oa rona oa mantlha. Ho joalokaha eka re ne re taka mola ka har'a mekoloto ho kenyelletsa molapo oa rona.

Codec ea video e sebetsa joang? Karolo ea 2. Eng, hobaneng, joang

Ts'ebetso ea morao-rao (ke hore, decoding) e bonolo feela: ka palo ea rona ea 0,36 le sebaka sa rona sa pele, re ka tsamaisa ts'ebetso e ts'oanang. Empa joale, ka ho sebelisa nomoro ena, re khetholla molatsoana o kentsoeng ka nomoro ena.

Ka lethathamo la pele, re hlokomela hore palo ea rona e lumellana le selae, ka hona enoa ke sebopeho sa rona sa pele. Joale re arola karoloana ena hape ka ho latela ts'ebetso e ts'oanang le ea pele. Mona u ka bona hore 0,36 e lumellana le letšoao a, 'me ka mor'a ho pheta-pheta mokhoa oo re fihlileng ho motho oa ho qetela t (ho theha molatsoana oa rona oa mantlha o kentsoeng ja).

Ka bobeli encoder le decoder li tlameha ho ba le tafole ea menyetla ea matšoao, ka hona hoa hlokahala ho e romella le data e kentsoeng.

E ntle haholo, na ha ho joalo? Mang kapa mang ea tlileng ka tharollo ena o ne a le bohlale haholo. Li-codec tse ling tsa video li sebelisa mokhoa ona (kapa bonyane li fane ka khetho).

Sepheo ke ho hatella ka mokhoa o sa lahleheng oa quantized bit stream. Ehlile sengoloa sena ha se na lintlha tse ngata, mabaka, likhohlano, joalo-joalo. Empa haeba u le moqapi, u lokela ho tseba haholoanyane. Li-codec tse ncha li leka ho sebelisa li-algorithms tse fapaneng tsa entropy encoding joalo ka ANS.

Mohato oa 6 - sebopeho sa bitstream

Kamora ho etsa tsena tsohle, se setseng ke ho manolla liforeimi tse hatelletsoeng maemong a mehato e entsoeng. Sekoudara se tlameha ho tsebisoa ka liqeto tse entsoeng ke mohatisi. Decoder e tlameha ho fuoa lintlha tsohle tse hlokahalang: botebo bo fokolang, sebaka sa mebala, tharollo, tlhaiso-leseling e boletsoeng esale pele (li-vector tse tsamaeang, ho bolela esale pele INTER), profil, boemo, sekhahla sa foreimi, mofuta oa foreimi, nomoro ea foreimi le tse ling tse ngata.

Re tla sheba ka potlako ho bitstream H.264. Mohato oa rona oa pele ke ho theha H.264 bitstream e fokolang (FFmpeg ka kamehla e eketsa likhetho tsohle tsa khouto tse kang SEI NAL - re tla fumana hore na ke eng pejana). Re ka etsa sena re sebelisa polokelo ea rona le FFmpeg.

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

Taelo ena e tla hlahisa bitstream e tala H.264 e nang le foreimi e le 'ngoe, qeto ea 64×64, e nang le sebaka sa mebala YUV420. Tabeng ena, setšoantšo se latelang se sebelisoa e le foreimi.

Codec ea video e sebetsa joang? Karolo ea 2. Eng, hobaneng, joang

H.264 bitstream

E tloaelehileng AVC (H.264) e etsa qeto ea hore tlhahisoleseding e tla romelloa ka macroframes (ka kutloisiso ea marang-rang), e bitsoang nal (ena ke boemo ba marang-rang a ho fokotsa). Sepheo se seholo sa NAL ke ho fana ka pontšo ea "websaete e sebetsang hantle". Tekanyetso ena e lokela ho sebetsa ho li-TV (tse thehiloeng ho melapo), Marang-rang (e thehiloeng liphutheloaneng).

Codec ea video e sebetsa joang? Karolo ea 2. Eng, hobaneng, joang

Ho na le lesupa la kamahanyo ho hlalosa meeli ea likarolo tsa NAL. Letšoao le leng le le leng la sync le na le boleng 0x00 0x00 0x01, haese ea pele haholo, e lekanang le 0x00 0x00 0x00 0x01. Haeba re qala hexdump bakeng sa H.264 bitstream e hlahisitsoeng, re khetholla bonyane mekhoa e meraro ea NAL qalong ea faele.

Codec ea video e sebetsa joang? Karolo ea 2. Eng, hobaneng, joang

Joalokaha ho boletsoe, decoder ha ea tlameha ho tseba data ea setšoantšo feela, empa le lintlha tsa video, foreimi, mebala, liparamente tse sebelisitsoeng le tse ling tse ngata. Byte ea pele ea NAL ka 'ngoe e hlalosa sehlopha le mofuta oa eona.

Sekhetho sa mofuta oa NAL tlhaloso
0 Mofuta o sa tsejoeng
1 Sekhechana sa setšoantšo se kentsoeng ntle le IDR
2 Karolo ea data ea selae se khouto A
3 Karolo ea data ea selae se khouto B
4 Karolo ea data ea selae se khouto C
5 Sekhechana sa IDR se kentsoeng sa setšoantšo sa IDR
6 Lintlha tse ling mabapi le katoloso ea SEI
7 SPS Sequence Parameter Set
8 Sehlopha sa liparamente tsa setšoantšo sa PPS
9 Fumana karohano
10 Qetello ya tatellano
11 Qetello ea khoele
... ...

Ka tloaelo NAL ea pele ea molapo o fokolang ke SPS. Mofuta ona oa NAL o na le boikarabello ba ho tsebisa ka mefuta e tloaelehileng ea khouto joalo ka profil, boemo, tharollo, jj.

Haeba re ka tlola lesupa la pele la sync, re ka khetha baiti ea pele ho fumana hore na ke mofuta ofe oa NAL oa pele.

Ka mohlala, byte ea pele ka mor'a letšoao la sync ke 01100111, moo karolo ea pele (0) e tšimong forbidden_zero_bit. Li-bits tse 2 tse latelang (11) e re bolella tšimo nal_ref_idc, e bontšang hore na NAL ena ke sebaka sa litšupiso kapa che. Le li-bits tse 5 tse setseng (00111) e re bolella tšimo nal_unit_mofuta, tabeng ena ke SPS block (7) NAL.

Bobeli ba bobeli (binary=01100100, hex=0x64, Dec=100) ho SPS NAL ke lebala profile_idc, e bontshang profaele e sebedisitsweng ke encoder. Tabeng ena, ho ile ha sebelisoa boemo bo phahameng bo lekanyelitsoeng (ke hore, boemo bo phahameng bo se nang tšehetso ea likarolo tse peli tsa B).

Codec ea video e sebetsa joang? Karolo ea 2. Eng, hobaneng, joang

Haeba u sheba litlhaloso tsa bitstream H.264 bakeng sa SPS NAL, re tla fumana boleng bo bongata bakeng sa lebitso la paramente, sehlopha le tlhaloso. Ka mohlala, a re shebeng masimo pic_width_in_mbs_minus_1 и pic_height_in_map_units_minus_1.

Lebitso la parameter sehlopha tlhaloso
pic_width_in_mbs_minus_1 0 ue(v)
pic_height_in_map_units_minus_1 0 ue(v)

Haeba re etsa ts'ebetso ea lipalo ka boleng ba likarolo tsena, re tla fumana tharollo. Motho a ka emela 1920 x 1080 a sebelisa pic_width_in_mbs_minus_1 ka boleng ba 119 ((119 + 1) * macroblock_size = 120 * 16 = 1920). Hape, ho boloka sebaka, ho fapana le ho kenyelletsa 1920, re e entse ka 119.

Haeba re tsoela pele ho sheba video ea rona e entsoeng ka mokhoa oa binary (mohlala: xxd -b -c 11 v/minimal_yuv420.h264), joale u ka ea ho NAL ea ho qetela, e leng foreimi ka boeona.

Codec ea video e sebetsa joang? Karolo ea 2. Eng, hobaneng, joang

Mona re bona boleng ba eona ba pele ba 6 byte: 01100101 10001000 10000100 00000000 00100001 11111111. Kaha byte ea pele e tsejoa e bontša mofuta oa NAL, tabeng ena (00101) ke sekhechana sa IDR (5), ebe u ka se hlahloba ho ea pele:

Codec ea video e sebetsa joang? Karolo ea 2. Eng, hobaneng, joang

U sebelisa tlhaiso-leseling e boletsoeng, ho tla khonahala ho khetholla mofuta oa sekhechana (mofuta_selae) le nomoro ea foreimi (nomoro_ea_foreimi) hara mafapha a mang a bohlokwa.

Ho fumana boleng ba likarolo tse ling (ue(v), me(v), se(v) kapa te(v)), re hloka ho khetholla sekhechana ka ho sebelisa decoder e khethehileng e thehiloeng ho eona Exponential Golomb khoutu. Mokhoa ona o sebetsa hantle haholo bakeng sa ho khouta boleng bo fapaneng, haholo ha ho na le litekanyetso tse ngata tsa kamehla.

Melao ea boitšoaro mofuta_selae и nomoro_ea_foreimi tsa video ena ke 7 (I-fragment) le 0 (foreimi ea pele).

Molapo o fokolang o ka nkoa e le protocol. Haeba u batla ho tseba ho eketsehileng ka bitstream, u lokela ho bua ka tlhaloso ITU H.264. Mona ke setšoantšo sa macro se bonts'ang moo data ea setšoantšo e leng teng (YUV ka sebopeho se petelitsoeng).

Codec ea video e sebetsa joang? Karolo ea 2. Eng, hobaneng, joang

Li-bitstreams tse ling li ka hlahlojoa, joalo ka VP9, H.265 (HEVC) kapa esita le bitstream ea rona e ncha e ntle ka ho fetisisa AV1. Na kaofela lia tšoana? Che, empa hang ha u utloisisa bonyane e le 'ngoe, ho bonolo haholo ho utloisisa tse ling kaofela.

U batla ho itloaetsa? Hlahloba H.264 bitstream

U ka hlahisa video ea foreimi e le 'ngoe' me u sebelise MediaInfo ho hlahloba bitstream H.264. Ha e le hantle, ha ho letho le u thibelang ho sheba khoutu ea mohloli o hlahlobang molapo o monyenyane H.264 (AVC).

Codec ea video e sebetsa joang? Karolo ea 2. Eng, hobaneng, joang

Bakeng sa boikoetliso, u ka sebelisa Intel Video Pro Analyzer (na ke ne ke se ke boletse hore lenaneo le lefshoa, empa ho na le mofuta oa teko ea mahala o nang le moeli oa liforeimi tse 10?).

Codec ea video e sebetsa joang? Karolo ea 2. Eng, hobaneng, joang

tjhebokakaretso

Hlokomela hore li-codec tse ngata tsa morao-rao li sebelisa mohlala o tšoanang oo re sa tsoa ithuta oona. Mona, ha re shebeng setšoantšo sa block ea codec ea video Thor. E na le mehato eohle eo re fetileng ho eona. Taba eohle ea poso ena ke bonyane ho u fa kutloisiso e ntle ea boqapi le litokomane sebakeng sena.

Codec ea video e sebetsa joang? Karolo ea 2. Eng, hobaneng, joang

Nakong e fetileng, ho ne ho baloa hore 139 GB ea sebaka sa disk e tla hlokoa ho boloka faele ea video e tšoarellang hora e le 'ngoe ka boleng ba 720p le 30 fps. Haeba u sebelisa mekhoa e boletsoeng sehloohong sena (li-inter-frame le likhakanyo tsa ka hare, phetoho, quantization, entropy coding, joalo-joalo), u ka khona ho finyella (ho itšetlehile ka hore re sebelisa 0,031 bits ka pixel), video e ntle haholo. boleng bo khotsofatsang, bo nka 367,82 MB feela, eseng 139 GB ea memori.

H.265 e fihlella joang tekanyo e ntle ea compression ho feta H.264?

Kaha joale re tseba haholoanyane ka hore na li-codec li sebetsa joang, ho bonolo ho utloisisa hore na li-codec tse ncha li ka fana ka liqeto tse phahameng ka li-bits tse fokolang.

Haeba re bapisa AVC и HEVC, ho bohlokoa ho hopola hore hoo e batlang e le kamehla ke khetho pakeng tsa boima bo boholo ba CPU le karo-karolelano ea khatello.

HEVC e na le likhetho tse ngata tsa karolo (le karolwana) ho feta AVC, litaelo tse ling tsa ho lepa ka hare, khouto e ntlafalitsoeng ea entropy, le tse ling. Lintlafatso tsena kaofela li entsoe H.265 e khonang ho hatella 50% ho feta H.264.

Codec ea video e sebetsa joang? Karolo ea 2. Eng, hobaneng, joang

Karolo ea pele: Lintlha tsa motheo tsa ho sebetsa ka video le litšoantšo

Source: www.habr.com

Eketsa ka tlhaloso