Perbandingan codec kompresi video H.264 dan H.265. H.265 (HEVC) - gimmick pemasaran atau lebih dari itu? Apa dampak dari perubahan standar pengkodean yang akan datang?

Pada artikel ini kita akan mencoba memahami apakah codec video generasi baru memenuhi harapan yang diberikan?
Codec Video Efisiensi Tinggi (HEVC) generasi berikutnya, juga dikenal sebagai H.265, merupakan tonggak sejarah besar bagi industri video pada tahun 2013. Ada banyak hal yang dibicarakan tentang H.265 dan teknologi pengkodean video baru selama 12 bulan terakhir, namun hari ini adalah pertama kalinya Anda benar-benar dapat duduk dan melihat lebih dekat encoder generasi berikutnya ini (meskipun ini hanya dalam tahap pra-alfa). versi) dan uji kualitasnya dalam hal bekerja dengan video. Kami akan melihat kualitas tampilan video dan ukuran kompresi streaming codec baru dalam satu kunci, membandingkannya dengan yang sebelumnya - H.264, dan juga mempelajari kinerjanya di jembatan berpasir-E, Ivy Bridge dan Haswell.

Manfaat H.265

Codec H.264 cukup bagus proyek yang sukses. Ini adalah codec yang sangat fleksibel yang telah diterima aplikasi yang luas dalam jaringan distribusi video streaming, pada platform satelit, serta saat merekam cakram Blu-ray. Peningkatannya cukup baik, itulah sebabnya ia diusulkan sebagai standar untuk 3D pada 48-60 fps, dan bahkan 4K. Dan dia mengatasi tugas-tugas ini dengan cukup baik. Standar yang diadopsi untuk cakram Blu-ray belum menyertakan rekomendasi apa pun mengenai teknologi ini, namun codec H.264 sendiri mampu mendukungnya.

Masalah dengan codec H.264 adalah meskipun pada prinsipnya mampu menyandikan video dalam format ini, ia tidak dapat memberikan rasio kompresi yang membuat ukuran file yang dihasilkan dapat diterima. Diperlukan standar baru yang secara signifikan dapat mengurangi ukuran file yang dihasilkan setelah kompresi dan dengan demikian mendapatkan pengakuan internasional sebagai sarana untuk mempromosikan format video baru. Inilah bagaimana H.265 lahir. Itu dirancang sedemikian rupa menggunakan teknologi kompresi baru dan banyak lagi model yang cerdas pengkodean/dekode, penggunaan sumber daya saluran yang paling ekonomis.

Berbeda dengan H.264, yang meskipun dapat digunakan untuk mendukung televisi 4K, namun tidak dibuat untuk format ini, dan H.265 dikembangkan dengan mempertimbangkan semua fitur 4K, termasuk dukungan untuk video 10-bit dan kecepatan bingkai tinggi. Ini hanyalah permulaan, dan versi embrio codec saat ini memiliki beberapa keterbatasan. Ini mendukung warna 8-bit dan memberi model warna YUV, namun banyak orang ingin melihat versi pengujian ini beraksi. Oleh karena itu, sekelompok peneliti, yang hanya berbekal encoder terkompilasi dan beberapa klip uji, memutuskan untuk memeriksa apa yang dapat dilakukannya. kodek baru?

Hal pertama yang mereka minati adalah ukuran file. Para peneliti memutuskan untuk membandingkan ukuran aliran video dasar. Perlu diingat bahwa kita hanya berbicara tentang video - suaranya tidak dikodekan dalam kasus apa pun.

Ukuran pengkodean ditentukan oleh pengaturan kuantizer, di mana skor-q yang lebih rendah berhubungan dengan skor-q yang lebih banyak berkualitas tinggi(dan ukuran file lebih besar). File yang disandikan dasar terdiri dari 500 bingkai, ukurannya 1,5 GB, YUV 4:2:0, kecepatan bingkai 50 per detik. Ukuran file mentah dari file streaming digunakan sebagai perbandingan karena mewakili apa yang diteruskan ke decoder untuk membuat gambar keluaran. Para peneliti bekerja dengan aliran dasar karena pada tahap proyek ini (pengujian pra-alfa), ukuran file yang didekode selalu 1,5 GB, terlepas dari tingkat kualitas yang dipilih saat membuatnya.

Hal ini membantu untuk memahami dasar manfaat yang ditawarkan H.265 dibandingkan H.264. Meskipun dalam banyak kasus tidak memberikan penghematan 50%. lebar pita saluran, hasilnya mendekati angka ini. Saat menyetel q=24 di quantizer, kita mendapatkan ukuran file 57% dari ukuran file yang dibuat di H.264, saat menyetel q=30 – 59%, dan q=40 menghasilkan 47%. Tentu saja, saat mengatur q=40, file akhir masih jauh dari sempurna, tetapi ini memungkinkan Anda menghemat bandwidth lebih dari setengahnya.

