Meridian Lossless Packing

De Viquipèdia
Dreceres ràpides: navegació, cerca

Meridian Lossless Packing (MLP) és un sistema de codificació d'àudio sense pèrdues que s'utilitza en sistemes d'alta qualitat d'àudio digital com el DVD-Audio. Les dades s'expressen originàriament en format PCM, les quals impliquen freqüències de mostreig elevades, paraules o mostres del senyal de molts bits i possiblement multicanals, cosa que crea la necessitat d'establir sistemes de compressió per tal d'emmagatzemar la informació més eficientment com ara el MLP.
Aquest sistema de compressió d'àudio és capaç de comprimir fins a 63 canals mostrejats a freqüències de fins a 192 kHz (freqüències pròpies de l'àmbit professional). A més, per tal de millorar la compatibilitat amb els equips d'àudio convecionals, els corrents de dades MPL estan jeràrquicament dissenyats per tal de facilitar l'accés a subcorrents de dades i poder-ne obtenir la informació desitjada a cada instant (si tenim un corrent de 5.1 i el volem reproduir en un sistema stereo no caldrà descodificar tot el corrent, només els subcorrent que contenen la informació stereo).
Gravació i reproducció a disc

Compressió sense pèrdues[modifica | modifica el codi]

L'àudio generalment conté força redundàncies i moltes vegades informació prescindible, en el sentit de: informació repetida o , si més no, informació instantània que ni el sistema auditiu humà és capaç de percebre per la seva naturalesa. En aquest sentit, podem assegurar que el la majoria dels casos el marge dinàmic disponible no s'utilitza cosa que fa pensar en la redistribució de pesos de les mostres obtingudes pel que fa el procés de quantització. Degut a la naturalesa de l'àudio digital enregistrat seria molt òptim poder disposar d'un bitrate variable, ja que en casos on no és necessària certa definició de la informació estaríem malgastant bits, la qual cosa comporta un sistema de compressió ineficient. Justament aquest concepte de bitrate variable és el que utilitza el sistema MPL optimitzant, així, la compressió de les dades sense perdren informació.
En aquesta figura es percep aquesta variabilitat de la taxa de bits emprada en la compressió d'un fragment de 30 s. d'àudio mostrejat a 96 kHz i 24 bits on la taxa original de bits era de 13824 Mbps:
Variabilitat de la taxa de bits
El sistema MPL utilitza les següents tècniques per maximitzar la compressió, sempre sense pèrdues:

  • Busca 'dead air', canals que no utilitzin tota la longitud de paraula.
  • Busca canals que no utilitzin tot l'ample de banda disponible.
  • Codifica eficientment la informació residual.
  • Suavitzant la informació codificada mitjançant 'buffering'.

Codificador MPL[modifica | modifica el codi]

Codificador MPL
Primerament realitza un mapejat dels canals entrants per tal de poder optimitzar els subcorrents de dades necessaris. Després es realitzen desplaçaments de la informació de canal per tal de recuperar la capacitat no utilitzada (p.e. mostres de menys de 24 bits) i un cop fet això, s'utilitza una tècnica matricial sense pèrdues que permetrà reduir les correlacions inter-canal. El senyal de cada canal es descorrela posteriorment mitjançant predictors canal, generalment filtres IIR. Més tard l'àudio descorrelat s'optimitza utilitzant codificació entròpica. Per tal de suavitzar la taxa de bits de sortida codificada cada subcorrent de dades obtingut es disposa en 'buffers' tipus FIFO i s'intercalen els múltiples subcorrents. Per tal de complir una correcta transmissió de les dades, el corrent s'empaqueta, ja sigui amb taxa de bits fixa o variable.

Tècnica matricial sense pèrdues[modifica | modifica el codi]

L'àudio multicanal generalment comparteix informació conjunta entre diferents canals, la qual cosa fa que la correlació entre canals moltes vegades sigui elevada i , tanmateix, la similitud entre ells també ho sigui. La matriu sense pèrdues que utilitza el codificador MPL justament redueix dites similituds entre canals, perquè tenir la informació dos cops quan la podem tenir un de sol i dir que està repetida aquí i allà en la mesura corresponent? Doncs bé, generalment la taxa de bits codificada es minimitza si reduïm les similituds entre canals la qual cosa interessa, i més si es tracta de fer-ho sense pèrdues.

Predicció sense pèrdues[modifica | modifica el codi]

En el cas que siguem capaços d'estimar els valor futurs del nostre senyal l'única informació que hauríem de transmetre seria el valor actual, la norma de predicció utilitzada i la diferència del valor futur respecte al present. Aquesta és la tasca del decorrelador de canal esmentat anteriorment i realitza dita tasca mitjançant filtres de predicció IIR normalment, ja que requereixen mol menys cost computacional que els de tipus FIR, tot i que el codificador té la possibilitat d'escollir entre ambdues opcions.
Comparació entre IIR i FIR

Codificació entròpica[modifica | modifica el codi]

Aquest tipus de codificació de dades fa referència a l'acte de quantització de mostres d'àudio digital. Tenint en compte la naturalesa de l'àudio pel que fa la seva amplitud en funció del temps, podem afirmar que la probabilitat d'ocurrència d'amplituds petites és elevada i la d'amplituds grans és petita. Així doncs, una quantització lineal seria ineficient i la codificació MLP opta per quantitzar les mostres de baixa amplitud amb menys resolució que no pas les d'alta. D'aquesta manera s'aconsegueix reduir la taxa de bits notablement sense exercir pèrdues sobre el senyal.

Contingut del corrent de dades MLP[modifica | modifica el codi]

Les dades estan codificades en blocs que contenen entre 40-160 mostres. Aquests blocs són empaquetats en paquets entre 640-2560 mostres. Val a dir que tant els blocs com els paquets contenen informació addicional per tal que el descodificador sàpiga descodificar-los correctament com ara, tipus de predicció utilitzada, informació del proveïdor, control d'errors, etc.

Annex[modifica | modifica el codi]

Taula
Per il·lustrar el contingut d'aquesta taula farem servir un exemple aclaridor. Si reduïm la taxa de bits en un pic d'àudio en 8 bit/mostra estem dient que un canal mostrejat a 96 kHz i 24 bits passarà a tenir 24-8=16 bits per mostra i aquest serà l'espai que ocuparà en disc. Així doncs, estimem l'espai que ocupa l'arxiu sencer tenint en compte que ocupa de mitja 11 bits/mostra (mitjana entre 9 i 13, veure taula).
Aquests alguns dels temps que serem capaços de reproduir l'àudio d'un DVD-Audio segons les configuracions que tinguem:

  • 5.1 canals 96kHz 24 bits: 100 minuts..
  • 6 canals 96kHz 24 bits: 86 minuts.
  • 2 canals 96kHz 24 bits: 4 hores.
  • 2 canals 192kHz 24 bits: 2 hores.
  • 2 canals 44.1kHz 16 bits: 12 hores.
  • 1 canals 44.1kHz 16 bits: 25 hores.