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

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

في الإصدار 17 من نظام التشغيل Android والإصدارات الأحدث، يتم تقسيم اختبارات Camera ITS إلى نشاطَين في أداة CTS Verifier للسماح بالتنفيذ المتوازي وتقليل وقت الاختبار: نشاط واحد لاختبارَي feature_combination وsensor_fusion، وآخر لجميع الاختبارات الأخرى.

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

يتم تجميع الاختبارات حسب المشهد في الأقسام التالية:

مشاهد الاختبار المستندة إلى الأجهزة اللوحية

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

مشاهد الاختبار المستندة إلى منصة Gen2 / دمج البيانات الحسية

  • feature_combination: مجموعات الميزات
  • scene_flash: Autoflash، الحدّ الأدنى لعدد اللقطات في الثانية
  • scene_gen2_chart: اختبارات باستخدام مخطط Gen2 الورقي
  • scene_ip: التكافؤ بين الصور في تطبيق الكاميرا التلقائي و"تطبيق Jetpack Camera" (JCA)
  • sensor_fusion: إزاحة التوقيت بين الكاميرا والجيروسكوب

مشهد اختبار مستند إلى أداة نشر

  • scene5: تظليل العدسة

مشهد اختبار على جهاز لوحي بنطاق ألوان واسع

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

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

scene0

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

test_jitter

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

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

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

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

test_jitter plot

الشكل 1. رسم بياني لـ test_jitter.

test_metadata

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

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

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

test_request_capture_match

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

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

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

test_sensor_events

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

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

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

test_solid_color_test_pattern

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

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

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

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

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

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

مثال على test_tonemap_curve YUV

الشكل 4. مثال على اختبار_منحنى_تعديل_درجة_اللون YUV.

test_unified_timestamp

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

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

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

test_vibration_restriction

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

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

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

scene1_1

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

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

scene1 example

الشكل 5. الرسم البياني scene1 بالحجم الكامل (على اليمين)، والرسم البياني بالحجم 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 comp.

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 في ملف الإعداد.

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

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

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

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

الشكل 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 2

scene1_2

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

test_param_color_correction

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

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

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

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

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

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

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

test_param_color_correction req=0 unity example

الشكل 42. مثال على طلب test_param_color_correction بقيمة 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 بشكلٍ صحيح عند ضبطها. تلتقط هذه الميزة صورًا في الأماكن ذات الإضاءة الخافتة. تستخدم هذه الطريقة مستوى تضخيم تناظريًا عاليًا للمساعدة في ضمان أن تكون الصورة الملتقطة مشوّشة. تلتقط هذه السمة ثلاث صور، إحداها بدون تقليل التشويش، والثانية مع تقليل التشويش بسرعة، والثالثة مع تقليل التشويش بجودة عالية. تلتقط هذه الطريقة أيضًا صورة بمستوى كسب منخفض وبدون تقليل التشويش، وتستخدم التباين في هذه الصورة كأساس. كلما زادت نسبة الإشارة إلى الضوضاء، تحسّنت جودة الصورة.

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

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

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‏ (nr=1).

test_param_noise_reduction high gain nr=2 example

الشكل 52: مثال على test_param_noise_reduction high gain 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

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

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

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

test_raw_exposure ISO=55 example

الشكل 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 example

الشكل 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 تلتقط صورًا تمت إعادة معالجتها باستخدام الكاميرا في الإضاءة الخافتة. يستخدم هذا الإعداد مستوى تضخيم تناظريًا عاليًا للتحقّق من أنّ الصورة الملتقطة تتضمّن تشويشًا. تلتقط ثلاث صور تمت إعادة معالجتها، مع إيقاف ميزة "الحد من التشويش"، وبجودة سريعة، وبجودة عالية. تسجيل صورة تمت إعادة معالجتها بمستوى كسب منخفض مع إيقاف ميزة "الحد من التشويش"، واستخدام التباين في هذه الصورة كأساس.

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

النتيجة: 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) (قيمة الإشارة) لجميع مراكز الصور أقل من 0x0A في الصور المحوّلة إلى 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 في وسط الصور المحوَّلة إلى النموذج اللوني أحمر أخضر أزرق (RGB). السجلّاتandroid.shading.mode

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

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

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 الأعلى إلى زيادة مستويات التشويش.

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

يتم تخطّي اختبار 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

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

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

اجتياز: يكون الفرق النسبي في شدة الإضاءة بين اللقطتَين أقل من %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

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.

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

اجتياز الاختبار: يجب أن يكون الفرق في قيمة RMS (الجذر التربيعي لمتوسط المربعات) بين صور YUV وJPEG لحالة الاستخدام STILL_CAPTURE أقل من% 3، ويجب أن يكون الفرق في CIELAB بين صور YUV لجميع حالات الاستخدام المتوافقة أقل من% 4 مقارنةً بصور 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 الكاميرا من مستند تعريف التوافق

