ICCプロファイルを画像に埋め込むと、実際にはそのプロファイル全体が画像に埋め込まれますか?


9

これは非常に画像の質問ですが、写真は尋ねるのに最適なサイトのように見えました。

私はこれを理解しようとして、ICC、色空間、JPEGメタデータなどに関する情報を読んでいます。

アプリケーションがJPEGのような画像にカラー/ ICCプロファイルを「埋め込む」とき、それは実際にICCプロファイル全体を埋め込みますか?sRGBまたはAdobe RGBカラープロファイルを埋め込んで写真を保存した場合、カラー対応アプリケーションは次のことを意味しますか?

  1. 画像を開く
  2. プロファイルデータを抽出します(つまり、画像がAdobeRGBであることがわかります)
  3. プロファイルからの情報を使用して色に変換を適用します
  4. 画像を表示する

私の混乱は、私が持っているたくさんの写真を検査することから来ています-私はそれらのメタデータをexiftoolで見ました、そしてこの情報の断片が出てきました:

Color Space                     : sRGB
Profile CMM Type                : Lino
Profile Version                 : 2.1.0
Profile Class                   : Display Device Profile
Color Space Data                : RGB
CMM Flags                       : Not Embedded, Independent <--- does anything use this?
Device Manufacturer             : IEC
Device Model                    : sRGB
Device Attributes               : Reflective, Glossy, Positive, Color
Rendering Intent                : Perceptual
Connection Space Illuminant     : 0.9642 1 0.82491
Profile Description             : sRGB IEC61966-2.1
Device Mfg Desc                 : IEC http://www.iec.ch
Device Model Desc               : IEC 61966-2.1 Default RGB colour space - sRGB

したがって、この写真にはsRGBプロファイルがあります。しかし、CMM Flagsフィールドとは何ですか?誰もが使用しますか?

セクション7.2.11 のICC標準では、CMMフィールドデータはこれを示しているとしています。

プロファイルフラグフィールドには、分散処理やキャッシュオプションなどのCMMのさまざまなヒントを示すフラグが含まれます。

位置0- Embedded profile (0 if not embedded, 1 if embedded in file)

位置1- Profile cannot be used independently of the embedded color data


したがって、いくつかの関連する質問に要約しました:

  1. ICCプロファイルを画像に埋め込むと、実際にはそのプロファイル全体が画像に埋め込まれますか?または、カラー対応アプリケーションにシステム(つまり、WindowsのICCディレクトリ)でそのプロファイルを探すように指示するだけの役割を果たしますか?

  2. 私は混乱していますか?CMMフラグはICCプロファイルを埋め込むという概念とは関係ありませんか?

ありがとう、私の質問が十分に明確であることを願っています。


「しかし、CMM Flagsフィールドは何のためのもので、誰も使用しますか?」:自分で答えます。あなたが示すものによると、その画像の場合には、位置0: "0(埋め込まれていない)"と位置1: "独立"があります。したがって、exiftoolsは「埋め込まれていない、独立している」と言います。1.と2.の質問についても、回答に関心があります。
Olivier Dulac 2013年

回答:


7

このCMM Flagsフィールドは、カラー管理モジュールのフラグを参照しています。この場合、JPEG画像がタグ付けされたICCプロファイルであるという発言埋め込まれません。必須ではありませんが、JPEG画像を含む画像内にICCプロファイルを埋め込むことができます(リンクしたドキュメントそのものによると:)

B.4 JPEGファイルへのICCプロファイルの埋め込み

JPEG規格(ISO / IEC 10918-1 [2])は、アプリケーション固有のデータセグメントをサポートしています。これらのセグメントは、ICCプロファイルで画像にタグを付けるために使用できます。APP2マーカーは、ICCプロファイルタグを導入するために使用されます。サポートされているAPPマーカーは15個しかないため、多くのアプリケーションが同じマーカーを使用する可能性があります。したがって、ICCタグは、特殊なヌル終了バイトシーケンス「ICC_PROFILE」でデータを開始することによって識別されます。

JPEGマーカーの長さフィールドは2バイトのみです。長さフィールドの長さが合計に含まれます。したがって、値0および1は有効な長さではありません。これにより、最大データ長が65 533に制限されます。識別シーケンスは、これをさらに低くします。ICCプロファイルがこれより長くなる可能性があるため、プロファイルをチャンクに分割し、各チャンクを個別のマーカーに配置するメカニズムが必要です。したがって、各チャンクをシーケンス順に識別するメカニズムが必要です。

識別子シーケンスの後には、チャンクのシーケンス番号(カウントは1から開始)を示す1バイトと、チャンクの総数を示す1バイトが続きます。シーケンス内のすべてのチャンクは、チャンクの総数が同じであることを示す必要があります。1バイトのチャンク数により、埋め込み可能なプロファイルのサイズが16 707 345バイトに制限されます。

一般的に言って、sRGB、AdobeRGB、または他の非常に一般的な色空間の1つに関連付けられている場合、画像は通常、埋め込まれるのではなく、ICCプロファイルでのみタグ付けされると思います。カスタムプロファイルである場合は、プロファイルを埋め込む必要がある場合があります。これは、イメージが通常表示されるマシンに存在することを想定していないプロファイルです。


答えてくれてありがとう。Photoshopと別のイメージプロセッサを使用してさらに実験を行い、Windowsを監視して、カラープロファイルが埋め込まれた画像を開いたときに、両方が使用していたファイルを確認しました。彼らは間違いなくシステムからカラープロファイルを取得するためにディスクにアクセスしていませんでしたが、(管理されていないバージョンの画像と比較して)画像の正しいカラー管理を備えていました。それでも、画像自体にプロファイルが埋め込まれているか、タグが付けられているだけで、他のすべてがスマートであるかどうかについて、結論を出すことはできません。あいまいなプロファイル/存在しないタグ名で試してみます。
wkl

1
まあ、ディスクアクセスがあるとは思いません... Windowsは、デバイスの束のために、ブート時にメモリにICCプロファイルの束をロードします。私は、sRGBプロファイルが常にメモリにあることがほぼ保証されていると思います。
jrista

それは非常に良いことです。私がオフィスに戻ったときに確認します。それが、私がテストしていたすべてのもの(ProPhoto、Adobe RGB、Nikon RGB、iPhotoの奇妙な小さなCameraRGB)に当てはまるかどうかを確認します。
wkl

これはおそらく、これを見てみる価値あり:bbot.org/blog/archives/2011/11/05/...

はい、埋め込みにはスペースが必要です。ただし、画像を表示する必要があるすべての場所で正確なレンディションを保証する必要がある場合は、多くの場合、それが唯一のオプションです。
jrista
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.