書式
c44 [options] inputfilename [outputfilename]
説明
DjVuPhoto エンコード画像を生成します。 入力画像ファイル inputfilename は portable gray-map ( PGM ) または portable pix-map (PPM )のどちらでも使用できます。 入力画像は JPEG ファイルも使用できます。しかし、Wavelet 圧縮は高い圧縮率で 圧縮された JPEG に既に存在するノイズを増幅してしまうことがあるので、 圧縮率が低くファイルサイズが大きい高画質の JPEG を使用することをお勧めします。プログラムは DjVuPhoto ファイル outputfilename を作成します。 出力ファイルの名前が指定されていないと、 入力ファイルの拡張子を djvu で入れ替えたデフォルトのファイル名を生成します。
DjVu Wavelet ファイルの主な設計目標は、累積的な描画機構や限られたメモリ で巨大な画像をスムースにスクロールすることでした。デコード機能は圧縮された データを処理してメモリ上に効率的に展開した Wavelet 係数をアップデートします。 画像表示機能は使用可能なデータを使って画像の任意のセグメントを描画します。 この二つのプロセスは二つの実行スレッドとして動作します。このデザインが DjVu システムの中で重要な位置を占めています。私たちは様々な最先端の Wavelet 圧縮 方式を研究しました。これらの方式は若干小さな画像を生成することができますが、 デコード機能は私たちの要求に適うものはありませんでした。 IW44 Wavelete は今日ではこうした要求を満たしており、将来においてもより最先端の方法で これらの機能を改善してゆくことでしょう。
画質選択オプション
DjVuPhoto ファイルは論理的には連続的に補完される画像を含んだ「スライス」の集まりです。 スライスは累積的な描画シーケンスを定義する「チャンク」にまとめられます。ビューアは 各チャンクを処理した後、中間的な画像を表示することが出来ます。典型的な DjVuPhoto ファイルは 1 から 4 のチャンクにまとめられた 80 から 120 のスライスを持ちます。
画質選択オプションはチャンクの数やチャンク後とのスライス数を設定する様々な方法を 提供します。 c44 プログラムは指定したスライス数、ファイルサイズ、画質設定に達するまで 現在のチャンクにスライスを追加します。オプションの引数はカンマやプラス記号で区切られた 複数の(各チャンク毎の)数値を含みます。
- -slice n+...+n
- 各チャンクのスライス数を指定します。 オプションの引数はプラス記号で区切られた数値で、チャンク毎のスライス数を示します。 たとえば、 -slice 74+13+10 は 3 つの累積的な保管データを持った写真画像を圧縮したものです。オプション -slice 72+11+10+10 ではより高画質で、より多くの補完データを得ることが出来ます。
- -slice n,...,n
- 各チャンクのスライスの累積値を指定します。 最終的な品質はスライスの総数によって決まるため、 各チャンクのスライス数の累積値(たとえば、前の全てのチャンクにエンコードされている データを含む)をカンマ区切りの値(各チャンクに1つずつ)で指定した方が便利です。 上記の例の値は、 -slice 74,87,97 や -slice 72,83,93,103 のように書き換えることが出来ます。
- -size n,...,n
- バイト単位で各チャンクのターゲットサイズを指定します。 オプションの引数はプラス記号で区切られた各チャンクサイズのリスト、または 各チャンクとその前の全てのチャンクのサイズの累積値をカンマ区切りのリストで 指定します。ターゲットサイズは近似値です。スライスは指定されたターゲットサイズ に達するまで各チャンクに追加されます。
- -bpp n,...,n
- 各チャンクのターゲットサイズを bits-per-pixel で指定します。 カンマ区切りおよびプラス区切りで指定できます。 オプション -bpp 0.25,0.5,1 で通常は良い結果が得られます。
- -percent n,...,n
- 入力ファイルサイズのパーセンテージで各チャンクのターゲットサイズを指定します。 カンマ区切りおよびプラス区切りで指定できます。入力画像の形式 (raw または JPEG 圧縮) によって結果が大きく異なります。
- -decibel n,...,n
- 各チャンクのターゲット画質をカンマ区切りのデシベル値のリスト (次第に増える値 のリスト) で指定します。デシベル値は 16 (低画質) から 48 (高画質) の範囲で指定 出来ます。この基準は既に別の方法で圧縮された画像を再エンコードする際には当ては まりません。このオプションを選択すると圧縮時間が長くなることがあります。
- -dbfrac frac
- -quality で指定されたデシベル値が 32 × 32 ピクセルのほとんど誤りのブロックの frac 分の 1 だけの MSE 値 (mean squared errors) を平均することで計算されます。この オプションは同じ色調の部分を含むの複合画像 (おきな白い線がある画像など) で便利 です。
画質設定オプションを指定しないとデフォルトの画質設定オプション -slice 74,89,99 が自動的に選択されます。 複数の画質設定オプションを指定することが出来ます。プログラムは全ての画質設定の チャンクの最大値をチャンクの総数とするファイルを出力します。スライスはそのチャンクの ターゲット画質に到達するまで追加されます。
その他のオプション
以下はサポートされている追加のオプションです:- -dpi n
- 出力ファイルにエンコードされる解像度情報を DPI で指定します。DjVu ファイルに 書き込まれる解像度情報は、デコーダが画像をディスプレイに展開するときのどのように スケーリングするかを決定します。25 から 1200 まで指定することが出来ます。デフォルト 値は 100 dpi で、たいていの写真画像に適しています。
- -gamma n
- 出力ファイルにエンコードされるガンマ補正情報を指定します。引数 n は入力画像を作成したデバイスのガンマ値です。デフォルト値は 2.2 です。これは 標準的なコンピュータモニタで表示するために作成された値と同じです。
- -mask pbmfilename
- IW44 Wavelete のデザインは部分的にマスクされた画像の圧縮をサポートします。 このオプションは背景画像の一部のピクセルがテキストや線画などの前景 オブジェクトで重ねるときに使用します。 ファイル pbmfile は入力ファイルのサイズに一致するサイズの PBM でなければなりません。 pbmfile 中の黒ピクセルは入力ファイルの対応するピクセルの値が不適切であること を示しています。 IW44 エンコーダはマスクされたピクセルをコーディングコストが最小のカラー値 と交換します。(詳細は http://www.djvuzone.org/djvu/techpapers/mask/index.djvu を参照)
- -crcbnormal
- 普通の輝度を選択します。 輝度情報は彩度と同じ解像度でエンコードされます。これはデフォルトです。
- -crcbhalf
- 半分の解像度の輝度でエンコードします。輝度情報は彩度の解像度の半分で エンコードされます。
- -crcbdelay n
- このオプションは -crcbnormal および -crcbhalf と共に使用して、輝度情報の品質を変更します。 オプション引数 n は輝度に関連付けられたビットレートを低減するスライス数を指定します。 デフォルトの輝度エンコードディレイは 10 スライスです。
- -crcbfull
- 輝度情報のエンコードに最高の品質を選択します。これは -crcbnormal および -crcbdelay 0 を指定するのと同じです。
- -crcbnone
- 輝度のエンコードを無効にします。彩度の情報のみがエンコードされます。出力結果 はグレースケールになります。
注意
DjVuLibre 版の c44 のデフォルトの画質設定は、高く設定されているため、 高画質のサイズの大きいファイルを生成します。 画質は、画質選択オプションで低く設定することが出来ます。
不具合
エンコーダは必要以上のメモリをしょうひします。チャンクの再作成機能は現在正常に動作しません。
クレジット
このプログラムは Léon Bottou <[email protected]> が開発し、 Andrei Erofeev <[email protected]> および Bill Riemers <[email protected]> その他の方々により改良されました。 この man page は Nobchika Morimoto <[email protected]> が翻訳しました。