یادداشت‌های انتشار مجموعه تست تصویر دوربین Android 13

نسخه اندروید 13 شامل تعدادی تغییرات در Camera ITS است. اندروید 13 علاوه بر تغییرات تدریجی مانند نسخه های به روز شده پایتون و بسته و به روزرسانی های سخت افزاری آزمایشی، از تست ویدئو پشتیبانی می کند.

این صفحه تغییرات Camera ITS برای اندروید 13 را خلاصه می کند. تغییرات به هفت دسته کلی تقسیم می شوند:

نسخه های پایتون و بسته

اندروید 13 علاوه بر نسخه های پایتون و کتابخانه های پشتیبانی شده در اندروید 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 است، به این معنی که اولین سطح API مورد نیاز برای بررسی اشباع کانال 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_faces دوباره به test_num_faces تبدیل می شود.

scene2_a/test_num_faces.py

تست test_num_faces برش سنسور را کنترل می‌کند و مستطیل‌های صورت را به درستی روی عکس‌های دوربین UW که برش داده شده‌اند قرار می‌دهد.

scene3/test_lens_position.py

تست test_lens_position در اندروید 13 منسوخ شده است.

scene6/test_zoom.py

تست test_zoom برای امکان تست آسان تر سیستم های سه و چهار دوربین بازسازی شده است. اگر دوربین به درستی در محدوده نسبت 10 برابر بزرگنمایی آزمایش کند، آزمایش به درستی خارج می شود. این امکان آزمایش زوم را در یک فاصله نمودار انجام می دهد.

scene_change/test_scene_change.py

تست test_scene_change در اندروید 13 منسوخ شده است.

تست های جدید مبتنی بر تبلت

اندروید 13 شامل دو تست جدید مبتنی بر تبلت است. هر دو تست برای دستگاه‌هایی که با Android 13 راه اندازی می‌شوند الزامی است، اما برای دستگاه‌هایی که به Android 13 ارتقا می‌یابند از آن صرفنظر می‌شود.

صحنه نام آزمون سطح اول API توضیحات
2_a test_auto_flash 33 صحنه‌های تاریک باعث فلاش خودکار می‌شود.
2_b test_yuv_jpg_capture_sameness 33 تأیید می کند که عکس های YUV و JPEG هنوز هم از نظر کمی یکسان هستند.

scene2_a/test_auto_flash.py

اندروید 13 تست test_auto_flash را اضافه می کند.

پارامترها

  • flash : در صورت در دسترس نبودن فلاش، از تست رد می شود.

روش

آزمایش درخواست عکسبرداری برای فلاش خودکار را پیکربندی می کند و صحنه ای را ارائه می دهد که نیاز به یک رویداد فلاش دارد. روشنایی دستگاه تست و تبلت برای ارائه صحنه تاریکی برای الگوریتم نوردهی خودکار خاموش می شوند. این آزمایش دنباله ای از NUM_FRAMES عکس را با فلاش خودکار فعال پیکربندی می کند. اگر تنظیم AE_STATE FLASH_REQUIRED را برگرداند، آزمایش تأیید می‌کند که فلاش در عکس‌ها شلیک شده است.

وقتی از شما خواسته شد، نور را می توان به صورت دستی یا به صورت خودکار با یک کنترلر آردوینو با کنترل روشنایی اضافه شده برای آزمایش خودکار کنترل کرد. یک پوشه ابزار جدید lighting_control_utils کد را برای کنترل نور در آزمایش ها متمرکز می کند.

scene2_a/test_yuv_jpeg_capture_sameness.py

اندروید 13 تست test_yuv_jpeg_capture_sameness اضافه می کند.

پارامترها

  • streamUseCase : تعیین می کند که آیا دوربین از حالت استفاده جریان پشتیبانی می کند یا خیر.
  • android.jpeg.quality : کیفیت JPEG را روی 100 تنظیم می کند.

روش

این تست با استفاده از بزرگ‌ترین فرمت‌های رایج YUV و JPEG با نسبت ابعادی مشابه با بزرگ‌ترین فرمت JPEG با وضوح تصویر 1920x1440، دو تصویر می‌گیرد. این تست jpeg.quality روی 100 تنظیم می کند و یک درخواست سطح دوگانه را ثبت می کند. سپس هر دو تصویر را به آرایه های RGB تبدیل می کند و اختلاف ریشه میانگین مربعات (RMS) سه بعدی بین دو تصویر را محاسبه می کند. تحمل تفاوت روی 1% تنظیم شده است.

تست ویدیویی

Camera ITS از تست ویدیو در اندروید 13 پشتیبانی می کند.

اندروید 13 تست های زیر را اضافه می کند:

صحنه نام آزمون سطح اول API توضیحات
4 test_preview_stabilization_fov 33 با فعال کردن تثبیت، پیش‌نمایش ویدیو را تأیید می‌کند.
4 test_video_aspect_ratio_and_crop 33 فرمت های ویدئویی FoV، نسبت تصویر و برش را تایید می کند.
حسگر_همجوشی test_preview_stabilition 33 کار تثبیت پیش نمایش را تأیید می کند.
حسگر_همجوشی test_video_stabilition 33 کار تثبیت‌کننده ویدیو را تأیید می‌کند.

scene4/test_preview_stabilization_fov.py

اندروید 13 تست test_preview_stabilization_fov را اضافه می کند. این تست اندازه‌های پیش‌نمایش پشتیبانی‌شده را بررسی می‌کند تا مطمئن شود FoV به‌طور نامناسب برش داده نشده است.

