Apa itu artefak jpeg dan apa yang bisa dilakukan?

25

Saya tahu JPEG adalah algoritma kompresi "lossy" yang membuang informasi untuk menghemat ruang. Apa dampak visual dari ini? Saya pernah mendengar "artefak JPEG". Seperti apa bentuknya?

Apakah ada situasi di mana tingkat kompresi yang sama menciptakan lebih banyak artefak dan terlihat lebih buruk? Apakah konten gambar itu penting? Apa yang ditangani dengan baik oleh algoritme, dan apa yang bermasalah?

Dengan asumsi JPEG adalah persyaratan, apakah ada cara untuk mengurangi artefak? Jika saya mengunggah ke layanan web yang akan menerapkan kompresi sendiri di luar kendali saya, apakah ada yang bisa saya lakukan pada gambar di muka untuk membuatnya bertahan lebih baik?

mattdm
sumber
Beberapa jawaban untuk bagian dari pertanyaan ini ada di sini: photo.stackexchange.com/questions/5317/…
dpollitt
Terima kasih @ dpollit. Saya tidak melihat itu karena ejaan Inggris dan kurangnya tag. Plus, ini sangat khusus tentang resolusi rendah dan ukuran file yang rendah.
mattdm
Saya ingin melihat beberapa contoh tingkat piksel (atau lebih besar) dalam jawaban.
mattdm
1
Saya akan mengarahkan Anda ke jawaban saya pada topik @dpollit yang ditautkan sebelumnya, khususnya situs web yang ditautkan darinya, yang memiliki banyak contoh gambar dari setiap tingkat "kualitas" utama, dengan detail tingkat piksel, untuk berbagai jenis gambar.
jrista
1
@BBking - Saya ingin melihat jawaban yang menguraikannya, dengan referensi.
mattdm

Jawaban:

19

Sebuah contoh

Menggunakan foto saat ini dari gambar minggu. Ini adalah JPEG berkualitas tinggi:

gimp Q = 99

disimpan kembali di Gimp dengan kualitas JPEG 80 (rendah); harap perhatikan hilangnya ketajaman secara umum, "titik" di sekitar tepi kontras tinggi, hilangnya detail di area kontras rendah:

gimp Q = 80

dan disimpan kembali dalam GIMP dengan kualitas JPEG 30 (sangat rendah); harap dicatat jelas 8x8 blok dan hilangnya ketajaman dan detail warna yang parah:

gimp Q = 30

Tiga macam distorsi

JPEG cenderung memperkenalkan dua tiga jenis distorsi:

  • hilangnya ketajaman dan osilasi umum di sekitar tepi kontras tinggi: ini disebabkan oleh transisi intensitas yang mendekati dengan fungsi halus (cosinus); Anda melihatnya sebagai "titik" atau "lingkaran cahaya" kecil di sekitar tepinya; mereka sangat mudah dilihat dalam gambar teks gambar tangan.
  • struktur pemblokiran: gambar diproses secara terpisah untuk setiap blok 8x8 (atau lebih besar dalam kasus downsampling kroma), tepi blok menjadi terlihat pada rasio kompresi yang tinggi.
  • hilangnya detail warna: tergantung pada parameter penyimpanan, program mungkin secara agresif "menurunkan" (mengurangi resolusi) saluran kromatisitas; ini jarang menjadi masalah bagi fotografi alam.

Struktur blok yang terlihat dan lingkaran cahaya di sekitar tepi biasanya disebut sebagai artefak JPEG. Mari memperbesar contoh kita untuk melihatnya lebih baik. Dari kiri ke kanan, potongan dari gambar asli, JPEG Q80 dan JPEG Q30. Saya menandai artefak berwarna hijau (lingkaran untuk lingkaran cahaya, dan titik-titik untuk blok 8x8):

membandingkan tiga arah

Karena kehilangan informasi, Anda tidak dapat benar-benar memulihkannya. Menajamkan dapat membantu memulihkan kontras tepi yang hilang, tetapi membuat "lingkaran cahaya" lebih jelas; denoising dapat membantu menghilangkan "lingkaran cahaya", tetapi mengurangi ketajaman lebih jauh. Jika struktur balok terlihat, mungkin sudah terlambat. Simpan saja gambar asli beresolusi tinggi, berkualitas tinggi, dan jangan menimpanya.

Strategi hosting

