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

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

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

אימות

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

  • CtsCameraTestCases
  • VtsHalCameraProviderV2_4TargetTest
  • CameraBokehTest ב-CTS Verifier