تنسيق تبادل ملفات JPEG

تنسيق تبادل ملفات JPEG ( JFIF ) هو معيار لتنسيق ملفات الصور ، نُشر كتوصية ITU-T T.871 ومعيار ISO/IEC 10918-5. يُحدد هذا التنسيق مواصفات إضافية لتنسيق الحاوية الذي يحتوي على بيانات الصورة المشفرة باستخدام خوارزمية JPEG . تُحدد المواصفات الأساسية لتنسيق حاوية JPEG في الملحق B من معيار JPEG، المعروف باسم تنسيق تبادل JPEG (JIF). يستند JFIF إلى JIF لمعالجة بعض قيوده، بما في ذلك التعقيد غير الضروري، وتسجيل عينات المكونات، والدقة، ونسبة العرض إلى الارتفاع، ومساحة الألوان . ولأن JFIF ليس معيار JPG الأصلي، فقد يتوقع المرء نوع MIME مختلفًا . ومع ذلك، لا يزال مُسجلاً باسم "image/jpeg" (مما يشير إلى تنسيق بياناته الأساسي وليس إلى المعلومات المُعدلة).

يُعد تنسيق JFIF غير متوافق مع تنسيق ملف الصور القابل للتبادل الأحدث (Exif).

غاية

يحدد JFIF عددًا من التفاصيل التي لم يتم تحديدها بواسطة معيار JPEG الجزء 1 ( ISO / IEC 10918-1، توصية ITU-T T.81.) [ 1 ]

تسجيل عينة المكون

يسمح تنسيق JPEG بوجود مكونات متعددة (مثل Y وCb وCr ) بدقة مختلفة، ولكنه لا يحدد كيفية محاذاة مصفوفات العينات المختلفة هذه (التي تُنتج الصور النقطية). تُعرض هذه المعلومات المُنتجة للبكسلات على أساس الإشارة إلى المستطيلات من خلال مركزها ، بدلاً من كونها بيانات بكسل مباشرة، أو كونها "الزاوية الأولى والفيضان"، وما إلى ذلك، وهو أمر غير شائع.

الدقة ونسبة العرض إلى الارتفاع

لا يتضمن معيار JPEG أي طريقة لترميز دقة الصورة أو نسبة أبعادها. يوفر معيار JFIF معلومات الدقة أو نسبة الأبعاد باستخدام امتداد مقطع التطبيق لـ JPEG. يستخدم JFIF مقطع التطبيق رقم 0، ويتكون رأس المقطع من سلسلة نصية تنتهي بصفر، وهي "JFIF" مكتوبة بنظام ASCII، متبوعة ببايت يساوي صفرًا، ويحدد أن يكون هذا المقطع هو الأول في الملف، مما يسهل التعرف على ملف JFIF. لا تتضمن صور EXIF ​​المسجلة بواسطة الكاميرات الرقمية هذا المقطع عادةً، ولكنها تتوافق مع معيار JFIF في جميع الجوانب الأخرى.

مساحة اللون

لا يُحدد معيار JPEG المُستخدم لترميز الضغط في ملفات JFIF ترميز الألوان المُستخدم للصور. يُحدد JFIF نموذج الألوان المُستخدم: إما Y للتدرج الرمادي، أو YCbCr المُشتق من ألوان RGB الأساسية كما هو مُحدد في CCIR 601 (المعروف الآن باسم Rec. ITU-R BT.601)، باستثناء اختلاف نطاق مُكونات Y وCb وCr. على عكس "نطاق الاستوديو" المُحدد في CCIR 601، حيث يُمثل اللون الأسود بـ Y=16 والأبيض بـ Y=235، وتتوفر قيم خارج هذا النطاق لمعالجة الإشارة ، يستخدم JFIF جميع مستويات التمثيل 8 بت البالغ عددها 256 مستوى، بحيث يكون Y=0 للأسود وY=255 للون الأبيض في ذروته. تختلف الألوان الأساسية RGB المُعرَّفة في JFIF عبر CCIR 601 نوعًا ما عما أصبح شائعًا في التطبيقات الحديثة (على سبيل المثال، تختلف قليلًا عن الألوان الأساسية المُعرَّفة في sRGB ). علاوة على ذلك، لم يُقدِّم CCIR 601 (قبل عام 2007) تعريفًا دقيقًا للألوان الأساسية RGB؛ بل اعتمد بدلًا من ذلك على الممارسات السائدة في صناعة التلفزيون.

