Gratis Lossless Audio Codec

Gratis Lossless Audio Codec
Filutvidelse : .flac
MIME-type : lyd / x-flac, lyd / flac
Magisk nummer : fLaC
Utviklet av: Josh Coalson ( Xiph.Org Foundation )
Type: Lyd
Standard (er) : Format spesifikasjon
Nettsted : xiph.org/flac

FLAC referanse implementering

Logo for Free Lossless Audio Codec (FLAC)
FLAC 1.3.3 screenshot.png
Grunnleggende data

utvikler Xiph.Org Foundation
Forlagsår 20. juli 2001
Gjeldende  versjon 1.3.3
(4. august 2019)
operativsystem kryssplattform
programmeringsspråk C.
kategori Lydformat
Tillatelse BSD / GPL
Tysktalende Nei
xiph.org/flac

Fri tapsfri audio Codec ( FLAC , engelsk for fri tapsfri lyd koder / dekoder ) er en kodek for tapsfri lyddatakomprimering , som under Xiph.Org Foundation er utviklet. Den er fritt tilgjengelig, og bruken er ikke begrenset av programvarepatenter .

historie

Utviklingen av FLAC begynte i 2000. Formatet ble etablert i begynnelsen av beta-stadiet med utgivelsen av versjon 0.5 av referanseimplementeringen 15. januar 2001. Versjon 1.0 ble utgitt 20. juli 2001. I februar 2002 kunngjorde den første produsenten, PhatNoise , støtte fra FLAC i sitt lydsystem. I 2003 kunngjorde Xiph.Org Foundation at de ville integrere FLAC i containerformatet for å muliggjøre både Vorbis og tapsfri komprimering. I 2004 ble et bredere publikum oppmerksom på FLAC da bandet Metallica kunngjorde at de ikke bare ville selge konsertopptakene sine i den tapsutsatte og på den tiden fortsatt patenterte MP3- formatet , men også tilby innspillingen i FLAC-format for musikkelskere. I tillegg til referanseimplementeringen fra Xiph / Coalson, har en alternativ koder kalt Flake av Justin Ruggles, som ble inkludert i FFmpeg , eksistert siden mai 2006 .

FLAC-utviklingen ble fullstendig suspendert mellom 2007 og 2013, til det ble kunngjort på det offisielle nettstedet 26. mai 2013 at et nytt utviklingsteam hadde blitt satt sammen og at FLAC ville bli jobbet med igjen fra nå av. Versjon 1.3.0 ble gitt ut samtidig.

Prosjektet

Prosjektet er viet til følgende emner:

libFLAC og libFLAC ++ er tilgjengelig under en tilpasset versjon av BSD-lisensen , flac, metaflac og utvidelsene under GPL .

Formater

FLAC-filer lagres som standard i FLACs egen container og kan inneholde en datastrøm . Som metadataformat brukes Vorbis-kommentaren . I Ogg- og Matroska- containere kan flere FLAC-komprimerte lyddata lagres side om side i samme fil, vanligvis sammen med en videodatastrøm for flerspråklige filmer.

Sammenligning med andre formater

I motsetning til tapte lyddatakomprimeringsmetoder som MP3 eller Ogg Vorbis , er komprimeringen med FLAC tapsfri, så det er ikke noe tap av kvalitet; de komprimerte filene er imidlertid mange ganger større enn komprimerte filer med tap (faktor ca. 1,8 oppover). Fra et teknisk synspunkt er FLAC fremfor alt preget av det faktum at den kan streames og har flerkanalsstøtte , replay-forsterkning og cuesheet- støtte. I tillegg er RIFF og - AIFF - metadata FLAC-filer innebygd, som vil bli gjenopprettet ved dekoding. Sammenlignet med andre tapsløse lydkodeker er kompresjonsstyrken i midten.

FLAC er også en såkalt asymmetrisk kodek , dvs. H. beregningsinnsatsen for koding er betydelig høyere enn for dekoding. Beregningsinnsatsen for dekoding er enda mindre enn den for mange andre tapsfrie kodeker. Bakgrunnen for dette er hensynet til at en fil vanligvis bare er kodet en gang, men blir dekodet mye oftere (mest for avspilling). Som et resultat stiller formatet forholdsvis lave krav til datakraften til avspillingsenheter eller programmer. Siden det bare er ett nivå av kompleksitet , forblir innsatsen involvert i dekoding alltid den samme - uavhengig av kodeinnstillingen. Dette er en av grunnene til at FLAC neste Apple Lossless , lossless komprimeringsformat fra Apple , til spillere en viss distribusjon har blitt.

komprimering

