Kepiye cara kerja codec video? Pérangan 2. Apa, kok, kepriye

Pérangan pisanan: Dasar nggarap video lan gambar

Kepiye cara kerja codec video? Pérangan 2. Apa, kok, kepriye

Apa? Codec video minangka piranti lunak / hardware sing ngompres lan / utawa decompress video digital.

Kanggo apa? Senadyan watesan tartamtu ing babagan bandwidth lan
lan babagan ruang panyimpenan data, pasar mbutuhake video sing luwih dhuwur. Apa sampeyan ngelingi carane ing kirim pungkasan kita ngetung minimal sing dibutuhake kanggo 30 frame per detik, 24 bit saben piksel, kanthi resolusi 480x240? Kita nampa 82,944 Mbit / s tanpa kompresi. Kompresi saiki dadi siji-sijine cara umume ngirim HD/FullHD/4K menyang layar televisi lan Internet. Kepiye carane iki bisa ditindakake? Saiki ayo goleki kanthi ringkes cara utama.

Kepiye cara kerja codec video? Pérangan 2. Apa, kok, kepriye

Terjemahan digawe kanthi dhukungan saka EDISON Software.

Kita melu integrasi sistem pengawasan videoLan kita ngembangake microtomograph.

Codec vs Wadhah

Kesalahan umum sing ditindakake para pemula yaiku mbingungake codec video digital lan wadhah video digital. Wadah minangka format tartamtu. Bungkus sing ngemot metadata video (lan bisa uga audio). Video sing dikompres bisa dianggep minangka muatan wadhah.

Biasane, ekstensi file video nuduhake jinis wadhah. Contone, file video.mp4 mbokmenawa wadhah MPEG-4 Bagean 14, lan file sing jenenge video.mkv paling mungkin matryoshka. Kanggo mesthekake lengkap codec lan format wadhah, sampeyan bisa nggunakake FFmpeg utawa MediaInfo.

Sawetara sejarah

Sadurunge kita tekan Carane?, ayo nyilem sejarah kanggo ngerteni sawetara codec lawas sing luwih apik.

Video codec H.261 muncul ing taun 1990 (secara teknis - ing taun 1988) lan digawe kanggo operasi ing tingkat transfer data 64 Kbps. Wis nggunakake ide kayata subsampling warna, blok makro, lsp. Standar codec video diterbitake ing taun 1995 H.263, sing dikembangake nganti 2001.

Versi pisanan rampung ing taun 2003 H.264 / AVC. Ing taun sing padha, TrueMotion ngeculake codec video lossy gratis sing diarani VP3. Google tuku perusahaan ing 2008, ngeculake VP8 ing taun kang padha. Ing Desember 2012, Google dirilis VP9, lan didhukung ing babagan ¾ pasar browser (kalebu piranti seluler).

AV1 punika free lan open source video codec anyar dikembangaké dening Alliance kanggo Open Media (AOMedia), sing kalebu perusahaan sing paling misuwur, kayata: Google, Mozilla, Microsoft, Amazon, Netflix, AMD, ARM, NVidia, Intel lan Cisco. Versi pisanan codec, 0.1.0, diterbitake tanggal 7 April 2016.

Lair saka AV1

Ing awal 2015, Google nggarap VP10Xiph (sing diduweni dening Mozilla) lagi nggarap Daala, lan Cisco digawe dhewe free video codec disebut Thor.

banjur MPEG LA pisanan announced watesan taunan kanggo HEVC (H.265) lan ragad 8 kaping luwih dhuwur tinimbang kanggo H.264, nanging banjur padha ngganti aturan maneh:

ora ana watesan taunan,
ragad isi (0,5% saka revenue) lan
ragad unit kira-kira 10 kaping luwih saka H.264.

Alliance kanggo Open Media digawe dening perusahaan saka macem-macem lapangan: produsen peralatan (Intel, AMD, ARM, Nvidia, Cisco), panyedhiya konten (Google, Netflix, Amazon), pencipta browser (Google, Mozilla) lan liya-liyane.

