Semua Tentang Codec

Codec merupakan singkatan istilah dari compressor-decompressor atau lebih umumnya lagi adalah encode-decoder. Yaitu sebuah hardware atau software yang memiliki kemampuan dalam hal encoding dan decoding data.

Encoding adalah proses perubahan bentuk dari signal atau bitstream data ke dalam bentuk yang dapat diterima untuk transmisi data atau penyimpanan data dengan menggunakan algoritma tertentu. Dimana proses kebalikannya disebut decoding. Kegunaan dari encoding adalah untuk standarisasi, efisiensi (dalam transmisi), kerahasiaan, keamanan, dan penghematan ruang media simpan (kompresi data).

Karena batasan topik yang dibicarakan disini adalah mengenai video dan audio, maka codec ditujukan sebagai standarisasi dan untuk memperkecil ukuran data digital dari audio sample dan video frame, dalam rangka untuk mempercepat transmisi dan penghematan ruang media simpan. Dengan tujuan dari semua desain coded adalah untuk menangani kualitas video dan audio ketika mengkompresi data biner.

Lossy dan Lossless

Pada umumnya hampir semua codec yang digunakan dalam transmisi adalah lossy, artinya adalah dalam proses kompresinya ada sebagian informasi yang dihilangkan dengan tujuan untuk memperkecil ukuran data yang ditransmisikan. Bermacam metode dan teknik yang digunakan untuk mengkompresikan data secara lossy dengan tujuan memperkecil ukuran data dengan menghilangkan informasi yang tidak terlalu penting dan signifikan.

Data suara (audio data) adalah gabungan dari banyak bentuk gelombang (waveform) yang berbeda-beda frekuensi yang sangat rumit dan kompleks. Tentunya dalam data audio tersebut tidak semua bentuk gelombang dapat didengar oleh manusia, terutama untuk gelombang suara frekuensi tinggi, oleh sebab itu metode kompresi yang lossy, menghilangkan bagian-bagian yang kurang diperlukan tersebut.

Kita dapat menganalogikan sebuah metode kompresi yang bersifat lossy seperti ini:

Anggaplah sebuah sampel data itu seperti resep suatu tradisi kue X yang diciptakan oleh Nenek. Resep aslinya yaitu telur, tepung terigu, tepung maizena, mentega, margarin, gula merah, gula pasir, coklat pasta, gula aren, ragi, soda kue, dan susu, yang masing-masing sudah ditentukan takarannya. Nenek tersebut menurunkan warisan resepnya kepada anaknya si A. Saat ini si A tersebut ingin membuat kue X dengan resep warisan dari neneknya, akan tetapi karena sekarang harga tepung maizena mahal, si A tersebut berpikir “ah rasanya tanpa tepung maizena pun tak apa, toh hanya sedikit saja komposisinya dibandingkan bahan lain”, lalu sang anak mengurangi isi resep tersebut. Jadilah kue X generasi 2, memang rasanya hampir tidak ada bedanya dengan resep aslinya, tentunya dengan biaya produksi yang lebih murah.

Setelah itu si A pun menurunkan resep kue X ini kepada anaknya si B. Saat ini si B ingin membuat kue X, akan tetapi karena sekarang mencari gula aren sulit, dan kalau membeli di tempat lain pasti memerlukan biaya lagi, lalu si B berpikir “sepertinya gak pake gula aren pun ga apa, toh hanya sedikit dan masih ada gula merah yang rasanya mirip” lalu si B membuat kue X tersebut tanpa gula aren. Jadilah kue X generasi 3, memang rasanya sama hampir tidak ada bedanya dengan kue X generasi 2 dan kue X aslinya. Dan begitulah seterusnya, sampai resep kue X generasi sekian jauh berbeda dari resep kue X aslinya.

Jadi dalam setiap proses pewarisan resep terjadi pengurangan informasi, sehingga saat proses ke sekian, kualitas informasi jauh berkurang. Hal itu juga terjadi dalam proses pengolahan data dari kompresi lossy.  Mungkin analogi diatas kurang tepat pendekatannya, akan tetapi setidaknya ada sedikit bayangan mengenai hal tersebut.

Selain itu terdapat pula metode kompresi yang bersifat lossless. Kompresi lossless tidak menghilangkan informasi apapun didalam sebuah sampel data. Walaupun dalam hal penghematan ruang data simpan untuk kompresi lossless tidak terlalu signifikan, akan tetapi kompresi losless memiliki keunggulan, dimana dalam proses pengolahan data yang berulang ulang, tidak akan mengurangi atau menghilangkan informasi yang terdapat dalam suatu sampel data yang diolah. Tujuan akhir daripada penggunaan  kompresi lossless adalah data yang telah dikompresikan sewaktu-waktu dapat diolah lebih lanjut tanpa mengurangi informasi aslinya.

Contoh dari berbagai format audio dengan kompresi lossy, diantaranya adalah MP3, Advanced Audio Coding (AAC), Windows Media Audio (WMA), Vorbis (OGG), AC3 dan DTS. Sedangkan format audio dengan kompresi lossless diantaranya adalah FLAC, WavPack, Monkey’s Audio (APE), dan Meridian Lossless Packaging (MLP).

Contoh dari format video dengan kompressi lossy, diantaranya adalah MPEG1/2, DivX, XviD, H264, Windows Media Video (WMV), dn Real Video (RMVB). Sedangkan format kompresi video yang lossless diantaranya adalah DV, HuffYUV, CorePNG, dan FFV1.

Sampai disini dulu tentang codec, selanjutnya akan dilanjutkan lain waktu.

Artikel Terkait

[related_posts limit=”3″]

 

Leave a Reply