kazuho.exblog.jp - 奥 一穂の飲んでから書くブログ。なにもかもアルコールのせいです
Palmscape / Xiino の画像サポート
Palmscape で画像表示が可能になったたのは、確か 2000 年初頭の Version 2.0 においてだったと思う。画像サポートにあたっては、 Palm OS デバイス上で直接 GIF / JPEG ファイルのデコードをせずに、イリンクスで用意した補助サーバを使用して独自形式に変換する方式を採用した。
その理由について、まとめてみる。

  1. CPU パワーの不足。当時の Palm デバイスの CPU (68328EZ/33MHz) では、 160x160 の JPEG をデコードするのに3秒程度かかった。これでは、たとえば XGA (1024x768) の写真データを表示しようとすると、90秒必要なことになってしまう。

  2. メモリ不足。256 色カラーをサポートした IIIc でも自由に使えるワークメモリは 140 KB 程度。画像の展開後のバッファ等も必要なわけだから、このメモリ量で JPEG のデコーダを動かすのは現実的でない。

  3. 同時接続可能な TCP/IP セッションの個数。Version 5 以前の Palm OS では、同時にオープン可能な TCP/IP ソケットの個数は4個だった。この4個の中には、DNS 参照に使用されるソケットや切断処理 (FIN_WAIT) 中のものも含まれるため、実際には HTML と画像を並行してダウンロードすることは不可能である。

  4. 転送データ量の低減。Palmscape では、文字サイズとの兼ね合いから画像を 50%
    に縮小し、かつ、(横スクロールをしないという観点から) 50% に縮小しても画面幅に収まらない画像については、画面幅にあわせて縮小する。また Palm OS 3.5 においては表示可能な最大色数は 256 色だったので、GIF / JPEG より低圧縮率/高速度な圧縮アルゴリズムを使用しても、変換してから転送するほうが、データ量が削減できた。

以上4点だろう。

2004 年末の現在から振り返ってみると、 2 は解決済。1, 3 も解決されつつある (Palm OS 6 で最終解決?) 。残るは 4 のみか。時の流れを感じる。

ちなみに、この補助サーバは大学在学中の 1996 年に書いた finger プロトコルのプロキシサーバを拡張したものである。当時、自分の書いたコードを8年にも渡って使い続けることになるとは思わなかった。

改良すべき点はたくさんあるし、支持してくれるユーザもいる。Xiino の製品寿命は、あとどれくらいなのだろうか。
[PR]
by kazuhooku | 2004-11-14 01:07 | Palm & Xiino
<< 日本のソフトウェアが輸出されない理由 HTML コンパイラとしての ... >>