説明

埋込情報検出装置、埋込情報検出方法、プログラムおよび記録媒体

【課題】電子的に作製されたコンテンツに埋め込まれた情報を抽出すること。
【解決手段】埋込情報検出装置は、コンテンツ102の部分領域から埋込情報を含む部分情報を抽出し、埋込情報の復号を制御する制御手段110と、制御手段110が抽出した部分情報から埋込情報を構成する複数の符号語を復号する復号手段130と、復号手段130での復号処理が成功した時に、制御手段110に復号処理が終了したことを通知することにより、制御手段110と復号手段130とを非同期で並列処理を実行させ、制御手段110は、部分情報に埋め込まれた埋込情報の復号に成功するまで、部分情報を反復して抽出し、復号手段130に送付する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報埋込技術に関し、より詳細には、電子的に作製されたコンテンツに埋め込まれた情報を抽出する技術に関する。
【背景技術】
【0002】
近年、著作権保護、トレース、偽造防止、改ざん検知、画像検索のためのメタ情報の付加などの目的から、画像、動画などのコンテンツに情報を埋込み抽出する電子透かし技術が検討されている。電子透かし技術において、画像に対して情報を埋込むことにより、画像に埋め込まれた情報(以下、埋込情報として参照する。)の検出性を低下させ、埋込情報の保護を行うことができる。この反面、埋込情報を高い精度で抽出することは、電子透かし技術などの情報埋込技術における重要な課題となっている。
【0003】
従来から検出性の低下による電子透かしのロバスト性を確保しながら、その検出性を改善する検討が行われている。例えば、特開2000−216983号公報(特許文献1)、特開2001−333267号公報(特許文献2)、特開2006−135922号公報(特許文献3)では、情報を繰返し埋込む技術が開示されている。また、特開2002−010058号公報(特許文献4)、特開2000−187441号公報(特許文献5)、特開2004−221715号公報(特許文献6)では、埋込む情報を、誤り訂正符号化する技術が提案されている。
【0004】
これらの技術は、画像に対して情報を埋込む際に、埋込情報を冗長記録することで、検出性を低下させ、電子透かしの耐性を高めるものである。また、埋込情報を冗長記録することは、画像から埋込情報を抽出する場合に、抽出するべき情報よりも多くの情報を検出し、冗長記録されたより少ない情報量の埋込情報を復号する必要があり、情報の埋込および情報の抽出の両方の処理で、画像処理の計算量の点で効率が充分ではないという問題があった。
【発明の概要】
【発明が解決しようとする課題】
【0005】
本発明は、上記従来技術の問題に鑑みてなされたものであり、コンテンツに対して冗長記録された埋込情報が冗長に埋め込まれたコンテンツから情報を抽出する際に、その処理を高速化することを目的とするものである。
【課題を解決するための手段】
【0006】
本発明は、上記課題を解決するために、埋込情報検出装置は、コンテンツの部分領域から埋込情報を含む部分情報を抽出し、埋込情報の復号を制御する制御手段と、制御手段が抽出した部分情報から埋込情報を構成する複数の符号語を復号する復号手段とを備える。復号手段は、復号手段での復号処理が成功した時に、制御手段に復号処理が終了したことを通知することにより、制御手段と前記復号手段とを非同期で並列処理を実行させ、制御手段は、部分情報に埋め込まれた埋込情報の復号に成功するまで、部分情報を反復して抽出し、復号手段に送付することで、冗長記録された埋込情報の検出効率を改善する。
【0007】
また、複数の前記部分情報は、それぞれ同一の埋込情報を含むので復号手段は、制御手段が抽出した複数の部分情報について統計処理を施して符号語を復号することにより、復号エラーによる誤検出の発生を防止する。
【0008】
さらに、復号手段は、部分情報から抽出した特徴量を移動平均するか、部分情報から抽出した特徴量を逐次設定しきい値と比較して符号語を復号し、抽出した複数の前記部分情報について取得した符号語シーケンスの統計処理により、復号すべき符号語を決定することで、検出精度を向上させる。
【0009】
また、復号手段は、部分情報に埋め込まれた埋込情報のエンコード位置を誤り訂正符号として使用する誤り訂正を行い、または抽出した複数の部分情報について得られた符号語シーケンスを誤り訂正符号として使用する誤り訂正を行い、符号語を推定する。
【0010】
本発明によれば、冗長記録された埋込情報の検出効率を改善し、効率的に埋込情報を使用する後続処理を開始させることができる。
【図面の簡単な説明】
【0011】
【図1】本実施形態の埋込情報検出装置100の機能ブロック図。
【図2】実施形態の復号制御部110が実行する処理のフローチャート。
【図3】本実施形態の復号処理部130が実行する復号処理のフローチャート。
【図4】画像400のブロック分割および埋込情報のエンコーディングの実施形態を示した図。
【図5】本実施形態で、ブロックへの埋込情報の復号処理を、そのデータ構造を使用して説明した図。
【図6】本実施形態で、復号部134が誤り訂正復号処理を実行する場合のフローチャート。
【図7】埋込情報検出装置100の他の実施形態を示した図。
【図8】埋込情報検出装置100の他の実施形態を示した図。
【図9】本実施形態の埋込情報検出装置100の並列処理を示す図。
【発明を実施するための形態】
【0012】
以下、実施形態をもって本発明を説明するが、本発明は、後述する実施形態に限定されるものではない。図1は、本実施形態の埋込情報検出装置100の機能ブロック図である。埋込情報検出装置100は、パーソナルコンピュータや、いわゆるMFPとして参照される多機能複写機として構成することができる。埋込情報検出装置100は、シングルコアまたはマルチコアのCPU(中央処理装置)を搭載し、アプリケーション・プログラムを処理する実行空間を提供するRAMやBIOS、初期セットアップコードを登録するROMを実装する。また、埋込情報検出装置100は、ハードディスク装置、CD−ROM、DVDなどの外付け記憶装置などを実装し、画像処理対象のコンテンツや画像処理後のデータを格納する。
【0013】
埋込情報検出装置100は、本実施形態で、制御手段として機能する復号制御部110と、復号手段として機能する復号処理部130とを含んで構成される。埋込情報検出装置100は、画像を含むコンテンツ102を取得し、復号制御部110に渡す。コンテンツ102は、種々の方法で取得することができ、埋込情報検出装置100が、イメージリーダを実装する場合には、コンテンツ102は、イメージリーダから取得することができる。また、埋込情報検出装置100は、外付け記憶装置の記録媒体に格納されたコンテンツ102を読み出して復号制御部110に渡してもよい。また、ウェブページなどから取得したイメージにあっては、ブラウザが管理するバッファメモリに読み込んだ画像を処理対象とすることもできる。
【0014】
復号制御部110は、コンテンツ取得部112と、コンテンツ102から埋込情報を取得する抽出部114と、部分情報書込部116とを含み、コンテンツ102から抽出された部分情報から、埋込情報を復号するため部分情報を、共有メモリ120を介して復号処理部130に渡し、復号処理の実行依頼を行う。さらに、復号制御部110は、終了信号受信部118を含んでいる。終了信号受信部118は、共有メモリ120を介して復号処理部130から復号を終了したことの通知を受領し、復号処理部130における復号処理を終了させ、復号結果を抽出情報140として出力させる。抽出情報140は、埋込情報検出装置100の外部に送信して他機器の制御のために使用することもできるし、埋込情報検出装置100の図示しないモジュール、例えば、印刷制御、記録制御、コンテンツ取得ログ登録などを制御するために使用することができる。なお、本実施形態では、復号制御部110および復号処理部130は、共有メモリ120を介して部分情報または各種通知の授受を行うが、他の実施形態では、共有メモリ120を介さずに、部分情報または各種通知の授受を行うことができる。
【0015】
部分情報書込部116が送出する部分情報は、共有メモリ120に送付され、共用メモリ120は、当該部分情報をバッファリングする。共用メモリ120は、RAMなどを使用して実装され、部分情報を取得した順に先入れ先出し方式で、復号処理部130に渡している。この目的で、共用メモリ120は、FIFOバッファなどとして構成することが好ましい。また、共有メモリ120は、ソフトウェア的に構成する場合、キュークラスなどを使用して実装することができる。また、共用メモリ120は、復号処理部130が復号に成功した段階で、復号処理が終了したことを通知する復号終了信号が通知され、後続する部分情報を廃棄して、メモリ容量を回復させる。
【0016】
復号処理部130は、部分情報を取得して、部分情報が含む可能性のある埋込情報を復号し、復号に成功した場合、埋込情報を、抽出情報140として出力する処理を実行する。復号処理部130は、部分情報読込部132と、復号部134とを含んで構成されている。部分情報読込部132は、共有メモリ120から部分情報を読み出して復号部134に送付する。復号部134は、部分情報をさらに分解して、ブロックを定義し、ブロック単位で符号語識別を実行する。なお、本実施形態では、部分情報は、複数のブロックの集合として定義され、適切な数のブロックが集合して部分情報を与え、当該部分情報は、ブロックごとに埋め込まれた符号語を与える。さらに本実施形態では、ブロックには識別値が割当てられており、識別値を参照して、ブロックから取得された符号語を一定の規則で配列することにより、符号が復号される。復号部134の処理については、より詳細に後述する。
【0017】
さらに、復号処理部130は、判定部136と、終了信号送信部138とを含んでいる。判定部136は、復号部134が復号した符号の復号成功を判定し、復号成功の場合、判定部136は、復号成功を通知する復号成功信号を生成し、終了信号送信部138に送付する。終了信号送信部138は、復号成功信号を受領して、復号終了信号を生成し、復号終了信号を、共有メモリ120を介して復号制御部110の終了信号受信部118に送付して、復号処理を終了させる。判定部136は、復号成功の場合、符号語を設定されたシーケンスで配置し、抽出情報140として出力する。
【0018】
なお、図1に示した復号制御部110および復号処理部130は、ソフトウェア・モジュールとして埋込情報検出装置100内に実装することができる。また、復号制御部110および復号処理部130は、処理速度の点から、復号制御部110および復号処理部130を一体化させたASIC(Application Specific Integrated Circuit)として実装させることもできる。さらに、復号制御部110および復号処理部130は、装置コスト、並列処理性などのCPU能力、メモリ容量などを考慮して適宜選択して実装することができる。また、上述した各機能部は、CPUおよびメモリ上にコンピュータ実行可能なプログラムを展開し、ソフトウェアによりハードウェアを機能させて、コンピュータ上に実現される。
【0019】
図2は、本実施形態の復号制御部110が実行する処理のフローチャートである。図2の処理は、ステップS200から開始し、ステップS201で、コンテンツ取得部112がコンテンツを取得する。取得されるコンテンツは、イメージリーダから取得した画像、ネットワークから取得した画像、あるいは外付け記憶装置の記録媒体から取得した画像でもよい。
【0020】
図2の処理は、ステップS202で、抽出部114が、取得したコンテンツ102を領域認識し、埋込情報を含む領域である部分情報を複数抽出する。部分情報は、複数のブロックの集合として定義されており、さらにブロックは、適切な数の画素ビットから形成される。また、ブロックには、識別値が割当てられており、識別値は、各部分情報について同一のエンコーディング形式でブロックに割当てられている。
【0021】
ステップS203では、部分情報書込部116が、復号処理部130に対して、抽出した部分情報を共有メモリ120に書き込み、ステップS204で、終了信号受信部118が、復号終了信号を受信したか否かを判断する。ステップS204で、終了信号受信部118が復号終了信号を受信したと判断した場合(Yes)、ステップS205で処理を終了する。一方、ステップS204で復号終了信号を受信しない場合(No)、処理をステップS202に戻し、抽出部114が後続する部分情報を抽出し、ステップS203で、部分情報書込部116が、抽出した部分情報を共有メモリ120に書き込み、終了信号受信部118が復号終了信号を受信するまで、処理を反復させる。
【0022】
図3は、本実施形態の復号処理部130が実行する復号処理のフローチャートである。図3の処理は、ステップS300から開始し、ステップS301で、部分情報読込部132が、共有メモリ120から、最も先に登録された部分情報を読み出す。ステップS302では、復号部134が、当該読み出した部分情報についてブロックを構成する画素ビットを識別し、画素ビットの色データのうち、例えば、HSBの輝度データに対応するB値を画素ビット分読み出して輝度平均を計算する。輝度平均を使用するのは、ブロックが再現する色相に応じて、画素ビットの色相データが3原色に対応して大きく相違するため、良好な指標値を与えないためである。
【0023】
輝度平均が計算された後、ステップS303で判定部136が、復号が成功したか否かを判断する。ステップS303で復号が成功した場合(Yes)、ステップS304で、終了信号送信部138が、復号終了信号を生成して、共有メモリ120を介して復号制御部110に送付し、処理をステップS305で終了させる。一方、ステップS303で復号に成功しなかった場合(No)は、処理をステップS301に戻し、部分情報読込部132が、後続する部分情報を共有メモリ120から読み出して、復号が成功するまでステップS302の復号処理を反復する。
【0024】
なお、本実施形態で、復号に成功するとは、符号語が完全に復号できたことを意味し、符号が誤り訂正符号である場合には、誤り訂正に成功し、符号語が完全に再現できたことを意味する。本実施形態では、復号制御部110と復号処理部130とが、非同期に並列に動作することが可能となる。このため、復号処理が成功した時点で双方の機能処理部が動作を終了させることができ、全画像に渡る復号処理を実行することなく、最初に復号が成功した部分情報までの復号処理で符号を再生することができ、処理の並列化を実現でき、さらに、最小限の部分情報の抽出及び復号処理だけで埋込情報の抽出をすることができるので、処理時間を短縮することが可能となる。
【0025】
本実施形態で、非同期とは、復号制御部110および復号処理部130が、互いの動作状態に依存せずに処理を進めることを意味している。復号部134が復号に成功した時点で、復号制御部110と復号処理部130との同期が取られ、処理が終了する。なお、復号制御部110および復号処理部130の並列処理についてはより詳細に後述する。
【0026】
以下、ステップS302の復号処理の詳細について説明する。以下に説明する実施形態では、処理対象の画像をブロック分割し、設定した数のブロックが中ブロックを形成し、この中ブロックが、読み取り単位の部分情報を構成するものとして説明する。また、符号語は、各ブロックについて輝度値を変調させることで埋込みを行い、輝度値の平均値から符号語を復号するものとして説明する。
【0027】
まず、情報の埋込み・抽出処理を概略的に説明する。図4は、画像400のブロック分割および埋込情報のエンコーディングの実施形態を示す。埋込情報は、図4に示した実施形態では、9ビットの符号語として構成されており、各符号語は、x(xは、0または1の二値である。)で示されている。符号語x中、サフィックスを使用して符号語を識別する識別値としている。画像400は、符号語xの埋込対象とされるコンテンツに含まれており、画像400は、ブロック分割され、複数のブロックが集合して中ブロック460、470、480を形成する。図4に示した実施形態では、中ブロックは、9ブロックから構成され、各ブロックに対して符号語が割当てられている。また、中ブロック内のブロックには、エンコード位置Eが割当てられており、符号語xは、対応するエンコード位置Eに埋め込まれる。
【0028】
図4に示した実施形態では、符号語xは、中ブロック内でのエンコード位置Eに対応して埋め込まれる。図4に示した埋込データ450では、エンコード位置Eは、紙面左手上側がi=1とされ、同一行内で紙面右手側に向かって識別値がE=3まで増加し、行を繰り下げて紙面左手側から、E=4、5、6として設定されている。これに対応し埋込データ450は、符号語xが、対応して配置されている。また、図4に示した実施形態では、符号は、i=1〜i=9までの9ビットの符号長とされている。なお、本実施形態では、中ブロックは、n×n(nは、正の整数)である限り、nビットの符号長を使用することができ、また、h×k(h、kは、正の整数)の矩形の中ブロックを使用することができる。また、符号語のエンコード方法は、適宜乱数発生などを使用して符号語xのブロックに対する割当てを指定することができ、特に限定されるものではない。
【0029】
図4には、本実施形態の他のエンコード方法を使用する中ブロック内でのエンコード位置の実施形態を示す。エンコード位置490は、本実施形態で、符号語xのエンコード方式として1〜nまでの重複を排除した乱数発生手法を使用して、符号語xを割当てるべき中ブロック内のエンコード位置Eをスクランブルしている。符号語xは、対応するサフィックスで与えられるエンコード位置Eに埋め込まれ、符号語xが埋め込まれた後の埋込データ495を示す。埋込データ495では、符号語xについてもランダムにスクランブルして配置されており、エンコード位置490のように、中ブロック内のブロックの識別値を、rnd()関数などを使用して割当てることにより、埋込情報の復号耐性を著しく向上させることができる。
【0030】
以下、特徴量としてブロックの輝度を使用し、輝度変調を行うことにより、符号語xの埋込を重畳する処理について説明する。符号語=0が割当てられたブロックについては、ブロックの輝度値を設定量増加させ、符号語=1が割当てられたブロックについては、輝度値を設定量減少させる。例えば、輝度データについて、256階調で設定する場合、ブロック全体の平均輝度に対して適切な割合で増減させることができる。特に限定されるものではないが、ブロックの平均輝度Bavに対して、設定量ΔBを下記式(1)とすることができる。
【0031】
【数1】

