اللون المفهرسة

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

عند تشفير صورة بهذه الطريقة ، لا يتم نقل معلومات الألوان مباشرةً بواسطة بيانات بكسل الصورة ، ولكن يتم تخزينها في جزء منفصل من البيانات يسمى لوح الألوان: مصفوفة من عناصر الألوان. يمثل كل عنصر في الصفيف لونًا ، ويتم فهرسته من خلال موضعه داخل الصفيف. تعرف الإدخالات الفردية أحيانًا باسم سجلات اللون. لا تحتوي بيكسلات الصورة على المواصفات الكاملة للونها ، ولكن فقط فهرسها في اللوحة. يُشار إلى هذه التقنية أحيانًا باسم pseudocolor أو بلون غير مباشر ، حيث تتم معالجة الألوان بطريقة غير مباشرة.

ربما كان أول جهاز يدعم ألوان لوح الألوان عبارة عن مخزن مؤقت للإطار العشوائي ، تم وصفه في عام 1975 بواسطة Kajiya و Sutherland و Cheadle. هذا دعم لوح ألوان 256 RGB 36 بت.

حجم اللوحة
يخزن لوح الألوان نفسه عددًا محدودًا من الألوان المميزة ؛ 4 أو 16 أو 256 هي الحالات الأكثر شيوعًا. غالباً ما يتم فرض هذه الحدود بواسطة جهاز محول العرض الخاص بالعمارة الهدف ، لذلك ليس من قبيل المصادفة أن هذه الأرقام هي بالضبط صلاحيات اثنين (رمز ثنائي): 22 = 4 ، 24 = 16 و 28 = 256. بينما يمكن أن تكون قيم 256 تتناسب مع بايت واحد 8 بايت (ثم بكسل لون واحد مفهرس تحتل أيضا بايت واحد) ، يمكن معبأة مؤشرات بكسل مع 16 (4 بت ، nibble) أو أقل من الألوان معا في بايت واحد (اثنين يقضم في بايت ، إذا تم استخدام 16 لونًا ، أو أربعة وحدات بكسل من 2 بايت لكل بايت في حالة استخدام 4 ألوان). في بعض الأحيان ، يمكن استخدام قيم 1 بت (لونان) ، ومن ثم يمكن تعبئة ما يصل إلى ثمانية بكسل في بايت واحد ؛ تعتبر هذه الصور صورًا ثنائية (يشار إليها أحيانًا باسم صورة نقطية أو صورة bilevel) وليست صورة ملونة مفهرسة.

إذا كان الغرض من تراكب الفيديو البسيط هو استخدام لون شفاف ، فإن إدخال لوح الألوان يكون محجوزًا خصيصًا لهذا الغرض ، ويتم خصمه كألوان متوفرة. بعض الأجهزة ، مثل سلسلة MSX ، كان لها لون شفاف محجوز بواسطة الأجهزة.

نادرة الصور الملونة المفهرسة مع أحجام لوح الألوان خارج 256 إدخالات. الحد العملي هو حوالي 12 بت لكل بكسل ، 4،096 مؤشرات مختلفة. لاستخدام 16 bpp المفهرسة أو أكثر لا يوفر فوائد طبيعة الصور الملونة المفهرسة ، نظرًا لأن حجم لوح الألوان بالبايت أكبر من بيانات الصورة الأولية نفسها. أيضا ، يمكن استخدام وسائط RGB Highcolor المباشرة المفيدة من 15 bpp وأكثر.

إذا كانت الصورة تحتوي على العديد من ظلال الألوان الدقيقة ، فمن الضروري تحديد ذخيرة محدودة من الألوان لتقريب الصورة باستخدام تكمية الألوان. مثل هذه اللوحة غير كافية في كثير من الأحيان لتمثيل الصورة بدقة ؛ سوف تظهر ميزات صعبة التكاثر مثل التدرجات blocky أو ​​كـ strips (ربط الألوان). في هذه الحالات ، من المعتاد استخدام التردد ، الذي يمزج بين البيكسلات ذات الألوان المختلفة في الأنماط ، مستغلاً ميل الرؤية البشرية لطمس البكسلات القريبة معًا ، مما يعطي النتيجة بصريا أقرب إلى الصورة الأصلية.

