Yüksek kaliteli uzamsal ses ve baş hareketini algılama özelliklerinin uygulanması

Android 13, uygulama geliştiricilerin telefon uygulaması, bağlı kulaklık ve kullanıcı ayarlarının mevcut kombinasyonunun çok kanallı ses içeriklerinin etkileyici bir şekilde oynatılmasına izin verip vermediğini öğrenmelerini sağlayan API'ler sunarak uzamsal ses desteği getiriyor.

OEM'ler, yeni ses ardışık düzen mimarisini ve sensör çerçevesi entegrasyonunu kullanarak gerekli performans ve gecikme düzeyinde baş takibi desteğiyle üç boyutlu ses efekti sağlayabilir. HID protokolü, Bluetooth üzerinden bir kafa izleme cihazının nasıl bağlanacağını ve Android sensör çerçevesi aracılığıyla HID cihazı olarak nasıl kullanılacağını belirtir. Diğer koşullar ve doğrulama için Uzamsal Ses ve Kafa Takibi başlıklı makaleyi inceleyin.

Bu sayfadaki yönergeler, Android 13 ve sonraki sürümleri çalıştıran bir Android telefon ile baş hareketini izleme sensörüne sahip uyumlu kulaklıklarla yeni üç boyutlu ses API'lerini ve ses mimarisini kullanan bir üç boyutlu ses çözümü için geçerlidir.

Dinamik ve statik üç boyutlu ses modlarının uygulanmasıyla ilgili yönergeler

Statik uzamsal ses için baş takibi gerekmez. Bu nedenle kulaklıkta belirli bir işlevsellik olması gerekmez. Tüm kablolu ve kablosuz kulaklıklar statik üç boyutlu ses özelliğini destekleyebilir.

API uygulaması

OEM'ler, Android 12'de kullanıma sunulan Spatializer sınıfını uygulamalıdır. Uygulama, CTS testlerini geçmelidir. Spatializer sınıfı için kullanıma sunulmuştur.

Güçlü bir API uygulaması, özellikle medya akışı hizmetleri olmak üzere uygulama geliştiricilerin ekosistem genelinde tutarlı davranışlardan yararlanabilmesini ve cihaz özelliklerine, mevcut oluşturma bağlamına ve kullanıcı tercihlerine göre en iyi içeriği seçebilmesini sağlar.

Kullanıcı arayüzü

Spatializer sınıfını uyguladıktan sonra kullanıcı arayüzünüzün aşağıdaki davranışa sahip olduğunu doğrulayın:

  • Üç boyutlu ses özellikli kulaklık eşleştirildiğinde, bu kulaklığın Bluetooth cihaz ayarlarında Üç Boyutlu Ses açma/kapatma düğmesi gösterilir:

    spatial-audio-ui

    Şekil 1. Üç boyutlu ses ayarı.

  • Ayarlar, kulaklığın bağlantısı kesildiğinde kullanılabilir.

  • Kulaklık ilk kez eşlendikten sonra üç boyutlu sesin varsayılan durumu etkin olarak ayarlanır.

  • Kullanıcının seçtiği durum (etkin veya devre dışı) telefon yeniden başlatıldığında ya da kulaklık eşleştirilip eşleştirilmesi kaldırıldığında değişmez.

İşlevsel davranış

Ses biçimleri

Üç boyutlu ses etkinleştirildiğinde ve oluşturma cihazı kablolu veya Bluetooth kulaklık olduğunda aşağıdaki ses biçimleri, üç boyutlu ses efektiyle oluşturulmalıdır:

  • AAC, 5.1 kanallı
  • Ham PCM, 5.1 kanallı

Daha iyi bir kullanıcı deneyimi için aşağıdaki biçimleri/kanal yapılandırmalarını desteklemenizi önemle tavsiye ederiz:

  • Dolby Digital Plus
  • 5.1.2, 7.1, 7.1.2, 7.1.4 kanalları

Stereo içerik oynatma

