اختبارات تكنولوجيا المعلومات للكاميرا

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

تفرض اختبارات 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: نسبة العرض إلى الارتفاع والاقتصاص وحقل الرؤية
  • scene5: تظليل العدسة
  • scene6: تكبير/تصغير
  • scene7: تبديل الكاميرات المتعدّدة
  • scene8: قياس منطقة التعريض التلقائي ودرجة حرارة اللون التلقائية
  • scene9: ضغط JPEG
  • scene_extensions: إضافات الكاميرا
  • scene_flash: الفلاش التلقائي، الحد الأدنى لعدد اللقطات في الثانية
  • scene_video: انخفاض في الإطارات
  • sensor_fusion: تأخُّر في توقيت الكاميرا/الاستشعار الدوراني
  • feature_combination: مجموعات الميزات

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

scene0

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

عدم استقرار_الاختبار

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

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

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

test_jitter_plot.png

test_jitter_plot.png (يُرجى ملاحظة نطاق المحور y الصغير. إنّ الارتعاش صغير في الواقع في هذا الرسم البياني.)

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

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

مقبول: تظهر أنماط الاختبار الصلبة المتوافقة باللون الصحيح، وهناك اختلاف منخفض في الصورة.

نمط_اختبار_الاختبار

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

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

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

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

test_test_patterns_2

test_test_patterns_2.jpg

اختبار_منحنى_الخريطة

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

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

مقبول: يبدو تنسيق YUV وتنسيق RAW متشابهَين.

اختبار_tonemap_curve_raw_2

test_tonemap_curve_raw_2.jpg

test_tonemap_curve_yuv_2.jpg

test_tonemap_curve_yuv_2.jpg

test_unified_timestamp

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

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

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

test_vibration_restriction

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

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

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

scene1

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

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

scene1

scene1: رسم بياني بالحجم الكامل (على يمين الشاشة) مخطّط مُعدَّل بنسبة ⅔ (على اليمين)

test_ae_precapture_trigger

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

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

مقبول: يتقارب الإجراء الإحصائي.

test_auto_vs_manual

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

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

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

test_auto_vs_manual_auto

test_auto_vs_manual_auto.jpg

test_auto_vs_manual_wb

test_auto_vs_manual_wb.jpg

test_auto_vs_manual_manual_wb_tm

test_auto_vs_manual_manual_wb_tm.jpg

test_black_white

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

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

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

اختبار_أسود_أبيض_أسود اختبار_أسود_أبيض_أسود
test_black_white_black.jpg test_black_white_white.jpg

اختبار_أسود_أبيض_رسم

اختبار_أسود_أبيض_مخطط.png

اختبار_الالتقاط_المتسلسلة

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

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

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

test_burst_sameness_manual

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

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

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

تعذُّر: يعرض هذا الخيار ارتفاعًا أو انخفاضًا في الرسم البياني لمتوسّط RGB في بداية كل انفجار.

  • مقدار التفاوت هو 3% لـ first_API_level أقل من 30
  • يكون الحدّ المسموح به للخطأ% 2 عندما يكون first_API_level >= 30

test_burst_sameness_manual_mean

test_burst_sameness_manual_mean.jpg

test_burst_sameness_manual_plot_means

test_burst_sameness_manual_plot_means.png

test_capture_result

يختبر ما إذا كانت البيانات الصالحة تظهر في عناصر CaptureResult. تتيح الالتقاط التلقائي واليدوي والتلقائي.

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

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

test_capture_result_plot_lsc_auto_ch0

test_capture_result_plot_lsc_auto_ch0.png

test_crop_region_raw

لاختبار أنّه لا يمكن اقتصاص أحداث RAW

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

اجتياز: يتم اقتصاص صور YUV في الوسط وليس على صور RAW.

test_crop_region_raw_comp_raw_crop

test_crop_region_raw_comp_raw_crop.jpg

اختبار_اقتصاص_المنطقة_raw_comp_raw_full

اختبار_اقتصاص_المنطقة_raw_comp_raw_full.jpg

test_crop_region_raw_comp_yuv_crop

اختبار_اقتصاص_المنطقة_raw_comp_yuv_crop.jpg

اختبار_اقتصاص_المنطقة_raw_yuv_full

test_crop_region_raw_yuv_full.jpg

test_crop_regions

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

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

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

test_dng_noise_model

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

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

