لوحة (الحوسبة)

صورة نموذجية
لوحة الألوان المستخدمة في الصورة، معروضة وهي تدور حول فضاء ألوان RGB

في مجال رسومات الحاسوب ، تُعرف لوحة الألوان بأنها مجموعة الألوان المتاحة التي يمكن من خلالها إنشاء صورة. في بعض الأنظمة، تكون لوحة الألوان ثابتةً وفقًا لتصميم الجهاز، بينما في أنظمة أخرى تكون ديناميكية، ويتم تنفيذها عادةً عبر جدول بحث الألوان (CLUT)، وهو جدول يُخصص فيه فهرسٌ للألوان المختارة من نطاق إعادة إنتاج الألوان في فضاء لوني معين ، مما يُتيح الرجوع إليها. من خلال الرجوع إلى الألوان عبر فهرس، وهو ما يتطلب معلومات أقل من اللازم لوصف الألوان الفعلية في الفضاء اللوني، تهدف هذه التقنية إلى تقليل استهلاك البيانات، بما في ذلك المعالجة، وعرض النطاق الترددي للنقل، واستخدام ذاكرة الوصول العشوائي (RAM)، والتخزين. تُسمى الصور التي تُشير فيها فهارس الألوان إلى جدول بحث الألوان (CLUT) بالصور الملونة المفهرسة .

وصف

اعتبارًا من عام 2019، يُعدّ نموذج ألوان RGB، بعمق لوني 8 بت لكل بكسل ، هو الأكثر شيوعًا في بطاقات الرسومات . باستخدام هذه التقنية، تُستخدم 8 بت لكل بكسل لوصف مستوى الإضاءة في كل قناة من قنوات RGB ، وبالتالي، فإن 24 بت تكفي لوصف لون كل بكسل بدقة. وعليه، تحتوي لوحة ألوان النظام الكاملة لهذه الأجهزة على 2^ 24 لونًا. يهدف استخدام لوحات ألوان أصغر عبر جداول البحث اللوني (CLUTs) إلى تقليل عدد البتات لكل بكسل عن طريق تقليص مجموعة الألوان الممكنة التي يتم التعامل معها في وقت واحد (غالبًا باستخدام أساليب تكيفية). يُخصص لكل لون ممكن فهرس، مما يسمح بالرجوع إلى كل لون باستخدام معلومات أقل من تلك اللازمة لوصفه بدقة. مثال على ذلك لوحة الألوان المكونة من 256 لونًا الشائعة الاستخدام في تنسيق ملفات GIF ، حيث يتم اختيار 256 لونًا لتمثيل صورة من مساحة الألوان الكاملة ذات 24 بت، ويُخصص لكل لون فهرس 8 بت. وبهذه الطريقة، في حين أن النظام قادر على إعادة إنتاج أي لون في مساحة ألوان RGB (طالما يسمح قيد 256 لونًا بذلك)، يتم تخفيض متطلبات التخزين لكل بكسل من 24 إلى 8 بت لكل بكسل.

لوحة الألوان الرئيسية

لوحة ألوان تكيفية تتوسع من لونين إلى 256 لونًا، توضح كيفية تغير الصورة (انقر لمشاهدة الرسوم المتحركة)

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

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

يمكن ملء لوحة الألوان الرئيسية المصممة بهذه الطريقة بما يصل إلى 256 لونًا (8 أحمر × 8 أخضر × 4 أزرق) ، ولكن هذا لا يترك مساحة في اللوحة للألوان المحجوزة، وهي مؤشرات الألوان التي قد يستخدمها البرنامج لأغراض خاصة. من الأفضل عمومًا استخدام 216 لونًا (6 أحمر × 6 أخضر × 6 أزرق) (كما في حالة ألوان الويب )، أو 240 لونًا (6 أحمر × 8 أخضر × 5 أزرق )، أو 252 لونًا (6 أحمر × 7 أخضر × 6 أزرق) ، مما يترك مساحة لبعض الألوان المحجوزة.

بعد ذلك، عند تحميل فسيفساء الصور المصغرة (أو صور أخرى غير متجانسة)، يقوم البرنامج ببساطة بربط كل بكسل لوني أصلي مُفهرس بأقرب قيمة له في لوحة الألوان الرئيسية (بعد تخزين هذه القيمة في سجلات ألوان الجهاز)، ثم يكتب النتيجة في مخزن الفيديو المؤقت. إليك مثال على فسيفساء بسيطة لأربع صور مصغرة باستخدام لوحة ألوان رئيسية مكونة من 240 لونًا مُرتبة بنظام RGB بالإضافة إلى 16 درجة رمادية وسيطة؛ تم تجميع جميع الصور معًا دون فقدان ملحوظ في دقة الألوان.

