Örnek oranı dönüştürme

Bu makalede, Android'de yeniden örnekleme olarak da bilinen örnekleme hızı dönüşümü açıklanmaktadır. Örnekleme hızı dönüşümüyle ilgili terminoloji için bkz. Terminoloji .

Örnekleme hızı dönüşümü, ayrık örneklerin akışını bir örnekleme hızından farklı bir örnekleme hızında başka bir akışa değiştirme işlemidir. Örnekleme hızı dönüştürücü veya yeniden örnekleyici, örnekleme hızı dönüştürmeyi uygulayan bir modüldür. Yeniden örnekleyiciye göre, orijinal akışa kaynak sinyali adı verilir ve yeniden örneklenen akışa havuz sinyali denir.

Yeniden örnekleyiciler Android'de çeşitli yerlerde kullanılır. Örneğin, bir MP3 dosyası 44,1 kHz örnek hızında kodlanmış olabilir ancak dahili olarak 48 kHz sesi destekleyen bir Android cihazda oynatılması gerekir. Bu durumda, MP3 çıkış sesini 44,1 kHz kaynak örnek hızından Android cihazında kullanılan 48 kHz alıcı örnekleme hızına yükseltmek için bir yeniden örnekleyici kullanılacaktır.

Bir yeniden örnekleyicinin özellikleri aşağıdakileri içeren ölçümler kullanılarak ifade edilebilir:

  • sinyalin genel genliğinin korunma derecesi
  • Havuz örnekleme hızı sınırlamalarına bağlı olarak sinyalin frekans bant genişliğinin korunma derecesi
  • yeniden örnekleyici aracılığıyla genel gecikme süresi
  • frekansa göre tutarlı faz ve grup gecikmesi
  • CPU döngüleri veya güç tüketimiyle ifade edilen hesaplama karmaşıklığı
  • Kaynak ve havuz numune oranlarının izin verilen oranları
  • Örnekleme hızı oranlarını dinamik olarak değiştirme yeteneği
  • hangi dijital ses örnek formatları desteklenir

İdeal yeniden örnekleyici, kaynak sinyalinin genliğini ve frekans bant genişliğini tam olarak koruyacaktır (havuz örnekleme hızının sınırlamalarına tabi olarak), minimum ve tutarlı gecikmeye sahip olacak, minimum hesaplama karmaşıklığına sahip olacak, rastgele ve dinamik dönüştürme oranlarına izin verecek ve tüm yaygın dijital ses örnek formatlarını destekleyecektir. . Pratikte ideal yeniden örnekleyiciler mevcut değildir, çünkü gerçek yeniden örnekleyiciler bu özellikler arasında bir uzlaşmadır. Örneğin, ideal kalitenin hedefleri kısa gecikme ve düşük karmaşıklık ile çelişir.

Android çeşitli ses yeniden örnekleyiciler içerir; böylece uygulamanın kullanım durumuna ve yüküne bağlı olarak uygun uzlaşmalar yapılabilir. Kullanılabilir yeniden örnekleyiciler Resampler uygulamasında açıklanmaktadır.

Yeniden örnekleyici uygulamaları

Mevcut yeniden örnekleyici uygulamaları sık sık değişir ve OEM'ler tarafından özelleştirilebilir. Varsayılan yeniden örnekleyiciler, azalan sinyal bozulması ve artan hesaplama karmaşıklığı sırasına göre şunları içerir:

  • doğrusal
  • kübik
  • orijinal katsayılar olduğundan
  • revize edilmiş katsayılar olduğundan

Genel olarak, sinc yeniden örnekleyiciler daha yüksek kaliteli müzik çalma için daha uygundur ve diğer yeniden örnekleyiciler, kalitenin daha az önemli olduğu durumlar için ayrılmalıdır (örneğin, "tuş tıklamaları" veya benzeri olabilir).

Seçilen belirli yeniden örnekleyici uygulaması kullanım durumuna, yüke ve af.resampler.quality sistem özelliğinin değerine bağlıdır. Ayrıntılar için AudioFlinger'daki ses yeniden örnekleyici kaynak koduna bakın.