Perusahaan kasebut duwe tujuan umum - codec video tanpa royalti. Banjur katon AV1 kanthi lisensi paten sing luwih prasaja. Timothy B. Terryberry menehi presentasi nggumunke sing dadi asal saka konsep AV1 saiki lan model lisensi.

Sampeyan bakal kaget ngerti yen sampeyan bisa nganalisa codec AV1 liwat browser (sing kasengsem bisa pindhah menyang aomanalyzer.org).

Kepiye cara kerja codec video? Pérangan 2. Apa, kok, kepriye

Codec universal

Ayo goleki mekanisme utama sing ndasari codec video universal. Umume konsep kasebut migunani lan digunakake ing codec modern kayata VP9, AV1 и HEVC. Aku ngelingake sampeyan manawa akeh perkara sing diterangake bakal disederhanakake. Kadhangkala conto donya nyata (kaya H.264) bakal digunakake kanggo nduduhake teknologi kasebut.

Langkah 1 - pamisah gambar

Langkah pisanan kanggo dibagi pigura menyang sawetara bagean, subsections lan ngluwihi.

Kepiye cara kerja codec video? Pérangan 2. Apa, kok, kepriye

Kanggo apa? Ana akeh alasan. Nalika kita pamisah gambar, kita bisa luwih akurat prédhiksi vektor gerakan kanthi nggunakake bagean cilik kanggo bagean obah cilik. Nalika kanggo latar mburi statis sampeyan bisa mbatesi dhewe menyang bagean sing luwih gedhe.

Codec biasane ngatur bagean kasebut dadi bagean (utawa potongan), blok makro (utawa blok wit coding), lan pirang-pirang subbagian. Ukuran maksimal partisi iki beda-beda, HEVC nyetel dadi 64x64 nalika AVC nggunakake 16x16, lan subpartisi bisa dipérang nganti ukuran 4x4.

Apa sampeyan ngelingi jinis pigura saka artikel pungkasan?! Padha bisa ditrapake kanggo pamblokiran, supaya kita bisa duwe I-fragmen, B-block, P-macroblock, etc.

Kanggo sing pengin latihan, deleng carane gambar dibagi dadi bagean lan subbagian. Kanggo nindakake iki, sampeyan bisa nggunakake sing wis kasebut ing artikel sadurunge. Intel Video Pro Analyzer (sing mbayar, nanging karo versi nyoba gratis sing diwatesi kanggo pisanan 10 pigura). Bagean sing dianalisis ing kene VP9:

Kepiye cara kerja codec video? Pérangan 2. Apa, kok, kepriye

Langkah 2 - prakiraan

Sawise kita duwe bagean, kita bisa nggawe ramalan astrologi kanggo wong-wong mau. Kanggo prakiraan INTER kudu ditransfer vektor gerak lan liyane, lan kanggo prakiraan INTRA ditularaké arah ramalan lan turahane.

Langkah 3 - transformasi

Sawise kita duwe blok ampas (bagean sing diprediksi → bagean nyata), bisa diowahi kanthi cara supaya kita ngerti piksel sing bisa dibuwang nalika njaga kualitas sakabèhé. Ana sawetara transformasi sing nyedhiyakake prilaku sing tepat.

Sanajan ana cara liya, ayo dideleng kanthi luwih rinci. transformasi kosinus diskrit (DCT - saka transformasi kosinus diskrit). Fungsi utama DCT:

  • Ngonversi blok piksel dadi blok koefisien frekuensi sing padha.
  • Kondensasi daya kanggo mbantu ngilangi redundansi spasial.
  • Nyedhiyakake reversibility.

2 Februari 2017 Sintra R.J. (Cintra, RJ) lan Bayer F.M. (Bayer FM) nerbitake artikel babagan transformasi kaya DCT kanggo kompresi gambar sing mung mbutuhake tambahan 14.