Jika Anda mengontrol parameter kompresi JPEG dan ingin memaksimalkan kualitas gambar:

  • menjaga rasio kompresi serendah mungkin (gunakan pengaturan berkualitas tinggi)
  • pertimbangkan downsampling saluran chromaticity (mungkin hampir tidak terlihat untuk beberapa gambar, dan memungkinkan untuk rasio kompresi yang lebih rendah di saluran luminosity dengan batasan ukuran file yang sama)
  • pertimbangkan untuk menggunakan floating-point discrete cosine transform (dapat meningkatkan presisi transformasi, tetapi penghematan file akan lebih lama)
  • pertimbangkan untuk menggunakan resolusi yang lebih rendah daripada rasio kompresi yang lebih tinggi (mengingat batas yang sama pada ukuran file)

Jika Anda mengunggah ke layanan pihak ketiga, dan tidak mengontrol parameter kompresi, Anda tidak bisa berbuat banyak tentang hal itu:

  • pilih layanan yang dikenal lebih menyukai JPEG berkualitas tinggi (Flickr, SmugMug, 23hq, 500px) daripada layanan yang dikenal terlalu kompres untuk menghemat lalu lintas (Picasa, Imgur, Dropbox); biasanya Anda mendapatkan apa yang Anda bayar.
  • coba ubah ukuran foto Anda sendiri dan unggah ukuran yang tepat (beberapa layanan tetap akan mengompresnya kembali, sebagian mungkin menyajikan file Anda saat diunggah)
sastanin
sumber
16

JPEG sebenarnya menggunakan dua jenis kompresi, yang lossless dan lossless. Kompresi lossless tidak menyebabkan artefak, jadi kita bisa mengabaikan bagian itu. Jenis kompresi lossy khusus dalam JPEG, yang disebut transformasi cosinus diskrit untuk knurds matematika, memungkinkan pertukaran antara rasio kompresi dan kesetiaan. Sebagian besar perangkat lunak menganggap ini sebagai nilai "kualitas", biasanya pada skala 0-100 dengan 100 secara efektif tidak ada atau sangat sedikit kerugian dan hal-hal turun dari sana.

Algoritma kompresi khusus ini diadopsi karena sangat baik dalam membuang hal-hal yang tidak dilihat oleh sistem visual manusia sebanyak komponen pemandangan lainnya. Ini adalah bagian mengapa gambar yang terlihat cukup bagus dapat memiliki rasio kompresi yang sangat tinggi. Ini juga mengapa ini bekerja dengan baik pada foto nada kontinu nyata dan tidak begitu baik pada gambar sintetis dan seni garis.

Ini adalah wilayah 200 x 300 dari foto yang lebih besar dengan piksel yang direplikasi 2x untuk melihatnya lebih baik. Ini digunakan JPEG kompres "kualitas" 100:

Kualitas 80, pengurangan ukuran file 79%:

Kualitas 60, pengurangan 86%:

Kualitas 40, pengurangan 90%:

Pengurangan ukuran file didasarkan pada kompresi JPEG dari seluruh file sehingga struktur header dan overhead tetap lainnya adalah sebagian kecil dari data.

Perhatikan bahwa Anda harus mencari untuk menemukan artefak di gambar kedua, meskipun hampir 4/5 dari informasi asli dibuang. Artefak kompresi JPEG biasanya paling terlihat di tepi tajam dan di daerah datar yang berubah perlahan. Karena garis seni semuanya tajam, kompresi JPEG tidak sesuai untuk itu.

Anda dapat melihat artefak kompresi semakin memburuk pada rasio kompresi yang lebih tinggi. Perlu diingat bahwa gambar bawah mempertahankan informasi visual yang luar biasa karena menghapus informasi mentah yang ke 9/10.

Jenis artefak karakteristik kompresi lossy JPEG adalah "blockiness" di daerah datar yang berubah perlahan dan "kotoran" yang mengelilingi tepi kontras tinggi. Misalnya, lihat area kanan bawah pada gambar di atas. Itu mengandung latar belakang tidak fokus, sehingga nilainya berubah perlahan. Kemarahan itu cukup jelas. Untuk contoh "kotoran", lihat di sekitar tanduk kiri kambing. Dua jenis artefak ini biasanya merupakan petunjuk kuat bahwa kompresi JPEG dilibatkan. Lihat juga ini di gambar-gambar lain di atas untuk mendapatkan gambaran bagaimana mereka terlihat ketika mereka baru saja mulai muncul, dan apa jenis rasio kompresi Anda mungkin dapat mentolerir dalam berbagai keadaan.