Performa dan kualitas gambar

Pertanyaan selanjutnya yang menarik perhatian para peneliti adalah produktivitas. Diketahui bahwa dibandingkan dengan H.264, H.265 memerlukan lebih banyak tenaga kuda untuk pengkodean dan dekode. Namun, pengembang berjanji untuk memperkuat peran komputasi paralel dalam pengkodean dan dekode untuk mempercepat proses ini. Implikasinya adalah bahwa dukungan OpenCL akan menjadi nyata cepat atau lambat, yang berarti bahwa penawaran seperti HAS AMD dapat memperoleh poin tambahan dari dukungan x265 tahun ini.

Para peneliti saat ini terbatas dalam pilihan prosesor, namun juru bicara MultiCoreWare Tom Vaughan meyakinkan mereka bahwa tim pengembangan secara aktif mengerjakan multithreading. Tim peneliti memutuskan untuk menguji kemampuan test decoder menggunakan Sandy Bridge-E, Ivy Bridge dan Haswell. Para peneliti bereksperimen dengan beberapa hal tingkat yang berbeda paralelisasi, tetapi pada akhirnya mereka memutuskan untuk menentukan jumlah inti fisik dalam sistem (6, 4 dan 4). Fitur hyper-threading diaktifkan, tetapi mengatur paralelisasi ke 12/8 thread hanya sedikit mempercepat proses pengkodean.

Paralelisasi menunjukkan hasil kinerja yang baik. Sandy Bridge-E dengan enam inti berada di depan Ivy Bridge yang empat inti. Ivy Bridge juga kalah dengan Haswell karena dukungannya terhadap AVX2 dan terbaru karakteristik terbaik produktivitas. Jika Anda membandingkan waktu pengkodean dengan x264, bahkan dengan pengaturan paling lambat, pengkodean dengan x265 membutuhkan waktu lebih lama. Misalnya, file yang dikodekan Ivy Bridge 3770K dalam H.264 dalam 129 detik memerlukan 247 detik untuk dikodekan dalam H.265. Namun, jangan lupa bahwa kita berbicara tentang versi pengujian pertama.

Yang tidak kalah menariknya bagi para peneliti adalah persoalan kualitas. Seberapa berbedakah kualitas file video yang dikodekan dalam H.265 dengan video asli yang tidak terkompresi? Untuk mempelajari masalah yang berkaitan dengan kualitas, para peneliti memutuskan untuk memilih sebuah fragmen dari permainan bola basket. File tersebut, yang direkam pada 50 frame per detik, penuh dengan momen yang menunjukkan gerakan cepat, yang sering kali menyebabkan prosesor macet atau gambar "tersentak". Setuju, jika “penyakit” ini juga merupakan ciri khas H.265, maka kemampuannya dalam membuat file video yang relatif kecil akan diimbangi dengan kualitas yang buruk.

Elmedia Player untuk Mac mendukung codec h.264 dan h.265.

Jadi, berikut adalah tangkapan layar dari video YUV asli yang tidak terkompresi, serta video yang dikodekan dalam H.265 dengan q=24, dan video yang dikodekan dalam H.264 dengan q=24.

Seperti yang bisa kita lihat, perbedaannya minimal. Lantai kayu di bawah pemutar lompat sedikit kurang buram di versi H.264, namun kualitas versi H.265 sangat fenomenal, meskipun ukuran filenya sekitar setengah ukurannya. Bagaimana dengan instalasi dengan kualitas lebih rendah? Berikut adalah tangkapan layar video yang dikodekan dalam H.265 dan H.264 dengan q=30. Yang pertama adalah screenshot video yang dikompresi dalam H.265.

Saat mengatur kuantizer q=30 (ukuran file masing-masing 6,39 MB dan 10,87 MB), kualitas video streaming yang menggunakan codec H.265 ternyata lebih baik daripada streaming yang dikodekan dalam H.264. Tentu saja, kelompok peneliti yang melakukan eksperimen ini tidak akan menganggap hasil yang diperoleh sebagai sesuatu yang mutlak - seperti biasa, pengkodean parameter yang memerlukan penyesuaian sangatlah penting. Namun, setelah lebih dari setahun menunggu, “jin” yang disebut H.265 akhirnya keluar dari kemasannya, dan sudah jelas bahwa standar kompresi baru akan mampu memenuhi harapan yang diberikan padanya.

