@84kureC#のプログラミングとは直接関係無い話だけど、EXIFデータを使った画像処理の必要がありネットでいろいろ調べてみたところ、記事によってJPEGだのEXIFだの用語の使い方がいい加減なので、自分なりに整理してみた。Group]という団体の略称。その団体が立案したデジタル画像の圧縮方式が、団体の略称をそのまま使ってJPEGと呼ばれている。(JFIF)」というファイル形式を立案した。そのファイルが広く使われるようになってJPEGファイル形式と呼ばれるようになった。いうわけで、一口にJPEGと言っても、デジタル画像の圧縮形式を指す場合と、デジタル画像のファイル形式を指す場合があるわけだ。JPEG圧縮されたデジタル画像は必ずJPEGファイル形式で保存されるとは限らない。TIFFファイル形式に保存されることだって普通にある。format」の略称。参考サイトの説明には、「デジタルカメラで撮影した画像データに、撮影条件に関する情報(メタデータ)を追加して保存できる、画像ファイル形式の規格のことである」とある。僕は「メタデータの仕様とそれを画像データにどのように付加して保存するかのルールを定めているのがEXIF」と認識している。ネットの記事などで「EXIFはファイル形式」という説明を良く見かけるけど、ファイルの物理構造を定義するものをファイル形式と呼ぶならば、それは正しいとは言いがたい。EXIFデータ付きの画像データは「JPEGファイル形式(圧縮の場合)」または「TIFFファイル形式(非圧縮の場合)」に保存されるから。以下のサイトの説明がわかりやすい。Plusオンラインヘルプhttp://hp.vector.co.jp/authors/VA032610/JPEGファイルの構造http://hp.vector.co.jp/authors/VA032610/JPEGFormat/StructureOfJPEG.htmExifについてhttp://hp.vector.co.jp/authors/VA032610/JPEGFormat/AboutExif.htmJPEGファイルには、セグメントと呼ばれるブロック分けされたデータ群とJPEG方式で圧縮された画像データが格納されている。セグメント先頭に「マーカー」と呼ばれる識別子があって、マーカー「APP1」がEXIFデータのセグメントを指す。アプリは自分が理解できないセグメントを読み飛ばすことにより、カメラやソフトのメーカーが独自定義した未知のセグメントが含まれていようと、アプリ間での画像データの受け渡しが可能となる。