Üç boyutlu ses etkin olsa bile stereo içerikler, üç boyutlu ses efekti motoru aracılığıyla işlenmemelidir. Bir uygulama, stereo içeriklerin uzamsallaştırılmasına izin veriyorsa kullanıcının bu özelliği kolayca etkinleştirmesine veya devre dışı bırakmasına olanak tanıyan özel bir kullanıcı arayüzü sunmalıdır. Uzamsal ses etkinleştirildiğinde, kullanıcı ayarlarında herhangi bir değişiklik yapılmasına veya kulaklığın yeniden bağlanmasına ya da yeniden yapılandırılmasına gerek kalmadan uzamsallaştırılmış çok kanallı içeriklerin oynatılmasından uzamsallaştırılmamış stereo içeriklerin oynatılmasına geçiş yapılabilmelidir. Üç boyutlu ses içeriği ile stereo içerik arasındaki geçişte ses kesintisi en az düzeyde olmalıdır.

Kullanım alanı geçişleri ve eşzamanlılık

Özel kullanım alanlarını aşağıdaki gibi ele alın:

  • Bildirimler, her yönden gelen ses içeriğiyle aynı şekilde karıştırılmalıdır.
  • Zil seslerinin, üç boyutlu ses içeriğiyle karıştırılmasına izin verilmelidir. Ancak varsayılan olarak, ses odağı mekanizması zil sesi çaldığında üç boyutlu ses içeriğini duraklatır.
  • Telefon görüşmesi veya video konferans araması yanıtlarken ya da yaparken uzamsal ses oynatma duraklatılmalıdır. Arama sona erdiğinde her yönden gelen ses oynatma, aynı her yönden gelen ses ayarlarıyla devam etmelidir. Üç boyutlu ses modundan konuşma moduna geçmek için ses yolunun yeniden yapılandırılması, arama deneyimini etkilemeyecek kadar hızlı ve sorunsuz bir şekilde yapılmalıdır.

Hoparlörlerde ses oluşturma

Hoparlörlerde ses uzamsallaştırma veya transaural mod desteği gerekmez.

Baş takibi özelliğini uygulama yönergeleri

Bu bölümde, belirli kulaklık gereksinimleri olan dinamik üç boyutlu sese odaklanılmaktadır.

Kullanıcı arayüzü

Üç boyutlu ses özellikli kulaklığın uygulanması ve eşlenmesi üzerine, kullanıcı arayüzünüzün aşağıdaki davranışa sahip olduğunu doğrulayın:

  • Bluetooth cihaz ayarlarında, kulaklığın Üç Boyutlu Ses ayarı etkinleştirildiğinde Üç Boyutlu Ses'in altında Baş takibi ayarı görünür:

    ht-ui

    Şekil 2. Üç boyutlu ses ve baş hareketini izleme ayarı.

  • Uzamsal ses devre dışı bırakıldığında kafa hareketi izleme ayarı görünmez.

  • Kulaklık ilk kez eşlendikten sonra baş takibinin varsayılan durumu etkin olarak ayarlanır.

  • Kullanıcının seçtiği durum (etkin veya devre dışı) telefon yeniden başlatıldığında ya da kulaklık eşleştirilip eşleşmesi kaldırıldığında ve tekrar eşleştirildiğinde korunmalıdır.

İşlevsel davranış

Baş pozisyonu raporları

  • Başlığın Android cihaza gönderdiği, x, y ve z koordinatlarında baş duruşu bilgileri, kullanıcının baş hareketlerini hızlı ve doğru bir şekilde yansıtmalıdır.
  • Bluetooth bağlantısı üzerinden baş pozisyonu raporlaması, HID üzerinden tanımlanan protokole uygun olmalıdır.
  • Kulaklık, baş takibi bilgilerini Android telefona yalnızca kullanıcı Bluetooth cihaz ayarı kullanıcı arayüzünde Baş takibi'yi etkinleştirdiğinde göndermelidir.

Performans

Gecikme

