Pembauran galat

**Pembauran galat** () adalah cara untuk memperbaiki citra yang mengalami pengurangan jumlah palet warna sehingga muncul pemitaan warna. Cara ini dilakukan dengan menggunakan derau untuk mengurangi pemitaan warna. Pembauran galat dipakai untuk pencetak/layar yang memiliki keterbatasan warna, misalnya pengubahan dari gambar berderajat keabuan ke dalam citra yang hanya terdiri dari dua warna: hitam dan putih.

## Pengolahan digital dan analisis bentuk gelombang
Pembauran galat dipakai dalam berbagai bidang yang memakai analisis dan pengolahan digital, termasuk pengolahan sinyal digital, seperti audio digital, video digital, fotografi digital, seismologi, radar, dan sistem prakiraan cuaca.

Kuantisasi menghasilkan galat. Jika galat itu berkorelasi dengan sinyal, hasilnya berpola atau bisa diprediksi. Dalam beberapa bidang yang sensitif terhadap hal itu, galat siklis menghasilkan artefak yang tidak diinginkan. Dalam bidang-bidang itulah, pembauran galat dipakai. Contohnya adalah bidang audio. Telinga manusia bekerja seperti transformasi Fourier, yaitu mendengarkan tiap frekuensi.

## Audio digital

Dalam sebuah sistem analog, sinyalnya *kontinu*. Namun, dalam sistem digital PCM, amplitudo sinyal yang keluar dari sistem digital terbatas pada himpunan nilai atau bilangan tetap. Proses ini disebut dengan kuantisasi. Tiap nilai kode adalah langkah diskret ... jika sebuah sinyal dikuantisasi tanpa pembauran galat, akan ada distorsi kuantisasi yang berkaitan dengan sinyal input asal .... Untuk mencegahnya, sinyal di-*dither* (pembauran galat dengan derau), yaitu sebuah proses yang secara matematis menghilangkan harmoni atau distorsi yang sangat tidak diinginkan sepenuhnya dan menggantinya dengan derau tingkat tetap/konstan.

Versi akhir audio yang dimasukkan ke dalam cakram padat hanya terdiri dari 16 bit per sampel. Namun, selama proses produksi, kedalaman bit yang dipakai biasanya lebih besar. Pada akhirnya, data digital tersebut harus dikurangi menjadi 16 bit untuk dimasukkan ke dalam CD dan didistribusikan.

Ada beberapa cara untuk melakukannya. Salah satunya dengan membuang bit yang berlebih (disebut *pemangkasan*). Cara lainnya adalah dengan *membulatkan* bit yang berlebih ke nilai terdekat. Namun, kedua cara tersebut menghasilkan galat yang dapat diprediksi dalam hasilnya. Pembauran galat mengganti galat-galat tersebut dengan derau tingkat tetap/konstan.

## Pengolahan citra dan fotografi digital

Pembauran galat dipakai dalam grafika komputer untuk memberikan ilusi kedalaman warna tinggi dengan menggunakan palet terbatas (kuantisasi warna). Caranya adalah dengan membuat rata-rata bagian citra sama dengan rata-rata pada bagian citra asalnya. Penglihatan manusia melihat warna-warna yang berdekatan sebagai campuran warna-warna tersebut. Layar televisi dan komputer menggunakan cara sifat pencampuran warna untuk menampilkan citra berwarna dengan fosfor tiga warna.

Sederhananya, algoritma pembauran galat mencatat selisih warna (galat) yang dipilih dengan warna aslinya dan menambahkan selisih tersebut ke piksel tetangganya sebelum mencari palet warna terdekat untuknya. Dengan membaurkan galat-galat ini, hasil pengurangan warna (kuantisasi) masih tampak mirip dengan asalnya. Meski demikian, apabila jumlah warna terlalu sedikit (kedalaman warna yang terlalu dangkal), pola deraunya bisa saja terlihat.

### Contoh

Pengurangan kedalaman warna dapat memiliki efek samping visual yang nyata. Kalau citra asli berupa foto, ia bisa terdiri dari ribuan warna, bahkan jutaan warna. Pembatasan jumlah warna menjadi palet warna khusus tertentu secara efektif membuang sekian banyak informasi warna.

Ada beberapa sebab yang dapat memengaruhi kualitas citra yang dikurangi jumlah warnanya. Salah satunya adalah palet warna yang dipilih. Sebagai contoh, citra asal (*Gambar 1*) dapat dikurangi menjadi 216 warna aman untuk web. Jika tiap piksel pada citra asal langsung diganti menjadi warna terdekat pada palet tersebut, tidak ada pembauran galat yang dilakukan (*Gambar 2*). Namun, biasanya cara ini menghasilkan wilayah datar (kontur) dan kehilangan detail sehingga dapat terlihat cukup jauh dari asalnya. Bagian bergradasi dapat menghasilkan pemitaan warna yang cukup mengganggu. Penerapan pembauran galat dapat meminimalkan artefak visual dan lebih mencirikan citra asal (*Gambar 3*). Pembauran galat dapat mengurangi pemitaan warna dan daerah datar.