يمكن تحسين تفسير الألوان لصورة JFIF عن طريق تضمين ملف تعريف ICC أو بيانات تعريف مساحة اللون أو علامة sRGB ، واستخدام تطبيق يفسر هذه المعلومات.

بنية تنسيق الملف

يتكون ملف JFIF من سلسلة من العلامات أو مقاطع العلامات (للمزيد من التفاصيل، راجع JPEG، بناء الجملة والبنية ). تُعرَّف العلامات في الجزء الأول من معيار JPEG . [ 1 ] تتكون كل علامة من بايتين: FFبايت متبوعًا ببايت آخر لا يساوي 00أو FFيحدد نوع العلامة. بعض العلامات مستقلة، لكن معظمها يشير إلى بداية مقطع علامة يحتوي على بايتات بيانات وفقًا للنمط التالي:

FF xxs1s2[data bytes]

يُجمع البايتان s1 و s2 لتمثيل عدد صحيح كبير النهاية مكون من 16 بت، يحدد طول "بايتات البيانات" التالية بالإضافة إلى البايتين المستخدمين لتمثيل الطول. بعبارة أخرى، يحدد s1 و s2 عدد بايتات البيانات التالية .256s1+s2-2{\displaystyle 256\cdot s1+s2-2}.

وفقًا للجزء الأول من معيار JPEG، يمكن للتطبيقات استخدام مقاطع علامات APP وتحديد معنى خاص بالتطبيق للبيانات. في معيار JFIF، تم تعريف مقاطع علامات APP التالية:

  • مقطع علامة JFIF APP0 (مقطع JFIF باختصار) (إلزامي)
  • مقطع علامة JFIF الممتد APP0 (مقطع JFXX اختصارًا) (اختياري)

وهي موصوفة أدناه.

يشترط معيار JFIF أن يتبع مقطع علامة JFIF APP0 مباشرةً علامة SOI. وفي حال استخدام مقطع علامة JFIF APP0 إضافي، فيجب أن يتبع مقطع علامة JFIF APP0 مباشرةً. [ 2 ] لذا، سيكون لملف JFIF البنية التالية:

بنية ملف JFIF
شريحةشفرةوصف
SOIFF D8بداية الصورة
JFIF-APP0FF E0 s1s2 4A 46 49 46 00 ...انظر أدناه
JFXX-APP0FF E0 s1s2 4A 46 58 58 00 ...اختياري، انظر أدناه
... أجزاء علامات إضافية (على سبيل المثال SOF، DHT، COM)
نداء استغاثةFF DAبداية المسح
بيانات الصور المضغوطة
إبداء الاهتمامFF D9نهاية الصورة

مقطع علامة JFIF APP0

يتم تحديد معلمات الصورة في مقطع علامة JFIF APP0 الإلزامي. ويمكن تضمين صورة مصغرة غير مضغوطة اختيارياً.

مقطع علامة JFIF APP0
مجالالحجم (بايت)وصف
علامة APP02FF E0
طول2طول القطعة باستثناء علامة APP0
المعرف54A 46 49 46 00= "JFIF" في ASCII ، تنتهي ببايت فارغ
إصدار JFIF2البايت الأول للإصدار الرئيسي، والبايت الثاني للإصدار الفرعي ( 01 02على سبيل المثال، 1.02)
وحدات الكثافة1وحدات حقول كثافة البكسل التالية
الكثافة2كثافة البكسل الأفقية. يجب ألا تكون صفرًا
الكثافة2كثافة البكسل الرأسية. يجب ألا تكون صفرًا
صورة مصغرة1عدد البكسلات الأفقية للصورة المصغرة RGB المضمنة التالية. قد يكون صفرًا
صورة مصغرة1عدد البكسلات الرأسية للصورة المصغرة RGB المضمنة التالية. قد يكون صفرًا
بيانات الصور المصغرة3 × نبيانات صور مصغرة نقطية غير مضغوطة بصيغة RGB ذات 24 بت (8 بت لكل قناة لونية) بالترتيب R0، G0، B0، ... Rn-1، Gn-1، Bn-1؛ حيث n = Xthumbnail × Ythumbnail

مقطع علامة JFIF الممتد APP0

قد يلي مقطع علامة JFIF APP0 مباشرةً مقطع علامة JFIF امتداد APP0. هذا المقطع متاح فقط في إصدارات JFIF 1.02 وما فوق. يسمح هذا المقطع بتضمين صورة مصغرة بثلاثة تنسيقات مختلفة.

