ติดตั้งใช้งานเสียงรอบทิศทางและการติดตามการเคลื่อนไหวของศีรษะที่มีคุณภาพสูง

Android 13 รองรับเสียงรอบทิศทางด้วยAPI ที่ช่วยให้นักพัฒนาแอปทราบว่าการใช้งานโทรศัพท์ในปัจจุบัน เฮดเซ็ตที่เชื่อมต่อ และการตั้งค่าของผู้ใช้ช่วยให้เล่นเนื้อหาเสียงหลายช่องได้อย่างสมจริงหรือไม่

OEM สามารถให้เอฟเฟกต์เสียงรอบทิศทางที่รองรับการติดตามการเคลื่อนไหวของศีรษะด้วยระดับประสิทธิภาพและเวลาในการตอบสนองที่ต้องการ โดยใช้สถาปัตยกรรมไปป์ไลน์เสียงใหม่และการผสานรวมเฟรมเวิร์กเซ็นเซอร์ โปรโตคอล HID จะระบุวิธีเชื่อมต่ออุปกรณ์ติดตามการเคลื่อนไหวของศีรษะผ่านบลูทูธและทำให้อุปกรณ์พร้อมใช้งานเป็นอุปกรณ์ HID ผ่านเฟรมเวิร์กเซ็นเซอร์ของ Android ดูข้อกำหนดและการตรวจสอบเพิ่มเติมเกี่ยวกับเสียงเชิงพื้นที่และการติดตามการเคลื่อนไหวของศีรษะ

หลักเกณฑ์ในหน้านี้ใช้กับโซลูชันเสียงรอบทิศทางที่ใช้ API เสียงรอบทิศทางและสถาปัตยกรรมเสียงใหม่กับโทรศัพท์ Android ที่ใช้ Android 13 ขึ้นไปและเฮดเซตที่เข้ากันได้ซึ่งมีเซ็นเซอร์ติดตามการเคลื่อนไหวของศีรษะ

หลักเกณฑ์ในการใช้งานโหมดเสียงรอบทิศทางแบบไดนามิกและแบบคงที่

เสียงรอบทิศทางแบบคงที่ไม่จำเป็นต้องมีการติดตามการเคลื่อนไหวของศีรษะ ดังนั้นชุดหูฟังจึงไม่จำเป็นต้องมีฟังก์ชันการทำงานที่เฉพาะเจาะจง ชุดหูฟังแบบใช้สายและไร้สายทั้งหมดรองรับเสียงรอบทิศทางแบบคงที่

การใช้งาน API

OEM ต้องใช้คลาส Spatializer ที่เปิดตัวใน Android 12 การติดตั้งใช้งานต้องผ่านการทดสอบ CTS ที่เปิดตัวสำหรับคลาส Spatializer

การติดตั้งใช้งาน API ที่มีประสิทธิภาพช่วยให้นักพัฒนาแอป โดยเฉพาะบริการสตรีมมิงสื่อ มั่นใจได้ว่าระบบนิเวศจะทำงานอย่างสม่ำเสมอและเลือกเนื้อหาที่ดีที่สุดตามความสามารถของอุปกรณ์ บริบทการแสดงผลปัจจุบัน และตัวเลือกของผู้ใช้

ส่วนติดต่อผู้ใช้

หลังจากติดตั้งใช้งานคลาส Spatializer แล้ว ให้ตรวจสอบว่า UI มีลักษณะการทำงานดังต่อไปนี้

  • เมื่อจับคู่ชุดหูฟังที่รองรับเสียงรอบทิศทางแล้ว การตั้งค่าอุปกรณ์บลูทูธสำหรับชุดหูฟังนี้จะแสดงปุ่มเปิด/ปิดเสียงรอบทิศทาง

    spatial-audio-ui

    รูปที่ 1 การตั้งค่าเสียงรอบทิศทาง

  • การตั้งค่าจะใช้งานได้เมื่อยกเลิกการเชื่อมต่อชุดหูฟัง

  • สถานะเริ่มต้นของเสียงรอบทิศทางหลังจากจับคู่ชุดหูฟังครั้งแรกจะเปิดใช้

  • สถานะที่ผู้ใช้เลือกไว้ไม่ว่าจะเปิดหรือปิดใช้ สถานะดังกล่าวจะยังคงอยู่แม้ว่าโทรศัพท์จะรีบูตหรือถอดคู่และจับคู่ชุดหูฟังใหม่

