ملاحظات إصدار Android 13 Camera Image Test Suite

يتضمن إصدار Android 13 عددًا من التغييرات على Camera ITS . بالإضافة إلى التغييرات المتزايدة مثل تحديث Python وإصدارات الحزمة واختبار تحديثات الأجهزة ، يدعم Android 13 اختبار الفيديو.

تلخص هذه الصفحة تغييرات Camera ITS لنظام Android 13. تنقسم التغييرات إلى سبع فئات عامة:

إصدارات بايثون والحزم

يدعم Android 13 إصدارات Python التالية بالإضافة إلى إصدارات Python والمكتبات المدعومة في Android 12:

إضافات ملف التكوين

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

TestBeds:
  - Name: TEST_BED_TABLET_SCENES
    # Test configuration for scenes[0:4, 6, _change]
    Controllers:
        AndroidDevice:
          - serial: 8A9X0NS5Z
            label: dut
          - serial: 5B16001229
            label: tablet

    TestParams:
      brightness: 192
      chart_distance: 22.0
      debug_mode: "False"  # "True" or "False"; quotes needed
      lighting_cntl: <controller-type>  # "arduino" or "None"; quotes needed
      lighting_ch: <controller-channel>
      camera: 0
      foldable_device: "False". # set "True" if testing foldable
      scene: <scene-name>  # if <scene-name> runs all scenes

تغييرات الاختبار

scene1_1 / test_black_white.py

يحتوي اختبار test_black_white على فحص تشبع القناة المتوافق مع الإصدارات السابقة من Android ، مما يعني أن مستوى واجهة برمجة التطبيقات الأول المطلوب لفحص تشبع القناة هو Android 10.

scene1_2 / test_yuv_plus_raw.py

يعالج اختبار test_yuv_plus_raw غير 16: 9 أو 4: 3 لتوفير دعم أفضل لـ RAW. إذا لم يتمكن الاختبار من العثور على تنسيق مشترك بين تنسيق RAW للمستشعر وتنسيقات التقاط YUV ، فإن الاختبار يقارن التقاط RAW بأكبر التقاط YUV حتى لو كانت نسب العرض إلى الارتفاع مختلفة.

scene2_a / test_faces.py

يتم إعادة هيكلة واجهات الاختبار إلى test_num_faces test_faces

scene2_a / test_num_faces.py

يعالج اختبار test_num_faces المستشعر ويضع مستطيلات الوجه بشكل صحيح على لقطات كاميرا UW التي تم اقتصاصها.

scene3 / test_lens_position.py

تم إيقاف اختبار test_lens_position في Android 13.

scene6 / test_zoom.py

تم إعادة هيكلة اختبار test_zoom لتمكين اختبار أسهل لثلاثة وأربعة أنظمة للكاميرا. إذا كانت الكاميرا تختبر بشكل صحيح على مدى تكبير بنسبة 10x ، فإن الاختبار يخرج بشكل صحيح. يتيح ذلك إجراء اختبار التكبير / التصغير على مسافة مخطط واحد.

scene_change / test_scene_change.py

تم إيقاف اختبار test_scene_change في Android 13.

اختبارات جديدة تعتمد على الكمبيوتر اللوحي

يتضمن Android 13 اختبارين جديدين يعتمدان على الجهاز اللوحي. كلا الاختبارين مطلوبان للأجهزة التي تعمل بنظام Android 13 ، ولكن يتم تخطيهما للأجهزة التي تقوم بالترقية إلى Android 13.

مشهد اسم الاختبار مستوى API الأول وصف
2_a test_auto_flash 33 يؤكد المشاهد المظلمة بتشغيل الفلاش التلقائي.
2_ ب test_yuv_jpg_capture_sameness 33 تؤكد أن لقطات YUV و JPEG التي لا تزال متطابقة من حيث البت.

scene2_a / test_auto_flash.py

يضيف Android 13 اختبار test_auto_flash .

حدود

  • flash : يتخطى الاختبار إذا لم يكن الفلاش متاحًا.

طريقة

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

يمكن التحكم في الإضاءة يدويًا عند الطلب ، أو تلقائيًا باستخدام وحدة تحكم Arduino مع التحكم في الإضاءة المضافة للاختبار الآلي. يعمل ملف الأداة المساعدة lighting_control_utils على مركزية التعليمات البرمجية للتحكم في الإضاءة في الاختبارات.

scene2_a / test_yuv_jpeg_capture_sameness.py

يضيف Android 13 اختبار test_yuv_jpeg_capture_sameness .

حدود

  • streamUseCase : يحدد ما إذا كانت الكاميرا تدعم حالة استخدام الدفق.
  • android.jpeg.quality : تعيين جودة JPEG على 100.

طريقة

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

اختبار الفيديو

يضيف Camera ITS دعمًا لاختبار الفيديو في Android 13.

يضيف Android 13 الاختبارات التالية:

مشهد اسم الاختبار مستوى API الأول وصف
4 test_preview_stabilization_fov 33 يؤكد عدم اقتصاص معاينة الفيديو كثيرًا مع تمكين التثبيت.
4 test_video_aspect_ratio_and_crop 33 يؤكد تنسيقات الفيديو FoV ونسبة العرض إلى الارتفاع والقص.
حساس الاندماج اختبار_معاينة_استقرار 33 يؤكد معاينة أعمال التثبيت.
حساس الاندماج اختبار_ثبات_فيديو 33 يؤكد أعمال تثبيت الفيديو.

