ردیابی سر ازطریق صدای کم‌مصرف

صدای کم‌مصرف (LE) بلوتوث (BT) مکانیزم‌های انتقال منطقی «منطقی اتصال‌گرای ناهمگام» (LE-ACL) و «هم‌زمان» (LE-ISO) را برای داده‌های ردگیری سر (HT) معرفی می‌کند.

‫Android 15 از تنظیمات حالت تأخیر برای HT براساس اینکه از سازوکار انتقال LE-ACL یا LE-ISO استفاده می‌شود یا نه پشتیبانی می‌کند.

این صفحه نحوه تعامل چارچوب صوتی، لایه انتزاع سخت‌افزار صوتی، و پشته بلوتوث را برای شناسایی و انتخاب سازوکارهای انتقال LE-ACL یا LE-ISO پشتیبانی‌شده توسط میزبان و هدست شرح می‌دهد.

پشتیبانی از LE-ACL و LE-ISO

‫Android 15 بااستفاده از ویژگی سیستم تعریف‌شده توسط فروشنده، حالت‌های تأخیر HAL صوتی، و حالت‌های اتصال فضاساز، از سازوکارهای انتقال LE-ACL و LE-ISO پشتیبانی می‌کند.

خصوصیت سیستم

پیاده‌سازی فروشنده تلفن سازوکارهای انتقال پشتیبانی‌شده را در bluetooth.core.le.dsa_transport_preference دارایی سیستم فهرست می‌کند. مقدار آن فهرستی از رشته‌های جداشده با کاما است که انتقال‌های پشتیبانی‌شده را به ترتیب اولویت فهرست می‌کند:

  • le-acl: انتقال LE-ACL، وقتی داده‌های واحد اندازه‌گیری اینرسی (IMU) ازطریق پشته حسگر گزارش می‌شود.
  • iso-hw: انتقال ISO با قابلیت تونل‌سازی داده‌های HT مستقیماً از کنترل‌کننده Bluetooth به فضاساز در DSP صوتی.
  • iso-sw: انتقال ISO بدون قابلیت تونل‌سازی، زمانی که داده‌های IMU ازطریق پشته حسگر گزارش می‌شود.

حالت‌های تأخیر

در مورد صدای کم‌مصرف BT، سازوکار پشته BT برای نشان دادن حالت‌های تأخیر پشتیبانی‌شده به لایه انتزاعی سخت‌افزار صدا و چارچوب صوتی همان سازوکار تعریف‌شده برای BT کلاسیک (A2DP) است. «لایه انتزاع سخت‌افزار» صوتی حالت‌های تأخیر پشتیبانی‌شده را براساس دستگاه صوتی انتخاب‌شده فعلی گزارش می‌کند.

پیاده‌سازی‌های A2DP فقط از حالت‌های FREE و LOW_LATENCY پشتیبانی می‌کنند.

درمقابل، برای صدای کم‌مصرف بلوتوث، حالت‌های تأخیر زیر در لایه انتزاعی سخت‌افزار صدا تعریف شده است تا از افزودن سازوکارهای انتقال LE-ACL و LE-ISO پشتیبانی کند:

  • FREE: این مقدار نشان می‌دهد که هیچ محدودیت خاصی برای تأخیر وجود ندارد. این حالت زمانی استفاده می‌شود که تأخیر کم پشتیبانی نشود (توسط HAL نشان داده می‌شود)، یا زمانی که HT فعال نباشد (توسط چارچوب نشان داده می‌شود).

  • LOW: این مقدار نشان‌دهنده تأخیر نسبتاً کم (مثلاً کمتر از ۱۰۰ میلی‌ثانیه) سازگار با عملکرد HT است. این حالت زمانی استفاده می‌شود که از تأخیر کم پشتیبانی شود و HID ازطریق پروتکل ACL منتقل شود (که توسط HAL نشان داده می‌شود)، یا زمانی که HT فعال است و هیچ حالت تأخیر کم دیگری دردسترس نیست (که توسط چارچوب نشان داده می‌شود).

  • DYNAMIC_SPATIAL_AUDIO_SOFTWARE: این حالت زمانی استفاده می‌شود که یکی از شرایط زیر برقرار باشد:

    • وقتی تأخیر کم پشتیبانی شود، HID ازطریق پروتکل ISO منتقل می‌شود، و HID نمی‌تواند به موتور جلوه فضاساز (که با HAL نشان داده می‌شود) تونل‌سازی شود.
    • وقتی HT فعال باشد و از پروتکل ISO استفاده شود که چارچوب صوتی داده‌های HID را به موتور جلوه فضاساز ارائه می‌دهد (که با چارچوب نشان داده می‌شود).

    در این حالت، کتابخانه محاسباتی HT در چارچوب همه پیش‌پردازش‌ها را روی داده‌های IMU و تطبیق با حرکات تلفن که توسط حسگرهای تلفن نشان داده می‌شود انجام می‌دهد.

  • DYNAMIC_SPATIAL_AUDIO_HARDWARE: این حالت زمانی استفاده می‌شود که یکی از شرایط زیر برقرار باشد:

    • وقتی تأخیر کم پشتیبانی می‌شود، HID ازطریق پروتکل ISO منتقل می‌شود، و HID می‌تواند به موتور جلوه فضاساز تونل‌زده شود (که با لایه انتزاعی سخت‌افزار نشان داده می‌شود).
    • وقتی HT فعال است و از پروتکل ISO استفاده می‌شود، داده‌های HID به موتور جلوه فضاساز تونل‌زنی می‌شود (توسط چارچوب نشان داده می‌شود).

    در این حالت، موتور اثر فضاساز داده‌های IMU پردازش‌نشده را مستقیماً از پشته BT یا کنترل‌کننده BT دریافت می‌کند. پیاده‌سازی اثر فضاساز همه پیش‌پردازش‌ها را روی داده‌های IMU و تطبیق با حرکات تلفن که توسط حسگرهای تلفن نشان داده می‌شود انجام می‌دهد.

