تتبُّع حركة الرأس عبر LE Audio

تتيح تقنية Bluetooth (BT) Low Energy (LE) Audio آليات نقل منطقية غير متزامنة وموجّهة الاتصال (LE-ACL) ومتزامنة (LE-ISO) لبيانات تتبُّع حركة الرأس (HT).

يتيح نظام التشغيل Android 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 مباشرةً من وحدة التحكّم في Bluetooth إلى أداة تحويل الصوت المكاني في معالج الإشارات الرقمية للصوت
  • iso-sw: نقل بيانات ISO بدون إمكانية إنشاء أنفاق، وذلك عند إرسال بيانات وحدة القياس بالقصور الذاتي (IMU) من خلال حزمة المستشعرات.

أوضاع وقت الاستجابة

في حالة استخدام Bluetooth LE audio، تكون آلية إشارة حزمة بروتوكول Bluetooth إلى أوضاع الكمون المتوافقة مع طبقة تجريد الأجهزة الصوتية (HAL) وإطار عمل الصوت هي نفسها المحدّدة لبروتوكول Bluetooth Classic (A2DP). يُبلغ Audio HAL عن أوضاع الكمون المتوافقة وفقًا لجهاز الصوت المحدّد حاليًا.

لا تتوافق عمليات تنفيذ A2DP إلا مع الوضعَين FREE وLOW_LATENCY.

في المقابل، بالنسبة إلى تقنية BT LE audio، يتم تحديد أوضاع الكمون التالية في طبقة تجريد الأجهزة الصوتية (HAL) لإتاحة إضافة آليات نقل LE-ACL وLE-ISO:

  • FREE: تشير هذه القيمة إلى أنّه لا يوجد قيد محدّد على وقت الاستجابة. يتم استخدام هذا الوضع عندما لا يكون وقت الاستجابة المنخفض متاحًا (كما هو موضّح في طبقة تجريد الأجهزة)، أو عندما لا يكون وضع "الاستجابة العالية" نشطًا (كما هو موضّح في إطار العمل).

  • LOW: تشير هذه القيمة إلى وقت استجابة منخفض نسبيًا (مثل أقل من 100 مللي ثانية) متوافق مع عملية النقل السريع للبيانات. يتم استخدام هذا الوضع عندما يكون معدل نقل البيانات المنخفض متاحًا ويتم نقل بيانات HID عبر بروتوكول ACL (كما هو موضّح في طبقة تجريد الأجهزة)، أو عندما يكون معدل نقل البيانات العالي نشطًا ولا تتوفّر أوضاع أخرى بمعدل نقل بيانات منخفض (كما هو موضّح في إطار العمل).

  • DYNAMIC_SPATIAL_AUDIO_SOFTWARE: يتم استخدام هذا الوضع عند استيفاء أحد الشروط التالية:

    • عند توفّر ميزة "زمن الاستجابة المنخفض"، يتم نقل HID عبر بروتوكول ISO، ولا يمكن توجيه HID إلى محرّك تأثيرات الصوت المكاني (يتم الإشارة إلى ذلك من خلال طبقة تجريد الأجهزة).
    • عندما يكون تتبُّع الرأس نشطًا ويتم استخدام بروتوكول ISO عندما يوفّر إطار عمل الصوت بيانات HID لمحرك تأثيرات الصوت المجسّم (يشار إليه بواسطة إطار العمل).

    في هذا الوضع، تنفّذ مكتبة الحوسبة HT في إطار العمل جميع عمليات المعالجة المسبقة لبيانات وحدة القياس بالقصور الذاتي (IMU) والتسوية مع حركات الهاتف التي تشير إليها مستشعرات الهاتف.

  • DYNAMIC_SPATIAL_AUDIO_HARDWARE: يتم استخدام هذا الوضع عند استيفاء أحد الشروط التالية:

    • عندما يكون زمن الاستجابة المنخفض متاحًا، يتم نقل HID عبر بروتوكول ISO، ويمكن إرسال HID عبر نفق إلى محرك تأثيرات التجسيم (يتم الإشارة إلى ذلك من خلال طبقة تجريد الأجهزة (HAL)).
    • عندما يكون HT نشطًا ويتم استخدام بروتوكول ISO عند نقل بيانات HID إلى محرك تأثيرات التجسيم (كما يشير إطار العمل).

    في هذا الوضع، يتلقّى محرك تأثير التجسيم بيانات وحدة القياس بالقصور الذاتي غير المعالَجة مباشرةً من حزمة أو وحدة تحكّم Bluetooth. تنفّذ ميزة "تجسيم الصوت" جميع عمليات المعالجة المسبقة لبيانات وحدة القياس بالقصور الذاتي (IMU) والمطابقة مع حركات الهاتف التي تشير إليها أجهزة استشعار الهاتف.

يتم ربط قيم التعداد لوضع زمن الانتقال بسمة النظام bluetooth.core.le.dsa_transport_preference في Spatializer.cpp.

التوافق مع أداة Spatializer

يتحكّم عنصر التحكّم spatializer في خدمة سياسة الصوت في اختيار بروتوكول نقل HT عبر LE Audio. يشير تنفيذ محرك تأثيرات Spatializer إلى إمكانية استخدام ميزة "نقل البيانات عبر الأنفاق" لبيانات HT مع إمكانية HeadTracking.ConnectionMode.

في ما يلي أوضاع اتصال HT المتوافقة:

  • FRAMEWORK_PROCESSED: يوفّر إطار عمل الصوت بيانات IMU المعالَجة مسبقًا بتنسيق متّجه من الرأس إلى موضع العرض إلى طبقة تجريد الأجهزة (HAL). يتوافق هذا الوضع التلقائي مع الوضع الحالي الذي يستخدم البلوتوث الكلاسيكي.
  • DIRECT_TO_SENSOR_SW: يرتبط محرّك تأثيرات الصوت المجسّم مباشرةً بالمستشعر من خلال حزمة برامج المستشعر. لا يتحكّم إطار عمل الصوت إلا في حالة التفعيل لجهاز الاستشعار. يمكن استخدام الوضع DIRECT_TO_SENSOR_SW في عمليات تنفيذ البرامج التي لا تستخدم المعالجة المسبقة لبيانات وحدة قياس القصور الذاتي libheadtracking في AOSP أو عمليات تنفيذ المحوّل المكاني التي تم نقلها إلى معالج الإشارات الرقمية.
  • DIRECT_TO_SENSOR_TUNNEL: يتصل محرّك المؤثرات الصوتية المكانية مباشرةً بجهاز الاستشعار من خلال عملية الربط عبر الأجهزة. لا يتحكّم إطار عمل الصوت إلا في حالة تفعيل جهاز الاستشعار. يمكن أن تستخدم عمليات تنفيذ أداة تحويل الصوت المكاني التي تم نقلها إلى معالج الإشارات الرقمية (DSP) الوضع DIRECT_TO_SENSOR_TUNNEL.

اختيار وضع وقت الاستجابة

يختار إطار العمل أحد أوضاع الكمون من قائمة أوضاع الكمون المتوافقة التي يبلغ عنها HAL. يتم ضبط وضع الكمون استنادًا إلى حالة تفعيل HT الحالية وتوافق Spatializer الحالي وخاصية النظام التي يحدّدها المورّد والتي تحدّد ترتيب الأولوية بين آليات النقل.

يستخدم إطار العمل العملية التالية في 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).

    إذا لم يتم تحديد الوضع المفضّل التالي، سيُبلغ النظام عن حدوث خطأ في إعداد المنتج.