مقبول: تكون مَعلمات نموذج DNG الخام صحيحة. تتطابق قيم RGB المتوقّعة مع قيم RGB الفعلية التي تم قياسها.

test_dng_noise_model_plog

test_dng_noise_model_plog.png

test_ev_compensation_advanced

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

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

مقبول: تعرض الصور زيادةً في الإضاءة بدون تعريضها بشكل مفرط خلال خمس خطوات.

test_ev_compensation_advanced_plot_means

test_ev_compensation_advanced_plot_means.png

test_ev_compensation_basic

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

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

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

test_ev_compensation_basic

test_ev_compensation_basic.png

test_exposure_x_iso

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

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

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

آلية حدوث الخطأ:

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

test_exposure_plot_means

test_exposure_plot_means.png

test_exposure_mult=1.00 test_exposure_mult=64.00
test_exposure_mult=1.00.jpg test_exposure_mult=64.00.jpg

test_jpeg

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

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

مقبول: إذا كان متوسّط الفرق في قيم RGB بين كل صورة أقل من %3

test_jpeg_fmt=jpg.jpg test_jpeg=fmt=yuv.jpg
test_jpeg_fmt=jpg.jpg test_jpeg=fmt=yuv.jpg

test_latching

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

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

مقبول: الصور [2 و3 و6 و8 و10 و12 و13] لها قيمة ISO أو تعريض زائدة وتظهر بقيم RGB أعلى في test_latching_plot_means.png.

test_latching_i=00.jpg test_latching_i=01.jpg test_latching_i=02.jpg
test_latching_i=00.jpg test_latching_i=01.jpg test_latching_i=02.jpg
test_latching_i=03.jpg test_latching_i=04.jpg test_latching_i=05.jpg
test_latching_i=03.jpg test_latching_i=04.jpg test_latching_i=05.jpg
test_latching_i=06.jpg test_latching_i=07.jpg test_latching_i=08.jpg
test_latching_i=06.jpg test_latching_i=07.jpg test_latching_i=08.jpg
test_latching_i=09.jpg test_latching_i=10.jpg test_latching_i=11.jpg
test_latching_i=09.jpg test_latching_i=10.jpg test_latching_i=11.jpg
test_latching_i=12.jpg
test_latching_i=12.jpg

test_latching_plot_means

test_latching_plot_means.png

اختبار_الخطية

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

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

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

اختبار_الخطية_مخطط

test_linearity_plot_means.png

test_locked_burst

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

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

مقبول: تبدو عمليات الالتقاط متسقة.

test_locked_burst_frame0

test_locked_burst_frame0.jpg

test_locked_burst_frame1

test_locked_burst_frame1.jpg

اختبار_الإطار_اللحظي_لاختبار_الإطار 2

test_locked_burst_frame2.jpg

test_param_color_correction

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

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

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

test_param_color_correction_plot_means

test_param_color_correction_plot_means.png

*يمثّل محور x طلبات الالتقاط: 0 = الوحدة، 1=التعزيز الأحمر، 2= التعزيز الأزرق.

test_param_color_Debug_req=0

test_param_color_Debug_req=0.jpg

test_param_color_correctness_req=1

test_param_color_correctness_req=1.jpg (R boost)

test_param_color_correction_req=2

test_param_color_ correct_req=2.jpg (تعزيز B)

test_param_flash_mode

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

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

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

test_param_flash_mode_1

test_param_flash_mode_1.jpg

test_param_flash_mode_1_tile

test_param_flash_mode_1_privacy.jpg

test_param_flash_mode_2

test_param_flash_mode_2.jpg

test_param_flash_mode_2_tile

test_param_flash_mode_2_tile.jpg

test_param_noise_reduction

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

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

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

test_param_noise_reduction_plot_SNRs

test_param_noise_reduction_plot_SNRs.png

‫0: إيقاف، 1: سريع، 2: عالي الجودة، 3: منخفض، 4: جودة منخفضة جدًا

test_param_noise_reduction_high_gain_nr=0

test_param_noise_reduction_high_move_nr=0.jpg

test_param_noise_reduction_high_gain_nr=1

test_param_noise_reduction_high_gain_nr=1.jpg

test_param_noise_reduction_high_move_nr=2

test_param_noise_reduction_high_gain_nr=2.jpg

test_param_noise_reduction_high_gain_nr=3

