--/--/--  --:--    スポンサーサイト
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
2008/09/02  01:41    秋月液晶
ついに学校が始まって初日から水泳とか、大変すぎですよ(>ω<*)
宿題も何とかしてるけど、この一週間は大変そうです。

さて、昨日書いた秋月液晶についていろいろ考えて見ました。
某先輩のアドバイスもあって、先人の人たちがやっている方法とは別の画像のフォーマットでやってみたいと思います。
ROMから各色の6bitデータを読み込んで、それを表示していくのではROMの領域を食ってしまいます。
なので、それとは別の方式で画像をROMに保存しておいて、マイコンで表示して行こうと思います。
今回注目したのは、元の画像を減色し、パレットカラーを使用することです。
ROMに保存する際に、まず画像の先頭にパレットカラー128個の色データを書いておきます。
128個という数の意味は後で説明します。
このパレットカラー128個を読み込んで配列などに保存しておきます。
これで、準備は完了です。
パレットカラーデータの後に、画像データを保存していくわけですが、画像の保存するフォーマットを独自に製作します。
1つのバイトがあったとして、ビット7に連続するかのフラグを、残りのビット6~0に指定するパレットカラーの番号を記述します。
このとき7bitの数でパレットカラーを指定するので、2^7=128となるわけです。これが先ほど記述したパレットカラーの数に相当します。
もし連続のフラグが1だった場合、次のバイトには連続する回数を記述します。
これだけです。
分りやすく、実際に例えて書くとするならば、
1バイト目0b10110100  2バイト目0b00110111  だとしたら、
まず、1バイト目で、ビット7が1なので、連続することが確定します。
色データはパレットナンバー52番を使用します。
次に2バイト目で、何回その色データを繰り返すかを見ます。
この場合は55回その色データを繰り返すといったような感じです。
このシステムでいくと、たった2バイトで55個の画素の色を決定することができます。
なので、同じ色が連続すればするほど画像の容量が減少していくわけです。
これで、400*96の大きさの画像でも表示できますね。
減色が入っているので、少しは画像が劣化しますが、人間が見る上ではそこまで支障はないと思います。

まぁこのシステムを導入するにあたって、問題は画像データをそのフォーマットに変換するプログラムを作らなくてはいけないところですが・・・。
ロボコン終わったらゆっくり勉強して変換プログラムは作りたいと思います。
うーん、時間がほしぃ・・・
Secret

TrackBackURL
→http://amenotiyukizora.blog76.fc2.com/tb.php/204-10a61d11
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。