Saya tahu bahwa gambar 24 bit mendedikasikan 8 bit masing-masing untuk R, G dan B. Apakah itu hanya untuk ruang warna RGB. Dalam ruang warna YCbCr untuk gambar JPEG 24 bit, bagaimana bit didistribusikan?
9
Ada beberapa format untuk YCbCr. Secara umum mata lebih sensitif terhadap perubahan luminance (Y, brightness) daripada perubahan chroma (Cb, Cr, color). Dengan demikian, dimungkinkan untuk menghapus beberapa informasi kroma sambil mempertahankan kualitas gambar.
Jadi, format yang paling "mahal" adalah 4: 4: 4, di mana untuk setiap komponen luma (Y) ada 1 komponen perbedaan Merah (Cr) dan satu perbedaan Biru (Cb).
Kemudian, menerapkan prinsip yang saya sebutkan, ada 4: 2: 2 di mana untuk setiap komponen 2 Y ada 1 Cb dan 1 Cr. Dan bahkan lebih jauh lagi ke 4: 1: 1 dan 4: 2: 0, dll. Info lebih lanjut di sini .
Suatu JPEG dapat dimulai dengan 8 bit per saluran R, G dan B, tetapi ketika disimpan dalam JPEG itu disimpan sangat berbeda, di mana tidak ada "kedalaman bit" nyata tetapi nilai-nilai disimpan sebagai koefisien frekuensi dari presisi yang diberikan.
Dalam JPEG yang lebih relevan adalah laju kuantisasi , yang memengaruhi seberapa banyak informasi yang dibuang selama tahap kuantisasi kompresi dan dengan demikian seberapa tepat masing-masing koefisien. Tingkat kuantisasi ini diatur oleh pengaturan "kualitas" ketika Anda menyimpan JPEG di photoshop. Ini tidak terkait dengan kedalaman bit seperti pada gambar raster, dan Anda bahkan bisa mengatakan bahwa gambar JPEG tidak memiliki kedalaman sedikit saat dalam format JPEG, meskipun encoders / decoder JPEG mulai dengan / diakhiri dengan 24-bit gambar raster.
Faktor utama lain yang relevan dalam menyimpan JPEG adalah jenis sub-sampling kroma . Dalam JPEG, Anda memiliki pilihan untuk mengurangi separuh resolusi horizontal (vertikal dan horizontal), atau kanal warna (Pr dan Pb), relatif terhadap saluran luminance (terang). Saat didekompresi, saluran warna diinterpolasi dan dalam sebagian besar subjek fotografi tidak membuat banyak perbedaan.
Berikut ini ringkasan kasar tentang bagaimana suatu gambar diubah menjadi JPEG.
Nilai RGB dikonversi ke nilai Y, Pb, Pr. Ruang warna YPbPr lebih cocok untuk kompresi yang efisien karena membuat informasi pencahayaan, yang membawa detail paling banyak, hanya dalam satu saluran. Konversi ini adalah operasi aritmatika sederhana yang dapat dibalik secara sempurna, terlepas dari jika ada kesalahan pembulatan.
Jika menggunakan subsampel kroma (dengan kata lain, menggunakan apa pun selain mode 4: 4: 4), maka resolusi vertikal dan / atau horizontal saluran Pb dan Pr hanya dibelah dua. Dengan demikian saluran ini akan memiliki dimensi piksel yang berbeda dengan saluran pencahayaan. Ini menyebabkan hilangnya resolusi permanen pada saluran warna.
Untuk setiap saluran, gambar dibagi menjadi blok 8 piksel dengan 8 piksel, yang memberikan 64 nilai linier untuk setiap blok tersebut di setiap saluran. Jika suatu saluran bukan kelipatan 8 piksel dalam dimensi mana pun, maka piksel tepi diulangi (dan akan dibuang saat didekompresi - dengan demikian kompresi JPEG selalu lebih efisien dengan dimensi yang merupakan kelipatan 8 piksel, atau 16 jika Anda faktor dalam subsampling kroma).
Nilai 64 di setiap blok mengalami transformasi dari domain luar angkasa menjadi domain frekuensi, dalam hal ini disebut transformasi kosinus diskrit. Anda berakhir dengan 64 koefisien, masing-masing mewakili amplitudo dari peta frekuensi tertentu di atas area yang diambil oleh blok itu. Nilai pertama adalah frekuensi terendah yang secara efektif adalah nilai rata-rata semua piksel, hingga nilai terakhir yang menggambarkan komponen frekuensi tertinggi dari blok. Nilai sebelumnya semuanya jauh lebih menyimpang, dan lebih penting untuk tampilan gambar akhir daripada nilai yang lebih baru dalam sebuah blok. Operasi ini dapat dibalik sempurna selama Anda menggunakan cukup presisi.
Lalu ada langkah kuantisasi, di mana masing-masing 64 koefisien yang Anda dapatkan di langkah sebelumnya dibagi dengan beberapa angka (disebut faktor kuantisasi), dan sisanya dibuang. Di sinilah ketepatan sampel paling terpengaruh, tetapi di situlah Anda mendapatkan penghematan ruang besar dari JPEG dibandingkan dengan kompresi lossless. Karena semuanya ada dalam domain frekuensi sejak transformasi sebelumnya, kehilangan akurasi ini melakukan tugas terbaiknya dalam menjaga kualitas gambar persepsi daripada hanya mengurangi kedalaman bit / akurasi piksel sebelum transformasi ini. Kebalikan dari prosedur ini hanyalah mengalikan dengan angka yang sama dengan yang Anda bagi koefisien, tetapi tentu saja karena Anda membuang sisa-sisa Anda berakhir dengan kurang presisi dari koefisien. Ini mengakibatkan hilangnya kualitas permanen,
Setelah kuantisasi ini, tipikal untuk banyak dari yang berikutnya, koefisien yang kurang signifikan menjadi nol, jadi ini dibuang. Kemudian rutin pengkodean panjang variabel (lossless) mengkodekan semua koefisien yang tersisa dengan cara yang efisien, meskipun masing-masing dapat menggunakan jumlah bit yang berbeda.
Tidak mungkin untuk mengatakan bahwa faktor kuantisasi tertentu setara dengan kedalaman bit tertentu karena kuantisasi tidak memberikan garis banding seperti ketika Anda mengurangi kedalaman bit, tetapi sebaliknya memberikan kerugian persepsi keseluruhan secara rinci, dimulai dari bagian di mana Anda akan melihatnya kurang karena amplitudo rendah untuk frekuensinya.
sumber
Mewakili kroma (Cb Cr) dalam saluran yang terpisah dari luma (Y) memiliki efek positif lain pada kompresi. Sebagian besar informasi yang terlihat di saluran luma. Mata manusia mentolerir resolusi spasial yang lebih rendah dan kuantisasi yang lebih agresif di saluran kroma. Jadi gambar yang dikompresi secara agresif dapat menghabiskan sekitar 10% dari ruang file untuk kroma, dan sisanya untuk luma, dan masih terlihat layak.
Pada akhirnya kompresi itu masih lossy.
sumber
Sekitar 8 bit untuk setiap saluran, tetapi ada beberapa cara yang sedikit berbeda untuk melakukannya. Rinciannya diberikan dalam artikel Wikipedia di YCbCr .
sumber