مقطع علامة JFIF الممتد APP0
مجالالحجم (بايت)وصف
علامة APP02FF E0
طول2طول القطعة باستثناء علامة APP0
المعرف54A 46 58 58 00= "JFXX" في ASCII ، تنتهي ببايت فارغ
تنسيق الصورة المصغرة1يحدد تنسيق البيانات المستخدم للصورة المصغرة المضمنة التالية:
  • 10 تنسيق JPEG
  • 11 تنسيق مُقسّم إلى لوحة ألوان: بايت واحد لكل بكسل
  • 13 تنسيق RGB: 3 بايت لكل بكسل
بيانات الصور المصغرةعامليعتمد ذلك على تنسيق الصورة المصغرة، انظر أدناه

تعتمد بيانات الصورة المصغرة على تنسيق الصورة المصغرة كما يلي:

تم تخزين الصورة المصغرة باستخدام ترميز JPEG
مجالالحجم (بايت)وصف
SOI2FF D8
عامليجب أن يكون بتنسيق JIF باستخدام YCbCr أو Y فقط، ويجب ألا يحتوي على مقاطع JFIF أو JFXX
إبداء الاهتمام2FF D9
يتم تخزين الصورة المصغرة باستخدام بايت واحد لكل بكسل
مجالالحجم (بايت)وصف
صورة مصغرة1عدد البكسلات الأفقية للصورة المصغرة المضمنة التالية. يجب ألا يكون صفرًا
صورة مصغرة1عدد البكسلات الرأسية للصورة المصغرة المضمنة التالية. يجب ألا يكون صفرًا
لوحة الصور المصغرة768256 مدخلاً في لوحة الألوان، يحتوي كل منها على قيمة لون RGB ذات 24 بت
بيانات الصور المصغرةنبايت واحد لكل بكسل يحتوي على فهرس اللون داخل لوحة الألوان،

مع n = Xthumbnail × Ythumbnail

يتم تخزين الصورة المصغرة باستخدام ثلاثة بايتات لكل بكسل
مجالالحجم (بايت)وصف
صورة مصغرة1عدد البكسلات الأفقية للصورة المصغرة المضمنة التالية. يجب ألا يكون صفرًا
صورة مصغرة1عدد البكسلات الرأسية للصورة المصغرة المضمنة التالية. يجب ألا يكون صفرًا
بيانات الصور المصغرة3 × نبيانات صور مصغرة نقطية غير مضغوطة بصيغة RGB ذات 24 بت (8 بت لكل قناة لونية) بالترتيب R0، G0، B0، ... Rn-1، Gn-1، Bn-1؛ حيث n = Xthumbnail × Ythumbnail

التوافق

يُعدّ تنسيق ملفات الصور القابل للتبادل (Exif) الأحدث مُشابهًا لتنسيق JFIF، إلا أن المعيارين غير متوافقين. والسبب في ذلك هو أن كلا المعيارين يُشترط أن يتبع مقطع التطبيق الخاص به (APP0 في JFIF، وAPP1 في Exif) علامة SOI مباشرةً. عمليًا، تُنتج العديد من البرامج والكاميرات الرقمية ملفات تتضمن كلا مقطعي التطبيق. لن يؤثر هذا على فك تشفير الصورة بالنسبة لمعظم برامج فك التشفير، ولكن قد لا تتعرف برامج تحليل JFIF أو Exif المصممة بشكل سيئ على الملف بشكل صحيح.

يتوافق تنسيق JFIF مع امتدادات "كتلة موارد المعلومات" (Information Resource Block) الخاصة بملفات JPEG في برنامج Adobe Photoshop ، ومع بيانات IPTC الوصفية ، حيث لا يستبعد JFIF أجزاء التطبيقات الأخرى، ولا يشترط أن تكون امتدادات Photoshop هي الأولى في الملف. مع ذلك، يحفظ Photoshop عادةً مخازن CMYK المؤقتة كصور "Adobe JPEG" رباعية المكونات غير متوافقة مع JFIF. ولأن هذه الملفات ليست في مساحة ألوان YCbCr، فإنها عادةً ما تكون غير قابلة للفك بواسطة متصفحات الويب وبرامج الإنترنت الأخرى.

تاريخ