الألوان والألواح
تعتمد كيفية تشفير الألوان في خريطة لوح الألوان لصورة ملونة مفهرسة معينة على النظام الأساسي الهدف.

تقنيات الألوان المبكرة
تحتوي العديد من أجهزة الكمبيوتر الشخصية والمنزلية المبكرة على لوحات أجهزة محدودة للغاية يمكنها إنتاج مجموعة صغيرة جدًا من الألوان. في هذه الحالات ، يتم تعيين كل قيمة بيكسل مباشرة إلى أحد هذه الألوان. ومن بين الأمثلة المعروفة على Apple II و Commodore 64 و IBM PC CGA ، والتي تضمنت أجهزة يمكنها إنتاج مجموعة ثابتة من 16 لونًا. في هذه الحالات ، يمكن للصورة أن تشفر كل بكسل مع 4 بتات ، وتحديد اللون المستخدم مباشرة. ومع ذلك ، في معظم الحالات ، يدعم جهاز العرض أوضاعًا إضافية حيث يمكن استخدام مجموعة فرعية فقط من تلك الألوان في صورة واحدة ، وهي تقنية مفيدة لتوفير الذاكرة. على سبيل المثال ، قد يعرض وضع الدقة 320 × 200 الخاص بـ CGA أربعة ألوان فقط من 16 لونًا في وقت واحد. نظرًا لأن اللوحات مملوكة بالكامل ، لا يمكن عرض الصورة التي يتم إنشاؤها على نظام أساسي بشكل صحيح على جهاز آخر.

تمتلك آلات أخرى من هذا العصر القدرة على توليد مجموعة أكبر من الألوان ، ولكن بشكل عام لا يسمح إلا لمجموعة فرعية من تلك لاستخدامها في أي صورة واحدة. تتضمن الأمثلة لوح الألوان 256-لون على الأجهزة ذات 8 بت من Atari أو الألوان 4،096 من طرف VT241 في وضع رسومات ReGIS. في هذه الحالات ، كان من الشائع بالنسبة للصورة أن تسمح فقط بعرض مجموعة فرعية صغيرة من إجمالي عدد الألوان في وقت واحد ، حتى 16 مرة في Atari و VT241. بشكل عام ، عملت هذه الأنظمة بشكل متشابه مع إخوانهم الأقل تلوينًا ، ولكن كان الفرق الرئيسي هو أن هناك الكثير من الألوان في اللوحة لتشفر بشكل مباشر في بيانات البيكسل نظرًا لمحدودية ذاكرة الفيديو. وبدلاً من ذلك ، استخدموا جدولًا للبحث عن الألوان (CLUT) حيث أشارت كل بيانات بكسل إلى إدخال في CLUT ، وتم إعداد CLUT تحت تحكم البرنامج. وهذا يعني أنه يجب تخزين بيانات CLUT للصورة جنبًا إلى جنب مع بيانات الصورة الخام حتى تتمكن من إعادة إنتاج الصورة بشكل صحيح.

RGB
تم استبدال لوحات الأجهزة التي تستند إلى ألوان الفيديو المكونة مثل YPbPr أو ما شابه ذلك في منتصف الثمانينات من خلال نموذج ألوان RGB الأكثر مرونة ، حيث يمكن الحصول على لون معين عن طريق خلط كميات مختلفة من الألوان الثلاثة الأساسية باللون الأحمر والأخضر ، أزرق. على الرغم من أن العدد الإجمالي للألوان المختلفة يعتمد على عدد المستويات لكل مرحلة أساسية ، وعلى تنفيذ جهاز معين (يوفر RGB 9 بت تركيبات 512 ، يوفر RGB 12 بت 4،096 ، وهكذا) ، في هذا الطراز Digital- يمكن للمحولات التناظرية (DAC) توليد الألوان – تبسيط تصميم الأجهزة – في حين أن البرنامج يمكنه التعامل مع العدد لكل المستويات المستخدمة بشكل مجرد وإدارة ألوان RGB بطريقة مستقلة عن الجهاز. مع الألوان المخزنة في تنسيق RGB داخل لوحات ملفات الصور المفهرسة ، يمكن عرض أي صورة (من خلال التحولات المناسبة) على أي نظام من هذا القبيل ، بغض النظر عن عمق الألوان المستخدم في تنفيذ الأجهزة.