Salah satu masalah yang muncul akibat palet warna yang tetap adalah warna yang dibutuhkan bisa saja tidak tersedia pada palet dan banyak warna yang ada tidak diperlukan. Misalnya, palet yang berisi banyak warna hijau kurang cocok untuk foto padang pasir. Penggunaan palet warna optimal dapat membantu untuk kasus ini. Palet warna optimal dibuat berdasarkan warna-warna yang paling sering muncul. Apabila citra asal dikurangi dengan palet warna optimal, hasilnya lebih mirip dengan citra asal (*Gambar 4*).

Jumlah warna yang tersedia dalam palet juga menjadi salah satu sebab yang memengaruhi kualitas citra. Misal, jika warnanya hanya ada enam belas, citra hasil pengurangannya akan semakin kehilangan detail dengan lebih banyak daerah datar dan pemitaan warna (*Gambar 5*). Sekali lagi, pembauran galat dapat mengurangi artefak tersebut (*Gambar 6*).

### Penerapan

Berbagai macam perangkat keras tampilan, termasuk adaptor video komputer awal dan juga banyak LCD modern yang dipakai dalam telepon genggam dan kamera digital murah, menampilkan rentang warna yang jauh lebih kecil daripada tampilan layar kebanyakan. Salah satu penerapan pembauran galat adalah untuk menampilkan warna yang lebih banyak daripada yang sebenarnya didukung.

### Algoritma
Ada beberapa algoritme yang didesain untuk mengurangi kedalaman warna citra.
* Pengambangan (disebut juga pembauran galat rata-rata): Tiap piksel dibandingkan dengan nilai ambang tertentu. Cara ini adalah cara termudah daripada yang lain. Namun, hasilnya memiliki kekurangan detail yang besar.
* Pengambangan acak adalah usaha awal (seawal-awalnya tahun 1951) untuk mengurangi dampak akibat pengambangan biasa. Tiap piksel dibandingkan dengan nilai ambang acak sehingga menghasilkan citra yang berderau statis. Meski cara ini tidak menghasilkan artefak berpola, deraunya lebih sering merusak citra.
* Pembauran galat teratur membaurkan dengan matriks pembauran. Tiap piksel pada citra dibandingkan dengan nilai ambang sesuai pola matriks. Piksel tetangga tidak saling memengaruhi sehingga cara ini tidak cocok untuk animasi. Tiap pola menghasilkan efek pembauran yang berbeda. Meski mudah dibuat, algoritma ini tidak bisa diubah dengan mudah untuk palet khusus tertentu.
** Pembauran galat halfton menghasilkan citra yang mirip dengan hasil cetak koran. Hal ini menghasilkan pembauran berkerumun seperti tinta yang cenderung menyatu. Cara ini sering dipakai utamanya dalam cetak ofset dan cetak laser.
** Matriks Bayer menghasilkan pola silang seperti hasil menyulam.
** Matriks yang diatur untuk *blue noise* seperti cara *void-and-cluster* menghasilkan citra yang mirip dengan pembauran galat tak teratur.

* Pembauran galat tetangga adalah proses umpan balik yang membaurkan galat kuantisasi kepada piksel tetangganya.
** Algoritme Floyd–Steinberg hanya membaurkan galat kepada piksel tetangganya. Hasilnya adalah pembauran yang halus.
** Algoritme Jarvis–Judice–Ninke membaurkan galat hingga kepada satu piksel lebih jauh. Hasilnya lebih kasar, tetapi memiliki lebih sedikit artefak visual. Namun, algoritma ini lebih lambat daripada Floyd–Steinberg karena harus membaurkan galat kepada 12 piksel tetangganya. Bandingkan dengan Floyd–Steinberg yang hanya membaurkan kepada 4 piksel tetangganya.
** Algoritme Stucki berdasarkan algoritma Jarvis–Judice–Ninke, tetapi sedikit lebih cepat. Hasilnya cenderung lebih bersih dan tajam.
** Algoritme Burkes adalah bentuk sederhana dari algoritma Stucki sehingga lebih cepat. Namun, hasilnya kurang bersih dibandingkan algoritma Stucki.

* Pembauran galat tetangga (lanjutan)
** Algoritme Sierra berdasarkan pada algoritma Jarvis dkk., tetapi lebih cepat dan menghasilkan hasil yang masih mirip.
** Algoritma Sierra dua baris mirip dengan algoritma di atas, tetapi diubah oleh Sierra untuk meningkatkan lajunya.
** *Sierra Lite* adalah algoritma oleh Sierra yang lebih cepat daripada Floyd–Steinberg. Namun, hasilnya masih mirip (tidak memburuk).
** Algoritme Atkinson dibuat oleh pemrogram Apple, Bill Atkinson, dan berdasarkan pada algoritma Jarvis dkk. serta algoritma Sierra, tetapi lebih cepat. Perbedaannya adalah pembauran galatnya tidak seluruhnya, tetapi hanya tiga perempatnya. Cara ini cenderung menjaga detail dengan baik. Namun, bagian yang sangat gelap atau sangat terang bisa gagal diolah.
** Pembauran galat berdasarkan gradasi dikembangkan pada tahun 2016 untuk menghapus artefak struktur yang dihasilkan oleh algoritma Floyd–Steinberg dengan pengacakan termodulasi dan memperbaiki struktur dengan modulasi pembauran berdasarkan gradasi.

## Lihat pula
* Audio digital
* Kuantisasi warna
* Kuantisasi (pengolahan sinyal)

## Referensi