(57)【特許請求の範囲】
【請求項１】
画像に、情報を埋め込むための処理を行う画像処理装置であって、
前記画像を構成する一部の画素を選択する選択手段と、
前記選択手段によって選択された前記画素の画素値を、前記情報にしたがって、所定のビット数だけローテーションすることにより、前記画素に、前記情報を埋め込むローテーション手段と
を含むことを特徴とする画像処理装置。
【請求項２】
前記ローテーション手段は、前記選択手段によって選択された前記画素のうちの一部の画素の画素値を、最下位ビットから最上位ビットの方向にローテーションし、残りの画素の画素値を、最上位ビットから最下位ビットの方向にローテーションする
ことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記画像を所定のブロックに分割する分割手段をさらに含み、
前記選択手段は、前記ブロックを構成する一部の画素を選択する
ことを特徴とする請求項１に記載の画像処理装置。
【請求項４】
画像に、情報を埋め込むための処理を行う画像処理方法であって、
前記画像を構成する一部の画素を選択する選択ステップと、
前記選択ステップで選択された前記画素の画素値を、前記情報にしたがって、所定のビット数だけローテーションすることにより、前記画素に、前記情報を埋め込むローテーションステップと
を含むことを特徴とする画像処理方法。
【請求項５】
画像に、情報を埋め込む処理をコンピュータに実行させるプログラムを格納するプログラム格納媒体であって、
前記画像を構成する一部の画素を選択する選択ステップと、
前記選択ステップで選択された前記画素の画素値を、前記情報にしたがって、所定のビット数だけローテーションすることにより、前記画素に、前記情報を埋め込むローテーションステップと
を含む処理を、前記コンピュータに実行させるプログラムを格納するプログラム格納媒体。
【請求項６】
情報が埋め込まれた画像である情報埋め込み画像を、元の画像と情報に復号するための処理を行う画像処理装置であって、
前記情報埋め込み画像を構成する一部の画素を選択する選択手段と、
前記選択手段によって選択された前記画素の画素値を、所定のビット数だけローテーションするローテーション手段と、
画素値がローテーションされた前記画素と、前記選択手段によって選択された前記画素以外の画素との間の相関を演算する相関演算手段と、
前記相関に基づいて、前記選択手段によって選択された前記画素を復号するための、画素値をローテーションするビット数を決定する決定手段と、
前記決定手段によって決定されたビット数に基づいて、前記選択手段によって選択された前記画素を復号するとともに、その画素に埋め込まれた前記情報を復号する復号手段と
を含むことを特徴とする画像処理装置。
【請求項７】
前記ローテーション手段は、前記選択手段によって選択された前記画素のうちの一部の画素の画素値を、最下位ビットから最上位ビットの方向にローテーションし、残りの画素の画素値を、最上位ビットから最下位ビットの方向にローテーションする
ことを特徴とする請求項６に記載の画像処理装置。
【請求項８】
前記情報埋め込み画像を所定のブロックに分割する分割手段をさらに含み、
前記選択手段は、前記ブロックを構成する一部の画素を選択する
ことを特徴とする請求項６に記載の画像処理装置。
【請求項９】
前記相関演算手段は、画素値がローテーションされた前記画素について、その画素の周辺にある画素であって、前記選択手段によって選択された前記画素以外の画素との間の相関を演算する
ことを特徴とする請求項６に記載の画像処理装置。
【請求項１０】
前記相関演算手段は、画素値がローテーションされた前記画素について、前記選択手段によって選択された前記画素以外の画素との間の相関の他、既に復号された画素との間の相関も演算する
ことを特徴とする請求項６に記載の画像処理装置。
【請求項１１】
情報が埋め込まれた画像である情報埋め込み画像を、元の画像と情報に復号するための処理を行う画像処理方法であって、
前記情報埋め込み画像を構成する一部の画素を選択する選択ステップと、
前記選択ステップで選択された前記画素の画素値を、所定のビット数だけローテーションするローテーションステップと、
画素値がローテーションされた前記画素と、前記選択ステップで選択された前記画素以外の画素との間の相関を演算する相関演算ステップと、
前記相関に基づいて、前記選択ステップで選択された前記画素を復号するための、画素値をローテーションするビット数を決定する決定ステップと、
前記決定ステップで決定されたビット数に基づいて、前記選択ステップで選択された前記画素を復号するとともに、その画素に埋め込まれた前記情報を復号する復号ステップと
を含むことを特徴とする画像処理方法。
【請求項１２】
情報が埋め込まれた画像である情報埋め込み画像を、元の画像と情報に復号する処理をコンピュータに実行させるプログラムを格納するプログラム格納媒体であって、
前記情報埋め込み画像を構成する一部の画素を選択する選択ステップと、
前記選択ステップで選択された前記画素の画素値を、所定のビット数だけローテーションするローテーションステップと、
画素値がローテーションされた前記画素と、前記選択ステップで選択された前記画素以外の画素との間の相関を演算する相関演算ステップと、
前記相関に基づいて、前記選択ステップで選択された前記画素を復号するための、画素値をローテーションするビット数を決定する決定ステップと、
前記決定ステップで決定されたビット数に基づいて、前記選択ステップで選択された前記画素を復号するとともに、その画素に埋め込まれた前記情報を復号する復号ステップと
を含む処理を、前記コンピュータに実行させるプログラムを格納するプログラム格納媒体。
【請求項１３】
画像に、情報を埋め込み、その情報が埋め込まれた画像である情報埋め込み画像を出力する埋め込み符号化器と、
前記情報埋め込み画像を、元の画像と情報に復号する埋め込み復号器と
を備える画像処理装置であって、
前記埋め込み符号化器は、
前記画像を構成する一部の画素を選択する第１の選択手段と、
前記第１の選択手段によって選択された前記画素の画素値を、前記情報にしたがって、所定のビット数だけローテーションすることにより、前記画素に、前記情報を埋め込み、前記情報埋め込み画像を出力する第１のローテーション手段と
を含み、
前記埋め込み復号器は、
前記情報埋め込み画像を構成する一部の画素を選択する第２の選択手段と、
前記第２の選択手段によって選択された前記画素の画素値を、所定のビット数だけローテーションする第２のローテーション手段と、
画素値がローテーションされた前記画素と、前記第２の選択手段によって選択された前記画素以外の画素との間の相関を演算する相関演算手段と、
前記相関に基づいて、前記第２の選択手段によって選択された前記画素を復号するための、画素値をローテーションするビット数を決定する決定手段と、
前記決定手段によって決定されたビット数に基づいて、前記第２の選択手段によって選択された前記画素を復号するとともに、その画素に埋め込まれた前記情報を復号する復号手段と
を含む
ことを特徴とする画像処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像処理装置および画像処理方法、並びにプログラム格納媒体に関し、再生画像の画質の劣化を極力なくし、かつデータ量を増加せずに、画像に情報を埋め込むことができるようにする画像処理装置および画像処理方法、並びにプログラム格納媒体に関する。
【０００２】
【従来の技術】
信号に対して、そのデータ量を増加させることなく、情報を埋め込む手法としては、例えば、ディジタルオーディオデータの最下位ビットや、下位２ビットなどを、埋め込む情報に変換するものなどがある。この手法は、ディジタルオーディオデータの下位ビットが、その音質にあまり影響を与えないことを利用し、その下位ビットを、単に、埋め込む情報に置き換えるものであり、従って、再生時には、情報が埋め込まれたディジタルオーディオデータは、その下位ビットを元に戻さずに、そのまま出力される。即ち、情報が埋め込まれた下位ビットを、元に戻すのは困難であり、また、下位ビットは、音質に、あまり影響を与えないことから、ディジタルオーディオデータは、情報が埋め込まれた状態で出力される。
【０００３】
【発明が解決しようとする課題】
しかしながら、以上のような手法では、本来の信号と異なる信号が出力される。従って、信号がオーディオデータである場合には、その音質に、また、信号がビデオデータである場合には、その画質に、少なからず影響がある。
【０００４】
本発明は、このような状況に鑑みてなされたものであり、画像の画質の劣化を極力なくし、かつデータ量を増加せずに、画像に情報を埋め込むことができるようにするものである。
【０００５】
【課題を解決するための手段】
請求項１に記載の画像処理装置は、画像を構成する一部の画素を選択する選択手段と、選択手段によって選択された画素の画素値を、情報にしたがって、所定のビット数だけローテーションすることにより、画素に、情報を埋め込むローテーション手段とを含むことを特徴とする。
【０００６】
ローテーション手段には、選択手段によって選択された画素のうちの一部の画素の画素値を、最下位ビットから最上位ビットの方向にローテーションさせ、残りの画素の画素値を、最上位ビットから最下位ビットの方向にローテーションさせることができる。
【０００７】
画像を所定のブロックに分割する分割手段をさらに設けることができ、この場合、選択手段には、ブロックを構成する一部の画素を選択させることができる。
【０００８】
請求項４に記載の画像処理方法は、画像を構成する一部の画素を選択する選択ステップと、選択ステップで選択された画素の画素値を、情報にしたがって、所定のビット数だけローテーションすることにより、画素に、情報を埋め込むローテーションステップとを含むことを特徴とする。
【０００９】
請求項５に記載のプログラム格納媒体に格納されるプログラムは、画像を構成する一部の画素を選択する選択ステップと、選択ステップで選択された画素の画素値を、情報にしたがって、所定のビット数だけローテーションすることにより、画素に、情報を埋め込むローテーションステップとを含む処理をコンピュータに実行させることを特徴とする。
【００１０】
請求項６に記載の画像処理装置は、情報埋め込み画像を構成する一部の画素を選択する選択手段と、選択手段によって選択された画素の画素値を、所定のビット数だけローテーションするローテーション手段と、画素値がローテーションされた画素と、選択手段によって選択された画素以外の画素との間の相関を演算する相関演算手段と、相関に基づいて、選択手段によって選択された画素を復号するための、画素値を、ローテーションするビット数を決定する決定手段と、決定手段によって決定されたビット数に基づいて、選択手段によって選択された画素を復号するとともに、その画素に埋め込まれた情報を復号する復号手段とを含むことを特徴とする。
【００１１】
ローテーション手段には、選択手段によって選択された画素のうちの一部の画素の画素値を、最下位ビットから最上位ビットの方向にローテーションさせ、残りの画素の画素値を、最上位ビットから最下位ビットの方向にローテーションさせることができる。
【００１２】
情報埋め込み画像を所定のブロックに分割する分割手段をさらに設けることができ、この場合、選択手段には、ブロックを構成する一部の画素を選択させることができる。
【００１３】
相関演算手段には、画素値がローテーションされた画素について、その画素の周辺にある画素であって、選択手段によって選択された画素以外の画素との間の相関を演算させることができる。
【００１４】
相関演算手段には、画素値がローテーションされた画素について、選択手段によって選択された画素以外の画素との間の相関の他、既に復号された画素との間の相関も演算させることができる。
【００１５】
請求項１１に記載の画像処理方法は、情報埋め込み画像を構成する一部の画素を選択する選択ステップと、選択ステップで選択された画素の画素値を、所定のビット数だけローテーションするローテーションステップと、画素値がローテーションされた画素と、選択ステップで選択された画素以外の画素との間の相関を演算する相関演算ステップと、相関に基づいて、選択ステップで選択された画素を復号するための、画素値をローテーションするビット数を決定する決定ステップと、決定ステップで決定されたビット数に基づいて、選択ステップで選択された画素を復号するとともに、その画素に埋め込まれた情報を復号する復号ステップとを含むことを特徴とする。
【００１６】
請求項１２に記載のプログラム格納媒体に格納されるプログラムは、情報埋め込み画像を構成する一部の画素を選択する選択ステップと、選択ステップで選択された画素の画素値を、所定のビット数だけローテーションするローテーションステップと、画素値がローテーションされた画素と、選択ステップで選択された画素以外の画素との間の相関を演算する相関演算ステップと、相関に基づいて、選択ステップで選択された画素を復号するための、画素値をローテーションするビット数を決定する決定ステップと、決定ステップで決定されたビット数に基づいて、選択ステップで選択された画素を復号するとともに、その画素に埋め込まれた情報を復号する復号ステップとを含む処理をコンピュータに実行させることを特徴とする。
【００１７】
請求項１３に記載の画像処理装置は、画像を構成する一部の画素を選択する第１の選択手段と、第１の選択手段によって選択された画素の画素値を、情報にしたがって、所定のビット数だけローテーションすることにより、画素に、情報を埋め込み、情報埋め込み画像を出力する第１のローテーション手段と、情報埋め込み画像を構成する一部の画素を選択する第２の選択手段と、第２の選択手段によって選択された画素の画素値を、所定のビット数だけローテーションする第２のローテーション手段と、画素値がローテーションされた画素と、第２の選択手段によって選択された画素以外の画素との間の相関を演算する相関演算手段と、相関に基づいて、第２の選択手段によって選択された画素を復号するための、画素値をローテーションするビット数を決定する決定手段と、決定手段によって決定されたビット数に基づいて、第２の選択手段によって選択された画素を復号するとともに、その画素に埋め込まれた情報を復号する復号手段とを含むことを特徴とする。
【００１８】
請求項１に記載の画像処理装置および請求項４に記載の画像処理方法、並びに請求項５に記載のプログラム格納媒体においては、画像を構成する一部の画素が選択され、その選択された画素の画素値が、情報にしたがって、所定のビット数だけローテーションされることにより、画素に、情報が埋め込まれる。
【００１９】
請求項６に記載の画像処理装置および請求項１１に記載の画像処理方法、並びに請求項１２に記載のプログラム格納媒体においては、情報埋め込み画像を構成する一部の画素が選択され、その選択された画素の画素値が、所定のビット数だけローテーションされる。さらに、その画素値がローテーションされた画素と、選択された画素以外の画素との間の相関が演算され、その相関に基づいて、選択された画素を復号するための、画素値をローテーションするビット数が決定される。そして、その決定されたビット数に基づいて、選択された画素が復号されるとともに、その画素に埋め込まれた情報が復号される。
【００２０】
請求項１３に記載の画像処理装置においては、画像を構成する一部の画素が選択され、その選択された画素の画素値が、情報にしたがってローテーションされることにより、画素に、情報が埋め込まれ、情報埋め込み画像が出力される。一方、情報埋め込み画像を構成する一部の画素が選択され、その選択された画素の画素値が、所定のビット数だけ、所定のビット数だけローテーションされる。さらに、その画素値がローテーションされた画素と、選択された画素以外の画素との間の相関が演算され、その相関に基づいて、選択された画素を復号するための、画素値をローテーションするビット数が決定される。そして、その決定されたビット数に基づいて、選択された画素が復号されるとともに、その画素に埋め込まれた情報が復号される。
【００２１】
【発明の実施の形態】
図１は、本発明を適用した画像伝送システム（システムとは、複数の装置が論理的に集合した物をいい、各構成の装置が同一筐体中にあるか否かは問わない）の一実施の形態の構成例を示している。
【００２２】
この画像伝送システムは、符号化装置１０および復号装置２０で構成されており、符号化装置１０は、符号化対象としての、例えば、画像を符号化して符号化データを出力し、復号装置２０は、その符号化データを、元の画像に復号するようになされている。
【００２３】
即ち、画像データベース１は、符号化すべき画像（例えば、ディジタル画像）を記憶している。そして、画像データベース１からは、そこに記憶されている画像が読み出され、埋め込み符号化器３に供給される。
【００２４】
また、付加情報データベース２は、符号化対象の画像に埋め込むべき情報としての付加情報（ディジタルデータ）を記憶している。そして、付加情報データベース２からも、そこに記憶されている付加情報が読み出され、埋め込み符号化器３に供給される。
【００２５】
埋め込み符号化器３では、画像データベース１からの画像、および付加情報データベース２からの付加情報が受信される。さらに、埋め込み符号化器３は、画像データベース１からの画像が有するエネルギの偏りを利用して復号を行うことができるように、その画像を、付加情報データベース２からの付加情報にしたがって符号化して出力する。即ち、埋め込み符号化器３は、画像が有するエネルギの偏りを利用して復号を行うことができるように、画像に付加情報を埋め込むことで、その画像を符号化し、符号化データを出力する。埋め込み符号化器３が出力する符号化データは、例えば、光磁気ディスク、磁気ディスク、光ディスク、磁気テープ、相変化ディスクなどでなる記録媒体４に記録され、あるいは、また、例えば、地上波、衛星回線、ＣＡＴＶ（Cable Television）網、インターネット、公衆回線などでなる伝送媒体５を介して伝送され、復号装置２０に提供される。
【００２６】
復号装置２０は、埋め込み復号器６で構成され、そこでは、記録媒体４または伝送媒体５を介して提供される符号化データが受信される。さらに、埋め込み復号器６は、その符号化データを、画像が有するエネルギの偏りを利用して、元の画像および付加情報に復号する。復号された画像は、例えば、図示せぬモニタに供給されて表示される。また、復号された付加情報は、例えば、所定の処理を行うのに用いられる。
【００２７】
次に、図１の埋め込み符号化器３における符号化、および埋め込み復号器６における復号の原理について説明する。
【００２８】
一般に、情報と呼ばれるものは、エネルギ（エントロピー）の偏り（普遍性）を有し、この偏りが、情報（価値ある情報）として認識される。即ち、例えば、ある風景を撮影して得られる画像が、そのような風景の画像であると認識されるのは、画像（画像を構成する各画素の画素値など）が、その風景に対応したエネルギの偏りを有するからであり、エネルギの偏りがない画像は、雑音等にすぎず、情報としての利用価値はない。
【００２９】
従って、価値ある情報に対して、何らかの操作を施し、その情報が有する本来のエネルギの偏りを、いわば破壊した場合でも、その破壊されたエネルギの偏りを元に戻すことで、何らかの操作が施された情報も、元の情報に戻すことができる。即ち、情報を符号化して得られる符号化データは、その情報が有する本来のエネルギの偏りを利用して、元の情報に復号することができる。
【００３０】
情報が有するエネルギ（の偏り）を表すものとしては、例えば、相関性があり、情報の相関性とは、その情報の構成要素（例えば、画像であれば、その画像を構成する画素やラインなど）どうしの相関（例えば、自己相関や、ある構成要素と他の構成要素との距離など）を意味する。
【００３１】
即ち、例えば、いま、図２に示すようなＨラインでなる画像があった場合に、その上から１行目のライン（第１ライン）と、他のラインとの相関は、一般に、図３（Ａ）に示すように、第１ラインとの距離が近いライン（図２における画面の上の行のライン）ほど大きくなり、第１ラインとの距離が遠いライン（図２における画面の下の行のライン）ほど小さくなる（第１ラインから近いほど相関が大きくなり、遠いほど相関が小さくなるという相関の偏りがある）。
【００３２】
そこで、いま、図２の画像において、第１ラインから近い第Ｍラインと、第１ラインから遠い第Ｎラインとを入れ替え（１＜Ｍ＜Ｎ≦Ｈ）、その入れ替え後の画像について、第１ラインと、他のラインとの相関を計算すると、それは、例えば、図３（Ｂ）に示すようになる。
【００３３】
即ち、入れ替え後の画像では、第１ラインから近い第Ｍライン（入れ替え前の第Ｎライン）との相関が小さくなり、第１ラインから遠い第Ｎライン（入れ替え前の第Ｍライン）との相関が大きくなる。
【００３４】
従って、図３（Ｂ）では、第１ラインから近いほど相関が大きくなり、遠いほど相関が小さくなるという相関の偏りが破壊されている。しかしながら、画像については、一般に、第１ラインから近いほど相関が大きくなり、遠いほど相関が小さくなるという相関の偏りを利用することにより、破壊された相関の偏りを、元に戻すことができる。即ち、図３（Ｂ）において、第１ラインから近い第Ｍラインとの相関が小さく、第１ラインから遠い第Ｎラインとの相関が大きいのは、画像が有する本来の相関の偏りからすれば、明らかに不自然であり（おかしく）、第Ｍラインと第Ｎラインとは入れ替えるべきである。そして、図３（Ｂ）における第Ｍラインと第Ｎラインとを入れ替えることで、図３（Ａ）に示すような相関、即ち、元の画像を復号することができる。
【００３５】
ここで、図２および図３で説明した場合においては、ラインの入れ替えが、画像の符号化を行うこととなる。また、その符号化に際し、埋め込み符号化器３では、例えば、何ライン目を移動するかや、どのラインどうしを入れ替えるかなどが、付加情報にしたがって決定されることになる。一方、埋め込み復号器６では、符号化後の画像、即ち、ラインの入れ替えられた画像を、その相関を利用して、ラインを元の位置に入れ替えることにより、元の画像に戻すことが、画像を復号することとなる。さらに、その復号に際し、埋め込み復号器６において、例えば、何ライン目を移動したかや、どのラインどうしを入れ替えたかなどを検出することが、画像に埋め込まれた付加情報を復号することになる。
【００３６】
次に、図４は、以上のような画像の相関性を利用して元に戻すことができるように、画像に付加情報を埋め込む埋め込み符号化を行う図１の埋め込み符号化器３の構成例を示している。
【００３７】
画像データベース１から供給される画像は、フレームメモリ３１に供給されるようになされており、フレームメモリ３１は、画像データベース１からの画像を、例えば、フレーム単位で一時記憶するようになされている。
【００３８】
CPU(Central Processing Unit)３２は、プログラムメモリ３３に記憶されたプログラムを実行することで、フレームメモリ３１に記憶された画像を対象に、後述する埋め込み符号化処理を行うようになされている。即ち、CPU３２は、付加情報データベース２から供給される付加情報を、フレームメモリ３１に記憶された画像に埋め込むようになされている。
【００３９】
プログラムメモリ３３は、例えば、ROM(Read Only Memory)やRAM(Random Access Memory)などで構成され、CPU３２に、埋め込み符号化処理を行わせるためのコンピュータプログラムを記憶している。
【００４０】
出力I/F（Interface）３４は、フレームメモリ３１から、付加情報の埋め込まれた画像を読み出し、符号化データとして出力するようになされている。
【００４１】
なお、フレームメモリ３１は、複数のフレームを記憶することのできるように、複数バンクで構成されており、バンク切り替えを行うことで、フレームメモリ３１では、画像データベース１から供給される画像の記憶、CPU３２による埋め込み符号化処理の対象となっている画像の記憶、および埋め込み符号化処理後の画像（符号化データ）の出力を、同時に行うことができるようになされている。これにより、画像データベース１から供給される画像が、動画であっても、符号化データのリアルタイム出力を行うことができるようになされている。
【００４２】
次に、図５は、図４のCPU３２が、プログラムメモリ３３に記憶されたプログラムを実行することで実現される埋め込み符号化器３の機能的構成例を示している。
【００４３】
ブロック分割部４１には、符号化対象としての画像が、例えば、１フレーム単位で供給されるようになっており、ブロック分割部４１は、その１フレーム単位の画像を、所定の大きさのブロックに分割して、ビットローテーション部４２に供給するようになっている。
【００４４】
ビットローテーション部４２には、ブロック分割部４１からブロックが供給される他、画像に埋め込む付加情報が供給されるようになっており、ビットローテーション部４２は、ブロック分割部４１からのブロックを構成する一部の画素を選択し、その画素（以下、適宜、選択画素という）の画素値を、付加情報にしたがってローテーションすることにより、選択画素に、付加情報を埋め込むようになっている。選択画素に付加情報が埋め込まれたブロックは、符号化ブロックとして符号化画像メモリ４３に供給されるようになっている。
【００４５】
符号化画像メモリ４３は、ビットローテーション部４２から供給される符号化ブロックを順次記憶し、１フレーム分の符号化ブロックを記憶すると、その１フレーム分の符号化ブロックを、符号化データとして出力するようになっている。
【００４６】
次に、図６のフローチャートを参照して、図５の埋め込み符号化器３において行われる埋め込み符号化処理について説明する。
【００４７】
上述したように、ブロック分割部４１には、符号化対象としての画像が、１フレーム単位で供給されるようになっており、ブロック分割部４１は、１フレームの画像を受信すると、ステップＳ１において、その１フレームの画像を、所定の大きさのブロックに分割する。即ち、ブロック分割部４１は、１フレームの画像を、例えば、図７（Ａ）に示すように、横×縦が４×４画素のブロックに分割する。ブロック分割４１において得られたブロックは、例えば、ラインスキャン順に、順次、ビットローテーション部４２に供給される。
【００４８】
ビットローテーション部４２は、ブロック分割部４１からブロックを受信すると、そのブロックを、注目ブロックとし、ステップＳ２において、注目ブロックを構成する一部の画素を選択する。即ち、ビットローテーション部４２は、注目ブロックを構成する画素のうち、例えば、図７（Ａ）に●印および斜線を付した○印で示すような、五の目格子を構成するような位置関係にある画素を、選択画素として選択する。従って、ここでは、ブロックを構成する１／２の画素が、選択画素として選択される。
【００４９】
そして、ステップＳ３に進み、ビットローテーション部４２において、選択画素の画素値が、付加情報にしたがってローテーションされることで、選択画素に、付加情報が埋め込まれる。即ち、ビットローテーション部４２は、選択画素のうち、図７（Ａ）において斜線を付した○印で示す選択画素の画素値を、そのLSB(Least Significant Bit)からMSB(Most Significant Bit)の方向に、付加情報の値に対応するビット数だけローテーション（以下、適宜、左ローテーションという）する。
【００５０】
ここで、ローテーションは、基本的には、ビットシフトと同一であるが、LSBからMSB方向にローテーションを行う場合には、MSBは捨てずにLSBに移動され、逆に、MSBからLSB方向にローテーションを行う場合には、LSBは捨てずにMSBに移動される。
【００５１】
さらに、ビットローテーション部４２は、選択画素のうち、図７（Ａ）において●印で示す選択画素の画素値を、そのMSBからLSBの方向に、付加情報に対応するビット数だけローテーション（以下、適宜、右ローテーションという）する。
【００５２】
ここで、画素値が左ローテーションまたは右ローテーションされる画素を、それぞれ左ローテーション画素または右ローテーション画素というものとすると、本実施の形態では、選択画素の斜め方向について、左ローテーション画素と右ローテーション画素とが交互に並ぶようになっており、従って、選択画素の半分が左ローテーションされ、残りの半分が右ローテーションされる。
【００５３】
例えば、いま、画素値が８ビットで表されるとし、ある左ローテーション画素の画素値が、00111101B（Bは、その前の数字が２進数であることを表す）であり、また、ある右ローテーション画素の画素値が、10010111Bであったとする。さらに、付加情報が２であるとすると、図７（Ｂ）に示すように、画素値が00111101Bの左ローテーション画素、または画素値が10010111Bである右ローテーション画素は、２ビットだけ左ローテーション、または右ローテーションされ、それぞれの画素値は、11110100B、または11100101Bとされる。ブロック内の他の左ローテーション画素および右ローテーション画素も、同様に、付加情報に従ってローテーションされる。
【００５４】
なお、画素値が８ビットで表される場合においては、０乃至７ビットのローテーションが可能であり、従って、この場合、１のブロックには、０乃至７の付加情報（３ビットで表される付加情報）を埋め込むことができる。
【００５５】
ステップＳ３で選択画素のローテーションが行われたブロックは、符号化ブロックとして、符号化画像メモリ４３に供給されて記憶される。そして、ステップＳ４に進み、ビットローテーション部４２において、１フレームの画像を分割して得られたブロックのうち、まだ、注目ブロックとして処理していないブロック（以下、適宜、未処理ブロックという）があるかどうかが判定される。ステップＳ４において、未処理ブロックがあると判定された場合、その未処理ブロックのいずれかが注目ブロックとされ、ステップＳ２に戻り、以下、同様の処理が繰り返される。
【００５６】
また、ステップＳ４において、未処理ブロックがないと判定された場合、即ち、符号化画像メモリ４３に、１フレーム分の符号化ブロックが記憶された場合、その１フレーム分の符号化ブロックが、符号化画像メモリ４３から読み出される。そして、ステップＳ５に進み、ブロック分割部４１において、次に処理すべきフレームがあるかどうかが判定される。ステップＳ５において、次に処理すべきフレームがあると判定された場合、ステップＳ１に戻り、そのフレームを対象に、以下、同様の処理が行われる。
【００５７】
一方、ステップＳ５において、次に処理すべきフレームがないと判定された場合、埋め込み符号化処理を終了する。
【００５８】
以上のように、画像を構成する一部の画素を選択し、その選択画素の画素値を、付加情報にしたがってローテーションすることにより、画素に、付加情報を埋め込むことで、画像の画質の劣化を極力なくし、かつデータ量を増加せずに、画像に付加情報を埋め込むことができる。
【００５９】
即ち、付加情報が埋め込まれた選択画素（図７（Ａ）において、斜線を付した○印および●印で示す画素）の画素値は、画像の相関性、即ち、ここでは、付加情報が埋め込まれなかった画素（図７（Ａ）において、○印で示す画素）等との間の相関を利用することにより、後述するように、オーバヘッドなしで、元の画素と付加情報に復号（戻す）ことができる。従って、その結果得られる復号画像（再生画像）には、基本的に、付加情報を埋め込むことによる画質の劣化は生じない。
【００６０】
次に、図８は、図５の埋め込み符号化器３が出力する符号化データを、画像の相関性を利用して元の画像と付加情報に復号する図１の埋め込み復号器６の構成例を示している。
【００６１】
符号化データ、即ち、付加情報が埋め込まれた画像（以下、適宜、埋め込み画像という）は、フレームメモリ５１に供給されるようになされており、フレームメモリ５１は、埋め込み画像を、例えば、フレーム単位で一時記憶するようになされている。なお、フレームメモリ５１も、図４のフレームメモリ３１と同様に構成され、バンク切り替えを行うことにより、埋め込み画像が、動画であっても、そのリアルタイム処理が可能となっている。
【００６２】
出力Ｉ／Ｆ５２は、フレームメモリ５１から、CPU５３による、後述する埋め込み復号処理の結果得られる画像（復号画像）を読み出して出力するようになされている。
【００６３】
CPU５３は、プログラムメモリ５４に記憶されたプログラムを実行することで、埋め込み復号処理を行うようになされている。即ち、CPU５３は、フレームメモリ５１に記憶された埋め込み画像を、画像の相関性を利用して元の画像と付加情報に復号するようになされている。
【００６４】
プログラムメモリ５４は、例えば、図４のプログラムメモリ３３と同様に構成され、CPU５３に、埋め込み復号化処理を行わせるためのコンピュータプログラムを記憶している。
【００６５】
次に、図９は、図８のCPU５３が、プログラムメモリ５４に記憶されたプログラムを実行することで実現される埋め込み復号器６の機能的構成例を示している。
【００６６】
符号化データとしての埋め込み画像は、例えば、１フレーム単位で、ブロック分割部６１に供給されるようになっている。ブロック分割部６１は、埋め込み画像を、図５のブロック分割部４１における場合と同様に、所定の大きさのブロック、即ち、符号化ブロックに分割し、ビット逆ローテーション部６２に順次供給するようになっている。
【００６７】
ビット逆ローテーション部６２は、ブロック分割部６１からの符号化ブロックを構成する画素のうち、図５のビットローテーション部４２が選択するものと同一の位置にある画素を、選択画素として選択し、その選択画素の画素値を、ローテーションビット用レジスタ６３から供給されるローテーション値に対応するビット数だけローテーションし、差分値計算部６４に供給するようになっている。さらに、ビット逆ローテーション部６２は、最適ローテーションビット保存用レジスタ６９に記憶された最適ローテーションビットだけ、選択画素の画素値をローテーションし、これにより、符号化ブロックを元のブロックに復号して、復号画像メモリ７１に供給するようになっている。
【００６８】
ローテーションビット用レジスタ６３は、画素値をローテーションするビット数としてのローテーション値を設定し、ビット逆ローテーション部６２およびスイッチ６５に供給するようになっている。即ち、画素値がth_rビットで表される場合、その画素値は、０乃至th_r−１ビットだけローテーションすることが可能であり（th_rビット以上のビット数のローテーションは、０乃至th_r−１ビットのいずれかのビット数のローテーションに等しい）、この場合、ローテーションビット用レジスタ６３は、０乃至th_r−１ビットを、順次、ローテーション値として設定し、ビット逆ローテーション部６２およびスイッチ６５に供給する。
【００６９】
差分値計算部６４は、ビット逆ローテーション部６４から供給される、選択画素の画素値がローテーションされた符号化ブロックを受信し、その符号化ブロックについて、選択画素と、それに隣接する画素との相関値、即ち、ここでは、例えば、それぞれの画素値の差分絶対値和を計算する。この相関値としての画素値の差分絶対値和は、スイッチ６６および比較器６８に供給されるようになっている。
【００７０】
スイッチ６５は、比較器６８の制御にしたがって、ローテーションビット用レジスタ６３が出力するローテーション値を、最適ローテーションビット保存用レジスタ６９に供給するようになっている。スイッチ６６は、比較器６８の制御にしたがって、差分値計算部６４が出力する相関値を、最小差分値保存用レジスタ６７に供給するようになっている。
【００７１】
最小差分値保存用レジスタ６７は、スイッチ６６を介して、差分値計算部６４から供給される相関値を、いま処理の対象となっている符号化ブロック（以下、適宜、注目符号化ブロックという）についての最大の相関値として記憶するようになっている。なお、本実施の形態では、上述したように、符号化ブロックについての選択画素と、それに隣接する画素との間の相関値は、それぞれの画素値の差分絶対値和を採用していることから、最大の相関値とは、画素値の差分絶対値和の最小値を意味することとなる。
【００７２】
最小差分値保存用レジスタ６７が記憶する最大の相関値としての、画素値の差分絶対値和の最小値（最小差分絶対値和）は、比較器６８に供給されるようになっており、比較器６８は、差分値計算部６４が出力する差分絶対値和と、最小差分値保存用レジスタ６７が記憶している最小差分絶対値和とを比較し、その比較結果に基づいて、スイッチ６５および６６を制御するようになっている。
【００７３】
最適ローテーションビット保存用レジスタ６９は、スイッチ６５を介して、ローテーションビット用レジスタ６３から供給されるローテーション値を、符号化ブロックの選択画素の画素値をローテーションする最適なビット数である最適ローテーションビットとして記憶し、必要に応じて、ビット逆ローテーション部６２および復号付加情報メモリ７０に供給するようになっている。
【００７４】
復号付加情報メモリ７０は、最適ローテーションビット保存用レジスタ６９から供給される最適ローテーションビットに対応する値を、符号化ブロックに埋め込まれた付加情報の復号結果として一時記憶して出力するようになっている。復号画像メモリ７１は、ビット逆ローテーション部６２が出力する、選択画素の画素値が最適ローテーションビットだけローテーションされた符号化ブロックを、元のブロックの復号結果として一時記憶し、１フレーム分のブロックの復号結果を記憶すると、その１フレーム分の復号画像を出力するようになっている。
【００７５】
次に、図１０のフローチャートを参照して、図９の埋め込み復号器６において行われる埋め込み復号処理について説明する。
【００７６】
上述したように、ブロック分割部６１には、埋め込み画像が、１フレーム単位で供給されるようになっており、ブロック分割部６１は、１フレームの埋め込み画像を受信すると、ステップＳ１１において、その１フレームの埋め込み画像を、図５のブロック分割部４１と同様に、所定の大きさのブロックに分割する。即ち、ブロック分割部６１は、１フレームの埋め込み画像を、図１１（Ａ）に示すように、横×縦が４×４画素の符号化ブロックに分割する。ブロック分割６１において得られた符号化ブロックは、例えば、ラインスキャン順に、順次、ビット逆ローテーション部６２に供給される。
【００７７】
ビット逆ローテーション部６２は、ブロック分割部６１から符号化ブロックを受信すると、ステップＳ１２において、その符号化ブロックを注目符号化ブロックとして、その注目符号化ブロックを構成する一部の画素を、選択画素として選択する。即ち、ビット逆ローテーション部６２は、注目符号化ブロックを構成する画素から、図１１（Ａ）に斜線を付した○印および●印で示す、図５のビットローテーション部４２が選択画素として選択する画素と同一の画素を、選択画素として選択する。さらに、ビット逆ローテーション部６２は、選択画素のうち、図５のビットローテーション部４２において左ローテーション画素または右ローテーション画素とされたものを、それぞれ右ローテーション画素または左ローテーション画素とする。
【００７８】
即ち、符号化ブロックの選択画素のうち、図５のビットローテーション部４２において左ローテーション画素とされた画素は、その画素値を、そこに埋め込まれた付加情報に対応するビット数だけ、左ローテーションとは逆に右ローテーションすることで、元の画素に復号することができる。同様に、図５のビットローテーション部４２において右ローテーション画素とされた画素は、その画素値を、そこに埋め込まれた付加情報に対応するビット数だけ、右ローテーションとは逆に左ローテーションすることで、元の画素に復号することができる。
【００７９】
そこで、ビット逆ローテーション部６２は、図５のビットローテーション部４２において左ローテーション画素または右ローテーション画素とされたものを、それぞれ右ローテーション画素または左ローテーション画素とするようになっている。従って、ビット逆ローテーション部６２では、図７（Ａ）で説明した場合とは逆に、図１１（Ａ）において斜線を付した○印で示す画素が、右ローテーション画素とされ、また、●印で示す画素が、左ローテーション画素とされる。
【００８０】
その後、ステップＳ１３に進み、ローテーションビット用レジスタ６３は、ローテーション値nを０に初期化し、また、最小差分値保存用レジスタ６７は、その記憶値（最小差分絶対値和）を、所定の大きな値（例えば、記憶することのできる最大値など）に初期化する。さらに、ローテーションビット用レジスタ６３は、ローテーション値nを、ビット逆ローテーション部６２に供給するとともに、通常はオフ状態となっているスイッチ６５に出力し、ステップＳ１４に進む。
【００８１】
ステップＳ１４では、ビット逆ローテーション部６２において、注目符号化ブロックの左ローテーション画素または右ローテーション画素の画素値が、ローテーションビット用レジスタ６３からのローテーション値nだけ、それぞれ左ローテーションまたは右ローテーションされ、そのローテーション後の注目符号化ブロックが、差分値計算部６４に供給される。
【００８２】
即ち、例えば、いま、画素値が８ビットで表されるとし、ある右ローテーション画素の画素値が、11110100Bであり、また、ある左ローテーション画素の画素値が、11100101Bであったとする。さらに、ローテーション値nが２であるとすると、図１１（Ｂ）に示すように、画素値が11110100Bの右ローテーション画素、または画素値が11100101Bである左ローテーション画素は、２ビットだけ右ローテーション、または左ローテーションされ、それぞれの画素値は、00111101B、または10010111Bとされる。注目符号化ブロック内の他の左ローテーションおよび右ローテーション画素も、同様に、ローテーション値ｎに従ってローテーションされる。
【００８３】
差分値計算部６４は、ビット逆ローテーション部６２から、選択画素の画素値がnビットだけローテーションされた注目符号化ブロックを受信すると、ステップＳ１５において、注目符号化ブロックについての相関値（注目符号化ブロックを構成する画素どうしの相関値）として、選択画素とそれに隣接する画素との相関値の総和、即ち、ここでは、例えば、選択画素とそれに隣接する画素との画素値の差分絶対値和を計算する。
【００８４】
具体的には、図１２に示すように、符号化ブロックにおいては、●印および斜線を付した○印で示す選択画素は、１以上の、選択画素でない画素、即ち、埋め込み符号化処理において、画素値がローテーションされていない画素（以下、適宜、非選択画素という）に隣接している。差分値計算部６４では、符号化ブロックにおいて、選択画素と、その選択画素に隣接している非選択画素との画素値どうしの差分の絶対値（差分絶対値）が計算され、その総和（差分絶対値和）が、符号化ブロックについての相関値として求められる。
【００８５】
なお、選択画素に複数の非選択画素が隣接している場合には、例えば、図１２において実線の矢印で示すように、その複数の非選択画素それぞれについて、選択画素との差分絶対値が計算される。
【００８６】
また、上述の場合においては、符号化ブロック内の画素のみを用いて相関値を求めるようにしたが、相関値は、符号化ブロック外の画素をも用いて求めるようにすることが可能である。
【００８７】
即ち、例えば、いま、埋め込み画像を構成する符号化ブロックが、ラインスキャン順に、注目符号化ブロックとして処理されていくとすると、ある注目符号化ブロックを処理するときには、その左、上、または左上に隣接する符号化ブロックについての埋め込み復号は、既に終了し、元の画素値に戻されている。また、注目符号化ブロックの、左や上に隣接する画素、さらには、その右や下に隣接する画素の中には、画素値がローテーションされていない画素（非選択画素）がある。
【００８８】
注目符号化ブロック外の画素であっても、画素値が、以上のように元の画素値になっている画素（図１２において点線の○印で示す）は、図１２において点線の矢印で示すように、注目符号化ブロック内の選択画素との差分絶対値を計算するのに用いるようにすることができる。
【００８９】
さらに、上述の場合には、符号化ブロックについての相関値を求めるのに、選択画素と、その選択画素に隣接している非選択画素との画素値どうしの差分絶対値を用いるようにしたが、その他、例えば、選択画素に隣接していなくても、その選択画素の周辺にある非選択画素との画素値どうしの差分絶対値をも用いるようにすることが可能である。
【００９０】
また、選択画素との差分絶対値は、その選択画素に対して空間的に近接する画素の他、時間的に近接する画素を対象にして求めることも可能である。
【００９１】
以上のようにして、差分値計算部６４において求められた注目符号化ブロックについての相関値としての画素値の差分絶対値和は、比較器６８に供給されるとともに、通常はオフ状態となっているスイッチ６６に供給される。
【００９２】
比較器６８は、差分値計算部６４から、注目符号化ブロックについての差分絶対値和を受信すると、ステップＳ１５において、その差分絶対値和が、最小差分値保存用レジスタ６７の記憶値（最小差分絶対値和）より小さいかどうかを判定する。
【００９３】
ステップＳ１６において、差分計算部６４からの差分絶対値和が、最小差分値保存用レジスタ６７の記憶値より小さいと判定された場合、即ち、選択画素の画素値をnビットだけローテーションした注目符号化ブロックについての相関値の方が、その注目符号化ブロックについて、いままでに得られた相関値よりも大きく、従って、選択画素の画素値をnビットだけローテーションした注目符号化ブロックが、元のブロックとなっていることの確からしさが大きい場合、ステップＳ１７に進み、比較器６８は、スイッチ６５および６６を一時、オフ状態からオン状態にして、ステップＳ１８に進む。
【００９４】
これにより、ステップＳ１７では、ローテーションビット用レジスタ６３が出力するローテーション値nが、スイッチ６５を介して、最適ローテーションビット保存用レジスタ６９に供給され、最適ローテーションビット保存用レジスタ６９では、そこに最適ローテーションビットn_minとして既に記憶されている記憶値に替えて、ローテーションビット用レジスタ６３からのローテーション値nが、新たな最適ローテーションビット（注目符号化ブロックを復号するのに、選択画素をローテーションする最も適切なビット数）n_minとして記憶される。
【００９５】
さらに、ステップＳ１７では、差分値計算部６４が出力する差分絶対値和が、スイッチ６６を介して、最小差分値保存用レジスタ６７に供給され、最小差分値保存用レジスタ６７では、そこに最小差分値として既に記憶されている記憶値に替えて、差分値計算部６４が出力する差分絶対値和が、新たな最小差分絶対値和（注目符号化ブロックについての最大の相関値）として記憶される。
【００９６】
一方、ステップＳ１６において、差分計算部６４からの差分絶対値和が、最小差分値保存用レジスタ６７の記憶値より小さくないと判定された場合、即ち、選択画素の画素値をnビットだけローテーションした注目符号化ブロックについての相関値が、その注目符号化ブロックについて、いままでに得られた最大の相関値以下で、従って、選択画素の画素値をnビットだけローテーションした注目符号化ブロックが、元のブロックとなっていることの確からしさが大きくない場合、ステップＳ１７をスキップして、ステップＳ１８に進み、ローテーションビット用レジスタ６３において、ローテーション値nが１だけインクリメントされる。
【００９７】
そして、ステップＳ１９に進み、ローテーションビット用レジスタ６３において、ローテーション値nが、画素値のビット数th_rより小さいかどうかが判定される。ステップＳ１９において、ローテーション値nが、画素値のビット数th_rより小さいと判定された場合、即ち、ローテーション値nが、画素値をローテーションすることのできるビット数の範囲内にある場合、ステップＳ１４に戻り、以下、同様の処理が繰り返される。
【００９８】
また、ステップＳ１９において、ローテーション値nが、画素値のビット数th_rより小さくないと判定された場合、即ち、ローテーション値nを、画素値のローテーションが可能なすべての値として、注目符号化ブロックについての相関値（差分絶対値和）の計算を行った場合、ステップＳ２０に進み、注目符号化ブロックの選択画素の画素値が、最適ローテーションビットn_minだけローテーションされることにより、その注目符号化ブロックが元のブロックに復号されるとともに、そこに埋め込まれていた付加情報が復号される。
【００９９】
即ち、最適ローテーションビット保存用レジスタ６９は、そこに記憶されている最適ローテーションビットn_minを、ビット逆ローテーション部６２に供給し、ビット逆ローテーション部６２では、その最適ローテーションビットn_minだけ、注目符号化ブロックの左ローテーション画素または右ローテーション画素の画素値が、ステップＳ１４で説明したように、それぞれ左ローテーションまたは右ローテーションされ、これにより、元のブロックに復号される。この復号されたブロックは、復号画像メモリ７１に供給されて、対応するアドレスに記憶される。
【０１００】
さらに、最適ローテーションビット保存用レジスタ６９は、そこに記憶されている最適ローテーションビットn_minを、注目符号化ブロックに埋め込まれていた付加情報の復号結果として、復号付加情報メモリ７０に供給して記憶させる。
【０１０１】
その後、ステップＳ２１に進み、ビット逆ローテーション部６２において、１フレームの埋め込み画像を分割して得られた符号化ブロックのうち、まだ、注目符号化ブロックとして処理していないブロック（このブロックも、以下、適宜、未処理ブロックという）があるかどうかが判定される。ステップＳ２１において、未処理ブロックがあると判定された場合、その未処理ブロックのいずれか（例えば、ラインスキャン順で、次に符号化ブロックとすべきもの）が注目符号化ブロックとされ、ステップＳ１２に戻り、以下、同様の処理が繰り返される。
【０１０２】
また、ステップＳ２１において、未処理ブロックがないと判定された場合、即ち、１フレーム分のブロックの復号結果が、復号画像メモリ７１に記憶されるとともに、その１フレームに埋め込まれたすべての付加情報の復号結果が、復号付加情報メモリ７０に記憶された場合、その１フレームの復号画像が、復号画像メモリ７１から読み出されるとともに、付加情報の復号結果が、復号付加情報メモリ７０から読み出される。
【０１０３】
そして、ステップＳ２２に進み、ブロック分割部６１において、次に処理すべき埋め込み画像のフレームがあるかどうかが判定される。ステップＳ２２において、次に処理すべき埋め込み画像のフレームがあると判定された場合、ステップＳ１１に戻り、そのフレームを対象に、以下、同様の処理が行われる。
【０１０４】
一方、ステップＳ２２において、次に処理すべき埋め込み画像のフレームがないと判定された場合、埋め込み復号処理を終了する。
【０１０５】
以上のように、付加情報が埋め込まれた画像である符号化データを、画像の相関性を利用して、元の画像と付加情報に復号するようにしたので、その復号のためのオーバヘッドがなくても、符号化データを、元の画像と付加情報に復号することができる。従って、その復号画像（再生画像）には、基本的に、付加情報を埋め込むことによる画質の劣化は生じない。
【０１０６】
ここで、画素値が８ビットで表される自然画像を、４×４画素のブロックに分割して、埋め込み符号化処理を行い（従って、この場合、１ブロックにつき、３ビットの付加情報を埋め込むことができるから、付加情報の埋め込みレートは、３ビット／１６ピクセルとなる）、その結果得られる埋め込み画像に対して、埋め込み復号処理を施すシミュレーションを行ったところ、すべての画素値が正常に復号された（従って、付加情報も、すべて正常に復号された）。
【０１０７】
また、同様の自然画像を、２×２画素のブロックに分割して、埋め込み符号化処理を行い（この場合の、付加情報の埋め込みレートは、３ビット／４ピクセルで、上述の場合の４倍）、その結果得られる埋め込み画像に対して、埋め込み復号処理を施すシミュレーションを行ったところ、９７．９２％の画素値が正常に復号された。
【０１０８】
従って、ブロックを構成する画素数を多くすれば、精度良く復号することができるが、１フレーム当たりに、埋め込むことのできる付加情報の量、即ち、埋め込みレートは減少する。一方、ブロックを構成する画素数を少なくすれば、埋め込みレートは増加するが、復号の精度が劣化する。以上から、ブロックを構成する画素数は、埋め込みレートと、復号の精度とをバランスさせるように決めるのが望ましい。
【０１０９】
次に、上述した一連の処理は、ハードウェアにより行うこともできるし、ソフトウェアにより行うこともできる。一連の処理をソフトウェアによって行う場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアとしての埋め込み符号化器３や埋め込み復号器６に組み込まれているコンピュータ、または各種のプログラムをインストールすることで各種の処理を行う汎用のコンピュータ等にインストールされる。
【０１１０】
そこで、図１３を参照して、上述した一連の処理を実行するプログラムをコンピュータにインストールし、コンピュータによって実行可能な状態とするために用いられる媒体について説明する。
【０１１１】
プログラムは、図１３（Ａ）に示すように、コンピュータ１０１に内蔵されている記録媒体としてのハードディスク１０２に予めインストールした状態でユーザに提供することができる。
【０１１２】
あるいはまた、プログラムは、図１３（Ｂ）に示すように、フロッピーディスク１１１、CD-ROM(Compact Disc Read Only Memory)１１２，MO(Magneto optical)ディスク１１３，DVD(Digital Versatile Disc)１１４、磁気ディスク１１５、半導体メモリ１１６などの記録媒体に、一時的あるいは永続的に格納し、パッケージソフトウエアとして提供することができる。
【０１１３】
さらに、プログラムは、図１３（Ｃ）に示すように、ダウンロードサイト１２１から、ディジタル衛星放送用の人工衛星１２２を介して、コンピュータ１２３に無線で転送したり、LAN(Local Area Network)、インターネットといったネットワーク１３１を介して、コンピュータ１２３に有線で転送し、コンピュータ１２３において、内蔵するハードディスクなどに格納させるようにすることができる。
【０１１４】
本明細書における媒体とは、これら全ての媒体を含む広義の概念を意味するものである。
【０１１５】
また、本明細書において、媒体により提供されるプログラムを記述するステップは、必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はなく、並列的あるいは個別に実行される処理（例えば、並列処理あるいはオブジェクトによる処理）も含むものである。
【０１１６】
なお、本実施の形態においては、埋め込み符号化処理および埋め込み復号処理において、画像を、４×４画素のブロックに分割するようにしたが、その他の画素数で構成されるブロックに分割することも可能である。さらに、ブロックの形状は、長方形に限定されるものではない。
【０１１７】
また、本実施の形態では、１フレームを構成するブロックすべてに対して、付加情報を埋め込むようにしたが、１フレームを構成する幾つかのブロックにのみ、付加情報を埋め込むようにすることも可能である。なお、この場合、付加情報を埋め込まないブロックを構成する画素は、付加情報が埋め込まれたブロックを復号する際に、相関値を演算するのに用いることが可能である。
【０１１８】
さらに、本実施の形態では、１フレームをブロックに分割して付加情報を埋め込むようにしたが、各フレームを、ブロックに分割せずに、即ち、各フレームをブロックとして、付加情報を埋め込むことや、複数フレームを１ブロックとして、付加情報を埋め込むことも可能である。
【０１１９】
また、画素値のローテーションは、画素値が、例えば、ＹＵＶやＲＧＢなどの複数成分で表現される場合には、そのすべての成分に対して、同一の付加情報にしたがったローテーションを施すようにすることもできるし、各成分それぞれに対して、異なる付加情報にしたがったローテーションを施すようにすることもできる。
【０１２０】
さらに、本実施の形態では、ブロックを構成する画素から、五の目格子状に、画素を選択し、その選択画素に、付加情報を埋め込むようにしたが、付加情報を埋め込む画素の選択パターンは、これに限定されるものではない。また、本実施の形態では、ブロックを構成する１／２の画素を選択し、その選択画素の画素値を、付加情報にしたがってローテーションするようにしたが、このようなローテーションを行う画素も、ブロックを構成する１／２の画素に限定されるものではない。但し、付加情報を埋め込んだ画素の復号にあたっては、上述したように、付加情報が埋め込まれていない画素を用いて相関値を求めるのが望ましく、また、画素どうしの相関は、基本的に、それらの間の空間的または時間的距離が離れるほど小さくなっていく。従って、正確な復号を行う観点からは、付加情報を埋め込む画素として選択する画素は、空間的または時間的に、いわゆる疎らになるように選択するのが望ましい。
【０１２１】
また、本実施の形態では、選択画素の斜め方向について、左ローテーション画素と右ローテーション画素とが交互に並ぶように、左ローテーション画素および右ローテーション画素を設定するようにしたが、左ローテーション画素および右ローテーション画素は、その他のパターンにしたがって設定することも可能である。
【０１２２】
さらに、本実施の形態では、選択画素のうちの一部を左ローテーション画素とするとともに、残りを右ローテーション画素として、それぞれを、付加情報にしたがって左ローテーションまたは右ローテーションするようにしたが、選択画素のすべてを、左ローテーションまたは右ローテーションするようにすることも可能である。
【０１２３】
また、付加情報として用いる情報は、特に限定されるものではなく、例えば、画像や、音声、テキスト、コンピュータプログラム、その他のデータを付加情報として用いることが可能である。なお、画像データベース１の画像の一部を付加情報とし、残りを、フレームメモリ３１への供給対象とすれば、その残りの部分に、付加情報とされた画像の一部分が埋め込まれるから、画像の圧縮が実現されることになる。
【０１２４】
【発明の効果】
請求項１に記載の画像処理装置および請求項４に記載の画像処理方法、並びに請求項５に記載のプログラム格納媒体によれば、画像を構成する一部の画素が選択され、その選択された画素の画素値が、情報にしたがって、所定のビット数だけローテーションされることにより、画素に、情報が埋め込まれる。従って、画像の相関性を利用することにより、オーバヘッドなしで、元の画像と情報に復号することが可能なデータを得ることができる。
【０１２５】
請求項６に記載の画像処理装置および請求項１１に記載の画像処理方法、並びに請求項１２に記載のプログラム格納媒体によれば、情報埋め込み画像を構成する一部の画素が選択され、その選択された画素の画素値が、所定のビット数だけローテーションされる。さらに、その画素値がローテーションされた画素と、選択された画素以外の画素との間の相関が演算され、その相関に基づいて、選択された画素を復号するための、画素値をローテーションするビット数が決定される。そして、その決定されたビット数に基づいて、選択された画素が復号されるとともに、その画素に埋め込まれた情報が復号される。従って、情報埋め込み画像を、画像の相関性を利用することにより、元の画像と情報に復号することが可能となる。
【０１２６】
請求項１３に記載の画像処理装置によれば、画像を構成する一部の画素が選択され、その選択された画素の画素値が、情報にしたがって、所定のビット数だけローテーションされることにより、画素に、情報が埋め込まれ、情報埋め込み画像が出力される。一方、情報埋め込み画像を構成する一部の画素が選択され、その選択された画素の画素値が、所定のビット数だけローテーションされる。さらに、その画素値がローテーションされた画素と、選択された画素以外の画素との間の相関が演算され、その相関に基づいて、選択された画素を復号するための、画素値をローテーションするビット数が決定される。そして、その決定されたビット数に基づいて、選択された画素が復号されるとともに、その画素に埋め込まれた情報が復号される。従って、情報埋め込み画像を、画像の相関性を利用することにより、オーバヘッドなしで、元の画像と情報に復号することが可能となる。
【図面の簡単な説明】
【図１】本発明を適用した画像伝送システムの一実施の形態の構成例を示すブロック図である。
【図２】符号化対象の画像を示す図である。
【図３】相関性を利用した符号化／復号を説明するための図である。
【図４】図１の埋め込み符号化器３のハードウェア構成例を示すブロック図である。
【図５】図４の埋め込み符号化器３の機能的構成例を示すブロック図である。
【図６】図５の埋め込み符号化器３による埋め込み符号化処理を説明するためのフローチャートである。
【図７】埋め込み符号化処理を説明するための図である。
【図８】図１の埋め込み復号器６のハードウェア構成例を示すブロック図である。
【図９】図８の埋め込み復号器６の機能的構成例を示すブロック図である。
【図１０】図９の埋め込み復号器６による埋め込み復号処理を説明するためのフローチャートである。
【図１１】図１０のステップＳ１１，Ｓ１２、およびＳ１４の処理を説明するための図である。
【図１２】図１０のステップＳ１５の処理を説明するための図である。
【図１３】本発明を適用した媒体を説明するための図である。
【符号の説明】
１  画像データベース，  ２  付加情報データベース，  ３  埋め込み符号化器，  ４  記録媒体，  ５  伝送媒体，  ６  埋め込み復号器，  １０  符号化装置，  ２０  復号装置，  ３１  フレームメモリ，  ３２  ＣＰＵ，  ３３  プログラムメモリ，  ３４  出力Ｉ／Ｆ，  ４１  ブロック分割部，  ４２  ビットローテーション部，  ４３  符号化画像メモリ，  ５１  フレームメモリ，５２  出力Ｉ／Ｆ，  ５３  ＣＰＵ，  ５４  プログラムメモリ，  ６１  ブロック分割部，  ６２  ビット逆ローテーション部，  ６３  ローテーションビット用レジスタ，  ６４  差分値計算部，  ６５，６６  スイッチ，  ６７  最小差分値保存用レジスタ，  ６８  比較器，  ６９  最適ローテーションビット保存用レジスタ，  ７０  復号付加情報メモリ，  ７１  復号画像メモリ，  １０１  コンピュータ，  １０２  ハードディスク，  １０３  半導体メモリ，  １１１  フロッピーディスク，  １１２  CD-ROM，  １１３  MOディスク，  １１４  DVD，  １１５  磁気ディスク，  １１６  半導体メモリ，  １２１  ダウンロードサイト，  １２２  衛星，  １２３  コンピュータ，  １３１  ネットワーク
【図１】
0004092608.tif 000002
【図２】
0004092608.tif 000003
【図３】
0004092608.tif 000004
【図４】
0004092608.tif 000005
【図５】
0004092608.tif 000006
【図６】
0004092608.tif 000007
【図７】
0004092608.tif 000008
【図８】
0004092608.tif 000009
【図９】
0004092608.tif 000010
【図１０】
0004092608.tif 000011
【図１１】
0004092608.tif 000012
【図１２】
0004092608.tif 000013
【図１３】
0004092608.tif 000014