Yüksek kaliteli mekansal ses ve kafa takibinin uygulanması

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

OEM'ler, yeni ses hattı mimarisini ve sensör çerçevesi entegrasyonunu kullanarak gereken performans ve gecikme düzeyiyle kafa takibi desteğiyle mekansallaştırıcı bir ses efekti sağlayabilir. HID protokolü, bir kafa izleme cihazının Bluetooth üzerinden nasıl bağlanacağını ve bunun Android sensör çerçevesi aracılığıyla bir HID cihazı olarak nasıl kullanılabilir hale getirileceğini belirtir. Daha fazla gereksinim ve doğrulama için Uzamsal Ses ve Kafa Takibi'ne bakın.

Bu sayfadaki yönergeler, Android 13 ve sonraki sürümleri çalıştıran bir Android telefon ve kafa izleme sensörlü uyumlu kulaklıklarla yeni uzamsal ses API'lerini ve ses mimarisini benimseyen bir uzamsal ses çözümü için geçerlidir.

Dinamik ve statik uzaysal ses modlarının uygulanmasına yönelik yönergeler

Statik uzamsal ses, kafa takibini gerektirmediğinden kulaklıkta özel bir işlevselliğe gerek yoktur. Tüm kablolu ve kablosuz kulaklıklar statik uzaysal sesi destekleyebilir.

API uygulaması

OEM'lerin Android 12'de tanıtılan Spatializer sınıfını uygulaması ZORUNLUDUR. Uygulamanın, Spatializer sınıfı için tanıtılan CTS testlerini geçmesi gerekir.

Sağlam bir API uygulaması, uygulama geliştiricilerin, özellikle de medya akış hizmetlerinin, ekosistem genelinde tutarlı davranışa güvenebilmesini ve cihaz yeteneklerine, 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:

  • Uzamsal ses özellikli kulaklık eşleştirildiğinde, bu kulaklığın Bluetooth cihazı ayarlarında Uzamsal Ses geçişi görüntülenir:

    spatial-audio-ui

    Şekil 1. Uzamsal ses ayarı.

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

  • Kulaklığı ilk kez eşleştirdikten sonra uzaysal sesin varsayılan durumu etkin olarak ayarlanmıştır.

  • Kullanıcının seçtiği durum, ister etkin ister devre dışı olsun, telefonun yeniden başlatılmasına veya kulaklığın eşleşmesinin kaldırılmasına ve eşleştirilmesine devam eder.

Fonksiyonel davranış

Ses formatları

Uzamsal ses etkinleştirildiğinde ve işleme cihazı kablolu veya Bluetooth kulaklık olduğunda, aşağıdaki ses formatlarının uzamsallaştırıcı efektiyle OLUŞTURULMASI ZORUNLUDUR:

  • AAC, 5.1 kanal
  • Ham PCM, 5.1 kanal

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

  • Dolby Dijital Artı
  • 5.1.2, 7.1, 7.1.2, 7.1.4 kanalları

Stereo içerik oynatma

Uzamsal ses etkinleştirilse bile stereo içerik, uzamsallaştırıcı efekt motoru aracılığıyla oluşturulmamalıdır. Bir uygulama stereo içeriğin mekansallaştırılmasına 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. Uzamsal ses etkinleştirildiğinde, kullanıcı ayarlarında herhangi bir değişiklik veya kulaklığın yeniden bağlanması veya yeniden yapılandırılması gerekmeden, uzamsallaştırılmış çok kanallı içeriğin oynatılmasından uzamsallaştırılmamış stereo içeriğe geçişin mümkün olması gerekir. Uzamsal ses içeriği ile stereo içerik arasındaki geçiş, minimum ses kesintisi ile gerçekleşmelidir.

Durum geçişlerini ve eşzamanlılığı kullanın

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

  • Bildirimler, uzamsal olmayan ses içeriğiyle aynı şekilde uzamsal ses içeriğiyle karıştırılmalıdır.
  • Zil seslerinin mekansal ses içeriğiyle karıştırılmasına izin verilmelidir. Ancak varsayılan olarak ses odaklama mekanizması, zil sesi duyulduğunda uzamsal ses içeriğini duraklatır.
  • Bir telefon çağrısını veya video konferansı yanıtlarken veya yanıtlarken, uzamsal ses oynatımının duraklatılması gerekir. Arama sona erdiğinde uzaysal ses oynatımı aynı uzaysal ses ayarlarıyla devam etmelidir. Uzamsal ses modundan konuşma moduna geçiş için ses yolunun yeniden yapılandırılması, arama deneyimini etkilemeyecek kadar hızlı ve sorunsuz bir şekilde gerçekleşmelidir.

Hoparlörler üzerinden görüntü oluşturma

Hoparlörler üzerinden ses uzaysallaştırması veya transaural mod desteği gerekli değildir.

Kafa takibinin uygulanmasına yönelik yönergeler