上記式(1)中、Aは、適切な変調強度を与えるための正の実数であり、符号語x=0の場合、輝度増加に対応し、符号語x=1の場合、輝度低下に対応する。上述した輝度埋込方法は、単に例示的なものであり、適切な特徴量変調を行うことができる限り、特に上記式(1)に限定されない。
【0032】
このようにして符号語(情報)が埋め込まれた画像から、符号語を復号する処理は、ブロックの輝度値の平均を計算し、設定しきい値TLO=α以下の場合、符号語=0とし、設定しきい値THI=β(>α)以上の場合、符号語=1に復号することで、符号語を復号する。なお、上述した各しきい値は、輝度変調を行う特定の実施形態によって適宜設定することができ、また輝度値の平均の値に対応して変動させることができ、例えばイメージスキャナの走査ピッチムラ、解像度、ディザパターン、または画像圧縮方法などの特性に応じて、符号語0、1の境界領域の幅を考慮して適宜設定することができる。
【0033】
検出されたBavの値が、α<Bav<βの場合、画像の状況によって符号語を直接決定することが不適切な場合もあり、この様な場合のエラー範囲を与える。さらに、符号語の復号を高精度化するため、他の部分情報の同一の対応位置のブロックの判定結果を参照して、例えば埋込情報を生成するための中間調パターンを生成しておく場合などには、複数の部分情報の対応する位置のブロックの輝度値を取得し平均化して統合平均を計算し、当該統合平均を使用して、符号語の復号をより高精度化させることができる。
【0034】
なお、上述した実施形態では、検出されたBavの値がエラー範囲にある場合、さらに後続する部分情報の読み取りを実行し、Bavを移動平均していき、最終的にBav値がエラー範囲から脱した最初の値から符号語を判断して、復号成功信号を生成させ、復号処理を終了させる。この場合、復号された符号を、エンコード方法にしたがってデコードして抽出情報140を生成し、後続する処理に使用させる。例えば、中ブロック内に、紙面左手側から右手側に向かって{123}、{456}、{789}としてエンコードされている場合には、Eで指定されるエンコード位置の符号語xを取得していき、符号{x、x、...、x、x}をデコードする。
【0035】
また、他の実施形態では、複数の部分情報の対応するブロックの輝度値の平均を検査して行き、エラー範囲の平均値が検出された場合に、さらに後続する部分情報を読み込んで復号処理を実行する。そして、ブロックの輝度値の平均が設定回数連続して一定の符号語を与えた場合、設定回数の最後の判断直後、当該連続する符号語の値を当該ブロックの符号語の復号結果として決定することができる。この実施形態の場合、最初にエラー範囲とならなければ最小限の復号処理で終了し、最初にエラー範囲の値が得られた場合に、他の部分情報での発生頻度または発生確率を使用して最小限の復号処理で、符号語xを決定することができる。
【0036】
いずれのエラー判定方法を使用するかについては、埋込情報検出装置100の特定の実装形式や用途、画像特性などに応じて適宜選択することができる。また、埋込情報検出装置100は、両方のエラー判定方法を実装し、適宜切り換えて使用することができる。
【0037】
図5は、本実施形態で、ブロックへの埋込情報の復号処理を、そのデータ構造を使用して説明した図である。図5に示すように、復号処理部130は、復号成功と判定されるまで、部分情報を共有メモリ120から読み込んで、処理対象の部分情報が含むブロックから符号語を復号する。図5には、共有メモリ120に格納される符号語xの復号結果のデータ構造500を示す。
【0038】
共有メモリ120には、部分情報ごとにブロックのエンコード位置510が識別値iにより指定され、これに対応してブロックの輝度値520が、例えば256階調で登録されている。部分情報読込部132は、共有メモリ120の符号x、説明している実施形態では、x〜xまでを1セットとしてデータ読み込みを実行する。復号部134は、復号成功の判定が得られるまで、各ブロックの輝度値を移動平均して、同一エンコード位置に対応する輝度値を統合し、これを変数=統合平均として登録する。
【0039】
図5には、統合平均データ530も示されている。統合平均データ530は、ブロックのエンコード位置を登録するカラム540と、同一のエンコード位置に割当てられるブロックの輝度値を移動平均した値である統合平均を登録するカラム550とを含んでいる。統合平均を計算する実施形態では、統合平均のセットが計算された後、各エンコード位置の統合平均の値が各しきい値α、βと比較され、符号語のビット値を判断する。図5に示した実施形態では、α=120、β=136と設定され、その結果、符号語のビット判定が、符号語データ構造560として生成されている。
【0040】
符号語データ構造560では、エンコード位置を登録するカラム570に対応する符号語の判定値が、カラム580に登録されており、i=3のエンコード位置で、符号語の判定値が判定不可(復号エラー)を与えているのが示されている。符号語判定処理の第1の実施形態では、最後の部分情報まで処理を進めて、復号エラーの判定がなされた場合、符号の判定不可による復号エラーとして、以後の処理を停止させる。
【0041】
また、図5に示す符号語判定処理の第2の実施形態では、復号処理部130は、共有メモリ120から部分情報単位で輝度値を読み出し、読み出すごとに符号語を生成し、カウンタで、符号語出現数をカウントする。また、符号語が一意に決定されないエンコード位置がある場合、設定した回数連続して同一の符号語が出現するまで、部分情報を読み出して符号語を生成する。最終的に同一の符号語が一定回数連続しないと判断された場合、図5の符号語データ構造560のように、各エンコード位置に対応して符号語が判定される。なお、符号語データ構造560で示すように、エンコード位置i=3は、同一の符号語が一定回数連続しないと判断され、判定不可として、復号エラーが登録されている。第1の実施形態および第2の実施形態のいずれの場合でも、復号エラーが発生した場合には、抽出結果140を出力せず、後続する処理を停止させる。
【0042】
図6は、本実施形態で、復号部134が誤り訂正復号処理を実行する場合のフローチャートを示す。図6の処理は、図3の処理のステップS302〜ステップS304に相当する。
【0043】
図6の処理は、ステップS600から開始し、ステップS601で、判定部136が、最終的に復号エラーが登録されたブロックが存在するか否かに基づいて、復号処理が成功したか否かを判断する。ステップS601で復号エラーが登録されたブロックが存在し、復号に失敗したと判断された場合(No)、ステップS602では、復号部134が、誤り訂正符号を復号する処理を実行する。
【0044】
ステップS603で、判定部136が、誤り訂正に成功したことに基づいて復号成功か否かを判定する。誤り訂正に成功した場合(Yes)、判定部136が、復号部134に抽出情報140を出力させ、ステップS604で、判定部136が終了信号送信部138を起動させ、終了信号送信部138が復号終了信号を生成して、共有メモリ120を介して終了信号受信部118に送付する。
【0045】
一方、ステップS601で復号エラーが検出されない場合(Yes)、処理をステップS604に分岐させ、終了信号送信部138が復号終了信号の送信を行い、復号処理を終了させる。なお、他の実施形態では、復号処理が成功した場合に、誤り訂正符号を復号して誤りがないか確認してもよい。
【0046】
一方、ステップS603で、誤り訂正に成功しない場合(No)、ステップS301に戻り、次の部分情報を読み込む。
【0047】
以下、ステップS602における誤り訂正復号処理について説明する。図5の符号語データ構造560の特定ブロック、すなわち、エンコード位置に判定不可のフラグや識別値が登録されていることを検出した場合、復号部134は、誤り訂正復号処理モジュールを呼び出して、誤り訂正復号処理を実行する。誤り訂正復号処理のためのモジュールとしては、シンドロームを使用する復号法、限界距離復号法、ビタビ復号法などを挙げることができるが、本実施形態では、nで与えられる低ビットの符号の復号に、ビタビ復号法を利用する場合について説明する。
【0048】
本実施形態の場合、入力アルファベットは、{0、1}であり、出力アルファベットが{x、...、x}となる。この条件の下で、2入力9出力軟判定回路を構成させ、エンコード位置を条件とする条件付確率P(x|ω)を登録したテーブルを復号部134に実装しておく。そして対数尤度関数L(x|ω)を下記式(2)で定義する。
【0049】
【数2】