اجتياز: يجب أن يكون التقاط حزمة الكاميرا التلقائية بدقة 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، بل تحتوي على الرسم البياني فقط. يجب أن يكون الرسم البياني في الاتجاه الصحيح لكي يعمل تطبيق "البحث عن الرسوم البيانية" على النحو الأمثل. في الإصدار 17 من Android والإصدارات الأحدث، تستخدم scene3 علامات ArUco لرصد الرسوم البيانية.

scene3_aruco_chart

الشكل 108: الرسم البياني للمشهد 3

test_edge_enhancement

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

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

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

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

  • EDGE_MODE

test_edge_enhancement_edge=0

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

test_edge_enhancement edge=1 example

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

test_edge_enhancement edge=2 example

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

test_flip_mirror

تختبر هذه الحالة ما إذا كانت الصورة موجّهة بشكل صحيح وفقًا للفقرة 7.5.2 الكاميرا الأمامية في مستند تعريف التوافق مع الأجهزة (CDD). في الإصدار 17 من نظام التشغيل Android والإصدارات الأحدث، يتم استخدام علامات ArUco للتحقّق من صحة كل من وجود الرسم البياني واتجاهه. يمكن التعرّف على الصور المعكوسة أو المقلوبة أو التي تم تدويرها من خلال شكل الماسة بالقرب من المركز.

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

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

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

test_imu_drift

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

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

البطاقة:

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

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

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

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

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

test_landscape_to_portrait

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

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

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

مثال test_landscape_to_portrait

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

test_lens_movement_reporting

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

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

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

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

اجتياز: علامة حركة العدسة هي 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

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

scene4

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

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

scene4 example

الشكل 117. مثال على 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، ويتم الحفاظ على أقصى مجال رؤية ممكن.

scene6

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

scene6

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

test_in_sensor_zoom

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

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

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

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

test_zoom

