Kamus

Apakah Proses Pengekodan?

Encoding Process menamakan kaedah yang digunakan fail JPEG untuk memampatkan data gambarnya, seperti baseline atau progressive. Ia dibaca daripada data imej itu sendiri.

encoding-process

Proses pengekodan ialah kaedah yang mengubah gambar menjadi data imej termampat. Dalam laporan metadata, Proses Pengekodan menamakan kaedah yang digunakan oleh fail JPG, contohnya Baseline DCT, Huffman coding.

Nilai ini mempunyai 2 bahagian. Bahagian pertama menamakan cara data gambar dimampatkan. Bahagian kedua menamakan cara hasilnya dibungkus ke dalam bit.

Fail mana yang membawanya

Proses Pengekodan ialah medan JPEG, dan setiap imej JPEG memilikinya. Piawaian JPEG meletakkan maklumat ini dalam pengepala ringkas yang datang sebelum data gambar termampat.

Dari mana nilai itu datang

Tiada kamera atau program menulis Proses Pengekodan sebagai tag berasingan. Pembaca seperti ExifTool menentukan nilainya daripada penanda Start of Frame, yang membuka pengepala tersebut. Piawaian JPEG mentakrifkan penanda yang berbeza untuk setiap proses pengekodan.

Pengepala yang sama juga menyimpan lebar dan tinggi imej, bit per sampel, dan bilangan komponen warna. ExifTool juga menentukan pensampelan krominans daripada pengepala ini.

Oleh sebab nilai ini menerangkan cara data imej disimpan, anda tidak boleh menyuntingnya seperti tag biasa. Proses Pengekodan hanya berubah apabila sesuatu program menyimpan gambar itu sekali lagi dengan tetapan lain.

Bagaimana rupa nilai tersebut

ExifTool memaparkan satu daripada 13 nilai. Mengikut Library of Congress, yang lazim ialah baseline dan progressive.

  • Baseline DCT, Huffman coding
  • Extended sequential DCT, Huffman coding
  • Progressive DCT, Huffman coding
  • Lossless, Huffman coding
  • Sequential DCT, differential Huffman coding
  • Progressive DCT, differential Huffman coding
  • Lossless, Differential Huffman coding
  • Extended sequential DCT, arithmetic coding
  • Progressive DCT, arithmetic coding
  • Lossless, arithmetic coding
  • Sequential DCT, differential arithmetic coding
  • Progressive DCT, differential arithmetic coding
  • Lossless, differential arithmetic coding

Maksud setiap bahagian nilai

  • DCT bermaksud discrete cosine transform. Proses JPEG yang berasaskan DCT adalah lossy: ia membuang beberapa butiran untuk menjadikan fail lebih kecil.
  • Baseline ialah proses DCT asas. Ia menggunakan 8 bit per sampel dan pengekodan Huffman.
  • Sequential bermaksud setiap komponen warna disimpan dalam satu imbasan.
  • Extended sequential berfungsi seperti baseline, tetapi juga membenarkan 12 bit per sampel dan pengekodan aritmetik.
  • Progressive menyimpan gambar dalam beberapa imbasan. Setiap imbasan biasanya menambah baik kualiti, supaya pelayar imej boleh memaparkan gambar kasar dahulu dan kemudian menjadikannya lebih tajam.
  • Lossless tidak menggunakan DCT. Gambar yang dinyahkod adalah sama dengan yang asal.
  • differential tergolong dalam mod hierarki. Di sini setiap bingkai seterusnya hanya menyimpan perbezaan daripada bingkai sebelumnya.
  • Huffman coding dan arithmetic coding ialah 2 cara lossless untuk membungkus data ke dalam bilangan bit yang lebih sedikit.

Mengapa ia penting untuk fail anda

Piawaian JPEG tidak mewajibkan setiap program menyokong setiap proses. Setiap penyahkod DCT mesti menyokong baseline, jadi fail baseline ialah pilihan yang selamat apabila gambar perlu dibuka di mana-mana.

Proses lain mungkin gagal dibuka dalam sesetengah program. Mengikut Library of Congress, proses lossless asal tidak banyak disokong dalam aplikasi. Satu varian lossless dengan pengekodan Huffman digunakan dalam versi 1.1 format mentah Adobe DNG.

Nilai dengan DCT memberitahu anda bahawa sebahagian butiran dibuang apabila gambar disimpan. Menyimpan fail itu sekali lagi tidak akan mengembalikan butiran tersebut. Medan ini hanya menerangkan cara gambar disimpan dan tidak mengandungi maklumat peribadi.