خوارزميات تغيير حجم فن البكسل

صورة متحركة لجهاز تلفزيون (في المنتصف) تم تغيير حجمها باستخدام مقياس الجوار الأقرب البسيط (على اليسار) وخوارزمية الاستيفاء 2xSaI (على اليمين).
مقارنة بين خوارزميات تغيير حجم فن البكسل الشائعة. اعرض الصورة بدقة كاملة لرؤية الاختلافات.

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

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

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

بما أن أحد التطبيقات الشائعة لهذه التقنية هو تحسين مظهر ألعاب الفيديو من الجيل الرابع وما قبله على أجهزة الآركيد ومحاكيات أجهزة الألعاب المنزلية ، فقد صُممت العديد من خوارزميات تكبير/تصغير رسومات البكسل للعمل في الوقت الفعلي مع صور إدخال صغيرة الحجم بمعدل 60 إطارًا في الثانية . هذا يفرض قيودًا على أنواع تقنيات البرمجة التي يمكن استخدامها لهذا النوع من المعالجة في الوقت الفعلي. يعمل العديد منها فقط على عوامل تكبير/تصغير محددة. يُعد عامل التكبير/التصغير 2× الأكثر شيوعًا، بينما توجد عوامل 3× و4× و5× و6× ولكنها أقل استخدامًا.

الخوارزميات

SAA5050 "التنعيم القطري"

استخدمت شريحة مولد الأحرف التليتكستية Mullard SAA5050 (1980) خوارزمية بدائية لتغيير حجم البكسل لإنشاء أحرف عالية الدقة على الشاشة من تمثيل منخفض الدقة من ذاكرة القراءة فقط الداخلية (ROM) . داخليًا، تم تعريف شكل كل حرف على شبكة 5 × 9 بكسل، ثم تم استكمالها بتنعيم الأقطار للحصول على حرف 10 × 18 بكسل، ذي شكل زاوي مميز، محاط من الأعلى واليسار ببكسلين فارغين. تعمل الخوارزمية فقط على بيانات مصدر أحادية اللون، وتفترض أن بكسلات المصدر ستكون منطقيًا صحيحة أو خاطئة اعتمادًا على ما إذا كانت "مفعلة" أو "معطلة". يُفترض أن البكسلات "خارج نمط الشبكة" معطلة. [ 2 ] [ 3 ] [ 4 ]

تعمل الخوارزمية على النحو التالي:

ABC --\ 1 2 DEF --/ 3 4 1 = B | (A & E & !B & !D) 2 = ب | (ج و هـ و !ب و !و) 3 = E | (!A & !E & B & D) 4 = E | (!C & !E & B & F) 

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

الحالة المنحطة:

 * * * * 

يصبح:

 ** **** ****** ****** **** ** 

EPX/Scale2×/AdvMAME2×

خوارزمية توسيع البكسل من إريك (EPX) هي خوارزمية طوّرها إريك جونستون في شركة لوكاس آرتس حوالي عام 1992، عند نقل ألعاب محرك SCUMM من جهاز IBM PC (الذي كان يعمل بدقة 320 × 200 × 256 لونًا) إلى أجهزة ماكنتوش الملونة المبكرة، التي كانت تعمل بدقة تقارب ضعف تلك الدقة. [ 5 ] تعمل الخوارزمية على النحو التالي، حيث توسّع البكسل P إلى 4 بكسلات جديدة بناءً على محيطه:

تقوم خوارزمية EPX بتوسيع البكسل P إلى أربعة بكسلات جديدة.

1=P; 2=P; 3=P; 4=P; إذا كان C يساوي A، فإن 1 يساوي A إذا كان A يساوي B، فإن 2 يساوي B إذا كان D==C => 3=C إذا كان B يساوي D، فإن 4 يساوي D إذا كانت ثلاثة عناصر أو أكثر من العناصر A، B، C، D متطابقة: 1=2=3=4=P 

التطبيقات اللاحقة لنفس هذه الخوارزمية (مثل AdvMAME2× و Scale2×، التي تم تطويرها حوالي عام 2001) أكثر كفاءة قليلاً ولكنها متطابقة وظيفيًا:

