اختبارات ITS للكاميرا

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

تختبر بوابة ITS للكاميرا خصائص الكاميرا المطلوبة ومستوى واجهة برمجة التطبيقات ومستوى فئة أداء الوسائط (MPC). بالنسبة إلى مستوى واجهة برمجة التطبيقات، يستخدم نظام اختبار التوافق (ITS) ro.product.first_api_level لحصر الاختبارات التي تمت إضافتها في مستوى واجهة برمجة تطبيقات معيّن والتي تختبر تجارب المستخدم السلبية للوظائف في مستويات واجهة برمجة التطبيقات الأقل. تستخدم ITS ro.vendor.api_level لتحديد إمكانية إجراء اختبارات الميزات التي تمت إضافتها في مستوى معيّن من واجهة برمجة التطبيقات ويتطلّب إمكانات أجهزة جديدة. في حال تحديد ro.odm.build.media_performance_class لجهاز، تتطلّب مجموعة اختبارات التوافق مع نظام التشغيل Android (ITS) إجراء اختبارات محدّدة حسب مستوى MPC.

يتم تجميع الاختبارات حسب المشهد على النحو التالي:

  • scene0: التقاط البيانات الوصفية والتشويش والجيروسكوب والاهتزاز
  • scene1: درجة الإضاءة والحساسية وتعويض قيمة درجة الإضاءة (EV) ومقارنة بين YUV وJPEG وRAW
  • scene2: التعرّف على الوجوه، الاختبارات التي تتطلّب مشاهد ملونة
  • scene3: تحسين الحواف، حركة العدسة
  • scene4: نسبة العرض إلى الارتفاع والقص ومجال الرؤية
  • scene5: تظليل العدسة
  • scene6: تكبير/تصغير
  • scene7: مفتاح تبديل الكاميرات المتعددة
  • scene8: قياس التعرض التلقائي للضوء (AE) وتوازن اللون الأبيض التلقائي (AWB) في المنطقة
  • scene9: ضغط JPEG
  • scene_extensions: إضافات الكاميرا
  • scene_tele: تبديل العدسة المقرِّبة (تيليفوتو)
  • scene_flash: الفلاش التلقائي، الحدّ الأدنى لعدد اللقطات في الثانية
  • scene_video: انخفاض عدد اللقطات في الثانية
  • sensor_fusion: إزاحة التوقيت بين الكاميرا والجيروسكوب
  • feature_combination: مجموعات الميزات
  • scene_ip: تطابق الصور بين تطبيق الكاميرا التلقائي و"تطبيق Jetpack Camera" (JCA)

اطّلِع على الأقسام الفردية للحصول على وصف لكل مشهد.

scene0

لا تتطلّب الاختبارات معلومات مشهد معيّن. ومع ذلك، يجب أن يكون الهاتف ثابتًا لإجراء اختبارات الجيروسكوب والاهتزاز.

test_jitter

تقيس هذه السمة التشويش في الطوابع الزمنية للكاميرا.

واجهات برمجة التطبيقات التي تم اختبارها:

ناجح: يجب أن يكون هناك فرق زمني لا يقل عن 30 مللي ثانية بين اللقطات.

في الشكل التالي، لاحظ النطاق الصغير للمحور الصادي. يكون التشويش صغيرًا في هذا الرسم البياني.

test_jitter plot

الشكل 1. رسم بياني بالنقاط المبعثرة لاختبار الارتعاش.

test_metadata

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

واجهات برمجة التطبيقات التي تم اختبارها:

ناجح: يتوفّر كل من مستوى الجهاز وrollingShutterSkew وframeDuration وtimestampSource وcroppingType وblackLevelPattern وpixel_pitch ومجال الرؤية والمسافة البؤرية الفائقة، كما أنّ قيمها صالحة.

test_request_capture_match

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

واجهات برمجة التطبيقات التي تم اختبارها:

ناجح: تتطابق قيم البيانات الوصفية للطلب والالتقاط في جميع اللقطات.

test_sensor_events

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

واجهات برمجة التطبيقات التي تم اختبارها:

ناجح: تم تلقّي أحداث لكل جهاز استشعار.

test_solid_color_test_pattern

اختبارات يتم فيها إنشاء أنماط اختبار الألوان الثابتة بشكل صحيح لكتم صوت الكاميرا إذا كان إيقاف صوت الكاميرا متاحًا، يجب أن تكون أنماط اختبار الألوان الثابتة متاحة. إذا لم يكن كتم صوت الكاميرا متاحًا، يتم اختبار أنماط الاختبار ذات الألوان الثابتة فقط إذا تم الإعلان عن توفّر هذه الميزة.

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

واجهات برمجة التطبيقات التي تم اختبارها:

اجتياز: تكون أنماط الاختبار الثابتة المتوافقة باللون الصحيح مع تباين منخفض في الصورة.

test_test_pattern

يختبر المَعلمة android.sensor.testPatternMode لالتقاط لقطات شاشة لكل نمط اختبار صالح، ويتأكّد من إنشاء اللقطات بشكل صحيح للألوان الثابتة وأشرطة الألوان. يتضمّن هذا الاختبار الخطوات التالية:

  1. التقاط صور لجميع أنماط الاختبار المتوافقة
  2. تُجري هذه السمة عملية تحقّق من صحة نمط اختبار اللون الثابت وأشرطة الألوان.

واجهات برمجة التطبيقات التي تم اختبارها:

اجتياز: يتم إنشاء أنماط الاختبار المتوافقة بشكلٍ صحيح.

test_test_patterns example

الشكل 2: مثال على test_test_patterns

test_tonemap_curve

تختبر هذه الحالة تحويل نمط الاختبار من تنسيق RAW إلى YUV باستخدام عملية تعيين درجات الألوان الخطية. يتطلّب هذا الاختبار android.sensor.testPatternMode = 2 (COLOR_BARS) لإنشاء نمط صورة مثالي لتحويل مخطط الألوان. تتحقّق هذه السمة من أنّ مسار العرض يتضمّن نواتج ألوان مناسبة مع ربط النغمات الخطّي وإدخال صورة مثالية (تعتمد على test_test_patterns).

واجهات برمجة التطبيقات التي تم اختبارها:

ناجح: تبدو بيانات YUV وRAW متشابهة.

test_tonemap_curve raw example

الشكل 3: مثال أولي على test_tonemap_curve.

مثال على test_tonemap_curve YUV

الشكل 4. مثال على test_tonemap_curve YUV.

test_unified_timestamp

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

واجهات برمجة التطبيقات التي تم اختبارها:

اجتياز: تكون الطوابع الزمنية للحركة بين الطوابع الزمنية للصورتَين.

test_vibration_restriction

تختبر هذه السمة ما إذا كان اهتزاز الجهاز يعمل على النحو المتوقّع.

واجهات برمجة التطبيقات التي تم اختبارها:

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

scene1_1

scene1 هو مخطط رمادي. يجب أن يغطي الرسم البياني الرمادي% 30 من وسط مجال رؤية الكاميرا. من المتوقّع أن يواجه الرسم البياني الرمادي تحديًا معتدلاً في 3A (التعرّض التلقائي، وتوازن اللون الأبيض التلقائي، والتركيز التلقائي) لأنّ المنطقة الوسطى لا تتضمّن أي ميزات. ومع ذلك، يحدّد طلب الالتقاط المشهد بأكمله الذي يتضمّن ميزات كافية لتقارب 3A.

يمكن اختبار كاميرات RFoV في منصة اختبار WFoV أو RFoV. إذا تم اختبار كاميرا RFoV في جهاز اختبار WFoV، يتم تغيير حجم الرسم البياني بمقدار 2/3 لتحديد بعض الحدود للرسم البياني الرمادي في مجال الرؤية للمساعدة في تقارب 3A. للحصول على أوصاف أكثر تفصيلاً لمعدّات اختبار الكاميرا، يُرجى الاطّلاع على Camera ITS-in-a-box.

scene1 example

الشكل 5. الرسم البياني بالحجم الكامل للمشهد 1 (على اليمين)، والرسم البياني بمقياس 2/3 (على اليسار)

test_ae_precapture_trigger

تختبر هذه السمة آلة الحالة AE عند استخدام مشغّل الالتقاط المُسبَق. تسجيل خمسة طلبات يدوية مع إيقاف ميزة "الضبط التلقائي" يحتوي الطلب الأخير على مشغّل مسبق لالتقاط بيانات AE، ويجب تجاهله لأنّ ميزة AE غير مفعّلة.

واجهات برمجة التطبيقات التي تم اختبارها:

اجتياز: تتلاقى مقاييس "دقة التوقّع".

test_auto_vs_manual

تبدو الاختبارات التي تم التقاطها تلقائيًا ويدويًا متشابهة.

واجهات برمجة التطبيقات التي تم اختبارها:

اجتياز: تتطابق التحسينات والتحويلات اليدوية لضبط توازن اللون الأبيض التي يتم تسجيلها في كل نتيجة التقاط مع توازن اللون الأبيض التلقائي estimate من خوارزمية 3A للكاميرا.

test_auto_vs_manual auto example

الشكل 6: مثال على اختبار تلقائي مقابل اختبار يدوي.

test_auto_vs_manual white balance example

الشكل 7: مثال على موازنة اللون الأبيض في اختبار_تلقائي_مقابل_يدوي

test_auto_vs_manual مثال على تحويل موازنة اللون الأبيض يدويًا

الشكل 8: مثال على تحويل موازنة اللون الأبيض اليدوية في test_auto_vs_manual

test_black_white

اختبارات ينتج عنها صور بالأبيض والأسود فقط يتم التقاط صورتَين، الأولى بمستوى كسب منخفض للغاية ومدة تعرّض قصيرة، ما يؤدي إلى ظهور صورة سوداء، والثانية بمستوى كسب مرتفع للغاية ومدة تعرّض طويلة، ما يؤدي إلى ظهور صورة بيضاء.

واجهات برمجة التطبيقات التي تم اختبارها:

اجتياز: لإنشاء صور باللونين الأبيض والأسود. تحتوي القنوات المشبّعة للصور البيضاء على قيم RGB تبلغ [255, 255, 255] مع هامش خطأ أقل من %1.

test_black_white, black example

الشكل 9: test_black_white، مثال على اللون الأسود

test_auto_vs_manual مثال على تحويل موازنة اللون الأبيض يدويًا

الشكل 10: test_black_white، مثال على اللون الأبيض

test_black_white plot means example

الشكل 11: test_black_white، مثال على رسم بياني للمتوسطات.

test_burst_capture

تتحقّق هذه السمة من أنّ مسار التقاط الصور بالكامل يمكنه مواكبة سرعة التقاط الصور بالحجم الكامل ووقت وحدة المعالجة المركزية.

واجهات برمجة التطبيقات التي تم اختبارها:

اجتياز: يتم التقاط سلسلة من الصور بالحجم الكامل، والتحقّق من عدم حدوث انخفاض في عدد اللقطات في الثانية ومن سطوع الصورة.

test_burst_sameness_manual

التقاط 5 لقطات متتالية من 50 صورة باستخدام إعدادات الالتقاط اليدوي والتأكّد من أنّها متطابقة استخدِم هذا الاختبار لتحديد ما إذا كانت هناك لقطات متفرّقة تتم معالجتها بشكل مختلف أو تتضمّن تشويشًا.

واجهات برمجة التطبيقات التي تم اختبارها:

اجتياز: تكون الصور متطابقة من حيث الشكل وقيم RGB.

تعذُّر: يعرض ارتفاعًا أو انخفاضًا في الرسم البياني لمتوسط قيم الأحمر والأخضر والأزرق في بداية كل لقطة متسلسلة

  • معدّل التفاوت هو% 3 لـ first_API_level < 30
  • معدّل التفاوت هو% 2 عندما يكون first_API_level أكبر من أو يساوي 30

test_burst_sameness_manual_mean

الشكل 12: مثال على متوسط test_burst_sameness_manual.

test_burst_sameness_manual_plot_means

الشكل 13. test_burst_sameness_manual_plot_means

test_crop_region_raw

اختبارات للتأكّد من أنّ ساحات المشاركات RAW غير قابلة للاقتصاص

واجهات برمجة التطبيقات التي تم اختبارها:

النتيجة: يتم اقتصاص صور YUV من المنتصف، ولكن لا يتم اقتصاص صور RAW.

test_crop_region_raw comp raw crop example

الشكل 14: مثال على اقتصاص test_crop_region_raw.

test_crop_region_raw comp raw full example

الشكل 15: مثال كامل على test_crop_region_raw comp raw.

test_crop_region_raw comp YUV crop example

الشكل 16. مثال على اقتصاص YUV test_crop_region_raw comp.

test_crop_region_raw_yuv_full example

الشكل 17: مثال كامل على test_crop_region_raw YUV.

test_crop_regions

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

واجهات برمجة التطبيقات التي تم اختبارها:

اجتياز: تتطابق صورة المنطقة التي تم اقتصاصها مع الرقعة التي تتوافق مع صورة الاقتصاص.

test_ev_compensation