واليوم ، فإن تنسيقات ملفات الأجهزة والصور التي تتعامل مع الصور الملونة المفهرسة تقريبًا إدارة الألوان في تنسيق RGB ، فإن التشفير الفعلي في الواقع هو ما يسمى بـ truecolor أو 24-bit RGB ، مع 16777161 لونًا مختلفًا. ومع ذلك ، لا يتم تقييد الصور الملونة المفهرسة بشكل حقيقي إلى ترميز ألوان RGB 24 بت؛ يمكن أن تحمل لوحات الصور أي نوع من ترميز الألوان. على سبيل المثال ، يدعم تنسيق ملف PDF اللون المفهرس في مساحات ألوان أخرى ، لا سيما CMYK ، ويقوم Adobe Distiller بشكل افتراضي بتحويل الصور إلى لون مفهرس كلما كان العدد الإجمالي للألوان في صورة مساوية أو أقل من 256. عند استخدام RGB ، يمكن أن تقوم تنسيقات ملفات TIFF و PNG بتخزين ثلاثة توزيعات RGB اختياريًا بدقة تصل إلى 16 بت (65،536 مستوى لكل مكون) مما يعطي إجمالي 48 بت لكل بكسل. يسمح ملحق مقترح لمعيار TIFF بلوحات ألوان غير RGB ، لكن هذا لم ينفذ أبداً في البرنامج لأسباب فنية. يخزّن جدول خريطة الألوان لوضع الألوان المفهرس بتنسيق BMP مدخلاته في ترتيب BGR بدلاً من RGB ، ولديه (في الإصدار الحالي) بايت غير مستخدمة إضافية للحشو لتتوافق مع محاذاة الكلمات 32 بت أثناء المعالجة ، أساسا لا يزال ترميز اللون RGB 24 بت. (يستخدم إصدار سابق من تنسيق BMP ثلاثة بايت لكل إدخال جدول ألوان 24 بت ، ولا يزال العديد من الملفات في هذا التنسيق قيد التداول ، لذلك العديد من البرامج الحديثة التي تقرأ ملفات BMP تدعم كلا الصيغتين).

ترتيبات وحدات البكسل
وباستثناء الأنماط الرسومية ذات الدقة المنخفضة ، نادراً ما تنفذ أجهزة الكمبيوتر المنزلية والشخصية المبكرة تصميم “كل العنصورات – عنونة” – أي القدرة على تغيير بكسل واحد إلى أي من الألوان المتاحة بشكل مستقل. تأتي قيودها من استخدام سمة لون منفصلة أو مناطق RAM لون ، مما يؤدي إلى تأثيرات الصدام سمة. أيضًا ، تم ترتيب وحدات البكسل و / أو خطوط المسح الخاصة بذاكرة الفيديو عادةً بطرق غريبة ملائمة لمكونات جهاز الفيديو (وبالتالي توفير تكاليف الأجهزة في سوق تتنافس على التكلفة) ، ولكن في بعض الأحيان خلق صعوبة للأشخاص الذين يكتبون برامج الرسومات . لا تكون وحدات البكسل في الصور ذات الألوان المفهرسة والبصرية ذات البكسلات المتجاورة متجاورة دائماً في ذاكرة الفيديو أو ملفات الصور (على سبيل المثال ، لا يتم دائمًا استخدام تنظيم مكتنزة.) بعض أجهزة الفيديو ، مثل أوضاع الرسوم البيانية ذات 16 لونًا المحسّنة يتم ترتيب مهايئ الرسومات (EGA) و Video Graphics Array (VGA) لأجهزة IBM PC أو مخزن Amiga للفيديو كسلسلة من مستويات البت (في تكوين يسمى planar) ، حيث يتم تقسيم وحدات البت ذات البكسل الواحد بين عدة الصور النقطية المستقلة. وبالتالي ، تتم محاذاة وحدات البت بكسل بمحاذاة المحور ثلاثي الأبعاد. (مفهوم “العمق” هنا ليس هو نفسه مثل عمق البكسل).

