Kompresi Data Audio

advertisement
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.
Download