אפקט בוקה במצלמה

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

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

הטמעה

כדי להפעיל את תכונת הבוקה במצלמה במכשיר שלכם, מבצעים את הפעולות הבאות:

  • פרסום בANDROID_CONTROL_AVAILABLE_EXTENDED_SCENE_MODE_MAX_SIZES:

    התג הזה הוא במערך של טופלים עם שלושה מספרים שלמים, כאשר כל טופל הוא בפורמט {mode, maxWidth, maxHeight}. בנוסף ל-{ANDROID_CONTROL_EXTENDED_SCENE_MODE_DISABLED, 0, 0}, ה-HAL של המצלמה צריך לכלול גם את המצבים ANDROID_CONTROL_EXTENDED_SCENE_MODE_BOKEH_STILL_CAPTURE ו-ANDROID_CONTROL_EXTENDED_SCENE_MODE_BOKEH_CONTINUOUS, או אחד מהם, עם הגדלים המקסימליים המתאימים של הסטרימינג.

  • פרסום ANDROID_CONTROL_AVAILABLE_EXTENDED_SCENE_MODE_ZOOM_RATIO_RANGES:

    התג הזה הוא במבנה של {minZoomRatio, maxZoomRatio} מערך, שמכיל את כל טווחי יחסי הזום של מצב סצנה מורחב מופעל, באותו סדר כמו ב-ANDROID_CONTROL_AVAILABLE_EXTENDED_SCENE_MODE_MAX_SIZES. טווח זום של [1.0, 1.0] מציין שאין תמיכה בזום.

  • מילוי ANDROID_CONTROL_USE_EXTENDED_SCENE_MODE ב-ANDROID_CONTROL_AVAILABLE_MODES.

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

אם לא ניתן להחיל מצב סצנה מורחב נתמך לכל פריים, והוא גורם לעיכובים לא צפויים כשמפעילים או משביתים אותו, צריך לכלול את ANDROID_CONTROL_EXTENDED_SCENE_MODE ב-ANDROID_REQUEST_AVAILABLE_SESSION_KEYS. במקביל, כדאי להטמיע את השיטה ICameraDeviceSession::isReconfigurationRequired() כדי להימנע מהגדרה מחדש של מצבי סצנה מורחבים שלא דורשים הגדרה מחדש.

אימות

כדי לאמת את תכונת הבוקה במכשיר, מריצים את הבדיקות הבאות של CTS,‏ VTS ו-CTS Verifier:

  • CtsCameraTestCases
  • VtsHalCameraProviderV2_4TargetTest
  • CameraBokehTest ב-CTS Verifier