تنسيقات ملفات الصور المبكرة ، مثل PIC ، تخزين أكثر من تفريغ ذاكرة خالية من المخزن المؤقت للفيديو لجهاز معين.

تسمح بعض تنسيقات ملفات الصور ذات الألوان المفهرسة مثل Graphics Interchange Format (GIF) بترتيب خطوط المسح الضوئي للصور بطريقة متداخلة (وليس ترتيبًا خطيًا) ، مما يسمح لإصدار منخفض الدقة من الصورة بالظهور على الشاشة أثناء تحميلها ، بحيث يمكن لمستخدم الكمبيوتر الحصول على فكرة عن محتوياته خلال الثواني قبل وصول الصورة بأكملها.

كما هو موضح هنا ، تم تقسيم الصورة إلى أربع مجموعات من الأسطر: المجموعة أ تحتوي على كل سطر رابع ، المجموعة ب تحتوي على خطوط مباشرة بعد تلك الموجودة في المجموعة A ، المجموعة C تحتوي كذلك على السطور التالية مباشرة لتلك الموجودة في المجموعة ب ، والمجموعة D تحتوي على الخطوط المتبقية ، والتي هي بين خطوط المجموعة C (مباشرة فوق) وخطوط المجموعة A (في الأسفل مباشرة). يتم تخزينها في الملف بالترتيب A ، C ، B ، D ، بحيث عندما يتم إرسال الملف ، تكون المجموعة الثانية (C) من الخطوط متمركزة بين سطور المجموعة الأولى ، مما يؤدي إلى جعلها أكثر اتساعًا من الناحية المكانية والاعتراف بها الصورة ممكن ، تتألف من مجموعتين فقط من مجموعات الخطوط. يمكن تطبيق نفس الأسلوب مع مجموعات أكثر (مثل ثمانية) ، وفي هذه الحالة في كل خطوة ، فإن المجموعة التالية التي يتم إرسالها تحتوي على خطوط تقع في أو بالقرب من مراكز النطاقات المتبقية التي لم يتم ملؤها بعد ببيانات الصورة. هذه الطريقة ، مع أربع أو ثماني مجموعات من الخطوط ، كانت شائعة الاستخدام في أوائل شبكة الويب العالمية خلال النصف الثاني من التسعينات. وبدلاً من ترك الخلفية (السوداء) تظهر كما هو موضح في الرسم التوضيحي أعلاه ، فإن الصورة الجزئية يتم عرضها غالبًا على الشاشة بتكرار كل سطر لملء الفراغ الواقع أسفله إلى خط الصورة المستلم التالي. كانت النتيجة النهائية هي صورة مستمرة مع انخفاض الدقة العمودية التي من شأنها أن تزيد إلى الدقة الكاملة على مدى بضع ثوان كما وصلت الأجزاء الأخيرة من بيانات الصورة.

