FLAC
FLAC és l'acrònim de Free Lossless Audio Codec (en català còdec d'àudio Lliure i Sense Pèrdues), que és com es coneix aquest format contenidor d'informació d'àudio, i també el còdec emprat per a codificar aquesta informació. El fet de ser un còdec sense pèrdues ve donat, ja que la informació sonora que s'emmagatzema dins d'aquest format és comprimida de tal manera que un cop decodificada no afecta per res a la qualitat sonora de l'àudio original. El desenvolupament i creació del FLAC es van dur a terme per Xiphophorus, actualment coneguda com a Xiph.org Foundation; altrament coneguda per projectes com ara el Vorbis, l'Icecast, Theora i d'altres. Visió generalEs pot considerar que el FLAC és un còdec d'àudio únic si es tenen en compte alguns aspectes, ja que el fet de ser sense pèrdues no és l'única cosa que el caracteritza; sinó això juntament amb la seva accessibilitat atès que és totalment no-propietari, no relacionat amb patents privades i de codi obert; és a dir, tota la documentació relacionada amb la seva implementació és totalment accessible per a tothom. Cal destacar també que és un format completament gratuït de fer servir. Totes aquestes característiques de facilitat d'accés i lliure distribució és el que està convertint el FLAC en un format atractiu per als desenvolupadors d'aplicacions i també en un dels formats i còdecs d'àudio sense pèrdues més estès i suportat tant per dispositius físics com per aplicacions de programari. El projecte FLACEl projecte d'on va sorgir el FLAC no només inclou el format en si, sinó diverses eines i documentació. Les parts principals que conformen el projecte són aquestes:
Característiques d'interèsS'expliquen algunes de les possibilitats que poden interessar als usuaris finals de FLAC, sobretot en l'àmbit professional i de consum, més que de cara al desenvolupament tècnic.
Programari útilSón inacabables les aplicacions que ens permeten treballar amb el format FLAC, se citen algunes de les més destacades en l'àmbit de la codificació, la descodificació(reproductors). Un fet a destacar és que no només són múltiples les aplicacions sinó que també són compatibles amb tota mena d'arquitectures. Linux (altres *NIX, Solaris...)
Windows
MAC OS X
Dispositius que el suporten
Característiques tècniquesFins avui i per molt que s'ha intentat no existeix cap algorisme de compressió que sigui capaç de comprimir informació de qualsevol tipus sense que hi hagi pèrdues. És per això que els algorismes de compressió se centren sobretot en un àmbit concret de treball, i és en aquest àmbit on sí és possible una compressió sense pèrdues. En el cas del FLAC i com és de suposar aquest àmbit és la informació d'àudio Això no vol dir que tota entrada d'àudio serà comprimida en una proporció alta; el FLAC és especialment eficient quant a compressió de l'original en determinats tipus d'àudio. Dins de l'àmbit de la informació d'àudio es poden trobar un ample ventall de sub-branques; podem estar tractant àudio de veu a baixa taxa de bits, àudio multicanal a alta taxa de bits… El FLAC aprofita el fet que dins de l'àudio és típic trobar-hi una alta correlació a nivell de mostra. Segons el tipus d'informació que tinguem seran els paràmetres de codificació els que ens permetin obtenir una compressió el més eficient possible. Arquitectura de la codificacióCom en la majoria de codificadors d'àudio, el procés de codificació emprant el FLAC passa per diferents fases:
La informació d'entrada és dividida en diversos blocs contigus, la mida d'aquests blocs pot variar, segons les nostres necessitats. No es pot determinar una mida estàndard òptima, ja que depèn de diversos factors. El codificador oficial empra una mida fixa de bloc tot i que val a dir que el FLAC ens permet tenir diferents mides de bloc dins d'un mateix flux o contenidor. La mida del bloc que acabem triant tindrà una repercussió directa sobre el nivell de compressió que obtindrem, d'aquesta manera si la mida és massa petita estarem molt possiblement desaprofitant bits a causa de les capçaleres de les trames, en canvi si ens excedim en la mida dels blocs és molt probable que dins d'aquests el senyal canviï tant que no puguem trobar un predictor efectiu. És per això que el còdec FLAC estableix una mida mínima i màxima de bloc(16 i 65535 respectivament); dins d'aquest marge s'arriba a la mida òptima per a qualsevol tipus de data.
Parlant del cas més habitual i fàcil d'entendre, l'àudio stereo, on hi ha dos canals separats que són dret i esquerre; el codificador podria optar per diverses opcions.
Habitualment els mètodes més eficients són els dos últims.
En aquesta fase es crea una aproximació matemàtica del senyal, sovint molt més petita que el senyal original. Els mètodes de predicció són coneguts tant pel codificador com pel seu invers posterior, d'aquesta manera dins la trama tan sols caldrà incloure-hi els paràmetres emprats, fet que redueix molt la mida de la informació codificada. Actualment el FLAC fa servir quatre tipus diferents de predictors tot i que en permet d'altres i fins i tot combinacions d'aquests entre diferents blocs.
En el cas que la descripció que ha fet el nostre predictor no sigui fidel a la dinàmica del nostre senyal original, la diferència entre aquestes dues ha de ser codificada de manera precisa, ja que sinó podrien esdevenir-se pèrdues. Com més efectiu sigui el nostre predictor en la seva tasca, menys bits necessitarem per a codificar el nostre error residual. Normalment s'empra un sol mètode per a aquesta tasca, de cara al còdec, però d'igual manera que en els tipus de predictor el format FLAC permet que s'utilitzin altres mètodes addicionals. També comparteix el fet de poder especificar diversos codificadors d'errors residuals en diferents blocs. Format del FLACLa informació dins dels contenidors FLAC es distribueix d'una determinada manera com en qualsevol tipus de format. El format actual reserva un determinat espai buit perquè les futures implementacions puguin emprar el mateix sense haver de ser modificat, adaptant així vells i nous formats. Tots els valors que s'empren dins del format FLAc són del tipus integer (enter), així doncs no trobarem cap nombre quantitzat en coma flotant. La codificació utilitzada és l'arquitectura big-endian i llevat que s'especifiqui, tots els nombres són codificants com a unsigned. Un flux d'informació FLAC conté al principi d'aquest una etiqueta amb el valor "fLaC", seguit d'un bloc de metadades que descriu les característiques més generals de la informació i a continuació una sèrie de blocs més que ens donen informació d'altres tipus. Finalment, després dels blocs de metadades hi trobem les trames d'àudio. Hi ha fins a 128 tipus de blocs de metadades suportats al FLAC dels quals actualment podem trobar:
Aquest és el primer dels blocs de metadades que es troba dins del format. S'hi troba informació sobre les característiques de tot el flux FLAC com la freqüència de mostreig, el nombre de canals, el nombre total de mostres...
L'utilitzen aplicacions externes a les oficials del FLAC i especifica què s'ha fet servir per a crear el flux. Cada aplicació té un identificador propi que proporcionen els encarregats de gestionar el FLAC.
La informació que conté aquest bloc no és útil i s'acostuma a omplir amb informació inútil per a poder editar-ne el contingut amb dades útils després. És a dir, es reserva un espai per a poder emplenar-lo posteriorment.
Ens permet indexar els continguts de les trames per una exploració instantània. Tan sols pot haver-hi una sola taula d'exploració però amb infinits punts dins d'aquesta. No és necessària per a l'exploració de les dades però si que en facilita la tasca i minimitza el retard que podria haver-hi.
S'hi inclou informació que pot ser llegida per l'usuari. Empra la codificació UTF-8.
Especialment útil per a emmagatzemar la informació de les llistes CUE que hi ha incloses als suports CD-DA. D'aquesta manera al passar un CD-DA a FLAC es manté aquests informació.
Aquest bloc es fa servir per associar normalment cobertes dels discs a les pistes codificades en FLAC. Taula comparativa de funcionalitatsMolt sovint un dels factos que més es tenen en compte a l'hora de triar el nostre còdec d'àudio és la compressió que aporta. Tanmateix, depenent de l'aplicació final i considerant els mitjans disponibles, no sempre el més convenient és la màxima compressió. En aquesta taula es demostra perquè el FLAC és una bona tria en molts dels casos, comparant-ne les funcionalitats més destacades amb les mateixes d'altres còdecs d'àudio sense pèrdues. Els que es descriuen a la taula són:
ReferènciesEnllaços externs |