تختبر هذه السمة ما إذا كان يتم تطبيق تعويض قيمة التعريض (EV). يتألف الاختبار من قسم أساسي وقسم متقدّم.

يختبر القسم الأساسي ما إذا كان يتم تطبيق تعويض المركبة الكهربائية باستخدام نطاق تم إنشاؤه باستخدام CONTROL_AE_COMPENSATION_STEP. يتم التقاط ثمانية إطارات عند كل قيمة تعويض.

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

واجهات برمجة التطبيقات التي تم اختبارها:

التعرّض الأساسي للضوء: تعرض الصور تعرّضًا متزايدًا للضوء بدون تعرّض مفرط خلال خمس خطوات.

test_ev_compensation_basic

الشكل 18: test_ev_compensation_basic

اجتياز القسم المتقدّم: يتم تسجيل زيادة في سطوع الصورة مع زيادة إعداد تعويض EV. تحتوي اللقطات الثماني التي تم التقاطها لكل إعداد تعويض عن التعرض للضوء على قيم إضاءة ثابتة.

test_ev_compensation_advanced_plot_means

الشكل 19. test_ev_compensation_advanced_plot_means.

test_exposure_x_iso

الاختبارات التي يتم فيها تحقيق مستوى تعرّض ثابت للضوء مع اختلاف حساسية ISO ووقت التعرّض للضوء تلتقط هذه الميزة سلسلة من اللقطات التي تم اختيار حساسية ISO ومدة التعرض للضوء فيها لتحقيق التوازن بينهما. يجب أن تتطابق النتائج من حيث السطوع، ولكن يجب أن تصبح الصورة أكثر تشويشًا بمرور التسلسل. تتحقّق هذه السمة مما إذا كانت القيم المتوسطة لوحدات البكسل في العيّنة متقاربة. يتحقّق هذا الإجراء من أنّ الصور ليست محصورة بين 0 و1 (ما يجعلها تبدو كخطوط مسطّحة). يمكن أيضًا إجراء الاختبار باستخدام صور RAW من خلال ضبط العلامة debug في ملف الإعداد.

واجهات برمجة التطبيقات التي تم اختبارها:

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

آلية التعطُّل: في الشكل التالي، مع زيادة قيم مضاعف الكسب (المحور x)، تبدأ قيم متوسط مستوى RGB العادي (المحور y) في الانحراف عن قيم مضاعف الكسب المنخفضة.

test_exposure_plot_means

الشكل 20: test_exposure_plot_means.

test_exposure_mult=1.00.jpg

الشكل 21: test_exposure_mult=1.00.

test_exposure_mult=64.00

الشكل 22: test_exposure_mult=64.00.

test_latching

اختبارات تثبيت الإعدادات (التعرّض للضوء ومستوى الصوت) على الإطار الصحيح للكاميرات FULL وLEVEL_3 لالتقاط سلسلة من اللقطات باستخدام طلبات متتالية، مع تغيير مَعلمات طلب الالتقاط بين اللقطات. تتحقّق هذه السمة من أنّ الصور تتضمّن الخصائص المتوقّعة.

واجهات برمجة التطبيقات التي تم اختبارها:

ناجح: تم رفع مستوى حساسية ISO أو درجة الإضاءة في الصور [2 و3 و6 و8 و10 و12 و13]، وتظهر هذه الصور بمتوسطات أعلى لقيم الأحمر والأخضر والأزرق في الرسم البياني في الشكل التالي.

test_latching plot means example

الشكل 23: مثال على رسم بياني لـ test_latching.

test_latching i=00

الشكل 24. test_latching i=00.

test_latching i=01

الشكل 25. test_latching i=01.

test_latching i=02

الشكل 26. test_latching i=02.

test_latching i=03

الشكل 27. test_latching i=03.

test_latching i=04

الشكل 28. test_latching i=04.

test_latching i=05

الشكل 29. test_latching i=05.

test_latching i=06

الشكل 30: test_latching i=06

test_latching i=07

الشكل 31. test_latching i=07.

test_latching i=08

الشكل 32. test_latching i=08.

test_latching i=09

الشكل 33: test_latching i=09

test_latching i=10

الشكل 34. test_latching i=10.

test_latching i=11

الشكل 35. test_latching i=11.

test_latching i=12

الشكل 36: test_latching i=12.

test_linearity

الاختبارات التي يمكن عكس معالجتها على الجهاز إلى وحدات بكسل خطية تسجيل سلسلة من اللقطات مع توجيه الجهاز نحو هدف موحّد

واجهات برمجة التطبيقات التي تم اختبارها:

اجتياز: يجب أن تزيد قيم R وG وB بشكل خطي مع زيادة الحساسية.

test_linearity plot means example

الشكل 37. مثال على رسم بياني لـ test_linearity.

test_locked_burst

اختبار قفل 3A وYUV burst (باستخدام الإعداد التلقائي) تم تصميم هذا الاختبار ليجتاز حتى الأجهزة المحدودة التي لا تتضمّن MANUAL_SENSOR أو PER_FRAME_CONTROLS. يتحقّق الاختبار من اتساق صورة YUV أثناء إجراء فحص معدّل عرض اللقطات في مجموعة اختبار التوافق (CTS).

واجهات برمجة التطبيقات التي تم اختبارها:

اجتياز: تبدو اللقطات متّسقة.

test_locked_burst frame0 example

الشكل 38: مثال على الإطار 0 من test_locked_burst

test_locked_burst frame1 example

الشكل 39: مثال على الإطار 1 من test_locked_burst

test_locked_burst_frame2

الشكل 40. مثال على الإطار test_locked_burst frame2.

scene1_2

scene 1_2 هي نسخة طبق الأصل من scene 1_1، وتتضمّن بنية مشهد فرعي لتخفيف المدة الطويلة لـ scene 1.

test_param_color_correction

اختبارات يتم فيها تطبيق مَعلمات android.colorCorrection.* عند ضبطها التقاط لقطات بقيم مختلفة للتحويل والزيادة، واختبار ما إذا كانت تبدو مختلفة بشكل مماثل يتم اختيار التحويلات والمكاسب لجعل الناتج أكثر احمرارًا أو زرقة. يستخدم عملية تعيين درجة اللون الخطية.

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

واجهات برمجة التطبيقات التي تم اختبارها:

اجتياز: يتم تعزيز قيمتَي R وB وفقًا للتحويل.

test_param_color_correction plot means example

الشكل 41. مثال على متوسطات مخطط test_param_color_correction.

في الأشكال التالية، يمثّل المحور السيني طلبات الالتقاط: 0 = وحدة، 1 = تعزيز اللون الأحمر، 2 = تعزيز اللون الأزرق.

test_param_color_correction req=0 unity example

الشكل 42. مثال على test_param_color_correction req=0 في Unity

test_param_color_correctness req=1 red boost example

الشكل 43. مثال على زيادة اللون الأحمر في test_param_color_correctness req=1

test_param_color_correction req=2 blue boost example

الشكل 44: مثال على زيادة اللون الأزرق في test_param_color_correction req=2

test_param_flash_mode

اختبارات يتم فيها تطبيق المَعلمة android.flash.mode يضبط هذا الوضع مستوى التعرض للضوء يدويًا على الجانب الداكن، ما يتيح معرفة ما إذا تم تشغيل الفلاش أم لا، كما يستخدم هذا الوضع مخططًا خطيًا لدرجات الألوان. يتم التحقّق من مركز الصورة باستخدام صورة المربّع لمعرفة ما إذا كان هناك تدرّج كبير تم إنشاؤه للتحقّق مما إذا تم تشغيل الفلاش.

واجهات برمجة التطبيقات التي تم اختبارها:

اجتياز: يحتوي مركز صورة المربّع على تدرّج كبير، ما يعني أنّ الفلاش قد تم تشغيله.

test_param_flash_mode 1 example

الشكل 45: مثال على test_param_flash_mode 1

مثال على مربّع test_param_flash_mode 1

الشكل 46: مثال على مربّع واحد من test_param_flash_mode

test_param_flash_mode_2 example

الشكل 47: مثال على test_param_flash_mode 2

مثال على المربّع test_param_flash_mode 2

الشكل 48: مثال على مربّعين باستخدام test_param_flash_mode

test_param_noise_reduction

اختبارات يتم فيها تطبيق المَعلمة android.noiseReduction.mode بشكلٍ صحيح عند ضبطها. تلتقط هذه الميزة صورًا في الأماكن ذات الإضاءة الخافتة. يستخدم هذا الوضع مستوى تضخيم تناظريًا عاليًا للمساعدة في ضمان أن تكون الصورة الملتقطة مشوّشة. تلتقط ثلاث صور، إحداها مع إيقاف ميزة &quot;الحد من التشويش&quot;، والثانية بجودة سريعة، والثالثة بجودة عالية. يلتقط أيضًا صورة بمستوى كسب منخفض وبدون تقليل التشويش، ويستخدم التباين في هذه الصورة كخط أساس. كلما زادت نسبة الإشارة إلى الضوضاء، تحسّنت جودة الصورة.

واجهات برمجة التطبيقات التي تم اختبارها:

اجتياز: يختلف نسبة الإشارة إلى الضوضاء باختلاف أوضاع الحدّ من الضوضاء، ويكون سلوكها مشابهًا للرسم البياني التالي:

test_param_noise_reduction plot SNRs example

الشكل 49. مثال على مخطط نسب الإشارة إلى الضوضاء (SNR) الخاص باختبار تقليل الضوضاء.

‫0: إيقاف، 1: سريع، 2: جودة عالية، 3: الحد الأدنى، 4: سرعة الغالق صفر

test_param_noise_reduction high gain nr=0 example

الشكل 50: مثال على test_param_noise_reduction high gain nr=0

test_param_noise_reduction high gain nr=1 example

الشكل 51: مثال على test_param_noise_reduction high gain nr=1

test_param_noise_reduction high gain nr=2 example

الشكل 52: مثال على test_param_noise_reduction مع مستوى كسب عالٍ nr=2

test_param_noise_reduction high gain nr=3 example

الشكل 53: مثال على test_param_noise_reduction high gain nr=3

مثال على test_param_noise_reduction بمستوى صوت منخفض

الشكل 54: مثال على مستوى كسب منخفض لـ test_param_noise_reduction

test_param_shading_mode

اختبارات يتم فيها تطبيق المَعلمة android.shading.mode

واجهات برمجة التطبيقات التي تم اختبارها:

النتيجة: يتم التبديل بين أوضاع التظليل وتعديل خرائط تظليل العدسة على النحو المتوقّع.

test_param_shading_mode lens shading map, mode 0 loop 0 example

الشكل 55: خريطة تظليل العدسة test_param_shading_mode، مثال على الحلقة 0 للوضع 0

test_param_shading_mode lens shading map, mode 1 loop 0 example

الشكل 56: خريطة تظليل العدسة test_param_shading_mode، مثال على الحلقة 0 للوضع 1

test_param_shading_mode lens shading map, mode 2 loop 0 example

الشكل 57. خريطة تظليل العدسة test_param_shading_mode، مثال على الحلقة 0 للوضع 2.

test_param_tonemap_mode

اختبارات يتم فيها تطبيق المَعلمة android.tonemap.mode تطبِّق هذه السمة منحنيات مختلفة لضبط درجة اللون على كل قناة من قنوات الأحمر والأخضر والأزرق، وتتحقّق من تعديل الصور الناتجة على النحو المتوقّع. يتكوّن هذا الاختبار من اختبارَين، هما test1 وtest2.

واجهات برمجة التطبيقات التي تم اختبارها:

بطاقة:

  • test1: تحتوي كلتا الصورتَين على خريطة درجات لونية خطية، ولكن n=1 تحتوي على تدرّج أكثر حدة. تكون القناة G (الخضراء) أكثر سطوعًا لصورة n=1.
  • test2: نفس خريطة الدرجات اللونية، ولكن بطول مختلف الصور متطابقة.

test_param_tonemap_mode with n=0

الشكل 58: test_param_tonemap_mode مع n=0

test_param_tonemap_mode with n=1

الشكل 59: test_param_tonemap_mode مع n=1

test_post_raw_sensitivity_boost

التحقّق من زيادة حساسية اللمس بعد المعالجة تسجيل مجموعة من الصور الأولية وصور YUV بمستويات حساسية مختلفة، ونشر مجموعة من مستويات الحساسية الأولية المعزّزة، والتحقّق مما إذا كان متوسط وحدات البكسل الناتجة يتطابق مع إعدادات الطلب

واجهات برمجة التطبيقات التي تم اختبارها:

اجتياز: تصبح الصور الأولية أكثر قتامة كلما زادت درجة التحسين، بينما يظل سطوع صور YUV ثابتًا.

test_post_raw_sensitivity_boost raw s=3583 boost=0100 example

الشكل 60: مثال على test_post_raw_sensitivity_boost raw s=3583 boost=0100.

test_post_raw_sensitivity_boost raw s=1792 boost=0200 example

الشكل 61: مثال على test_post_raw_sensitivity_boost raw s=1792 boost=0200

