Cara Pemampatan JPEG Berfungsi

Penjelasan ringkas tentang langkah di sebalik pemampatan imej yang cekap

24. January 2025 oleh Bianca Palmer

Cara Pemampatan JPEG Berfungsi

Pernah terfikir bagaimana telefon atau kamera anda boleh mengambil gambar dan dalam sekelip mata ia disimpan sebagai JPEG yang lebih kecil, lebih pantas, dan masih kelihatan tajam? Di sebalik tabir, terdapat proses berkuasa yang mengecilkan fail imej besar kepada sebahagian kecil daripada saiz asal sambil mengekalkan kualiti tinggi. Tetapi bagaimana sebenarnya ia berfungsi? Dalam panduan ini, kami melihat dengan lebih terperinci tentang Pemampatan JPEGdan menghuraikan setiap langkah dengan istilah mudah supaya anda dapat memahami cara proses pemampatan imej ini berfungsi.

Apakah JPEG?

JPEG (singkatan bagi Joint Photographic Experts Group) ialah salah satu format imej yang paling biasa. Ia pilihan utama untuk menyimpan gambar digital. Kelebihan utama JPEG ialah keupayaannya untuk memampatkan fail imej, menjadikannya jauh lebih kecil tanpa kehilangan kualiti yang ketara.

Sebagai contoh, imej tidak termampat berkualiti tinggi boleh bersaiz 46MB. Selepas dimampatkan ke JPEG, imej yang sama boleh mengecil kepada hanya 4.1MB. Tetapi bagaimana ini dilakukan sambil mengekalkan ketajaman imej?

Jawapannya terletak pada compression process, yang memanfaatkan cara mata kita berfungsi dan membuang data yang tidak perlu.

Apa Yang Dilakukan JPEG?

Secara ringkas, JPEG menganalisis imej dan membuang unsur yang mata kita tidak mudah nampak. Apabila anda memampatkan imej dengan JPEG, anda boleh mengawal berapa banyak pemampatan digunakan. Dengan melaraskan tetapan "kualiti", anda tentukan berapa banyak ruang yang ingin dijimatkan. Apabila kualiti dikurangkan daripada 100% kepada 0%, saiz fail turut berkurang.

Apabila anda memampatkan dengan lebih kuat, resolusi gambar kekal sama, tetapi anda mungkin mula nampak beberapa kecacatan atau "artifak" muncul. Kecacatan ini kelihatan seperti petak kecil dan selalunya sukar dilihat melainkan anda zum masuk. Matlamat JPEG ialah menjadikan fail sekecil mungkin tanpa membuat imej kelihatan teruk pada mata manusia.

Langkah-langkah Pemampatan JPEG

Pemampatan JPEG bukan hanya satu proses; ia ialah satu siri langkah yang direka untuk mengurangkan saiz imej. Berikut ialah lima langkah utama yang menjadikan JPEG begitu cekap.

Langkah 1: Penukaran Ruang Warna

Imej terdiri daripada piksel, dan setiap piksel mempunyai komponen merah, hijau, dan biru (RGB) yang digabungkan untuk menghasilkan warna. JPEG bermula dengan menukar nilai RGB ini kepada ruang warna yang berbeza:

  • Luminans (Kecerahan): Ini ialah kecerahan atau tahap cahaya bagi sesuatu piksel dan penting untuk menentukan kontras keseluruhan imej.
  • Krominans (Warna): Ini ialah maklumat warna, termasuk rona dan ketepuan.

Penukaran ini memanfaatkan fakta bahawa mata manusia lebih sensitif kepada kecerahan (luminans) berbanding warna (krominans). Dengan mengasingkan kecerahan daripada warna, JPEG membolehkan pengurangan data secara terpilih dalam langkah seterusnya sambil mengekalkan butiran visual yang paling penting.

Tiada data hilang dalam langkah ini, tetapi ia menyediakan imej untuk pemampatan yang cekap.

Langkah 2: Pensampelan Turun Krominans/Chroma Subsampling

Chroma Subsampling ialah ialah teknik yang digunakan selepas penukaran ruang warna. Ingat bagaimana kami katakan bahawa mata kita tidak begitu baik dalam melihat warna (krominans) berbanding kecerahan (luminans)?

JPEG memanfaatkan perkara ini dengan mengurangkan jumlah data warna. Ia mengecilkan imej krominans biru dan merah dengan mempuratakan nilai dalam blok empat piksel. Ini menjadikan data warna jauh lebih kecil sambil mengekalkan luminans (kecerahan) tidak berubah. Pada ketika ini, imej sudah dimampatkan dengan ketara.

Langkah 3: Transformasi Kosinus Diskret (DCT)