test_param_noise_reduction_high_ ذكر_nr=3.jpg

test_param_noise_reduction_low_gain

test_param_noise_reduction_low_gain.jpg

test_param_shading_mode

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

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

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

test_param_shading_mode_ls_maps_mode_0_loop_0

test_param_shading_mode_ls_maps_mode_0_loop_0.png

test_param_shading_mode_ls_maps_mode_1_loop_0

test_param_shading_mode_ls_maps_mode_1_loop_0.png

test_param_shading_mode_ls_maps_mode_2_loop_0

test_param_shading_mode_ls_maps_mode_2_loop_0.png

test_param_tonemap_mode

يختبر هذا الإجراء تطبيق المَعلمة android.tonemap.mode. تُطبِّق منحنيات مختلفة لوحة الألوان على كل قناة من قنوات R وG وB، وتتحقّق من تعديل الصور الناتجة على النحو المتوقّع. يتألف هذا الاختبار من اختبارَين، هما test1 وtest2.

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

المرور:

  • test1: تتضمن كلتا الصورتين خريطة تدرجات لونية خطية، لكنّ n=1 ذو تدرج أكثر انحدارًا. القناة G (الأخضر) أكثر سطوعًا للصورة n=1.
  • test2: خريطة النغمة نفسها، ولكن الطول مختلف. الصور هي نفسها.
test_param_tonemap_mode_n=0.jpg test_param_tonemap_mode_n=1.jpg
test_param_tonemap_mode_n=0.jpg test_param_tonemap_mode_n=1.jpg

test_post_raw_sensitivity_boost

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

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

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

test_post_raw_sensitivity_boost_raw_s=3583_boost=0100

test_post_raw_sensitivity_boost_raw_s=3583_boost=0100.jpg

test_post_raw_sensitivity_boost_raw_s=1792_boost=0200

test_post_raw_sensitivity_boost_raw_s=1792_boost=0200.jpg

test_post_raw_sensitivity_boost_raw_s=0896_boost=0400

test_post_raw_sensitivity_boost_raw_s=0896_boost=0400.jpg

test_post_raw_sensitivity_boost_raw_s=0448_boost=0800

test_post_raw_sensitivity_boost_raw_s=0448_boost=0800.jpg

test_post_raw_sensitivity_boost_raw_s=0224_boost=1600

test_post_raw_sensitivity_boost_raw_s=0224_boost=1600.jpg

test_post_raw_sensitivity_boost_raw_s=0112_boost=3199

test_post_raw_sensitivity_boost_raw_s=0112_boost=3199.jpg

test_post_raw_sensitivity_boost_raw_plot_means

test_post_raw_sensitivity_boost_raw_plot_means.png

test_post_raw_sensitivity_boost_yuv_s=0112_boost=3199

test_post_raw_sensitivity_boost_yuv_s=0112_boost=3199.jpg

test_post_raw_sensitivity_boost_yuv_s=0448_boost=0800

test_post_raw_sensitivity_boost_yuv_s=0448_boost=0800.jpg

test_post_raw_sensitivity_boost_yuv_s=0896_boost=0400

test_post_raw_sensitivity_boost_yuv_s=0896_boost=0400.jpg

test_post_raw_sensitivity_boost_yuv_s=1792_boost=0200

test_post_raw_sensitivity_boost_yuv_s=1792_boost=0200.jpg

test_post_raw_sensitivity_boost_yuv_s=3585_boost=0100

test_post_raw_sensitivity_boost_yuv_s=3585_boost=0100.jpg

اختبار_النشر_raw_sensitivity_boost_yuv_plot_means

test_post_raw_sensitivity_boost_yuv_plot_means.png

test_raw_burst_sensitivity

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

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

مقبول: كل لقطة أكثر تشويشًا من اللقطة السابقة، لأنّ الكسب يزداد.

تستخدِم التباين في خلية شبكة الإحصاءات المركزية.

test_raw_burst_sensitivity_variance

test_raw_burst_sensitivity_variance.png

test_raw_exposure

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

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

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

test_raw_exposure_s=55

test_raw_exposure_s=55.png

(100 تساوي 1 ملي ثانية، و101 تساوي 10 ملي ثانية، و10−1 تساوي 0.1 مللي ثانية)

test_raw_exposure_s=132

test_raw_exposure_s=132.png