تعداد ثابت‌های حالت تأخیر به bluetooth.core.le.dsa_transport_preference دارایی سیستم در Spatializer.cpp نگاشت می‌شود.

پشتیبانی از فضاساز

کنترل‌کننده فضاساز در سرویس خط‌مشی صوتی، انتخاب پروتکل انتقال HT را ازطریق LE Audio کنترل می‌کند. پیاده‌سازی موتور جلوه فضاساز نشان‌دهنده پشتیبانی از تونل‌زنی داده HT با قابلیت HeadTracking.ConnectionMode است.

حالت‌های اتصال HT پشتیبانی‌شده به شرح زیر است:

  • FRAMEWORK_PROCESSED: چارچوب صوتی داده‌های IMU پیش‌پردازش‌شده را در قالب بردار سر به صحنه به HAL ارائه می‌دهد. این حالت پیش‌فرض با حالت فعلی با بلوتوث کلاسیک مطابقت دارد.
  • DIRECT_TO_SENSOR_SW: موتور اثر فضاساز مستقیماً ازطریق پشته نرم‌افزار حسگر به حسگر متصل می‌شود. چارچوب صوتی فقط وضعیت فعال حسگر را کنترل می‌کند. پیاده‌سازی‌های نرم‌افزاری که از پیش‌پردازش داده‌های IMU libheadtracking AOSP یا پیاده‌سازی‌های فضاساز بارگذاری‌شده DSP استفاده نمی‌کنند، می‌توانند از حالت DIRECT_TO_SENSOR_SW استفاده کنند.
  • DIRECT_TO_SENSOR_TUNNEL: موتور جلوه فضاساز مستقیماً ازطریق تونل‌زنی سخت‌افزاری به حسگر متصل می‌شود. چارچوب صوتی فقط وضعیت فعال بودن حسگر را کنترل می‌کند. پیاده‌سازی‌های فضاساز با بارگیری DSP می‌توانند از حالت DIRECT_TO_SENSOR_TUNNEL استفاده کنند.

انتخاب حالت تأخیر

چارچوب یک حالت تأخیر را از فهرست حالت‌های تأخیر پشتیبانی‌شده که توسط HAL گزارش می‌شود انتخاب می‌کند. حالت تأخیر براساس وضعیت فعال بودن HT فعلی، پشتیبانی فضاساز فعلی، و ویژگی سیستم مشخص‌شده توسط فروشنده که ترتیب اولویت را بین سازوکارهای انتقال برقرار می‌کند، تنظیم می‌شود.

این چارچوب از فرایند زیر در selectHeadtrackingConnectionMode_l برای انتخاب حالت تأخیر استفاده می‌کند:

  1. چارچوب، اولویت حمل‌ونقل را از bluetooth.core.le.dsa_transport_preference ویژگی سیستم بار می‌کند.
  2. حالت‌های تأخیر پشتیبانی‌شده گزارش‌شده توسط لایه انتزاعی سخت‌افزار صدا براساس فهرست بارگیری‌شده در مرحله ۱ فیلتر و مرتب می‌شوند.
  3. اگر حالت تأخیر کم با بالاترین اولویت iso-hw باشد و پیاده‌سازی فضاساز از اتصال مستقیم حسگر پشتیبانی کند (یعنی DIRECT_TO_SENSOR_SW یا DIRECT_TO_SENSOR_TUNNEL در فضاساز تنظیم شده باشد)، حالت تأخیر روی DYNAMIC_SPATIAL_AUDIO_HARDWARE تنظیم می‌شود.
  4. اگر حالت کم‌تأخیر با بالاترین اولویت iso-hw باشد و پیاده‌سازی فضاساز از اتصال مستقیم حسگر پشتیبانی نکند (DIRECT_TO_SENSOR_SW یا DIRECT_TO_SENSOR_TUNNEL در فضاساز تنظیم نشده باشد)، حالت ترجیحی بعدی (که یا iso-sw یا le-acl است) حالت تأخیر را تعیین می‌کند (که یا DYNAMIC_SPATIAL_AUDIO_SOFTWARE یا LOW است).

    اگر حالت ترجیحی بعدی مشخص نشده باشد، سیستم خطای پیکربندی محصول را گزارش می‌کند.