ลักษณะการทํางาน

รูปแบบเสียง

รูปแบบเสียงต่อไปนี้ต้องได้รับการเรนเดอร์โดยเอฟเฟกต์การจัดวางเสียงเมื่อเปิดใช้เสียงรอบทิศทางและอุปกรณ์สำหรับการเรนเดอร์เป็นหูฟังแบบใช้สายหรือบลูทูธ

  • AAC, 5.1 ช่อง
  • PCM ดิบ 5.1 แชนแนล

เราขอแนะนําอย่างยิ่งให้รองรับรูปแบบ/การกำหนดค่าช่องต่อไปนี้เพื่อให้ผู้ใช้ได้รับประสบการณ์การใช้งานที่ดีขึ้น

  • Dolby Digital Plus
  • 5.1.2, 7.1, 7.1.2, 7.1.4 ช่อง

การเล่นเนื้อหาแบบสเตอริโอ

เนื้อหาสเตอริโอต้องไม่ผ่านการจัดการแสดงผลผ่านเครื่องมือเอฟเฟกต์เสียงรอบทิศทาง แม้ว่าจะเปิดใช้เสียงรอบทิศทางก็ตาม หากการใช้งานอนุญาตให้มีการจัดวางเสียงของเนื้อหาสเตอริโอ การใช้งานนั้นต้องแสดง UI ที่กําหนดเองซึ่งช่วยให้ผู้ใช้เปิดหรือปิดฟีเจอร์นี้ได้ง่ายๆ เมื่อเปิดใช้เสียงเชิงพื้นที่ ผู้ใช้ต้องสามารถสลับระหว่างการเล่นเนื้อหาหลายช่องที่มีเสียงเชิงพื้นที่กับเนื้อหาสเตอริโอที่ไม่มีเสียงเชิงพื้นที่ได้โดยไม่ต้องเปลี่ยนแปลงการตั้งค่าของผู้ใช้ หรือเชื่อมต่อหรือกำหนดค่าหูฟังใหม่ การเปลี่ยนระหว่างเนื้อหาเสียงรอบทิศทางกับเนื้อหาสเตอริโอต้องเกิดขึ้นโดยที่เสียงไม่ขาดตอน

การเปลี่ยนกรณีการใช้งานและความพร้อมกัน

จัดการกรณีการใช้งานพิเศษดังนี้

  • การแจ้งเตือนต้องผสมกับเนื้อหาเสียงรอบทิศทางในลักษณะเดียวกับที่ผสมกับเนื้อหาเสียงแบบไม่ใช้เสียงรอบทิศทาง
  • ต้องอนุญาตให้มิกซ์ริงโทนกับเนื้อหาเสียงรอบทิศทางได้ อย่างไรก็ตาม โดยค่าเริ่มต้น กลไกโฟกัสเสียงจะหยุดเนื้อหาเสียงรอบทิศทางชั่วคราวเมื่อมีเสียงเรียกเข้า
  • เมื่อรับสายหรือโทรออกหรือเข้าร่วมการประชุมทางวิดีโอ การเล่นเสียงแบบเสียงรอบทิศทางจะต้องหยุดชั่วคราว การเล่นเสียงรอบทิศทางต้องเล่นต่อด้วยการตั้งค่าเสียงรอบทิศทางเดียวกันเมื่อการโทรสิ้นสุด การกำหนดค่าเส้นทางเสียงใหม่เพื่อเปลี่ยนจากโหมดเสียงรอบทิศทางเป็นโหมดสนทนาต้องเกิดขึ้นอย่างรวดเร็วและราบรื่นพอที่จะไม่ส่งผลต่อประสบการณ์การโทร

การแสดงผลผ่านลำโพง

ไม่จําเป็นต้องรองรับการจัดวางเสียงรอบทิศทางผ่านลําโพงหรือโหมด Transaural

หลักเกณฑ์ในการใช้งานการติดตามการเคลื่อนไหวของศีรษะ

ส่วนนี้จะเน้นที่เสียงรอบทิศทางแบบไดนามิก ซึ่งมีข้อกำหนดเฉพาะสำหรับหูฟัง

ส่วนติดต่อผู้ใช้