test_raw_exposure_s=209

test_raw_exposure_s=209.png

test_raw_exposure_s=286

test_raw_exposure_s=286.png

test_raw_exposure_s=363

test_raw_exposure_s=363.png

test_raw_exposure_s=440

test_raw_exposure_s=440.png

test_raw_sensitivity

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

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

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

test_raw_sensitivity_variance

test_raw_sensitivity_variance.png

test_reprocess_noise_reduction

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

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

تمرير: سريع >= غير مفعّل، عالي الجودة >= سريع، عالي الجودة >> غير مفعّل

الرسم البياني المعتاد لنسبة SNR مقارنةً بوضع NR_MODE

رسم SNR العادي مقابل NR_mode

test_tonemap_sequence

يختبر تسلسل لقطات باستخدام منحنيات مختلفة لخريطة الدرجات اللونية. التقاط 3 لقطات يدوية باستخدام خريطة نغمة خطية. التقاط 3 لقطات يدوية باستخدام خريطة النغمة التلقائية احتساب الفرق بين كل زوج متتالٍ من اللقطات

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

مقبول: هناك 3 لقطات متطابقة متبوعة بمجموعة مختلفة من 3 لقطات متطابقة.

test_tonemap_sequence_i=0

test_tonemap_sequence_i=0.jpg

test_tonemap_sequence_i=1

test_tonemap_Sequence_i=1.jpg

test_tonemap_sequence_i=2

test_tonemap_Sequence_i=2.jpg

test_tonemap_sequence_i=3

test_tonemap_sequence_i=3.jpg

test_tonemap_sequence_i=4

test_tonemap_sequence_i=4.jpg

test_tonemap_Sequence_i=5

test_tonemap_sequence_i=5.jpg

test_yuv_jpeg_all

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

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

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

test_yuv_jpeg_all

test_yuv_jpeg_all.png

test_yuv_plus_dng

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

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

اجتياز: يؤدي الاختبار إلى إكمال الصور المطلوبة وعرضها.

اختبار_yuv_plus_dng

test_yuv_plus_dng.jpg

test_yuv_plus_jpeg

اختبارات تلتقط إطارًا واحدًا كمخرجات YUV وJPEG يتم استخدام طلب يدوي وخريطة ألوان خطية بحيث تظهر صور YUV وJPEG بالطريقة نفسها عند تحويلها بواسطة وحدة image_processing_utils.

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

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

اختبار_yuv_plus_jpg_jpg.jpg test_yuv_plus_jpeg_yuv.jpg
test_yuv_plus_jpg_jpg.jpg test_yuv_plus_jpeg_yuv.jpg

test_yuv_plus_raw

اختبارات لالتقاط إطار واحد كمخرجات RAW/RAW10/RAW12 وYUV في حال كانت متوافقة يستخدم طلبًا يدوياً مع خريطة درجات لونية خطية، لذا من المتوقّع أن يكون تنسيقا raw وYUV متطابقَين. تقارن قيم RGB في مركز الصور التي تم تحويلها إلى نموذج RGB بنسبة% 10. السجلّاتandroid.shading.mode

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

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

test_yuv_plus_raw_shading=1_raw.jpg test_yuv_plus_raw_shading=1_yuv.jpg
test_yuv_plus_raw_shading=1_raw.jpg test_yuv_plus_raw_shading=1_yuv.jpg

المشهد2_a

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

scene2_a

scene2_a

test_autoframing

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

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

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

اختبار_display_p3

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

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

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

test_effects

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

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

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

test_effects_MONO

تأثيرات_اختبار_MONO.jpg

test_format_combos

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

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

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

اختبار_عدد_الوجوه

لاختبارات التعرّف على الوجوه.

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

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

test_num_faces_fd_mode_1

test_num_faces_fd_mode_1.jpg

test_reprocess_uv_swap

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

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

Pass: لا يمكن تبديل طائرتَي U وV.

اختبار_إعادة المعالجة_uv_swap

test_reprocess_uv_swap.png

المشهد2_b

test_num_faces

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

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

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

test_num_faces_fd_mode_1

test_num_faces_fd_mode_1.jpg

test_yuv_jpeg_capture_sameness

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

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

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

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

المشهد2_ج

اختبار_عدد_الوجوه

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

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

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

test_num_faces_fd_mode_1

اختبار_عدد_الوجوه_fd_mode_1.jpg

