FLAC
De Viquip??dia
Extensi?? de l'arxiu: | .flac |
---|---|
MIME: | audio/x-flac |
Desenvolupador | Xiph.org |
---|---|
??ltima versi?? | 1.2.1 (17 de setembre 2007) |
Tipus | c??dec d'??udio format d'??udio |
Llic??ncia | GNU General Public License. GPL BSD licenses. BSD |
P??gina web | flac.sourceforge.net |
FLAC ??s l'acr??nim de Free Lossless Audio Codec (c??dec d'??udio Lliure i Sense P??rdues), que es 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 duur a terme per Xiphophorus, actualment coneguda com Xiph.org Foundation; altrament coneguda per projectes com ara el Vorbis, l'Icecast, Theora i d'altres.
Taula de continguts |
[edita] Visi?? general
Es pot considerar que el FLAC ??s un c??dec d'??udio ??nic si es tenen en compte alguns aspectes ja que no ??s el fet de ser sense p??rdues l'??nica cosa que el caracteritza; sin?? aix?? juntament amb la seva accessibilitat donat 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, fet que a vegades no ??s t?? en compte. 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.
[edita] El projecte FLAC
El projecte d'on va sorgir el FLAC no nom??s inclou el format en s??, sin?? varies eines i documentaci??. Les parts principals que conformen el projecte s??n aquestes:
- El c??dec amb el qual es codifica la informaci?? d'??udio.
- El format contenidor on hi hauran les dades codificades amb FLAC.
- La llibreria libFLAC que defineix la codifcaci?? i decodificaci?? de les dades, aix?? com la manera amb que s'inclouen les metadades.Sota llic??ncia BSD.
- El grup de classes libFLAC++ que inclou les definicions de la llibreria libFLAC aix?? com les seves estructures i funcions. Sota llic??ncia BSD.
- El flac, una eina de l'ordre de comandes que serveix com a aplicaci?? per a implementar les llibreries libFLAC, permetent codificar i descodificar la informaci??. Sota llic??ncia GPL.
- El metaflac, una eina del mateix caire que el flac per?? que ens permet l'edici?? de les metadades dels contenidors .flac. Sota llic??ncia GPL.
- Un munt de plug-ins d'entrada per a varis reproductors i editors de pistes d'??udio(foobar2000,winamp,xmms...).
[edita] Caracter??stiques d'inter??s
S'expliquen algunes de les possibilitats que poden interessar als usuaris finals de FLAC, sobretot en l'??mbit professional i del consum, m??s que de cares al desenvolupament t??cnic.
- sense perdues: la codificaci?? que s'aplica no comporta cap p??rdua de qualitat vers la informaci?? que entra al codificador. Per a fer-ho cada trama de dades cont?? 16 bits de detecci?? d'errors (CRC). La informaci?? global codificaci?? tamb?? fa servir m??todes per assegurar la integritat del tot, incloent un espai per al MD5(de les dades sense codificar) a la cap??alera de l'arxiu per d'aquesta manera comprovar la semblan??a amb la ifnormaci?? descodificada.
- r??pid: la pot??ncia computacional que requereix en proc??s de descodificaci?? ??s molt menor a la del proc??s inversa. Aix?? doncs la descodificaci?? en temps real ??s molt m??s f??cil d'aconseguir fet que fa del FLAC una gran tria per a dispositius de maquinari descodificadors ja que no s'exigeix tanta pot??ncia.
- suport de maquinari: hi ha un ampli ventall de dispositius i electr??nica de consum com ara reproductors port??tils d'??udio o de sobretaula que suporten plenament els arxius codificats amb aquest c??dec.
- flexibilitat en les metadades: el sistema que gestiona les metadades al FLAC suporta els tags, l'associaci?? de cobertes d'??lbum, les taules d'indexaci?? del contingut, i llistes cue(cue sheet).
- explorable: l'exploraci?? del contingut ??s r??pida i arriba fins a nivell de mostra. Aquest fet el fa altament ??til per a la seva reproducci?? f??cil i lleugera per?? sobretot molt m??s adient per a tasques d'edici?? on l'exploraci?? del contingut ??s molt necess??ria i freq??ent.
- ???independ??ncia??? de trames: les trames FLAC no depenen de les seves anteriors per a poder ser descodificades i reprodu??des. ??s a dir, cadascuna de les trames en les que es divideix cont?? prou informaci?? com per ser descodificada per ella mateixa. Aix?? ho fa apte per a aplicacions en temps real(streaming).
- resistent a l'error: la possibilitat de que hi hagi un error ??s petita per?? possible; tanmateix; el fet de que la informaci?? es divideixi en trames fa que aquest error, que normalment afecta a una fracci?? de segon o de dimensions no molt majors, fa que aquest error no afecti m??s que a la trama en s??.
[edita] Programari ??til
S??n inacabables les aplicacions que ens permeten treballar amb el format FLAC, es 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.
[edita] Linux (altres *NIX, Solaris...)
- Codificaci??
- Descodificaci??
[edita] Windows
- Codificaci??
- Descodficaci??
- foobar2000.
- Quintessential Player.
- Renoise.
- Traktor 3.
- Winamp.
- Windows Media Player.
[edita] MAC OS X
- Codificaci??
- Toast Titanium
- xACT.
- MacFLAC.
- Descodificaci??
- Flac-Importer
- Cog.
- Play.
- xACT
- MacFLAC.
[edita] Dispositius que el suporten
- Microsoft Xbox
- Ipod
- iAudio.
- Squeezebox.
- Trekstor Vibez.
- Linn Klimax DS.
- Neuros OSD.
- Pioneer SC-LX90.
- Meizu M6.
- Rio Karma.
[edita] Caracter??stiques t??cniques
Fins a dia d'avui i per molt que s'ha inentat no existeix cap algoritme de compressi?? que sigui capa?? de comprimir informaci?? de qualsevol tipus sense que hi hagin p??rdues. ??s per aix?? que els algoritmes de compressi?? es centren sobretot en un ??mbit concret de treball, i ??s en aquest ??mbit on si ??s possible una compressi?? sense p??rdues. En el cas del FLAC i com ??s de suposar, aquest ??mbit ??s la informaci?? d'??udio, no vol dir aix?? 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'ambit de la informaci?? d'??udio es poden trobar un ampli 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.
[edita] Arquitectura de la codificaci??
Com en la majoria de codificadors d'??udio, el proc??s de codificaci?? emprant el FLAC passa per diferents fases:
- Blocking
La informaci?? d'entrada ??s dividida en varis 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 varis 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 fluxe o contenidor. La mida del bloc que acabem triant tindr?? una repercussi?? directe 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 la senyal canvii tant que no poguem 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.
- Interchannel Decorrelation(decorrelaci?? entre canals)
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 varies opcions.
-
-
- Independent: canal dret i esquerre s??n codificats independentment.
- Mid-side: es creen dues senyals, uns d'elles cont?? la mitja entre els dos canals i l'altra la difer??ncia vers aquesta mitja (esquerra menys dret).
- Left-side: el canal esquerra i el canal difer??ncia(dret) ser??n codificats.
- Right-side: el canal dret i canal difer??ncia(esquerra) seran codificats.
-
Habitualment els m??todes m??s eficients s??n els dos ??ltims.
- Prediction(Predicci??):
En aquesta fase es crea una aproximaci?? matem??tica de la senyal, sovint molt m??s petita que la 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 el format FLAC permet l'??s de m??s tipus. fins i tot de combinacions d'aquests entre diferents blocs.
- Residual Coding(codificaci?? residual):
En el cas que la descripci?? que ha fet el nostre predictor no sigui fidel a la din??mica de la nostra senyal original, la difer??ncia entre aquestes dues ha de ser codificada de manera precisa ja que sin?? podrien esdevenir-ne p??rdues. Quant 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 cares 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 varis codificadors d'errors residuals en diferents bloc
[edita] Format del FLAC
La informaci?? dins dels contenidors FLAC es distribueix d'una determinada com en qualsevol tipus de format. El format actual reserva un determinat espai buit per a que les futures implementacions puguin emprar el mateix format sense tenir que 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 a menys que s'especifiqui, tots els nombres son codificants de maner unsigned. Un fluxe 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 de la informaci?? m??s generals i despr??s d'aquest una s??rie de blocs m??s que ens donen informaci?? d'altre 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, actualment aquests s??n els que ens podem trobar:
- STREAMINFO
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, clars exemples en s??n la freq????ncia de mostreig, nombre de canals, nombre total de mostres...
- APPLICATION
L'utilitzen aplicacions externes a les oficials del FLAC, d'aquesta manera s'especifica qu?? s'ha fet servir per a crec el flux. Cada aplicaci?? t?? un identificador propi que et proporcionen els encarregats de gestionar el FLAC.
- PADDING
La informaci?? que cont?? aquest bloc no ??s ??til; normalment es deixa aquest espai ple d'informaci?? in??til per a poder despr??s editar-ne el contingut amb dades ??tils; ??s a dir, es reserva un espai per a poder emplenar-lo posteriorment.
- SEEKTABLE
Ens permet indexar els continguts de les trames per uan instant??nia exploraci??. 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 en minimitza el retard que podria haver-hi.
- VORBIS_COMMENT
S'hi inclou informaci?? que pot ser llegida per l'usuari, empra la codificaci?? UTF-8.
- CUESHEET
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??.
- PICTURE
Aquest bloc es fa servir per associar normalment cobertes dels discs a les pistes codificades en FLAC.
[edita] Taula comparativa de funcionalitats
Molt 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 ens aporta; tanmateix, depenent de la nostra aplicaci?? final i si es consideren els medis dels que disposa l'usuari no sempre ens conv?? el m??s r??pid ni el m??s compressor. 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:
C??dec | Cod | Decod | Comp | Flexibilitat | Robust error | Exp | Tagging | Dispositius | Programari | H??brid/Amb p??rdues | Streaming | Codi Obert | Multi- canal |
Alta ressoluci?? | SO |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Wavpack | Molt r??pid |
Molt r??pid | 58% | Molt bona | Si | Si | ID3/APE | Limitat | Bo | Si | Si | Si | Si | Si | Tots |
ALAC | Mitjana | R??pid | 58.5% | Dolenta | No | Si | QT tags | Bo | Dolent | No | Si | Si(descodif) | Si | Si | Win/MAC |
FLAC | R??pid | Molt r??pid |
58.7% | Molt bona | Si | Si | VorbisTag | Molt bo | Molt bo | No | Si | Si | Si | Si | Tots |
Monkey's | R??pid | Mitj?? | 55.5% | Molt bona | No | Si | ID3/APE | Limitat | Bo | No | No | Si | No | Si | Tots |
OptimFROG | Lent | Mitj?? | 54.7% | Molt bona | Si | Si | ID3/APE | No | Poc | Si | Si | No | No | Si | Win/Mac /Linux |
Shorten | Molt R??pid | Molt R??pid | 63.5% | Dolent | No | Si | No | Limitat | Molt bo | No | No | Si | No | No | Tots |
-% Compressi?? quant m??s baix m??s comprimeix
-Codificaci?? i decod: velocitats que triga en fer-ho.
-Dispostius i Programari: suport en els dos camps
-Exp.: contingut de la trama explorable a nivell de mostra
[edita] Enlla??os d'inter??s
- Web oficial del Projecte: documentaci??, taules comparatives, especificacions...
- Web oficial de Xiph.org Foundation
- Comparatives de c??decs d'??udio sense p??rdues
- Comparativa d'HydrogenAudio
- Comparativa quant a compressi?? i velocitat de varis c??decs sense p??rdues