เมื่อติดตั้งใช้งานและจับคู่ชุดหูฟังที่รองรับเสียงรอบทิศทางแล้ว ให้ตรวจสอบว่า UI มีลักษณะการทำงานดังต่อไปนี้

  • ในการตั้งค่าอุปกรณ์บลูทูธ เมื่อเปิดใช้การตั้งค่าเสียงรอบทิศทางสำหรับชุดหูฟัง การตั้งค่าการติดตามการเคลื่อนไหวของศีรษะจะปรากฏในส่วนเสียงรอบทิศทาง

    ht-ui

    รูปที่ 2 การตั้งค่าเสียงรอบทิศทางและการติดตามการเคลื่อนไหวของศีรษะ

  • การตั้งค่าการติดตามการเคลื่อนไหวของศีรษะจะไม่ปรากฏเมื่อปิดใช้เสียงรอบทิศทาง

  • สถานะเริ่มต้นสำหรับการติดตามการเคลื่อนไหวของศีรษะหลังจากจับคู่ชุดหูฟังครั้งแรกจะตั้งค่าเป็นเปิดใช้

  • สถานะที่ผู้ใช้เลือกไว้ ไม่ว่าจะเปิดหรือปิดใช้ จะต้องคงอยู่หลังจากรีบูตโทรศัพท์หรือยกเลิกการจับคู่และจับคู่ชุดหูฟัง

ลักษณะการทํางาน

การรายงานท่าทางของศีรษะ

  • ข้อมูลท่าทางของศีรษะในพิกัด x, y และ z ที่ส่งจากชุดหูฟังไปยังอุปกรณ์ Android ต้องแสดงการเคลื่อนไหวของศีรษะผู้ใช้อย่างรวดเร็วและแม่นยำ
  • การรายงานท่าทางของศีรษะผ่านลิงก์บลูทูธต้องเป็นไปตามโปรโตคอลที่กําหนดไว้ผ่าน HID
  • ชุดหูฟังต้องส่งข้อมูลการติดตามการเคลื่อนไหวของศีรษะไปยังโทรศัพท์ Android เฉพาะเมื่อผู้ใช้เปิดใช้การติดตามการเคลื่อนไหวของศีรษะใน UI การตั้งค่าอุปกรณ์บลูทูธเท่านั้น

ประสิทธิภาพ

ตอบสนองช้า

เวลาในการตอบสนองของการติดตามการเคลื่อนไหวของศีรษะหมายถึงเวลาที่ใช้ในการจับการเคลื่อนไหวของศีรษะโดยหน่วยวัดความเฉื่อย (IMU) ไปจนถึงการตรวจจับการเปลี่ยนแปลงของเสียงที่เกิดจากการเคลื่อนไหวนี้ของทรานสดิวเซอร์หูฟัง เวลาในการตอบสนองของการติดตามการเคลื่อนไหวของศีรษะต้องไม่เกิน 150 มิลลิวินาที

อัตราการรายงานท่าทางของศีรษะ

เมื่อการติดตามการเคลื่อนไหวของศีรษะทำงานอยู่ เฮดเซ็ตต้องรายงานท่าทางของศีรษะเป็นระยะๆ ตามคำแนะนำประมาณ 20 มิลลิวินาที เพื่อหลีกเลี่ยงการทริกเกอร์ตรรกะการตรวจจับอินพุตที่ล้าสมัยในโทรศัพท์ระหว่างการส่งข้อมูลบลูทูธที่กระวนกระวาย เวลาสูงสุดระหว่างการอัปเดต 2 ครั้งต้องไม่เกิน 40 มิลลิวินาที

การเพิ่มประสิทธิภาพพลังงาน

เราขอแนะนําให้ใช้การเปลี่ยนตัวแปลงรหัสบลูทูธและกลไกการเลือกโหมดเวลาในการตอบสนองที่ได้จากอินเทอร์เฟซ HAL เสียงและ HAL เสียงบลูทูธเพื่อเพิ่มประสิทธิภาพพลังงาน

การใช้งานเฟรมเวิร์กเสียงและสแต็กบลูทูธของ AOSP รองรับสัญญาณในการควบคุมการสลับตัวแปลงรหัสอยู่แล้ว หากการใช้งานของ OEM ใช้ HAL เสียงหลักสำหรับเสียงบลูทูธ ซึ่งเรียกว่าโหมดการลดภาระของโค้ดดูแลคิว OEM จะต้องตรวจสอบว่า HAL เสียงส่งต่อสัญญาณเหล่านั้นระหว่าง HAL เสียงกับสแต็กบลูทูธ

