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