7.8 SDO_GEOR.compressJP2
形式
SDO_GEOR.compressJP2( inGeoRaster IN SDO_GEORASTER, compressParam IN VARCHAR2 DEFAULT NULL, outGeoRaster IN OUT SDO_GEORASTER);
説明
JPEG 2000圧縮を使用して、GeoRasterオブジェクトのイメージを圧縮します。
パラメータ
- inGeoRaster
-
データを圧縮するSDO_GEORASTERオブジェクト。
- compressParam
-
圧縮パラメータの1つ以上のキーワードを指定する文字列。使用可能なキーワードの説明は、「使用上のノート」の表を参照してください。指定しない場合、各キーワードのデフォルト値による可逆圧縮が適用されます。
- outGeoRaster
-
圧縮の結果を格納するSDO_GEORASTERオブジェクトを指定します。既存の有効なGeoRasterオブジェクトまたは空のGeoRasterオブジェクトのいずれかであることが必要です。(空のGeoRasterオブジェクトの詳細は、「空白のGeoRasterオブジェクトと空のGeoRasterオブジェクト」を参照してください)。
inGeoRaster
と同じGeoRasterオブジェクトは指定できません。
使用上のノート
出力を圧縮したイメージはJPEG 2000(JP2)ファイル形式で、outGeoRaster
オブジェクトのラスター・ブロックに格納されます。ピラミッドが圧縮の一部としてJP2ファイルに格納されているため、ピラミッド・ラスター・ブロックはラスター・データ表に格納されません。
rlevel
キーワード(compressParam
内)で指定されていない場合、ピラミッド・レベルの最大値はfloor(log2(tsize))
として計算されます。tsize
は、行および列のtilesize
パラメータの最小値です。tiling
パラメータ値がfalse
の場合、tsize
はイメージの高さおよび幅の最小値です。
ratio
およびpsnr
を指定しない場合、圧縮は可逆です
このプロシージャは、8ビットおよび16ビットのソースGeoRasterオブジェクトをサポートします。許可されるタイルの最大数は65535です。
次の表に、JPEG 2000(JP2)圧縮の使用可能なcompressParam
キーワードを示します。
表7-1 JPEG 2000(JP2)圧縮のcompressParamキーワード
キーワード | 説明 |
---|---|
コード・ブロック行および列サイズを指定します。 |
|
個別のウェーブレット変換を指定します。 |
|
複数のコンポーネント変換を使用するかどうかを指定します。デフォルトでは、3つのバンド以上が存在する場合はRGB->YCC変換を使用します。 |
|
precinctサイズを指定します。 |
|
プログレッション順序( |
|
ピークの信号対雑音比(PSNR)を指定します。p1, p2, p3, ...は、JP2コード・ストリームのレイヤー1、2、3...の圧縮PSNRです。昇順で指定する必要があります。たとえば、psnr=(30, 40, 50)などです。デフォルトでは、圧縮は可逆です。このパラメータは |
|
圧縮率を指定します。p1, p2, p3, ...は、JP2コード・ストリームのレイヤー1、2、3...の圧縮率です。降順で指定する必要があります。たとえば、ratio=(30, 20, 10)などです。デフォルトでは、圧縮は可逆です。このパラメータは |
|
ウェーブレット変換の分解数(イメージのピラミッド数)を指定します。デフォルトでは、分解のレベルはfloor(log2(tileSize))です。 |
|
|
|
JPEG2000圧縮のタイル処理を使用するかどうかを指定します。デフォルトでは、タイル処理は |
ノート:
GeoRasterのサブプログラムに対する文字列(VARCHAR2)パラメータの中に数値がある場合は、ロケールにかかわらず、小数点にはピリオド(.)を使用する必要があります。
例
次の例では、元のオブジェクトからJPEG 2000圧縮したGeoRasterオブジェクトを作成します。JP2ファイルの内部タイル・サイズは512x512です。JP2レイヤー1、2および3の圧縮率値はそれぞれ30、20および10です。(GEORASTER_TABLEという名前の表を参照します。この表の定義は「記憶域パラメータ」の例1-1の次に説明されています。)
DECLARE gr1 sdo_georaster; gr2 sdo_georaster; BEGIN INSERT INTO georaster_table (georid, georaster) VALUES (4, sdo_geor.init('RDT_1')) RETURNING georaster INTO gr2; SELECT georaster INTO gr1 FROM georaster_table WHERE georid=1; sdo_geor.compressJP2(gr1,’tilesize=(512, 512), ratio=(30, 20, 10)’, gr2); UPDATE georaster_table SET georaster=gr2 WHERE georid=4; COMMIT; END; /
親トピック: SDO_GEORパッケージのリファレンス