test_post_raw_sensitivity_boost raw s=0896 boost=0400 example

الشكل 62: مثال على test_post_raw_sensitivity_boost raw s=0896 boost=0400.

test_post_raw_sensitivity_boost raw s=0448 boost=0800 example

الشكل 63: مثال على test_post_raw_sensitivity_boost raw s=0448 boost=0800

test_post_raw_sensitivity_boost raw s=0224 boost=1600 example

الشكل 64: مثال على test_post_raw_sensitivity_boost raw s=0224 boost=1600.

test_post_raw_sensitivity_boost raw s=0112 boost=3199 example

الشكل 65: مثال على test_post_raw_sensitivity_boost raw s=0112 boost=3199

test_post_raw_sensitivity_boost raw plot means example

الشكل 66: مثال على الرسم البياني الأولي لـ test_post_raw_sensitivity_boost.

test_post_raw_sensitivity_boost YUV s=0112 boost=3199 example

الشكل 67: مثال على test_post_raw_sensitivity_boost YUV s=0112 boost=3199

test_post_raw_sensitivity_boost YUV s=0448 boost=0800 example

الشكل 68. مثال على test_post_raw_sensitivity_boost YUV s=0448 boost=0800.

test_post_raw_sensitivity_boost YUV s=0896 boost=0400 example

الشكل 69. مثال على test_post_raw_sensitivity_boost YUV s=0896 boost=0400.

test_post_raw_sensitivity_boost YUV s=1792 boost=0200 example

الشكل 70: مثال على test_post_raw_sensitivity_boost YUV s=1792 boost=0200

test_post_raw_sensitivity_boost YUV s=3585 boost=0100 example

الشكل 71. مثال على test_post_raw_sensitivity_boost YUV s=3585 boost=0100.

test_post_raw_sensitivity_boost_yuv_plot_means

الشكل 72. test_post_raw_sensitivity_boost_yuv_plot_means

test_raw_exposure

تلتقط هذه الأداة مجموعة من الصور الأولية مع زيادة وقت التعرّض للضوء، وتقيس قيم البكسل.

واجهات برمجة التطبيقات التي تم اختبارها:

النتيجة: تؤدي زيادة حساسية الضوء إلى جعل وحدات البكسل أكثر حساسية للضوء، وبالتالي يتحرّك الرسم البياني نحو اليسار.

مثال على test_raw_exposure ISO=55

الشكل 73: مثال على test_raw_exposure ISO=55

القيمة 10⁰ هي 1 مللي ثانية، والقيمة 10¹ هي 10 مللي ثانية، والقيمة 10⁻¹ هي 0.1 مللي ثانية.

test_raw_exposure ISO=132 example

الشكل 74. مثال على test_raw_exposure ISO=132.

test_raw_exposure ISO=209 example

الشكل 75: مثال على test_raw_exposure ISO=209

مثال على test_raw_exposure ISO=286

الشكل 76: مثال على test_raw_exposure ISOs=286

test_raw_exposure ISO=363 example

الشكل 77: مثال على test_raw_exposure ISO=363

test_raw_exposure_s=440

الشكل 78: مثال على test_raw_exposure ISO=440

test_reprocess_noise_reduction

الاختبارات التي يتم تطبيقها على طلبات إعادة المعالجةandroid.noiseReduction.mode تلتقط صورًا تمت إعادة معالجتها باستخدام الكاميرا في الإضاءة الخافتة. يستخدم هذا الإعداد مستوى تضخيم تناظريًا عاليًا للتحقّق من أنّ الصورة الملتقطة تتضمّن تشويشًا. تلتقط ثلاث صور تمت إعادة معالجتها، مع إيقاف ميزة "الحد من التشويش"، وبجودة سريعة، وبجودة عالية. تسجيل صورة تمت إعادة معالجتها بمستوى كسب منخفض مع إيقاف ميزة &quot;الحد من التشويش&quot;، واستخدام التباين في هذه الصورة كأساس.

واجهات برمجة التطبيقات التي تم اختبارها:

النجاح: FAST >= OFF وHQ >= FAST وHQ >> OFF

مخطّط نموذجي لنسبة الإشارة إلى الضوضاء مقابل وضع NR

الشكل 79. مثال على رسم بياني نموذجي لنسبة الإشارة إلى الضوضاء مقابل وضع الحدّ من الضوضاء

test_tonemap_sequence

تختبر هذه السمة سلسلة من اللقطات باستخدام منحنيات مختلفة لتعيين الدرجات اللونية. التقاط 3 لقطات يدوية باستخدام عملية تعيين درجة اللون الخطية التقاط 3 صور يدوية باستخدام "تخطيط الدرجات اللونية" التلقائي تحسب هذه الدالة الفرق بين كل زوج من اللقطات المتتالية.

واجهات برمجة التطبيقات التي تم اختبارها:

النجاح: يتضمّن الفيديو ثلاث لقطات متطابقة متبوعة بمجموعة مختلفة من ثلاث لقطات متطابقة.

test_tonemap_sequence i=0 example

الشكل 80. مثال على test_tonemap_sequence i=0.

test_tonemap_sequence i=1 example

الشكل 81. مثال على test_tonemap_sequence i=1

test_tonemap_sequence i=2 example

الشكل 82. مثال على test_tonemap_sequence i=2.

test_tonemap_sequence i=3 example

الشكل 83. مثال على test_tonemap_sequence i=3

test_tonemap_sequence_i=4 example

الشكل 84. مثال على test_tonemap_sequence i=4.

test_tonemap_sequence i=5 example

الشكل 85. مثال على test_tonemap_sequence i=5.

test_yuv_jpeg_all

الاختبارات التي تعمل على جميع الأحجام والتنسيقات المُبلغ عنها لالتقاط الصور يستخدم طلبًا يدويًا مع تعيين درجة اللون بشكل خطي لكي تبدو بيانات YUV وJPEG متطابقة عند تحويلها بواسطة الوحدة image_processing_utils. لا يتم حفظ الصور تلقائيًا، ولكن يمكن حفظها من خلال تفعيل debug_mode.

واجهات برمجة التطبيقات التي تم اختبارها:

اجتياز: يجب أن يكون الحد الأقصى لمتوسط الجذر التربيعي (RMS) (قيمة الإشارة) لجميع مراكز الصور في الصور المحوَّلة إلى RGB أقل من 3% من صورة YUV ذات أعلى دقة.

test_yuv_jpeg_all example

الشكل 86. مثال test_yuv_jpeg_all

test_yuv_plus_dng

اختبارات تعمل على الأحجام والتنسيقات المُبلغ عنها لالتقاط الصور

واجهات برمجة التطبيقات التي تم اختبارها:

ناجح: يكتمل الاختبار ويعرض الصور المطلوبة.

test_yuv_plus_dng example

الشكل 87: مثال على test_yuv_plus_dng

scene1_3

scene 1_3 هي نسخة طبق الأصل من scene 1_1، وتتضمّن بنية مشهد فرعي لتخفيف المدة الطويلة لـ scene 1.

test_capture_result

اختبارات للتأكّد من أنّ البيانات الصالحة يتم عرضها في عناصر CaptureResult يتضمّن الاختبار عملية التقاط تلقائي، وعملية التقاط يدوي، وعملية التقاط تلقائي ثانية.

واجهات برمجة التطبيقات التي تم اختبارها:

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

test_capture_result_plot_lsc_auto_ch0

الشكل 88. test_capture_result_plot_lsc_auto_ch0.

test_dng_noise_model

تتحقّق هذه السمة من صحة مَعلمات نموذج DNG الأوّلي. يعرض الرسم البياني التباين المقاس في رقعة مركزية من بطاقة رمادية في اللقطات الأولية التي تم التقاطها على مدى مجموعة من الحساسيات، ويقارن هذه القيم بالتباين المتوقّع عند كل حساسية من خلال نموذج التشويش DNG في طبقة تجريد الأجهزة (HAL) للكاميرا (استنادًا إلى المَعلمتَين O وS اللتين تم إرجاعهما في عناصر نتيجة الالتقاط). للحصول على مزيد من التفاصيل حول نموذج التشويش في DNG، يمكنك تنزيل المستند التالي حول نموذج التشويش في DNG.

واجهات برمجة التطبيقات التي تم اختبارها:

اجتياز: معلَمات نموذج DNG الخام صحيحة. تتطابق قيم النموذج اللوني أحمر أخضر أزرق (RGB) المتوقّعة مع قيم النموذج اللوني أحمر أخضر أزرق (RGB) الفعلية التي تم قياسها.

test_dng_noise_model_plog

الشكل 89: test_dng_noise_model_plog

test_jpeg

تبدو الاختبارات التي تم فيها تحويل صور YUV وصور JPEG على الجهاز متشابهة. يأخذ الاختبار النسبة% 10 الوسطى من الصورة ويحسب قيمة الأحمر والأخضر والأزرق، ثم يتأكّد من تطابقها.

واجهات برمجة التطبيقات التي تم اختبارها:

اجتياز: يقلّ متوسط الفرق في قيم RGB بين كل صورة عن %3.

test_jpeg_fmt=jpg.jpg

الشكل 90: test_jpeg_fmt=jpg.jpg.

test_jpeg=fmt=yuv.jpg

الشكل 91: test_jpeg=fmt=yuv.jpg.

test_raw_burst_sensitivity

تلتقط هذه الطريقة مجموعة من الصور الأولية بمستويات سطوع متزايدة وتقيس الضوضاء. التقاط الصور بتنسيق RAW فقط، في سلسلة متتالية

واجهات برمجة التطبيقات التي تم اختبارها:

اجتياز: كل لقطة أكثر ضوضاءً من اللقطة السابقة، لأنّ مستوى الصوت يزداد.

تعرض هذه السمة تباين خلية شبكة الإحصاءات المركزية.

test_raw_burst_sensitivity_variance

الشكل 92: test_raw_burst_sensitivity_variance

test_raw_sensitivity

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

واجهات برمجة التطبيقات التي تم اختبارها:

اجتياز: يزداد التباين مع كل لقطة.

test_raw_sensitivity_variance

الشكل 93: test_raw_sensitivity_variance

test_yuv_plus_jpeg

اختبار التقاط لقطة واحدة كناتج بتنسيق YUV وJPEG يستخدم طلبًا يدويًا مع تعيين درجة اللون بشكل خطي لكي تبدو بيانات YUV وJPEG متطابقة عند تحويلها بواسطة الوحدة image_processing_utils.

واجهات برمجة التطبيقات التي تم اختبارها:

اجتياز: تتشابه صور YUV وJPEG، ويقل الفرق في قيمة RMS (قيمة الإشارة) عن% 1.

test_yuv_plus_jpeg بتنسيق JPEG

الشكل 94: test_yuv_plus_jpeg بتنسيق JPEG

test_yuv_plus_jpeg بتنسيق YUV

الشكل 95: test_yuv_plus_jpeg بتنسيق YUV

test_yuv_plus_raw

يختبر هذا الإجراء إمكانية تسجيل لقطة واحدة بتنسيقَي البيانات الأولية (10 بت و12 بت) وYUV إذا كان ذلك متاحًا. يستخدم طلبًا يدويًا مع خريطة درجات اللون الخطية، لذا من المتوقّع أن تكون بيانات RAW وYUV متطابقة. تقارن هذه السمة قيم النموذج اللوني أحمر أخضر أزرق (RGB) بنسبة% 10 في وسط الصور المحوّلة. السجلاتandroid.shading.mode

واجهات برمجة التطبيقات التي تم اختبارها:

اجتياز: تتشابه صور YUV والصور الأولية، ويقل الفرق بينهما عن 3.5% من قيمة الجذر التربيعي لمتوسط الإشارة.

test_yuv_plus_raw_shading=1_raw.jpg

الشكل 96. test_yuv_plus_raw_shading=1_raw.jpg.

test_yuv_plus_raw_shading=1_yuv.jpg

الشكل 97. test_yuv_plus_raw_shading=1_yuv.jpg.

test_sensitivity_priority

إجراء اختبارات CONTROL_AE_PRIORITY_MODE_SENSOR_SENSITIVITY_PRIORITY بإعدادات ISO مختلفة للتأكّد من وجود علاقة بين ارتفاع قيمة ISO وزيادة مستويات التشويش

واجهات برمجة التطبيقات التي تم اختبارها:

اجتياز: تؤدي حساسية ISO الأعلى إلى زيادة مستويات التشويش.

معايير تخطّي الاختبار

يتم تخطّي اختبار test_sensitivity_priority.py في حال استيفاء أي من المعايير التالية:

test_exposure_time_priority

تُجرى الاختبارات CONTROL_AE_PRIORITY_MODE_SENSOR_EXPOSURE_TIME_PRIORITY على مدى أوقات تعرّض مختلفة، ويتم التحقّق من ثبات السطوع في النطاق الذي يمكن أن تعوّضه حساسية ISO.

واجهات برمجة التطبيقات التي تم اختبارها:

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

معايير تخطّي الاختبار

يتم تخطّي اختبار test_exposure_time_priority في حال استيفاء أي من المعايير التالية:

