Susie32 plug-in Library

Jpeg Decorder for Susie32 plug-in Ver 0.11
(Progressive JPEG/J6I/PMP対応版)
Document: kana
Date: 2001/02/11
目次
  1. はじめに
  2. 歴史的流れ
  3. おことわり
  4. 動作環境
  5. インストール
  6. 設定項目
  7. 参考文献
  8. Exifについての補足
  1. 連絡先
  2. 配布について
  3. 免責について
  4. おまけ、バグ報告について
  5. 謝辞
  6. 利用したソフトウェア
  1. 履歴
    1. はじめに

      このPlug-inの利用は推奨されていません。 今後は Dummy JPEG Plug-in と IFJPEG.SPI との組合せへ移行されることを推奨します。 本ドキュメントはこのことを記載するために更新されました。


    2. 歴史的流れ
      1996年以前

      本家 Susie Plug-in Package 0.05に附属のIFJPEG.SPIはプログレッシブJPEGには未対応でした。

      1996年後半

      IFJPEGV6.SPIをプログレッシブJPEGを読むことを目的に作成、公開しました。 1999年9月まで私の趣味と利用者からのフィードバックにより(速度以外の面で)機能拡張されました。

      1999年9月4日

      Progressive JPEG Plug-in Ver 0.11の公開。IFJPEGV6.SPIとしてのおそらく最終版です。

      1999年9月20日頃

      本家 IFJPEG.SPIもプログレッシブJPEGのβ版が公開されました。 その後、J6I、Exifへの対応をしていただきました。

      2001年4月11日

      本家 Susie Plug-in Package 0.06が公開されプログレッシブJPEG対応のIFJPEG.SPIが正式にリリースされました。 その後いくつかの不具合が修正されたSusie Plug-in Package 0.07(SPI32007.LZH)が公開され現在(2002/02/11)にいたります。

      IFJPEG.SPIがプログレッシブJPEGに対応したことによりIFJPEGV6.SPIは引退することとなりました。 ただし、一部の機能的な違いがあり、これが必要な方に向けてDummy JPEG Plug-inというものをリリースしています。

    3. おことわり

      このソフトウェアはメンテナンスが終了しています。 今後バグが発見されても修正されることはまずありませんが、 バグ報告自身はDummy JPEG Plug-inの方に反映していく予定でいます。 バグ報告をしてはいけないということはありません。

      また、本ドキュメント作成時に既に以下の不具合があることが確認されています。

      • 「Exifをサポートする」時に一部のExifタグ(Maker/Model/Date)が存在しない場合に落ちる
    4. 動作環境
      OS:
      Windows NT3.51/Windows NT4.0/Windows95/Win3.1+Win32s1.3C (Susie32が動作する環境と思ってくれればOKだと思います)
      RAM:
      出力イメージx2+αぐらい
      DLL:
      特に必要なし
    5. インストール

      setup.batという単純なインストーラが付属しているのでこれをSusieを実行していない状態で動作させればほとんどの場合はうまくいくと思いますが、 NT4.0SP3/Win95a上でしか確認していません。またWin32s環境では動作しない筈です。 setup.batは次の手順を実行します。 setup.batがうまく動作しない場合には同様の事を手作業で行なう必要があります。

      1. Susieと同じディレクトリに本Plug-in(ifjpegv6.spi)をコピーします。
      2. 本家のPlug-in(ifjpeg.spi)を他のフォルダへ移動させるか、 Susie Ver0.40以降のプラグインの設定ダイアログでifjpeg.spiを使わないようにします。
      3. J6I/PMP Plug-in相当の機能を内蔵していますので従来のJ6I/PMP Plug-inは使わないようにしてください。
    6. 設定

      Susie Ver0.40以降を使用することで以下のPlug-inの設定項目を変更できます。 タスクトレイ上のSusieのアイコンをクリックすると表示されるメニューから [ファイル]->[設定]と選択するとSusieの設定用のウィンドウが表示されます。 このウィンドウのコンボボックスから[プラグイン]を選択し、 その時に表示されるPlug-inの一覧からifjpegv6.spiを探しその横にある [設定]ボタンを押すと本Plug-in用の設定ダイアログが表示されます。

      1. JPEG設定
        1. 追加のファイル拡張子を指定する[Default: Off]

          「*.JPEG」や「*.JFIF」ファイルを[ファイル]-[ダイアログ]で表示させるために Jpeg Plug-inでサポートされる追加の拡張子を指定できる様になりました。 指定された文字列は特にチェックしてませんので使用する際には慎重にやってください。 また関連付けを行うと他のアプリケーションにも影響がある事を念頭において操作してください。 何かあった時に元に戻す自信がなければ関連付けは行なわないでください。 実際の指定はPlug-inの設定ダイアログで行います。 指定は次のような感じで行います。
               *.JPEG;*.JFIF
          複数指定する場合は、上のように;(セミコロン)で区切ります。

        2. Exifをサポートする[Default: On]

          一部のデジタルカメラが出力するExif、Tiff/EPフォーマットのJPEGファイルにお いて撮影日などの情報を内蔵DOC(コメント)として出力します。 またサムネイルファイルがある場合はプレビューやカタログ作成時に利用しようとします。

          このオプションを有効にしている場合にExifファイルでありJPEGコメントも存在する画像ファイルではExif情報がコメントとして出力されます。 そのような画像ファイルにおいてJPEGコメントを見たい時はオプションをOffにしてください。

        3. 最初のSOIマーカを探す[Default: On]

          JFIFフォーマットの先頭に小さなヘッダらしきものがついたファイルを読めるようにするために最初のSOIマーカを検索します。 誤動作するようでしたらOffにしてお使いください。 また一部の画像関係のアプリケーションが作成するカタログファイルなどに反応することもあります。

        4. JPEGファイル内のpixel aspect ratioを無視する[Default: On]

          Ver0.10からはJPEGファイル内のpixel aspect ratioをデフォルトで無視しています。 このため正しくpixel aspect ratioが記録されたJEPGファイルでは期待した動作をしません。 このような場合にはoffにしてください。

          不正なpixel aspect ratioで記録するツールがなくなることを祈っています。

        5. DCT Method[Default: int]

          JPEG展開時のパラメータを指定します。通常はそのままでよいでしょう。 floatを指定することで品質が上がりますがかなり速度が低下します。

        6. Up sampling[Default: TRUE]

          JPEG展開時のパラメータを指定します。通常はそのままでよいでしょう(機能している筈ですが設定ダイアログからは指定できません)。

        7. Dither[Default: FS]

          JPEG展開時のパラメータを指定します。通常はそのままでよいでしょう(機能している筈ですが設定ダイアログからは指定できません)。

        8. Previewサイズ[Default: 1/4]

          カタログ時に出力される画像サイズを指定します。 カタログ時に取得するサイズを1/4と仮定しているアプリケーションでは設定を変更すると正しく表示されない可能性があります。 このような場合には1/4を指定してください。 Susieではこの問題はありません。 またautoを選択した場合は元の画像サイズに応じて1/1〜1/8の間で出力サイズを自動的に選択します。

          Exifサムネイルでは格納されているままの大きさで出力されるのでこの指定は意味を持ちません。

        9. Exif Preview[Default: JPEG / 無圧縮(RGB)]

          Exifサムネイルの対応度を指定します。 現状は埋め込みJPEG / 無圧縮(RGB) / 無圧縮(YCbCr)がデコード出来ますが、 無圧縮(YCbCr)は画像の品質がよくなかったためデフォルトではデコードしません。

          設定ダイアログからは指定できません。 変更するにはレジストリの HKEY_CURRENT_USER\Software\kana\ifjpegv6 のExifPreviewLevelの値を変更します。 TIFF(YCbCr)もデコードさせるにはこの値をe(16進)にします。

        10. 破損ファイルを警告する[Default: On]

          ファイルと途中で切れているような場合にダイアログを表示して警告します。 警告ダイアログでは続行するかどうかを問い合わせます。 「はい」でデコード出来る範囲で表示し、「いいえ」で「破損ファイル」エラーとなります。 この際に「常に確認する」のチェックを外すとそれ以後確認しなくなります。 再度確認するには「破損ファイルを警告する」にチェックを入れます。

          ここで言う破損ファイルとはデコード中にファイル終端に至ったものですが、 現在はEOIマーカをチェックしていないので必ずしも正確ではありません。

      2. J6I設定
        1. J6Iをサポートする[Default: On]

          RICOH社のデジタルカメラDC-1/1S/2/2Lの画像ファイル(J6Iフォーマット)を読めるようにします。 これは従来あったJ6I Plug-inとほぼ同等です。 従来のJ6I Plug-inとの共存利用はしてはいけません。

        2. 画面の端より削除

          DC-1/2で撮影した画像の左右の両端にあるゴミ領域を削除するための設定です。 上下左右の端から指定されたドット数が削除されて出力されます。

      3. PMP設定
        1. PMPをサポートする[Default: On]

          Sony社のデジタルカメラであるCyber-Shot(DSC-F1/F2/F3)の画像ファイル(PMPフォーマット)を読めるようにします。 これは従来あったPMP Plug-inとほぼ同等です。 従来のPMP Plug-inとの共存利用はしてはいけません。

        2. 回転情報を利用[Default: On]

          PMPファイル内にある撮影時の回転情報を利用して出力される画像を回転させます。 ただし内部で使っているDIB操作ルーチンが24bitカラーしか扱えないのでセピアで撮影したものは回転出来ないと思います。

        3. 色補正する[Default: On]

          PMPファイルの色補正を行ないます。 これでしっくりくるのかどうかはちょっとわかりません。

    7. 参考文献
      Exifのコメント対応のために以下のWebページを参考にしました。GET_DS7の ページは大変分かり易い解説でした。 PMPへの対応のために以下の情報を参考にしました。ありがとうございました。

      J6Iへの対応のために青木康雄@kani さんが作られた解説文書を参考にしました(ブックマークを紛失してしまってURLがわからなくなりました)。 サンプル画像はみなみ@smlさんよりいただきました。 ありがとうございました。

    8. Exifコメント出力の補足

      [Exifをサポートする]場合に出力される可能性のあるコメント情報には以下のものがあります。 ただしデジタルカメラの種類によってはすべての項目が表示されるわけではありません。

      1. シャッタースピード(shutter speed)
      2. 露出時間(exposure time)
      3. 画質(compressed bit per pixel)
      4. F値(F Number)
      5. 露出プログラム(exposure program)
      6. ISO感度(ISO speed ratings)
      7. 露出(Exposure bias value)
      8. 測光方式(metering mode)
      9. ホワイトバランス(lighting source)
        NIKON製のデジタルカメラの場合のみスピードライト・プリセットが表示される可能性があります。
      10. フラッシュ(Flash)
      11. 焦点距離(focal length)
    1. 連絡先
      バグの報告/感想/要望は以下のアドレスにお願いします。
      Internet E-Mail: VIRUS対策でここでは示しません
      NiftyServe: VIRUS対策でここでは示しません
      Web: kana's Home Page

    2. 配布について

      配布に関しては禁止させてください。 "どうしても"という場合はその理由を添えてお問い合せください。 代替の方法がなく妥当だと判断した場合は返事します。


    3. 免責

      お約束ですが、本ソフトウェアは無保証です。このプログラムの使用に起因 するいかなる事態も責任を負いかねます。利用者の責任においてお使いください。 またバグ・不具合の報告は受けますが作者には修正の義務などはないことはご承知ください。


    4. おまけ、バグ報告について

      バグ報告時には以下の項目についても確認してください。 またなるべく不具合の状況は詳しく説明してください。 報告を受ける方は報告内容からしか推測することができませんから 「こんなことは関係ないだろう」 と省略するよりは説明するようにしてください。

      1. 使っているPlug-inのバージョン
      2. どんな現象が発生しますか?。
      3. その現象はすべてのJPEGファイルで発生しますか?。
      4. トラブルシューティングを読んでも解決できませんか?。
      5. Susieのインストールディレクトリに本Plug-inだけがある状態でも発生するか
      6. たけちんさんのJPEG Plug-in(ifjpeg.spi)でも発生するか
      7. Susieでの操作上の問題ではないか。
      8. そのJPEGファイルが読めるツールが他に存在するか
      9. Exifサポート設定をOn/Offして現象に変化があるか
      10. SOIマーカ検索設定をOn/Offして現象に変化があるか
      11. JPEGファイル内のpixel aspect ratioを無視する設定をOn/offして期待しているように表示されませんか
      12. 他に気がついた点

      正直に言ってトラブル報告の大半は「トラブルシューティング」で解決出来ます。 もちろん私の記述が不適切なせいで記述してある項目に該当しないと思われることはあると思います。 その場合にも注意深くもう一度これらの項目を確認してください。


    5. 謝辞

      最後に、Susieという素晴らしいツールを作られた たけちん さんと利用しやすいJPEGライブラリをリリースされているIJG、 それと沢山のバグにも懲りずに使ってくださっている皆様に感謝します。

    6. 利用したソフトウェア

      デコーダ部はIJG(Independent JPEG Group)が作成したjpegsrc.v6b.tar.gzを ベースとしています。
      This software is based in part on the work of the Independent JPEG Group.

    1. 履歴
      02/02/11: Ver0.11
      ・取り扱い等に関する変更に伴なう記載事項を現状にあわせて反映
      ・取り扱い変更に伴なう同梱ファイルの見直し
      99/09/04: Ver0.11
      ・ExifファイルでJPEGコメントが存在する時にExif情報がコメントとして出力されないことがあった(Thanks 0-sumさん)
      99/08/19: Ver0.10.1(Ver0.10は破棄してください)
      ・0.08p-4以降でトレイラの破損したJPEGファイルが読めなくなっていた(Thanks moriさん)
      ・破損ファイルの定義を修正
      99/08/15: Ver0.10(Ver0.09.1〜Ver0.09.9)
      ・ドキュメントを修正して Ver0.10 正式版リリース
      ・破損ファイルの警告を表示するようにした(GetPicture時のみ)
      アスペクト比無視のオプションのデフォルト値を変更
      ・ダイアログサイズを少し小さくしたが相変わらずVGA環境では大きい
      ・Exifサムネイル中のJPEG,無圧縮のTIFF/YCbCr,TIFF/RGBに対応(GetPreview時のみ)。ただしTIFF/YCbCrはデフォルトではデコードしない。
      ・BigEndian(MM) Exifでクラッシュする場合があったのを修正(Thanks 寺田さん)
      ・Exifコメント情報の追加(Thanks 武智さん、佐藤さん、GENさん)
      ・PMPファイルの画像回転方向が(やはり)逆だったので修正(Thanks 藤原さん)
      ・GetPluginInfo(5,...)が問答無用で返却するのを少し修正、完全ではない
      98/12/01: Ver0.09(Ver0.08p-1〜Ver0.08p-9)
      ・JPEGファイル内のアスペクト比を無視するオプションを追加(Default:Off)
      ・英語リソースでのフォントがMSゴシックだったのをMS San Serifに修正
      ・プログレスモニター処理を変更(ちょっと軽くなったかも?)
      ・MDデータ経由で取り出したPMPファイルが読めないのを修正(Thanks Murakamiさん)
      ・GetPictureInfoで返却する拡張子のパターンを修正(*.JPG;*.J6I;*.PMP)
      ・Win32sで設定ダイアログが表示できませんでした(Thanks 高沢さん)。
      ・Win32s環境での設定の保存ができていませんでした(Ver0.07から存在するバグ)。Windowsディレクトリにifjpegv6.iniファイルを作って保存します。
      ・JPEGライブラリをjpegsrc.v6からjpegsrc.v6bに変更
      ・「Exifをサポートする」時にExifファイルのコメント処理中にAPエラーで落ちてしまうことがあるのを修正
      ・(v0.45までの)Susieから128byteを越えるファイル名を読み込もうとした時にAPエラーとなるのを回避
      ・書庫内の破損ファイルでもなるべく途中までの結果を表示するように変更。
      ・0.08p-2でメモリインタフェースのバグ。書庫内ファイルの表示が不正となるのを修正(Thanks 計さん)
      ・J6I/PMP Plug-inの機能を内蔵
      ・プレビュー/カタログ動作時の出力画像を変更(Previewで1/4,1/8,autoが選択可能)
      ・JPEG展開時のパラメータを一部指定できるようにした
      ・手抜きなインストーラの添付
      ・SOIマーカを検索するオプションを追加(Default: On)
      この時にPSDファイル内の(サムネール用の?)JPEGファイルに反応してしまうのをPSD用のPlug-inがインストールされている時に回避(Susie0.45aでの処理に依存しているために他のアプリケーションでは駄目かと思われる)
      98/03/08: Ver0.08
      ・Exifフォーマットの際のコメント情報を出力(APP1マーカの情報を出力しています)。 本来のコメントがある際にはどちらか一方しか出力されません。
      ・出力されるBITMAPヘッダを修正
      97/11/16: Ver 0.07
      ・連絡先を訂正
      97/08/16: Ver 0.07(Ver 0.06a〜0.06c)
      ・設定ダイアログで追加の拡張子を設定できる様にしました。
      ・JPEGファイル確認方法を変更しました。
      これでExifも読めると思います(Thanks 坂部 さん)
      ・内蔵DOCに対応しました(Thanks トミー さん、おかげで思い出しました)。
      ・実際に展開できないファイルを「破損ファイル」として扱う
      97/07/05: Ver 0.06
      ・Photoshopが出力するCMYKファイルが読めない(落ちてしまう)件の修正。 CMYK(YCCK?)->RBG変換はK成分を利用していません (どうするのが正しいのでしょうか?)。(Thanks ささ さん)
      ・Ver0.05以前よりもしかするとファイルの誤認率があがっているかもしれません。
      ・出力されるBITMAPのヘッダを少し修正
      ・ドキュメントをちょっとあっさりめにした。
      97/03/04: Ver 0.05
      ・GetPictureInfo()の関数値がエラー時と正常時に逆だったようです。(Thanks たけと98 さん)
      97/02/28: Ver 0.04.1
      ・ライブラリをスタティックリンクするように変更しました。 これはMSVCRT40.DLLがなくても動作させるためです。 そのためファイルサイズが増加しています。 これに伴いDLL同梱版を廃止します。
      96/10/31: Ver 0.04
      ・実害は無いのですが、いらつくという話もありましたのでプログレスバーの挙動がおかしかったのを修正しました。
      96/10/02: Ver 0.03
      ・書庫内ファイルがうまく読めなかったのを修正(エンバグしていたらごめん)
      ・Susieのaboutに出るバージョン番号が更新されていなかったのを修正
      96/09/28: Ver 0.02
      ・Mac Binaryに対応していなかったのを修正。
      榊原薫奈緒子さんのANALOGを見ていて気がついた。 そろそろ虫さんはつぶれただろうか?
      96/09/24: Ver 0.01
      ・先頭2kbyteでヘッダ解析の終了しないファイルについての救済措置を入れた (ちょっとad-hocなやりかた See NOT_JPEG.TXT)。
      96/09/16: Ver 0.00 Release2
      ・初版公開版
      96/09/15: Ver 0.00 Release1
      ・初版公開版(しようと思ったけど無限ループ地獄バグが見つかって中止)