Sementara itu, dukungan pengkodean/dekode akan segera tersedia di banyak produk. Prosesor modern lebih dari siap untuk decoding H.265 jika Anda memiliki yang sesuai perangkat lunak. Dukungan OpenCL diharapkan pada iterasi berikutnya. Dan dukungan hardware dari produsen GPU- seperti AMD, Intel dan Nvidia - masalah dalam waktu dekat. Ini mungkin tidak muncul di model mendatang yang akan memasuki pasar, tapi pasti akan muncul dalam waktu dekat. Ketiga perusahaan ini sudah menyertakan dukungan dalam produknya sumber tambahan informasi video, sebagaimana tercantum dalam presentasi H.265, karena video menjadi hal yang lumrah di semua perangkat.

Dalam jangka panjang, H.265 kemungkinan akan menggantikan H.264 sebagai solusi utama untuk pemrosesan video tingkat lanjut. Namun, semuanya juga akan bergantung pada seberapa banyak proses pemrosesan video H.265 yang menguras baterai dibandingkan dengan H.264. Kami hanya dapat mengetahui hal ini ketika perangkat keras lengkap tampaknya berfungsi dengan standar ini, tetapi sejauh ini asumsinya sangat optimis. Model pengkodean H.265 paralel tidak diragukan lagi akan bekerja dengan baik dibandingkan dengan perangkat multi-inti di masa depan.

Sekarang mari membuat kode dengan cara baru! Versi pertama HEVC, H.265 (Pengodean Video Efisiensi Tinggi), standar terbaru kompresi video muncul kembali pada tahun 2013. Ada banyak kontroversi di antara para ahli; hal ini akan berakar format ini di bidang pengawasan video atau tidak: khususnya, mereka berbicara tentang efektivitas yang belum terbukti (pengujian dalam kondisi laboratorium tidak dihitung), tingginya biaya untuk peralatan baru (codec memerlukan lebih banyak kinerja yang kuat perangkat) dan lainnya.

poin penting

Namun, saat ini kita dapat mengatakan bahwa codec kompresi H.265 telah dengan percaya diri memasuki pasar dan mendikte persyaratannya. Oleh karena itu, banyak produsen, sesuai dengan tuntutan zaman dan kemajuan, memproduksi peralatan yang mendukung kompresi video format baru.

Algoritme pengoperasian H.264, codec generasi sebelumnya yang dirilis pada tahun 2003, kurang lebih diketahui semua orang. Anda dapat membaca tentang beberapa prinsip kompresi video menggunakan codec H.264

Sekarang mari membuat kode dengan cara baru!

H.265 adalah perkembangan revolusioner terkini di bidang format kompresi video. Para ahli percaya bahwa codec ini dapat secara signifikan mengguncang status quo baik di bidang sirkulasi konten media konsumen maupun di bidang profesional (misalnya, dalam sistem pengawasan video).

Standar H.265 menggunakan algoritma kompresi video yang lebih kuat dan canggih. Dengan kualitas visual yang sama, codec H.265 yang baru menyiratkan pengurangan ukuran file sekitar dua kali lipat dibandingkan dengan pendahulunya yang “terkompresi” H.264. Hal ini memungkinkan Anda menghemat ruang disk pada perekam dan server video. Dan setengah bitrate akan mengurangi lalu lintas di jaringan data video secara signifikan. Berkat mekanisme kompresi yang lebih kuat, codec H.265 melakukan pekerjaan yang sangat baik dalam menyandikan video berkualitas tinggi dan tinggi. resolusi tertinggi

lebih dari 8K UHD (8192x4320). Selain itu, untuk reproduksi informasi video berkualitas tinggi dengan resolusi 4K, encoder memerlukan streaming dengan kecepatan hanya 50 MV/s. Namun, mari kita kembali ke kenyataan umum, di mana banyak kamera masih memiliki resolusi standar, dan bukan resolusi ekstrem: 1,3 megapiksel, 2 megapiksel, 3 megapiksel, dan lebih tinggi. Pengujian encoder menunjukkan pengoperasian yang efektif dengan resolusi video di atas 1 MP. Lalu perbedaan antara file terkompresi

dan aslinya benar-benar terlihat. Codec H.264 masih menangani streaming video dengan resolusi kurang dari 1 megapiksel. Dan yang terpenting, H.265 mengompresi video tanpa kehilangan apa pun, kualitas video "terkompresi" tetap sama.. Algoritme kompresi khusus menghilangkan artefak bawaan H.264, seperti butiran atau tepi kabur benda bergerak. Dengan penggunaan codec baru, masalah tersebut telah diatasi.

Nomor tertentu: tes versi terbaru Codec H.265 memberikan hasil yang menakjubkan. Volume video yang diproses menggunakan standar baru hampir 85% lebih sedikit dibandingkan saat menggunakan H.264!