Aja kuwatir yen sampeyan ora ngerti keuntungan saben titik. Saiki ayo gunakake conto tartamtu kanggo ndeleng nilai nyata.

Ayo njupuk blok piksel 8x8 iki:

Kepiye cara kerja codec video? Pérangan 2. Apa, kok, kepriye

Blok iki ditampilake ing gambar 8 x 8 piksel ing ngisor iki:

Kepiye cara kerja codec video? Pérangan 2. Apa, kok, kepriye

Aplikasi DCT menyang blok piksel iki lan entuk koefisien blok 8x8:

Kepiye cara kerja codec video? Pérangan 2. Apa, kok, kepriye

Lan yen kita nggawe blok koefisien iki, kita bakal entuk gambar ing ngisor iki:

Kepiye cara kerja codec video? Pérangan 2. Apa, kok, kepriye

Nalika sampeyan bisa ndeleng, iku ora katon kaya gambar asli. Sampeyan bisa ndeleng manawa koefisien pisanan beda banget karo kabeh liyane. Koefisien pisanan iki dikenal minangka koefisien DC, sing nuduhake kabeh conto ing array input, kaya rata-rata.

Blok koefisien iki nduweni sifat sing menarik: misahake komponen frekuensi dhuwur saka komponen frekuensi rendah.

Kepiye cara kerja codec video? Pérangan 2. Apa, kok, kepriye

Ing gambar, akeh daya dikonsentrasi ing frekuensi sing luwih murah, dadi yen sampeyan ngowahi gambar dadi komponen frekuensi lan mbuwang koefisien frekuensi sing luwih dhuwur, sampeyan bisa nyuda jumlah data sing dibutuhake kanggo njlèntrèhaké gambar kasebut tanpa ngorbanaké kualitas gambar.

Frekuensi nuduhake sepira cepet owah-owahan sinyal.

Coba aplikasi kawruh sing dipikolehi ing kasus uji kanthi ngowahi gambar asli dadi frekuensi (koefisien blok) nggunakake DCT lan banjur mbuwang bagean saka koefisien sing paling ora penting.

Kaping pisanan, kita ngowahi menyang domain frekuensi.

Kepiye cara kerja codec video? Pérangan 2. Apa, kok, kepriye

Sabanjure, kita mbuwang bagean (67%) saka koefisien, utamane sisih tengen ngisor.

Kepiye cara kerja codec video? Pérangan 2. Apa, kok, kepriye

Pungkasan, kita mbangun maneh gambar saka blok koefisien sing dibuwang iki (elinga, kudu bisa diowahi) lan mbandhingake karo asline.

Kepiye cara kerja codec video? Pérangan 2. Apa, kok, kepriye

We ndeleng sing meh podho gambar asli, nanging ana akeh beda saka asli. Kita mbuwang 67,1875% lan isih entuk sing meh padha karo asline. Sampeyan bisa uga kanthi ati-ati ngilangi koefisien kanggo entuk gambar kanthi kualitas sing luwih apik, nanging iki minangka topik sabanjure.

Saben koefisien digawe nggunakake kabeh piksel

Penting: saben koefisien ora langsung dipetakan menyang siji piksel, nanging minangka jumlah bobot kabeh piksel. Grafik apik tenan iki nuduhake carane koefisien pisanan lan kaloro diwilang nggunakake bobot unik kanggo saben indeks.

Kepiye cara kerja codec video? Pérangan 2. Apa, kok, kepriye

Sampeyan uga bisa nyoba kanggo nggambarake DCT kanthi ndeleng tatanan gambar prasaja adhedhasar iku. Contone, iki simbol A sing digawe nggunakake saben koefisien bobot:

Kepiye cara kerja codec video? Pérangan 2. Apa, kok, kepriye

Langkah 4 - kuantisasi

Sawise kita mbuwang sawetara koefisien ing langkah sadurunge, ing langkah pungkasan (transformasi) kita nindakake wangun khusus kuantisasi. Ing tahap iki bisa ditrima kanggo ilang informasi. Utawa, luwih gampang, kita bakal ngitung koefisien kanggo entuk kompresi.