اختبار_jpeg_capture_perf_class

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

اجتياز: يجب أن يكون وقت استجابة التقاط الكاميرا 2 بتنسيق JPEG أقل من 1000 ملي ثانية عند دقة 1080p كما تم قياسه من خلال اختبار أداء الكاميرا في CTS في ظروف الإضاءة (3000K) لكلتا الكاميرتين الأساسيتين.

test_camera_launch_perf_class

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

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

test_default_camera_hdr

اختبارات لضمان أنّ وضع الالتقاط التلقائي للكاميرا هو "دقة HDR فائقة" للأداء الفئة 15 على النحو المحدّد في الفقرة 2.2.7.2 الكاميرا في CDD

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

scene2_d

اختبار_عدد_الوجوه

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

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

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

scene2_e

test_continuous_picture

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

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

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

اختبار_عدد_الوجوه

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

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

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

scene2_f

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

مشهد2_f.png

scene2_f

اختبار_عدد_الوجوه

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

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

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

test_num_faces_fd_mode_1

test_num_faces_fd_mode_1.jpg

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

test_edge_enhancement_edge=0.jpg

test_edge_enhancement_edge=1

test_edge_enhancement_edge=1.jpg (الوضع السريع)

test_edge_enhancement_edge=2

test_edge_enhancement_edge=2.jpg (وضع الجودة العالية)

test_flip_mirror

يختبر هذا الاختبار ما إذا كانت الصورة موجَّهة بشكل صحيح وفقًا للفقرة 7.5.2 من مستند CDD حول الكاميرا الأمامية [C-1-5].

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

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

test_flip_mirror_scene_patch

test_flip_mirror_scene_patch.jpg

test_imu_drift

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

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

البطاقة:

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

test_imu_drift_gyro_drift.png

test_imu_drift_gyro_drift.png

test_imu_drift_rotation_vector_drift.png

test_imu_drift_rotation_vector_drift.png

اختبار_أفقي_إلى_عمودي

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

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

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

test_landscape_to_portrait

test_landscape_to_portrait.png

test_lens_movement_reporting

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

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

اجتياز: تبلغ درجة دقة علامة حركة "عدسة Google" 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_plot

test_reprocess_edge_enhancement_plot.png

scene4

يتألّف المشهد 4 من دائرة سوداء على خلفية بيضاء داخل مربّع. يمكن أن تكون الاختبارات في المشهد 4 حسّاسة للّحافة، لذا بدءًا من الإصدار 15، يمكنك استخدام check_alignment.py في دليل tools لتفعيل التحقّق من محاذاة DUT والرسم البياني.

scene4

المشهد 4

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 لمعرفة مزيد من المعلومات، يُرجى الاطّلاع على الأسئلة الشائعة حول الكاميرا المضمَّنة في علبة الهاتف1.

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

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

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

scene5

لقطة المشهد 5

test_lens_shading_and_color_uniformity

يختبر هذا الاختبار ما إذا كان يتم تطبيق تصحيح تظليل العدسة بشكل مناسب، وما إذا كان يتم توزيع لون المشهد الأحادي اللون بالتساوي. يُجري هذا الاختبار على لقطة YUV باستخدام ميزة "التثبيت والالتقاط والتعرّف التلقائي". يتم تقييم تظليل العدسة استنادًا إلى قناة y. يقيس متوسط قيمة y لكل مجموعة عينة محددة، ويحدد اجتياز أو إخفاق من خلال المقارنة مع قيمة المركز y. يتم تقييم اختبار توحيد الألوان في مساحة r/g وb/g.

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

اجتياز: يجب أن يكون التباين في قيمة r/g وb/g أقل من% 20 عند نصف القطر المحدّد للصورة لاجتياز الاختبار.

المشهد 6

المشهد 6 هو شبكة من الدوائر الصغيرة مع مربّع في زاوية واحدة للإشارة إلى الاتجاه. تكون الدوائر الصغيرة مطلوبة لاختبار وظيفة التكبير/التصغير على نطاقٍ كبير. قد تكون الاختبارات في المشهد 6 حسّاسة للمحاذاة، لذا يمكنك استخدام check_alignment.py في دليل الأدوات بدءًا من الرقم 15، لتفعيل التحقّق من DUT ومحاذاة الرسم البياني.

المشهد 6

scene6

