ब्लूटूथ (बीटी) लो एनर्जी (एलई) ऑडियो में, सिर की गति को ट्रैक करने (एचटी) से जुड़े डेटा के लिए, असिंक्रोनस कनेक्शन-ओरिएंटेड लॉजिकल (एलई-एसीएल) और आइसोक्रोनस (एलई-आईएसओ) लॉजिकल ट्रांसपोर्ट मैकेनिज्म को शामिल किया गया है.
Android 15 में, लेटलेंसी मोड में बदलाव करने की सुविधा उपलब्ध है. यह सुविधा, इस बात पर निर्भर करती है कि LE-ACL या LE-ISO ट्रांसपोर्ट मैकेनिज्म का इस्तेमाल किया जा रहा है या नहीं.
इस पेज पर बताया गया है कि ऑडियो फ़्रेमवर्क, ऑडियो एचएएल, और ब्लूटूथ स्टैक, होस्ट और हेडसेट के साथ काम करने वाले LE-ACL या LE-ISO ट्रांसपोर्ट मैकेनिज्म को कैसे खोजते और चुनते हैं.
LE-ACL और LE-ISO के लिए सहायता
Android 15 में, वेंडर की तय की गई सिस्टम प्रॉपर्टी, ऑडियो एचएएल देरी मोड, और स्पेशलाइज़र कनेक्शन मोड का इस्तेमाल करके, LE-ACL और LE-ISO ट्रांसपोर्ट मैकेनिज्म के लिए सहायता शामिल है.
सिस्टम प्रॉपर्टी
फ़ोन वेंडर, bluetooth.core.le.dsa_transport_preference
सिस्टम प्रॉपर्टी में, ट्रांसपोर्ट के काम करने वाले तरीकों की सूची दिखाता है. यह वैल्यू, कॉमा लगाकर अलग की गई स्ट्रिंग की सूची होती है. इसमें, इस्तेमाल किए जा सकने वाले ट्रांसपोर्ट को प्राथमिकता के क्रम में शामिल किया जाता है:
le-acl
: LE-ACL ट्रांसपोर्ट, जब इनर्शियल मेज़रमेंट यूनिट (IMU) का डेटा, सेंसर स्टैक के ज़रिए रिपोर्ट किया जाता है.iso-hw
: ISO ट्रांसपोर्ट, जिसमें एचटी डेटा को सीधे ब्लूटूथ कंट्रोलर से ऑडियो डीएसपी में स्पेसलाइज़र तक टनल करने की सुविधा होती है.iso-sw
: टनल करने की सुविधा के बिना ISO ट्रांसपोर्ट, जब IMU डेटा को सेंसर स्टैक के ज़रिए रिपोर्ट किया जाता है.
इंतज़ार के समय के मोड
बीटी ले ऑडियो के मामले में, ऑडियो एचएएल और ऑडियो फ़्रेमवर्क को इंतज़ार का समय बताने के लिए, बीटी स्टैक का तरीका वही है जो बीटी क्लासिक (A2DP) के लिए तय किया गया है. ऑडियो एचएएल, फ़िलहाल चुने गए ऑडियो डिवाइस के हिसाब से, इंतज़ार के समय के काम करने वाले मोड की जानकारी देता है.
A2DP प्रोटोकॉल सिर्फ़ FREE
और LOW_LATENCY
मोड के साथ काम करता है.
इसके उलट, BT LE ऑडियो के लिए, ऑडियो एचएएल में ये देरी मोड तय किए गए हैं, ताकि LE-ACL और LE-ISO ट्रांसपोर्ट मैकेनिज्म को जोड़ा जा सके:
FREE
: इस वैल्यू से पता चलता है कि इंतज़ार इस मोड का इस्तेमाल तब किया जाता है, जब कम इंतज़ार का समय काम न करता हो (इसकी जानकारी एचएएल से मिलती है) या जब एचटी चालू न हो (इसकी जानकारी फ़्रेमवर्क से मिलती है).LOW
: इस वैल्यू से पता चलता है कि 'एचटी' मोड के साथ काम करने वाले डिवाइसों में, इंतज़ार का समय कम (जैसे, 100 मिलीसेकंड से कम) होता है. इस मोड का इस्तेमाल तब किया जाता है, जब इंतज़ार का समय कम हो और एचआईडी को एसीएल प्रोटोकॉल (एचएएल से पता चलता है) के ज़रिए भेजा जाता हो. इसके अलावा, यह मोड तब भी इस्तेमाल किया जाता है, जब एचटी चालू हो और इंतज़ार का समय कम करने वाला कोई दूसरा मोड उपलब्ध न हो (फ़्रेमवर्क से पता चलता है).DYNAMIC_SPATIAL_AUDIO_SOFTWARE
: इस मोड का इस्तेमाल तब किया जाता है, जब इनमें से कोई एक शर्त पूरी होती है:- कम इंतज़ार का समय होने पर, एचआईडी को आईएसओ प्रोटोकॉल के ज़रिए भेजा जाता है. साथ ही, एचआईडी को स्पेसलाइज़र इफ़ेक्ट इंजन (एचएएल से दिखाया गया) में टनल नहीं किया जा सकता.
- जब एचटी चालू होता है और ऑडियो फ़्रेमवर्क, स्पेसलाइज़र इफ़ेक्ट इंजन को एचआईडी डेटा उपलब्ध कराता है, तो आईएसओ प्रोटोकॉल का इस्तेमाल किया जाता है. इसकी जानकारी, फ़्रेमवर्क से मिलती है.
इस मोड में, फ़्रेमवर्क में मौजूद एचटी कंप्यूटिंग लाइब्रेरी, आईएमयू डेटा पर सभी प्रीप्रोसेसिंग करती है. साथ ही, फ़ोन के सेंसर से पता चलने वाली फ़ोन की गतिविधियों के साथ मिलान करती है.
DYNAMIC_SPATIAL_AUDIO_HARDWARE
: इस मोड का इस्तेमाल तब किया जाता है, जब इनमें से कोई एक शर्त पूरी होती है:- कम इंतज़ार का समय होने पर, एचआईडी को आईएसओ प्रोटोकॉल के ज़रिए भेजा जाता है. साथ ही, एचआईडी को स्पेसलाइज़र इफ़ेक्ट इंजन (एचएएल से दिखाया गया) में टनल किया जा सकता है.
- जब एचटी चालू हो और एचआईडी डेटा को स्पेसलाइज़र इफ़ेक्ट इंजन (फ़्रेमवर्क से दिखाया गया) में टनल किया जाता है, तो आईएसओ प्रोटोकॉल का इस्तेमाल किया जाता है.
इस मोड में, स्पेसलाइज़र इफ़ेक्ट इंजन को सीधे BT स्टैक या BT कंट्रोलर से, प्रोसेस नहीं किया गया IMU डेटा मिलता है. स्पेसलाइज़र इफ़ेक्ट लागू करने के लिए, IMU डेटा को पहले से प्रोसेस किया जाता है. साथ ही, फ़ोन के सेंसर से पता चलने वाली फ़ोन की गतिविधियों के साथ डेटा को अलाइन किया जाता है.
इंतज़ार का समय मोड के एनम को Spatializer.cpp
में bluetooth.core.le.dsa_transport_preference
सिस्टम प्रॉपर्टी पर मैप किया जाता है.
स्पेसिएलाइज़र की सुविधा
ऑडियो नीति सेवा में स्पेशलाइज़र कंट्रोलर, LE ऑडियो पर HT ट्रांसपोर्ट प्रोटोकॉल के चुने जाने को कंट्रोल करता है. स्पेसिएलाइज़र इफ़ेक्ट इंजन को लागू करने से पता चलता है कि HeadTracking.ConnectionMode
की सुविधा के साथ, एचटी डेटा टनलिंग की सुविधा काम करती है.
HT कनेक्शन के ये मोड काम करते हैं:
FRAMEWORK_PROCESSED
: ऑडियो फ़्रेमवर्क, एचएएल को पहले से प्रोसेस किया गया IMU डेटा, हेड-टू-स्टेज वेक्टर फ़ॉर्मैट में उपलब्ध कराता है. यह डिफ़ॉल्ट मोड, बीटी क्लासिक के मौजूदा मोड से मेल खाता है.DIRECT_TO_SENSOR_SW
: स्पेसलाइज़र इफ़ेक्ट इंजन, सेंसर सॉफ़्टवेयर स्टैक के ज़रिए सीधे सेंसर से कनेक्ट होता है. ऑडियो फ़्रेमवर्क, सिर्फ़ सेंसर के चालू होने की स्थिति को कंट्रोल करता है. ऐसे सॉफ़्टवेयर लागू करने के लिएDIRECT_TO_SENSOR_SW
मोड का इस्तेमाल किया जा सकता है जो AOSPlibheadtracking
IMU डेटा को प्रोसेस करने से पहले या डीएसपी से ऑफ़लोड किए गए स्पेसिएलाइज़र लागू करने के लिए इस्तेमाल नहीं करते.DIRECT_TO_SENSOR_TUNNEL
: स्पेसलाइज़र इफ़ेक्ट इंजन, हार्डवेयर टनल के ज़रिए सीधे सेंसर से कनेक्ट होता है. ऑडियो फ़्रेमवर्क सिर्फ़ सेंसर के चालू होने की स्थिति को कंट्रोल करता है. डीएसपी के ऑफ़लोड किए गए स्पेसिएलाइज़र लागू करने के लिए,DIRECT_TO_SENSOR_TUNNEL
मोड का इस्तेमाल किया जा सकता है.
इंतज़ार का समय कम करने वाला मोड चुनना
फ़्रेमवर्क, काम करने वाले देरी मोड की सूची से कोई देरी मोड चुनता है. इन मोड की जानकारी, एचएएल देता है. देरी मोड सेट किया जाता है इस आधार पर कि एचटी चालू है या नहीं, स्पेशलाइज़र की मौजूदा सुविधा, और वेंडर की बताई गई सिस्टम प्रॉपर्टी क्या है. इस प्रॉपर्टी से, ट्रांसपोर्ट मैकेनिज्म के बीच प्राथमिकता का क्रम तय होता है.
फ़्रेमवर्क, इंतज़ार का समय तय करने के लिए, selectHeadtrackingConnectionMode_l
में यह प्रोसेस अपनाता है:
- फ़्रेमवर्क, ट्रांसपोर्ट की प्राथमिकता को
bluetooth.core.le.dsa_transport_preference
सिस्टम प्रॉपर्टी से लोड करता है. - ऑडियो एचएएल की रिपोर्ट में, इंतज़ार के समय के लिए काम करने वाले मोड की जानकारी दी जाती है. इन मोड को फ़िल्टर किया जाता है और पहले चरण में लोड की गई सूची के हिसाब से क्रम में लगाया जाता है.
- अगर कम इंतज़ार का समय वाला सबसे ज़्यादा प्राथमिकता वाला मोड
iso-hw
है और स्पेसिएलाइज़र लागू करने की सुविधा, सेंसर से सीधे तौर पर कनेक्ट करने की सुविधा के साथ काम करती है (यानी, स्पेसिएलाइज़र मेंDIRECT_TO_SENSOR_SW
याDIRECT_TO_SENSOR_TUNNEL
सेट हैं), तो इंतज़ार का समय वाला मोडDYNAMIC_SPATIAL_AUDIO_HARDWARE
पर सेट होता है. अगर इंतज़ार का कम समय वाला सबसे ज़्यादा प्राथमिकता वाला मोड
iso-hw
है और स्पेसलाइज़र लागू करने की सुविधा, सेंसर से सीधे तौर पर कनेक्ट नहीं होती (DIRECT_TO_SENSOR_SW
याDIRECT_TO_SENSOR_TUNNEL
, स्पेसलाइज़र में सेट नहीं हैं), तो अगला पसंदीदा मोड (iso-sw
याle-acl
) इंतज़ार का समय तय करता है. यह मोडDYNAMIC_SPATIAL_AUDIO_SOFTWARE
याLOW
हो सकता है.अगर अगला पसंदीदा मोड तय नहीं किया गया है, तो सिस्टम प्रॉडक्ट कॉन्फ़िगरेशन से जुड़ी गड़बड़ी की रिपोर्ट करता है.