Kepiye carane sampeyan bisa ngitung blok koefisien? Salah sawijining cara sing paling gampang yaiku kuantisasi seragam, nalika njupuk blok, dibagi dadi siji nilai (dening 10) lan puteran asil.

Kepiye cara kerja codec video? Pérangan 2. Apa, kok, kepriye

Apa kita bisa mbalikke blok koefisien iki? Ya, kita bisa, multiplying dening nilai padha kang kita dibagi.

Kepiye cara kerja codec video? Pérangan 2. Apa, kok, kepriye

Pendekatan iki dudu sing paling apik amarga ora nggatekake pentinge saben koefisien. Siji bisa nggunakake matriks quantizer tinimbang nilai siji, lan matriks iki bisa ngeksploitasi properti DCT kanthi jumlah mayoritas sisih tengen ngisor lan minoritas ing sisih kiwa ndhuwur.

Langkah 5 - entropi coding

Sawise kita ngetung data (blok gambar, fragmen, pigura), kita isih bisa ngompres tanpa rugi. Ana akeh cara algoritma kanggo ngompres data. Kita bakal cepet ndeleng sawetara, kanggo pangerten sing luwih jero sampeyan bisa maca buku Understanding Compression: Data Compression for Modern Developers ("Pangerten Kompresi: Kompresi Data kanggo Pangembang Modern").

Encoding video nggunakake VLC

Ayo kita duwe aliran karakter: a, e, r и t. Kemungkinan (saka 0 kanggo 1) sepira kerepe saben karakter katon ing stream diwenehi ing tabel iki.

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

Kita bisa nemtokake kode binar unik (luwih becik sing cilik) kanggo sing paling mungkin, lan kode sing luwih gedhe kanggo sing luwih cilik.

a e r t
Kemungkinan 0,3 0,3 0,2 0,2
Kode binar 0 10 110 1110

We compress stream, assuming sing kita bakal mungkasi munggah mbuwang 8 bit kanggo saben karakter. Tanpa kompresi, 24 bit bakal dibutuhake saben karakter. Yen sampeyan ngganti saben karakter nganggo kode, sampeyan bakal entuk tabungan!

Langkah pisanan yaiku encode karakter e, sing padha karo 10, lan karakter kapindho yaiku a, kang ditambahake (ora ing cara matematika): [10] [0], lan pungkasanipun karakter katelu t, kang ndadekake final teken bitstream kita padha karo [10][0][1110] utawa 1001110, sing mbutuhake mung 7 bit (3,4 kaping kurang papan saka asli).

Elinga yen saben kode kudu kode unik kanthi awalan. Algoritma Huffman bakal mbantu sampeyan nemokake nomer kasebut. Sanajan cara iki ora tanpa cacat, ana codec video sing isih nawakake metode algoritma iki kanggo kompresi.

Encoder lan decoder kudu nduweni akses menyang tabel simbol kanthi kode binar. Mulane, iku uga perlu kanggo ngirim Tabel minangka input.

Coding aritmetika

Ayo kita duwe aliran karakter: a, e, r, s и t, lan kemungkinan kasebut ditampilake ing tabel iki.

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

Nggunakake tabel iki, kita bakal mbangun kisaran sing ngemot kabeh karakter sing bisa, diurut miturut nomer paling gedhe.

Kepiye cara kerja codec video? Pérangan 2. Apa, kok, kepriye

Saiki ayo encode stream saka telung karakter: mangan.

Pisanan pilih karakter pisanan e, sing ana ing subrange saka 0,3 nganti 0,6 (ora kalebu). Kita njupuk subrange iki lan dibagi maneh ing proporsi padha sadurunge, nanging kanggo sawetara anyar iki.

Kepiye cara kerja codec video? Pérangan 2. Apa, kok, kepriye

