وتوفر هذه الصفحة قائمة شاملة بالاختبارات ضمن "مجموعة أدوات اختبار صور الكاميرا" (ITS)، وهي جزء من أداة التحقق من صحة البيانات بواسطة أداة التحقق من التوافق مع Android (CTS). تُعدّ اختبارات تكنولوجيا المعلومات (ITS) اختبارات وظيفية، ما يعني أنّها لا تقيس جودة الصورة، لكنّ جميع وظائف الكاميرا المُعلَن عنها تعمل على النحو المتوقّع. يتيح هذا المستند للمطوّرين والمختبِرين فهم إجراءات الاختبارات الفردية وكيفية تصحيح أخطاء الاختبارات.
تختبر بوابات تكنولوجيا المعلومات في الكاميرا حسب خصائص الكاميرا المطلوبة ومستوى واجهة برمجة التطبيقات
ومستوى أداء الوسائط (MPC). أمّا على مستوى واجهة برمجة التطبيقات، فيستخدم نظام تكنولوجيا المعلومات
ro.product.first_api_level
لحظر الاختبارات التي تتم إضافتها في مستوى معيّن لواجهة برمجة التطبيقات
ويختبر تجارب المستخدمين السلبية للوظائف في المستويات الأدنى لواجهة برمجة التطبيقات. وتستخدم خدمات تكنولوجيا المعلومات ro.vendor.api_level
لإتاحة إمكانية إجراء اختبارات للميزات التي تمت إضافتها في مستوى محدّد من واجهة برمجة التطبيقات، والتي تتطلّب إمكانات جديدة للأجهزة. إذا تم تحديد
"ro.odm.build.media_performance_class
" لأحد الأجهزة، تتطلّب خدمة تكنولوجيا المعلومات إجراء اختبارات محدّدة اعتمادًا على مستوى وحدات التحكّم في الأجهزة متعددة (MPC).
يتمّ تجميع الاختبارات حسب المشهد على النحو التالي:
- المشهد0: التقاط البيانات الوصفية وعدم الاستقرار والجيروسكوب والاهتزاز
- scene1: التعرض للضوء، والحساسية، وتعويض المركبة الكهربائية، وYUV مقابل JPEG/RAW
- scene2: ميزة "التعرّف على الوجوه" أو الاختبارات التي تتطلّب مشاهد ملوَّنة أو معتمة تامّة
- scene3: تحسين الحافة وحركة العدسة
- المشهد4: نسبة العرض إلى الارتفاع والاقتصاص ومجال الرؤية
- scene5: تظليل العدسة
- scene6: تكبير/تصغير
- scene_extensions: إضافات الكاميرا
- sensor_fusion: معادلة توقيت الكاميرا/الجيروسكوب
انتقِل إلى أقسام فردية للحصول على وصف لكل مشهد.
المشهد 0
لا تتطلّب اختبارات Scene0 معلومات محدَّدة عن المشهد. ومع ذلك، يجب أن يكون الهاتف ثابتًا لاختبار الجيروسكوب والاهتزاز.
اختبار_الالتقاط_المتسلسلة
للتحقق من أن مسار الالتقاط بالكامل يمكنه مواكبة سرعة الالتقاط بالحجم الكامل ووقت استخدام وحدة المعالجة المركزية.
واجهات برمجة التطبيقات التي تم اختبارها:
اجتياز: يتم التقاط سلسلة من الصور بالحجم الكامل وتكون الكاميرا سريعة بما يكفي لتجنب انتهاء المهلة.
اختبار_التقاط_النتيجة
اختبارات يتم فيها عرض نتيجة الالتقاط من الالتقاط اليدوي ثم تجردها.
واجهات برمجة التطبيقات التي تم اختبارها:
Pass (اجتياز): لإكمال عملية الالتقاط وإفلات نتائج الالتقاط.
اختبار_الجيرو_الانحياز
لاختبار ما إذا كان الجيروسكوب لديه إخراج ثابت عندما يكون الجهاز ثابتًا. يتم رسم البيانات كمتوسط 20 نقطة بيانات.
واجهات برمجة التطبيقات التي تم اختبارها:
اجتياز: تقل قيمة دلتا الجيروسكوب عن 0.01 بمرور الوقت.
اختبار-gyro_bias_plot.png
عدم استقرار_الاختبار
تقيس عدم استقرار الطوابع الزمنية للكاميرا.
واجهات برمجة التطبيقات التي تم اختبارها:
android.hardware.camera2.CaptureResult#SENSOR_TIMESTAMP
android.hardware.camera2.CaptureRequest#CONTROL_AE_TARGET_FPS_RANGE
مقبول: تبلغ المسافة بين اللقطات 30 ملي ثانية على الأقل.
test_jitter_plot.png (لاحظ نطاق المحور y الصغير. عدم الاستقرار في الواقع صغير في هذا المخطط).
اختبار_البيانات الوصفية
لاختبار صلاحية إدخالات بيانات التعريف. ويفحص نتائج الالتقاط
وإلى خصائص الكاميرا. يستخدم هذا الاختبار تعرّض auto_capture_request
للضوء ويكتسب قيمًا لأنّ محتوى الصور ليس مهمًا.
واجهات برمجة التطبيقات التي تم اختبارها:
android.hardware.camera2.CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL
android.hardware.camera2.CameraCharacteristics#SCALER_CROPPING_TYPE
android.hardware.camera2.CameraCharacteristics#SENSOR_BLACK_LEVEL_PATTERN
android.hardware.camera2.CameraCharacteristics#SENSOR_INFO_TIMESTAMP_SOURCE
android.hardware.camera2.CaptureRequest#SENSOR_FRAME_DURATION
android.hardware.camera2.CaptureResult#SENSOR_ROLLING_SHUTTER_SKEW
اجتياز: تتوفّر معلومات مستوى الأجهزة، وعلامات rollingShutterSkew
، وعلامة frameDuration
،
وtimestampSource
، وcroppingType
، وblackLevelPattern
، وpixel_pitch
، وFV،
والمسافة البؤرية، وتتوفّر لها قيم صالحة.
test_param_sensitivity_burst
تحدِّد هذه السياسة تطبيق معلَمة android.sensor.sensitivity
بشكل صحيح في الصور المتسلسلة. يفحص البيانات الوصفية للمخرجات فقط.
واجهات برمجة التطبيقات التي تم اختبارها:
android.hardware.camera2.CameraCharacteristics#SENSOR_INFO_SENSITIVITY_RANGE
android.hardware.camera2.CaptureRequest#SENSOR_SENSITIVITY
اجتياز: تبلغ نسبة احتمال الخطأ في بيانات الإخراج أقل من 0.2%.
اختبار_القراءة_الكتابة
اختبارات أن يكتب الجهاز درجة التعرض للضوء الصحيحة ويكتسب قيمًا من خلال قراءة بيانات التعريف للالتقاط.
واجهات برمجة التطبيقات التي تم اختبارها:
android.hardware.camera2.CameraCharacteristics#SENSOR_INFO_EXPOSURE_TIME_RANGE
android.hardware.camera2.CameraCharacteristics#SENSOR_INFO_SENSITIVITY_RANGE
android.hardware.camera2.CaptureRequest#SENSOR_EXPOSURE_TIME
android.hardware.camera2.CaptureRequest#SENSOR_SENSITIVITY
android.hardware.camera2.CaptureResult#SENSOR_EXPOSURE_TIME
android.hardware.camera2.CaptureResult#SENSOR_SENSITIVITY
اجتياز: يمكنك قراءة القيم المتطابقة وكتابتها في جميع اللقطات.
أحداث_اختبار_أداة الاستشعار
يشير ذلك إلى اختبارات الجهاز الذي يطلب الحصول على أحداث أجهزة الاستشعار وطباعتها على الأجهزة التي تنشر إعلانات عن دعم اندماج أجهزة الاستشعار. إن المستشعرات المتوقعة هي مقياس التسارع والجيروسكوب ومقياس المغناطيسية. لا يعمل هذا الاختبار إلا إذا كانت الشاشة قيد التشغيل، مما يعني أن الجهاز ليس في وضع الاستعداد.
واجهات برمجة التطبيقات التي تم اختبارها:
تذكرة: يتم تلقّي أحداث كل جهاز استشعار.
اختبار_نمط_اللون_الصلب
يشير ذلك إلى الاختبارات التي يتم إنشاؤها بشكل صحيح لكتم صوت الكاميرا من خلال أنماط اختبار الألوان الخالصة. في حال توفُّر كتم صوت الكاميرا، يجب إتاحة أنماط اختبار الألوان الخالصة. وفي حال لم يكن كتم صوت الكاميرا متاحًا، لا يتم اختبار أنماط اختبار الألوان الخالصة إلا في حال الإعلان عن هذه الميزة.
وفي حال توفُّر صور RAW، يتم اختبار ميزة "تخصيص الألوان" أيضًا. الألوان التي تم اختبارها هي الأسود والأبيض والأحمر والأزرق والأخضر. بالنسبة إلى الكاميرات التي لا تعرض صور RAW، يتم اختبار اللون الأسود فقط.
واجهات برمجة التطبيقات التي تم اختبارها:
android.hardware.camera2.CameraCharacteristic#SENSOR_AVAILABLE_TEST_PATTERN_MODES
android.hardware.camera2.CaptureResult#SENSOR_TEST_PATTERN_DATA
android.hardware.camera2.CaptureResult#SENSOR_TEST_PATTERN_MODE
اجتياز: أنماط الاختبار الصلبة المتوافقة هي اللون الصحيح مع وجود تباين منخفض في الصورة.
نمط_اختبار_الاختبار
لاختبار المعلمة android.sensor.testPatternMode
لالتقاط الإطارات لكل نمط اختبار صالح والتحقق من إنشاء الإطارات بشكل صحيح للألوان الخالصة وأشرطة الألوان يتضمّن هذا الاختبار الخطوات التالية:
- يتم التقاط الصور لجميع أنماط الاختبار المتوافقة.
- إجراء تحقق بسيط من الصحة لنمط اختبار الألوان الخالصة وأشرطة الألوان
واجهات برمجة التطبيقات التي تم اختبارها:
android.hardware.camera2.CameraCharacteristic#SENSOR_AVAILABLE_TEST_PATTERN_MODES
android.hardware.camera2.CaptureResult#SENSOR_TEST_PATTERN_MODE
اجتياز: يتم إنشاء أنماط الاختبار المتوافقة بشكل صحيح.
test_test_patterns_2.jpg
اختبار_منحنى_الخريطة
لاختبار تحويل نمط الاختبار من RAW إلى YUV باستخدام خريطة تنقية خطية. يتطلب هذا الاختبار android.sensor.testPatternMode = 2
(Color_BARS) إنشاء نمط صورة مثالي لتحويل خريطة النغمات. يضمن هذا الإجراء مخرجات ألوان مناسبة في المسار مع مخطط تفصيلي للأصوات الخطية وإدخال مثالي للصور (يعتمد ذلك على test_test_patterns
).
واجهات برمجة التطبيقات التي تم اختبارها:
android.hardware.camera2.CaptureRequest#DISTORTION_CORRECTION_MODE
android.hardware.camera2.CaptureRequest#SENSOR_TEST_PATTERN_MODE
android.hardware.camera2.CaptureRequest#TONEMAP_CURVE
android.hardware.camera2.CaptureRequest#TONEMAP_MODE
Pass (اجتياز): تبدو YUV وRAW متشابهة.
test_tonemap_curve_raw_2.jpg
test_tonemap_curve_yuv_2.jpg
الطابع_الزمني_للاختبار
لاختبار ما إذا كانت أحداث أجهزة استشعار الحركة والصور في النطاق الزمني نفسه
واجهات برمجة التطبيقات التي تم اختبارها:
android.hardware.camera2.CaptureResult#SENSOR_TIMESTAMP
android.hardware.Sensor
android.hardware.SensorEvent
android.hardware.Sensor#TYPE_ACCELEROMETER
android.hardware.Sensor#TYPE_GYROSCOPE
تمرير: تظهر الطوابع الزمنية للحركة بين الطابع الزمني للصورتين.
اختبار_vibration_restriction
لاختبار عمل اهتزاز الجهاز على النحو المتوقع.
واجهات برمجة التطبيقات التي تم اختبارها:
android.hardware.Sensor
android.hardware.SensorEvent
android.hardware.Sensor#TYPE_ACCELEROMETER
android.os.Vibrator
android.hardware.camera2.CameraDevice#setCameraAudioRestriction
اجتياز: لا يهتز الجهاز عند كتم الصوت من خلال واجهة برمجة التطبيقات الخاصة بحظر الصوت في الكاميرا.
المشهد 1
المشهد 1 هو مخطط رمادي. يجب أن يغطّي المخطط الرمادي% 30 من نطاق رؤية الكاميرا من المتوقع أن يواجه المخطط الرمادي 3A (التعرض التلقائي للضوء، واتوازن اللون الأبيض التلقائي، والتركيز التلقائي) بشكل معتدل حيث لا توجد أي ميزات في المنطقة المركزية. مع ذلك، يحدّد طلب الالتقاط المشهد الكامل الذي يتضمّن ميزات كافية لتقارب 3A.
يمكن اختبار كاميرات الترددات اللاسلكية (RFoV) في الأجهزة الجوّالة للمؤسسات (WFoV) أو في جهاز الاختبار. إذا تم اختبار كاميرا RFoV في جهاز اختبار WFoV، يتم قياس المخطط بمقدار 2⁄3 لضمان بعض الحدود للمخطط الرمادي في FoV للمساعدة في تقارب 3A. للحصول على أوصاف أكثر تفصيلاً حول تجهيزات اختبار الكاميرا، راجِع علبة تكنولوجيا المعلومات للكاميرا.
المشهد 1: رسم بياني بالحجم الكامل (يسار) رسم بياني بمقياس 2⁄3 (يمين).
اختبار_3أ
لاختبار تقارب 3A مع هدف صعب إلى حدٍ ما.
واجهات برمجة التطبيقات التي تم اختبارها:
android.hardware.camera2.CaptureRequest#CONTROL_AE_MODE
android.hardware.camera2.CaptureRequest#CONTROL_AF_MODE
android.hardware.camera2.CaptureRequest#CONTROL_AWB_MODE
اجتياز: يتقارب 3A وقيم 3A المعروضة صالحة.
اختبار_ae_af
لاختبار خوارزميات التعرض التلقائي للضوء 3A (AE) والتركيز التلقائي (AF) بشكلٍ فردي.
واجهات برمجة التطبيقات التي تم اختبارها:
android.hardware.camera2.CaptureRequest#CONTROL_AE_MODE
android.hardware.camera2.CaptureRequest#CONTROL_AF_MODE
android.hardware.camera2.CaptureRequest#CONTROL_AWB_MODE
اجتياز: يتقارب 3A مع قيم 3A المعروضة القانونية.
اختبار_ae_precapture_trigger
لاختبار جهاز حالة AE عند استخدام مشغِّل الالتقاط المسبق. تم التقاط خمسة طلبات يدوية مع إيقاف AE. يحتوي الطلب الأخير على مشغل AE الالتقاط المسبق، والذي يجب تجاهله بسبب إيقاف AE.
واجهات برمجة التطبيقات التي تم اختبارها:
android.hardware.camera2.CaptureRequest#CONTROL_AE_MODE
android.hardware.camera2.CaptureRequest#CONTROL_AE_PRECAPTURE_TRIGGER
android.hardware.camera2.CaptureResult#CONTROL_AE_STATE
Pass: يتقارب AE.
test_auto_vs_manual
تظهر الاختبارات التي تم التقاطها تلقائيًا ويدويًا بالشكل نفسه.
واجهات برمجة التطبيقات التي تم اختبارها:
android.hardware.camera2.CaptureRequest#COLOR_CORRECTION_GAINS
android.hardware.camera2.CaptureRequest#COLOR_CORRECTION_TRANSFORM
android.hardware.camera2.CaptureResult#TONEMAP_CURVE
android.hardware.camera2.CaptureResult#TONEMAP_MODE
اجتياز: يتم تسجيل مكاسب توازن اللون الأبيض يدويًا وتغييرات الإحالات الناجحة المسجَّلة في كل نتيجة التقاط
مع توازن اللون الأبيض التلقائي estimate
من خوارزمية 3A الخاصة بالكاميرا.
test_auto_vs_manual_auto.jpg
test_auto_vs_manual_wb.jpg
test_auto_vs_manual_manual_wb_tm.jpg
اختبار_أبيض_أسود
يشير ذلك إلى اختبارات الجهاز الذي يعرض صورًا كاملة بالأبيض والأسود. التقاط صورتين لاثنتين، الأولى بكسب منخفض للغاية ودرجة تعرُّض قصيرة للضوء، ما يؤدي إلى الحصول على صورة سوداء، والثانية بكسب كبير جدًا وتعريض للضوء لفترة طويلة، ما ينتج عنه صورة بيضاء.
واجهات برمجة التطبيقات التي تم اختبارها:
android.hardware.camera2.CaptureRequest#SENSOR_EXPOSURE_TIME
android.hardware.camera2.CaptureRequest#SENSOR_SENSITIVITY
Pass: لعرض صور بالأبيض والأسود. القنوات المشبعة للصور البيضاء لها قيم نموذج أحمر أخضر أزرق (RGB) تبلغ [255، 255، 255] مع هامش خطأ أقل من 1%.
اختبار_أسود_أبيض_أسود.jpg | اختبار_أسود_أبيض_أبيض.jpg |
اختبار_أسود_أبيض_مخطط.png
اختبار_الدليل_اليدوي
يتم التقاط 5 صور متسلسلة من 50 صورة باستخدام إعداد الالتقاط اليدوي ويتحقق من تطابقها جميعًا. يمكن استخدام هذا الاختبار لتحديد ما إذا كانت هناك إطارات متقطعة تتم معالجتها بشكلٍ مختلف أو تحتوي على عناصر.
واجهات برمجة التطبيقات التي تم اختبارها:
android.hardware.camera2.CameraMetadata#REQUEST_AVAILABLE_CAPABILITIES_MANUAL_SENSOR
android.hardware.camera2.CameraMetadata#SYNC_MAX_LATENCY_PER_FRAME_CONTROL
اجتياز: تكون الصور متطابقة مرئيًا وبقيم نموذج أحمر أخضر أزرق.
خطأ: تُظهر ارتفاعًا أو انخفاضًا في إجمالي رسم بياني لمتوسط أحمر أخضر أزرق في بداية كل سلسلة
- معدّل التفاوت هو 3% لـ
first_API_level
أقل من 30 - مقدار التفاوت 2% لـ
first_API_level
>= 30
test_burst_sameness_manual_mean.jpg
test_burst_sameness_manual_plot_means.png
اختبار_النتيجة
الاختبارات التي توضح عودة البيانات الصالحة إلى CaptureResult
عنصر وهو الالتقاط التلقائي
واليدوي والتلقائي.
واجهات برمجة التطبيقات التي تم اختبارها:
android.hardware.camera2.CaptureRequest#CONTROL_AE_MODE
android.hardware.camera2.CaptureRequest#CONTROL_AE_REGIONS
android.hardware.camera2.CaptureRequest#CONTROL_AF_MODE
android.hardware.camera2.CaptureRequest#CONTROL_AF_REGIONS
android.hardware.camera2.CaptureRequest#CONTROL_AWB_MODE
android.hardware.camera2.CaptureRequest#CONTROL_AWB_REGIONS
android.hardware.camera2.CaptureRequest#CONTROL_MODE
android.hardware.camera2.CaptureRequest#COLOR_CORRECTION_GAINS
android.hardware.camera2.CaptureRequest#COLOR_CORRECTION_TRANSFORM
android.hardware.camera2.CaptureRequest#COLOR_CORRECTION_MODE
android.hardware.camera2.CaptureRequest#SENSOR_EXPOSURE_TIME
android.hardware.camera2.CaptureRequest#SENSOR_SENSITIVITY
android.hardware.camera2.CaptureResult#STATISTICS_LENS_SHADING_CORRECTION_MAP
android.hardware.camera2.CaptureRequest#STATISTICS_LENS_SHADING_MAP_MODE
android.hardware.camera2.CaptureRequest#TONEMAP_CURVE
android.hardware.camera2.CaptureRequest#TONEMAP_MODE
Pass (اجتياز): تكون البيانات الوصفية صالحة لجميع اللقطات ولا تتسرّب الإعدادات اليدوية إلى عملية الالتقاط التلقائي الثانية. رسم تصحيح تظليل العدسة للتسجيلات.
test_capture_result_plot_lsc_auto_ch0.png
اختبار_اقتصاص_المنطقة_raw
اختبارات عدم إمكانية اقتصاص ملفات RAW التي يتم بثها
واجهات برمجة التطبيقات التي تم اختبارها:
android.hardware.camera2.CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE
android.hardware.camera2.CaptureResult#SCALER_CROP_REGION
android.hardware.camera2.CaptureRequest#SCALER_CROP_REGION
اجتياز: يتم اقتصاص صور YUV في الوسط وليس على صور RAW.
اختبار_اقتصاص_المنطقة_raw_comp_raw_crop.jpg
اختبار_اقتصاص_المنطقة_raw_comp_raw_full.jpg
اختبار_اقتصاص_المنطقة_raw_comp_yuv_crop.jpg
اختبار_اقتصاص_المنطقة_raw_yuv_full.jpg
اختبار_اقتصاص_المناطق
الاختبارات التي تكون مفيدة لمناطق الاقتصاص تلتقط صورة كاملة وتنشئ بقعًا من 5 مناطق مختلفة (الزوايا والوسط). يتم التقاط الصور باستخدام مجموعة الاقتصاص للمناطق الخمس. للمقارنة بين قيمة التصحيح وقيم صورة الاقتصاص.
واجهات برمجة التطبيقات التي تم اختبارها:
android.hardware.camera2.CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE
android.hardware.camera2.CaptureRequest#SCALER_CROP_REGION
تذكرة: تتطابق صورة المنطقة التي تم اقتصاصها مع الرقعة التي تتوافق مع صورة الاقتصاص.
اختبار_نموذج_الضوضاء_Dng
التحقُّق من صحة معلَمات نموذج DNG الأولي يصور المخطط التباين الذي تم قياسه لبقعة مركزية للبطاقة الرمادية في اللقطات الأولية التي تم التقاطها عبر مجموعة من الحساسيات، ويقارن هذه القيم مع التباين المتوقع عند كل حساسية من خلال نموذج تشويش DNG في طبقة تجريد الأجهزة (HAL) للكاميرا (استنادًا إلى معلمات O وS التي يتم عرضها في عناصر نتيجة الالتقاط). لمزيد من التفاصيل حول نموذج ضوضاء DNG، يمكنك تنزيل المستند التالي الذي يخصّ نموذج الضوضاء DNG.
واجهات برمجة التطبيقات التي تم اختبارها:
android.hardware.camera2.CameraCharacteristics#SENSOR_INFO_SENSITIVITY_RANGE
android.hardware.camera2.CameraCharacteristics#SENSOR_INFO_WHITE_LEVEL
android.hardware.camera2.CameraCharacteristics#SENSOR_MAX_ANALOG_SENSITIVITY
android.hardware.camera2.CaptureResult#SENSOR_NOISE_PROFILE
android.hardware.camera2.CaptureRequest#SENSOR_SENSITIVITY
اجتياز: مَعلمات نموذج DNG الأولية صحيحة. تتطابق قيم النموذج اللوني أحمر أخضر أزرق المتوقعة مع قيم نموذج أحمر أخضر أزرق الفعلية التي تم قياسها.
اختبار_dng_noise_model_plog.png
اختبار_EV_commentsation_متقدم
لاختبارات تطبيق تعويض قيمة التعرض للضوء (EV). يزيد الاختبار من مستوى التعرّض خلال ثماني خطوات، ويتم فحص مستوى السطوع مقابل السطوع المتوقع. يتم حساب القيم المتوقّعة من مستوى سطوع الصورة بدون تطبيق أي تعويض للمركبات الكهربائية، وسيتم تشبّع القيمة المتوقّعة إذا تجاوزت القيم المحسوبة نطاق القيمة الفعلية للصورة. يتعذّر الاختبار في حال عدم تطابق القيم المتوقعة والقيم التي تم قياسها أو في حال زيادة ظهور الصور في غضون خمس خطوات.
واجهات برمجة التطبيقات التي تم اختبارها:
android.hardware.camera2.CaptureRequest#CONTROL_AE_EXPOSURE_COMPENSATION
android.hardware.camera2.CaptureRequest#CONTROL_AE_LOCK
android.hardware.camera2.CaptureRequest#CONTROL_AWB_LOCK
android.hardware.camera2.CaptureResult#CONTROL_AE_STATE
android.hardware.camera2.CaptureResult#TONEMAP_CURVE
android.hardware.camera2.CaptureResult#TONEMAP_MODE
اجتياز: تُظهر الصور زيادةً في مستوى التعرّض للضوء بدون زيادة التعرض للضوء في غضون خمس خطوات.
test_ev_commentsation_advanced_plot_means.png
اختبار_5_مرحلة_أساسية
لاختبارات تطبيق تعويض المركبة الكهربائية باستخدام نطاق تم إنشاؤه باستخدام
CONTROL_AE_COMPENSATION_STEP
يتم التقاط ثمانية إطارات
لكل قيمة تعويض.
واجهات برمجة التطبيقات التي تم اختبارها:
android.hardware.camera2.CameraCharacteristics#CONTROL_AE_COMPENSATION_STEP
android.hardware.camera2.CaptureRequest#CONTROL_AE_EXPOSURE_COMPENSATION
android.hardware.camera2.CaptureRequest#CONTROL_AE_LOCK
android.hardware.camera2.CaptureRequest#CONTROL_AWB_LOCK
android.hardware.camera2.CaptureResult#CONTROL_AE_EXPOSURE_COMPENSATION
android.hardware.camera2.CaptureResult#CONTROL_AE_STATE
تذكرة: يتم التقاط الزيادة في اللوم مع زيادة إعداد التعويض عن المركبة الكهربائية، وتكون الإطارات الثمانية التي تم التقاطها لكل إعداد تعويض للمركبة الكهربائية ذات قيم لوم مستقرة.
test_ev_commentsation_basic.png
اختبار_التعرّض
يشير هذا المصطلح إلى الاختبارات التي يتم من خلالها الحصول على مستوى التعرّض المستمر لحساسية الضوء واختلاف مدّة التعرض للضوء. يتم أخذ سلسلة من اللقطات وفقًا لمعيار ISO ووقت التعرض للضوء لتحقيق التوازن بين بعضها البعض.
من المفترض أن تكون للنتائج درجة السطوع نفسها، ولكن من المفترض أن تصبح الصورة أكثر تشويشًا في التسلسل. التحقق من عينة وحدات البكسل المتوسطة التي تكون قريبة من بعضها بعضًا. يضمن عدم تثبيت الصور في 0 أو 1 (مما سيجعلها تبدو كخطوط مسطحة). يمكن أيضًا إجراء الاختبار باستخدام صور RAW من خلال وضع علامة debug
في
ملف الإعداد.
واجهات برمجة التطبيقات التي تم اختبارها:
android.hardware.camera2.CaptureRequest#SENSOR_EXPOSURE_TIME
android.hardware.camera2.CaptureRequest#SENSOR_SENSITIVITY
اجتياز: تكون الصور في درجة السطوع نفسها، ولكن يزداد دقتها عند استخدام حساسية الضوء أعلى. وتكون مستويات أحمر أخضر أزرق مسطحة عندما تكون قيمة ISO*التعرض ثابتة على مساحة الكسب التي تم اختبارها.
test_exposure_plot_means.png
test_exposure_mult=1.00.jpg | test_exposure_mult=64.00.jpg |
اختبار_jpeg
تبدو الاختبارات التي حوّلت صور YUV وصور JPEG على الجهاز متشابهة. يأخذ الاختبار المركز بنسبة 10% من الصورة ويحسب قيمة النموذج اللوني أحمر أخضر أزرق، ويتحقق من تطابقهما.
واجهات برمجة التطبيقات التي تم اختبارها:
اجتياز: يكون متوسط الفرق في نموذج أحمر أخضر أزرق بين كل صورة أقل من 3%.
اختبار_jpeg_fmt=jpg.jpg | test_jpeg=fmt=yuv.jpg |
اختبار_الإغلاق
اختبار تثبيت الإعدادات (التعرض والتكبير) على الإطار الأيمن لكاميرا FULL
وLEVEL_3
التقاط سلسلة من اللقطات باستخدام الطلبات المتتالية، وتغيير معاملات طلب الالتقاط بين اللقطات. يتحقّق من احتواء الصور على الخصائص المتوقعة.
واجهات برمجة التطبيقات التي تم اختبارها:
تم اجتياز الاختبار: زادت الصور [2 و3 و6 و8 و10 و12 و13] من مستوى ISO أو درجة الإضاءة وتظهر
بمستويات أعلى من أحمر أخضر أزرق على test_latching_plot_means.png
.
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=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=12.jpg |
test_latching_plot_means.png
اختبار_الخطية
اختبارات إمكانية قلب عملية معالجة الجهاز إلى وحدات بكسل خطية. التقاط سلسلة من اللقطات مع توجيه الجهاز إلى هدف موحد
واجهات برمجة التطبيقات التي تم اختبارها:
android.hardware.camera2.CameraCharacteristics#SENSOR_INFO_SENSITIVITY_RANGE
android.hardware.camera2.CaptureRequest#BLACK_LEVEL_LOCK
android.hardware.camera2.CaptureRequest#SENSOR_SENSITIVITY
android.hardware.camera2.CaptureRequest#TONEMAP_CURVE
android.hardware.camera2.CaptureRequest#TONEMAP_MODE
Pass (اجتياز): يجب أن تزيد قيم R وG وB خطيًا مع زيادة الحساسية.
اختبار_الخطية_plot_means.png
اختبار_انفجار_مقفل
لاختبار قفل 3A وصور متسلسلة YUV (باستخدام الإعداد التلقائي). تم تصميم هذا الاختبار لاجتيازه حتى على
أجهزة محدودة لا تتضمن MANUAL_SENSOR
أو PER_FRAME_CONTROLS
.
يتحقّق الاختبار من اتساق صورة YUV، بينما يتم التحقّق من عدد اللقطات في الثانية في CTS.
واجهات برمجة التطبيقات التي تم اختبارها:
android.hardware.camera2.CaptureRequest#CONTROL_AE_LOCK
android.hardware.camera2.CaptureRequest#CONTROL_AWB_LOCK
اجتياز: تظهر اللقطات متّسقة.
test_locked_burst_frame0.jpg
test_locked_burst_frame1.jpg
test_locked_burst_frame2.jpg
اختبار_param_تصحيح_اللون
لاختبارات تطبيق مَعلمات android.colorCorrection.*
عند ضبطها
يتم أخذ لقطات ذات قيم تحويل واكتساب مختلفة، وإجراء اختبارات
تبدو مختلفة بشكل متناسق. يتم اختيار التحويل والمكاسب لجعل الإخراج
أحمر أو أزرق بشكل متزايد. تستخدم خريطة ألوان خطية. تعيين الدرجات اللونية هو تقنية تُستخدم في معالجة الصور لتعيين مجموعة ألوان إلى أخرى لتقريب ظهور الصور ذات النطاق الديناميكي العالي في وسيط لديه نطاق ديناميكي أكثر تقييدًا.
واجهات برمجة التطبيقات التي تم اختبارها:
android.hardware.camera2.CaptureRequest#COLOR_CORRECTION_GAINS
android.hardware.camera2.CaptureRequest#COLOR_CORRECTION_MODE
android.hardware.camera2.CaptureRequest#COLOR_CORRECTION_TRANSFORM
Pass (اجتياز): تعزز قيم R وB وفقًا للتحويل.
test_param_color_bug_plot_means.png
*المحور x هو طلبات الالتقاط: 0 = الانسجام، 1=تعزيز الأحمر، 2= تعزيز الأزرق
test_param_color_Debug_req=0.jpg
test_param_color_ correctness_req=1.jpg (تعزيز R)
test_param_color_ correct_req=2.jpg (تعزيز B)
test_param_exposure_time
يشير ذلك إلى اختبارات تطبيق مَعلمة android.sensor.exposureTime
.
واجهات برمجة التطبيقات التي تم اختبارها:
تمرير: كل لقطة أكثر سطوعًا من اللقطة السابقة.
test_param_exposure_time_frame0.jpg
test_param_exposure_time_plot.png
test_param_flash_mode
يشير ذلك إلى اختبارات تطبيق مَعلمة android.flash.mode
. يتم تعيين درجة التعرض للضوء يدويًا على الجانب المظلم، بحيث يتضح ما إذا كان الفلاش قد تم تشغيله أم لا، ويستخدم خريطة تنينية خطية. يتم فحص الوسط الذي يتضمن صورة التجانب لمعرفة ما إذا كان هناك تدرج كبير يتم إنشاؤه للتحقق مما إذا كان الفلاش قد تم تنشيطه.
واجهات برمجة التطبيقات التي تم اختبارها:
تمرير: يحتوي وسط الصورة المتجانبة على تدرج كبير مما يعني أن الفلاش قد انطلق.
test_param_flash_mode_1.jpg
test_param_flash_mode_1_privacy.jpg
test_param_flash_mode_2.jpg
test_param_flash_mode_2_tile.jpg
اختبار_param_noise_reduction
لاختبار تطبيق مَعلمة android.noiseReduction.mode
بشكلٍ صحيح
عند ضبطها يتم التقاط الصور باستخدام إضاءة خافتة في الكاميرا. يتم استخدام تكبير تناظري مرتفع لضمان
أن تكون الصورة التي تم التقاطها مزعجة. تم التقاط ثلاث صور: إيقاف NR و"سريعة"
و "عالية الجودة". كما أنه يلتقط صورة بكسب منخفض ويكون NR غير مفعل، ويستخدم
تباين ذلك كخط أساس. كلما كانت نسبة الإشارة إلى التشويش أعلى (SNR)، كانت جودة الصورة أفضل.
واجهات برمجة التطبيقات التي تم اختبارها:
اجتياز: تختلف SNR باختلاف أوضاع تقليل الضوضاء، وتعمل بشكل مشابه للرسم البياني أدناه.
test_param_noise_reduction_plot_SNR.png
0: إيقاف، 1: سريع، 2: المقر الرئيسي، 3: دقيقة، 4: ZSL
test_param_noise_reduction_high_move_nr=0.jpg
test_param_noise_reduction_high_ ذكر_nr=1.jpg
test_param_noise_reduction_high_move_nr=2.jpg
test_param_noise_reduction_high_send_nr=3.jpg
test_param_noise_reduction_low_move.jpg
test_param_sensitivity
يشير ذلك إلى اختبارات تطبيق مَعلمة android.sensor.sensitivity
. عند إجراء الاختبار، تزيد الحساسية من 5 خطوات مع تعريض ثابت للضوء لكل لقطة.
واجهات برمجة التطبيقات التي تم اختبارها:
اجتياز: تزيد سطوع ضوء الأحمر أخضر أزرق بنسبة% 10 مع زيادة الحساسية.
test_param_sensitivity_iso=0055.jpg
test_param_sensitivity_iso=1819.jpg
test_param_sensitivity_iso=3583.jpg
test_param_sensitivity_iso=5347.jpg
test_param_sensitivity_iso=7111.jpg
test_param_sensitivity_plot.png
وضع_المعلمة_اختبار
يشير ذلك إلى اختبارات تطبيق مَعلمة android.shading.mode
.
واجهات برمجة التطبيقات التي تم اختبارها:
android.hardware.camera2.CaptureRequest#SHADING_MODE
android.hardware.camera2.CaptureRequest#STATISTICS_LENS_SHADING_MAP_MODE
android.hardware.camera2.CaptureResult#STATISTICS_LENS_SHADING_CORRECTION_MAP
اجتياز: يتم تبديل أوضاع التظليل ويتم تعديل خرائط تظليل العدسة كما هو متوقَّع.
test_param_shading_mode_ls_maps_mode_0_loop_0.png.
test_param_shading_mode_ls_maps_mode_1_loop_0.png.
test_param_shading_mode_ls_maps_mode_2_loop_0.png.
test_param_tonemap_mode
اختبارات تطبيق المَعلمة android.tonemap.mode. يطبق منحنيات خريطة ألوان مختلفة على كل قناة R وG وB، ويتحقق من أن صور المخرجات قد تم تعديلها على النحو المتوقع. يتكون هذا الاختبار من اختبارين: test1 وtest2.
واجهات برمجة التطبيقات التي تم اختبارها:
android.hardware.camera2.CameraMetadata#TONEMAP_MODE_CONTRAST_MODE
android.hardware.camera2.CameraMetadata#TONEMAP_MODE_FAST
android.hardware.camera2.CaptureRequest#TONEMAP_CURVE
android.hardware.camera2.CaptureRequest#TONEMAP_MODE
البطاقة:
- test1: تتضمن كلتا الصورتين خريطة تدرجات لونية خطية، لكنّ n=1 ذو تدرج أكثر انحدارًا. القناة G (الخضراء) أكثر سطوعًا للصورة n=1.
- الاختبار 2: خريطة النبرة نفسها ولكن طولها مختلف. الصور هي نفسها.
test_param_tonemap_mode_n=0.jpg | test_param_tonemap_mode_n=1.jpg |
اختبار_POST_raw_sensitivity_boost
يتم البحث عن زيادة حساسية مستوى حساسية ملفات RAW بعد نشر ملف RAW. يتم التقاط مجموعة من صور RAW وYUV بحساسية مختلفة، ونشر مجموعة من حساسية تعزيز حساسية RAW والتحقق مما إذا كانت وحدة بكسل الناتج تتطابق مع إعدادات الطلب.
واجهات برمجة التطبيقات التي تم اختبارها:
android.hardware.camera2.CameraCharacteristics#CONTROL_POST_RAW_SENSITIVITY_BOOST_RANGE
android.hardware.camera2.CameraMetadata#REQUEST_AVAILABLE_CAPABILITIES_RAW
android.hardware.camera2.CaptureRequest#CONTROL_POST_RAW_SENSITIVITY_BOOST
android.hardware.camera2.CaptureRequest#SENSOR_SENSITIVITY
اجتياز: تصبح صور RAW أكثر قتامة عند زيادة السطوع بينما تظل صور YUV ثابتة في السطوع.
test_post_raw_sensitivity_boost_raw_s=3583_boost=0100.jpg
test_post_raw_sensitivity_boost_raw_s=1792_boost=0200.jpg
test_post_raw_sensitivity_boost_raw_s=0896_boost=0400.jpg
test_post_raw_sensitivity_boost_raw_s=0448_boost=0800.jpg
test_post_raw_sensitivity_boost_raw_s=0224_boost=1600.jpg
test_post_raw_sensitivity_boost_raw_s=0112_boost=3199.jpg
test_post_raw_sensitivity_boost_raw_plot_means.png
test_post_raw_sensitivity_boost_yuv_s=0112_boost=3199.jpg
test_post_raw_sensitivity_boost_yuv_s=0448_boost=0800.jpg
test_post_raw_sensitivity_boost_yuv_s=0896_boost=0400.jpg
test_post_raw_sensitivity_boost_yuv_s=1792_boost=0200.jpg
test_post_raw_sensitivity_boost_yuv_s=3585_boost=0100.jpg
test_post_raw_sensitivity_boost_yuv_plot_means.png
اختبار حساسية_raw_burst
يتم التقاط مجموعة من الصور الأولية مع زيادة المكاسب وقياس مستوى التشويش. وتلتقط الصور بتنسيق غير متداخل فقط، وذلك في شكل صور متسلسلة.
واجهات برمجة التطبيقات التي تم اختبارها:
android.hardware.camera2.CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE
android.hardware.camera2.CameraCharacteristics#SENSOR_INFO_SENSITIVITY_RANGE
android.hardware.camera2.CameraCharacteristics#SENSOR_INFO_WHITE_LEVEL
android.hardware.camera2.CameraCharacteristics#SENSOR_MAX_ANALOG_SENSITIVITY
android.hardware.camera2.CameraMetadata#REQUEST_AVAILABLE_CAPABILITIES_RAW
تمرير: كل لقطة أكثر تشويشًا من اللقطة السابقة، نظرًا لزيادة الكسب.
لاستخدام تباين خلية شبكة الإحصاءات المركزية.
اختبار_raw_burst_sensitivity_variance.png
اختبار_التعرض_الأساسي
يتم التقاط مجموعة من الصور الأولية مع زيادة وقت التعرض للضوء وقياس قيم البكسل.
واجهات برمجة التطبيقات التي تم اختبارها:
android.hardware.camera2.CameraMetadata#REQUEST_AVAILABLE_CAPABILITIES_RAW
android.hardware.camera2.CaptureRequest#SENSOR_EXPOSURE_TIME
اجتياز: تؤدي زيادة مقياس ISO (الاكتساب) إلى جعل وحدات البكسل أكثر حساسية للضوء، وبالتالي يتحرك المخطط باتجاه اليسار.
test_raw_exposure_s=55.png
(100 تساوي 1 ملي ثانية، و101 تساوي 10 ملي ثانية، و10−1 تساوي 0.1 مللي ثانية)
test_raw_exposure_s=132.png
test_raw_exposure_s=209.png
test_raw_exposure_s=286.png
test_raw_exposure_s=363.png
test_raw_exposure_s=440.png
اختبار_حساسية_البيانات
يتم التقاط مجموعة من الصور الأولية مع زيادة الحساسيات، كما يتم قياس التشويش (التباين) في الوسط بما يعادل% 10 من الصورة. لاختبارات أن كل لقطة أكثر ضجيجًا من اللقطة السابقة.
واجهات برمجة التطبيقات التي تم اختبارها:
android.hardware.camera2.CameraCharacteristics#SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE
android.hardware.camera2.CameraCharacteristics#SENSOR_INFO_SENSITIVITY_RANGE
android.hardware.camera2.CameraCharacteristics#SENSOR_INFO_WHITE_LEVEL
android.hardware.camera2.CameraCharacteristics#SENSOR_MAX_ANALOG_SENSITIVITY
android.hardware.camera2.CameraMetadata#REQUEST_AVAILABLE_CAPABILITIES_RAW
اجتياز: يزداد التباين مع كل لقطة.
اختبار_raw_sensitivity_variance.png
اختبار_إعادة_معالجة_الضوضاء
يشير ذلك إلى الاختبارات التي يتم من خلالها تطبيق android.noiseReduction.mode
على طلبات إعادة معالجة الطلبات.
يتم التقاط الصور التي تمت إعادة معالجتها باستخدام إضاءة خافتة في الكاميرا. يتم استخدام تكبير تناظري مرتفع
لضمان أن تكون صورة الالتقاط مزعجة. التقط ثلاث صور تمت إعادة معالجتها، وذلك من أجل إيقاف NR و"سريع" و "جودة عالية". التقط صورة معاد معالجتها مع انخفاض الكسب مع إيقاف NR، واستخدام تباين ذلك باعتباره خط الأساس.
واجهات برمجة التطبيقات التي تم اختبارها:
تمرير: سريع >= غير مفعّل، عالي الجودة >= سريع، عالي الجودة >> غير مفعّل
رسم SNR النموذجي مقابل NR_mode
تسلسل_اختبار_tonemap
لاختبار سلسلة من اللقطات باستخدام منحنيات مختلفة لخريطة النبرة. تم التقاط 3 لقطات يدوية باستخدام خريطة نغمة خطية. يتم التقاط 3 لقطات يدوية باستخدام خريطة الألوان التلقائية. لحساب الدلتا بين كل زوج إطار متتالي.
واجهات برمجة التطبيقات التي تم اختبارها:
اجتياز: هناك 3 إطارات متطابقة تليها مجموعة مختلفة من 3 إطارات متطابقة.
test_tonemap_Sequence_i=0.jpg
test_tonemap_Sequence_i=1.jpg
test_tonemap_Sequence_i=2.jpg
test_tonemap_Sequence_i=3.jpg
test_tonemap_Sequence_i=4.jpg
test_tonemap_Sequence_i=5.jpg
اختبار_yuv_jpeg_all
يشير ذلك إلى اختبارات نجاح جميع الأحجام والتنسيقات التي يتم الإبلاغ عنها لالتقاط الصور. يتم استخدام طلب يدوي
مع خريطة تدرجات لونية خطية لكي تبدو YUV وJPEG متشابهة عند
تحويلهما بواسطة وحدة image_processing_utils
. لا يتم حفظ الصور تلقائيًا،
ولكن يمكن حفظها من خلال تفعيل ميزة debug_mode
.
واجهات برمجة التطبيقات التي تم اختبارها:
android.hardware.camera2.CaptureRequest#TONEMAP_CURVE
android.hardware.camera2.CaptureRequest#TONEMAP_MODE
android.graphics.ImageFormat#JPEG
اجتياز: تحتوي جميع مراكز الصور على قيمة قصوى متوسّطة للجذر (RMS) لإشارة معيّنة، وهي فرق في الصور المحوَّلة باستخدام نموذج أحمر أخضر أزرق (RGB) مع دقة 3% من صورة YUV العالية الدقة.
test_yuv_jpeg_all.png
اختبار_yuv_plus_dng
اختبارات من عمل الأحجام والتنسيقات التي يتم الإبلاغ عنها لالتقاط الصور
واجهات برمجة التطبيقات التي تم اختبارها:
اجتياز: يؤدي الاختبار إلى إكمال الصور المطلوبة وعرضها.
اختبار_yuv_plus_dng.jpg
اختبار_yuv_plus_jpeg
اختبارات تلتقط إطارًا واحدًا كمخرجات YUV وJPEG يتم استخدام طلب يدوي
مع خريطة تدرجات لونية خطية لكي تبدو YUV وJPEG متشابهة عند
تحويلهما بواسطة وحدة image_processing_utils
.
واجهات برمجة التطبيقات التي تم اختبارها:
android.hardware.camera2.CaptureRequest#TONEMAP_CURVE
android.hardware.camera2.CaptureRequest#TONEMAP_MODE
android.graphics.ImageFormat#JPEG
Pass (اجتياز): صور YUV وJPEG متشابهة، ولها اختلاف أقل من 1% RMS (قيمة الجذر التربيعي المتوسط لإشارة).
اختبار_yuv_plus_jpg_jpg.jpg | test_yuv_plus_jpeg_yuv.jpg |
اختبار_yuv_plus_raw
الاختبارات التي تلتقط إطارًا واحدًا كمخرجات RAW/RAW10/RAW12 وYUV إذا كانت متوافقة يستخدم طلبًا يدويًا مع خريطة تنقُّل خطية بحيث يكون من المتوقّع أن يكونا متطابقَين. للمقارنة بين قيم RGB بمركز 10% للصور المحوَّلة. السجلّاتandroid.shading.mode
واجهات برمجة التطبيقات التي تم اختبارها:
android.hardware.camera2.CameraMetadata#REQUEST_AVAILABLE_CAPABILITIES_RAW
android.hardware.camera2.CaptureRequest#COLOR_CORRECTION_MODE
android.hardware.camera2.CaptureRequest#COLOR_CORRECTION_GAINS
android.hardware.camera2.CaptureRequest#COLOR_CORRECTION_TRANSFORM
android.hardware.camera2.CaptureRequest#CONTROL_AWB_MODE
android.hardware.camera2.CaptureRequest#CONTROL_MODE
android.hardware.camera2.CaptureRequest#SHADING_MODE
android.hardware.camera2.CaptureRequest#TONEMAP_CURVE
android.hardware.camera2.CaptureRequest#TONEMAP_MODE
android.hardware.graphics.ImageFormat#RAW10
android.hardware.graphics.ImageFormat#RAW12
Pass (اجتياز): يكون YUV والصور الأوّلية متشابهة، ويكون الاختلاف فيها أقل من 3.5% من قيمة RMS (قيمة الجذر التربيعي المتوسط لإشارة).
test_yuv_plus_raw_shading=1_raw.jpg | test_yuv_plus_raw_shading=1_yuv.jpg |
المشهد2_a
يحتوي المشهد2_a على ثلاثة وجوه بخلفية رمادية وملابس محايدة. يتم اختيار الوجوه للحصول على مجموعة واسعة من درجات لون البشرة. يجب أن يكون للمخطط الاتجاه الصحيح حتى تعمل ميزة اكتشاف الوجه على النحو الأمثل.
المشهد2_a
اختبار_الفلاش_التلقائي
الاختبارات التي يتم فيها تشغيل الفلاش التلقائي في مشهد مظلم التحقق من تنشيط الفلاش التلقائي عن طريق التحقق من أن مركز الصورة المتجانبة له تدرج كبير. لتشغيل الفلاش التلقائي، يجب إطفاء الجهاز اللوحي والأضواء في جهاز الاختبار. يتم إطفاء الجهاز اللوحي من خلال الاختبار، ويمكن إطفاء الأضواء تلقائيًا باستخدام وحدة التحكّم Arduino. يجب أن يكون المشهد مظلمًا تمامًا حتى يعمل الاختبار بشكل صحيح. بناءً على ذلك، يجب تغطية فتحة الجهاز اللوحي الخلفية بالكامل بواسطة الجهاز اللوحي للمشهد، ويجب تغطية الفتحة الأمامية للجهاز بواسطة فتحة العدسة وهاتف DUT لمنع الضوء الضائع من الدخول إلى الجهاز.
واجهات برمجة التطبيقات التي تم اختبارها:
android.hardware.camera2.CameraCharacteristics#FLASH_INFO_AVAILABLE
android.hardware.camera2.CaptureRequest#CONTROL_AE_MODE
android.hardware.camera2.CaptureRequest#FLASH_MODE
تمرير: يحتوي وسط الصورة المتجانبة على تدرج كبير، ما يعني أنه تم تنشيط الفلاش التلقائي.
اختبار_التعديل التلقائي لإطار الفيديو
لاختبار سلوك ميزة "التعديل التلقائي لإطار الكاميرا" في جهاز الكاميرا يتم إجراء تكبير كبير بحيث لا يكون أي من الوجوه في المشهد مرئيًا، ويفعِّل وضع "التعديل التلقائي لإطار الصورة" من خلال
ضبط AUTOFRAMING
في CaptureRequest
على True
، ويتحقّق مما إذا كان من الممكن رصد جميع
الوجوه في المشهد الأصلي عندما تتقارب الحالة (أي عند ضبط AUTOFRAMING_STATE
في CaptureResult
على
AUTOFRAMING_STATE_CONVERGED
).
واجهات برمجة التطبيقات التي تم اختبارها:
android.hardware.camera2.CameraCharacteristics#CONTROL_AUTOFRAMING_AVAILABLE
android.hardware.camera2.CaptureRequest#CONTROL_AUTOFRAMING
android.hardware.camera2.CaptureResult#CONTROL_AUTOFRAMING
android.hardware.camera2.CaptureResult#CONTROL_AUTOFRAMING_STATE
اجتياز: تم رصد الوجوه الثلاثة جميعها.
اختبار_display_p3
يمكنك اختبار
عرض P3
التقاط صور بتنسيق JPEG باستخدام ColorSpaceProfiles
API. لاختبارات أن ملف JPEG الذي تم التقاطه يحتوي على ملف تعريف IC مناسب في عنوانه، وأن الصورة تحتوي على ألوان خارج سلسلة sRGB.
واجهات برمجة التطبيقات التي تم اختبارها:
android.hardware.camera2.params.ColorSpaceProfiles
android.hardware.camera2.params.SessionConfiguration#setColorSpace
Pass: يحتوي ملف JPEG على ملف شخصي للعرض P3 ICC وألوان خارج نطاق sRGB.
تأثيرات_الاختبار
يلتقط الإطار لتأثيرات الكاميرا المتوافقة ويتحقّق مما إذا تم إنشاؤها
بشكل صحيح. يتحقّق الاختبار من التأثيرَين OFF
وMONO
فقط، ولكنّه يحفظ الصور لجميع التأثيرات المتوافقة.
واجهات برمجة التطبيقات التي تم اختبارها:
android.hardware.camera2.CameraCharacteristics#CONTROL_AVAILABLE_EFFECTS
android.hardware.camera2.CaptureRequest#CONTROL_EFFECT_MODE
تمرير: لالتقاط صورة المشهد باستخدام التأثيرات OFF
وصورة أحادية اللون
مع ضبط التأثيرات على MONO
.
تأثيرات_اختبار_MONO.jpg
مجموعات_اختبار_التنسيق
لاختبار مجموعات مختلفة من تنسيقات الإخراج
واجهات برمجة التطبيقات التي تم اختبارها:
android.hardware.camera2.CameraCharacteristics#SCALER_STREAM_CONFIGURATION_MAP
android.hardware.camera2.params.StreamConfigurationMap#getOutputSizes()
android.hardware.camera2.CameraCaptureSession#captureBurst()
اجتياز: تم تسجيل جميع المجموعات بنجاح.
اختبار_jpeg_quality
لاختبار جودة ضغط JPEG للكاميرا يمكن استخدام تنسيق JPEG من خلال android.jpeg.quality
والتأكّد من أنّ "جداول الكمية" تتغيّر بشكل صحيح.
واجهات برمجة التطبيقات التي تم اختبارها:
اجتياز: تنخفض مصفوفة الكم مع زيادة الجودة. (تمثل المصفوفة عامل القسمة.)
معدّلات مصفوفة DQT/الكروما الخلفية في هاتف Pixel 4 مقارنةً بجودة JPEG
مثال على عدم اجتياز الاختبار
تجدر الإشارة إلى أنّه في ما يتعلّق بالصور ذات الجودة المنخفضة جدًا (jpeg.quality < 50)، ليست هناك زيادة في الضغط في مصفوفة قياس الكمي.
اختبار_عدد_الوجوه
لاختبارات التعرّف على الوجوه.
واجهات برمجة التطبيقات التي تم اختبارها:
android.hardware.camera2.CaptureResult#STATISTICS_FACES
android.hardware.camera2.CaptureResult#STATISTICS_FACE_DETECT_MODE
تمرير: للبحث عن ثلاثة وجوه.
اختبار_عدد_الوجوه_fd_mode_1.jpg
test_preview_min_frame_rate
لاختبارات انخفاض عدد اللقطات في الثانية للمعاينة بشكل صحيح في مشهد مظلم لكي يتم إجراء هذا الاختبار بشكل صحيح، يجب إطفاء المصابيح في جهاز الاختبار بواسطة وحدة التحكّم أو يدويًا من خلال مشغّل الاختبار.
واجهات برمجة التطبيقات التي تم اختبارها:
android.hardware.camera2.CameraCharacteristics#CONTROL_AE_AVAILABLE_TARGET_FPS_RANGES
android.hardware.camera2.CameraCharacteristics#SCALAR_AVAILABLE_CAPABILITIES_STREAM_USE_CASES
android.hardware.camera2.CaptureResult#CONTROL_AE_TARGET_FPS_RANGE
android.media.CamcorderProfile
android.media.MediaRecorder
اجتياز: يكون عدد اللقطات في الثانية عند المعاينة الحدّ الأدنى المطلوب لنطاق عدد اللقطات في الثانية، ويكون التباين بين اللقطات أقل من مقدار التفاوت المطلق المحدد في الاختبار.
اختبار_إعادة المعالجة_uv_swap
الاختبارات التي تفيد بأن إعادة معالجة YUV لا تستبدل مستويي U وV. ويتم اكتشاف ذلك من خلال حساب مجموع الاختلافات المطلقة (SAD) بين الصورة التي تمت إعادة معالجتها والتقاطها الذي لم تتم إعادة معالجته. إذا كان تبديل مخرجات U وV للتجميع الذي تمت إعادة معالجته يؤدي إلى زيادة قيمة SAD، فمن المفترض أن يكون للناتج مستوي U وV الصحيحين.
واجهات برمجة التطبيقات التي تم اختبارها:
android.hardware.camera2.CameraDevice#createCaptureSession
android.hardware.camera2.CameraMetadata#REQUEST_AVAILABLE_CAPABILITIES_YUV_REPROCESSING
android.hardware.camera2.CaptureRequest#EDGE_MODE
android.hardware.camera2.CaptureResult#NOISE_REDUCTION_MODE
Pass: لا يمكن تبديل طائرتَي U وV.
test_reprocess_uv_swap.png
المشهد2_b
اختبار_عدد_الوجوه
تعمل هذه الميزة على اختبار ميزة "التعرّف على الوجوه" مع زيادة تنوّع درجات لون البشرة في مشاهد الوجوه.
واجهات برمجة التطبيقات التي تم اختبارها:
android.hardware.camera2.CaptureResult#STATISTICS_FACES
android.hardware.camera2.CaptureResult#STATISTICS_FACE_DETECT_MODE
اجتياز: للبحث عن 3 وجوه.
اختبار_عدد_الوجوه_fd_mode_1.jpg
اختبار_yuv_jpeg_capture_sameness
يتم التقاط صورتَين باستخدام أكبر تنسيقَين شائعَين YUV وJPEG وبنسبة العرض إلى الارتفاع نفسها مع أكبر تنسيق JPEG ولا تتجاوز درجة الدقة 1920×1440.
يتم ضبط jpeg.quality
على 100 وتسجيل طلب عرض مزدوج. تحوِّل الصور إلى صفائف RGB وتحسب فرق متوسط الجذر الثلاثي الأبعاد (RMS) بين الصورتين.
واجهات برمجة التطبيقات التي تم اختبارها:
android.hardware.camera2.CameraCharacteristics#SCALER_AVAILABLE_STREAM_USE_CASES
android.hardware.camera2.CaptureRequest#JPEG_QUALITY
android.graphics.ImageFormat#JPEG
Pass (اجتياز): صور YUV وJPEG متشابهة، ولها اختلاف أقل من 1% RMS (قيمة الجذر التربيعي المتوسط لإشارة).
المشهد2_ج
اختبار_عدد_الوجوه
تعمل هذه الميزة على اختبار ميزة "التعرّف على الوجوه" مع زيادة تنوّع درجات لون البشرة في مشاهد الوجوه.
واجهات برمجة التطبيقات التي تم اختبارها:
android.hardware.camera2.CaptureResult#STATISTICS_FACES
android.hardware.camera2.CaptureResult#STATISTICS_FACE_DETECT_MODE
اجتياز: للبحث عن 3 وجوه.
اختبار_عدد_الوجوه_fd_mode_1.jpg
اختبار_jpeg_capture_perf_class
لاختبار وقت استجابة التقاط JPEG لفئة الأداء S على النحو المحدّد في القسم 2.2.7.2 الكاميرا في CDD.
اجتياز: يجب أن يكون وقت استجابة التقاط الصور بتنسيق JPEG في الكاميرا2 < 1,000 ملّي ثانية للدقة التي تبلغ 1080p وفقًا لما تم تحديده من خلال اختبار أداء كاميرا CTS في ظل ظروف الإضاءة في تكنولوجيا المعلومات (3000 كيلوبايت) لكلتا الكاميرا الأساسية.
test_camera_launch_perf_class
لاختبار وقت استجابة تشغيل الكاميرا لفئة الأداء S على النحو المحدّد في القسم 2.2.7.2 الكاميرا في CDD.
اجتياز: يجب أن يكون وقت استجابة بدء تشغيل الكاميرا 2 (الكاميرا) (فتح الكاميرا إلى إطار المعاينة الأول) أقل من 600 ملي ثانية وفقًا للقياس باستخدام اختبار أداء كاميرا CTS في ظل ظروف الإضاءة في تكنولوجيا المعلومات (3000 ألف) لكلتا الكاميرا الأساسية.
المشهد2_d
اختبار_عدد_الوجوه
تعمل هذه الميزة على اختبار ميزة "التعرّف على الوجوه" مع زيادة تنوّع درجات لون البشرة في مشاهد الوجوه.
واجهات برمجة التطبيقات التي تم اختبارها:
android.hardware.camera2.CaptureResult#STATISTICS_FACES
android.hardware.camera2.CaptureResult#STATISTICS_FACE_DETECT_MODE
اجتياز: للبحث عن 3 وجوه.
المشهد2_e
اختبار_صورة_مستمرة
تم التقاط 50 إطارًا لدرجة دقة VGA باستخدام الإعداد الأول لطلب الالتقاط
android.control.afMode = 4 (CONTINUOUS_PICTURE).
واجهات برمجة التطبيقات التي تم اختبارها:
android.hardware.camera2.CaptureRequest#CONTROL_AF_MODE
android.hardware.camera2.CaptureResult#CONTROL_AE_STATE
android.hardware.camera2.CaptureResult#CONTROL_AF_STATE
android.hardware.camera2.CaptureResult#CONTROL_AWB_STATE
اجتياز: يستقر نظام 3A بنهاية عملية الالتقاط بمعدّل 50 إطارًا.
اختبار_عدد_الوجوه
تعمل هذه الميزة على اختبار ميزة "التعرّف على الوجوه" مع زيادة تنوّع درجات لون البشرة في مشاهد الوجوه.
واجهات برمجة التطبيقات التي تم اختبارها:
android.hardware.camera2.CaptureResult#STATISTICS_FACES
android.hardware.camera2.CaptureResult#STATISTICS_FACE_DETECT_MODE
اجتياز: للبحث عن 3 وجوه.
المشهد2_f
يحتوي المشهد2_f على ثلاثة وجوه بخلفية بيضاء وملابس بيضاء. تحتوي الوجوه على مجموعة واسعة من درجات لون البشرة وتباينًا عاليًا مع الخلفية.
المشهد2_f
اختبار_عدد_الوجوه
تعمل هذه الميزة على اختبار ميزة "التعرّف على الوجوه" مع زيادة تنوّع درجات لون البشرة في مشاهد الوجوه.
واجهات برمجة التطبيقات التي تم اختبارها:
android.hardware.camera2.CaptureResult#STATISTICS_FACES
android.hardware.camera2.CaptureResult#STATISTICS_FACE_DETECT_MODE
اجتياز: للبحث عن 3 وجوه.
اختبار_عدد_الوجوه_fd_mode_1.jpg
المشهد 3
يستخدم Scene3 مخطط ISO12233، وتستخدم معظم الاختبارات طريقة استخراج المخطط للعثور على المخطط في المشهد. لهذا السبب، لا تحتوي معظم الصور المحفوظة على حدود مثل صور المشاهد 1 أو 2 أو 4، بل تحتوي فقط على المخطط. يجب أن يكون المخطط في الاتجاه الصحيح حتى يعمل الباحث عن المخطط بشكل مثالي.
اختبار_3a_الاتساق
اختبارات للتأكّد من اتّساق المحتوى 3A
واجهات برمجة التطبيقات التي تم اختبارها:
android.hardware.camera2.CaptureRequest#COLOR_CORRECTION_GAINS
android.hardware.camera2.CaptureRequest#COLOR_CORRECTION_TRANSFORM
android.hardware.camera2.CaptureRequest#LENS_FOCUS_DISTANCE
android.hardware.camera2.CaptureResult#SENSOR_EXPOSURE_TIME
android.hardware.camera2.CaptureResult#SENSOR_SENSITIVITY
تمرير: 3A يقترب من التعرض للضوء وكسب التركيز وتركيز البؤرة (توازن اللون الأبيض التلقائي) وfd (مسافة التركيز) ثلاث مرات ضمن حد التفاوت.
اختبار_تحسين_الحافة
لاختبارات تطبيق مَعلمة android.edge.mode
بشكلٍ صحيح يلتقط الصور
بدون إعادة معالجتها لكل وضع حافة ويعرض حدة الصورة الناتجة
والبيانات الوصفية لنتيجة الالتقاط. لمعالجة طلب الالتقاط باستخدام وضع الحافة والحساسية ووقت التعرض للضوء ومسافة التركيز ومعلمة سطح الإخراج.
اجتياز: وضع HQ
(2) أكثر وضوحًا من وضع OFF
(0). FAST
(1) أكثر وضوحًا
من وضع OFF
. الوضع "HQ
" أكثر وضوحًا أو يساوي وضع "FAST
"
واجهات برمجة التطبيقات التي تم اختبارها:
مَعلمات الكاميرا المتأثّرة:
EDGE_MODE
test_edge_enhancement_edge=0.jpg
test_edge_enhancement_edge=1.jpg (الوضع السريع)
test_edge_enhancement_edge=2.jpg (وضع الجودة العالية)
اختبار_قلب_المرآة
يمكنك إجراء اختبارات لمعرفة ما إذا كانت الصورة موجَّهة بشكل صحيح وفقًا للقسم 7.5.2 من الكاميرا الأمامية الموجَّهة إلى المستهلك [C-1-5].
يمكن التعرف على الصور المرآة أو المقلوبة أو التي يتم تدويرها من خلال ميزة المعين بالقرب من المركز.
تذكرة: الصورة ليست مقلوبة أو معكوسة أو لا يتم تدويرها.
اختبار_قلب_المرآة_مشهد_التصحيح.jpg
اختبار_أفقي_إلى_عمودي
لاختبار ما إذا كان الوضع الأفقي إلى العمودي يعمل بشكل صحيح مع أدوات الاستشعار الموجَّهة الأفقية.
واجهات برمجة التطبيقات التي تم اختبارها:
android.hardware.camera2.CameraCharacteristics#SCALER_AVAILABLE_ROTATE_AND_CROP_MODES
android.hardware.camera2.CameraCharacteristics#SENSOR_ORIENTATION
android.hardware.camera2.CameraCharacteristics#getCameraCharacteristics
اجتياز: يساعد الاختبار في تحديد موقع الرسم البياني بالدوران المتوقّع (0 درجة عند إيقاف ميزة الإلغاء الأفقي إلى الوضع العمودي، 90 درجة عند تفعيل الميزة).
اختبار_أفقي_إلى_عمودي.png
test_lens_movement_reporting
لاختبار ما إذا تم الإبلاغ عن علامة حركة العدسة بشكل صحيح. تلتقط هذه الصورة سلسلة من 24 صورة مع عرض أول 12 إطارًا على مسافة تركيز البؤر المثلى (وفقًا لقيمة 3A) وآخر 12 إطارًا عند أدنى مسافة يمكن التركيز عليها. حول الإطار 12، تتحرك العدسة مما يتسبب في انخفاض الحدة. وتستقر الحدة في النهاية مع انتقال العدسة إلى الموضع النهائي. يجب تأكيد علم حركة العدسة في جميع اللقطات التي تكون فيها الحدة متوسطة إلى الحدة في اللقطات القليلة الأولى مع تثبيت العدسة على بُعد بؤري مثالي، وكذلك في اللقطات القليلة الأخيرة التي تكون فيها العدسة ثابتة في الحدّ الأدنى للمسافة البؤرية. الإطار الدقيق الذي تتحركه العدسة ليس مهمًا: ما يتم التحقق منه هو أن علامة الحركة يتم تحديدها عندما تتحرك العدسة.
واجهات برمجة التطبيقات التي تم اختبارها:
android.hardware.camera2.CameraCharacteristics#LENS_INFO_MINIMUM_FOCUS_DISTANCE
android.hardware.camera2.CaptureResult#LENS_STATE
android.hardware.camera2.CaptureResult#LENS_FOCUS_DISTANCE
android.hardware.camera2.CaptureResult#SENSOR_TIMESTAMP
android.hardware.camera2.CaptureRequest#LENS_FOCUS_DISTANCE
اجتياز: تبلغ درجة دقة علامة حركة "عدسة 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
تتميّز بفرق في الحدة مقارنةً باللقطات القليلة الأولى من البعد البؤري الأمثل أو اللقطات القليلة الأخيرة بأقل مسافة ممكنة.
اختبار_إعادة_معالجة_تحسين_الحافة
اختبارات ما إذا كانت طرق إعادة المعالجة المتوافقة لتحسين الحافة تعمل بشكل سليم. يعالج طلب الالتقاط باستخدام وضع إعادة معالجة معيّن ويقارن الأوضاع المختلفة للالتقاط عند إيقاف أوضاع إعادة المعالجة.
واجهات برمجة التطبيقات التي تم اختبارها:
android.hardware.camera2.CaptureRequest#EDGE_MODE
android.hardware.camera2.CaptureRequest#REPROCESS_EFFECTIVE_EXPOSURE_FACTOR
اجتياز: تكون درجة الدقة في أوضاع الحافة المختلفة صحيحة. HQ
(الوضع 2) أكثر حدّة من OFF
(الوضع 0)، ويكون التحسين بين الأوضاع المختلفة مشابهًا.
test_reprocess_edge_enhancement_plot.png
المشهد 4
يتكون المشهد 4 من دائرة سوداء على خلفية بيضاء داخل مربع.
المشهد 4
اختبار_نسبة_العرض_والاقتصاص
لاختبار ما إذا كانت الصور مشوهة أو تم اقتصاصها على نحو غير متوقع في مسار الصورة. لالتقاط صور لدائرة على جميع التنسيقات. للتحقق من أن الدائرة غير مشوهة، ولا تنتقل الدائرة من مركز الصورة، ولا يتغير حجمها بشكل غير صحيح بنسب عرض إلى ارتفاع أو درجات دقة مختلفة.
واجهات برمجة التطبيقات التي تم اختبارها:
android.hardware.camera2.CaptureResult#LENS_DISTORTION
android.hardware.camera2.CaptureResult#LENS_FOCAL_LENGTH
android.hardware.camera2.CaptureResult#LENS_INTRINSIC_CALIBRATION
اجتياز: لا يتم تمديد الصور، ولا يختلف مركز الصور بنسبة تزيد عن 3%، ويتم الاحتفاظ بأقصى قدر ممكن من المساحة (مجال الرؤية).
آليات عدم التعذُّر:
- لا تتم محاذاة الكاميرا مع الدائرة المعروضة على الجهاز اللوحي في وسط المشهد الذي تم التقاطه.
- يتم تشويه الدائرة في الصورة الملتقطة من خلال مسار المعالجة.
- يتم اقتصاص الصورة ذات الدقة المنخفضة بشكل مزدوج في مسار الصورة لإنشاء محتوى مختلف بين الصور ذات الدقة العالية والمنخفضة.
- يتم اقتصاص الدائرة في الصورة الملتقَطة بسبب طلب الالتقاط الحادّ لنسبة العرض إلى الارتفاع وتقليل ارتفاع الصورة أو عرضها.
- تحتوي الدائرة في الصورة الملتقطة على انعكاس في المنتصف ولا تظهر مملوءة بالكامل.
اختبار_محاذاة_كاميرات_متعددة
لاختبار معلمات معايرة الكاميرا ذات الصلة بتحديد موضع الكاميرا في أنظمة الكاميرات المتعددة. باستخدام الكاميرات الفرعية الفعلية المتعددة الكاميرات، يمكنك التقاط صورة باستخدام إحدى الكاميرات الفعلية. للعثور على مركز الدائرة. تعرض مركز الدائرة على الإحداثيات العالمية لكل كاميرا. لمقارنة الفرق بين مراكز دائرة الكاميرات في إحداثيات العالم. تُعيد عمليات إعادة المشروعات التنسيق العالمي مع إحداثيات البكسل وتقارنها بالأصل كالتحقق من الصحة. لمقارنة أحجام الدوائر والتحقق مما إذا كانت الأطوال البؤرية للكاميرات مختلفة.
واجهات برمجة التطبيقات التي تم اختبارها:
android.hardware.camera2.CameraCharacteristics#getPhysicalCameraIds()
android.hardware.camera2.CameraCharacteristics#LENS_DISTORTION
android.hardware.camera2.CameraCharacteristics#LENS_INFO_AVAILABLE_FOCAL_LENGTHS
android.hardware.camera2.CameraCharacteristics#LENS_INTRINSIC_CALIBRATION
android.hardware.camera2.CameraCharacteristics#LENS_POSE_ROTATION
android.hardware.camera2.CameraCharacteristics#LENS_POSE_TRANSLATION
android.hardware.camera2.CameraMetadata#REQUEST_AVAILABLE_CAPABILITIES_LOGICAL_MULTI_CAMERA
android.hardware.camera2.CaptureRequest#SCALER_CROP_REGION
android.hardware.camera2.CaptureRequest#DISTORTION_CORRECTION_MODE
اجتياز: تكون مراكز الدائرة وأحجامها كما هو متوقع في الصور المعروضة مقارنة بالصور التي تم التقاطها باستخدام بيانات معايرة الكاميرا والأطوال البؤرية.
آليات عدم التعذُّر:
- تمثّل
LENS_INTRINSIC_CALIBRATION
أوLENS_POSE_TRANSLATION
أوLENS_POSE_ROTATION
قيم تصميم وليست بيانات معايرة فعلية. - نظام الكاميرا غير مناسب لإعداد الاختبار. على سبيل المثال، اختبار نظام كاميرا عريض وفائق الاتساع باستخدام جهاز اختبار RFoV. لمعرفة مزيد من المعلومات، يُرجى الاطّلاع على الأسئلة الشائعة حول الكاميرا المضمَّنة في علبة 1.
test_preview_aspect_ratio_and_crop
مثلما هو الحال في اختبار test_aspect_ratio_and_crop لعمليات الالتقاط الثابتة، يتحقّق هذا الاختبار من تنسيقات المعاينة المتوافقة لضمان عدم تمديد إطارات المعاينة أو اقتصاصها بشكل غير ملائم. التحقق من أن نسبة العرض إلى الارتفاع للدائرة لا تتغير، وتحافظ الصور التي تم اقتصاصها على الدائرة في وسط الإطار، ولا يتغير حجم الدائرة للحصول على تنسيق ثابت أو مع درجات دقة مختلفة (التحقق من مجال الرؤية).
واجهات برمجة التطبيقات التي تم اختبارها:
android.hardware.camera2.CaptureResult#LENS_DISTORTION
android.hardware.camera2.CaptureResult#LENS_FOCAL_LENGTH
android.hardware.camera2.CaptureResult#LENS_INTRINSIC_CALIBRATION
android.hardware.camera2.CameraCharacteristics#SCALAR_AVAILABLE_CAPABILITIES_STREAM_USE_CASES
android.media.MediaRecorder
android.media.CamcorderProfile
اجتياز: لا يتم تمديد الصور، ولا يختلف مركز الصور بنسبة تزيد عن 3%، ويتم الاحتفاظ بأقصى قدر ممكن من المساحة (مجال الرؤية).
test_preview_stabilization_fov
يتم التحقّق من أحجام المعاينة المتوافقة لضمان اقتصاص صورة FoV بشكل مناسب.
يلتقط الاختبار فيديوهَين، أحدهما يتضمّن تثبيت المعاينة ON
والآخر
بتثبيت المعاينة OFF
. يتم اختيار إطار تمثيلي من كل فيديو، وتحليله للتأكد من أن التغييرات في مقطعي الفيديو ضمن المواصفات.
واجهات برمجة التطبيقات التي تم اختبارها:
android.hardware.camera2.CameraCharacteristics#SCALAR_AVAILABLE_CAPABILITIES_STREAM_USE_CASES
android.media.MediaRecorder
android.media.CamcorderProfile
تمرير: تظل نسبة عرض الدائرة ثابتة، ويظل الموقع المركزي للدائرة ثابتًا، ولا يتغير حجم الدائرة بما لا يزيد عن 20%.
اختبار_نسبة_الفيديو_و_الاقتصاص
لتسجيل فيديوهات لدائرة داخل مربع على جميع تنسيقات الفيديوهات يتم استخراج الإطارات الرئيسية والتأكد من عدم تغيُّر نسبة العرض إلى الارتفاع للدائرة، كما تُبقي الصور التي تم اقتصاصها الدائرة في المنتصف، ولا يتغيّر حجمها للحصول على تنسيق ثابت أو إلى درجة دقة مختلفة (التحقق من مجال الرؤية).
واجهات برمجة التطبيقات التي تم اختبارها:
android.hardware.camera2.CameraCharacteristics#SCALAR_AVAILABLE_CAPABILITIES_STREAM_USE_CASES
android.hardware.camera2.CaptureResult#LENS_DISTORTION
android.hardware.camera2.CaptureResult#LENS_FOCAL_LENGTH
android.hardware.camera2.CaptureResult#LENS_INTRINSIC_CALIBRATION
android.media.MediaRecorder
android.media.CamcorderProfile
اجتياز: لا يتم تمديد إطارات الفيديو، ولا يختلف مركز الإطارات بنسبة تزيد عن 3%، ويتم الإبقاء على أقصى موضع عرض (مجال الرؤية).
المشهد 5
يتطلب المشهد 5 مشهدًا رماديًا مضاءً بشكل موحد. ويتم ذلك عن طريق فوّث يوضع
على عدسة الكاميرا ننصحك باستخدام مجموعة الناشرين التالية:
www.edmundoptics.com/optics/window-diffusers/optical-diffusers/opal-diffusing-glass/46168
.
لتجهيز المشهد، ثبِّت ناشرًا للضوء أمام الكاميرا ووجِّه الكاميرا إلى مصدر إضاءة يبلغ 2000 لوكس تقريبًا. تتطلّب الصور التي يتم التقاطها لمشهد مشهد 5 إضاءة منتشرة بدون إبراز أي ميزات. إليك نموذج صورة:
التقاط المشهد 5
اختبار_عدسة_التظليل_و_اللون_التوحيدي
اختبارات تطبيق تصحيح تظليل العدسة بشكل مناسب، وتوزيع لون مشهد موحد أحادي اللون بالتساوي. يجري هذا الاختبار على إطار YUV بقوة 3A تلقائيًا. ويتم تقييم تظليل العدسة بناءً على القناة y. يقيس متوسط قيمة y لكل مجموعة عينة محددة، ويحدد اجتياز أو إخفاق من خلال المقارنة مع قيمة المركز y. يتم تقييم اختبار توحيد الألوان في مساحة r/g وb/g.
واجهات برمجة التطبيقات التي تم اختبارها:
android.hardware.camera2.CaptureRequest#CONTROL_AE_MODE
android.hardware.camera2.CaptureRequest#CONTROL_AWB_MODE
اجتياز: عند النطاق المحدّد للصورة، يجب أن يكون التباين في قيمة r/g وb/g أقل من% 20 لاجتياز الاختبار.
المشهد 6
المشهد 6 عبارة عن شبكة من دوائر صغيرة بها مربع في زاوية واحدة للإشارة إلى الاتجاه. هناك حاجة إلى دوائر صغيرة لاختبار وظيفة التكبير/التصغير على نطاق كبير.
المشهد 6
اختبار_in_sensor_zoom
لاختبار سلوك ميزة التكبير/التصغير في الكاميرا ضمن المستشعر، وينتج عنها صور RAW تم اقتصاصها.
عند ضبط حالة استخدام البث على
CROPPED_RAW
،
يجري الاختبار لقطتَين على نطاق التكبير/التصغير، ومجال رؤية كامل (FoV)
وصورة RAW تم اقتصاصها. يحوّل الاختبار الصور إلى مصفوفة ألوان RGB، ويقلِّل حجم صورة RAW التي تم اقتصاصها بالحجم الكامل إلى الحجم المحدّد من خلال
"SCALER_RAW_CROP_REGION
"، ويحسب فرق متوسط الجذر الثلاثي الأبعاد (RMS)
بين الصورتين.
واجهات برمجة التطبيقات التي تم اختبارها:
android.hardware.camera2.CameraCharacteristics#CONTROL_ZOOM_RATIO_RANGE
android.hardware.camera2.CameraCharacteristics#SCALAR_AVAILABLE_CAPABILITIES_STREAM_USE_CASES
android.hardware.camera2.CameraMetadata#SCALER_AVAILABLE_STREAM_USE_CASES_CROPPED_RAW
android.hardware.camera2.CaptureRequest#CONTROL_ZOOM_RATIO
android.hardware.camera2.CaptureResult#SCALER_RAW_CROP_REGION
اجتياز: والفرق المتوسّط المربّع (RMS) للجذر الثلاثي الأبعاد بين الصورة RAW التي تم اقتصاصها والتي تم اقتصاصها بنسبة أقل من 1%.
اختبار_التكبير/التصغير
لاختبار سلوك التكبير/التصغير في الكاميرا يلتقط البث نطاق التكبير/التصغير ويتحقق مما إذا كانت الدوائر أكبر أثناء تكبير الكاميرا.
واجهات برمجة التطبيقات التي تم اختبارها:
android.hardware.camera2.CameraCharacteristics#CONTROL_ZOOM_RATIO_RANGE
android.hardware.camera2.CameraCharacteristics#LENS_INFO_AVAILABLE_FOCAL_LENGTHS
android.hardware.camera2.CaptureRequest#CONTROL_ZOOM_RATIO
android.hardware.camera2.CaptureResult#LENS_FOCAL_LENGTH
اجتياز: يكون الحجم النسبي للدائرة التي تم التقاطها دقيقًا مقارنةً بنسبة التكبير/التصغير المطلوبة لضمان تكبير/تصغير الكاميرا بشكل صحيح.
اختبار_التكبير/التصغير لإيجاد محيط الدائرة الأقرب إلى المركز.
اختبار_وقت_تكبير_منخفض
لاختبار سلوك التكبير/التصغير بوقت الاستجابة المنخفض في الكاميرا يلتقط هذا الالتقاط نطاق التكبير/التصغير
باستخدام android.control.settingsOverride = 1 (SETTINGS_OVERRIDE_ZOOM)
، ويتحقق مما إذا كانت الدوائر في صور المخرجات تتطابق مع نسب التكبير/التصغير
في البيانات الوصفية للالتقاط.
واجهات برمجة التطبيقات التي تم اختبارها:
android.hardware.camera2.CameraCharacteristics#CONTROL_AVAILABLE_SETTINGS_OVERRIDES
android.hardware.camera2.CameraCharacteristics#CONTROL_ZOOM_RATIO_RANGE
android.hardware.camera2.CaptureRequest#CONTROL_SETTINGS_OVERRIDE
android.hardware.camera2.CaptureRequest#CONTROL_ZOOM_RATIO
android.hardware.camera2.CaptureResult#CONTROL_SETTINGS_OVERRIDE
تمرير: الحجم النسبي للدائرة التي تم التقاطها دقيق في مقابل البيانات الوصفية لنتيجة نسبة التكبير/التصغير.
test_preview_video_zoom_match
لاختبار أنه أثناء التسجيل والتكبير/التصغير، يتم عرض معاينة الفيديو وإخراج الفيديو وتسجيل نفس الإخراج. لحساب حجم الدائرة الأقرب إلى المركز بنسب تكبير/تصغير مختلفة والتحقق مما إذا كان حجم الدائرة يزداد مع زيادة نسبة التكبير/التصغير.
واجهات برمجة التطبيقات التي تم اختبارها:
android.hardware.camera2.CameraCharacteristics#CONTROL_ZOOM_RATIO_RANGE
android.hardware.camera2.CameraCharacteristics#LENS_INFO_AVAILABLE_FOCAL_LENGTHS
android.hardware.camera2.CaptureRequest#CONTROL_ZOOM_RATIO
android.hardware.camera2.CaptureResult#LENS_FOCAL_LENGTH
اجتياز: الحجم النسبي للدائرة التي تم التقاطها دقيق مقارنةً بنسبة التكبير/التصغير المطلوبة في الفيديو والمعاينة.
VGA_640x480_key_frame.png (قبل التكبير)
Preview_640x480_key_frame.png (قبل التكبير)
VGA_640x480_key_frame.png (بعد التكبير أو التصغير)
Preview_640x480_key_frame.png (بعد التكبير أو التصغير)
إضافات المشهد
تختص اختبارات scene_extensions
بإضافات الكاميرا ويجب أن تستخدم الكاميرا ITS-in-a-Box،
لأنها تتطلب تحكُّمًا دقيقًا في بيئة الاختبار.
مشهد عالي الدقة
يتألف مشهد scene_hdr
من صورة عمودية على اليسار ورمز استجابة سريعة
منخفض التباين على اليمين.
مشهد عالي الدقة
اختبار_hdr_extension
لاختبار إضافة النطاق العالي الديناميكية. يلتقط التقاط الصور مع تفعيل الإضافة أو بدونها، ويتحقق مما إذا كانت الإضافة تجعل رمز الاستجابة السريعة أكثر قابلية للاكتشاف.
واجهات برمجة التطبيقات التي تم اختبارها:
android.hardware.camera2.CameraExtensionCharacteristics#getSupportedExtensions
android.hardware.camera2.CameraExtensionSession#capture
اجتياز: تقلّل إضافة النطاق العالي الديناميكية (HDR) من عدد تغييرات التباين المطلوبة للتعرّف على رمز الاستجابة السريعة أو تقلِّل التدرج في الرمز.
ليلة_مشهد
يتكوّن مشهد scene_night
من دائرة بيضاء بداخلها أربع
دوائر أصغر، وتقع جميعها على خلفية سوداء. الدائرة الأصغر في الزاوية اليمنى العليا أغمق
من غيرها للإشارة إلى الاتجاه.
ليلة_مشهد
إضافة_ليلة_الاختبار
لاختبار الإضافة الليلية. يلتقط الالتقاط مع تفعيل الإضافة أو بدونها، ويتحقّق مما يلي:
- يستغرق الالتقاط عند تفعيل الإضافة الليلية وقتًا أطول.
- أصبحت ميزة الالتقاط باستخدام "الإضافة الليلية" المفعَّلة أكثر سطوعًا أو تتضمّن أدوات للمشهد ذات مظهر مُحسَّن.
واجهات برمجة التطبيقات التي تم اختبارها:
android.hardware.camera2.CameraExtensionCharacteristics#getSupportedExtensions
android.hardware.camera2.CameraExtensionSession#capture
تذكرة: مقارنةً بالالتقاط بدون تفعيل الإضافة "ليلة"، يستغرق الالتقاط عند تفعيل الإضافة الليلية مدة أطول من 0.5 ثانية على الأقل. يجب أن تكون نسبة سطوع الصورة 10% على الأقل، أو أن تكون النقاط الرمادية في المشهد أقل بـ 20 بكسل من مركز الدائرة المحيطة.
الاندماج_المستشعر
تتطلب اختبارات اندماج أجهزة الاستشعار حركة هاتف معيّنة أمام نمط لوحة الرقاقة. للحصول على أفضل النتائج، تأكَّد من تثبيت الرسم البياني الاختباري بشكل مستوٍ. تؤثر المخططات غير المسطحة على حسابات الدوران للعديد من الاختبارات.
يمكن إجراء اختبارات sensor_fusion
بشكل تلقائي باستخدام
جهاز الاستشعار Fusion Box.
صورة رقعة الشطرنج
اختبار_مزامنة_الكاميرات_المتعددة
الاختبارات التي تحدد إطار الطوابع الزمنية التي تم التقاطها بواسطة الكاميرا المنطقية تكون في غضون 10 ملي ثانية من خلال حساب زوايا المربعات داخل لوحة الشطرنج لتحديد الطابع الزمني.
واجهات برمجة التطبيقات التي تم اختبارها:
android.hardware.camera2.CameraCharacteristics#LOGICAL_MULTI_CAMERA_SENSOR_SYNC_TYPE
android.hardware.camera2.CameraCharacteristics#getPhysicalCameraIds()
android.hardware.camera2.CameraMetadata#REQUEST_AVAILABLE_CAPABILITIES_LOGICAL_MULTI_CAMERA
android.hardware.camera2.params.OutputConfiguration#setPhysicalCameraId()
مرّة: لا تتغيّر الزاوية بين الصور في كل كاميرا بشكل ملحوظ أثناء تدوير الهاتف.
test_preview_stabilization
يشير ذلك المصطلح إلى الاختبارات التي تثبت أنّ فيديو المعاينة يتم تدويره بمقدار أقل من الجيروسكوب.
واجهات برمجة التطبيقات التي تم اختبارها:
android.hardware.camera2.CameraCharacteristics#SCALAR_AVAILABLE_CAPABILITIES_STREAM_USE_CASES
android.media.MediaRecorder
android.media.CamcorderProfile
اجتياز: يجب أن يكون أقصى دوران للزاوية على مستوى الإطارات أقل من% 70 من دوران الجيروسكوب.
في ما يلي نماذج من فيديوهات ثابتة وبدونها.
فيديو نموذجي بميزة التثبيت
فيديو نموذجي بدون تثبيت
اختبار_جهاز_المستشعر
اختبار فرق الطابع الزمني بين الكاميرا والجيروسكوب لتطبيقات الواقع المعزّز
والواقع الافتراضي تم تدوير الهاتف 90 درجة 10 مرات أمام
نمط لوحة الشطرنج. الحركة هي حوالي ثانيتين ذهاب وعودة. يتم تخطي هذا
الاختبار إذا لم يتم تضمين الجيروسكوب أو إذا لم يتم تفعيل معلَمة REALTIME
لمصدر الطابع الزمني.
ينشئ اختبار test_sensor_fusion
عددًا من الرسومات البيانية. أهم مخططين لتصحيح الأخطاء هما:
test_sensor_fusion_gyro_events
: يعرض أحداث الجيروسكوب للهاتف أثناء الاختبار. وتشير الحركة في الاتجاهين "س" و"ص" إلى أنّ الهاتف غير مثبَّت بشكل آمن على لوحة التثبيت، ما يقلّل من احتمالية اجتياز الاختبار. يعتمد عدد الدورات في المخطط على سرعة الكتابة لحفظ الإطارات.اختبار_جهاز_المستشعر_الدمج_جيرو_أحداث
test_sensor_fusion_plot_rotations
: يعرض محاذاة أحداث الجيروسكوب والكاميرا. يجب أن يُظهر هذا المخطط حركة متطابقة بين الكاميرا والجيروسكوب بنسبة +/-1 ملي ثانية.اختبار_أداة استشعار_دمج_مخطط_التدوير
واجهات برمجة التطبيقات التي تم اختبارها:
android.hardware.camera2.CameraCharacteristics#LENS_FACING
android.hardware.camera2.CameraCharacteristics#SENSOR_INFO_TIMESTAMP_SOURCE
android.hardware.camera2.CameraMetadata#SENSOR_INFO_TIMESTAMP_SOURCE_REALTIME
android.hardware.camera2.CaptureRequest#CONTROL_AE_TARGET_FPS_RANGE
android.hardware.camera2.CaptureRequest#SENSOR_FRAME_DURATION
android.hardware.camera2.CaptureRequest#SENSOR_TIMESTAMP
android.hardware.camera2.CaptureResult#SENSOR_ROLLING_SHUTTER_SKEW
Pass: تقل مدة الطوابع الزمنية للجيروسكوب عن 1 ملي ثانية وفقًا لفقرة 7.3.9 من أجهزة استشعار الدقة العالية [C-2-14].
آليات عدم التعذُّر:
- خطأ في الإزاحة: لم تتم معايرة إزاحة الجيروسكوب بشكل صحيح في غضون +/-1 ملي ثانية.
- انخفاض الإطار: المسار ليس سريعًا بما يكفي لالتقاط 200 إطار بشكل متتابع.
- أخطاء في المقبس: يتعذّر على
adb
الاتصال بوحدة DUT بشكلٍ موثوق به لمدة كافية لتنفيذ الاختبار. - لم يتم تثبيت الرسم البياني بشكل مسطّح. يحتوي الرسم
test_sensor_fusion_plot_rotations
على إطارات يختلف فيها الجيروسكوب ودوران الكاميرا بشكل كبير عندما تدور الكاميرا خلال الأجزاء غير المستوية من الرسم البياني. - لم يتم تثبيت الكاميرا بشكل مسطَّح. يُظهر المخطط
test_sensor_fusion_gyro_events
الحركة على مستوى المستويين X وY. هذا الخطأ شائع أكثر في الكاميرات الأمامية، لأنّ الكاميرا الخلفية غالبًا ما تتضمّن اصطدامًا مرتفعًا ببقية هيكل الهاتف، ما يؤدي إلى إمالة الجهاز عند تثبيت الجزء الخلفي من الهاتف على لوحة التثبيت.
اختبار_تثبيت_الفيديو
الاختبارات التي تثبت استقرار الفيديو، عدد حلقات أقل من الجيروسكوب.
واجهات برمجة التطبيقات التي تم اختبارها:
android.hardware.camera2.CameraCharacteristics#SCALAR_AVAILABLE_CAPABILITIES_STREAM_USE_CASES
android.media.MediaRecorder
android.media.CamcorderProfile
اجتياز: يكون أقصى دوران للزوايا فوق الإطارات أقل من 60% من دوران الجيروسكوب.
في ما يلي نماذج من فيديوهات ثابتة وبدونها.
فيديو نموذجي بميزة التثبيت
فيديو نموذجي بدون تثبيت
اختبار_لقطة_لاختبار
اختبارات عدم تشبُّع لقطات LED في الصورة أو تلوينها
يضيف هذا الاختبار وحدة تحكم في الإضاءة إلى صندوق استشعار الاندماج للتحكم في الإضاءة. عند ضبط الأضواء على OFF
، يلتقط الاختبار لقطة مع ضبط الوضع AUTO_FLASH
على ON
. أثناء هذا الالتقاط، ينفِّذ الاختبار تسلسل التقاط مع ضبط المُشغِّل aePrecapture
على START
، ويضبط
هدف الالتقاط على Preview
لالتقاط الالتقاط باستخدام الفلاش.
ونظرًا لأن الالتقاط يحتوي على نقطة اتصال مميزة بسبب الفلاش، يحسب الاختبار متوسط صورة الفلاش لتصويره بالكامل ويتحقق مما إذا كانت القيمة ضمن النطاق (68، 102). للتحقق مما إذا كانت الصورة متوازنة باللون الأبيض بشكل معقول، يحسب الاختبار نسب R/G وB/G ويتحقق مما إذا كانت النسب ضمن 0.95 و1.05.
واجهات برمجة التطبيقات التي تم اختبارها:
android.hardware.camera2.CameraCharacteristics#FLASH_INFO_AVAILABLE
android.hardware.camera2.CaptureRequest#CONTROL_AE_MODE
android.hardware.camera2.CaptureRequest#FLASH_MODE
اجتياز: تقع نِسب R/G وB/G ضمن 0.95 و1.05. متوسط صورة الفلاش ضمن النطاق (68، 102).