日記緑ログ

2006/08/04 ~ 2006/08/19

目次

戻る

Blog

PIC2 export plug-in for A to B Converter

[Create: 2006/08/04 20:37] [LastUpdate: 2006/08/04 20:46]

----2006/07/19 19:04:55

ABCのPIC2対応プラグインexpic2のα版を公開しました。

PIC2は高い圧縮率が売りの画像フォーマットです。

----2006/08/04 20:37:56

PIC2プラグインを更新し、256色、15ビット色に対応しました。

また一応1passモードにも対応しておきました。ベタは依然対応しておりません。

マ ルチピクチャはプラグインの性質上作成不可能なので未対応としてタイトル、コメント、製作者のような内部情報も対応していません。コメントはできないこと はないと思うのですが他の情報がないといまいち意味が薄いと思われるので見送りました。アスペクト比情報も保持しません。このぐらいはやってもよかったか もしれませんが正方ピクセルでないものは今はそんなにないだろうということで手抜きです。

特に15ビット変換時の処理は十分なテストをしておりま せん。16ビットビットマップを入力としてRGB555を変換します。RGB565は555に変換して処理するようにしたつもりですがそもそもファイルも 少ないだろうということもありオマケとしてつけたものなので期待はしないでください。

PIC2のライブラリを使用していますが古いライブラリでもあるためマルチスレッド環境に対応するのは難しい状況です。ライブラリを一から書き下すのも大変なので今のところこのままにしておきます。

PIC2の力

[Create: 2006/08/05 11:03] [LastUpdate: 2006/08/05 11:25]

PIC2がどのぐらいなのかを示すために実験を行いました。

ただし圧縮率は物によって異なります。あるいはコンバータによっても(特にPNGは)変化するので参考程度に。

BMP はさておき、えりちゃんは恵理ちゃんコンバーターで、PNGは圧縮レベル9で(PNGOUTとかOptiPNGという手もあるが、色が少ない場合などには パレットも変更したりして油断できないのでパス)、JPEG2000はJasPerLib.DLLにてロスレス圧縮を行いました。PIC2は拙作のABC export plug-inを使用しました。

要するにロスレスばかり集めました。使った画像はどちらも24ビットカラーのものです。

ロスレスには他にも種類がありますし、JPEGにもロスレスがあります(特許問題であまり使われていないもの)。JPEG-LSというものも出ていますが普及度がいまいちなので(ソフトも手に入らないし)やめました。

自然画とベタなアニメ絵というコンピュータ絵を用意し、それぞれ圧縮を行いました。

自然画

BMP 1,362,954

PNG 515,814

JPEG2000 407,119

PIC2 446,334

ERI 387,448

……えー、えりちゃんが一番小さくなってしまいましたがJPEG2000は小さいでしょう。PIC2は3番手です。PNGは自然画には向かないという特性がよく出ていると思います。

ベタ絵

BMP 3,402,054

PNG 973,351

JPEG2000 960,681

PIC2 784,525

ERI 972,285

ちなみにPNGOUTだと922,262

こちらはPIC2が極端に小さくなる例です。PIC2はベタ絵が異様に縮むような気がします。

JPEG2000、ERI、PNGはこの例では拮抗しています。物によってはPNGのほうががんがん縮むのですがここではそうなっていません。

場合によって、物によって、特性の違いでこれらのどれも一番圧縮率が高くなる可能性があり、逆に一番悪くなる可能性もあります。というかどれが一番縮むかとは一概に言えません。ただし縮みやすい傾向は確実に違うので物によって使い分けるのがいいでしょう。

ち なみにPNGは圧縮に時間がかかりますが展開は高速です(lz法の特性)。PIC2は圧縮はPNGより早いと思いますが展開は逆転すると思います。 JPEG2000はどちらも遅い。ERIは高速です。PNG展開より高速かどうかは微妙(おそらく遅い)のですがPIC2よりも展開は高速です。とはいう もののすべて体感の話ですが。

そもそもPNGは圧縮部分はdeflateであって古いアルゴリズムです。形式としては新しくとも実に枯れた技術を使っているのです。画像ということでフィルタをかませて圧縮率を上げているのがミソ。

PIC2は当時は遅くて困ったものだったようですが現在ではあまりストレスは感じないでしょう。一方JPEG2000はまだまだ遅いというレベルです。