scene2_a

scene2_a لديها ثلاثة وجوه بخلفية رمادية وملابس محايدة. تم اختيار الوجوه لتشمل مجموعة كبيرة من درجات لون البشرة. يجب أن يكون الرسم البياني بالاتجاه الصحيح لتعمل ميزة "التعرّف على الوجوه" على النحو الأمثل.

مثال على scene2_a

الشكل 98. مثال على scene2_a.

test_autoframing

تختبر هذه السمة سلوك التوسيط التلقائي لجهاز الكاميرا. يتم إجراء تكبير كبير لا تظهر فيه أي من الوجوه في المشهد، ويتم تفعيل وضع "التعديل التلقائي لإطار الفيديو" من خلال ضبط AUTOFRAMING في CaptureRequest على True، ويتم التحقّق مما إذا كان يمكن رصد جميع الوجوه في المشهد الأصلي عند اكتمال الحالة (أي عندما يتم ضبط AUTOFRAMING_STATE في CaptureResult على AUTOFRAMING_STATE_CONVERGED).

واجهات برمجة التطبيقات التي تم اختبارها:

اجتياز: تم التعرّف على الوجوه الثلاثة.

test_display_p3

اختبارات عرض P3 التقاط الصور بتنسيق JPEG باستخدام واجهة برمجة التطبيقات ColorSpaceProfiles. اختبارات للتأكّد من أنّ ملف JPEG الذي تم التقاطه يتضمّن ملف ICC شخصي مناسبًا في العنوان، وأنّ الصورة تحتوي على ألوان خارج نطاق sRGB

واجهات برمجة التطبيقات التي تم اختبارها:

اجتياز: يحتوي ملف JPEG على ملف تعريف ICC بتنسيق Display P3 وألوان خارج نطاق sRGB.

test_effects

تلتقط هذه السمة إطارًا لتأثيرات الكاميرا المتوافقة وتتحقّق مما إذا تم إنشاؤها بشكل صحيح. يتحقّق الاختبار من التأثيرَين OFF وMONO فقط، ولكنّه يحفظ الصور لجميع التأثيرات المتوافقة.

واجهات برمجة التطبيقات التي تم اختبارها:

اجتياز: يتم التقاط صورة المشهد مع المؤثرات OFF وصورة أحادية اللون مع ضبط المؤثرات على MONO.

test_effects_MONO

الشكل 99. test_effects_MONO.

test_exposure_keys_consistent

يقارن هذا الاختبار متوسط سطوع اللقطة التي تم تفعيل ميزة &quot;التعرّض التلقائي&quot; فيها باللقطة التي تم إيقاف ميزة &quot;التعرّض التلقائي&quot; فيها وتم تطبيق مَعلمات التعرّض (الحساسية ووقت التعرّض ومدة اللقطة وتعزيز الحساسية بعد المعالجة) يدويًا والتي تم تلقّيها في CaptureResult للقطة التي تم تفعيل ميزة &quot;التعرّض التلقائي&quot; فيها.

واجهات برمجة التطبيقات التي تم اختبارها:

اجتياز: يكون الفرق النسبي في شدة الإضاءة بين اللقطتَين أقل من 4%.

test_format_combos

تختبر هذه السمة مجموعات مختلفة من تنسيقات الإخراج.

واجهات برمجة التطبيقات التي تم اختبارها:

تم بنجاح: تم تسجيل جميع المجموعات بنجاح.

test_num_faces

يختبر هذا الإجراء ميزة التعرّف على الوجوه.

واجهات برمجة التطبيقات التي تم اختبارها:

اجتياز: يتم العثور على ثلاثة وجوه.

test_num_faces face detection mode 1 example

الشكل 100. مثال على وضع التعرّف على الوجوه test_num_faces 1.

test_reprocess_uv_swap

الاختبارات التي لا تعكس فيها إعادة معالجة YUV مستوى U ومستوى V ويتم رصد ذلك من خلال حساب مجموع الفروق المطلقة (SAD) بين الصورة التي تمت إعادة معالجتها والصورة التي لم تتم إعادة معالجتها. إذا أدى تبديل مستوىَي U وV الناتجَين عن عملية إعادة المعالجة إلى زيادة في مقياس SAD، يُفترض أنّ الناتج يتضمّن مستوىَي U وV الصحيحَين.

واجهات برمجة التطبيقات التي تم اختبارها:

اجتياز: لم يتم تبديل المستويين U وV.

test_reprocess_uv_swap

الشكل 101: مثال على test_reprocess_uv_swap

scene2_b

test_preview_num_faces

اختبار ميزة رصد الوجوه في المعاينة مع زيادة تنوّع ألوان البشرة في مشاهد الوجوه

واجهات برمجة التطبيقات التي تم اختبارها:

اجتياز: يعثر على ثلاثة وجوه تتضمّن مَعالم الوجه في مربّعات إحاطة الوجه.

test_num_faces_fd_mode_1

الشكل 102. مثال على وضع التعرّف على الوجوه test_num_faces 1.

test_yuv_jpeg_capture_sameness

التقاط صورتَين باستخدام أكبر تنسيقات YUV وJPEG الشائعة وبنسبة العرض إلى الارتفاع نفسها التي تتّبعها أكبر تنسيقات JPEG التي لا تتجاوز دقتها 1920x1440 يضبط قيمة jpeg.quality على 100 ويلتقط طلبًا بسطح مزدوج. يتم تحويل كلتا الصورتَين إلى مصفوفتَي RGB، ويتم حساب الفرق بينهما باستخدام الجذر التربيعي لمتوسط المربعات (RMS) الثلاثي الأبعاد.

بالإضافة إلى ذلك، يتحقّق هذا الاختبار من أنّ نواتج YUV لجميع حالات استخدام البث المتوافقة تتشابه بشكل معقول مع نواتج YUV في حالة استخدام STILL_CAPTURE.

واجهات برمجة التطبيقات التي تم اختبارها:

اجتياز: تختلف صور YUV وJPEG لحالة الاستخدام STILL_CAPTURE بنسبة أقل من% 3 في متوسط الجذر التربيعي (RMS) للإشارة، وتختلف صور YUV لجميع حالات الاستخدام المتوافقة بنسبة أقل من% 10 في متوسط الجذر التربيعي عن صور YUV لحالة الاستخدام STILL_CAPTURE.

scene2_c

test_num_faces

تختبر هذه المجموعة ميزة "التعرّف على الوجوه" مع زيادة تنوّع لون البشرة في مشاهد الوجوه.

واجهات برمجة التطبيقات التي تم اختبارها:

اجتياز: يتم العثور على ثلاثة وجوه.

test_num_faces_fd_mode_1

الشكل 103: مثال على وضع التعرّف على الوجوه test_num_faces

test_jpeg_capture_perf_class

يختبر هذا المعيار وقت استجابة التقاط صور JPEG لفئة الأداء S كما هو محدّد في الفقرة 2.2.7.2 الكاميرا في مستند تعريف التوافق.

اجتياز: يجب أن يكون وقت استجابة التقاط صور JPEG باستخدام Camera2 أقل من 1,000 مللي ثانية بدقة 1080p كما تم قياسه باستخدام اختبار PerformanceTest الخاص بالكاميرا في مجموعة اختبار توافق البرامج (CTS) ضمن ظروف الإضاءة في نظام اختبار استشعار الصور (ITS) (3000 كلفن) لكلتا الكاميرتَين الأساسيتَين.

test_camera_launch_perf_class

يختبر هذا الاختبار وقت استجابة تشغيل الكاميرا لفئة الأداء S على النحو المحدّد في القسم 2.2.7.2 الكاميرا في مستند تعريف التوافق.

اجتياز: يجب أن يكون وقت استجابة بدء تشغيل camera2 (فتح الكاميرا لعرض أول إطار معاينة) أقل من 600 ملي ثانية، وذلك وفقًا لما تم قياسه باستخدام اختبار PerformanceTest الخاص بالكاميرا في مجموعة اختبار توافق البرامج (CTS) ضمن ظروف الإضاءة في "نظام اختبار الكاميرا" (ITS) (3000 كلفن) لكلتا الكاميرتَين الأساسيتَين.

test_default_camera_hdr

اختبارات التأكّد من أنّ الكاميرا التلقائية تلتقط الصور بدقة Ultra HDR للأجهزة التي تنتمي إلى فئة الأداء 15 على النحو المحدّد في الفقرة 2.2.7.2 الكاميرا من مستند تعريف التوافق

اجتياز: يجب أن يكون التقاط حزمة الكاميرا التلقائية بدقة Ultra HDR على جهاز من فئة الأداء 15.

scene2_d

test_preview_num_faces

اختبار ميزة رصد الوجوه في المعاينة مع زيادة تنوّع ألوان البشرة في مشاهد الوجوه

واجهات برمجة التطبيقات التي تم اختبارها:

اجتياز: يعثر على ثلاثة وجوه تتضمّن مَعالم الوجه في مربّعات إحاطة الوجه.

scene2_e

test_continuous_picture

يتم التقاط 50 لقطة بدقة VGA باستخدام الإعداد الأول لطلب الالتقاط android.control.afMode = 4 (CONTINUOUS_PICTURE).

واجهات برمجة التطبيقات التي تم اختبارها:

اجتياز: يستقر نظام 3A بحلول نهاية عملية التقاط 50 إطارًا.

test_num_faces

تختبر هذه المجموعة ميزة "التعرّف على الوجوه" مع زيادة تنوّع لون البشرة في مشاهد الوجوه.

واجهات برمجة التطبيقات التي تم اختبارها:

مطابقة: يتم العثور على 3 وجوه.

scene2_f

scene2_f لها ثلاثة وجوه بخلفية بيضاء وملابس بيضاء. تتضمّن الوجوه مجموعة كبيرة من درجات لون البشرة وتباينًا عاليًا مع الخلفية.

scene2_f example

الشكل 104. مثال على scene2_f.

test_preview_num_faces

تختبر هذه المجموعة ميزة "التعرّف على الوجوه" مع زيادة تنوّع لون البشرة في مشاهد الوجوه.

واجهات برمجة التطبيقات التي تم اختبارها:

اجتياز: يعثر على ثلاثة وجوه تتضمّن مَعالم الوجه في مربّعات إحاطة الوجه.

test_num_faces_fd_mode_1

الشكل 105: مثال على test_num_faces_fd_mode_1

scene2_g

scene2_g يضمّ ثلاثة وجوه لملفات شخصية بخلفية بيضاء وملابس بيضاء. تتضمّن الوجوه مجموعة كبيرة من درجات لون البشرة وتباينًا عاليًا مع الخلفية.

scene2_g.png

الشكل 106. مثال على scene2_g.

test_preview_num_faces

تختبر هذه المجموعة ميزة "التعرّف على الوجوه" مع زيادة تنوّع لون البشرة في مشاهد الوجوه.

واجهات برمجة التطبيقات التي تم اختبارها:

اجتياز: يعثر على ثلاثة وجوه تتضمّن مَعالم الوجه في مربّعات إحاطة الوجه.

test_preview_num_faces

الشكل 107: مثال على test_preview_num_faces

scene3

تستخدم scene3 مخطط ISO12233، وتستخدم معظم الاختبارات طريقة استخراج المخطط للعثور على المخطط في المشهد. لهذا السبب، لا تحتوي معظم الصور المحفوظة على حدود مثل صور المشاهد 1 أو 2 أو 4، بل تحتوي على الرسم البياني فقط. يجب أن يكون الرسم البياني في الاتجاه الصحيح لكي تعمل أداة البحث عن الرسوم البيانية على النحو الأمثل.

test_edge_enhancement

تختبر هذه السمة ما إذا تم تطبيق المَعلمة android.edge.mode بشكل صحيح. تلتقط هذه الطريقة صورًا لا تتم معالجتها لكل وضع من أوضاع الحافة، وتعرض حدة الصورة الناتجة والبيانات الوصفية لنتيجة الالتقاط. تعالج هذه الطريقة طلب التقاط صورة مع تحديد وضع الحافة والحساسية ووقت التعرض للضوء ومسافة التركيز وسطح الإخراج.

النجاح: يكون وضع HQ (2) أكثر وضوحًا من وضع OFF (0). يكون وضع FAST (1) أكثر وضوحًا من وضع OFF. يكون وضع HQ أكثر حدة أو يساوي وضع FAST.

واجهات برمجة التطبيقات التي تم اختبارها:

معلمات الكاميرا المتأثرة:

  • EDGE_MODE

test_edge_enhancement_edge=0

الشكل 108: مثال على test_edge_enhancement edge=0

test_edge_enhancement edge=1 example

الشكل 109: مثال على test_edge_enhancement edge=1 (الوضع السريع).

test_edge_enhancement edge=2 example

الشكل 110: مثال على test_edge_enhancement edge=2 (وضع الجودة العالية).

test_flip_mirror

تختبر ما إذا كانت الصورة موجّهة بشكل صحيح وفقًا للفقرة 7.5.2 الكاميرا الأمامية في مستند متطلبات التوافق مع الأجهزة (CDD).

