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