تولى إريك هاميلتون من شركة سي-كيوب مايكروسيستمز قيادة تطوير وثيقة JFIF ، وتم التوصل إلى اتفاق بشأن النسخة الأولى في أواخر عام 1991 خلال اجتماع عُقد في مقر سي-كيوب، ضمّ نحو 40 ممثلاً عن شركات مختلفة في مجالات الحوسبة والاتصالات والتصوير. وبعد ذلك بفترة وجيزة، نُشرت نسخة مُعدّلة طفيفة - JFIF 1.01. [ 3 ] ولما يقرب من 20 عامًا، كانت أحدث نسخة متاحة هي الإصدار 1.02، الذي نُشر في 1 سبتمبر 1992. [ 2 ]

في عام ١٩٩٦، نصّت المواصفة RFC ٢٠٤٦ على أن تنسيق الصورة المستخدم لنقل صور JPEG عبر الإنترنت يجب أن يكون JFIF. ويجب ترميز نوع MIME "image/jpeg" بتنسيق JFIF. مع ذلك، عمليًا، تستطيع جميع برامج الإنترنت تقريبًا فك تشفير أي صورة JIF أساسية تستخدم مكونات Y أو YCbCr، سواءً كانت متوافقة مع JFIF أم لا.

مع مرور الوقت، أعيد هيكلة C-Cube (وتطورت في النهاية إلى Harmonic و LSI Logic و Magnum Semiconductor و Avago Technologies و Broadcom و GigOptix و GigPeak وما إلى ذلك)، وفقدت الاهتمام بالوثيقة، ولم يكن للمواصفات ناشر رسمي حتى تم تبنيها من قبل Ecma International ومجموعة خبراء التصوير الفوتوغرافي المشتركة ITU-T/ISO/IEC حوالي عام 2009 لتجنب ضياعها في التاريخ وتوفير طريقة للاستشهاد بها رسميًا في المنشورات القياسية وتحسين جودتها التحريرية. تم نشره بواسطة ECMA في عام 2009 كتقرير فني رقم 98 لتجنب فقدان السجل التاريخي، [ 3 ] وتم توحيده رسميًا بواسطة ITU-T في عام 2011 كتوصية T.871 [ 4 ] وبواسطة ISO/IEC في عام 2013 كمعيار ISO/IEC 10918-5، [ 5 ] تضمنت المنشورات الأحدث تحسينات تحريرية ولكن لم تكن هناك تغييرات فنية جوهرية.

انظر أيضاً

مراجع

  1. 1 2 "التوصية ITU-T T.81: تكنولوجيا المعلومات - الضغط الرقمي وتشفير الصور الثابتة ذات التدرج اللوني المستمر - المتطلبات والإرشادات" (ملف PDF) . ITU-T (المعروف سابقًا باسم CCITT) . 18 فبراير 1992. تاريخ الاطلاع: 15 يونيو 2015 .
  2. 1 2 هاميلتون، إريك (12 سبتمبر 1992). "تنسيق تبادل ملفات JPEG، الإصدار 1.02" (ملف PDF، 0.02 ميجابايت) . تم الاطلاع عليه بتاريخ 15 يونيو 2015 .
  3. 1 2 "تنسيق تبادل ملفات JPEG (JFIF)" . ecma-international.org . 2009. تم الاطلاع عليه في 15 يونيو 2015 .
  4. «التوصية ITU-T T.871: تكنولوجيا المعلومات - الضغط الرقمي وتشفير الصور الثابتة ذات التدرج اللوني المستمر: تنسيق تبادل ملفات JPEG (JFIF)» (ملف PDF) . ITU-T. 14 مايو 2011. تاريخ الاطلاع: 15 يونيو 2015 .
  5. "ISO/IEC 10918-5:2013: تكنولوجيا المعلومات - الضغط الرقمي وتشفير الصور الثابتة ذات التدرج اللوني المستمر: تنسيق تبادل ملفات JPEG (JFIF)" . المنظمة الدولية للمقاييس/اللجنة الكهروتقنية الدولية. 1 مايو 2013. تاريخ الاطلاع: 15 يونيو 2015 .

للمزيد من القراءة

الكتب

  • ميانو، جون م، "تنسيقات ملفات الصور المضغوطة"؛ 1999، أديسون-ويسلي، رقم ISBN 978-0-201-60443-6
  • بينيباكر، ويليام ب. وجوان ل. ميتشل : معيار ضغط بيانات الصور الثابتة JPEG ؛ الطبعة الثالثة، 1993، سبرينغر ISBN 978-0-442-01272-4

المعايير