مزايا
يحفظ اللون المفهرسة الكثير من الذاكرة ومساحة التخزين وزمن الإرسال: باستخدام truecolor ، يحتاج كل بكسل إلى 24 بت أو 3 بايت. تحتاج صورة غير مضغوطة بدقة 640 × 480 VGA truecolor غير مضغوطة إلى 640 × 480 × 3 = 921،600 بايت (900 KiB). عند تحديد ألوان الصورة إلى 256 ، تحتاج كل بكسل إلى 8 بتات فقط ، أو 1 بايت لكل منها ، لذا تحتاج الصورة المثالية الآن فقط 640 × 480 × 1 = 307،200 بايت (300 كيلوبايت) ، بالإضافة إلى 256 × 3 = 768 بايت إضافي لتخزين خريطة لوح الألوان في حد ذاتها (على افتراض RGB) ، ما يقرب من ثلث الحجم الأصلي. يمكن لوحات أصغر (ألوان 16 بت 4 ، 4-بت 4 ألوان) حزم بكسل أكثر (إلى السادس أو الثاني عشر) ، بوضوح بتكلفة دقة الألوان.

تم استخدام الألوان المفهرسة على نطاق واسع في أجهزة الكمبيوتر الشخصية المبكرة وعرض أجهزة المحولات لتقليل التكاليف (بشكل رئيسي عن طريق طلب عدد أقل من رقائق ذاكرة الوصول العشوائي غالية الثمن) ولكن أيضًا لإدارة الصور بطريقة مريحة باستخدام وحدات معالجة مركزية محدودة الطاقة (بترتيب من 4 إلى 8 ميغاهرتز ) ، تخزين الملفات (أشرطة الكاسيت والأقراص المرنة منخفضة الكثافة). تتضمن أنظمة رسومات الكمبيوتر البارزة (أو حتى بشكل حصري) استخدام لوحات pseudocolor في الثمانينيات: CGA و EGA و VGA (لأجهزة IBM PC) و Atari ST و OIGS و Amiga و AGA.

تم تغليف ملفات الصور التي تم تبادلها عبر شبكة Compuserve في أوائل التسعينيات بتنسيق GIF. في وقت لاحق ، استخدمت صفحات الويب بتنسيق HTML ملف GIF إلى جانب تنسيقات ملفات أخرى تدعم الألوان ، مثل PNG ، لتبادل الصور ذات الألوان المحدودة بسرعة وتخزينها في مساحة تخزين محدودة.

تدعم معظم تنسيقات ملفات الصور التي تدعم الصور الملونة المفهرسة بعض أنظمة الضغط ، مما يعزز قدرتها على تخزين الصور في ملفات أصغر.

يمكن تحقيق التأثيرات الملونة والفنية المثيرة للاهتمام بسهولة عن طريق تغيير لوحة الألوان للصور الملونة المفهرسة ، على سبيل المثال لإنتاج صور ذات لون بني داكن. نظرًا للطبيعة المنفصلة لعنصر اللوحة المصاحب للصور الملونة المفهرسة ، فهي مثالية لإعادة رسم الصور الرمادية إلى صور ملونة زائفة من خلال استخدام لوحات الألوان الزائفة.

يمكن تحقيق تراكب فيديو بسيط بسهولة من خلال تقنية الألوان الشفافة.

من خلال معالجة سجلات الأجهزة الملونة (جدول البحث الملون أو CLUT) لمحول العرض في أوضاع الرسومات الملونة المفهرسة ، يمكن تحقيق تأثيرات الرسوم المتحركة الملونة على الشاشة الكاملة بدون إعادة رسم الصورة – أي بتكلفة وقت وحدة المعالجة المركزية المنخفضة ؛ يؤثر تغيير واحد في قيم السجل على الشاشة بأكملها في وقت واحد. يتم استخدام الرسوم المتحركة الملونة الخريطة ، والمعروفة أيضًا باسم Color cycling ، على نطاق واسع في demoscene. تستخدم شاشة شعار Microsoft Windows التمهيدية في أنظمة التشغيل Windows 95 و 98 و ME و 2000 Professional (التي تستخدم وضع عرض الألوان VGA 320x200x256 لأنه أكبر مكون مشترك على جميع أجهزة الكمبيوتر) هذه التقنية لشريط التدرج التمرير عبر الجزء السفلي من الشاشة . الصورة هي صورة ثابتة مع عدم كتابة بكسلات بعد عرضه في البداية. يمكن لصور شاشة التمهيد المخصصة النقر على الألوان الدائرية لتحريك أجزاء أخرى من الصور.

