Soporte del formato de imagen JPEG2000

Visión general

HotPDF ofrece soporte exhaustivo de formatos de imagen JPEG2000, incluidos archivos JP2 y J2K. JPEG2000 es un estándar de compresión de imágenes basado en wavelets que proporciona una eficiencia y calidad de compresión superiores a las del formato JPEG tradicional

Formatos soportados

  • JP2: formato JPEG2000 Parte 1 con estructura de archivo completa
  • J2K: formato codestream JPEG2000 (datos comprimidos crudos)

Características principales

  • Detección automática de formato y procesamiento apropiado
  • Soporte de compresión tanto sin pérdida como con pérdida
  • Soporte de imágenes multicomponente (RGB, RGBA, escala de grises)
  • Soporte avanzado de profundidad de bits (8, 12, 16 bits por componente)
  • Decodificación directa validada de mosaicos de codestream con metadatos de cuadrícula de mosaicos
  • Decodificación combinada de región fuente y resolución de interés potencia de dos
  • Presupuestos de salida decodificada para codestreams hostiles o inesperadamente grandes
  • Selección automática de la resolución del renderer a partir de los píxeles del destino visible
  • Reconstrucción paralela acotada de tiles que se intersectan e independientes
  • Telemetría determinista de composición, cancelación, límite de workers y memoria pico

Ejemplo de uso


// 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;
        

Implementación técnica

El soporte JPEG2000 está implementado mediante la unidad HPDFJpeg2000.pas, que proporciona:

  • THPDFJpeg2000Decoder: clase decodificadora principal para procesar imágenes JPEG2000
  • Format Detection: identificación automática de los formatos JP2, J2K y JPT
  • Header Inspection: InspectHeaderFromByteArray lee dimensiones, componentes y SourceColorSpace sin decodificar muestras de píxeles
  • Stream Processing: soporte de carga de imágenes tanto por archivo como por stream
  • Acceso a tiles: LoadTileFromByteArray decodifica un tile validado e informa de su offset de origen y su rejilla
  • Selección de resolución: LoadRegionFromByteArray combina un rectángulo de origen con un factor de reducción wavelet
  • Decodificación paralela de tiles: LoadRegionFromByteArrayParallel usa instancias de decodificador independientes y composición determinista por filas
  • PDFs cargados: DecodeLoadedImageRegionAtResolution selecciona un nivel que no sub-resuelve ninguna de las dos dimensiones objetivo
  • Controles de operación: JPEG2000ParallelTileDecoding y JPEG2000TileWorkerLimit controlan la integración con el renderizador, mientras GetLastJPEG2000ParallelDecodeStats informa de estimaciones de planificación y presupuesto
  • Integración OpenJPEG: decodificación enlazada nativa en Win32 y Win64

Ventajas de rendimiento

  • Mejores ratios de compresión que el JPEG tradicional
  • Sin artefactos de bloque a tasas de compresión altas
  • Transmisión y visualización progresivas
  • Soporte de codificación de región de interés (ROI)
  • Reconstrucción concurrente cuando una región visible cruza tiles independientes del codestream
  • Opción de compresión sin pérdida

Compatibilidad

El soporte JPEG2000 está disponible en las versiones de 32 y 64 bits de HotPDF y es compatible con todas las versiones soportadas de Delphi y C++ Builder

Véase también