速度測定もするといいのですが……。

生存確認 2006-08-13

[Create: 2006/08/13 22:14] [LastUpdate: 2006/08/13 22:35]

こういった記事が不毛なのは理解していますがずっと放置しているとまずい気がするので一つ。

7-zip32.dllの仕様とかなにかについて少し。

7-zip32.dllはzip32.dllのような怪しい癖がなく使いやすいので最近人気のようですが個人としてはUnicodeが重要項目なのではないかとにらんでいます(そもそもZIP書庫はオマケというか7-zip形式への移行のための布石だと考えています)。

ZIP 書庫のUnicodeファイル名についてはおいておいて(今のところ使えないと思う)、4.31.00.03ではファイル名のリストファイルでUTF-8 に対応できないというような話もあります。4.42系では対応するようですが7-zip32.dllではまだ正式版が公開されておりません(テスト版はあ るが)。これについては我慢するかテスト版を使うことで回避するしかないでしょう。一般向けには要求しにくい制限です。

また、書庫自体の パスにUnicode文字が含まれるとがっかりする結果になる場合があります。g_IsNTという内部変数が初期化されないために起きる現象で SevenZip APIを一度呼び出せば解消されます。Akky氏に報告しまして次のバージョンでは対応してくださることになっております。ちなみにLHMeltではこれ に引っかかるので(Ver 1.51b現在)、Unicodeパスが含まれるzip書庫を関連付けで起動したりするとぐったりします。DLLのロード時にSevenZipを空呼び出 しすれば以降は問題なくなるわけですがおとなしく次期バージョンを待つほうが賢明でしょう。

ちなみに私はこういった互換性問題が出てきた ときにはDLLのバージョンをチェックして新しいバージョンにするように促し、古いバージョンでは使えない状態にするのが適切だと考えます。とはいっても 古いバージョンしか手元に無くてバージョンアップできないとなると困るのですが。まあ十年前ならともかく今ならというところです。駄目かな。

48bit Bitmap

[Create: 2006/08/16 19:52] [LastUpdate: 2006/08/16 20:00]

あ まり見ませんがというかまず見ませんが48bitというとRGB各色16ビットのビットマップになります。十年近く前だと記憶しますがPC雑誌にフィルム スキャナが出ていて48bitのTIFFで取り込んでレタッチしたという記事が載っておりました。夜景ビルで24bitでしょりすれば暗部がつぶれるとこ ろを48bitでというような趣旨だったでしょうか。

現在は民生スキャナでも48bitに対応しているものが多い(ほとんどそうかもしれない)。

ただし実際に48bitの画像データを扱えるソフトはそう多くない。まあ無いわけではないのだが。

というわけでとりあえず取り込んで保存するものを作ってみて考えるのだがフィルタ処理をして吐き出すしょぼいツールがあるといいかもしれないな。と思った次第。実際作るかは別として。作るとなると仕様も考えないといけないな。

TWAIN画像取得(48bit対応)

[Create: 2006/08/17 18:03] [LastUpdate: 2006/08/17 18:07]

過去ログ置き場にTWAIN機器から画像を取得するものを置いておいた。

余計な制限をしていないので結構色々取得できるのではないかと思うのだが主旨としては48bitで画像を取得できるものが欲しかっただけだ。

自分用なので実に作りも適当で保存場所すら選べない。カレントディレクトリに8桁の数値連番で吐き出すだけである。

一応48bitのビットマップが作成できていると思う。

つくりがこんななので正式公開とはしない。

48ビットで画像をスキャナから取得したいというようなときに使えるかもしれない。

48bit Bitmap Filter

[Create: 2006/08/19 19:49] [LastUpdate: 2006/08/19 19:52]

過去ログ置き場に48ビットビットマップのフィルタリングツールのテスト版をおいてみた。

フィルタはDLLとして分離してゆくゆくはGUIつけてウハウハな予定。現在はフィルタは試しに適当に作ったやつ一つで、本体側も決めうちしているので汎用性はない。

DLL仕様についてはドキュメントを用意して公開したいとも考えていますが、飽きたりしたらまたやめちゃうかも。そもそも需要があるのかどうかすら不明ですし本格的にやりたい人はそれなりのソフトを買うんじゃないだろうかという一抹の不安もあります。