C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Windowsのペイントで画像保存した時の圧縮について

[トピック内 8 記事 (1 - 8 表示)]  << 0 >>

■85348 / inTopicNo.1)  Windowsのペイントで画像保存した時の圧縮について
  
□投稿者/ Tiff不明 (1回)-(2017/10/12(Thu) 16:27:49)

分類:[(わからない)] 

お世話になっております。

Windows7にて、ペイントを使用したときに気になったことがあったので質問させてください。

ペイントでTiff画像を保存した際に、保存画像のプロパティを見ると圧縮の欄が"LZW"となっていました。

LZWについて調べてみたところ、解凍する際の前提条件について気になることがありました。
解凍するには、1文字のサイズが分かっている、可変幅コードの使用有無などの条件が分かっている必要があるとのことでした。

それならば、なぜ圧縮した画像を他のソフト等でも開けるのでしょうか。

Tiffヘッダに情報が格納されているのかと思い、Tiffヘッダについても調べてみたのですが、Tiffヘッダの内容にはLZWの情報が入るような部分がありませんでした。

しかし画像が開ける以上は、どこかに情報が格納されているものと思います。

そこで疑問なのですが、Tiffヘッダの中身を見た時(例えばバイナリエディタで開いた時)に、LZW関連の情報が入っているのはどのような領域なのでしょうか。

また、LZWで圧縮した画像ファイルはヘッダも圧縮されているのでしょうか。
それとも、ヘッダは圧縮前のままで、画像データの部分だけが圧縮されているのでしょうか。

ご存知の方ご教授お願いします。

引用返信 編集キー/
■85349 / inTopicNo.2)  Re[1]: Windowsのペイントで画像保存した時の圧縮について
□投稿者/ furu (123回)-(2017/10/12(Thu) 16:52:44)
No85348 (Tiff不明 さん) に返信

くわしくありませんが
Wikiには

LZWを採用している多くのフォーマットでは
この情報はフォーマット仕様に盛り込まれているか
圧縮データのヘッダーにこれらの情報のための
明確なフィールドが確保されている。

とあります。
ヘッダーに情報が入ってるんじゃないですか。
引用返信 編集キー/
■85352 / inTopicNo.3)  Re[2]: Windowsのペイントで画像保存した時の圧縮について
□投稿者/ Tiff不明 (2回)-(2017/10/12(Thu) 17:42:03)
No85349 (furu さん) に返信

ご回答ありがとうございます。

> LZWを採用している多くのフォーマットでは
> この情報はフォーマット仕様に盛り込まれているか
> 圧縮データのヘッダーにこれらの情報のための
> 明確なフィールドが確保されている。
>
> とあります。
> ヘッダーに情報が入ってるんじゃないですか。

私も調べた際にWikiは見たので、ヘッダに情報が入っているものと考えていたのですが、
Tiffヘッダについて調べた際に、LZWの情報が入るような領域についての情報が見つかりませんでした。
なので、ヘッダに情報が入っていることは確かだと思うのですが、明確な場所が分からない状態です。

引用返信 編集キー/
■85357 / inTopicNo.4)  Re[3]: Windowsのペイントで画像保存した時の圧縮について
□投稿者/ Azulean (878回)-(2017/10/12(Thu) 23:44:15)
TIFF の仕様書を読みました?

Section 13: LZW Compression - The Algorithm
> The TIFF implementation uses variablelength codes, with a maximum code length of 12 bits.
> This string table is different for every strip and does not need to be reatained for the decompressor

文字列テーブルは Strip ごとに違うということなので、TIFF ヘッダー内には存在しません。
ヘッダーではなく、いわゆる Body 部分にあるということです。
引用返信 編集キー/
■85358 / inTopicNo.5)  Re[4]: Windowsのペイントで画像保存した時の圧縮について
□投稿者/ Tiff不明 (3回)-(2017/10/13(Fri) 09:05:46)
No85357 (Azulean さん) に返信

ご回答ありがとうございます。

> TIFF の仕様書を読みました?
>
> Section 13: LZW Compression - The Algorithm
>>The TIFF implementation uses variablelength codes, with a maximum code length of 12 bits.
>>This string table is different for every strip and does not need to be reatained for the decompressor
>
> 文字列テーブルは Strip ごとに違うということなので、TIFF ヘッダー内には存在しません。
> ヘッダーではなく、いわゆる Body 部分にあるということです。

Tiffの仕様書は見ていませんでした。
LZWの情報が入っているのは、ヘッダ内ではないのですね。
Body部分についてまだ良く分かっていないので、まずはその辺りを調べてみようと思います。

引用返信 編集キー/
■85419 / inTopicNo.6)  Re[5]: Windowsのペイントで画像保存した時の圧縮について
□投稿者/ Tiff不明 (4回)-(2017/10/19(Thu) 16:15:42)
お世話になっております。

前回の投稿からTiffのBody部分について調べていたのですが、疑問を解決できるような情報が得られませんでした。

Body部分の内容は、どのようにして解析するのでしょうか。
そもそもBody部分 = 画像データ部分と勝手に解釈して調べていましたが、認識はそれであっているのでしょうか。
調べた限りでは、画像データが入っている部分にはそれらしいものを見つけることが出来ませんでした。

また、Tiffの仕様書も探してみたのですが、見つかりませんでした。
こちらについても、仕様書が置いてあるサイト等ご存知でしたら教えていただきたいです。
引用返信 編集キー/
■85420 / inTopicNo.7)  Re[6]: Windowsのペイントで画像保存した時の圧縮について
□投稿者/ とっちゃん (468回)-(2017/10/19(Thu) 16:37:14)
No85419 (Tiff不明 さん) に返信

> また、Tiffの仕様書も探してみたのですが、見つかりませんでした。
> こちらについても、仕様書が置いてあるサイト等ご存知でしたら教えていただきたいです。

http://www.verypdf.com/document/tiff6/
こちらが仕様書になります(日本の画像フォーマットじゃないので、仕様書は日本語ではありません)。

http://www.snap-tck.com/room03/c02/cg/cg.html
検索してたら見つけたので、日本語の画像フォーマットの解説ページも載せておきます。

引用返信 編集キー/
■85425 / inTopicNo.8)  Re[7]: Windowsのペイントで画像保存した時の圧縮について
□投稿者/ Tiff不明 (5回)-(2017/10/19(Thu) 17:25:17)
No85420 (とっちゃん さん) に返信
> http://www.verypdf.com/document/tiff6/
> こちらが仕様書になります(日本の画像フォーマットじゃないので、仕様書は日本語ではありません)。
>
> http://www.snap-tck.com/room03/c02/cg/cg.html
> 検索してたら見つけたので、日本語の画像フォーマットの解説ページも載せておきます。
>

情報ありがとうございます。
早速見てみようと思います。
引用返信 編集キー/

このトピックをツリーで一括表示


トピック内ページ移動 / << 0 >>

このトピックに書きこむ