Eerder schreef ik op deze plek een blog over de Wegwijzer Voorkeursformaten. De website die instellingen helpt met beleid voor bestandsformaten. Deze keer wil ik graag inzoomen op bestandsformaten voor audiovisueel materiaal en in het bijzonder op de betekenis van codecs. Wat zijn dit? Waarom zijn ze van belang voor het formaatbeleid van een archief? En hoe kun je ze in de Wegwijzer terugvinden?
Containers en Codecs
In de Wegwijzer Voorkeursformaten zijn alle bestandsformaten geordend in het register. Dat gebeurt in de eerste plaats door de formaten in te delen naar toepassingsgebied. Bijvoorbeeld ‘bewegend beeld’. Hieronder vallen alle video bestandsformaten. Ook ‘audio’ is een toepassingsgebied.
Typisch voor audio en videobestanden is dat ze bestaan uit een containerbestand (wrapper) met meerdere sporen (tracks). Bijvoorbeeld een videospoor en een audiospoor. Dit spoor kan ruwe data bevatten, maar is meestal een gecodeerde vastlegging daarvan. Het doel van de codering is om de informatie efficiënter op te slaan. Door deze compressie zal over het algemeen de bitrate kleiner worden. Dat betekent dat het bestand kleiner wordt, maar kan ook betekenen dat de informatie die per seconde beschikbaar is om het bewegende beeld en geluid te genereren minder wordt.
De codering (codec) is zeer bepalend voor het behoud van de kwaliteit van het oorspronkelijke beeld en geluid. Zolang de compressie weer terugvertaald kan worden naar de oorspronkelijke informatie op bitniveau is sprake van lossless compressie: zonder informatieverlies. Als dat niet mogelijk is spreekt men van een lossy formaat. Bij een (te) sterke compressie treedt zichtbaar kwaliteitsverlies op, zoals korrelig beeld of ‘artefacten’ (afwijkingen).
In de loop van de tijd zijn er vele codecs ontwikkeld. Sommige zijn gebonden aan bepaalde containerformaten en vice versa. Andere zijn heel flexibel en komen in allerlei combinaties met containerformaten voor. Zie deze voorbeelden:
ASF | container voor Microsoft WMA en WMV |
Flash video (FLV, F4V) | container voor audio en video van Adobe |
Matroska | Niet beperkt tot een codec of systeem en kan zowat alles bevatten. Open standaard en open source formaat. |
QuickTime | standaard container van Apple |
MPEG | standaard container voor MPEG-1- en MPEG-2-streams |
MP4 | standaard audio- en videocontainer voor MPEG-4-multimediaMaterial Exchange Format (MXF): container formaat voor professionele digitale video en audio, gedefinieerd door SMPTE standaarden |
Bron: Wikipedia
Uitruil-principe
De reden dat er verschillende codecs zijn ontwikkeld hangt deels samen met het feit dat softwareontwikkelaars met ‘eigen’ bestandsformaten, eigen specifieke codecs hebben bedacht en daarmee onderling concurreren. In essentie is meestal sprake van een uitruil tussen bestandsgrootte en rekencapaciteit. Hoe kleiner het bestand, hoe meer rekenkracht er nodig is om het bestand weer af te spelen in de oorspronkelijke kwaliteit. Hoe slimmer de codec is gemaakt, hoe voordeliger deze uitruil kan plaatsvinden.
Vanwege dit uitruil-principe zullen voor verschillende gebruiksdoelen ook verschillende codecs geschikter zijn. Zo ontwikkelde Apple codecs variërend van lossless high quality voor pre-production, waarbij beeld voor beeld editing mogelijk blijft, tot sterk gecomprimeerde lossy versies die weinig opslagruimte vergen en makkelijk afspelen. Welke codec geschikt is in een bepaalde situatie is bovendien afhankelijk van de content zelf: stilstaand beeld met weinig details levert bij compressie nu eenmaal minder ‘artefacten’ op dan sterk dynamische beelden met veel details.
PREMIS
Het onderscheid tussen containerbestand en codec is ook terug te zien in het model van PREMIS, de internationale standaard voor preserveringsmetadata. Het te preserveren object kent in dit model vier niveaus, waaronder de file en de bitstream. Dit maakt het mogelijk om eigenschappen van het containerbestand in de file op te nemen, en eigenschappen van een track in de bitstream. De omschrijving van de file en de bitstream volgens het model (zie hieronder) vertelt welke eigenschappen bij welk niveau worden vastgelegd. In dit model is de codec-naam op bitstream niveau het equivalent van de File format op file niveau.
A File is a named and ordered sequence of bytes that is known to an operating system. A File can be zero or more bytes and has a File format, access permissions, and File system characteristics such as size and last modification date
A Bitstream is contiguous or non-contiguous data within a file that has meaningful common properties for preservation purposes
Codecs als onderdeel van het formaatbeleid
Door een formaatbeleid voor AV-bestanden op te stellen maakt een archief onder andere duidelijk welke bestandsformaten de voorkeur genieten met het oog op preservering van de content. Het is wenselijk om dan niet alleen het containerformaat te noemen, maar ook de te gebruiken codecs van de tracks binnen de container. In de eerste plaats omdat de ondersteuning van de codecs in de loop van de tijd kan wegvallen. Net als de fileformaten worden codecs door nieuwe varianten opgevolgd en raken oude varianten op die manier gedateerd en zelfs obsolete. Uit oogpunt van preservering is het daarom van belang aan te geven welke codecs wel of niet mogen worden toegepast.
Een tweede reden om codecs onderdeel van het formaatbeleid te laten zijn is de hiervoor genoemde impact op de kwaliteit van het bestand. Afhankelijk van de doelstelling van het archief en de eisen van z’n community, zal het archief keuzes maken voor een optimum tussen beeld en geluidskwaliteit, omvang van het bestand, en benodigde rekencapaciteit.
Overigens is in dit verband niet alleen de codec van belang, maar kunnen ook restricties gelden voor andere eigenschappen van de file. Het kan daarbij gaan om eigenschappen van de file als geheel (bijvoorbeeld het maximum aantal tracks) als ook om eigenschappen van het videotrack of het geluidstrack. Het geheel van eigenschappen waaraan een file van een bepaald bestandsformaat moet voldoen noemt men het vereiste ‘profiel’ van een bestand.
MXF als voorbeeld
Zo hanteert Beeld en Geluid drie profielen van het MXF OP1a containerformaat als voorkeursformaat voor videobestanden. De MXF (Material Exchange Format) is een generiek formaat waarvoor een aantal standaard varianten (Operational Patterns) zijn gedefinieerd, die de opbouw van de tracks binnen de container specificeren. Voor OP1a geldt dat er één track is, óf dat er meerdere tracks ‘interleaved’ in de container zijn opgeslagen. Praktisch betekent dit dat video en audio om en om in bits zijn gecodeerd. Dit maakt het een geschikt formaat voor de distributie van files door uitzendorganisaties.
De drie profielen die Beeld en Geluid binnen deze container heeft gespecificeerd bevatten elk een MPEG2 codec voor de video, in combinatie met PCM audio samples. De bitdiepte voor het vastleggen van kleurinformatie is 4:2:2. Aanvullende kenmerken:
- D-10-30: iframes beeldresolutie 720×608 bitrate 30 Mbps
- D-10-50 iframes beeldresolutie 720×608 bitrate 50 Mbps
- XDCAM HD422: gop structure (beeldcompressie), beeldresolutie 1920×1080, bitrate 50 Mbps
Deze varianten laten zien dat met diverse compressietechnieken een hogere beeldresolutie mogelijk is met tegelijk dezelfde bitrate.
Wat betekent dit nu voor de Wegwijzer Voorkeursformaten?
Om inzicht te geven in de voorkeuren en ondersteuning van AV-bestanden is het niet voldoende om alleen het bestandsformaat (containerformaat) te noemen. Om die reden zijn ook verschillende codecs als ‘bestandsformaat’ in het register van de wegwijzer opgenomen. Idealiter is het mogelijk om de combinatie van containers en codecs aan te geven. En deze mogelijk aan te vullen met specifieke eisen die worden gesteld.
De expertisegroep Voorkeursformaten gaat hier nu verder mee aan de slag. Zo gaat de groep kijken naar een manier om te documenteren welke combinaties van containers en codecs mogelijk zijn, en welke niet. Onderzoek is nodig naar de impact daarvan op het datamodel van het register. Hetzelfde geldt voor het specificeren van eigenschappen en profielen.
Een ander element is de houdbaarheid score. De huidige wegwijzer laat per bestandsformaat een houdbaarheid score zien. Deze wordt ook getoond voor verschillende codecs in de wegwijzer. Nader onderzoek zal wellicht nodig zijn naar de vraag in hoeverre de houdbaarheid scores van bestandsformaten en codecs elkaar beïnvloeden of overlappen.
Maar de eerste stap is het maken van een eigen toepassingsgebied met codecs. We hopen dat dit de bruikbaarheid van de wegwijzer voor instellingen die nadenken over hun formaatbeleid verbetert. Heb je ideeën of vragen over dit onderwerp? Richt je dan tot de expertisegroep Voorkeursformaten via info@wegwijzervoorkeursformaten.nl