Diberikan: Kamera 2 MP dengan frame rate 25 fps dan adegan pengambilan gambar dengan intensitas lalu lintas rata-rata. Saat menggunakan codec H.264, bitrate akan menjadi sekitar 4 Mb/s. Sedangkan jika dikompres dengan codec H.265 hanya sekitar 1 Mb/s!

Tentu saja lebih algoritma yang kuat kompresi video memerlukan penggunaan lebih banyak tenaga kuda, yaitu lebih banyak peralatan berperforma tinggi. Dan inilah perbedaan lain antara codec kompresi terbaru dan pendahulunya H.264, yang digunakan di mana-mana dan ditemukan bahkan di smartphone terlemah sekalipun. Namun kemajuan tidak berhenti, dan sekarang untuk menggunakan algoritma kompresi video baru Anda tidak perlu membeli prosesor super bertenaga yang dirancang untuk memecahkan masalah NASA. Perangkat multi-core yang saat ini ditawarkan oleh pabrikan sudah mencukupi.

Total:
- H.265, dibandingkan dengan H.264, dirancang untuk memproses video dengan resolusi 4K dan lebih tinggi (6, 8, 12 MP).
- H.265 mengompresi video berkali-kali lebih banyak, sehingga Anda menghemat uang ruang disk dan mengurangi beban pada saluran transmisi data hingga setengahnya.
- H.265 menghasilkan kompresi video yang hampir lossless, memberikan kualitas pada tingkat yang lebih tinggi, tanpa pikselasi dan keburaman objek yang bergerak
- H.265 menggunakan algoritme kompresi yang lebih kuat dan memungkinkan volume video menjadi 85% lebih kecil dibandingkan yang dikodekan menggunakan H.264.
- Untuk pekerjaan yang efisien, codec H.265 memerlukan elemen dan prosesor yang lebih kuat di peralatannya.

Bahkan perbandingan dangkal antara format kompresi H.264 dan H.265 menunjukkan sejumlah keunggulan codec H.265 yang baru. Standar ini akan dibutuhkan di berbagai bidang bisnis: perusahaan Internet dan hosting video, IP dan TV digital, sistem panggilan konferensi, dll. Untuk sistem CCTV format baru kompresi juga akan membawa manfaat yang tak terukur. Codec N.265 yang baru adalah masa depan!

Video 4K memakan banyak ruang, sehingga sulit untuk mengunduh dan streaming kualitas terbaik. Untungnya, ada satu teknologi yang mengubah hal itu, dan itu dikenal sebagai Pengodean Video Efisiensi Tinggi (HEVC) atau H.265.

Butuh waktu lama agar teknologi baru ini bisa tersebar luas, tetapi hal ini terjadi: Blu-ray 4K UHD menggunakan HEVC, VLC 3.0 memutar 4K menggunakan HEVC yang andal, dan iPhone bahkan dapat menyimpan rekaman video dalam HEVC untuk menghemat memori.

Namun bagaimana cara kerjanya, dan mengapa ini sangat penting untuk video 4K?

Standar saat ini: AVC/H.264

Saat Anda menonton disk Blu-ray, video YouTube, atau film iTunes, semuanya memiliki efek yang sama berkas sumber, yang diperoleh di studio penyuntingan. Untuk memasukkan film ini ke dalam disk Blu-ray atau membuatnya cukup kecil agar mudah diunduh dari Internet, video tersebut harus berukuran kental.

AVC juga menggunakan kompresi antar bingkai, yang melihat beberapa frame dan mencatat bagian mana dari frame yang berubah dan mana yang tidak. Algoritme kompresi juga memperluas bingkai menjadi makroblok dan berkata, “Tahukah Anda? Potongan ini tidak berubah selama 100 frame berturut-turut, jadi mari kita render lagi daripada menyimpan semua bagian gambar 100 kali." Ini dapat mengurangi ukuran file secara signifikan.

Ini hanyalah dua contoh penggunaan yang disederhanakan Metode AVC/H.264. Namun, mereka memungkinkan Anda membuat file video Anda lebih efisien tanpa mengurangi kualitas.

Tentu saja, video apa pun akan kehilangan kualitasnya jika Anda mengompresinya terlalu banyak, tetapi semakin pintar metode ini, semakin banyak Anda dapat mengompresi video tanpa banyak kehilangan.

HEVC/H.265 mengompresi video dengan lebih efisien

Pengkodean Video Efisiensi Tinggi, juga dikenal sebagai HEVC atau H.265, adalah langkah selanjutnya dalam evolusi ini. Ini mengimplementasikan banyak teknik yang digunakan dalam pembuatan AVC/H.264 kompresi video menjadi lebih efisien.