Olin Lathrop
sumber
1
Kehilangan yang terlihat bukan berasal dari DCT itu sendiri, tetapi dari kuantisasi koefisien DCT setelah transformasi.
Sarge Borsch
10

Kompresi JPG dilakukan dalam blok piksel. Dalam gambar JPG yang sangat terkompresi, tepi blok-blok itu dapat dilihat: dalam gambar asli dua piksel mungkin sangat dekat dalam kecerahan dan warna, tetapi jika mereka berada di blok yang berbeda, maka setelah kompresi dan dekompresi (jika dilihat) masing-masing nilainya mungkin berbeda dari aslinya, sehingga Anda kehilangan pencampuran bertahap dan mulai melihat "kebodohan" ini.

masukkan deskripsi gambar di sini

Berikut adalah contoh khas di langit - JPG disimpan pada kualitas 0.

Jika Anda diunggah ke situs yang menggunakan kompresi JPG, Anda mungkin memiliki hasil yang lebih baik melakukan dua hal (Anda harus bereksperimen dengan situs untuk melihat apa yang berhasil):

  • mengubah ukuran dimensi gambar Anda agar berada dalam ketinggian / lebar maksimum yang diizinkan oleh situs, sehingga situs web tidak mengubah ukuran gambar Anda untuk Anda

  • lakukan kompresi Anda sendiri untuk mendapatkan ukuran file yang lebih kecil dengan kualitas yang baik. Bergantung pada bagaimana situs bekerja, jika gambar sudah cukup kecil mungkin tidak melakukan kompresi lebih lanjut, atau bahkan jika itu dilakukan, itu mungkin memiliki efek yang lebih rendah.

Sejauh menghapus artefak JPG dari suatu gambar, artefak JPG dapat terlihat mirip dengan noise sensor normal. Perangkat lunak peredam bising akan agak berhasil menghapus beberapa artefak JPG kecil, tetapi dengan kehilangan detail.

kebisingan seperti artefak jpg

Berikut ini adalah contoh dengan kualitas JPG 50%, dengan blockiness, tetapi juga piksel lebih gelap dan lebih terang yang menyerupai noise.

Topaz Labs memiliki produk yang disebut DeJpeg , yang bertindak khusus pada artefak JPG. Ini melakukan pekerjaan dengan baik tanpa kehilangan banyak detail. Plugin ini juga dapat melakukan beberapa penajaman dan pengurangan noise secara umum. Plugin ini kompatibel dengan Photoshop CS, Photoshop Elements, dan Paint Shop Pro. Saya tidak berpikir itu berfungsi dengan Lightroom atau Aperture.

MikeW
sumber
Bisakah Anda memberikan contoh artefak jpeg yang tampak mirip dengan noise sensor?
mattdm
Telah menambahkan salah satu langit gelap yang disimpan pada kualitas JPG 50%.
MikeW
5

Untuk situs web yang memampatkan file hingga mencapai target ukuran file tertentu, ada cara untuk meningkatkan kualitas gambar dalam kondisi tertentu.

JPEG bekerja dengan mengubah gambar menjadi [rangkaian] representasi ruang frekuensi [s] (di mana X dan Y mewakili frekuensi horisontal dan vertikal, dan "kecerahan" mewakili amplitudo frekuensi). Frekuensi di bawah amplitudo tertentu diabaikan, mengurangi jumlah data yang disimpan, mencapai kompresi.

Noise memiliki spektrum frekuensi yang luas sehingga JPEG tidak dapat dikompres. Itu sebabnya Anda dapat memiliki dua gambar, menerapkan tingkat kompresi yang sama, dan mendapatkan dua file yang berbeda setelah kompresi JPEG.

Jika Anda mengambil gambar dan dengan sengaja mengaburkan area latar belakang yang tidak penting, Anda mengurangi jumlah total informasi dan mencapai kompresi yang jauh lebih tinggi dari area-area ini, membuat Anda lebih banyak kilobyte untuk menyandikan area di mana detail itu penting. Ini bekerja sangat baik dengan gambar di mana latar belakang sudah tidak fokus.

Matt Grum
sumber
3

Berikut adalah contoh jpeg yang diperbesar:

masukkan deskripsi gambar di sini

Gambar oleh pengguna Wikipedia FelixH. Gambar ini dilisensikan dengan lisensi Creative Commons Attribution-Share Alike 3.0 Unported.

Pada gambar ini Anda dapat dengan jelas melihat apa yang disebut "artefak" di area biru. Perhatikan bagaimana gambar tampak terbagi dalam blok, dan batas blok tidak cocok.