การเปลี่ยนตัวแปลงรหัส

เมื่อเปิดเสียงรอบทิศทางแบบไดนามิกและการติดตามการเคลื่อนไหวของศีรษะ ให้ใช้ตัวแปลงรหัสที่มีเวลาในการตอบสนองต่ำ เช่น Opus เมื่อเล่นเนื้อหาเสียงแบบไม่ใช้เสียงรอบทิศทาง ให้ใช้ตัวแปลงรหัสพลังงานต่ำ เช่น Advanced Audio Coding (AAC)

โปรดทำตามกฎต่อไปนี้ระหว่างการเปลี่ยนตัวแปลงรหัส

  • ติดตามเฉพาะกิจกรรมในสตรีมเอาต์พุต HAL เสียงต่อไปนี้
    • เอาต์พุตของโปรแกรมจำลองเสียงเฉพาะ
    • สตรีมเฉพาะสื่อ เช่น การเล่นแบบบัฟเฟอร์ลึกหรือการโอนข้อมูลที่บีบอัด
  • เมื่อสตรีมที่เกี่ยวข้องทั้งหมดไม่มีการใช้งานและสตรีมการจัดวางเสียงเริ่มขึ้น ให้เริ่มสตรีมบลูทูธโดยตั้งค่า isLowLatency เป็น true เพื่อระบุตัวแปลงรหัสที่มีเวลาในการตอบสนองต่ำ

  • เมื่อสตรีมที่เกี่ยวข้องทั้งหมดไม่มีการใช้งานและสตรีมสื่อเริ่มขึ้น ให้เริ่มสตรีมบลูทูธโดยตั้งค่า isLowLatency เป็น false เพื่อระบุตัวแปลงรหัสพลังงานต่ำ

  • หากสตรีมสื่อทำงานอยู่และสตรีมระบบเสียงรอบทิศทางเริ่มทำงาน ให้รีสตาร์ทสตรีมบลูทูธโดยตั้งค่า isLowLatency เป็น true

ทางด้านหูฟัง หูฟังต้องรองรับทั้งตัวถอดรหัสที่มีเวลาในการตอบสนองต่ำและใช้พลังงานต่ำ และใช้โปรโตคอลการเลือกตัวแปลงรหัสมาตรฐาน

การปรับโหมดเวลาในการตอบสนอง

การปรับโหมดเวลาในการตอบสนองจะเกิดขึ้นเมื่อเลือกตัวแปลงรหัสที่มีเวลาในการตอบสนองต่ำ

การปรับโหมดเวลาในการตอบสนองจะพิจารณาจากสถานะการติดตามการเคลื่อนไหวของศีรษะว่าเปิดหรือปิดอยู่ โดยจะใช้กลไกที่มีอยู่เพื่อลดหรือเพิ่มเวลาในการตอบสนองเพื่อให้ได้เวลาในการตอบสนอง พลังงาน และคุณภาพเสียงที่ดีที่สุด เมื่อเปิดใช้เสียงรอบทิศทางและเปิดใช้การติดตามการเคลื่อนไหวของศีรษะ ระบบจะเลือกโหมดเวลาในการตอบสนองต่ำ เมื่อเปิดใช้เสียงรอบทิศทางและปิดใช้การติดตามการเคลื่อนไหวของศีรษะ ระบบจะเลือกโหมดเวลาในการตอบสนองต่ำ การปรับเวลาในการตอบสนองจะช่วยประหยัดพลังงานได้อย่างมากและเพิ่มความเสถียรของลิงก์เสียงบลูทูธเมื่อมีการขอเฉพาะเสียงรอบทิศทางแบบคงที่ กลไกการปรับเวลาในการตอบสนองที่พบบ่อยที่สุดคือการลดหรือขยายขนาดบัฟเฟอร์การกระตุกในชุดหูฟังบลูทูธ

ดูการติดตามการเคลื่อนไหวของศีรษะผ่าน LE Audio เพื่อดูการปรับโหมดเวลาในการตอบสนองสำหรับ LE Audio