תמיכה במטא-נתונים
כדי לתמוך בשמירת קובצי תמונות גולמיות על ידי מסגרת Android, נדרשים מטא-נתונים משמעותיים לגבי המאפיינים של החיישן. המידע הזה כולל פרטים כמו מרחבי צבע ופונקציות של הצללה בעדשה.
רוב המידע הזה הוא מאפיין סטטי של מערכת המשנה של המצלמה, ולכן אפשר להריץ שאילתה לפני שמגדירים צינורות עיבוד נתונים של פלט או שולחים בקשות. ממשקי ה-API החדשים של המצלמה מרחבים מאוד את המידע שסופק על ידי השיטה getCameraInfo()
כדי לספק את המידע הזה לאפליקציה.
בנוסף, כדי לשלוט באופן ידני במערכת המשנה של המצלמה, נדרש משוב מהמכשירים השונים לגבי המצב הנוכחי שלהם והפרמטרים בפועל שבהם נעשה שימוש בצילום של פריים נתון. הערכים בפועל של אמצעי הבקרה (זמן החשיפה, משך המסגרת והרגישות) כפי שהם משמשים בפועל את החומרה חייבים להיכלל במטא-נתוני הפלט. זה חיוני כדי שהאפליקציות ידעו מתי התרחשה בחירת ערך מקסימלי או עיגול, וכדי שהאפליקציה תוכל לפצות על ההגדרות האמיתיות ששימשו לצילום התמונה.
לדוגמה, אם אפליקציה מגדירה את משך הפריים ל-0 בבקשה, ה-HAL חייב לקצוב את משך הפריים למשך הפריים המינימלי האמיתי של הבקשה הזו, ולדווח על משך הפריים המינימלי המכווץ הזה במטא-נתונים של תוצאת הפלט.
לכן, אם אפליקציה צריכה להטמיע תהליך 3A מותאם אישית (לדוגמה, כדי למדוד בצורה נכונה רצף של תמונות HDR), היא צריכה לדעת מהן ההגדרות ששימשו לצילום של קבוצת התוצאות האחרונה שהיא קיבלה, כדי לעדכן את ההגדרות לבקשה הבאה. לכן, ממשק ה-API החדש של המצלמה מוסיף כמות גדולה של מטא-נתונים דינמיים לכל פריים שמצולם. הנתונים האלה כוללים את הפרמטרים המבוקשים והפרמטרים בפועל ששימשו לצילום, וגם מטא-נתונים נוספים לכל פריים, כמו חותמות זמן ופלט של הסטטיסטיקה.
שליטה לכל הגדרה
ברוב ההגדרות, אפשר לשנות אותן בכל פריים, בלי לגרום לגמגום או לעיכוב משמעותיים בזרם הפריים של הפלט. באופן אידיאלי, קצב הפריימים של הפלט צריך להיות נשלט אך ורק על ידי השדה של משך המסגרת בבקשת הצילום, ולא להיות תלוי בשינויים בהגדרות של בלוקים לעיבוד. בפועל, ידוע שחלק מהאמצעי הבקרה הספציפיים משתנים באיטיות. אלה כוללים את רזולוציית הפלט ואת פורמט הפלט של צינור עיבוד הנתונים של המצלמה, וגם אמצעי בקרה שמשפיעים על מכשירים פיזיים, כמו מרחק המיקוד של העדשה. בהמשך מפורטות הדרישות המדויקות לכל קבוצת אמצעי בקרה.
תמיכה בנתוני חיישנים גולמיים
בנוסף לפורמטים של הפיקסלים שנתמכים ב-API הישן, ב-API החדש יש דרישה לתמיכה בנתוני חיישן גולמיים (Bayer RAW), גם לאפליקציות מצלמה מתקדמות וגם לתמיכה בקובצי תמונות גולמיים.