הערות גרסה של Android 13 Camera Image Test Suite

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

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

גירסאות פייתון וחבילה

אנדרואיד 13 תומכת בגרסאות Python הבאות בנוסף לגרסאות וספריות Python הנתמכות באנדרואיד 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 יש בדיקת רוויון ערוצים בהתאם לגרסאות קודמות של אנדרואיד, מה שאומר שרמת ה-API הראשונה הנדרשת לבדיקת רווית הערוצים היא אנדרואיד 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 כולל שני מבחנים חדשים מבוססי טאבלט. שני המבחנים הם חובה עבור מכשירים המופעלים עם אנדרואיד 13, אך מדלגים עליהם עבור מכשירים המשדרגים לאנדרואיד 13.

סְצֵינָה שם המבחן רמת API ראשונה תיאור
2_א test_auto_flash 33 מאשר שסצנות כהות מפעילות פלאש אוטומטי.
2_ב 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 , הבדיקה מוודאת שהבזק מופעל בלכידות.

ניתן לשלוט בתאורה באופן ידני כאשר תתבקש, או אוטומטית עם בקר Arduino עם בקרת תאורה נוספת לבדיקה אוטומטית. תיקיית שירות חדשה 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 (Root mean square) בין שתי התמונות. סובלנות ההפרש מוגדרת ל-1%.

בדיקת וידאו

מצלמה 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 סיביות נבדק.

אנדרואיד 13 מוסיף את שיטת get_available_video_qualities ל- its_session_utils . כדי לשתף קוד משותף עם בדיקות קיימות, אנדרואיד 13 כולל גם שתי פונקציות שירות חדשות, image_fov_utils ו- video_processing_utils .

שיטה

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

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

sensor_fusion/test_preview_stabilization.py

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

שיטה

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

sensor_fusion/test_video_stabilization.py

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

שיטה

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

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

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

מגן Arduino rev2.0

איור 1. מגן Arduino rev2.0 עם בקרת סיבוב ותאורה

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

למידע נוסף על הבקר החדש, ראה בקר היתוך חיישני Android 13 .

תמיכת בדיקה מתקפלת

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

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