เสียงบลูทูธ (BT) พลังงานต่ำ (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 เสียง และโหมดการเชื่อมต่อ Spatializer
พร็อพเพอร์ตี้ของระบบ
การติดตั้งใช้งานของผู้ให้บริการโทรศัพท์จะแสดงกลไกการรับส่งที่รองรับในพร็อพเพอร์ตี้ระบบ
bluetooth.core.le.dsa_transport_preference
ค่าดังกล่าวเป็นรายการสตริงที่คั่นด้วยคอมมา
ซึ่งแสดงการรับส่งที่รองรับตามลำดับความสำคัญ
le-acl
: การรับส่ง LE-ACL เมื่อมีการรายงานข้อมูลหน่วยวัดความเฉื่อย (IMU) ผ่านสแต็กเซ็นเซอร์iso-hw
: การรับส่ง ISO ที่มีความสามารถในการส่งผ่านข้อมูล HT โดยตรงจาก ตัวควบคุมบลูทูธไปยัง Spatializer ใน DSP เสียงiso-sw
: การรับส่ง ISO ที่ไม่มีความสามารถในการทำอุโมงค์ เมื่อมีการรายงานข้อมูล IMU ผ่านสแต็กเซ็นเซอร์
โหมดเวลาในการตอบสนอง
ในกรณีของเสียง BT LE กลไกสำหรับสแต็ก BT ในการระบุโหมดเวลาในการตอบสนองที่รองรับไปยัง HAL เสียงและเฟรมเวิร์กเสียงจะเหมือนกับที่กำหนดไว้สำหรับ BT Classic (A2DP) HAL เสียงจะรายงานโหมดเวลาในการตอบสนองที่รองรับ ตามอุปกรณ์เสียงที่เลือกในปัจจุบัน
การติดตั้งใช้งาน A2DP รองรับเฉพาะโหมด FREE
และ LOW_LATENCY
ในทางตรงกันข้าม สำหรับ BT LE Audio จะมีการกำหนดโหมดเวลาในการตอบสนองต่อไปนี้ใน HAL เสียงเพื่อรองรับการเพิ่มกลไกการรับส่ง LE-ACL และ LE-ISO
FREE
: ค่านี้บ่งชี้ว่าไม่มีข้อจำกัดเฉพาะเกี่ยวกับเวลาในการตอบสนอง โหมดนี้จะใช้เมื่อไม่รองรับเวลาในการตอบสนองต่ำ (ระบุโดย HAL) หรือเมื่อ HT ไม่ได้ใช้งาน (ระบุโดยเฟรมเวิร์ก)LOW
: ค่านี้บ่งบอกถึงเวลาในการตอบสนองที่ค่อนข้างต่ำ (เช่น น้อยกว่า 100 มิลลิวินาที) ซึ่งเข้ากันได้กับการทำงานของ HT โหมดนี้จะใช้เมื่อรองรับเวลาในการตอบสนองต่ำและส่ง HID ผ่านโปรโตคอล ACL (ระบุโดย HAL) หรือเมื่อ HT ทำงานอยู่และไม่มีโหมดเวลาในการตอบสนองต่ำอื่นๆ (ระบุโดยเฟรมเวิร์ก)DYNAMIC_SPATIAL_AUDIO_SOFTWARE
: โหมดนี้ใช้เมื่อตรงกับเงื่อนไขข้อใดข้อหนึ่งต่อไปนี้- เมื่อรองรับเวลาในการตอบสนองต่ำ HID จะส่งผ่านโปรโตคอล ISO และ HID จะไม่สามารถส่งผ่านไปยังเอ็นจินเอฟเฟกต์ Spatializer (ระบุโดย HAL)
- เมื่อ HT ทำงานอยู่และใช้โปรโตคอล ISO เมื่อเฟรมเวิร์กเสียง ให้ข้อมูล HID แก่เอ็นจินเอฟเฟกต์ Spatializer (ระบุโดยเฟรมเวิร์ก )
ในโหมดนี้ ไลบรารีการคำนวณ HT ในเฟรมเวิร์กจะทำการประมวลผลล่วงหน้าทั้งหมดในข้อมูล IMU และการปรับให้สอดคล้องกับการเคลื่อนไหวของโทรศัพท์ที่ระบุโดยเซ็นเซอร์ของโทรศัพท์
DYNAMIC_SPATIAL_AUDIO_HARDWARE
: โหมดนี้ใช้เมื่อตรงกับเงื่อนไขข้อใดข้อหนึ่งต่อไปนี้- เมื่อรองรับเวลาในการตอบสนองต่ำ HID จะส่งผ่านโปรโตคอล ISO และสามารถส่งผ่าน HID ไปยังเอ็นจินเอฟเฟกต์ Spatializer (ระบุโดย HAL)
- เมื่อ HT ทำงานและใช้โปรโตคอล ISO เมื่อมีการส่งผ่านข้อมูล HID ไปยังเอ็นจินเอฟเฟกต์ Spatializer (ระบุโดยเฟรมเวิร์ก)
ในโหมดนี้ เครื่องมือเอฟเฟกต์ Spatializer จะรับข้อมูล IMU ที่ยังไม่ได้ประมวลผลจากสแต็ก BT หรือคอนโทรลเลอร์ BT โดยตรง การใช้งานเอฟเฟกต์ Spatializer จะทำการประมวลผลล่วงหน้าทั้งหมดในข้อมูล IMU และการปรับ ให้สอดคล้องกับการเคลื่อนไหวของโทรศัพท์ที่ระบุโดยเซ็นเซอร์ของโทรศัพท์
การแมป Enum ของโหมดเวลาในการตอบสนองกับพร็อพเพอร์ตี้ของระบบ bluetooth.core.le.dsa_transport_preference
ใน Spatializer.cpp
การรองรับ Spatializer
ตัวควบคุมSpatializer
ในบริการนโยบายเสียงจะควบคุมการเลือกโปรโตคอลการรับส่ง HT
ผ่าน LE Audio การติดตั้งใช้งานเอ็นจินเอฟเฟกต์ Spatializer แสดงถึง
การรองรับการทำอุโมงค์ข้อมูล HT ด้วยความสามารถ HeadTracking.ConnectionMode
โหมดการเชื่อมต่อ HT ที่รองรับมีดังนี้
FRAMEWORK_PROCESSED
: เฟรมเวิร์กเสียงจะให้ข้อมูล IMU ที่ประมวลผลล่วงหน้าในรูปแบบเวกเตอร์จากศีรษะถึงเวทีแก่ HAL โหมดเริ่มต้นนี้สอดคล้องกับ โหมดปัจจุบันที่มี BT แบบคลาสสิกDIRECT_TO_SENSOR_SW
: เครื่องมือเอฟเฟกต์ Spatializer จะเชื่อมต่อกับ เซ็นเซอร์โดยตรงผ่านสแต็กซอฟต์แวร์ของเซ็นเซอร์ เฟรมเวิร์กเสียงจะควบคุม เฉพาะสถานะที่เปิดใช้ของเซ็นเซอร์ การติดตั้งใช้งานซอฟต์แวร์ที่ไม่ได้ ใช้การประมวลผลล่วงหน้าของข้อมูล IMU ของ AOSPlibheadtracking
หรือการติดตั้งใช้งาน Spatializer ที่มีการออฟโหลด DSP สามารถใช้DIRECT_TO_SENSOR_SW
โหมดได้DIRECT_TO_SENSOR_TUNNEL
: เครื่องมือเอฟเฟกต์ Spatializer จะเชื่อมต่อกับเซ็นเซอร์โดยตรง ผ่านการเชื่อมต่อฮาร์ดแวร์ เฟรมเวิร์กเสียงจะควบคุมเฉพาะ สถานะที่เปิดใช้ของเซ็นเซอร์ การติดตั้งใช้งาน Spatializer ที่ออฟโหลด DSP สามารถใช้DIRECT_TO_SENSOR_TUNNEL
ได้
การเลือกโหมดค่าความหน่วง
เฟรมเวิร์กจะเลือกโหมดเวลาในการตอบสนองจากรายการโหมดเวลาในการตอบสนองที่ HAL รายงาน ตั้งค่าโหมดเวลาในการตอบสนอง ตามสถานะการเปิดใช้ HT ปัจจุบัน การรองรับ Spatializer ปัจจุบัน และพร็อพเพอร์ตี้ของระบบที่ผู้ให้บริการระบุ ซึ่งกำหนดลำดับความสำคัญระหว่างกลไกการรับส่ง
เฟรมเวิร์กใช้กระบวนการต่อไปนี้ใน selectHeadtrackingConnectionMode_l
เพื่อเลือกโหมดเวลาในการตอบสนอง
- เฟรมเวิร์กจะโหลดค่ากำหนดการรับส่งจาก
bluetooth.core.le.dsa_transport_preference
พร็อพเพอร์ตี้ของระบบ - ระบบจะกรองโหมดเวลาในการตอบสนองที่ HAL เสียงรายงานและ จัดเรียงตามรายการที่โหลดในขั้นตอนที่ 1
- หากโหมดเวลาในการตอบสนองต่ำที่มีลำดับความสำคัญสูงสุดคือ
iso-hw
และการใช้งาน Spatializer รองรับการเชื่อมต่อเซ็นเซอร์โดยตรง (กล่าวคือ มีการตั้งค่าDIRECT_TO_SENSOR_SW
หรือDIRECT_TO_SENSOR_TUNNEL
ใน Spatializer) ระบบจะตั้งค่าโหมดเวลาในการตอบสนองเป็นDYNAMIC_SPATIAL_AUDIO_HARDWARE
หากโหมดเวลาในการตอบสนองต่ำที่มีลำดับความสำคัญสูงสุดคือ
iso-hw
และการใช้งาน Spatializer ไม่รองรับการเชื่อมต่อเซ็นเซอร์โดยตรง (ไม่ได้ตั้งค่าDIRECT_TO_SENSOR_SW
หรือDIRECT_TO_SENSOR_TUNNEL
ใน Spatializer) โหมดที่ต้องการถัดไป (ซึ่งคือiso-sw
หรือle-acl
) จะกำหนดโหมดเวลาในการตอบสนอง (ซึ่งคือDYNAMIC_SPATIAL_AUDIO_SOFTWARE
หรือLOW
)หากไม่ได้ระบุโหมดที่ต้องการถัดไป ระบบจะรายงานข้อผิดพลาดในการกำหนดค่าผลิตภัณฑ์