ردیابی سر از طریق صدای LE

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

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

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

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

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

ویژگی سیستم

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

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

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

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

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

در مقابل، برای صدای BT LE، حالت‌های تأخیر زیر در HAL صوتی تعریف شده‌اند تا از اضافه شدن مکانیسم‌های انتقال 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 می‌تواند به موتور جلوه فضایی‌ساز (که با HAL نشان داده می‌شود) تونل شود.
    • وقتی HT فعال است و پروتکل ISO استفاده می‌شود، داده‌های HID به موتور اثر فضایی‌ساز (که توسط چارچوب نشان داده شده است) تونل می‌شوند.

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

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

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

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

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

  • FRAMEWORK_PROCESSED : چارچوب صوتی، داده‌های IMU پیش‌پردازش‌شده را در قالب برداری سر به سر به HAL ارائه می‌دهد. این حالت پیش‌فرض مطابق با حالت فعلی با BT کلاسیک است.
  • 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. حالت‌های تأخیر پشتیبانی‌شده گزارش‌شده توسط HAL صوتی، فیلتر شده و بر اساس لیست بارگذاری‌شده در مرحله ۱ مرتب می‌شوند.
  3. اگر حالت تأخیر کم با بالاترین اولویت iso-hw باشد و پیاده‌سازی spaceizer از اتصال مستقیم حسگر پشتیبانی کند (یعنی DIRECT_TO_SENSOR_SW یا DIRECT_TO_SENSOR_TUNNEL در spaceizer تنظیم شده باشند)، حالت تأخیر روی DYNAMIC_SPATIAL_AUDIO_HARDWARE تنظیم می‌شود.
  4. اگر حالت تأخیر کم با بالاترین اولویت iso-hw باشد و پیاده‌سازی spaceizer از اتصال مستقیم حسگر پشتیبانی نکند ( DIRECT_TO_SENSOR_SW یا DIRECT_TO_SENSOR_TUNNEL در spaceizer تنظیم نشده باشند)، حالت ترجیحی بعدی (که iso-sw یا le-acl است) حالت تأخیر را تعیین می‌کند (که یا DYNAMIC_SPATIAL_AUDIO_SOFTWARE یا LOW است).

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