این صفحه پشتیبانی از فراداده، کنترلهای تنظیمات فردی و پشتیبانی از دادههای خام حسگر را شرح میدهد.
پشتیبانی از فراداده
برای پشتیبانی از ذخیره فایلهای تصویر خام توسط چارچوب اندروید، به فرادادههای قابل توجهی در مورد ویژگیهای حسگر نیاز است. این شامل اطلاعاتی مانند فضاهای رنگی و توابع سایهزنی لنز میشود.
بیشتر این اطلاعات یک ویژگی ثابت از زیرسیستم دوربین است و بنابراین میتوان قبل از پیکربندی هرگونه خط لوله خروجی یا ارسال هرگونه درخواست، از آنها پرسوجو کرد. APIهای جدید دوربین، اطلاعات ارائه شده توسط متد getCameraInfo را تا حد زیادی گسترش میدهند تا این اطلاعات را در اختیار برنامه قرار دهند.
علاوه بر این، کنترل دستی زیرسیستم دوربین نیاز به بازخورد از دستگاههای مختلف در مورد وضعیت فعلی آنها و پارامترهای واقعی مورد استفاده در ثبت یک فریم مشخص دارد. مقادیر واقعی کنترلها (زمان نوردهی، مدت زمان فریم و حساسیت) همانطور که توسط سختافزار استفاده میشود، باید در فراداده خروجی گنجانده شود. این امر ضروری است تا برنامهها بدانند چه زمانی فشردهسازی یا گرد کردن انجام شده است و برنامه بتواند تنظیمات واقعی مورد استفاده برای ثبت تصویر را جبران کند.
برای مثال، اگر یک برنامه مدت زمان فریم را در یک درخواست روی ۰ تنظیم کند، HAL باید مدت زمان فریم را به حداقل مدت زمان واقعی فریم برای آن درخواست محدود کند و آن حداقل مدت زمان محدود شده را در فراداده نتیجه خروجی گزارش دهد.
بنابراین اگر یک برنامه نیاز به پیادهسازی یک روال ۳A سفارشی داشته باشد (برای مثال، برای سنجش صحیح یک تصویر HDR burst)، باید تنظیمات مورد استفاده برای ثبت آخرین مجموعه نتایج دریافتی را بداند تا تنظیمات را برای درخواست بعدی بهروزرسانی کند. بنابراین، API دوربین جدید مقدار قابل توجهی فراداده پویا به هر فریم ثبت شده اضافه میکند. این شامل پارامترهای درخواستی و واقعی مورد استفاده برای ثبت، و همچنین فرادادههای اضافی برای هر فریم مانند مهرهای زمانی و خروجی مولد آمار میشود.
کنترل بر اساس تنظیمات
برای اکثر تنظیمات، انتظار میرود که بتوان آنها را در هر فریم تغییر داد، بدون اینکه وقفه یا تأخیر قابل توجهی در جریان فریم خروجی ایجاد شود. در حالت ایدهآل، نرخ فریم خروجی باید صرفاً توسط فیلد مدت زمان فریم درخواست ضبط کنترل شود و مستقل از هرگونه تغییر در پیکربندی بلوکهای پردازش باشد. در واقعیت، برخی از کنترلهای خاص به کندی تغییر میکنند. این موارد شامل وضوح خروجی و فرمت خروجی خط لوله دوربین و همچنین کنترلهایی است که بر دستگاههای فیزیکی تأثیر میگذارند، مانند فاصله فوکوس لنز. الزامات دقیق برای هر مجموعه کنترل بعداً به تفصیل شرح داده شده است.
پشتیبانی از دادههای خام حسگر
علاوه بر فرمتهای پیکسلی پشتیبانیشده توسط API قدیمی، API جدید الزامی برای پشتیبانی از دادههای خام حسگر (Bayer RAW) اضافه میکند، هم برای برنامههای دوربین پیشرفته و هم برای پشتیبانی از فایلهای تصویر خام.