(57)【要約】【課題】  データの誤認識を抑制する。【解決手段】  所定の画像データに基づいて用紙に形成された画像を読み取って、ブロックが担当するデータを識別するものである。該画像データは、画像領域を複数のブロックに分割し、各ブロックを更に複数の領域に分割し、各ブロックの各画素の画素値を、当該ブロックが担当するデータに応じて予め定められたパターンで当該ブロック内の各領域毎に割り振られた増減値で増減して構成されている。減算値のブロック内の総和は０となるように定めている。領域ｒ１に隣接する３つのブロックＢ１、Ｂ２、Ｂ８の画素値の総和Ｑ１、Ｑ２、Ｑ８を取得し、その総和Ｑ１＋Ｑ２＋Ｑ８を求め、この総和に所定値Ａを乗算した値を、領域ｒ１の画素値の総和Ｒｒから減算することにより、領域ｒの減算値を推定する。これを全てのブロックの各領域について実行し、各ブロックのデータを、各領域の減算値から推定する。【選択図】        図１６
2007036657.tif 000002
【特許請求の範囲】
【請求項１】
画像領域を各々複数の画素で構成される複数のブロックに分割し、各ブロックを更に複数の領域に分割し、各ブロックの各画素の画素値を、当該ブロックが担当するデータに応じて予め定められたパターンで当該ブロック内の各領域毎に割り振られた増減値で増減して構成された画像データに基づいて被画像形成媒体に形成された画像を読み取って、ブロックが担当するデータを識別するデータ識別装置であって、
前記データを識別する対象となる識別ブロック及び該識別ブロックに隣接する隣接ブロックの画像データを取得する取得手段と、
前記取得手段により取得された前記識別ブロック及び前記隣接ブロックの画像データに基づいて、前記識別ブロックが担当するデータを識別する識別手段と、
を備えたデータ識別装置。
【請求項２】
前記ブロック内の各領域に割り振られた増減値は、当該ブロック内で所定値になるように定められ、
前記識別手段は、
少なくとも１つの前記隣接ブロックの画像データに基づく画素値の総和を計算し、
前記計算された前記隣接ブロックの画素値の総和を用いて、前記識別ブロックの各領域の増減値の総和を推定し、
前記推定された前記識別ブロックの各領域の増減値の総和に基づいて、前記データを識別する、
ことを特徴とする請求項１記載のデータ識別装置。
【請求項３】
前記識別手段は、複数の隣接ブロックの画像データを用いる場合に、前記識別ブロックの各領域の増減値の総和を推定する際、複数の隣接ブロックの画像データに基づく画素値の全総和を、該用いた隣接ブロックの総領域数以上の値で除算して用いることを特徴とする請求項１又は請求項２記載のデータ識別装置。
【請求項４】
前記識別手段は、前記識別ブロックの各領域の増減値の総和の差が、予め定められたパターンに基づいて定まる差の最小値より小さい場合に、識別不能とすることを特徴とする請求項1乃至請求項３の何れか1項に記載のデータ識別装置。
【請求項５】
各ブロックは、各々異なる第１のデータ又は第２のデータを担当し、
前記パターンは、前記第１のデータに応じて定まる第１のパターンと前記第２のデータに応じて定まる第２のパターンとを有し、
前記取得手段は、複数の隣接ブロックの画像データを取得し、
前記識別手段は、
前記取得された複数の隣接ブロックの画像データに基づいて、第１のパターンに対応する第１のデータが、第２のパターンに対応する第２のデータと識別され易いか否かを判断し、
第１のデータが第２のデータと識別され易いと判断された場合、前記識別ブロックの画像データを、第１のデータが識別されやすいように補正し、
前記補正された画像データに基づいて、前記データを識別する、
ことを特徴とする請求項１記載のデータ識別装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ識別装置にかかり、より詳細には、所定の画像データに基づいて被画像形成媒体に形成された画像を読み取って、所定のデータを識別するデータ識別装置に関する。
【背景技術】
【０００２】
従来、近年、画像データに対し、電子的な情報を、一見、人間の目には認識できないような形式で付加する電子透かし技術がさかんに研究・開発され、さまざまな形態で利用されはじめている（例えば、特許文献１参照）。この特許文献１では、画像データに電子的な情報を付加する際は、例えば、全体画像領域を各々複数の画素で構成される複数のブロックに分割し、各ブロックを更に上下方向及び左右方向に合計４つの領域に分割し、各ブロックの各画素の画素値を、当該ブロック内の各領域毎に当該ブロックが担当するデータ（０又は１）に応じて予め定められたパターンで割り振られた増減値で増減している。
【０００３】
具体的には、１を担当する場合には、左上及び右下の領域の画素値を減じ、右上及び左下の領域の画素値を増加し、０を担当する場合には、左上及び右下の領域の画素値を増加し、右上及び左下の領域の画素値を減少している。
【０００４】
このように電子情報が付加された画像データに基づいて画像を用紙に形成する。
【０００５】
そして、このように形成された画像を読み取って、各ブロックが担当するデータを識別している。
【０００６】
ところで、このように各ブロックが担当するデータを識別するためには、上記ブロックを分割した各領域が明確に区別して認識される必要がある。そこで、上記特許文献１に記載の発明では、上記パターンとしては、「中心部を通り垂直・水平の２本のエッジを備える」、「画素値の絶対値は中心でもっとも大きく、中心から離れるほど小さくなる」、「ともにｎ×ｍ画素の長方形ブロックである」という特徴を有するようにしている。これにより、中心分の境界がはっきりして、各領域が明確に区別して認識されるようにすることができる。
【特許文献１】特開2004-140764号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、元の画像データに基づく画像中に、濃度の高い領域と低い領域との境界が、上記ブロックの対角線に沿って位置する場合、例えば、４つの領域の内、左上、右上、及び右下の領域に濃度の高い領域が対応し、左下の領域のみが濃度の低い領域が対応する場合、本来は１に認識されるはずなのに、０と識別される場合がある。
【０００８】
本発明は、上記事実に鑑み成されたもので、データの誤認識を抑制することの可能なデータ識別装置ことを目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成するために請求項１に記載の発明は、所定画像領域を各々複数の画素で構成される複数のブロックに分割し、各ブロックを更に複数の領域に分割し、各ブロックの各画素の画素値を、当該ブロックが担当するデータに応じて予め定められたパターンで当該ブロック内の各領域毎に割り振られた増減値で増減して構成された画像データに基づいて被画像形成媒体に形成された画像を読み取って、各ブロックが担当するデータを識別するデータ識別装置であって、前記データを識別する対象となる識別ブロック及び該識別ブロックに隣接する隣接ブロックの画像データを取得する取得手段と、前記取得手段により取得された前記識別ブロック及び前記隣接ブロックの画像データに基づいて、前記識別ブロックが担当するデータを識別する識別手段と、を備えている。
【００１０】
即ち、本発明は、被画像形成媒体に形成された画像を読み取って、データを識別するデータ識別装置である。
【００１１】
ここで、本発明のデータ識別装置がデータを識別することの可能な画像は、次の画像データに基づいて被画像形成媒体に形成された画像である。即ち、所定画像領域を各々複数の画素で構成される複数のブロックに分割し、各ブロックを更に複数の領域に分割し、各ブロックの各画素の画素値を、当該ブロックが担当するデータに応じて予め定められたパターンで当該ブロック内の各領域毎に割り振られた増減値で増減して構成された画像データである。
【００１２】
上記被画像形成媒体に形成された画像を読み取って得られた画像データは、上記のように、各ブロックの各画素の画素値を、当該ブロック内の各領域毎に当該ブロックが担当するデータに応じて予め定められたパターンで割り振られた増減値で増減して構成された画像データに対応するので、該ブロックが担当するデータを識別するためには、画像データから、各ブロックの各画素の元々の画素値と、ブロックが担当するデータに応じて予め定められたパターンで割り振られた増減値とを分割する必要がある。
【００１３】
ここで、被画像形成媒体に形成された画像を読み取って得られた画像データから上記ブロックが担当するデータを識別する方法自体は種々あるが、従来では、データを識別する対象となる識別ブロックの画像データのみを用いている。従って、従来では、当該ブロックの画像内に高濃度部と低濃度部との境界が存在した場合、この境界と上記パターンの内容との関係から、データを識別する対象となる識別ブロックの画像データのみを用いたのでは、データの誤識別がされる場合があった。
【００１４】
そこで、本発明の取得手段は、前記データを識別する対象となる識別ブロック及び該識別ブロックに隣接する隣接ブロックの画像データを取得する。
【００１５】
識別手段は、取得手段により取得された識別ブロック及び隣接ブロックの画像データに基づいて、識別ブロックが担当するデータを識別する。
【００１６】
このように、ブロックが担当するデータを識別する際に、当該識別ブロックの画像データのみでは誤識別される場合でも、データを識別する対象となる識別ブロック及び該識別ブロックに隣接する隣接ブロックの画像データを取得するので、該隣接ブロックの画像データを用いて、識別ブロックの画像データ内の増減値を類推することができ、ブロックが担当するデータの誤識別を抑制することができる。
【００１７】
請求項２記載の発明は、請求項１記載の発明において、前記ブロック内の各領域に割り振られた増減値は、当該ブロック内で所定値になるように定められ、前記識別手段は、少なくとも１つの前記隣接ブロックの画像データに基づく画素値の総和を計算し、前記計算された前記隣接ブロックの画像データに基づく画素値の総和を用いて、前記識別ブロックの各領域の増減値の総和を推定し、前記推定された前記識別ブロックの各領域の増減値の総和に基づいて、前記データを識別する。
【００１８】
ここで、前記ブロック内の各領域に割り振られた増減値は、当該ブロック内で加算すると、所定値、例えば、０になるように定められている。従って、隣接ブロックの画像データに基づく画素値の総和を計算すると、当該ブロックに割り振られた増減値は所定値（例えば０）となるので、隣接ブロックの画像情報のみの情報が得られる。隣接ブロックの画像情報と識別ブロックの画像情報に近いので、隣接ブロックの画像データに基づく画素値の総和を用いると、識別ブロックの各領域の増減値の総和を推定することができる。
【００１９】
このように、隣接ブロックの画像データを用いて、識別ブロックの画像データ内の増減値を類推するようにしているので、ブロックが担当するデータの誤識別を抑制することができる。
【００２０】
請求項３記載の発明は、請求項１又は請求項２記載の発明において、前記識別手段は、複数の隣接ブロックの画像データを用いる場合に、前記識別ブロックの各領域の増減値の総和を推定する際、複数の隣接ブロックの画像データに基づく画素値の全総和を、該用いた隣接ブロックの総領域数以上の値で除算して用いる。
【００２１】
請求項４記載の発明では、前記識別手段は、前記識別ブロックの各領域の増減値の総和の差が、予め定められたパターンに基づいて定まる差の最小値より小さい場合に、識別不能とする。これにより、データの誤識別の抑制が可能となる。
【００２２】
請求項５記載の発明は、各ブロックは、各々異なる第１のデータ又は第２のデータを担当し、前記パターンは、前記第１のデータに応じて定まる第１のパターンと前記第２のデータに応じて定まる第２のパターンとを有する。
【００２３】
前記取得手段は、複数の隣接ブロックの画像データを取得し、前記識別手段は、前記取得された複数の隣接ブロックの画像データに基づいて、第１のパターンに対応する第１のデータが、第２のパターンに対応する第２のデータと識別され易いか否かを判断し、第１のデータが第２のデータと識別され易いと判断された場合、前記識別ブロックの画像データを、第１のデータが識別されやすいように補正し、前記補正された画像データに基づいて、前記データを識別することを特徴とする。
【００２４】
このように、各ブロックは、各々異なる第１のデータ又は第２のデータを担当し、パターンは、第１のデータに応じて定まる第１のパターンと第２のデータに応じて定まる第２のパターンとを有し、データの識別の際、第１のパターンに対応する第１のデータが、第２のパターンに対応する第２のデータと識別され易いと判断された場合、識別ブロックの画像データを、第１のデータが識別されやすいように補正するので、データの誤識別を抑えることができる。
【発明の効果】
【００２５】
以上説明したように本発明は、ブロックが担当するデータを識別する際に、当該識別ブロックの画像データのみでは誤識別される場合でも、データを識別する対象となる識別ブロック及び該識別ブロックに隣接する隣接ブロックの画像データを取得するので、該隣接ブロックの画像データを用いて、識別ブロックの画像データ内の増減値を類推することができ、ブロックが担当するデータの誤識別を抑制することができる。
【発明を実施するための最良の形態】
【００２６】
以下、図面を参照して本発明の実施の形態の一例を詳細に説明する。
【００２７】
図１は、本発明の実施の形態における付加情報を埋め込む側の一構成例を示すブロック図である。図中、１１はパターンサイズ入力部、１２は埋め込み強度入力部、１３はパターン減衰率入力部、１４はパターン作成部、１５は画像データ入力部、１６は画像データ格納部、１７は付加情報入力部、１８は付加情報符号化部、１９は埋め込み位置制御部、２０はパターン選択部、２１はパターン重畳部、２２は画像出力部を参照する参照符合である。
【００２８】
パターンサイズ入力部１１は、図示しないパーソナルコンピュータや操作パネルなどを通して、ユーザが指定するパターンサイズを入力設定するものである。また埋め込み強度入力部１２は、図示しないパーソナルコンピュータや操作パネルなどを通して、ユーザが指定する埋め込み強度を入力設定するものである。さらにパターン減衰率入力部１３は、図示しないパーソナルコンピュータや操作パネルなどを通して、ユーザが指示するパターン減衰率を入力設定するものである。これらは予め設定されている固定値を利用する場合にはそれぞれ設けずに構成することも可能である。
【００２９】
パターン作成部１４は、設定されているパターンサイズ、埋め込み強度、およびパターン減衰率に基づき２つのパターンを作成するものである。なお、パターン作成部１４の詳細については後述する。
【００３０】
画像データ入力部１５は、入力される画像データを受け付ける。例えば通信機能を備え、外部の装置から画像データを受け取ったり、あるいはソフトウェアからＯＳなどを介して受け取ったり、またはファイルを開いて読み出すなど、種々の形態で画像データを取得することができる。入力される画像データは多値データであり、図示しないパーソナルコンピュータにより作成されたり、デジタルカメラやスキャナにより入力された自然画像あるいはＣＧ（Ｃｏｍｐｕｔｅｒ  Ｇｒａｐｈｉｃｓ）画像を用いたり、任意の画像であって良い。画像データ格納部１６は、入力画像データの記録、処理中の作業データの一時的な保持、および出力データの保持に使用される。
【００３１】
付加情報入力部１７は、図示しないパーソナルコンピュータや操作パネル、ソフトウェア、ファイルなど、種々の供給源から、入力画像データに埋め込む付加情報の入力を受け付ける。付加情報は、文字列、数字、あるいは画像データなど、様々な情報であって良い。
【００３２】
付加情報符号化部１８は、付加情報入力部１７により入力された付加情報を元に、所定の符号化フォーマットに変換し、実際に画像データに埋め込む埋め込み情報を作成する。なお、付加情報符号化部１８の詳細については後述する。なお、符号化せずに埋め込むことも可能である。
【００３３】
埋め込み位置制御部１９は、予め決められている埋め込みフォーマットに従って、画像データ格納部１６に保持されている画像データへ埋め込み情報を埋め込む位置を指定する。
【００３４】
パターン選択部２０は、付加情報符号化部１８により作成された埋め込み情報に基づいて、パターン作成部１４が作成した２つのパターンのうちの一方を選択する。
【００３５】
パターン重畳部２１は、埋め込み位置制御部１９が指定した画像データ格納部１６のアドレスに存在する画像ブロックに対して、パターン選択部２０が選択したパターンを例えば加算して重畳し、パターンを画像データ中に埋め込む。なお、加算値が最大値（例えば２５５）を超えた時は、その値を最大値（２５５）にし、加算値が負の値になったときは、その値を０にする。
【００３６】
画像出力部２２は、プリンタなどの出力機器やソフトウェアあるいは通信回線などを介して、付加情報の埋め込まれた画像を出力する。
【００３７】
以上、本発明の実施の形態における付加情報を埋め込む側の一構成例の概要について説明した。次に、上述の構成のうちの主要な構成について、さらに詳述する。
【００３８】
まず、パターン作成部１４について詳述する。パターン作成部１４は、前述のパターンサイズ入力部１１、埋め込み強度入力部１２、パターン減衰率入力部１３により入力、設定された値に基づいて２つのパターンを作成する。２つのパターンは以下のような特徴を持つ。
・２つのパターンの対応する画素の画素値（増減値）同士を加算するとすべての要素が０になる。
・各々のパターン中の全画素の画素値（増減値）を加算すると０になる。
・各々のパターンは中心部を通り方向が異なる２本以上のエッジと呼ばれる不連続な画素値を備える。エッジの方向は、例えば垂直線と水平線にそった方向とすることができる。
さらに、
・各々のパターンの持つ画素値の絶対値は中心でもっとも大きく、中心から離れるほど小さくなる。
という特徴を有していると良い。また、形状に関し、ここでは、
・ともにｎ×ｍ画素の同サイズの長方形ブロックで構成される。
という特徴を有しているものとする。
【００３９】
図２は、埋め込むパターンの一例の説明図である。上述のような特徴を有するパターンとしては、例えば図２に示したようなものがある。ここでは図２（Ａ）は付加情報“１”を意味する基本パターン、図２（Ｂ）は付加情報“０”を意味する基本パターンとし、これら双方の全要素に図２（Ｃ）に示す（１）式または（２）式のような式が乗ぜられる。これによって、例えば図２（Ｄ）、（Ｅ）に示すようなパターンが生成される。なお、図２（Ｄ）、（Ｅ）では、図示の都合上、濃度の違いをハッチングの違いによって示している。なお、図２（Ａ）は付加情報“１”を意味する基本パターン及び図２（Ｂ）は付加情報“０”を意味する基本パターンの一方は第１のパターンに対応し、他方は第２のパターンに対応する。
【００４０】
ここで、基本パターンのサイズはパターンサイズ入力部１１で設定される。図２に示した例は、パターンサイズが８×８の例である。また（１）式、（２）式において、Ｃは埋め込み強度入力部１２により入力された埋め込み強度、αはパターン減衰率入力部１３で設定されたパターン減衰率である。ｘは横軸、ｙは縦軸の座標を表し、パターンの中心を原点としている。
【００４１】
これらのパターンの特徴は、画質への影響をできる限り抑えながら、かつ、その検出を容易にするためのものであり、後述する本発明の情報検出側の構成によって容易に検出が可能である。なお、パターンサイズやパターンの減衰率、埋め込み強度などのパラメータは、通常、各出力機器毎に画質や検出率を考慮して設定することになるが、後述する情報検出側ではこれらのパラメータを事前に知っている必要はない。
【００４２】
本発明で用いるパターンは図２に示した例に限られるものではなく、例えば（１）式や（２）式の代わりに三角波のようなものを利用するなど、（１）式及び（２）式としてどのような関数を用いてもよい。また、これらの式中の指数関数部分を省略したり、あるいはこれらの式を用いずに図２（Ａ）、（Ｂ）に示すパターンをそのまま用いることも可能である。さらに、図２に示した例ではエッジ方向として垂直・水平方向としたが、例えば４５度及び１３５度方向のエッジなど、後述する付加情報を抽出する側とエッジの抽出方向を合わせておけば任意のエッジ方向でよい。
【００４３】
次に、付加情報符号化部１８について詳述する。まず、本発明で使用する符号フォーマットの一例について説明する。符号フォーマットには、フォーマット化された埋め込み情報を、記録する位置及び順番を指定する物理フォーマットと、物理フォーマット内で、埋め込まれた情報をどのように符号化および復号化するかを規定した論理フォーマットとがある。
【００４４】
図３は、本発明で使用する符号フォーマットの一例における物理フォーマットの一例の説明図である。図中、３１はパターンサイズ、３２はマクロブロックサイズ、３３は入力画像である。パターンサイズ３１はパターンサイズ入力部１１により設定されたパターンの大きさを示し、マクロブロックサイズ３２はこのパターンサイズ３１をＹ行Ｘ列のマトリクス状にまとめたものである。入力画像３３は、パターンの埋め込み対象となる画像である。
【００４５】
埋め込み位置制御部１９は、埋め込み対象の入力画像３３のサイズと、予め設定されているマクロブロックのマトリクスサイズ（Ｙ，Ｘ）と、パターンサイズとから、入力画像３３内に配置可能なマクロブロックの数を計算し、マクロブロックを入力画像３３のなるべく中心によせて隙間なく配置する。埋め込み位置はマクロブロックを左上から右下方向、すなわち、図３に示した例ではＭＢ１１，ＭＢ１２，ＭＢ１３，ＭＢ２１，…，ＭＢ３３の順にアクセスし、さらにマクロブロック内でも左上のパターンから右下のパターンの順序でアドレス制御する。
【００４６】
このようにパターンを埋め込むブロックを規則的に配置しておくことによって、後述する付加情報を抽出する側では、ブロックサイズやブロック位置を容易に検出することができるようになる。
【００４７】
図４は、本発明で使用する符号フォーマットの一例における論理フォーマットの一例の説明図である。図中、４１は基本論理フォーマット、４２は頭出しヘッダ、４３は符号化方式情報、４４はシーケンス番号、４５は有効符号数情報、４６は符号化情報である。
【００４８】
論理フォーマットは、図４に示すように１ないし複数の基本論理フォーマット４１によって構成されている。また、基本論理フォーマット４１は、頭出しヘッダ４２、符号化方式情報４３、シーケンス番号４４、有効符号数情報４５、および符号化情報４６で構成されている。基本論理フォーマット４１のサイズはマクロブロック３２のサイズに等しく、Ｘ×Ｙビットである。頭出しヘッダ４２は、そのマクロブロック３２の位置を特定するために使用され、全マクロブロック３２に対して共通のものが使用される。符号化方式情報４３は、後述する符号化情報４６がどのような誤り訂正方式で符号化されているかを示すもので、これも全マクロブロック３２に共通して使用される。シーケンス番号４４は、付加情報入力部１７が受け取った付加情報が１つのマクロブロック３２内に収容できない大きさであった時に使用され、付加情報を符号化した後に、それをマクロブロック３２に収容できるサイズに分割し、それらに対してシーケンス番号を“１”番から昇順に付加していったものである。符号化された付加情報が１つのマクロブロック３２に収容できる長さであった時は、シーケンス番号は“１”になる。有効符号数情報４５は、符号化された付加情報が分割された場合に、最後のマクロブロックに収容された符号化情報の有効符号数を示しており、最後のブロック以外の有効符号数情報はすべて“０”になる。なお、誤り訂正符号化される部分は、符号化情報４６だけでなく、シーケンス番号４４および有効符号数情報４５も含んでいる。
【００４９】
図５は、本発明の第１の実施の形態における付加情報を埋め込む側の付加情報符号化部１８の動作の一例を示すフローチャートである。Ｓ１０１では、付加情報入力部１７より入力した付加情報を２値情報に置き換える。例えば、付加情報として文字列を受け取ったなら、これをＡＳＣＩＩコード等に変換して２値情報に変換する。Ｓ１０２では、Ｓ１０１で得られた２値情報に対して誤り訂正符号化する。Ｓ１０３では、Ｓ１０２で符号化された情報の符号長から、それが１つのマクロブロックに収まるか否かを計算し、もし入りきらない場合には、これを分割する。Ｓ１０４では、分割された符号化情報４６に、頭出しヘッダ４２、符号化方式情報４３、シーケンス番号４４、有効符号数情報４５を付加して複数の基本論理フォーマット４１の情報を作成する。Ｓ１０５では、Ｓ１０４で作成した複数の基本論理フォーマット４１の情報を先頭のマクロブロックから順番に埋めていき、すべてのマクロブロックに情報が埋め込まれるように繰り返して埋め込みを行う。
【００５０】
以下に、具体例を用いて、上述の付加情報符号化部１８の動作の一例についてさらに説明する。ここでは、物理フォーマットを１６行８列、すなわち、Ｙ＝１６，Ｘ＝８とする。また頭出しヘッダを５ビットとし、その値を“１１１１１”とする。さらに、符号化方式を３ビットとし、その値は“０００”として符号長が１５ビット、検査ビットが４ビットのハミング符号を指示するとする。また、シーケンス番号を７ビット、有効符号数を４ビットとして説明する。
【００５１】
図５に示すフローチャートにおいて、Ｓ１０１で付加情報を２値情報に置き換えた後、Ｓ１０２において、Ｓ１０１で得られた２値情報に対して誤り訂正符号化する。符号長１５ビット、検査ビット４ビットのハミング符号であれば、２値情報を先頭から１１ビットずつとり、４ビットの検査ビットを付加して１５ビット長のハミング符号を得る。これを２値情報の最後まで繰り返す。なお、２値情報のビット長が１１ビットの倍数でなかったときは、１１ビットの倍数になるように、不足するビットをすべて値“１”で埋める。
【００５２】
Ｓ１０３では、Ｓ１０２で符号化された情報の符号長から、それが１つのマクロブロックに収まるか否かを計算し、もし入りきらない場合には、これを分割する。ここではマクロブロックサイズが１６×８＝１２８で、頭出しヘッダが５ビット、符号化方式が３ビット、シーケンス番号が７ビット、有効符号数情報が４ビットであり、符号化方式として符号長１５ビット、検査ビット４ビットのハミング符号を使用する。そのため、シーケンス番号および有効符号数情報は１５ビットを要する。これにより、符号化情報４６のための領域は、１２８−（５＋３＋１５）＝１０５ビットとなる。したがって、符号化された情報が１０５ビットを超えるならば、この情報を埋め込むために複数のマクロブロックが必要になる。複数のマクロブロックが必要となる場合には、１０５ビット毎に分割する。そしてＳ１０４において、分割された符号化情報４６に、頭出しヘッダ４２、符号化方式情報４３、シーケンス番号４４、有効符号数情報４５を付加して複数の基本論理フォーマット４１を作成する。
【００５３】
Ｓ１０５では、Ｓ１０４で作成した複数の基本論理フォーマット４１の情報を先頭のマクロブロックから順番に埋めていき、すべてのマクロブロックに情報が埋め込まれるように繰り返して埋め込みを行う。例えば、図３に示した例のようにマクロブロック３２の数が９つあり、シーケンス番号の最大値が４であったときは、ＭＢ１１，ＭＢ１２，ＭＢ１３，ＭＢ２１にシーケンス番号１の基本論理フォーマットの情報、シーケンス番号２の基本論理フォーマットの情報、シーケンス番号３の基本論理フォーマットの情報、シーケンス番号４の基本論理フォーマットの情報をそれぞれ埋め込む。さらに、ＭＢ２２，ＭＢ２３，ＭＢ３１，ＭＢ３２に再びシーケンス番号１の基本論理フォーマットの情報、シーケンス番号２の基本論理フォーマットの情報、シーケンス番号３の基本論理フォーマットの情報、シーケンス番号４の基本論理フォーマットの情報をそれぞれ埋め込み、ＭＢ３３にシーケンス番号１の基本論理フォーマットの情報を埋め込むことになる。
【００５４】
後述するが、この付加情報を解読するために、解読する側は、マクロブロックのサイズ（Ｙ，Ｘ）と論理フォーマットだけを知っていればよく、埋め込み時のブロックサイズや出力機器および入力機器の解像度などの情報も必要としない。また、画質に関しては、振幅が減衰するパターンを用いることによって、パターンの中心部が特に元画像とは異なることになるものの、このパターンがほぼ画像全体に規則正しく等間隔で埋め込まれるために、たとえ元画像とは違うということがわかっても違和感を抑えることができる。また、検出率があまり落ちない範囲でできるだけブロックサイズを小さくしたり、ブロックサイズを小さくできない場合でも、減衰率を適当な値にセットすることによって、元画像に比較してほとんど画質劣化を感じない程度に抑えることができる。
【００５５】
以上、本発明の第１の実施の形態において付加情報を埋め込む側の構成例について説明してきた。次に、本発明の第１の実施の形態において、付加情報がブロック単位で埋め込まれた画像データから付加情報を抽出する側の構成例について説明する。
【００５６】
図６は、本発明の第１の実施の形態において付加情報を抽出する側の一構成例を示すブロック図である。図中、５１は画像データ入力部、５２は画像データ格納部、５３は入力画像傾き補正部、５４はブロックサイズ推定部、５５はブロック位置検出部、５６は付加情報識別部、５７は付加情報復号部を参照する参照符合である。なお入力される画像データは、上述のような付加情報を埋め込む側の構成例で示した画像処理装置または画像処理方法によって作成され、印刷機器から印刷出力された画像から得られる画像データである。
【００５７】
画像データ入力部５１は、スキャナあるいはデジタルカメラなどの画像読取機器とのインタフェースを有し、このインタフェースを通じて付加情報の埋め込まれた印刷画像データを入力する。また画像データ入力部５１は、スキャナあるいはデジタルカメラ等の画像読取機器により取得された印刷画像データが圧縮されているときは、それを非圧縮データに変換する機能も具備している。
【００５８】
画像データ格納部５２は、画像データ入力部５１により得られた印刷画像データを記憶し、また、演算の途中結果を格納する。
【００５９】
入力画像傾き補正部５３は、入力された印刷画像データ中の画像の傾きを検出し、傾き補正を行う機能を具備する。図７は、入力画像傾き補正部における画像の傾き補正処理の一例の説明図である。画像の傾き補正は、例えば、入力画像を回転させながら、図７に示すように垂直方向及び水平方向に投影する。その投影波形の高さが所定の閾値以上となる範囲が最小となる角度を傾き角度と推定し、その傾き角度だけ回転補正すればよい。
【００６０】
ブロックサイズ推定部５４は、傾き補正された印刷画像データから、付加情報が埋め込まれているブロックサイズを推定する。なお、付加情報を埋め込んだときのブロックサイズは、印刷出力および入力を経て異なるブロックサイズに変更されている場合もあり、このブロックサイズ推定部５４において、場合によって変更されたブロックサイズを推定している。ブロックサイズの推定は、埋め込んだパターンが所定方向（例えば垂直及び水平方向）のエッジ成分を有するという特徴を利用して行うことができる。例えば、傾き補正された印刷画像データからエッジを抽出してエッジ抽出画像を作成し、さらにエッジ抽出画像から垂直・水平方向のエッジ成分を取り出した画像を作成し、その画像の自己相関関数のピーク位置からブロックサイズを推定することができる。なお、ブロックサイズ推定部５４における処理の詳細は後述する。
【００６１】
ブロック位置検出部５５は、ブロックサイズ推定部５４により推定したブロックサイズを元に、未知の倍率で拡大縮小された印刷画像データから付加情報のパターンが埋め込まれたブロック位置を検出する。ブロック位置の検出は、どちらか一方のパターンから正か負かの極性情報だけを抽出して作成したマスク画像と付加情報が埋め込まれた画像との相関性を利用して行うことができる。例えば、ブロックサイズ推定部５４により求めたブロックサイズに対応するマスク画像を作成し、このマスク画像と傾き補正された印刷画像データとの間で相関演算を行い、その相関演算結果の画像からその値が極大または極小となる点だけを抽出し、それらを垂直方向および水平方向に投影し、その投影波形とブロックサイズ推定部５４により求めたブロックサイズとから、ブロック位置を検出することができる。どちらか一方のパターンのみからマスク画像を作れば良いのは、２つのパターンは極性が逆のパターンであり、もう一方のパターンからマスク画像を作成した場合は、単に極大値・極小値が逆転するだけだからである。なお、ブロック位置検出部５５における処理の詳細についても後述する。
【００６２】
付加情報識別部５６は、後述する付加情報復号部５７により制御され、ブロック位置検出部５５及びブロックサイズ推定部５４によって位置及び大きさが検出されたブロックに埋め込まれている付加情報を識別する。付加情報の識別処理は、所定方向のエッジにより４つに分割された領域の画素値の総和の大小関係を利用して行うことができる。例えば、検出したブロックを縦横方向に４つの領域に分割し、その４つの領域に含まれるすべての画素の総和を求め、その４つの総和値の大小関係に基づいて付加情報を識別することができる。この付加情報識別部５６における処理についても詳細は後述する。
【００６３】
付加情報復号部５７は、予め規定されたフォーマットに従って、前記付加情報識別部５６により識別された個々の情報を組み立て、ついでそれを復号化することにより、埋め込まれていた元の付加情報を復元する。この付加情報復号部５７の処理についても、詳細は後述する。
【００６４】
以上、本発明の第１の実施の形態における付加情報を抽出する側の構成の概要について説明した。次に、上述の構成のうちの主要部について、さらに説明を加える。
【００６５】
図８は、ブロックサイズ推定部５４の動作の一例を示すフローチャートである。まず、Ｓ１１１では、入力画像にＳｏｂｅｌ型フィルタなどの微分フィルタを適用することによってエッジ抽出画像を得る。もちろん、Ｐｒｅｗｉｔｔ型やＫｉｒｓｈ型のフィルタを用いるなど、エッジの抽出方法は任意である。
【００６６】
次に、Ｓ１１２では、Ｓ１１１で得たエッジ抽出画像から、さらに所定方向、ここでは水平・垂直方向のエッジ成分を抽出する。図９は、水平・垂直方向のエッジを抽出するためのマスク画像の一例の説明図である。エッジ抽出画像から水平・垂直方向のエッジ成分を抽出する一つの方法として、例えば図９に示すような十字型のマスクとの間で相互相関を計算すればよい。これにより、特に水平・垂直成分のエッジやその交点が強調されたエッジ画像が作成される。付加情報のパターンが垂直・水平方向のエッジが存在しているパターンであれば、作成されたエッジ画像には図３に示した矩形（パターンサイズ３１）の中心を通る格子状のエッジが存在する。このパターンから得られるエッジと、元の画像に存在する垂直・水平方向のエッジがエッジ画像中に存在することになる。
【００６７】
Ｓ１１３では、Ｓ１１２で作成されたエッジ画像から自己相関関数を求める。この自己相関関数によって、付加情報のパターンから得られるエッジのみを抽出する。この時求める自己相関のオフセット範囲としては、通常、（２，２）〜（２０，２０）程度を計算すれば十分である。Ｓ１１２で作成されるエッジ画像には、ほぼ等間隔に並んだ縦横方向の線分が抽出されているため、自己相関関数が最大となるオフセットを検出すれば、それが拡大縮小後のブロックサイズに一致していると考えてよい。従ってＳ１１４において、このような自己相関関数が最大となるオフセットをブロックサイズとして推定すればよい。なお、オフセットとして、（０，０），（０，１），（１，０），（１，１）を計算から除外しているのは、画像の自己相関の性質として、これらのオフセットでの自己相関値が高くなるという性質があるためと、通常、ブロックサイズとしてこのような小さな値はありえないと考えてよいためである。
【００６８】
以上により、付加情報が埋め込まれたときのパターンサイズや、出力時の解像度および入力時の解像度を知らなくても、印刷画像データから付加情報をデコードするためのブロックサイズ情報を得ることができる。ただし、ここで得られるブロックサイズの値は整数値であることに注意しなければならない。プリンタとスキャナの組み合わせでは、使用される解像度が通常は４００ｄｐｉ，６００ｄｐｉ，１２００ｄｐｉなどの組み合わせであるため、解像度変換された埋め込み画像の対応ブロックサイズも整数であることが多いが、デジタルカメラで入力された場合の入力解像度は、デジタルカメラと被写体である印刷画像との距離に依存するため、解像度変換された印刷画像データの対応ブロックサイズは整数とは限らない。そのため、ブロックサイズ推定部５４で算出したブロックサイズは近似値であるといえる。しかし、ここで求めたブロックサイズは、次に説明するブロック位置検出部５５で補正されるので近似値で問題はない。
【００６９】
次に、ブロック位置検出部５５の詳細について説明する。図１０は、ブロック位置検出部５５の動作の一例を示すフローチャートである。まず、Ｓ１２１において、ブロックサイズ推定部５４で推定したブロックサイズを元にマスク画像を作成する。図１１は、ブロック位置検出部５５で用いるマスク画像の一例の説明図である。Ｓ１２１で作成するマスク画像としては、例えばブロックサイズが偶数の場合には図１１（Ａ）、またブロックサイズが奇数の場合には図１１（Ｂ）に示すようなマスク画像を作成することができる。これらのマスク画像の特徴は、マスクを垂直・水平軸で４つの領域に分割したときに、右上と左下の領域はすべて＋１、右下と左上の領域はすべて−１としたものである。これは２つの埋め込みパターンの一方から正か負かの極性情報だけを抽出したものに等しい。ただし、ブロックサイズが奇数であった時は垂直・水平軸に重なる部分は０としている。このマスク画像は、図２に示した付加画像のパターンに対応するものである。
【００７０】
次に、Ｓ１２２において、Ｓ１２１で作成したマスク画像と印刷画像データとの間で相互相関を計算して相関画像を作成する。ここで、図２に示した付加画像のパターンと図１１に示したマスク画像のパターンを比較して分かるように、この相関値は、付加情報“１”が埋め込まれているブロックとマスクがちょうど重なったところで極大となりやすく、逆に、付加情報“０”が埋め込まれているブロックとマスクがちょうど重なったところで極小になりやすい。この傾向は、埋め込み前のブロックの位置に対応する元画像が平坦であった時に特にそうなりやすい。逆に埋め込み前のブロックの位置に対応する元画像が局所的なエッジを持っていた場合などは必ずしも埋め込みブロックとマスクがちょうど重なったところで極大または極小になるとは限らない。しかし、この影響は後述する投影法により軽減されるので、極端にエッジの多い画像でなければこのことは問題にならない。
【００７１】
Ｓ１２３では、Ｓ１２２で作成した相関画像から極大または極小となる点のみを取り出す。まず、極大点の抽出法について説明する。極大点の抽出は、相関値画像をラスタスキャン順に走査しながら、３×３のウィンドウ内で画素値を比較して最大値を示す画素位置以外はすべて極大値の候補でないことを示すマークを付加する。さらに、最大値を示した画素位置がすでにマークされていた場合、その画素値も極大値にはなり得ないのでマークを付加する。この作業を相関画像の左上から右下まで行う。この結果、マークされていない画素位置が極大値を示す位置となるので、マークの付加された位置の画素値をすべて０にすることで極大値の存在する位置とその極大値のみが抽出される。また、極小値の抽出はまず初めに相関値画像を反転してから、極大値を抽出したのと同様の操作を行えば極小値の存在する位置とその極小値のみが抽出される。そして、極大値画像と極小値画像を加算すれば極値画像が得られる。図１２は、ブロック位置検出部５５で作成される極値画像の一例および極値画像からブロック位置を求める処理の一例の説明図である。上述のようにして求められた極大値及び極小値を図１２中の白丸で示している。極大値及び極小値は、各パターンのほぼ中心位置において検出される。
【００７２】
Ｓ１２４では、Ｓ１２３で求めた極値画像を垂直・水平方向に投影する。各ブロックが縦横に配置されていることによって、図１２に示すように、垂直および水平方向のそれぞれについてほぼ一定間隔のピークを持つ投影波形が得られる。
【００７３】
次にＳ１２５では、Ｓ１２４で求めた垂直および水平方向それぞれの投影波形のピーク位置より、正確なブロック位置を推定する。具体的には、一番端にあるピーク位置を最初に求め、そこからブロックサイズ推定部５４で求めたブロックサイズ±δの範囲で次のピーク位置を順次探してゆくことで、垂直または水平方向のピーク位置を検出し、垂直・水平方向のピーク位置の組み合わせを各々のブロック位置とすればよい。図１２では、ピーク位置を矢線によって示しており、これらの組み合わせがそれぞれブロック位置となる。ここで、δの値としてはブロックサイズが８以下であれば１程度、ブロックサイズが８よりも大きければ２程度が望ましい。
【００７４】
なお、Ｓ１２１の説明でも触れたが、元画像に局所的に強いエッジがある場合、それを含むブロックから求めた極大点または極小点の位置は、平坦な部分から求めた極値の位置間隔からずれてしまう可能性がある。しかし、このばらつきは上述の投影法とピーク位置をほぼ一定間隔で探索することで大幅に軽減される。
【００７５】
次に、付加情報識別部５６における動作の詳細について説明する。付加情報識別部５６は付加情報復号部５７により制御され、ブロック位置検出部５５により求められたブロック位置情報とブロックサイズ推定部５４により求められたブロックサイズ情報を元に、ブロックに埋め込まれた付加情報を識別するものである。
【００７６】
図１３は、付加情報識別部５６の動作の一例を示すフローチャートである。まず、Ｓ１３１ではブロックサイズ情報を元に、ブロックを縦横方向に４つの領域に分割した計算ウィンドウを設定する。図１４は、付加情報識別部５６で用いる計算ウィンドウの一例の説明図である。この計算ウィンドウのサイズは、ブロックサイズ推定部５４で推定されたブロックサイズに等しく、図１４に示すように垂直・水平軸で４つの領域に分割されている。ただし、図１４（Ｂ）に示したように、ブロックサイズが奇数の時は、垂直・水平軸に重なる部分は領域に含めない。以下、右上の領域をＲ１、左上の領域をＲ２、左下の領域をＲ３、右下の領域をＲ４と呼ぶことにする。
【００７７】
次に、Ｓ１３２ではブロック位置検出部５５により検出されたブロックに対して、Ｓ１３１で作成した計算ウィンドウを適用し、各領域に含まれる画素値の総和を求める。以下、領域名と混同しない限り領域Ｒ１内の画像値の総和もＲ１と呼ぶことにする。これはＲ２，Ｒ３，Ｒ４も同様である。
【００７８】
Ｓ１３３では総和値Ｒ１，Ｒ２，Ｒ３，Ｒ４の大小関係から、そのブロックに埋め込まれている付加情報が“１”であるか“０”であるか、あるいは判別不能であるかを判定する。この判別は以下のようにして実行される。
【００７９】
次に、本ステップ１３３の付加情報識別処理を図１５を参照して詳細に説明する。ステップ２０２で、各ブロックを識別する変数ｂを０に初期化し、ステップ２０４で、変数ｂを１インクリメントし、ステップ２０６で、変数ｂで識別されるブロックｂ内の領域を識別する変数ｒを０に初期化し、ステップ２０８で、変数ｒを１インクリメントする。
【００８０】
ステップ２１０で、領域ｒに隣接する３つのブロックの画素値の総和を取得する。即ち、図１６に示すように、例えば、領域ｒ1に隣接するブロックとしては、ブロックＢ１、Ｂ２、Ｂ８が存在する。ブロックＢ１の画素値の総和はＱ１、ブロックＢ２の画素値の総和はＱ２、ブロックＢ８の総和はＱ８とする。本ステップ２１０では、領域ｒに隣接する３つのブロックの画素値の総和Ｑｒ１＋Ｑｒ２＋Ｑｒ３（上記例ではＱ１、Ｑ２、Ｑ８）を取得する。ステップ２１２で、取得した３つのブロックの総和と、ブロックｂの領域ｒ画素値の総和Ｒｒとを用いて、以下の式を算出することにより、領域ｒの減算値Ｕｒを推定する。
【００８１】
Ｕｒ＝Ｒｒ―Ａ×（Ｑｒ１＋Ｑｒ２＋Ｑｒ３）
【００８２】
ここで、隣接するブロックの画素値の総和と、領域ｒの画素値の総和とから領域ｒの減算値Ｕｒが推定されるのは、以下の理由からである。即ち、本実施の形態では、減算値のブロック内の総和は所定値、本実施の形態では０となるように定められており、３つのブロック各々の画素値の総和各々は、各ブロックの画像情報に基づく画素値（減算値を除いた値）となる。
【００８３】
この場合、隣接する１つのブロックだけでもよいが、誤差を考慮して、本実施の形態では３つのブロックを用いている。また、このように複数のブロック、例えば３つのブロックを用いた場合には、３つのブロックの総画素数は、各ブロックが４つの領域に分割されているので、１つの領域ｒの総画素数の１２倍である。そこで、上記式のように３つのブロックの画素値の総和Ｑｒ１＋Ｑｒ２＋Ｑｒ３に所定値Ａを乗算している。例えば、上記例では１／１２（＝０．０８３）である。なお、多数の実験から、所定値Ａを、必ずしも領域ｒの総画素数と、用いる隣接する複数のブロックの総画素数との関係から一義的に定めなくても良好な結果が得られた。上記例では０．００５であっても良好な結果が得られた。
【００８４】
以上のように、領域ｒの画素値の総和Ｒｒから、隣接するブロックの画素値（減算値を除いた値）の総和に所定値を乗算した値を減ずれば、領域ｒの減算値を推定することができる。
【００８５】
ステップ２１４で、変数ｒが４であるか否かを判断し、変数ｒが４でないと判断された場合には、ブロックｂ内の全ての領域について減算値がもとめられていないので、ステップ２０８に戻って、以上の処理（ステップ２０８〜ステップ２１４）を実行する。
【００８６】
一方、変数ｒが４に等しい場合には、ブロックｂの全ての領域の減算値が求められたので、ステップ２１６で、右上の領域ｒ1の減算値の総和Ｕｌと左下の領域ｒ３の減算値の総和Ｕ３とを加算したものをＩ１とし、ステップ２０８で、左上の領域ｒ２の減算値の総和Ｕ２と右下の領域ｒ４の減算値の総和Ｕ４とを加算したものをＩ２とし、ステップ２２０で、Ｉ１−Ｉ２の絶対値をＨとして、ステップ２２２で、Ｈが所定値Ｔ以上であるか否かを判断する。
【００８７】
ここで、Ｔは、２つの領域の減算値の総和の差の最小値（理論上の値）である。上記ＨがＴ以上であれば、誤差がないと判断することができ、割り振られたコードを識別することができる。一方、Ｈが差の最小値Ｔ未満と判断された場合には、判定不能であると判断することができる。
【００８８】
そこで、ステップ２２２で、ＨがＴ以上であると判断された場合には、コードを識別することができるので、ステップ２２４で、上記Ｉ１がＩ２よりも大きいか否かを判断する。Ｉ１がＩ２より大きい場合には、図２（Ａ）に示すように、ブロックＢには付加情報として１が割り振られたと判断することができるので、ステップ２２６で、付加情報は１として記憶し、ステップ２２４でＩ１がＩ２より大きいと判断されなかった場合には、図２（Ｂ）に示すように、付加情報が０が割り振られたと判断することができるので、ステップ２２８で、付加情報は０として記憶する。
【００８９】
なお、ＨがＴ未満と判断された場合には、ステップ２３０で、判定不能であることを記憶する。
【００９０】
次のステップ２３２で、変数ｂがブロックの総数Ｂに等しいか否かを判断手段、変数ｂが総数Ｂに等しくないと判断された場合には、未だ付加情報を識別されていないブロックがあるので、ステップ２０４に戻って、以上の処理（ステップ２０４〜ステップ２３２）を実行する。一方、変数ｂがＢに等しい場合には、全てのブロックについて付加情報の識別を行ったので、本処理を終了する。
【００９１】
次に、付加情報復号部５７における動作の詳細について説明する。図１７は、付加情報復号部５７の動作の一例を示すフローチャートである。まず、Ｓ１４１でマクロブロックの探索を行う。具体的には、ブロック位置検出部５５で検出したブロック位置を左上方向から付加情報識別部５６を制御して識別し、頭出しヘッダ（例えば“１１１１１”）に一致する場所を検出する。付加情報復号部５７は、マクロブロックのサイズはＹ行Ｘ列（例えば１６行８列）であることを知っているので、さらに、その地点から、右方向に８ブロック離れたところに頭出しヘッダ（例えば“１１１１１”）が存在するか、あるいは、１６ブロック下に頭出しヘッダ（例えば“１１１１１”）が存在すれば、最初のマクロブロックの位置を確定する。最初のマクロブロック位置が確定できれば、マクロブロックは規則正しく並んでいることを利用して他のマクロブロック位置も確定できる。もちろん、頭出しヘッダが誤りを含んでいる場合でも、ほとんどの頭出しヘッダが誤っていない限りマクロブロックの位置を特定することができる。
【００９２】
次に、Ｓ１４２で符号化方式を検出する。これはすべてのマクロブロックの符号化方式情報を読み出し、多数決復号をとることにより検出することができる。
【００９３】
Ｓ１４３では、既知の論理フォーマットに従い、すべてのマクロブロックの情報を復号する。そして、Ｓ１４４で、復号されたマクロブロックの情報のうち、同一のシーケンス番号を持つものに関しては、これらの間で多数決復号を行う。また、Ｓ１４５では、“１”以外のシーケンス番号がある場合には、シーケンス番号順に付加情報を接続して組み立てる。
【００９４】
以上説明したように本実施の形態では、ブロックが担当するデータを識別する際に、当該識別ブロックの画像データのみでは誤識別される場合でも、データを識別する対象となるブロック及び該識別ブロックに隣接するブロックの画像データを取得するので、該隣接するブロックの画像データを用いて、識別する対象のブロックの画像データ内の増減値を類推することができ、ブロックが担当するデータの誤識別を抑制することができる。
【００９５】
次に、本実施の形態の変形例を説明する。本変形例では、図１５に示す付加情報識別処理に代えて、図１８に示す付加情報識別処理を実行する。即ち、ステップ２５２で、ブロックを識別する変数ｂを０に初期化し、ステップ２５４で、変数ｂを１インクリメントする。
【００９６】
ステップ２５６で、図１９に示すように、変数ｂで識別されるブロックｂの隣りの左上のブロックｂＬＵの画素値の総和Ｃｂ１（図１９ではＣ１）と右下のブロックｂＬＤの画素値の総和Ｃｂ５（図１９ではＣ５）とを加算したものをＬとし、ステップ２５８で、右上のブロックｂＲＵの画素値の総和Ｃｂ３（図１９ではＣ３）と左下のブロックｂＬＤの画素値の総和Ｃｂ７（図１９ではＣ７）とを加算したものをＭとする。
【００９７】
ステップ２６０で、ＬがＭより大きいか否かを判断する。ＬがＭより大きいと判断された場合には、図１９に示すように、画像の高濃度部と低濃度部との境界であるエッジが当該ブロックを斜めに位置し、当該ブロックｂの右上、左上、右下の各領域が高濃度部となっていると判断することができるので、ブロックｂに仮に１が割り振られているとしても０に識別されやすい。そこで、ステップ２６２及びステップ２６４で、０に識別されやすい処理を行う。即ち、まず、ステップ２６２で、右上の領域の画素値の総和Ｒ１に所定値ｄを加算したものを画素値の総和Ｒ１とし、ステップ２６４で左下の領域の画素値の総和Ｒ３に所定値ｄを加算したものを画素値の総和Ｒ３とする。なお、所定値ｄは予め定められている。
【００９８】
一方、ステップ２６０で、ＬがＭより大きいと判断されなかった場合、画像のエッジが当該ブロックを斜めに位置し、当該ブロックｂの左上、左下、右下の各領域が高濃度部となっていると判断することができ、０が割り振られても１に識別されやすいので、０に識別されやすいように、ステップ２６６で、左上の領域の画素値の総和Ｒ２に所定値ｄを加算したものをＲ２とし、ステップ２６８で、右下の領域の画素値の総和Ｒ４に所定値ｄを加算したものをＲ４とセットする。
【００９９】
ステップ２７０で、Ｒ１とＲ３を加算したものをＰとし、ステップ２７４で、Ｒ２とＲ４とを加算したものをＱとし、ステップ２７４で、ＰがＱより大きいか否かを判断する。ＰがＱより大きいと判断された場合には、付加情報は１として記憶し、ステップ２７４でＰがＱより大きいと判断されなかった場合には、付加情報は０として記憶する。ステップ２８０で、変数ｂがブロックの総数Ｂに等しいか否かを判断し、変数ｂが総数Ｂに等しくないと判断された場合には、付加情報が識別されていないブロックが存在するので、ステップ２５４に戻って、以上の処理（ステップ２５４〜ステップ２８０）を実行する。一方、変数ｂが総数Ｂに等しい場合には、全てのブロックについて付加情報の識別を実行したので、本処理を終了する。
【０１００】
なお、本変形例では、変数ｂで識別されるブロックｂの隣りの左上のブロックｂＬＵの画素値の総和Ｃｂ１と右下のブロックｂＬＤの画素値の総和Ｃｂ５とを加算したものをＬとし、右上のブロックｂＲＵの画素値の総和Ｃｂ３と左下のブロックｂＬＤの画素値の総和Ｃｂ７とを加算したものをＭとして、ＬがＭより大きいか否かを判断することにより、割り振られた付加情報が０に誤識別され易いか否かを判断している。しかし、本発明はこれに限定されるものではなく、次のように判断するようにしてもよい。
【０１０１】
即ち、例えば、変数ｂで識別されるブロックｂの隣りの左上のブロックｂＬＵの画素値の総和Ｃｂ１と右下のブロックｂＬＤの画素値の総和Ｃｂ５とを加算したものをＬとし、ブロックｂに隣接する全てのブロックの画素値の総和（Ｃｂ１〜Ｃｂ８の総和）をＭとして、ＬがＭより大きいか否かを判断することにより、割り振られた付加情報が０に誤識別され易いか否かを判断するようにしてもよい。
【図面の簡単な説明】
【０１０２】
【図１】本発明の第１の実施の形態における付加情報を埋め込む側の一構成例を示すブロック図である。
【図２】埋め込むパターンの一例の説明図である。
【図３】本発明で使用する符号フォーマットの一例における物理フォーマットの一例の説明図である。
【図４】本発明で使用する符号フォーマットの一例における論理フォーマットの一例の説明図である。
【図５】本発明の第１の実施の形態における付加情報を埋め込む側の付加情報符号化部１８の動作の一例を示すフローチャートである。
【図６】本発明の第１の実施の形態において付加情報を抽出する側の一構成例を示すブロック図である。
【図７】入力画像傾き補正部における画像の傾き補正処理の一例の説明図である。
【図８】ブロックサイズ推定部５４の動作の一例を示すフローチャートである。
【図９】水平・垂直方向のエッジを抽出するためのマスク画像の一例の説明図である。
【図１０】ブロック位置検出部５５の動作の一例を示すフローチャートである。
【図１１】ブロック位置検出部５５で用いるマスク画像の一例の説明図である。
【図１２】ブロック位置検出部５５で作成される極値画像の一例および極値画像からブロック位置を求める処理の一例の説明図である。
【図１３】付加情報識別部５６の動作の一例を示すフローチャートである。
【図１４】付加情報識別部５６で用いる計算ウィンドウの一例の説明図である。
【図１５】図１３のステップ１３３の付加情報の識別の詳細を示したフローチャートである。
【図１６】付加情報の識別の原理を説明する説明図である。
【図１７】付加情報復号部５７の動作の一例を示すフローチャートである。
【図１８】変形例における図１３のステップ１３３の付加情報の識別の詳細を示したフローチャートである。
【図１９】変形例における付加情報の識別の原理を説明する説明図である。
【符号の説明】
【０１０３】
１１  パターンサイズ入力部
１２  埋め込み強度入力部
１３  パターン減衰率入力部
１４  パターン作成部
１５  画像データ入力部
１６  画像データ格納部
１７  付加情報入力部
１８  付加情報符号化部
１９  埋め込み位置制御部
２０  パターン選択部
２１  パターン重畳部
２２  画像出力部
３１  パターンサイズ
３２  マクロブロックサイズ
３３  入力画像
４１  基本論理フォーマット
４２  頭出しヘッダ
４３  符号化方式情報
４４  シーケンス番号
４５  有効符号数情報
４６  符号化情報
５１  画像データ入力部
５２  画像データ格納部
５３  入力画像傾き補正部
５４  ブロックサイズ推定部
５５  ブロック位置検出部
５６  付加情報識別部
５７  付加情報復号部
６１  パターン減衰率計算部
７１  埋め込み強度制御部
７２  最小埋め込み強度入力部
７３  最大埋め込み強度入力部
８１  画像データ解析部
８２  画像データ補正部
【図１】
2007036657.tif 000003
【図２】
2007036657.tif 000004
【図３】
2007036657.tif 000005
【図４】
2007036657.tif 000006
【図５】
2007036657.tif 000007
【図６】
2007036657.tif 000008
【図７】
2007036657.tif 000009
【図８】
2007036657.tif 000010
【図９】
2007036657.tif 000011
【図１０】
2007036657.tif 000012
【図１１】
2007036657.tif 000013
【図１２】
2007036657.tif 000014
【図１３】
2007036657.tif 000015
【図１４】
2007036657.tif 000016
【図１５】
2007036657.tif 000017
【図１６】
2007036657.tif 000018
【図１７】
2007036657.tif 000019
【図１８】
2007036657.tif 000020
【図１９】
2007036657.tif 000021