روش

این تست دو ویدیو می گیرد، یکی با تثبیت کننده پیش نمایش روشن، و دیگری با تثبیت پیش نمایش خاموش. یک فریم نماینده از هر ویدیو انتخاب می‌شود و تجزیه و تحلیل می‌شود تا اطمینان حاصل شود که تغییرات FoV در دو ویدیو مطابق با مشخصات است.

به طور خاص، آزمایش پارامترهای زیر را با و بدون تثبیت پیش نمایش بررسی می کند:

  • گردی دایره ثابت می ماند.
  • مرکز دایره ثابت می ماند.
  • اندازه دایره بیش از 20٪ تغییر نمی کند، به این معنی که FoV حداکثر 20٪ تغییر می کند.

scene4/test_video_aspect_ratio_and_crop.py

اندروید 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 پشتیبانی نشود، آزمایش یک تصویر مرجع با فرمت RAW یا فرمت JPEG با بالاترین وضوح می گیرد. از تصویر مرجع، اندازه دایره و مکان مشخص می شود. سپس ویدیوهای کوتاه با پشتیبانی از تمام کیفیت های ویدیو گرفته می شود. فریم مرجع نهایی از هر کیفیت ویدیو استخراج می شود. از فریم مرجع، میدان دید (FoV)، مرکز (برش) و نسبت ابعاد برای هر کیفیت ویدیو محاسبه می شود.

برای محاسبه FoV، آزمون اندازه دایره قاب ویدئو را با اندازه دایره محاسبه شده از اندازه تصویر مرجع و فرمت ویدئو مقایسه می کند. برای بررسی برش، تست مرکز قاب ویدیو را با مرکز تصویر مرجع مقایسه می‌کند. برای بررسی نسبت ابعاد، با استفاده از صحنه، که یک دایره سیاه بزرگ روی پس‌زمینه سفید است، آزمایش نسبت تصویر دایره را تعیین می‌کند و تأیید می‌کند که فریم تحریف نشده است.

sensor_fusion/test_preview_stabilization.py

اندروید 13 تست test_preview_stabilization اضافه می کند که تمام کیفیت های پیش نمایش پشتیبانی شده را تا 1920x1080 آزمایش می کند. این آزمایش از دستگاه تست فیوژن سنسور استفاده می‌کند و به کنترل‌کننده فیوژن سنسور ویرایش 2 جدید یا ارتقاء سیستم‌افزار نسخه‌های قبلی کنترل‌کننده آردوینو نیاز دارد. برای جزئیات بیشتر درباره کنترل‌کننده جدید، به‌روزرسانی‌ها و افزوده‌های سخت‌افزار را ببینید.

روش

با فعال کردن تثبیت‌کننده پیش‌نمایش، تلفن به آرامی روی زاویه 15 درجه حرکت می‌کند. سپس چرخش تصاویر با چرخش ژیروسکوپ مقایسه می شود.

sensor_fusion/test_video_stabilization.py

اندروید 13 تست test_video_stabilization اضافه می‌کند که کیفیت‌های ویدئویی را تا 1920x1080 تست می‌کند. QCIF کیفیت فیلم با وضوح پایین حذف شده است. این آزمایش از دستگاه تست فیوژن سنسور استفاده می‌کند و به کنترل‌کننده فیوژن سنسور ویرایش 2 جدید یا ارتقاء سیستم‌افزار نسخه‌های قبلی کنترل‌کننده آردوینو نیاز دارد. برای جزئیات بیشتر درباره کنترل‌کننده جدید، به‌روزرسانی‌ها و افزوده‌های سخت‌افزار را ببینید.

روش

دستگاه تست گوشی را به آرامی روی زاویه تقریباً 15 درجه حرکت می دهد و تثبیت کننده پیش نمایش فعال است. سپس چرخش تصاویر با چرخش ژیروسکوپ مقایسه می شود.

به روزرسانی ها و اضافات سخت افزاری

اندروید 13 شامل یک ارتقاء به کنترلر فیوژن سنسور نسخه 2 مبتنی بر آردوینو است. این ارتقا شامل تغییرات سخت افزاری و سفت افزار می شود. ارتقاء به کنترل کننده اجازه می دهد تا سرعت چرخش و کنترل رعد و برق را تنظیم کند. ارتقا همچنین شامل یک سپر جدید (نشان داده شده در شکل 1) است که سه کانال چرخش و سه کانال کنترل روشنایی را فراهم می کند.

آردوینو شیلد rev2.0

شکل 1. آردوینو شیلد rev2.0 با کنترل چرخش و روشنایی

علاوه بر این، برای 13، سیستم عامل کنترل کننده های موجود باید به روز شود تا کنترل سرعت چرخش را فعال کند. این سیستم عامل را می توان از:

برای اطلاعات بیشتر در مورد کنترلر جدید، به کنترلر فیوژن سنسور Android 13 مراجعه کنید.

پشتیبانی از تست تاشو

اندروید 13 شامل پشتیبانی آزمایشی برای دستگاه های تاشو می شود. برای فعال کردن API چند دوربینی برای تاشوها، وضعیت تلفن ( Folded یا Unfolded ) در طول آزمایش مورد نیاز است. برای فعال کردن نظرسنجی وضعیت تلفن برای همه DUT ها، از جمله تلفن های غیر تاشو، پس از اتصال DUT به هاست، دستور adb زیر را اجرا کنید.

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