Kualitas JPEG progresif dibandingkan dengan JPEG normal?

10

Saya mencoba mengonversi beberapa file BMP ke format JPEG dengan kualitas terbaik (Q = 100) hingga saya menyadari ada opsi "Progresif" di sini.

Salah satu file BMP saya adalah 2.9MB. Setelah mengkonversi ke format JPEG tanpa progresif ukuran file baru adalah 338.2KB dan dengan progresif ukuran file baru turun menjadi 283.2KB saja.

Saya telah membaca artikel Wikipedia tentang apa gunanya JPEG progresif ini, tetapi kekhawatiran saya adalah membandingkan dengan JPEG normal, kualitas JPEG progresif menjadi lebih buruk atau mereka akan sama?

Teiv
sumber
Saya ragu efisiensi kualitas menjadi perhatian, tetapi izinkan saya menambah masalah pemuatan web: Meskipun progresif baik untuk gambar kecil yang merupakan bagian dari desain, seperti berbagai skin, bingkai dan latar belakang, itu salah untuk gambar payload seperti sebagai foto besar. Ada cara untuk mengoptimalkan pengalaman pengguna dengan lebih baik dengan pemuatan standar atas-ke-bawah dengan memanfaatkan fakta bahwa thumbnail sudah ada dalam cache browser: Desain situs web merentangkan thumbnail cache di belakang gambar yang sedang dimuat. Ini jauh lebih cepat dan lebih bagus daripada hasil bergerigi dari JPEG progresif.
Zdenek

Jawaban:

9

Ada beberapa posting yang bagus di sini yang menggambarkan mengapa kompresi Progresif mungkin lebih baik dan tampaknya mengarah pada fakta bahwa dalam JPEG Progresif, data yang dikompresi diurut lebih efisien dan bahwa data gambar dan noise yang pisah dipisahkan dan dikompresi secara terpisah. .

Saya telah menyoroti bagian-bagian penting di bawah ini, mereka menggambarkannya lebih baik daripada yang pernah saya bisa.

Sebagai hasilnya saya berharap bahwa JPEG progresif adalah kompresi yang lebih baik , tetapi tidak ada perubahan signifikan dalam kualitas gambar.

Progressive JPEG memiliki dua fitur pengkodean yang berbeda:

  1. Pilihan Spektral
  2. Perkiraan Berturut-turut

Yang Anda jelaskan hanyalah fitur pertama (DC pertama, lalu band AC). Namun, ini adalah fitur kedua yang merupakan alasan utama untuk efisiensi pengkodean yang berbeda dari JPEG Progresif. Dengan Successive Approximation, Anda pertama-tama menyimpan bit koefisien yang lebih tinggi (presisi rendah, gambar kasar), kemudian bit yang lebih rendah (presisi tinggi, gambar detail). Pada gambar biasa, noise terkonsentrasi pada bit yang lebih rendah. Oleh karena itu, encoder Huffman dapat lebih efisien dalam pengkodean simbol dalam rentang bit yang lebih tinggi di mana lebih sedikit noise. Oleh karena itu pengkodean Successive Approximation memisahkan suara dari gambar, dan itulah alasan efisiensi pengkodean yang lebih baik (noise hampir tidak dapat dikompresi).

Semakin banyak noise (detail) yang dimiliki gambar, semakin baik efisiensi pengkodean Progressive JPEG. Semakin sedikit noise (blur) yang dimiliki gambar, semakin baik efisiensi pengkodean JPEG Sequential (Non-progresif).

Perhatikan bahwa sebagian besar pembuat kode JPEG Progresif menggunakan campuran pengkodean Pilihan Seleksi dan pengkodean Penaksiran Berturutan. Untuk efisiensi pengkodean yang lebih baik, terutama Perkiraan Berturutan relevan, dan Anda dapat mencoba menemukan parameter Penaksiran Berturutan yang optimal (titik pemisahan presisi - Ah / Al dalam standar JPEG) untuk kelas gambar Anda. Sebagai contoh, saya kadang-kadang menemukan titik optimal Al = 4 untuk gambar saya (4 bit lebih rendah dikodekan secara terpisah).

Mokubai
sumber
2

Keuntungan dari JPEG progresif adalah bahwa jika suatu gambar dilihat secara langsung saat ditransmisikan, seseorang dapat melihat perkiraan terhadap keseluruhan gambar dengan sangat cepat, dengan peningkatan kualitas secara bertahap ketika seseorang menunggu lebih lama; ini jauh lebih bagus daripada tampilan gambar dari atas ke bawah yang lambat. Kerugiannya adalah bahwa setiap pemindaian membutuhkan jumlah perhitungan yang sama untuk ditampilkan sebagaimana keseluruhan file JPEG.

Gambar harus persis sama, hanya perlu lebih banyak pemrosesan untuk ditampilkan.

Sumber

SOMNU
sumber