הטמעת אודיו מרחבי באיכות גבוהה ומעקב אחר תנועת הראש

ב-Android 13 הוספנו תמיכה באודיו מרחבי באמצעות ממשקי API שמאפשרות למפתחי אפליקציות לגלות אם השילוב הנוכחי של טלפון ההטמעה של האוזניות המחוברות והגדרות המשתמש מאפשרות הפעלה של תוכן אודיו מרובה-ערוצים באופן סוחף.

יצרני ציוד מקורי יכולים לספק אפקט אודיו של מרחבי העולם עם תמיכה במעקב אחר הראש, רמת הביצועים וזמן האחזור הנדרשים, באמצעות צינור האודיו החדש ושילוב של מערכת החיישנים. פרוטוקול HID מציין איך לחבר מכשיר מעקב אחר ראש באמצעות Bluetooth ולהפוך אותו לזמין כמכשיר HID באמצעות מסגרת החיישן של Android. מידע נוסף זמין בקטע אודיו מרחבי ומעקב אחר תנועות הראש. כדי לקבל יותר דרישות ואימות.

ההנחיות שבדף הזה רלוונטיות לפתרון של אודיו מרחבי שמיישמים ממשקי API חדשים של אודיו מרחבי וארכיטקטורת אודיו חדשה עם טלפון Android שפועל Android מגרסה 13 ואילך ואוזניות תואמות עם חיישן מעקב הראש.

הנחיות להטמעה של מצבי אודיו מרחבי דינמיים וסטטיים

אודיו מרחבי סטטי לא מצריך מעקב ראש, לכן ספציפית הפונקציונליות לא נדרשת באוזניות. כל האוזניות החוטיות והאלחוטיות יכולות לתמוך אודיו מרחבי סטטי.

הטמעת API

יצרני ציוד מקורי חייבים להטמיע את Spatializer חדשה ב-Android 12. ההטמעה חייבת לעבור את בדיקות ה-CTS נוסף לכיתה Spatializer.

יישום יעיל של API מבטיח שמפתחי אפליקציות, בפרט מדיה יכולים להסתמך על התנהגות עקבית בכל הסביבה העסקית לבחור את התוכן הטוב ביותר בהתאם ליכולות המכשיר, לרינדור הנוכחי ההקשר ובחירות המשתמש.

ממשק משתמש

אחרי הטמעת Spatializer class, צריך לוודא שממשק המשתמש פועל באופן הבא:

  • כשהאוזניות עם אפשרות לאודיו מרחבי מותאמות, מכשיר ה-Bluetooth בהגדרות של האוזניות האלה מוצג מתג אודיו מרחבי:

    אודיו-מרחבי

    איור 1. הגדרת אודיו מרחבי.

  • ההגדרות זמינות כשהאוזניות מנותקות.

  • מצב ברירת המחדל של אודיו מרחבי לאחר ההתאמה הראשונית של האוזניות הוא מוגדר כ-enabled.

  • המצב שנבחר על ידי המשתמש, בין אם הוא מופעל או מושבת, ממשיך את הפעולה של הטלפון להפעיל מחדש או לבטל את ההתאמה ואת ההתאמה של האוזניות.

התנהגות פונקציונליות

פורמטים של אודיו

חשוב להשתמש באפקט המרחבי כדי לעבד את הפורמטים הבאים של אודיו אודיו מרחבי מופעל ומכשיר הרינדור הוא באמצעות חיבור קווי או Bluetooth אוזניות:

  • AAC, 5.1 ערוצים
  • PCM גולמי, 5.1 ערוצים

כדי לספק חוויית משתמש טובה יותר, מומלץ מאוד לתמוך במקורות הבאים פורמטים/הגדרות ערוץ:

  • Dolby Digital Plus
  • 5.1.2, 7.1, 7.1.2, 7.1.4 ערוצים

הפעלת תוכן בסטריאו