1=P; 2=P; 3=P; 4=P; إذا كان C يساوي A و C لا يساوي D و A لا يساوي B، فإن 1 يساوي A إذا كان A=B و A!=C و B!=D => 2=B إذا كان D يساوي C و D لا يساوي B و C لا يساوي A، فإن 3 يساوي C إذا كان B يساوي D و B لا يساوي A و D لا يساوي C، فإن 4 يساوي D 

يتوفر برنامج AdvMAME2× في DOSBox عبر خيار scaler=advmame2xdosbox.conf .

خوارزمية AdvMAME4×/Scale4× هي ببساطة EPX مطبقة مرتين للحصول على دقة 4×.

Scale3×/AdvMAME3× و ScaleFX

يمكن استخدام EPX لتغيير حجم خطوط الصور النقطية. من الأعلى إلى الأسفل: أ) حجم الخط الأصلي؛ ب) تكبير باستخدام أقرب جار بمقدار ضعفين؛ ج) تكبير باستخدام EPX بمقدار ضعفين؛ د) تكبير باستخدام أقرب جار بمقدار ثلاثة أضعاف؛ هـ) تكبير باستخدام EPX بمقدار ثلاثة أضعاف.

يمكن اعتبار خوارزمية AdvMAME3×/Scale3× (المتوفرة في DOSBox عبر خيار scaler=advmame3xdosbox.conf ) تعميمًا لخوارزمية EPX لتشمل حالة التكبير 3×. ويتم حساب وحدات البكسل الركنية بنفس طريقة حسابها في EPX.

يقوم برنامج AdvMAME3x/Scale3x بتغيير حجم البكسل E إلى 9 بكسلات جديدة.

1=ه; 2=ه; 3=ه; 4=ه; 5=ه; 6=ه; 7=ه; 8=ه; 9=ه; إذا كان D==B و D!=H و B!=F => 1=D إذا كان (D==B وD!=H وB!=F وE!=C) أو (B==F وB!=D وF!=H وE!=A) => 2=B إذا كان B يساوي F و B لا يساوي D و F لا يساوي H، فإن 3 يساوي F إذا كان (H==D و H!=F و D!=B و E!=A) أو (D==B و D!=H و B!=F و E!=G) => 4=D 5=E إذا كان (ب = و، ب ≠ د، و و ≠ ح، هـ ≠ ط) أو (و = ح، و و ≠ ب، ح ≠ د، هـ ≠ ج) => و إذا كان H يساوي D و H لا يساوي F و D لا يساوي B، فإن 7 يساوي D إذا كان (F==H و F!=B و H!=D و E!=G) أو (H==D و H!=F و D!=B و E!=I) => 8=H إذا كان F يساوي H و F لا يساوي B و H لا يساوي D، فإن 9 يساوي F 

يوجد أيضًا إصدار مُحسّن من Scale3× يُسمى ScaleFX، طوّره Sp00kyFox، وإصدار مُدمج مع Reverse-AA يُسمى ScaleFX-Hybrid. [ 6 ] [ 7 ] [ 8 ]

نسر

يعمل برنامج Eagle على النحو التالي: لكل بكسل مُدخل، سنُنشئ 4 بكسلات مُخرجة. أولًا، نُعيّن جميع البكسلات الأربعة بلون البكسل الذي نُجري عليه عملية التكبير حاليًا (كأقرب جار). ثم ننظر إلى البكسلات الثلاثة الموجودة في الأعلى، وعلى اليسار، وقطريًا أعلى اليسار: إذا كانت جميعها بنفس اللون، نُعيّن البكسل العلوي الأيسر من مربع الإخراج بهذا اللون بدلًا من لون أقرب جار. نُكرر العملية نفسها مع جميع البكسلات الأربعة، ثم ننتقل إلى البكسل التالي. [ 9 ]

افترض مصفوفة إدخال مكونة من 3 × 3 بكسل حيث يكون البكسل المركزي هو البكسل المراد تغيير حجمه، ومصفوفة إخراج مكونة من 2 × 2 بكسل (أي البكسل الذي تم تغيير حجمه).

أولاً: |ثم ... --\ CC |STU --\ 1 2 . ج . --/ CC |VCW --/ 3 4 ... |XYZ | إذا كان V==S==T => 1=S | إذا كان T==U==W => 2=U | إذا كان V==X==Y => 3=X | إذا كان W==Z==Y => 4=Z 

