Vés al contingut

TTA (Còdec)

De Viki.cat
(S'ha redirigit des de: TTA)
True Audio Codec

TipusCòdec d'àudio
Versió estable3.4.1 / 26 de Juliol de 2007
LlicènciaGPL
Característiques tècniques
Sistema operatiuLinux,Mac OS, Windows
Equip
Desenvolupador(s)Alexander Djourik
Qualificacions

Més informació


True Audio Codec (TTA) és un còdec d'àudio simple sense pèrdues en temps real. Està basat en pronòstics de filtres adaptatius els quals han mostrat resultats satisfactoris comparats amb la majoria dels seus anàlegs moderns. TTA ofereix nivells de compressió elevats, mantenint la rapidesa d'operació.

Descripció

  • Algorismes de codificació i decodificació a temps real.
  • Fins a un 30% de compressió sense pèrdues.
  • Alta velocitat d'operació i requeriments mínims del sistema.
  • Compilat i executat en diferents sistemes operatius.
  • Codi i software lliures.
  • Suport hardware.


El còdec d'àudio TTA realitza una compressió multicanal de 8, 16 i 24 bits de dades d'arxius d'àudio WAV. Aquests còdecs sense pèrdues comprimeixen sobre un 2:1 o un 4:1. Més o menys 3 minuts d'àudio es pot comprimir en 18 MB. Segons el tipus de música que comprimim tindrem coeficients de compressió al voltant del 30%-70%. Permet l'emmagatzemament de fins a 20 Cd's d'àudio en un DVD-R (aprox. 4GB) mantenint la qualitat d'àudio original.

Format

El format de dades del True àudio còdec té una estructura senzilla.

Capçalera

El arxiu de capçalera conté l'identificador del format seguit de dos blocs de dades. El primer bloc conté les dades necessàries per recuperar el senyal original (nombre de canals, bits per mostra, etc...) i el segon bloc conté una taula de punters. Aquest bloc deu tenir el mateix nombre de punters que de mostres per trama. Cada punter utilitza 4 bytes i conté la longitud en bytes de la mostra a la que apunta. Cada bloc de dades acaba amb un CRC de 32 bits (Algorisme de control d'errors).

Les mostres comprimides de cada canal es guarden seqüencialment, tal i com es fa en el format PCM.

Trama

A continuació de la capçalera tenim la trama de dades:


La durada d'una mostra en TTA s'ha fixat en un segon aproximadament. Així doncs, cada trama en una seqüència té el mateix nombre de mostres, excepte l'última trama.

Teoria de Compressió

És difícil comprimir dades d'entrada arbitràries, com és el cas de l'àudio, sense tenir cap pèrdua. Per obtenir un alt nivell de compressió per dades d'àudio s'haurà d'utilitzar un algorisme on es compti amb les dades més característiques de l'arxiu de dades. El còdec TTA s'utilitza per a la compressió d'àudio sense pèrdues (còdecs sense pèrdues) de 8, 16 i 24 bits de dades multicanal que s'emmagatzemaran en arxius WAV .

Gairebé tots els compressors de dades sense pèrdues utilitzen variants del algorisme Lempel-Ziv. Però aquest no dóna bons resultats per a la compressió de dades multimèdia. En aquests tipus d'algorismes no es té en compte la gran dependència entre mostres veïnes que tenen els arxius d'àudio, també és difícil trobar mostres del senyal repetides en àudio i, per tant, la relació de compressió serà prou baixa. Així doncs, el que es fa per a dades multimèdia és afegir dues etapes preliminars: una etapa de decorrelació intra-canal i altra de pronòstic de modelació del senyal.

El compressor d'àudio TTA, com els compressors d'àudio sense pèrdues, inclou quatre etapes. Després de la descomposició per blocs, les dades passen a ser analitzades per la decorrelació entre canals. Un cop fet, les motres passen a l'etapa de predicció del senyal on s'ultilitzen mètodes lineals de predicció (LPC). A continuació, la diferència entre el senyal original i el senyal pronòstic es transfereix al codificador de l'entropia per eliminar redundàncies.


Descomposició del senyal per blocs

La mida òptima dels blocs depèn de l'algorisme escollit. Generalment, la reducció de la mida del bloc contribueix a augmentar la quantitat de trames capçalera, el que fa que es redueixi el nivell de compressió. Per a la compressió de dades d'àudio TTA s'utilitzen trames amb una durada aproximada de 1 segon.

Decorrelació intra- canal

Les dades d'entrada multicanal utilitzen la decorrelació intra-canal. Però, en què consisteix aquesta decorrelació? Per exemple, si tenim dos canals d'entrada aquestos es transformen en dos canals diferents: el canal diferència i el canal mitja. Aquests seguirien les següents fòrmules:

diferencia=primer-segon mitja= (primer+segon)/2

Però, per evitar pèrdues de dades, el TTA utilitza les següents fòrmules per a aquests nous canals:

diferencia=primer-segon mitja= (primer+diferencia)/2

Per a arxius d'àudio multicanal amb bona correlació entre canals veïns, aquest procediment ajuda a ampliar la taxa de compressió.

Pronòstic del senyal

El objectiu clau per modelar el compressor TTA és minimitzar la diferència entre el senyal obtenido del compressor i el senyal original (anomenat error o residu). El métode que s'ha utilitzat per construir el compressor és el que modela amb filtres adaptatius. Aquest mètode utilitza filtres IIR on els paràmetres van canviant durant els procés de treball segons les característiques del senyal. El TTA es diferència una mica del algorisme general d'aquest tipus de filtres. Té un primer nivell on s'utilitza un predictor de nivell zero, així el senyal error serà el següent:

e[n]=x[n]-k*x[n-1] on k es proper a 0

I l'etapa final de filtratge es composa d'un sistema de filtres d'ample de banda diferents segons les característiques del senyal. Aquesta tècnica és la més eficient per la precisió de predicció i la velocitat del procés.


Codificació entròpica

La codificació entròpica es fa servir per eliminar la redundància que pugui haver-hi en el senyal obtés e[n]. Aquest procés és important perquè ens permetrà comprimir les dades amb una major taxa. És important recalcar que, donat que estem en codificació sense pèrdues, no hi ha pèrdua d'informació en aquest procés.