【0050】
なお、条件付確率P(x|ω)は、例えば、中ブロックの端部位置にあるブロック、ブロックサイズと主走査・副走査ピッチの関係、圧縮方式などを考慮して、中ブロック内のエンコード位置に依存して予め決定しておき、ルックアップテーブルとしてRAMやROMなどに格納しておくことができる。その後、対数尤度−logP(x|ω)を、トレリス線図の枝値として、対数尤度を最小とする経路を計算し、対数尤度を最小とする経路上のエンコード位置に対応する符号語を、復号エラーが発生したエンコード位置の誤り訂正値として設定することができる。
【0051】
この他、より簡略的な誤り訂正復号方法としては、部分情報の復号処理を都度実行する実施形態にあっては、部分情報の復号処理の対象である特定のブロックについて得られた符号語のシーケンスを誤り訂正符号とし、復号エラーと判断した時点で、当該ブロックについて設定した出現確率を超えて検出された符号語を、誤り訂正値として当該ブロックに割当てることで、誤り訂正処理を実行することができる。なお、本実施形態で使用することができる誤り訂正復号処理については、より詳細には、例えば、今井著、電子情報通信レクチャーシリーズC−1、情報・符号・暗号の理論、電子情報通信学会、コロナ社、2005年9月を参照することができる。
【0052】
図7は、埋込情報検出装置100の他の実施形態を示す。図7に示した埋込情報検出装置100は、部分情報抽出部列700を備えており、部分情報抽出部列700は、複数の部分情報抽出部710〜730を備えている。これらの部分情報抽出部710〜730は、例えば、処理対象画像の縦横ビット数に応じて設定することができる。例えば、画像の横方法または縦方向の全幅にわたり部分情報を取得する場合、縦ラインまたは横ライン単位で部分情報を取得し、それぞれ横方向または縦方向にブロック幅単位でスキップさせながら部分情報を並列取得する。また、他の実施形態では、ハードウェア資源が許容する場合、画像全域をカバーする数の部分情報抽出部を構成させ、一括して画像の部分情報を取得させることができる。各部分情報抽出部710〜730は、設定された縦横ビット数などによって指定された領域の部分情報を並列抽出し、抽出された情報を共有メモリ740のそれぞれ割当てられたアドレス領域に書き込む。
【0053】
また、埋込情報検出装置100は、復号部列750を備えており、復号部列750は、復号部760〜780を含んで構成されている。復号部760、復号部770、復号部780は、共有メモリ740の処理対象アドレス領域から部分情報のデータを読み出して、並列的に処理を実行する。なお、部分情報抽出部710〜730の数と、復号部760〜780の数とは、対応する数構成されていることが並列処理の効率として最大効率を与える。なお、図7に示した実施形態の場合、共有メモリ740は、並列アクセスが許容される限りにおいて、FIFOバッファなどとして構成する必要はなく、読み込み・書き込みのアクセス速度のみを考慮して選択することができる。
【0054】
図8は、本実施形態の埋込情報検出装置100のさらに他の実施形態を示す。図8に示した埋込情報検出装置100は、部分情報抽出部列800と、復号部列850とを備えており、共有メモリ120、740は使用しない。各部分情報抽出部810〜830は、図7で説明した実施形態と同様に、画像に対応して適宜設定することができる。
【0055】
また、埋込情報検出装置100の復号部列850は、説明している実施形態では、部分情報を構成するブロック数に対応する数で構成される。復号部860〜880は、各部分情報抽出部810〜830が抽出した部分情報のうち、特定のブロック情報を取得して、復号処理を実行する。例えば、復号部860は、エンコード位置(i=1)のブロック情報を専ら処理し、復号部870は、エンコード位置(i=2)のブロック情報を専ら処理するように構成することができる。なお、他の実施形態では、各復号部は、複数のエンコード位置のブロック情報を処理可能としてもよい。この場合、適切なバッファメモリを設けることが好ましい。図8に示した実施形態でも、部分情報の取得および復号処理の並列処理性を向上でき、より高効率の復号処理が可能となる。
【0056】
また、本実施形態の埋込情報検出装置100は、符号変調として、輝度値の増減を用いる以外にも、例えば、画像ビットをフーリエ変換し、ブロックごとに空間周波数特性を増減させる方法や、ブロックに対して特定形状のパターンを付加し、または特定形状のパターンでブロックを置換する方法など、種々の方法を用いることができる。上述した変調方法を使用する場合、共有メモリ120、740には、輝度値平均ではなく、各ブロックから得られた周波数情報、パターン情報などの特性値を登録することができる。
【0057】
登録された特性情報を復号する場合は、中ブロック内の同一のエンコード位置におけるブロックの抽出情報の特性値を統計処理し、統計処理後の値を用いて0/1の符号語の判断または判定不可の処理を実行する。誤り訂正復号処理を実行する場合に、特性情報として対数尤度を用いるとき、特性値の統計処理は、各ブロックの対数尤度を加算または減算することで実現できる。
【0058】
また、本実施形態の埋込情報検出装置は、スチル画像に限らず、音声、動画、文書などを複合的に含むマルチメディアコンテンツにおいても、音声であれば時間単位、動画であればフレーム単位、文書あれば構成要素単位などで、埋込情報をコンテンツに埋込むことにより、埋込情報を冗長記録しながら信頼性を向上させつつ、埋込情報の高速・高効率検出が可能となる。
【0059】
図9は、本実施形態の埋込情報検出装置100の並列処理を示す図である。以下、図9を参照して、復号制御部110および復号処理部130の並列処理について説明する。
【0060】
まず、復号制御部110がコンテンツ102を取得して、部分情報を抽出する。復号制御部110は、部分情報の抽出が完了すると、当該部分情報を共有メモリ120に書き込む。復号制御部110は、復号終了信号を受領するまで、部分情報の抽出処理を繰り返し実行する。
【0061】
一方、復号処理部130は、共有メモリ120に最も先に登録された部分情報から順に読込み、当該部分情報に対して復号処理を実施する。復号処理部130は、部分情報の復号処理が成功するまで、復号処理を繰り返し実行する。復号処理部130の復号処理は、復号制御部110の抽出処理と非同期に行われる。
【0062】
復号処理において部分情報の復号が成功すると、復号処理部130は、復号終了信号を、共有メモリ120を介して復号制御部110に送付するとともに、抽出情報を出力して復号処理を終了させる。一方、復号制御部110は、復号終了信号を受領すると、実行している部分情報の抽出処理を終了する。このように、本実施形態では、復号処理部130が符号語の復号に成功した時点で、復号制御部110と復号処理部130との同期が取られ、埋込情報の検出処理が終了する。なお、復号制御部110が総ての部分情報を抽出した後、一定時間が経過しても復号終了信号を受領しない場合には、復号制御部110は、復号処理が失敗したと判断し、復号制御部110および復号処理部130の動作を終了する。
【0063】
本実施形態の上記機能は、アセンブラ、C、C++、Java(登録商標)、Java(登録商標)script、Perl、Rubyなどのレガシープログラミング言語またはオブジェクト指向プログラミング言語などで記述された装置実行可能なプログラムにより実現できる。また、本発明のプログラムは、ハードディスク装置、CD−ROM、MO、フレキシブルディスク、EEPROM、EPROMなどの装置可読な記録媒体に格納して頒布することができ、また他の装置が可能な形式でネットワークを介して伝送することができる。
【0064】
これまで本実施形態につき説明してきたが、本発明は、上述した実施形態に限定されるものではなく、他の実施形態、追加、変更、削除など、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。
【符号の説明】
【0065】
100…埋込情報検出装置、102…コンテンツ、110…復号制御部、112…コンテンツ取得部、114…抽出部、116…部分情報書込部、118…終了信号受信部、120…共有メモリ、130…復号処理部、132…部分情報読込部、134…復号部、136…判定部、138…終了信号送信部、140…抽出情報
【先行技術文献】
【特許文献】
【0066】
【特許文献1】特開2000−216983号公報
【特許文献2】特開2001−333267号公報
【特許文献3】特開2006−135922号公報
【特許文献4】特開2002−010058号公報
【特許文献5】特開2000−187441号公報
【特許文献6】特開2004−221715号公報

