Triển khai theo dõi đầu và âm thanh không gian chất lượng cao

Android 13 giới thiệu khả năng hỗ trợ âm thanh không gian bằng cách cung cấp các API cho phép nhà phát triển ứng dụng khám phá xem liệu sự kết hợp hiện tại giữa việc triển khai trên điện thoại, tai nghe được kết nối và cài đặt người dùng có cho phép phát lại nội dung âm thanh đa kênh một cách sống động hay không.

Các OEM có thể cung cấp hiệu ứng âm thanh không gian hóa với sự hỗ trợ theo dõi đầu với mức hiệu suất và độ trễ cần thiết bằng cách sử dụng kiến ​​trúc đường ống âm thanh mới và tích hợp khung cảm biến. Giao thức HID chỉ định cách gắn thiết bị theo dõi đầu qua Bluetooth và cung cấp thiết bị đó dưới dạng thiết bị HID thông qua khung cảm biến Android. Xem Theo dõi âm thanh không gian và đầu để biết thêm yêu cầu và xác nhận.

Các nguyên tắc trên trang này áp dụng cho giải pháp âm thanh không gian sử dụng cấu trúc âm thanh và API âm thanh không gian mới với điện thoại Android chạy Android 13 trở lên cũng như tai nghe tương thích có cảm biến theo dõi đầu.

Hướng dẫn thực hiện chế độ âm thanh không gian động và tĩnh

Âm thanh không gian tĩnh không yêu cầu theo dõi đầu, do đó tai nghe không yêu cầu chức năng cụ thể. Tất cả tai nghe có dây và không dây đều có thể hỗ trợ âm thanh không gian tĩnh.

Triển khai API

OEM PHẢI triển khai lớp Spatializer được giới thiệu trong Android 12. Việc triển khai phải vượt qua các bài kiểm tra CTS được giới thiệu cho lớp Spatializer .

Việc triển khai API mạnh mẽ đảm bảo rằng các nhà phát triển ứng dụng, đặc biệt là các dịch vụ truyền phát đa phương tiện, có thể dựa vào hành vi nhất quán trên toàn hệ sinh thái và chọn nội dung tốt nhất theo khả năng của thiết bị, bối cảnh hiển thị hiện tại và lựa chọn của người dùng.

Giao diện người dùng

Sau khi triển khai lớp Spatializer , hãy xác thực rằng giao diện người dùng của bạn có hành vi sau:

  • Khi tai nghe có hỗ trợ âm thanh không gian được ghép nối, cài đặt thiết bị Bluetooth cho tai nghe này sẽ hiển thị chuyển đổi Âm thanh không gian :

    spatial-audio-ui

    Hình 1. Cài đặt âm thanh không gian.

  • Các cài đặt khả dụng khi tai nghe bị ngắt kết nối.

  • Trạng thái mặc định cho âm thanh không gian sau khi ghép nối tai nghe lần đầu được đặt thành bật .

  • Trạng thái do người dùng chọn, dù được bật hay tắt, vẫn tiếp tục khởi động lại điện thoại hoặc hủy ghép nối và ghép nối tai nghe.

Hành vi chức năng

Định dạng âm thanh

Các định dạng âm thanh sau PHẢI được hiển thị bằng hiệu ứng không gian khi bật âm thanh không gian và thiết bị kết xuất là tai nghe có dây hoặc Bluetooth:

  • AAC, 5.1 kênh
  • PCM thô, 5.1 kênh

Để có trải nghiệm người dùng tốt hơn, chúng tôi thực sự khuyên bạn nên hỗ trợ các định dạng/cấu hình kênh sau:

  • Dolby Digital Plus
  • 5.1.2, 7.1, 7.1.2, 7.1.4 kênh

Phát lại nội dung âm thanh nổi