test_in_sensor_zoom

لاختبار سلوك ميزة التكبير/التصغير في الكاميرا ضمن المستشعر، وينتج عنها صور RAW تم اقتصاصها.

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

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

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

اختبار_التكبير/التصغير

لاختبار سلوك التكبير/التصغير في الكاميرا يتم التقاط الصور على نطاق التكبير والتصغير والتحقّق مما إذا كانت الدوائر تكبر عندما تكبِّر الكاميرا. لكل تنسيق (YUV وJPEG)، يتم استخدام جلسة الالتقاط نفسها للكاميرا لتجميع 3A وإجراء عمليات الالتقاط.

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

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

test_zoom

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

اختبار_وقت_تكبير_منخفض

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

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

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

test_preview_video_zoom_match

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

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

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

VGA_640×480_key_frame.png

VGA_640x480_key_frame.png (قبل التكبير)

preview_640x480_key_frame.png

preview_640x480_key_frame.png (قبل التكبير)

VGA_640x480_key_frame_zoomed.png

VGA_640x480_key_frame.png (بعد التكبير)

preview_640x480_key_frame_zoomed.png

preview_640x480_key_frame.png (بعد التكبير)

test_preview_zoom

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

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

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

اختبار_التكبير/التصغير

صور test_preview_zoom تعرض الدائرة المحددة الأقرب إلى المركز

test_session_characteristics_zoom

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

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

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

scene7

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

scene7

المشهد 7

test_multi_camera_switch

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

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

يتم تحليل اللقطات التي تم التقاطها عند نقطة التداخل وقبلها لتحديد مستوى الإضاءة التلقائي (AE) وموازنة اللون الأبيض التلقائية (AWB) والتركيز التلقائي (AF).

يضمن التحقّق من "التثبيت التلقائي للصورة" أنّ تغيير مستوى الإضاءة ضمن النطاق المتوقّع لكلٍّ من صور عدسة "العرض الفائق العرض" و"العرض العادي". يتحقّق فحص AWB من أنّ نِسب R/G وB/G هي ضمن قيم حدّية لكل من صور عدسة UW وW. يُقيّم التحقّق من ضبط تركيز الصورة قيمة التقدير الحدّة استنادًا إلى متوسّط حجم التدرّج بين صور عدسة الالتقاط الفائق العرض وعدسة الالتقاط العريض.

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

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

  • التحقّق من التعريض التلقائي: يجب أن يكون تغيير درجة النصوع بين الصور الملتقطة بعدسة UW والعدسة الواسعة أقل من ‎0.5%.
  • فحص AWB: يجب أن يكون الفرق بين قيم R/G وB/G للصورتين UW وW العدسة أقل من 0.5%.
  • فحص التركيز التلقائي: يجب أن يكون التغيير في حدة الصورة بين صورتي UW وW العدسة أقل من 2%.

scene8

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

scene8

scene8

test_ae_awb_regions

يختبر هذا الاختبار اختلاف قيم RGB ودرجة النصوع عند معاينة التسجيل في مناطق مختلفة لإعدادات التعريض التلقائي (AE) وموازنة اللون الأبيض التلقائية (AWB).

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

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

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

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

scene9

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

scene9

scene9

test_jpeg_high_entropy

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

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

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

test_jpeg_quality

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

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

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

test_jpeg_quality

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

تعذّر تنفيذ test_jpeg_quality

مثال على اختبار تعذّر إكماله

يُرجى العلم أنّه بالنسبة إلى الصور ذات الجودة المنخفضة جدًا (jpeg.quality < 50)، لا يحدث أي زيادة في الضغط في مصفوفة الترميز.

scene_video

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

scene_video

test_preview_frame_drop

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

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

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

scene_extensions

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

مشهد عالي الدقة

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

scene_hdr

scene_hdr

test_hdr_extension

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

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

اجتياز: تقلّل إضافة النطاق العالي الديناميكية (HDR) من عدد تغييرات التباين المطلوبة للتعرّف على رمز الاستجابة السريعة أو تقلِّل التدرج في الرمز.

scene_low_light

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

scene_low_light

scene_low_light

test_night_extension

اختبار إضافة "الإضاءة الليلية" تلتقط المقاطع عندما تكون الإضافة مفعّلة، وتعمل على تنفيذ ما يلي:

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

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

