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

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 แบบ Raw, 5.1 แชนเนล

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

  • Dolby Digital Plus
  • แชนเนล 5.1.2, 7.1, 7.1.2, 7.1.4

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

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

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

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

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

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

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

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

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

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

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

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

    UI

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

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

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

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

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

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

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

ประสิทธิภาพ

ตอบสนองช้า

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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