Nội dung âm thanh nổi không được hiển thị thông qua công cụ tạo hiệu ứng không gian, ngay cả khi bật âm thanh không gian. Nếu việc triển khai cho phép không gian hóa nội dung âm thanh nổi thì nó phải hiển thị giao diện người dùng tùy chỉnh cho phép người dùng bật hoặc tắt tính năng này một cách dễ dàng. Khi bật âm thanh không gian, phải có thể chuyển đổi giữa phát lại nội dung đa kênh được không gian hóa sang nội dung âm thanh nổi không được không gian hóa mà không yêu cầu bất kỳ thay đổi nào trong cài đặt người dùng hoặc kết nối lại hoặc cấu hình lại tai nghe. Quá trình chuyển đổi giữa nội dung âm thanh không gian và nội dung âm thanh nổi phải diễn ra với mức độ gián đoạn âm thanh ở mức tối thiểu.

Chuyển đổi trường hợp sử dụng và đồng thời

Xử lý các trường hợp sử dụng đặc biệt như sau:

  • Thông báo phải được trộn với nội dung âm thanh không gian theo cách tương tự như với nội dung âm thanh không gian.
  • Nhạc chuông phải được phép trộn lẫn với nội dung âm thanh không gian. Tuy nhiên, theo mặc định, cơ chế lấy nét âm thanh sẽ tạm dừng nội dung âm thanh không gian khi có nhạc chuông.
  • Khi trả lời hoặc thực hiện cuộc gọi điện thoại hoặc hội nghị video, quá trình phát lại âm thanh không gian phải tạm dừng. Quá trình phát lại âm thanh không gian phải tiếp tục với cùng cài đặt âm thanh không gian khi cuộc gọi kết thúc. Việc cấu hình lại đường dẫn âm thanh để chuyển từ chế độ âm thanh không gian sang chế độ đàm thoại phải diễn ra đủ nhanh và liền mạch để không ảnh hưởng đến trải nghiệm cuộc gọi.

Kết xuất qua loa

Không cần hỗ trợ không gian hóa âm thanh qua loa hoặc chế độ xuyên âm .

Hướng dẫn thực hiện theo dõi đầu

Phần này tập trung vào âm thanh không gian động, có các yêu cầu cụ thể về tai nghe.

Giao diện người dùng

Sau khi triển khai và ghép nối tai nghe có hỗ trợ âm thanh không gian, hãy xác thực rằng giao diện người dùng của bạn có hành vi sau:

  • Trong cài đặt thiết bị Bluetooth, khi bật cài đặt Âm thanh không gian cho tai nghe, cài đặt Theo dõi đầu sẽ xuất hiện trong Âm thanh không gian :

    ht-ui

    Hình 2. Cài đặt theo dõi đầu và âm thanh không gian.

  • Cài đặt theo dõi đầu KHÔNG hiển thị khi âm thanh không gian bị tắt.

  • Trạng thái mặc định cho tính năng theo dõi đầu sau khi ghép nối tai nghe lần đầu được đặt thành bật .

  • Trạng thái đã chọn của người dùng, dù được bật hay tắt, đều phải duy trì thông qua quá trình khởi động lại điện thoại hoặc hủy ghép nối và ghép nối tai nghe.

Hành vi chức năng

Báo cáo tư thế đầu

  • Thông tin về tư thế đầu, theo tọa độ x, y và z, được gửi từ tai nghe đến thiết bị Android, phải phản ánh chuyển động đầu của người dùng một cách nhanh chóng và chính xác.
  • Báo cáo về tư thế đầu qua liên kết Bluetooth phải tuân theo giao thức được xác định qua HID .
  • Tai nghe chỉ được gửi thông tin theo dõi đầu đến điện thoại Android khi người dùng bật Theo dõi đầu trong giao diện người dùng cài đặt thiết bị Bluetooth.

Hiệu suất

Độ trễ

Độ trễ theo dõi đầu được định nghĩa là thời gian từ khi chuyển động của đầu được thiết bị đo quán tính (IMU) ghi lại cho đến khi đầu dò tai nghe phát hiện sự thay đổi trong âm thanh do chuyển động này gây ra. Độ trễ theo dõi đầu không được vượt quá 150 ms.

