« 2008年1月 | トップページ | 2008年4月 »

2008年3月

[日記]GIF変換時の画像品質

 現在画像ビューアの総合テスト中ですが、パレットを最適化したものの、Java組み込みのディザでは変換画像品質が今ひとつです。

 そこで、誤差拡散によるディザを実装することにして、特許庁の資料室の情報を参考に実装作業を行いました。

 上の画像が誤差拡散法によってJPEGからGIFへ変換した画像です。下のPNG画像(24ビットカラー)と比べても遜色の無い品質にすることができました。

 ただし、問題が無いわけではありません。

 現時点では、パレット最適化と誤差拡散処理の効率が良くないため、PNG変換時の10倍以上(画像サイズが大きくなればもっと)かかっています。当初は、4月1日リリースする予定でしたが、処理効率向上のためリリースを遅らせざるを得ません。

GIF画像
Mm21_025_5

PNG画像
Mm21_025_3

誤差拡散法参考資料:

http://www.jpo.go.jp/shiryou/s_sonota/hyoujun_gijutsu/denshi_sukashi/1_a_1_3.htm

| | コメント (0) | トラックバック (0)

[日記]画像ビューア1.4の単体テスト完了

 画像ビューア1.4の単体テストが完了しました。

 今回のバージョンでは、アニメーションGIFの表示・変換機能を追加し、前バージョンで気になっていたGIF変換時のパレットの最適化を行うようにしました。

 あとは、総合テストを行って、問題が無ければ4月1日にリリースする予定です。

 なお、コンバージョンで実装を予定していたアニメーション情報をテキストファイルに出力する機能は、将来実装予定のGIFスライドショー作成機能とのからみで割愛しました。

| | コメント (0) | トラックバック (0)

[日記]アニメーションGIF変換問題(その2)

 16色画像のアニメーションGIF変換時に透過色が正しく処理されない問題が解決しました。

 以前の処理では、高レベルの画像処理クラスを使って処理していたのですが、どうに思うような出力が成されないので、出力形式に変換した画像の透明ピクセルの値を透明色インデックス値に置き換えるという直接的な方法で対処しました。

 処理フローはこんな感じです。

  1. 内部形式画像(ARGBの4バンド)から全ピクセルのアルファ値配列を取得する。
  2. 出力形式画像(カラーインデックスのみの1バンド)から全ピクセルのカラーインデックス値配列を取得する。
  3. カラーインデックス値配列に対して、対応するアルファ値配列の値が0(完全に透明)の場合、透過色カラーインデックスを設定する。
  4. 透過色設定済みのカラーインデックス値配列を出力形式画像に設定する。

 高レベル画像クラスを使った解法もあるかもしれませんが(多分あるでしょうね…)、この方法で16色から256色まで完璧に対応できるので、今回はこれで解決とします。

| | コメント (0) | トラックバック (0)

[日記]アニメーションGIF変換問題点

 アニメーションGIF変換処理ですが、一通り動いたと喜んだのも束の間…。

 現在の処理では16色画像の場合に透過色を正しく処理できないことが発覚しました。JavaのイメージIOクラスの理解度が足りないって事ですね。

 再度、文献を調べて、処理の見直しが必要です。

| | コメント (0) | トラックバック (0)

[日記]画像ビューアのアニメーションGIF変換機能

 3月24日から画像変換機能にアニメーションGIF変換機能を組み込む作業を行っていますが、ようやく一通り動作するようになりました。

 ところが、画像サイズを変更すると透明部分が非常に汚くなります。これは画像サイズ変更時の補正処理で透明ピクセルが完全な透明でなくなるのが原因です。しかし、変換サイズが2の倍数とは限らないですから、補正処理は必須です。

 そこで、データサイズは大きくなりますが、画面表示時の画像をフレーム化して対応する事にしました。この対応方法では、データサイズが大きくなる他に、元画像のアニメーション情報のフレーム画像サイズ、位置、フレーム後処理情報も失うことになるのですが、アニメーション画像が汚くなっては本末転倒ですからね。

 結局、なんだかんだで、アニメーションGIF変換対応は、今週いっぱいかかりそうです。

