JPEG, yang merupakan kepanjangan dari Joint Photographic Experts Group, adalah metode kompresi lossy yang umum digunakan untuk gambar digital, terutama untuk gambar yang dihasilkan oleh fotografi digital. Tingkat kompresi dapat disesuaikan, memungkinkan penyesuaian antara ukuran penyimpanan dan kualitas gambar. JPEG biasanya mencapai kompresi 10:1 dengan kehilangan kualitas gambar yang tidak terlihat secara nyata.
Algoritma kompresi JPEG berada di inti standar JPEG. Proses dimulai dengan gambar digital dikonversi dari ruang warna RGB khasnya menjadi ruang warna yang berbeda, yaitu YCbCr. Ruang warna YCbCr memisahkan gambar menjadi luminance (Y), yang mewakili tingkat kecerahan, dan chrominance (Cb dan Cr), yang mewakili informasi warna. Pemisahan ini menguntungkan karena mata manusia lebih sensitif terhadap variasi kecerahan daripada warna, memungkinkan kompresi untuk memanfaatkan hal ini dengan memperkecil informasi warna lebih dari luminance.
Setelah gambar berada dalam ruang warna YCbCr, langkah selanjutnya dalam proses kompresi JPEG adalah memperkecil (downsample) saluran chrominance. Downsampling mengurangi resolusi informasi chrominance, yang biasanya tidak mempengaruhi kualitas gambar yang dirasakan secara signifikan, karena mata manusia kurang sensitif terhadap detail warna. Langkah ini opsional dan dapat disesuaikan tergantung pada keseimbangan yang diinginkan antara kualitas gambar dan ukuran file.
Setelah downsampling, gambar dibagi menjadi blok-blok, biasanya berukuran 8x8 piksel. Setiap blok kemudian diproses secara terpisah. Langkah pertama dalam memproses setiap blok adalah menerapkan Discrete Cosine Transform (DCT). DCT adalah operasi matematika yang mengubah data domain spasial (nilai-nilai piksel) menjadi domain frekuensi. Hasilnya adalah matriks koefisien frekuensi yang mewakili data blok gambar dalam hal komponen frekuensi spasialnya.
Koefisien frekuensi yang dihasilkan dari DCT kemudian dikuantisasi. Kuantisasi adalah proses pemetaan set input yang besar menjadi set yang lebih kecil - dalam kasus JPEG, ini berarti mengurangi presisi koefisien frekuensi. Di sinilah bagian lossy dari kompresi terjadi, karena sebagian informasi gambar dibuang. Langkah kuantisasi dikendalikan oleh tabel kuantisasi, yang menentukan seberapa banyak kompresi yang diterapkan pada setiap komponen frekuensi. Tabel kuantisasi dapat disesuaikan untuk mementingkan kualitas gambar yang lebih tinggi (kompresi yang lebih rendah) atau ukuran file yang lebih kecil (kompresi yang lebih tinggi).
Setelah kuantisasi, koefisien disusun dalam urutan zig-zag, mulai dari sudut kiri atas dan mengikuti pola yang memprioritaskan komponen frekuensi yang lebih rendah daripada yang lebih tinggi. Hal ini karena komponen frekuensi yang lebih rendah (yang mewakili bagian gambar yang lebih seragam) lebih penting untuk penampilan keseluruhan daripada komponen frekuensi yang lebih tinggi (yang mewakili detail dan tepi yang lebih halus).
Langkah selanjutnya dalam proses kompresi JPEG adalah pengkodean entropi, yang merupakan metode kompresi lossless. Bentuk pengkodean entropi yang paling umum digunakan dalam JPEG adalah pengkodean Huffman, meskipun pengkodean aritmatika juga merupakan opsi. Pengkodean Huffman bekerja dengan menetapkan kode yang lebih pendek untuk kejadian yang lebih sering dan kode yang lebih panjang untuk kejadian yang jarang. Karena pengurutan zig-zag cenderung mengelompokkan koefisien frekuensi yang mirip bersama-sama, hal ini meningkatkan efisiensi pengkodean Huffman.
Setelah pengkodean entropi selesai, data yang terkompresi disimpan dalam format file yang sesuai dengan standar JPEG. Format file ini mencakup header yang berisi informasi tentang gambar, seperti dimensinya dan tabel kuantisasi yang digunakan, diikuti oleh data gambar yang dikodekan Huffman. Format file juga mendukung penyertaan metadata, seperti data EXIF, yang dapat berisi informasi tentang pengaturan kamera yang digunakan untuk mengambil foto, tanggal dan waktu diambil, serta detail lainnya yang relevan.
Saat gambar JPEG dibuka, proses dekompresi pada dasarnya membalik langkah-langkah kompresi. Data yang dikodekan Huffman didekodekan, koefisien frekuensi yang terkuantisasi di-de-kuantisasi menggunakan tabel kuantisasi yang sama yang digunakan selama kompresi, dan Transformasi Cosinus Diskret Terbalik (IDCT) diterapkan pada setiap blok untuk mengonversi data domain frekuensi kembali menjadi nilai-nilai piksel domain spasial.
Proses de-kuantisasi dan IDCT memperkenalkan beberapa kesalahan karena sifat lossy dari kompresi, yang menyebabkan JPEG tidak ideal untuk gambar yang akan mengalami banyak editan dan penyimpanan ulang. Setiap kali gambar JPEG disimpan, ia melalui proses kompresi lagi, dan informasi gambar tambahan akan hilang. Hal ini dapat menyebabkan penurunan kualitas gambar yang terlihat dari waktu ke waktu, yang dikenal sebagai 'generasi kerugian'.
Meskipun sifat lossy dari kompresi JPEG, format ini tetap populer karena fleksibilitas dan efisiensinya. Gambar JPEG dapat sangat kecil dalam ukuran file, yang membuatnya ideal untuk digunakan di web, di mana bandwidth dan waktu pemuatan menjadi pertimbangan penting. Selain itu, standar JPEG mencakup mode progresif, yang memungkinkan gambar dikodekan sedemikian rupa sehingga dapat didekodekan dalam beberapa lintasan, di mana setiap lintasan meningkatkan resolusi gambar. Hal ini terutama berguna untuk gambar web, karena memungkinkan versi berkualitas rendah dari gambar untuk ditampilkan dengan cepat, dengan kualitas yang meningkat saat lebih banyak data yang diunduh.
JPEG juga memiliki beberapa keterbatasan dan tidak selalu menjadi pilihan terbaik untuk semua jenis gambar. Misalnya, tidak cocok untuk gambar dengan tepi tajam atau teks kontras tinggi, karena kompresi dapat menciptakan artefak yang terlihat jelas di sekitar area-area ini. Selain itu, JPEG tidak mendukung transparansi, yang merupakan fitur yang disediakan oleh format lain seperti PNG dan GIF.
Untuk mengatasi beberapa keterbatasan dari standar JPEG asli, format baru telah dikembangkan, seperti JPEG 2000 dan JPEG XR. Format-format ini menawarkan efisiensi kompresi yang lebih baik, dukungan untuk kedalaman bit yang lebih tinggi, dan fitur tambahan seperti transparansi dan kompresi lossless. Namun, mereka belum mencapai tingkat adopsi yang sama luasnya seperti format JPEG asli.
Sebagai kesimpulan, format gambar JPEG adalah keseimbangan kompleks antara matematika, psikologi penglihatan manusia, dan ilmu komputer. Penggunaannya yang tersebar luas merupakan bukti dari keefektifannya dalam mengurangi ukuran file sambil mempertahankan tingkat kualitas gambar yang dapat diterima untuk sebagian besar aplikasi. Memahami aspek teknis JPEG dapat membantu pengguna membuat keputusan yang tepat tentang kapan menggunakan format ini dan bagaimana mengoptimalkan gambar mereka untuk keseimbangan kualitas dan ukuran file yang paling sesuai dengan kebutuhan mereka.
AVIF (AV1 Image File Format) adalah format file gambar modern yang memanfaatkan codec video AV1 untuk memberikan efisiensi kompresi yang unggul dibandingkan dengan format lama seperti JPEG, PNG, dan WebP. Dikembangkan oleh Alliance for Open Media (AOMedia), AVIF bertujuan untuk memberikan gambar berkualitas tinggi dengan ukuran file yang lebih kecil, menjadikannya pilihan yang menarik bagi pengembang web dan pembuat konten yang ingin mengoptimalkan situs web dan aplikasi mereka.
Inti dari AVIF adalah codec video AV1, yang dirancang sebagai alternatif bebas royalti untuk codec berpemilik seperti H.264 dan HEVC. AV1 menggunakan teknik kompresi canggih, seperti prediksi intra-frame dan inter-frame, pengkodean transformasi, dan pengkodean entropi, untuk mencapai penghematan bitrate yang signifikan sambil mempertahankan kualitas visual. Dengan memanfaatkan kemampuan pengkodean intra-frame AV1, AVIF dapat mengompresi gambar diam lebih efisien daripada format tradisional.
Salah satu fitur utama AVIF adalah dukungannya untuk kompresi lossy dan lossless. Kompresi lossy memungkinkan rasio kompresi yang lebih tinggi dengan mengorbankan beberapa kualitas gambar, sementara kompresi lossless mempertahankan data gambar asli tanpa kehilangan informasi apa pun. Fleksibilitas ini memungkinkan pengembang untuk memilih mode kompresi yang sesuai berdasarkan kebutuhan spesifik mereka, menyeimbangkan ukuran file dan fidelitas gambar.
AVIF juga mendukung berbagai ruang warna dan kedalaman bit, membuatnya cocok untuk berbagai jenis gambar dan kasus penggunaan. Ini dapat menangani ruang warna RGB dan YUV, dengan kedalaman bit mulai dari 8 hingga 12 bit per saluran. Selain itu, AVIF mendukung pencitraan rentang dinamis tinggi (HDR), yang memungkinkan representasi nilai luminansi yang lebih luas dan warna yang lebih hidup. Kemampuan ini sangat bermanfaat untuk tampilan dan konten HDR.
Keuntungan signifikan lainnya dari AVIF adalah kemampuannya untuk mengodekan gambar dengan saluran alfa, yang memungkinkan transparansi. Fitur ini sangat penting untuk grafik dan logo yang memerlukan integrasi yang mulus dengan warna atau pola latar belakang yang berbeda. Dukungan saluran alfa AVIF lebih efisien dibandingkan dengan PNG, karena dapat mengompresi informasi transparansi bersama dengan data gambar.
Untuk membuat gambar AVIF, data gambar sumber pertama-tama dibagi menjadi kotak unit pengkodean, biasanya dengan ukuran 64x64 piksel. Setiap unit pengkodean kemudian dibagi lagi menjadi blok yang lebih kecil, yang diproses secara independen oleh encoder AV1. Encoder menerapkan urutan teknik kompresi, seperti prediksi, pengkodean transformasi, kuantisasi, dan pengkodean entropi, untuk mengurangi ukuran data sambil mempertahankan kualitas gambar.
Selama tahap prediksi, encoder menggunakan prediksi intra-frame untuk memperkirakan nilai piksel dalam sebuah blok berdasarkan piksel di sekitarnya. Proses ini mengeksploitasi redundansi spasial dan membantu mengurangi jumlah data yang perlu dikodekan. Prediksi inter-frame, yang digunakan dalam kompresi video, tidak berlaku untuk gambar diam seperti AVIF.
Setelah prediksi, data residual (perbedaan antara nilai piksel yang diprediksi dan aktual) mengalami pengkodean transformasi. Codec AV1 menggunakan satu set fungsi transformasi kosinus diskrit (DCT) dan transformasi sinus diskrit asimetris (ADST) untuk mengubah data domain spasial menjadi domain frekuensi. Langkah ini membantu memusatkan energi sinyal residual ke dalam koefisien yang lebih sedikit, sehingga lebih mudah dikompresi.
Kuantisasi kemudian diterapkan pada koefisien yang ditransformasikan untuk mengurangi presisi data. Dengan membuang informasi yang kurang signifikan, kuantisasi memungkinkan rasio kompresi yang lebih tinggi dengan mengorbankan beberapa kehilangan kualitas gambar. Parameter kuantisasi dapat disesuaikan untuk mengontrol pertukaran antara ukuran file dan fidelitas gambar.
Terakhir, teknik pengkodean entropi, seperti pengkodean aritmatika atau pengkodean panjang variabel, digunakan untuk mengompresi koefisien terkuantisasi lebih lanjut. Teknik ini memberikan kode yang lebih pendek untuk simbol yang lebih sering muncul, menghasilkan representasi data gambar yang lebih ringkas.
Setelah proses pengkodean selesai, data gambar terkompresi dikemas ke dalam format wadah AVIF, yang mencakup metadata seperti dimensi gambar, ruang warna, dan kedalaman bit. File AVIF yang dihasilkan kemudian dapat disimpan atau dikirim secara efisien, memakan lebih sedikit ruang penyimpanan atau bandwidth dibandingkan dengan format gambar lainnya.
Untuk mendekode gambar AVIF, proses sebaliknya diikuti. Decoder mengekstrak data gambar terkompresi dari wadah AVIF dan menerapkan dekode entropi untuk merekonstruksi koefisien terkuantisasi. Kuantisasi terbalik dan pengkodean transformasi terbalik kemudian dilakukan untuk mendapatkan data residual. Nilai piksel yang diprediksi, yang diturunkan dari prediksi intra-frame, ditambahkan ke data residual untuk merekonstruksi gambar akhir.
Salah satu tantangan dalam mengadopsi AVIF adalah pengenalannya yang relatif baru dan dukungan browser yang terbatas dibandingkan dengan format mapan seperti JPEG dan PNG. Namun, karena semakin banyak browser dan alat pemrosesan gambar yang mulai mendukung AVIF secara native, adopsi diharapkan akan tumbuh, didorong oleh meningkatnya permintaan untuk kompresi gambar yang efisien.
Untuk mengatasi masalah kompatibilitas, situs web dan aplikasi dapat menggunakan mekanisme fallback, menyajikan gambar AVIF ke klien yang kompatibel sambil menyediakan format alternatif seperti JPEG atau WebP untuk browser lama. Pendekatan ini memastikan bahwa pengguna dapat mengakses konten terlepas dari dukungan browser mereka untuk AVIF.
Sebagai kesimpulan, AVIF adalah format file gambar yang menjanjikan yang memanfaatkan kekuatan codec video AV1 untuk memberikan efisiensi kompresi yang unggul. Dengan dukungannya untuk kompresi lossy dan lossless, berbagai ruang warna dan kedalaman bit, pencitraan HDR, dan transparansi saluran alfa, AVIF menawarkan solusi serbaguna untuk mengoptimalkan gambar di web. Karena dukungan browser terus berkembang dan lebih banyak alat yang menggunakan AVIF, AVIF berpotensi menjadi pilihan yang disukai bagi pengembang dan pembuat konten yang ingin mengurangi ukuran file gambar tanpa mengorbankan kualitas visual.
Konverter ini berjalan sepenuhnya di browser Anda. Ketika Anda memilih sebuah file, file tersebut dibaca ke dalam memori dan dikonversi ke format yang dipilih. Anda kemudian dapat mengunduh file yang telah dikonversi.
Konversi dimulai seketika, dan sebagian besar file dikonversi dalam waktu kurang dari satu detik. File yang lebih besar mungkin membutuhkan waktu lebih lama.
File Anda tidak pernah diunggah ke server kami. File tersebut dikonversi di browser Anda, dan file yang telah dikonversi kemudian diunduh. Kami tidak pernah melihat file Anda.
Kami mendukung konversi antara semua format gambar, termasuk JPEG, PNG, GIF, WebP, SVG, BMP, TIFF, dan lainnya.
Konverter ini sepenuhnya gratis, dan akan selalu gratis. Karena berjalan di browser Anda, kami tidak perlu membayar untuk server, jadi kami tidak perlu mengenakan biaya kepada Anda.
Ya! Anda dapat mengkonversi sebanyak mungkin file sekaligus. Cukup pilih beberapa file saat Anda menambahkannya.