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

Android 13, uygulama geliştiricilerin mevcut telefon uygulaması, bağlı kulaklık ve kullanıcı ayarlarının, çok kanallı ses içeriğinin sürükleyici bir şekilde oynatılmasına izin verip vermediğini keşfetmelerine olanak tanıyan API'ler sağlayarak uzamsal ses desteğini kullanıma sunar.

OEM'ler, yeni ses ardışık düzeni mimarisini ve sensör çerçevesi entegrasyonunu kullanarak gereken performans ve gecikme seviyesinde baş takibi desteğiyle mekansallaştırıcı ses efekti sağlayabilir. HID protokolü, bir kafa hareketi izleme cihazının Bluetooth üzerinden nasıl bağlanacağını ve Android sensör çerçevesi aracılığıyla HID cihaz olarak nasıl kullanılacağını belirtir. Daha fazla şart ve doğrulama için Uzamsal Ses ve Baş İzleme bölümüne bakın.

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

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

Statik üç boyutlu ses için baş hareketi izlemeye gerek yoktur. Bu nedenle, kulaklıkta belirli bir işlev gerekli değildir. Tüm kablolu ve kablosuz kulaklıklar statik üç boyutlu sesi destekleyebilir.

API uygulaması

OEM'ler, Android 12'de kullanıma sunulan Spatializer sınıfını UYGULAMALIDIR. Uygulama, Spatializer sınıfı için sunulan CTS testlerini geçmelidir.

Güçlü bir API uygulaması, özellikle medya akış hizmetleri olmak üzere uygulama geliştiricilerin ekosistem genelinde tutarlı bir davranışa dayanmasını ve cihaz özelliklerine, mevcut oluşturma bağlamına ve kullanıcı tercihlerine göre en iyi içeriği seçmesini 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 mikrofonlu kulaklık eşlendiğinde bu mikrofonlu kulaklığın Bluetooth cihaz ayarlarında bir Üç Boyutlu Ses açma/kapatma düğmesi görüntülenir:

    spatial-audio-ui

    Şekil 1. Üç boyutlu ses ayarı.

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

  • Mikrofonlu kulaklık ilk kez eşlendikten sonra üç boyutlu ses için varsayılan durum etkin olarak ayarlanır.

  • Kullanıcı tarafından seçilen etkin veya devre dışı durum, telefon yeniden başlatıldığında veya kulaklığın eşlemesi kaldırılıp tekrar eşlendiğinde korunur.

İş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 EFEKTİYLE OLUŞTURULMALIDIR:

  • AAC, 5.1 kanal
  • Ham PCM, 5.1 kanal

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 kanal

Stereo içerik oynatma

Üç boyutlu ses etkinleştirilmiş olsa bile stereo içerikler, üç boyutlu ses motoru aracılığıyla oluşturulmamalıdır. Bir uygulama stereo içerik uzamsallaştırmaya izin veriyorsa kullanıcının bu özelliği kolayca açıp kapatmasına olanak tanıyan özel bir kullanıcı arayüzü sunmalıdır. Üç boyutlu ses etkinleştirildiğinde, kullanıcı ayarlarında herhangi bir değişiklik veya mikrofonlu kulaklıkların yeniden bağlanması ya da yeniden yapılandırılmasına gerek kalmadan uzamsal çok kanallı içerik oynatma ve uzamsal olmayan stereo içeriğe geçiş yapabilmelidir. Üç boyutlu ses içeriği ile stereo içerik arasında geçiş, ses kesintisi en aza indirilecek şekilde yapılmalıdır.

Kullanım alanı geçişlerini ve eşzamanlılığı kullanma

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

  • Bildirimler, her yönden gelen ses içeriğiyle aynı şekilde her yönden gelen ses içeriğiyle karıştırılmalıdır.
  • Zil seslerinin üç boyutlu ses içeriğiyle karıştırılmasına izin verilmelidir. Ancak ses odak mekanizması, varsayılan olarak zil sesi geldiğinde üç boyutlu ses içeriğini duraklatır.
  • Telefon araması veya görüntülü konferansı yanıtlarken ya da başlatırken uzamsal ses oynatma duraklatılmalıdır. Arama sona erdiğinde, Üç Boyutlu Ses oynatma aynı Üç Boyutlu 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örler üzerinden oluşturma

Hoparlörler üzerinden ses üç boyutlulaştırma veya transaural mod desteği gerekli değildir.

Kafa hareketi izleme özelliğinin uygulanmasıyla ilgili kurallar

Bu bölümde, belirli kulaklık koşullarına sahip dinamik üç boyutlu ses ele alınmaktadır.