لذا، إذا كان لدينا بكسل أسود واحد على خلفية بيضاء، فسيختفي. هذه ثغرة في خوارزمية إيجل، ولكن تم حلها بواسطة خوارزميات أخرى مثل EPX و2xSaI وHQ2x.

2×SaI

محرك 2×SaI ، اختصارًا لمحرك التكبير والتصغير 2×، مستوحى من محرك Eagle. صممه ديريك لياو كي فا، المعروف أيضًا باسم كريد، خصيصًا للاستخدام في محاكيات أجهزة الألعاب المنزلية والحواسيب ، ولا يزال يحظى بشعبية واسعة في هذا المجال. توفر العديد من أشهر المحاكيات، بما في ذلك ZSNES و VisualBoyAdvance ، خوارزمية التكبير هذه كميزة. تتوفر عدة إصدارات مختلفة قليلاً من خوارزمية التكبير، ويُشار إليها غالبًا باسم Super 2×SaI و Super Eagle .

مصفوفة البكسلات المحيطة التي يستخدمها برنامج Super2xSaI لتغيير حجم بكسل واحد

تعمل عائلة 2xSaI على مصفوفة 4 × 4 من البكسلات حيث يتم تغيير حجم البكسل المحدد بـ A أدناه:

IEFJ GABK --\ WX HCDL --/ YZ MNOP 

بالنسبة للبكسلات ذات 16 بت، تُستخدم أقنعة بكسل تتغير بناءً على ما إذا كان تنسيق البكسل 565 أو 555. الثوابت colorMaskهي أقنعة 16 بت. أما البتات الثمانية السفلى فهي متطابقة في كلا تنسيقي البكسل .lowPixelMaskqColorMaskqLowPixelMaskredBlueMaskgreenMask

تم وصف دالتين للاستيفاء:

INTERPOLATE(uint32 A, UINT32 B). -- نقطة المنتصف الخطية بين A و B إذا كان (أ == ب) فأرجع أ؛ يعود ( ((A & colorMask) >> 1) + ((B & colorMask) >> 1) + (A & B & lowPixelMask) ); Q_INTERPOLATE(uint32 A, uint32 B, uint32 C, uint32 D) الاستيفاء الثنائي الخطي؛ متوسط ​​A وB وC وD x = ((A & qColorMask) >> 2) + ((B & qColorMask) >> 2) + ((C & qColorMask) >> 2) + ((D & qColorMask) >> 2); y = (A & qLowPixelMask) + (B & qLowPixelMask) + (C & qLowPixelMask) + (D & qLowPixelMask)؛ y = (y >> 2) & qLowPixelMask; أعد x + y؛ 

تتحقق الخوارزمية من تطابق الأقطار بين A وB وC وD بحيث يكون A = B وB = C = D A==D، B!=Cأو العكس، أو ما إذا كانا قطريين، أو ما إذا لم يكن هناك تطابق قطري. ضمن هذه الأقطار، تتحقق الخوارزمية من وجود ثلاثة أو أربعة بكسلات متطابقة. بناءً على هذه الشروط، تقرر الخوارزمية ما إذا كانت ستستخدم أحد A أو B أو C أو D، أو استيفاءً بين هذه البكسلات الأربعة فقط، لكل بكسل مُخرَج. يمكن لمُكبِّر 2xSaI العشوائي تكبير أي صورة إلى أي دقة، ويستخدم الترشيح الثنائي الخطي لاستيفاء البكسلات.

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

وهو متوفر في برنامج DOSBox عبر scaler=2xsaiخيار معين.

عائلة hqnx

تُستخدم خوارزميات hq2x وhq3x وhq4x من تطوير ماكسيم ستيبين لمعاملات تكبير 2:1 و3:1 و4:1 على التوالي. تعمل كل خوارزمية بمقارنة قيمة لون كل بكسل بقيم ألوان جيرانه الثمانية المباشرين، وتصنيف الجيران إلى قريبين أو بعيدين، ثم استخدام جدول بحث مُعد مسبقًا لإيجاد النسبة الصحيحة لقيم بكسلات الإدخال لكل من بكسلات الإخراج الأربعة أو التسعة أو الستة عشر المقابلة. تُنعّم عائلة hq3x أي خط قطري ذي ميل ±0.5 أو ±1 أو ±2، والذي لم يُعالج بتقنية منع التعرج في الإدخال، تنعيمًا تامًا؛ أما الخط ذو الميل الآخر، فسيُظهر ميلين متناوبين في الإخراج. كما تُنعّم هذه الخوارزمية المنحنيات الضيقة جدًا. وعلى عكس خوارزمية 2xSaI، فإنها تُعالج تقنية منع التعرج في الإخراج. [ 11 ] [ 8 ]