I følge utviklerne oppnår FLAC en gjennomsnittlig komprimering til rundt 50 prosent av den opprinnelige størrelsen, forskjellen til andre tapsløse lydkomprimeringsmetoder ligger derfor i et område på noen få prosentpoeng. Ulike andre tester antyder kompresjon til rundt 60 prosent.

Ulike faktorer har betydelig innflytelse på kompresjonshastigheten:

  • Samplingsfrekvens: Jo høyere samplingsfrekvens, jo større oppnådd kompresjon, siden signalet inneholder færre høye frekvenser i forhold til samplingsfrekvensen og generelt sett er mer forutsigbar.
  • Selve det kodede signalet har en betydelig innvirkning:
    • Høyere atonalitet gjør signalet mindre forutsigbart.
    • Et høyere nivå av signalmodulering gjør signalet mindre forutsigbart.
  • Bitdybde: Jo mer bitdybde signalet har, jo vanskeligere er det å komprimere det. I prinsippet er det derfor en mer meningsfull målt variabel å spesifisere det absolutte antall bits lagret i gjennomsnitt per prøve i stedet for kompresjonshastigheten, siden dette stort sett er uavhengig av bitdybden.
Skjematisk fremstilling av FLAC-kompresjonsprosessen

Fremgangsmåte

FLAC bruker bare fastpunktsregning for koding og dekoding , noe som spesielt forenkler maskinvareimplementeringer. Kodeken er veldig fleksibel med hensyn til inngangssignalet: Oppløsninger mellom 4 og 32 bits per prøve , samplingsfrekvenser mellom 1 Hz og rundt 655 kHz og 1 til 8 kanaler støttes. Filformatet som brukes støtter lagring av metadata ved hjelp av Vorbis-kommentar og kan også lagre gevinstdata for avspilling . Med komprimering behandler FLAC inngangsdataene i flere trinn:

  • Blokkering : FLAC deler alltid lyddataene i blokker med 16 til 65535 ( ) eksempler hver . De underblokker , dvs. de forskjellige kanaler i en blokk, blir innlemmes sammen i en ramme , i. H. komprimert og kodet. Underblokker kan konverteres til midtsidekoding (se nedenfor), men deretter kodes separat som underrammer .
  • Inter-Channel Decorrelation : Hvis et stereosignal er tilstede, kan det konverteres fra den eksisterende venstre-høyre-kodingen (dvs. hver kanal er kodet separat) til en midt-sidekoding. Dette er enten fast (dvs. alltid igjen ved L / R eller alltid konvertert til M / S) eller adaptivt i hver ramme (koderen velger den gunstigere kodingen).
  • Modellering : Forløpet av verdiene til hver underblokk tilnærmes enten ved hjelp av en polynomfunksjon eller med den lineære prediktive kodemetoden . Noen vanlige kombinasjoner av koeffisienter er tilgjengelige, eller de lagres direkte i rammen.
  • Residual Coding : Feilsignalet, dvs. forskjellen mellom det faktiske signalet og det modellerte signalet, lagres i underrammen uten tap ved bruk av ris-koding .
  • Innramming : Til slutt er de resulterende rammene utstyrt med en topptekst og bunntekst, som blant annet sikrer feilregistrering ved bruk av CRC og muligheten for å bli synkronisert. Siden en ramme uavhengig kan inneholde all informasjon om lydsignalet, slik som samplingshastighet, bitdybde og kanalformat, med et slikt format er det mulig å dekode rammer uavhengig av hverandre og uavhengig av en beholder.

Kompresjonsnivåer

Parameterene til koderen regulerer blant annet blokkstørrelsen, graden av lineær prediktiv koding eller bruken av midtsidekoding. For å forenkle håndteringen har referanseimplementeringen ni valgbare kompresjonsnivåer, som hver står for et spesifikt utvalg av parameterkombinasjoner. De høyere nivåene har bare en mindre effekt på reduksjonen av filstørrelsen, men den nødvendige beregningstiden øker uforholdsmessig. dekodningshastigheten forblir imidlertid nesten konstant.

  • Nivå 0 til 2 fungerer med relativt små blokker og faste LPC-koeffisienter for å øke kodingshastigheten.
  • Nivå 3 til 6 bruker større blokker og et LPC-nivå på opptil åtte for å spare plass ved komprimering.
  • Nivå 7 og 8 prøver også å komprimere målfilen til en minimumsstørrelse ved hjelp av et omfattende søk etter de optimale kodingsparametrene ( uttømmende modellsøk ), noe som reduserer kodingshastigheten betydelig.

Referanseimplementeringen bruker nivå 5 som standard.

fordeling

Siden FLAC også tilhører Ogg-rammeverket til Xiph.Org Foundation, er fortroligheten til andre formater av stiftelsen, som Vorbis , også til fordel for FLAC. I tillegg arbeides det med å portere kodeken til alle plattformer som Ogg støtter.

