نسخه اندروید 13 شامل تعدادی تغییرات در Camera ITS است. اندروید 13 علاوه بر تغییرات تدریجی مانند نسخه های به روز شده پایتون و بسته و به روزرسانی های سخت افزاری آزمایشی، از تست ویدئو پشتیبانی می کند.
این صفحه تغییرات Camera ITS برای اندروید 13 را خلاصه می کند. تغییرات به هفت دسته کلی تقسیم می شوند:
- نسخه های پایتون و بسته
- اضافات فایل پیکربندی
- تغییرات تست
- تست های جدید مبتنی بر تبلت
- تست ویدیویی
- به روز رسانی ها و اضافات سخت افزاری
- پشتیبانی از تست تاشو
نسخه های پایتون و بسته
اندروید 13 علاوه بر نسخه های پایتون و کتابخانه های پشتیبانی شده در اندروید 12، از نسخه های پایتون زیر نیز پشتیبانی می کند:
- پایتون 3.9.2
- OpenCV 4.2.0
- Numpy 1.20.3
- Matplotlib 3.3.4
- Scipy 1.6.2
- pySerial 3.5
- بالش 8.3.1
- PyYAML 5.4.1
- Mobly 1.11
- FFmpeg 4.4.1
اضافات فایل پیکربندی
با توجه به اضافه شدن کنترل روشنایی برای تست 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) است که سه کانال چرخش و سه کانال کنترل روشنایی را فراهم می کند.
شکل 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