Ayo terus coding stream kita mangan. Saiki njupuk karakter kapindho a, sing ana ing subrange anyar saka 0,3 nganti 0,39, banjur njupuk karakter pungkasan t lan mbaleni proses sing padha maneh, kita entuk sub-rentang pungkasan saka 0,354 nganti 0,372.

Kepiye cara kerja codec video? Pérangan 2. Apa, kok, kepriye

Kita mung kudu milih nomer ing subrange pungkasan saka 0,354 kanggo 0,372. Ayo milih 0,36 (nanging sampeyan bisa milih nomer liyane ing subrange iki). Mung kanthi nomer iki kita bakal bisa mulihake aliran asli kita. Kaya-kaya kita nggambar garis ing kisaran kanggo ngodhe stream kita.

Kepiye cara kerja codec video? Pérangan 2. Apa, kok, kepriye

Operasi mbalikke (yaiku, dekoding) kaya prasaja: kanthi nomer 0,36 lan kisaran awal, kita bisa nindakake proses sing padha. Nanging saiki, nggunakake nomer iki, kita ngenali stream dienkode nggunakake nomer iki.

Kanthi sawetara pisanan, kita sok dong mirsani sing nomer kita cocog karo irisan, mulane iki karakter pisanan kita. Saiki kita dibagi maneh sub-range iki kanthi ngetutake proses sing padha kaya sadurunge. Kene sampeyan bisa ndeleng sing 0,36 cocog kanggo simbol a, lan sawise mbaleni proses kita teka ing karakter pungkasan t (mbentuk stream asli kita dienkode mangan).

Loro encoder lan decoder kudu tabel kemungkinan simbol, supaya iku perlu kanggo ngirim ing data input uga.

Cukup elegan, ta? Sapa wae sing nggawe solusi iki pancen pinter. Sawetara codec video nggunakake teknik iki (utawa paling ora menehi pilihan).

Ide iki yaiku kanggo ngompres aliran bit sing dikuantisasi. Mesthi artikel iki ora ana akeh rincian, alasan, trade-off, lsp. Nanging yen sampeyan dadi pangembang, sampeyan kudu ngerti luwih akeh. Codec anyar nyoba nggunakake algoritma encoding entropi sing beda kayata ANS.

Langkah 6 - format bitstream

Sawise nindakake kabeh iki, sing isih ana yaiku mbongkar pigura sing dikompres ing konteks langkah-langkah sing ditindakake. Dekoder kudu diwenehi informasi kanthi jelas babagan keputusan sing ditindakake dening encoder. Dekoder kudu diwenehake kabeh informasi sing dibutuhake: ambane bit, ruang warna, resolusi, informasi prediksi (vektor gerakan, prediksi INTER arah), profil, level, tingkat pigura, jinis pigura, nomer pigura lan liya-liyane.

Kita bakal cepet ndeleng bitstream H.264. Langkah pisanan kita yaiku nggawe bitstream H.264 minimal (FFmpeg minangka standar nambahake kabeh opsi enkoding kayata SEI NAL - kita bakal ngerti apa sing luwih sithik). Kita bisa nindakake iki nggunakake repositori lan FFmpeg kita dhewe.

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

Printah iki bakal ngasilake bitstream mentah H.264 karo siji pigura, 64×64 résolusi, karo spasi werna YUV420. Ing kasus iki, gambar ing ngisor iki digunakake minangka pigura.

Kepiye cara kerja codec video? Pérangan 2. Apa, kok, kepriye

H.264 bitstream

Standar AVC (H.264) nemtokake informasi sing bakal dikirim ing macroframes (ing pangertèn jaringan), disebut nal (iki tingkat abstraksi jaringan). Tujuan utama NAL yaiku nyedhiyakake presentasi video "ramah web". Standar iki kudu bisa digunakake ing TV (basis stream), Internet (basis paket).

Kepiye cara kerja codec video? Pérangan 2. Apa, kok, kepriye