Bu bölüm, belirli kulaklık gereksinimlerine sahip dinamik uzamsal sese odaklanmaktadır.

Kullanıcı arayüzü

Uzamsal ses özellikli kulaklığın uygulanması ve eşleştirilmesi ü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 Uzamsal Ses ayarı etkinleştirildiğinde, Uzamsal Ses altında bir Kafa izleme ayarı görünür:

    ht-ui

    Şekil 2. Uzamsal ses ve kafa izleme ayarı.

  • Uzamsal ses devre dışı bırakıldığında kafa izleme ayarı GÖRÜNMEZ.

  • Kulaklığı ilk kez eşleştirdikten sonra kafa izlemenin varsayılan durumu etkin olarak ayarlanmıştır.

  • Etkin veya devre dışı olsun, kullanıcının seçtiği durum, telefonun yeniden başlatılmasına veya kulaklığın eşleşmesinin kaldırılmasına ve eşleştirilmesine kadar devam etmelidir.

Fonksiyonel davranış

Baş poz raporlaması

  • Kulaklıktan Android cihaza gönderilen x, y ve z koordinatlarındaki kafa poz bilgisinin, kullanıcının kafa hareketlerini hızlı ve doğru bir şekilde yansıtması gerekiyor.
  • Bluetooth bağlantısı üzerinden baş pozu raporlaması, HID üzerinden tanımlanan protokolü takip etmelidir.
  • Kulaklıklı mikrofon setinin kafa izleme bilgilerini Android telefona yalnızca kullanıcı Bluetooth cihaz ayarı kullanıcı arayüzünde Kafa izlemeyi etkinleştirdiğinde göndermesi gerekir.

Verim

Gecikme

Kafa izleme gecikmesi, ataletsel ölçüm birimi (IMU) tarafından yakalanan kafa hareketi ile kulaklık dönüştürücülerinin bu hareketin neden olduğu ses değişikliğini algılaması arasında geçen süre olarak tanımlanır. Kafa izleme gecikmesi 150 ms'yi aşmamalıdır.

Baş pozu raporlama oranı

Kafa takibi etkinken, kulaklığın kafa pozunu önerilen yaklaşık 20 ms'lik periyodik aralıklarla raporlaması gerekir. Bluetooth'un iletim titreşimi sırasında telefondaki 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, ses HAL ve Bluetooth ses HAL arayüzleri tarafından sağlanan Bluetooth codec değiştirme ve gecikme modu seçim mekanizmalarını kullanmasını öneririz.

Ses çerçevesinin ve Bluetooth yığınının AOSP uygulamaları, codec değiştirmeyi kontrol etmeye yönelik sinyalleri zaten desteklemektedir. OEM'in uygulaması Bluetooth ses için codec boşaltma modu olarak bilinen birincil ses HAL'sini kullanıyorsa, OEM, ses HAL'inin bu sinyalleri ses HAL ile Bluetooth yığını arasında aktardığından emin olmalıdır.

Codec değiştirme

Dinamik uzamsal ses ve kafa izleme açıkken Opus gibi düşük gecikmeli bir codec bileşeni kullanın. Uzamsal olmayan ses içeriğini oynatırken Gelişmiş Ses Kodlaması (AAC) gibi düşük güçlü bir codec bileşeni kullanın.

Codec geçişi sırasında şu kuralları izleyin:

  • Yalnızca aşağıdaki ses HAL çıkış akışlarındaki etkinliği izleyin:
    • Özel mekansallaştırıcı çıktısı
    • Derin arabellek veya sıkıştırılmış yük aktarımı oynatma gibi medyaya özgü akışlar

Kulaklık tarafında, kulaklığın hem düşük gecikmeli hem de düşük güçlü kod çözücüleri desteklemesi ve standart codec seçim protokolünü uygulaması gerekir.

Gecikme modu ayarı

Gecikme modu ayarı, düşük gecikmeli kodlayıcı seçildiğinde gerçekleşir.

Kafa takibinin açık veya kapalı olmasına bağlı olarak gecikme modu ayarı, gecikme, güç ve ses kalitesi arasında en iyi uzlaşmaya ulaşmak amacıyla gecikmeyi azaltmak veya artırmak için mevcut mekanizmaları kullanır. Uzamsal ses etkinleştirildiğinde ve kafa takibi etkinleştirildiğinde düşük gecikmeli mod seçilir. Uzamsal ses etkinleştirildiğinde ve kafa takibi devre dışı bırakıldığında serbest gecikme modu seçilir. Gecikme ayarı, yalnızca statik uzaysal ses istendiğinde önemli ölçüde güç tasarrufu ve Bluetooth ses bağlantısının daha fazla sağlamlığını sağlar. En yaygın gecikme ayarlama mekanizması, Bluetooth kulaklıktaki titreşim arabelleği boyutunun azaltılması veya uzatılmasıdır.