لوحة ألوان متكيفة

عند استخدام تقنيات الألوان المفهرسة ، تُعرض الصور الواقعية بدقة أكبر من الصورة الأصلية ذات الألوان الحقيقية باستخدام لوحات ألوان تكيفية ، حيث تُختار الألوان أو تُكمّم من خلال خوارزمية معينة مباشرةً من الصورة الأصلية (عن طريق اختيار الألوان الأكثر تكرارًا). وبهذه الطريقة، ومع مزيد من التمويه ، يمكن للصورة ذات الألوان المفهرسة أن تُطابق الصورة الأصلية تقريبًا.

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

الشفافية في لوحات الألوان

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

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

تُستخدم هذه التقنية للمؤشرات، في ألعاب الفيديو ثنائية الأبعاد النموذجية للشخصيات والرصاص وما إلى ذلك (الرسوم المتحركة )، وعناوين الفيديو وتطبيقات مزج الصور الأخرى.

تدعم بعض الحواسيب القديمة، مثل كومودور 64 وإم إس إكس وأميغا ، عرض الصور النقطية و/أو عرض الفيديو على كامل الشاشة عبر مكوناتها المادية. في هذه الحالات، يُحدد رقم إدخال لوحة الألوان الشفافة بواسطة المكونات المادية، وكان في السابق الرقم 0.

تدعم بعض تنسيقات ملفات الصور الملونة المفهرسة ، مثل GIF، تحديد عنصر معين في لوحة الألوان على أنه شفاف ، ويمكن اختياره بحرية من بين أي من عناصر لوحة الألوان المستخدمة في صورة معينة. يحجز تنسيق ملف BMP مساحة لقيم قناة ألفا في جدول الألوان الخاص به، [ 2 ] إلا أن هذه المساحة لا تُستخدم حاليًا لتخزين أي بيانات عن الشفافية، وقيمتها صفر. في المقابل، يدعم تنسيق PNG قنوات ألفا في عناصر لوحة الألوان، مما يتيح إمكانية تحقيق شبه شفافية في الصور ذات لوحة الألوان.

عند التعامل مع الصور ذات الألوان الحقيقية ، تستخدم بعض أجهزة مزج الفيديو ثلاثية RGB (0,0,0) (بدون أحمر، بدون أخضر، بدون أزرق: أغمق درجات الأسود، ويُشار إليها أحيانًا بالأسود الفائق في هذا السياق) كلون شفاف. أثناء التصميم، يُستبدل هذا اللون بما يُسمى " الوردي السحري" . وبالمثل، يمكن لبرامج النشر المكتبي الشائعة افتراض اللون الأبيض النقي، ثلاثية RGB (255,255,255)، لاستبعاد الصور والرسومات التوضيحية، مما يسمح لفقرات النص بالتداخل مع حدود الصورة ، وبالتالي ترتيب النص بشكل غير منتظم حول عناصر الصورة.

يمكن لبرامج الرسم ثنائية الأبعاد ، مثل Microsoft Paint و Deluxe Paint ، استخدام لون الخلفية الذي يحدده المستخدم كلون شفاف عند إجراء عمليات القص والنسخ واللصق .

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

لوحات البرامج

مايكروسوفت ويندوز

تُدير تطبيقات مايكروسوفت ويندوز لوحة ألوان أجهزة العرض ذات الألوان المفهرسة 4 بت أو 8 بت من خلال وظائف متخصصة في واجهة برمجة تطبيقات Win32 . ويُصبح تطبيق لوحات الألوان في وضعَي العرض عاليَي الألوان وحقيقي الألوان موضع تساؤل. وتتعامل واجهات برمجة التطبيقات هذه مع ما يُسمى "لوحة ألوان النظام" ومع العديد من "لوحات الألوان المنطقية".

لوحة ألوان النظام هي نسخة في ذاكرة الوصول العشوائي (RAM ) من سجلات الأجهزة الخاصة بشاشة العرض الملونة، وهي في الأساس لوحة ألوان مادية، وتُعدّ موردًا مشتركًا فريدًا للنظام. عند بدء التشغيل، يتم تحميلها بلوحة ألوان النظام الافتراضية (وهي في الأساس "لوحة ألوان رئيسية" تعمل بشكل جيد مع معظم البرامج).

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

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

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

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

انظر أيضاً

ملحوظات

مراجع