| | コメント (0) | トラックバック (0)

[日記]画像ビューアにアニメーションGIF表示機能を実装

 先週から今週頭にかけてFirefoxのJava1.6u5アップデート問題対策や、同じくFirefoxのミコエース不具合対策で時間をとられましたが、そちらが一段落したので画像ビューアのアニメーションGIF対応に着手しました。

 で、本日、ようやくアニメーション表示できるようになりました。

 次は、画像変換機能の実装です。

 予想コード量からすれば一日くらいでコーディング完了すると思うのですが、少々疲労が溜まってます。

 1~2日休んでから作業を再開することにします。

| | コメント (0) | トラックバック (0)

[日記]お気に入りバー2.5リリース

 今週は、画像ビューアにアニメーションGIFの実装を行うつもりでしたが、最新のJavaを導入したらFirefoxでアプレットが動かなくなってしまったという報告を受けたので、実装作業を中断して対策方法の調査や告知を行いました。

 調査作業の最中に、FirefoxやOperaをお気に入りバーから起動できたらいいのにと思ったので、お気に入りバーにデフォルト以外のブラウザも起動できるコンテキストメニューを追加しました。ついでに、以前から実装するつもりで気になっていた、ロストサイトのアイコンダウンロードをスキップするオプションも追加しました。

 残るのはベクターへ差替え依頼をする作業だけ。

 作業が一段落したら、夜はきちんと寝る生活に戻そうとは思ってるのですが、結局、今週も昼も夜も無い生活になってしまいました。

| | コメント (0) | トラックバック (0)

[Java]【重要】FirefoxでJREを最新にするとアプレットが動作しなくなる問題

 Firefoxをご利用の場合、最新のJRE(1.6.0_05)を導入するとアプレットが動作しなくなるとの報告を受けました。調査しましたところ、Firefoxのプロキシ設定が「インターネットに直接接続する」となっている場合は、JREのネットワークプロキシ設定を「ブラウザの設定を使用」から「直接接続」に変更すれば動作するようになります。

 本情報は、JREまたはFirefoxで対策がとられるまでの対処方法としてご紹介します。なお、参考までにWindows環境でご利用の場合の設定変更方法を以下に示します。

  • コントロールパネルからJava(TM)コントロールパネルを開く
  • 基本タブのネットワーク設定ボタンをクリックしてネットワーク設定ダイアログを開く
  • ネットワークプロキシ設定を「ブラウザの設定を使用」から「直接接続」に変更して「了解」ボタンをクリックしてダイアログを閉じる
  • Java(TM)コントロールパネルでも「了解」ボタンをクリックしてダイアログを閉じる

 情報出典:おしえて BP! FirefoxでJavaをアップデートしたら致命的な不具合が!
 http://oshiete.nikkeibp.co.jp/qa3846255.html

| | コメント (0) | トラックバック (0)

[日記]2ヶ月ぶりの更新

 先日アリスプロジェクト終了のお知らせが来たのをきっかけに、ブログの更新を2ヶ月もサボってる事に気付きました。アリスプロジェクトサイトも閉鎖されるので、そちらへリンクを張った記事を削除しました。

 1月初旬から開発中だった「ミコソフト画像ビューア」も作業が一段落したのでリリース。

 まだまだ、追加したい機能がありますが、最低限欲しかった画像閲覧機能と変換機能は実装したので気持ちに余裕もできて、久々のブログ更新です。

 あー…、Javaアプリケーションの書き方についての記事も、書き始めだけで止まってますね。うーん、先日の絶望先生ではありませんが、義務ってわけでもないですし、まあ、適当にやりましょう。

| | コメント (0) | トラックバック (0)

« 2008年1月 | トップページ | 2008年4月 »