U-kanunu algoritması

μ-kanunu algoritması (bazen mu -kanunu olarak yazılır, genellikle u-kanunu olarak yaklaşılır ), öncelikle Kuzey Amerika ve Japonya'daki 8 bitlik PCM dijital telekomünikasyon sistemlerinde kullanılan bir sıkıştırma algoritmasıdır. ITU-T'nin G.711 standardında yer alan iki sıkıştırma algoritmasından biridir, zaten diğeri ise benzer A kanunudur . A-kanunu, Avrupa gibi dijital telekomünikasyon sinyallerinin E-1 devreleri üzerinde taşındığı bölgelerde kullanılmaktadır.

G711 μ-yasası için PCMU, G711u veya G711MU terimleri kullanılmaktadır.[1]

Sıkıştırma algoritmaları bir ses sinyalinin dinamik aralığını azaltır. Analog sistemlerde bu, iletim sırasında elde edilen sinyal-gürültü oranını (SNR) artırabilir; dijital alanda niceleme hatasını azaltabilir (böylece sinyal-niceleme-gürültü oranını artırabilir). Bu SNR artışları, eşdeğer SNR için azaltılmış bant genişliği ile takas edilebilir.

Azaltılmış tepe SNR pahasına, μ-yasasının doğrusal olmayan kuantizasyonunun dinamik aralığı 33 dB kadar etkili bir şekilde arttırdığı matematiksel olarak gösterilebilir. İşte bu yüzden 8bit ulaw şuna karşılık gelir: 14bit doğrusal pcm.[2]

μ-kanunu algoritması analog formda ve nicelenmiş dijital formda tanımlanabilir.

Belirli bir x girişi için μ-kanunu kodlama denklemi [3]



F
(
x
)
=
sgn
⁡
(
x
)




ln
⁡
(
1
+
μ

|

x

|

)


ln
⁡
(
1
+
μ
)




,

−
1
≤
x
≤
1
,


{\displaystyle F(x)=\operatorname {sgn}(x){\dfrac {\ln(1+\mu |x|)}{\ln(1+\mu )}},\quad -1\leq x\leq 1,}

burada Kuzey Amerika ve Japon standartlarında μ = 255 olup, sgn(x) işaret fonksiyonudur . Bu fonksiyonun aralığının -1 ile 1 arasında olduğuna dikkat etmek önemlidir.

μ-yasası açılımı daha sonra ters denklemle verilir:[3]




F

−
1


(
y
)
=
sgn
⁡
(
y
)




(
1
+
μ

)


|

y

|



−
1

μ



,

−
1
≤
y
≤
1.


{\displaystyle F^{-1}(y)=\operatorname {sgn}(y){\dfrac {(1+\mu )^{|y|}-1}{\mu }},\quad -1\leq y\leq 1.}

G.711, bir aralığın sınırındaki değerlerin nasıl kodlanacağı konusunda net değildir (örneğin +31'in 0xEF'ye mi yoksa 0xF0'a mı kodlanacağı).[kaynak belirtilmeli]  Ancak G.191, μ-yasası kodlayıcı için C dilinde örnek kod sağlar.[4] Pozitif ve negatif aralıklar arasındaki fark, örneğin +30 ila +1'e karşılık gelen negatif aralık, −31 ila −2'dir. Bu, kodlama sırasında negatif bir değeri pozitif bir değere dönüştürmek için 2'nin tamamlayıcısı yerine 1'lerin tamamlayıcısının (basit bit ters çevirme) kullanılmasıyla açıklanır.

μ-yasası algoritması çeşitli şekillerde uygulanabilir:

Konuşmanın geniş bir dinamik aralığa sahip olması nedeniyle μ-yasası kodlaması kullanılır. Analog sinyal iletiminde, nispeten sabit arka plan gürültüsünün varlığında, daha ince ayrıntılar kaybolur. Detayın kesinliğinin zaten tehlikeye atıldığı göz önüne alındığında ve sinyalin bir insan tarafından algılanacağı varsayıldığında, sinyali logaritmik bir sıkıştırma yöntemi kullanarak sıkıştırarak algılanan akustik yoğunluk seviyesinin veya ses yüksekliğinin logaritmik olması gerçeğinden yararlanılabilir. Telekomünikasyon devrelerinde gürültünün büyük bir kısmı hatlara enjekte edilir, dolayısıyla kompresörden sonra amaçlanan sinyal, sıkıştırılmamış bir kaynağa kıyasla statik sinyalden önemli ölçüde daha yüksek olarak algılanır. Bu ortak bir çözüm haline geldi ve böylece ortak dijital kullanımdan önce, birlikte çalışabilir bir standardı tanımlamak için μ-yasası spesifikasyonu geliştirildi.

Bu önceden var olan algoritma, dijital sistemlerde tanınabilir bir insan sesini kodlamak için gereken bit miktarını önemli ölçüde azaltma etkisine sahipti. Bir örnek, yaygın bilgisayarların çoğunun sembol boyutuna uygun bir şekilde eşleşen 8 bit kadar küçük bir μ-yasası kullanılarak etkili bir şekilde kodlanabiliyordu.

μ-yasası kodlaması, sinyalin dinamik aralığını etkili bir şekilde azalttı, böylece kodlama verimliliğini arttırırken sinyali, belirli sayıda bit için doğrusal kodlamayla elde edilenden daha büyük bir sinyal- bozulma oranıyla sonuçlanacak şekilde yönlendirir.

μ-law algoritması, Unix'te ses için fiili bir standart olarak yaygın olarak kullanılan /dev/audio arayüzü tarafından kullanılan yerel yöntem olarak en azından Sun Microsystems'in SPARCstation 1'ine kadar uzanan .au formatında da kullanılır. sistemler. Au formatı ayrıca Java 1.1'deki sun.audio Java paketindeki sınıflar ve bazı C# yöntemleri gibi çeşitli yaygın ses API'lerinde de kullanılır.

Bu çizim μ-yasasının örneklemeyi daha küçük (daha yumuşak) değerlerde nasıl yoğunlaştırdığını gösterir. Yatay eksen 0-255 bayt değerlerini temsil eder ve dikey eksen μ-yasa kodlamasının 16 bitlik doğrusal kodu çözülmüş değeridir.

μ-yasası algoritması, küçük sinyaller için daha kötü orantısal bozulmalar pahasına A-yasası'ndan biraz daha geniş bir dinamik aralık sağlar. Sözleşmeye göre, en az bir ülkenin kullanması durumunda uluslararası bağlantı için A kanunu kullanılır.

Şablon:Compression Methods