Information Technology

Segala Informasi Mengenai Dunia IT disekitarmu…

H.264/MPEG-4 AVC

H.264/MPEG-4 Part 10 atau AVC (Advanced Video Coding) adalah standar untuk kompresi video dan saat ini merupakan format yang paling banyak digunakan untuk merekam, mengkompresi dan mendistribusikan video dengan kualitas tinggi (dengan resolusi 720p atua 1080p).

Standar ini selesai dirumuskan tahun 2003 oleh ITU-T Video Coding Expert Group (VCEG) bekerjasama dengan ISO/IEC Moving Picture Expert Group (MPEG). Oleh karena itu Format H.264 dari ITU-T dan MPEG-4 AVC (secara resmi bernama ISO/IEC 14496-10 – MPEG-4 Part 10, Advanced Video Coding) dari ISO/IEC adalah sama.

Kompresi ini menawarkan ukuran yang relatif lebih kecil untuk kualitas visual yang setara. Entah karena belum banyak orang yang tahu tentang h264 atau karena masalah kompatibilitas, belum banyak yang menggunakan h264 untuk encoding video. Memang, karena menggunakan algoritma yang kompleks, h264 membutuhkan prosesor yang kuat. Banyak komputer tidak akan kuat memainkan video h264 dengan kualitas HD (High Definition), apalagi dengan framerate 50/60fps.

Bisa dikatakan h264 adalah standar format kompresi video masa depan. Format ini digunakan pada disc Blu-Ray (mandatory feature), HD-DVD (obsolete), iPod, iPhone, XBox, PS3, PSP, broadcast HDTV baik terestrial maupun satelit di banyak negara, dsb. Untuk broadcast HDTV, h264 dimasukkan ke dalam Transport Stream (TS). TS ini bisa di-capture secara digital, sehingga h264 bisa didapatkan tanpa mengalami penurunan kualitas. TS hasil capture memiliki kualitas sama seperti yang di-broadcast-kan, yaitu kualitas HD. TS tersebut dapat ditemukan di-share di Internet, terutama oleh mereka yang men-share acara TV.

Apabila kita memiliki video dengan format lain, dan ingin men-share dalam format h264, kita perlu melakukan transcoding (konversi format) video tersebut ke h264. Encoder gratis yang banyak digunakan adalah x264, yang tersedia dalam bentuk CLI (Command Line Interface) maupun diadopsi ke dalam software lain, seperti x264vfw, avidemux, avisynth, ffdshow, handbrake dsb. Berikutnya kita akan membahas transcoding dengan x264 CLI, karena merupakan software dasar yang pengembangannya sangat aktif.

Salah satu salah persepsi tentang encoding video adalah, video berbeda dengan resolusi yang sama yang di-encode dengan bitrate yang sama akan menghasilkan video output dengan kualitas yang sama. Hal ini tidak benar, karena tingkat kompresi video tergantung pada banyak hal, seperti gerak (motion), ketajaman gambar (luma), kekayaan warna (chroma), dll. Pada waktu encoding, kita hanya bisa mengontrol salah satu, kontrol ukuran namun kualitas tidak terkontrol, atau kontrol kualitas namun ukuran tidak terkontrol.

Pada dasarnya ada dua jenis encoding, yaitu bitrate mode (ukuran) dan quality mode (kualitas). Seringkali orang menggunakan mode bitrate dengan nilai yang tidak pas, yaitu terlalu besar yang membengkakkan ukuran file tanpa disertai keunggulan kualitas visual yang berarti, yang berarti pemborosan bitrate dan bandwidth; atau terlalu kecil yang menurunkan kualitas visual. Karena itu umumnya kita menggunakan mode kualitas, dan hanya menggunakan mode bitrate apabila kita menginginkan video kita memiliki ukuran tertentu. Contoh keadaan di mana kita perlu menggunakan mode bitrate adalah pada waktu kita ingin meng-encode movie video ke ukuran CD (+/-700MB). Untuk mendapatkan sebaran bitrate (dan kualitas visual) yang lebih merata, gunakan multi (n) pass encoding.

Apabila ukuran tidak terlalu menjadi patokan (tidak harus fixed ukuran tertentu), gunakan mode kualitas. Mode kualitas pada x264 dibagi menjadi dua, constant quantizer dan constant quality (atau constant rate-factor). Quantizer adalah konstanta yang digunakan oleh encoder untuk menentukan tingkat kompresi gambar berdasarkan kualitas output. Constant quantizer berarti tiap frame akan di-encode dengan quantizer yang sama (objektif). Rate factor adalah konstanta yang digunakan untuk menentukan sebaran quantizer secara temporal (waktu). Constant Rate-factor (CRF) berarti tiap frame tidak di-encode dengan quantizer yang sama, namun adaptif relatif dengan frame lain, di mana video output tetap dipersepsikan oleh mata (subjektif) memiliki kualitas visual yang stabil. Secara kasar CRF bisa diartikan sebagai average quantizer, meskipun sebenarnya RF berbeda dengan quantizer. Umumnya untuk encoding kita menggunakan mode constant quality atau CRF dengan nilai antara 20-24, gunakan nilai lain hanya bila dirasa perlu.

Iklan

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

%d blogger menyukai ini: