Apa Properti Membuat Wavelet Tertentu "Lebih Baik" Daripada Yang Lain Dalam Kompresi Gambar?

40

Saya mencoba untuk belajar lebih banyak tentang kompresi gambar menggunakan metode transformasi wavelet. Pertanyaan saya adalah: Ada apa dengan wavelet tertentu yang membuatnya lebih disukai saat mengompres gambar? Apakah mereka lebih mudah untuk dihitung? Apakah mereka menghasilkan gambar yang lebih halus? Dll ...

Contoh: JPEG 2000 menggunakan Cohen-Daubechies-Feauveau 9/7 Wavelet ... mengapa yang ini?

pengguna807566
sumber
Sejauh yang saya tahu wavelet Daubechies memberikan dasar yang halus, maka gambar yang sangat padat "kabur". Wavelet Haar, misalnya, akan menghasilkan artefak kuning. Karena Anda menyebutkan JPEG 2000, saya ingin mencatat bahwa juga skema pengkodean koefisien wavelet non-nol berdampak pada gambar yang diterjemahkan (EZW, SPIHT, ...).
Libor
Pertanyaan Anda sudah dijawab. Jangan ragu untuk memilih yang berguna dan menerima yang paling cocok
Laurent Duval

Jawaban:

27

Ikhtisar

Jawaban singkatnya adalah bahwa mereka memiliki jumlah maksimum vanishing momentsuntuk diberikan support(yaitu jumlah koefisien filter). Itulah properti "ekstrem" yang membedakan wavelet Daubechies secara umum. Secara longgar, momen yang lebih hilang menunjukkan kompresi yang lebih baik, dan dukungan yang lebih kecil menyiratkan komputasi yang lebih sedikit. Faktanya, pertukaran antara momen menghilang dan ukuran filter sangat penting sehingga mendominasi cara wavelet dinamai. Misalnya, Anda akan sering melihat D4wavelet yang disebut sebagai D4atau db2. The 4mengacu pada jumlah koefisien, dan2mengacu pada jumlah momen hilang. Keduanya merujuk pada objek matematika yang sama. Di bawah ini, saya akan menjelaskan lebih lanjut tentang momen apa (dan mengapa kita ingin menghilangkannya), tetapi untuk sekarang, cukup pahami bahwa itu berkaitan dengan seberapa baik kita dapat "melipat" sebagian besar informasi dalam sinyal menjadi lebih kecil. jumlah nilai. Kompresi lossy dicapai dengan menjaga nilai-nilai itu, dan membuang yang lain.

Sekarang, Anda mungkin telah memperhatikan bahwa CDF 9/7, yang digunakan dalam JPEG 2000, memiliki dua angka dalam nama, bukan satu. Bahkan, itu juga disebut sebagai bior 4.4. Itu karena itu bukan wavelet diskrit "standar" sama sekali. Bahkan, secara teknis bahkan tidak menghemat energi dalam sinyal, dan properti itulah yang menjadi alasan utama mengapa orang begitu bersemangat dengan DWT! Angka-angka, 9/7dan 4.4, masing-masing masih mengacu pada momen pendukung dan menghilang, tetapi sekarang ada dua set koefisien yang menentukan wavelet. Istilah teknis adalah bahwa bukannya orthogonal, mereka biorthogonal. Daripada terlalu mendalam tentang apa artinya secara matematis, saya

JPEG 2000

Diskusi yang jauh lebih rinci tentang keputusan desain seputar gelombang wavelet CDF 9/7 dapat ditemukan dalam makalah berikut:

Usevitch, Bryan E. Tutorial tentang Kompresi Gambar Wavelet Lossy Modern: Yayasan JPEG 2000 .

Saya hanya akan mengulas poin-poin utama di sini.

  1. Cukup sering, wavelet Daubechies ortogonal benar-benar dapat mengakibatkan peningkatan jumlah nilai yang diperlukan untuk mewakili sinyal. Efeknya disebut coefficient expansion. Jika kita melakukan kompresi lossy yang mungkin atau mungkin tidak masalah (karena kita toh membuang nilai pada akhirnya), tapi itu pasti tampak kontraproduktif dalam konteks kompresi. Salah satu cara untuk menyelesaikan masalah adalah memperlakukan sinyal input sebagai periodik.

  2. Hanya memperlakukan input sebagai hasil berkala dalam diskontinuitas di bagian tepi, yang lebih sulit untuk dikompresi, dan hanya artefak dari transformasi. Misalnya, perhatikan lompatan dari 3 ke 0 dalam ekstensi periodik berikut: . Untuk mengatasi masalah itu, kita dapat menggunakan ekstensi periodik simetris dari sinyal, sebagai berikut: . Menghilangkan lompatan di tepian adalah salah satu alasan Discrete Cosine Transform (DCT) digunakan sebagai pengganti DFT dalam JPEG. Mewakili sebuah sinyal dengan cosinus secara implisit mengasumsikan "pengulangan dari depan ke belakang" dari sinyal input, jadi kami menginginkan wavelet yang memiliki properti simetri yang sama.[ 0 , 1 , 2 , 3 ] [ . . . , 0 , 1 , 2 , 3 , 3 , 2 , 1[0,1,2,3][...0,1,2,3,0,1,2,3,...][0,1,2,3][...,0,1,2,3,3,2,1,0,0,1...]

  3. Sayangnya, satu-satunya wavelet ortogonal yang memiliki karakteristik yang diperlukan adalah wavelet Haar (atau D2, db1), yang hanya sebagai satu momen menghilang. Ugh. Itu membawa kita ke gelombang biorthogonal, yang sebenarnya merupakan representasi berlebihan, dan karenanya tidak menghemat energi. Alasan mengapa gelombang-gelombang CDF 9/7 digunakan dalam praktik adalah karena gelombang-gelombang itu dirancang untuk mendekati pengawetan energi. Mereka juga telah diuji dengan baik dalam praktik.

Ada cara lain untuk memecahkan berbagai masalah (disebutkan secara singkat di koran), tetapi ini adalah stroke luas dari faktor-faktor yang terlibat.

Momen Hilang

Jadi, apa momennya, dan mengapa kita peduli dengan mereka? Sinyal halus dapat didekati dengan baik oleh polinomial, yaitu fungsi dari bentuk:

a+bx+cx2+dx3+...

Momen suatu fungsi (yaitu sinyal) adalah ukuran seberapa miripnya dengan kekuatan yang diberikan x. Secara matematis, ini dinyatakan sebagai produk dalam antara fungsi dan kekuatan x. Saat menghilang berarti produk dalam adalah nol, dan oleh karena itu fungsinya tidak "menyerupai" kekuatan x, sebagai berikut (untuk kasus kontinu):

xnf(x)dx=0

Sekarang masing-masing diskrit, ortogonal wavelet memiliki dua filter FIR yang terkait dengannya, yang digunakan dalam DWT . Salah satunya adalah filter lowpass (atau penskalaan) , dan yang lainnya adalah filter highpass (atau wavelet)ψϕψ. Terminologi itu tampaknya agak berbeda, tetapi itulah yang akan saya gunakan di sini. Pada setiap tahap DWT, filter highpass digunakan untuk "mengupas" lapisan detail, dan filter lowpass menghasilkan versi sinyal yang dihaluskan tanpa detail itu. Jika filter jalan pintas memiliki momen hilang, momen-momen tersebut (yaitu fitur polinomial orde rendah) akan dimasukkan ke dalam sinyal halus yang saling melengkapi, alih-alih sinyal detail. Dalam kasus kompresi lossy, semoga sinyal detail tidak memiliki banyak informasi di dalamnya, dan oleh karena itu kita dapat membuang sebagian besar darinya.

Berikut adalah contoh sederhana menggunakan wavelet Haar (D2). Biasanya ada faktor penskalaan terlibat, tapi saya mengabaikannya di sini untuk mengilustrasikan konsep tersebut. Kedua filter tersebut adalah sebagai berikut: ϕ=[1,1]1/2

ϕ=[1,1]ψ=[1,1]

Filter highpass menghilang untuk momen ke-0, yaitu , oleh karena itu memiliki satu momen hilang. Untuk melihatnya, perhatikan sinyal konstan ini: . Sekarang secara intuitif, seharusnya jelas bahwa tidak ada banyak informasi di sana (atau dalam sinyal konstan). Kita bisa menggambarkan hal yang sama dengan mengatakan "empat berpasangan". DWT memberi kita cara untuk menggambarkan intuisi itu secara eksplisit. Inilah yang terjadi selama satu pass DWT menggunakan wavelet Haar:[ 2 , 2 , 2 , 2 ]x0=1[2,2,2,2]

[2,2,2,2]ψϕ{[2+2,2+2]=[4,4][22,22]=[0,0]

Dan apa yang terjadi pada pass kedua, yang beroperasi hanya pada sinyal yang dihaluskan:

[4,4]ψϕ{[4+4]=[8][44]=[0]

Perhatikan bagaimana sinyal konstan sama sekali tidak terlihat oleh lintasan detail (yang semuanya keluar menjadi 0). Juga perhatikan bagaimana empat nilai telah direduksi menjadi nilai tunggal . Sekarang jika kita ingin mengirimkan sinyal asli, kita bisa mengirim , dan DWT Inverse dapat merekonstruksi sinyal asli dengan mengasumsikan bahwa semua koefisien detail adalah nol. Wavelet dengan momen menghilang yang lebih tinggi memungkinkan hasil yang sama dengan sinyal yang diperkirakan dengan baik oleh garis, parabola, kubik, dll8 8288

Bacaan lebih lanjut

Saya membahas banyak detail untuk membuat perawatan di atas dapat diakses. Makalah berikut memiliki analisis yang lebih dalam:

M. Unser, dan T. Blu, properti matematika dari filter wavelet JPEG2000 , IEEE Trans. Image Proc., Vol. 12, tidak. 9, September 2003, hal.1080-1090.

Catatan kaki

Makalah di atas tampaknya menunjukkan bahwa wavelet JPEG2000 disebut Daubechies 9/7, dan berbeda dari wavelet CDF 9/7.

Kami telah mendapatkan bentuk persis dari filter penskalaan JPEG2000 Daubechies 9/7 ... Filter ini dihasilkan dari faktorisasi polinomial yang sama dengan [10]. Perbedaan utama adalah bahwa filter 9/7 simetris. Selain itu, tidak seperti spline biorthogonal Cohen-Daubechies-Feauveau [11], bagian polinomial yang tidak beraturan telah dibagi antara kedua belah pihak, dan serata mungkin.Daubechies8

[11] A. Cohen, I. Daubechies, dan JC Feauveau, "Basis biorthogonal dari wavelet yang didukung secara kompak," Comm. Appl Murni Matematika, vol. 45, tidak. 5, hlm. 485–560, 1992.

Draf standar JPEG2000 ( tautan pdf ) yang saya telusuri juga menyebut filter resmi Daubechies 9/7. Ini referensi makalah ini:

M. Antonini, M. Barlaud, P. Mathieu, dan I. Daubechies, “Pengodean gambar menggunakan transformasi wavelet,” IEEE Trans. Gambar Proc. 1, hlm. 205-220, April 1992.

Saya belum membaca salah satu dari sumber-sumber itu, jadi saya tidak bisa mengatakan dengan pasti mengapa Wikipedia menyebut JPEG2000 wavelet CDF 9/7. Sepertinya mungkin ada perbedaan antara keduanya, tetapi orang-orang tetap memanggil resmi CDEG 9/7 JPEG2000 (karena didasarkan pada fondasi yang sama?). Terlepas dari namanya, kertas oleh Usevitch menjelaskan yang digunakan dalam standar.

datageist
sumber
@datageist Jawaban yang fantastis! Juga, alasan lain bahwa 9/7 muncul di tempat pertama adalah karena itu adalah cara alternatif untuk faktor polinomial rekonstruksi, dengan kendala bahwa filter menjadi simetris . Dengan cara ini, respons fase tetap linier. (Sebaliknya, wavelet daub4, sementara FIR, asimetris dan menginduksi fase non-linear dalam sinyal yang diproses). 9/7 digunakan dalam JPEG karena kecenderungan subyektif bagi kita untuk menyukai distorsi linear pada non-linear dalam gambar.
Spacey
1
Artikel yang bagus. Informasi dalam artikel wikipedia sesuai dengan sumber yang dikutip, pada dasarnya Daubechies "10 Lectures", jadi mungkin sudah ketinggalan zaman sehubungan dengan JPEG2000. Satu koreksi: biorthogonal tidak mubazir. Kondisi biorthogonality memberlakukan bank filter terbalik secara tepat. Transforman redundan dimulai dengan bingkai.
Dr. Lutz Lehmann
10

Kebaikan transformasi sinyal dievaluasi pada dua metrik yang berbeda: kompresi, dan dalam kasus kompresi lossy, kualitas. Kompresi didefinisikan oleh pemadatan energi tetapi kualitas lebih sulit.

Secara tradisional, kualitas diukur dengan error mean-square atau SNR rata-rata per-pixel. Namun, manusia tidak cenderung mengevaluasi sinyal dengan MSE atau SNR. Manusia sangat sensitif terhadap kebisingan yang terstruktur di mana MSE cenderung tidak. Mengembangkan algoritma yang memberikan metrik kualitas mirip manusia adalah bidang penelitian yang aktif. Indeks Structural SIMilarity (SSIM) Bovik adalah tempat yang baik untuk memulai.

totowtwo
sumber
6

Sebagai jawaban yang sangat singkat - transformasi apa pun lebih baik daripada transformasi lainnya jika ada, yang dikenal sebagai "properti Pemadatan energi" yang dijelaskan sebagai berikut:

"ketika hanya sebagian kecil dari koefisien transformasi memiliki besaran besar sehingga menjaga hanya beberapa co-efisien dan membuang atau mengukur yang lain masih memungkinkan pembangunan kembali sudah hampir sempurna". Properti semacam itu terkait dengan kemampuan dekorasi dari transformasi kesatuan. "

Transformasi dengan properti pemadatan energi yang lebih rendah adalah yang membutuhkan jumlah simbol terkecil dan karenanya bit yang lebih sedikit.

Transformasi dengan properti pemadatan energi tertinggi adalah DCT.

Dipan.

Dipan Mehta
sumber
1
DCT hanya memiliki pemadatan energi tertinggi untuk kelas sinyal yang tidak dikenal. Jika Anda dapat menandai domain sinyal Anda, Anda bisa melakukan yang lebih baik.
totowtwo
Saya setuju @totowtwo. Maksud saya adalah bahwa "sifat kekompakan energi" adalah apa yang membuat transformasi tertentu adalah apa yang membuatnya lebih disukai untuk mesin codec.
Dipan Mehta
5

Gambar alami terdiri dari berbagai fitur gambar, kami dapat mengategorikannya secara luas menjadi fitur, tekstur, dan tepi yang lambat atau bervariasi. Metode kompresi yang baik adalah metode yang mengubah gambar menjadi domain di mana semua energi sinyal dikonservasi hanya dalam beberapa koefisien.

Transformasi fourier mencoba memperkirakan gambar menggunakan sinus dan cosinus. Sekarang sinus dan cosinus dapat mendekati sinyal halus dengan cukup singkat, tetapi sangat buruk untuk mendekati diskontinuitas. Jika Anda terbiasa dengan fenomena Gibbs, Anda akan tahu bahwa seseorang membutuhkan sejumlah besar koefisien fourier untuk menghindari artefak yang mendekati diskontinuitas dalam waktu. Namun, semakin kecil jumlah koefisien, semakin baik kompresi. Oleh karena itu, ada tradeoff yang inheren antara jumlah koefisien dan hilangnya metode kompresi, yang biasanya kita sebut sebagai tradeoff tingkat-distorsi.

Saat mencari skema kompresi yang lebih baik daripada jpeg, yang menggunakan transformasi fourier, kami membutuhkan transformasi yang dapat memperkirakan diskontinuitas dengan koefisien yang lebih sedikit daripada transformasi fourier, untuk distorsi yang sama. Masukkan wavelet yang menawarkan perkiraan yang lebih baik dan oleh karena itu kompresi singularitas titik yang lebih baik tanpa fenomena gibbs seperti artefak. Gambar tidak pernah benar-benar mulus dalam praktiknya dan karenanya wavelet lebih fleksibel daripada fourier untuk fitur gambar yang beragam. Jika kita membandingkan perkiraan k-term terbaik dari suatu gambar yang mengandung tepi menggunakan fourier dan wavelet, kesalahan akan meluruh sebagai dan k - 1k2/3k1masing-masing. Untuk jumlah istilah yang sama, kesalahan meluruh lebih cepat untuk wavelet. Ini berarti wavelet memiliki pemadatan energi yang lebih baik ketika gambar tidak sepenuhnya mulus (bervariasi perlahan) dan mengandung singularitas.

Namun, kami belum memiliki basis atau transformasi tunggal yang dapat mendekati fitur halus, titik singularitas, tepi dan tekstur.

pengguna3303
sumber
4

DCT memiliki pemadatan energi yang sangat baik untuk banyak sinyal umum, dan juga menyatu dengan cukup baik dengan cara difraksi (proses fisik dasar dalam pencitraan) bekerja, karena difraksi dapat direpresentasikan sebagai kernel fourier. Ini memberi banyak keuntungan.

Masalahnya adalah bahwa koefisien DCT perlu didelokalisasi atas seluruh area transformasi. Untuk itu diperlukan banyak bidang transformasi kecil (blok) agar energi di satu area tidak tumpah ke area lain saat bertransformasi. Ini keduanya membatasi kemampuan transformasi menjadi energi kompak, dan juga memperkenalkan artefak di banyak batas blok.

Saya belum melakukan banyak hal dengan wavelet sehingga saya bisa salah, tetapi mereka lebih terdelokalisasi, dengan koefisien yang berbeda mewakili pengorbanan area / frekuensi yang berbeda. Ini memungkinkan ukuran blok yang lebih besar dengan artefak yang lebih sedikit. Tidak yakin dalam prakteknya berapa banyak perbedaan yang benar-benar membuat perbedaan.

saratoga
sumber
0

Ketika berbicara tentang wavelet yang lebih baik, kita harus menganggap mereka memiliki encoder yang sama di belakang: kinerja transformasi sangat terkait dengan kuantisasi dan pengkodean. Kinerja biasanya adalah: kompresi yang lebih baik untuk kualitas yang sama, atau kualitas yang lebih baik untuk kompresi yang sama. Kompresi adalah ukuran yang mudah, kualitas tidak. Tapi misalkan kita punya satu.

×124×4

Akhirnya, ini tergantung pada kelas gambar yang ingin Anda kompres: semua tujuan, atau fokus, seperti dengan gambar medis, atau kompresi data seismik, dengan jenis data tertentu yang terbatas? Di sini lagi, wavelet dapat berbeda.

Sekarang, apa saja komponen morfologis utama dari gambar, dan bagaimana wavelet menghadapinya:

  • tren lambat, latar belakang yang berevolusi: saat-saat menghilang, yang menghilangkan polinomial di subband wavelet,
  • benjolan: ok dengan fungsi penskalaan,
  • edge: ditangkap oleh aspek turunan dari wavelet,
  • tekstur: osilasi ditangkap oleh aspek gerak gelombang wavelet,
  • sisanya, apa yang berisik, tidak dimodelkan: dikelola oleh orthogonality (atau tutup juga).

Jadi di sisi analisis, wavelet terbaik bagus dan memadatkan fitur-fitur di atas secara global. Di sisi sintesis, wavelet terbaik mengurangi efek kompresi, misalnya kuantisasi, untuk memberikan aspek menyenangkan. Properti yang diperlukan pada analisis / sintesis sedikit berbeda, inilah mengapa wavelet biorthogonal bagus: Anda dapat memisahkan analisis (momen hilang) / properti sintesis (kehalusan), yang tidak dapat Anda lakukan dengan yang ortogonal, dan memicu peningkatan panjang filter , cukup merugikan kinerja komputasi. Tambahan, wavelet biorthogonal bisa simetris, bagus untuk ujungnya.

Akhirnya, apakah Anda ingin kompresi lossless? Maka Anda membutuhkan "integer" - seperti wavelet (atau binlets).

Dan semua hal di atas bercampur dengan masalah komputasi: wavelet yang dapat dipisahkan, tidak terlalu panjang. Dan proses standardisasi dalam komite JPEG.

Akhirnya, The 5/3 cukup bagus untuk lossless, cukup pendek. Beberapa dari 9/7 juga bagus. Jauh lebih baik daripada wavelet 13/7 ? Tidak juga, dan bahkan jika, itu ada di PSNR, bukan yang terbaik untuk kualitas gambar.

Jadi wavelet terbaik adalah kumis pergi, untuk gambar tradisional, dan komunikasi pribadi dengan penulis

M. Unser, dan T. Blu, properti matematika dari filter wavelet JPEG2000 , IEEE Trans. Image Proc., Vol. 12, tidak. 9, September 2003, hal.1080-1090.

buat saya percaya bahwa aspek "terbaik" dari 9/7 tidak sepenuhnya dijelaskan, juga tidak terjamin.

M

Laurent Duval
sumber