Transformasi Kosinus Diskret (DCT) ialah teknik matematik yang digunakan untuk menukar data imej daripada domain spatial (di mana imej ialah grid piksel) kepada domain frekuensi. Proses ini membantu mengenal pasti bahagian imej yang mengandungi maklumat visual paling penting dan bahagian yang boleh dibuang.

DCT memecahkan imej kepada blok 8x8 dan menukarkan setiap blok kepada satu koleksi nilai frekuensi. Frekuensi tinggi, yang mewakili perubahan pantas dalam nilai piksel seperti tepi atau hingar, selalunya kurang ketara kepada mata manusia dan boleh dipermudahkan atau dibuang.

Langkah 4: Kuantisasi

Sebaik sahaja DCT digunakan, data frekuensi yang terhasil akan melalui kuantisasi. Dalam langkah ini, julat nilai frekuensi dikurangkan dengan membahagikannya dengan set pemalar yang dipanggil jadual kuantisasi. Proses ini pada asasnya membundarkan nilai frekuensi untuk mempermudahkan nilainya.

Nilai frekuensi tinggi dikuantisasikan dengan lebih ketara, bermakna ia kehilangan lebih banyak ketepatan kerana ia kurang penting kepada kualiti imej keseluruhan. Langkah keempat ini mengurangkan jumlah data yang diperlukan untuk mewakili imej, menjadikan fail lebih kecil. Namun, terlalu banyak kuantisasi boleh menyebabkan artifak yang kelihatan seperti blok atau kabur, terutamanya pada tahap pemampatan yang lebih tinggi.

Langkah 5: Pengekodan Run Length dan Huffman

Selepas kuantisasi, data masih belum cukup padat untuk penyimpanan yang cekap. Di sinilah Run Length Encoding (RLE) dan Huffman Encoding digunakan.

Mula-mula, RLE digunakan untuk memudahkan jujukan panjang data berulang (seperti sifar) dengan menyimpan kiraan ulangan bukannya setiap nilai secara individu. Kemudian, Huffman Encoding digunakan, satu teknik yang menggantikan nilai yang kerap muncul dengan kod bit yang lebih pendek, menjadikan fail lebih kecil lagi.

These two kaedah pengekodan ini berfungsi bersama untuk mengurangkan saiz fail dengan ketara tanpa mengorbankan banyak kualiti imej.

Nota Tambahan

Walaupun JPEG ialah format yang sangat cekap, terdapat beberapa perkara penting yang perlu dipertimbangkan:

  • Tahap Pemampatan: JPEG membenarkan pengguna memilih tahap pemampatan, tetapi pemampatan yang lebih tinggi mengurangkan saiz fail dan boleh menghasilkan artifak yang kelihatan seperti tepi kabur atau pikselasi. Ini berlaku apabila nilai dalam jadual kuantisasi terlalu tinggi, yang membawa kepada lebih banyak sifar ditambah, menjadikan fail lebih kecil tetapi dengan mengorbankan kualiti imej.
  • Kehilangan Data Frekuensi Tinggi: Kuantisasi mengurangkan ketepatan data frekuensi tinggi (butiran seperti tepi tajam), sebab itu JPEG bagus untuk tekstur licin tetapi boleh menghadapi masalah dengan garisan tajam dan grafik vektor.
  • Tidak Sesuai untuk Grafik Vektor: JPEG bukan pilihan terbaik untuk memampatkan grafik vektor kerana ia boleh menyebabkan artifak yang ketara pada sempadan bentuk atau garisan.

Walaupun dengan batasan ini, JPEG kekal sebagai format imej paling popular, sebahagiannya kerana ia sudah lama, mudah difahami, dan bebas royalti. Walau bagaimanapun, format yang lebih baharu seperti WebP atau HEIF menawarkan kadar pemampatan yang lebih baik tanpa menjejaskan kualiti, menjadikannya alternatif yang menarik dalam konteks tertentu.

Kesimpulan

Algoritma pemampatan JPEG ialah satu pencapaian yang ketara dalam pengurusan data imej. Dengan memecahkan imej kepada blok yang lebih kecil, menggunakan transformasi matematik, dan menggunakan teknik pengekodan cekap seperti Run Length dan Huffman Encoding, ia membolehkan kita menyimpan imej berkualiti tinggi dalam saiz fail yang jauh lebih kecil.

Walaupun JPEG mempunyai beberapa batasan, terutamanya dengan tahap pemampatan yang tinggi atau grafik vektor, penggunaan meluasnya dan keupayaan untuk memberikan hasil yang baik bagi imej fotografi menjadikannya satu piawaian yang berkekalan.