تم إنشاء برنامج hq n x في البداية لمحاكي Super NES المسمى ZSNES . وقد أصدر مطور bsnes نسخةً مُحسّنة من hq2x متاحة للجميع. [ 12 ] كما تتوفر نسخة مُعدّلة من البرنامج إلى Shaders ، بجودة تُضاهي الإصدارات الأولى من xBR. [ 13 ] قبل هذه النسخة، كان برنامج Shader يُسمى "scalehq" يُخلط غالبًا مع hqx. [ 14 ]

عائلة xBR

يوجد 6 مرشحات في هذه العائلة: xBR و xBRZ و xBR-Hybrid و Super xBR و xBR+3D و Super xBR+3D .

يعمل xBR ("التحجيم حسب القواعد")، الذي ابتكره هيليان، بطريقة مشابهة لـ HQx (اعتمادًا على التعرف على الأنماط)، ويُنتج نفس نتيجة HQx عند تطبيق النمط المذكور أعلاه. [ 15 ] مع ذلك، يتفوق xBR على HQx باستخدام مجموعة من قواعد الاستيفاء ثنائية المراحل ، مما يُحسّن التعامل مع الأنماط الأكثر تعقيدًا، مثل الخطوط والمنحنيات المُضادة للتشويش . تحافظ نسيجات الخلفية المُكبّرة على الخصائص الحادة للصورة الأصلية، بدلًا من أن تصبح ضبابية كما هو الحال مع HQx (أو ScaleHQ في كثير من الأحيان). أحدث إصدارات xBR متعددة المراحل، ما يُتيح لها الحفاظ على التفاصيل الدقيقة بشكل أفضل. يوجد أيضًا إصدار من xBR مُدمج مع مُظلل Reverse-AA يُسمى xBR-Hybrid. [ 16 ] أما xBR+3D فهو إصدار مزود بقناع ثلاثي الأبعاد يُرشّح العناصر ثنائية الأبعاد فقط.

xBRZ من Zenju هو نسخة مُعدّلة من xBR. تمّ تطويره من الصفر كمرشح قائم على وحدة المعالجة المركزية باستخدام لغة C++ . [ 17 ] يعتمد على نفس الفكرة الأساسية لـ xBR في التعرّف على الأنماط والاستيفاء، ولكن مع مجموعة قواعد مختلفة مصممة للحفاظ على أدق تفاصيل الصورة حتى لو كانت صغيرة جدًا (بضعة بكسلات). هذا يجعله مفيدًا لتغيير حجم تفاصيل الوجوه، وخاصة العيون. تم تحسين xBRZ للعمل على وحدات المعالجة المركزية متعددة النوى وبنى 64 بت ، ويُظهر أداءً أفضل بنسبة 40-60% من HQx حتى عند تشغيله على نواة معالجة مركزية واحدة فقط. يدعم تغيير حجم الصور باستخدام قناة ألفا ، وتغيير الحجم بمعاملات صحيحة من 2× إلى 6×.

Super xBR [ 18 ] [ 19 ] هي خوارزمية طوّرها هيليان عام 2015. تستخدم هذه الخوارزمية توليفات من المرشحات الخطية المعروفة مع قواعد كشف حواف xBR بطريقة غير خطية. تعمل الخوارزمية على مرحلتين، ولا يمكنها تكبير الصورة إلا بمقدار الضعف (أو مضاعفات الضعف بإعادة تطبيقها)، كما أنها مزودة بمرشح مضاد للتشويش. Super xBR+3D هي نسخة مزودة بقناع ثلاثي الأبعاد، تقوم بتصفية العناصر ثنائية الأبعاد فقط. يوجد أيضًا إصدار من Super xBR مُعاد كتابته بلغة C/C++. [ 20 ] [ 8 ]

روت سبرايت

اليسار: صورة فن البكسل الأصلية. الوسط: الصورة بعد تدويرها باستخدام خوارزمية تدوير أقرب جار. اليمين: الصورة بعد تدويرها باستخدام خوارزمية RotSprite.

