csepdjvu(1) 分割データファイル用 DjVu エンコーダ

書式

csepdjvu [options] [sepfiles]... outputdjvufile

説明

このプログラムは分割されたデータファイル sepfiles から DjVuDocument ファイル outputdjvufile を作成します。 分割あされたデータファイルの名前の代わりにダッシュを一つ入力すると 標準入力からデータを読み込みます。この機能はパイプから csepdjvu へ分割されたデータをプッシュする別のプログラムと組み合わせて使用する ためにあります。

それぞれの分割データファイルは一つ以上のページ画像を表します。プログラムの引数 がマルチページを指定している場合、全てのページはバンドルド形式の文書としてエンコード されます。引数にシングルページを指定した場合、ページはシングルページとして保存されます。

オプション

-d n
出力ファイルにエンコードされる解像度情報を DPI で指定します。DjVu ファイルに 書き込まれる解像度情報は、デコーダが画像をディスプレイに展開するときのどのように スケーリングするかを決定します。25 から 1200 まで指定することが出来ます。デフォルト 値は 300 dpi です。
-q n,...,n
-q n+...+n
IW44 出エンコードされる背景レイヤの画質を指定します。 オプション引数はチャンクごとにカンマやプラス記号で区切られた複数の数値を指定します。 オプションは c44 プログラムの -slice オプションと同様です。 詳細は c44(1) の man page をご覧ください。 デフォルトの画質設定は -q 72,83,93,103 です。

このオプションは、分割データに指定されてる野ではなく DjVu の仕様上必要な 真っ白の背景には適用出来ません。こうした背景画像は常に可能な限り低い解像度 と色の均一性を保証する標準の画質設定を使用します。

-v
各ページを示す短いメッセージを表示します。
-vv
変換中に付加的な情報を表示します。

分割データファイル形式

それぞれの分割データファイル形式は複数の分割ページ画像の関連情報を持っています。 各ページは論理的には透明な前景レイヤと、透明なピクセルから透けて見える背景レイヤ を持ちます。各分割されたページ画像のデータは以下のデータブロックの連続です:

*
「カラー RLE 形式」または「白黒 RLE 形式」 でエンコードされた前景画像。形式はこのセクションの後半で解説します。
*
"Portable Pixmap" ( PPM ) でエンコードされたオプションの背景画像。 この良く知られたフォーマットはこのセクションの後半で解説します。背景画像 が無い場合は単に真っ白な背景があると仮定します。
*
"#" 記号で始まってラインフィード文字で区切られる任意のコメント行。最初の語句が 大文字で始まるコメント行は将来の拡張のために予約されています。

背景画像の大きさ (幅と高さ) は前景画像のサイズを 1 から 12 で割った値を切り上げ で縮小したものでなければなりません。たとえば、前景画像の幅が 2,507 で 3 で割って 縮小する場合、背景画像の幅は (2507+2)/3 の整数値になります。

カラー RLE 形式

カラー RLE 形式はインデックスカラー用のシンプルな run-length エンコードです。 データは常に "R6" の二文字、列数、行数、パレットエントリの数のテキストヘッダ で始まります。全ての数値は 10 進数の ASCII コードで表されます。 これらの四つの要素は空白文字 (スペース、タブ、キャリッジリターン、ラインフィード) または、"#" で始まるコメント行で区切られています。最後の数字には通常ラインフィード 一文字が続きます。

ヘッダの後にはカラーエントリ毎に 3 バイトのカラーパレットが続きます。各バイトは RGB のからコンポーネントを表します。

パレットの後には各色に相当するピクセルの run を示す 4 バイトの整数 (最も 重要なビットが最初) の集まりが続きます。最初の 12 ビットはパレットエントリの
 run のカラーインデックスを示します。0xff0 より大きいカラーインデックスは 予約されています。カラーインデックス 0xfff は透明な run に使用されます。各 行は画像の幅に達するまで追加される run のシーケンスを示します。行は最初の行 から始まって最後の行まで連続的にエンコードされます。

白黒 RLE 形式

白黒 RLE 形式は白黒画像用のシンプルな run-lenght エンコードです。データは 常に "R4" の二文字、列数、行数のテキストヘッダで始まります。全ての数値は 10 進数の ASCII コードで表されます。 これらの三つの要素は空白文字 (スペース、タブ、キャリッジリターン、ラインフィード) または、"#" で始まるコメント行で区切られています。最後の数字には通常ラインフィード 一文字が続きます。

ファイルの残りの部分は交互に現れる透明なピクセルと黒いピクセルの run の長さを 示す数値のシーケンスがエンコードされます。行は最初の行から始まって最後の行まで 連続的にエンコードされます。各行は白の run から始まります。デコーダは run の長さ が画像の列数に一致している場合、行が終わっていることが分かります。0 から 191 は 一つのバイトの 0x00 から 0xbf で表されます。192 から 16383 は 2 バイトシーケンス で表されます: 最初のバイトは 0xc0 から 0xff の範囲で 6 つの最も重要なビットをエンコードし、 二つ目のバイトは残りの 8 ビットをエンコードします。この方法は run が黒ピクセルで 始まっていたり、16383 を超えるような非常に長い run を分割する必要がある場合に 便利な、長さ 0 の run を可能にします。

Portable Pixmap (PPM) 形式

Portable Pixmap 形式はカラー画像の形式として良く知られています。詳細については ppm(1) の man Page をご覧ください。

データは常に "P6" の二文字 、列数、行数、およびカラーコンポーネントの最大値 (通常は 255) からなるテキストのヘッダで始まります。全ての数値は 10 進数の ASCII コードです。 これらの三つの要素は空白文字 (スペース、タブ、キャリッジリターン、ラインフィード) または、"#" で始まるコメント行で区切られています。最後の数字には通常ラインフィード 一文字が続きます。

残りのファイルは全てのピクセルをエンコードします。各ピクセルは RGB を示す 3 バイトの値で表されます。ピクセルは左から右へ、上から下へ並べられます。

クレジット

このプログラムは Léon Bottou <[email protected]> が開発し、 Bill Riemers <[email protected]> その他の方々により改良されました。 この man page は Nobchika Morimoto <[email protected]> が翻訳しました。

参照

djvu(1)、 ppm(5)、 c44(1)