Publicatie:Verslag Expertmeeting JPEG2000 als archiveringsformaat
Titel | JPEG2000 expertmeeting (Voorkeurstitel) |
Locatie | [ ] |
Uitgever | |
Jaar van uitgave | 2012 |
Rechten | CC-BY-SA |
Persistent ID |
Naar aanleiding van een blogpost over Standaard:JPEG2000 kwamen op 10 januari 2011 een aantal specialisten van DEN, KB, FARO en PACKED in Den Haag bijeen. Op de agenda stond een bespreking van de geschiktheid van JPEG2000 als masterformaat voor afbeeldingen.
Aanwezig: Jeroen Poppe (FARO), Robert Gillesse (DEN), Johan van der Knijff (KB), Hans van Dormolen (KB), Henk Vanstappen (PACKED, verslag)
Agenda
- JP2 & JPX
- Inleiding Johan van der Knijff over Standaard:JPEG2000.
- Naar een oplijsting van de zwakke/sterke punten > Eindoordeel: voor sommige projecten bruikbaar, voor sommigen niet? > communiceren naar de erfgoedsector
- Kan men in de toekomst verbetering verwachten of zijn deze formaten definitief een verloren zaak? (ISO herziet zijn standaarden normaal gezien om de zoveel jaar: kan dit de zwakke punten rechtzetten?)
- JP2 wel bruikbaar wanneer kleur minder relevant is en de functionaliteiten van JP2 belangrijker?
- Meer in het algemeen: de aanwezigheid van open specs versus de beschikbaarheid van goede open source tools (argument van David Rosenthal - goede open source tools zijn veel belangrijker dan de specs).
- Andere formaten
- Standaard:TIFF en kleurprofielen: kleurprofielen kan men op verschillende manieren in een Standaard:TIFF-bestand inbedden. Adviseren we best één bepaalde manier aan de erfgoedsector?
- PDF/A-2: Dit nog geen twee maanden oude bestandsformaat ondersteunt Standaard:JPEG2000-compressie en v4-kleurprofielen. De vraag is dus of dit een alternatief kan zijn voor Standaard:TIFF waarbij Standaard:JPEG2000 compressie toch mogelijk is.
- Standaard:PNG: Ondersteunt enkel v2-kleurprofielen, geen exif-metadata, enkel LZW-compressie.
- Standaard:DNG: heeft iemand hier ervaring mee? Hans VD zei me een tijdje geleden dat Standaard:DNG interessant kan zijn als masterformaat bij het digitaliseren van transparante documenten.
- Standaard:JPEG: Een eenvoudige oplossing of een groot risico?
- Ter overweging: organiseren van een studiemiddag over de keuze voor een masterbestand voor de opslag van still images.
Verslag
JPEG2000 problemen
Johan van der Knijff licht mogelijke problemen toe met gebruik van Standaard:JPEG2000. De controle van een exacte toepassing van de standaard is niet evident. Zo blijkt bij controle van files dat verschillende softwarepakketten de standaard op verschillende manier interpreteren. De oorzaak hiervan ligt niet zozeer bij de software (en de software libraries die deze gebruiken [1]), als wel bij de onduidelijke formuleringen van de standaard zelf.
ICC-profielen
In JP2 worden ICC-kleurprofielen slechts beperkte mate ondersteund (restricted ICC-profile). Voor RGB kleurruimten[2] houdt de restrictie in dat ‘N-component lookup table-based’ profielen niet zijn toegestaan. Daarnaast heeft de specificatie het uitsluitend over device input profiles (voor scanners e.d.). Adobe RGB en ECIRGB worden echter gedefinieerd door display profiles (d.w.z. voor beeldschermen e.d.). Strikt genomen zijn deze profielen dus niet toegestaan. Voor sRGB is er geen probleem, maar deze kleurruimte volstaat niet wanneer hogere eisen worden gesteld aan de kleurweergave.
JPX biedt een uitgebreidere ondersteuning van ICC-profielen, maar net als bij JP2 vermelden de specificaties uitsluitend input profiles.
Kort samengevat leidt dit tot onduidelijkheid over welke profielen zijn toegestaan, en sluit een letterlijke interpretatie van de standaard het gebruik van de meeste typen ICC profielen uit.
Bovendien gaan verschillende softwarepakketten op een andere wijze om met kleurprofielen. Wanneer een Standaard:TIFF bestand met ingebed kleurprofiel omgezet wordt naar JP2, gebeuren onverwachte dingen:
- Luratech command line tool schrijft het bestand weg als een JPX-bestand volgens any ICC-method, maar met JP2-extensie. Luratech zou dit aanpassen.
- Adobe Photoshop (met plug-in) creëert een JPX bestand volgens any-ICC-method. Wanneer de optie 'JP2-compatible' wordt aangevinkt, wordt een JPX-bestand gecreëerd met twee versies van het ICC-profiel: één volgens any-ICC-methode en één volgens de restricted-methode. De klasse wordt gewijzigd van display device naar input device en het profiel wordt bestempeld als modified. In de header van het bestand wordt bovendien gezegd dat het een JP2-bestand is (!).
- Kakadu 6.3 en Software:ImageMagick 6.6.1-2 slaan het bestand op als een JP2-bestand zonder ICC-profiel
- Aware JPEG 2000 SDK 3.18 slaat het bestand op als JP2 volgens de 'restricted'-methode. Op zich nog de beste oplossing, maar niet volgens de specificaties van de standaard.
Risico's zijn dat:
- JP2-readers het profiel niet kunnen lezen;
- bij een volgende migratie het profiel niet wordt herkend en definitief verloren gaat.
Resolutievelden
Er blijkt onduidelijkheid over het onderdeel van de standaard waar de resoluties worden gedefinieerd: er is sprake van een capture resolution en een display resolution. Het ene heeft klaarblijkelijk betrekking op de resolutie waarmee het document werd gecreëerd (gescand), het andere op de resolutie waarmee het moet worden getoond (afgedrukt). Er is echter geen veld voor de notatie van de reële resolutie – die immers kan afwijken van de capture resolution. Capture resolution is strikt genomen enkel historisch interessant. Gevolg van deze onduidelijkheid in de specificatie is dat bij migratie de resolutiekenmerken soms naar de foute velden worden weggeschreven (capture resolution wordt omgezet naar display resolution of omgekeerd), waardoor het beeld ook fout wordt weergegeven.
Beperkte ondersteuning
JPG2000 bevat twaalf onderdelen. Part 1 ('JP2') beschrijft de basiskenmerken van het coderingssysteem (compressiealgoritme e.d.) Part 2 beschrijft een aantal extensies. Weinig softwarepakketten ondersteunen echter dit tweede deel. De meeste (alle?) open source pakketten ondersteunen enkel Part 1.[3]
JPX (Part 2) wordt dan ook beschouwd als het meer fancy gedeelte, dat waarschijnlijk weinig populair zal worden.[4]
Gedeeltelijk is dit te wijten aan het ontbreken van goede software-libraries waarmee softwareontwikkelaars aan de slag kunnen. Vaak wordt er nog gebruik gemaakt van de open source library JasPer, die zelfs JP2 niet voldoende ondersteunt en niet performant is.[5] Zolang er geen goede software-library is ontwikkeld, zullen goeie open source tools ook op zich laten wachten.
Ook in browsers wordt de standaard weinig ondersteund.[6] Daardoor kan de eigenschap dat Standaard:JPEG2000 meerdere resoluties in een bestand kan bevatten, niet ten volle worden benut. Er zijn echter wel goede tools beschikbaar om een JP2 bestand on the fly om te zetten naar een Standaard:JPEG, geschikt voor het web. Dit omzetten gebeurt overigens sneller dan bij een omzetting van Standaard:TIFF naar Standaard:JPEG.
Andere?
Mogelijk zijn er nog andere problemen, die nog niet aan het licht zijn gekomen. Dit is typisch voor een standaard die in de praktijk nog te weinig toegepast werd. Zo heeft Standaard:TIFF vermoedelijk met dezelfde 'kinderziektes' te maken gehad, maar na zes versie is de standaard beproefd en 'volwassen'.
Door de beperkte implementatie van Standaard:JPEG2000 (en dan vooral JPX) is dit proces echter na 10 jaar nog niet voltooid - wat te denken geeft over de toekomst van de standaard.
Voordelen
Standaard:JPEG2000 heeft ook een aantal voordelen op andere formaten voor rasterbased-images:
- betere ondersteuning van zoomfunctionaliteit, wat vooral nuttig is in omgevingen met beperkte bandbreedte (bewakingscamera's, meteorolgie ...);
- geavanceerde wavelet compressiemethode, waardoor het ook geschikt is voor geavanceerde digitale video (waarbij meestal enkel de codestream wordt gebruikt binnen een eigen wrapper);
- algemeen: uitgebreide mogelijkheden die JPX biedt, zoals ondersteuning van GIS ...
- Geavanceerde foutopsoring...
Alternatieven
DNG
Standaard:DNG bouwt voort op het Standaard:TIFF formaat.[7] Het is ontwikkeld als generiek formaat voor Standaard:RAW-bestanden, en verhoudt zich dus tot Standaard:TIFF als een negatief tot een afdruk. Het is echter nog geen officiële standaard en wordt nog niet door alle camerafabrikanten (en niet op alle modellen) ondersteund. Standaard:DNG heeft ook niet het voordeel van de geavanceerde compressiemethode van Standaard:JPEG2000.
JPEG
Standaard:JPEG kan ook ICC-profielen aan, maar dit wordt lang niet door elke software ondersteund. Belangrijkste nadelen zijn de lossy compressie en de kwetsbaarheid van het bestand: wanneer een bit 'omvalt' wordt het bestand grotendeels onleesbaar. Bij bewerking en daaropvolgende opslag wordt de compressie met dezelfde factor opnieuw doorgevoerd, wat steeds verder kwaliteitsverlies tot gevolg heeft.[8]
JPEG-LS
Standaard:JPEG-LS [9] [10] heeft is een variante van Standaard:JPEG , die lossless compressie mogelijk maakt. Standaard:JPEG-LS is echter zeer weinig verspreid.
PDF/A-2
De nieuwe versie van PDF/A zou ook Standaard:JPEG2000 ondersteunen. Het blijkt echter te gaan om JPX, waardoor het probleem alleen verplaatst wordt.
TIFF 6.0
Standaard:TIFF 6.0 is zowat de oude tante van de raster-based bestandsformaten, maar heeft het grote voordeel dat het wijd verspreid en betrouwbaar is. Ook de studie van KB enkele jaren geleden kwam tot de conclusie dat Standaard:TIFF qua intrinsieke kwaliteit te verkiezen is boven Standaard:JPEG2000, maar veel slechter scoort op vlak van datacompressie.
PNG
Ook Standaard:PNG is ondanks zijn intrinsieke kwaliteiten nooit doorgebroken. Nadeel van Standaard:PNG tegenover Standaard:JPEG2000 is dat het compressiealgoritme enkel performant is bij beelden met uniforme kleurvlakken (vgl. Standaard:GIF). Ook ondersteunt Standaard:PNG niet standaard de opslag van Exif informatie.
Conclusie
Slotvraag is of deze standaard geschikt is als formaat voor archivering van raster-based images.
Standaard:JPEG2000 is in beginsel zeker geen 'slechte' standaard. De belangrijkste troef is het compacte formaat tegenover Standaard:TIFF, wat belangrijke financiële implicaties kan hebben bij massadigitalisering. De grootste tekortkoming zit in de gebrekkige ondersteuning van kleurprofielen.
Een meer algemene eindconclusie is dat een standaard steeds in functie moet gezien worden van de toepassing. Wanneer exacte kleurweergave niet essentieel is (lees: wanneer sRGB volstaat) en men kan leven met een mogelijk foutieve afdrukgrootte, kan de standaard wel toegepast worden. Voorwaarde is dat men dan wel op de hoogte is van deze beperkingen en hoe ermee om te gaan. In andere gevallen is het aanbevolen Standaard:TIFF 6.0 te blijven gebruiken.
Het is wachten op een aanpassing van de standaard. Enkele voorstellen daartoe zijn reeds geformuleerd – nu is het afwachten wat ISO hiermee doet. Misschien nog belangrijker dan is de mogelijke ontwikkeling van een volwassen Standaard:JPEG 2000 ontwikkel library. De aanwezigheid van een dergelijke toolbox is een belangrijke voorwaarde voor de ontwikkeling van goede Standaard:JPEG2000 software viewers en creators.
Het communiceren van dit besluit aan het erfgoedveld is niet eenvoudig: het gaat om een complexe problematiek en bovendien moet er voor gewaakt worden een te drastisch oordeel te vellen, waardoor Standaard:JPEG2000 gestigmatiseerd wordt – ook nadat er een verbeterde versie en/of betere software-libraries van beschikbaar zijn. Misschien ligt de boodschap voor instellingen in het verlengde van het schema dat Johan van der Knijff heeft gemaakt (gebruik Standaard:JPEG2000 afgewogen tegen doelstellingen van een project): heeft een specifieke access wens of acute compressiebehoefte de prioriteit en kan men leven met de bovengenoemde problemen, dan is de keuze voor Standaard:JPEG 2000 te verdedigen. In andere gevallen kan men kiezen voor Standaard:TIFF of Standaard:JPEG.
Het organiseren van een studiedag over de standaard is waarschijnlijk geen goede optie: hiermee zullen opnieuw dezelfde usual suspects worden bereikt. Wel wordt overwogen een presentatie te geven over de bredere problematiek, namelijk dat standaarden steeds beschouwd moeten worden in functie van het gebruik, niet van de 'intrinsieke kwaliteit'.
Bijlage: SWOT JPEG2000
Sterkten | Zwaktes |
Superieure lossless en lossy (al dan niet visueel lossless) compressie | Door onduidelijkheden in standaard is een aantal problemen ontstaan in interpretatie van standaard. Tools voldoen daarom op verschillende of soms foutieve manier aan de standaard.
ICC profielen: Part 1 sluit “” profielen uit als ECI en Adobe RGB. Tools maken van JP2 bij aantreffen dergelijk profielen of een JPX of negeren het profiel. Resolutie (kan in twee “concurrerende” velden worden opgeslagen). |
Multiresolutie mogelijkheden | |
Geen verschil master en access image | Adoptie benedenmaats, zowel door consumenten als grafische industrie |
Goede foutopsporing | Mix up tussen part 1 en 2 (door slechte tools). Dit ook door identificatie en validatietools zoals JHOVE niet waargenomen. |
Geen goede open JP2 library (zoals LibTIFF ). Aanwezige Jasper library voldoet niet. libTIFF heeft voor belangrijk bijgedragen aan succes Standaard:TIFF formaat. | |
Kansen | Bedreigingen |
Functionaliteit JP2 is superieur -> kansen zitten aan access kant | Gebrek aan gebruik degradeert in potentie waardevol formaat |
Betere compressie bespaart in kosten opslag | Verbeteringen – aanpassen standaard en open JP2 library – komen te laat en zullen weinig effect sorteren op daadwerkelijk gebruik. |
Creëren van een open JP2 library die tool problemen uit de wereld helpt | Er zijn genoeg alternatieven als het gaat om archivering van still images |
Aanpassing van JP2 standaard om met name probleem rondom ICC op te lossen |
Referenties
- Blogpost van Johan van der Knijff: http://JPEG2000wellcomelibrary.blogspot.com/2010/12/guest-post-ensuring-suitability-of-JPEG.html
- Analyse van JP2 dooe Andrea Goethals: Florida Center for Library Automation Action Plan Background: JP2
- 'edited highlights' van het JP2K seminar bij de Wellcome Library, met links naar de presentaties: http://JPEG2000wellcomelibrary.blogspot.com/2010/11/JPEG-2000-seminar-edited-highlights-2.html en http://JPEG2000wellcomelibrary.blogspot.com/2010/11/JPEG-2000-seminar-edited-highlights-1.html
Noten
1 In de informatica is een bibliotheek (Engels: library) een verzameling code (functies/routines) die door programma's kunnen worden gebruikt. Het voordeel hiervan is dat programmeurs geen (nieuwe) code hoeven te schrijven voor bepaalde algemene bewerkingen. Ze kunnen simpelweg de functies aanroepen die zich in de bibliotheek bevinden (bron: Wikipedia).
2 Een kleurruimte is een manier om kleuren te beschrijven. Niet elk model kan evenveel kleuren beschrijven: zo is sRGB beperkter dan Standaard:ECIRGB.
3 Zie overzicht op http://en.wikipedia.org/wiki/JPEG_2000#Applications
4 Zie ook de mening van Andrea Goethals: “The JPX format is not likely to become popular as a general use still image format because of its complexity. It may become popular for applications that require features not supported by other image formats. It seems a good fit for high-end graphics software because of its extensive color space support. GIS applications could take advantage of its support for layer composition and animation. It has extensive support for multiple types of metadata which is appealing for digital preservation purposes.”
5 Voor een overzicht van libraries: zie http://en.wikipedia.org/wiki/JPEG_2000#Libraries
6 Enkel Safari ondersteunt dit d.m.v. van een Quicktime plugin. Zie ook http://en.wikipedia.org/wiki/Comparison_of_web_browsers#Image_format_support (noot HVS)
7 Maar is meer verwant met het TIFF/EP-formaat van Adobe. (noot HVS)
8 Hoewel een aantal softwarepakketten zonder kwaliteitsverlies enkele beperkte bewerkingen kunnen uitvoeren, zoals roteren, spiegelen e.d. (noot HVS)
9 http://www.jpeg.org/jpeg/jpegls.html
10 JPEG-LS is overigens niet te verwarren met lossless JPEG, dat onder meer gebruikt wordt in DNG.