اجتياز: يجب أن يكون متوسط قيمة luma للمربعات الستة الأولى 85 على الأقل، ومتوسط الفرق في قيمة luma للمربعات المتتالية يصل إلى المربعات 5 و6 يجب أن يكون 17 على الأقل.

يوضّح الرسم البياني التالي للسطوع شكل نتيجة الاختبار التي تجتاز الفحص.

scene_low_light_night_pass

test_low_light_boost_extension

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

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

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

مقبول: يجب أن يكون متوسّط قيمة الملوّنة للصفوف الستة الأولى 70 على الأقل، ومتوسّط الفرق في قيمة الملوّنة للصفوف المتتالية حتى الصفين 5 و6 يجب أن يكون 17 على الأقل.

فلاش_مشهد

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

اختبار_الفلاش_التلقائي

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

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

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

test_flash_strength

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

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

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

المرور:

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

test_led_snapshot

اختبارات للتأكّد من أنّ لقطات الإضاءة الملوّنة لا تُشبع الصورة أو تُضفي عليها لونًا

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

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

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

مقبول: تتراوح نسبة R/G ونسبة B/G بين 0.95 و1.05. يكون متوسّط ملف ‎flash image ضمن النطاق (68، 102).

test_preview_min_frame_rate

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

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

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

اختبار_قوة_المصباح

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

رسم بياني لدمج بيانات أجهزة الاستشعار

رسم بياني لدمج بيانات أجهزة الاستشعار

مخطط دمج أجهزة الاستشعار في Rig

رسم بياني لدمج بيانات المستشعرات يملأ الجزء الخلفي من مربّع دمج بيانات المستشعرات

test_lens_intrinsic_calibration

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

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

مقبول: يتغيّر المركز البصري للعدسة بشكل أساسي ببكسل واحد أو أكثر. إذا كانت عيّنات العدسة الأساسية متاحة، يتغيّر مركزا العدسة البصريان بوحدة بكسل واحدة أو أكثر.

test_lens_intrinsic_calibration_example.png

مثال على مخطّط test_lens_intrinsic_calibration يعرض تغييرات النقاط الرئيسية بالبكسل لكل إطار

اختبار_مزامنة_الكاميرات_متعددة

اختبارات تُثبت أنّ الطوابع الزمنية للإطارات التي تم التقاطها بواسطة الكاميرا المنطقية تقع ضمن 10 مللي ثانية من خلال محاسبة زوايا المربعات ضمن لوحة الشطرنج لتحديد الطابع الزمني

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

مرّة: لا تتغيّر الزاوية بين الصور في كل كاميرا بشكل ملحوظ أثناء تدوير الهاتف.

test_preview_distortion

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

test_preview_distortion_example.jpg

صورة لوحة شطرنج تظهر فيها النقاط المثالية باللون الأخضر والنقاط الفعلية باللون الأحمر

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

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

test_preview_stabilization

اختبارات تُظهر أنّ الفيديو الذي تم تحسينه في المعاينة يدور بدرجة أقل من الدوران في أداة الاستشعار الدوراني

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

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

في ما يلي أمثلة على فيديوهات تم تحسينها باستخدام ميزة "التثبيت" وأخرى بدونها.

  • فيديو نموذجي بميزة التثبيت

  • فيديو نموذجي بدون تثبيت

اختبار_جهاز_المستشعر

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

يُنشئ اختبار test_sensor_fusion عددًا من المخططات. أهم مخططين لتصحيح الأخطاء هما:

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

    test_sensor_fusion_gyro_events.png

    test_sensor_fusion_gyro_events

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

    test_sensor_fusion_plot_rotations.png

    test_sensor_fusion_plot_rotations

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

مقبول: يجب أن يكون الفارق الزمني بين الطوابع الزمنية للكاميرا والجيروسكوب أقل من 1 ملي ثانية وفقًا لالقسم 7.3.9 من مستند CDD الخاص بأجهزة الاستشعار العالية الدقة [C-2-14].

آليات حدوث الأخطاء:

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

test_video_stabilization

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

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

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

في ما يلي أمثلة على فيديوهات تم تحسينها باستخدام ميزة "التثبيت" وأخرى بدونها.

  • فيديو نموذجي بميزة التثبيت

  • عيّنة فيديو بدون تثبيت

مجموعة_الميزات

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

test_feature_combination

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

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

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

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

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