Tỷ lệ báo cáo tư thế đầu

Khi tính năng theo dõi đầu đang hoạt động, tai nghe phải báo cáo tư thế đầu theo định kỳ được khuyến nghị khoảng 20 mili giây. Để tránh kích hoạt logic phát hiện đầu vào cũ trên điện thoại trong quá trình truyền Bluetooth bị chập chờn, thời gian tối đa giữa hai lần cập nhật không được vượt quá 40 mili giây.

Tối ưu hóa năng lượng

Để tối ưu hóa nguồn điện, chúng tôi khuyên bạn nên triển khai sử dụng cơ chế chọn chế độ trễ và chuyển đổi codec Bluetooth được cung cấp bởi giao diện HAL âm thanhHAL âm thanh Bluetooth .

Việc triển khai AOSP của khung âm thanh và ngăn xếp Bluetooth đã hỗ trợ các tín hiệu để điều khiển chuyển đổi codec. Nếu việc triển khai của OEM sử dụng HAL âm thanh chính cho âm thanh Bluetooth, được gọi là chế độ giảm tải codec , thì OEM phải đảm bảo rằng HAL âm thanh chuyển tiếp các tín hiệu đó giữa HAL âm thanh và ngăn xếp Bluetooth.

Chuyển đổi codec

Khi bật tính năng theo dõi đầu và âm thanh không gian động, hãy sử dụng codec có độ trễ thấp, chẳng hạn như Opus . Khi phát nội dung âm thanh không theo không gian, hãy sử dụng codec công suất thấp, chẳng hạn như Mã hóa âm thanh nâng cao (AAC) .

Thực hiện theo các quy tắc sau trong quá trình chuyển đổi codec:

  • Chỉ theo dõi hoạt động trên luồng đầu ra âm thanh HAL sau:
    • Đầu ra không gian chuyên dụng
    • Các luồng cụ thể của phương tiện, chẳng hạn như bộ đệm sâu hoặc phát lại giảm tải nén
  • Khi tất cả các luồng liên quan đều không hoạt động và luồng không gian bắt đầu, hãy bắt đầu luồng Bluetooth với isLowLatency được đặt thành true để chỉ định codec có độ trễ thấp.

  • Khi tất cả các luồng liên quan đều không hoạt động và luồng phương tiện bắt đầu, hãy bắt đầu luồng Bluetooth với isLowLatency được đặt thành false để chỉ định codec công suất thấp.

  • Nếu luồng phương tiện đang hoạt động và luồng không gian bắt đầu, hãy khởi động lại luồng Bluetooth với isLowLatency được đặt thành true .

Về phía tai nghe, tai nghe phải hỗ trợ cả bộ giải mã có độ trễ thấp và công suất thấp và thực hiện giao thức chọn codec tiêu chuẩn.

Điều chỉnh chế độ trễ

Việc điều chỉnh chế độ độ trễ xảy ra khi chọn codec có độ trễ thấp.

Dựa trên việc bật hay tắt tính năng theo dõi đầu, việc điều chỉnh chế độ độ trễ sẽ sử dụng các cơ chế có sẵn để giảm hoặc tăng độ trễ nhằm đạt được sự dung hòa tốt nhất giữa độ trễ, công suất và chất lượng âm thanh. Khi bật âm thanh không gian và bật tính năng theo dõi đầu, chế độ có độ trễ thấp sẽ được chọn. Khi bật âm thanh không gian và tắt tính năng theo dõi đầu, chế độ độ trễ tự do sẽ được chọn. Điều chỉnh độ trễ giúp tiết kiệm năng lượng đáng kể và tăng độ bền của liên kết âm thanh Bluetooth khi chỉ yêu cầu âm thanh không gian tĩnh. Cơ chế điều chỉnh độ trễ phổ biến nhất là giảm hoặc mở rộng kích thước bộ đệm jitter trong tai nghe Bluetooth.