Programvare- og maskinvarestøtte

Siden FLAC er gratis programvare , kan ethvert program og enhet bruke den. De fleste Linux-distribusjoner støtter det som standard . FLAC- plugin-moduler og avspillingsprogrammer som støtter FLAC, er tilgjengelige for mange andre operativsystemer - eksempler er VLC mediespiller , Quod Libet , Songbird , Winamp , Clementine , AIMP , KMPlayer , Media Player Classic og foobar2000 .

Enheter har vært på markedet siden rundt 2003, inkludert stadig mer bærbare spillere, som kan spille gratis lydformat. For mange spillere som har firmwareoppdateringer , er det også open source- prosjekter som støtter FLAC-avspilling, for eksempel Rockbox . Ulike programmer for å spille FLAC er tilgjengelig for mobiltelefoner med Android . Fra og med versjon 3.1 tilbyr Android innfødt FLAC-støtte. For eksempel kan freeware OggPlay brukes under Symbian . I nettlesere støttes FLAC Playback fullt ut i Firefox fra versjon 51 (januar 2017) og i Chrome fra versjon 56 (januar 2017).

Online salg

Noen nettbutikker tilbyr lyd i tillegg til formatet FLAC til eller har generelt spesialisert seg på tapsfrie lydformater, for eksempel tilbyr GOG.com DRM- gratis dataspill - lydspor i FLAC-format. Spesielt leverandører av musikkopptak med høy oppløsning er avhengige av tapsfri lydkomprimering.

Se også

weblenker

Commons : Free Lossless Audio Codec  - samling av bilder, videoer og lydfiler
  • Prosjektside på Xiph.Org (engelsk)
  • FLAC i Wiki of the Xiph.Org Foundation (engelsk)
  • FLAC på Hydrogenaudio Wiki
  • FLAC sammenlignet med andre tapsfrie lydformater i Hydrogenaudio Wiki
  • Ytterligere informasjon om programvarestøtte og opprettelse av FLAC-filer på blog.teufel.de
  • FLAC sammenlignet med MP3 fra forskjellige synspunkter på chip.de

Individuelle bevis

  1. FLAC 1.0 (20. juli 2001) .
  2. a b vekslingslogg. xiph.org, åpnet 24. oktober 2019 .
  3. ^ Flac Open Source-prosjektet på Open Hub: Språk-siden . I: Open Hub . (åpnet 17. oktober 2018).
  4. Hajo Schulz: Metallica tilbyr konsertopptak for nedlasting. I: Heise online. 7. april 2004, åpnet 16. november 2016 .
  5. flake-enc.sourceforge.net
  6. Tapsfri sammenligning i hydrogenaudio.org Wiki, 4. januar 2006 (engelsk).
  7. FLAC-hjemmeside: Sammenligning , åpnet 15. oktober 2013.
  8. Ytelse sammenligning av tapsfri lyd kompressorer ( minnesmerke av den opprinnelige fra 25 november 2010 i Internet Archive ) Omtale: The arkivet koblingen ble satt inn automatisk og har ennå ikke blitt sjekket. Kontroller original- og arkivlenken i henhold til instruksjonene, og fjern deretter denne meldingen. , datert 7. februar 2005, åpnet 8. april 2009. @1@ 2Mal: Webachiv / IABot / members.home.nl
  9. SqueezeChart: Lossless Audio Compression , fra 14. februar 2009 ( Memento fra 5. oktober 2013 i nettarkivet archive.today )
  10. FLAC-hjemmeside: FAQ , åpnet 15. oktober 2013.
  11. flac-hjemmeside: Dokumentasjon , åpnet 15. oktober 2013.
  12. ↑ i henhold til parameterbeskrivelsen til FLAC-referansekoderen i versjon 1.2.1.
  13. ^ Xiph.Org Foundation: lisens. I: flac. gratis tapsfri lydkodek. Hentet 16. oktober 2017 .
  14. Android- utvikler - støttede medieformater
  15. OggPlay hjemmeside på Sourceforge.net.
  16. Hvor kan jeg kjøpe FLAC-musikkfiler? The Guardian (14. juni 2012)
  17. Dev Jordan Devore: Så fint: GOG.com legger til 31 FLAC-lydspor ( engelsk ) Destructoid. 31. januar 2014. Hentet 17. juni 2014: “En av favorittfunksjonene mine på GOG.com er inkludering av bonuser uten ekstra kostnad [...] GOG.com har lagt til 31 FLAC - et skritt videre denne uken - kodede lydspor til spill som Another World, Darklands, Earthworm Jim, Heroes of Might and Magic, MDK 2, Neverwinter Nights 2, Shadow Warrior og The Witcher. "
  18. Forklaring i den offisielle FAQ fra hdtracks.com (engelsk).