Kullanıcı arayüzü

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

  • Bluetooth cihaz ayarlarında, kulaklık için Üç Boyutlu Ses ayarı etkinleştirildiğinde Üç Boyutlu Ses altında bir Kafa hareketi izleme ayarı görünür:

    ht-ui

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

  • Üç boyutlu ses devre dışı bırakıldığında baş izleme ayarı görülemez.

  • Mikrofonlu kulaklığı ilk kez eşledikten sonra kafa hareketi izlemenin varsayılan durumu etkin olarak ayarlanır.

  • Kullanıcının etkin veya devre dışı olarak seçtiği durum, telefonun yeniden başlatılması ya da kulaklığın eşlemesinin kaldırılıp tekrar eşlenmesi durumunda değişmemelidir.

İşlevsel davranış

Baş pozu raporlama

  • Başlık duruşu bilgileri, başlıktan Android cihaza gönderilen, x, y ve z koordinatları halinde kullanıcının baş hareketlerini hızlı ve doğru bir şekilde yansıtmalıdır.
  • Bluetooth bağlantısı üzerinden başlık duruşu raporlaması, HID üzerinde tanımlanan protokole uygun olmalıdır.
  • Mikrofonlu kulaklık, baş izleme bilgilerini Android telefona yalnızca kullanıcı, Bluetooth cihaz ayarı kullanıcı arayüzünde Kafa hareketi izleme özelliğini etkinleştirdiğinde göndermelidir.

Performans

Yanıt gecikti

Baş takibi gecikmesi, eylemsel ölçüm birimi (IMU) tarafından yakalanan kafa hareketinden, kulaklık dönüştürücülerin 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 aşmamalıdır.

Baş duruşu raporlama oranı

Kafa takibi etkinken kulaklık, kafa duruşunu yaklaşık 20 ms'lik önerilen periyodik bir şekilde bildirmelidir. Bluetooth'un aktarım gecikmesi 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 uygulamada ses HAL ve Bluetooth ses HAL arayüzleri tarafından sağlanan Bluetooth codec geçişi ve gecikme modu seçimi mekanizmalarının kullanılmasını öneririz.

Ses çerçevesinin ve Bluetooth yığınının AOSP uygulamaları, codec geçişini kontrol etmek için sinyalleri zaten destekliyor. OEM'nin uygulamasında Bluetooth ses için codec boşaltma modu olarak bilinen birincil ses HAL'si kullanılıyorsa OEM, ses HAL'nin bu sinyalleri ses HAL'si ve Bluetooth yığını arasında iletmesini sağlamalıdır.

Kodek değiştirme

Dinamik üç boyutlu ses ve baş hareketi izleme özelliği açıkken Opus gibi düşük gecikmeli bir codec kullanın. Mekansal olmayan ses içeriklerini oynatırken Gelişmiş Ses Kodlama (AAC) gibi düşük güçlü bir codec kullanın.

Kodek geçişi sırasında aşağıdaki kurallara uyun:

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

  • İlgili tüm yayınlar boştayken ve bir medya akışı başladığında, düşük güçlü bir codec belirtmek için isLowLatency false olarak ayarlanmış olarak Bluetooth akışını başlatın.

  • Etkin bir medya akışı varsa ve uzamsallaştırıcı akışı başlarsa isLowLatency true olarak ayarlanmış şekilde Bluetooth akışını yeniden başlatın.

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

Gecikme modu ayarı

Gecikme modu ayarı, düşük gecikme süresi kodeği seçildiğinde gerçekleşir.

Gecikme modu ayarı, kafa takibi açık veya kapalı olup olmadığına bağlı olarak gecikme, güç ve ses kalitesi arasında en iyi dengeyi sağlamak için gecikme süresini azaltmak veya artırmak üzere mevcut mekanizmaları kullanır. Üç boyutlu ses ve baş hareketini izleme etkinleştirildiğinde düşük gecikme modu seçilir. Üç boyutlu ses etkinleştirildiğinde ve kafa hareketi izleme devre dışı bırakıldığında gecikmesiz mod seçilir. Gecikme ayarı, yalnızca statik üç boyutlu ses istendiğinde önemli ölçüde güç tasarrufu sağlar ve Bluetooth ses bağlantısının sağlamlığını artırır. En yaygın gecikme ayarlama mekanizması, Bluetooth mikrofonlu kulaklıktaki ses dalgalanması arabelleği boyutunun azaltılması veya uzatılmasıdır.

LE Audio için gecikme modu ayarlamalarına LE Audio üzerinden kafa izleme başlıklı makaleden ulaşabilirsiniz.