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