سلبيات
تتمثل العيب الرئيسي لاستخدام الألوان المفهرسة في مجموعة محدودة من الألوان المتزامنة لكل صورة. لا تزال الألواح الصغيرة بحجم 4 أو 16 لونًا مقبولة لصور صغيرة (أيقونات) أو رسومات بسيطة جدًا ، ولكن لإعادة إنتاج صور واقعية تصبح غير صالحة تقريبًا. يمكن لبعض التقنيات ، مثل تقنين اللون ، ومكافحة التعرج والارتعاش معا إنشاء صور 256 لون مفهرسة مماثلة للمستوى الأصلي إلى مستوى مقبول.

تعتمد الصور الملونة المفهرسة بشكل كبير على لوحات الألوان الخاصة بها. وباستثناء عدد قليل من لوحات الألوان الثابتة المعروفة (مثل لوحة الألوان – CGA) ، لا يمكن تبادل بيانات الصور الخام و / أو جداول الخرائط الملونة بشكل موثوق بين ملفات الصور المختلفة دون أي نوع من التخطيط المتوسط. أيضًا ، إذا فقدت لوحة الألوان الأصلية لصورة مفهرسة معينة ، فقد يكون من المستحيل تقريبًا استعادتها. في ما يلي مثال لما يحدث عند ربط صورة ملونة مفهرسة (الببغاء السابق) بلوحة ألوان غير صحيحة:

تحتوي أوضاع الرسومات الملونة المفهرسة لمحولات أجهزة العرض على حد 16 أو 256 لونًا تفرضه الأجهزة. يمكن عرض الصور الملونة المفهرسة ذات اللوحات الغنية ولكن غير المتوافقة بدقة واحدة في كل مرة ، كما هو الحال في عرض الشرائح. عندما يكون من الضروري عرض صور متعددة معًا ، كما هو الحال في فسيفساء من الصور المصغرة ، غالبًا ما يتم استخدام لوحة شائعة أو لوحة رئيسية ، والتي تشمل أكبر عدد ممكن من الأشكال المختلفة في مجموعة واحدة ، وبالتالي الحد من توفر الألوان الدقيقة بشكل عام.

الصورة التالية عبارة عن فسيفساء من أربعة صور ملونة مفهرسة مختلفة تم تقديمها مع لوحة رئيسية مشتركة واحدة من مستويات 6-8-5 RGB بالإضافة إلى 16 طبقة إضافية. لاحظ النطاق المحدود للألوان المستخدمة لكل صورة ، وعدد مرات ترك مدخلات لوح الألوان غير مستخدمة.

لا تصل الفسيفساء ذات الألوان المفهرسة إلى حد 24 بت في لوحة ألوان RGB الكاملة. فعلى سبيل المثال ، توفر VGA لأجهزة IBM PC فقط لوحة ألوان RGB ذات 18 بت مع 262،144 لونًا مختلفًا محتملًا في أوضاع الرسومات الملونة 16 – و 256 – المفهرسة.
تسمح بعض برامج تحرير الصور بتطبيق تصحيح غاما على لوح الألوان لملفات صور الألوان المفهرسة. بشكل عام ، لتطبيق تصحيح غاما مباشرة على خريطة الألوان هو ممارسة سيئة ، بسبب فقدان قيم ألوان RGB الأصلية. من الأفضل تطبيق تصحيح غاما مع أجهزة العرض (تدعم معظم محولات أجهزة العرض الحديثة هذه الميزة) ، أو كخطوة وسيطة نشطة من برنامج العرض من خلال إدارة الألوان ، والتي تحافظ على قيم اللون الأصلية. فقط عندما تكون الصور الملونة المفهرسة مخصصة للأنظمة التي تفتقر إلى أي نوع من معايرة الألوان ، وليس المقصود منها أن تكون عبر منصة ، يمكن تطبيق تصحيح غاما على جدول الألوان نفسه.