Ingxenye yokuqala: Izisekelo zokusebenza ngevidiyo nezithombe
Yini Ikhodekhi yevidiyo iwucezu lwesofthiwe/izingxenyekazi zekhompuyutha ezicindezela kanye/noma ezinciphisa ividiyo yedijithali.
Yini? Naphezu kwemikhawulo ethile kokubili ngokomkhawulokudonsa kanye
futhi ngokuya ngendawo yokugcina idatha, imakethe ifuna ividiyo yekhwalithi ephezulu kakhulu. Uyakhumbula ukuthi kokuthunyelwe kokugcina sibale kanjani ubuncane obudingekayo bozimele abangu-30 ngesekhondi, amabhithi angu-24 ngephikseli ngalinye, ngokulungiswa okungu-480x240? Sithole 82,944 Mbit/s ngaphandle kokucindezelwa. Ukucindezela okwamanje ukuphela kwendlela ngokuvamile yokudlulisa i-HD/FullHD/4K kuzikrini zikamabonakude kanye ne-inthanethi. Kufinyelelwa kanjani lokhu? Manje ake sibheke kafushane izindlela eziyinhloko.
Ukuhumusha kwenziwe ngosekelo lwe-EDISON Software.Sithembisene umshado
ukuhlanganiswa kwezinhlelo zokubhekwa kwevidiyo Futhisakha i-microtomograph .
I-Codec vs Isiqukathi
Iphutha elivamile elenziwa abasanda kuzalwa ukudida ikhodekhi yevidiyo yedijithali nesiqukathi sevidiyo yedijithali. Isiqukathi siyifomethi ethile. Isisonga esiqukethe imethadatha yevidiyo (futhi mhlawumbe yomsindo). Ividiyo ecindezelwe ingacatshangwa njengomthwalo wesitsha.
Ngokuvamile, ukunwetshwa kwefayela levidiyo kubonisa uhlobo lwalo lwesiqukathi. Isibonelo, ifayela elithi video.mp4 cishe liyisitsha MPEG-4 Ingxenye 14, futhi ifayela elinegama elithi video.mkv kungenzeka kakhulu
Umlando omncane
Ngaphambi kokuthi sifike Kanjani?, ake singene shi emlandweni ukuze siqonde kangcono amakhodekhi amadala.
Ikhodekhi yevidiyo H.261 yavela ngo-1990 (ngobuchwepheshe - ngo-1988) futhi yadalelwa ukusebenza ngenani lokudlulisa idatha lika-64 Kbps. Ivele isebenzise imibono efana nokusampula kombala, ama-macroblocks, njll. Izinga le-codec yevidiyo lashicilelwa ngo-1995 H.263, eyathuthukiswa kwaze kwaba ngu-2001.
Inguqulo yokuqala yaqedwa ngo-2003 H.264/AVC. Ngawo lowo nyaka, i-TrueMotion ikhiphe ikhodekhi yayo yamahhala yevidiyo elahlekile ebizwa VP3. I-Google ithenge inkampani ngo-2008, ukuyikhulula VP8 ngawo lowo nyaka. NgoDisemba 2012, i-Google yakhululwa VP9, futhi isekelwa cishe ku-ΒΎ yemakethe yesiphequluli (okuhlanganisa namadivaysi eselula).
AV1 iyikhodekhi yevidiyo yamahhala nevulekile ethuthukiswe ngu I-Alliance for Open Media (I-AOMedia), okufaka izinkampani ezidume kakhulu, njenge: Google, Mozilla, Microsoft, Amazon, Netflix, AMD, ARM, NVidia, Intel neCisco. Inguqulo yokuqala yekhodekhi, 0.1.0, yashicilelwa ngo-April 7, 2016.
Ukuzalwa kwe-AV1
Ekuqaleni kuka-2015, i-Google yayisebenza VP10U-Xiph (ophethwe yi-Mozilla) ubesasebenza Daala, futhi i-Cisco yenza i-codec yayo yamahhala yevidiyo ebizwa ngokuthi Thor.
Khona-ke, MPEG LA okokuqala kumenyezelwe imikhawulo yonyaka ye HEVC (H.265) kanye nenkokhelo ephindwe izikhathi ezingu-8 kune-H.264, kodwa ngokushesha baphinde bashintsha imithetho:
akukho mkhawulo wonyaka,
imali yokuqukethwe (0,5% yemali engenayo) kanye
imali yeyunithi cishe iphindwe izikhathi ezingu-10 kune-H.264.
I-Alliance for Open Media yadalwa izinkampani ezivela emikhakheni ehlukene: abakhiqizi bemishini (Intel, AMD, ARM, Nvidia, Cisco), abahlinzeki bokuqukethwe (i-Google, i-Netflix, i-Amazon), abadali besiphequluli (i-Google, i-Mozilla) nabanye.
Izinkampani bezinomgomo ofanayo - ikhodekhi yevidiyo engakhokhelwa. Bese kuvela AV1 ngelayisense yelungelo lobunikazi elilula kakhulu. U-Timothy B. Terryberry unikeze isethulo esihle kakhulu esibe umsuka womqondo wamanje we-AV1 kanye nemodeli yawo yokulayisensa.
Uzomangala ukwazi ukuthi ungakwazi ukuhlaziya i-codec ye-AV1 ngesiphequluli (labo abanentshisekelo bangaya ku-
I-codec yomhlaba wonke
Ake sibheke izindlela eziyinhloko ezingaphansi kwekhodekhi yevidiyo yendawo yonke. Iningi lale miqondo ilusizo futhi isetshenziswa kuma-codec anamuhla njenge VP9, AV1 ΠΈ HEVC. Ngiyakuxwayisa ukuthi izinto eziningi ezichazweyo zizoba lula. Kwesinye isikhathi izibonelo zomhlaba wangempela (njengaku-H.264) zizosetshenziswa ukukhombisa ubuchwepheshe.
Isinyathelo sokuqala - ukuhlukanisa isithombe
Isinyathelo sokuqala siwukuhlukanisa ifreyimu ibe yizigaba eziningana, izigatshana nangale kwalokho.
Kwani? Kunezizathu eziningi. Uma sihlukanisa isithombe, singabikezela ngokunembe kakhudlwana i-vector enyakazayo ngokusebenzisa izingxenye ezincane zezingxenye ezincane ezihambayo. Ngenkathi ngengemuva elimile ungakwazi ukukhawulela ezigabeni ezinkulu.
Ama-codec ngokuvamile ahlela lezi zigaba zibe izigaba (noma izingcezu), ama-macroblocks (noma amabhlogo ezihlahla ezibhala ngekhodi), kanye nezigatshana eziningi. Usayizi omkhulu walezi zihlukanisi uyahlukahluka, i-HEVC iyibeka ku-64x64 kuyilapho i-AVC isebenzisa u-16x16, futhi izingxenye ezingaphansi zingahlukaniswa zibe osayizi abangu-4x4.
Uyazikhumbula izinhlobo zozimele ezivela esihlokweni sokugcina?! Okufanayo kungasetshenziswa kumabhulokhi, ukuze sibe ne-I-fragment, i-B-block, i-P-macroblock, njll.
Kulabo abafuna ukuzilolonga, bheka ukuthi isithombe sihlukaniswe kanjani ngezigaba nezigatshana. Ukuze wenze lokhu, ungasebenzisa lesi esivele sishiwo esihlokweni esandulele.
Isinyathelo sesibili - ukubikezela
Uma sesinezigaba, singazenzela izibikezelo zezinkanyezi. Ngoba INTER izibikezelo kufanele idluliselwe ama-motion vectors futhi okusele, futhi ekubikezelweni kwe-INTRA kuyadluliselwa isibikezelo isiqondiso kanye nensalela.
Isinyathelo sesithathu - ukuguqulwa
Uma sesinebhulokhi eyinsalela (isigaba esibikezelwe β isigaba sangempela), kuyenzeka ukuthi siyiguqule ngendlela yokuthi sazi ukuthi imaphi amaphikseli angalahlwa ngenkathi sigcina ikhwalithi iyonke. Kukhona ezinye izinguquko ezinikeza ukuziphatha okuqondile.
Nakuba zikhona ezinye izindlela, ake sizibheke kabanzi. ukuguqulwa kwe-cosine okuhlukile (I-DCT - kusuka ukuguqulwa kwe-cosine okuhlukile). Imisebenzi esemqoka ye-DCT:
- Iguqula amabhlogo wamaphikseli abe amabhulokhi anosayizi olinganayo wama-coefficients of frequency.
- Kufinyeza amandla okusiza ekuqedeni ukushoda kwendawo.
- Ihlinzeka ngokubuyiselwa emuva.
Februwari 2, 2017 Sintra R.J. (Cintra, RJ) kanye ne-Bayer F.M. (I-Bayer FM) ishicilele i-athikili mayelana nokuguqulwa okufana ne-DCT kokuminyanisa kwesithombe okudinga kuphela izengezo eziyi-14.
Ungakhathazeki uma ungaqondi izinzuzo zento ngayinye. Manje ake sisebenzise izibonelo ezithile ukuze sibone ukubaluleka kwazo kwangempela.
Ake sithathe leli bhulokhi lamaphikseli angu-8x8:
Leli bhulokhi lihunyushwe esithombeni esilandelayo samaphikseli angu-8 by 8:
Faka i-DCT kule bhulokhi yamaphikseli futhi uthole ibhulokhi engu-8x8 yama-coefficients:
Futhi uma sinikeza leli bhulokhi lama-coefficients, sizothola isithombe esilandelayo:
Njengoba ubona, ayibukeki njengesithombe sokuqala. Ungabona ukuthi i-coefficient yokuqala ihluke kakhulu kuzo zonke ezinye. Le coefficient yokuqala yaziwa ngokuthi i-DC coefficient, emele wonke amasampuli kulungu lokufakwayo, into efana nesilinganiso.
Leli bhulokhi lama-coefficients linendawo ethokozisayo: lihlukanisa izingxenye ze-high-frequency kusukela kwe-low-frequency.
Esithombeni, amandla amaningi agxiliswe kumafrikhwensi aphansi, ngakho-ke uma uguqulela isithombe ezingxenyeni zaso zokuvama futhi ulahle ama-coefficients aphezulu, unganciphisa inani ledatha elidingekayo ukuchaza isithombe ngaphandle kokudela ikhwalithi yesithombe eningi kakhulu.
Imvamisa isho ukuthi isignali ishintsha ngokushesha kangakanani.
Ake sizame ukusebenzisa ulwazi esilutholile esimweni sokuhlola ngokuguqula isithombe sangempela sibe imvamisa yaso (ibhulokhi yama-coefficients) sisebenzisa i-DCT bese silahla ingxenye yama-coefficients abaluleke kakhulu.
Okokuqala siyiguqulela kusizinda semvamisa.
Okulandelayo, silahla ingxenye (67%) yama-coefficients, ikakhulukazi ingxenye engezansi kwesokudla.
Okokugcina, sakha kabusha isithombe esisuka kuleli bhulokhi elahliwe lama-coefficients (khumbula, kufanele singaguquleki) futhi sisiqhathanise nesangempela.
Siyabona ukuthi ifana nesithombe sokuqala, kodwa miningi umehluko kuneyasekuqaleni. Silahle u-67,1875% futhi sisenakho okufana nokwasekuqaleni. Kube nokwenzeka ukulahla ngokucabangisisa ama-coefficient ukuze uthole isithombe sekhwalithi engcono nakakhulu, kodwa leso isihloko esilandelayo.
I-coefficient ngayinye ikhiqizwa kusetshenziswa wonke amaphikseli
Okubalulekile: i-coefficient ngayinye ayimaphi ngokuqondile iphikseli eyodwa, kodwa iyisamba esinesisindo sawo wonke amaphikseli. Le grafu emangalisayo ibonisa ukuthi ama-coefficients okuqala nawesibili abalwa kanjani kusetshenziswa izisindo ezihlukile kunkomba ngayinye.
Ungazama futhi ukubona ngeso lengqondo i-DCT ngokubheka ukwakheka kwesithombe okulula okusekelwe kukho. Isibonelo, nalu uphawu A olukhiqizwa kusetshenziswa isisindo se-coefficient ngayinye:
Isinyathelo sesine - quantization
Ngemva kokuphonsa amanye ama-coefficients esinyathelweni sangaphambilini, esinyathelweni sokugcina (ukuguqulwa) senza uhlobo olukhethekile lwe-quantization. Kulesi sigaba kwamukelekile ukulahlekelwa ulwazi. Noma, kalula, sizolinganisa ama-coefficients ukuze sifinyelele ukuminyanisa.
Ungalinganisa kanjani ibhulokhi yama-coefficients? Enye yezindlela ezilula i-quantization efanayo, lapho sithatha ibhulokhi, sihlukanise ngenani elilodwa (ngo-10) futhi sizungeze umphumela.
Singakwazi yini ukuhlehlisa leli bhulokhi lama-coefficients? Yebo, singakwazi, ukuphindaphinda ngenani elifanayo esihlukanise ngalo.
Le ndlela ayiyona engcono kakhulu ngoba ayikunaki ukubaluleka kwe-coefficient ngayinye. Umuntu angasebenzisa i-matrix yamaquantizer esikhundleni senani elilodwa, futhi le matrix ingaxhaphaza impahla ye-DCT ngokulinganisa iningi eliphansi kwesokudla kanye nedlanzana elingaphezulu kwesokunxele.
Isinyathelo sesi-5 - ukufaka ikhodi ye-entropy
Uma sesilinganisele idatha (amabhulokhi wesithombe, izingcezu, ozimele), sisengakwazi ukuyiminyanisa ngokungenakulahlekelwa. Kunezindlela eziningi ze-algorithmic zokucindezela idatha. Sizobheka ngokushesha ezinye zazo, ukuze uthole ukuqonda okujulile ungafunda incwadi ethi Understanding Compression: Data Compression for Modern Developers ("
Umbhalo wekhodi wevidiyo usebenzisa i-VLC
Ake sithi sinochungechunge lwezinhlamvu: a, e, r ΠΈ t. Amathuba (asuka ku-0 kuye ku-1) okuthi uhlamvu ngalunye luvela kangaki ekusakazweni avezwa kuleli thebula.
a | e | r | t | |
---|---|---|---|---|
Amathuba | 0,3 | 0,3 | 0,2 | 0,2 |
Singanikeza amakhodi kanambambili ahlukile (okungcono amancane) kwalawo okungenzeka kakhulu, kanye namakhodi amakhulu kunamathuba amancane.
a | e | r | t | |
---|---|---|---|---|
Amathuba | 0,3 | 0,3 | 0,2 | 0,2 |
Ikhodi kanambambili | 0 | 10 | 110 | 1110 |
Sicindezela ukusakaza, sicabanga ukuthi sizogcina sichitha amabhithi angu-8 ngohlamvu ngalunye. Ngaphandle kokucindezelwa, amabhithi angama-24 azodingeka ngohlamvu ngalunye. Uma ushintsha umlingisi ngamunye ngekhodi yakhe, uthola ukonga!
Isinyathelo sokuqala ukuhlanganisa uhlamvu e, elilingana no-10, kanti uhlamvu lwesibili ngu a, eyengezwe (hhayi ngendlela yezibalo): [10][0], futhi ekugcineni uhlamvu lwesithathu t, okwenza i-bitstream yethu yokugcina ecindezelwe ilingane ne-[10][0][1110] noma 1001110, okudinga amabhithi angu-7 kuphela (isikhala esiphindwe izikhathi ezingu-3,4 kunesokuqala).
Sicela uqaphele ukuthi ikhodi ngayinye kufanele kube ikhodi ehlukile enesiqalo.
Kokubili isishumeki kanye nesikhiphi khodi kufanele zibe nokufinyelela kuthebula lophawu elinamakhodi abo kanambambili. Ngakho-ke, kuyadingeka futhi ukuthumela itafula njengokufakwayo.
Ukubhala ikhodi ye-arithmetic
Ake sithi sinochungechunge lwezinhlamvu: a, e, r, s ΠΈ t, futhi amathuba azo avezwe kuleli thebula.
a | e | r | s | t | |
---|---|---|---|---|---|
Amathuba | 0,3 | 0,3 | 0,15 | 0,05 | 0,2 |
Sisebenzisa leli thebula, sizokwakha ububanzi obuqukethe zonke izinhlamvu ezingaba khona, ezihlungwe ngenombolo enkulu kunazo zonke.
Manje ake sihlanganise ukusakaza kwezinhlamvu ezintathu: Udle.
Okokuqala khetha uhlamvu lokuqala e, esezingeni eliphansi ukusuka ku-0,3 kuye ku-0,6 (akubandakanyi). Sithatha lesi sigaba esingaphansi bese sisehlukanisa futhi ngezilinganiso ezifanayo nangaphambili, kodwa kulobu bubanzi obusha.
Masiqhubeke sibhala ngekhodi ukusakaza kwethu Udle. Manje thatha umlingiswa wesibili a, esesigabeni esisha esisuka ku-0,3 kuye ku-0,39, bese sithatha uhlamvu lwethu lokugcina t futhi siphinda inqubo efanayo futhi, sithola ububanzi obuncane bokugcina ukusuka ku-0,354 kuya ku-0,372.
Sidinga nje ukukhetha inombolo ebangeni lokugcina ukusuka ku-0,354 kuye ku-0,372. Asikhethe u-0,36 (kodwa ungakhetha noma iyiphi enye inombolo kulolu hlu). Ngale nombolo kuphela sizokwazi ukubuyisela ukusakaza kwethu kwangempela. Kufana nokuthi sidweba umugqa phakathi kwebanga ukuze sibhale ukusakaza kwethu.
Ukusebenza okuphambene (okungukuthi, ukuqopha) ilula ngendlela efanayo: ngenombolo yethu engu-0,36 kanye nobubanzi bethu bokuqala, singaqhuba inqubo efanayo. Kodwa manje, sisebenzisa le nombolo, sihlonza ukusakaza okufakwe ikhodi kusetshenziswa le nombolo.
Ngobubanzi bokuqala, siqaphela ukuthi inombolo yethu ihambisana nocezu, ngakho-ke lolu uhlamvu lwethu lokuqala. Manje siphinda sihlukanise lolu hlu oluncane ngokulandela inqubo efanayo neyangaphambili. Lapha ungabona ukuthi u-0,36 uhambisana nophawu a, futhi ngemva kokuphinda inqubo safika kumlingiswa wokugcina t (ukwakha ukusakaza kwethu kwangempela okufakwe ikhodi Udle).
Kokubili isishumeki kanye nesikhiphi khodi kumele zibe nethebula lamathuba ophawu, ngakho-ke kuyadingeka ukulithumela nakudatha yokufaka.
Inhle kakhulu, akunjalo? Obeqhamuka nalesi sixazululo ubehlakaniphe kakhulu. Amanye amakhodekhi evidiyo asebenzisa le ndlela (noma okungenani ayinikeze njengenketho).
Umqondo uwukucindezela ngokungalahleki ukusakazwa kwe-quantized bit. Impela lesi sihloko sishoda ngamathani emininingwane, izizathu, ukuhwebelana, njll. Kodwa uma ungunjiniyela, kufanele wazi okwengeziwe. Amakhodekhi amasha azama ukusebenzisa ama-algorithms wombhalo wekhodi we-entropy ahlukene njengalokhu ANS.
Isinyathelo 6 - ifomethi ye-bitstream
Ngemva kokwenza konke lokhu, okusele nje ukuqaqa amafreyimu acindezelwe kumongo wezinyathelo ezenziwe. Idikhoda kufanele yaziswe ngokusobala ngezinqumo ezenziwe isishumeki. Idekhoda kufanele inikezwe lonke ulwazi oludingekayo: ukujula kancane, isikhala sombala, ukulungiswa, ulwazi lokubikezela (amavekhtha anyakazayo, isibikezelo se-INTER esiqondisayo), iphrofayili, ileveli, izinga lozimele, uhlobo lozimele, inombolo yozimele nokunye okuningi.
Sizobheka ngokushesha i-bitstream H.264. Isinyathelo sethu sokuqala ukudala i-H.264 bitstream encane (i-FFmpeg ngokuzenzakalelayo yengeza zonke izinketho zombhalo wekhodi njengokuthi SEI NAL - sizothola ukuthi kuyini ngokuqhubekayo). Singakwenza lokhu sisebenzisa eyethu inqolobane kanye ne-FFmpeg.
./s/ffmpeg -i /files/i/minimal.png -pix_fmt yuv420p /files/v/minimal_yuv420.h264
Lo myalo uzokhiqiza i-bitstream eluhlaza H.264 enohlaka olulodwa, isixazululo esingu-64Γ64, nesikhala sombala YUV420. Kulokhu, isithombe esilandelayo sisetshenziswa njengohlaka.
H.264 bitstream
Standard AVC (H.264) inquma ukuthi ulwazi luzothunyelwa ngama-macroframes (ngomqondo wenethiwekhi), okuthiwa nal (leli izinga lokukhipha inethiwekhi). Umgomo oyinhloko we-NAL ukuhlinzeka ngesethulo sevidiyo "esilungele iwebhu". Leli zinga kufanele lisebenze kuma-TV (asekelwe ekusakazweni), i-inthanethi (okusekelwe emaphaketheni).
Kukhona umaka wokuvumelanisa wokuchaza imingcele yezinto ze-NAL. Ithokheni ngayinye yokuvumelanisa iqukethe inani 0x00 0x00 0x01, ngaphandle kweyokuqala, elingana ne 0x00 0x00 0x00 0x01. Uma siqala i-hexdump ku-bitstream ekhiqiziwe ye-H.264, sikhomba okungenani amaphethini amathathu e-NAL ekuqaleni kwefayela.
Njengoba kushiwo, i-decoder akumele yazi idatha yesithombe kuphela, kodwa futhi nemininingwane yevidiyo, ifreyimu, imibala, imingcele esetshenzisiwe, nokunye okuningi. Ibhayithi yokuqala ye-NAL ngayinye ichaza isigaba nohlobo lwayo.
Inkomba yohlobo lwe-NAL | Incazelo |
---|---|
0 | Uhlobo olungaziwa |
1 | Isiqeshana sesithombe esifakwe ikhodi ngaphandle kwe-IDR |
2 | Isigaba sedatha yocezu olunekhodi A |
3 | Isigaba sedatha yocezu olunekhodi B |
4 | Isigaba sedatha yocezu olunekhodi C |
5 | Isiqephu se-IDR esifakwe ikhodi sesithombe se-IDR |
6 | Ulwazi olwengeziwe mayelana nesandiso se-SEI |
7 | Isethi Yepharamitha Yokulandelana kwe-SPS |
8 | Isethi yamapharamitha wesithombe se-PPS |
9 | Finyelela isihlukanisi |
10 | Ukuphela kokulandelana |
11 | Ukuphela kochungechunge |
... | ... |
Imvamisa i-NAL yokuqala ye-bitstream ithi SPS. Lolu hlobo lwe-NAL lubophezelekile ukwazisa ngeziguquko ezijwayelekile zombhalo wekhodi njengephrofayili, ileveli, ukulungiswa, njll.
Uma seqa umaka wokuqala wokuvumelanisa, singakwazi ukunquma ibhayithi yokuqala ukuze sithole ukuthi yiluphi uhlobo lwe-NAL lokuqala.
Isibonelo, ibhayithi yokuqala ngemva kwethokheni yokuvumelanisa 01100111, lapho ingxenye yokuqala (0) usensimini fi-orbidden_zero_bit. Amabhithi angu-2 alandelayo (11) usitshela insimu nal_ref_idc, okubonisa ukuthi le NAL iyinkambu yereferensi noma cha. Futhi izingcezu ezi-5 ezisele (00111) usitshela insimu uhlobo_lweyunithi_ephelele, kulokhu kuyibhulokhi ye-SPS (7) NAL.
Ibhayithi yesibili (binary=01100100, hex=0x64, Dec=100) ku-SPS NAL yinkambu profile_idc, okubonisa iphrofayili esetshenziswe isifaki khodi. Kulokhu, kusetshenziswe iphrofayili ephezulu elinganiselwe (okungukuthi, iphrofayili ephezulu ngaphandle kokusekelwa kwe-B-segment kabili).
Uma ubheka ukucaciswa kwe-bitstream H.264 ku-SPS NAL, sizothola amanani amaningi egama lepharamitha, isigaba kanye nencazelo. Ngokwesibonelo, ake sibheke amasimu pic_width_in_mbs_minus_1 ΠΈ pic_height_in_map_units_minus_1.
Igama lepharamitha | isigaba | Incazelo |
---|---|---|
pic_width_in_mbs_minus_1 | 0 | ue(v) |
pic_height_in_map_units_minus_1 | 0 | ue(v) |
Uma senza eminye imisebenzi yezibalo ngamavelu ale mikhakha, sizothola isixazululo. Umuntu angamela u-1920 x 1080 esebenzisa pic_width_in_mbs_minus_1 ngenani elingu-119 ((119 + 1) * macroblock_size = 120 * 16 = 1920). Futhi, ukonga isikhala, esikhundleni sokufaka ikhodi ngo-1920, sikwenze ngo-119.
Uma siqhubeka nokuhlola ividiyo yethu edaliwe ngendlela kanambambili (isibonelo: xxd -b -c 11 v/minimal_yuv420.h264), bese ungaya ku-NAL yokugcina, okuwuhlaka ngokwalo.
Lapha sibona amanani ayo okuqala angu-6 byte: 01100101 10001000 10000100 00000000 00100001 11111111. Njengoba ibhayithi yokuqala yaziwa ngokukhombisa uhlobo lwe-NAL, kulokhu (00101) iwucezu lwe-IDR (5), bese ungaqhubeka uyihlole:
Ngokusebenzisa imininingwane ecacisiwe, kuzokwazi ukuqopha uhlobo lwengqephu (uhlobo_locezu) kanye nenombolo yozimele (inombolo_yohlaka) phakathi kweminye imikhakha ebalulekile.
Ukuthola amanani kwezinye izinkambu (ue(v), me(v), se(v) noma te(v)), sidinga ukuqopha ucezu sisebenzisa isiqophi sekhodi esikhethekile esisekelwe kuso
Amanani uhlobo_locezu ΠΈ inombolo_yohlaka kule vidiyo kukhona 7 (I-fragment) kanye no-0 (uhlaka lokuqala).
Ukusakaza kancane kungacatshangwa njengephrothokholi. Uma ufuna ukwazi okwengeziwe mayelana ne-bitstream, kufanele ubhekisele ekucacisweni ITU H.264. Nawu umdwebo omkhulu obonisa ukuthi idatha yesithombe ikuphi (I-YUV ngefomu elicindezelwe).
Amanye ama-bitstreams angahlolwa, njenge VP9, H.265 (HEVC) noma i-bitstream yethu entsha ehamba phambili AV1. Ingabe zonke ziyefana? Cha, kodwa uma uqonda okungenani eyodwa, kulula kakhulu ukuqonda okunye.
Ufuna ukuzilolonga? Hlola i-H.264 bitstream
Ungakha ividiyo yohlaka olulodwa futhi usebenzise i-MediaInfo ukuhlola i-bitstream H.264. Eqinisweni, akukho okukuvimbela ukuthi ubheke ikhodi yomthombo ehlaziya ukusakaza kancane H.264 (AVC).
Ukuze uzijwayeze, ungasebenzisa i-Intel Video Pro Analyzer (ingabe bese ngishilo ukuthi uhlelo lukhokhiwe, kodwa kukhona inguqulo yesilingo samahhala enomkhawulo wamafreyimu angu-10?).
Uhlolojikelele
Qaphela ukuthi ama-codec amaningi esimanje asebenzisa imodeli efanayo esisanda kuyifunda. Lapha, ake sibheke umdwebo webhlokhi wekhodekhi yevidiyo Thor. Iqukethe zonke izinyathelo esesidlule kuzo. Iphuzu eliphelele lalokhu okuthunyelwe okungenani ukukunikeza ukuqonda okungcono kwezinto ezintsha nemibhalo kule ndawo.
Ngaphambilini, kubalwe ukuthi i-139 GB yesikhala sediski izodingeka ukugcina ifayela levidiyo elihlala ihora elilodwa ngekhwalithi engu-720p kanye ne-30 fps. Uma usebenzisa izindlela okuxoxwe ngazo kulesi sihloko (i-inter-frame kanye nezibikezelo zangaphakathi, ukuguqulwa, i-quantization, i-entropy coding, njll.), ungafinyelela (ngokusekelwe eqinisweni lokuthi sisebenzisa amabhithi angu-0,031 ngephikseli ngayinye), ividiyo ikhwalithi egculisayo, ethatha kuphela i-367,82 MB, hhayi i-139 GB yememori.
I-H.265 ifinyelela kanjani isilinganiso esingcono sokucindezela kune-H.264?
Manje njengoba sesazi kabanzi mayelana nendlela ama-codec asebenza ngayo, kulula ukuqonda ukuthi ama-codec amasha angaletha kanjani izinqumo eziphakeme ngamabhithi ambalwa.
Uma siqhathanisa AVC ΠΈ HEVC, kufanelekile ukukhumbula ukuthi lokhu cishe njalo ukukhetha phakathi komthwalo omkhulu we-CPU kanye nesilinganiso sokucindezela.
HEVC inezinketho eziningi zesigaba (kanye nesigatshana) kune AVC, izikhombisi-ndlela zokuqagela kwangaphakathi okwengeziwe, ukubhala ngekhodi kwe-entropy okuthuthukisiwe, nokuningi. Konke lokhu kuthuthukiswa kwenziwe H.265 ekwazi ukucindezela 50% ngaphezu H.264.
Ingxenye yokuqala: Izisekelo zokusebenza ngevidiyo nezithombe
Source: www.habr.com