JP2Lura——基于Lurawave库的JPEG2000驱动程序

司机简称

JP2LURA公司

2.2 新版功能.

生成依赖项

卢拉瓦类库

该驱动程序是基于Lurawave库的JPEG2000读写器的实现。

驱动程序使用VSI虚拟文件API,因此它可以读取JPEG2000压缩的NITF文件。

驱动程序功能

Supports CreateCopy()

This driver supports the GDALDriver::CreateCopy() operation

Supports Georeferencing

This driver supports georeferencing

Supports VirtualIO

This driver supports virtual I/O operations (/vsimem/, etc.)

影像配准

地理参考信息可以来自不同的来源:内部(GeoJP2或GMLJP2框)、worldfile.j2w/.wld sidecar文件或PAM(持久辅助元数据).aux.xml sidecar文件。默认情况下,按以下顺序获取信息(首先列出的是最优先的):PAM、GeoJP2、GMLJP2、WORLDFILE。

允许的源及其优先级顺序可以使用GDAL_GEOREF_sources配置选项(或GEOREF_sources open选项)更改,该选项的值是以下关键字的逗号分隔列表:PAM、GEOJP2、GMLJP2、INTERNAL(GEOJP2、GMLJP2的快捷方式)、WORLDFILE、NONE。首先提到的消息来源是最优先于接下来的消息来源。将忽略未提及的源。

例如,将其设置为“WORLDFILE,PAM,INTERNAL”将使潜在的WORLDFILE优先于PAM或内部JP2框生成地理转换矩阵。将其设置为“PAM,WORLDFILE,GEOJP2”将使用上述源代码并忽略GMLJP2框。

许可证号

LURA_LICENSE_NUM_1和LURA_LICENSE_NUM_2配置选项/环境变量必须使用组成许可证号的两个数字进行设置。

期权

以下打开选项可用:

  • GEOREF_SOURCES=string :定义允许哪些地理参考源及其优先级顺序。见 Georeferencing 段落。