Misalnya, ketika AVC memindai beberapa frame untuk melihat perubahan, makroblok dapat memiliki beberapa bentuk dan ukuran berbeda, hingga maksimum 16x16 piksel. Dengan HEVC, fragmen ini dapat berukuran hingga 64x64, yang jauh lebih besar daripada 16x16, yang berarti algoritme dapat mengingat lebih sedikit fragmen, sehingga mengurangi ukuran keseluruhan video.

Sekali lagi, HEVC menggunakan teknik yang berbeda, tetapi ini adalah salah satu peningkatan terbesar - HEVC memungkinkan HEVC mengompresi video dua kali lebih banyak daripada AVC pada tingkat kualitas yang sama. Hal ini sangat penting terutama untuk video 4K, yang menghabiskan banyak ruang dengan AVC. HEVC membuat video 4K lebih nyaman untuk streaming, diunduh, atau disalin ke hard drive Anda.

HEVC lebih lambat tanpa decoding perangkat keras

HEVC telah menjadi standar yang disetujui sejak tahun 2013, jadi mengapa tidak digunakan di semua video?

Algoritme kompresi H.265 rumit– untuk menghitung proses ini dengan cepat memerlukan banyak “matematika”. Ada dua cara utama komputer dapat memecahkan kode video ini: penguraian kode perangkat lunak, yang menggunakan prosesor komputer untuk melakukan penghitungan ini, dan penguraian kode perangkat keras, yang mentransfer beban ke kartu grafis (atau chip grafis terintegrasi pada prosesor). Kartu grafis Jauh lebih efisien jika memiliki dukungan asli untuk codec video yang Anda coba putar.

Jadi, meski banyak PC dan program bisa mencoba memutar video HEVC, mungkin tersendat atau sangat lambat tanpa decoding perangkat keras. Jadi HEVC tidak akan banyak gunanya kecuali Anda memiliki kartu video dan pemutar video yang mendukungnya penguraian kode HEVC perangkat keras.

Ini bukan masalah bagi perangkat mandiri pemutaran Pemutar Blu-ray 4K, termasuk Xbox Satu, sudah dirancang dengan mempertimbangkan HEVC. Namun saat memutar video HEVC di komputer, segalanya menjadi lebih rumit.

Perangkat Anda memerlukan salah satu perangkat keras berikut untuk memecahkan kode video HEVC dengan cepat:

  • Intel generasi ke-6 "SkyLake" atau prosesor yang lebih baru
  • AMD "Carizzo" generasi ke-6 atau APU yang lebih baru
  • NVIDIA GeForce GTX 950, 960 atau kartu video yang lebih baru
  • AMD Radeon R9 Fury, R9 Fury X, R9 Nano atau kartu grafis yang lebih baru

Anda juga harus menggunakan sistem operasi dan pemutar video yang tidak hanya mendukung video HEVC, tetapi juga decoding HEVC perangkat keras - ini adalah poin yang agak suram. Banyak aplikasi memiliki dukungan perangkat keras Pengkodean HEVC, namun dalam beberapa kasus, ini mungkin hanya berfungsi dengan beberapa fitur dari daftar di atas. Anda mungkin harus melakukannya menyalakan akselerasi perangkat keras di pemutar Anda agar berfungsi dengan benar.

Seiring waktu lagi komputer akan mampu menangani video jenis ini, dan lebih banyak pemutar yang mendukung H.265. Mungkin diperlukan beberapa waktu agar standar ini dapat tersebar luas, dan hingga saat itu Anda harus menyimpan video 4K Anda dalam AVC/H.264 di ukuran besar file (atau kompres lebih banyak dan kehilangan kualitas gambar). Namun semakin banyak HEVC/H.265 yang didukung, semakin baik pula videonya.

Berikutnya pembaruan adobe Premier Pro CC 2015 hingga versi 9.1 menghadirkan kemampuan ekspor pada H265 yang telah lama ditunggu-tunggu. Namun banyak yang tidak menyangka hal itu terjadi komputer yang kuat Codec baru ini dianggap tidak kuat sama sekali.

Sejujurnya, membandingkan kecepatan pengkodean codec H265 (High Efficiency Video Coding) yang baru dengan codec H264 adalah tugas yang sia-sia. HEVC menawarkan hampir setengah bitrate dengan kualitas gambar visual yang sama, dibandingkan dengan H264. Hal ini terutama berlaku untuk konten 4K dan, terlebih lagi, untuk video dalam resolusi 8K.

Kemajuan tidak bisa dihindari dan komputer pengeditan masih harus diperbarui. Saya ingin membandingkan waktu rendering dalam proyek dengan resolusi FullHD.