【特許請求の範囲】
【請求項1】
コンテンツに冗長に埋め込まれた埋込情報を検出するための埋込情報検出装置であって、
前記コンテンツの部分領域から前記埋込情報を含む部分情報を抽出し、前記埋込情報の復号を制御する制御手段と、
前記制御手段が抽出した前記部分情報から前記埋込情報を構成する複数の符号語を復号する復号手段とを含み、
前記復号手段での復号処理が成功した時に、前記制御手段に前記復号処理が終了したことを通知することにより、前記制御手段と前記復号手段とが非同期で並列処理を実行し、前記制御手段は、前記部分情報に埋め込まれた前記埋込情報の復号に成功するまで、前記部分情報を反復して抽出し、前記復号手段に送付する、埋込情報検出装置。
【請求項2】
複数の前記部分情報は、それぞれ同一の前記埋込情報を含む、請求項1に記載の埋込情報検出装置。
【請求項3】
前記復号手段は、前記制御手段が抽出した複数の前記部分情報について統計処理を施して前記符号語を復号する、請求項2に記載の埋込情報検出装置。
【請求項4】
前記復号手段は、前記部分情報から抽出した特徴量を移動平均して統合特徴量を計算し、前記統合特徴量を設定しきい値と比較して前記符号語を復号する、請求項3に記載の埋込情報検出装置。
【請求項5】
前記復号手段は、前記部分情報から抽出した特徴量を逐次設定しきい値と比較して符号語を復号し、抽出した複数の前記部分情報について取得した符号語シーケンスの統計処理により、復号すべき前記符号語を決定する、請求項3に記載の埋込情報検出装置。
【請求項6】
前記復号手段は、前記部分情報に埋め込まれた前記埋込情報のエンコード位置を誤り訂正符号として使用する誤り訂正を行い、または抽出した複数の前記部分情報について得られた前記符号語シーケンスを誤り訂正符号として使用する誤り訂正を行い、符号語を推定する、請求項4または5に記載の埋込情報検出装置。
【請求項7】
コンテンツに冗長に埋め込まれた埋込情報を検出するための埋込情報検出方法であって、
前記コンテンツの部分領域から前記埋込情報を含む部分情報を抽出するステップと、
抽出した前記部分情報から前記埋込情報を構成する複数の符号語を復号するステップと、
前記部分情報に埋め込まれた前記埋込情報の復号に成功するまで、同一の前記埋込情報を含む前記部分情報を反復して抽出するステップと、
前記部分情報を反復して抽出した場合、抽出した複数の前記部分情報について統計処理を施して前記符号語を復号するステップと、
復号処理の成功により復号処理が終了したことを通知するステップと
を含み、部分情報の抽出処理および抽出した前記部分情報の復号処理とを非同期で並列実行する、埋込情報検出方法。
【請求項8】
前記復号するステップは、前記部分情報に埋め込まれた前記埋込情報のエンコード位置を誤り訂正符号として使用する誤り訂正を行い、または抽出した複数の前記部分情報について得られた符号語シーケンスを誤り訂正符号として使用する誤り訂正を行い、符号語を推定するステップを含む、請求項7に記載の埋込情報検出方法。
【請求項9】
コンピュータが実行する埋込情報検出方法であって、前記コンピュータが、請求項7または8のいずれか1項に記載の各ステップを実行するためのコンピュータ実行可能なプログラム。
【請求項10】
請求項9に記載のプログラムを格納した、コンピュータ可読な記録媒体。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公開番号】特開2010−41710(P2010−41710A)
【公開日】平成22年2月18日(2010.2.18)
【国際特許分類】
【出願番号】特願2009−95740(P2009−95740)
【出願日】平成21年4月10日(2009.4.10)
【出願人】(000006747)株式会社リコー (37,907)
【Fターム(参考)】