נתוני הגרסה של הכלי לבדיקת תמונות במצלמה של Android 13

גרסת Android 13 כוללת מספר שינויים ב-Camera ITS. בנוסף לשינויים מצטברים כמו עדכונים של Python וגרסאות חבילות ועדכוני חומרה לבדיקה, Android 13 תומך בבדיקות וידאו.

בדף הזה מפורטים השינויים ב-Camera ITS ב-Android 13. השינויים מתחלקים לשבע קטגוריות רחבות:

גרסאות Python וחבילות

ב-Android 13 יש תמיכה בגרסאות Python הבאות, בנוסף לגרסאות ולספריות Python הנתמכות ב-Android 12:

תוספות לקובץ התצורה

בגלל ההוספה של בקרת התאורה לבדיקה test_auto_flash.py, צריך להוסיף לקובץ config.yml שני פרמטרים נוספים עבור הבקר וערוץ התאורה. כדי לזהות אם המכשיר שנבדק (DUT) הוא מכשיר מתקפל או לא, בקובץ config.yml צריך להוסיף פרמטר שלישי נוסף לשני הקטעים: tablet-based ו-sensor fusion.

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 הוצאה משימוש ב-Android 13.

scene6/test_zoom.py

הבדיקה test_zoom עברה שינוי מבנה כדי לאפשר בדיקה קלה יותר של מערכות עם שלוש וארבע מצלמות. אם המצלמה עוברת את הבדיקה בצורה תקינה בטווח יחס של פי 10 בזום, הבדיקה מסתיימת בצורה תקינה. כך אפשר לבצע בדיקת זום במרחק אחד מהתרשים.

scene_change/test_scene_change.py

הבדיקה test_scene_change הוצאה משימוש ב-Android 13.

בדיקות חדשות מבוססות-טאבלט

‫Android 13 כולל שתי בדיקות חדשות לטאבלטים. שתי הבדיקות נדרשות למכשירים שמושקים עם Android מגרסה 13, אבל הן לא נדרשות למכשירים שמשדרגים ל-Android מגרסה 13.

Scene שם הבדיקה רמת ה-API הראשונה תיאור
2_a test_auto_flash 33 מאשרת שהבזק אוטומטי מופעל בסצנות חשוכות.
2_b test_yuv_jpg_capture_sameness 33 האישור שצילומי המסך בפורמטים YUV ו-JPEG עדיין זהים ברמת הביטים.

scene2_a/test_auto_flash.py

ב-Android 13 נוספה הבדיקה test_auto_flash.

פרמטרים

  • 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 הגדול ביותר, ברזולוציה שלא עולה על ‎1,920x1,440. הבדיקה מגדירה את jpeg.quality ל-100 ומתעדת בקשה של משטח כפול. לאחר מכן, הוא ממיר את שתי התמונות למערכי RGB ומחשב את ההפרש התלת-ממדי של שורש ממוצע הריבועים (RMS) בין שתי התמונות. טווח הטולרנטיות להפרש מוגדר כ-1%.

בדיקת סרטונים

ב-Camera ITS נוספה תמיכה בבדיקות וידאו ב-Android 13.

ב-Android 13 נוספו הבדיקות הבאות:

Scene שם הבדיקה רמת ה-API הראשונה תיאור
4 test_preview_stabilization_fov 33 מוודאים שהתצוגה המקדימה של הסרטון לא נחתכת יותר מדי כשההגדרה 'ייצוב' מופעלת.
4 test_video_aspect_ratio_and_crop 33 אישור של שדה הראייה, יחס הגובה-רוחב והחיתוך של פורמטים של סרטונים.
sensor_fusion test_preview_stabilition 33 מאשרים שייצוב התצוגה המקדימה פועל.
sensor_fusion test_video_stabilition 33 מאשרים שייצוב הווידאו פועל.

scene4/test_preview_stabilization_fov.py

‫Android 13 מוסיף את test_preview_stabilization_fov הבדיקה. בבדיקה הזו המערכת בודקת את הגדלים הנתמכים של התצוגה המקדימה כדי לוודא ששדה הראייה לא נחתך בצורה לא מתאימה.

שיטה

במהלך הבדיקה מצולמים שני סרטונים, אחד עם ייצוב בתצוגה מקדימה מופעל ואחד עם ייצוב בתצוגה מקדימה מושבת. מכל סרטון נבחרת מסגרת מייצגת, והיא נותחת כדי לוודא ששינויי שדה הראייה בשני הסרטונים הם במסגרת המפרט.