Ana panandha sinkronisasi kanggo nemtokake wates unsur NAL. Saben token sinkronisasi ngemot nilai 0x00 0x00 0x01, kajaba sing pisanan banget, sing padha karo 0x00 0x00 0x00 0x01. Yen kita miwiti hexdump kanggo H.264 bitstream kui, kita ngenali paling telung pola NAL ing awal file.

Kepiye cara kerja codec video? Pérangan 2. Apa, kok, kepriye

Kaya sing wis dingerteni, dekoder kudu ngerti ora mung data gambar, nanging uga rincian video, pigura, warna, paramèter sing digunakake, lan liya-liyane. Byte pisanan saben NAL nemtokake kategori lan jinis.

pengenal jinis NAL Description
0 Tipe sing ora dingerteni
1 Fragmen gambar sing dienkode tanpa IDR
2 Bagean data irisan kode A
3 Bagean data irisan kode B
4 Bagean data irisan kode C
5 Fragmen IDR sing dienkode saka gambar IDR
6 Informasi liyane babagan extension SEI
7 Set Parameter Urutan SPS
8 Setel paramèter gambar PPS
9 Pamisah akses
10 Pungkasan urutan
11 Pungkasan benang
... ...

Biasane NAL pisanan saka bitstream yaiku SPS. Jinis NAL iki tanggung jawab kanggo menehi informasi babagan variabel enkoding umum kayata profil, level, resolusi, lsp.

Yen kita skip panandha sinkronisasi pisanan, kita bisa decode byte pisanan kanggo mangerteni kang jinis NAL pisanan.

Contone, byte pisanan sawise token sink yaiku 01100111, ngendi bit pisanan (0) ana ing lapangan forbidden_zero_bit. 2 bit sabanjure (11) ngandhani kita lapangan nal_ref_idc, sing nuduhake apa NAL iki minangka lapangan referensi utawa ora. Lan sisa 5 bit (00111) ngandhani kita lapangan nal_unit_type, ing kasus iki minangka blok SPS (7) NAL.

Byte kapindho (binar=01100100, hex=0x64, Dec=100) ing SPS NAL minangka lapangan profil_idc, kang nuduhake profil sing encoder digunakake. Ing kasus iki, profil dhuwur sing winates digunakake (yaiku, profil dhuwur tanpa dhukungan segmen B bidirectional).

Kepiye cara kerja codec video? Pérangan 2. Apa, kok, kepriye

Yen sampeyan ndeleng spesifikasi bitstream H.264 kanggo SPS NAL, kita bakal nemokake akeh nilai kanggo jeneng parameter, kategori lan deskripsi. Contone, ayo dideleng ing sawah pic_width_in_mbs_minus_1 и pic_height_in_map_units_minus_1.

Jeneng paramèter kategori Description
pic_width_in_mbs_minus_1 0 ue(v)
pic_height_in_map_units_minus_1 0 ue(v)

Yen kita nindakake sawetara operasi matematika kanthi nilai kolom kasebut, kita bakal entuk resolusi. Siji bisa makili 1920 x 1080 nggunakake pic_width_in_mbs_minus_1 kanthi nilai 119 ((119 + 1) * macroblock_size = 120 * 16 = 1920). Maneh, kanggo ngirit ruang, tinimbang ngodhe 1920, kita nindakake karo 119.

Yen kita terus mriksa video sing digawe ing wangun binar (contone: xxd -b -c 11 v/minimal_yuv420.h264), banjur sampeyan bisa pindhah menyang NAL pungkasan, kang pigura dhewe.

Kepiye cara kerja codec video? Pérangan 2. Apa, kok, kepriye

Ing kene kita ndeleng nilai 6 byte pisanan: 01100101 10001000 10000100 00000000 00100001 11111111. Wiwit byte pisanan dikenal kanggo nuduhake jinis NAL, ing kasus iki (00101) minangka pecahan IDR (5), banjur sampeyan bisa njelajah maneh:

Kepiye cara kerja codec video? Pérangan 2. Apa, kok, kepriye

