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