(57)【特許請求の範囲】
【請求項１】
データを表す非ゼロ周波数成分とゼロ周波数成分とを含むデータパターンのうちの非ゼロ周波数成分を周波数領域に配置するデータパターン配置手段と、
前記パターンを複数の第１サブパターンに分割し、各第１サブパターン毎にそのサブパターンに含まれる非ゼロ周波数成分の数に応じた第１パリティを生成し、該第１パリティを表す非ゼロ周波数成分とゼロ周波数成分を含む第１パリティパターンを生成し、該第１パリティパターンのうちの非ゼロ周波数成分を前記周波数領域に配置する第１パリティ配置手段と、
前記サブパターン毎の第１パリティの集合についての第２パリティを生成し、該第２パリティを表す非ゼロ周波数成分とゼロ周波数成分を含む第２パリティパターンを生成し、該第２パリティパターンのうちの非ゼロ周波数成分を前記周波数領域に配置する第２パリティ配置手段と、
前記データパターンのうち、何れの前記第１サブパターンとも一致しない第２のサブパターンに含まれる非ゼロ周波数成分とゼロ周波数成分を情報点と見なした場合のハミング符号における検査点を生成し、該検査点を表す非ゼロ周波数成分とゼロ周波数成分とを含む検査点パターンを生成し、該検査点パターンのうちの非ゼロ周波数成分を前記周波数領域に配置する検査パターン配置手段と、
前記データパターン配置手段により前記周波数領域に配置された非ゼロ周波数成分、前記第１パリティ配置手段により前記周波数領域に配置された非ゼロ周波数成分、前記第２パリティ配置手段により前記周波数領域に配置された非ゼロ周波数成分及び前記検査パターン配置手段により前記周波数領域に配置された非ゼロ周波数成分を含むパターンを逆フーリエ変換することにより、空間領域パターンを生成する逆フーリエ変換手段と、
前記空間領域パターンを原画像に重畳させる重畳手段と、
を備えることを特徴とする電子透かし挿入装置。
【請求項２】
請求項１に記載の電子透かし挿入装置において、
各第１サブパターンに含まれるデータを表す非ゼロ周波数成分とゼロ周波数成分は、周波数領域において、中心を通る相互に直交した任意の２つの直線上には２以上並ばないことを特徴とする電子透かし挿入装置。
【請求項３】
請求項１又は２に記載の電子透かし挿入装置において、
前記第２のサブパターンに含まれるデータを表す非ゼロ周波数成分とゼロ周波数成分は、データを表す全ての非ゼロ周波数成分及びゼロ周波数成分のうち、相対的に、高周波数領域に存在する周波数成分であることを特徴とする電子透かし挿入装置。
【請求項４】
請求項１乃至３の何れか１項に記載の電子透かし挿入装置において、
画像回転角度検出用の非ゼロ周波数成分とゼロ周波数成分を含む回転角度検出用パターンのうちの非ゼロ周波数成分を前記周波数領域に配置する回転角度検出用パターン配置手段を更に備え、
前記逆フーリエ変換手段は、前記データパターン配置手段により前記周波数領域に配置された非ゼロ周波数成分、前記第１パリティ配置手段により前記周波数領域に配置された非ゼロ周波数成分、前記第２パリティ配置手段により前記周波数領域に配置された非ゼロ周波数成分、前記検査パターン配置手段により前記周波数領域に配置された非ゼロ周波数成分及び前記回転角度検出用パターン配置手段により前記周波数領域に配置された非ゼロ周波数成分を含むパターンを逆フーリエ変換することを特徴とする電子透かし挿入装置。
【請求項５】
請求項１乃至３の何れか１項に記載の電子透かし挿入装置において、
画像回転角度検出用の非ゼロ周波数成分とゼロ周波数成分を含む回転角度検出用パターンのうちの非ゼロ周波数成分を前記周波数領域に配置する回転角度検出用パターン配置手段と、
画像の上下反転を検出し、且つ、検出された回転角度の正誤と画像の上下反転の検出の結果の正誤とを判定するための非ゼロ周波数成分とゼロ周波数成分を含む上下反転検出／回転角度正誤判定／上下反転検出結果正誤判定用パターンを生成し、該上下反転検出／回転角度正誤判定／上下反転検出結果正誤判定パターンのうちの非ゼロ周波数成分を前記周波数領域に配置する上下反転検出／回転角度正誤判定／上下反転検出結果正誤判定用パターン配置手段と、
を更に備え、
前記逆フーリエ変換手段は、前記データパターン配置手段により前記周波数領域に配置された非ゼロ周波数成分、前記第１パリティ配置手段により前記周波数領域に配置された非ゼロ周波数成分、前記第２パリティ配置手段により前記周波数領域に配置された非ゼロ周波数成分、前記検査パターン配置手段により前記周波数領域に配置された非ゼロ周波数成分、前記回転角度検出用パターン配置手段により前記周波数領域に配置された非ゼロ周波数成分及び前記上下反転検出／回転角度正誤判定／上下反転検出結果正誤判定用パターン配置手段により前記周波数領域に配置された非ゼロ周波数成分を含むパターンを逆フーリエ変換することを特徴とする電子透かし挿入装置。
【請求項６】
請求項５に記載の電子透かし挿入装置において、
前記上下反転検出／回転角度正誤判定／上下反転検出結果正誤判定用パターンは、画像を複数の短冊に分割し、それぞれの短冊の周波数領域において、一端の短冊から他端の短冊に向かうに従って、非ゼロ周波数成分の位置がずれていくものであることを特徴とする電子透かし挿入装置。
【請求項７】
請求項１乃至３の何れか１項に記載の電子透かし挿入装置により電子透かしが挿入された画像から電子透かしを検出する電子透かし検出装置において、
前記電子透かしが挿入された画像から、３以上の奇数個の部分画像を抽出する部分画像抽出手段と、
各部分画像のデータをフーリエ変換して、各部分画像についての周波数成分の振幅分布を求めるフーリエ変換手段と、
各部分画像の周波数成分の振幅分布からデータを表す非ゼロ周波数成分とゼロ周波数成分を含むデータパターンを検出するデータパターン検出手段と、
過半数の部分画像から同一のデータを表すデータパターンが検出された場合に、そのデータパターンを正しいデータパターンであると判断する多数決手段と、
を備え、
前記データパターン検出手段は、
各部分画像の周波数成分の振幅分布を基に、前記データパターンに含まれる非ゼロ周波数成分とゼロ周波数成分であって、情報点であるとみなされた周波数成分について、前記検査点を用いたハミング誤り訂正を行うハミングチェック手段と、
各部分画像の周波数成分の振幅分布を基に、前記ハミングチェック手段によるハミング誤り訂正後に、前記データパターンに含まれる非ゼロ周波数成分とゼロ周波数成分について、前記第１のパリティを用いたパリティチェックを行う第１パリティチェック手段と、
各部分画像の周波数成分の振幅分布を基に、前記ハミングチェック手段によるハミング誤り訂正後に、前記第１のパリティについて、前記第２のパリティを用いたパリティチェックを行う第２パリティチェック手段と、
各部分画像において、前記ハミングチェック手段により誤りがないことが検出され、又は、誤りが訂正され、且つ、前記第１パリティチェック手段によりパリティエラーがないことが検出され、且つ、前記第２パリティチェック手段によりパリティエラーがないことが検出されたならば、前記ハミングチェック手段により誤りがないことが検出され、又は、誤りが訂正された後に得られた各部分画像の周波数成分の振幅分布から求まる、データを表す非ゼロ周波数成分とゼロ周波数成分とのパターンを、その各部分画像から得られるデータパターンとする判断手段と、
を備えることを特徴とする電子透かし検出装置。
【請求項８】
請求項４に記載の電子透かし挿入装置により電子透かしが挿入され、その後、任意の角度回転した入力画像から電子透かしを検出する電子透かし検出装置において、
前記入力画像から、初期部分画像を抽出する初期部分画像抽出手段と、
前記初期部分画像のデータをフーリエ変換して、前記初期部分画像についての周波数成分の振幅分布を求める第１のフーリエ変換手段と、
前記初期部分画像についての周波数成分の振幅分布に含まれる前記画像回転角度検出用の非ゼロ周波数成分とゼロ周波数成分とのパターンを基に、前記入力画像の回転角度を検出する回転角度検出手段と、
前記初期部分画像についての周波数成分の振幅分布に含まれる前記画像回転角度検出用の非ゼロ周波数成分とゼロ周波数成分とのパターンを基に、前記入力画像の回転角度を検出できない場合には、エラー終了するエラー終了手段と、
前記入力画像から、２以上の偶数個の追加部分画像を抽出する追加部分画像抽出手段と、
各追加部分画像のデータをフーリエ変換して、各追加部分画像についての周波数成分の振幅分布を求める第２のフーリエ変換手段と、
前記初期部分画像の周波数成分の位置と、前記追加部分画像の周波数成分の位置を、前記回転角度検出手段により検出された回転角度だけ補正する回転角度補正手段と、
前記初期部分画像と前記追加部分画像の各々の前記回転角度補正手段を通した後の周波数成分の振幅分布からデータを表す非ゼロ周波数成分とゼロ周波数成分を含むデータパターンを検出するデータパターン検出手段と、
過半数の部分画像から同一のデータを表すデータパターンが検出された場合に、そのデータパターンを正しいデータパターンであると判断する多数決手段と、
を備え、
前記データパターン検出手段は、
各部分画像の周波数成分の振幅分布を基に、前記データパターンに含まれる非ゼロ周波数成分とゼロ周波数成分であって、情報点であるとみなされた周波数成分について、前記検査点を用いたハミング誤り訂正を行うハミングチェック手段と、
各部分画像の周波数成分の振幅分布を基に、前記ハミングチェック手段によるハミング誤り訂正後に、前記データパターンに含まれる非ゼロ周波数成分とゼロ周波数成分について、前記第１のパリティを用いたパリティチェックを行う第１パリティチェック手段と、
各部分画像の周波数成分の振幅分布を基に、前記ハミングチェック手段によるハミング誤り訂正後に、前記第１のパリティについて、前記第２のパリティを用いたパリティチェックを行う第２パリティチェック手段と、
各部分画像において、前記ハミングチェック手段により誤りがないことが検出され、又は、誤りが訂正され、且つ、前記第１パリティチェック手段によりパリティエラーがないことが検出され、且つ、前記第２パリティチェック手段によりパリティエラーがないことが検出されたならば、前記ハミングチェック手段により誤りがないことが検出され、又は、誤りが訂正された後に得られた各部分画像の周波数成分の振幅分布から求まる、データを表す非ゼロ周波数成分とゼロ周波数成分とのパターンを、その各部分画像から得られるデータパターンとする判断手段と、
を備えることを特徴とする電子透かし検出装置。
【請求項９】
請求項５に記載の電子透かし挿入装置により電子透かしが挿入され、その後任意の角度回転した入力画像から電子透かしを検出する電子透かし検出装置において、
前記入力画像から、初期部分画像を抽出する初期部分画像抽出手段と、
前記初期部分画像のデータをフーリエ変換して、前記初期部分画像についての周波数成分の振幅分布を求める第１のフーリエ変換手段と、
前記初期部分画像についての周波数成分の振幅分布に含まれる前記画像回転角度検出用の非ゼロ周波数成分とゼロ周波数成分とのパターンを基に、前記入力画像の回転角度を検出する回転角度検出手段と、
前記初期部分画像についての周波数成分の振幅分布に含まれる前記画像回転角度検出用の非ゼロ周波数成分とゼロ周波数成分とのパターンを基に、前記入力画像の回転角度を検出できない場合には、エラー終了する第１のエラー終了手段と、
前記入力画像から、２以上の偶数個の追加部分画像を抽出する追加部分画像抽出手段と、
各追加部分画像のデータをフーリエ変換して、各追加部分画像についての周波数成分の振幅分布を求める第２のフーリエ変換手段と、
前記初期部分画像の周波数成分の位置と、前記追加部分画像の周波数成分の位置を、前記回転角度検出手段により検出された回転角度だけ補正する回転角度補正手段と、
各部分画像に含まれる前記上下反転検出／回転角度正誤判定／上下反転検出結果正誤判定用パターンを基に、所定の演算及び所定の判断を行うことにより、検出された前記回転角度と潜在的な上下反転検出結果のうちの少なくとも１つに誤りがあることが検出された場合にエラー終了する第２のエラー終了手段と、
前記初期部分画像と前記追加部分画像の各々の前記回転角度補正手段を通した後の周波数成分の振幅分布からデータを表す非ゼロ周波数成分とゼロ周波数成分を含むデータパターンを検出するデータパターン検出手段と、
過半数の部分画像から同一のデータを表すデータパターンが検出された場合に、そのデータパターンを正しいデータパターンであると判断する多数決手段と、
を備え、
前記データパターン検出手段は、
各部分画像の周波数成分の振幅分布を基に、前記データパターンに含まれる非ゼロ周波数成分とゼロ周波数成分であって、情報点であるとみなされた周波数成分について、前記検査点を用いたハミング誤り訂正を行うハミングチェック手段と、
各部分画像の周波数成分の振幅分布を基に、前記ハミングチェック手段によるハミング誤り訂正後に、前記データパターンに含まれる非ゼロ周波数成分とゼロ周波数成分について、前記第１のパリティを用いたパリティチェックを行う第１パリティチェック手段と、
各部分画像の周波数成分の振幅分布を基に、前記ハミングチェック手段によるハミング誤り訂正後に、前記第１のパリティについて、前記第２のパリティを用いたパリティチェックを行う第２パリティチェック手段と、
各部分画像において、前記ハミングチェック手段により誤りがないことが検出され、又は、誤りが訂正され、且つ、前記第１パリティチェック手段によりパリティエラーがないことが検出され、且つ、前記第２パリティチェック手段によりパリティエラーがないことが検出されたならば、前記ハミングチェック手段により誤りがないことが検出され、又は、誤りが訂正された後に得られた各部分画像の周波数成分の振幅分布から求まる、データを表す非ゼロ周波数成分とゼロ周波数成分とのパターンを、その各部分画像から得られるデータパターンとする判断手段と、
を備えることを特徴とする電子透かし検出装置。
【請求項１０】
請求項９に記載の電子透かし検出装置において、
前記所定の演算は、それぞれの部分画像についての総ポイントを、それぞれの部分画像の上下反転検出／回転角度正誤判定／上下反転検出結果正誤判定用パターンに含まれる非ゼロ周波数成分の位置に基づいて求め、第１の追加部分画像の総ポイントと第２の追加部分画像の総ポイントとの差の絶対値を求め、前記第１の追加部分画像の総ポイントと前記第２の追加部分画像の総ポイントとの和の絶対値を求める演算であり、
前記所定の判断は、前記差の絶対値が所定の範囲に収まり、前記和の絶対値が所定の値以下であり、且つ、前記第１の追加部分画像についての総ポイント、前記初期部分画像についての総ポイント及び前記第２の追加部分画像についての総ポイントがこの順又はこれと逆の順に並ぶか否かをみる判断であり、
その判断結果が肯定的である場合に、前記第２のエラー終了手段は、エラー終了しないことを特徴とする電子透かし検出装置。
【請求項１１】
請求項９に記載の電子透かし検出装置において、
前記所定の演算は、それぞれの部分画像についての総ポイントを、それぞれの部分画像の上下反転検出／回転角度正誤判定／上下反転検出結果正誤判定用パターンに含まれる非ゼロ周波数成分の位置に基づいて求め、第１の追加部分画像の総ポイントと第２の追加部分画像の総ポイントとの差の絶対値を求め、前記第１の追加部分画像の総ポイントと前記第２の追加部分画像の総ポイントとの和の絶対値を求める演算であり、
前記所定の判断は、前記差の絶対値について第１の上限値と該第１の上限値よりも大きい第２の上限値と第１の下限値と該第１の下限値よりも小さい第２の下限値とを設け、前記和の絶対値について第３の上限値と該第３の上限値よりも大きい第４の上限値を設け、
前記差の絶対値が前記第１の上限値を超過し、前記差の絶対値が前記第１の下限値を下回り、又は、前記和の絶対値が前記第３の上限値を超過していても、その超過又は下回りの総数が所定数未満であり、且つ、前記第１の追加部分画像についての総ポイント、前記初期部分画像についての総ポイント及び前記第２の追加部分画像についての総ポイントがこの順又はこれと逆の順に並ぶか否かをみる第１の判断と、
前記差の絶対値が前記第２の上限値を超過し、前記差の絶対値が前記第２の下限値を下回り、又は、前記和の絶対値が前記第２の上限値を超過するか否かをみる第２の判断との組合せであり、
前記第１の判断による判断結果が肯定的である場合には、前記第２のエラー終了手段は、エラー終了せず、
前記第１の判断による判断結果が否定的である場合には、前記第２のエラー終了手段は、エラー終了し、
前記第２の判断による判断結果が肯定的である場合には、前記第２のエラー終了手段は、エラー終了することを特徴とする電子透かし検出装置。
【請求項１２】
請求項１０又は１１に記載の電子透かし検出装置において、
それぞれの部分画像についての総ポイントを、それぞれの部分画像の上下反転検出／回転角度正誤判定／上下反転検出結果正誤判定用パターンに含まれる非ゼロ周波数成分の位置に基づいて求める演算は、
上下反転検出／回転角度正誤判定／上下反転検出結果正誤判定用パターンを含む周波数領域から振幅の大きい順に所定数の非ゼロ周波数成分を検出して、検出された非ゼロ周波数成分の位置に割り当てられているポイントの、検出された非ゼロ周波数成分についての和を総ポイントとする演算であることを特徴とする電子透かし検出装置。
【請求項１３】
請求項８乃至１２の何れか１項に記載の電子透かし検出装置において、
前記初期部分画像は、面積重心を入力画像と共通とする部分画像であり、前記追加画像のうちの２つの追加部分画像は、二辺を入力画像と共通とする４つの部分画像のうち面積重心から中心線までの距離が最大である２つの部分画像であることを特徴とする電子透かし検出装置。
【請求項１４】
データを表す非ゼロ周波数成分とゼロ周波数成分とを含むデータパターンのうちの非ゼロ周波数成分を周波数領域に配置するデータパターン配置ステップと、
前記パターンを複数の第１サブパターンに分割し、各第１サブパターン毎にそのサブパターンに含まれる非ゼロ周波数成分の数に応じた第１パリティを生成し、該第１パリティを表す非ゼロ周波数成分とゼロ周波数成分を含む第１パリティパターンを生成し、該第１パリティパターンのうちの非ゼロ周波数成分を前記周波数領域に配置する第１パリティ配置ステップと、
前記サブパターン毎の第１パリティの集合についての第２パリティを生成し、該第２パリティを表す非ゼロ周波数成分とゼロ周波数成分を含む第２パリティパターンを生成し、該第２パリティパターンのうちの非ゼロ周波数成分を前記周波数領域に配置する第２パリティ配置ステップと、
前記データパターンのうち、何れの前記第１サブパターンとも一致しない第２のサブパターンに含まれる非ゼロ周波数成分とゼロ周波数成分を情報点と見なした場合のハミング符号における検査点を生成し、該検査点を表す非ゼロ周波数成分とゼロ周波数成分とを含む検査点パターンを生成し、該検査点パターンのうちの非ゼロ周波数成分を前記周波数領域に配置する検査パターン配置ステップと、
前記データパターン配置ステップにより前記周波数領域に配置された非ゼロ周波数成分、前記第１パリティ配置ステップにより前記周波数領域に配置された非ゼロ周波数成分、前記第２パリティ配置ステップにより前記周波数領域に配置された非ゼロ周波数成分及び前記検査パターン配置ステップにより前記周波数領域に配置された非ゼロ周波数成分を含むパターンを逆フーリエ変換することにより、空間領域パターンを生成する逆フーリエ変換ステップと、
前記空間領域パターンを原画像に重畳させる重畳ステップと、
を備えることを特徴とする電子透かし挿入方法。
【請求項１５】
請求項１４に記載の電子透かし挿入方法において、
各第１サブパターンに含まれるデータを表す非ゼロ周波数成分とゼロ周波数成分は、周波数領域において、中心を通る相互に直交した任意の２つの直線上には２以上並ばないことを特徴とする電子透かし挿入方法。
【請求項１６】
請求項１４又は１５に記載の電子透かし挿入方法において、
前記第２のサブパターンに含まれるデータを表す非ゼロ周波数成分とゼロ周波数成分は、データを表す全ての非ゼロ周波数成分及びゼロ周波数成分のうち、相対的に、高周波数領域に存在する周波数成分であることを特徴とする電子透かし挿入方法。
【請求項１７】
請求項１４乃至１６の何れか１項に記載の電子透かし挿入方法において、
画像回転角度検出用の非ゼロ周波数成分とゼロ周波数成分を含む回転角度検出用パターンのうちの非ゼロ周波数成分を前記周波数領域に配置する回転角度検出用パターン配置ステップを更に備え、
前記逆フーリエ変換ステップでは、前記データパターン配置ステップにより前記周波数領域に配置された非ゼロ周波数成分、前記第１パリティ配置ステップにより前記周波数領域に配置された非ゼロ周波数成分、前記第２パリティ配置ステップにより前記周波数領域に配置された非ゼロ周波数成分、前記検査パターン配置ステップにより前記周波数領域に配置された非ゼロ周波数成分及び前記回転角度検出用パターン配置ステップにより前記周波数領域に配置された非ゼロ周波数成分を含むパターンを逆フーリエ変換することを特徴とする電子透かし挿入方法。
【請求項１８】
請求項１４乃至１６の何れか１項に記載の電子透かし挿入方法において、
画像回転角度検出用の非ゼロ周波数成分とゼロ周波数成分を含む回転角度検出用パターンのうちの非ゼロ周波数成分を前記周波数領域に配置する回転角度検出用パターン配置ステップと、
画像の上下反転を検出し、且つ、検出された回転角度の正誤と画像の上下反転の検出の結果の正誤とを判定するための非ゼロ周波数成分とゼロ周波数成分を含む上下反転検出／回転角度正誤判定／上下反転検出結果正誤判定用パターンを生成し、該上下反転検出／回転角度正誤判定／上下反転検出結果正誤判定パターンのうちの非ゼロ周波数成分を前記周波数領域に配置する上下反転検出／回転角度正誤判定／上下反転検出結果正誤判定用パターン配置ステップと、
を更に備え、
前記逆フーリエ変換ステップでは、前記データパターン配置ステップにより前記周波数領域に配置された非ゼロ周波数成分、前記第１パリティ配置ステップにより前記周波数領域に配置された非ゼロ周波数成分、前記第２パリティ配置ステップにより前記周波数領域に配置された非ゼロ周波数成分、前記検査パターン配置ステップにより前記周波数領域に配置された非ゼロ周波数成分、前記回転角度検出用パターン配置ステップにより前記周波数領域に配置された非ゼロ周波数成分及び前記上下反転検出／回転角度正誤判定／上下反転検出結果正誤判定用パターン配置ステップにより前記周波数領域に配置された非ゼロ周波数成分を含むパターンを逆フーリエ変換することを特徴とする電子透かし挿入方法。
【請求項１９】
請求項１８に記載の電子透かし挿入方法において、
前記上下反転検出／回転角度正誤判定／上下反転検出結果正誤判定用パターンは、画像を複数の短冊に分割し、それぞれの短冊の周波数領域において、一端の短冊から他端の短冊に向かうに従って、非ゼロ周波数成分の位置がずれていくものであることを特徴とする電子透かし挿入方法。
【請求項２０】
請求項１４乃至１６の何れか１項に記載の電子透かし挿入方法により電子透かしが挿入された画像から電子透かしを検出する電子透かし検出方法において、
前記電子透かしが挿入された画像から、３以上の奇数個の部分画像を抽出する部分画像抽出ステップと、
各部分画像のデータをフーリエ変換して、各部分画像についての周波数成分の振幅分布を求めるフーリエ変換ステップと、
各部分画像の周波数成分の振幅分布からデータを表す非ゼロ周波数成分とゼロ周波数成分を含むデータパターンを検出するデータパターン検出ステップと、
過半数の部分画像から同一のデータを表すデータパターンが検出された場合に、そのデータパターンを正しいデータパターンであると判断する多数決ステップと、
を備え、
前記データパターン検出ステップは、
各部分画像の周波数成分の振幅分布を基に、前記データパターンに含まれる非ゼロ周波数成分とゼロ周波数成分であって、情報点であるとみなされた周波数成分について、前記検査点を用いたハミング誤り訂正を行うハミングチェックステップと、
各部分画像の周波数成分の振幅分布を基に、前記ハミングチェックステップによるハミング誤り訂正後に、前記データパターンに含まれる非ゼロ周波数成分とゼロ周波数成分について、前記第１のパリティを用いたパリティチェックを行う第１パリティチェックステップと、
各部分画像の周波数成分の振幅分布を基に、前記ハミングチェックステップによるハミング誤り訂正後に、前記第１のパリティについて、前記第２のパリティを用いたパリティチェックを行う第２パリティチェックステップと、
各部分画像において、前記ハミングチェックステップにより誤りがないことが検出され、又は、誤りが訂正され、且つ、前記第１パリティチェックステップによりパリティエラーがないことが検出され、且つ、前記第２パリティチェックステップによりパリティエラーがないことが検出されたならば、前記ハミングチェックステップにより誤りがないことが検出され、又は、誤りが訂正された後に得られた各部分画像の周波数成分の振幅分布から求まる、データを表す非ゼロ周波数成分とゼロ周波数成分とのパターンを、その各部分画像から得られるデータパターンとする判断ステップと、
を備えることを特徴とする電子透かし検出方法。
【請求項２１】
請求項１７に記載の電子透かし挿入方法により電子透かしが挿入され、その後、任意の角度回転した入力画像から電子透かしを検出する電子透かし検出方法において、
前記入力画像から、初期部分画像を抽出する初期部分画像抽出ステップと、
前記初期部分画像のデータをフーリエ変換して、前記初期部分画像についての周波数成分の振幅分布を求める第１のフーリエ変換ステップと、
前記初期部分画像についての周波数成分の振幅分布に含まれる前記画像回転角度検出用の非ゼロ周波数成分とゼロ周波数成分とのパターンを基に、前記入力画像の回転角度を検出する回転角度検出ステップと、
前記初期部分画像についての周波数成分の振幅分布に含まれる前記画像回転角度検出用の非ゼロ周波数成分とゼロ周波数成分とのパターンを基に、前記入力画像の回転角度を検出できない場合には、エラー終了するエラー終了ステップと、
前記入力画像から、２以上の偶数個の追加部分画像を抽出する追加部分画像抽出ステップと、
各追加部分画像のデータをフーリエ変換して、各追加部分画像についての周波数成分の振幅分布を求める第２のフーリエ変換ステップと、
前記初期部分画像の周波数成分の位置と、前記追加部分画像の周波数成分の位置を、前記回転角度検出ステップにより検出された回転角度だけ補正する回転角度補正ステップと、
前記初期部分画像と前記追加部分画像の各々の前記回転角度補正ステップを通した後の周波数成分の振幅分布からデータを表す非ゼロ周波数成分とゼロ周波数成分を含むデータパターンを検出するデータパターン検出ステップと、
過半数の部分画像から同一のデータを表すデータパターンが検出された場合に、そのデータパターンを正しいデータパターンであると判断する多数決ステップと、
を備え、
前記データパターン検出ステップは、
各部分画像の周波数成分の振幅分布を基に、前記データパターンに含まれる非ゼロ周波数成分とゼロ周波数成分であって、情報点であるとみなされた周波数成分について、前記検査点を用いたハミング誤り訂正を行うハミングチェックステップと、
各部分画像の周波数成分の振幅分布を基に、前記ハミングチェックステップによるハミング誤り訂正後に、前記データパターンに含まれる非ゼロ周波数成分とゼロ周波数成分について、前記第１のパリティを用いたパリティチェックを行う第１パリティチェックステップと、
各部分画像の周波数成分の振幅分布を基に、前記ハミングチェックステップによるハミング誤り訂正後に、前記第１のパリティについて、前記第２のパリティを用いたパリティチェックを行う第２パリティチェックステップと、
各部分画像において、前記ハミングチェックステップにより誤りがないことが検出され、又は、誤りが訂正され、且つ、前記第１パリティチェックステップによりパリティエラーがないことが検出され、且つ、前記第２パリティチェックステップによりパリティエラーがないことが検出されたならば、前記ハミングチェックステップにより誤りがないことが検出され、又は、誤りが訂正された後に得られた各部分画像の周波数成分の振幅分布から求まる、データを表す非ゼロ周波数成分とゼロ周波数成分とのパターンを、その各部分画像から得られるデータパターンとする判断ステップと、
を備えることを特徴とする電子透かし検出方法。
【請求項２２】
請求項１８に記載の電子透かし挿入方法により電子透かしが挿入され、その後任意の角度回転した入力画像から電子透かしを検出する電子透かし検出方法において、
前記入力画像から、初期部分画像を抽出する初期部分画像抽出ステップと、
前記初期部分画像のデータをフーリエ変換して、前記初期部分画像についての周波数成分の振幅分布を求める第１のフーリエ変換ステップと、
前記初期部分画像についての周波数成分の振幅分布に含まれる前記画像回転角度検出用の非ゼロ周波数成分とゼロ周波数成分とのパターンを基に、前記入力画像の回転角度を検出する回転角度検出ステップと、
前記初期部分画像についての周波数成分の振幅分布に含まれる前記画像回転角度検出用の非ゼロ周波数成分とゼロ周波数成分とのパターンを基に、前記入力画像の回転角度を検出できない場合には、エラー終了する第１のエラー終了ステップと、
前記入力画像から、２以上の偶数個の追加部分画像を抽出する追加部分画像抽出ステップと、
各追加部分画像のデータをフーリエ変換して、各追加部分画像についての周波数成分の振幅分布を求める第２のフーリエ変換ステップと、
前記初期部分画像の周波数成分の位置と、前記追加部分画像の周波数成分の位置を、前記回転角度検出ステップにより検出された回転角度だけ補正する回転角度補正ステップと、
各部分画像に含まれる前記上下反転検出／回転角度正誤判定／上下反転検出結果正誤判定用パターンを基に、所定の演算及び所定の判断を行うことにより、検出された前記回転角度と潜在的な上下反転検出結果のうちの少なくとも１つに誤りがあることが検出された場合にエラー終了する第２のエラー終了ステップと、
前記初期部分画像と前記追加部分画像の各々の前記回転角度補正ステップを通した後の周波数成分の振幅分布からデータを表す非ゼロ周波数成分とゼロ周波数成分を含むデータパターンを検出するデータパターン検出ステップと、
過半数の部分画像から同一のデータを表すデータパターンが検出された場合に、そのデータパターンを正しいデータパターンであると判断する多数決ステップと、
を備え、
前記データパターン検出ステップは、
各部分画像の周波数成分の振幅分布を基に、前記データパターンに含まれる非ゼロ周波数成分とゼロ周波数成分であって、情報点であるとみなされた周波数成分について、前記検査点を用いたハミング誤り訂正を行うハミングチェックステップと、
各部分画像の周波数成分の振幅分布を基に、前記ハミングチェックステップによるハミング誤り訂正後に、前記データパターンに含まれる非ゼロ周波数成分とゼロ周波数成分について、前記第１のパリティを用いたパリティチェックを行う第１パリティチェックステップと、
各部分画像の周波数成分の振幅分布を基に、前記ハミングチェックステップによるハミング誤り訂正後に、前記第１のパリティについて、前記第２のパリティを用いたパリティチェックを行う第２パリティチェックステップと、
各部分画像において、前記ハミングチェックステップにより誤りがないことが検出され、又は、誤りが訂正され、且つ、前記第１パリティチェックステップによりパリティエラーがないことが検出され、且つ、前記第２パリティチェックステップによりパリティエラーがないことが検出されたならば、前記ハミングチェックステップにより誤りがないことが検出され、又は、誤りが訂正された後に得られた各部分画像の周波数成分の振幅分布から求まる、データを表す非ゼロ周波数成分とゼロ周波数成分とのパターンを、その各部分画像から得られるデータパターンとする判断ステップと、
を備えることを特徴とする電子透かし検出方法。
【請求項２３】
請求項２２に記載の電子透かし検出方法において、
前記所定の演算は、それぞれの部分画像についての総ポイントを、それぞれの部分画像の上下反転検出／回転角度正誤判定／上下反転検出結果正誤判定用パターンに含まれる非ゼロ周波数成分の位置に基づいて求め、第１の追加部分画像の総ポイントと第２の追加部分画像の総ポイントとの差の絶対値を求め、前記第１の追加部分画像の総ポイントと前記第２の追加部分画像の総ポイントとの和の絶対値を求める演算であり、
前記所定の判断は、前記差の絶対値が所定の範囲に収まり、前記和の絶対値が所定の値以下であり、且つ、前記第１の追加部分画像についての総ポイント、前記初期部分画像についての総ポイント及び前記第２の追加部分画像についての総ポイントがこの順又はこれと逆の順に並ぶか否かをみる判断であり、
その判断結果が肯定的である場合に、前記第２のエラー終了ステップでは、エラー終了しないことを特徴とする電子透かし検出方法。
【請求項２４】
請求項２２に記載の電子透かし検出方法において、
前記所定の演算は、それぞれの部分画像についての総ポイントを、それぞれの部分画像の上下反転検出／回転角度正誤判定／上下反転検出結果正誤判定用パターンに含まれる非ゼロ周波数成分の位置に基づいて求め、第１の追加部分画像の総ポイントと第２の追加部分画像の総ポイントとの差の絶対値を求め、前記第１の追加部分画像の総ポイントと前記第２の追加部分画像の総ポイントとの和の絶対値を求める演算であり、
前記所定の判断は、前記差の絶対値について第１の上限値と該第１の上限値よりも大きい第２の上限値と第１の下限値と該第１の下限値よりも小さい第２の下限値とを設け、前記和の絶対値について第３の上限値と該第３の上限値よりも大きい第４の上限値を設け、
前記差の絶対値が前記第１の上限値を超過し、前記差の絶対値が前記第１の下限値を下回り、又は、前記和の絶対値が前記第３の上限値を超過していても、その超過又は下回りの総数が所定数未満であり、且つ、前記第１の追加部分画像についての総ポイント、前記初期部分画像についての総ポイント及び前記第２の追加部分画像についての総ポイントがこの順又はこれと逆の順に並ぶか否かをみる第１の判断と、
前記差の絶対値が前記第２の上限値を超過し、前記差の絶対値が前記第２の下限値を下回り、又は、前記和の絶対値が前記第２の上限値を超過するか否かをみる第２の判断との組合せであり、
前記第１の判断による判断結果が肯定的である場合には、前記第２のエラー終了ステップでは、エラー終了せず、
前記第１の判断による判断結果が否定的である場合には、前記第２のエラー終了ステップでは、エラー終了し、
前記第２の判断による判断結果が肯定的である場合には、前記第２のエラー終了ステップでは、エラー終了することを特徴とする電子透かし検出方法。
【請求項２５】
請求項２３又は２４に記載の電子透かし検出方法において、
それぞれの部分画像についての総ポイントを、それぞれの部分画像の上下反転検出／回転角度正誤判定／上下反転検出結果正誤判定用パターンに含まれる非ゼロ周波数成分の位置に基づいて求める演算は、
上下反転検出／回転角度正誤判定／上下反転検出結果正誤判定用パターンを含む周波数領域から振幅の大きい順に所定数の非ゼロ周波数成分を検出して、検出された非ゼロ周波数成分の位置に割り当てられているポイントの、検出された非ゼロ周波数成分についての和を総ポイントとする演算であることを特徴とする電子透かし検出方法。
【請求項２６】
請求項２１乃至２５の何れか１項に記載の電子透かし検出方法において、
前記初期部分画像は、面積重心を入力画像と共通とする部分画像であり、前記追加画像のうちの２つの追加部分画像は、二辺を入力画像と共通とする４つの部分画像のうち面積重心から中心線までの距離が最大である２つの部分画像であることを特徴とする電子透かし検出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像データに電子透かしを挿入するための電子透かし挿入装置及び電子透かし挿入方法並びに電子透かしが挿入された画像データから電子透かしを検出するための電子透かし検出装置及び電子透かし検出方法に関する。
【背景技術】
【０００２】
本発明の出願人は、電子透かし挿入方法及び電子透かし挿入方法並びに電子透かし検出装置及び電子透かし検出方法に関する発明を出願し、権利化している（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第４２７０５０４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところが従来であれば、電子透かしを挿入するべき画像データに係る画像の面積が比較的広いため、そこから離散フーリエ変換により得られる周波数成分の数が比較的多く、従って、電子透かしに比較的多めの冗長度を付加することができた。具体的には、電子透かしを表す全ての周波数成分にパリティチェックのためのパリティを付加し、更に、電子透かしを表す全ての周波数成分にハミング符号を構成するための検査点を付加することができた。
【０００５】
しかし、電子透かしを挿入するべき画像データに係る画像の面積が狭くても、電子透かし挿入装置により、その画像データに電子透かしを挿入し、電子透かし検出装置により、電子透かしが挿入された画像データから電子透かしを検出することが要請されるようになってきた。ここで、電子透かしを挿入するべき画像データに係る画像の面積が狭いと、そこから離散フーリエ変換により得られる周波数成分の数が少なくなるため、電子透かしを表す全ての周波数成分にパリティチェックのためのパリティを付加し、更に、電子透かしを表す全ての周波数成分にハミング符号を構成するための検査点を付加することができない。そうすると、従来の方法を用いると、電子透かし検出装置により高い正答率で電子透かしを検出することができない。
【０００６】
そこで、本発明は、電子透かしを挿入するべき画像データに係る画像の面積が狭い場合であっても、検出側において、高い正答率で電子透かしを検出することを可能とする電子透かし挿入装置及び電子透かし挿入方法並びに電子透かし検出装置及び電子透かし検出方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明によれば、データを表す非ゼロ周波数成分とゼロ周波数成分とを含むデータパターンのうちの非ゼロ周波数成分を周波数領域に配置するデータパターン配置手段と、前記パターンを複数の第１サブパターンに分割し、各第１サブパターン毎にそのサブパターンに含まれる非ゼロ周波数成分の数に応じた第１パリティを生成し、該第１パリティを表す非ゼロ周波数成分とゼロ周波数成分を含む第１パリティパターンを生成し、該第１パリティパターンのうちの非ゼロ周波数成分を前記周波数領域に配置する第１パリティ配置手段と、前記サブパターン毎の第１パリティの集合についての第２パリティを生成し、該第２パリティを表す非ゼロ周波数成分とゼロ周波数成分を含む第２パリティパターンを生成し、該第２パリティパターンのうちの非ゼロ周波数成分を前記周波数領域に配置する第２パリティ配置手段と、前記データパターンのうち、何れの前記第１サブパターンとも一致しない第２のサブパターンに含まれる非ゼロ周波数成分とゼロ周波数成分を情報点と見なした場合のハミング符号における検査点を生成し、該検査点を表す非ゼロ周波数成分とゼロ周波数成分とを含む検査点パターンを生成し、該検査点パターンのうちの非ゼロ周波数成分を前記周波数領域に配置する検査パターン配置手段と、前記データパターン配置手段により前記周波数領域に配置された非ゼロ周波数成分、前記第１パリティ配置手段により前記周波数領域に配置された非ゼロ周波数成分、前記第２パリティ配置手段により前記周波数領域に配置された非ゼロ周波数成分及び前記検査パターン配置手段により前記周波数領域に配置された非ゼロ周波数成分を含むパターンを逆フーリエ変換することにより、空間領域パターンを生成する逆フーリエ変換手段と、前記空間領域パターンを原画像に重畳させる重畳手段と、を備えることを特徴とする電子透かし挿入装置が提供される。
【０００８】
また、本発明によれば、上記の電子透かし挿入装置により電子透かしが挿入された画像から電子透かしを検出する電子透かし検出装置において、前記電子透かしが挿入された画像から、３以上の奇数個の部分画像を抽出する部分画像抽出手段と、各部分画像のデータをフーリエ変換して、各部分画像についての周波数成分の振幅分布を求めるフーリエ変換手段と、各部分画像の周波数成分の振幅分布からデータを表す非ゼロ周波数成分とゼロ周波数成分を含むデータパターンを検出するデータパターン検出手段と、過半数の部分画像から同一のデータを表すデータパターンが検出された場合に、そのデータパターンを正しいデータパターンであると判断する多数決手段と、を備え、前記データパターン検出手段は、各部分画像の周波数成分の振幅分布を基に、前記データパターンに含まれる非ゼロ周波数成分とゼロ周波数成分であって、情報点であるとみなされた周波数成分について、前記検査点を用いたハミング誤り訂正を行うハミングチェック手段と、各部分画像の周波数成分の振幅分布を基に、前記ハミングチェック手段によるハミング誤り訂正後に、前記データパターンに含まれる非ゼロ周波数成分とゼロ周波数成分について、前記第１のパリティを用いたパリティチェックを行う第１パリティチェック手段と、各部分画像の周波数成分の振幅分布を基に、前記ハミングチェック手段によるハミング誤り訂正後に、前記第１のパリティについて、前記第２のパリティを用いたパリティチェックを行う第２パリティチェック手段と、各部分画像において、前記ハミングチェック手段により誤りがないことが検出され、又は、誤りが訂正され、且つ、前記第１パリティチェック手段によりパリティエラーがないことが検出され、且つ、前記第２パリティチェック手段によりパリティエラーがないことが検出されたならば、前記ハミングチェック手段により誤りがないことが検出され、又は、誤りが訂正された後に得られた各部分画像の周波数成分の振幅分布から求まる、データを表す非ゼロ周波数成分とゼロ周波数成分とのパターンを、その各部分画像から得られるデータパターンとする判断手段と、を備えることを特徴とする電子透かし検出装置が提供される。
【発明の効果】
【０００９】
本発明によれば、データを表す非ゼロ周波数成分及びゼロ周波数成分のうち第２のサブパターンに含まれない周波数成分については、ハミング誤り訂正が行われないが、第１のパリティについて、第２のパリティを用いたエラーチェックを行い、更に、過半数の部分画像から同一のデータを表すデータパターンが検出された場合にのみ、そのデータパターンを正しいデータパターンであると判断するため、誤ってデータパターンを検出してしまう可能性を非常に低くすることができる。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施形態における、電子透かし挿入装置の構成を示すブロック図である。
【図２】本発明の実施形態における、データを表す非ゼロ周波数成分とゼロ周波数成分の周波数領域における分布を示す図である。
【図３】本発明の実施形態における、データを表す非ゼロ周波数成分とゼロ周波数成分に付されるパリティに対応した非ゼロ周波数成分とゼロ周波数成分の周波数領域における分布を示す図である。
【図４】本発明の実施形態における、どのパリティが何に対して付加されるのかを示す図である。
【図５】本発明の実施形態における、データを表す非ゼロ周波数成分とゼロ周波数成分のうち第２のサブパターンに含まれるものに付される検査点に対応した非ゼロ周波数成分とゼロ周波数成分の周波数領域における分布を示す図である。
【図６】本発明の実施形態における、画像の回転角度を０度から１８０度の範囲で検出するための非ゼロ周波数成分の周波数領域における分布を示す図である。
【図７】本発明の実施形態における、別々の上下反転検出／回転角度正誤判定／上下反転検出結果正誤判定用パターンが挿入される短冊の集合を示した図である。
【図８】本発明の実施形態における、上下反転検出／回転角度正誤判定／上下反転検出結果正誤判定用パターンに含まれる非ゼロ周波数成分及びゼロ周波数成分であって、画像の第１の短冊に含まれるものを示す図である。
【図９】本発明の実施形態における、上下反転検出／回転角度正誤判定／上下反転検出結果正誤判定用パターンに含まれる非ゼロ周波数成分及びゼロ周波数成分であって、画像の第２の短冊に含まれるものを示す図である。
【図１０】本発明の実施形態における、上下反転検出／回転角度正誤判定／上下反転検出結果正誤判定用パターンに含まれる非ゼロ周波数成分及びゼロ周波数成分であって、画像の第３の短冊に含まれるものを示す図である。
【図１１】本発明の実施形態における、上下反転検出／回転角度正誤判定／上下反転検出結果正誤判定用パターンに含まれる非ゼロ周波数成分及びゼロ周波数成分であって、画像の第４の短冊に含まれるものを示す図である。
【図１２】本発明の実施形態における、上下反転検出／回転角度正誤判定／上下反転検出結果正誤判定用パターンに含まれる非ゼロ周波数成分及びゼロ周波数成分であって、画像の第５の短冊に含まれるものを示す図である。
【図１３】本発明の実施形態における、電子透かしとして配置される全ての非ゼロ周波数成分とゼロ周波数成分の周波数成分における分布を示す図である。
【図１４】本発明の実施形態における、図１に示す電子透かし挿入装置の動作を示すフローチャートである。
【図１５】本発明の実施形態における、電子透かし検出装置の構成を示すブロック図である。
【図１６】（ａ）は、電子透かし検出装置に入力される画像の回転角度が０度である場合の初期部分画像と２つの追加部分画像を示し、（ｂ）は、電子透かし検出装置に入力される画像の回転角度が７５度である場合の初期部分画像と２つの追加部分画像を示し、（ｃ）は、電子透かし検出装置に入力される画像の回転角度が１３５度である場合の初期部分画像と２つの追加部分画像を示す。
【図１７】図１５に示すデータパターン検出部の内部構成を示すブロック図である。
【図１８】本発明の実施形態における、部分画像の数が３であるとした場合の多数決部の入力と出力との関係を示す表である。
【図１９】本発明の実施形態における、上下反転検出／回転角度正誤判定／上下反転検出結果正誤判定用パターンに含まれる非ゼロ周波数成分のそれぞれに付けられるポイントを示す図である。
【図２０】本発明の実施形態における、図１５に示す電子透かし検出装置の動作を示すフローチャートである。
【図２１】図２０に示す「初期部分画像と各追加部分画像からデータパターンを検出する」ステップの詳細を示すフローチャートである。
【発明を実施するための形態】
【００１１】
以下、図面を参照して本発明を実施するための形態について詳細に説明する。
【００１２】
図１を参照すると、本発明の実施形態による電子透かし挿入装置は、エンコード部１０１、データパターン配置部１０３、第１パリティ配置部１０５、第２パリティ配置部１０７、検査パターン配置部１０９、回転角度検出用パターン配置部１１１、上下反転検出／回転角度正誤判定／上下反転検出結果判定用パターン配置部１１３、逆フーリエ変換部１１５及び重畳部１１７を含む。
【００１３】
エンコード部１０１は、入力したデータを基に、図２に○で示すような位置に配置する周波数成分の振幅をゼロにするか非ゼロにするかを決める。その際、円１、円２、円３のそれぞれにある○で示す周波数成分の数は、４、１０、６である。それぞれの円において、振幅をゼロにする周波数成分と振幅を非ゼロにする周波数成分の数を等しくする。従って、エンコーダ部１０１は、４Ｃ２×１０Ｃ５×６Ｃ３＝３０２４０通りの入力データをエンコードすることができる。
【００１４】
データパターン配置部１０３は、図２に○で示す位置にエンコード部１０１によって振幅が定まった周波数成分を配置する。
【００１５】
第１パリティ配置部１０５は、図２に○で示す各位置の周波数成分の振幅がゼロであるか非ゼロであるかによって値がゼロか１かに決まる第１のパリティを６つ生成し、そのパリティの値に応じて振幅が決まる周波数成分を図３に○で示す位置（但し、円１の位置１４及び１５を除く）に配置する。
【００１６】
図４を参照すると、第１のパリティのうちパリティ１の値は、円１の位置３にある周波数成分（「円１−３」で示す。）の振幅、円２の位置７にある周波数成分（「円２−７」で示す。）の振幅、円２の位置１４にある周波数成分（「円２−１４」で示す。）の振幅、円３の位置９にある周波数成分（「円３−９」で示す。）の振幅により決まる。パリティ１を偶数パリティとするならば、円１の位置３にある周波数成分、円２の位置７にある周波数成分、円２の位置１４にある周波数成分、円３の位置９にある周波数成分のうち、振幅がゼロである周波数成分の数が偶数であれば、パリティ１の値はゼロとなる。パリティ１を奇数パリティとするならば、円１の位置３にある周波数成分、円２の位置７にある周波数成分、円２の位置１４にある周波数成分、円３の位置９にある周波数成分のうち、振幅がゼロである周波数成分の数が奇数であれば、パリティ１の値はゼロとなる。
【００１７】
図３を参照すると、パリティ１に対応した周波数成分は、円３の位置０にあるものと円３の位置１にあるものの２つの周波数成分である。パリティ１の値がゼロであれば、円３の位置０にある周波数成分の振幅がゼロとなり、円３の位置１にある周波数成分の振幅が非ゼロとなる。パリティ１の値が１であれば、円３の位置０にある周波数成分の振幅が非ゼロとなり、円３の位置１にある周波数成分の振幅がゼロとなる。
【００１８】
円１の位置３にあるデータを表す周波数成分、円２の位置７にあるデータを表す周波数成分、円２の位置１４にあるデータを表す周波数成分、円３の位置９にあるデータを表す周波数成分、円１の位置０にあるパリティを表す周波数成分及び円１の位置１にあるパリティを表す周波数成分は、中心を通る相互に直交した任意の２つの直線上には２以上並ばない。これは、ノイズによる非ゼロ周波数成分が中心を通る相互に直交した任意の２つの直線上に並ぶことを考慮し、データを表す周波数成分及びパリティを表す周波数成分のうち２以上の周波数成分がノイズに埋もれないようにするためである。
【００１９】
第１のパリティのうちパリティ２の値、パリティ３の値、パリティ４の値、パリティ５の値及びパリティ６の値は、パリティ１の値と同様にして決まる。パリティ１〜６が付される対象となるデータを表す周波数成分の位置は、図４に示すとおりである。このうち、パリティ１のみについて、上記で詳細に説明したが、パリティ２〜６の値も、パリティ１の値と同様に決まる。
【００２０】
また、図３に示すように、パリティ２に対応した周波数成分は、円３の位置５と位置６に配置され、パリティ３に対応した周波数成分は、円３の位置１０と位置１１に配置され、パリティ４に対応した周波数成分は、円２の位置２と位置３に配置され、パリティ５に対応した周波数成分は、円２の位置４と位置５に配置され、パリティ６に対応した周波数成分は、円２の位置９と位置１０に配置される。
【００２１】
第２パリティ配置部１０７は、パリティ１〜６によって値がゼロか１かに決まる第２のパリティであるパリティ７を生成し、そのパリティの値に応じて振幅が決まる周波数成分を図３に○で示す位置（具体的には、円１の位置１４及び１５）に配置する。
【００２２】
図４を参照すると、第２のパリティであるパリティ７の値は、パリティ１〜６の値により決まる。パリティ７を偶数パリティとするならば、パリティ１〜６のうち値がゼロであるパリティの数が偶数であれば、パリティ７の値はゼロとなる。パリティ７を奇数パリティとするならば、パリティ１〜６のうち値がゼロであるパリティの数が奇数であれば、パリティ７の値はゼロとなる。
【００２３】
図３を参照すると、パリティ７に対応した周波数成分は、円１の位置１４にあるものと円１の位置１５にあるものの２つの周波数成分である。パリティ７の値がゼロであれば、円１の位置１４にある周波数成分の振幅がゼロとなり、円１の位置１５にある周波数成分の振幅が非ゼロとなる。パリティ７の値が１であれば、円１の位置１４にある周波数成分の振幅が非ゼロとなり、円１の位置１に１５ある周波数成分の振幅がゼロとなる。
【００２４】
パリティ１〜７を表す周波数成分は、中心を通る相互に直交した任意の２つの直線上には２以上並ばない。これは、ノイズによる非ゼロ周波数成分が中心を通る相互に直交した任意の２つの直線上に並ぶことを考慮し、パリティを表す周波数成分のうち２以上の周波数成分がノイズに埋もれないようにするためである。
【００２５】
検査パターン配置部１０９は、円１にあるデータを表す周波数成分（円１の位置２、３、１６、１７にある周波数成分）の値を検査点の値とし（周波数成分の振幅がゼロであれば、検査点の値をゼロとし、周波数成分の振幅が非ゼロであれば、検査点の値を１とし）、これらの検査点の値を基に、ハミング符号における検査シンボルを生成し、検査シンボルの値に対応した振幅を有する周波数成分を円１の位置０、１、４、５、１８、１９に配置する（図５参照）。具体的には、第１の検査シンボルに対応した周波数成分を円１の位置０、１に配置し、第２の検査シンボルに対応した周波数成分を円１の位置４、５に配置し、第３の検査シンボルに対応した周波数成分を円１の位置１８、１９に配置する。例えば、第１の検査シンボルの値がゼロであれば、円１の位置０に配置する周波数成分の値をゼロにし、円１の位置１に配置する周波数成分の値を１にするが、この逆であっても良い。周波数成分の振幅については、第２の検査シンボル、第３の検査シンボルについても第１の検査シンボルと同様である。
【００２６】
回転角度検出用パターン配置部１１１は、図６で○で示す位置に回転角度を０度〜１８０度の範囲で検出するための非ゼロ周波数成分を配置する。
【００２７】
上下反転検出／回転角度正誤判定／上下反転検出結果判定用パターン配置部１１３は、図７に示すように、画像を（ａ）〜（ｅ）の５つの短冊に分割し、短冊（ａ）の周波数領域に図８に示すパターンを配置し、短冊（ｂ）の周波数領域に図９に示すパターンを配置し、短冊（ｃ）の周波数領域に図１０に示すパターンを配置し、短冊（ｄ）の周波数領域に図１１に示すパターンを配置し、短冊（ｅ）の周波数領域に図１２に示すパターンを配置する。図８〜１２において、白抜きの丸で示したものは非ゼロ周波数成分であり、黒丸で示したものはゼロ周波数成分である。
【００２８】
逆フーリエ変換部１１５は、図１３に示すように、データパターン配置部１０３が周波数領域に配置した非ゼロ周波数成分、第１パリティ配置部１０５が周波数領域に配置した非ゼロ周波数成分、第２パリティ配置部が周波数領域に配置した非ゼロ周波数成分、検査パターン配置部１０９が周波数領域に配置した非ゼロ周波数成分、回転角度検出用パターン配置部１１１が周波数領域に配置した非ゼロ周波数成分、上下反転検出／回転角度正誤判定／上下反転検出結果正誤判定用パターン配置部１１３が周波数領域に配置した非ゼロ周波数成分を合わせたものを逆フーリエ変換して、空間パターンを生成する。なお、周波数成分を表す上記で説明した図には、周波数領域の第１象限及び第２象限のもが記載されているが、第１象限及び第２象限に存在する非ゼロ周波数成分と周波数領域の原点について点対称の位置にもそれらの非ゼロ周波数成分に対応した非ゼロ周波数成分が存在し、逆フーリエ変換部１１５が出力する空間パターンは実数部のみを有し、虚数部を有さない。
【００２９】
重畳部１１７は、逆フーリエ変換部１１５が生成した空間パターンを原画像に重畳する。ここで、重畳とは、加算又は減算を意味する。
【００３０】
上述した電子透かし挿入装置の動作をまとめたのが図１４に示すフローチャートである。図１４を参照すると、エンコード部１０１は、入力データをエンコードして、データパターンを生成する（ステップＳ２０１）。データパターン配置部１０３は、データパターンのうち非ゼロ周波数成分を周波数領域に配置する（ステップＳ２０３）。第１パリティ配置部１０５は、第１パリティパターンを生成し、そのうちの非ゼロ周波数成分を周波数領域に配置する（ステップＳ２０５）。第２パリティ配置部１０７は、第２パリティパターンを生成し、そのうち非ゼロ周波数成分を周波数領域に配置する（ステップＳ２０７）。検査点パターン配置部１０９は、検査点パターンを生成し、そのうち非ゼロ周波数成分を周波数領域に配置する（ステップＳ２０９）。回転角度検出用パターン配置部１１１は、回転角度検出用パターンを生成し、そのうちの非ゼロ周波数成分を周波数領域に配置する（ステップＳ２１１）。上下反転検出／回転角度正誤判定／上下反転検出結果正誤判定用パターン配置部１１３は、上下反転検出／回転角度正誤判定／上下反転検出結果正誤判定用パターンを生成し、そのうち非ゼロ周波数成分を周波数領域に配置する（ステップＳ２１３）。逆フーリエ変換部１１５は、データパターン配置部１０３が周波数領域に配置した非ゼロ周波数成分、第１パリティ配置部１０５が周波数領域に配置した非ゼロ周波数成分、第２パリティ配置部が周波数領域に配置した非ゼロ周波数成分、検査パターン配置部１０９が周波数領域に配置した非ゼロ周波数成分、回転角度検出用パターン配置部１１１が周波数領域に配置した非ゼロ周波数成分、上下反転検出／回転角度正誤判定／上下反転検出結果正誤判定用パターン配置部１１３が周波数領域に配置した非ゼロ周波数成分を合わせたものを逆フーリエ変換して、空間パターンを生成する（ステップＳ２１５）。重畳部１１７は、逆フーリエ変換部１１５が生成した空間パターンを原画像に重畳する（ステップＳ２１７）。
【００３１】
図１５を参照すると、本発明の実施形態による電子透かし検出装置は、初期部分画像抽出部１３１、第１フーリエ変換部１３３、回転角度検出部１３５、追加部分画像抽出部１３７、第２フーリエ変換部１３９、回転角度補正部１４１、データパターン検出部１４３、多数決部１４５、デコード部１４７及び検出回転角度エラー／上下反転検出結果エラー検出部１４９を含む。
【００３２】
初期部分画像抽出部１３１は、電子透かし挿入装置により電子透かしが挿入され、その上で、任意の角度回転した入力画像の中央部から初期部分画像を抽出する。例えば、入力画像のサイズが１５８画素×１５８画素であれば、後のフーリエ変換を考慮し、初期部分画像のサイズを１２８画素×１２８画素とする（図１６（ａ）、（ｂ）、（ｃ）の「初期部分画像」を参照）。一般に入力画像が回転しているのは、電子透かし挿入装置により電子透かしが挿入された画像は紙などに印刷され、カメラやスキャナなどにより撮影されるためである。撮影時に画像が回転する。
【００３３】
第１フーリエ変換部１３３は、初期部分画像抽出部１３１が抽出した初期部分画像をフーリエ変換して、周波数成分の振幅分布を求める。
【００３４】
回転角度検出部１３５は、第１フーリエ変換部１３３から入力した初期部分画像の周波数成分の振幅分布から、図６に○で示す回転角度を０度〜１８０度の範囲で検出するための非ゼロ周波数成分を求め、それらの非ゼロ周波数成分の分布の非対称性を利用して入力画像の回転角度を０度〜１８０度の範囲で検出する。
【００３５】
追加部分画像抽出部１３７は、入力画像から２以上の偶数個の追加部分画像を抽出する。図１６を参照して、２個の追加部分画像を抽出することを例にとって説明すると、まず、１５８画素×１５８画素の入力画像と二辺を共通とする、４つの１２８画素×１２８画素の部分画像を追加部分画像の候補として抽出しておき、それらの４つの候補のうち、面積重心から中心線までの距離が最大である２つの部分画像を２つの追加部分画像として抽出する。ここで、中心線とは、画像の回転角度だけ回転したＸ軸のことである。ここで、追加部分画像の候補を、入力画像と二辺を共通とするものとしたが、これは、追加部分画像の面積重心を入力画像の面積重心からできる限り離すためである。従って、厳密に追加部分画像の候補を、入力画像と二辺を共通としなくてもよく、追加部分画像の候補の二辺がそれぞれ入力画像の二辺から多少離れていても良い。本発明では、このような場合も含め、追加部分画像の候補が、入力画像と二辺を共通とするという。
【００３６】
第２フーリエ変換部１３９は、追加部分画像抽出部１３７から入力した２つの以上の追加部分画像をフーリエ変換して、周波数成分の振幅分布を求める。
【００３７】
回転角度補正部１４１は、第１フーリエ変換部１３３から入力した初期部分画像の周波数成分の振幅分布及び第２フーリエ変換部１３９から入力した２つ以上の追加部分画像の周波数成分のそれぞれの振幅分布の回転角度を、回転角度検出部１３５から入力した回転角度だけ補正する。すなわち、それぞれの振幅分布を周波数領域において直流を表す軸を中心にして回転角度検出部１３５から入力した回転角度だけ逆に回転させる。
【００３８】
データパターン検出部１４３は、回転角度補正部１４１により回転角度が補正された初期部分画像の周波数成分の振幅分布を基に、初期部分画像からデータパターンを抽出し、更に、回転角度補正部１４１により回転角度が補正された２以上の追加部分画像の周波数成分の振幅分布を基に、それぞれの追加部分画像からデータパターンを抽出する。
【００３９】
図１７を参照すると、データパターン検出部１４３は、ハミングチェック部１４３−１、第１パリティチェック部１４３−３、第２パリティチェック部１４３−５、データパターン抽出部１４３−７及び判断部１４３−９を含む。
【００４０】
ハミングチェック部１４３−１は、各部分画像の周波数成分の振幅分布を基に、データパターンに含まれる非ゼロ周波数成分とゼロ周波数成分であって、情報点であるとみなされた周波数成分について、検査点を用いたハミング誤り訂正を行う。すなわち、ハミングチェック部１４３−１は、各部分画像に含まれる図５に示す、検査点に対応した周波数成分を用いて、情報点とみなされた周波数成分について、ハミング誤り訂正を行う。例えば、（７、４）ハミング符号が用いられ、誤りが検出されない時には、情報点とみなされた周波数成分をそのまま出力する。（７、４）ハミング符号が用いられ、１誤りが検出された時には、情報点とみなされた周波数成分を検査点を利用して訂正した後に出力する。
【００４１】
第１パリティチェック部１４３−３は、各部分画像の周波数成分の振幅分布を基に、ハミングチェック部１４３−１によるハミング誤り訂正後に、データパターンに含まれる非ゼロ周波数成分とゼロ周波数成分について、第１のパリティを用いたパリティチェックを行う。すなわち、第１パリティチェック部１４３−３は、第１のパリティに対応した周波数成分より第１のパリティの値を求め、この第１のパリティを用いて、データパターンに含まれる非ゼロ周波数成分とゼロ周波数成分についてパリティチェックを行う。パリティエラーが検出された場合には、セットされたエラーフラグ１を出力し、パリティエラーが検出されない場合には、リセットされたエラーフラグ１を出力する。
【００４２】
第２パリティチェック部１４３−５は、各部分画像の周波数成分の振幅分布を基に、ハミングチェック部１４３−１によるハミング誤り訂正後に、第１のパリティについて、第２のパリティを用いたパリティチェックを行う。すなわち、第２パリティチェック部１４３−５は、第１のパリティに対応した周波数成分より第１のパリティを求め、第２のパリティに対応した周波数成分より第２のパリティを求め、第１のパリティについて、第２のパリティを用いたパリティチェックを行う。パリティエラーが検出された場合には、セットされたエラーフラグ２を出力し、パリティエラーが検出されない場合には、リセットされたエラーフラグ２を出力する。
【００４３】
判断部１４３−９は、エラーフラグ１に基づいて、第１パリティチェック部１４３−３によりパリティエラーがないことが確認され、且つ、エラーフラグ２に基づいて、第２パリティチェック部１４３−５によりパリティエラーがないことが確認されたならば、リセットされたエラーフラグを出力する。判断部１４３−９は、それ以外の場合には、セットされたエラーフラグを出力する。すなわち、判断部１４３−９は、エラーフラグ１とエラーフラグ２の論理和をとって、その論理和の結果を最終的なエラーフラグとして出力する。
【００４４】
データパターン抽出部１４３−７は、判断部１４３−９が出力するエラーフラグがリセットされていれば、ハミングチェック部１４３−１により誤りがないことが検出され、又は、誤りが訂正された後に得られた各部分画像の周波数成分の振幅分布から求まる、データを表す非ゼロ周波数成分とゼロ周波数成分とのパターンを、その各部分画像から得られるデータパターンとして出力する。
【００４５】
多数決部１４５は、図１８に示すように、３つの部分画像のそれぞれから求まるデータパターンのうち２つ以上の部分画像（すなわち、過半数の部分画像）から求まるデータパターンが一致していれば、その一致したデータパターンを正しいデータパターンとして出力する。
【００４６】
デコード部１４７は、多数決部１４５が出力するデータパターンをデコードして、電子透かし挿入装置の入力データを再現する。
【００４７】
検出回転角度エラー／上下反転検出結果エラー検出部１４９は、回転角度検出部１３５で検出した角度に誤りがあるか否か、また、上下反転検出／回転角度正誤判定／上下反転検出結果正誤判定用パターンに基づいて画像の上下反転を検出したとしたならば、その検出結果は誤りとなるか否かを次に説明方法により判断する。
【００４８】
図１９の（ａ）から（ｇ）のそれぞれにおいて、図８〜１２において、白抜きの丸で示されるのは非ゼロ周波数成分である。これらの非ゼロ周波数成分のそれぞれには、図１９に示すように、ポイントが与えられている。
【００４９】
検出回転角度エラー／上下反転検出結果エラー検出部１４９は、第１フーリエ変換部１３３から入力した初期部分画像及び第２フーリエ変換部１３９入力した２以上の追加部分画像のそれぞれについて、図８〜１２で白抜きの丸又は黒丸で示される位置にある非ゼロ周波数成分の振幅を見て、振幅が高い順に４つの周波数成分を選択する。そして、選択した周波数成分に与えられているポイントの和を総ポイントとして算出する。
【００５０】
検出回転角度エラー／上下反転検出結果エラー検出部１４９は、このようにして、初期部分画像及びそれぞれの追加部分画像についての総ポイントを得る。
【００５１】
検出回転角度エラー／上下反転検出結果エラー検出部１４９は、次に、第１の追加画像の総ポイントと第２の追加部分画像の総ポイントの差の絶対値を求め、第１の追加部分画像の総ポイントと第２の追加部分画像の総ポイントの和の絶対値を求める。
【００５２】
検出回転角度エラー／上下反転検出結果エラー検出部１４９は、次に、（１）第１の追加部分画像の総ポイントと第２の追加部分画像の総ポイントの差の絶対値が所定の範囲に治まっているか否か、（２）第１の追加部分画像の総ポイントと第２の追加部分画像の総ポイントの和の絶対値が所定の値以下であるか否か、及び、（３）第１の追加部分画像の総ポイント、初期追加部分画像の総ポイント及び第２の追加部分画像の総ポイントがこの順又はこれと逆の順に並んでいるか否かを調べる。
【００５３】
検出回転角度エラー／上下反転検出結果エラー検出部１４９は、上記３つの調べた結果が全て肯定的である場合には、回転角度検出部１３５により検出された回転角度が正しく、且つ、上下反転判定部（図示せず）が上下反転検出／回転角度正誤判定／上下反転検出結果正誤判定用パターンに基づいて画像の上下反転を検出したとしたならば、その検出結果が正しいと判断する。上記３つの調べた結果のいずれか１つでも否定的である場合には、（ｉ）回転角度検出部１３５により検出された回転角度、及び、（ｉｉ）上下反転判定部（図示せず）が上下反転検出／回転角度正誤判定／上下反転検出結果正誤判定用パターンに基づいて画像の上下反転を検出したと仮定した場合の検出結果、のうちの少なくとも１つが間違っていると判断する。
【００５４】
第１の追加部分画像の総ポイントと第２の追加部分画像の総ポイントの差の絶対値が所定の範囲未満である場合に、（ｉ）及び（ｉｉ）のうちの少なくとも１つが間違っていると判断するのは以下の理由による。
【００５５】
すなわち、第１の追加部分画像の面積中心と第２の追加部分画像の面積中心の間には距離があり、これらの２つの追加部分画像の図７の領域が通常は異なる。第１の追加部分画像の総ポイントと第２の追加部分画像の総ポイントの差の絶対値は第１の追加部分画像の面積中心と第２の追加部分画像の中心との間の距離を表している（領域が1つずれると５ポイント変わる）。第１の追加部分画像の総ポイントと第２の追加部分画像の総ポイントの差の絶対値が小さすぎるということは第１の追加部分画像と第２の追加部分画像がほとんど同じ部分を撮影して得たものであるということになるため、エラーであると判断する。
【００５６】
第１の追加部分画像の総ポイントと第２の追加部分画像の総ポイントの差の絶対値が所定の範囲を超える場合に、（ｉ）及び（ｉｉ）のうちの少なくとも１つが間違っていると判断するのは以下の理由による。
【００５７】
上記同様に、第１の追加部分画像の総ポイントと第２の追加部分画像の総ポイントの差の絶対値が大きいということは第１の追加部分画像と第２の追加部分画像との間の距離が長いということを表しており、第１の追加部分画像の総ポイントと第２の追加部分画像の総ポイントの差の絶対値が度を越えて大きいということは、撮影画像がおかしいと判断できるからである。
【００５８】
第１の追加部分画像の総ポイントと第２の部分画像の総ポイントの和の絶対値が所定の範囲を超える場合に、エラーであると判断するのは以下の理由による。
【００５９】
何れかの追加部分画像の総ポイントの絶対値が大きいということは、撮影対象であるカードに対する撮像装置の位置が端にずれているということになる。撮影対象であるカードに対する撮像装置の位置が中央であれば、追加部分画像の総ポイントは０になる。ここで、第１の追加部分画像の総ポイントと第２の部分画像の総ポイントの和の絶対値が大きすぎるということは、両方の追加部分画像とも撮影対象であるカードの同じ端を撮影して得られたものであると考えられる。この場合、カードがガイドをはみ出て、カードの可動領域外にあると考えられる。よって、エラーとして排除する。
第１の追加部分画像の総ポイント、初期部分画像の総ポイント及び第２の追加部分画像の総ポイントがこの順又はこれと逆の順に並んでいない場合に、（ｉ）及び（ｉｉ）のうちの少なくとも１つが間違っていると判断するのは、回転角度検出部１３５により検出された回転角度及び上下反転判定部（図示せず）による判定が正しければ、必ず、第１の追加部分画像の総ポイント、初期部分画像の総ポイント及び第２の追加部分画像の総ポイントがこの順又はこれと逆の順に並ぶからである。
【００６０】
判断部１１３は、上記３つのことを判断する代わりに、下記のことを判断しても良い。
【００６１】
すなわち、検出回転角度エラー／上下反転検出結果エラー検出部１４９は、第１の追加部分画像の総ポイントと第２の追加部分画像の総ポイントとの差の絶対値について第１の上限値とその第１の上限値よりも大きい第２の上限値と第１の下限値とその第１の下限値よりも小さい第２の下限値とを設け、第１の追加部分画像の総ポイントと第２の追加部分画像の総ポイントとの和の絶対値について第３の上限値とその第３の上限値よりも大きい第４の上限値と第３の下限値とその第３の下限値よりも小さい第４の下限値とを設け、（１）差の絶対値が第１の上限値を超過し、（２）差の絶対値が第１の下限値を下回り、（３）和の絶対値が第３の上限値を超過し、又は、（４）和の絶対値が第３の下限値を下回っていても、その超過又は下回りの総数（（１）から（４）の何れかに該当する数）が所定数未満であり、且つ、（５）第１の追加部分画像についての総ポイント、初期部分画像についての総ポイント及び第２の追加部分画像についての総ポイントがこの順又はこれと逆の順に並ぶか否かをみる第１の判断を行う。
【００６２】
また、検出回転角度エラー／上下反転検出結果エラー検出部１４９は、（６）差の絶対値が第２の上限値を超過し、（７）差の絶対値が第２の下限値を下回り、又は、（８）和の絶対値が第４の上限値を超過するか否かをみる第２の判断を行う。
【００６３】
検出回転角度エラー／上下反転検出結果エラー検出部１４９は、第１の判断による判断結果が肯定的である場合には、（ｉ）回転角度検出部１３５により検出された回転角度、及び、（ｉｉ）上下反転判定部（図示せず）が上下反転検出／回転角度正誤判定／上下反転検出結果正誤判定用パターンに基づいて画像の上下反転を検出したと仮定した場合の検出結果が正しいと判断する。
【００６４】
また、判断部１１３は、第１の判断による判断結果が否定的である場合（（１）から（４）の何れかに該当する数が諸定数以上であり、又は、（５）が満たされていない場合）には、（ｉ）回転角度検出部１３５により検出された回転角度、及び、（ｉｉ）上下反転判定部（図示せず）が上下反転検出／回転角度正誤判定／上下反転検出結果正誤判定用パターンに基づいて画像の上下反転を検出したと仮定した場合の検出結果、のうちの少なくとも１つが正しくないと判断する。
【００６５】
更に、判断部１１３は、第２の判断による判断結果が肯定的である場合（（６）、（７）又は（８）の何れか１つでも満たされている場合）には、（ｉ）回転角度検出部１３５により検出された回転角度、及び、（ｉｉ）上下反転判定部（図示せず）が上下反転検出／回転角度正誤判定／上下反転検出結果正誤判定用パターンに基づいて画像の上下反転を検出したと仮定した場合の検出結果、のうちの少なくとも１つが正しくないと判断する。
【００６６】
なお、上記の説明では、検出回転角度エラー／上下反転検出結果エラー検出部１４９が利用する追加部分画像の数は２個であるとしたが、例えば、これを４個にしてもよい。この場合、例えば、増加した２つの追加部分画像を、初期部分画像と上記の２つの追加部分画像それぞれとの間に設け、上記の２つの追加部分画像の代わりに、増加した２つの追加部分画像を利用して、上記で説明した判断を行い、上記で説明した判断（＊１）と追加部分画像とを置き換えた場合の上記で説明した判断（＊２）を複合させて最終的な判断を行うようにしても良い。すなわち、例えば、判断（＊１）と判断（＊２）とが共に肯定的である場合に、最終的な判断を肯定的であるようにしても良いし、判断（＊１）と判断（＊２）との少なくとも何れか一方が肯定的である場合に、最終的な判断を肯定的にしても良い。
【００６７】
上述した電子透かし検出装置の動作をまとめたのが図２０及び図２１に示すフローチャートである。図２０を参照すると、まず、初期部分画像抽出部１３１は、入力画像から初期部分画像を抽出する（ステップＳ２３１）。次に、第１フーリエ変換部１３３は、初期部分画像をフーリエ変換する（ステップＳ２３３）。次に、回転角度検出部１３５は、フーリエ変換された初期部分画像を基に、入力画像の回転角度を検出する（ステップＳ２３５）。次に、回転角度検出部１３５が、入力画像の回転角度を検出されたか否かをみて（ステップＳ２３７）、できていない場合には、エラー終了する。次に、追加部分画像抽出部１３７は、入力画像から２以上の偶数個の追加部分画像を抽出する（ステップＳ２３９）。次に、第２フーリエ変換部１３９は、それぞれの追加部分画像をフーリエ変換する（ステップＳ２４１）。次に、回転角度補正部１４１は、初期部分画像とそれぞれの追加部分画像の周波数成分の位置を回転角度検出部１３５で検出された回転角度だけ補正する（ステップＳ２４３）。次に、検出回転角度エラー／上下反転検出結果エラー検出部１４９は、上下反転検出／回転角度正誤判定／上下反転検出結果正誤判定用パターンを用いて、回転角度検出部１３５が検出した画像の回転角度が正しいか否かを判断し、また、上下反転検出／回転角度正誤判定／上下反転検出結果正誤判定用パターンに基づいて、上下反転検出部が入力画像の上下反転検出をおこなっていたと仮定した場合に、その上下反転検出の結果が正しいものとなっていたであろうか否か（潜在的な上下反転検出結果が正しいか否か）を判断する（ステップＳ２４５）。次に、検出された回転角度及び／又は潜在的な上下反転検出結果に誤りがあるか否かを判断する（ステップＳ２４７）。検出された回転角度及び潜在的な上下反転検出結果の少なくとも一方に誤りがあれば、エラー終了する。次に、データパターン検出部１４３は、初期部分画像とそれぞれの追加部分画像からデータパターンを検出する（ステップＳ２４９）。次に、多数決部１４５は、初期部分画像から検出されたデータパターン及びそれぞれの追加部分画像からデータパターンを多数決にかけることにより、最終的なデータパターンを求める（ステップＳ２５１）。過半数のデータパターンが一致していない場合には、エラー終了する。但し、追加部分画像が、例えば、４つある場合には、４以上のデータパターンが一致している場合に、そのデータパターンを最終的なデータパターンとして、そうでない場合に、エラー終了しても良い。
【００６８】
図２１は、データパターン検出部１４３が行うステップＳ２４９の詳細な内容を説明するためのフローチャートである。図２１を参照すると、データパターン検出部１４３は、初期部分画像及びそれぞれの追加部分画像について、ステップＳ２４９−１ＳからステップＳ２４９−１Ｅの間にある処理を行う。
【００６９】
各部分画像について、まず、ハミングチェック部１４３−１は、ハミングチェックを行い、誤りがなければ入力データをそのまま出力し、誤りが１つだけであれば、入力データについて１誤り訂正を行ってからそれを出力する（ステップＳ２４９−３）次に、第１パリティチェック部１４３−３は、第１のパリティを用いて、それぞれの第１のパリティの対象となっているデータについてパリティチェックを行う（ステップＳ２４９−７）。いずれかの第１のパリティを用いたパリティチェックにおいてエラーが検出された場合には、エラーフラグ１をセットする（ステップＳ２４９−９でＹＥＳ）。次に、第２パリティチェック部１４３−５は、第２のパリティを用いて、第１のパリティについてパリティチェックを行う（ステップＳ２４９−１１）。第２のパリティを用いたパリティチェックにおいてエラーが検出された場合には、エラーフラグ２をセットする（ステップＳ２４９−１３）。ステップＳ２４９−９でＮＯであり、且つ、ステップＳ２４９−１３でＮＯである場合には、現在の部分画像についてエラーフラグをリセットし、検出されたデータパターンを出力する（ステップＳ２４９−１７）。ステップＳ２４９−９でＹＥＳであり、又は、ステップＳ２４９−１３でＹＥＳである場合には、現在の部分画像についてエラーフラグをセットする。出力するデータパターンはどのようなものであってもよい。
【００７０】
なお、図示していない上下反転判定部は、上下反転検出／回転角度正誤判定／上下反転検出結果正誤判定用パターンに基づいて、次に述べるような方法で、画像の上下反転を検出する。すなわち、画像が反転していなければ、第１の追加部分画像についての総ポイントはプラスとなり、第２の追加部分画像についての総ポイントはマイナスとなる。反対に、画像が反転していれば、第１の追加部分画像についての総ポイントはマイナスとなり、第２の追加部分画像についての総ポイントはプラスとなる。従って、このような差異を利用して、画像の上下反転を検出することができる。
【００７１】
また、図７に画像を横長の短冊に分割する例を示しているが、縦長の短冊に分割しても良い。この場合、必要に応じて、図８〜１２に示す非ゼロ周波数成分の分布を変えても良い。
【００７２】
また、上記の電子透かし挿入装置の各部及び電子透かし検出装置の各部は、ハードウェアによって実現することもできるが、コンピュータを上記の各部として機能させるためのプログラムを記録媒体から読み込んで実行することによっても実現することができる。
【符号の説明】
【００７３】
１０１  エンコード部
１０３  データパターン配置部
１０５  第１パリティ配置部
１０７  第２パリティ配置部
１０９  検査パリティ配置部
１１１  回転角度検出用パターン配置部
１１３  上下反転検出／回転角度正誤判定／上下反転検出結果正誤判定用パターン配置部
１１５  逆フーリエ変換部
１１７  重畳部
１３１  初期部分画像抽出部
１３３  第１フーリエ変換部
１３５  回転角度検出部
１３７  追加部分画像抽出部
１３９  第２フーリエ変換部
１４１  回転角度補正部
１４３  データパターン検出部
１４５  多数決部
１４７  デコード部
１４９  検出回転角度エラー／上下反転検出結果エラー検出部
【図１】
0005557210.tif 000002
【図２】
0005557210.tif 000003
【図３】
0005557210.tif 000004
【図４】
0005557210.tif 000005
【図５】
0005557210.tif 000006
【図６】
0005557210.tif 000007
【図７】
0005557210.tif 000008
【図８】
0005557210.tif 000009
【図９】
0005557210.tif 000010
【図１０】
0005557210.tif 000011
【図１１】
0005557210.tif 000012
【図１２】
0005557210.tif 000013
【図１３】
0005557210.tif 000014
【図１４】
0005557210.tif 000015
【図１５】
0005557210.tif 000016
【図１６】
0005557210.tif 000017
【図１７】
0005557210.tif 000018
【図１８】
0005557210.tif 000019
【図１９】
0005557210.tif 000020
【図２０】
0005557210.tif 000021
【図２１】
0005557210.tif 000022