Nggunakake informasi spesifikasi, bakal bisa decode jinis fragmen (irisan_jinis) lan nomer pigura (pigura_num) ing antarane lapangan penting liyane.

Kanggo entuk nilai sawetara kolom (ue(v), me(v), se(v) utawa te(v)), kita kudu decode pecahan nggunakake decoder khusus adhedhasar kode Golomb eksponensial. Cara iki efisien banget kanggo ngodhe nilai variabel, utamane yen ana akeh nilai standar.

Nilai kasebut irisan_jinis и pigura_num video iki 7 (I-fragmen) lan 0 (bingkai pisanan).

A stream bit bisa dianggep minangka protokol. Yen sampeyan pengin ngerti luwih akeh babagan bitstream, sampeyan kudu ngrujuk menyang spesifikasi ITU H.264. Punika diagram makro sing nuduhake ing ngendi data gambar kasebut (YUV ing wangun kompres).

Kepiye cara kerja codec video? Pérangan 2. Apa, kok, kepriye

Bitstream liyane bisa ditliti, kayata VP9, H.265 (HEVC) utawa malah bitstream paling anyar kita AV1. Apa padha kabeh padha? Ora, nanging yen sampeyan ngerti paling ora siji, luwih gampang ngerti liyane.

Arep latihan? Jelajahi bitstream H.264

Sampeyan bisa ngasilake video pigura siji lan nggunakake MediaInfo kanggo mriksa bitstream H.264. Nyatane, ora ana sing ngalangi sampeyan ndeleng kode sumber sing nganalisa aliran bit H.264 (AVC).

Kepiye cara kerja codec video? Pérangan 2. Apa, kok, kepriye

Kanggo latihan, sampeyan bisa nggunakake Intel Video Pro Analyzer (apa aku wis ujar manawa program kasebut dibayar, nanging ana versi nyoba gratis kanthi watesan 10 pigura?).

Kepiye cara kerja codec video? Pérangan 2. Apa, kok, kepriye

Ringkesan

Elinga yen akeh codec modern nggunakake model sing padha sing kita sinau. Kene, ayo kang njupuk dipikir ing blok diagram saka codec video Thor. Isine kabeh langkah sing wis kita lakoni. Intine postingan iki yaiku paling ora menehi pangerten babagan inovasi lan dokumentasi ing wilayah iki.

Kepiye cara kerja codec video? Pérangan 2. Apa, kok, kepriye

Sadurungé, wis diwilang sing 139 GB ruang disk bakal dibutuhake kanggo nyimpen file video langgeng siji jam ing kualitas 720p lan 30 fps. Yen sampeyan nggunakake cara sing dibahas ing artikel iki (inter-frame lan prediksi internal, transformasi, kuantisasi, entropi coding, lan sapiturute), sampeyan bisa entuk (adhedhasar kasunyatan sing kita nglampahi 0,031 bit saben piksel), video cukup kualitas puas, manggoni mung 367,82 MB, ora 139 memori GB.

Kepiye carane H.265 entuk rasio kompresi sing luwih apik tinimbang H.264?

Saiki kita ngerti luwih akeh babagan cara kerja codec, luwih gampang ngerti kepiye codec sing luwih anyar bisa menehi resolusi sing luwih dhuwur kanthi bit sing luwih sithik.

Yen kita mbandhingake AVC и HEVC, Iku worth ngelengke sing iki meh tansah pilihan antarane mbukak CPU luwih gedhe lan rasio komprèsi.

HEVC wis luwih bagean (lan anak bagean) opsi saka AVC, arah prediksi internal liyane, kode entropi sing luwih apik, lan liya-liyane. Kabeh dandan iki wis digawe H.265 saged compressing 50% luwih saka H.264.

Kepiye cara kerja codec video? Pérangan 2. Apa, kok, kepriye

Pérangan pisanan: Dasar nggarap video lan gambar

Source: www.habr.com

Add a comment