يمكن التعرّف على الصور المعكوسة أو المقلوبة أو المدورة من خلال شكل الماسة بالقرب من المنتصف.

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

مثال على تصحيح مشهد test_flip_mirror

الشكل 111. مثال على تصحيح مشهد test_flip_mirror

test_imu_drift

يختبر هذا المعيار ما إذا كانت وحدة قياس القصور الذاتي (IMU) تقدّم ناتجًا ثابتًا لمدة 30 ثانية بينما يكون الجهاز ثابتًا ويلتقط معاينة عالية الدقة.

واجهات برمجة التطبيقات التي تم اختبارها:

بطاقة:

  • يكون معدّل انحراف الجيروسكوب أقل من 0.01 راديان خلال مدة الاختبار.
  • يكون تباين قراءة الجيروسكوب أقل من 1E-7 rad2/s2/Hz خلال مدة الاختبار.
  • يجب أن يكون الانحراف في متّجه الدوران أقل من 0.01 راديان خلال مدة الاختبار.
  • (لم يتم تحديد هذا الشرط بعد) يجب أن يكون الانحراف في الجيروسكوب أقل من درجة واحدة في الثانية.

test_imu_drift gyroscope drift example

الشكل 112: مثال على انحراف الجيروسكوب test_imu_drift

test_imu_drift مثال على انحراف متّجه الدوران

الشكل 113: مثال على الانحراف في متجه الدوران test_imu_drift

test_landscape_to_portrait

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

واجهات برمجة التطبيقات التي تم اختبارها:

اجتياز: يعثر الاختبار على رسم بياني بالتوجيه المتوقّع (0 درجة عند إيقاف الإعداد التلقائي من الوضع الأفقي إلى الوضع العمودي، و90 درجة عند تفعيله).

مثال test_landscape_to_portrait

الشكل 114: مثال على test_landscape_to_portrait

test_lens_movement_reporting

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

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

واجهات برمجة التطبيقات التي تم اختبارها:

اجتياز: علامة حركة العدسة هي True في الإطار مع تغيير الحدة.