RotSprite هي خوارزمية لتغيير حجم وتدوير الصور النقطية، طورتها شركة Xenowhirl. وهي تُنتج تشوهات أقل بكثير من خوارزميات التدوير الأقرب، ومثل EPX، لا تُدخل ألوانًا جديدة في الصورة (على عكس معظم أنظمة الاستيفاء). [ 21 ]

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

روت سبرايت السريع

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

كوف-ليشينسكي

تُعدّ خوارزمية Kopf–Lischinski طريقةً مبتكرةً لاستخراج رسومات متجهة مستقلة عن الدقة من فن البكسل، وقد وُصفت في ورقة بحثية نُشرت عام 2011 بعنوان "إزالة البكسلة من فن البكسل". [ 23 ] ويتوفر تطبيقٌ لها بلغة بايثون. [ 24 ]

تم نقل الخوارزمية إلى وحدات معالجة الرسومات (GPUs) وتحسينها للعرض في الوقت الفعلي. يتوفر الكود المصدري لهذا الإصدار. [ 25 ]

الاستيفاء الموجه بالحواف (EDI)

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

نيدي

تقوم خوارزمية NEDI (الاستيفاء الموجه بالحواف الجديدة) بحساب التغايرات المحلية في الصورة الأصلية وتستخدمها لتكييف الاستيفاء عند الدقة العالية. وهي المرشح النموذجي لهذه العائلة. [ 28 ]

EDIUpsizer

يُعدّ EDIUpsizer [ 29 ] مرشحًا لإعادة التشكيل يُغيّر حجم الصورة بمقدار الضعف أفقيًا وعموديًا باستخدام NEDI (تقنية الاستيفاء الموجه بالحواف الجديدة). [ 28 ] كما يُجري EDIUpsizer بعض التعديلات على NEDI الأساسية للحدّ من التشوهات التي يُنتجها NEDI في المناطق التفصيلية. تشمل هذه التعديلات اختبار رقم الحالة وحجم النافذة التكيفي، [ 30 ] بالإضافة إلى قيود التحديد. جميع التعديلات والقيود على NEDI اختيارية (يمكن تفعيلها أو تعطيلها) وقابلة للتخصيص من قِبل المستخدم. هذا المرشح بطيء نسبيًا.

FastEDIUpsizer

FastEDIUpsizer هو نسخة مُصغّرة من EDIUpsizer مُحسّنة قليلاً من حيث السرعة. يستخدم حجم نافذة ثابت 8 × 8 ، ويُجري NEDI فقط على مستوى الإضاءة ، ويستخدم إما الاستيفاء ثنائي التكعيب أو ثنائي الخطية كطريقة استيفاء احتياطية.

eedi3

مرشح استيفاء آخر موجه نحو الحواف. يعمل عن طريق تقليل دالة التكلفة التي تشمل كل بكسل في خط المسح. إنه بطيء.

EEDI2

تقوم خوارزمية EEDI2 بتغيير حجم الصورة بمقدار الضعف في الاتجاه الرأسي عن طريق نسخ الصورة الأصلية إلى 2⋅y(n) واستكمال الحقل المفقود. وهي مصممة خصيصًا لاستكمال الحواف لإزالة التشابك (أي أنها غير مصممة لتغيير حجم الصور العادية، ولكنها قادرة على القيام بذلك أيضًا). يمكن استخدام EEDI2 مع كل من TDeint وTIVTC، راجع رابط المناقشة لمزيد من المعلومات حول كيفية القيام بذلك. [ 31 ]

SuperRes

تستخدم مُظلِّلات SuperRes [ 32 ] طريقة تحجيم مختلفة يُمكن استخدامها مع NEDI (أو أي خوارزمية تحجيم أخرى). وقد شرح مُبتكرها، شياندوف، هذه الطريقة بالتفصيل في منشور على منتدى Doom9 عام 2014. [ 33 ] غالبًا ما تُعطي هذه الطريقة نتائج أفضل من استخدام NEDI فقط، وتُضاهي نتائج NNEDI3. وهي مُتاحة الآن أيضًا كبرنامج نصي للرندر MPDN.

نيدي

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

