از 27 مارس 2025، توصیه می کنیم از android-latest-release
به جای aosp-main
برای ساختن و کمک به AOSP استفاده کنید. برای اطلاعات بیشتر، به تغییرات AOSP مراجعه کنید.
فراداده ها و کنترل ها
با مجموعهها، منظم بمانید
ذخیره و طبقهبندی محتوا براساس اولویتهای شما.
برای پشتیبانی از ذخیره فایل های تصویر خام توسط فریم ورک اندروید، فراداده قابل توجهی در مورد ویژگی های حسگر مورد نیاز است. این شامل اطلاعاتی مانند فضاهای رنگی و عملکردهای سایه زنی لنز است.
بیشتر این اطلاعات یک ویژگی ثابت زیرسیستم دوربین است و بنابراین می توان قبل از پیکربندی خط لوله خروجی یا ارسال هر گونه درخواستی، از آنها پرس و جو کرد. API های دوربین جدید اطلاعات ارائه شده توسط متد getCameraInfo()
را تا حد زیادی گسترش می دهند تا این اطلاعات را در اختیار برنامه قرار دهند.
علاوه بر این، کنترل دستی زیرسیستم دوربین نیاز به بازخورد از دستگاه های مختلف در مورد وضعیت فعلی آنها، و پارامترهای واقعی مورد استفاده در گرفتن یک فریم خاص دارد. مقادیر واقعی کنترل ها (زمان نوردهی، مدت زمان فریم و حساسیت) که در واقع توسط سخت افزار استفاده می شود باید در فراداده خروجی گنجانده شود. این امر ضروری است تا برنامهها بدانند چه زمانی گیره یا گرد کردن اتفاق افتاده است و برنامه بتواند تنظیمات واقعی مورد استفاده برای ثبت تصویر را جبران کند.
به عنوان مثال، اگر یک برنامه در یک درخواست، مدت زمان فریم را روی 0 تنظیم کند، HAL باید مدت زمان فریم را به حداقل مدت زمان فریم واقعی برای آن درخواست اضافه کند و حداقل مدت زمان فشرده شده را در فراداده نتیجه خروجی گزارش کند.
بنابراین، اگر برنامهای نیاز به اجرای یک روال سفارشی 3A داشته باشد (مثلاً برای اندازهگیری صحیح یک انفجار HDR)، باید تنظیمات مورد استفاده برای گرفتن آخرین مجموعه از نتایجی را که دریافت کرده است بداند تا تنظیمات را برای درخواست بعدی بهروزرسانی کند. بنابراین، API دوربین جدید مقدار قابل توجهی متادیتای پویا را به هر فریم ثبت شده اضافه می کند. این شامل پارامترهای درخواستی و واقعی مورد استفاده برای ضبط، و همچنین فراداده های اضافی در هر فریم مانند مهرهای زمانی و خروجی تولید کننده آمار است.
کنترل هر تنظیم
برای اکثر تنظیمات، انتظار این است که بتوان آنها را در هر فریم تغییر داد، بدون اینکه لکنت یا تاخیر قابل توجهی در جریان فریم خروجی ایجاد شود. در حالت ایده آل، نرخ فریم خروجی باید صرفاً توسط فیلد مدت زمان فریم درخواست ضبط کنترل شود و مستقل از هرگونه تغییر در پیکربندی بلوک های پردازش باشد. در واقع، برخی از کنترل های خاص به کندی تغییر می کنند. اینها شامل وضوح خروجی و فرمت خروجی خط لوله دوربین، و همچنین کنترلهایی است که بر دستگاههای فیزیکی تأثیر میگذارند، مانند فاصله فوکوس لنز. الزامات دقیق برای هر مجموعه کنترل بعداً شرح داده می شود.
پشتیبانی از داده های حسگر خام
علاوه بر فرمتهای پیکسلی که توسط API قدیمی پشتیبانی میشوند، API جدید نیاز به پشتیبانی از دادههای حسگر خام (Bayer RAW) را هم برای برنامههای دوربین پیشرفته و هم برای پشتیبانی از فایلهای تصویر خام اضافه میکند.
محتوا و نمونه کدها در این صفحه مشمول پروانههای توصیفشده در پروانه محتوا هستند. جاوا و OpenJDK علامتهای تجاری یا علامتهای تجاری ثبتشده Oracle و/یا وابستههای آن هستند.
تاریخ آخرین بهروزرسانی 2025-03-26 بهوقت ساعت هماهنگ جهانی.
[[["درک آسان","easyToUnderstand","thumb-up"],["مشکلم را برطرف کرد","solvedMyProblem","thumb-up"],["غیره","otherUp","thumb-up"]],[["اطلاعاتی که نیاز دارم وجود ندارد","missingTheInformationINeed","thumb-down"],["بیشازحد پیچیده/ مراحل بسیار زیاد","tooComplicatedTooManySteps","thumb-down"],["قدیمی","outOfDate","thumb-down"],["مشکل ترجمه","translationIssue","thumb-down"],["مشکل کد / نمونهها","samplesCodeIssue","thumb-down"],["غیره","otherDown","thumb-down"]],["تاریخ آخرین بهروزرسانی 2025-03-26 بهوقت ساعت هماهنگ جهانی."],[],[],null,["# Metadata and controls\n\nMetadata support\n----------------\n\nTo support the saving of raw image files by the Android framework, substantial\nmetadata is required about the sensor's characteristics. This includes\ninformation such as color spaces and lens shading functions.\n\nMost of this information is a static property of the camera subsystem and can\ntherefore be queried before configuring any output pipelines or submitting any\nrequests. The new camera APIs greatly expand the information provided by the\n`getCameraInfo()` method to provide this information to the\napp.\n\nIn addition, manual control of the camera subsystem requires feedback from the\nassorted devices about their current state, and the actual parameters used in\ncapturing a given frame. The actual values of the controls (exposure time, frame\nduration, and sensitivity) as actually used by the hardware must be included in\nthe output metadata. This is essential so that apps know when either\nclamping or rounding took place, and so that the app can compensate for\nthe real settings used for image capture.\n\nFor example, if an app sets frame duration to 0 in a request, the HAL\nmust clamp the frame duration to the real minimum frame duration for that\nrequest, and report that clamped minimum duration in the output result metadata.\n\nSo if an app needs to implement a custom 3A routine (for example, to\nproperly meter for an HDR burst), it needs to know the settings used to capture\nthe latest set of results it has received to update the settings for\nthe next request. Therefore, the new camera API adds a substantial amount of\ndynamic metadata to each captured frame. This includes the requested and actual\nparameters used for the capture, as well as additional per-frame metadata such\nas timestamps and statistics generator output.\n\nPer-setting control\n-------------------\n\nFor most settings, the expectation is that they can be changed every frame,\nwithout introducing significant stutter or delay to the output frame stream.\nIdeally, the output frame rate should solely be controlled by the capture\nrequest's frame duration field, and be independent of any changes to processing\nblocks' configuration. In reality, some specific controls are known to be slow\nto change; these include the output resolution and output format of the camera\npipeline, as well as controls that affect physical devices, such as lens focus\ndistance. The exact requirements for each control set are detailed later.\n\nRaw sensor data support\n-----------------------\n\nIn addition to the pixel formats supported by\nthe old API, the new API adds a requirement for support for raw sensor data\n(Bayer RAW), both for advanced camera apps as well as to support raw\nimage files."]]