JPEG2000-afbeeldingsformaatondersteuning

Overzicht

HotPDF biedt uitgebreide ondersteuning voor JPEG2000-afbeeldingsformaten, waaronder JP2- en J2K-bestanden. JPEG2000 is een op wavelets gebaseerde beeldcompressiestandaard die een betere compressie-efficiëntie en kwaliteit levert dan het traditionele JPEG-formaat

Supported Formats

  • JP2: JPEG2000 Part 1-formaat met volledige bestandsstructuur
  • J2K: JPEG2000-codestreamformaat (ruwe gecomprimeerde data)

Belangrijkste kenmerken

  • Automatische formaatdetectie en passende verwerking
  • Ondersteuning voor zowel verliesvrije als verlieslatende compressie
  • Ondersteuning voor afbeeldingen met meerdere componenten (RGB, RGBA, grijswaarden)
  • Geavanceerde bitdiepte-ondersteuning (8, 12, 16 bits per component)
  • Directe gevalideerde codestream-tile-decodering met tile-grid-metadata
  • Gecombineerde decodering van bronregio en power-of-two-resolutie van interesse
  • Budgetten voor gedecodeerde uitvoer bij vijandige of onverwacht grote codestreams
  • Automatische renderer-resolutiekeuze op basis van zichtbare doelpixels
  • Begrensde parallelle reconstructie van onafhankelijke kruisende tiles
  • Deterministische compositie-, annulerings-, workerlimiet- en piekgeheugentelemetrie

Gebruiksvoorbeeld

 // Delphi example - Adding JPEG2000 image to PDF procedure AddJPEG2000Image; var PDF: THotPDF; begin PDF := THotPDF.Create(nil); try PDF.FileName := 'output.pdf'; PDF.BeginDoc; PDF.AddPage; // Add JPEG2000 image - format is automatically detected PDF.AddImage('sample.jp2', 100, 100, 200, 150); // J2K codestream format is also supported PDF.AddImage('sample.j2k', 100, 300, 200, 150); PDF.EndDoc; finally PDF.Free; end; end; 

Technische implementatie

De JPEG2000-ondersteuning is geïmplementeerd via de HPDFJpeg2000.pas-unit, die het volgende biedt:

  • THPDFJpeg2000Decoder: Hoofddecoderklasse voor het verwerken van JPEG2000-afbeeldingen
  • Formaatdetectie: Automatische herkenning van JP2-, J2K- en JPT-formaten
  • Headerinspectie: InspectHeaderFromByteArray leest afmetingen, componenten en SourceColorSpace zonder pixelsamples te decoderen
  • Streamverwerking: Ondersteuning voor het laden van afbeeldingen via bestand en stream
  • Tiletoegang: LoadTileFromByteArray decodeert één gevalideerde tile en rapporteert de bronoffset en het raster
  • Resolutiekeuze: LoadRegionFromByteArray combineert een bronrechthoek met een wavelet-reductiefactor
  • Parallelle tile-decodering: LoadRegionFromByteArrayParallel gebruikt onafhankelijke decoderinstanties en deterministische row-major-compositie
  • Geladen PDF's: DecodeLoadedImageRegionAtResolution kiest een niveau dat geen van beide doeldimensies te grof oplost
  • Bediening: JPEG2000ParallelTileDecoding en JPEG2000TileWorkerLimit regelen de rendererintegratie, terwijl GetLastJPEG2000ParallelDecodeStats plannings- en budgetschattingen rapporteert
  • OpenJPEG-integratie: Native gekoppelde decodering op Win32 en Win64

Prestatievoordelen

  • Betere compressieverhoudingen dan traditioneel JPEG
  • Geen blokartefacten bij hoge compressieniveaus
  • Progressieve verzending en weergave
  • Ondersteuning voor encoding van een regio van interesse (ROI)
  • Gelijktijdige reconstructie wanneer een zichtbare regio over onafhankelijke codestream-tiles loopt
  • Optie voor verliesvrije compressie

Compatibility

JPEG2000-ondersteuning is beschikbaar in zowel 32-bits als 64-bits versies van HotPDF en is compatibel met alle ondersteunde Delphi- en C++ Builder-versies

Zie ook