(57)【特許請求の範囲】
【請求項１】
少なくとも１つの同期シンボルと複数のデータシンボルとで構成された電子透かし情報が一定周期で繰り返し埋め込まれたキャリア信号のサンプル列を受け取り、前記サンプル列をフレームに区切りながらフレーム毎に前記同期シンボルとの相関度を算出し、前記サンプル列の後方に向けて前記電子透かし情報の埋め込み位置の探索を行った場合に最初に見つかる電子透かし情報の同期シンボルの概略的な埋め込み位置を各フレームについて算出される前記相関度に基づいて特定する概略探索処理と、前記最初に見つかる電子透かし情報については、前記概略探索処理により特定された概略的な埋め込み位置周辺のサンプル列から切り出し位置を小刻みにシフトさせつつ切り出した各フレームについて前記同期シンボルとの相関度を算出しその算出結果に基づいて同期シンボルの埋め込み位置を特定する一方、その他の電子透かし情報については、１つ手前の電子透かし情報について特定した同期シンボルの埋め込み位置から前記一定周期に応じたサンプル数分だけ後方の位置周辺のサンプル列から切り出し位置を小刻みにシフトさせつつ切り出した各フレームについて前記同期シンボルとの相関度を算出しその算出結果に基づいてその埋め込み位置を特定する詳細探索処理と、を実行する探索手段と、
前記探索手段により電子透かし情報毎に特定された同期シンボルの埋め込み位置の各々に関して、当該埋め込み位置以降のサンプル列をフレームに区切りながらフレーム毎に前記データシンボルとの相関度を算出し、その算出結果に基づいて各フレームに含まれているデータシンボルを抽出する抽出手段と、
を有することを特徴とする電子透かし情報の抽出装置。
【請求項２】
前記キャリア信号への電子透かし情報の埋め込みは、電子透かし情報を構成する各シンボルに対応する擬似雑音信号を前記キャリア信号の所定の周波数帯域に重畳することにより行われているとともに、同期シンボルとデータシンボルとでは互いに異なる系統の擬似雑音信号が用いられており、
前記探索手段は、前記同期シンボルとの相関度として、前記同期シンボルに対応する擬似雑音信号との相互相関係数をフレーム毎に算出し、
前記抽出手段は、前記データシンボルとの相関度として、前記データシンボルに対応する擬似雑音信号との相互相関係数をフレーム毎に算出する
ことを特徴とする請求項１に記載の抽出装置。
【請求項３】
コンピュータを、
少なくとも１つの同期シンボルと複数のデータシンボルとで構成された電子透かし情報が一定周期で繰り返し埋め込まれたキャリア信号のサンプル列を受け取り、前記サンプル列をフレームに区切りながらフレーム毎に前記同期シンボルとの相関度を算出し、前記サンプル列の後方に向けて前記電子透かし情報の埋め込み位置の探索を行った場合に最初に見つかる電子透かし情報の同期シンボルの概略的な埋め込み位置を各フレームについて算出される前記相関度に基づいて特定する概略探索処理と、前記最初に見つかる電子透かし情報については、前記概略探索処理により特定された概略的な埋め込み位置周辺のサンプル列から切り出し位置を小刻みにシフトさせつつ切り出した各フレームについて前記同期シンボルとの相関度を算出しその算出結果に基づいて同期シンボルの埋め込み位置を特定する一方、その他の電子透かし情報については、１つ手前の電子透かし情報について特定した同期シンボルの埋め込み位置から前記一定周期に応じたサンプル数分だけ後方の位置周辺のサンプル列から切り出し位置を小刻みにシフトさせつつ切り出した各フレームについて前記同期シンボルとの相関度を算出しその算出結果に基づいてその埋め込み位置を特定する詳細探索処理と、を実行する探索手段と、
前記探索手段により電子透かし情報毎に特定された同期シンボルの埋め込み位置の各々に関して、当該埋め込み位置以降のサンプル列をフレームに区切りながらフレーム毎に前記データシンボルとの相関度を算出し、その算出結果に基づいて各フレームに含まれているデータシンボルを抽出する抽出手段と、
して機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、電子透かし情報の埋め込み伝送技術に関し、特に電子透かし情報の埋め込み位置の特定および電子透かし情報の抽出を迅速に行う技術に関する。
【背景技術】
【０００２】
近年では、楽曲や人の話し声を表す音声信号や映像を表す映像信号などのキャリア信号にその出所等を示す電子透かし情報を埋め込んで不正利用（著作権に抵触する利用や犯罪行為などへの利用）に備えることが提案されている。キャリア信号への電子透かし情報の埋め込み技術の一例としては、特許文献１〜３に開示されたものが挙げられる。特許文献１に開示された技術は、音声合成技術により合成された音声信号をキャリア信号とし、その音声素片毎に、電子透かし情報として埋め込む情報に基づいて振幅、位相あるいはピッチを変調することにより電子透かし情報の埋め込みを行う技術である。特許文献２に開示された技術は、電子透かし情報の埋め込み先となるデジタルデータ（キャリア信号にＡ／Ｄ変換を施して得られるサンプリングデータ列）にフーリエ変換を施し、フーリエ変換により得られた各周波数成分を各周波数成分が属する帯域と埋め込み対象である付加情報（電子透かし情報）のビットとに基づいて変調（振幅変調、位相変調）するものである。そして、特許文献３には、電子透かし情報を示す基本数列をキャリア信号に畳み込んで畳み込み数列を生成し、この畳み込み数列をキャリア信号と混合する技術が開示されている。また、近年では、電子透かし情報の頑健性を高めるために、電子透かし情報として埋め込む情報を構成する各シンボルに対応する擬似雑音信号をキャリア信号の特定の周波数帯域に重畳させるなどのスペクトル拡散方式の埋め込み技術も提案されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００３−２９５８７８号公報
【特許文献２】特許第３６５９３２１号
【特許文献３】特表２００４−５２６２０７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、電子透かし情報を埋め込まれたキャリア信号の受信側の装置において、その電子透かし情報の抽出を行う際には、キャリア信号における電子透かし情報の埋め込み区間（固定長の電子透かし情報であれば先頭シンボルの埋め込み位置）が特定されていなければならない。そこで、電子透かし情報として伝送する情報のシンボル列をキャリア信号に埋め込むと共に、そのシンボル列が埋め込まれている区間を明示するための所定の同期シンボル列（抽出側において内容が予め判っているシンボル列）をキャリア信号に埋め込んで伝送することが提案されている。このような態様においては、キャリア信号の受信側では、受信したキャリア信号を先頭から順次小刻みに解析することで、同期シンボル列の所在（すなわち、電子透かし情報として伝送される情報のシンボル列の埋め込み区間）を求めることができる。しかし、このような態様では、キャリア信号全体をその先頭から小刻みに解析する必要があるため、電子透かし情報の抽出に要する演算量は多大なものとなり、電子透かし情報の抽出を迅速に行うことが難しい、という問題があった。特に、キャリア信号に複数の電子透かし情報が埋め込まれる場合には、この問題はさらに深刻になる。
【０００５】
この発明は、以上説明した事情に鑑みてなされたものであり、キャリア信号に電子透かし情報が一定周期で繰り返し埋め込まれている場合に、少ない演算量で各電子透かし情報の埋め込み位置を特定し、その抽出を迅速に行うことを可能にする技術を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明は、少なくとも１つの同期シンボルと複数のデータシンボルとで構成された電子透かし情報が一定周期で繰り返し埋め込まれたキャリア信号のサンプル列を受け取り、前記サンプル列をフレームに区切りながらフレーム毎に前記同期シンボルとの相関度を算出し、前記サンプル列の後方に向けて前記電子透かし情報の埋め込み位置の探索を行った場合に最初に見つかる電子透かし情報の同期シンボルの概略的な埋め込み位置を各フレームについて算出される前記相関度に基づいて特定する概略探索処理と、前記最初に見つかる電子透かし情報については、前記概略探索処理により特定された概略的な埋め込み位置周辺のサンプル列から切り出し位置を小刻みにシフトさせつつ切り出した各フレームについて前記同期シンボルとの相関度を算出しその算出結果に基づいて同期シンボルの埋め込み位置を特定する一方、その他の電子透かし情報については、１つ手前の電子透かし情報について特定した同期シンボルの埋め込み位置から前記一定周期に応じたサンプル数分だけ後方の位置周辺のサンプル列から切り出し位置を小刻みにシフトさせつつ切り出した各フレームについて前記同期シンボルとの相関度を算出しその算出結果に基づいてその埋め込み位置を特定する詳細探索処理と、を実行する探索手段と、前記探索手段により電子透かし情報毎に特定された同期シンボルの埋め込み位置の各々に関して、当該埋め込み位置以降のサンプル列をフレームに区切りながらフレーム毎に前記データシンボルとの相関度を算出し、その算出結果に基づいて各フレームに含まれているデータシンボルを抽出する抽出手段とを有することを特徴とする電子透かし情報の抽出装置、を提供する。
【０００７】
例えば、キャリア信号への電子透かし情報の埋め込みを、各シンボルに対応する擬似雑音信号の加算により行う場合には、同期シンボルの埋め込み位置を特定するための相関度として当該同期シンボルに対応する擬似雑音信号のスペクトラムと各フレームのスペクトラムとから算出される相互相関係数を用いるようにすれば良く、データシンボルの抽出の際に利用する相関度としては当該データシンボルに対応する擬似雑音信号のスペクトラムと各フレームのスペクトラムとから算出される相互相関係数を用いるようにすれば良い。なお、同期シンボルの埋め込み位置を精度良く特定し、かつデータシンボルの抽出を精度良く行えるようにするためには、同期シンボルに対応する擬似雑音信号とデータシンボルに対応する擬似雑音信号とを互いに無相関、或いは相関の低いものとしておけば良い。
【０００８】
ここで注目すべき点は、本発明の抽出装置の探索手段は、キャリア信号に周期的に埋め込まれている複数の電子透かし情報のうち、その探索を開始してから最初に見つかるものについては概略探索処理および詳細探索処理を行ってその埋め込み位置を特定する一方、その他の電子透かし情報については詳細探索処理のみを行ってその埋め込み位置を特定するという点である。これは、上記キャリア信号への電子透かし情報の埋め込みは一定周期で行われているため、１つ手前の電子透かし情報の埋め込み位置が特定されれば、後続する電子透かし情報の概略的な埋め込み位置を計算で算出することができるからである。つまり、本発明の抽出装置によれば、複数の電子透かし情報の全てについてその概略的な埋め込み位置を概略探索処理を行って特定する場合に比較して、より少ない演算量で各電子透かし情報の同期シンボルの概略的な埋め込み位置を特定することができる。加えて、本発明では、各電子透かし情報の埋め込み位置を特定するための詳細探索を行う範囲を概略的な埋め込み位置周辺に限定しているため、キャリア信号の全体を対象として詳細探索（切り出し位置を小刻みにシフトさせつつフレームを切り出し、各フレームについて算出される相関度から埋め込み位置を特定する処理）を行う態様に比較してより少ない演算量で各電子透かし情報の埋め込み位置を特定し、迅速にその抽出を行うことが可能になる。なお、本発明の別の態様としては、上記各手段の処理をコンピュータに実行させるプログラムを提供する態様も考えられる。そして、このようなプログラムの具体的な提供態様としては、例えばＣＤ−ＲＯＭ（Compact Disk-Read Only Memory）やＵＳＢ（Universal
Serial Bus）メモリスティック（登録商標）などのコンピュータ読み取り可能な記録媒体に書き込んで配布する態様や、インターネットなどの電気通信回線経由のダウンロードにより配布する態様が考えられる。
【０００９】
上記課題を解決するために本発明は、電子透かし情報を構成するシンボル列の埋め込み先となるキャリア信号のサンプル列にフーリエ変換を施し、各周波数成分の強度を示すスペクトラム列をフレーム毎に生成する時間／周波数変換部と、前記時間／周波数変換部により生成されたスペクトラム列の各々について、電子透かし情報の埋め込み先となる所定の周波数帯域の強度を引き下げた後に逆フーリエ変換を施してキャリア信号のサンプル列に戻す時間／周波数逆変換部と、電子透かし情報を構成する各シンボルを示す擬似雑音信号であって、前記所定の周波数帯域に属する周波数成分からなる擬似雑音信号を生成し、当該擬似雑音信号のスペクトラムエンベロープが所定の形状となるように加工した後に、当該加工後の擬似雑音信号を前記時間／周波数逆変換部により生成されたキャリア信号に加算して出力する電子透かし情報埋め込み部と、を備え、前記シンボル列は、少なくとも１つの同期シンボルと複数のデータシンボルとを有し、前記電子透かし情報埋め込み部は、前記キャリア信号に一定周期で繰り返し電子透かし情報を埋め込むとともに、複数系統の前記擬似雑音信号を生成し、前記同期シンボルと前記データシンボルとで互いに異なる系統の擬似雑音信号を使用してその埋め込みを行うことを特徴とするキャリア信号に電子透かし情報を埋め込む埋め込み装置、を提供する。なお、本発明のさらに別の態様としては、上記各部の処理をコンピュータに実行させるプログラムを提供する態様も考えられる。このような埋め込み装置やプログラムによれば、上記抽出装置による電子透かし情報の抽出に適した態様でキャリア信号に電子透かし情報を埋め込むことが可能になる。
【００１０】
より好ましい態様においては、上記電子透かし情報埋め込み部は、前記複数の電子透かし情報の各々を構成するシンボル列において互いに隣り合うデータシンボルに対して互いに異なる系統の擬似雑音信号を使用して前記キャリア信号への埋め込みを行うことを特徴とする。詳細については後述するが、このような態様によれば、１系統の擬似雑音信号を使用して各データシンボルの埋め込みを行う場合に比較して、電子透かし情報を埋め込まれた音声信号をそのまま音として再生した場合に、擬似雑音信号に起因して現れる繰り返し感（周期的な雑音が聴こえるような感じ）を和らげることができる、と期待される。
【図面の簡単な説明】
【００１１】
【図１】この発明の一実施形態の電子透かし情報の埋め込み装置１００を含む音声合成装置の構成を示すブロック図である。
【図２】本実施形態においてキャリア信号に埋め込まれる電子透かし情報を説明するための図である。
【図３】擬似雑音生成部１１０が生成する複数系統の擬似雑音を説明するための図である。
【図４】同埋め込み装置１００の各部の処理内容を示す図である。
【図５】本実施形態における電子透かし情報の埋め込みを説明するための図である。
【図６】同実施形態の電子透かし情報の抽出装置２００の構成を示すブロック図である。
【図７】同抽出装置２００が実行する概略探索フェーズの処理および詳細探索フェーズの処理の処理内容を説明するための図である。
【発明を実施するための形態】
【００１２】
＜Ａ：実施形態＞
図１は、本発明の一実施形態の埋め込み装置１００を含む音声合成装置の構成を示すブロック図である。この音声合成装置は、音声合成部１０と埋め込み装置１００とにより構成されている。音声合成部１０は、楽曲の楽譜を表わすスコアデータなどのテキスト情報に基づいてその楽曲の歌唱音声或いは楽器演奏音を表わす音声信号を合成する装置である。以下では、音声合成部１０により合成される音声信号のことを「合成音声信号」と呼ぶ。この埋め込み装置１００は、音声合成部１０が出力する合成音声信号を用いて、電子透かし情報が埋め込まれた音声信号を合成し、この合成した音声信号を元の合成音声信号に加算し、電子透かし情報を埋め込んだ合成音声信号（以下、埋め込み済み合成音声信号）として出力する装置である。なお、音声合成装置またはその一部である埋め込み装置１００は、埋め込み済み合成音声信号を生成する処理または音声信号に電子透かし情報を埋め込む処理を実行する専用のハードウェアとして実現してもよいし、そのような処理をコンピュータに実行させるコンピュータプログラムとして実現してもよい。このように、本実施形態では、テキスト情報に基づく音声合成によって生成される合成音声信号が電子透かし情報の埋め込み先のキャリア信号となるのであるが、楽器の演奏音や歌唱音声、人の話し声などの発話音声を録音して得られる音声信号をキャリア信号としても良いことは勿論である。
【００１３】
埋め込み装置１００は、図１に示すように、擬似雑音生成部１１０、埋め込み雑音合成部１２０、加算器１３０、信号加工部１４０、および時間／周波数逆変換部１５０により構成されている。擬似雑音生成部１１０は、２値のシンボル（すなわち、ｂｉｔ）の各々を示すＭ系列、Ｇｏｌｄ系列等の一定符号長の擬似雑音信号を生成する機能を有している。本実施形態の擬似雑音生成部１１０は、上記擬似雑音信号として、キャリア信号の周波数帯域よりも狭い所定の周波数帯域に属する周波数成分のみを含み、かつ平坦な振幅スペクトラムを有する信号を生成する。前述したように、本実施形態のキャリア信号は音声合成部１０により生成される合成音声信号であり、その周波数帯域は音楽帯域（８０Ｈｚから２０ｋＨｚの周波数帯域）に略等しい。本実施形態では、音声合成部１０により生成される合成音声信号の周波数帯域のうちの１３ｋＨｚから１６ｋＨｚの周波数帯域が上記所定の周波数帯域として用いられている。詳細については後述するが、本実施形態では、キャリア信号の所定の周波数帯域に電子透かし情報を構成する各シンボルに対応する擬似雑音信号を加算することで、当該キャリア信号への電子透かし情報の埋め込みが実現される。
【００１４】
ここで、電子透かし情報の埋め込み先の周波数帯域として１３〜１６ｋＨｚの周波数帯域を用いた理由は、次の通りである。埋め込み装置１００により生成された埋め込み済み合成音声信号は、再生側の装置へと伝送され、当該装置においてその再生が行われるのであるが、その伝送過程において、伝送データ量を削減するための非可逆圧縮を施される場合がある。このような非可逆圧縮では、聴感に大きな影響を与えない高域（例えば、上記所定の周波数帯域の上限である１６ｋＨｚよりも高い周波数帯域）の信号成分は大幅に間引かれる。このため、上記所定の周波数帯域よりも上の周波数帯域に電子透かし情報を埋め込むと、上記非可逆圧縮を施された場合にその電子透かし情報が消失してしまう虞がある。一方、上記所定の周波数帯域よりも下の周波数帯域に電子透かし情報を埋め込むと、埋め込み済み合成音声信号を音として再生した場合に、擬似雑音信号に起因した雑音が顕著に現れる、といった不具合がある。これらの不具合を避けるため、本実施形態では、電子透かし情報の埋め込み先の周波数帯域として１３〜１６ｋＨｚの周波数帯域を用いたのである。なお、本実施形態では電子透かし情報の埋め込み先の周波数帯域として１３〜１６ｋＨｚの周波数帯域を用いたが、以上に説明した不具合の発生を避けることができるのであれば、例えば１１〜１６ｋＨｚなどの周波数帯域であっても良い。
【００１５】
図１の擬似雑音生成部１１０は、埋め込み装置１００が合成音声信号への電子透かし情報の埋め込みを行う場合に、埋め込み対象である電子透かし情報を示すシンボル列を事前に取得し、同シンボル列を構成する各シンボルに対応した擬似雑音信号を順次生成する。従来、音声信号への電子透かし情報の埋め込みは、その音声信号の不正利用に対処する目的で行われることが多かったのであるが、本実施形態では、合成音声信号と他のコンテンツ（映像信号や他の音声信号）の同期再生や、電子楽器の同期演奏を実現する目的でその埋め込みが行われる。このような目的に適するように、本実施形態では各々内容の異なる複数の電子透かし情報がキャリア信号に埋め込まれる。
【００１６】
図２は、本実施形態におけるキャリア信号への電子透かし情報の埋め込み態様を示す図である。本実施形態においてキャリア信号に埋め込まれる複数の電子透かし情報の各々を示す各シンボル列は同一の長さ（１５３シンボル）を有している。図２に示すように１つの電子透かし情報を構成する各シンボルは、連続する１５３個のフレーム（１フレーム＝２５６サンプル）に亘って１フレームあたり１個ずつ埋め込まれる。以下、１個分の電子透かし情報が埋め込まれるキャリア信号の時間軸方向の長さ（フレーム数）を「１透かし長」と呼ぶ。そして上記複数の電子透かし情報の各々は、一定周期（本実施形態では１透かし長）で繰り返しキャリア信号に埋め込まれる。なお、本実施形態では、キャリア信号への電子透かし情報の埋め込み周期を１透かし長としたが、電子透かし情報の埋め込み周期を１透かし長よりも長くしても勿論良い。
【００１７】
本実施形態において１つの電子透かし情報を構成する１５３個のシンボルには、１個の同期シンボルと、１５２個のデータシンボルとが含まれている。同期シンボルは、電子透かし情報の埋め込み位置を明示するためのシンボルである。本実施形態では同期シンボルは上記１５３個のシンボルの先頭に位置し（図２参照）、そのシンボル値は“０”に固定されている。一方、上記１５２個のデータシンボルからなるデータシンボル列は、図２に示すように、「識別子」と「タイムコード」とを表わす。「識別子」は、本実施形態においてキャリア信号に埋め込まれる各電子透かし情報に共通の情報であり、例えば、上記合成音声信号を電子データとして伝送する際に付与されるファイル名称など、そのキャリア信号を一意に識別するための情報である。一方、タイムコードは、埋め込み済み合成音声信号において電子透かし情報が埋め込まれている時間軸上の位置に応じた情報（すなわち、電子透かし情報毎に異なる情報）である。このタイムコードは、埋め込み済み合成音声信号と同期再生するべき映像の再生タイミングの制御や、当該合成音声信号の再生と同期させて電子楽器の演奏制御を行う際の演奏タイミングの制御等に利用される。なお、本実施形態では、各電子透かし情報のデータシンボル列を１５２個のデータシンボルで構成したが、より少ない数のデータシンボルで構成しても良く、逆に１５３個以上のデータシンボルで構成しても良い。
【００１８】
擬似雑音生成部１１０には、キャリア信号に順次埋め込むべき複数の電子透かし情報の各々を表わすシンボル列が１透かし長に応じた時間間隔で順次与えられ、擬似雑音生成部１１０は、それらシンボル列を構成する各シンボルに対応する擬似雑音信号をその埋め込み先のフレームの切り出しに同期させて生成し、出力する。図３は擬似雑音生成部１１０による擬似雑音信号の生成態様を説明するための図である。図３（Ａ）に示すように、擬似雑音生成部１１０は、複数系統（本実施形態では、Ａからアルファベット順にＱまでの１７系統）の擬似雑音信号を生成する機能を有している。図３（Ａ）に示すように、Ａ系統はシンボル“０”に対応する擬似雑音信号のみを有しており、このＡ系統の擬似雑音信号は同期シンボルの埋め込みに利用される。一方、ＢからＱまでの各系統は、図３（Ａ）に示すように、シンボル“０”に対応する擬似雑音信号とシンボル“１”に対応する擬似雑音信号とを含んでいる。これらＢからＱまでの１６系統の各々は、データシンボルの埋め込みに利用される。これらの擬似雑音信号は何れも、＋１または−１の信号の羅列であって、＋１または−１の信号の表れ方が互いに異なっており、互いに無相関或いは相関の極めて低い（相互相関係数の値が極めて小さい）ものとなっている。
【００１９】
これら複数系統の擬似雑音信号の具体的な生成態様としては種々のものが考えられる。例えば、各系統のシンボル“０”に対応する擬似雑音信号として互いに無相関のまたは相関が極めて低い別個の擬似雑音信号を擬似雑音生成部１１０に生成させ、さらにＢからＱの各系統においては、シンボル“１”に対応する擬似雑音信号としてシンボル“０”に対応する擬似雑音信号の何れとも無相関の、または相関が極めて低いものであって、さらに、シンボル“１”に対応する他の系統の擬似雑音信号とも無相関の、または相関が極めて低いものを各々別個に擬似雑音生成部１１０に生成させる態様が考えられる。また、他の好ましい態様としては、各系統のシンボル“０”に対応する擬似雑音信号として互いに無相関のまたは相関が極めて低い別個の擬似雑音信号を擬似雑音生成部１１０に生成させ、ＢからＱの各系統においては、その系統におけるシンボル“０”に対応する擬似雑音信号を極性反転したものを当該系統にてシンボル“１”に対応する擬似雑音信号として擬似雑音生成部１１０に生成させる態様も考えられる。後者の態様においては、ＢからＱの各系統のシンボル“０”に対応する擬似雑音信号とその系統のシンボル“１”に対応する擬似雑音信号とは負の相関を持つことになる。なお、電子透かし情報の埋め込み伝送の信頼性を高めるために、電子透かし情報を示すシンボル列を誤り訂正符号化し、この電子透かし情報の誤り訂正符号列を擬似雑音生成部１１０に与えるようにしてもよい。また、電子透かし情報の秘匿性を高めるために、電子透かし情報に含まれるデータシンボル列を暗号化して擬似雑音生成部１１０に与えるようにしてもよい。
【００２０】
前述したように、Ａ系統の擬似雑音信号は同期シンボルの埋め込みに使用され、ＢからＱまでの各系統の擬似雑音信号はデータシンボルの埋め込みに使用される。このように、同期シンボルの埋め込みに使用する擬似雑音信号の系統と、データシンボルの埋め込みに使用する擬似雑音信号の系統とが重複しないようにしたのは、電子透かし情報の抽出を行う装置（本実施形態では、後述の抽出装置２００）において、効率良くかつ正確に同期シンボル（或いはデータシンボル）の抽出を行えるようにするためである。この点については後に詳細に説明する。また、本実施形態では、キャリア信号へのデータシンボル列の埋め込みを行う際には、上記ＢからＱまでの各系統を巡回的に使用してその埋め込みが行われる。より詳細に説明すると、擬似雑音生成部１１０は、図３（Ｂ）に示すように、同期シンボルの埋め込み先となるフレームの切り出しに同期させてＡ系統のシンボル“０”に対応する擬似雑音信号を生成して出力する。以後、擬似雑音生成部１１０は、１番目のデータシンボルの埋め込み先となるフレームの切り出しに同期させてＢ系統の擬似雑音信号を、２番目のデータシンボルの埋め込み先となるフレームの切り出しに同期させてＣ系統の擬似雑音信号を生成して出力する。そして、擬似雑音生成部１１０は、１６番目のデータシンボルの埋め込み先となるフレームの切り出しに同期させてＱ系統の擬似雑音信号を生成して出力し、１７番目のデータシンボルの埋め込み先となるフレームの切り出しの際にはＢ系統の擬似雑音信号を生成して出力するのである。
【００２１】
つまり、本実施形態では、互いに隣接するデータシンボル間で異なる系統の擬似雑音信号を用いてその埋め込みが行われるのである。このようにした理由は以下の通りである。仮に、１系統の擬似雑音信号のみを用いてデータシンボル列の埋め込みを行うとすると、そのデータシンボル列において同一シンボルが連続して現れた場合に同一の擬似雑音信号が連続してキャリア信号に加算されることになる。このように、同一の擬似雑音信号が連続してキャリア信号に加算されると、埋め込み済み合成音声信号を音として再生した場合に雑音の繰り返し感が際立つ虞がある。これに対して、本実施形態のように、隣接するデータシンボル間で異なる系統の擬似雑音信号を用いてその埋め込みを行うようにすれば、データシンボル列において同一のシンボルが連続して現れるような場合であっても、上記のような雑音の繰り返し感が際立つことはない。何故ならば、同一のシンボル値（例えば、“１”）を表わす擬似雑音信号であっても系統の異なるものであれば互いに無相関の（或いは相関の低い）ものであり、その聴感も自ずから異なったものとなるからである。これが、互いに隣接するデータシンボル間でその埋め込みに使用する擬似雑音信号の系統を異ならせた理由である。
【００２２】
埋め込み雑音合成部１２０は、擬似雑音生成部１１０が出力する電子透かし情報の各シンボルに対応した擬似雑音信号を用いて、音声合成部１０が出力する合成音声信号（すなわち、キャリア信号）における上記所定の周波数帯域と同様のスペクトラムエンベロープを持った埋め込み雑音信号を合成する装置である。図４は、この埋め込み雑音合成部１２０の処理内容を示す図である。以下、図１および図４を参照し、埋め込み雑音合成部１２０の各部について説明する。
【００２３】
窓掛け部１２１は、音声合成部１０が出力する合成音声信号のサンプルｘｐ（ｎ）の列を１ハーフフレーム当たりＮサンプル（Ｎ＝Ｍ／２：なお、本実施形態では１フレーム＝２５６サンプルであるから、Ｍ＝２５６、すなわち、Ｎ＝１２８）のハーフフレームｘｐ（ｎ）（ｎ＝０〜Ｎ−１）に区切る処理と、現時点から１／２ハーフフレーム（Ｎ／２サンプル）遅れた位置から始まる２ハーフフレーム（＝１フレーム）分のサンプルｘｐ（ｎ）（ｎ＝０〜２Ｎ−１）を切り出し、当該１フレーム分のサンプルに窓関数を乗算して時間／周波数変換部１２２に供給する処理を繰り返す。図４では、窓掛け部１２１がハーフフレームＨＦ３まで合成音声信号のサンプルｘｐ（ｎ）の列を区切ったとき、ハーフフレームＨＦ３の中央からハーフフレームＨＦ１の中央までの２ハーフフレーム（＝１フレーム）分のサンプル列ｘｐ（ｎ）（ｎ＝０〜２Ｎ−１）に窓関数を乗じて時間／周波数変換部１２２に供給する例が示されている。
【００２４】
時間／周波数変換部１２２は、１フレーム（２Ｎサンプル）分の窓掛け済みのサンプル列が供給される都度、そのサンプル列に２Ｎ点ＦＦＴ（Fast Fourier Transform；高速フーリエ変換）を施して２Ｎ個の複素スペクトラムの列を生成する。図１に示すように、時間／周波数変換部１２２により生成される複素スペクトラム列は、信号加工部１４０に与えられるとともに、バンドパスフィルタ１２９を介して絶対値算出部１２３に与えられる。
【００２５】
信号加工部１４０は、例えばイコライザであり、時間／周波数変換部１２２により生成される複素スペクトラム列に対して、前述した所定の周波数帯域に属する周波数成分の強度を引き下げる処理を施し（図５（Ａ）および図５（Ｂ）参照）、時間／周波数逆変換部１５０に出力する。図５（Ｂ）に示すように上記所定の周波数帯域に属する周波数成分の強度を引き下げるのは、当該周波数帯域には電子透かし情報を表す擬似雑音信号が重畳されるため、その重畳後の信号強度が強くなり過ぎないようにするためである。時間／周波数逆変換部１５０は、信号加工部１４０が出力する複素スペクトラム列に対してＩＦＦＴ（Inverse Fast  Fourier Transform；逆高速フーリエ変換）等の時間／周波数逆変換を施し、信号加工部１４０による加工が施された合成音声信号の時間波形を表すサンプル列を生成し、加算器１３０に出力する。バンドパスフィルタ１２９は、上記所定の周波数帯域を通過域としている。このため、バンドパスフィルタ１２９は、時間／周波数変換部１２２により生成される複素スペクトラム列のうちで上記所定の周波数帯域に属する周波数成分のみを通過させる。
【００２６】
絶対値算出部１２３は、バンドパスフィルタ１２９を通過した複素スペクトラムの各々について、各々の実部の２乗と虚部の２乗の和の平方根を演算することにより、複素スペクトラムの絶対値、すなわち、振幅スペクトラムを算出する。スペクトラムエンベロープ算出部１２４は、絶対値算出部１２３が出力する振幅スペクトラムの列を周波数軸上に並べたときの各振幅スペクトラムのエンベロープ、すなわち、音声合成部１０により生成された合成音声信号の上記所定の周波数帯域のスペクトラムエンベロープを算出する。時間／周波数逆変換部１２５は、スペクトラムエンベロープ算出部１２４が算出したスペクトラムエンベロープに２Ｎ点ＩＦＦＴ（Inverse Fast Fourier Transform；逆高速フーリエ変換）等の時間／周波数逆変換を施し、時間領域の２Ｎ個のフィルタ係数の列ｆ（ｎ）（ｎ＝−Ｎ〜Ｎ−１）を生成する。この時間領域のフィルタ係数列は、時間軸上において時間ｔ＝０を対称軸として対称な偶関数のサンプル列である。
【００２７】
以上のように、埋め込み雑音合成部１２０における窓掛け部１２１から時間／周波数逆変換部１２５までの各要素からなる部分は、音声合成部１０が１ハーフフレーム分の合成音声信号のサンプル列を出力する毎に、過去１フレーム分の合成音声信号における上記所定の周波数帯域のスペクトラムエンベロープに対応した時間領域の情報であるフィルタ係数列を出力する。
【００２８】
畳み込み部１２６は、擬似雑音生成部１１０が出力する擬似雑音信号のサンプル列に時間／周波数逆変換部１２５が出力するフィルタ係数列を畳み込む。さらに詳述すると、本実施形態において、擬似雑音生成部１１０は、音声合成部１０が１ハーフフレーム（Ｎサンプル）分の合成音声信号のサンプル列を出力し、埋め込み雑音合成部１２０の時間／周波数逆変換部１２５が１フレーム（２Ｎサンプル）分の合成音声信号のスペクトラムエンベロープに対応したフィルタ係数列を出力するのに同期し、１シンボルフレーム（Ｎサンプル）分の擬似雑音信号のサンプル列を出力する。畳み込み部１２６は、時間／周波数逆変換部１２５が２Ｎサンプルからなるフィルタ係数列ｆ（ｎ）（ｎ＝−Ｎ〜Ｎ−１）を出力した場合に、１シンボルフレーム（Ｎサンプル）分の擬似雑音信号のサンプル列とそのフィルタ係数列ｆ（ｎ）（ｎ＝−Ｎ〜Ｎ−１）との畳み込み演算を行い、畳み込み演算結果である３Ｎ−１個のサンプルの列を生成する。
【００２９】
具体的には、１シンボルフレーム（Ｎサンプル）分の擬似雑音信号のサンプル列に対する１フレーム（２Ｎサンプル）分のフィルタ係数列ｆ（ｎ）（ｎ＝−Ｎ〜Ｎ−１）の位相関係をずらしながら擬似雑音信号のＮ個のサンプル列の各々とそれらに対応するフィルタ係数との乗算を行うとともにＮ個の乗算結果の加算を行い、１個の畳み込み演算結果を生成する動作を繰り返す。図４に示す例では、フィルタ係数列ｆ（ｎ）（ｎ＝−Ｎ〜Ｎ−１）における最後尾のフィルタ係数ｆ（Ｎ−１）が擬似雑音信号のサンプル列ＰＮ２の先頭のサンプルと対向している状態からフィルタ係数列ｆ（ｎ）（ｎ＝−Ｎ〜Ｎ）における先頭のフィルタ係数ｆ（−Ｎ）が擬似雑音信号のサンプル列ＰＮ２の最後尾のサンプルと対向している状態になるまでフィルタ係数列ｆ（ｎ）（ｎ＝−Ｎ〜Ｎ−１）の位相を１サンプルずつシフトしつつ、擬似雑音信号のＮ個のサンプル列の各々とそれらに対応するフィルタ係数との乗算およびＮ個の乗算結果の加算を繰り返す様子が示されている。なお、擬似雑音信号のサンプルと対向するフィルタ係数ｆ（ｎ）がない場合には、０値がフィルタ係数の代わりに擬似雑音信号のサンプルに乗算される。
【００３０】
そして、畳み込み部１２６は、１フレーム（２Ｎサンプル）分のフィルタ係数列と１シンボルフレーム分の擬似雑音信号のサンプル列とが発生する毎にこのような畳み込み演算を実行し、各畳み込み演算において得られる３Ｎ−１個のサンプルの列の最後尾に０値サンプルを１個追加して３Ｎ個のサンプルの列とする。そして、このようにして得られる各３Ｎ個のサンプルの各列を、先行するサンプル列の最後尾のＮ個のサンプルと後続のサンプル列の先頭のＮサンプルとを互いにオーバラップさせて出力する。その際、オーバラップ部分は各畳み込む演算結果を加算して１つの出力サンプルとする。図４には、先行する擬似雑音信号のサンプル列ＰＮ２に対する３Ｎサンプル分の畳み込み演算結果と後続の擬似雑音信号のサンプル列ＰＮ３に対する３Ｎサンプル分の畳み込み演算結果とがＮサンプル（＝１シンボルフレーム）だけオーバラップして出力される様子が示されている。
【００３１】
このような畳み込み演算が行われることにより、周波数軸上において合成音声信号の上記所定の周波数帯域のスペクトラムエンベロープと同様なスペクトラムエンベロープを持ち、かつ、時間軸上におけるスペクトラムエンベロープの変化が緩和されたサンプル列が得られる。ここで、時間／周波数逆変換部１２５が出力するフィルタ係数列ｆ（ｎ）（ｎ＝−Ｎ〜Ｎ−１）は、前述した通り、時間軸上において時間ｔ＝０を対称軸として対称な偶関数のサンプル列であるので、このフィルタ係数列の畳み込みを行うフィルタ処理は、直線位相特性を持つ。従って、畳み込み部１２６によるフィルタ処理では、位相歪みは発生しない。
【００３２】
なお、以上の説明では、時間領域においてフィルタ係数列ｆ（ｎ）（ｎ＝−Ｎ〜Ｎ−１）と擬似雑音信号のサンプル列との畳み込み演算を行ったが、この畳み込み演算を次のような周波数領域の操作に置き換えてもよい。
ａ１．フィルタ係数列ｆ（ｎ）（ｎ＝−Ｎ〜Ｎ−１）の後にＮ−１個の０値サンプルを追加して３Ｎ−１個のフィルタ係数列とし、この３Ｎ−１個のフィルタ係数列に３Ｎ−１点ＦＦＴを施して、３Ｎ−１個のフーリエ変換係数を生成する。
ｂ１．畳み込み演算の対象となる１シンボルフレーム（Ｎサンプル）分の擬似雑音信号のサンプル列の後に２Ｎ−１個の０値サンプルを追加して、３Ｎ−１個のサンプル列とし、この３Ｎ−１個のサンプル列に３Ｎ−１点ＦＦＴを施して、３Ｎ−１個のフーリエ変換係数を生成する。
ｃ１．上記ａ１．により得られる３Ｎ−１個のフーリエ変換係数と上記ｂ１．により得られる３Ｎ−１個のフーリエ変換係数とを同一周波数に対応したもの同士乗算し、乗算結果である３Ｎ−１個のフーリエ変換係数にＩＦＦＴを施し、時間領域の３Ｎ−１個のサンプルの列を生成する。
ｄ１．上記ａ１．〜ｃ１．が繰り返される毎に得られる３Ｎ−１個のサンプルの列の最後尾に１個の０値サンプルを追加して３Ｎ個のサンプルの列とし、先行するサンプル列と後続のサンプル列を時間軸上においてＮサンプルだけオーバラップさせて出力する。
【００３３】
ゲイン算出部１２７は、次式に従い、乗算器１２８に供給するゲインαを算出し、乗算器１２８はこのゲインαを畳み込み部１２６が出力するサンプル列に乗算し、埋め込み雑音信号のサンプル列として出力する。
α＝√｛（Ｐｓ／Ｐｗ）１０−ＳＷＲ／１０｝                    ……（１）
ここで、Ｐｓは、１フレーム分の合成音声信号のうち上記所定の周波数帯域に属する周波数成分の平均パワー、具体的には絶対値算出部１２３により算出された全ての振幅スペクトラムの平均２乗和である。また、Ｐｗは、擬似雑音生成部１１０が出力する擬似雑音信号の平均パワーである。そして、ＳＷＲは、埋め込み先である合成音声信号の上記所定の周波数帯域のパワーを基準とした埋め込み雑音信号のパワーの減衰量の目標値であり、例えば２０ｄＢである。
【００３４】
以上のように、埋め込み雑音合成部１２０は、音声合成部１０が出力する合成音声信号の所定の周波数帯域と同様のスペクトラムエンベロープを有し、かつ、同周波数帯域の信号成分よりもＳＷＲだけ平均パワーの減衰した埋め込み雑音信号を擬似雑音信号を用いて合成する。加算器１３０は、この埋め込み雑音信号を前述した加工済み合成音声信号と加算し（図５（Ｃ）参照）、埋め込み済み合成音声信号として出力する。
以上が本実施形態による埋め込み装置１００を備えた音声合成装置の詳細である。
【００３５】
図６は、本実施形態による電子透かし情報の抽出装置２００の構成を示すブロック図である。この抽出装置２００は、埋め込み装置１００から出力された埋め込み済み合成音声信号から電子透かし情報のシンボル列を抽出する装置であり、上記埋め込み済み合成音声信号を受信してその再生を行う再生装置などに組み込まれる。なお、抽出装置２００または当該抽出装置２００を含む再生装置は、埋め込み済み合成音声信号から電子透かし情報を抽出する処理または電子透かし情報の抽出処理に加えて音声信号を再生する処理を実行する専用のハードウェアにより実現してもよいし、そのような処理をコンピュータに実行させるコンピュータプログラムにより実現してもよい。
【００３６】
図６の抽出装置２００は、同期探索フェーズおよびデータ抽出フェーズの２種類の処理を実行する。同期探索フェーズの処理とは、埋め込み済み合成音声信号に埋め込まれている各電子透かし情報の埋め込み位置（各電子透かし情報の同期シンボルの埋め込み位置）を特定する処理である。これに対して、データ抽出フェーズの処理とは、同期探索フェーズにおいて特定された各埋め込み位置以降の埋め込み済み合成音声信号のサンプル列を解析し、各電子透かし情報のデータシンボル列を抽出して「識別子」および「タイムコード」を復元する処理である。このデータ抽出フェーズの処理において復元される「識別子」および「タイムコード」は、埋め込み済み合成音声信号の表す音声と映像などとの同期再生、或いは埋め込み済み合成音声信号の表す音声の再生に同期させて電子楽器の自動演奏を行わせる場合の演奏制御に利用される。
【００３７】
同期探索フェーズの処理は、さらに、概略探索フェーズの処理と、詳細探索フェーズの処理とに大別される。概略探索フェーズの処理とは、電子透かし情報の探索を開始するべき位置として抽出装置２００（或いは当該抽出装置２００を含む再生装置）の利用者によって指定された探索開始位置よりも後方に埋め込まれている電子透かし情報のうちの最初のもの（以下、先頭電子透かし情報）の同期シンボルの概略的な埋め込み位置を特定する処理である。例えば、埋め込み済み合成音声信号をその先頭から再生することを指示された場合には、当該合成音声信号の先頭が探索開始位置となり、当該合成音声信号をその途中から再生することを指示された場合には当該途中の位置が探索開始位置となる。これに対して、詳細探索フェーズの処理とは、概略探索フェーズの処理により特定された概略的な埋め込み位置周辺のサンプルを解析し、上記先頭電子透かし情報の詳細な埋め込み位置を特定するとともに、その特定結果に基づいて後続の電子透かし情報の詳細な埋め込み位置を特定する処理である。
【００３８】
図６のフレーム切り出し部２１０は、埋め込み装置１００から出力される埋め込み済み合成音声信号のサンプル列を受け取り、同期化制御部２３１による制御の下、当該サンプル列を埋め込み装置１００におけるものと同じ長さのフレーム（すなわち、１フレーム当たり２５６サンプルのフレーム）に区切って出力する装置である。埋め込み装置１００から出力される埋め込み済み合成音声信号は、例えばアナログ信号に変換された後、音として空気中に放音され、図示しない収音装置により収音されてデジタル化（すなわち、サンプル列に変換）され、フレーム切り出し部２１０に与えられる。あるいは、埋め込み済み合成音声信号のサンプル列は、一旦、何らかの記録媒体に記録され、その記録媒体からフレーム切り出し部２１０によって読み出される場合もあり得る。
【００３９】
図６に示すように、フレーム切り出し部２１０は、バッファ２１０ａおよびバッファ２１０ｂの２つのバッファを有している。バッファ２１０ａは、１フレーム分のサンプルを記憶する記憶容量を有しており、概略探索フェーズおよびデータ抽出フェーズの処理を実行する際に利用される。より詳細に説明すると、概略探索フェーズおよびデータ抽出フェーズにおいては、フレーム切り出し部２１０は、同期化制御部２３１による制御の下、収音装置等を介して与えられる埋め込み済み合成音声信号のサンプルを同期化制御部２３１により指示された位置から１サンプルずつ取得してバッファ２１０ａに蓄積し、１フレーム分のサンプルの蓄積を契機として当該１フレーム分のサンプルを窓掛け部２１１に出力し、バッファ２１０ａの格納内容を初期化する処理を繰り返し実行する。これに対して、バッファ２１０ｂは、２フレーム分のサンプルを記憶する記憶容量を有しており、前述した詳細探索フェーズにおいて利用される。詳細については後述するが、この詳細探索フェーズにおいては、フレーム切り出し部２１０は、同期化制御部２３１により指示された位置を先頭とする２フレーム分のサンプルを埋め込み済み合成音声信号のサンプル列から取り出してバッファ２１０ｂに格納し、これら２フレーム分のサンプルからフレーム切り出し位置を１／２ハーフフレーム分ずつシフトさせて１フレーム分のサンプルを切り出し、それら１フレーム分のサンプルを窓掛け部２１１に出力する処理を行う。
【００４０】
窓掛け部２１１、時間／周波数変換部２１２、スペクトラム振幅平坦化部２１３、およびバンドパスフィルタ２１４は、同期探索フェーズとデータ抽出フェーズとで同一の処理を実行する。より詳細に説明すると、窓掛け部２１１は、埋め込み装置１００の窓掛け部１２１と同様の構成のものであり、フレーム切り出し部２１０から与えられる１フレーム分のサンプル列に窓関数を乗算して時間／周波数変換部２１２に供給する。時間／周波数変換部２１２は、埋め込み装置１００の時間／周波数変換部１２２と同様の構成のものであり、１フレーム分の窓掛け済みのサンプル列が供給される都度、そのサンプル列にＦＦＴを施し、複素スペクトラム列を生成する。バンドパスフィルタ２１４は、時間／周波数変換部２１２が１フレーム分のサンプル列から生成する各複素スペクトラムのうち上記所定の周波数帯域に属する周波数成分の複素スペクトラム列のみを通過させる。スペクトラム振幅平坦化部２１３は、バンドパスフィルタ２１４から出力される各複素スペクトラムについて、各々の振幅が１となるように実部と虚部の大きさを調整する。具体的には、各複素スペクトラムについて、実部と虚部の２乗和の平方根（すなわち、複素スペクトラムの振幅値（絶対値））を求め、実部と虚部をこの平方根により除算する。
【００４１】
擬似雑音生成部２２０は、埋め込み装置１００の擬似雑音生成部１１０と同様にＡからＱまでの合計１７系統の擬似雑音信号を生成する機能を備えている。より詳細に説明すると、擬似雑音生成部２２０は、同期化制御部２３１による制御の下、同期探索フェーズにおいては、フレーム切り出し部２１０によるフレーム切り出しに同期させてＡ系統のシンボル“０”に対応する擬似雑音信号を生成して出力する。一方、データ抽出フェーズにおいては、擬似雑音生成部２２０は、同期化制御部２３１による制御の下、フレーム切り出し部２１０によるフレーム切り出しに同期させてＢからＱまでの各系統のシンボル“０”および“１”に対応する各擬似雑音信号を１系統ずつ巡回的に生成して出力する。
【００４２】
時間／周波数変換部２２１と複素共役化部２２２は、窓掛け部２１１等と同様に、同期探索フェーズとデータ抽出フェーズとで同一の処理を実行する。具体的には、時間／周波数変換部２２１は、擬似雑音生成部２２０から与えられる擬似雑音信号にＦＦＴを施して複素スペクトラム列を生成する。複素共役化部２２２は、時間／周波数変換部２２１から与えられる複素スペクトラム列の各々について、その複素スペクトラム列の各複素スペクトラムの虚部の符号を反転し、元の複素スペクトラムと複素共役をなす複素スペクトラムに変換する。
【００４３】
相関算出部２３０は、同期探索フェーズとデータ抽出フェーズの各々において夫々異なる処理を実行する。より詳細に説明すると、相関算出部２３０は、同期探索フェーズにおいては、概略探索フェーズおよび詳細探索フェーズの何れにおいても、スペクトラム振幅平坦化部２１３から出力された複素スペクトラム列の各複素スペクトラムと、複素共役化部２２２の処理を経たシンボル“０”に対応した擬似雑音信号の複素スペクトラム列の各複素スペクトラムとを同一周波数に対応したもの同士乗算し、各乗算結果にＩＦＦＴを施して時間領域のサンプル列に変換する。そして、その中で最も高いピーク値を第１の相互相関係数として同期化制御部２３１に出力する処理を実行する。前述したように、概略探索フェーズと詳細探索フェーズの何れにおいても、擬似雑音生成部２２０はＡ系統のシンボル“０”に対応する擬似雑音信号のみを生成して出力し、この擬似雑音信号に時間／周波数変換部２２１および複素共役化部２２２による処理を施して得られる複素スペクトラム列が相関算出部２３０に与えられる。つまり、同期探索フェーズにおいては、相関算出部２３０は、フレーム切り出し部２１０により切り出されたフレームとＡ系統のシンボル“０”に対応する擬似雑音信号との第１の相互相関係数をフレーム毎に算出し、同期化制御部２３１に出力するのである。
【００４４】
これに対して、データ抽出フェーズにおいては、相関算出部２３０は、フレーム切り出し部２１０により切り出されたフレームと擬似雑音生成部２２０によって生成された擬似雑音信号のうちのシンボル“０”に対応するものとの第１の相互相関係数を算出する処理に加えて、同フレームと擬似雑音生成部２２０によって生成された擬似雑音信号のうちのシンボル“１”に対応するものとの第２の相互相関係数を上記第１の相互相関係数と同様に算出する処理をフレーム毎に実行する。前述したように、データ抽出フェーズにおいては、フレーム切り出し部２１０によるフレームの切り出しに同期させてＢからＱまでの合計１６系統の擬似雑音信号を１系統ずつ巡回的に生成して出力する処理が擬似雑音生成部２２０によって実行され、これら擬似雑音信号に時間／周波数変換部２２１および複素共役化部２２２による処理を施して得られる複素スペクトラム列が相関算出部２３０に与えられる。このため、データ抽出探索フェーズにおいては、フレーム切り出し部２１０により切り出されるフレーム毎に、ＢからＱまでの何れかの系統のシンボル“０”に対応する擬似雑音信号との第１の相互相関係数と、同系統のシンボル“１”対応する擬似雑音信号との第２の相互相関係数と、が相関算出部２３０によって算出され、シンボル判定部２３２に与えられるのである。
【００４５】
仮に、フレーム切り出し部２１０が埋め込み装置１００の窓掛け部１２１と同じ区切り位置において埋め込み済み合成音声信号をフレームに区切るとすると、スペクトラム振幅平坦化部２１３から出力される複素スペクトラム列は、上述の畳み込み部１２６が出力した埋め込み雑音信号の複素スペクトラムの振幅を１にしたものと、上述の音声合成部１０が出力した合成音声信号の複素スペクトラムの振幅を１にしたものを含んでいる。このとき、スペクトラム振幅平坦化部２１３から出力される複素スペクトラム列がＡからＱの何れかの系統のシンボル“０”に対応した擬似雑音信号から得られた埋め込み雑音信号の各複素スペクトラムであって振幅が１であるものを含む場合には、複素共役化部２２２の処理を経た擬似雑音信号が同一系統のシンボル“０”に対応するものであれば、第１の相互相関係数は大きな値となり、他の系統のシンボル“０”に対応するものであれば第１の相互相関係数は小さな値となる。つまり、上記第１の相互相関係数は、フレーム切り出し部２１０により切り出されたフレームの振幅スペクトラムとシンボル“０”（同期探索フェーズにおいてはＡ系統のシンボル“０”、データ抽出フェーズにおいてはＢからＱの各系統のシンボル“０”）の振幅スペクトラムとの相関度（すなわち、当該フレームにシンボル“０”が含まれていることの尤もらしさ）を表わすのである。同様に、スペクトラム振幅平坦化部２１３から出力される複素スペクトラム列がＢからＱの何れかの系統のシンボル“１”に対応した擬似雑音信号から得られた埋め込み雑音信号の各複素スペクトラムであって振幅が１であるものを含む場合には、複素共役化部２２２の処理を経た擬似雑音信号が同一系統のシンボル“１”に対応するものであれば、第２の相互相関係数は大きな値となり、他の系統のシンボル“１”に対応するものであれば第２の相互相関係数は小さな値となる。つまり、上記第２の相互相関係数はフレーム切り出し部２１０により切り出されたフレームの振幅スペクトラムとシンボル“１”の振幅スペクトラムとの相関度（すなわち、当該フレームにシンボル“１”が含まれていることの尤もらしさ）を表わすのである。なお、音声合成部１０が出力する合成音声信号の複素スペクトラムと、シンボル“０”および“１”に対応した各擬似雑音信号から得られる埋め込み雑音信号の各複素スペクトラムとの相互相関係数が低い場合、合成音声信号の複素スペクトラムの第１の相互相関係数および第２の相互相関係数に与える影響は少ない。
【００４６】
したがって、フレーム切り出し部２１０が埋め込み装置１００の窓掛け部１２１と同じ区切り位置において埋め込み済み合成音声信号をフレームに区切るのであれば、フレーム毎にＡ系統のシンボル“０”に対応する擬似雑音信号についての第１の相互相関係数を算出することで各電子透かし情報の同期シンボルの埋め込み位置を特定することができ、後続するフレームとＢからＱの各系統の擬似雑音信号についての第１および第２の相互相関係数を算出することで各データシンボルを抽出することができる。しかし、フレーム切り出し部２１０が埋め込み済み合成音声信号をその先頭から１フレームずつ区切る場合であっても、各フレームの区切り位置が埋め込み装置１００におけるものと一致するとは限らず、同期シンボルの埋め込み位置の特定に支障が生じる。何故ならば、電子透かし情報の埋め込み側でのサンプリングタイミングと同抽出側でのサンプリングタイミングとが一致するとは限らないからである。そこで、本実施形態では、本発明の特徴を顕著に示す同期探索フェーズの処理を抽出装置２００に行わせることで、上記不具合を解消しているのである。
【００４７】
同期化制御部２３１は、以上説明した各部に同期探索フェーズの処理を行わせ、その後、データ抽出フェーズの処理を行わせる制御を行う装置である。以下、同期探索フェーズおよびデータ抽出フェーズの各々において同期化制御部２３１が行う動作について説明する。前述したように同期探索フェーズの処理は、概略探索フェーズの処理と詳細探索フェーズの処理とに大別される。概略探索フェーズにおいては、同期化制御部２３１は、図７に示すように、埋め込み済み合成音声信号のサンプル列を探索開始位置から１フレーム分ずつ切り出す処理をフレーム切り出し部２１０に実行させ、窓掛け部２１１、時間／周波数変換部２１２、バンドパスフィルタ２１４、スペクトラム振幅平坦化部２１３、擬似雑音生成部２２０、時間／周波数変換部２２１、複素共役化部２２２および相関算出部２３０に上述した同期探索フェーズの動作を行わせる。その結果、概略探索フェーズにおいては、探索開始位置から１透かし長分のフレーム（すなわち、１５３個のフレーム）の各々について、そのフレームの振幅スペクトラムとＡ系統のシンボル“０”に対応する擬似雑音信号の振幅スペクトラムとの相関度を示す第１の相互相関係数が算出される。同期化制御部２３１は、これら１５３個のフレームのうち、上記相関度（第１の相互相関係数）が最大となるフレームを、先頭電子透かし情報の同期シンボルの概略的な埋め込み位置として特定するのである。
【００４８】
前述したように、フレーム切り出し部２１０によるフレーム区切り位置は埋め込み装置１００におけるフレーム区切り位置と一致するとは限らない。しかし、仮に、埋め込み装置１００において先頭電子透かし情報の同期シンボルの埋め込まれたフレーム内においてフレーム区切り部２１０がフレームを区切ったとしても、Ａ系統のシンボル“０”に対応する擬似雑音信号の信号成分を多く含んでいるフレームほど上記第１の相互相関係数の値は大きくなると考えられる。本実施形態では、これを利用して、先頭電子透かし情報の同期シンボルの概略的な埋め込み位置を特定しているのである。
以上が、概略探索フェーズにおける同期化制御部２３１の動作である。
【００４９】
次いで、詳細探索フェーズにおける同期化制御部２３１の動作について説明する。
前述した概略探索フェーズにおける制御を完了すると、同期化制御部２３１は詳細探索フェーズの制御を行う。この詳細探索フェーズにおいては、同期化制御部２３１は、まず、概略探索フェーズにおいて特定された先頭電子透かし情報の同期シンボルの概略的な埋め込み位置に対応するフレームよりもハーフフレームだけ前の位置を読出し位置としてフレーム切り出し部２１０に指示し、この読出し位置から２フレーム分のサンプルを埋め込み済み合成音声信号のサンプル列から取り出してバッファ２１０ｂに格納する処理をフレーム切り出し部２１０ｂに実行させる。そして、同期化制御部２３１は、バッファ２１０ｂに格納されているサンプル列から切り出し位置を１／２ハーフフレーム分ずつシフトさせながら１フレーム分のサンプルを切り出す処理をフレーム切り出し部２１０に実行させ、窓掛け部２１１、時間／周波数変換部２１２、バンドパスフィルタ２１４、スペクトラム振幅平坦化部２１３、擬似雑音生成部２２０、時間／周波数変換部２２１、複素共役化部２２２および相関算出部２３０に上述した同期探索フェーズの動作を行わせる。つまり、本実施形態では、図７に示すように、フレーム切り出し位置を１／２ハーフフレーム分ずつシフトさせた５個のフレームが上記概略的な埋め込み位置周辺のサンプル列から切り出され、これら５個のフレームの各々について、Ａ系統のシンボル“０”との相関度を表わす第１の相互相関係数が算出される。同期化制御部２３１は、それら５個のフレームのうちで上記相関度（第１の相互相関係数）が最大となるフレームを先頭電子透かし情報の同期シンボルの埋め込み先フレームとして特定し、当該フレームの探索開始位置からのオフセットを当該先頭電子透かし情報の埋め込み位置として記憶するのである。これにより、先頭電子透かし情報の同期シンボルの埋め込み位置が詳細に特定されるのである。以降、同期化制御部２３１は、上記のようにして特定された同期シンボルの埋め込み先フレームから電子透かし情報の埋め込み周期（本実施形態では、１透かし長＝１５３フレーム）に応じたフレーム数だけ後方のフレームを次ぎの電子透かし情報の同期シンボルの概略的な埋め込み位置とし、当該フレームおよびその前後のハーフフレーム分のサンプルをバッファ２１０ｂに格納する処理をフレーム切り出し部２１０に実行させ、上記と同様の制御を行って後続する電子透かし情報の各々の同期シンボルの埋め込み位置（埋め込み先フレーム）を特定する。
以上が詳細探索フェーズにおける同期化制御部２３１の動作である。
【００５０】
次いで、データ抽出フェーズにおいて同期化制御部２３１が実行する動作について説明する。このデータ抽出フェーズにおいては、同期化制御部２３１は、同期探索フェーズにおいて特定された先頭電子透かし情報の同期シンボルの埋め込み先フレームの次のフレームの先頭を読出し位置としてフレーム切り出し部２１０に指示し、埋め込み済み合成音声信号のサンプル列を、この読出し位置から１フレーム分ずつ区切って出力するようにフレーム切り出し部２１０を制御するとともに、窓掛け部２１１、時間／周波数変換部２１２、バンドパスフィルタ２１４、スペクトラム振幅平坦化部２１３、擬似雑音生成部２２０、時間／周波数変換部２２１、複素共役化部２２２および相関算出部２３０に上述したデータ抽出フェーズの動作を行わせる。このデータ抽出フェーズにおいてフレーム毎に相関算出部２３０から出力される第１の相互相関係数および第２の相互相関係数はシンボル判定部２３２に与えられる。シンボル判定部２３２は、これら第１の相互相関係数および第２の相互相関係数に基づいて各フレームに埋め込まれているデータシンボルを抽出して出力する。より詳細に説明すると、シンボル判定部２３２は、相関算出部２３０が第１の相互相関係数および第２の相互相関係数を出力する毎に、第１の相互相関係数および第２の相互相関係数を比較し、第１の相互相関係数が第２の相互相関係数よりも大きければフレームに埋め込まれたシンボルは“０”であると判定し、第２の相互相関係数が第１の相互相関係数よりも大きければ同フレームに埋め込まれたシンボルは“１”であると判定する。そして、同期化制御部２３１は、１５２個のデータシンボルの抽出を完了すると、後続の電子透かし情報についても同様の処理を実行し、探索開始位置よりも後方に埋め込まれている全ての電子透かし情報の抽出を完了するのである。
以上がデータ抽出フェーズにおける同期化制御部２３１の動作である。
【００５１】
なお、以上説明した詳細探索フェーズの処理では、バッファ２１０ｂに格納されている２フレーム分のサンプル列からフレーム切り出し位置を１／２ハーフフレーム分ずつシフトさせて切り出した５つのフレームの各々について、Ａ系統のシンボル“０”との相関度を示す第１の相互相関係数を算出し、その値が最大となるフレームを同期シンボルの埋め込み先フレームとして特定した。しかし、バッファ２１０ｂから各フレームを切り出す際のフレーム切り出し位置のシフト量をより小さな値（例えば、ハーフフレームの１／４など）としても良い。このような態様によれば、上記実施形態における態様よりも演算量は増加するものの、より精度良く同期シンボルの埋め込み先フレームを特定することができると期待される。逆に、同期シンボルの埋め込み先フレームの特定に割くことができる演算量（或いは処理時間）に厳しい制限が課される場合には、上記シフト量を１フレームの長さよりは小さな範囲であって、より大きな値（例えば、ハーフフレームの長さ）とすれば良い。つまり、上記シフト量については、埋め込み先フレームの特定精度およびその特定に割くことができる演算量との兼ね合いで好適な値を選択するようにすれば良い。
【００５２】
以上説明した本実施形態によれば次の効果が得られる。まず、埋め込み装置１００は、合成音声信号の所定の周波数帯域のスペクトラムエンベロープを持った埋め込み雑音信号を生成し、これを合成音声信号に加算して埋め込み済み合成音声信号として出力する。このため、埋め込み済み合成音声信号がそのまま音として再生された場合であっても、電子透かし情報の埋め込みに起因した雑音が極端に際立つことが回避される。また、各電子透かし情報の構成シンボルに対応する擬似雑音信号は１３〜１６ｋＨｚといった周波数帯域に加算されているため、埋め込み済み合成音声信号に例えばＭＰ−３などの非可逆圧縮が施されるとしても、電子透かし情報の消失を回避することができる。
【００５３】
一方、抽出装置２００では、同期探索フェーズの処理によって各電子透かし情報の埋め込み位置が特定され、その特定結果に基づいて各電子透かし情報を抽出する処理がデータ抽出フェーズにおいて実行される。本実施形態の同期探索フェーズの処理は、前述したように、概略探索フェーズの処理と、詳細探索フェーズの処理とで構成されている。仮に同期探索フェーズの処理を詳細探索フェーズの処理のみで構成すると、フレーム切り出し位置を小刻みにシフトさせて切り出した各フレームを解析して各電子透かし情報の同期シンボルの埋め込み位置を特定する処理を、埋め込み済み合成音声信号の全体に亘って施す必要がある。つまり、本実施形態によれば、詳細探索フェーズの処理のみで同期探索フェーズの処理を構成する態様に比較して、詳細探索フェーズにおける探索範囲が限定され、少ない演算量で各電子透かし情報の埋め込み位置を特定することができるのである。加えて、本実施形態では、先頭電子透かし情報についてのみ概略探索フェーズの処理によって同期シンボルの概略的な埋め込み位置を求め、その他の電子透かし情報の概略的な埋め込み位置については１つ手前に埋め込まれている電子透かし情報について詳細探索フェーズの処理により特定された埋め込み位置に基づいて算出しているため、全ての電子透かし情報について概略探索フェーズの処理を行う場合に比較して少ない演算量でそれら電子透かし情報の埋め込み位置を特定し、迅速に抽出することが可能になる。
【００５４】
なお、上記実施形態では、先頭電子透かし情報についてのみ概略探索フェーズの処理によって同期シンボルの概略的な埋め込み位置を求め、その他の電子透かし情報については概略的な埋め込み位置をその１つ手前に埋め込まれている電子透かし情報の埋め込み位置（詳細探索フェーズの処理により特定された埋め込み位置）と電子透かし情報の埋め込み周期とに基づいて計算により算出した。しかし、電子透かし情報の埋め込み側におけるＤ／Ａ変換のクロックと同抽出側におけるＡ／Ｄ変換のクロックの相違に起因した誤差の蓄積により、先頭電子透かし情報以外の電子透かし情報の概略的な埋め込み位置の算出を進めるにしたがって、計算により算出される概略的な埋め込み位置が実際の埋め込み位置からずれてくる場合がある。そこで、先頭電子透かし情報以外の電子透かし情報についても、概略探索フェーズの処理を時々行って同期シンボルの概略的な埋め込み位置を特定するようにしても良い。例えば、Ｎ（Ｎは２以上の自然数）の電子透かし情報について同期シンボルの詳細な埋め込み位置が特定される毎に、その次の電子透かし情報については概略探索フェーズの処理を行って同期シンボルの概略的な埋め込み位置を特定するのである。このような態様によれば、上記Ｄ／Ａ変換およびＡ／Ｄ変換のクロックの相違により蓄積された誤差が周期的に（すなわち、Ｎ個の電子透かし情報毎に）リセットされ、そのような誤差の蓄積に基づく不具合の発生が回避される。
【００５５】
＜Ｂ：変形＞
以上、この発明の実施形態を説明したが、この実施形態を以下のように変形しても勿論良い。
（１）上記実施形態のシンボル判定部２３２は、第１の相互相関係数と第２の相互相関係数との比較により、各フレームに埋め込まれているデータシンボルが“０”であるのか“１”であるのかを判定した。しかし、第１の相互相関係数の大きさと第２の相互相関係数の大きさに充分な差がない場合（ノイズ等に起因した誤差程度の差しかないなど有意な差がない場合）には、データシンボルの判定に支障が生じる。このような場合には１つ手前までに抽出した１または複数の電子透かし情報のデータシンボル列との関係で当該データシンボル値を推定するようにしても良い。
【００５６】
より詳細に説明すると、上記実施形態において合成音声信号に埋め込まれる電子透かし情報は「識別子」と「タイムコード」とにより構成されている。これら電子透かし情報の構成要素のうち「識別子」については各電子透かし情報間で共通であるから、相互相関係数に基づいて“０”または“１”の何れであるのかを判定することができなかったシンボルが「識別子」を構成するものであり、かつ、その１つ手前に抽出した電子透かし情報のデータシンボルが全て特定されている場合には、当該１つ手前に抽出した電子透かし情報において該当するデータシンボルのシンボル値を当該データシンボルのシンボル値とすれば良い。また、「タイムコード」については電子透かし情報毎に異なるのであるが、当該「タイムコード」は合成音声の先頭からの時間を表すことに着目し、１つ手前に抽出した電子透かし情報のタイムコードと比較してより遅い時間を表し、かつそのタイムコードの表す時刻との時間差がフレーム間隔や合成音声全体の時間長との関係で長くなりすぎたり、短くなりすぎたりすることがないように、それまでに抽出した複数の電子透かし情報のタイムコードを参照して統計的に当該データシンボルの値を定めるようにすれば良い。
【００５７】
（２）上述した実施形態では、キャリア信号に埋め込む複数の電子透かし情報の各々のシンボル列の長さを同一にしたが、電子透かし情報毎にシンボル列の長さが異なっていても良い。要は、複数の電子透かし情報の各々が一定周期でキャリア信号に埋め込まれていれば良い。また、上述した実施形態では、同期シンボルを各電子透かし情報のシンボル列の先頭に配置したが、同期シンボルの配置位置は上記シンボル列の先頭に限定されるものではない。例えば、上記シンボル列の先頭から数えてＮ（Ｎは２以上の整数）番目に同期シンボルを配置する態様であっても、同期シンボルの埋め込み先のフレームが特定されれば、当該フレームのＮ−１個手前のフレームを当該電子透かし情報の埋め込み開始位置として特定し、電子透かし情報の抽出を行うことができるからである。また、上述した実施形態では、各電子透かし情報の先頭を１つの同期シンボルで明示したが、複数個の同期シンボルにより各電子透かし情報の先頭を表わすようにしても勿論良い。
【００５８】
（３）上述した実施形態では、電子透かし情報を構成する同期シンボルを示す擬似雑音信号と各データシンボルを示す擬似雑音信号とを同じ周波数帯域に埋め込んだ。しかし、同期シンボルを示す擬似雑音信号と各データシンボルを示す擬似雑音信号とを異なる周波数帯域に埋め込むようにしても勿論良い。例えば、同期シンボルについては１１〜１３ｋＨｚの周波数帯域に埋め込み、データシンボルについては１４〜１６ｋＨｚの周波数帯域に埋め込むといった具合である。
【００５９】
（４）上述した実施形態では、「識別子」および「タイムコード」を表わすデータシンボル列の合成音声信号への埋め込みを行う際に、ＢからＱまでの合計１６系統の擬似雑音信号を巡回的に用いてその埋め込みを行ったが、例えば２系統や３系統などより少ない系統数の擬似雑音信号を巡回的に用いてその埋め込みを行うようにしても良く、また１７系統以上の擬似雑音信号を用いてその埋め込みを行っても良い。また、同一の擬似雑音信号が連続して埋め込まれることに起因する雑音の繰り返し感が特に問題とはならないのであれば、１系統の擬似雑音信号を用いてデータシンボルの埋め込みを行うようにしても良い。
【００６０】
（５）上述した実施形態の概略探索フェーズの処理においては、探索開始位置から順次切り出した１５３個のフレーム（すなわち、１透かし長分のフレーム）の各々についてＡ系統のシンボル“０”に対応する擬似雑音信号との相互相関係数を算出し、その相互相関係数が最大となるフレームを同期シンボルの概略的な埋め込み位置に対応するフレームとした。しかし、上記相互相関係数の値に対して所定の閾値を定めておき、上記１透かし長分のフレームの先頭から順に上記相互相関係数が上記閾値を上回っているか否かを判定し、最初に上記閾値を上回る相互相関係数が得られたフレームを同期シンボルの概略的な埋め込み位置に対応するフレームであるとし、以降のフレームについては相互相関係数の算出を省略するようにしても良い。このような態様によれば、最初に上記閾値を上回る相互相関係数が得られたフレーム以降のフレームについての相互相関係数の算出を省略することができる分だけ演算量が減り、より迅速に各電子透かし情報を抽出することが可能になる。
【００６１】
（６）上記実施形態では、電子透かし情報の抽出時に、擬似雑音生成部２２０が出力する擬似雑音信号を時間／周波数変換部２２１および複素共役化部２２２に処理させるようにした。しかし、予め生成した各種の擬似雑音信号に時間／周波数変換部２２１による処理を施して得られる複素スペクトラム列に複素共役化部２２２による処理を施して得られる複素スペクトラム列をメモリに記憶させておき、相関算出部２３０には当該メモリに記憶させてある複素スペクトラム列を供給するように構成しても良い。この態様では、時間／周波数変換部２２１と複素共役化部２２２とを抽出装置２００から削除することができる。
【００６２】
（７）上記実施形態では、電子透かし情報のシンボルを示すものとして合成音声信号に埋め込む擬似雑音信号に埋め込み先の周波数帯域のスペクトラムエンベロープを付けて埋め込んだが、過去複数フレームに亘る当該周波数帯域のスペクトラムエンベロープの平均の形状或いは所定の形状（例えば、一定値を表す形状）のスペクトラムエンベロープを付けて埋め込むようにしても良い。埋め込み先の周波数帯域との関係では、このような態様のほうがシンボルの抽出を行いやすい場合があるからである。
【００６３】
（８）上述した実施形態では、互いに異なる複数の電子透かし情報をキャリア信号に埋め込んだ。しかし、キャリア信号の不正利用に備えて電子透かし情報を埋め込む場合には、同一内容（例えばのキャリア信号の出所等）を表す複数の電子透かし情報をキャリア信号に埋め込んでも勿論良い。要は、一定周期で繰り返しキャリア信号に電子透かし情報を埋め込む態様であれば良い。また、上述した実施形態では、電子透かし情報の埋め込み先となるキャリア信号として音声信号を用いたが映像信号をキャリア信号としても勿論良い。
【符号の説明】
【００６４】
１０……音声合成部、１００……埋め込み装置、２００……抽出装置、１１０，２２０……擬似雑音生成部、１２０……埋め込み雑音合成部、１２１，２１１……窓掛け部、１２２，２１２，２２１……時間／周波数変換部、１２３……絶対値算出部、１２４……スペクトラムエンベロープ算出部、１２５，１５０……時間／周波数逆変換部、１２６……畳み込み部、１２７……ゲイン算出部、１２８……乗算器、１２９，２１４……バンドパスフィルタ、１３０……加算器、１４０……信号加工部、２１０……フレーム切り出し部、２１０ａ，２１０ｂ……バッファ、２１３……スペクトラム振幅平坦化部、２２２……複素共役化部、２３０……相関算出部、２３１……同期化制御部、２３２……シンボル判定部。
【図１】
0005510121.tif 000002
【図２】
0005510121.tif 000003
【図３】
0005510121.tif 000004
【図４】
0005510121.tif 000005
【図５】
0005510121.tif 000006
【図６】
0005510121.tif 000007
【図７】
0005510121.tif 000008