אסור לעבד תוכן סטריאו דרך מנוע האפקט המרחבי, גם אם אודיו מרחבי מופעל. אם ההטמעה מאפשרת הצגה של תוכן בסטריאו מרחבי, צריך להציג ממשק משתמש מותאם אישית שמאפשר למשתמש להפעיל את התכונה הזו להפעיל או לכבות אותם בקלות. כשהאודיו המרחבי מופעל, אתם צריכים לאפשר לעבור בין הפעלה של תוכן מרחבי מרובה-ערוצים תוכן סטריאו שאינו מרחבי בלי לדרוש שינוי כלשהו בהגדרות משתמש או חיבור מחדש או הגדרה מחדש של האוזניות. מעבר בין אודיו מרחבי תוכן ותוכן סטריאו חייבים להתרחש עם הפרעה מינימלית לאודיו.

מעברים ו-בו-זמניות של תרחישים לדוגמה

יש לטפל בתרחישים מיוחדים לפי ההנחיות הבאות:

  • צריך לשלב בין ההתראות לבין תוכן האודיו המרחבי כפי שהן מופיעות בתוכן אודיו לא מרחבי.
  • מותר לשלב רינגטונים עם תוכן אודיו מרחבי. אבל, לפעמים כברירת מחדל, מנגנון מיקוד האודיו משהה את תוכן האודיו המרחבי יש רינגטון.
  • בזמן מענה או ביצוע של שיחת טלפון או שיחת ועידה בווידאו, ההגדרות הפעלת האודיו חייבת להיות מושהית. ההפעלה של האודיו המרחבי חייבת להתבצע שוב באותו הזמן הגדרות של אודיו מרחבי בסיום השיחה. הגדרה מחדש של נתיב האודיו כדי לעבור ממצב אודיו מרחבי למצב שיחה, צריך להתרחש במהירות בצורה חלקה, כך שלא תהיה לכך השפעה על חוויית השיחה.

עיבוד ברמקולים

אין תמיכה במרחב אודיו ברמקולים או במצב טרנס-רמקול נדרש.

הנחיות להטמעה של מעקב אחר תנועות הראש

הקטע הזה מתמקד באודיו מרחבי דינמי, שמיועד לאוזניות ספציפיות. בדרישות שלנו.

ממשק משתמש

אחרי הטמעה והתאמה של האוזניות עם יכולות אודיו מרחבי, צריך לאמת שממשק המשתמש שלכם מתנהל באופן הבא:

  • בהגדרות של מכשיר ה-Bluetooth, כשההגדרה אודיו מרחבי של אוזניות הכפתור מופעלות, ההגדרה מעקב אחר תנועות הראש מופיעה בקטע אודיו מרחבי:

    ht-ui, ht-ui

    איור 2. אודיו מרחבי וכיוון הראש.

  • הגדרת המעקב אחר הראש לא מוצגת כאשר האודיו המרחבי מושבת.

  • מצב ברירת המחדל של מעקב אחר תנועות הראש לאחר ההתאמה הראשונית של האוזניות הוא מוגדר כ-enabled.

  • המצב שנבחר על ידי המשתמש, בין שהוא מופעל או מושבת, חייב להישאר לאורך להפעיל מחדש או לבטל את ההתאמה של האוזניות ולהתאים אותן מחדש.

התנהגות פונקציונליות

דיווח על תנוחת הראש

  • מידע על תנוחת הראש בקואורדינטות x, y ו-z, שנשלחות מהאוזניות אל במכשיר ה-Android, חייב לשקף את תנועות הראש של המשתמש במהירות במדויק.
  • הדיווח על תנוחת הראש דרך הקישור ל-Bluetooth חייב להתבצע לפי הפרוטוקול שהוגדר מעל HID.
  • אוזניות הכפתור צריכות לשלוח את המידע על מעקב הראש לטלפון Android רק כשהמשתמש מפעיל מעקב אחר תנועות הראש בהגדרה של מכשיר ה-Bluetooth. ממשק משתמש.

ביצועים

איטית

זמן אחזור למעקב אחר תנועות הראש מוגדר כזמן שחולף מתנועת הראש תועד על ידי יחידת המידה האירצית (IMU) למתמרי האוזניות זיהוי השינוי בצליל שנגרם על ידי התנועה הזו. זמן אחזור של מעקב אחר תנועות הראש באורך של עד 150 אלפיות השנייה

