画像データの本当の容量を知るには?

[上に] [前に] [次に]
いさお [E-Mail] 1998/03/11(水) 20:22:33
ホームページにはりつける画像データーはできるだけ容量の軽いもの
にしたいと思っていますが、adobe photoshopの表記、MACの
ファインダーで【ファイル/情報を見る】での表記、fetchで転送後のサーバーの
ディレクトリ内の表記がそれぞれ違うのはなぜでしょうか?
また、どの表記を表示時間の参考にすればいいのでしょうか。
ex.photoshopで645k、ファインダーでは65k、転送後は30kという具合です。

HIROPON [E-Mail] [HomePage] 1998/03/15(日) 00:45:55
 原因の1つは「クラスタサイズ」だと思います。都合上、Windows/MS-DOS系を例にして説明しますが(というか、これしか分からないんで(^^;)Macも基本的には同じはずです。

 ディスクをフォーマットすると、「クラスタ」と呼ばれる区画が整然と並んだ状態が作り出されます。データはこの区画ごとに書き込まれていきます。つまり「A」というデータは1番のクラスタに、「B」というデータは2番のクラスタに・・・といった具合です。逆に言うと、クラスタより小さいサイズのデータでも、必ず1つのクラスタを占有することになります。

 さて、クラスタのサイズはディスクの大きさによって違います。例えば500MB〜1GBのディスクではクラスタサイズは16kBですが、2GBのディスクでは32kBです。つまり、正味のファイルサイズが0.1kBしかなくても500MB〜1GBのディスクでは16kBを、2GBのディスクでは32kBを消費することになります。

 問題は、「情報を見る」や「サーバーのディレクトリ内での表記」で表示されるファイルサイズが「実際のファイルサイズ」なのか「ファイルが占有しているクラスタサイズ」なのかということです。もし前者なら0.1kBのファイルは「0.1kB」と表示されるでしょうが、後者ならさらに大きなサイズが、しかもそのファイルが格納されているディスクの容量によって異なるサイズが表示されることになります。例示されているファイルサイズを見る限り、ファインダーで表示されているのがクラスタサイズ、サーバで表示されているのが実際のファイルサイズであるように思われます。

 いずれにせよ、サーバと手もとのパソコンとのこうした差異によってファイルサイズが違って見えるのだと思います(しかもUNIXのフォーマット形式(クラスタサイズ)との違いもあるでしょうし)。

 フォトショップについては、残念ながら持っていないのでよく分からないんですが、ファイルサイズが他の手段で報告されるものと10倍も違うことを考えると、おそらく無圧縮状態での画像の大きさが表示されているのではないでしょうか。

cf. DOSコマンドで言えば、「chkdsk」で表示されるファイルサイズが「クラスタサイズ」、「dir」コマンドで表示されるファイルサイズが「正味のファイルサイズ」です。

B-Cus 1998/03/15(日) 00:51:35
Macは知らないんであれなんですけど、ファイルの大きさを
クラスタサイズで表示するツール、ってあるんでしょうか。

だって、1バイトのファイルも2バイトのファイルも同じ大きさ、
ってことになるのはわかりにくいと思うんです。

HIROPON [E-Mail] [HomePage] 1998/03/15(日) 01:01:04
 う〜ん、具体的にどのツールってことは分からないですけど、ディスク管理ツールの類の中にはそういうの、あるんじゃないでしょうか。これらのツールにしてみれば、ファイルの個々の大きさよりも「どのファイルがどのクラスタを占有しているか」っていう方が重要な情報でしょうから。

とほほ 1998/03/15(日) 01:22:22
UNIXコマンドの du をMS-DOSに移植したものであれば、クラスタサイ
ズでの表示を行ってくれるかも。
Macの場合はあと、リソース(ですっけ?サムネイル画像を保存したり
する領域)のサイズも考慮しなくちゃいけないのかな。

HIROPON [E-Mail] [HomePage] 1998/03/15(日) 01:33:05
 あっ、そうですね。Macの場合、「ファイル」は実際の中身の部分(データフォーク)と、ファイルの属性(リソースフォーク。どのソフトで作成した文書か、といったような情報)の部分とでできてるんでした。ということは「情報を見る」と「転送後」のファイルサイズの差はリソースフォークの有無も含まれるのか・・・。でも、それだけにしちゃ、ファイルサイズが倍も違うって大きすぎません?Macに詳しい人、誰か助けて下さい ( ; _ ; )。

B-Cus 1998/03/15(日) 01:34:59
関係ないですけど、確かlsでもクラスタサイズは見られるはずです。
# UNIXではブロックサイズと言うんだと思いますが(1ブロック=512バイト)。

miyasiro 1998/03/15(日) 03:18:59
関係ないですけど、Windows95のFAT32なら2GBで4KB、8GB-16GBで8KBです(まだ普及してないのかなぁ?)。
MS-DOS版 du (by t.k.さん)には、「サイズの計算はクラスタ単位で行います」とありました(DOCにワタシの名前があるのを今回初めて知って、ちょっとうれしい^^;)。

Jintan [E-Mail] 1998/03/15(日) 18:10:03
クラスタとかいった話はみなさんの話を参考にしてください。
で、いさおさんの主な質問についての解答です。
 photoshopで表示されるファイルサイズは無圧縮の状態での画像の大きさです。ピクセル数の縦横をかけ算してみると分かると思います。
 ファインダーで表示されるものはファイルのリソースフォーク(アイコンとか書類情報を格納している部分)とデータフォーク(実際のデータの部分)の合計値です。
実際にfetchでアップロードすべきものはデータフォークだけなので、転送後のサーバーの容量が表示時間(ダウンロードの時間)の目安になります。
アップロードする前にこの値(データフォーク容量)を調べるためには1つソフトを用意する必要があるでしょう。
ちなみに、マックで転送後の実容量を調べるために私は「File Buddy」(シェアウェア)というソフトを利用しています。このソフトでデータフォークとリソースフォークの大きさがそれぞれ調べられますので、参考までに。

ころすけ 1998/03/22(日) 04:59:35
photoshopの場合、アイコンやサムネールを保存するかどうか環境設定で変更できますよね。(コマンド+K)
アイコンやサムネールとか、何も含めないで保存すれば、実データのみになります。
そうすれば、【ファイル/情報を見る】で見たファイルサイズと、転送後のサイズは一緒です。

HIROPON [E-Mail] [HomePage] 1998/03/23(月) 15:51:51
へぇ・・・。リソースフォークって結構バカにならない大きさなんですね。大学の研究室ではMac使ってるんで、知っておかねば。メモメモ・・・( . . )% 。ホント、ここは勉強になります。

ともかく、議論を変な方向に持っていっちゃってゴメンなさいでした。クラスタは関係なさそうですもんね( ^^ ; 。

匿名希望 1998/03/26(木) 07:33:33


[上に] [前に] [次に]