Pilihan video: file*.MTS, codec AVC, 24 Mbs, durasi 04:10.

Efek garis waktu: Warna Lumetri (LUT, Level, Saturasi, Pertajam, Vignette digunakan), Tampilan Peluru Ajaib (digunakan Cosmo).

Komputer uji:

Prosesor: 6 inti Intel Inti i7 5820K @ 3,8GHz

RAM: 32GB DDR4 2400Mhz

Mari kita render video ini, ukur waktu dan amati pemuatan sistem.

Pengaturan ekspor H264: Tingkat Tinggi 4.2 VBR 1pass 15-20 Mbps. Waktu ekspor 81% - 10:18

Ekspor pengaturan ke H265: VBR 1 lulus 7-10 Mbps. Kualitas: Tinggi. Waktu ekspor 82% - 15:38

Secara umum, perbedaannya adalah satu setengah kali lipat. Jika Anda mengatur kualitas ke Tertinggi di pengaturan H265, waktu ekspor bertambah menjadi sekitar setengah jam. Itu. Pada kualitas maksimum, H265 merender sekitar 3 kali lebih lama dibandingkan H264. Kita berbicara tentang resolusi FullHD.

Perlu dicatat bahwa HEVC baru tampaknya tidak mendukung Kartu video GeForce 960GTX. Ada rumor yang menyatakan bahwa Anda memerlukan kartu video 970 atau 980. Tidak ada informasi seperti itu di situs web Adobe. Bagaimanapun, beban CPU selama ekspor mencapai 100%:

Sebagai perbandingan, saat melakukan rendering di H264 menggunakan kartu video, beban pada prosesor sekitar 40-50%:

Satu hal lagi yang harus dipahami: jika saya memiliki kartu video yang lebih cepat, dan prosesornya lebih lambat (misalnya, i7 4-core), maka perbedaan waktunya, misalnya, bukan 3 kali lipat, tetapi 5- lipat, yaitu .Ke. H264 pada kartu video akan merender lebih cepat, dan H265 pada CPU akan merender lebih lambat.

YouTube juga sedikit mengejutkan. Setelah memuat video ke H265, pesan berikut muncul:

Mungkin YouTube memerlukan penyandian H265 di profil tertentu, saya tidak terlalu ingin mengetahuinya, jadi saya mengunggah versi H264. Omong-omong, YouTube mengumumkan dukungan untuk video dalam resolusi 8K, sehingga masalah HEVC di YouTube akan segera hilang.

Dalam waktu dekat saya berencana melihat perbedaannya saat mengekspor video ke 4K. Ada kemungkinan bahwa kurangnya dukungan perangkat keras GPU akan meningkatkan perbedaan secara signifikan saat melakukan pengkodean dalam kedua format ini.

  • Terjemahan

Situasi saat ini di bidang codec media dapat dijelaskan hanya dalam beberapa kata: solusi sederhana telah kehabisan tenaga. Setiap tahun materi coding menjadi semakin kompleks, dan persyaratan kualitas hasilnya semakin tinggi. Dalam kondisi ini, ketika serangan frontal tidak lagi berpengaruh, optimalkan pengkodean dan pemutaran media untuk platform tertentu dengan menggunakan kemampuan maksimalnya. kemampuan modern. Kami akan menunjukkan apa yang dapat dicapai dengan optimasi tersebut menggunakan contoh codec H.265 yang menjanjikan. Sebagai platform target, pertimbangkan server solusi Intel- Prosesor Xeon.

Deskripsi singkat tentang H.265/HEVC

Standar H.265/HEVC (High-Efficiency Video Coding) adalah standar codec video terbaru yang dikembangkan bersama oleh International Telecommunication Union ITU-T dan ISO/IEC. Tujuan dari standar ini adalah untuk meningkatkan efisiensi kompresi dan mengurangi kehilangan data. H.265/HEVC, dibandingkan dengan standar H.264/AVC sebelumnya, memiliki kemampuan dua kali lipat derajat tinggi kompresi dengan kualitas gambar subjektif yang sama. Teknologi HEVC memungkinkan penyedia video mengirimkan konten video berkualitas tinggi dengan overhead jaringan yang lebih sedikit.
Mari kita perhatikan inovasi fungsional utama yang diterapkan di H.265:
  • Kemampuan khusus untuk akses acak dan penyambungan aliran digital. Di H.264/MPEG-4 AVC, bitstream harus selalu dimulai dengan blok pengalamatan IDR, sedangkan HEVC mendukung akses acak.
  • Gambar dibagi menjadi unit pohon pengkodean (CTU), yang masing-masing berisi blok pohon pengkodean (CTB) luma dan chrominance. Semua standar pengkodean video sebelumnya digunakan ukuran tetap array untuk sampel kecerahan - 16×16. HEVC mendukung blok CTB ukuran yang berbeda, yang dipilih tergantung pada kebutuhan encoder dalam hal memori dan kekuatan komputasi.
  • Setiap blok pengkodean (CB) dapat dibagi secara rekursif menjadi blok transformasi (TV). Partisi ditentukan oleh sisa quadtree. Berbeda dengan standar sebelumnya, dalam HEVC satu blok TV dapat menjangkau beberapa unit prediksi (PB) untuk unit pengkodean prediktif silang (CU).
  • Prediksi arah dengan 33 arah orientasi berbeda untuk blok transformasi (TB) dengan ukuran mulai dari 4x4 hingga 32x32. Kemungkinan arah prediksinya adalah 360 derajat. HEVC mendukung berbagai teknik pengkodean prediksi intra-frame.