scene4 / test_preview_stabilization_fov.py

يضيف Android 13 اختبار test_preview_stabilization_fov . يتحقق هذا الاختبار من أحجام المعاينة المدعومة لضمان عدم اقتصاص FoV بشكل غير مناسب.

طريقة

يلتقط الاختبار مقطعي فيديو ، أحدهما يشغّل تثبيت المعاينة والآخر مع إيقاف تشغيل تثبيت المعاينة. يتم تحديد إطار تمثيلي من كل مقطع فيديو ، وتحليله للتأكد من أن تغييرات FoV في مقطعي الفيديو ضمن المواصفات.

على وجه التحديد ، يتحقق الاختبار من المعلمات التالية مع أو بدون تثبيت المعاينة:

  • تظل استدارة الدائرة ثابتة.
  • يظل مركز الدائرة ثابتًا.
  • يتغير حجم الدائرة بنسبة لا تزيد عن 20٪ ، مما يعني أن FoV يتغير على الأكثر بنسبة 20٪.

scene4 / test_video_aspect_ratio_and_crop.py

يضيف Android 13 اختبار test_video_aspect_ratio_and_crop . على غرار اختبار test_aspect_ratio_and_crop الثابتة ، يتحقق هذا الاختبار من تنسيقات الفيديو المدعومة لضمان عدم تمديد إطارات الفيديو أو اقتصاصها بشكل غير لائق. يتم اختبار جميع جودة الفيديو المبلغ عنها ذاتيًا. بالإضافة إلى ذلك ، إذا كانت الكاميرا تدعم فيديو HLG10 ، يتم اختبار فيديو 10 بت.

يضيف Android 13 طريقة get_available_video_qualities إلى its_session_utils . لمشاركة التعليمات البرمجية الشائعة مع الاختبارات الحالية ، يشتمل Android 13 أيضًا على وظيفتين جديدتين للأداة ، وهما image_fov_utils و video_processing_utils .

طريقة

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

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

sensor_fusion / test_preview_stabilization.py

يضيف Android 13 اختبار test_preview_stabilization ، والذي يختبر جميع خصائص المعاينة المدعومة حتى 1920 × 1080. يستخدم الاختبار جهاز اختبار اندماج المستشعر ويتطلب وحدة تحكم دمج مستشعر المراجعة 2 الجديدة أو ترقية البرنامج الثابت لإصدارات وحدة تحكم Arduino السابقة. لمزيد من التفاصيل حول وحدة التحكم الجديدة ، راجع تحديثات الأجهزة والإضافات .

طريقة

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

sensor_fusion / test_video_stabilization.py

يضيف Android 13 اختبار test_video_stabilization ، والذي يختبر جودة الفيديو المدعومة حتى 1920 × 1080. يتم استبعاد جودة الفيديو منخفضة الدقة QCIF. يستخدم الاختبار جهاز اختبار اندماج المستشعر ويتطلب وحدة تحكم دمج مستشعر المراجعة 2 الجديدة أو ترقية البرنامج الثابت لإصدارات وحدة تحكم Arduino السابقة. لمزيد من التفاصيل حول وحدة التحكم الجديدة ، راجع تحديثات الأجهزة والإضافات .

طريقة

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

تحديثات الأجهزة والإضافات

يتضمن Android 13 ترقية لوحدة التحكم في دمج مستشعر المراجعة 2 المستندة إلى Arduino. تتضمن هذه الترقية كلاً من تغييرات الأجهزة والبرامج الثابتة. تسمح الترقية لوحدة التحكم بضبط سرعة الدوران والتحكم في البرق. تتضمن الترقية أيضًا درعًا جديدًا (كما هو موضح في الشكل 1) ، والذي يوفر ثلاث قنوات للدوران وثلاث قنوات للتحكم في الإضاءة.

درع اردوينو rev2.0

الشكل 1. اردوينو درع rev2.0 مع دوران والتحكم في الإضاءة

بالإضافة إلى ذلك ، بالنسبة لـ 13 ، يجب تحديث البرنامج الثابت لوحدات التحكم الحالية لتمكين التحكم في سرعة الدوران. يمكن تنزيل هذا البرنامج الثابت من:

لمزيد من المعلومات حول وحدة التحكم الجديدة ، راجع وحدة التحكم في اندماج مستشعر Android 13 .

دعم اختبار قابل للطي

يتضمن Android 13 اختبار دعم الأجهزة القابلة للطي. لتمكين واجهة برمجة التطبيقات متعددة الكاميرات للأجهزة القابلة للطي ، يلزم وجود حالة الهاتف ( Folded أو غير Unfolded ) أثناء الاختبار. لتمكين استقصاء حالة الهاتف لجميع DUTs ، بما في ذلك الهواتف غير القابلة للطي ، قم بتشغيل أمر adb التالي بعد توصيل DUT بالمضيف.

adb shell am compat enable ALLOW_TEST_API_ACCESS com.android.cts.verifier