The Tips for Developers > BITMAPへのデータ埋め込み(入門)
|
|
データ埋め込みの必要性 | |||||||
画像にデータを埋め込むことにより、以下のような応用が考えられる。
このようなデータ埋め込みの技術は、「電子透かし技術(Digital Watermark)」として、積極的に研究されている。 実際にデータを埋め込んだ画像と、埋め込み前のデータを比較してみよう。 埋め込み後の画像には、この PDF ファイルが埋め込んである。 ここで注目すべきなのは、人間の目で見たとき、双方の画像の相違はわからないし、ファイルサイズの変更もないのに、バイナリコンペアすると、明確な差異が出てくるという点である。 ここでは特に、24BIT の BITMAP へのデータ埋め込みに関して記載する。 なお、この記事に掲載している画像は BITMAP を表示の都合上、 JPEG に変換したものである。 |
|||||||
BITMAPファイルの特徴 | |||||||
「BITMAPを表示する」でも記載しているが、24BIT BITMAP は 1 ピクセル当たり、2^24 色で構成される。 これは、色の三原色である RED 8 BIT、GREEN 8 BIT、BLUE 8 BIT の組み合わせである。 すなわち、2^8×2^8×2^8 = 2^24 色となる。 ちなみに先ほどの画像に関して、青色の要素を取り出した場合、以下のようになる。 ビットマップの各点の色は、各色の各ビットの ON/OFF によって決定されている。ビットマップから、特定のビットのみを取り出したものをビットプレーンと呼ぶ。 たとえば、前述の画像のBLUE の 8 BIT 、5 BIT、1 BIT 目を取り出したビットプレーンはこのようになる。 ただし、わかりやすさのため、ビットが ON になっている位置を白色で強調表示してある。 8 BIT目 5 BIT目 1 BIT目 8 BIT 目のビットプレーンは元の画像のイメージが残っているのに対し、1 BIT 目のビットプレーンでは、単なるノイズになっており、元の画像が不明である。 さて、人間の視覚でもはやノイズでしかないビットプレーンに対してどのような加工を施しても、元の画像に対する視覚的な影響は少ないと考えられる。 画像に対するデータ埋め込みは、このような人間の視覚の錯覚を利用し、元の画像に影響が及ばないようにデータを埋め込んでいく。 |
|||||||