قاموس

ما هي عملية الترميز؟

تسمّي "عملية التشفير" الطريقة التي استخدمها ملف JPEG لضغط بيانات صورته، مثل baseline أو progressive. تُقرأ هذه القيمة من بيانات الصورة نفسها.

encoding-process

عملية الترميز هي الطريقة التي تحوّل الصورة إلى بيانات صورة مضغوطة. في تقرير بيانات وصفية، يبين Encoding Process الطريقة التي استخدمها ملف JPG، مثل Baseline DCT, Huffman coding على سبيل المثال.

تتكون القيمة من جزأين. الجزء الأول يبين كيف تم ضغط بيانات الصورة. والجزء الثاني يبين كيف تم حزم النتيجة في وحدات البِت.

ما هي الملفات التي تحمله

Encoding Process هو حقل في JPEG، وكل صورة JPEG تحتوي عليه. يضع معيار JPEG هذه المعلومات في ترويسة قصيرة تأتي قبل بيانات الصورة المضغوطة.

من أين تأتي القيمة

لا أي كاميرا ولا أي برنامج يكتب Encoding Process كوسم منفصل. قارئ مثل ExifTool يستنتج القيمة من مؤشر Start of Frame الذي يفتح تلك الترويسة. معيار JPEG يعرّف مؤشرًا مختلفًا لكل عملية ترميز.

نفس الترويسة تخزّن أيضًا عرض الصورة وارتفاعها، وعدد البتات لكل عينة، وعدد مكوّنات اللون. كما يستنتج ExifTool قيمة التقليل من تدرّج الألوان (chroma subsampling) من هذه الترويسة.

بما أن القيمة تصف كيف تُخزَّن بيانات الصورة، لا يمكنك تعديلها مثل أي وسم عادي. لا تتغير Encoding Process إلا عندما يحفظ برنامج الصورة مرة أخرى بإعدادات مختلفة.

كيف تبدو القيم

يعرض ExifTool واحدة من 13 قيمة. وبحسب مكتبة الكونغرس، فإن الشائع منها هو baseline و 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

ماذا يعني كل جزء من القيمة

  • DCT اختصار لـ discrete cosine transform. عمليات JPEG المعتمدة على DCT فقدية؛ فهي تحذف بعض التفاصيل لتصغير حجم الملف.
  • Baseline هي عملية DCT الأساسية. تستخدم 8 بِت لكل عينة وترميز Huffman.
  • Sequential تعني أن كل مكوّن لوني يُخزَّن في مسح واحد.
  • Extended sequential تعمل مثل baseline، لكنها تسمح أيضًا بـ 12 بِت لكل عينة وترميز arithmetic.
  • Progressive تخزّن الصورة في عدة عمليات مسح. عادةً ما يحسن كل مسح الجودة، بحيث يستطيع العارض إظهار صورة تقريبية أولًا ثم جعلها أكثر حدة.
  • Lossless لا تستخدم DCT. تكون الصورة بعد الفك مطابقة للأصل.
  • differential تنتمي إلى النمط الهرمي. هنا يخزّن كل إطار لاحق الفروق فقط مقارنة بالإطار السابق.
  • Huffman coding و arithmetic coding طريقتان غير فقديتين لحزم البيانات في عدد أقل من وحدات البِت.

لماذا هذا مهم لملفك

معيار JPEG لا يفرض على كل برنامج أن يدعم كل عملية. يجب أن يدعم كل مفكِّك DCT عملية baseline، لذلك يكون ملف baseline خيارًا آمنًا عندما تحتاج إلى أن تُفتح الصورة في أي مكان.

قد تفشل عمليات أخرى في الفتح في بعض البرامج. وبحسب مكتبة الكونغرس، لم تكن عملية lossless الأصلية مدعومة على نطاق واسع في التطبيقات. يُستخدَم متغيّر lossless واحد مع ترميز Huffman في الإصدار 1.1 من تنسيق raw من Adobe DNG.

قيمة تحتوي على DCT تخبرك بأنه تم حذف بعض التفاصيل عند حفظ الصورة. لا يؤدي حفظ الملف مرة أخرى إلى استرجاع تلك التفاصيل. يصف هذا الحقل فقط طريقة تخزين الصورة ولا يحتوي على أي معلومات شخصية.

مفاتيح الميتا