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

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

ב-Android 13, בדיקת test_lens_position הוצאה משימוש.

scene6/test_zoom.py

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

scene_change/test_scene_change.py

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

בדיקות חדשות לטאבלטים

‫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 ומתעדת בקשה כפולה של Surface. לאחר מכן, הפונקציה ממירה את שתי התמונות למערכי RGB ומחשבת את השורש התלת-ממדי של ממוצע הריבועים (RMS) של ההבדל בין שתי התמונות. טווח הטולרנטיות של ההפרש מוגדר כ-1%.

בדיקות של מודעות וידאו

ב-Android 13, מערכת Camera ITS תומכת בבדיקות וידאו.

ב-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 test, שבודק את כל איכויות התצוגה המקדימה הנתמכות עד 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