Baş izleme gecikmesi, atalet ölçüm birimi (IMU) tarafından yakalanan baş hareketinden kulaklık dönüştürücülerinin bu hareketin neden olduğu ses değişikliğini algılamasına kadar geçen süre olarak tanımlanır. Kafa hareketi izleme gecikmesi 150 ms'yi geçmemelidir.

Baş duruşu raporlama sıklığı

Baş takibi etkin olduğunda, başlığın baş pozunu yaklaşık 20 ms'lik önerilen periyodik bir temelde bildirmesi gerekir. Bluetooth'un iletim titremesi sırasında telefonda eski giriş algılama mantığının tetiklenmesini önlemek için iki güncelleme arasındaki maksimum süre 40 ms'yi aşmamalıdır.

Güç optimizasyonu

Gücü optimize etmek için uygulamanın, Bluetooth codec değiştirme ve gecikme modu seçimi mekanizmalarını kullanmasını öneririz. Bu mekanizmalar, ses HAL ve Bluetooth ses HAL arayüzleri tarafından sağlanır.

Ses çerçevesi ve Bluetooth yığınının AOSP uygulamaları, codec değiştirme işlemini kontrol etmek için gereken sinyalleri zaten desteklemektedir. OEM'in uygulaması, Bluetooth ses için birincil ses HAL'ını kullanıyorsa (codec offload modu olarak bilinir) OEM, ses HAL'ının bu sinyalleri ses HAL'ı ile Bluetooth yığını arasında ilettiğinden emin olmalıdır.

Codec değiştirme

Dinamik üç boyutlu ses ve baş takibi açıkken Opus gibi düşük gecikmeli bir codec kullanın. Uzamsal olmayan ses içeriklerini oynatırken Advanced Audio Coding (AAC) gibi düşük güç tüketen bir codec kullanın.

Codec değiştirme sırasında aşağıdaki kurallara uyun:

  • Yalnızca aşağıdaki ses HAL çıkış akışlarındaki etkinliği izleyin:
    • Özel uzamsallaştırıcı çıkışı
    • Derin arabelleğe alma veya sıkıştırılmış yük aktarma gibi medyaya özel akışlar
  • İlgili tüm akışlar boşta olduğunda ve uzamsallaştırıcı akışı başladığında, düşük gecikmeli bir codec belirtmek için isLowLatency değerini true olarak ayarlayarak Bluetooth akışını başlatın.

  • İlgili tüm akışlar boşta olduğunda ve bir medya akışı başladığında, düşük güçlü bir codec belirtmek için isLowLatency değerini false olarak ayarlayarak Bluetooth akışını başlatın.

  • Bir medya akışı etkinse ve uzamsallaştırıcı akışı başlıyorsa isLowLatency ayarı true olarak ayarlanmış Bluetooth akışını yeniden başlatın.

Kulaklık tarafında, kulaklık hem düşük gecikmeli hem de düşük güç tüketen kod çözücüleri desteklemeli ve standart codec seçimi protokolünü uygulamalıdır.

Gecikme modu ayarı

Gecikme modu ayarı, düşük gecikmeli codec seçildiğinde yapılır.

Kafa takibi özelliğinin açık veya kapalı olmasına bağlı olarak, gecikme modu ayarlaması, gecikme, güç ve ses kalitesi arasında en iyi dengeyi sağlamak için gecikmeyi azaltmak veya artırmak üzere mevcut mekanizmaları kullanır. Üç boyutlu ses ve baş hareketini izleme etkinleştirildiğinde düşük gecikme modu seçilir. Uzamsal ses etkinleştirildiğinde ve baş takibi devre dışı bırakıldığında, gecikmesiz mod seçilir. Gecikme ayarı, yalnızca statik üç boyutlu ses istendiğinde önemli ölçüde güç tasarrufu ve Bluetooth ses bağlantısının daha sağlam olmasını sağlar. En yaygın gecikme ayarlama mekanizması, Bluetooth kulaklıktaki titreşim arabelleği boyutunun azaltılması veya genişletilmesidir.

LE Audio'da gecikme modu ayarlamaları için LE Audio üzerinden baş takibi başlıklı makaleyi inceleyin.