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