באופן ספציפי, הבדיקה בודקת את הפרמטרים הבאים עם ייצוב התצוגה המקדימה וללא ייצוב התצוגה המקדימה:

  • העיגול נשאר עגול.
  • מרכז העיגול נשאר יציב.
  • גודל העיגול משתנה ב-20% לכל היותר, כלומר שדה הראייה משתנה ב-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 נוסף ה-method‏ get_available_video_qualities ל-its_session_utils. כדי לשתף קוד משותף עם בדיקות קיימות, Android 13 כולל גם שתי פונקציות עזר חדשות, image_fov_utils ו-video_processing_utils.

שיטה

במהלך הבדיקה מצולמת תמונה לדוגמה בפורמט RAW או בפורמט JPEG ברזולוציה הכי גבוהה אם לא נתמך RAW. מתוך תמונת לדוגמה, נקבעים הגודל והמיקום של העיגול. אחר כך מצלמים סרטונים קצרים בכל איכויות הווידאו הנתמכות. מסגרת ההפניה הסופית מחולצת מכל איכות סרטון. ממסגרת ההפניה, שדה הראייה (FoV), המיקום במרכז (חיתוך) ויחס הגובה-רוחב מחושבים לכל איכות וידאו.

לצורך חישוב שדה הראייה, הבדיקה משווה בין גודל העיגול של פריימים בסרטון לבין גודל העיגול שחושב מתוך גדלי התמונות ופורמט הסרטון של תמונת הייחוס. בבדיקת החיתוך, המערכת משווה את המיקום של מרכז הפריים בסרטון למיקום של מרכז התמונה שמשמשת כהפניה. בבדיקה של יחס הגובה-רוחב, המערכת משתמשת בסצנה שבה יש עיגול שחור גדול על רקע לבן, כדי לקבוע את יחס הגובה-רוחב של העיגול ולוודא שהפריים לא מעוות.

sensor_fusion/test_preview_stabilization.py

ב-Android 13 נוספה בדיקת test_preview_stabilization, שבודקת את כל איכויות התצוגה המקדימה הנתמכות עד 1920x1080. הבדיקה משתמשת במתקן הבדיקה של מיזוג חיישנים ודורשת את בקר מיזוג החיישנים החדש מגרסה 2 או שדרוג קושחה של גרסאות קודמות של בקר Arduino. פרטים נוספים על בקר המגע החדש מופיעים במאמר עדכונים ותוספות לציוד.

שיטה

הטלפון מוזז לאט בזווית של כ-15 מעלות כשההגדרה 'ייצוב התצוגה המקדימה' מופעלת. אחר כך משווים את הסיבוב של התמונות לסיבוב של הג'ירוסקופ.

sensor_fusion/test_video_stabilization.py

ב-Android 13 נוספה הבדיקה test_video_stabilization, שבודקת איכויות וידאו נתמכות עד 1920x1080. לא נכללת איכות של סרטון ברזולוציה נמוכה מסוג QCIF. הבדיקה משתמשת במתקן הבדיקה של מיזוג חיישנים, ומחייבת את בקר מיזוג החיישנים החדש מגרסה 2 או שדרוג קושחה של גרסאות קודמות של בקר Arduino. פרטים נוספים על בקר המגע החדש מופיעים במאמר עדכונים ותוספות לציוד.

שיטה

מתקן הבדיקה מזיז את הטלפון לאט בזווית של כ-15 מעלות כשהייצוב בתצוגה המקדימה מופעל. אחר כך משווים את הסיבוב של התמונות לסיבוב של הג'ירוסקופ.

עדכונים ותוספות לחומרה

‫Android 13 כולל שדרוג לבקר איחוד החיישנים מגרסה 2 שמבוסס על Arduino. השדרוג הזה כולל שינויים בחומרה ובקושחה. השדרוג מאפשר לבקר להגדיר את מהירות הסיבוב ואת בקרת התאורה. השדרוג כולל גם מגן חדש (מוצג באיור 1), שמספק שלושה ערוצים של סיבוב ושלושה ערוצים של שליטה בתאורה.

Arduino shield rev2.0

איור 1. ‫Arduino shield rev2.0 עם סיבוב ושליטה בתאורה

בנוסף, בגרסה 13, צריך לעדכן את הקושחה של בקרים קיימים כדי להפעיל את השליטה במהירות הסיבוב. אפשר להוריד את הקושחה הזו מהכתובת:

מידע נוסף על הבקר החדש זמין במאמר בנושא בקר איחוד חיישנים ב-Android 13.

תמיכה בבדיקות של מכשירים מתקפלים

‫Android 13 כולל תמיכה בבדיקות למכשירים מתקפלים. כדי להפעיל את multi-camera API במכשירים מתקפלים, נדרש מצב הטלפון (Folded או Unfolded) במהלך הבדיקה. כדי להפעיל את האפשרות של בדיקת מצב הטלפון בכל המכשירים הנבדקים, כולל טלפונים לא מתקפלים, מריצים את פקודת ה-adb הבאה אחרי שהמכשיר הנבדק מחובר למארח.

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