(57)【要約】【課題】電子的に作製されたコンテンツに埋め込まれた情報を抽出すること。【解決手段】埋込情報検出装置は、コンテンツ１０２の部分領域から埋込情報を含む部分情報を抽出し、埋込情報の復号を制御する制御手段１１０と、制御手段１１０が抽出した部分情報から埋込情報を構成する複数の符号語を復号する復号手段１３０と、復号手段１３０での復号処理が成功した時に、制御手段１１０に復号処理が終了したことを通知することにより、制御手段１１０と復号手段１３０とを非同期で並列処理を実行させ、制御手段１１０は、部分情報に埋め込まれた埋込情報の復号に成功するまで、部分情報を反復して抽出し、復号手段１３０に送付する。【選択図】  図１
2010041710.tif 000002
【特許請求の範囲】
【請求項１】
コンテンツに冗長に埋め込まれた埋込情報を検出するための埋込情報検出装置であって、
前記コンテンツの部分領域から前記埋込情報を含む部分情報を抽出し、前記埋込情報の復号を制御する制御手段と、
前記制御手段が抽出した前記部分情報から前記埋込情報を構成する複数の符号語を復号する復号手段とを含み、
前記復号手段での復号処理が成功した時に、前記制御手段に前記復号処理が終了したことを通知することにより、前記制御手段と前記復号手段とが非同期で並列処理を実行し、前記制御手段は、前記部分情報に埋め込まれた前記埋込情報の復号に成功するまで、前記部分情報を反復して抽出し、前記復号手段に送付する、埋込情報検出装置。
【請求項２】
複数の前記部分情報は、それぞれ同一の前記埋込情報を含む、請求項１に記載の埋込情報検出装置。
【請求項３】
前記復号手段は、前記制御手段が抽出した複数の前記部分情報について統計処理を施して前記符号語を復号する、請求項２に記載の埋込情報検出装置。
【請求項４】
前記復号手段は、前記部分情報から抽出した特徴量を移動平均して統合特徴量を計算し、前記統合特徴量を設定しきい値と比較して前記符号語を復号する、請求項３に記載の埋込情報検出装置。
【請求項５】
前記復号手段は、前記部分情報から抽出した特徴量を逐次設定しきい値と比較して符号語を復号し、抽出した複数の前記部分情報について取得した符号語シーケンスの統計処理により、復号すべき前記符号語を決定する、請求項３に記載の埋込情報検出装置。
【請求項６】
前記復号手段は、前記部分情報に埋め込まれた前記埋込情報のエンコード位置を誤り訂正符号として使用する誤り訂正を行い、または抽出した複数の前記部分情報について得られた前記符号語シーケンスを誤り訂正符号として使用する誤り訂正を行い、符号語を推定する、請求項４または５に記載の埋込情報検出装置。
【請求項７】
コンテンツに冗長に埋め込まれた埋込情報を検出するための埋込情報検出方法であって、
前記コンテンツの部分領域から前記埋込情報を含む部分情報を抽出するステップと、
抽出した前記部分情報から前記埋込情報を構成する複数の符号語を復号するステップと、
前記部分情報に埋め込まれた前記埋込情報の復号に成功するまで、同一の前記埋込情報を含む前記部分情報を反復して抽出するステップと、
前記部分情報を反復して抽出した場合、抽出した複数の前記部分情報について統計処理を施して前記符号語を復号するステップと、
復号処理の成功により復号処理が終了したことを通知するステップと
を含み、部分情報の抽出処理および抽出した前記部分情報の復号処理とを非同期で並列実行する、埋込情報検出方法。
【請求項８】
前記復号するステップは、前記部分情報に埋め込まれた前記埋込情報のエンコード位置を誤り訂正符号として使用する誤り訂正を行い、または抽出した複数の前記部分情報について得られた符号語シーケンスを誤り訂正符号として使用する誤り訂正を行い、符号語を推定するステップを含む、請求項７に記載の埋込情報検出方法。
【請求項９】
コンピュータが実行する埋込情報検出方法であって、前記コンピュータが、請求項７または８のいずれか１項に記載の各ステップを実行するためのコンピュータ実行可能なプログラム。
【請求項１０】
請求項９に記載のプログラムを格納した、コンピュータ可読な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報埋込技術に関し、より詳細には、電子的に作製されたコンテンツに埋め込まれた情報を抽出する技術に関する。
【背景技術】
【０００２】
近年、著作権保護、トレース、偽造防止、改ざん検知、画像検索のためのメタ情報の付加などの目的から、画像、動画などのコンテンツに情報を埋込み抽出する電子透かし技術が検討されている。電子透かし技術において、画像に対して情報を埋込むことにより、画像に埋め込まれた情報（以下、埋込情報として参照する。）の検出性を低下させ、埋込情報の保護を行うことができる。この反面、埋込情報を高い精度で抽出することは、電子透かし技術などの情報埋込技術における重要な課題となっている。
【０００３】
従来から検出性の低下による電子透かしのロバスト性を確保しながら、その検出性を改善する検討が行われている。例えば、特開２０００−２１６９８３号公報（特許文献１）、特開２００１−３３３２６７号公報（特許文献２）、特開２００６−１３５９２２号公報（特許文献３）では、情報を繰返し埋込む技術が開示されている。また、特開２００２−０１００５８号公報（特許文献４）、特開２０００−１８７４４１号公報（特許文献５）、特開２００４−２２１７１５号公報（特許文献６）では、埋込む情報を、誤り訂正符号化する技術が提案されている。
【０００４】
これらの技術は、画像に対して情報を埋込む際に、埋込情報を冗長記録することで、検出性を低下させ、電子透かしの耐性を高めるものである。また、埋込情報を冗長記録することは、画像から埋込情報を抽出する場合に、抽出するべき情報よりも多くの情報を検出し、冗長記録されたより少ない情報量の埋込情報を復号する必要があり、情報の埋込および情報の抽出の両方の処理で、画像処理の計算量の点で効率が充分ではないという問題があった。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明は、上記従来技術の問題に鑑みてなされたものであり、コンテンツに対して冗長記録された埋込情報が冗長に埋め込まれたコンテンツから情報を抽出する際に、その処理を高速化することを目的とするものである。
【課題を解決するための手段】
【０００６】
本発明は、上記課題を解決するために、埋込情報検出装置は、コンテンツの部分領域から埋込情報を含む部分情報を抽出し、埋込情報の復号を制御する制御手段と、制御手段が抽出した部分情報から埋込情報を構成する複数の符号語を復号する復号手段とを備える。復号手段は、復号手段での復号処理が成功した時に、制御手段に復号処理が終了したことを通知することにより、制御手段と前記復号手段とを非同期で並列処理を実行させ、制御手段は、部分情報に埋め込まれた埋込情報の復号に成功するまで、部分情報を反復して抽出し、復号手段に送付することで、冗長記録された埋込情報の検出効率を改善する。
【０００７】
また、複数の前記部分情報は、それぞれ同一の埋込情報を含むので復号手段は、制御手段が抽出した複数の部分情報について統計処理を施して符号語を復号することにより、復号エラーによる誤検出の発生を防止する。
【０００８】
さらに、復号手段は、部分情報から抽出した特徴量を移動平均するか、部分情報から抽出した特徴量を逐次設定しきい値と比較して符号語を復号し、抽出した複数の前記部分情報について取得した符号語シーケンスの統計処理により、復号すべき符号語を決定することで、検出精度を向上させる。
【０００９】
また、復号手段は、部分情報に埋め込まれた埋込情報のエンコード位置を誤り訂正符号として使用する誤り訂正を行い、または抽出した複数の部分情報について得られた符号語シーケンスを誤り訂正符号として使用する誤り訂正を行い、符号語を推定する。
【００１０】
本発明によれば、冗長記録された埋込情報の検出効率を改善し、効率的に埋込情報を使用する後続処理を開始させることができる。
【図面の簡単な説明】
【００１１】
【図１】本実施形態の埋込情報検出装置１００の機能ブロック図。
【図２】実施形態の復号制御部１１０が実行する処理のフローチャート。
【図３】本実施形態の復号処理部１３０が実行する復号処理のフローチャート。
【図４】画像４００のブロック分割および埋込情報のエンコーディングの実施形態を示した図。
【図５】本実施形態で、ブロックへの埋込情報の復号処理を、そのデータ構造を使用して説明した図。
【図６】本実施形態で、復号部１３４が誤り訂正復号処理を実行する場合のフローチャート。
【図７】埋込情報検出装置１００の他の実施形態を示した図。
【図８】埋込情報検出装置１００の他の実施形態を示した図。
【図９】本実施形態の埋込情報検出装置１００の並列処理を示す図。
【発明を実施するための形態】
【００１２】
以下、実施形態をもって本発明を説明するが、本発明は、後述する実施形態に限定されるものではない。図１は、本実施形態の埋込情報検出装置１００の機能ブロック図である。埋込情報検出装置１００は、パーソナルコンピュータや、いわゆるＭＦＰとして参照される多機能複写機として構成することができる。埋込情報検出装置１００は、シングルコアまたはマルチコアのＣＰＵ（中央処理装置）を搭載し、アプリケーション・プログラムを処理する実行空間を提供するＲＡＭやＢＩＯＳ、初期セットアップコードを登録するＲＯＭを実装する。また、埋込情報検出装置１００は、ハードディスク装置、ＣＤ−ＲＯＭ、ＤＶＤなどの外付け記憶装置などを実装し、画像処理対象のコンテンツや画像処理後のデータを格納する。
【００１３】
埋込情報検出装置１００は、本実施形態で、制御手段として機能する復号制御部１１０と、復号手段として機能する復号処理部１３０とを含んで構成される。埋込情報検出装置１００は、画像を含むコンテンツ１０２を取得し、復号制御部１１０に渡す。コンテンツ１０２は、種々の方法で取得することができ、埋込情報検出装置１００が、イメージリーダを実装する場合には、コンテンツ１０２は、イメージリーダから取得することができる。また、埋込情報検出装置１００は、外付け記憶装置の記録媒体に格納されたコンテンツ１０２を読み出して復号制御部１１０に渡してもよい。また、ウェブページなどから取得したイメージにあっては、ブラウザが管理するバッファメモリに読み込んだ画像を処理対象とすることもできる。
【００１４】
復号制御部１１０は、コンテンツ取得部１１２と、コンテンツ１０２から埋込情報を取得する抽出部１１４と、部分情報書込部１１６とを含み、コンテンツ１０２から抽出された部分情報から、埋込情報を復号するため部分情報を、共有メモリ１２０を介して復号処理部１３０に渡し、復号処理の実行依頼を行う。さらに、復号制御部１１０は、終了信号受信部１１８を含んでいる。終了信号受信部１１８は、共有メモリ１２０を介して復号処理部１３０から復号を終了したことの通知を受領し、復号処理部１３０における復号処理を終了させ、復号結果を抽出情報１４０として出力させる。抽出情報１４０は、埋込情報検出装置１００の外部に送信して他機器の制御のために使用することもできるし、埋込情報検出装置１００の図示しないモジュール、例えば、印刷制御、記録制御、コンテンツ取得ログ登録などを制御するために使用することができる。なお、本実施形態では、復号制御部１１０および復号処理部１３０は、共有メモリ１２０を介して部分情報または各種通知の授受を行うが、他の実施形態では、共有メモリ１２０を介さずに、部分情報または各種通知の授受を行うことができる。
【００１５】
部分情報書込部１１６が送出する部分情報は、共有メモリ１２０に送付され、共用メモリ１２０は、当該部分情報をバッファリングする。共用メモリ１２０は、ＲＡＭなどを使用して実装され、部分情報を取得した順に先入れ先出し方式で、復号処理部１３０に渡している。この目的で、共用メモリ１２０は、ＦＩＦＯバッファなどとして構成することが好ましい。また、共有メモリ１２０は、ソフトウェア的に構成する場合、キュークラスなどを使用して実装することができる。また、共用メモリ１２０は、復号処理部１３０が復号に成功した段階で、復号処理が終了したことを通知する復号終了信号が通知され、後続する部分情報を廃棄して、メモリ容量を回復させる。
【００１６】
復号処理部１３０は、部分情報を取得して、部分情報が含む可能性のある埋込情報を復号し、復号に成功した場合、埋込情報を、抽出情報１４０として出力する処理を実行する。復号処理部１３０は、部分情報読込部１３２と、復号部１３４とを含んで構成されている。部分情報読込部１３２は、共有メモリ１２０から部分情報を読み出して復号部１３４に送付する。復号部１３４は、部分情報をさらに分解して、ブロックを定義し、ブロック単位で符号語識別を実行する。なお、本実施形態では、部分情報は、複数のブロックの集合として定義され、適切な数のブロックが集合して部分情報を与え、当該部分情報は、ブロックごとに埋め込まれた符号語を与える。さらに本実施形態では、ブロックには識別値が割当てられており、識別値を参照して、ブロックから取得された符号語を一定の規則で配列することにより、符号が復号される。復号部１３４の処理については、より詳細に後述する。
【００１７】
さらに、復号処理部１３０は、判定部１３６と、終了信号送信部１３８とを含んでいる。判定部１３６は、復号部１３４が復号した符号の復号成功を判定し、復号成功の場合、判定部１３６は、復号成功を通知する復号成功信号を生成し、終了信号送信部１３８に送付する。終了信号送信部１３８は、復号成功信号を受領して、復号終了信号を生成し、復号終了信号を、共有メモリ１２０を介して復号制御部１１０の終了信号受信部１１８に送付して、復号処理を終了させる。判定部１３６は、復号成功の場合、符号語を設定されたシーケンスで配置し、抽出情報１４０として出力する。
【００１８】
なお、図１に示した復号制御部１１０および復号処理部１３０は、ソフトウェア・モジュールとして埋込情報検出装置１００内に実装することができる。また、復号制御部１１０および復号処理部１３０は、処理速度の点から、復号制御部１１０および復号処理部１３０を一体化させたＡＳＩＣ(Application Specific Integrated Circuit)として実装させることもできる。さらに、復号制御部１１０および復号処理部１３０は、装置コスト、並列処理性などのＣＰＵ能力、メモリ容量などを考慮して適宜選択して実装することができる。また、上述した各機能部は、ＣＰＵおよびメモリ上にコンピュータ実行可能なプログラムを展開し、ソフトウェアによりハードウェアを機能させて、コンピュータ上に実現される。
【００１９】
図２は、本実施形態の復号制御部１１０が実行する処理のフローチャートである。図２の処理は、ステップＳ２００から開始し、ステップＳ２０１で、コンテンツ取得部１１２がコンテンツを取得する。取得されるコンテンツは、イメージリーダから取得した画像、ネットワークから取得した画像、あるいは外付け記憶装置の記録媒体から取得した画像でもよい。
【００２０】
図２の処理は、ステップＳ２０２で、抽出部１１４が、取得したコンテンツ１０２を領域認識し、埋込情報を含む領域である部分情報を複数抽出する。部分情報は、複数のブロックの集合として定義されており、さらにブロックは、適切な数の画素ビットから形成される。また、ブロックには、識別値が割当てられており、識別値は、各部分情報について同一のエンコーディング形式でブロックに割当てられている。
【００２１】
ステップＳ２０３では、部分情報書込部１１６が、復号処理部１３０に対して、抽出した部分情報を共有メモリ１２０に書き込み、ステップＳ２０４で、終了信号受信部１１８が、復号終了信号を受信したか否かを判断する。ステップＳ２０４で、終了信号受信部１１８が復号終了信号を受信したと判断した場合（Ｙｅｓ）、ステップＳ２０５で処理を終了する。一方、ステップＳ２０４で復号終了信号を受信しない場合（Ｎｏ）、処理をステップＳ２０２に戻し、抽出部１１４が後続する部分情報を抽出し、ステップＳ２０３で、部分情報書込部１１６が、抽出した部分情報を共有メモリ１２０に書き込み、終了信号受信部１１８が復号終了信号を受信するまで、処理を反復させる。
【００２２】
図３は、本実施形態の復号処理部１３０が実行する復号処理のフローチャートである。図３の処理は、ステップＳ３００から開始し、ステップＳ３０１で、部分情報読込部１３２が、共有メモリ１２０から、最も先に登録された部分情報を読み出す。ステップＳ３０２では、復号部１３４が、当該読み出した部分情報についてブロックを構成する画素ビットを識別し、画素ビットの色データのうち、例えば、ＨＳＢの輝度データに対応するＢ値を画素ビット分読み出して輝度平均を計算する。輝度平均を使用するのは、ブロックが再現する色相に応じて、画素ビットの色相データが３原色に対応して大きく相違するため、良好な指標値を与えないためである。
【００２３】
輝度平均が計算された後、ステップＳ３０３で判定部１３６が、復号が成功したか否かを判断する。ステップＳ３０３で復号が成功した場合（Ｙｅｓ）、ステップＳ３０４で、終了信号送信部１３８が、復号終了信号を生成して、共有メモリ１２０を介して復号制御部１１０に送付し、処理をステップＳ３０５で終了させる。一方、ステップＳ３０３で復号に成功しなかった場合（Ｎｏ）は、処理をステップＳ３０１に戻し、部分情報読込部１３２が、後続する部分情報を共有メモリ１２０から読み出して、復号が成功するまでステップＳ３０２の復号処理を反復する。
【００２４】
なお、本実施形態で、復号に成功するとは、符号語が完全に復号できたことを意味し、符号が誤り訂正符号である場合には、誤り訂正に成功し、符号語が完全に再現できたことを意味する。本実施形態では、復号制御部１１０と復号処理部１３０とが、非同期に並列に動作することが可能となる。このため、復号処理が成功した時点で双方の機能処理部が動作を終了させることができ、全画像に渡る復号処理を実行することなく、最初に復号が成功した部分情報までの復号処理で符号を再生することができ、処理の並列化を実現でき、さらに、最小限の部分情報の抽出及び復号処理だけで埋込情報の抽出をすることができるので、処理時間を短縮することが可能となる。
【００２５】
本実施形態で、非同期とは、復号制御部１１０および復号処理部１３０が、互いの動作状態に依存せずに処理を進めることを意味している。復号部１３４が復号に成功した時点で、復号制御部１１０と復号処理部１３０との同期が取られ、処理が終了する。なお、復号制御部１１０および復号処理部１３０の並列処理についてはより詳細に後述する。
【００２６】
以下、ステップＳ３０２の復号処理の詳細について説明する。以下に説明する実施形態では、処理対象の画像をブロック分割し、設定した数のブロックが中ブロックを形成し、この中ブロックが、読み取り単位の部分情報を構成するものとして説明する。また、符号語は、各ブロックについて輝度値を変調させることで埋込みを行い、輝度値の平均値から符号語を復号するものとして説明する。
【００２７】
まず、情報の埋込み・抽出処理を概略的に説明する。図４は、画像４００のブロック分割および埋込情報のエンコーディングの実施形態を示す。埋込情報は、図４に示した実施形態では、９ビットの符号語として構成されており、各符号語は、ｘｉ（ｘｉは、０または１の二値である。）で示されている。符号語ｘｉ中、サフィックスを使用して符号語を識別する識別値としている。画像４００は、符号語ｘｉの埋込対象とされるコンテンツに含まれており、画像４００は、ブロック分割され、複数のブロックが集合して中ブロック４６０、４７０、４８０を形成する。図４に示した実施形態では、中ブロックは、９ブロックから構成され、各ブロックに対して符号語が割当てられている。また、中ブロック内のブロックには、エンコード位置Ｅｉが割当てられており、符号語ｘｉは、対応するエンコード位置Ｅｉに埋め込まれる。
【００２８】
図４に示した実施形態では、符号語ｘｉは、中ブロック内でのエンコード位置Ｅｉに対応して埋め込まれる。図４に示した埋込データ４５０では、エンコード位置Ｅｉは、紙面左手上側がｉ＝１とされ、同一行内で紙面右手側に向かって識別値がＥｉ＝３まで増加し、行を繰り下げて紙面左手側から、Ｅｉ＝４、５、６として設定されている。これに対応し埋込データ４５０は、符号語ｘｉが、対応して配置されている。また、図４に示した実施形態では、符号は、ｉ＝１〜ｉ＝９までの９ビットの符号長とされている。なお、本実施形態では、中ブロックは、ｎ×ｎ（ｎは、正の整数）である限り、ｎ２ビットの符号長を使用することができ、また、ｈ×ｋ（ｈ、ｋは、正の整数）の矩形の中ブロックを使用することができる。また、符号語のエンコード方法は、適宜乱数発生などを使用して符号語ｘｉのブロックに対する割当てを指定することができ、特に限定されるものではない。
【００２９】
図４には、本実施形態の他のエンコード方法を使用する中ブロック内でのエンコード位置の実施形態を示す。エンコード位置４９０は、本実施形態で、符号語ｘｉのエンコード方式として１〜ｎ２までの重複を排除した乱数発生手法を使用して、符号語ｘｉを割当てるべき中ブロック内のエンコード位置Ｅｉをスクランブルしている。符号語ｘｉは、対応するサフィックスで与えられるエンコード位置Ｅｉに埋め込まれ、符号語ｘｉが埋め込まれた後の埋込データ４９５を示す。埋込データ４９５では、符号語ｘｉについてもランダムにスクランブルして配置されており、エンコード位置４９０のように、中ブロック内のブロックの識別値を、ｒｎｄ（）関数などを使用して割当てることにより、埋込情報の復号耐性を著しく向上させることができる。
【００３０】
以下、特徴量としてブロックの輝度を使用し、輝度変調を行うことにより、符号語ｘｉの埋込を重畳する処理について説明する。符号語＝０が割当てられたブロックについては、ブロックの輝度値を設定量増加させ、符号語＝１が割当てられたブロックについては、輝度値を設定量減少させる。例えば、輝度データについて、２５６階調で設定する場合、ブロック全体の平均輝度に対して適切な割合で増減させることができる。特に限定されるものではないが、ブロックの平均輝度Ｂａｖに対して、設定量ΔＢを下記式（１）とすることができる。
【００３１】
【数１】
2010041710.tif 000003
上記式（１）中、Ａは、適切な変調強度を与えるための正の実数であり、符号語ｘｉ＝０の場合、輝度増加に対応し、符号語ｘｉ＝１の場合、輝度低下に対応する。上述した輝度埋込方法は、単に例示的なものであり、適切な特徴量変調を行うことができる限り、特に上記式（１）に限定されない。
【００３２】
このようにして符号語（情報）が埋め込まれた画像から、符号語を復号する処理は、ブロックの輝度値の平均を計算し、設定しきい値ＴＬＯ＝α以下の場合、符号語＝０とし、設定しきい値ＴＨＩ＝β（＞α）以上の場合、符号語＝１に復号することで、符号語を復号する。なお、上述した各しきい値は、輝度変調を行う特定の実施形態によって適宜設定することができ、また輝度値の平均の値に対応して変動させることができ、例えばイメージスキャナの走査ピッチムラ、解像度、ディザパターン、または画像圧縮方法などの特性に応じて、符号語０、１の境界領域の幅を考慮して適宜設定することができる。
【００３３】
検出されたＢａｖの値が、α＜Ｂａｖ＜βの場合、画像の状況によって符号語を直接決定することが不適切な場合もあり、この様な場合のエラー範囲を与える。さらに、符号語の復号を高精度化するため、他の部分情報の同一の対応位置のブロックの判定結果を参照して、例えば埋込情報を生成するための中間調パターンを生成しておく場合などには、複数の部分情報の対応する位置のブロックの輝度値を取得し平均化して統合平均を計算し、当該統合平均を使用して、符号語の復号をより高精度化させることができる。
【００３４】
なお、上述した実施形態では、検出されたＢａｖの値がエラー範囲にある場合、さらに後続する部分情報の読み取りを実行し、Ｂａｖを移動平均していき、最終的にＢａｖ値がエラー範囲から脱した最初の値から符号語を判断して、復号成功信号を生成させ、復号処理を終了させる。この場合、復号された符号を、エンコード方法にしたがってデコードして抽出情報１４０を生成し、後続する処理に使用させる。例えば、中ブロック内に、紙面左手側から右手側に向かって｛１２３｝、｛４５６｝、｛７８９｝としてエンコードされている場合には、Ｅｉで指定されるエンコード位置の符号語ｘｉを取得していき、符号｛ｘ１、ｘ２、．．．、ｘ８、ｘ９｝をデコードする。
【００３５】
また、他の実施形態では、複数の部分情報の対応するブロックの輝度値の平均を検査して行き、エラー範囲の平均値が検出された場合に、さらに後続する部分情報を読み込んで復号処理を実行する。そして、ブロックの輝度値の平均が設定回数連続して一定の符号語を与えた場合、設定回数の最後の判断直後、当該連続する符号語の値を当該ブロックの符号語の復号結果として決定することができる。この実施形態の場合、最初にエラー範囲とならなければ最小限の復号処理で終了し、最初にエラー範囲の値が得られた場合に、他の部分情報での発生頻度または発生確率を使用して最小限の復号処理で、符号語ｘｉを決定することができる。
【００３６】
いずれのエラー判定方法を使用するかについては、埋込情報検出装置１００の特定の実装形式や用途、画像特性などに応じて適宜選択することができる。また、埋込情報検出装置１００は、両方のエラー判定方法を実装し、適宜切り換えて使用することができる。
【００３７】
図５は、本実施形態で、ブロックへの埋込情報の復号処理を、そのデータ構造を使用して説明した図である。図５に示すように、復号処理部１３０は、復号成功と判定されるまで、部分情報を共有メモリ１２０から読み込んで、処理対象の部分情報が含むブロックから符号語を復号する。図５には、共有メモリ１２０に格納される符号語ｘｉの復号結果のデータ構造５００を示す。
【００３８】
共有メモリ１２０には、部分情報ごとにブロックのエンコード位置５１０が識別値ｉにより指定され、これに対応してブロックの輝度値５２０が、例えば２５６階調で登録されている。部分情報読込部１３２は、共有メモリ１２０の符号ｘｉ、説明している実施形態では、ｘ１〜ｘ９までを１セットとしてデータ読み込みを実行する。復号部１３４は、復号成功の判定が得られるまで、各ブロックの輝度値を移動平均して、同一エンコード位置に対応する輝度値を統合し、これを変数＝統合平均として登録する。
【００３９】
図５には、統合平均データ５３０も示されている。統合平均データ５３０は、ブロックのエンコード位置を登録するカラム５４０と、同一のエンコード位置に割当てられるブロックの輝度値を移動平均した値である統合平均を登録するカラム５５０とを含んでいる。統合平均を計算する実施形態では、統合平均のセットが計算された後、各エンコード位置の統合平均の値が各しきい値α、βと比較され、符号語のビット値を判断する。図５に示した実施形態では、α＝１２０、β＝１３６と設定され、その結果、符号語のビット判定が、符号語データ構造５６０として生成されている。
【００４０】
符号語データ構造５６０では、エンコード位置を登録するカラム５７０に対応する符号語の判定値が、カラム５８０に登録されており、ｉ＝３のエンコード位置で、符号語の判定値が判定不可（復号エラー）を与えているのが示されている。符号語判定処理の第１の実施形態では、最後の部分情報まで処理を進めて、復号エラーの判定がなされた場合、符号の判定不可による復号エラーとして、以後の処理を停止させる。
【００４１】
また、図５に示す符号語判定処理の第２の実施形態では、復号処理部１３０は、共有メモリ１２０から部分情報単位で輝度値を読み出し、読み出すごとに符号語を生成し、カウンタで、符号語出現数をカウントする。また、符号語が一意に決定されないエンコード位置がある場合、設定した回数連続して同一の符号語が出現するまで、部分情報を読み出して符号語を生成する。最終的に同一の符号語が一定回数連続しないと判断された場合、図５の符号語データ構造５６０のように、各エンコード位置に対応して符号語が判定される。なお、符号語データ構造５６０で示すように、エンコード位置ｉ＝３は、同一の符号語が一定回数連続しないと判断され、判定不可として、復号エラーが登録されている。第１の実施形態および第２の実施形態のいずれの場合でも、復号エラーが発生した場合には、抽出結果１４０を出力せず、後続する処理を停止させる。
【００４２】
図６は、本実施形態で、復号部１３４が誤り訂正復号処理を実行する場合のフローチャートを示す。図６の処理は、図３の処理のステップＳ３０２〜ステップＳ３０４に相当する。
【００４３】
図６の処理は、ステップＳ６００から開始し、ステップＳ６０１で、判定部１３６が、最終的に復号エラーが登録されたブロックが存在するか否かに基づいて、復号処理が成功したか否かを判断する。ステップＳ６０１で復号エラーが登録されたブロックが存在し、復号に失敗したと判断された場合（Ｎｏ）、ステップＳ６０２では、復号部１３４が、誤り訂正符号を復号する処理を実行する。
【００４４】
ステップＳ６０３で、判定部１３６が、誤り訂正に成功したことに基づいて復号成功か否かを判定する。誤り訂正に成功した場合（Ｙｅｓ）、判定部１３６が、復号部１３４に抽出情報１４０を出力させ、ステップＳ６０４で、判定部１３６が終了信号送信部１３８を起動させ、終了信号送信部１３８が復号終了信号を生成して、共有メモリ１２０を介して終了信号受信部１１８に送付する。
【００４５】
一方、ステップＳ６０１で復号エラーが検出されない場合（Ｙｅｓ）、処理をステップＳ６０４に分岐させ、終了信号送信部１３８が復号終了信号の送信を行い、復号処理を終了させる。なお、他の実施形態では、復号処理が成功した場合に、誤り訂正符号を復号して誤りがないか確認してもよい。
【００４６】
一方、ステップＳ６０３で、誤り訂正に成功しない場合（Ｎｏ）、ステップＳ３０１に戻り、次の部分情報を読み込む。
【００４７】
以下、ステップＳ６０２における誤り訂正復号処理について説明する。図５の符号語データ構造５６０の特定ブロック、すなわち、エンコード位置に判定不可のフラグや識別値が登録されていることを検出した場合、復号部１３４は、誤り訂正復号処理モジュールを呼び出して、誤り訂正復号処理を実行する。誤り訂正復号処理のためのモジュールとしては、シンドロームを使用する復号法、限界距離復号法、ビタビ復号法などを挙げることができるが、本実施形態では、ｎ２で与えられる低ビットの符号の復号に、ビタビ復号法を利用する場合について説明する。
【００４８】
本実施形態の場合、入力アルファベットは、｛０、１｝であり、出力アルファベットが｛ｘ１、．．．、ｘ９｝となる。この条件の下で、２入力９出力軟判定回路を構成させ、エンコード位置を条件とする条件付確率Ｐ（ｘｉ｜ωｉ）を登録したテーブルを復号部１３４に実装しておく。そして対数尤度関数Ｌ（ｘ｜ω）を下記式（２）で定義する。
【００４９】
【数２】
2010041710.tif 000004
【００５０】
なお、条件付確率Ｐ（ｘｉ｜ωｉ）は、例えば、中ブロックの端部位置にあるブロック、ブロックサイズと主走査・副走査ピッチの関係、圧縮方式などを考慮して、中ブロック内のエンコード位置に依存して予め決定しておき、ルックアップテーブルとしてＲＡＭやＲＯＭなどに格納しておくことができる。その後、対数尤度−ｌｏｇＰ（ｘｉ｜ωｉ）を、トレリス線図の枝値として、対数尤度を最小とする経路を計算し、対数尤度を最小とする経路上のエンコード位置に対応する符号語を、復号エラーが発生したエンコード位置の誤り訂正値として設定することができる。
【００５１】
この他、より簡略的な誤り訂正復号方法としては、部分情報の復号処理を都度実行する実施形態にあっては、部分情報の復号処理の対象である特定のブロックについて得られた符号語のシーケンスを誤り訂正符号とし、復号エラーと判断した時点で、当該ブロックについて設定した出現確率を超えて検出された符号語を、誤り訂正値として当該ブロックに割当てることで、誤り訂正処理を実行することができる。なお、本実施形態で使用することができる誤り訂正復号処理については、より詳細には、例えば、今井著、電子情報通信レクチャーシリーズＣ−１、情報・符号・暗号の理論、電子情報通信学会、コロナ社、２００５年９月を参照することができる。
【００５２】
図７は、埋込情報検出装置１００の他の実施形態を示す。図７に示した埋込情報検出装置１００は、部分情報抽出部列７００を備えており、部分情報抽出部列７００は、複数の部分情報抽出部７１０〜７３０を備えている。これらの部分情報抽出部７１０〜７３０は、例えば、処理対象画像の縦横ビット数に応じて設定することができる。例えば、画像の横方法または縦方向の全幅にわたり部分情報を取得する場合、縦ラインまたは横ライン単位で部分情報を取得し、それぞれ横方向または縦方向にブロック幅単位でスキップさせながら部分情報を並列取得する。また、他の実施形態では、ハードウェア資源が許容する場合、画像全域をカバーする数の部分情報抽出部を構成させ、一括して画像の部分情報を取得させることができる。各部分情報抽出部７１０〜７３０は、設定された縦横ビット数などによって指定された領域の部分情報を並列抽出し、抽出された情報を共有メモリ７４０のそれぞれ割当てられたアドレス領域に書き込む。
【００５３】
また、埋込情報検出装置１００は、復号部列７５０を備えており、復号部列７５０は、復号部７６０〜７８０を含んで構成されている。復号部７６０、復号部７７０、復号部７８０は、共有メモリ７４０の処理対象アドレス領域から部分情報のデータを読み出して、並列的に処理を実行する。なお、部分情報抽出部７１０〜７３０の数と、復号部７６０〜７８０の数とは、対応する数構成されていることが並列処理の効率として最大効率を与える。なお、図７に示した実施形態の場合、共有メモリ７４０は、並列アクセスが許容される限りにおいて、ＦＩＦＯバッファなどとして構成する必要はなく、読み込み・書き込みのアクセス速度のみを考慮して選択することができる。
【００５４】
図８は、本実施形態の埋込情報検出装置１００のさらに他の実施形態を示す。図８に示した埋込情報検出装置１００は、部分情報抽出部列８００と、復号部列８５０とを備えており、共有メモリ１２０、７４０は使用しない。各部分情報抽出部８１０〜８３０は、図７で説明した実施形態と同様に、画像に対応して適宜設定することができる。
【００５５】
また、埋込情報検出装置１００の復号部列８５０は、説明している実施形態では、部分情報を構成するブロック数に対応する数で構成される。復号部８６０〜８８０は、各部分情報抽出部８１０〜８３０が抽出した部分情報のうち、特定のブロック情報を取得して、復号処理を実行する。例えば、復号部８６０は、エンコード位置（ｉ＝１）のブロック情報を専ら処理し、復号部８７０は、エンコード位置（ｉ＝２）のブロック情報を専ら処理するように構成することができる。なお、他の実施形態では、各復号部は、複数のエンコード位置のブロック情報を処理可能としてもよい。この場合、適切なバッファメモリを設けることが好ましい。図８に示した実施形態でも、部分情報の取得および復号処理の並列処理性を向上でき、より高効率の復号処理が可能となる。
【００５６】
また、本実施形態の埋込情報検出装置１００は、符号変調として、輝度値の増減を用いる以外にも、例えば、画像ビットをフーリエ変換し、ブロックごとに空間周波数特性を増減させる方法や、ブロックに対して特定形状のパターンを付加し、または特定形状のパターンでブロックを置換する方法など、種々の方法を用いることができる。上述した変調方法を使用する場合、共有メモリ１２０、７４０には、輝度値平均ではなく、各ブロックから得られた周波数情報、パターン情報などの特性値を登録することができる。
【００５７】
登録された特性情報を復号する場合は、中ブロック内の同一のエンコード位置におけるブロックの抽出情報の特性値を統計処理し、統計処理後の値を用いて０／１の符号語の判断または判定不可の処理を実行する。誤り訂正復号処理を実行する場合に、特性情報として対数尤度を用いるとき、特性値の統計処理は、各ブロックの対数尤度を加算または減算することで実現できる。
【００５８】
また、本実施形態の埋込情報検出装置は、スチル画像に限らず、音声、動画、文書などを複合的に含むマルチメディアコンテンツにおいても、音声であれば時間単位、動画であればフレーム単位、文書あれば構成要素単位などで、埋込情報をコンテンツに埋込むことにより、埋込情報を冗長記録しながら信頼性を向上させつつ、埋込情報の高速・高効率検出が可能となる。
【００５９】
図９は、本実施形態の埋込情報検出装置１００の並列処理を示す図である。以下、図９を参照して、復号制御部１１０および復号処理部１３０の並列処理について説明する。
【００６０】
まず、復号制御部１１０がコンテンツ１０２を取得して、部分情報を抽出する。復号制御部１１０は、部分情報の抽出が完了すると、当該部分情報を共有メモリ１２０に書き込む。復号制御部１１０は、復号終了信号を受領するまで、部分情報の抽出処理を繰り返し実行する。
【００６１】
一方、復号処理部１３０は、共有メモリ１２０に最も先に登録された部分情報から順に読込み、当該部分情報に対して復号処理を実施する。復号処理部１３０は、部分情報の復号処理が成功するまで、復号処理を繰り返し実行する。復号処理部１３０の復号処理は、復号制御部１１０の抽出処理と非同期に行われる。
【００６２】
復号処理において部分情報の復号が成功すると、復号処理部１３０は、復号終了信号を、共有メモリ１２０を介して復号制御部１１０に送付するとともに、抽出情報を出力して復号処理を終了させる。一方、復号制御部１１０は、復号終了信号を受領すると、実行している部分情報の抽出処理を終了する。このように、本実施形態では、復号処理部１３０が符号語の復号に成功した時点で、復号制御部１１０と復号処理部１３０との同期が取られ、埋込情報の検出処理が終了する。なお、復号制御部１１０が総ての部分情報を抽出した後、一定時間が経過しても復号終了信号を受領しない場合には、復号制御部１１０は、復号処理が失敗したと判断し、復号制御部１１０および復号処理部１３０の動作を終了する。
【００６３】
本実施形態の上記機能は、アセンブラ、Ｃ、Ｃ＋＋、Ｊａｖａ（登録商標）、Ｊａｖａ（登録商標）ｓｃｒｉｐｔ、Ｐｅｒｌ、Ｒｕｂｙなどのレガシープログラミング言語またはオブジェクト指向プログラミング言語などで記述された装置実行可能なプログラムにより実現できる。また、本発明のプログラムは、ハードディスク装置、ＣＤ−ＲＯＭ、ＭＯ、フレキシブルディスク、ＥＥＰＲＯＭ、ＥＰＲＯＭなどの装置可読な記録媒体に格納して頒布することができ、また他の装置が可能な形式でネットワークを介して伝送することができる。
【００６４】
これまで本実施形態につき説明してきたが、本発明は、上述した実施形態に限定されるものではなく、他の実施形態、追加、変更、削除など、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。
【符号の説明】
【００６５】
１００…埋込情報検出装置、１０２…コンテンツ、１１０…復号制御部、１１２…コンテンツ取得部、１１４…抽出部、１１６…部分情報書込部、１１８…終了信号受信部、１２０…共有メモリ、１３０…復号処理部、１３２…部分情報読込部、１３４…復号部、１３６…判定部、１３８…終了信号送信部、１４０…抽出情報
【先行技術文献】
【特許文献】
【００６６】
【特許文献１】特開２０００−２１６９８３号公報
【特許文献２】特開２００１−３３３２６７号公報
【特許文献３】特開２００６−１３５９２２号公報
【特許文献４】特開２００２−０１００５８号公報
【特許文献５】特開２０００−１８７４４１号公報
【特許文献６】特開２００４−２２１７１５号公報
【図１】
2010041710.tif 000005
【図２】
2010041710.tif 000006
【図３】
2010041710.tif 000007
【図４】
2010041710.tif 000008
【図５】
2010041710.tif 000009
【図６】
2010041710.tif 000010
【図７】
2010041710.tif 000011
【図８】
2010041710.tif 000012
【図９】
2010041710.tif 000013