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

تتيح تقنية Bluetooth (BT) Low Energy (LE) الصوتية آليتَي النقل المنطقيتين غير المتزامنتَين والموجّهتَين بالاتصال (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) من خلال حزمة أجهزة الاستشعار.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • FRAMEWORK_PROCESSED: يوفّر إطار عمل الصوت بيانات IMU معالَجة مسبقًا بتنسيق متّجه من الرأس إلى المسرح إلى طبقة تجريد الأجهزة (HAL). يتوافق هذا الوضع التلقائي مع الوضع الحالي الذي يستخدم تقنية Bluetooth الكلاسيكية.
  • 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).

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