تختبر هذه الحالة سلوك تكبير/تصغير الكاميرا من عدسة التقاط صور موسّعة إلى العدسة الواسعة. يتم التقاط صور ضمن نطاق التكبير/التصغير والتحقّق مما إذا كانت علامات ArUco تصبح أكبر عند التكبير بالكاميرا. يتحقّق الاختبار أيضًا مما إذا كان موضع العلامة المركزية يتغيّر بشكل متوقّع خلال كل عملية تسجيل. يمكن أن تتغيّر المسافة من مركز العلامة إلى مركز الصورة بمعدّل ثابت بالنسبة إلى نسبة التكبير/التصغير إلى أن يتم التبديل إلى كاميرا أخرى، أو يمكن أن تتغيّر بشكل رتيب نحو موقع العلامة نفسها بعد التبديل إلى كاميرا أخرى. يجب تثبيت تطبيق Jetpack Camera App (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 متشابهة.

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

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

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

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

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

اجتياز: لاجتياز الاختبار، يجب اجتياز عمليات التحقّق من صحة عنوان البريد الإلكتروني وعنوان الويب. تُستخدَم نتائج عملية التحقّق من 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 ثوانٍ، ويجري قياسات التعريض التلقائي وتوازن اللون الأبيض على كل ربع من الصورة لمدة ثانيتين لكل منهما. يستخرج الاختبار بعد ذلك إطارًا من تسجيل المعاينة لكل منطقة، ويستخدم الإطارات المستخرَجة لإجراء عمليات التحقّق التالية من التعرّض التلقائي للضوء وموازنة اللون الأبيض التلقائية:

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

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

اجتياز: اجتياز كل من عمليات التحقّق من 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_extensions

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

scene_hdr

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

scene_hdr

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

test_hdr_extension

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

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

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

scene_low_light

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

scene_low_light example

الشكل 136. مثال على 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 على الأقل.

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

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

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

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

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

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

scene6_tele

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

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

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

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

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

remove_front_plate

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

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 من أنّ التغيير في شدة الإضاءة ضمن النطاق المتوقّع لكل من صور العدسة العادية وعدسة التقريب. يتحقّق فحص توازن اللون الأبيض من أنّ نسب الأحمر إلى الأخضر والأزرق إلى الأخضر تقع ضمن قيم الحدّ الأقصى لكلّ من صور العدسة العادية وعدسة التقريب. يقيّم فحص التركيز التلقائي قيمة تقدير الحدة استنادًا إلى متوسط مقدار التدرج بين صور العدسة العادية وعدسة التقريب.

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

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

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

scene_video

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

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

test_preview_frame_drop

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

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

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

مشاهد اختبار مستندة إلى منصة Gen2 / دمج بيانات المستشعرات

feature_combination

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

test_feature_combination

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

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

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

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

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

scene_flash

تتطلّب اختبارات scene_flash مشهدًا مظلمًا في مربّع دمج المستشعرات. في الإصدار 17 من نظام التشغيل Android والإصدارات الأحدث، يمكن إجراء اختبار scene_flash باستخدام جهاز Gen2.

test_auto_flash

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

في Android 17 والإصدارات الأحدث، يتم اختبار مستويات التكبير غير 1x للتحقّق من صحة الوظائف في جميع نطاقات التكبير المتوافقة.

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

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

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 لا تشوّه الصورة أو تلوّنها

يضيف هذا الاختبار وحدة تحكّم في الإضاءة إلى صندوق دمج بيانات المستشعرات للتحكّم في الإضاءة. مع ضبط الإضاءة على 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.

scene_gen2_chart

في الإصدار 17 من نظام التشغيل Android والإصدارات الأحدث، تستخدم scene_gen2_chart مخطط Gen2 الورقي.

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

test_chart_gen2

الشكل 142 مثال على نموذج مخطط Gen2.

test_tonemap_sequence

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

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

رسم بياني لتسلسل تعيين الدرجات اللونية في الاختبار

الشكل 143. رسم بياني لتسلسل تعيين الدرجات اللونية

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

اجتياز: يكون الفرق في السطوع بين المنحنيَين التلقائي والخطي أكبر من %15، بينما يكون الفرق بين المنحنيَين الأسيَين أقل من %8.

test_multi_camera_switch

يتحقّق هذا الاختبار من اتساق الألوان ومستوى الإضاءة أثناء عمليات الانتقال بين مستويات التكبير الديناميكي. ويتحقّق من أنّ التبديل بين عدستَي &quot;الزاوية الواسعة جدًا&quot; (UW) و&quot;الزاوية الواسعة&quot; (W) أثناء تسجيل المعاينة يحافظ على قيم CIELAB متطابقة تقريبًا، ما يمنع حدوث تغييرات مرئية في تجربة المستخدم.

ينفّذ الاختبار تسجيل معاينة ديناميكية ضمن نطاق تكبير/تصغير محدّد مسبقًا لتحديد نقطة "التقاطع" في الكاميرا الفعلية، حيث يتم التبديل من العدسة الواسعة جدًا إلى العدسة الواسعة. يحدّد الاختبار الإطار الدقيق الذي يتم فيه التبديل بين العدسات. يتم تسجيل وتحليل اللقطات التي تسبق نقطة التداخل هذه وتليها مباشرةً للتأكّد من ثباتها في ميزة &quot;التعرّض التلقائي للضوء&quot; (AE) و&quot;توازن اللون الأبيض التلقائي&quot; (AWB).

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

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

اجتياز: لاجتياز الاختبار، يجب اجتياز عمليات التحقّق التالية من "البيئة التنفيذية" و"مستند بوليصة الشحن":

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

uw_dynamic_range_patch_cell_8

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

w_dynamic_range_patch_cell_7

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

scene_ip

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

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

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

test_chart_gen2

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

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

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

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

test_default_jca_ip

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

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

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

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

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

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

test_jca_jpegr_ip

يتحقّق هذا الاختبار من أنّ الفرق في توازن اللون الأبيض بين اللقطة المسبقة من JPEG_R JCA والصور الملتقطة لا يتجاوز 4.

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

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

sensor_fusion

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

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

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

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

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

test_lens_intrinsic_calibration

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

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

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

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

test_lens_intrinsic_calibration_example.png

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

test_multi_camera_frame_sync

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

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

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

test_preview_distortion

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

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

test_preview_distortion_example.jpg

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

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

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

test_preview_stabilization

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

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

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

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

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

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

test_sensor_fusion

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

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

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

    test_sensor_fusion gyroscope events example

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

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

    test_sensor_fusion plot rotations example

    الشكل 154. مثال على عمليات تدوير الرسم البياني 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

تم إيقافها نهائيًا: تم إيقاف هذا الاختبار نهائيًا من Android 17. في الإصدار 17 من Android والإصدارات الأحدث، يتم استبدال هذا الاختبار باختبار test_video_stabilization_jca.

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

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

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

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

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

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

test_video_stabilization_jca

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

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

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

مشهد اختبار مستند إلى الناشر

scene5

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

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

scene5 example

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

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

test_lens_shading_and_color_uniformity

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

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

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

آليات الفشل:

  • تأثير التظليل المفرط في الصور
  • تشوّهات الحواف السوداء في الصور

test_lens_shading_and_color_uniformity_y_plane

الشكل 158. test_lens_shading_and_color_uniformity_y_plane.

test_lens_shading_and_color_uniformity_color_uniformity_result

الشكل 159. test_lens_shading_and_color_uniformity_color_uniformity.

test_lens_shading_and_color_uniformity_lens_shading_result

الشكل 160. test_lens_shading_and_color_uniformity_lens_shading_result.

مشهد اختبار على جهاز لوحي بنطاق ألوان واسع

scene_wide_gamut

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

تتحقّق هذه الاختبارات من أنّ الصورة الملتقطة تتوافق مع ملف الألوان ونطاق الألوان الصحيحَين.

test_display_p3

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

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

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

test_display_p3 example

الشكل 161: مثال على test_display_p3