يعمل برنامج NNEDI، الإصدار الأصلي، مع مدخلات YUY2 و YV12 . [ 34 ] أضاف NNEDI2 دعم RGB24 ووظيفة خاصة nnedi2_rpow2لتكبير الصورة. أما NNEDI3، فيُوسّع NNEDI2 بشبكة عصبية تنبؤية . ويمكن ضبط كل من حجم الشبكة والمنطقة التي تفحصها لتحقيق توازن بين السرعة والجودة: [ 35 ]

This is a quality vs speed option; however, differences are usually small between the number of neurons for a specific resize factor, however the performance difference between the count of neurons becomes larger as you quadruple the image size. If you are only planning on doubling the resolution then you won't see massive differences between 16 and 256 neurons. There is still a noticeable difference between the highest and lowest options, but not orders of magnitude different.[36]

References

  1. "Pixel Scalers". Archived from the original on 2 March 2016. Retrieved 19 February 2016.
  2. "Mullard SAA5050 Datasheet"(PDF). Archived from the original(PDF) on 2017-06-19. Retrieved 2018-11-12.
  3. "SAA5050 Smoothing source code from the MAME project". GitHub. 6 November 2022. Archived from the original on 13 August 2023. Retrieved 12 November 2018.
  4. "Forum post showing Teletext reference test page on SAA5050 chip". Archived from the original on 2018-11-13. Retrieved 2018-11-12.
  5. Thomas, Kas (1999). "Fast Blit Strategies: A Mac Programmer's Guide". MacTech. Archived from the original on 2012-06-24. Retrieved 2009-06-01.
  6. libretro. "common-shaders/scalenx at master · libretro/common-shaders · GitHub". GitHub. Archived from the original on 22 December 2020. Retrieved 19 February 2016.
  7. "ScaleNx - Artifact Removal and Algorithm Improvement [Archive]". Archived from the original on 2016-05-27. Retrieved 2016-05-27.
  8. 123"PixelArt Scalers". GitHub. 30 September 2022. Archived from the original on 12 October 2022. Retrieved 12 October 2022.
  9. "Eagle (idea)". Everything2. 2007-01-18. Archived from the original on 2012-11-09. Retrieved 2008-08-09.
  10. "الصفحة الرئيسية لـ Kreed: 2xSaI" . مؤرشف من الأصل بتاريخ 25 فبراير 2021. تم الاطلاع عليه بتاريخ 25 أبريل 2020 .
  11. ستيبين، ماكسيم. "مرشح تكبير hq3x" . مؤرشف من الأصل بتاريخ 2007-07-03 . تم الاسترجاع بتاريخ 2007-07-03 .
  12. بيوس. إعلان الإصدار مؤرشف بتاريخ 30-09-2011 في Wayback Machine، تم الوصول إليه بتاريخ 14-08-2011.
  13. libretro. "common-shaders/hqx at master · libretro/common-shaders · GitHub" . GitHub . مؤرشف من الأصل في 6 أبريل 2019. تم الاطلاع عليه في 19 فبراير 2016 .
  14. هانتر ك. (20 يونيو 2014). "Filthy Pants: مدونة حاسوب" . مؤرشف من الأصل في 4 مارس 2016. تم الاطلاع عليه في 19 فبراير 2016 .
  15. "شرح خوارزمية xBR" . ١٨ سبتمبر ٢٠١٢. مؤرشف من الأصل في ١٩ أغسطس ٢٠١٨. تم الاطلاع عليه في ١٩ فبراير ٢٠١٦ .
  16. libretro. "common-shaders/xbr at master · libretro/common-shaders · GitHub" . GitHub . مؤرشف من الأصل في 15 يناير 2017. تم الاطلاع عليه في 19 فبراير 2016 .
  17. zenju. "xBRZ" . SourceForge . مؤرشف من الأصل في 3 فبراير 2016. تم الاسترجاع في 19 فبراير 2016 .
  18. "Super-xBR.pdf" . مستندات جوجل . مؤرشف من الأصل بتاريخ 12 مارس 2016. تم الاطلاع عليه بتاريخ 19 فبراير 2016 .
  19. libretro. "common-shaders/xbr/shaders/super-xbr at master · libretro/common-shaders · GitHub" . GitHub . مؤرشف من الأصل في 8 يونيو 2016. تم الاطلاع عليه في 19 فبراير 2016 .
  20. "تم نقل Super-XBR إلى لغة C/C++ (إصدار التظليل السريع فقط)" . 6 مارس 2016. مؤرشف من الأصل في 30 يونيو 2016. تم الاطلاع عليه في 3 يوليو 2016 .
  21. "روت سبرايت" . سونيك ريترو . مؤرشف من الأصل في 19 فبراير 2016. تم الاسترجاع في 19 فبراير 2016 .
  22. "أداة تدوير الصور المتحركة" . منتدى سونيك وسيجا ريترو . مؤرشف من الأصل في 3 مارس 2016. تم الاطلاع عليه في 19 فبراير 2016 .
  23. يوهانس كوبف وداني ليشنسكي (2011). "إزالة البكسلة من فن البكسل" . معاملات ACM في الرسومات . 30 (4). SIGGRAPH : 99:1–99:8. doi : 10.1145/2010324.1964994 . مؤرشف من الأصل في 13 مايو 2016. تم الاسترجاع في 22 مايو 2016 .
  24. فيمولا، أنيرود؛ ييدو، فامسيدهار (29 أبريل 2019). "فن البكسل: نُطبّق ورقة "إزالة البكسل من فن البكسل" الشهيرة لكوب وليشينسكي" . جيت هاب . مؤرشف من الأصل في 11 يونيو 2018. تم الاطلاع عليه في 7 مايو 2019 .
  25. كروزر، فيليكس؛ كوبف، يوهانس؛ ويمر، مايكل (2015). "إزالة البكسلة من فن البكسل في الوقت الحقيقي" . وقائع الندوة التاسعة عشرة حول الرسومات ثلاثية الأبعاد التفاعلية والألعاب . ACM. ص 130. doi : 10.1145/2699276.2721395 . ISBN  9781450333924S2CID 7592555. مؤرشف من الأصل بتاريخ 2019-05-07 . تم الاطلاع عليه بتاريخ 2019-05-07 . 
  26. "الاستيفاء الموجه بالحواف" . chiranjivi.tripod.com . مؤرشف من الأصل بتاريخ 25-02-2016 . تم الاطلاع عليه بتاريخ 07-05-2019 .
  27. "تطبيق خوارزمية NEDI باستخدام برنامج Shader - منتدى Doom9" . forum.doom9.org . مؤرشف من الأصل بتاريخ 13 مايو 2022. تم الاطلاع عليه بتاريخ 7 مايو 2019 .
  28. 1 2 لي، شين (26-11-2010). "استيفاء جديد موجه للحواف" (ملف PDF) . مؤرشف من الأصل (ملف PDF) بتاريخ 26-11-2010 . تم الاطلاع عليه بتاريخ 7-5-2019 .
  29. مرشحات Avisynth من tritical
  30. "نسخة مؤرشفة" (PDF) . www.cs.ucdavis.edu . مؤرشفة من النسخة الأصلية (PDF) بتاريخ 21 ديسمبر 2004. تم الاطلاع عليها بتاريخ 12 يناير 2022 .{{cite web}}: CS1 maint: archived copy as title ( link )
  31. "TDeint وTIVTC - الصفحة 21 - منتدى Doom9" . مؤرشف من الأصل بتاريخ 2 مارس 2016. تم الاطلاع عليه بتاريخ 19 فبراير 2016 .
  32. "nnedi3 vs NeuronDoubler - منتدى Doom9" . مؤرشف من الأصل في 2 مارس 2016. تم الاطلاع عليه في 19 فبراير 2016 .
  33. "تطبيق خوارزمية NEDI باستخدام برنامج التظليل - الصفحة 6 - منتدى Doom9" . مؤرشف من الأصل بتاريخ 2 مارس 2016. تم الاطلاع عليه بتاريخ 19 فبراير 2016 .
  34. "NNEDI - مرشح إزالة التشابك داخل الحقل - منتدى Doom9" . مؤرشف من الأصل في 2 مارس 2016. تم الاطلاع عليه في 19 فبراير 2016 .
  35. "Nnedi3" . AviSynth . مؤرشف من الأصل بتاريخ 2019-05-07 . تم الاسترجاع بتاريخ 2019-05-07 .
  36. تريتيكال (30-04-2019)، nnedi3 - Readme.txt ، مؤرشف من الأصل في 17-04-2019 ، تم استرجاعه في 07-05-2019

انظر أيضاً