H.265/HEVC memberikan tuntutan yang sangat tinggi pada kekuatan pemrosesan dan perangkat klien, dan seterusnya server internal transkode.

Masalah Kinerja HEVC

Proyek HEVC Test Model (HM) yang ada hanya mengimplementasikan fungsionalitas inti standar; kinerja sebenarnya masih jauh dari apa yang dibutuhkan dalam lingkungan dunia nyata. Dua kelemahan utama dari proyek ini:
  • Kurangnya rangkaian paralel.
  • Pengaturan vektorisasi tidak efektif.


Gambar 1. Profil proyek HM - operasi thread paralel


Gambar 2. Profil proyek HM - kode intensif sumber daya

Codec HEVC ini mengkonsumsi sumber daya CPU 100 kali lebih banyak di sisi server dan 10 kali lebih banyak di sisi klien dibandingkan dengan H.264.
Codec H.265/HEVC telah menarik perhatian banyak perusahaan dan organisasi di seluruh dunia, yang menghasilkan optimalisasi kinerja dan pengembangan aktual. Ada beberapa proyek sumber terbuka.

  • OpenHEVC (kompatibel dengan HM10.0, optimasi dekoder)
  • x265 (kompatibel dengan HM, paralelisasi dan vektorisasi)
Untuk mengevaluasi kinerja encoder x265 pada platform prosesor Intel® Xeon® (E5-2680, 2,7 GHz, 8*2 inti fisik, dengan nama kode Sandy Bridge), kami menjalankan video 720p pada 24 frame per detik. Pengembang x265 telah melakukannya pekerjaan bagus untuk mengoptimalkan standar asli untuk tujuan memparalelkan tugas dan pemrosesan data. Namun, pengujian kami menunjukkan bahwa codec hanya dapat menggunakan 6 core pada sistem dengan 32 core logis (dengan SMT diaktifkan). Dengan demikian, codec masih jauh dari kata ada sepenuhnya menggunakan sumber daya platform multi-core modern.

Gambar 4. Proyek X.265 dengan pengaturan Intel® SIMD

Desain x265 juga menggunakan instruksi Intel® SIMD (yang dihasilkan kompiler), memberikan peningkatan kinerja lebih dari 70%. Bersama dengan optimalisasi lebih lanjut berdasarkan opsi kompiler, kompiler Intel memberikan kinerja dua kali lipat pada platform IA. Namun, performa encoder masih jauh lebih rendah dibandingkan yang dibutuhkan untuk encoder real-time, terutama untuk video HD 1080p.
Di bawah ini kami menunjukkan hasil yang dicapai perusahaan Cina Perkuat dengan dukungan spesialis Intel dalam cara mengoptimalkan codec H.265/HEVC yang dia buat untuk berbagai platform Intel.

Optimasi HEVC untuk Platform Intel® Xeon™

Sebagian besar fungsi pemrosesan video dan gambar yang paling intensif sumber daya adalah data blok yang intensif komputasi. Anda dapat menggunakan instruksi vektorisasi Intel® SIMD untuk mengoptimalkannya. Dalam encoder sebagai bagian dari codec Strongene, menurut data profil, menggunakan instruksi Intel SSE Anda dapat membuat vektor secara manual semua fungsi yang paling banyak menggunakan sumber daya, seperti interpolasi bingkai dengan kompleksitas rendah dengan kompensasi gerakan; konversi bilangan bulat tanpa transposisi; Transformasi Hadamard; Hitung Jumlah Perbedaan Absolut (SAD)/Perbedaan Kuadrat (SSD) dengan overhead memori minimal. Kami menyertakan instruksi Intel SSE sebagai fungsi intrinsik, seperti yang ditunjukkan pada Gambar. 5.