שיעור הדיווח על תנוחת הראש

כשהמעקב אחר הראש פעיל, האוזניות צריכות לדווח על מנח הראש על בסיס תקופתי מומלץ של כ-20 אלפיות השנייה. כדי למנוע מצב לא פעיל לוגיקת זיהוי הקלט בטלפון בזמן רעידת שידור Bluetooth, הזמן המרבי בין שני עדכונים לא יכול לחרוג מ-40 אלפיות שנייה.

אופטימיזציה של צריכת החשמל

כדי לבצע אופטימיזציה של אספקת החשמל, מומלץ שההטמעה תשתמש החלפת קודק Bluetooth וגם המנגנונים של בחירת מצב זמן אחזור שמסופקים על ידי HAL של אודיו ו-Bluetooth Audio HAL ממשקים.

ההטמעות של ה-AOSP של מסגרת האודיו ושל סטאק Bluetooth כבר תמיכה באותות כדי לשלוט בשינוי קודק. אם ההטמעה של ה-OEM (יצרן הציוד המקורי) רכיב ה-HAL הראשי של אודיו ב-Bluetooth, שנקרא מצב הפחתת עומס בקודק, יצרן הציוד המקורי חייב לוודא שה-HAL של האודיו מעביר את האותות האלה בין ה-HAL של האודיו ומקבץ ה-Bluetooth.

החלפת קודק

כשאודיו מרחבי דינמי ומעקב ראש מופעלים, צריך להשתמש בקודק עם זמן אחזור קצר. כמו Opus. כשצופים בתוכן לא מרחבי תוכן אודיו, משתמשים בקודק בעל מתח נמוך, כמו Advanced Audio Coding (AAC).

במהלך החלפת קודק, יש לפעול על פי הכללים הבאים:

  • מעקב רק אחרי הפעילות בשידורי פלט האודיו הבאים עם HAL:
    • פלט של עוזר מרחבי ייעודי
    • שידורים ספציפיים למדיה, כמו מאגר נתונים זמני עמוק או עומס נתונים דחוס הפעלה
  • אחרי שכל השידורים הרלוונטיים לא פעילים והשידור המרחבי מתחיל, מתחילים זרם Bluetooth שבו isLowLatency מוגדר ל-true כדי לציין קודק עם זמן אחזור קצר.

  • כשכל השידורים הרלוונטיים לא פעילים ומתחיל שידור מדיה, מפעילים זרם Bluetooth עם isLowLatency מוגדר ל-false כדי לציין קודק בעוצמה נמוכה.

  • אם יש שידור מדיה פעיל והשידור של המרחב המרחבי מתחיל, צריך להפעיל מחדש את שידור Bluetooth עם isLowLatency מוגדר ל-true.

האוזניות בצד של האוזניות צריכות לתמוך גם בזמן אחזור נמוך וגם בצריכת חשמל נמוכה ומטמיעים את הפרוטוקול הסטנדרטי לבחירת קודק.

התאמה של מצב זמן אחזור

ההתאמה של מצב זמן האחזור מתבצעת כשבוחרים בקודק עם זמן אחזור קצר.

בהתאם למצב ההפעלה או ההשבתה של המעקב אחרי תנועות הראש, ההתאמה של מצב זמן האחזור משתמשת מנגנונים זמינים לקיצור או להארכת זמן האחזור כדי להגיע התפשרות בין זמן אחזור, הפעלה ואיכות אודיו. כאשר אודיו מרחבי מופעל והמעקב אחר ראש מופעל, נבחר המצב זמן אחזור קצר. מתי אודיו מרחבי מופעל והמעקב אחר הראש מושבת, מצב זמן אחזור חופשי מסומנת. ההתאמה של זמן האחזור מספקת חיסכון משמעותי בסוללה ומגדילה את יציבות קישור האודיו של Bluetooth כאשר רק אודיו מרחבי סטטי נדרש. המנגנון הנפוץ ביותר להתאמה של זמן האחזור הוא הפחתת מידע תוספת של שטח האחסון הזמני של הרעידות באוזניות ה-Bluetooth.