אודיו ב-Bluetooth (BT) עם צריכת אנרגיה נמוכה (LE) מציג את מנגנוני התעבורה הלוגיים האסינכרוניים מבוססי-החיבור (LE-ACL) והאיזו-כרוניים (LE-ISO) לנתוני מעקב ראש (HT).
Android 15 מספק תמיכה בהתאמות של מצב השהיה עבור HT, בהתאם למנגנון ההעברה LE-ACL או LE-ISO שבו נעשה שימוש.
בדף הזה מוסבר איך מסגרת האודיו, ה-HAL של האודיו וערימת ה-Bluetooth פועלים יחד כדי לגלות ולבחור את מנגנוני התעבורה 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 אל מעבד האותות הדיגיטלי (DSP) של האודיו. -
iso-sw: העברת נתונים לפי ISO ללא יכולת מנהור, כשנתוני ה-IMU מדווחים דרך ערימת החיישנים.
מצבי זמן אחזור
במקרה של BT LE Audio, המנגנון שבאמצעותו מחסנית ה-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 בטכניקת מנהור למנוע האפקטים של מרחב הצליל (כפי שמצוין ב-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.
תמיכה בטכנולוגיית Spatializer
הכלי spatializer
ב-audio policy service שולט בבחירה של פרוטוקול HT transport על פני LE audio. ההטמעה של מנוע אפקטים של מרחב מצביעה על תמיכה במנהור נתונים של HT עם היכולת HeadTracking.ConnectionMode.
אלה אמצעי התחבורה הנתמכים:
-
FRAMEWORK_PROCESSED: מסגרת האודיו מספקת ל-HAL נתוני IMU שעברו עיבוד מראש בפורמט וקטורי של ראש לבמה. מצב ברירת המחדל הזה תואם למצב הנוכחי עם Bluetooth קלאסי. -
DIRECT_TO_SENSOR_SW: מנוע אפקט המרחב מתחבר ישירות לחיישן דרך מחסנית התוכנה של החיישן. ה-framework של האודיו שולט רק במצב המופעל של החיישן. הטמעות של תוכנה שלא משתמשות בעיבוד מראש של נתוני IMU של AOSPlibheadtrackingאו בהטמעות של DSP offloaded spatializer יכולות להשתמש במצבDIRECT_TO_SENSOR_SW. -
DIRECT_TO_SENSOR_TUNNEL: מנוע האפקטים של המרחב מתחבר ישירות לחיישן באמצעות מנהור חומרה. מסגרת האודיו שולטת רק במצב המופעל של החיישן. הטמעות של מרחב צליל שמועברות ל-DSP יכולות להשתמש במצבDIRECT_TO_SENSOR_TUNNEL.
בחירת מצב זמן האחזור
המסגרת בוחרת מצב השהיה מתוך רשימת מצבי ההשהיה הנתמכים שמדווחים על ידי HAL. מצב ההשהיה מוגדר על סמך המצב הנוכחי של הפעלת HT, התמיכה הנוכחית ב-spatializer ומאפיין המערכת שצוין על ידי הספק, שקובע סדר עדיפויות בין מנגנוני התעבורה.
התהליך הבא משמש את המסגרת ב-selectHeadtrackingConnectionMode_l לבחירת מצב ההשהיה:
- המסגרת טוענת את העדפת ההעברה מ
bluetooth.core.le.dsa_transport_preferenceמאפיין המערכת. - מצבי ההשהיה הנתמכים שמדווחים על ידי HAL האודיו מסוננים ומסודרים לפי הרשימה שנטענה בשלב 1.
- אם מצב ההשהיה הנמוכה עם העדיפות הכי גבוהה הוא
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).אם לא מצוין מצב מועדף הבא, המערכת מדווחת על שגיאת הגדרת מוצר.