آليات الفشل:

  • يتم تأكيد lens_moving: True (android.hardware.camera2.CaptureResult#LENS_STATE = 1) في test_log.DEBUG فقط في اللقطات التي لا تتغير فيها الحدة.
  • تحتوي اللقطات التي تتضمّن lens_moving: False (android.hardware.camera2.CaptureResult#LENS_STATE = 0) في test_log.DEBUG على اختلاف في الحدة مقارنةً باللقطات القليلة الأولى عند مسافة البعد البؤري المثالية أو اللقطات القليلة الأخيرة عند مسافة البعد البؤري الدنيا.

test_reprocess_edge_enhancement

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

واجهات برمجة التطبيقات التي تم اختبارها:

اجتياز: حدة أوضاع الحواف المختلفة صحيحة. تكون الصورة في HQ (الوضع 2) أكثر وضوحًا من OFF (الوضع 0)، والتحسين بين الأوضاع المختلفة متشابه.

مثال على رسم بياني test_reprocess_edge_enhancement

الشكل 115: مثال على رسم بياني لـ test_reprocess_edge_enhancement.

scene4

يتألف scene4 من دائرة سوداء على خلفية بيضاء داخل مربّع.

يمكن أن تكون الاختبارات في scene4 حساسة للمحاذاة، لذا بدءًا من Android 15، يمكنك استخدام check_alignment.py في دليل الأدوات لتفعيل عملية التحقّق من محاذاة الجهاز قيد الاختبار والمخطط.

مثال على scene4

الشكل 116: مثال على scene4

test_30_60fps_preview_fov_match

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

واجهات برمجة التطبيقات التي تم اختبارها:

اجتياز: لا يتم تمديد الصور، ولا يختلف مركز الصور بأكثر من %3، ولا يزيد الحد الأقصى لتغيير نسبة العرض إلى الارتفاع بين الفيديوهات التي تبلغ 30 لقطة في الثانية و60 لقطة في الثانية عن %7.5

آليات الفشل:

  • يختلف حجم الدائرة في الفيديو الذي تم تسجيله بمعدّل 30 لقطة في الثانية بشكل كبير عن حجمها في الفيديو الذي تم تسجيله بمعدّل 60 لقطة في الثانية.
  • يتم تشويه الدائرة في الصورة الملتقطة بسبب مسار المعالجة.
  • يتم اقتصاص الدائرة في الصورة الملتقطة بسبب طلب التقاط بنسبة عرض إلى ارتفاع قصوى يؤدي إلى تقليل ارتفاع الصورة أو عرضها.
  • يظهر في منتصف الدائرة في الصورة الملتقطة انعكاس، ولا تبدو الدائرة ممتلئة بالكامل.

test_aspect_ratio_and_crop

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

واجهات برمجة التطبيقات التي تم اختبارها:

اجتياز: لا يتم تمديد الصور، ولا يختلف مركز الصور بأكثر من %3، ويتم الحفاظ على أقصى مجال رؤية ممكن.

آليات الفشل:

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

test_multi_camera_alignment

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

واجهات برمجة التطبيقات التي تم اختبارها:

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

آليات الفشل:

  • LENS_INTRINSIC_CALIBRATION وLENS_POSE_TRANSLATION وLENS_POSE_ROTATION هي قيم تصميم وليست بيانات معايرة فعلية.
  • نظام الكاميرا غير مناسب لإعداد الاختبار، على سبيل المثال، اختبار نظام كاميرا واسعة جدًا وواسعة باستخدام جهاز اختبار RFoV. لمزيد من المعلومات، يُرجى الاطّلاع على السؤال الأول من الأسئلة الشائعة حول Camera ITS-in-a-box.

test_preview_aspect_ratio_and_crop

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

واجهات برمجة التطبيقات التي تم اختبارها:

اجتياز: لا يتم تمديد الصور، ولا يختلف مركز الصور بأكثر من %3، ويتم الحفاظ على أقصى مجال رؤية ممكن.

test_preview_stabilization_fov

للتحقّق من أحجام المعاينة المتوافقة للمساعدة في ضمان اقتصاص مجال الرؤية بشكل مناسب. تسجّل التجربة فيديوهَين، أحدهما مع تفعيل ميزة تثبيت المعاينة ON، والآخر مع إيقافها OFF. يتم اختيار إطار تمثيلي من كل فيديو، ويتم تحليله للتحقّق من أنّ التغييرات في مجال الرؤية في الفيديوَين تندرج ضمن المواصفات.

واجهات برمجة التطبيقات التي تم اختبارها:

اجتياز: تظل نسبة العرض إلى الارتفاع للدائرة ثابتة تقريبًا، ويظل الموقع المركزي للدائرة ثابتًا، ولا يتغيّر حجم الدائرة بأكثر من %20.

test_video_aspect_ratio_and_crop

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

واجهات برمجة التطبيقات التي تم اختبارها:

ناجح: لا يتم تمديد إطارات الفيديو، ولا يختلف مركز الإطارات بأكثر من %3، ويتم الحفاظ على أقصى مجال رؤية ممكن.

scene5

يتطلّب scene5 مشهدًا رماديًا مضاءً بشكل موحّد. ويتم ذلك باستخدام ناشر ضوء موضوع على عدسة الكاميرا. ننصحك باستخدام المشتّت التالي: www.edmundoptics.com/optics/window-diffusers/optical-diffusers/opal-diffusing-glass/46168.

لتحضير المشهد، ضَع ناشرًا أمام الكاميرا ووجِّه الكاميرا إلى مصدر إضاءة بقوة 2000 لوكس تقريبًا. يجب أن تكون الصور الملتقطة لـ scene5 مضاءة بشكل منتشر بدون ظهور أي ميزات. في ما يلي صورة نموذجية:

scene5 example

الشكل 117: مثال على لقطة scene5

test_lens_shading_and_color_uniformity

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

واجهات برمجة التطبيقات التي تم اختبارها:

اجتياز: ضمن نصف قطر الصورة المحدّد، يجب أن يكون تباين قيمة الأحمر والأخضر والأزرق والأخضر أقل من% 20 لاجتياز الاختبار.

scene6

scene6 هي شبكة من علامات ArUco يمكن التعرّف عليها بشكل فريد. قد تكون الاختبارات في scene6 حساسة للمحاذاة، لذا بدءًا من الإصدار 15، يمكنك استخدام check_alignment.py في دليل الأدوات لتفعيل عملية التحقّق من محاذاة الجهاز قيد الاختبار والمخطط.

scene6

الشكل 118. مثال على scene6.

test_in_sensor_zoom

تختبر هذه الحالة سلوك ميزة &quot;التكبير داخل المستشعر&quot; في الكاميرا، والتي تنتج صورًا أولية تم اقتصاصها.

عند ضبط حالة استخدام البث على CROPPED_RAW، يلتقط الاختبار صورتَين ضمن نطاق التكبير/التصغير، وهما صورة أولية بنطاق كامل لمجال الرؤية وصورة أولية تم اقتصاصها. يحوّل الاختبار الصور إلى مصفوفات RGB، ويقلّل حجم الصورة الخام الكاملة الحجم التي تم اقتصاصها إلى الحجم الذي تعرضه SCALER_RAW_CROP_REGION، ويحسب الفرق بين الصورتين في الجذر التربيعي لمتوسط المربعات الثلاثية الأبعاد.

واجهات برمجة التطبيقات التي تم اختبارها:

اجتياز: يكون الفرق في متوسط الجذر التربيعي (RMS) ثلاثي الأبعاد بين الصورة الأولية التي تم اقتصاصها وتصغير حجمها والصورة الأولية الكاملة لمجال الرؤية أقل من الحدّ الذي تم ضبطه في الاختبار.

test_zoom

تختبر هذه الحالة سلوك تكبير/تصغير الكاميرا من العدسة الواسعة جدًا إلى العدسة الواسعة. يتم التقاط صور ضمن نطاق التكبير أو التصغير والتحقّق مما إذا كانت علامات ArUco تصبح أكبر عند التكبير بالكاميرا. يتحقّق الاختبار أيضًا مما إذا كان موضع العلامة المركزية يتغيّر بشكل متوقّع خلال كل عملية تسجيل. يمكن أن تتغيّر المسافة من مركز العلامة المركزية إلى مركز الصورة بمعدّل ثابت بالنسبة إلى نسبة التكبير/التصغير إلى أن يتم التبديل إلى كاميرا أخرى، أو يمكن أن تتغيّر بشكل متزايد باتجاه موقع العلامة نفسها بعد التبديل إلى كاميرا أخرى. يجب تثبيت تطبيق Jetpack Camera (JCA) على الجهاز قبل إجراء الاختبار.

واجهات برمجة التطبيقات التي تم اختبارها:

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

test_zoom للعثور على محيط علامة ArUco الأقرب إلى المركز

الشكل 119: test_zoom للعثور على محيط علامة ArUco الأقرب إلى المركز

test_low_latency_zoom

يختبر هذا الإعداد سلوك التكبير/التصغير بزمن استجابة منخفض للكاميرا. تلتقط هذه الحالة صورًا ضمن نطاق التكبير/التصغير باستخدام android.control.settingsOverride = 1 (SETTINGS_OVERRIDE_ZOOM)، وتتحقّق مما إذا كانت العلامات في الصور الناتجة تتطابق مع نسب التكبير/التصغير في البيانات الوصفية الخاصة باللقطة. يتم استخدام جلسة التقاط الكاميرا نفسها لدمج 3A والتقاط الصور.

واجهات برمجة التطبيقات التي تم اختبارها:

اجتياز: يكون الحجم النسبي للعلامة التي تم التقاطها دقيقًا مقارنةً بالبيانات الوصفية لنتيجة نسبة التكبير/التصغير.

test_preview_video_zoom_match

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

واجهات برمجة التطبيقات التي تم اختبارها:

اجتياز: يكون الحجم النسبي للعلامة التي تم التقاطها دقيقًا مقارنةً بنسبة التكبير/التصغير المطلوبة في الفيديو والمعاينة.

HD_1280x720_key_frame.png

الشكل 120. HD_1280x720_key_frame.png (قبل التكبير)

preview_1280x720_key_frame.png

الشكل 121: preview_1280x720_key_frame.png (قبل التكبير)

HD_1280x720_key_frame_zoomed.png

الشكل 122. HD_1280x720_key_frame.png (بعد التكبير)

preview_1280x720_key_frame_zoomed.png

الشكل 123. preview_1280x720_key_frame.png (بعد التكبير).

test_preview_zoom

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

واجهات برمجة التطبيقات التي تم اختبارها:

اجتياز: يكون الحجم النسبي لعلامة ArUco المحدّدة دقيقًا بالنسبة إلى نسبة التكبير/التصغير التي تم الإبلاغ عنها لنتيجة الالتقاط المقابلة في جميع إطارات المعاينة. تكون المسافة النسبية بين العلامة المحدّدة ومركز الصورة دقيقة بالنسبة إلى نسبة التكبير/التصغير المُبلغ عنها لنتيجة الالتقاط المقابلة لجميع لقطات المعاينة.

صور test_preview_zoom تعرض العلامة المحدّدة الأقرب إلى الوسط

الشكل 124: صور test_preview_zoom تعرض العلامة المحدّدة الأقرب إلى المنتصف

test_session_characteristics_zoom

تختبر هذه السمة نطاق نسبة التكبير/التصغير لجميع إعدادات الجلسات المتوافقة والمدرَجة في CameraCharacteristics#INFO_SESSION_CONFIGURATION_QUERY_VERSION. بالنسبة إلى كل من هذه الإعدادات، إذا كانت قيمة CameraDeviceSetup#isSessionConfigurationSupported هي true، يتحقّق الاختبار من إمكانية الوصول إلى نطاق نسبة التكبير/التصغير الذي تم عرضه في CameraDeviceSetup#getSessionCharacteristics.

واجهات برمجة التطبيقات التي تم اختبارها:

اجتياز: يمكن الوصول إلى الحدّين الأدنى والأقصى لنسب التكبير/التصغير لكل SessionConfiguration مدرَج في CameraCharacteristics#INFO_SESSION_CONFIGURATION_QUERY_VERSION.

‫scene7

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

‫scene7

الشكل 125. scene7.

test_multi_camera_switch

يتحقّق هذا الاختبار من أنّ التبديل بين العدسة الواسعة جدًا (UW) والعدسة الواسعة (W) أثناء تسجيل المعاينة بنسب تكبير/تصغير مختلفة يؤدي إلى الحصول على قيم RGB متشابهة.

يستخدم الاختبار نسب تكبير/تصغير مختلفة ضمن النطاق المحدّد مسبقًا لتسجيل معاينة ديناميكية وتحديد النقطة التي تتغير عندها الكاميرا الفعلية. تشير هذه النقطة إلى الانتقال من عدسة الزاوية الواسعة جدًا إلى عدسة الزاوية الواسعة.

يتم تحليل اللقطات التي تم التقاطها عند نقطة التقاطع وقبلها من أجل التعرّض التلقائي (AE) وتوازن اللون الأبيض التلقائي (AWB) والتركيز التلقائي (AF).

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

أثناء تنفيذ هذا الاختبار، إذا تداخل تأثير التموّج مع النتائج، استخدِم جهازًا لوحيًا بدقة أعلى من قائمة الأجهزة اللوحية التي وافقت عليها Camera ITS.

واجهات برمجة التطبيقات التي تم اختبارها:

اجتياز: لاجتياز الاختبار، يجب اجتياز عمليات التحقّق من AE وAWB. تُستخدَم نتائج عملية التحقّق من AF لأغراض التسجيل فقط. في ما يلي معايير كل عملية تحقّق:

  • فحص التعرّض التلقائي: يجب أن يكون التغيير في شدة الإضاءة (قيمة Y) بين صور العدسة ذات الزاوية الواسعة جدًا والعدسة ذات الزاوية الواسعة أقل من% 4 لجميع رقع الألوان إذا كان الجهاز يتيح كلاً من ae_regions وawb_regions. إذا كان ae_regions هو السمة الوحيدة المتوافقة، يجب أن تستوفي قيم رقعة اللون الرمادي المعايير.
  • فحص توازن اللون الأبيض: يجب أن يكون الفرق بين قيمتَي الأحمر والأخضر والأزرق والأخضر لصور عدستَي UW وW أقل من% 3 بالنسبة إلى رقعة اللون الرمادي، وأقل من% 10 بالنسبة إلى رقع الألوان الأخرى إذا كان الجهاز يتيح استخدام كل من ae_regions وawb_regions.
  • فحص التركيز التلقائي: يجب أن تكون حدة الصورة التي تم التقاطها باستخدام العدسة العادية أعلى من حدة الصورة التي تم التقاطها باستخدام العدسة الواسعة جدًا.

test_multi_camera_switch_gray_uw_y

الشكل 126. صورة لقطعة قماش رمادية تم التقاطها باستخدام عدسة UW

test_multi_camera_switch_gray_w_y

الشكل 127. صورة رقعة رمادية تم التقاطها باستخدام عدسة W

scene8

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

مثال على scene8

الشكل 128. مثال على scene8.

test_ae_awb_regions

الاختبارات التي تختلف فيها قيم RGB وluma عند معاينة التسجيل في مناطق مختلفة من AE وAWB

يسجِّل الاختبار معاينة لمدة 8 ثوانٍ، ويجري قياسات التعريض التلقائي وتوازن اللون الأبيض على كل ربع من الشاشة لمدة ثانيتَين. يستخرج الاختبار بعد ذلك إطارًا من تسجيل المعاينة لكل منطقة، ويستخدم الإطارات المستخرَجة لإجراء عمليات التحقّق التالية من التعرّض التلقائي للضوء (AE) وموازنة اللون الأبيض (AWB):

  • فحص التعرّض التلقائي: يتحقّق من أنّ اللقطة التي تقيس المنطقة ذات التعرّض المنخفض تحتوي على قيمة إضاءة أعلى بنسبة تزيد عن% 1 مقارنةً باللقطة التي تقيس المنطقة ذات التعرّض المتزايد. يؤكّد ذلك أنّه يتم تفتيح الصور عند قياس مستوى الإضاءة في منطقة داكنة.
  • فحص توازن اللون الأبيض: يتحقّق هذا الفحص من أنّ نسبة اللون الأحمر إلى اللون الأزرق (من متوسط قيم RGB للصورة) في الإطار الذي يحتوي على منطقة قياس الضوء الزرقاء تزيد بنسبة %2 عن الإطار الذي يحتوي على منطقة قياس الضوء الصفراء. يتحقّق ذلك من أنّ الصور تتضمّن قيمة متوازنة للنموذج اللوني أحمر أخضر أزرق (RGB) عند قياس منطقة صفراء (دافئة) أو زرقاء (باردة).

واجهات برمجة التطبيقات التي تم اختبارها:

اجتياز: اجتياز عمليتَي التحقّق من AE وAWB.

test_ae_awb_regions_dark_region

الشكل 129. قياس الإضاءة في إطار منطقة داكنة مع زيادة مستوى التعرّض للضوء

test_ae_awb_regions_light_region

الشكل 130. منطقة قياس الإطار الأفتح مع تقليل درجة التعرّض للضوء

آليات الفشل:

  • من الضروري رصد جميع علامات ArUco الأربع بدقة لإجراء هذا الاختبار. إذا تعذّر إجراء عملية الرصد الأولية، يحاول النظام إجراء عملية رصد ثانية باستخدام نسخة بالأبيض والأسود من الصورة. تمثّل صورة التدرّج الرمادي التالية خطوة المعالجة الثانوية:

    عدم محاذاة علامات ArUco

    الشكل 131. عدم محاذاة علامات ArUco

test_color_correction_mode_cct

اختبارات COLOR_CORRECTION_MODE على درجات حرارة ألوان ودرجات مختلفة، والتحقّق من التغييرات في نسب الأحمر والأخضر والأزرق مقارنةً بمشهد الالتقاط، scene8

واجهات برمجة التطبيقات التي تم اختبارها:

اجتياز: تُظهر نسب الأحمر والأخضر والأزرق الزيادات أو الانخفاضات المتوقّعة مقارنةً بدرجات حرارة الألوان ودرجات الألوان المحدّدة.

معايير تخطّي الاختبار

يتم تخطّي اختبار test_color_correction_mode_cct في حال استيفاء أي من المعايير التالية:

scene9

تتألف صورة scene9 من آلاف الدوائر ذات الأحجام والألوان العشوائية لإنشاء مشهد ذي قابلية تكرار منخفضة جدًا بهدف اختبار خوارزميات ضغط JPEG.

scene9 example

الشكل 132. مثال على scene9.

test_jpeg_high_entropy

اختبارات لضغط JPEG في الكاميرا على scene9 مع إنتروبيا عالية وضبط عامل جودة JPEG على %100 يتم زيادة عامل التكبير للتأكّد من أنّ المشهد المعروض على الجهاز اللوحي يملأ مجال رؤية الكاميرا.

واجهات برمجة التطبيقات التي تم اختبارها:

ناجح: تم ضغط ملف JPEG وكتابته وقراءته من القرص بشكلٍ سليم.

test_jpeg_quality

يختبر هذا الإعداد جودة ضغط JPEG للكاميرا. تتدرّج جودة ملفات JPEG من خلال android.jpeg.quality وتتحقّق من أنّ جداول التكميم تتغيّر بشكل صحيح.

واجهات برمجة التطبيقات التي تم اختبارها:

النتيجة "اجتياز": تنخفض مصفوفة التكميم مع زيادة الجودة. (تمثّل المصفوفة عامل القسمة).

متوسطات مصفوفة DQT لشدة الإضاءة واللون في الكاميرا الخلفية لهاتف Pixel 4 مقارنةً بجودة JPEG

الشكل 133. متوسطات مصفوفة DQT لسطوع الألوان ودرجاتها في كاميرا هاتف Pixel 4 الخلفية مقارنةً بجودة JPEG

مثال على اختبار test_jpeg_quality الذي تعذّر إجراؤه

الشكل 134 مثال على اختبار لم يتم اجتيازه

scene_video

scene_video هو مشهد فيديو يتألف من أربع دوائر بألوان مختلفة تتحرك ذهابًا وإيابًا بمعدلات عرض لقطات مختلفة على خلفية بيضاء.

الشكل 135: مثال على scene_video

test_preview_frame_drop

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

واجهات برمجة التطبيقات التي تم اختبارها:

اجتياز: يكون معدّل عرض اللقطات في المعاينة عند الحد الأقصى لنطاق معدّل عرض اللقطات المطلوب، ويكون متوسط التفاوت بين اللقطات المتتالية أقل من التفاوت النسبي المحدّد في الاختبار.

scene_extensions

تخصّ scene_extensions الاختبارات إضافات الكاميرا ويجب أن تستخدم Camera ITS-in-a-Box، لأنّها تتطلّب تحكّمًا دقيقًا في بيئة الاختبار. بالإضافة إلى ذلك، يجب التحكّم في أي تسريب للضوء. قد يتطلّب ذلك تغطية جهاز الاختبار والجهاز الخاضع للاختبار والجهاز اللوحي بقطعة قماش واقية، بالإضافة إلى منع تسرُّب الضوء من الشاشة الأمامية للجهاز الخاضع للاختبار.

scene_hdr

يتألف المشهد scene_hdr من صورة شخصية على اليمين ورمز استجابة سريعة منخفض التباين على اليسار.

scene_hdr

الشكل 136: مثال على scene_hdr.

test_hdr_extension

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

واجهات برمجة التطبيقات التي تم اختبارها:

اجتياز: يقلّل تطبيق HDR من عدد التغييرات في التباين اللازمة لرصد رمز الاستجابة السريعة أو يقلّل من التدرّج اللوني في رمز الاستجابة السريعة.

scene_low_light

يتألف المشهد scene_low_light من شبكة مربعات بدرجات مختلفة من اللون الرمادي على خلفية سوداء، ويحيط بالمربعات خط أحمر. يتم ترتيب المربّعات في اتجاه منحنى هيلبرت.

‫scene_low_light مثال

الشكل 137. مثال على scene_low_light.

test_night_extension

تختبر هذه السمة إضافة Night. يتم التقاط الصور مع تفعيل الإضافة، ويتم تنفيذ ما يلي:

  • رصد وجود 20 مربّعًا
  • تحسب هذه الدالة قيمة الإضاءة المحدودة بكل مربّع
  • تحسب هذه السمة متوسط قيمة الإضاءة لأول 6 مربعات وفقًا لاتجاه شبكة منحنى هيلبرت
  • تحسب هذه السمة الفرق في قيمة سطوع المربّعات المتتالية (مثلاً، المربّع 2 - المربّع 1) حتى المربّعين 5 و6 (المربّع 6 - المربّع 5)، ثم تحسب متوسط الفروق الخمسة التي تم احتسابها.

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

واجهات برمجة التطبيقات التي تم اختبارها:

بطاقة:

  • بالنسبة إلى الأجهزة التي تعمل بالإصدار 16 من نظام التشغيل Android أو الإصدارات الأحدث، يجب أن يكون متوسط قيمة الإضاءة لأول 6 مربعات 80 على الأقل، ويجب أن يكون متوسط الفرق في قيمة الإضاءة للمربعات المتتالية حتى المربعين 5 و6 هو 18.75 على الأقل.
  • بالنسبة إلى الأجهزة التي تعمل بالإصدار 15 من نظام التشغيل Android والإصدارات الأقدم، يجب أن يكون متوسط قيمة السطوع لأول 6 مربعات 85 على الأقل، ويجب أن يكون متوسط الفرق في قيمة السطوع للمربعات المتتالية حتى المربعين 5 و6 هو 17 على الأقل.

يوضّح الرسم البياني التالي لشدة الإضاءة شكل نتيجة الاختبار الناجحة.

مثال على اجتياز اختبار مشهد ليلي بإضاءة منخفضة

الشكل 138. مثال على اجتياز اختبار مشهد ليلي في الإضاءة المنخفضة

test_low_light_boost_extension

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

  • يرصد وجود 20 مربّعًا
  • تحسب هذه السمة قيمة الإضاءة المحدودة بكل مربّع
  • تحسب هذه السمة متوسط قيمة الإضاءة لأول 6 مربعات وفقًا لاتجاه شبكة منحنى هيلبرت
  • تحسب هذه السمة الفرق في قيمة سطوع المربّعات المتتالية (مثلاً، المربّع 2 - المربّع 1) حتى المربّعين 5 و6 (المربّع 6 - المربّع 5)، ثم تحسب متوسط الفروق الخمسة التي تم احتسابها.

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

واجهات برمجة التطبيقات التي تم اختبارها:

بطاقة:

  • بالنسبة إلى الأجهزة التي تعمل بالإصدار 16 من نظام التشغيل Android أو الإصدارات الأحدث، يجب أن يكون متوسط قيمة الإضاءة لأول 6 مربعات 54 على الأقل، ويجب أن يكون متوسط الفرق في قيمة الإضاءة للمربعات المتتالية حتى المربعين 5 و6 هو 17 على الأقل.

  • بالنسبة إلى الأجهزة التي تعمل بالإصدار 15 من نظام التشغيل Android والإصدارات الأقدم، يجب أن يكون متوسط قيمة السطوع لأول 6 مربعات 70 على الأقل، ويجب أن يكون متوسط الفرق في قيمة السطوع للمربعات المتتالية حتى المربعين 5 و6 هو 18 على الأقل.

scene_tele

من المتطلبات الأساسية لاختبارات scene_tele أن تكون مسافة لوحة الاختبار على الأقل مساوية للحد الأدنى لمسافة التركيز البؤري لعدسة التقريب. بما أنّ الحد الأدنى لمسافة التركيز البؤري قد يختلف بين الأجهزة، عليك ضبط إعداداتك لتناسب كاميرا التقريب المحدّدة.

scene_tele setup based on focus distance of wide and tele camera

الشكل 139: إعداد scene_tele استنادًا إلى مسافة التركيز في الكاميرا ذات العدسة الواسعة والعدسة المقرِّبة

لمزيد من المعلومات حول إعداد أجهزة الاختبار، يُرجى الاطّلاع على إعداد منصة اختبار ملحقات الهاتف.

scene6_tele

يتكوّن مشهد scene6_tele من شبكة من علامات ArUco على خلفية بيضاء.

إذا كانت لقطات scene6_tele تبدو معرَّضة للضوء بشكل مفرط في الحامل المعياري، أزِل اللوحة الأمامية من الحامل المعياري.

افصل جهاز اختبار مجال الرؤية الواسع عن الإضافة وأزِل حامل الهاتف.

افصل جهاز اختبار مجال الرؤية الواسع عن الوحدة الإضافية وأزِل حامل الهاتف

الشكل 140. افصل جهاز اختبار مجال الرؤية الواسع عن الإضافة وأزِل حامل الهاتف.

remove_front_plate

الشكل 141. أزِل اللوحة الأمامية.

test_zoom_tele

تختبر هذه الحالة سلوك تكبير/تصغير الكاميرا من العدسة الواسعة إلى العدسة المقرِّبة (تيليفوتو). يكون الاختبار مطابقًا لاختبار test_zoom، ولكنّه يختبر سلوك تكبير/تصغير الكاميرا من العدسة العريضة إلى العدسة المقرِّبة (تيليفوتو).

واجهات برمجة التطبيقات التي تم اختبارها:

اجتياز: يكون الحجم النسبي لعلامة ArUco التي تم التقاطها دقيقًا مقارنةً بنسبة التكبير/التصغير المطلوبة للتأكّد من أنّ الكاميرا تكبّر/تصغّر بشكل صحيح، ويتغيّر موضع العلامة بالنسبة إلى مركز الصورة وفقًا للمعايير الواردة في test_zoom.

test_preview_zoom_tele

تختبر هذه الحالة سلوك تكبير/تصغير الكاميرا لإطارات المعاينة من العدسة الواسعة إلى العدسة المقرِّبة (تيليفوتو). يكون الاختبار مطابقًا لاختبار test_preview_zoom، ولكنّه يختبر سلوك تكبير/تصغير الكاميرا لإطارات المعاينة من العدسة الواسعة إلى العدسة المقرِّبة (تيليفوتو).

واجهات برمجة التطبيقات التي تم اختبارها:

اجتياز: يكون الحجم النسبي لعلامة ArUco التي تم التقاطها دقيقًا مقارنةً بنسبة التكبير/التصغير المطلوبة للتحقّق من أنّ الكاميرا تكبّر/تصغّر بشكل صحيح، ويتغيّر بُعد العلامة عن مركز الصورة وفقًا للمعايير الواردة في test_preview_zoom.

scene7_tele

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

test_multi_camera_switch_tele

يتحقّق هذا الاختبار من أنّ التبديل بين العدسة ذات الزاوية الواسعة (W) وعدسة التقريب (tele) أثناء تسجيل المعاينة بنسب تكبير/تصغير مختلفة يؤدي إلى قيم RGB متشابهة.

يستخدم الاختبار نسب تكبير/تصغير مختلفة ضمن النطاق المحدّد مسبقًا لتسجيل معاينة ديناميكية وتحديد النقطة التي تتغير عندها الكاميرا الفعلية. تشير هذه النقطة إلى الانتقال من العدسة ذات الزاوية الواسعة إلى عدسة التقريب.

يتم تحليل اللقطات التي تم التقاطها عند نقطة الانتقال وقبلها من أجل التعرّض التلقائي للضوء وتوازن اللون الأبيض والتركيز التلقائي.

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

واجهات برمجة التطبيقات التي تم اختبارها:

اجتياز: لاجتياز الاختبار، يجب اجتياز عمليات التحقّق من AE وAWB وAF. في ما يلي معايير كل عملية تحقّق:

  • فحص التعريض التلقائي: يجب أن يكون التغيير في شدة الإضاءة بين صور العدسة العريضة وعدسة التقريب أقل من %4.
  • التحقّق من توازن اللون الأبيض: في مساحة ألوان LAB، يجب ألا يتجاوز الفرق في اللون بين الأحمر والأخضر والأزرق والأخضر في العدسة العريضة وعدسة التقريب 10.
  • فحص التركيز التلقائي: يجب أن تكون حدة الصورة التي تلتقطها العدسة المقرّبة أعلى من حدة الصورة التي تلتقطها العدسة العادية.

scene_flash

تتطلّب اختبارات scene_flash مشهدًا مظلمًا في مربّع دمج المستشعرات.

test_auto_flash

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

واجهات برمجة التطبيقات التي تم اختبارها:

اجتياز: يكون مركز صورة المربّع مع تفعيل الفلاش التلقائي أكثر سطوعًا من صورة المشهد الأصلية لجميع الكاميرات.

test_flash_strength

اختبارات التحكّم في قوة الفلاش في وضع SINGLE يتم تنفيذها بشكل صحيح.

تتحقّق هذه الحالة من أنّه إذا كان الجهاز يتيح التحكّم في قوة الفلاش أثناء استخدام الكاميرا في وضع SINGLE، تتغيّر قوة الفلاش مع مستويات القوة المختلفة المطلوبة. تتحقّق هذه السمة من أنّ عنصر التحكّم في قوة الفلاش يعمل مع AE_MODES مختلفة. على سبيل المثال، إذا كان وضع التعريض التلقائي ON أو OFF، سيؤثر مستوى قوة الفلاش في درجة السطوع، وإذا كان الوضع ON_AUTO_FLASH، لن يؤثر مستوى قوة الفلاش في درجة السطوع.

لإجراء الاختبار، يجب إيقاف الأضواء في جهاز الاختبار. يمكن إيقاف الأضواء تلقائيًا باستخدام وحدة التحكّم Arduino. يجب أن يكون المشهد مظلمًا تمامًا لكي يعمل الاختبار بشكل صحيح.

واجهات برمجة التطبيقات التي تم اختبارها:

بطاقة:

عندما يكون وضع التعريض التلقائي ON أو OFF، يزداد سطوع رقع الصورة مع زيادة مستوى قوة الفلاش من بدون فلاش إلى FLASH_SINGLE_STRENGTH_MAX_LEVEL. عندما يكون وضع التعريض التلقائي ON_AUTO_FLASH، يكون الفرق في سطوع أجزاء الصورة ضمن الحد المسموح به مع زيادة مستوى قوة الفلاش من عدم استخدام الفلاش إلى FLASH_SINGLE_STRENGTH_MAX_LEVEL.

test_led_snapshot

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

يضيف هذا الاختبار وحدة تحكّم في الإضاءة إلى صندوق Sensor Fusion Box للتحكّم في الأضواء. مع ضبط الإضاءة على OFF، يلتقط الاختبار صورة مع ضبط الوضع AUTO_FLASH على ON. أثناء عملية الالتقاط هذه، ينفّذ الاختبار تسلسلاً مسبقًا لعملية الالتقاط مع ضبط مشغّل aePrecapture على START، ويضبط غرض الالتقاط على Preview لالتقاط الصورة باستخدام الفلاش.

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

واجهات برمجة التطبيقات التي تم اختبارها:

اجتياز: تتراوح نسبتا الأحمر إلى الأخضر والأزرق إلى الأخضر بين 0.95 و1.05. يقع متوسط صورة الفلاش ضمن النطاق (68, 102).

test_night_mode_indicator

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

يتحقّق هذا الاختبار من أنّ مؤشر الوضع الليلي يعكس بشكل صحيح ظروف الإضاءة أثناء معاينة الكاميرا. يُجري الاختبار الخطوات التالية:

  1. بدء التشغيل: تبدأ التجربة ItsSession وتسترد خصائص الكاميرا. ويتيح أيضًا إنشاء اتصال مع وحدة التحكّم في الإضاءة.
  2. شروط التخطّي: يتم تخطّي الاختبار إذا كان الجهاز لا يتوافق مع مستوى واجهة برمجة التطبيقات المطلوب أو ميزة مؤشر الوضع الليلي.
  3. جلسة Camera2:
    • يبدأ الاختبار جلسة التقاط معاينة باستخدام جلسة Camera2.
    • يتم تشغيل الضوء والتقاط إطار معاينة.
    • يتحقّق الاختبار من أنّ مؤشر الوضع الليلي في الحالة OFF.
    • يتم إيقاف الضوء والتقاط إطار معاينة.
    • يتحقّق الاختبار من أنّ مؤشر الوضع الليلي في الحالة ON.
  4. جلسة إضافة الكاميرا:
    • يكرّر الاختبار الإجراء نفسه كما هو الحال في جلسة Camera2، ولكن باستخدام جلسة CameraExtension مع الإضافة EXTENSION_NIGHT.
  5. التنظيف: يتم إغلاق الاختبار ItsSession ويتم تحرير وحدة التحكّم في الإضاءة.

واجهات برمجة التطبيقات التي تم اختبارها:

بطاقة:

  • عندما يكون الضوء مضاءً، يجب أن يكون مؤشر الوضع الليلي في الحالة OFF.
  • عندما يكون الضوء مطفأً، يجب أن يكون مؤشر "الوضع الليلي" في الحالة ON.
  • ينطبق ذلك على كلّ من جلسات Camera2 وCameraExtension.

test_preview_min_frame_rate

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

واجهات برمجة التطبيقات التي تم اختبارها:

اجتياز: يكون معدّل عرض اللقطات في المعاينة عند الحد الأدنى من نطاق معدّل عرض اللقطات المطلوب، ويكون التفاوت بين اللقطات أقل من التفاوت المطلق المحدّد في الاختبار.

test_torch_strength

اختبارات التحكّم في قوة الفلاش في وضع TORCH يتم تنفيذها بشكل صحيح.

يتحقّق هذا الاختبار من أنّه إذا كان الجهاز يتيح التحكّم في قوة الضوء الوامض أثناء استخدام الكاميرا في وضع TORCH، تتغيّر قوة الضوء الوامض مع مستويات القوة المختلفة المطلوبة. تتحقّق هذه السمة من أنّ عنصر التحكّم في قوة الفلاش يعمل مع AE_MODES مختلفة. على سبيل المثال، إذا كان وضع التعريض التلقائي ON أو OFF، سيؤثر مستوى قوة الفلاش في درجة السطوع، وإذا كان الوضع ON_AUTO_FLASH، لن يؤثر مستوى قوة الفلاش في درجة السطوع. تتحقّق هذه السمة من أنّ قوة ضوء المصباح تظل كما هي طوال مدة اللقطة السريعة، ما يحاكي جلسة تسجيل فيديو. لإجراء الاختبار، يجب إيقاف الأضواء في جهاز الاختبار، ويمكن إيقافها تلقائيًا باستخدام وحدة التحكّم Arduino. يجب أن يكون المشهد مظلمًا تمامًا لكي يعمل الاختبار بشكل صحيح.

واجهات برمجة التطبيقات التي تم اختبارها:

بطاقة:

عندما يكون وضع التعريض التلقائي ON أو OFF، يزداد سطوع رقع اللقطات المتتالية مع زيادة مستوى قوة الفلاش من عدم استخدام الفلاش إلى FLASH_TORCH_STRENGTH_MAX_LEVEL. عندما يكون وضع التعريض التلقائي ON_AUTO_FLASH، يكون الفرق في سطوع رقعات اللقطة المتتابعة ضمن الحد المسموح به مع زيادة مستوى قوة الفلاش من بدون فلاش إلى FLASH_TORCH_STRENGTH_MAX_LEVEL.

sensor_fusion

تتطلّب اختبارات دمج البيانات الحسية تحريك الهاتف بطريقة معيّنة أمام نمط رقعة الشطرنج وعلامات ArUco. للحصول على أفضل النتائج، تأكَّد من أنّ لوحة الاختبار مثبّتة بشكل مسطّح. تؤثر الرسومات البيانية غير المسطّحة في حسابات التدوير للعديد من الاختبارات. يجب أن يملأ الرسم البياني الجزء الخلفي من صندوق دمج البيانات الحسية من خلال الطباعة بمقاس 17 × 17 بوصة. (43×43 سم). يمكن إجراء اختبارات sensor_fusion تلقائيًا باستخدام Sensor Fusion Box.

الرسم البياني لدمج بيانات المستشعرات

الشكل 142. الرسم البياني لدمج بيانات المستشعرات

مخطط دمج البيانات الحسية في Rig

الشكل 143. مخطط دمج البيانات الحسية الذي يملأ الجزء الخلفي من مربّع دمج البيانات الحسية

test_lens_intrinsic_calibration

اختبارات للتأكّد من أنّ المركز البصري للعدسة يتغيّر عندما تتحرّك العدسة بسبب التثبيت البصري للصور (OIS). في حال توفّر عيّنات المعايرة الداخلية للعدسة، يتم إجراء اختبارات للتأكّد من أنّ المركز البصري لعيّنات المعايرة الداخلية للعدسة يتغيّر عند تحرّك العدسة بسبب نظام تثبيت الصورة البصري.

واجهات برمجة التطبيقات التي تم اختبارها:

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

الشكل التالي هو مثال على رسم بياني test_lens_intrinsic_calibration يعرض تغييرات النقاط الرئيسية بالبكسل لكل إطار:

test_lens_intrinsic_calibration_example.png

الشكل 144. مثال على الرسم البياني test_lens_intrinsic_calibration الذي يعرض تغييرات النقاط الرئيسية بالبكسل لكل إطار

test_multi_camera_frame_sync

تكون الاختبارات التي تحدّد الطوابع الزمنية التي تسجّلها الكاميرا المنطقية في حدود 10 مللي ثانية من خلال احتساب زوايا المربعات داخل لوحة المربّعات لتحديد الطابع الزمني.

واجهات برمجة التطبيقات التي تم اختبارها:

اجتياز الاختبار: لا تتغير الزاوية بين الصور من كل كاميرا بشكل ملحوظ عند تدوير الهاتف.

test_preview_distortion

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

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

test_preview_distortion_example.jpg

الشكل 145. صورة للوحة مربّعات تتضمّن نقاطًا مثالية باللون الأخضر ونقاطًا فعلية باللون الأحمر

واجهات برمجة التطبيقات التي تم اختبارها:

اجتياز: يكون خطأ التشويش المعدّل لكل إطار معاينة أقل من الحدّ الذي تم ضبطه في الاختبار.

test_preview_stabilization

الاختبارات التي تم فيها تثبيت معاينة الفيديو تدور بمعدل أقل من معدل دوران الجيروسكوب.

واجهات برمجة التطبيقات التي تم اختبارها:

اجتياز: يكون الحد الأقصى لزاوية الدوران على مستوى اللقطات أقل من% 70 من دوران الجيروسكوب.

في ما يلي فيديوهات نموذجية مع ميزة تثبيت الصورة وبدونها:

الشكل 146. نموذج فيديو مع تثبيت الصورة

الشكل 147. فيديو نموذجي بدون تثبيت الصورة

test_sensor_fusion

تختبر هذه السمة الفرق بين الطابع الزمني للكاميرا والجيروسكوب في تطبيقات الواقع المعزّز والواقع الافتراضي. يتم تدوير الهاتف بمقدار 90 درجة 10 مرات أمام نمط المربّعات المتداخلة. تستغرق الحركة حوالي ثانيتَين ذهابًا وإيابًا. يتم تخطّي هذا الاختبار في حال عدم تضمين جيروسكوب أو إذا لم يتم تفعيل المَعلمة REALTIME الخاصة بمصدر الطابع الزمني.

ينشئ اختبار test_sensor_fusion عددًا من المخططات. الرسمان البيانيان الأكثر أهمية لتحديد المشاكل هما:

  • test_sensor_fusion_gyro_events: تعرض هذه السمة أحداث الجيروسكوب للهاتف أثناء الاختبار. يشير التحرك في الاتجاهين x وy إلى أنّ الهاتف غير مثبّت بإحكام على لوحة التثبيت، ما يقلّل من احتمال اجتياز الاختبار. يعتمد عدد الدورات في الرسم البياني على سرعة الكتابة لحفظ اللقطات.

    مثال على أحداث الجيروسكوب test_sensor_fusion

    الشكل 148: مثال على أحداث الجيروسكوب test_sensor_fusion

  • test_sensor_fusion_plot_rotations: تعرض هذه السمة محاذاة أحداث الجيروسكوب والكاميرا. يجب أن يعرض هذا الرسم البياني حركة متطابقة بين الكاميرا والجيروسكوب في حدود +/-1 مللي ثانية.

    test_sensor_fusion plot rotations example

    الشكل 149: مثال على تدوير مخطط test_sensor_fusion

واجهات برمجة التطبيقات التي تم اختبارها:

اجتياز: يكون فرق التوقيت بين الطابع الزمني للكاميرا والجيروسكوب أقل من 1 مللي ثانية وفقًا للقسم 7.3.9 أجهزة الاستشعار عالية الدقة في مستند تعريف التوافق مع الأجهزة (CDD).

آليات الفشل:

  • خطأ في الإزاحة: لم تتم معايرة إزاحة الكاميرا والجيروسكوب بشكل صحيح ضمن نطاق +/-1 مللي ثانية.
  • انخفاض عدد اللقطات في الثانية: لا تكون عملية نقل البيانات سريعة بما يكفي لالتقاط 200 لقطة متتالية.
  • أخطاء المقبس: يتعذّر على adb الاتصال بالجهاز الخاضع للاختبار بشكل موثوق لمدة كافية لتنفيذ الاختبار.
  • الرسم البياني غير مثبّت بشكل مسطّح. يحتوي الرسم البياني test_sensor_fusion_plot_rotations على إطارات يختلف فيها دوران الجيروسكوب والكاميرا بشكل كبير، وذلك لأنّ الكاميرا تدور خلال أجزاء الرسم البياني غير المسطّحة.
  • الكاميرا غير مثبَّتة بشكل مسطّح. يعرض الرسم البياني test_sensor_fusion_gyro_events الحركة في المستويين X وY. ويحدث هذا الخطأ بشكل أكثر شيوعًا في الكاميرات الأمامية لأنّ الكاميرا الخلفية غالبًا ما تكون بارزة عن بقية جسم الهاتف، ما يؤدي إلى حدوث ميل عند تثبيت الجزء الخلفي من الهاتف على لوحة التثبيت.

test_video_stabilization

الاختبارات التي تم فيها تثبيت الفيديو يتم تدويرها بشكل أقل من الجيروسكوب.

واجهات برمجة التطبيقات التي تم اختبارها:

اجتياز: يكون الحد الأقصى لزاوية الدوران خلال اللقطات أقل من% 60 من دوران الجيروسكوب.

في ما يلي فيديوهات نموذجية مع ميزة تثبيت الصورة وبدونها.

الشكل 150. نموذج فيديو مع تثبيت الصورة

الشكل 151. فيديو نموذجي بدون تثبيت الصورة

test_video_stabilization_jca

في الاختبارات التي تم فيها تثبيت الفيديو الذي تم التقاطه باستخدام JCA، يكون معدل دوران الفيديو أقل من معدل دوران الجيروسكوب. يجب تثبيت JCA على الجهاز قبل إجراء الاختبار.

واجهات برمجة التطبيقات التي تم اختبارها:

اجتياز: الحد الأقصى لزاوية الدوران على مستوى اللقطات المستخرَجة من الفيديو الملتقط باستخدام JCA أقل من% 70 من دوران الجيروسكوب.

feature_combination

تتحقّق اختبارات feature_combination من أنّ الميزات تعمل بشكل صحيح عند تفعيل ميزات متعددة للكاميرا في الوقت نفسه. تستخدم هذه الاختبارات صورة لوحة المربّعات نفسها المستخدَمة في مشهد دمج المستشعرات.

test_feature_combination

تختبر جميع التركيبات المختلفة لخيارات البث، ووضع تثبيت الفيديو، ونطاق عدد اللقطات المستهدَف في الثانية، وفيديو 10 بت بنطاق عالي الديناميكية، وUltra HDR المتوافقة مع جهاز الكاميرا.

في نظام التشغيل Android 16 والإصدارات الأحدث، يتم تشغيل الاختبار على جميع مجموعات الميزات المتوافقة، ويتم تسجيل النتائج في ملف proto. لا يتم استدعاء تأكيدات الفشل إلا لمجموعات الميزات التي تعرض فيها الدالة isSessionConfigurationSupported القيمة True.

واجهات برمجة التطبيقات التي تم اختبارها:

النجاح: لكل مجموعة من الميزات المتوافقة:

  • يتم تثبيت بث المعاينة إذا كانت ميزة "تثبيت المعاينة" مفعّلة.
  • يقع معدّل عرض اللقطات في المعاينة ضمن AE_TARGET_FPS_RANGE المضبوط.
  • تتطابق مساحة اللون في معاينة البث المسجّل مع مساحة اللون المحدّدة.
  • يحتوي الالتقاط بدقة Ultra HDR على خريطة كسب صالحة.

scene_ip

في نظام التشغيل Android 16 والإصدارات الأحدث، تتيح ميزة "المشهد" scene_ip إجراء عمليات التحقّق من تطابق الصور بين تطبيق الكاميرا التلقائي وتطبيق الكاميرا Jetpack (JCA) لتحديد الاختلافات الرئيسية بين الصور الملتقطة. تكرّر JCA عمليات التقاط الصور في تطبيقات وسائل التواصل الاجتماعي، وتوفّر صورة أساسية تعالجها تطبيقات وسائل التواصل الاجتماعي وتحسّنها.

متطلبات إعداد الأجهزة

يجب توفُّر إعدادات الأجهزة التالية لإجراء اختبارات scene_ip:

  • يتم تنفيذ الاختبارات في كاميرا Gen2 ITS-in-a-box.
  • يتم استخدام وحدات التحكّم في الإضاءة والمحرّكات المؤازرة التي تشكّل جزءًا من منصة Gen2 للتحكّم في بيئة الاختبار.
  • يتم وضع مخطط ميزات الاختبار داخل منصة Gen2.

test_chart_gen2

الشكل 152. مثال على Gen2chart_sample

معايير تخطّي الاختبار

يتم تخطّي اختبارات scene_ip في حال استيفاء أيّ من المعايير التالية:

  • أن يكون مستوى واجهة برمجة التطبيقات الأول (first_api_level) في الجهاز هو 35 أو أقل.
  • الجهاز ليس هاتفًا مزوّدًا بكاميرا أساسية أمامية وخلفية (مثل جهاز لوحي أو تلفزيون).

test_default_jca_ip

التقاط صور لمخطط ميزة الاختبار في ظروف إضاءة مضبوطة باستخدام تطبيق الكاميرا التلقائي وJCA وإجراء عمليات التحقّق التالية:

  • مجال الرؤية: يتحقّق هذا الاختبار من أنّ تطبيق الكاميرا التلقائي وعمليات الالتقاط باستخدام JCA لهما مجال الرؤية نفسه. يستخدم هذا التحقّق ميزة رمز الاستجابة السريعة في المنتصف المستخرَجة من صورة الرسم البياني التي تم التقاطها.

  • السطوع: يتحقّق هذا الاختبار من أنّ الفرق في السطوع الذي تم قياسه بين تطبيق الكاميرا التلقائي وJCA لا يتجاوز 10. يستخدم هذا الاختبار تصحيح النطاق الديناميكي لقياس السطوع.

  • توازن اللون الأبيض: يتحقّق هذا الاختبار من أنّ الفرق في توازن اللون الأبيض بين تطبيق الكاميرا التلقائي وJCA لا يتجاوز 4. يستخدم هذا الاختبار تصحيح النطاق الديناميكي لقياس السطوع.

اجتياز القسم الأساسي: يجتاز الاختبار عمليات التحقّق من مجال الرؤية والسطوع وتوازن اللون الأبيض. في Android 16، لا يُشترَط إجراء هذا الاختبار (NOT_YET_MANDATED).