创建选项

  • CODEC=JP2/Codestream :JP2将在码流数据周围添加JP2框。该值由文件扩展名自动确定。如果既不是JP2也不是码流,则使用JP2编解码器。

  • GMLJP2=YES/NO :指示文件中是否应包含符合JPEG2000规范中OGC GML的GML框。除非使用GMLJP2V2_DEF,否则GMLJP2框的版本将为版本1。默认为“是”。

  • GMLJP2V2_DEF=filename :表示GML框是否符合 OGC GML in JPEG2000, version 2.0.1 文件中应包含规范。 文件名 必须指向一个包含JSon内容的文件,该文件定义了如何构建GMLJP2 v2框。见 GMLJP2v2 definition file section JSon配置文件语法的JP2OpenJPEG驱动程序的文档中。还可以直接传递作为字符串内联的JSon内容。如果filename设置为YES,则将生成最小实例。

  • GeoJP2=YES/NO :指示文件中是否应包含符合GeoJP2(JPEG2000中的GeoTIFF)规范的UUID/GeoTIFF框。默认为否。

  • SPLIT_IEEE754=YES/NO :是否将浮点32个频带编码为3个频带,其值根据IEEE-754结构进行分解:第一个频带(1位,有符号)带符号位,第二个频带(8位,无符号)带指数值,第三个频带(23位,无符号)带尾数值。默认为“否”。这是对浮点值进行编码的非标准扩展。默认情况下,符号位和指数将用可逆小波编码(即使可逆=NO),尾数用不可逆小波编码。如果指定REVERSIBLE=YES,则所有3个分量都将使用可逆小波进行编码。

  • NBITS=int_value :子字节文件(1-7)、子uint16(9-15)、子uint32(17-28)的位(精度)。

  • QUALITY_STYLE=PSNR/XXSmall/XSmall/Small/Medium/Large/XLarge/XXLarge :此属性标记用于设置有损压缩期间使用的质量模式。对于正常图像和情况(1:1像素显示,~50厘米视距),我们建议使用较小的或PSNR。对于质量测量,只能使用PSNR。默认为PSNR。

  • SPEED_MODE=Fast/Accurate :此属性标记用于设置有损压缩期间使用的速度模式。定义了以下模式。违约很快

  • RATE=int_value. When specifying this value, the target compressed file size will be the uncompressed file size divided by RATE. In general the achieved rate will be exactly the requested size or a few bytes lower. Will force use of irreversible wavelet. Default value: 0 (maximum quality).

  • QUALITY=1 to 100 Compression to a particular quality is possible only when using the 9-7 filter with the standard expounded quantization and no regions of interest. A compression quality may be specified between 1 (low) and 100 (high). The size of the resulting JPEG2000 file will depend of the image content. Only used for irreversible compression. The compression quality cannot be used together the property RATE. Default value: 0 (maximum quality). When using this option together with SPLIT_IEEE754=YES, the sign bit and exponent bands will have to be switched to irreversible encoding, which can lead to huge loss in the reconstructed floating-point value.

  • PRECISION=int_value 为了提高效率,库根据图像深度自动使用16位或32位表示小波系数。precision属性可以设置为强制库始终使用32位表示。使用32位值可能会稍微提高图像质量,降低速度和内存要求。默认值:0(自动选择适当的精度)。

  • REVERSIBLE=YES/NO :YES表示使用可逆5x3整数滤波器,不使用不可逆DWT 9-7。默认为否。

  • LEVELS=int_value (0-16):可以使用此属性设置小波变换层数。有效值在0(无小波分析)到16(非常精细的分析)之间。内存需求和压缩时间随着转换级别的增加而增加。合理数量的转化水平在4-6之间。默认值为5。

  • QUANTIZATION_STYLE=DERIVED/EXPOUNDED :此属性只能在使用不可逆筛选器(9_7)时设置。量化步骤可以从基本量化步骤导出,导出或为每个图像子带计算,阐述。在使用不可逆滤波器时,建议采用阐述的方式。阐述了违约。

  • TILEXSIZE=int_value :平铺宽度。图像可以分割成更小的平铺,每个平铺都独立压缩。可以使用这些属性设置虚拟压缩参考网格上第一个平铺的基本平铺大小和偏移量。第一个平铺必须包含第一个图像像素。建议仅对非常大的图像进行平铺。默认值:(0)一个包含完整图像的平铺。如果图像尺寸超过15000x15000,将使用尺寸为1024x1024的平铺。

  • TILEYSIZE=int_value :瓷砖高度。图像可以分割成更小的平铺,每个平铺都独立压缩。可以使用这些属性设置虚拟压缩参考网格上第一个平铺的基本平铺大小和偏移量。第一个平铺必须包含第一个图像像素。建议仅对非常大的图像进行平铺。默认值:(0)一个包含完整图像的平铺。如果图像尺寸超过15000x15000,将使用尺寸为1024x1024的平铺。

  • TLM=YES/NO :(平铺标记)平铺图像中解码区域的效率可以通过“使用平铺长度标记”来提高。平铺长度标记包含“JPEG2000码流中每个平铺的位置,允许更快地访问”平铺数据。默认为否。

  • PROGRESSION=LRCP/RLCP/RPCL/PCRL/CPRL :此属性标记可以设置文件中编码数据的组织。定义了以下级数顺序:LRCP=质量累进,LCP=分辨率然后质量累进,RPCL=分辨率然后位置累进,PCRL=位置累进,CPRL=颜色/通道累进。当与多个图层一起使用时,设置LRCP(质量)最有用。PCRL(位置)应与区域一起使用。默认为LRCP。

  • JPX=YES/NO :在编写GMLJP2框时,是否宣传JPX特性,并添加一个Reader requirement框(对于gmljp2v2,品牌也将是“JPX”)。默认为“是”。除非与读取器发生兼容性问题,否则不应使用此选项。

  • CODEBLOCK_WIDTH=int_value :Codeblock width:介于4和1024之间的两个值的幂。默认为64。注意代码块的宽度 * 代码块高度不能大于4096。为了与配置文件1兼容,代码块宽度不能大于64。

  • CODEBLOCK_HEIGHT=int_value :Codeblock height:4到1024之间两个值的幂。默认为64。注意代码块的宽度 * 代码块高度不能大于4096。为了与配置文件1兼容,代码块高度不能大于64。

  • ERROR_RESILIENCE=YES/NO :此选项提高了JPEG2000流或特殊编解码器(如硬件编码器)的容错性,以加快压缩/解压缩速度。当生成具有相同图像质量的代码流时,此选项将稍微增加文件大小。默认为否。

  • WRITE_METADATA=YES/NO :是否应将元数据写入专用的JP2“xml”框中。默认为否。“xml”框的内容如下:

    <GDALMultiDomainMetadata>
      <Metadata>
        <MDI key="foo">bar</MDI>
      </Metadata>
      <Metadata domain='aux_domain'>
        <MDI key="foo">bar</MDI>
      </Metadata>
      <Metadata domain='a_xml_domain' format='xml'>
        <arbitrary_xml_content>
        </arbitrary_xml_content>
      </Metadata>
    </GDALMultiDomainMetadata>
    

    如果有名称以“xml:BOX”开头的元数据域,它们将分别作为单独的JP2“xml”框写入。

    如果有一个名为“xml:XMP”的元数据域,它的内容将作为JP2“uuid”XMP框写入。

  • MAIN_MD_DOMAIN_ONLY=YES/NO :(仅当WRITE_METADATA=YES时)是否应仅写入主域中的元数据。默认为否。

  • USE_SRC_CODESTREAM=YES/NO :(实验性!)当源数据集为JPEG2000时,是否重用未修改的源数据集的码流。默认为否。请注意,启用该功能可能会导致JP2框w.r.t.的内容与源代码流的内容不一致。在该模式下,大多数其他创建选项将被忽略。在添加/更正地理参考、元数据等时,在某些用例中可能很有用。。。

无损压缩

如果使用可逆=是(并且未指定速率),则可以实现无损压缩。

矢量信息

包含GMLJP2 v2框的JPEG2000文件,其中嵌入了GML功能集合和/或KML注释,可以用OGR API作为矢量文件打开。例如:

ogrinfo -ro my.jp2

INFO: Open of my.jp2'
      using driver `JP2Lura' successful.
1: FC_GridCoverage_1_rivers (LineString)
2: FC_GridCoverage_1_borders (LineString)
3: Annotation_1_poly

功能集合可以从GMLJP2 v2框链接到远程位置。默认情况下,不遵循链接。如果打开选项open_REMOTE_GML设置为YES,则会执行此操作。

漏洞

在Linux 64位上正确支持带有Int32/UInt32/Float32-IEEE754-split的JPEG-2000图像需要v2.1.00.17或更高版本的SDK。

也见

其他JPEG2000 GDAL驱动程序: