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

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

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

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

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

Android 15 شامل پشتیبانی از مکانیسم‌های انتقال 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 : این مقدار یک تأخیر نسبتاً کم (مانند کمتر از 100 میلی ثانیه) را نشان می دهد که با عملکرد 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 و تطبیق با حرکات تلفن نشان داده شده توسط حسگرهای تلفن انجام می دهد.

شماره‌های حالت تأخیر به ویژگی سیستم 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 صوتی فیلتر شده و بر اساس لیست بارگذاری شده در مرحله 1 مرتب می شوند.
  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 است).

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