(57)【要約】【課題】従来の立体情報を扱うデータ形式では、一般的にデータ量が肥大してしまい通信に向いていなかった。またデータ量が肥大しない場合も専用のビューアーが必要であった。【解決手段】画像データの画素ごとに輝度値を割り振る第１ステップと、画素ごとに割り振られた輝度値の下位ｂｉｔを、その画素に対応する奥行きデータに置き換える第２ステップと、により画像データヘ立体情報埋め込む。これにより、従来の画像データと互換性を保ちながら、データ量をヘッダーを除いて全く増やすことなく奥行き値を埋め込むことが可能となる。【選択図】        図１
2004227231.tif 000002
【特許請求の範囲】
【請求項１】
モノクロ画像データに奥行きデータを埋め込む方法であって、
前記モノクロ画像データの画素ごとに輝度値を割り振る第１ステップと、
前記割り振られた輝度値の下位ｂｉｔを、当該画素に対応する前記奥行きデータに置き換える第２ステップと、
を含むことを特徴とする画像データヘの立体情報埋め込み方法。
【請求項２】
モノクロ画像データに奥行きデータを埋め込む方法であって、
前記モノクロ画像データの画素ごとに輝度値を割り振る第１ステップと、
前記モノクロ画像データと前記奥行きデータとから各画素ごとに第２の奥行きデータを作成する第２ステップと、
前記割り振られた輝度値の下位ｂｉｔを、当該画素に対応する前記第２の奥行きデータに置き換える第３ステップと、
を含むことを特徴とする画像データヘの立体情報埋め込み方法。
【請求項３】
カラー画像データに奥行きデータを埋め込む方法であって、
前記カラー画像データの画素ごとに赤・緑・青の各輝度値を割り振る第１ステップと、
前記割り振られた赤・緑・青の各輝度値ごとに個別に定められたｂｉｔ長の下位ｂｉｔを、当該画素に対応する前記奥行きデータを分割したデータに置き換える第２ステップと、
を含むことを特徴とする画像データヘの立体情報埋め込み方法。
【請求項４】
カラー画像データに奥行きデータを埋め込む方法であって、
前記カラー画像データの画素ごとに赤・緑・青の各輝度値を割り振る第１ステップと、
前記カラー画像データと前記奥行きデータとから各画素ごとに第２の奥行きデータを作成する第２ステップと、
前記割り振られた赤・緑・青の各輝度値ごとに個別に定められたｂｉｔ長の下位ｂｉｔを、当該画素に対応する前記第２の奥行きデータを分割したデータに置き換える第３ステップと、
を含むことを特徴とする画像データへの立体情報埋め込み方法。
【請求項５】
モノクロ画像データに視差情報を埋め込む方法であって、
前記モノクロ画像データの画素ごとに輝度値を割り振る第１ステップと、
前記割り振られた輝度値の下位ｂｉｔの一部を、当該画素に対応する視差の有無を表わすデータに置き換える第２ステップと、
視差のある画素に対して前記輝度値の下位ｂｉｔのうち前記視差の有無を表わすデータに使用されなかったｂｉｔを、当該画素に対応する視差量を表わすデータに置き換える第３ステップと、
を含むことを特徴とする画像データへの立体情報埋め込み方法。
【請求項６】
請求項５において、
前記モノクロ画像の対になる視差画像上にのみ表示されるオクルージョン画素を抽出する第４ステップと、
前記抽出された順に前記オクルージョン画素の輝度値データの上位ｂｉｔから所定のｂｉｔ数分のみを画素ごとに複数のデータに分割する第５ステップと、
視差のない画素に対して前記輝度値の下位ｂｉｔのうち前記視差の有無を表わすデータに使用されなかったｂｉｔを、前記分割されたデータに順次置き換えていく第６ステップと、
をさらに含むことを特徴とする画像データヘの立体情報埋め込み方法。
【請求項７】
カラー画像データに視差情報を埋め込む方法であって、
前記カラー画像データの画素ごとに赤・緑・青の各輝度値を割り振る第１ステップと、
前記割り振られた赤・緑・青の各輝度値ごとに個別に定められたｂｉｔ長の下位ｂｉｔの一部を、当該画素に対応する視差の有無を表わすデータに置き換える第２ステップと、
視差のある画素に対して前記赤・緑・青の各輝度値の下位ｂｉｔのうち前記視差の有無を表わすデータに使用されなかったｂｉｔを、当該画素に対応する視差量を表わすデータに置き換える第３ステップと、
を含むことを特徴とする画像データヘの立体情報埋め込み方法。
【請求項８】
請求項７において、
前記カラー画像の対になる視差画像上にのみ表示されるオクルージョン画素を抽出する第４ステップと、
前記抽出された順に前記オクルージョン画素の赤・緑・青の各輝度値データの上位ｂｉｔから所定のｂｉｔ数分のみを画素ごとに複数のデータに分割する第５ステップと、
視差のない画素に対して前記赤・緑・青の各輝度値の下位ｂｉｔのうち前記視差の有無を表わすデータに使用されなかったｂｉｔを、前記分割されたデータに順次置き換えていく第６ステップと、
をさらに含むことを特徴とする画像データへの立体情報埋め込み方法。
【請求項９】
モノクロ画像データに奥行きデータを埋め込む装置であって、
前記モノクロ画像データの画素ごとに輝度値を割り振る手段と、
前記割り振られた輝度値の下位ｂｉｔを、当該画素に対応する前記奥行きデータに置き換える下位ｂｉｔ置き換え手段と、
を具備することを特徴とする画像データへの立体情報埋め込み装置。
【請求項１０】
モノクロ画像データに奥行きデータを埋め込む装置であって、
前記モノクロ画像データの画素ごとに輝度値を割り振る手段と、
前記モノクロ画像データと前記奥行きデータとから各画素ごとに第２の奥行きデータを作成する埋め込みデータ作成手段と、
前記割り振られた輝度値の下位ｂｉｔを、当該画素に対応する前記第２の奥行きデータに置き換える下位ｂｉｔ置き換え手段と、
を具備することを特徴とする画像データへの立体情報埋め込み装置。
【請求項１１】
カラー画像データに奥行きデータを埋め込む装置であって、
前記カラー画像データの画素ごとに赤・緑・青の各輝度値を割り振る手段と、前記割り振られた赤・緑・青の各輝度値ごとに個別に定められたｂｉｔ長の下位ｂｉｔを、当該画素に対応する前記奥行きデータを分割したデータに置き換える下位ｂｉｔ置き換え手段と、
を具備することを特徴とする画像データへの立体情報埋め込み装置。
【請求項１２】
カラー画像データに奥行きデータを埋め込む装置であって、
前記カラー画像データの画素ごとに赤・緑・青の各輝度値を割り振る手段と、
前記カラー画像データと前記奥行きデータとから各画素ごとに第２の奥行きデータを作成する埋め込みデータ作成手段と、
前記割り振られた赤・緑・青の各輝度値ごとに個別に定められたｂｉｔ長の下位ｂｉｔを、当該画素に対応する前記第２の奥行きデータを分割したデータに置き換える下位ｂｉｔ置き換え手段と、
を具備することを特徴とする画像データへの立体情報埋め込み装置。
【請求項１３】
モノクロ画像データに視差情報を埋め込む装置であって、
前記モノクロ画像データの画素ごとに輝度値を割り振る手段と、
前記割り振られた輝度値の下位ｂｉｔの一部を、当該画素に対応する視差の有無を表わすデータに置き換えるとともに、
視差のある画素に対して前記輝度値の下位ｂｉｔのうち前記視差の有無を表わすデータに使用されなかったｂｉｔを、当該画素に対応する視差量を表わすデータに置き換える下位ｂｉｔ置き換え手段と、
を具備することを特徴とする画像データへの立体情報埋め込み装置。
【請求項１４】
請求項１３において、
前記モノクロ画像の対となる視差画像上にのみ表示されるオクルージョン画素を抽出するオクルージョン検出手段と、
前記抽出された順に前記オクルージョン画素の輝度値データの上位ｂｉｔから所定のｂｉｔ数分のみを画素ごとに複数のデータに分割する輝度値データ分割手段と、
視差のない画素に対して前記輝度値の下位ｂｉｔのうち前記視差の有無を表わすデータに使用されなかったｂｉｔを、前記分割されたデータに順次置き換えていく第２の下位ｂｉｔ置き換え手段と、
をさらに具備することを特徴とする画像データへの立体情報埋め込み装置。
【請求項１５】
カラー画像データに視差情報を埋め込む装置であって、
前記カラー画像データの画素ごとに赤・緑・青の各輝度値を割り振る手段と、
前記割り振られた赤・緑・青の各輝度値ごとに個別に定められたｂｉｔ長の下位ｂｉｔの一部を、当該画素に対応する視差の有無を表わすデータに置き換えるとともに、
視差のある画素に対して前記赤・緑・青の各輝度値の下位ｂｉｔのうち前記視差の有無を表わすデータに使用されなかったｂｉｔを、当該画素に対応する視差量を表わすデータに置き換える下位ｂｉｔ置き換え手段と、
を具備することを特徴とする画像データへの立体情報埋め込み装置。
【請求項１６】
請求項１５において、
前記カラー画像の対となる視差画像上にのみ表示されるオクルージョン画素を抽出するオクルージョン検出手段と、
前記抽出された順に前記オクルージョン画素の赤・緑・青の各輝度値データの上位ｂｉｔから所定のｂｉｔ数分のみを画素ごとに複数のデータに分割する輝度値データ分割手段と、
視差のない画素に対して前記赤・緑・青の各輝度値の下位ｂｉｔのうち前記視差の有無を表わすデータに使用されなかったｂｉｔを、前記分割されたデータに順次置き換えていく第２の下位ｂｉｔ置き換え手段と、
をさらに具備することを特徴とする画像データへの立体情報埋め込み装置。
【請求項１７】
請求項１ないし８のいずれかに記載の画像データへの立体情報埋め込み方法におけるステップをコンピュータに実行させるためのプログラムとした
ことを特徴とする画像データヘの立体情報埋め込みプログラム。
【請求項１８】
請求項１ないし８のいずれかに記載の画像データへの立体情報埋め込み方法におけるステップをコンピュータに実行させるためのプログラムとし、該プログラムを記録した
ことを特徴とする画像データへの立体情報埋め込みプログラムを記録したコンピュータ読取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、２次元の画像データに立体情報を埋め込む方法、装置、プログラム、および記録媒体に関する。
【０００２】
【従来の技術】
物体の立体形状を記述する最も一般的な従来法としてポリゴンを用いたものがある。ポリゴンとは立体形状の表現に用いる多角形で、物体の立体形状を多角形の面の集合とするサーフェースモデルなどで使用される。ポリゴンを用いて立体形状を用いているフォーマットの例として、ＣＡＤのデータ交換に用いられるＩＧＥＳやＷｅｂでの立体形状表示用のＶＲＭＬなどがある。しかしポリゴンを用いた立体形状の記述は詳細なモデルを表現しようとするとデータ量が膨れ上がるといった問題点がある。また表示には専用のビューアーが必要となり、一般的に普及している２次元画像を表示しているビューアーでは見ることが出来ない。
【０００３】
上記データ量肥大を解決した従来法としてＸＶＬ技術がある。ＸＶＬ技術とは大まかな格子点と、その間を内挿する滑らかな自由曲面で立体形状を表現する技術で、ポリゴンを用いたものに比べて大幅にデータ量を減らすことが可能になる。しかし、この場合も表示には専用のビューアーを用いる必要があり、２次元画像との互換性を持たない（非特許文献１参照。）。
【０００４】
また立体視用に特化した従来法として、単純に２枚のステレオ画像を用意するものがある。この方法は２枚の画像のうち片方だけを用いれば２次元画像として用いることはできるが、データを単一のファイルとして管理することができない・データ量が２倍に増えてしまうといった問題がある（非特許文献２参照。）。
【０００５】
本技術の類似技術として、原画像を任意サイズの複数ブロックに分割し、各ブロックごとの高さ情報をコード化したものを原画像の特定周波数成分に電子透かしとして埋め込む技術が開示されている。この技術では、埋め込み時に人間が知覚できない周波数成分を選択し変更量を随時決定する工夫により、原画像の劣化を防ぐことが可能となる。
【０００６】
しかし、デコードを行うためには高さ情報の埋め込み位置と変更量を鍵情報として別途取得し同時に配布しなければならない問題がある。また、鍵情報をあらかじめ決めておき専用ビューアーに持たせることもあるが、その場合は原画像が劣化する問題がある。さらに、コードは各領域ごとに割り振られるため、基本的には各領域ごとにしか高さを割り振ることができない問題点がある。なお、１つのコードが領域内の各画素ごとに付与した高さ情報を表すこととすれば、原理的には全画素の高さ情報を割り振ることができるが、専用ビューアーにコードと高さの対応を持たせることが困難となる（特許文献１参照。）。
【０００７】
【特許文献１】
特開平１０−２９３８６１号公報
【非特許文献１】
ラティス・テクノロジー株式会社、「ＸＶＬとは？−標準化に向けて」、［ｏｎｌｉｎｅ］、ラティス・テクノロジー株式会社、［平成１４年１２月２日検索］、インターネット＜ＵＲＬ：  ｈｔｔｐ：／／ｗｗｗ．ｘｖｌ３ｄ．ｃｏｍ／ｊａ／ｗｈａｔｓｘｖｌ／ｓｔａ．ｈｔｍ＞
【非特許文献２】
井下哲夫、「エッジ情報を利用した画像圧縮」、［ｏｎｌｉｎｅ］、大阪大学大学院  基礎工学研究科、［平成１４年１２月２日検索］、インターネット＜ＵＲＬ：  ｈｔｔｐ：／／ｗｗｗ．ｓｙｓ．ｅｓ．ｏｓａｋａ−ｕ．ａｃ．ｊｐ／Ｐａｐｅｒ／Ｂ１９９８／ｉｎｏｓｈｉｔａ．ｈｔｍｌ＞
【０００８】
【発明が解決しようとする課題】
近年、ＰＣや携帯端末を用いて画像データの通信を行い付属の画像ビューアーを用いて閲覧することが一般的になっている。現状では主に扱われる画像データは輝度情報のみであるが、画像の立体情報のやり取りが同時にできれば画像の活用の幅が広がり利用方法が増大する。
【０００９】
しかしながら従来の立体情報を扱うデータ形式では、一般的にデータ量が肥大してしまい通信に向いていなかった。またデータ量が肥大しない場合も専用のビューアーが必要であった。以上の問題により、立体情報を含む画像データは、主にオフラインで専用のビューアーを持った端末同士でのみ交換されていた。
【００１０】
【課題を解決するための手段】
本発明は上記の課題を鑑みて発明されたものであり、従来の画像データと互換性を持ち、専用ビューアーで閲覧した場合のみ立体情報が反映される画像データヘの立体情報埋め込み方法、装置、プログラム、および記録媒体を提供する。
【００１１】
具体的には従来の画像データが持つ各画素の輝度値の下位ｂｉｔを、その画素に対応する立体情報と置き換える。下位ｂｉｔを立体情報と置き換えても従来のビューアーでは置き換えられたことが認識できないので、下位ｂｉｔが改変された従来の画像データとして読み込まれる。一方、専用ビューアーでは下位ｂｉｔが立体情報として扱えるので表示に立体形状の反映が可能になる。なお専用ビューアーでの立体情報埋め込みの有無に対する判断は、画像データのヘッダーを用いるか、もしくは画像データの特定位置の下位ｂｉｔに立体情報以外の固有の情報を埋め込むことにより解決する。
【００１２】
埋め込む立体情報は復元すべきデータによって決定する。復元すべきデータが立体形状の場合は、画素ごとにその画素における奥行き情報を埋め込む。また復元すべきデータがステレオ画像の場合は、画素ごとにその画素における視差情報を埋め込む。
【００１３】
本発明では画像データの下位ｂｉｔに立体情報を埋め込むため真の輝度値を改変することになる。しかし人間が分別できる彩度は赤や青でおよそ４０段階（５〜６ｂｉｔ）なので、一般的に用いられているＲＧＢ２４ｂｉｔ画像では、赤成分と青成分の下位２〜３ｂｉｔ程度は改変しても多くの場合知覚されることはない。また視感度が高い緑成分も下位２ｂｉｔ程度までは改変の影響は小さい。
【００１４】
【発明の実施の形態】
以下、実施例に基づいて、この発明をさらに詳しく説明する。
【００１５】
［実施例１］
図１は本発明の第１の実施例（請求項１に記載の発明に対応する実施例）のフローを示す図である。以下、図１を用いて詳細な動作の説明を行う。
【００１６】
まずモノクロ画像（横方向ｘ画素、縦方向ｙ画素）の輝度値データＴｎを読み込む（ステップＳ１−１）。
【００１７】
次に読み込んだモノクロ画像の輝度値をａ  ｂｉｔの画素ごとのデータＭｎとして割り振る（ステップＳ１−２、Ｓ１−３）。本実施例では一般的な２５６階調の輝度値を持つモノクロ画像として、ａ  ｂｉｔ＝８ｂｉｔとする。このように一度割り振りを行うことにより、輝度値データにパレットが使用されている場合にも対応可能となる。
【００１８】
次に奥行き値データＤｎの読み込みを行う（ステップＳ１−４）。奥行き値データは輝度値データと同じ画像サイズ（横方向ｘ画素、縦方向ｙ画素）を持つｂｂｉｔ（ただしａ＞ｂ）のデータとし、本実施例では２ｂｉｔのｂｉｔ長と定義する。
【００１９】
続いて輝度値データの下位ｂｉｔを奥行き値データＤｎと置き換えるためのマスクを作成する（ステップＳ１−５）。マスクはａ  ｂｉｔ長の長さを持ち、下位ｂ  ｂｉｔが０、残りの上位ｂｉｔが１で表される。具体的にはａ  ｂｉｔ長のデータに０を代入したものを反転し（ステップＳ１−５１、Ｓ１−５２）、それをｂ  ｂｉｔだけ右シフトした後、ｂ  ｂｉｔだけ左シフトすることにより作成する（ステップＳ１−５３、Ｓ１−５４）。ここで、ｍ＞＞ｂはｍをｂ  ｂｉｔ右シフトする演算、ｍ＜＜ｂはｍをｂ  ｂｉｔ左シフトする演算を表す。
【００２０】
ここで作成したマスクを用いて、各々の画素に対応する輝度値の下位ｂｉｔを奥行き値と置き換える（ステップＳ１−７）。置き換えた値は埋め込みデータＺｎとして出力される（ステップＳ１−８）。
【００２１】
なお下位ｂｉｔへの奥行き値の埋め込み方法の手順は上記アルゴリズムに限定されることはなく、同様の結果を得られれば適時順序の入れ替えなどを行っても良い。
【００２２】
図２は実際の埋め込み例を示す。２−１は８ｂｉｔの輝度値データ、２−２は２ｂｉｔの奥行き値データ（ただし図では２ｂｉｔで表すことができる４階調を強調表示してある）、２−３は２−１に２−２を埋め込んだデータを従来のビューアーで表示した例である。
【００２３】
図３は埋め込みデータをビューアーで表示する場合を示す。埋め込み画像３−１を従来型の画像ビューアー３−２１で表示した場合は、従来と同様の画像出力３−２２を得ることができる。一方、埋め込み画像３−１を専用のビューアー３−３１で表示した場合は、従来と同様の画像出力と奥行き値データ出力の２つ３−３２を同時に得ることができる。専用のビューアー３−３１で表示する場合、奥行き値埋め込みの有無に対する判断はヘッダー情報から判断する。具体的には、本実施例で用いる画像フォーマットをｐｎｇ形式とし、ヘッダーの付随的ブロック部にあるテキスト・データに奥行き値の有無を判別する情報を埋め込む。付随的ブロックは通常エンコーダはそれらを書く必要がなく、デコーダはそれを無視してよいという意味でオプションであるため、従来の画像ビューアーの持つデコーダでは解釈されない。またヘッダーに奥行き値の有無を埋め込むのではなく、画面の上下左右の周囲の１ラインずつの輝度値データのいずれかの下位ｂｉｔを奥行き値の変わりに奥行き値の有無を判断する情報と置き換えても良い。なお、本発明の画像フォーマットは上記実施例に限定されるものではなく、データの可逆性を保証するものであれば良い。同様にヘッダーの、データを埋め込むブロックも従来の画像ビューアーのデコードの邪魔にならない位置であればいずれの位置でも良い。
【００２４】
以上の手順により、モノクロ画像において従来の画像データと互換性を保ちながら、データ量をヘッダーを除いて全く増やすことなく、奥行き値を埋め込むことが可能となる。
【００２５】
［実施例２］
図４は本発明の第２の実施例（請求項１に記載の発明に対応する実施例）のフローを示す図である。以下、図４を用いて詳細な動作の説明を行う。
【００２６】
まずモノクロ画像（横方向ｘ画素、縦方向ｙ画素）の輝度値データＴｎを読み込む（ステップＳ４−１）。次に読み込んだモノクロ画像の輝度値をａ  ｂｉｔの画素ごとのデータＭｎとして割り振る（ステップＳ４−２、Ｓ４−３）。本実施例では一般的な２５６階調の輝度値を持つモノクロ画像として、ａ  ｂｉｔ＝８ｂｉｔとする。このように一度割り振りを行うことにより、輝度値データにパレットが使用されている場合にも対応可能となる。
【００２７】
次に奥行き値データＤｎの読み込みを行う（ステップＳ４−４）。奥行き値データは輝度値データと同じ画像サイズ（横方向ｘ画素、縦方向ｙ画素）を持つ任意のｂ  ｂｉｔのデータとする。本実施例ではｂ  ｂｉｔ＝ａ  ｂｉｔとし、埋め込み可能なｂｉｔ長をｃ  ｂｉｔとする。
【００２８】
このとき、埋め込み可能なデータ長（ｃ）と奥行き値データＤｎのｂｉｔ長（ｂ）が異なるため変換を行う（ステップＳ４−５）。具体的には、Ｄｎが表現可能な最大変位量を埋め込み可能なデータ長ｃが表現可能な最大変位量で除算を行いｃの最小変位量に対するＤｎの変位量ｌを求め（ステップＳ４−５１、Ｓ４−５２）、Ｄｎの各画素に対応する奥行き値をｌで除算することにより変換した奥行き値データＤ’ｎを得る（ステップＳ４−５４）。
【００２９】
続いて輝度値データの下位ｂｉｔを変換した奥行き値データＤ’ｎと置き換えるためのマスクを作成する（ステップＳ４−６）。マスクはａ  ｂｉｔ長の長さを持ち、下位ｃ  ｂｉｔが０、残りの上位ｂｉｔが１で表される。具体的にはａ  ｂｉｔ長のデータに０を代入したものを反転し（ステップＳ４−６１、Ｓ４−６２）、それをｃ  ｂｉｔだけ右シフトした後、ｃ  ｂｉｔだけ左シフトすることにより作成する（ステップＳ４−６３、Ｓ４−６４）。ここで作成したマスクを用いて、各々の画素に対応する輝度値の下位ｂｉｔを奥行き値と置き換える（ステップＳ４−８）。置き換えた値は埋め込みデータＺｎとして出力される（ステップＳ４−９）。
【００３０】
なお下位ｂｉｔへの奥行き値の埋め込み方法の手順は上記アルゴリズムに限定されることはなく、同様の結果を得られれば適時順序の入れ替えなどを行っても良い。
【００３１】
図５は本実施例でのエンコード・デコードの例を示す。５−１は入力データを示し、５−１１は８ｂｉｔの輝度値データ、５−１２は８ｂｉｔの奥行きデータである。５−２は埋め込み可能なデータ長を２ｂｉｔとしたときに演算される埋め込み用の奥行き値データである。５−３は実施例１に示される方法などを用いて５−１１に５−２を埋め込んだデータである。奥行き値を埋め込んだデータ５−３を専用ビューアー５−４を用いてデコードすると、輝度値データ５−５１、奥行き値データ５−５２の両方を含む出力５−５を得ることができる。ここで輝度値データ５−５１は５−３、奥行き値データ５−５２は５−２と等価である。デコードされる奥行き値データ５−５２は、入力した奥行き値データ５−１２を８ｂｉｔから２ｂｉｔに変換したため離散的なものに変換される。
【００３２】
以上の手順により、モノクロ画像において従来の画像データと互換性を保ちながら、データ量を増やすことなく、奥行き値を埋め込むことが可能となる。
【００３３】
［実施例３］
図６は本発明の第３の実施例（請求項２に記載の発明に対応する実施例）のフローを示す図である。以下、図６を用いて詳細な動作の説明を行う。
【００３４】
まずモノクロ画像（横方向ｘ画素，縦方向ｙ画素）の輝度値データＴｎを読み込む（ステップＳ６−１）。次に読み込んだモノクロ画像の輝度値をａ  ｂｉｔの画素ごとのデータＭｎとして割り振る（ステップＳ６−２、Ｓ６−３）。このように一度割り振りを行うことにより、輝度値データにパレットが使用されている場合にも対応可能となる。
【００３５】
次に奥行き値データＤｎの読み込みを行う（ステップＳ６−４）。奥行き値データは輝度値データと同じ画像サイズ（横方向ｘ画素，縦方向ｙ画素）を持つ任意のｂ  ｂｉｔのデータとする。
【００３６】
続いて埋め込み用の奥行き値データＤ’ｎを、Ｍｎ、およびＤｎから演算し（ステップＳ６−５）、画素ごとに埋め込むｂｉｔ長を算出する。
【００３７】
ところでコンピューターにより画面に表示される画像は通常γ補正が行われて出力される。γの値は指定を行わなくてもＯＳによって決められた値があり、Ｗｉｎｄｏｗｓでは２．２、Ｍａｃｉｎｔｏｓｈでは１．８が用いられている。γ値が１より大きいとき画像は明るくなり、小さければ暗くなる。つまり１より大きければ補正式に従って輝度値は入力より出力の方が大きくなる。
【００３８】
ＷｉｎｄｏｗｓとＭａｃｉｎｔｏｓｈの平均値を取ってγ＝２．０を選択したとき、最大輝度値における９４％の値を入力すれば補正式に従って９７％の値で出力される。輝度値データが８ｂｉｔであるとき、下位３ｂｉｔは約３％（１００％−９７％）の変位に相当し、下位４ｂｉｔは約６％（１００％−９４％）の変位に相当する。すなわちγ補正による出力を考えると、入力がある程度大きければ４ｂｉｔの改変を行っても出力としては３ｂｉｔの改変にしか相当しない。
【００３９】
埋め込みデータの作成は次の手順で行う。まず始めに輝度値データＭｎの値が低輝度であるときの埋め込みデータのｂｉｔ長および高輝度であるときの埋め込みデータのｂｉｔ長を呼び出す（ステップＳ６−５１）。
【００４０】
このとき、埋め込みデータのｂｉｔ長と奥行き値データＤｎのｂｉｔ長が異なるため変換を行う。具体的にはＤｎが表現可能な最大変位量を、低輝度時および高輝度時の埋め込みデータが表現可能な最大変位量で除算を行い、低輝度時および高輝度時の最小変位量に対する変位量を求め（ステップＳ６−５２）、Ｄｎの各画素に対応する奥行き値を求めた変位量で除算することにより変換した奥行き値データＤ’ｎを得る（ステップＳ６−５４２、Ｓ６−５４３）。なお専用ビューアーにてデコードを行うときは上位４ｂｉｔの値が全て１のとき高輝度側と判断する。
【００４１】
続いて輝度値データの下位ｂｉｔを変換した埋め込み用奥行き値データＤ’ｎと置き換えるためのマスクを作成する（ステップＳ６−６）。マスクはａ  ｂｉｔ長の長さを持ち、低輝度値側の場合は下位ｃ  ｂｉｔの値が０・残りの上位ｂｉｔが１、高輝度値側の場合は下位ｄｂｉｔが０・残りの上位ｂｉｔが１で表される。ここでｄ＞ｃとする。具体的にはａ  ｂｉｔ長のデータに０を代入したものを反転し（ステップＳ６−６１、Ｓ６−６２）、それをｃ  ｂｉｔ（またはｄ  ｂｉｔ）だけ右シフト、左シフトの順で操作することにより低輝度用マスクＭｃと高輝度用マスクＭｄを作成する（ステップＳ６−６３、Ｓ６−６４）。
【００４２】
ここで作成したマスクを用いて、各々の画素に対応する輝度値の下位ｂｉｔを奥行き値と置き換える（ステップＳ６−８）。具体的には輝度値データＭｎが低輝度のときはマスクＭｃ、高輝度のときはマスクＭｄを用いて、輝度値データＭｎの下位ｂｉｔを埋め込み用奥行き値データＤ’ｎと置き換える。
【００４３】
置き換えた値は埋め込みデータＺｎとして出力される（ステップＳ６−９）。なお下位ｂｉｔへの奥行き値の埋め込み方法の手順は上記アルゴリズムに限定されることはなく、同様の結果を得られれば適時順序の入れ替えなどを行っても良い。また今回は輝度値データから再現される画像内において輝度が高い画素により多くの情報量を埋め込む演算を行ったが、画像内の各画素に埋め込みデータが目立たないようより多くのデータ埋め込む演算であればよい。例として電子透かしを埋め込む場合と同様に、画像内のエッジ部分などの高周波成分となる画素により多くの情報量を埋め込む演算などがある。
【００４４】
以上の手順によりモノクロ画像において従来の画像データと互換性を保ちながら、データ量を増やすことなく、より多くの奥行き値を埋め込むことが可能となる。
【００４５】
［実施例４］
図７は本発明の第４の実施例（請求項３に記載の発明に対応する実施例）のフローを示す図である。以下、図７を用いて詳細な動作の説明を行う。
【００４６】
まずカラー画像（横方向ｘ画素、縦方向ｙ画素）の輝度値データＴｎを読み込む（ステップＳ７−１）。
【００４７】
次に読み込んだカラー画像の輝度値をＲＧＢ各成分に付いてａ×３ｂｉｔの画素ごとのデータＭＲＧＢｎとして割り振る（ステップＳ７−２、Ｓ７−３）。ＭＲＧＢｎはＭＲｎ、ＭＧｎ、ＭＢｎより構成され、それぞれがａ  ｂｉｔ長のカラー画像のＲ成分、Ｇ成分、Ｂ成分にあたるデータである。本実施例では、一般的なＲＧＢ成分それぞれ８ｂｉｔの輝度値を持つカラー画像として、ａ  ｂｉｔ＝８ｂｉｔとする。このように一度割り振りを行うことにより、輝度値データにパレットが使用されている場合にも対応可能となる。
【００４８】
次に奥行き値データＤｎの読み込みを行う（ステップＳ７−４）。奥行き値データは輝度値データと同じ画像サイズ（横方向ｘ画素、縦方向ｙ画素）を持つｂｂｉｔ（ただしａ×３＞ｂ）のデータとし、本実施例では４ｂｉｔのｂｉｔ長と定義する。
【００４９】
続いて輝度値データの下位ｂｉｔを奥行き値データＤｎと置き換えるためのマスクを作成する（ステップＳ７−５）。マスクｍＲＧＢはｍＲ、ｍＧ、ｍＢより構成され、それぞれａ  ｂｉｔ長のＲ成分、Ｇ成分、Ｂ成分用のマスクである。ＲＧＢ成分各要素に埋め込めるデータ長をそれぞれｂＲ、ｂＧ、ｂＢとしデータ長の合計はｂ  ｂｉｔと等価（図８）としたとき、ｍＲ、ｍＧ、ｍＢはそれぞれ下位ｂＲ、ｂＧ、ｂＢ  ｂｉｔが０、残りの上位ｂｉｔが１で表される。またｂＲ、ｂＧ、ｂＢのｂｉｔ長の関係はｂＧ≦ｂＲ≦ｂＢかつ、ｂＧが上位ｂｉｔ側・ｂＢが下位ｂｉｔ側となるようにする（ｂＲは中間）。これは人間の視感度の強さが緑、赤、青の順で弱くなることを利用し人間が知覚しにくい成分に、より多くのデータを埋め込むためである。本実施例ではｂＧ＝０ｂｉｔ、ｂＲ＝２ｂｉｔ、ｂＢ＝２ｂｉｔとした。
【００５０】
マスクの具体的作成方法はｍＲ、ｍＧ、ｍＢに０を代入して反転し（ステップＳ７−５１、Ｓ７−５２）、それぞれｂＲ、ｂＧ、ｂＢ  ｂｉｔずつ右シフト、左シフトの順で操作することにより作成する（ステップＳ７−５３、Ｓ７−５４）。
【００５１】
ここで作成したマスクを用いて、各々の画素に対応するＲＧＢ成分の輝度値の下位ｂｉｔを奥行き値と置き換える（ステップＳ７−６、Ｓ７−７）。具体的には奥行き値データＤｎが持つ各画素ｂ  ｂｉｔのデータをｂＲ、ｂＧ、ｂＢ  ｂｉｔずつ分割し、埋め込みデータＺＲＧＢｎの下位ｂｉｔと置き換える（ステップＳ７−７１、Ｓ７−７２）。
【００５２】
置き換えた値は埋め込みデータＺＲＧＢｎとして出力される（ステップＳ７−８）。
【００５３】
なお下位ｂｉｔへの奥行き値の埋め込み方法の手順は上記アルゴリズムに限定されることはなく、同様の結果を得られれば適時順序の入れ替えなどを行っても良い。
【００５４】
図９は実際の埋め込み例を示す。９−１はＲＧＢ成分各８ｂｉｔの輝度値データ、９−２は４ｂｉｔの奥行き値データ（ただし図では４ｂｉｔで表すことができる１６階調を強調表示してある）、９−３は９−１に９−２を埋め込んだデータを従来のビューアーで表示した例である。
【００５５】
図１０は埋め込みデータをビューアーで表示する場合を示す。埋め込み画像１０−１を従来型の画像ビューアー１０−２１で表示した場合は、従来と同様の画像出力１０−２２を得ることができる。一方、埋め込み画像１０−１を専用のビューアー１０−３１で表示した場合は、従来と同様の画像出力と奥行き値データ出力の２つ１０−３２を同時に得ることができる。専用のビューアー１０−３１で表示する場合、奥行き値埋め込みの有無に対する判断はヘッダー情報から判断する。具体的には、本実施例で用いる画像フォーマットをｐｎｇ形式とし、ヘッダーの付随的ブロック部にあるテキストデータに奥行き値の有無を判別する情報を埋め込む。付随的ブロックは通常エンコーダはそれらを書く必要がなく、デコーダはそれを無視してよいという意味でオプションであるため、従来の画像ビューアーの持つデコーダでは解釈されない。またヘッダーに奥行き値の有無を埋め込むのではなく、画面の上下左右の周囲の１ラインずつの輝度値データのいずれかの下位ｂｉｔを奥行き値の変わりに奥行き値の有無を判断する情報と置き換えても良い。なお、本発明の画像フォーマットは上記実施例に限定されるものではなく、データの可逆性を保証するものであれば良い。同様にヘッダーの、データを埋め込むブロックも従来の画像ビューアーのデコードの邪魔にならない位置であればいずれの位置でも良い。
【００５６】
以上の手順により、カラー画像において従来の画像データと互換性を保ちながら、データ量をヘッダーを除いて全く増やすことなく、奥行き値を埋め込むことが可能となる。
【００５７】
［実施例５］
図１１は本発明の第５の実施例（請求項３に記載の発明に対応する実施例）のフローを示す図である。以下、図１１を用いて詳細な動作の説明を行う。
【００５８】
まずカラー画像（横方向ｘ画素、縦方向ｙ画素）の輝度値データＴｎを読み込む（ステップＳ１１−１）。
【００５９】
次に読み込んだカラー画像の輝度値をＲＧＢ各成分に付いてａ×３ｂｉｔの画素ごとのデータＭＲＧＢｎとして割り振る（ステップＳ１１−２、Ｓ１１−３）。ＭＲＧＢｎはＭＲｎ、ＭＧｎ、ＭＢｎより構成され、それぞれがａ  ｂｉｔ長のカラー画像のＲ成分、Ｇ成分、Ｂ成分にあたるデータである。本実施例では、一般的なＲＧＢ成分それぞれ８ｂｉｔの輝度値を持つカラー画像として、ａ  ｂｉｔ＝８ｂｉｔとする。このように一度割り振りを行うことにより、輝度値データにパレットが使用されている場合にも対応可能となる。
【００６０】
次に奥行き値データＤｎの読み込みを行う（ステップＳ１１−４）。奥行き値データは輝度値データと同じ画像サイズ（横方向ｘ画素、縦方向ｙ画素）を持つｂ  ｂｉｔのデータとする。本実施例ではｂ  ｂｉｔ＝ａ  ｂｉｔとし、埋め込み可能なｂｉｔ長をｃ  ｂｉｔとする。
【００６１】
このとき、埋め込み可能なデータ長（ｃ）と奥行き値データＤｎのｂｉｔ長（ｂ）が異なるため変換を行う（ステップＳ１１−５）。具体的には、Ｄｎが表現可能な最大変位量を埋め込み可能なデータ長ｃが表現可能な最大変位量で除算を行いｃの最小変位量に対するＤｎの変位量ｌを求め（ステップＳ１１−５１、Ｓ１１−５２）、Ｄｎの各画素に対応する奥行き値をｌで除算することにより変換した奥行き値データＤ’ｎを得る（ステップＳ１１−５４）。
【００６２】
続いて輝度値データの下位ｂｉｔを変換した奥行き値データＤ’ｎと置き換えるためのマスクを作成する（ステップＳ１１−６）。マスクｍＲＧＢはｍＲ、ｍＧ、ｍＢより構成され、それぞれａ  ｂｉｔ長のＲ成分、Ｇ成分、Ｂ成分用のマスクである。ＲＧＢ成分各要素に埋め込めるデータ長をそれぞれｃＲ、ｃＧ、ｃＢとし、データ長の合計はｃ  ｂｉｔと等価（図１２）としたとき、ｍＲ、ｍＧ、ｍＢはそれぞれ下位ｃＲ、ｃＧ、ｃＢ  ｂｉｔが０、残りの上位ｂｉｔが１で表される。またｃＲ、ｃＧ、ｃＢのｂｉｔ長の関係はｃＧ≦ｃＲ≦ｃＢかつ、ｃＧが上位ｂｉｔ側・ｃＢが下位ｂｉｔ側となるようにする（ｃＲは中間）。これは人間の視感度の強さが緑、赤、青の順で弱くなることを利用し人間が知覚しにくい成分に、より多くのデータを埋め込むためである。本実施例ではｃＧ＝０ｂｉｔ、ｃＲ＝２ｂｉｔ、ｃＢ＝２ｂｉｔとした。
【００６３】
マスクの具体的作成方法はｍＲ、ｍＧ、ｍＢそれぞれに０を代入して反転し（ステップＳ１１−６１、Ｓ１１−６２）、それぞれｃＲ、ｃＧ、ｃＢ  ｂｉｔずつ右シフト、左シフトの順で操作することにより作成する（ステップＳ１１−６３、Ｓ１１−６４）。
【００６４】
ここで作成したマスクを用いて、各々の画素に対応するＲＧＢ成分の輝度値の下位ｂｉｔを奥行き値と置き換える（ステップＳ１１−７、Ｓ１１−８）。具体的には奥行き値データＤｎが持つ各画素ｃ  ｂｉｔのデータをｃＲ、ｃＧ、ｃＢ  ｂｉｔずつ分割し、埋め込みデータＺＲＧＢｎの下位ｂｉｔと置き換える（ステップＳ１１−８１、Ｓ１１−８２）。
【００６５】
置き換えた値は埋め込みデータＺＲＧＢｎとして出力される（ステップＳ１１−９）。なお下位ｂｉｔへの奥行き値の埋め込み方法は上記アルゴリズムに限定されることはなく、同様の結果を得られれば良い。
【００６６】
図１３は本実施例でのエンコード・デコードの例を示す。１３−１は入力データを示し、１３−１１はＲＧＢ成分各８ｂｉｔの輝度値データ、１３−１２は８ｂｉｔの奥行き値データである。１３−２は埋め込み可能なデータ長を４ｂｉｔとしたときに演算される埋め込み用の奥行き値データである。１３−３は１３−１１に１３−２を埋め込んだデータである。奥行き値を埋め込んだデータ１３−３を専用ビューアー１３−４を用いてデコードすると、輝度値データ１３−５１、奥行き値データ１３−５２の両方を含む出力１３−５を得ることができる。ここで輝度値データ１３−５１は１３−３、奥行き値データ１３−５２は１３−２と等価である。デコードされる奥行き値データ１３−５２は、入力した奥行き値データ１３−１２を８ｂｉｔから４ｂｉｔに変換したため離散的なものに変換される。
【００６７】
以上の手順により、カラー画像において従来の画像データと互換性を保ちながら、データ量を増やすことなく、奥行き値を埋め込むことが可能となる。
【００６８】
［実施例６］
図１４は本発明の第６の実施例（請求項４に記載の発明に対応する実施例）のフローを示す図である。以下、図１４を用いて詳細な動作の説明を行う。
【００６９】
まずカラー画像（横方向ｘ画素、縦方向ｙ画素）の輝度値データ、Ｔｎを読み込む（ステップＳ１９−１）。
【００７０】
次に読み込んだカラー画像の輝度値をＲＧＢ各成分に付いてａ×３ｂｉｔの画素ごとのデータＭＲＧＢｎとして割り振る（ステップＳ１４−２、Ｓ１４−３）。ＭＲＧＢｎはＭＲｎ、ＭＧｎ、ＭＢｎより構成され、それぞれがａ  ｂｉｔ長のカラー画像のＲ成分、Ｇ成分、Ｂ成分にあたるデータである。このように一度割り振りを行うことにより、輝度値データにパレットが使用されている場合にも対応可能となる。
【００７１】
次に奥行き値データＤｎの読み込みを行う（ステップＳ１４−４）。奥行き値データは輝度値データと同じ画像サイズ（横方向ｘ画素、縦方向ｙ画素）を持つｂ  ｂｉｔ（ただしａ×３＞ｂ）のデータとする。
【００７２】
続いて埋め込み用の奥行き値データＤ’ｎを、ＭｎおよびＤｎから演算し（ステップＳ１４−５）、画素ごとに埋め込むｂｉｔ長を算出する。
【００７３】
ところでコンピューターにより画面に表示される画像は通常γ補正が行われて出力される。γの値は指定を行わなくてもＯＳによって決められた値があり、Ｗｉｎｄｏｗｓでは２．２、Ｍａｃｉｎｔｏｓｈでは１．８が用いられている。γ値が１より大きいとき画像は明るくなり、小さければ暗くなる。つまり１より大きければ補正式に従って輝度値は入力より出力の方が大きくなる。
【００７４】
ＷｉｎｄｏｗｓとＭａｃｉｎｔｏｓｈの平均値を取ってγ＝２．０を選択したとき、最大輝度値における９４％の値を入力すれば補正式に従って９７％の値で出力される。輝度値データが８ｂｉｔであるとき、下位３ｂｉｔは約３％（１００％−９７％）の変位に相当し、下位４ｂｉｔは約６％（１００％−９４％）の変位に相当する。すなわちγ補正による出力を考えると、入力がある程度大きければ４ｂｉｔの改変を行っても出力としては３ｂｉｔの改変にしか相当しない。
【００７５】
埋め込みデータの作成は次の手順で行う。まず始めに輝度値データＭＲＧＢｎの各成分の値が低輝度であるときの埋め込みデータのｂｉｔ長および高輝度であるときの埋め込みデータのｂｉｔ長を呼び出す（ステップＳ１４−５１）。
【００７６】
このとき、埋め込みデータのｂｉｔ長と奥行き値データＤｎのｂｉｔ長が異なるため変換を行う。具体的には全ての画素に対して次のような変換作業を行う（ステップＳ１４−５２、Ｓ１４−５３）。画素ごとにＭＲＧＢｎの各成分に埋め込めるデータのｂｉｔ長を求め、そのｂｉｔ長の合計を対応する画素の埋め込みデータ長ｅとする（ステップＳ１４−５３〜Ｓ１４−５３５１、５３５２）。Ｄｎが表現可能な最大変位量を、埋め込みデータ長ｅが表現可能な最大変位量で画素ごとに除算することによりスケール変換を行い、埋め込み用奥行き値データＤ’ｎを得る（ステップＳ１４−５３６、Ｓ１４−５３７）。なお専用ビューアーにてデコードを行うときは画素ごとの各成分における上位４ｂｉｔの値が全て１のとき高輝度側と判断する。
【００７７】
続いて輝度値データの下位ｂｉｔを変換した埋め込み用奥行き値データＤ’ｎと置き換えるためのマスクを作成する（ステップＳ１４−６）。マスクはａ  ｂｉｔ長の長さを持ち、低輝度値側の場合は下位ｃ  ｂｉｔの値が０・残りの上位ｂｉｔが１、高輝度値側の場合は下位ｄ  ｂｉｔが０・残りの上位ｂｉｔが１で表される。ここでｄ＞ｃとする。具体的にはａ  ｂｉｔ長のデータに０を代入したものを反転し（ステップＳ１４−６１、Ｓ１４−６２）それをｃ  ｂｉｔ（またはｄ  ｂｉｔ）だけ右シフト、左シフトの順で操作することにより低輝度用マスクＭｃと高輝度用マスクＭｄを作成する（ステップＳ１４−６３、Ｓ１４−６４）。
【００７８】
ここで作成したマスクを用いて、各々の画素に対応する輝度値の下位ｂｉｔを奥行き値と置き換える（ステップＳ１４−８）。具体的には輝度値データＭＲＧＢｎにおいて各成分ごとに低輝度・高輝度の判定を行い、低輝度の成分にはマスクＭｃ、高輝度の成分にはマスクＭｄを用いて、輝度値データＭＲＧＢｎの下位ｂｉｔを埋め込み用奥行き値データＤ’ｎを分割したものと置き換える。分割の手順は下位ｂｉｔより各成分に埋め込み可能なｂｉｔ長ずつ切り取っていく。
【００７９】
置き換えた値は埋め込みデータＺＲＧＢｎとして出力される（ステップＳ１４−９）。なお下位ｂｉｔへの奥行き値の埋め込み方法の手順は上記アルゴリズムに限定されることはなく、同様の結果を得られれば適時順序の入れ替えなどを行っても良い。また今回は輝度値データから再現される画像内において輝度が高い画素により多くの情報量を埋め込む演算を行ったが、画像内の各画素に埋め込みデータが目立たないようより多くのデータ埋め込む演算であればよい。例として画像内のエッジ部分などの高周波成分となる画素により多くの情報量を埋め込む演算などがある。
【００８０】
以上の手順により、カラー画像において従来の画像データと互換性を保ちながら、データ量を増やすことなく、より多くの奥行き値を埋め込むことが可能となる。
【００８１】
［実施例７］
図１５は本発明の第７の実施例（請求項５に記載の発明に対応する実施例）のフローを示す図である。以下、図１５を用いて詳細な動作の説明を行う。
【００８２】
まずモノクロ画像（横方向ｘ画素、縦方向ｙ画素）の輝度値データＴｎを読み込む（ステップＳ１５−１）。
【００８３】
次に読み込んだモノクロ画像の輝度値をａ  ｂｉｔの画素ごとのデータＭｎとして割り振る（ステップＳ１５−２、Ｓ１５−３）。本実施例では一般的な２５６階調の輝度値を持つモノクロ画像として、ａ  ｂｉｔ＝８ｂｉｔとする。このように一度割り振りを行うことにより、輝度値データにパレットが使用されている場合にも対応可能となる。
【００８４】
次に視差データＰｎの読み込みを行う（ステップＳ１５−４）。視差データは輝度値データの各画素に対応する視差量を持つｐ  ｂｉｔのデータである。本実施例ではｐ  ｂｉｔ＝１ｂｉｔとする。また埋め込み可能なｂｉｔ長をｐ’  ｂｉｔとし、ｐ’  ｂｉｔはｐ  ｂｉｔと等価またはｐ＋１  ｂｉｔのｂｉｔ長を持つ。
【００８５】
ここで視差データＰｎ（ｂｉｔ長ｐ）を埋め込み用データＰ’ｎ（ｂｉｔ長ｐ’）の変換を行う（ステップＳ１５−５）。具体的には、ＰｎをＰ’ｎにコピーし、さらに、視差の有無を判定可能とするため、視差がある画素はＰ’ｎの最上位ｂｉｔを立てる（ステップＳ１５−５３）。
【００８６】
続いて輝度値データの下位ｂｉｔを埋め込み用データＰ’ｎと置き換えるためのマスクを作成する（ステップＳ１５−６）。マスクはａ  ｂｉｔ長の長さを持ち、下位ｐ’  ｂｉｔが０、残りの上位ｂｉｔが１で表される。具体的にはａ  ｂｉｔ長のデータに０を代入したものを反転し（ステップＳ１５−６１、Ｓ１５−６２）、それをｐ’  ｂｉｔだけ右シフトした後、ｐ’  ｂｉｔだけ左シフトすることにより作成する（ステップＳ１５−６３、Ｓ１５−６４）。
【００８７】
ここで作成したマスクを用いて、輝度値データＭｎの各々の画素ｎに対応する輝度値の下位ｂｉｔを埋め込み用データＰ’ｎと置き換える（ステップＳ１５−８）。
【００８８】
置き換えた値は埋め込み済みデータＺｎとして出力される（ステップＳ１５−９）。なお下位ｂｉｔへの視差の埋め込み方法は上記アルゴリズムに限定されることはなく、同様の結果を得られれば良い。なお視差データの埋め込み手順は上記に限定されるものではなく、同様の結果を得られれば良い。
【００８９】
図１６は本実施例でのエンコード・デコードの例を示す図である。入力データ１６−１は輝度値データ（ａ＝８ｂｉｔ）１６−１１、視差データ（ｐ＝１ｂｉｔ）１６−１２から構成される。視差データ１６−１２は図１５に示した方法により輝度値データ１６−１１に埋め込まれ、埋め込み済み画像１６−２を得る。視差データ１６−１２上で黒色で示される部分が視差量０、白色で示される部分が視差量１を示す。なお視差量の値が必ずしも実際の視差と一致する必要は無く、予め指定しておいたパラメータにより変換してもよい。本実施例では１視差量が画像上の１０画素を示すものとして予めパラメータを決める。また視差データ１６−１２の視差量０を視差無しの状態として代用する場合は視差の有無判定用のｂｉｔは不要となるため、ＰｎからＰ’ｎの変換（Ｓ１５−５）を省略し、Ｐｎ＝Ｐ’ｎとしても良い。埋め込みデータ１６−２を専用ビューアー１６−３でデコードすることにより、出力データ１６−４を得る。出力データは右目用画像１６−４１と左目用画像１６−４２から構成される。右目用画像１６−４１は埋め込み済み画像１６−２と等価であり、また埋め込まれた視差量１につき１０画素右に移動させることにより左目用画像１６−４２を得ることができる。本実施例では予め決めたパラメータより右目用画像から左目用画像の変換を行ったが、その逆に左目用画像から右目用画像の変換を行うことも容易である。専用ビューアーでデコードする際の情報はヘッダー部に埋め込む。具体的には、本実施例で用いる画像フォーマットをｐｎｇ形式とし、ヘッダーの付随的ブロック部にあるテキストデータにパラメータ情報を埋め込む。付随的ブロックは通常エンコーダはそれらを書く必要がなく、デコーダはそれを無視してよいという意味でオプションであるため、従来の画像ビューアーの持つデコーダでは解釈されない。またヘッダーにパラメータを埋め込むのではなく、視差量と同様に画像に埋め込んでも良い。具体的には、画面の上下左右の周囲の１ラインずつの輝度値データのいずれかの下位ｂｉｔをパラメータ記述部と判断する方法などがある。
【００９０】
なお本発明の画像フォーマットは上記に限定されるものではなく、データの可逆性を保証するものであれば良い。同様にヘッダーの、データを埋め込むブロックも従来の画像ビューアーのデコードの邪魔にならない位置であればいずれの位置でも良い。
【００９１】
以上の手順により、モノクロ画像において従来の画像データと互換性を保ちながら、データ量を増やすことなく、視差を埋め込むことが可能となる。
【００９２】
［実施例８］
図１７は本発明の第８の実施例（請求項６に記載の発明に対応する実施例）のフローを示す図である。以下、図１７を用いて詳細な動作の説明を行う。
【００９３】
まずモノクロ画像（横方向ｘ画素、縦方向ｙ画素）の輝度値データＴｎを読み込む（ステップＳ１７−１）。
【００９４】
次に読み込んだモノクロ画像の輝度値をａ  ｂｉｔの画素ごとのデータＭｎとして割り振る（ステップＳ１７−２、Ｓ１７−３）。このように一度割り振りを行うことにより、輝度値データにパレットが使用されている場合にも対応可能となる。
【００９５】
次に視差データＰｎの読み込みを行う（ステップＳ１７−４）。視差データは輝度値データの各画素に対応する視差量を持つｐ  ｂｉｔのデータである。本実施例ではｐ  ｂｉｔ＝１ｂｉｔとする。また埋め込み可能なｂｉｔ長をｐ’  ｂｉｔとし、ｐ’  ｂｉｔはｐ  ｂｉｔと等価またはｐ＋１  ｂｉｔのｂｉｔ長を持つ。
【００９６】
ここで視差データＰｎ（ｂｉｔ長ｐ）から埋め込み用データＰ’ｎ（ｂｉｔ長ｐ’）への変換を行う（ステップＳ１７−５）。具体的には、ＰｎをＰ’ｎにコピーし、さらに視差がある画素はＰ’ｎの最上位ｂｉｔを立てる（ステップＳ１７−５３）。
【００９７】
続いて輝度値データの下位ｂｉｔを埋め込み用データＰ’ｎ、と置き換えるためのマスクを作成する（ステップＳ１７−６）。マスクはａ  ｂｉｔ長の長さを持ち、下位ｐ’  ｂｉｔが０、残りの上位ｂｉｔが１で表される。具体的にはａ  ｂｉｔ長のデータに０を代入したものを反転し（ステップＳ１７−６１、Ｓ１７−６２）、それをｐ’  ｂｉｔだけ右シフトした後、ｐ’  ｂｉｔだけ左シフトすることにより作成する（ステップＳ１７−６３、Ｓ１７−６４）。
【００９８】
ここで作成したマスクを用いて、輝度値データＭｎの各々の画素ｎに対応する輝度値の下位ｂｉｔを埋め込み用データＰ’ｎと置き換える（ステップＳ１７−８）。
【００９９】
次にオクルージョン部の検出を行う。検出方法を記述する前に、図１８を用いてオクルージョン部について説明する。１８−１は輝度値データの例、１８−２は視差データの例を示している。視差データ１８−２上で黒色で示される部分が視差量０、白色で示される部分が視差量１を示す。なお視差量の値が必ずしも実際の視差と一致する必要は無く、デコード時には予め指定しておいたパラメータにより変換してもよい。本実施例では１視差量が画像上の１０画素を示し、右方向に移動するものとして予めパラメータを決める。なおこのパラメータは必要な視差画像にあわせて任意に設定すればよい。１８−３はパラメータに従ってデコードされた元のデータ１８−１に対する視差画像を示している。１８−３において白抜けの部分１８−３１は元のデータ１８−１に変換元の画素が無かった部分（画像の移動後にデータが空白となる部分）、つまり元のデータ１８−１に対するオクルージョン部である。また１８―４は元のデータ１８−１において、視差画像１８−３への変換時に移動した画素を示している。１８−４において白抜けの部分１８−４１は視差画像１８−３に変換先の画素が無かった部分（画像の移動後にかくれる部分）、つまり視差画像１８−３に対するオクルージョン部である。ステップＳ１７−９で検出するオクルージョン部は１８−３１と１８−４１によって説明した２種類である。具体的に検出を行う場合、単純に移動元の有無および移動先の有無を調べればよい。移動元がない画素の領域は１８−３１部、移動先が無い画素の領域は１８−４１部に相当する。
【０１００】
次に予め用意された背景画像からオクルージョン部の輝度値データを読み込む（ステップＳ１７−１０）。ただしここで輝度値データを読み込むオクルージョン部は１８−３１部に相当する領域だけである。
【０１０１】
この読み込んだ輝度値データをステップＳ１７−９で検出した１８−４１部および視差が無い画素（ステップＳ１７−５３でＰ’ｎの最上位ｂｉｔを０とした領域）の下位ｂｉｔすなわちＰ’ｎのうち判定用ｂｉｔを除いた部分に埋め込む（ステップＳ１７−１０）。埋め込み順は左から右へとライン単位で検索を行い検出された１８−３１部の画素ごとに視差画像に変換後の輝度値を分割し、同様に左から右へとライン単位で検索を行い検出された１８−４１部および視差が無い画素の下位ｂｉｔにシーケンシャルに埋め込んでいく。このようにシーケンシャルに埋め込みを行うことにより、画素の位置情報を埋め込まなくても、同様のシーケンシャルな検索によりデコード時に正しい画素位置に輝度値データを復元できる。
【０１０２】
以上の手順により下位ｂｉｔを置き換えたものを埋め込みデータＺｎとして出力する（ステップＳ１７−１２）。
【０１０３】
以上により抜けのない視差画像を再生可能な立体画像データを得ることができる。
【０１０４】
なお下位ｂｉｔへの視差の埋め込み方法の手順は上記アルゴリズムに限定されることはなく、同様の結果を得られれば適時順序の入れ替えなどを行っても良い。
【０１０５】
上記、画像をデコードする際の情報はヘッダー部に埋め込む。具体的には、本実施例で用いる画像フォーマットをｐｎｇ形式とし、ヘッダーの付随的ブロック部にあるテキスト・データにパラメータ情報を埋め込む。付随的ブロックは通常エンコーダはそれらを書く必要がなく、デコーダはそれを無視してよいという意味でオプションであるため、従来の画像ビューアーの持つデコーダでは解釈されずにそのまま表示される。またヘッダーにパラメータを埋め込むのではなく、視差量と同様に画像に埋め込んでも良い。具体的には、画面の上下左右の周囲の１ラインずつの輝度値データのいずれかの下位ｂｉｔをパラメータ記述部と判断する方法などがある。なお、本発明の画像フォーマットは上記に限定されるものではなく、データの可逆性を保証するものであれば良い。同様にヘッダーの、データを埋め込むブロックも従来の画像ビューアーのデコードの邪魔にならない位置であればいずれの位置でも良い。
【０１０６】
以上の手順により、モノクロ画像において従来の画像データと互換性を保ちながら、データ量を増やすことなく、視差を埋め込むことが可能となる。
［実施例９］
図１９は本発明の第９の実施例（請求項７に記載の発明に対応する実施例）のフローを示す図である。以下、図１９を用いて詳細な動作の説明を行う。
【０１０７】
まずカラー画像（横方向ｘ画素、縦方向ｙ画素）の輝度値データＴｎを読み込む（ステップＳ１９−１）。
【０１０８】
次に読み込んだカラー画像の輝度値をＲＧＢ各成分に付いてａ×３ｂｉｔの画素ごとのデータＭＲＧＢｎとして割り振る（ステップＳ１９−２、Ｓ１９−３）。ＭＲＧＢｎはＭＲｎ、ＭＧｎ、ＭＢｎより構成され、それぞれがａ  ｂｉｔ長のカラー画像のＲ成分、Ｇ成分、Ｂ成分にあたるデータである。本実施例では、一般的なＲＧＢ成分それぞれ８ｂｉｔの輝度値を持つカラー画像として、ａ  ｂｉｔ＝８ｂｉｔとする。このように一度割り振りを行うことにより、輝度値データにパレットが使用されている場合にも対応可能となる。
【０１０９】
次に視差データＰｎの読み込みを行う（ステップＳ１９−４）。視差データは輝度値データの各画素に対応する視差量を持つｐ  ｂｉｔのデータである。本実施例ではｐ  ｂｉｔ＝１ｂｉｔとする。また埋め込み可能なｂｉｔ長をｐ’  ｂｉｔとし、ｐ’  ｂｉｔはｐ  ｂｉｔと等価またはｐ＋１  ｂｉｔのｂｉｔ長を持つ。本実施例ではｐ’  ｂｉｔ＝２ｂｉｔ＝ｐ＋１  ｂｉｔとする。
【０１１０】
ここで視差データＰｎ（ｂｉｔ長ｐ）を埋め込み用データＰ’ｎ（ｂｉｔ長ｐ’）の変換を行う（ステップＳ１９−５）。具体的には、ＰｎをＰ’ｎにコピーし、さらに視差がある画素はＰ’ｎの最上位ｂｉｔを立てる（ステップＳ１９−５３）。
【０１１１】
続いて輝度値データの下位ｂｉｔを奥行き値データＰｎと置き換えるためのマスクを作成する（ステップＳ１９−６）。マスクｍＲＧＢはｍＲ、ｍＧ、ｍＢより構成され、それぞれａ  ｂｉｔ長のＲ成分、Ｇ成分、Ｂ成分用のマスクである。ＲＧＢ成分各要素に埋め込めるデータ長をそれぞれｐ’Ｒ、ｐ’Ｇ、ｐ’Ｂとしデータ長の合計はｐ’  ｂｉｔと等価（図２０）としたとき、ｍＲ、ｍＧ、ｍＢはそれぞれ下位ｐ’Ｒ、ｐ’Ｇ、ｐ’Ｂ  ｂｉｔが０、残りの上位ｂｉｔが１で表される。またｐ’Ｒ、ｐ’Ｇ、ｐ’Ｂのｂｉｔ長の関係はｐ’Ｇ≦ｐ’Ｒ≦ｐ’Ｂかつ、ｐ’Ｇが上位ｂｉｔ側・ｐ’Ｂが下位ｂｉｔ側となるようにする（ｐ’Ｒは中間）。これは人間の視感度の強さが緑、赤、青の順で弱くなることを利用し人間が知覚しにくい成分に、より多くのデータを埋め込むためである。本実施例ではｐ’Ｇ＝０ｂｉｔ、ｐ’Ｒ＝０ｂｉｔ、ｐ’Ｂ＝２ｂｉｔとした。
【０１１２】
ここで作成したマスクを用いて、輝度値データＭＲＧＢｎの各々の画素ｎに対応する輝度値の下位ｂｉｔを埋め込み用データＰ’ｎと置き換える（ステップＳ１９−８）。
【０１１３】
置き換えた値は埋め込みデータＺＲＧＢｎとして出力される（ステップＳ１９−９）。なお下位ｂｉｔへの視差の埋め込み方法は上記アルゴリズムに限定されることはなく、同様の結果を得られれば良い。なお視差データの埋め込み手順は上記に限定されるものではなく、同様の結果を得られれば良い。
【０１１４】
図２１は本実施例でのエンコード・デコードの例を示す図である。入力データ２１−１は輝度値データ（ａ＝２４ｂｉｔ）２１−１１、視差データ（ｐ＝１ｂｉｔ）２１−１２から構成される。視差データ２１−１２は図１９に示した方法により輝度値データ２１−１１に埋め込まれ、埋め込み済み画像２１−２を得る。視差データ２１−１２上で黒色で示される部分が視差量０、白色で示される部分が視差量１を示す。なお視差量の値が必ずしも実際の視差と一致する必要は無く、予め指定しておいたパラメータにより変換してもよい。本実施例では１視差量が画像上の１０画素を示すものとして予めパラメータを決める。また輝度値データ２１−１２の視差量０を視差無しの状態として代用する場合はＰｎからＰ’ｎの変換（Ｓ１９−５）を省略し、Ｐｎ＝Ｐ’ｎとしても良い。埋め込みデータ２１−２を専用ビューアー２１−３でデコードすることにより、出力データ２１−４を得る。出力データは右目用画像２１−４１と左目用画像２１−４２から構成される。右目用画像２１−４１は埋め込み済み画像２１−２と等価であり、また埋め込まれた視差量１につき１０画素右に移動させることにより左目用画像２１−４２を得ることができる。本実施例では予め決めたパラメータより右目用画像から左目用画像の変換を行ったが、その逆に左目用画像から右目用画像の変換を行うことも容易である。専用ビューアーでデコードする際の情報はヘッダー部に埋め込む。具体的には、本実施例で用いる画像フォーマットをｐｎｇ形式とし、ヘッダーの付随的ブロック部にあるテキスト・データにパラメータ情報を埋め込む。付随的ブロックは通常エンコーダはそれらを書く必要がなく、デコーダはそれを無視してよいという意味でオプションであるため、従来の画像ビューアーの持つデコーダでは解釈されない。またヘッダーにパラメータを埋め込むのではなく、視差量と同様に画像に埋め込んでも良い。具体的には、画面の上下左右の周囲の１ラインずつの輝度値データのいずれかの下位ｂｉｔをパラメータ記述部と判断する方法などがある。なお、本発明の画像フォーマットは上記に限定されるものではなく、データの可逆性を保証するものであれば良い。同様にヘッダーの、データを埋め込むブロックも従来の画像ビューアーのデコードの邪魔にならない位置であればいずれの位置でも良い。
【０１１５】
以上の手順により、カラー画像において従来の画像データと互換性を保ちながら、データ量を増やすことなく、視差を埋め込むことが可能となる。
【０１１６】
［実施例１０］
図２２は本発明の第１０の実施例（請求項８に記載の発明に対応する実施例）のフローを示す図である。以下、図２２を用いて詳細な動作の説明を行う。
【０１１７】
まずカラー画像（横方向ｘ画素、縦方向ｙ画素）の輝度値データＴｎを読み込む（ステップＳ２２−１）。
【０１１８】
次に読み込んだカラー画像の輝度値をＲＧＢ各成分に付いてａ×３ｂｉｔの画素ごとのデータＭＲＧＢｎとして割り振る（ステップＳ２２−２、Ｓ２２−３）。ＭＲＧＢｎはＭＲｎ、ＭＧｎ、ＭＢｎより構成され、それぞれがａ  ｂｉｔ長のカラー画像のＲ成分、Ｇ成分、Ｂ成分にあたるデータである。このように一度割り振りを行うことにより、輝度値データにパレットが使用されている場合にも対応可能となる。
【０１１９】
次に視差データＰｎの読み込みを行う（ステップＳ２２−４）。視差データは輝度値データの各画素に対応する視差量を持つｐ  ｂｉｔのデータである。本実施例ではｐ  ｂｉｔ＝１ｂｉｔとする。また埋め込み可能なｂｉｔ長をｐ’  ｂｉｔとし、ｐ’  ｂｉｔはｐ  ｂｉｔと等価またはｐ＋１  ｂｉｔのｂｉｔ長を持つ。
【０１２０】
ここで視差データＰｎ（ｂｉｔ長ｐ）から埋め込み用データＰ’ｎ（ｂｉｔ長ｐ’）への変換を行う（ステップＳ２２−５）。具体的には、ＰｎをＰ’ｎにコピーし、さらに視差がある画素はＰ’ｎの最上位ｂｉｔを立てる（ステップＳ２−５３）。
【０１２１】
続いて輝度値データの下位ｂｉｔを奥行き値データＰｎと置き換えるためのマスクを作成する（ステップＳ２２−５）。マスクｍＲＧＢはｍＲ、ｍＧ、ｍＢより構成され、それぞれａ  ｂｉｔ長のＲ成分、Ｇ成分、Ｂ成分用のマスクである。ＲＧＢ成分各要素に埋め込めるデータ長をそれぞれｐ’Ｒ、ｐ’Ｇ、ｐ’Ｂとしデータ長の合計はｐ’  ｂｉｔと等価（図２０）としたとき、ｍＲ、ｍＧ、ｍＢはそれぞれ下位ｐ’Ｒ、ｐ’Ｇ、ｐ’Ｂ  ｂｉｔが０、残りの上位ｂｉｔが１で表される。またｐ’Ｒ、ｐ’Ｇ、ｐ’Ｂのｂｉｔ長の関係はｐ’Ｇ≦ｐ’Ｒ≦ｐ’Ｂかつ、ｐ’Ｇが上位ｂｉｔ側・ｐ’Ｂが下位ｂｉｔ側となるようにする（ｐ’Ｒは中間）。これは人間の視感度の強さが緑、赤、青の順で弱くなることを利用し人間が知覚しにくい成分に、より多くのデータを埋め込むためである。
【０１２２】
ここで作成したマスクを用いて、輝度値データＭＲＧＢｎの各々の画素ｎに対応する輝度値の下位ｂｉｔを埋め込み用データＰ’ｎと置き換える（ステップＳ２２−８）。
【０１２３】
次にオクルージョン部の検出を行う。検出方法を記述する前に、図２３を用いてオクルージョン部について説明する。２３−１は輝度値データの例、２３−２は視差データの例を示している。視差データ２３−２上で黒色で示される部分が視差量０、白色で示される部分が視差量１を示す。なお視差量の値が必ずしも実際の視差と一致する必要は無く、デコード時には予め指定しておいたパラメータにより変換してもよい。本実施例では１視差量が画像上の１０画素を示し、右方向に移動するものとして予めパラメータを決める。なおこのパラメータは必要な視差画像にあわせて任意に設定すればよい。２３−３はパラメータに従ってデコードされた元のデータ２３−１に対する視差画像を示している。２３−３において白抜けの部分２３−３１は元のデータ２３−１に変換元の画素が無かった部分（画像の移動後にデータが空白となる部分）、つまり元のデータ２３−１に対するオクルージョン部である。また２３−４は元のデータ２３−１において、視差画像２３−３への変換時に移動した画素を示している。２３−４において白抜けの部分２３−４１は視差画像２３−３に変換先の画素が無かった部分（画像の移動後にかくれる部分）、つまり視差画像２３−３に対するオクルージョン部である。ステップＳ２２−９で検出するオクルージョン部は２３−３１と２３−４１によって説明した２種類である。具体的に検出を行う場合、単純に移動元の有無および移動先の有無を調べればよい。移動元がない画素の領域は２３−３１部、移動先が無い画素の領域は２３−４１部に相当する。
【０１２４】
次に予め用意された背景画像からオクルージョン部の輝度値データを読み込む（ステップＳ２２−１０）。ただしここで輝度値データを読み込むオクルージョン部は２３−３１部に相当する領域だけである。
【０１２５】
この読み込んだ輝度値データをステップ２２−９で検出した２３−４１部および視差が無い画素（ステップＳ２２−５３でＰ’ｎの最上位ｂｉｔを０とした領域）の下位ｂｉｔすなわちＰ’ｎのうち判定用ｂｉｔを除いた部分に埋め込む（ステップＳ２２−１１）。埋め込み順は左から右へとライン単位で検索を行い検出された２３−３１部の画素ごとに視差画像に変換後の輝度値を分割し、同様に左から右へとライン単位で検索を行い検出された２３−４１部および視差が無い画素の下位ｂｉｔにシーケンシャルに埋め込んでいく。このようにシーケンシャルに埋め込みを行うことにより、画素の位置情報を埋め込まなくても、同様のシーケンシャルな検索によりデコード時に正しい画素位置に輝度値データを復元できる。
【０１２６】
以上の手順により下位ｂｉｔを置き換えたものを埋め込みデータＺＲＧＢｎとして出力する（ステップＳ２２−１２）。
【０１２７】
なお下位ｂｉｔへの視差の埋め込み方法の手順は上記アルゴリズムに限定されることはなく、同様の結果を得られれば適時順序の入れ替えなどを行っても良い。
【０１２８】
上記、画像をデコードする際の情報はヘッダー部に埋め込む。具体的には、本実施例で用いる画像フォーマットをｐｎｇ形式とし、ヘッダーの付随的ブロック部にあるテキスト・データにパラメータ情報を埋め込む。付随的ブロックは通常エンコーダはそれらを書く必要がなく、デコーダはそれを無視してよいという意味でオプションであるため、従来の画像ビューアーの持つデコーダでは解釈されずにそのまま表示される。またヘッダーにパラメータを埋め込むのではなく、視差量と同様に画像に埋め込んでも良い。具体的には、画面の上下左右の周囲の１ラインずつの輝度値データのいずれかの下位ｂｉｔをパラメータ記述部と判断する方法などがある。
【０１２９】
なお本発明の画像フォーマットは上記に限定されるものではなく、データの可逆性を保証するものであれば良い。同様にヘッダーの、データを埋め込むブロックも従来の画像ビューアーのデコードの邪魔にならない位置であればいずれの位置でも良い。
【０１３０】
以上の手順により、カラー画像において従来の画像データと互換性を保ちながら、データ量を増やすことなく、視差を埋め込むことが可能となる。
【０１３１】
［実施例１１］
本実施例は実施例２、３、５、６に対応する装置に関する。図２４に本実施例の装置の構成図を示す。本実施例の立体情報埋め込み装置２４−１は、輝度値データ入力部２４−２、奥行き値データ入力部２４−３、埋め込みデータ作成部２４−４、マスク作成部２４−５、下位ｂｉｔ置き換え部２４−６、およびデータ出力部２４−７を備える。実施例２、３に対応する立体情報埋め込み装置２４−１はモノクロデータ処理を行う２４−２〜２４−７を備え、実施例５、６に対応する立体情報埋め込み装置２４−１はカラーデータ処理を行う２４−２〜２４−７を備える。立体情報埋め込み装置２４−１の輝度値データ入力部２４−２には輝度値データ２４−８が入力され、奥行き値データ入力部２４−３には奥行き値データ２４−９が入力され、データ出力部２４−７から立体画像データ２４−１０が出力される。
【０１３２】
次に立体情報埋め込み装置２４−１の動作を説明する。輝度値データ入力部２４−２が画像の輝度値データ２４−８を読み込み、奥行き値データ入力部２４−３が奥行き値データ２４−９を読み込む。奥行き値データ入力部２４−３の出力を用いて埋め込みデータ作成部２４−４が埋め込みデータを作成する。マスク作成部２４−５が輝度値データの下位ｂｉｔを埋め込みデータと置き換えるためのマスクを作成する。輝度値データ入力部２４−２、埋め込みデータ作成部２４−４、およびマスク作成部２４−５の出力を用いて下位ｂｉｔ置き換え部２４−６が各々の画素に対応する輝度値の下位ｂｉｔを埋め込みデータと置き換え、置き換えた値をデータ出力部２４−７が立体画像データ２４−１０として出力する。なお、詳細な動作方法は実施例２、３、５、６に記載したとおりである。
【０１３３】
以下、前記実施例の変形例について説明する。本変形例は実施例１、４に対応する装置に関するものである。本変形例の装置は図２４の立体情報埋め込み装置２４−１から埋め込みデータ作成部２４−４を省略したものである。実施例１に対応する装置はモノクロデータ処理を行う輝度値データ入力部２４−２、奥行き値データ入力部２４−３、マスク作成部２４−５、下位ｂｉｔ置き換え部２４−６、およびデータ出力部２４−７を備え、奥行き値データ入力部２４−３の出力が下位ｂｉｔ置き換え部２４−６に入力される。実施例４に対応する装置はカラーデータ処理を行う輝度値データ入力部２４−２、奥行き値データ入力部２４−３、マスク作成部２４−５、下位ｂｉｔ置き換え部２４−６、およびデータ出力部２４−７を備え、奥行き値データ入力部２４−３の出力が下位ｂｉｔ置き換え部２４−６に入力される。
【０１３４】
次に本変形例の立体情報埋め込み装置の動作を説明する。輝度値データ入力部２４−２が画像の輝度値データ２４−８を読み込み、奥行き値データ入力部２４−３が奥行き値データ２４−９を読み込む。マスク作成部２４−５が輝度値データの下位ｂｉｔを埋め込みデータと置き換えるためのマスクを作成する。輝度値データ入力部２４−２、奥行き値データ入力部２４−３、およびマスク作成部２４−５の出力を用いて下位ｂｉｔ置き換え部２４−６が各々の画素に対応する輝度値の下位ｂｉｔを埋め込みデータと置き換え、置き換えた値をデータ出力部２４−７が立体画像データ２４−１０として出力する。なお、詳細な動作方法は実施例１、４に記載したとおりである。
【０１３５】
［実施例１２］
本実施例は実施例８、１０に対応する装置に関する。図２５に本実施例の装置の構成図を示す。本実施例の立体情報埋め込み装置２５−１は、輝度値データ入力部２５−２、視差データ入力部２５−３、埋め込みデータ作成部２５−４、マスク作成部２５−５、第１の下位ｂｉｔ置き換え部２５−６、オクルージョン検出部２５−７、背景輝度値データ入力部２５−８、輝度値データ分割部２５−９、第２の下位ｂｉｔ置き換え部２５−１０、およびデータ出力部２５−１１を備える。実施例８に対応する立体情報埋め込み装置２５−１はモノクロデータ処理を行う２５−２〜２５−１１を備え、実施例１０に対応する立体情報埋め込み装置２５−１はカラーデータ処理を行う２５−２〜２５−１１を備える。立体情報埋め込み装置２５−１の輝度値データ入力部２５−２には輝度値データ２５−１２が入力され、視差データ入力部２５−３には視差データ２５−１３が入力され、背景輝度値データ入力部２５−８には背景輝度値データ２５−１４が入力され、データ出力部２５−１１から立体画像データ２５−１５が出力される。
【０１３６】
次に立体情報埋め込み装置２５−１の動作を説明する。輝度値データ入力部２５−２が画像の輝度値データ２５−１２を読み込み、視差データ入力部２５−３が視差データ２５−１３を読み込む。視差データ入力部２５−３の出力を用いて埋め込みデータ作成部２５−４が埋め込みデータを作成する。マスク作成部２５−５が輝度値データの下位ｂｉｔを埋め込みデータと置き換えるためのマスクを作成する。輝度値データ入力部２５−２、埋め込みデータ作成部２５−４、およびマスク作成部２５−５の出力を用いて第１の下位ｂｉｔ置き換え部２５−６が各々の画素に対応する輝度値の下位ｂｉｔを埋め込みデータと置き換える。第１の下位ｂｉｔ置き換え部２５−６の出力からオクルージョン検出部２５−７がオクルージョン部を検出する。一方、背景輝度値データ２５−１４から背景輝度値データ入力部２５−８がオクルージョン部の輝度値データを読み込む。背景輝度値データ入力部から出力された輝度値データを輝度値データ分割部２５−９が上位ｂｉｔから指定されたｂｉｔ数だけ複数個に分割する。オクルージョン検出部２５−７、マスク作成部２５−５、および輝度値データ分割部２５−９の出力を用いて第２の下位ｂｉｔ置き換え部２５−１０が視差のない画像の下位ｂｉｔに分割された輝度値を順次置き換えていき、置き換えたものをデータ出力部２５−１１が立体画像データ２５−１５として出力する。なお、詳細な動作方法は実施例８、１０に記載したとおりである。
【０１３７】
以下、前記実施例の変形例について説明する。本変形例は実施例７、９に対応する装置に関するものである。本変形例の装置は図２５の立体情報埋め込み装置２５−１からオクルージョン検出部２５−７、背景輝度値データ入力部２５−８、輝度値データ分割部２５−９、および第２の下位ｂｉｔ置き換え部２５−１０を省略したものである。実施例７に対応する装置はモノクロデータ処理を行う輝度値データ入力部２５−２、視差データ入力部２５−３、埋め込みデータ作成部２５−４、マスク作成部２５−５、第１の下位ｂｉｔ置き換え部２５−６（以下、「下位ｂｉｔ置き換え部２５−６」という）、およびデータ出力部２５−１１を備え、下位ｂｉｔ置き換え部２５−６の出力がデータ出力部２５−１１に入力される。実施例９に対応する装置はカラーデータ処理を行う輝度値データ入力部２５−２、視差データ入力部２５−３、埋め込みデータ作成部２５−４、マスク作成部２５−５、下位ｂｉｔ置き換え部２５−６、およびデータ出力部２５−１１を備え、下位ｂｉｔ置き換え部２５−６の出力がデータ出力部２５−１１に入力される。
【０１３８】
次に本変形例の立体情報埋め込み装置２５−１の動作を説明する。輝度値データ入力部２５−２が画像の輝度値データ２５−１２を読み込み、視差データ入力部２５−３が視差データ２５−１３を読み込む。視差データ入力部２５−３の出力を用いて埋め込みデータ作成部２５−４が埋め込みデータを作成する。マスク作成部２５−５が輝度値データの下位ｂｉｔを埋め込みデータと置き換えるためのマスクを作成する。輝度値データ入力部２５−２、埋め込みデータ作成部２５−４、およびマスク作成部２５−５の出力を用いて下位ｂｉｔ置き換え部２５−６が各々の画素に対応する輝度値の下位ｂｉｔを埋め込みデータと置き換え、置き換えた値をデータ出力部２５−１１が立体画像データ２５−１５として出力する。なお、詳細な動作方法は実施例７、９に記載したとおりである。
【０１３９】
本発明の装置はコンピュータとプログラムによっても実現でき、プログラムを記録媒体に記録することも、ネットワークを通じて提供することも可能である。
【０１４０】
以上、本発明者によってなされた発明を、前記実施の形態に基づき具体的に説明したが、本発明は、前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは勿論である。
【０１４１】
【発明の効果】
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば、下記の通りである。
【０１４２】
本発明の請求項１の発明によれば、モノクロ画像において従来の画像データと互換性を保ちながら、データ量をヘッダーを除いて全く増やすことなく奥行き値を埋め込むことが可能となる。
【０１４３】
請求項２の発明によれば、モノクロ画像において従来の画像データと互換性を保ちながら、データ量をヘッダーを除いて全く増やすことなく高ｂｉｔの奥行き値を埋め込むことが可能となる。
【０１４４】
請求項３の発明によれば、カラー画像において従来の画像データと互換性を保ちながら、データ量をヘッダーを除いて全く増やすことなく奥行き値を埋め込むことが可能となる。
【０１４５】
請求項４の発明によれば、カラー画像において従来の画像データと互換性を保ちながら、データ量をヘッダーを除いて全く増やすことなく高ｂｉｔの奥行き値を埋め込むことが可能となる。
【０１４６】
請求項５の発明によれば、モノクロ画像において従来の画像データと互換性を保ちながら、データ量を増やすことなく、視差を埋め込むことが可能となる。
【０１４７】
請求項６の発明によれば、モノクロ画像において従来の画像データと互換性を保ちながら、データ量を増やすことなく、視差およびオクルージョン情報を埋め込むことが可能となる。
【０１４８】
請求項７の発明によれば、カラー画像において従来の画像データと互換性を保ちながら、データ量を増やすことなく、視差を埋め込むことが可能となる。
【０１４９】
請求項８の発明によれば、カラー画像において従来の画像データと互換性を保ちながら、データ量を増やすことなく、視差およびオクルージョン情報を埋め込むことが可能となる。
【図面の簡単な説明】
【図１】本発明の第１の実施例のフローを示す図である。
【図２】本発明の第１の実施例の埋め込み例を示す図（ディスプレイ上に表示された中間調画像の写真を含む、２ｂｉｔの奥行きデータはディサ処理）である。
【図３】本発明の第１の実施例において、埋め込みデータをビューアーで表示する例を示す図（ディスプレイ上に表示された中間調画像の写真を含む、２ｂｉｔの奥行きデータはディサ処理）である。
【図４】本発明の第２の実施例のフローを示す図である。
【図５】本発明の第２の実施例において、デコード・エンコードの例を示す図（ディスプレイ上に表示された中間調画像の写真を含む、２ｂｉｔの奥行きデータはディサ処理）である。
【図６】本発明の第３の実施例のフローを示す図である。
【図７】本発明の第４の実施例のフローを示す図である。
【図８】ＲＧＢ成分各要素に埋め込めるデータ長の説明図である。
【図９】本発明の第４の実施例の埋め込み例を示す図（ディスプレイ上に表示された中間調画像の写真を含む）である。
【図１０】本発明の第４の実施例において、埋め込みデータをビューアーで表示する例を示す図（ディスプレイ上に表示された中間調画像の写真を含む）である。
【図１１】本発明の第５の実施例のフローを示す図である。
【図１２】ＲＧＢ成分各要素に埋め込めるデータ長の説明図である。
【図１３】本発明の第５の実施例において、デコード・エンコードの例を示す図（ディスプレイ上に表示された中間調画像の写真を含む）である。
【図１４】本発明の第６の実施例のフローを示す図である。
【図１５】本発明の第７の実施例のフローを示す図である。
【図１６】本発明の第７の実施例において、デコード・エンコードの例を示す図（ディスプレイ上に表示された中間調画像の写真を含む）である。
【図１７】本発明の第８の実施例のフローを示す図である。
【図１８】オクルージョン部の説明図である（ディスプレイ上に表示された中間調画像の写真を含む）。
【図１９】本発明の第９の実施例のフローを示す図である。
【図２０】ＲＧＢ成分各要素に埋め込めるデータ長の説明図である。
【図２１】本発明の第９の実施例において、デコード・エンコードの例を示す図（ディスプレイ上に表示された中間調画像の写真を含む）である。
【図２２】本発明の第１０の実施例のフローを示す図である。
【図２３】オクルージョン部の説明図（ディスプレイ上に表示された中間調画像の写真を含む）である。
【図２４】本発明の第１１の実施例の装置の構成図である。
【図２５】本発明の第１２の実施例の装置の構成図である。
【符号の説明】
２−１…８ｂｉｔの輝度値データ、２−２…２ｂｉｔの奥行き値データ、２−３…埋め込み済みデータの例、３−１…埋め込みデータ、３−２１…従来型ビューアー、３−２２…埋め込みデータを従来型ビューアーで表示した例、３−３１…専用ビューアー、３−３２…埋め込みデータを専用ビューアーで表示した例、５−１…入力データ、５−１１…８ｂｉｔの輝度値データ、５−１２…８ｂｉｔの奥行き値データ、５−２…変換した奥行き値データ、５−３…埋め込み済みデータ、５−４…専用ビューアー、５−５…出力データ、５−５１…デコードされた輝度値データ、５−５２…デコードされた奥行き値データ、９−１…ＲＧＢ成分各８ｂｉｔの輝度値データ、９−２…４ｂｉｔの奥行き値データ、９−３…埋め込み済みデータの例、１０−１…埋め込みデータ、１０−２１…従来型ビューアー、１０−２２…埋め込みデータを従来型ビューアーで表示した例、１０−３１専用ビューアー、１０−３２…埋め込みデータを専用ビューアーで表示した例、１３−１…入力データ、１３−１１…ＲＧＢ成分各８ｂｉｔの輝度値データ、１３−２…８ｂｉｔの奥行き値データ、１３−３…埋め込み済みデータの例、１３−４…専用ビューアー、１３−５…出力データ、１３−５１…デーコードされた輝度値データ、１３−５２…デコードされた奥行き値データ、１６−１…入力データ、１６−１１…輝度値データ、１６−１２…視差データ、１６−２…埋め込み済みデータ、１６−３…専用ビューアー、１６−４…出力データ、１６−４１…右目用画像、１６−４２…左目用画像、１８−１…輝度値データ、１８−２…視差データ、１８−３…視差画像、１８−３１…視差画像に対する元データのオクルージョン部、１８−４…対応点のある画像領域、１８−４１…元データに対する視差画像のオクルージョン部、２１−１…入力データ、２１−１１…輝度値データ、２１−１２…視差データ、２１−２…埋め込み済みデータ、２１−３…専用ビューアー、２１−４…出力データ、２１−４１…右目用画像、２１−４２…左目用画像、２３−１…輝度値データ、２３−２…視差データ、２３−３…視差画像、２３−３１…視差画像に対する元データのオクルージョン部、２３−４…対応点のある画像領域、２３−４１…元データに対する視差画像のオクルージョン部、２４−１…立体情報埋め込み装置、２４−２…輝度値データ入力部、２４−３…奥行き値データ入力部、２４−４…埋め込みデータ作成部、２４−５…マスク作成部、２４−６…下位ｂｉｔ置き換え部、２４−７…データ出力部、２４−８…輝度値データ、２４−９…奥行き値データ、２４−１０…立体画像データ、２５−１…立体情報埋め込み装置、２５−２…輝度値データ入力部、２５−３…視差データ入力部、２５−４…埋め込みデータ作成部、２５−５…マスク作成部、２５−６…第１の下位ｂｉｔ置き換え部、２５−７…オクルージョン検出部、２５−８…背景輝度値データ、２５−９…輝度値データ分割部、２５−１０…第２の下位ｂｉｔ置き換え部、２５−１１…データ出力部、２５−１２…輝度値データ、２５−１３…視差データ、２５−１４…背景輝度値データ、２５−１５…立体画像データ
【図１】
2004227231.tif 000003
【図２】
2004227231.tif 000004
【図３】
2004227231.tif 000005
【図４】
2004227231.tif 000006
【図５】
2004227231.tif 000007
【図６】
2004227231.tif 000008
【図７】
2004227231.tif 000009
【図８】
2004227231.tif 000010
【図９】
2004227231.tif 000011
【図１０】
2004227231.tif 000012
【図１１】
2004227231.tif 000013
【図１２】
2004227231.tif 000014
【図１３】
2004227231.tif 000015
【図１４】
2004227231.tif 000016
【図１５】
2004227231.tif 000017
【図１６】
2004227231.tif 000018
【図１７】
2004227231.tif 000019
【図１８】
2004227231.tif 000020
【図１９】
2004227231.tif 000021
【図２０】
2004227231.tif 000022
【図２１】
2004227231.tif 000023
【図２２】
2004227231.tif 000024
【図２３】
2004227231.tif 000025
【図２４】
2004227231.tif 000026
【図２５】
2004227231.tif 000027