12 - Compresia audio
Download
Report
Transcript 12 - Compresia audio
UNIVERSITY POLITEHNICA of BUCHAREST
DEPARTMENT OF COMPUTER SCIENCE
Conf. Dr. Ing. Costin-Anton Boiangiu
<[email protected]>
Cuprins
1. O scurta istorie: MPEG-1, MPEG-2, MPEG-4,
2.
3.
4.
5.
6.
7.
MEG-7
Descrierea standardului MPEG-1
Descrierea standardului MPEG-1 Nivelul 3 (MP3)
Descrierea standardului MPEG-2 AAC
Structura datelor in MPEG-1, MP3, MPEG-2 AAC
Apreciarea calitatii compresiei audio
Compresia prin modulatia diferentiala
O scurta istorie
Moving Pictures Expert Glkroup (MPEG, ca acronim)
este parte a organizatiei ISO (International Organization
for Standardization) si a dezoltat o serie de standarde
audio-video cunoscute ca
MPEG-1 (MPEG Phase 1) (IS 11172)
MPEG-2 (MPEG Phase 2)(IS 13818)
Acestea sunt primele standarde internationale in domeniul
compresiei audio numerice.
O scurta istorie
MPEG-1 acopera codarea surselor stereo la rate de
esantionare mari asigurand o calitate transparenta, in timp
ce MPEG-2 ofera in plus si codarea stereo la rate mici de
esantionare
De asemenea, MPEG-2 introducere tehnica de codare
multi-canal cu si fara compatibilitate cu MPEG-1 pentru a
asigura o imagine acustica imbunatatita numai pentru
aplicatiile audio si pentru sistemele de video–conferinte
MPEG-2 fara compatibilitate anterioara se numeste
MPEG-2 AAC (Advanced Audio Coding), ofera cea mai
mare rata de compresie
O scurta istorie
Aplicatiile tipice ce folosesc standardul MPEG sunt in productia
audio, emisiuni radio digitale, memorare digitala, si alte aplicatii
multimedia
MPEG nu standardizeaza codoarele sau decodoarele ci doar tipul de
informatie care trebuie produs de un codec compatibil MPEG
AAC = Advanced Audio Coding
PNS = Perceptial Noise Substitution
LTP = Long Term Prediction
TwinVQ = Transform-Domain Weighted INterleave VQ
Nr.
1
Tipul
MPEG-1
Anul
1992
Destinatie
Audio/Video Digital
Trasaturi specifice
Fs = 32 KHz, 44.1 KHz si 48 KHz.
2
MPEG-2
1994
Audio/Video Digital Televiziune
Codare multicanal;
Adauga FS=16 KHz, 22.05 KHz si 24 KHz.
3
MPEG-2-AAC
1997
4
MPEG-4
1999
5
MPEG-7
2001
AAC
Fs de la 8 KHz pana la 96 KHz;
Un numar de canale de la 1 la 48.
Codare bazata pe obiecte
Multimedia
PNS + LTP + TwinVQ
Se refera la eprezentarea continutului pentru scopuri de cautare a informatiei in
multimedia, filtrare, managemnt si procesare.
Audio multicanal
MPEG-1
MPEG-1 este numele primei faze a lucrului MPEG
Lucrul a inceput in 1988 si s-a incheiat in 1992 prin adoptarea
standardului IS 11172
Partea de codare audio (IS 11172-3) este proiectata sa raspunda
la multe aplicatii
MPEG-1 audio consta in trei moduri de operare, numite
straturi/niveluri:
nivelul 1
nivelul 2
nivelul 3 - are cea mai mare complexitate si a fost desemnat sa
asigure cea mai mare calitate la debite mici de informatie (128
Kb/s pentru un semnal tipic stereo)
Frecvente de esantionare: 32 KHz, 44.1 KHz si 48 KHz
MPEG-2
MPEG-2 denota a doua faza a dezvoltarii MPEG, prin
introducerea unor concepte noi in codarea video
Aplicatia de baza este cea a televiziunii digitale
Standardul original MPEG-2 (IS 13818-3) a fost finalizat
in 1994 si consta din doua extensii ale lui MPEG-1 audio:
codarea audio multicanal
se adauga frecvente de esantionare de 16 KHz, 22.05 KHz si 24
KHz.
cresterea eficientei codarii la debite de informatie mici
MPEG-2-AAC/MPEG-3
MPEG-2-AAC (Advanced Audio Coding)
AAC este o schema de codare de generatia a doua
Suporta frecvente de esantionare de la 8 KHz pana la 96 KHz si
un numar de canale de la 1 la 48
MPEG-3
Gandit initial pentru codarea video in aplicatii HDTV
Intrucat instrumentele dezvoltate pentru MPEG-2 au acoperit si
aria necesitatilor HDTV, planul de a dezvolta un standard special
MPEG-3 a fost anulat
Cateodata MPEG-nivelul 3 (sau MP3) este gresit referit ca fiind
MPEG-3
MPEG-4
Spre deosebire de primele doua standarde care se refera –
in principal – la eficienta compresiei, MPEG-4 se refera la
noi functionalitati:
terminal utilizator fixe si mobile
accesul bazelor de date, cumunicatii si servicii de tip
interactiv
MPEG-4 consta dintr-o familie de codare audio, pornind
de la codarea vorbirii cu debite mici (sub 2 Kbit/s) pana la
codari de inalte calitate de 64 Kbit/s pe canal
MPEG-4
Furnizeaza instrumente pentru codarea obiectelor audio,
naturale si artificiale
Permite reprezentarea sunetelor naturale (vorbire si
muzica) si sinteza sunetelor bazata pe descrieri structurate
Reprezentarea sunetului sintetizat poate fi obtinuta din
date de tip text sau din descrierea instrumentului si prin
codarea unor parametri pentru a obtine anumite efecte,
cum sunt reverberatia si spatialitatea
Reprezentarile furnizeaza compresie si alte facilitati, cum
sunt scalabilitatea si redarea in ordine inversa (play-back) la
difierite viteze
MPEG-7
MPEG-7 nu defineste algoritmi
Este un standard de reprezentare a continutului pentru
scopuri de cautare a informatiei in multimedia, filtrare,
management si procesare.
Furnizeaza:
descrieri standardizate si scheme de descriere a structurilor
audio si a continutului sunetului
un limbaj pentru a specifica astfel de descrieri si scheme de
descriere
Descrierea standardului MPEG-1 Audio
Straturile si modurile de operare
Standardul consta din trei niveluri/straturi, I, II, si III (Layer
I, II, and III) de complexitate, intarziere si calitate subiectiva
crescande
Din pdv al hardware-ului si software-ului, straturile
superioare contin mai multe blocuri
Straturile superioare contin blocurile straturilor inferioare la
care se adauga noi blocuri
Un decodor audio standard complet (full) MPEG-1 este
capabil sa decodeze toate cele trei straturi.
Descrierea standardului MPEG-1 Audio
Ierarhia straturilor standardului MPEG-1/Audio
Pentru aceeasi calitate a perceptiei, creste raportul de
compresie si scade debitul de informatie
Straturile I si II
Straturile MPEG I si II au structuri similare
Stratul II obtine performante mai bune, intrucat informatia
despre factorii de scalare este redusa prin exploatarea
redundantei dintre factorii de scalare
In plus, cuantizarea se face pe o scara mai fina
Codorul straturilor I si II codeaza intrarea digitala audio in
32 de subbenzi cu ajutorul unor filtre trece banda egal
distantate
Pentru maparea frecvetelor se foloseste o structura de filtru
special (polyfazic), fiecare avand 512 coeficienti
Structura codecului MPEG-1/audio (Straturile I si II)
Structura de baza
Primul pas este conversia semnalului audio in componente spectrale cu ajutorul unui
bank de filtre
Straturile I si II utilizeaza filtrebank de tip sub-banda, iar stratul II foloseste o
structura hibrida
Fiecare componenta spectrala este cuantizata si codata cu scopul de a mentine zgomotul
de cuantizare mai mic decat pragul de mascare
Numarul de biti pentru fiecare sub-banda si factor de scala este determinat pentru o
lungime de tip bloc
Fiecare bloc are 12 (in Stratul I) sau 36 (Straturile II si III) esantioane sub-banda
Numarul de biti de cuantizare este obtinut cu un algoritm de alocare dinamica
controlat de modelul psiho-acustic
Cuvintele de cod pentru sub-benzi, factorul de scala si bitii de alocatie sunt multiplexati
pentru a se obtine o secventa (sir) de biti, impreuna cu un antet (header) si cu o serie de
date optionale (auxiliare)(ancillary)
In decodor are loc filtru bank de sinteza reconstruieste blocul de 32 iesiri de esantioane
din sirul de biti demultiplexati
Structura de baza
Numarul
de nivele de cuantizare pentru fiecare
componenta spectrala se obtine dintr-o regula de alocare
dinamica a bitilor controlata de modelul pshiho-acustic
Procedura iterativa minimizeaza NMR in fiecare subbanda
Se porneste cu numarul de biti zero si cu un factor de
scalare zero
La fiecare pas al iteratiei, circuitul de cuantizare SNR(m),
numarul de niveluri este crescut pentru a produce cela mai
mare NMR la iesirea cuantizorului
Se folosesc tabele de corespondenta pentru estimarea
SNR(m) functie de m
Structura de baza
Blocul de compandare se utilizeaza in procesul de
cuantizare, astfel incat se formeaza blocuri de esantioane,
in care cel mai mare esantion are valoarea 1, acest lucru
fiind obtinut cu ajutorul factorului de scala
In stratul I, se formeaza blocuri de 12 esantioane scalate si
decimate in fiecare subbanda (stanga si dreapta)
La frecventa de esantionare de 48 KHz, cele 12 esantionae
pentru o subbanda corespund unui interval audio de 8 ms
Intrucat sunt 32 de blocuri, fiecare cu 12 esantioane, rezulta
32*12=384 esantioane audio
Exista cate un bit pentru fiecare bloc
Structura de baza
In stratul II, in fiecare sub-banda se foloseste un super-bloc de 36 de
esantioane, constituit din trei blocuri de 12 esantionae decimate
Super-blocul corespunde unui interval audio de 24 ms la 48 KHz
frecventa de esantionare
Exista un bit alocat pentru fiecare super-bloc cu cate 36 de esantioane
Cele 32 super-blocuri, fiecare cu 36 esantioane decimate reprezinta – toate
impreuna:
36*36=1152 esantioane audio
Ca si in stratul I, pentru fiecare bloc de 12 esantionae se calculeaza un factor
de scalare
Pentru transmiterea factorilor de scalare se foloseste o tehnica de
eliminare a redundantei, bazata pe marimea schimbarii factorilor de
scala, se transmite unul, doi sau toti trei factori de scala, impreuna cu o
informatie de 2 biti pentru selectia coeficientilor de scalare
Decodarea
Secventele
sub-benzilor sunt reconstruite pe baza
blocurilor cu 12 esantioane considerand factorul de scala
decodat si informatia de alocare a bitilor
Daca
o sub-banda nu are biti alocati, esantioanele
corespunzatoare acestei sub-benzi sunt considerate zero
La fiecare calcul a celor 32 sub-benzi se aplica unui fintru
bank de sinteza, si se obtin 32 esantioane audio in format
PCM fiecare pe 16 biti
In
comunicatiile bidirctionale si in sistemele de
inregistrare, filtrul bank poate fi utilizat in mod invers in
procesul de decodare
Descrierea stratului 3 al
standardului MPEG audio
Caracteristici
Flexibilitate
In vederea aplicarii unei largi palete de aplicatii si scenarii, MPEG defineste
reprezentari ale datelor incluzand un numar de optiuni
Mod de operare: MPEG-1 lucreaza pentru semnale mono dar si stereo
O tehnica numita codare stereo compusa (joint stereo coding) poate fi
utilizata pentru a coda mai eficient canalele stanga si dreapta ale semnalului
audio stereofonic
Nivelul 3 permite codarea duala mijloc/stereo si a intensitatii stereo.
Modurile de operare sunt:
un canal
canal dublu (doua canele independent, de exemplu continand informatie audio in 2
limbi diferite)
stereo
stereo compus
Caracteristici
Debitul informatiei (Bit-rate)
Alegerea ratei de bit este lasata, intre anumite limite, la
optiunea celui care implementeaza codorul MPEG audio
Pentru nivelul 3, standardul defineste un domeniu al
debitelor de la 8Kbit/s la 320 Kbit/s
Mai mult, decodorul pentru nivelul 3 trebuie sa suporte
schimbarea tarei de birt de la un cadru la altul
Caracteristici
Codorul
Codarea MPEG audio este lasata complet la latitudinea celui care
implementeaza standardul
Stratul III este comun pentru MPEG-1 si MPEG-2
Acest strat introduce structuri noi, asa cum se prezinta in figura
11, in particular un filtru bank comutat
In plus, se face o analiza prin sinteza, un control avansat al preecourilor, o cuantizare neuniforma si o codare entropica
O tehnica de memorare, denumita „bit reservoir” conduce la
micsorarea ratei de bit
Este singurul strat care furnizeaza suport pentru decodarea codarii
cu rata de bit variabila
Caracteristici
Filtru bank hibrid comutat
Pentru a obtine o rezolutie in frecventa imbunatatita, aproape de
partitia in benzi critice, cele 32 de semnale su-banda sunt divizate
in continuare prin aplicarea fiecarei sub-benzi, o MDCT in 6 sau
18 puncte, cu 50% suprapunere
Deci fereastra va contine, 12 respectiv 36 esantioane
Numarul maxim de componente din frecventa este 32*18=576,
fiecare reprezentand o banda de 24000/576 = 41.67 Hz
Transformarea bloc in 18 puncte se aplica pentru a furniza o
rezolutie imbunatatita, in timp ce transformarea bloc in 6 puncte
ofera o rezolutie mai buna in domeniul timp
Aceasta din urma se palica in cazul asteptarii unor pre-ecouri
Depinzand de natura pre-ecourilor asteptate, o parte sau toate
transformarile sunt schimbate
Structura blocului de compandare
Caracteristici
Cuantizare si codare
Esantionale iesirii MDCT sunt esantionate neuniform, furnizand astfel o
eroare-medie patratica mica si o mascare buna
„Rezervorul de biti” aigura ca bufferul decodorului nu este niciodata gol
sau depajit (under-flowand over-flow) cand se prezinta secventa de
siboluri binare, cu o rata constanta, la intrarea decodorului
Modelul perceptual fie utilizeaza un analizor (filtru-bank) separat sau
combina calculul valorilor energiilor si filtrul principal
Iesire modelului perceptual consta in valorile pragurilor de mascare
pentru fiecare partitie a codoruluil
In nivelul 3, partitiile codorului sunt echivalente – in mare – cu benzile
critice ale auzului uman
Daca zgomotul de cuantizare poate fi pastrat sub pragul de mascare
pentru fiecare partitie a codorului, atunci rezultatul compresiei trebuie sa
nu difere de semnalul original
Caracteristici
Cuantizarea este neliniara, astfel incat valorile mari sunt codate
automat mai putin precis
Valorile cuantizate sunt codate Huffman
Pentru adaptarea procesului de codare la diferite statistici ale
semnalului audio, tabela Huffman este selectata dintr-o
multime cu mai multe optiuni, astfel incat se pot folosi diferite
tabele Huffman pentru parti diferite ale spectrului
Procesul de cautare al castigului optim si a factorilor de scalare
pentru un bloc dat se face uzual prin doua bucle de iterative, ce
lucreaza in modul analiza-sinteza
o bulca interna
o bucla externa
Caracteristici
Bucla interna (bucla pentru rata de bit)
Tabela Huffman aloca cuvinte de cod scurte valorile
cuantizate ce apar cel mai des
Daca numarul de biti rezultati din operatia de codare
depaseste numarul de biti disponibili pentru a coda un bloc
de date, se poate corecta prin ajustarea castigului global
pentru a determina un pas de cuantizare mai mare,
obtinandu-se un numar mai mic de valori cuantizate
Bucla se numeste rate loop pentru ca modifica rata globala a
codorului pana cand este suficient de mica
Caracteristici
O bucla externa (bucla de control a zgomotului):
pentru obtinerea unui zgomot de cuantizare la un prag de mascare,
factorii de scala sunt aplicati la fiecare factor de scala al benzii
Sistemul pleaca cu un factor de scala unitial de 1.0 pentru fiecare banda
Daca zgomotul de cuantizare intr-o banda data depaseste pragul auditiei
(deci, zgomotul acceptabil) asa cum s-a furnizat de modelul perceptual,
factorul de scala pentru aceasta banda este ajustat pentru reducerea
zgomotului de cuantizare
Intrucat obtinerea unui zgomot de cuantizare mic necesita un numar
mare de pasi de cuantizare si – deci – o rata de bit mare, rata de ajustare
a buclei trebuie sa se repete de fiecare data cand se aplica noi factori de
scala
Bucla externa este executata pana cand zgomotul actual (calculat ca
diferenta intre valorile spectrului original si valorile spectrului
cuantizate) este mai mic decat pragul de mascare pentru fiecare factor de
scala al unei benzi
Descrierea standardului MPEG-2 AAC
AAC urmeaza aceasi structura ca si stratul 3
analizor de inalta rezolutie
cuantizare neuniforma
codare Huffman
bucle iterative cu analiza-sinteza
dar adaugao serie de detalii prin utilizarea unor noi
instrumente de codare pentru imbunatatirea calitatii la
debite mici de informatie
Structura MPEG-2 AAC
Structura MPEG-2 AAC
Imbunatatiri pentru cresterea eficientei codarii:
rezolutie in frecventa ridicata: numarul de frecvente in AAC
este pana la 1024 in comparatie cu 576 cat foloseste stratul 3
Predictie: se imbunatateste predictia in special pentru
semnalale ce contine componente armonice (semnale
sinusoidale)
Codare Huffman imbunatatita: codarea liniilor de frecventa
prin considerarea grupurilor de cate 4 linii spectrale, se
palica mai des
Structura MPEG-2 AAC
Imbunatatiri pentru cresterea calitatii audio:
in locul analizorului de tip banc de filtre hybrid (doua filtre in
casacada) se utilizeaza filtre cu MDCT cu impuls la raspuns de
5.3 ms la 48 KHz, fata de 18.6 ms cat are stratul III
Tehnica TNS (temporal Noise Shaping): se caluleaza anvelopa
zgomotului in doemniul frecventelor joase prin folosirea unei
predictii in domeniul frecventa
Este importanta la imbunatatirea calitatii vorbirii la debite mici de
informatie
Prin combinarea acestor tehnici se obtine aceeasi calitate a
vorbirii dar la un debit de informatie cu 70% mai mic decat al
startului III
Structura datelor (Frame) pentru
MPEG-1, straturile I si II
Strat I = 384 esantioane sub-banda; Strat II = 1152 esantioane subbanda
Pachete = 4-octeti pentru antet si 184 octeti pentru campul de date
Structura datelor (Frame) pentru
MPEG-1, straturile I si II
Fiecare cadru are un antet
prima parte contine 12 biti pentru sincronizare, 20 biti pentru
informatia despre sistem, si –optional – 16 biti pentru CRC
Partea a doua contine informatii despre structura, adica despre
alocarea bitilor si a factorilor de scalare (si, in Stratul II,
informatie pentru seelctia factorilor de scalare)
Ca informatie principala, cadrul transporta in total
32*12 esantioane ale sub-benzilor (corespunzator a 384
esantioane audio de intrare in format PCM – echivalent la 8 ms la
o rata de esantionare de 48 KHz) in stratul I
un total de 32*36 esantioane ale subbenzilor in stratul II
(corespunzand la 1152 PCM esantioane de intrare, echivalent cu
24 ms la o rata de 47 KHz)
Structura datelor (Frame) pentru
MPEG-1, straturile I si II
De retinut ca toate cadrele sunt autonome, in sensul ca
fiecare cadru contine toata informatia pentru decodificare
Deci fiecare cadru poate fi decodat in mod independent de
cadrele anterioare
Lungimea unui cadru nu este fixata intrucat:
a) lungimea campului principal de informatie, ce depinde de
rata bitilor si de frecventa de esantionare
b) informatia de structura, care variaza in stratul II
c) campul pentru informatia auxiliara, a carui lungime nu
este specificata
Structura datelor pentru MPEG-1, stratul III
MPEG-1 impune folosirea unui antet pentru fiecare cadru
(fiecare 24 ms la fs=48 KHz)
In principal contine:
un cuvant de sincronizare: spre deosebire de alte standarde,
cuvantul de sincronizare poate apare si in fluxul de date
De aceea, un circuit de sincronizare trebuie sa verifice aparitia a mai mult
de un cuvant de sincronizare si sa se resincronizeze daca nu gaseste
cuvinte de sincronizare aflate la offsetul corect data de frecventa de
esantionare si de debitul de informatie
Debitul de informatie: este specificat intotdeauna pentru intreg
fluxul de date si nu pe canal
In cazul stratului III rata de bit se poate schimba determinata de rata de
bit folosita la codare
Structura datelor pentru MPEG-1, stratul III
Frecventa
de esantionare: determina schimbarea frecventei de
esantionare
Stratul: se specifica numarul stratului: I, II sau III si daca este MPEG-1
sau MPEG-2
Modul de codare: se specifica modul de codare: mono, dual mono,
stereo sau stereo compus
Protectie la copiere: fiecare antet contine 2 biti pentru SCMS (Serial
Copy Management Scheme) pusa pentru protectia la copiere
Din cauza posibilitatii modificarii acestora pe cale soft, importanta practica
este redusa
Datorita repetitiei intregii informatii necesara decodarii in fiecare
cadru, fluxul de date MPEG-1/2 poate fi decodat incepand din orice
punct
Structura datelor pentru MPEG-2 AAC
In timp ce pentru MPEG-1 formatul de baza audio si
sintaxa transportului pentru sincronizare si pentru codarea
parametrilor este pastrat impreuna intr-un mod
nesaparabil, MPEG-2 AAC le defineste amandoua dara da
libertatea aplicatiei sa aleaga sintaxei transportului
Structura datelor pentru MPEG-2 AAC
Standardul defienste doua exemple de trasport a datelor audio:
ADIF (Audio Data Interchange Format) grupeaza toate datele
pentru controlul decodorului (cum este frecventa de esantionare,
modul, etc) intr-un singur antet ce precede fluxul de date audio
Aceasta optiune este utila pentru schimbul de fisiere (se schima numai
antetutul) dar nu permite segmentarea fluxului de date sau inceperea
decodarii in orice punct asa cum permite MPEG-1
ADTS (Audio Data Trasnport System): impacheteaza datele AAC
in cadre cu antete similare antetului folosit de MPEG-1
AAC este semnalizat/indicat ca stratul IV al standardului MPEG audio
Spre deosebire de startul III, rata cadrelor este variabila, continand
intotdeauna datele audio pentru un cadru complet intre doua cuvinte de
sincronizare
ADTS permite decodarea din orice punct al fluxului de date
Recapitulare
Prin utilizarea unui codor cu performante bune, ambele
standarde Startul III si MPEG-2 AAC pot comprima mesajele
audio cu mentinerea calitatii CD
Stratul III are o complexitate mai mica este cel mai folosit
AAC este considerat succesorul lui MP3 intrucat asigura o o
compresie mai buna
Initial „.mp3” a fost creat pentru a descrie stratul 3 al
standardului MPEG-1 in legatura cu software-ul pentru codorul
si decodorul sub windows
Dupa standardizarea lui MPEG-2, fisierele sunet codate cu
MPEG-2 la rate de esantionare reduse ale stratului III s-au numit
tot „mp3”
Uneori MP3 este gresit numit MPEG-3
Compresia vorbirii prin modulatia
diferentiala a impulsurilor in cod
La modulaţia impulsurilor în cod (MIC), fiecare eşantion era pus în
corespodenţă cu un cuvânt de simboluri binare de lungime n
In cazul vorbirii, se constată că eşantioanele succesive ale unui
semnal real sunt puternic corelate
Există o dependenţă a numărului Ni, cu care se exprimă eşantionul
curent, de numerele Ni-1, Ni-2, Ni-3 ,...., anterior exprimate
Evident, dependenţa scade pe măsura ce ne referim la eşantioanele mai
îndepărtate în timp
Existenţa dependenţei conduce la o redundanţă în transmisie, deoarece
nu toate simbolurile semnalului numeric vor conţine aceeasi informaţie
A apărut astfel ideea de a transmite nu valoarea absolutata a semnalului
actual şi valoarea relativă a acestuia faţă de eşantionul anterior
Acest lucru conduce la creşterea vitezei de transmisie prin emiterea a
mai puţine semnale, prin transmiterea numai a diferenţei dintre două
eşantioane
Compresia vorbirii prin modulatia
diferentiala a impulsurilor in cod
Dacă Dk este diferenţa dintre două eşantioane consecutive ale mesajului
m(t):
D(k) =m(kT)-m[(k-1)T]=mk - mk-1
unde T este perioada de eşantionare, valoarea medie patratică a diferenţei Dk
pe multimea esantioanelor este
E[ D 2 ]=E[ ( m k - m k-1 )2 ]=
k
E[ m 2 ]+E[ m 2 ]-2 E[ m k m k-1 ]=2 m 2 ( 1-c)
k
k-1
k
unde c=E[mk , mk-1] este corelaţia dintre două eşantioane consecutive, k şi k1
Compresia vorbirii prin modulatia
diferentiala a impulsurilor in cod
Dacă c>0,5 valoarea criteriului este mai mică decât valoarea
pătratică medie a eşantioanelor
Acest lucru înseamnă că diferenţa Dk se va putea cuantiza cu un număr
mai mic de cuante decât eşantionul propriu-zis, mk, adică pentru
transmiterea unei anumite cantităţi de informaţie va fi nevoie de un timp
mai scurt sau, echivalent, de o bandă de frecvenţă mai mică
Sistemul de transmisiune care lucrează după acest principiu se
numeşte sistem de transmisiune cu modulaţia diferenţială a
impulsurilor în cod
Modulaţia delta este versiunea de un bit a modulaţiei diferenţiale a
impulsurilor de cod
Realizarea unei codări mai simple dar cu păstrarea fidelităţii, a impus
creşterea corelaţiei dintre eşantioane prin mărirea frecvenţei de
eşantionare
Modulaţia delta uniformă
La acest tip de modulaţie, prin canal se transmite un singur bit
care poartă informaţia despre semnul diferenţei, deci despre
tendinţa pe care o are semnalul supus transmisiei.
La recepţie se va adăuga sau se va scade o cuantă din eşantionul
anterior reconstituit, după cum bitul recepţionat este 1 respectiv 0
Dacă cuanta este constantă, independentă de semnalul transmis,
vorbim despre o modulaţie delta uniformă
Dacă cuanta se poate modifica în funcţie de dinamica semnalului,
vorbim despre o modulaţie delta adaptivă
Introducerea unei variaţii în valoarea cuantei are scopul de a
reduce zgomotul care însoţeşte transmisia ca urmare a
cuantizării, deci îmbunătăţirea raportului semnal/zgomot de
cuantizare.
Modulaţia delta uniformă
Un sistem de transmisiune clasic cu modulaţie delta cu pas
fix se compune din:
modulator
canal de transmisiune
demodulator
Schema bloc a unui sistem cu
modulaţie delta cu pas fix
T este perioada de eşantionare, S&H circuit de eşantionare şi menţinere,
F()=filtru de ieşire, H()=circuit liniar şi C=comparator
Modulaţia delta uniformă
Semnalul analogic s(t) este transformat de modulator într-
un şir de simboluri binare cu ajutorul unui comparator ce
compară în mod continuu s(t) cu mesajul refăcut, decizia
comparatorului fiind eşantionată
Simbolurile binare, sub forma unor impulsuri negative şi
pozitive, se introduc într-un circuit liniar cu funcţia de
transfer H() care generează un semnal ce urmăreşte s(t)
Cel mai simplu circuit este un integrator
Modulaţia delta uniformă
Semnalul de intrare s(t), de banda limitată W, este eşantionat cu o frecvenţă fs>>2W.
La fiecare eşantion se calculează semnul diferenţei dintre eşantionul de intrare
curent s(k) şi ultima aproximaţie :
În funcţie de semnul acestei diferenţe se dă comanda de creştere sau de scădere a
eşantionului următor, cu o valoare numită cuantă de aproximare, conform relaţiei:
sˆ(k ) s(k 1) bk
În acest fel, semnalul de intrare s(t) este înlocuit cu un semnal care îl aproximează
cu o anumită precizie
Pe canal, se va transmite semnul diferenţei bk, din care la recepţie se poate reconstitui
semnalul s(t)
Distorsiunea de neurmărire şi de palier
Două tipuri de erori de cuantizare ce apar la modulaţia delta liniară:
eroare de neurmărire pe porţiunile rapid variabile ale semnalului s(t):
eroare de palier sau zgomot granular, sau de pauză, pe porţiunile lent
variabile ale semnalului
Viteza de variaţie a semnalului de intrare s(t) este ds(t)/dt, iar viteza
de variaţie a semnalului este fs
Pentru a nu avea erori de neurmărire este necesar ca:
ds( t )
fs
dt
Pentru un semnal dat, condiţia de mai sus poate fi îndeplinită fie prin
mărirea cuantei , fie prin mărirea frecvenţei de eşantionare fs
Distorsiunea de neurmărire şi de palier
Distorsiunea de neurmărire şi de palier
Mărirea frecvenţei de eşantionare fs, duce la creşterea lărgimii de
bandă necesară transmisiei, iar dacă aceasta este impusă, singura
posibilitate de reducere a erorilor de neurmărire va fi aceea de
mărire a cuantei
Zgomotul granular, care apare pe porţiunile lent variabile ale
semnalului, se datorează modului în care se aproximează, odată prin
lipsă, odată prin adaos, porţiunile relativ constante ale semnalului
Pentru reducerea acestui tip de zgomot ar fi de dorit ca mărimea
cuantei să fie cât mai mică
Deci, cele două tipuri de erori duc la cerinţe contradictorii cu privire
la mărimea cuantei
Această contradicţie nu se poate realiza în cadrul modulaţiei delta liniare
(uniforme), care lucrează cu cuantă constantă
S-au elaborat algoritmi noi de modificare a cuantei, în cadrul modulaţiei
delta adaptive
Schema bloc pentru modulaţia delta
uniformă
Modulaţia delta uniformă
Cuantizorul generează un semnal binar bk în funcţie de
diferenţa dintre eşantionul curent şi eşantionul anterior
reconstruit:
b k sign( x k x k 1)
Eşantionul actual reconstituit , se obţine printr-o sumare:
x k x k 1 b k
Blocul care sumează bk şi multiplică cu ar putea fi un
convertor numeric analogic
Cuantizorul ar putea fi realizat printr-un comparator de
tensiune căruia i se aplică xk şi x k 1
Modulaţia delta uniformă
Dacă cuanta este mare, se vor obţine erori de neurmărire mici
dar şi erori granulare mari
Dacă cuanta este mică, vom avea erori granulare mici dar erori
de neurmărire mai mari
situaţie de compromis, în urma căreia
semnal/zgomot este mimin, se obţine dacă se alege
O
raportul
f s
2
Δ optim= E ( x i - x i-1 ) ln
W
Modulaţia delta se utilizează în modulatoarele audio dar şi în
sistemele de reglare automată
Modulatia delta adaptiva
O îmbunătăţire importantă a calităţii semnalelor analogice
transmise prin modulaţia delta uniformă, se obţine prin
utilizarea modulaţiei delta adaptive, la care valoarea
cuantei nu mai este constantă, ci se modifică în funcţie de
panta semnalului de transmis
Principiul modulaţiei delta adaptive duce la micşorarea
ambelor tipuri de distorsiuni, de neurmărie şi de palier
Aproximarea prin modulatie delta
adaptiva a unui semnal analogic
semnal trapezoidal pentru transmis
semnalul refăcut local
simbolurile binare transmise pe canal
Modulatia delta adaptiva
Modulaţia delta adaptivă se bazeaza pe ideea modificării valorii
cuantei în funcţie de dinamica (panta) semnalului de intrare, astfel:
pe porţiunile rapid variabile ale semnalului, se utilizează cuante mari;
pe porţiunile lent variabile se utilizează cuante mici
Valorile cuantelor sint multipli ai unei valori de baza, ordinul de
multiplicitate determimindu-se din analiza sirului de decizii
anterioare
Astfel, calculul valorii cuantei se face dupa o funcţie liniară sau
neliniară, dependentă de:
polaritatea semnalelor transmise anterior (succesiunea de simboluri bk)
dimensiunea pasului anterior k-1
Modulatia delta adaptiva
Pentru calculul valorii cuantei la pasul k, este necesar să fie
inspectată o secvenţă de lungime minimă egală cu cel puţindoi
biţi ai ieşirii modulatorului
În cazul cel mai simplu, se compara ultimele două simboluri
transmise bk şi bk-1. Dacă bk=bk-1 înseamnă că avem neurmărire şi
cuanta trebuie crescută
În caz contrar avem o porţiune cu panta mică şi cuanta trebuie
scăzută
Algoritmii de modulaţie delta adaptivă se deosebesc după
modul în care realizează schimbarea cuantei
În general, aproximarea este performantă doar pentru anumite
tipuri de semnale, funcţie de viteza de variaţie a acestora
Algoritmul de modulaţie delta
adaptivă SONG
Dacă o este cuanta minimă, algoritmul Song de calcul a cuantei la
pasul k se formalizează astfel:
k 1 0 ,
k
k 1 0 ,
daca
daca
bk bk 1
bk bk 1
Regula de asociere:
b k sign( s( kT ) s(( k 1)T )
Pentru aceeaşi valoare a cuantei, faţă de modulaţia delta uniformă,
modulaţia adaptivă Song micşorează ambele tipuri de distorsiuni, de
neurmărire şi de palier
Distorsiunile de palier nu pot fi însă anulate din cauza valorii finite a
valorii iniţiale a cuantei
Exemplu pentru algoritmul Song
Algoritmul de modulaţie delta
adaptivă Jayant
Algoritmul de adaptare a cuantei este:
Δ k = Δ k-1 P sign[s((k 1 )T)-ˆs((k 2 )T)]*sign[s(kT)-ˆs((k 1 )T)]
În algoritmul Jayant, variaţia cuantei este dictată - în
principal - de factorul P
Din consideraţii statistice, se impune, pentru o largă clasă de
semnale analogice şi pentru a realiza o aproximaţie bună a
semnalului de intrare, ca factorul P să fie ales astfel:
1P2
Observaţie: În cazul p=1.5, relaţia de calcul a cuantei este:
Daca b k b k 1 k P
altfel k / P
Exemplu pentru algoritmul Jayant