Gambar 5. Contoh inklusi instruksi Intel® SIMD/SSE dalam codec Stongene

Pengembang Strongene telah menulis ulang semua fungsi intensif sumber daya untuk mencapai peningkatan kinerja encoder terbesar. Pada Gambar. Gambar 6 menunjukkan data pembuatan profil kami dalam skenario pengkodean video 1080p menggunakan HEVC. Terlihat bahwa 60% fungsi intensif sumber daya diproses oleh instruksi Intel SIMD.


Gambar 6. Hasil profiling fitur pengkodean strogen

Instruksi integer Intel AVX2 256-bit memiliki kinerja dua kali lipat kinerja tinggi dibandingkan dengan kode Intel SSE lama yang bekerja dengan nilai 128-bit. Set instruksi Intel AVX2 didukung oleh platform
Intel Xeon(Haswell), produksinya dimulai pada tahun 2014. Untuk mengevaluasi performa fungsi bawaan Intel AVX2, kami menggunakan penghitungan jumlah perbedaan absolut yang umum untuk blok 64*64.

Tabel 1. Hasil implementasi Intel® SSE dan Intel® AVX2

siklus CPU Kode sumber Intel® SSE Intel® AVX2
Jalankan 1 98877 977 679
Peluncuran 2 98463 1092 690
Peluncuran 3 98152 978 679
Peluncuran 4 98003 943 679
Peluncuran 5 98118 954 678
Rata-rata 98322,6 988,8 681
Percepatan 1,00 99,44 144,38

Seperti dapat dilihat dari Tabel 1, penggunaan instruksi Intel SSE dan Intel AVX2 memberikan peningkatan kinerja 100 kali lipat, sementara kode Intel AVX2 memperoleh tambahan 40% dibandingkan dengan Intel SSE.
Seperti yang kita lihat sebelumnya, sebagian besar implementasi yang ada tidak menggunakan semua inti platform multicore. Berdasarkan arsitektur multi-core Intel Xeon terbaru dengan ketergantungan paralel antara algoritma berbasis CTB, pengembang Strongene mengusulkan untuk menggantikannya metode asli Struktur IFW paralel OWF dan WPP kemudian berkembang skema tiga tingkat kontrol aliran untuk memastikan penggunaan penuh Struktur IFW dari semua inti CPU untuk mempercepat pengkodean HEVC.


Gambar 7. Operasi paralel thread dan penggunaan CPU di encoder Strongene

Dengan menggunakan struktur WHP paralel baru dan implementasi penuh Instruksi Intel SIMD pada tingkat tugas dan tingkat data masing-masing, pengembang encoder Strongene mampu mencapai peningkatan kinerja yang sangat signifikan pada prosesor x86 untuk video 1080p, menggunakan sumber daya komputasi semua inti, seperti yang ditunjukkan pada Gambar. 8.

Konfigurasi selanjutnya menggunakan SMT/HT

Yang juga menarik adalah ketergantungan kinerja codec pada penyertaan multi-threading simultan (SMT), juga disebut teknologi hyperthreading (HT), yang tersebar luas di semua platform dengan arsitektur Intel.

Tabel 2. Memperkuat Kecepatan Encoding HEVC pada Platform Intel® Xeon®


Seperti dapat dilihat dari tabel (ditampilkan kuning) pada platform Ivy Bridge (prosesor Intel Xeon E5-2697 v2 untuk pengkodean video SMT 1080p HEVC yang dinonaktifkan dilakukan secara real time!

Setelah mencapai peningkatan kinerja yang luar biasa, kami terus mengeksplorasi kemampuan pengkodean Strongene HEVC pada platform Ivy Bridge, dengan fokus pada masalah bitrate dan kualitas.

Tabel 3. Perbandingan kinerja codec H.264 dan H.265


Tabel 3 menunjukkan bahwa codec H.265/HEVC mengurangi volume data sebesar 50% sekaligus menghemat kualitas yang sama gambar video.

H.265/HEVC kemungkinan akan menjadi standar video paling populer dalam dekade berikutnya. Banyak aplikasi dan produk multimedia yang sedang diimplementasikan dukungan HEVC. Dalam makalah ini, kami menerapkan solusi HEVC real-time berbasis CPU dan berfitur lengkap platform Intel dengan teknologi IA baru. Solusi optimal kami berdasarkan Prosesor Intel digunakan oleh Xunlei, sebuah perusahaan layanan video Internet, dan akan berkontribusi pada adopsi dan penerapan teknologi H.265/HEVC secara luas.

  • Sergei Savenkov

    semacam ulasan "pendek"... seolah-olah mereka sedang terburu-buru di suatu tempat