Kompresi Data Audio Satrio Adi Rukmono – NIM : 13506070 Program Studi Teknik Informatika, Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung Jalan Ganesha 10, Bandung 40132 e-mail: [email protected] Abstrak Seperti halnya data gambar maupun video, data audio juga memerlukan kompresi untuk isu storage dan keperluan pengaksesan secara real time melalui jaringan komputer. Namun, untuk data audio tidak dapat digunakan teknik kompresi untuk data generik. Penggunaan algoritma demikian menyebabkan buruknya kualitas suara, rasio kompresi yang tidak terlalu besar (sekitar 87%), dan algoritma demikian tidak dirancang untuk keperluan pengaksesan secara real time. Mirip dengan kompresi gambar, ada dua macam teknik kompresi data audio, yaitu lossy dan lossless. Untuk konsumsi sehari-hari, teknik kompresi yang lossy lebih banyak digunakan karena rasio kompresi yang besar, dan penurunan kualitas data audio pun tidak dapat terlalu ditangkap oleh keterbatasan telinga manusia. Makalah ini membahas prinsip-prinsip dasar dalam kompresi data audio dan membandingkan beberapa teknik kompresi data audio. Kata kunci: kompresi, audio, multimedia 1. Pendahuluan Seperti pada teknik kompresi pada umumnya, kompresi data audio, baik lossy maupun lossless, memanfaatkan adanya redundansi informasi dengan pengkodean, pengenalan pola, maupun prediksi linear seperti pada kompresi video. Pada kompresi lossless, hasil kompresi dapat dikembalikan seperti data asli tanpa ada perubahan, maka rasio kompresi pun tidak dapat terlalu besar untuk memastikan semua data dapat dikembalikan ke bentuk semula. Kompresi lossy pada data audio berdasarkan pada psikoakustik, sebagaimana kompresi lossy pada gambar yang berdasarkan pada redundansi psikovisual. Keduanya memanfaatkan keterbatasan indera manusia yang hanya dapat menangkap (perceive) kondisi lingkungannya dalam rentang tertentu, misalnya telinga manusia hanya dapat menangkap suara dengan frekuensi di antara 20Hz hingga 20000Hz. 2. Kompresi Data Audio, Lossless Kompresi lossless pada data audio berarti bahwa hasil kompresi dari data tersebut dapat di-dekompres untuk menghasilkan data yang sama persis dengan data asli, tanpa ada penurunan kualitas sama sekali. Kompresi lossless untuk data audio agak mirip dengan algoritma kompresi lossless generik, dengan rasio kompresi sekitar 50% hingga 60%, meskipun dapat mencapai 35% pada data musik orkestra atau paduan suara yang tidak terlalu banyak noise. 2.1. Kegunaan kompresi lossless pada data audio Kompresi lossless utamanya digunakan untuk pengarsipan, dan penyuntingan. Untuk keperluan pengarsipan, tentu kualitas yang diinginkan adalah kualitas terbaik. Begitu juga dengan penyuntingan. Menyunting data yang terkompresi secara lossy menyebabkan turunnya kualitas suara pada setiap penyimpanan. Maka kompresi lossless selalu digunakan dalam sound engineering. Selain kedua kegunaan itu, kompresi lossless juga biasa digunakan oleh para audiophile, yaitu penggemar musik yang senang mendengarkan musik dengan kualitas tinggi dengan perangkat keras yang berkualitas tinggi pula. Data audio yang terkompresi secara lossless juga digunakan untuk menghasilkan data audio versi lossy untuk didistribusikan. Saat ini, dengan semakin murahnya media penyimpanan data digital dan bandwidth, kompresi lossless pun menjadi semakin populer di kalangan konsumen. 2.2. Prinsip dasar kompresi lossless pada data audio Ada dua tahap utama dalam kompresi lossless untuk data audio, yaitu prediction dan coding. Prediction memanfaatkan sample-sample sebelumnya untuk memprediksi sample berikutnya. Kemudian selisih antara sample hasil prediksi dengan sample sebenarnya dikodekan (coding). Untuk setiap format, biasanya perbedaan hanya terdapat pada teknik prediction dan/atau coding. • Prediction. Selanjutnya encoder mencari aprok- 2.3. Beberapa format kompresi lossless Format kompresi lossless untuk data audio yang paling tua adalah Shorten, sedagkan yang masih umum digunakan saat ini adalah Free Lossless Audio Codec, Apple Lossless, MPEG-4 ALS, Monkey's Audio, WavPack, dan True Audio. Yang akan dibandingkan di sini hanya Free Lossless Audio Codec dan MPEG-4 ALS. 2.3.1. Free Lossless Audio Codec (FLAC) Format FLAC (Xiph.Org Foundation) memanfaatkan tingginya korelasi antar sample pada data audio. FLAC menggunakan prediksi linear untuk mengkonversi sample menjadi deretan angka yang disebut residu, yang kemudian disimpan dengan Golomb-Rice coding. Rasio Kompresi Kompresi FLAC menghasilkan sebesar 50% hingga 60%. rasio kompresi Tahapan Kompresi • Blocking. Blok dalam FLAC mengacu pada • deretan sample yang merentang pada beberapa channel. Ukuran blok dapat berbeda-beda, bergantung pada beberapa faktor termasuk sample rate. Ukuran blok ini mempengaruhi rasio kompresi secara langsung. Jika ukuran blok terlalu kecil, maka dibutuhkan banyak frame sehingga banyak bit akan terbuang untuk menyimpan frame header. Jika terlalu besar, karakteristik sinyal audio akan terlalu bervariasi sehingga sulit menemukan predictor yang optimal. FLAC membatasi ukuran blok antara 16 hingga 65535 sample per blok. Interchannel Decorrelation. Untuk data stereo, seringkali banyak korelasi antara channel kiri dan kanan. Dengan demikian terdapat beberapa metode penyimpanan channel ke dalam blok sebagai berikut: ◦ Independent, kedua channel dikodekan terpisah. ◦ Mid-side, menyimpan rata-rata sinyal kedua channel sebagai mid channel dan selisih antara channel kiri dengan kanan sebagai side channel. ◦ Left-side, menyimpan channel kiri dan side channel. ◦ Right-side, menyimpan channel kanan dan side channel. Kedua metode terakhir adalah yang paling efisien pada kebanyakan kasus. • simasi deskripsi matematis dari sinyal pada setiap blok. Ukuran deskripsi ini umumnya jauh lebih kecil daripada ukuran sinyal itu sendiri. Metode prediksi ini diketauhi oleh encoder maupun decoder sehingga pada hasil kompresi cukup disertakan parameter prediksi. Ada empat metode yang digunakan FLAC untuk prediction: ◦ Verbatim. Sinyal prediksi adalah nol, sehingga residu sama dengan sinyal yang sebenarnya (tidak ada kompresi). ◦ Constant. Metode ini digunakan jika dalam channel tertentu pada suatu blok terdapat digital silence atau nilai yang konstan. Encoding yang digunakan adalah run-length. ◦ Fixed linear prediction. ◦ FIR linear prediction. Residual coding. Prediktor tidak dapat mendeskripsikan sinyal dengan persis, oleh karena itu perlu disimpan selisih antara sinyal asli dengan sinyal hasil prediksi. Selisih ini disebut residu. Efektivitas prediksi dapat terlihat dari ukuran residu yang dibutuhkan. Residu ini dismipan dengan salah satu dari dua cara rice coding: ◦ menggunakan satu parameter untuk seluruh residu. Parameter ini didasarkan pada variansi nilai residu. ◦ Residu dibagi-bagi ke dalam beberapa bagian kontigu dengan panjang yang sama, dengan setiap bagian memiliki parameter sendiri yang ditentukan dari nilai rata-rata residu. 2.3.2. MPEG-4 ALS Operasi pada MPEG-4 Audio Lossless Coding (Moving Pictures Expert Group) mirip dengan FLAC. Perbedaannya antara lain untuk coding residu, ALS menggunakan Golomb-Rice atau Block Gilbert Moore Coding. MPEG-4 mendukung kombinasi lossy dengan lossless pada MPEG-4 SLS (Scalable to Lossless). Rasio Kompresi Kompresi MPEG-4 ALS menghasilkan kompresi sebesar 40% hingga 50%. rasio Tahapan Kompresi Secara garis besar, tahapan kompresi pada MPEG-4 ALS mirip dengan FLAC. Perbedaan terdapat pada algoritma prediksi dan pengkodean residu yang digunakan. • Prediction. MPEG-4 ALS menggunakan linear predictive prediksi. coding (LPC) untuk melakukan • Voc File Compression. Teknik ini sangat • Gambar 1: LPC pada MPEG-4 ALS • Mengenai LPC ini dibahas lebih lanjut pada subbab 3.2. Residual coding. Pada MPEG-4 ALS dapat digunakan algoritma Golomb-Rice Coding seperti pada FLAC atau Block Gilbert Moore Coding (BGMC). Pada BGMC, residu dibagi lagi menjadi dua kategori, yaitu yang berada di area tengah dari distribusi dan yang berada di luar area tersebut. Residu yang berada di luar kemudian dikurangi lagi dengan nilai residu maksimum agar semua residu berada di area tengah distribusi, kemudian dikodekan dengan rice coding. 3. Kompresi Data Audio, Lossy Sesuai namanya, pada kompresi lossy untuk data audio akan terjadi penurunan kualitas jika hasil kompresi dicoba untuk di-dekompresi. Penurunan kualitas ini disebut dengan compression artefacts. 3.1. Kegunaan kompresi lossy pada data audio Kompresi lossy pada data audio sangat banyak digunakan, baik secara langsung (misalnya pada mp3 player) maupun secara tidak langsung (terkandung dalam DVD video, televisi digital, video streaming, dan sebagainya). Kompresi ini digunakan konsumen audio, sebab dengan rasio kompresi yang sangat tinggi (5% hingga 20%) kualitas suara masih cukup baik. Di tangan audio engineer, sedikit penurunan kualitas dapat berpengaruh secara beruntun pada proses engineering, oleh sebab itu produksi data audio tidak menggunakan kompresi lossy. • • sederhana, yaitu menghapus sample-sample yang hening (tidak ada suara) seperti jeda antar paragraf pada sebuah pidato ataupun keheningan sejenak pada beberapa bagian dari lagu. Linear Predictive Coding (LPC), Code Excited Linear Predictor (CELP). LPC merupakan teknik kompresi kuno yang digunakan untuk suara manusia (speech). Pada LPC terdapat sebuah model analitis dari pita suara manusia. Data audio dibandingkan dengan model ini, kemudian yang disimpan hanyalah parameter untuk membangkitkan suara yang mirip menggunakan model tersebut. Kualitas suara yang dibangkitkan buruk sehingga tidak digunakan lagi pada saat ini. CELP merupakan pengembangan lebih lanjut, dengan model analitis yang lebih kompleks untuk menghasilkan rasio kompresi yang lebih besar dan kualitas suara yang lebih baik. Sedikit mirip dengan kompresi lossless, pada CELP selisih antara suara original dengan model analitis juga disimpan dalam bentuk yang terkompresi juga. ADPCM. Sederhananya, sample pertama disimpan secara utuh, sedangkan untuk sample-sample berikutnya, yang disimpan adalah selisih dengan sample sebelumnya, yang umumnya tidak terlalu besar. MPEG. Teknik inilah yang memanfaatkan teori psikoakustik. Jika suara tidak dapat didengar telinga manusia, maka bagian suara tersebut tidak perlu dikodekan. Selain itu, yang masih berhubungan dengan psikoakustik adalah noise shaping. Sinyal dengan frekuensi tinggi hanya dapat didengar manusia jika memiliki volume yang besar, oleh karena itu noise 'disembunyikan' di area frekuensi tinggi ini dengan volume kecil. 3.3. Beberapa format kompresi lossy Untuk data audio secara umum, format yang sangat populer adalah MP3 yang merupakan bagian dari MPEG yang menangani layer audio (MPEG layer III), AAC yang merupakan pengembangan lebih lanjut, serta OGG. Untuk data speech, terdapat beberapa format seperti A-law/µ-law yang digunakan pada telepon, AMR pada GSM, AMR-WB untuk CDMA, dan sebagainya. 3.2. Prinsip dasar kompresi lossy pada data audio Referensi Utamanya, kompresi lossy pada data audio memanfaatkan psikoakustik, yang berkaitan dengan daya tangkap telinga manusia terhadap suara. Telinga manusia hanya dapat menangkap suara dengan frekuensi di antara 20Hz hingga 20000Hz. [1] Xiph.Org Foundation. "FLAC Format". http://flac.sourceforge.net/format.html (tanggal akses: 4 Mei 2009) [2] Liebchen, Tilman. Introduction to MPEG-4 Audio Lossless Coding. 2003. [3] Harada, Noboru. MPEG-4 ALS and Archiving Format. 2007. [4] Nejdl, Rusty. "Audio Compression Techniques". Namun masih ada beberapa teknik dasar lainnya dalam kompresi lossy untuk data audio, yaitu: http://musik.ringofsaturn.com/compress.php (tanggal akses: 21 April 2009) [5] Raissi, Rassol. The Theory Behind Mp3. 2002.