• 締切済み

JPEG圧縮後の有りうる最大容量を求めたい

JPEG圧縮の内部構造で分からないことが有ります。 画像をJPEG圧縮すれば容量は下がりますが、画像の内容(色・輝度の分布)が違うと、圧縮率も変化します。 圧縮前の画像が何か分からない状況で、下記の条件で 有りうる最大容量はどのように求めればよいか分かりますでしょうか? - DQT 量子化テーブルは標準的な ISO JPEG specification Annex.K を使用 (Quality 50%) - DHT ハフマンテーブルも標準的な ISO JPEG specification Annex.K を使用 - 画像サイズは 640 x 480 固定 - Yuv4:2:2 圧縮前の画像が何かわからないものを圧縮する場合、プログラム開発時にいったいどの程度のメモリ確保をすればよいか悩んでいます。メモリ確保で、多すぎず、少なすぎない mallocする容量を知りたいのです。(動作環境が PDA のようなもので、できる限り不必要にメモリを取りたくないのです) 現在、JPEGファイル内部構造について勉強中で、下記のような内部構造ということは理解しました。 - SOI - セグメント 1 - セグメント 2 ....... - セグメント N - イメージデータ - EOI ここの SOI や EOI 、各種セグメントの容量計算はすぐにわかりましたが、イメージデータの部分の容量計算が、まだ分かっていません。 現在、JPEG関連の書籍で調べているものの、なかなか難しい英語の言葉が多く、詳しい方、教えてただければ助かります。

みんなの回答

回答No.1

分かりませんが、出力画像全体をメモリに置かなければ解決しませんか? 圧縮するそばからファイルに書き出していけば、必要なメモリは容量の分かっている元画像(の8ドット)分とmallocするほどでもない一時データだけになると思います。

mojati
質問者

補足

画像全体をメモリに置かないと解決が難しいのです。 ・動作環境がPDA ・HDDなどのディスクドライブ無し。 こんなややこしい環境なので、難しいのです。 パソコンなんかの環境だったら ちょいと 多めにmallocすればいいんですけれど、そうも出来ないため、悩んでいます。

関連するQ&A