Ada beberapa hal yang dapat dilakukan untuk menghindari atau mengurangi masalah ini:

  • Yang paling jelas: jangan gunakan jpeg. Anda mungkin ingin bekerja dengan gambar Anda menggunakan format kompresi lossless, seperti RAW, PNG atau TIFF lossless. Anda hanya menurunkan versi ke jpeg pada langkah terakhir, saat Anda ingin mengunggah gambar ke web, email, dll.

  • Format jpeg memungkinkan konfigurasi tingkat kompresi. Anda bisa mendapatkan lebih sedikit artefak jika mau, tetapi file akan lebih besar.

  • Hindari menyimpan jpeg berulang-ulang, karena setiap generasi semakin menurunkan kualitasnya.

Miguel
sumber
Bahkan RAW dan PNG bisa mendapatkan artefak karena kuantisasi piksel. Selama Anda tidak mengubah nilai apa pun, itu hanya efek satu kali dan tidak ada kerugian lebih lanjut yang terjadi karena digitalisasi. Namun, jika Anda mengubah nilai pada langkah apa pun, seperti menggelapkan atau meringankan adegan, atau menyatu dengan nilai-nilai lain, dll, maka pergeseran nilai dapat menghasilkan artefak baru di penyimpanan berikutnya (bahkan tanpa kompresi) karena kuantisasi (bisa dibilang) suatu bentuk kompresi) untuk menyimpan gambar yang dihitung baru. Untuk meminimalkan efek ini, gunakan jumlah bit terbesar yang mungkin di setiap langkah, dan pertahankan seluruh alur kerja Anda.
Skaperen
@ Skaperen: Anda membingungkan dua hal yang berbeda di sini. Pertanyaan ini adalah tentang kehilangan detail karena kompresi jpeg. Apa yang Anda gambarkan adalah hilangnya detail yang diperkenalkan oleh algoritma pemrosesan gambar tertentu. Apa yang Anda gambarkan itu benar, tetapi sama sekali tidak terkait dengan format gambar, sehingga mengatakan bahwa RAW dan PNG terkait dengan kuantisasi piksel salah, format file tersebut tidak menyebabkan hilangnya kualitas.
Miguel
Gambar ini juga menunjukkan masalah lain: ini menunjukkan halo dari topeng unsharp.
mattdm
1

Artefak adalah efek samping yang tidak diinginkan dari pemrosesan gambar. Dalam hal ini, mereka dihasilkan dari cara data dikompresi oleh algoritma JPEG.

Umumnya orang ingin dapat menyimpan foto secara digital, tanpa menggunakan terlalu banyak ruang penyimpanan. Akibatnya, sebagian besar foto disimpan dalam format JPEG. Ini adalah format yang memampatkan data yang membentuk gambar dengan cara yang berusaha untuk menjaga detail sebanyak mungkin. Tingkat kompresi dapat diubah ketika file dibuat. Namun, ini adalah algoritma "lossy", yang berarti membuang beberapa data - tidak mungkin untuk kembali dari file JPEG terkompresi ke data asli.

Kehilangan data ini mengorbankan kualitas gambar. Kompresi dirancang untuk menciptakan dampak minimal pada keseluruhan gambar, tetapi dapat terlihat pada tingkat kompresi tinggi.

Artefak JPEG paling sering terlihat seperti bagian warna yang pucat. Mereka dapat dilihat di mana ada perubahan warna bertahap halus dalam sapuan warna besar - misalnya di langit biru, atau pemandangan berkabut. Artefak terlihat seperti garis bergerigi dari warna tertentu dan bukan campuran yang halus.

Dengan pemandangan yang lebih padat, artefak juga dapat dilihat di sekitar batas mata pelajaran - misalnya cabang-cabang pohon di langit yang terang. Ini terlihat seperti balok bernoda di sekitar subjek.

Pendekatan terbaik untuk mengurangi artefak adalah:

  1. Selalu simpan gambar asli - jangan menyimpan JPEG terkompresi, lalu buka kembali nanti dan simpan kembali. Untuk contoh ekstremnya, lihat Generation Loss , sebuah video yang menampilkan gambar yang dikompres ulang sebanyak 600 kali.
  2. Simpan kualitas setinggi mungkin, mengingat batasan ukuran file apa pun.
  3. Hindari menggunakan layanan yang sangat mengompres ulang gambar Anda - jika perlu tempatkan mereka di tempat lain dan tautkan secara langsung.

Untuk informasi lebih lanjut lihat http://photo.net/learn/jpeg/

Kasus Maynard
sumber