JP4831335B2 - 音響信号に対する情報の埋め込み装置および音響信号からの情報の抽出装置 - Google Patents

音響信号に対する情報の埋め込み装置および音響信号からの情報の抽出装置 Download PDF

Info

Publication number
JP4831335B2
JP4831335B2 JP2006242808A JP2006242808A JP4831335B2 JP 4831335 B2 JP4831335 B2 JP 4831335B2 JP 2006242808 A JP2006242808 A JP 2006242808A JP 2006242808 A JP2006242808 A JP 2006242808A JP 4831335 B2 JP4831335 B2 JP 4831335B2
Authority
JP
Japan
Prior art keywords
spectrum
window
low frequency
acoustic
frame
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2006242808A
Other languages
English (en)
Other versions
JP2008065052A (ja
Inventor
敏雄 茂出木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Dai Nippon Printing Co Ltd
Original Assignee
Dai Nippon Printing Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Dai Nippon Printing Co Ltd filed Critical Dai Nippon Printing Co Ltd
Priority to JP2006242808A priority Critical patent/JP4831335B2/ja
Publication of JP2008065052A publication Critical patent/JP2008065052A/ja
Application granted granted Critical
Publication of JP4831335B2 publication Critical patent/JP4831335B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、CD・DVD等を用いた民生・業務用途における鑑賞用のパッケージ音楽分野、放送事業者等が商業目的で配信する放送・ネットワーク音楽配信分野における音楽著作権の保護(不正コピーの監視)および音楽属性情報の提供(楽曲タイトル検索サービス)分野、ミュージアム、イベント会場における展示説明ナレーションに連動した文字情報の提供サービス分野、放送番組やCD/DVDパッケージの音声信号からURLなどの情報を抽出し、携帯電話を用いて所定のコンテンツに関連するwebサイトにアクセスして詳細情報を抽出したり、アンケートに回答したりする非接触なインターネットのゲートウェイサービス分野に関する。
最近、流れている音楽のタイトル等を知ることができる楽曲属性情報の提供サービスとして、放送された音楽に対して日時と地域を放送局に照会したり、携帯電話で流れている音楽断片を録音してデータベースに登録されているメロディーと照合したりするサービスが実用化されている(例えば、特許文献1、2参照)。
特許文献1、2に記載の発明では、録音した音楽の断片と、データベースに登録されているメロディーと照合するため、データベースに登録される楽曲が増えると、処理負荷が増え、類似したメロディーを誤判定する可能性が増える。そこで、曲名やアーチスト情報などの楽曲属性情報を不可聴な電子透かしとして音響信号に埋め込む手法も提案されている(例えば、特許文献3〜6参照)。
特許文献1〜6に記載の手法では、埋め込み可能な情報量が少なく、音質が少なからず劣化し、各種信号処理により透かし情報が消失し、またアナログコピーに対しては、透かし検出が困難であるという問題がある。そこで、本出願人は、複数チャンネル有する音響信号の低周波成分の比率を属性情報のビット値に応じて変更することにより、属性情報(付加情報)を埋め込む手法を提案した(特許文献7参照)。
特許文献7に記載の発明は、ステレオ音響信号にのみ対応したものであったが、本出願人は、モノラル音響信号にも対応可能なように改良を加え、音響信号の所定区間における低周波成分の先頭部分と後部部分のスペクトル強度の割合を変更することにより、付加情報を埋め込む手法を提案した(特許文献8参照)。
特開2002−259421号公報 特開2003−157087号公報 特開平11−145840号公報 特開平11−219172号公報 特許第3321767号公報 特開2003−99077号公報 特願2005−5157号 特願2005−303898号
上記特許文献8に記載の発明では、音響信号の所定区間において前部と後部を分けるために、互いに非対象な窓関数を利用している。この前部と後部における信号の特徴の違いにより、抽出側では、所定区間における前部と後部の位置を特定し易くなり、位置ずれを防ぐことができる。しかし、信号の状態によっては、抽出側で、完全には前部と後部の区別をすることができず、位置ずれを防ぐ手法としては不十分である。
そこで、本発明は、音響信号に付加情報を埋め込む場合に、抽出位置を特定し易く、抽出精度を高めることが可能な音響信号に対する情報の埋め込み装置、音響信号からの情報の抽出装置を提供することを課題とする。
上記課題を解決するため、本発明では、時系列のサンプル列で構成される音響信号に対して、付加情報を聴取不能な状態で埋め込む装置であって、前記音響信号より、所定数のサンプルを音響フレームとして読み込む音響フレーム読込手段と、前記音響フレームに対して第1窓関数、第2窓関数、第3窓関数を用いてそれぞれ周波数変換を行い、前記第1窓関数に対応するスペクトルである第1窓スペクトル、前記第2窓関数に対応するスペクトルである第2窓スペクトル、前記第3窓関数に対応するスペクトルである第3窓スペクトルを生成する周波数変換手段と、前記生成された第1窓スペクトルから低周波領域におけるスペクトル集合を抽出するとともに、前記第3窓スペクトルから低周波領域におけるスペクトル集合を、前記第1窓スペクトルから抽出したスペクトル集合と所定周波数だけオフセットさせて抽出し、前記埋め込むべき付加情報の情報配列に基づいて、前記抽出した各スペクトル集合の強度を変更するとともに、中央の第2窓関数に対応する低周波成分を除去する低周波成分変更手段と、前記各スペクトル集合の強度が変更された低周波領域を含む各窓スペクトルに対して周波数逆変換を行って、改変音響フレームを生成する周波数逆変換手段と、前記生成された改変音響フレームを順次出力する改変音響フレーム出力手段を有する音響信号に対する情報の埋め込み装置を提供する。
また、本発明では、請求項1から請求項11のいずれかに記載の音響信号に対する情報の埋め込み装置により聴取不能な状態で埋め込まれた付加情報を音響信号から抽出する装置であって、前記音響信号の所定区間をデジタル化して、所定数のサンプルで構成される音響フレームを獲得する音響フレーム獲得手段と、前記音響フレームに対して前記第1窓関数、前記第2窓関数、前記第3窓関数を用いてそれぞれ周波数変換を行い、前記第1窓関数に対応するスペクトルである第1窓スペクトル、前記第2窓関数に対応するスペクトルである第2窓スペクトル、前記第3窓関数に対応するスペクトルである第3窓スペクトルを生成する周波数変換手段と、前記生成された第1窓スペクトルから低周波領域におけるスペクトル集合を抽出するとともに、前記第3窓スペクトルから低周波領域におけるスペクトル集合を、前記第1窓スペクトルから抽出したスペクトル集合と所定周波数だけオフセットさせて抽出し、抽出したスペクトル集合の強度を算出し、当該強度の関係に基づいて、所定の符号を出力する符号化手段と、前記出力された符号に対応する情報配列を、所定の規則により変換して付加情報を抽出する付加情報抽出手段を有する音響信号からの情報の抽出装置を提供する。
本発明によれば、音響信号の低周波領域からスペクトル集合を抽出する際、所定区間における前部のスペクトル集合と後部のスペクトル集合を所定周波数だけオフセットさせて抽出し、埋め込むべき付加情報の情報配列に基づいて、抽出したスペクトル集合の強度を変更するようにしたので、抽出側において、所定区間の前部と後部の区別をより正確に行うことができ、抽出精度を高めることが可能となるという効果を奏する。
以下、本発明の実施形態について図面を参照して詳細に説明する。
(1.1.音響信号に対する情報の埋め込み装置)
まず、本発明第1の実施形態について説明する。図1は、本発明第1、第2の実施形態に共通の音響信号に対する情報の埋め込み装置の構成を示す機能ブロック図である。図1において、10は音響フレーム読込手段、20は周波数変換手段、30は低周波成分変更手段、40は周波数逆変換手段、50は改変音響フレーム出力手段、60は記憶手段、61は音響信号記憶部、62は付加情報記憶部、63は改変音響信号記憶部、70は付加情報読込手段である。なお、図1に示す装置は、ステレオ音響信号、モノラル音響信号の両方に対応可能であるが、ここでは、ステレオ音響信号に対して処理を行う場合について説明していく。
音響フレーム読込手段10は、付加情報の埋め込み対象とする元のステレオ音響信号の各チャンネルから所定数のサンプルを1フレームとして読み込む機能を有している。周波数変換手段20は、音響フレーム読込手段10が読み込んだ音響信号のフレームをフーリエ変換等により周波数変換してスペクトルを生成する機能を有している。低周波成分変更手段30は、生成されたスペクトルの低周波領域から8つのスペクトル集合を抽出し、付加情報記憶部62から抽出した付加情報に基づいて、各スペクトル集合の強度を変更する機能を有している。周波数逆変換手段40は、強度が変更されたスペクトル集合を含むスペクトルに対して周波数逆変換を行うことにより、改変音響フレームを生成する機能を有している。改変音響フレーム出力手段50は、生成された改変音響フレームを順次出力する機能を有している。記憶手段60は、付加情報を埋め込む対象とするステレオ音響信号を記憶した音響信号記憶部61と、ビット配列として構成され、ステレオ音響信号に埋め込まれる付加情報を記憶した付加情報記憶部62と、付加情報埋め込み後の改変音響信号を記憶する改変音響信号記憶部63を有しており、その他処理に必要な各種情報を記憶するものである。付加情報読込手段70は、付加情報記憶部62から付加情報を抽出する機能を有している。なお、付加情報とは、音響情報に付加して埋め込むべき情報であり、タイトルやアーティスト名等の属性情報、および属性情報以外の他の情報を含むものである。図1に示した各構成手段は、現実にはコンピュータおよびその周辺機器等のハードウェアに専用のプログラムを搭載することにより実現される。すなわち、コンピュータが、専用のプログラムに従って各手段の内容を実行することになる。
(1.2.埋め込み装置の処理動作)
次に、図1に示した音響信号に対する情報の埋め込み装置の第1の実施形態における処理動作ついて説明する。ここでは、音響信号として、L(左)、R(右)の2チャンネルを有するステレオ音響信号に対して処理を行う場合について説明していく。音響フレーム読込手段10は、音響信号記憶部61に記憶されたステレオ音響信号の左右の各チャンネルから、それぞれ所定数のサンプルを1音響フレームとして読み込む。音響フレーム読込手段10が読み込む1音響フレームのサンプル数は、適宜設定することができるが、サンプリング周波数が44.1kHzの場合、4096サンプル程度とすることが望ましい。したがって、音響フレーム読込手段10は、左チャンネル、右チャンネルについてそれぞれ4096サンプルずつ、順次音響フレームとして読み込んでいくことになる。
音響フレームとしては、AタイプとBタイプが存在する。Aタイプの音響フレーム、Bタイプの音響フレームは、それぞれ同タイプの先行する音響フレームの最後のサンプルの次のサンプルを先頭サンプルとして設定される。そして、AタイプとBタイプの音響フレームは互いに所定数(本実施形態では2048)のサンプルを重複して設定される。例えば、Aタイプの音響フレームを先頭からA1、A2、A3…とし、Bタイプの音響フレームを先頭からB1、B2、B3…とすると、A1はサンプル1〜4096、A2はサンプル4097〜8192、A3はサンプル8193〜12288、B1はサンプル2049〜6144、B2はサンプル6145〜10240、B3はサンプル10241〜14336となる。なお、AタイプとBタイプは相対的なものであるので、どちらが先であっても良い。すなわち、上記とは逆にA1がサンプル2049〜6144、A2がサンプル6145〜10240、A3がサンプル10241〜14336、B1がサンプル1〜4096、B2がサンプル4097〜8192、B3がサンプル8193〜12288であっても良い。
周波数変換手段20は、音響フレーム読込手段10が読み込んだ音響フレームに対して、周波数変換を行って、その音響フレームのスペクトルであるフレームスペクトルを得る。具体的には、窓関数を利用して周波数変換を行う。周波数変換としては、フーリエ変換、ウェーブレット変換その他公知の種々の手法を用いることができる。本実施形態では、フーリエ変換を用いた場合を例にとって説明する。
一般に、所定の信号に対してフーリエ変換を行う場合、信号を所定の長さに区切って行う必要があるが、この場合、所定長さの信号に対してそのままフーリエ変換を行うと、擬似高調波成分が発生する。そこで、一般にフーリエ変換を行う場合には、ハニング窓と呼ばれる窓関数を用いて、信号の値を変化させた後、変化後の値に対してフーリエ変換を実行する。
本実施形態では、擬似高調波成分の発生を防止するためだけではなく、一つの音響フレームから、情報を埋め込むための複数の状態を作り出すため、複数の窓関数を用意し、一つの音響フレームに対して、各窓関数を利用してフーリエ変換を行い、複数のスペクトルを得る。複数の窓関数として、より良い効果を得るため、本実施形態では、図2(b)〜(d)に示したような第1窓関数W(1,i)、第2窓関数W(2,i)、第3窓関数W(3,i)を用意し、抽出側で認識し易いようにした。第1窓関数W(1,i)は、音響フレームの前部を抽出するためのものであり、図2(b)に示すように前部の所定のサンプル番号iの位置において、最大値1をとり、後部においては、最小値0をとるように設定されている。どのサンプル番号の場合に最大値をとるかについては、窓関数W(1,i)の設計によって異なってくるが、本実施形態では、後述する〔数式1〕で定義される。窓関数W(1,i)を乗じることにより、図2(a)に示すような音響フレームの信号波形は、図2(f)に示すように、前部に信号成分が残り、後部の信号成分が削除されたものとなり、これがフーリエ変換対象となる。
また、第2窓関数W(2,i)は、音響フレームの中央部を抽出するためのものであり、図2(c)に示すように、中央部の所定のサンプル番号iの位置において、最大値1をとり、前部、後部においては、最小値0をとるように設定されている。どのサンプル番号の場合に最大値をとるかについては、窓関数W(2,i)の設計によって異なってくるが、本実施形態では、後述する〔数式2〕で定義される。窓関数W(2,i)を乗じることにより、図2(a)に示すような音響フレームの信号波形は、図2(g)に示すように、中央部に信号成分が残り、前部と後部の信号成分が除去されたものとなり、これがフーリエ変換対象となる。
また、第3窓関数W(3,i)は、音響フレームの後部を抽出するためのものであり、図2(d)に示すように、前部においては最小値0をとり、後部の所定のサンプル番号iの位置において、最大値1をとるように設定されている。どのサンプル番号の場合に最大値をとるかについては、窓関数W(3,i)の設計によって異なってくるが、本実施形態では、後述する〔数式3〕で定義される。窓関数W(3,i)を乗じることにより、図2(a)に示すような音響フレームの信号波形は、図2(h)に示すように、前部の信号成分が除去され、後部に信号成分が残ったものとなり、これがフーリエ変換対象となる。このように前部、中央部、後部を抽出した後、フーリエ変換を実行するため、前部、中央部、後部に対応したスペクトルが得られることになる。1つの音響フレームにビット値を埋め込むためには、本来、前部と後部の2つに分けられれば良いのであるが、抽出側においては、必ずしも、信号を同期して読み込むことができるとは限らず、したがって、前部と後部をはっきりと区別するため、本発明では、埋め込み時に中央部の信号成分を常に除去し、前部と後部を時間的に分離することとしている(ただし、抽出時は前部と後部だけを解析すればよく、中央部は無視してよい)。本発明において用いる窓関数は、窓関数W(1,i)と窓関数W(3,i)が左右非対称であるため、抽出時において、埋め込まれていた情報の誤認識が起こりにくくなる。
また、本発明では、音響フレームを重複させて読み込み、奇数フレーム(または偶数フレーム)については、窓関数W(1,i)、W(2,i)、W(3,i)を用い、偶数フレーム(または奇数フレーム)については、図2(e)に示したような窓関数W(4,i)を用いるようにした。
なお、本発明においては、音響フレームは重複して読み込まれる。すなわち、奇数番目の音響フレームと偶数番目の音響フレームは、所定数のサンプルを重複して読み込む。上記のように、奇数フレームと偶数フレームでは、用いられる窓関数が異なるが、奇数フレームと偶数フレームは単に奇数か偶数かの違いだけであるため、どちらに対して処理をどちらの処理を行っても良い。したがって、本明細書では、奇数フレーム、偶数フレームの一方をAタイプフレーム、他方をBタイプフレームと呼ぶことにする。本実施形態では、奇数フレームをAタイプフレーム、偶数フレームをBタイプフレームとして説明するが、逆に偶数フレームをAタイプフレーム、奇数フレームをBタイプフレームとしても良い。
本実施形態では、窓関数W(1,i)〜W(4,i)は、以下の〔数式1〕〜〔数式4〕で定義される。なお、図2において、横軸は時間軸(i)である。iは、後述するように、各音響フレーム内のN個のサンプルに付した通し番号であるため時刻tに比例している。また、図2(a)(f)(g)(h)(i)において縦軸は信号の振幅値(レベル)を示す。図2(b)〜(e)において縦軸は窓関数W(1,i)、W(2,i)、W(3,i)、W(4,i)の値を示しており、W(1,i)、W(2,i)、W(3,i)、W(4,i)の最大値はいずれも1である。
〔数式1〕
i≦3N/8のとき、W(1,i)=0.5−0.5cos(8πi/(3N))
3N/8<i≦N/2のとき、W(1,i)=0.5−0.5cos(8π(i−N/4)/N)
i>N/2のとき、W(1,i)=0.0
〔数式2〕
i≦3N/8のとき、W(2,i)=0.0
3N/8<i≦N/2のとき、W(2,i)=0.5−0.5cos(8π(i−3N/8)/N)
N/2<i≦3N/4のとき、W(2,i)=0.5−0.5cos(4π(i−N/4)/N)
i>3N/4のとき、W(2,i)=0.0
〔数式3〕
i≦N/2のとき、W(3,i)=0.0
i>N/2のとき、W(3,i)=0.5−0.5cos(4π(i−N/2)/N)
〔数式4〕
i≦N/4のとき、W(4,i)=0.0
N/4<i≦N/2のとき、W(4,i)=0.5−0.5cos(4π(i−N/4)/N)
N/2<i≦7N/8のとき、W(4,i)=0.5−0.5cos(8π(i−N/8)/(3N))
i>7N/8のとき、W(4,i)=0.0
なお、図2および上記〔数式1〕〜〔数式4〕から明らかなように、窓関数W(1,i)とW(3,i)は、互いに非対称な形状である。これは、後述する抽出側において、両者の識別を容易にするためである。また、窓関数W(1,i)、W(2,i)、W(3,i)は、iが所定の値のときに最大値1をとり、iがその他の値をとる場合には、iの値に応じて単調増加、または単調減少する窓関数を分割したものであるため、窓関数W(1,i)とW(3,i)が定まると、窓関数W(2,i)も必然的に定まる。このため、窓関数W(2,i)は左右非対称の形状となっている。
本発明においては、奇数フレームと偶数フレームを、所定サンプルずつ重複して読み込むため、情報の埋め込みを行った後、音響信号に復元する際に、窓関数を乗じた奇数フレームと、窓関数を乗じた偶数フレームの重複サンプルを加算した場合に、ほぼ元の値に戻るようにしなければならない。このため、窓関数W(4,i)の形状は、窓関数W(1,i)、W(2,i)、W(3,i)の値に応じて必然的に定まる。すなわち、奇数フレームと偶数フレームの重複部分において、窓関数W(1,i)、W(2,i)、W(3,i)、W(4,i)を加算すると、全区間固定値1になるように定義されている。
周波数変換手段20が、Aタイプの音響フレームに対してフーリエ変換を行う場合は、左チャンネル信号Xl(i)、右チャンネル信号Xr(i)(i=0,…,N−1)に対して、3つの窓関数W(1,i)、W(2,i)、W(3,i)を用いて、以下の〔数式5〕に従った処理を行い、左チャンネルに対応する変換データの実部Al(1,j)、Al(2,j)、Al(3,j)、虚部Bl(1,j)、Bl(2,j)、Bl(3,j)、右チャンネルに対応する変換データの実部Ar(1,j)、Ar(2,j)、Ar(3,j)、虚部Br(1,j)、Br(2,j)、Br(3,j)を得る。なお、窓関数W(1,i)、W(2,i)、W(3,i)は、それぞれ音響フレームの前部(先頭)付近、中央付近、後部付近において値が大きくなる関数となっている。
〔数式5〕
Al(1,j)=Σi=0,…,N-1W(1,i)・Xl(i)・cos(2πij/N)
Bl(1,j)=Σi=0,…,N-1W(1,i)・Xl(i)・sin(2πij/N)
Al(2,j)=Σi=0,…,N-1W(2,i)・Xl(i)・cos(2πij/N)
Bl(2,j)=Σi=0,…,N-1W(2,i)・Xl(i)・sin(2πij/N)
Al(3,j)=Σi=0,…,N-1W(3,i)・Xl(i)・cos(2πij/N)
Bl(3,j)=Σi=0,…,N-1W(3,i)・Xl(i)・sin(2πij/N)
Ar(1,j)=Σi=0,…,N-1W(1,i)・Xr(i)・cos(2πij/N)
Br(1,j)=Σi=0,…,N-1W(1,i)・Xr(i)・sin(2πij/N)
Ar(2,j)=Σi=0,…,N-1W(2,i)・Xr(i)・cos(2πij/N)
Br(2,j)=Σi=0,…,N-1W(2,i)・Xr(i)・sin(2πij/N)
Ar(3,j)=Σi=0,…,N-1W(3,i)・Xr(i)・cos(2πij/N)
Br(3,j)=Σi=0,…,N-1W(3,i)・Xr(i)・sin(2πij/N)
周波数変換手段20が、Bタイプの音響フレームに対してフーリエ変換を行う場合は、左チャンネル信号Xl(i)、右チャンネル信号Xr(i)(i=0,…,N−1)に対して、窓関数W(4,i)を用いて、以下の〔数式6〕に従った処理を行い、左チャンネルに対応する変換データの実部Al(4,j)、虚部Bl(4,j)、右チャンネルに対応する変換データの実部Ar(4,j)、虚部Br(4,j)を得る。
〔数式6〕
Al(4,j)=Σi=0,…,N-1W(4,i)・Xl(i)・cos(2πij/N)
Bl(4,j)=Σi=0,…,N-1W(4,i)・Xl(i)・sin(2πij/N)
Ar(4,j)=Σi=0,…,N-1W(4,i)・Xr(i)・cos(2πij/N)
Br(4,j)=Σi=0,…,N-1W(4,i)・Xr(i)・sin(2πij/N)
上記〔数式5〕〔数式6〕において、iは、各音響フレーム内のN個のサンプルに付した通し番号であり、i=0,1,2,…N−1の整数値をとる。また、jは周波数の値について、値の小さなものから順に付した通し番号であり、iと同様にj=0,1,2,…N/2−1の整数値をとる。サンプリング周波数が44.1kHz、N=4096の場合、jの値が1つ異なると、周波数が10.8Hz異なることになる。
上記〔数式5〕〔数式6〕に従った処理を実行することにより、各音響フレームの信号成分に窓関数を作用させた信号成分についてのスペクトルが得られる。続いて、低周波成分変更手段30が、生成されたスペクトルの低周波領域から所定数のスペクトル集合を抽出する。人間の聴覚は、200〜300Hz程度までの低周波成分については、方向性を感知しにくくなっていることが知られている(コロナ社1990年10月30日発行「音響工学講座1.基礎音響工学、日本音響学会編」p247図9・26参照)。したがって、特許文献7〜9に記載の発明においては、低周波成分を200〜300Hz程度以下としていた。しかし、本出願人による研究の結果、最低周波数帯における成分を削除した場合は、400Hz付近においても方向性を感知しにくくなることがわかった。そこで、本実施形態では、0〜150Hz付近の最低周波数帯の成分を除去し、150〜400Hz程度の低周波領域に情報を埋め込むことにしている。さらに、本実施形態では、埋め込み対象とする低周波領域において4つの低周波数帯を設定し、それぞれに対して加工を行うようにしている。
ここで、図3に、本実施形態による低周波成分の状態を1音響フレーム単位で示す。図3に示す各音響フレームにおいて、横軸は時間方向、縦軸は周波数方向を示している。また、網掛けされた部分は、低周波成分が存在している部分を示し、網掛けが濃いほど成分強度が強いことを示している。本実施形態では、低周波領域のうち4つの低周波数帯の分布と、低周波成分のうち時間的に前部の成分と後部の成分の分布を組み合わせて埋め込む符号の区別を行う。
本実施形態では、図3(a)に示すような原状態の低周波成分に対して、符号0を埋め込む場合、L-chの信号の低周波成分を全て除去し、除去した成分と同等の成分をR-chの信号の低周波成分に加算して図3(b)に示すような状態に変更する。なお、図3においては、第1窓関数により得られる前部において縦軸の周波数方向が6つに区分されており、第3窓関数により得られる後部において縦軸の周波数方向が5つに区分されている。前部、後部のいずれにおいても、最下部に示すG1、G2はギャップ領域である。さらに、前部においては、最上部にギャップ領域G10が設けられている。これらのギャップ領域は、抽出対象であるL-chの信号においては、常に成分が除去され、除去された成分と同等の成分がR-chの信号の低周波成分に加算される。最下部にギャップ領域を設けることにより、埋め込み可能な低周波成分の上限を高くすることができる。
前部、後部において区分された低周波領域のうちギャップ領域以外の4つを、低い方から順に、第1低周波数帯、第2低周波数帯、第3低周波数帯、第4低周波数帯と定義する。図3(b)に示すように、前部の第1低周波数帯におけるスペクトル集合をSP1、前部の第2低周波数帯におけるスペクトル集合をSP3、前部の第3低周波数帯におけるスペクトル集合をSP5、前部の第4低周波数帯におけるスペクトル集合をSP7とし、後部の第1低周波数帯におけるスペクトル集合をSP2、後部の第2低周波数帯におけるスペクトル集合をSP4、後部の第3低周波数帯におけるスペクトル集合をSP6、後部の第4低周波数帯におけるスペクトル集合をSP8で表現することとする。
図3において、ギャップ領域G1、G2の下限は直流成分すなわち周波数0に設定されており、スペクトル集合SP1の下限は周波数F1、スペクトル集合SP8の上限は周波数F2に設定されている。また、後部のスペクトル集合SP2、SP4、SP6、SP8は、前部のスペクトル集合SP1、SP3、SP5、SP7の周波数範囲にそれぞれ周波数Fdだけオフセットした周波数範囲となっている。例えば、スペクトル集合SP1の下限が周波数F1である場合、スペクトル集合SP2の下限は周波数(F1+Fd)である。また、スペクトル集合SP8の上限が周波数F2である場合、スペクトル集合SP7の上限が周波数(F2−Fd)である。
本実施形態では、上記のように各音響フレームの低周波領域における8つのスペクトル集合の強度を変更することにより、低周波成分を多数の状態に設定する。具体的には、8つのスペクトル集合のうち4つを強度が大きい状態、4つを強度が小さい状態に変更することにより、70通りの状態に設定する。したがって、本実施形態では、1音響フレームに70パターンの情報を埋め込むことが可能となる。8つの各スペクトル集合の状態を、強度が大きい状態、または強度が小さい状態のいずれかに変化させる場合、8つのスペクトル集合全てが強度が小さい状態である場合を除くと、理論的には255パターンの情報を埋め込むことが可能である。しかし、この場合、1つのスペクトル集合だけ強度が大きい状態であり、他の7つのスペクトル集合が強度が小さい状態となる等、低周波成分全体としての強度が小さくなった場合には、抽出側において、正しい抽出が困難となる場合が多い。そのため、本実施形態では、いずれの状態とする場合であっても、パターンを埋め込む場合には、8つのスペクトル集合のうち、4つのスペクトル集合を強度が大きい状態に設定することとしている。
本実施形態では、1音響フレームに70パターンの情報を埋め込むことができるため、ビット配列をそのまま埋め込む場合には、6ビットまでの情報ならば対応することが可能になる。しかし、通常コンピュータ等で扱っている情報は最低でも7ビット以上になっていることが多い。したがって、本実施形態では、その点についても工夫をしている。具体的には、7ビットで表現されているASCIIコードのうち、目的によっては使用しないコードを削除した70パターンに変換する処理を行っている。本実施形態で行うコード変換表を図4に示す。
図4において、ASCIIコードは16進表記としている。characterは、そのコードで表現されるcharacterを示している。パターンは埋め込み対象とする70通りのパターン番号を示している。図4に示すようなコード変換表を用いれば、アルファベット全てとほとんどの記号を網羅することができ、URL等の情報を埋め込むには十分である。
本発明で、パターン1を埋め込む場合、図3(c)に示すように、L-chの信号のSP2、SP4、SP6、SP8の成分を除去し、除去した成分と同等の成分をR-chの信号に加算する。また、L-chの信号のSP1、SP3、SP5、SP7の成分強度を高め、R-chの信号の前部の各スペクトル集合の強度を弱めている。この状態を“状態1”と呼ぶことにする。パターン70を埋め込む場合は、図3(d)に示すように、L-chの信号のSP1、SP2、SP5、SP6の成分を除去し、除去した成分と同等の成分をR-chの信号に加算する。また、L-chの信号のSP2、SP4、SP6、SP8の成分強度を高め、R-chの信号の対応する各スペクトル集合の強度を弱めている。
パターン1〜70と各スペクトル集合の強度との関係を図5に示す。図5において、各スペクトル集合SP1〜SP8の値が“1”は、除去されていない状態、“0”は、除去された状態を示している。
ここで、第1の実施形態による周波数成分全体の状況を図6に示す。図6において、上下方向は周波数方向であり、j=2047は22.05kHzに対応している。図6においては、前部においては、最低周波数帯をj=0〜14(0〜約150Hz)、埋め込み対象とする低周波数領域のうち、第1低周波数帯をj=15〜20(約160〜220Hz)、第2低周波数帯をj=21〜26(約230〜280Hz)、第3低周波数帯をj=27〜32(約290〜340Hz)、第4低周波数帯をj=33〜38(約350〜410Hz)とした場合を示している。また、後部においては、最低周波数帯をj=0〜17(0〜約180Hz)、埋め込み対象とする低周波数領域のうち、第1低周波数帯をj=18〜23(約190〜250Hz)、第2低周波数帯をj=24〜29(約260〜310Hz)、第3低周波数帯をj=30〜35(約320〜380Hz)、第4低周波数帯をj=36〜41(約390〜440Hz)とした場合を示している。また、網掛けの濃さは、信号成分の強度を概念的に示したものである。j=42以上の高周波成分に対しては、変更を加えず、原音を維持することとしている。
また、図6においても、図3と同様、網掛けされた部分は、周波数成分が存在している部分を示し、網掛けが濃いほど成分強度が強いことを示している。また、L(左)信号、R(右)信号それぞれにおいては、左右方向を第1窓関数〜第3窓関数に対応した3つの時間帯に対応させている。各時間帯の中においては、左右方向は各信号成分の強度を表現している。
図6は、L信号におけるSP2、SP3、SP6、SP7の成分強度を高め、SP1、SP4、SP5、SP8の成分強度を弱めた場合を示している。図3では、単純に各スペクトル集合の強度の強弱のみを示したが、図6では、各周波数(整数jに比例)に対応して示している。本発明では、各低周波数帯において、その周波数範囲における中央付近における値が大きくなるように周波数方向の値に応じて変化する窓関数Fを乗じるため、SP2、SP3、SP6、SP7の成分において、周波数方向の中央部分の成分が大きくなっていることがわかる。ただし、図6は、各低周波数帯における周波数の強度が中央部分で大きくなることをイメージ的に表現したものであり、図6のようにきれいな円弧になるのは、低周波数帯内の各jに対応した成分の値が全て等しい場合である。現実には、各低周波数帯における各jに対応した成分の値に応じて変化する。
低周波成分変更手段30は、Aタイプの音響フレームについて、付加情報読込手段70が読み込んだビット値に応じて、スペクトル集合の強度を変更する処理を行う。本実施形態では、付加情報を1バイトずつ読み込み、これを70通りのビットパターンに変換し、70通りのパターンのいずれであるかを1音響フレームに対して埋め込む。埋め込まれるパターンは、図5に示した通り“10101010”〜“00110011”の70通りがある。本実施形態では、これらをパターン1〜パターン70と定義する。そして、低周波成分変更手段30は、読み込んだパターン1〜パターン70に応じて、低周波成分の状態を状態1〜状態70のいずれかに変更する。具体的には、まず、低周波成分変更手段30は、上記〔数式5〕により求めた左チャンネルの実部Al(1,j)、Al(3,j)、虚部Bl(1,j)、Bl(3,j)、右チャンネルの実部Ar(1,j)、Ar(3,j)、虚部Br(1,j)、Br(3,j)を利用して、以下の〔数式7〕により、強度値E1〜E8を算出する。
〔数式7〕
1=Σj=m,m+P-1{Al(1,j)2+Bl(1,j)2+Ar(1,j)2+Br(1,j)2}・F(j−m)・C
2=Σj=m+d,m+d+P-1{Al(3,j)2+Bl(3,j)2+Ar(3,j)2+Br(3,j)2}・F(j−m−d)・C
3=Σj=m+P,m+2P-1{Al(1,j)2+Bl(1,j)2+Ar(1,j)2+Br(1,j)2}・F(j−m−P)・C
4=Σj=m+d+P,m+d+2P-1{Al(3,j)2+Bl(3,j)2+Ar(3,j)2+Br(3,j)2}・F(j−m−d−P)・C
5=Σj=m+2P,m+3P-1{Al(1,j)2+Bl(1,j)2+Ar(1,j)2+Br(1,j)2}・F(j−m−2P)・C
6=Σj=m+d+2P,m+d+3P-1{Al(3,j)2+Bl(3,j)2+Ar(3,j)2+Br(3,j)2}・F(j−m−d−2P)・C
7=Σj=m+3P,m+4P-1{Al(1,j)2+Bl(1,j)2+Ar(1,j)2+Br(1,j)2}・F(j−m−3P)・C
8=Σj=m+d+3P,m+d+4P-1{Al(3,j)2+Bl(3,j)2+Ar(3,j)2+Br(3,j)2}・F(j−m−d−3P)・C
上記〔数式7〕中のF(j)は周波数方向の値に応じて変化する窓関数であり、以下の〔数式8〕で定義されるものである。
〔数式8〕
F(j)=1.0−(j−Pr)2/Pr2
上記〔数式8〕において、Pr=P/2である。この窓関数F(j)が描く曲線を図7に示す。図7に示すように、窓関数F(j)は、第1〜第4の各低周波数帯における周波数の中心部分に重みを大きくした関数となっている。実際に窓関数F(j)を適用する際には、各低周波数帯の下限であるm、m+d、m+P、m+d+P、m+2P、m+d+2P、m+3P、m+d+3Pだけjの値を補正して適用することになる。なお、dはオフセットさせる周波数Fdに対応する値である。
また、上記〔数式7〕中のCは固定係数であり、周波数窓関数を利用することにより低減する強度を補正する。この固定係数Cは、以下の〔数式9〕で定義される。
〔数式9〕
C=1.0/Σj=0,P-1F(j)
上記〔数式7〕において、mはギャップ領域を除く前部の低周波数帯の下限の成分の番号、Mは後部の低周波領域の上限の成分の番号であり、d=(M−m)/9、P=2dである。なお、d、Pが整数にならない場合、切捨て処理を行う。m=15、M=42と設定すると、d=3、P=6となり、図6に例示したスケールと同じになる。上記〔数式7〕により算出されたE1〜E8は音響フレームの所定の範囲におけるスペクトル集合の成分強度の強度値を示すことになる。続いて、この強度値E1〜E8がレベル下限値Lev以上であるかどうかの判定を行う。レベル下限値Levは、音響信号Xl(i)、Xr(i)の振幅最大値が1に正規化されており、M=40程度に設定されている場合、0.25に設定する。このLev=0.5という値は、経験的にアナログ変換への耐性が維持できるレベルであり、低周波成分が少ない場合は適宜下げることになるが、その場合は、アナログ変換により検出精度も低下することになる。
強度値E1〜E8がレベル下限値Lev以上であるかどうかを判断するのは、信号の強度が小さいと、信号を変化させても、その変化を抽出側で検出することができないためである。すなわち、各低周波スペクトル成分を十分な大きさとすることができるかどうかを判断することになる。
1、E3、E5、E7がレベル下限値Levより大きく、埋め込むべきパターンが“パターン1”である場合、以下の〔数式10〕に従った処理を実行することにより、低周波成分の状態を“状態1”、すなわち、図3(c)に示したような状態に変更する。
〔数式10〕
j=m+d〜m+d+P−1、m+d+P〜m+d+2P−1、m+d+2P〜m+d+3P−1、m+d+3P〜m+d+4P−1の各成分に対して
Al´(3,j)=0
Bl´(3,j)=0
E(3,j)={Al(3,j)2+Bl(3,j)2+Ar(3,j)2+Br(3,j)21/2
Ar´(3,j)=Ar(3,j)・E(3,j)/{Ar(3,j)2+Br(3,j)21/2
Br´(3,j)=Br(3,j)・E(3,j)/{Ar(3,j)2+Br(3,j)21/2
さらに、j=m,...,m+P−1の各成分に対して、
E(1,j)={Al(1,j)2+Bl(1,j)2+Ar(1,j)2+Br(1,j)21/2
Al´(1,j)=F(j−m)・Al(1,j)・E(1,j)/{Al(1,j)2+Bl(1,j)21/2
Bl´(1,j)=F(j−m)・Bl(1,j)・E(1,j)/{Al(1,j)2+Bl(1,j)21/2
Ar´(1,j)=(1.0−F(j−m))・Al(1,j)・E(1,j)/{Al(1,j)2+Bl(1,j)21/2
Br´(1,j)=(1.0−F(j−m))・Bl(1,j)・E(1,j)/{Al(1,j)2+Bl(1,j)21/2
j=m+P,...,m+2P−1の各成分に対して、
E(1,j)={Al(1,j)2+Bl(1,j)2+Ar(1,j)2+Br(1,j)21/2
Al´(1,j)=F(j−m−P)・Al(1,j)・E(1,j)/{Al(1,j)2+Bl(1,j)21/2
Bl´(1,j)=F(j−m−P)・Bl(1,j)・E(1,j)/{Al(1,j)2+Bl(1,j)21/2
Ar´(1,j)=(1.0−F(j−m−P))・Al(1,j)・E(1,j)/{Al(1,j)2+Bl(1,j)21/2
Br´(1,j)=(1.0−F(j−m−P))・Bl(1,j)・E(1,j)/{Al(1,j)2+Bl(1,j)21/2
j=m+2P,...,m+3P−1に対して、
E(1,j)={Al(1,j)2+Bl(1,j)2+Ar(1,j)2+Br(1,j)21/2
Al´(1,j)=F(j−m−2P)・Al(1,j)・E(1,j)/{Al(1,j)2+Bl(1,j)21/2
Bl´(1,j)=F(j−m−2P)・Bl(1,j)・E(1,j)/{Al(1,j)2+Bl(1,j)21/2
Ar´(1,j)=(1.0−F(j−m−2P))・Al(1,j)・E(1,j)/{Al(1,j)2+Bl(1,j)21/2
Br´(1,j)=(1.0−F(j−m−2P))・Bl(1,j)・E(1,j)/{Al(1,j)2+Bl(1,j)21/2
j=m+3P,...,m+4P−1の各成分に対して、
E(1,j)={Al(1,j)2+Bl(1,j)2+Ar(1,j)2+Br(1,j)21/2
Al´(1,j)=F(j−m−3P)・Al(1,j)・E(1,j)/{Al(1,j)2+Bl(1,j)21/2
Bl´(1,j)=F(j−m−3P)・Bl(1,j)・E(1,j)/{Al(1,j)2+Bl(1,j)21/2
Ar´(1,j)=(1.0−F(j−m−3P))・Al(1,j)・E(1,j)/{Al(1,j)2+Bl(1,j)21/2
Br´(1,j)=(1.0−F(j−m−3P))・Bl(1,j)・E(1,j)/{Al(1,j)2+Bl(1,j)21/2
上記〔数式10〕においては、j=m〜m+P−1、m+P〜m+2P−1、m+2P〜m+3P−1、m+3P〜m+4P−1において、Al´(3,j)、Bl´(3,j)を共に0としている。これは、図3(c)の上段に示すように、L-chにおいて、SP2、SP4、SP6、SP8内の各成分を0にすることを示しているが、“状態1”はSP1、SP3、SP5、SP7との差を明確にすることができれば十分であるため、必ずしも0にする必要はなく、十分に小さな値であれば良い。
3、E4、E7、E8がレベル下限値Levより大きく、埋め込むべきパターンが“パターン70”である場合、以下の〔数式11〕に従った処理を実行することにより、低周波成分の状態を“状態70”、すなわち、図3(d)に示したような状態に変更する。
〔数式11〕
j=m,...,m+P−1およびj=m+2P,...,m+3P−1の各成分に対して、
Al´(1,j)=0
Bl´(1,j)=0
E(1,j)={Al(1,j)2+Bl(1,j)2+Ar(1,j)2+Br(1,j)21/2
Ar´(1,j)=Ar(1,j)・E(1,j)/{Ar(1,j)2+Br(1,j)21/2
Br´(1,j)=Br(1,j)・E(1,j)/{Ar(1,j)2+Br(1,j)21/2
j=m+d,...,m+d+P−1およびj=m+d+2P,...,m+d+3P−1の各成分に対して、
Al´(3,j)=0
Bl´(3,j)=0
E(3,j)={Al(3,j)2+Bl(3,j)2+Ar(3,j)2+Br(3,j)21/2
Ar´(3,j)=Ar(3,j)・E(3,j)/{Ar(3,j)2+Br(3,j)21/2
Br´(3,j)=Br(3,j)・E(3,j)/{Ar(3,j)2+Br(3,j)21/2
j=m+P,...,m+2P−1の各成分に対して、
E(1,j)={Al(1,j)2+Bl(1,j)2+Ar(1,j)2+Br(1,j)21/2
Al´(1,j)=F(j−m−P)・Al(1,j)・E(1,j)/{Al(1,j)2+Bl(1,j)21/2
Bl´(1,j)=F(j−m−P)・Bl(1,j)・E(1,j)/{Al(1,j)2+Bl(1,j)21/2
Ar´(1,j)=(1.0−F(j−m−P))・Al(1,j)・E(1,j)/{Al(1,j)2+Bl(1,j)21/2
Br´(1,j)=(1.0−F(j−m−P))・Bl(1,j)・E(1,j)/{Al(1,j)2+Bl(1,j)21/2
j=m+d+P,...,m+d+2P−1の各成分に対して、
E(3,j)={Al(3,j)2+Bl(3,j)2+Ar(3,j)2+Br(3,j)21/2
Al´(3,j)=F(j−m−d−P)・Al(3,j)・E(3,j)/{Al(3,j)2+Bl(3,j)21/2
Bl´(3,j)=F(j−m−d−P)・Bl(3,j)・E(3,j)/{Al(3,j)2+Bl(3,j)21/2
Ar´(3,j)=(1.0−F(j−m−d−P))・Al(3,j)・E(3,j)/{Al(3,j)2+Bl(3,j)21/2
Br´(3,j)=(1.0−F(j−m−d−P))・Bl(3,j)・E(3,j)/{Al(3,j)2+Bl(3,j)21/2
j=m+3P,...,m+4P−1の各成分に対して、
E(1,j)={Al(1,j)2+Bl(1,j)2+Ar(1,j)2+Br(1,j)21/2
Al´(1,j)=F(j−m−3P)・Al(1,j)・E(1,j)/{Al(1,j)2+Bl(1,j)21/2
Bl´(1,j)=F(j−m−3P)・Bl(1,j)・E(1,j)/{Al(1,j)2+Bl(1,j)21/2
Ar´(1,j)=(1.0−F(j−m−3P))・Al(1,j)・E(1,j)/{Al(1,j)2+Bl(1,j)21/2
Br´(1,j)=(1.0−F(j−m−3P))・Bl(1,j)・E(1,j)/{Al(1,j)2+Bl(1,j)21/2
j=m+d+3P,...,m+d+4P−1の各成分に対して、
E(3,j)={Al(3,j)2+Bl(3,j)2+Ar(3,j)2+Br(3,j)21/2
Al´(3,j)=F(j−m−d−3P)・Al(3,j)・E(3,j)/{Al(3,j)2+Bl(3,j)21/2
Bl´(3,j)=F(j−m−d−3P)・Bl(3,j)・E(3,j)/{Al(3,j)2+Bl(3,j)21/2
Ar´(3,j)=(1.0−F(j−m−d−3P))・Al(3,j)・E(3,j)/{Al(3,j)2+Bl(3,j)21/2
Br´(3,j)=(1.0−F(j−m−d−3P))・Bl(3,j)・E(3,j)/{Al(3,j)2+Bl(3,j)21/2
上記〔数式11〕においては、j=m〜m+P−1、m+2P〜m+3P−1において、Al´(1,j)、Bl´(1,j)、Al´(3,j)、Bl´(3,j)を共に0としている。これは、図3(d)の上段に示すように、L-chにおいて、SP1、SP2、SP5、SP6内の各成分を0にすることを示しているが、“状態70”はSP3、SP4、SP7、SP8との差を明確にすることができれば十分であるため、必ずしも0にする必要はなく、十分に小さな値であれば良い。
なお、パターン2〜69を埋め込む場合も、E1〜E8のうち埋め込むべきパターンに対応する4つがレベル下限値Levより大きい場合、〔数式10〕〔数式11〕に対応する数式に従った処理を実行することにより、低周波成分の状態を“状態2”〜 “状態69”のいずれかの状態に変更する。
上記〔数式10〕〔数式11〕または対応する数式に従った処理を実行し、低周波成分の状態を“状態1”〜“状態70”に変更した場合、いずれの場合であっても、さらに以下の〔数式12〕に従った処理を実行し、最低周波数帯におけるギャップ領域G1、G2を設ける。M−mの値が4で割り切れない場合には、最上位の第4低周波数帯の高周波側にさらにギャップ領域を設ける。また、L-chにおいて、第2窓関数に対応する成分については、j=0〜M−1の全てについて除去する。
〔数式12〕
j=0〜m−1、m+4P〜M−1の各成分に対して
Al´(1,j)=0
Bl´(1,j)=0
E(1,j)={Al(1,j)2+Bl(1,j)2+Ar(1,j)2+Br(1,j)21/2
Ar´(1,j)=Ar(1,j)・E(1,j)/{Ar(1,j)2+Br(1,j)21/2
Br´(1,j)=Br(1,j)・E(1,j)/{Ar(1,j)2+Br(1,j)21/2
j=0〜m+d−1、m+d+4P〜M−1の各成分に対して
Al´(3,j)=0
Bl´(3,j)=0
E(3,j)={Al(3,j)2+Bl(3,j)2+Ar(3,j)2+Br(3,j)21/2
Ar´(3,j)=Ar(3,j)・E(3,j)/{Ar(3,j)2+Br(3,j)21/2
Br´(3,j)=Br(3,j)・E(3,j)/{Ar(3,j)2+Br(3,j)21/2
j=0〜M−1の各成分に対して
Al´(2,j)=0
Bl´(2,j)=0
E(2,j)={Al(2,j)2+Bl(2,j)2+Ar(2,j)2+Br(2,j)21/2
Ar´(2,j)=Ar(2,j)・E(2,j)/{Ar(2,j)2+Br(2,j)21/2
Br´(2,j)=Br(2,j)・E(2,j)/{Ar(2,j)2+Br(2,j)21/2
パターンを埋め込む場合、埋め込まれる側の低周波成分の強度が小さすぎると、信号を変化させても、その変化を抽出側で検出することができない。そこで、このような場合には、情報が埋め込まれている音響フレームとの違いを明確にするため、以下の〔数式13〕に従った処理を実行し、その低周波成分を除去する。この状態を“状態0”と呼ぶことにする。これは、図3(b)に示すような状態である。
〔数式13〕
j=0〜M−1の各成分に対して
Al´(1,j)=0
Bl´(1,j)=0
Al´(2,j)=0
Bl´(2,j)=0
Al´(3,j)=0
Bl´(3,j)=0
E(1,j)={Al(1,j)2+Bl(1,j)2+Ar(1,j)2+Br(1,j)21/2
Ar´(1,j)=Ar(1,j)・E(1,j)/{Ar(1,j)2+Br(1,j)21/2
Br´(1,j)=Br(1,j)・E(1,j)/{Ar(1,j)2+Br(1,j)21/2
E(2,j)={Al(2,j)2+Bl(2,j)2+Ar(2,j)2+Br(2,j)21/2
Ar´(2,j)=Ar(2,j)・E(2,j)/{Ar(2,j)2+Br(2,j)21/2
Br´(2,j)=Br(2,j)・E(2,j)/{Ar(2,j)2+Br(2,j)21/2
E(3,j)={Al(3,j)2+Bl(3,j)2+Ar(3,j)2+Br(3,j)21/2
Ar´(3,j)=Ar(3,j)・E(3,j)/{Ar(3,j)2+Br(3,j)21/2
Br´(3,j)=Br(3,j)・E(3,j)/{Ar(3,j)2+Br(3,j)21/2
上記のように、Aタイプの音響フレームに対しては、埋め込むべきビット値に応じて、低周波成分の変更を行う必要があるため、低周波成分変更手段30は、上記〔数式10〕〔数式11〕等に従った処理を実行する。ところが、Bタイプの音響フレームは、Aタイプの音響フレームのみの場合に生じる両端部分の不連続性を防止するために用いられるものであるので、ビット値に応じて低周波成分の変更を行う必要はない。そこで、低周波成分変更手段30は、Bタイプの音響フレームについては、以下の〔数式14〕に従った処理を実行し、常に左信号の低周波成分を除去する。
〔数式14〕
j=0〜M−1の各成分に対して
Al´(4,j)=0
Bl´(4,j)=0
E(4,j)={Al(4,j)2+Bl(4,j)2+Ar(4,j)2+Br(4,j)21/2
Ar´(4,j)=Ar(4,j)・E(4,j)/{Ar(4,j)2+Br(4,j)21/2
Br´(4,j)=Br(4,j)・E(4,j)/{Ar(4,j)2+Br(4,j)21/2
周波数逆変換手段40は、上記のようにして、低周波成分の状態が変更されたフレームスペクトルを周波数逆変換して改変音響フレームを得る処理を行う。この周波数逆変換は、当然のことながら、周波数変換手段20が実行した手法に対応していることが必要となる。本実施形態では、周波数変換手段20において、フーリエ変換を施しているため、周波数逆変換手段40は、フーリエ逆変換を実行することになる。
具体的には、Aタイプの音響フレームに対しては、周波数逆変換手段40は、上記〔数式10〕〔数式11〕等により得られたスペクトルの左チャンネルの実部Al´(1,j)等、虚部Bl´(1,j)等、右チャンネルの実部Ar´(1,j)等、虚部Br´(1,j)等を用いて、以下の〔数式15〕に従った処理を行い、Xl´(i)、Xr´(i)を算出する。なお、上記〔数式10〕〔数式11〕等において改変されていない周波数成分については、Al´(1,j)等として、元の周波数成分であるAl(1,j)等を用いる。
〔数式15〕
Xl´(i)=1/N・{ΣjAl´(1,j)・cos(2πij/N)−ΣjBl´(1,j)・sin(2πij/N)}+1/N・{ΣjAl´(2,j)・cos(2πij/N)−ΣjBl´(2,j)・sin(2πij/N)}+1/N・{ΣjAl´(3,j)・cos(2πij/N)−ΣjBl´(3,j)・sin(2πij/N)}+Xlp(i+N/2)
Xr´(i)=1/N・{ΣjAr´(1,j)・cos(2πij/N)−ΣjBr´(1,j)・sin(2πij/N)}+1/N・{ΣjAr´(2,j)・cos(2πij/N)−ΣjBr´(2,j)・sin(2πij/N)}+1/N・{ΣjAr´(3,j)・cos(2πij/N)−ΣjBr´(3,j)・sin(2πij/N)}+Xrp(i+N/2)
上記〔数式15〕においては、式が繁雑になるのを防ぐため、Σj=0,,N-1をΣjとして示している。上記〔数式15〕における第1式の“+Xlp(i+N/2)”、第2式の“+Xrp(i+N/2)”の項は、直前に改変された改変音響フレームのデータXlp(i)、Xrp(i)が存在する場合に、時間軸上N/2サンプル分重複することを考慮して加算するためのものである。上記〔数式15〕によりAタイプの改変音響フレームの左チャンネルの各サンプルXl´(i)、右チャンネルの各サンプルXr´(i)、が得られることになる。
Bタイプの音響フレームに対しては、周波数逆変換手段40は、上記〔数式14〕により得られたスペクトルの左チャンネルの実部Al´(4,j)、虚部Bl´(4,j)、右チャンネルの実部Ar´(4,j)、虚部Br´(4,j)を用いて、以下の〔数式16〕に従った処理を行い、Xl´(i)、Xr´(i)を算出する。なお、上記〔数式14〕において改変されていない周波数成分については、以下の〔数式16〕においてはAl´(4,j)、Bl´(4,j)、Ar´(4,j)、Br´(4,j)として、元の値であるAl(4,j)、Bl(4,j)、Ar(4,j)、Br(4,j)を用いる。
〔数式16〕
Xl´(i)=1/N・{ΣjAl´(4,j)・cos(2πij/N)−ΣjBl´(4,j)・sin(2πij/N)}+Xlp(i+N/2)
Xr´(i)=1/N・{ΣjAr´(4,j)・cos(2πij/N)−ΣjBr´(4,j)・sin(2πij/N)}+Xrp(i+N/2)
上記〔数式16〕によりBタイプの改変音響フレームの左チャンネルの各サンプルXl´(i)、右チャンネルの各サンプルXr´(i)、が得られることになる。
改変音響フレーム出力手段50は、周波数逆変換手段40の処理により得られたAタイプの改変音響フレーム、Bタイプの改変音響フレームを順次出力ファイルに出力する。
次に、図1に示した音響信号に対する情報の埋め込み装置の処理の全体的な流れを、図8のフローチャートに従って説明する。図1に示した装置を構成する各構成要素は、連携して図8に従った処理を実行する。図8は、付加情報1ワード分の処理に対応したものとなっている。1ワードとしては、任意のビット数に設定することができるが、上述のように、本実施形態では実質7ビットの先頭にビット値“0”を付加した1バイト(8ビット)としている。また、情報の埋め込みは、Aタイプの音響フレームに対して行われるので、図8は、Aタイプの音響フレームについての説明となっている。Bタイプの音響フレームについては、Aタイプの音響フレームと並行して、音響フレーム読込手段10により読み込まれ、窓関数W(4,i)を利用して周波数変換手段20により周波数変換された後、低周波成分変更手段30により低周波成分が除去され、周波数逆変換手段40により周波数逆変換された後、改変音響フレーム出力手段50により出力される。
図8においては、まず、付加情報読込手段70は、付加情報記憶部62から抽出した付加情報を、70パターンのビット配列に変換する(S102)。具体的には、上述のように、図4に従って、付加情報として読み込んだASCIIコードを、パターン1〜パターン70のいずれかのビット配列に変換する。各パターンのビット配列は、図5に示したようになっている。
続いて、音響フレーム読込手段10が、音響信号記憶部61に記憶されたステレオ音響信号の左右の各チャンネルから、それぞれ所定数のサンプルを1音響フレームとして読み込む(S104)。
続いて、周波数変換手段20および低周波成分変更手段30が、音響フレームの低周波成分の状態を“状態1”〜“状態70”のいずれかに変更する処理を行う(S105)。具体的には、読み込んだ音響フレームに対して周波数変換を行って、その音響フレームのスペクトルを得る。すなわち、各音響フレームについて、3つの窓関数W(1,i)、W(2,i)、W(3,i)を用いて、上記〔数式5〕に従った処理を行うことになる。
続いて、低周波成分変更手段30は、上記〔数式7〕によりE1〜E8を算出する。そして、付加情報読込手段70から受け取ったパターン1〜パターン70に応じて上記〔数式10〕〔数式11〕等に従った処理を実行し、低周波成分の状態を“状態1”〜“状態70”のいずれかに変更する。
S105において、“状態1”〜“状態70”のいずれにも変更することができない場合は、低周波成分を“状態0”とする処理を行う(S106)。具体的には、上記〔数式13〕に従った処理を実行することになる。“状態1”〜“状態70” のいずれにも変更することができない場合とは、埋め込むべきパターンに対応する強度値Eのいずれかが、レベル下限値Lev以下となっている場合である。例えば、パターン1を埋め込む場合、E1、E3、E5、E7が共にレベル下限値Levより大きい必要があるため、E1、E3、E5、E7のいずれかがLev以下である場合は、S106に進むことになる。
上記〔数式13〕に従った処理を実行することにより、左チャンネルのフレームスペクトルの低周波数成分は、後部のスペクトルSP1〜SP8全てにおいて、“0” で同一となる。なお、上記〔数式13〕においては、j=0〜M−1の各成分に対してAl´(j)=Bl´(j)=0としているが、抽出側において、“状態1”〜“状態70”のいずれでもないことを認識可能とすることを目的としているため、十分小さな値であれば、必ずしも0とする必要はない。また、必ずしも8つのスペクトル成分の値が同一である必要はなく、差が小さければ良い。
次に、周波数逆変換手段40が、上記S105、S106の処理により各低周波成分のスペクトル集合の強度が変更された音響フレームのスペクトルを周波数逆変換して改変音響フレームを得る処理を行う(S107)。この周波数逆変換は、当然のことながら、周波数変換手段20がS105において実行した手法に対応していることが必要となる。本実施形態では、周波数変換手段20において、フーリエ逆変換を施しているため、周波数逆変換手段40は、フーリエ逆変換を実行することになる。具体的には、上記〔数式10〕〜〔数式13〕等により得られたスペクトルの左チャンネルの実部Al´(1,j)等、虚部Bl´(1,j)等、右チャンネルの実部Ar´(1,j)等、虚部Br´(1,j)等を用いて、上記〔数式15〕に従った処理を行い、Xl´(i)、Xr´(i)を算出する。
改変音響フレーム出力手段50は、得られた改変音響フレームを順次出力ファイルに出力する。こうして1つの音響フレームに対する処理を終えたら、状態0に設定した場合には、音響フレーム読込手段10が、次の音響フレームを読み込む(S104)。一方、状態1〜状態70のいずれかに設定した場合には、付加情報読込手段70が次のワードを読み込む(S101)。以上のような処理を音響信号の両チャンネルの全サンプルに渡って実行していく。すなわち、所定数のサンプルを音響フレームとして読み込み、音響信号から読み込むべき音響フレームがなくなったら(S104)、処理を終了する。付加情報の全ワードに対して処理が終了した場合は、付加情報の先頭ワードに戻って処理を行う。この結果、全ての音響フレームに対して処理を行った全ての改変音響フレームが出力ファイルに記録されて、改変音響信号として得られる。得られた改変音響信号は、記憶手段60内の改変音響信号記憶部63に出力され、記憶される。
上記のようにして得られた改変音響信号の左チャンネルのうち、付加情報が埋め込まれている部分については、低周波成分は、上記状態0〜状態70の71通りの分布になる。しかし、高周波成分については、元の音響信号のままであるので、制作者の設定に基づいたさらに多数の種々な分布になる。また、上記の例で示したように、ステレオ音響信号を利用した場合には、左チャンネルにおいて変化させられた低周波成分は、上記〔数式10〕〜〔数式13〕等の処理からも明らかなように、必ず右チャンネルの低周波成分に付加されている。したがって、右チャンネルが左チャンネルにおいて削除された成分を補っているため、両チャンネル全体として見ると、信号の劣化がない。人間の聴覚は、高周波成分については、方向性を感知し易いが、低周波成分については、方向性を感知しにくくなっている。したがって、低周波成分が一方に偏っていても、聴いている人にとっては、通常の音響信号と変わりなく聴こえることになる。
(1.3.音響信号からの情報の抽出装置)
次に、本発明に係る音響信号からの情報の抽出装置について説明する。図9は、本発明に係る音響信号からの情報の抽出装置の一実施形態を示す構成図である。図9において、100は音響信号入力手段、110は基準フレーム獲得手段、120は位相変更フレーム設定手段、130は周波数変換手段、140は符号判定パラメータ算出手段、150は符号出力手段、160は付加情報抽出手段、170は音響フレーム保持手段である。
音響信号入力手段100は、流れている音声をデジタル音響信号として取得し、入力する機能を有している。現実には、マイクロフォンおよびA/D変換器により実現される。マイクロフォンとしては、低周波成分が検出可能なものであれば、モノラル無指向性のものであっても、ステレオ指向性のものであっても使用可能である。ステレオ指向性のものであっても一方のチャンネルだけ利用すれば良い。また、図1に示した装置で情報の埋め込みを行った場合には、特別精度の高いものでなく、一般的な精度のマイクロフォンを用いても情報の抽出が可能となる。基準フレーム獲得手段110は、入力されたデジタルのモノラル音響信号(あるいはステレオ音響信号の1チャンネル)から所定数のサンプルで構成される音響フレームを基準フレームとして読み込む機能を有している。位相変更フレーム設定手段120は、基準フレームと所定サンプルずつ移動させることにより位相を変更した音響フレームを位相変更フレームとして設定する機能を有している。周波数変換手段130は、図1に示した周波数変換手段20と同様の機能を有している。
符号判定パラメータ算出手段140は、生成されたスペクトルの低周波領域から所定の周波数帯に対応する各スペクトル集合を抽出し、各スペクトル集合の強度値EC1〜EC8を以下の〔数式17〕に基づいて算出し、このの強度値EC1〜EC8を符号判定パラメータとし、この符号判定パラメータEC1〜EC8の比率等に基づいて、所定の状態であると判断する機能を有している。以下の〔数式17〕は上記〔数式7〕において右チャンネル成分を削除したもので、抽出時には右チャンネル成分を参照しないためである。
〔数式17〕
C1=Σj=m,m+P-1{Al(1,j)2+Bl(1,j)2}・F(j−m)・C
C2=Σj=m+d,m+d+P-1{Al(3,j)2+Bl(3,j)2}・F(j−m−d)・C
C3=Σj=m+P,m+2P-1{Al(1,j)2+Bl(1,j)2}・F(j−m−P)・C
C4=Σj=m+d+P,m+d+2P-1{Al(3,j)2+Bl(3,j)2}・F(j−m−d−P)・C
C5=Σj=m+2P,m+3P-1{Al(1,j)2+Bl(1,j)2}・F(j−m−2P)・C
C6=Σj=m+d+2P,m+d+3P-1{Al(3,j)2+Bl(3,j)2}・F(j−m−d−2P)・C
C7=Σj=m+3P,m+4P-1{Al(1,j)2+Bl(1,j)2}・F(j−m−3P)・C
C8=Σj=m+d+3P,m+d+4P-1{Al(3,j)2+Bl(3,j)2}・F(j−m−d−3P)・C
符号出力手段150は、1つの基準フレームに対応する音響フレーム(基準フレームおよび位相変更フレーム)の中から最適な位相であると判断されるものを判断し、その音響フレームの状態に対応する符号を出力する機能を有している。付加情報抽出手段160は、符号出力手段150により出力された70通りのビットパターンを、ASCIIコードに変換して意味のある付加情報として抽出する機能を有している。音響フレーム保持手段170は、連続する2個の基準フレームを保持可能なバッファメモリである。図9に示した各構成手段は、現実には情報処理機能を有する小型のコンピュータおよびその周辺機器等のハードウェアに専用のプログラムを搭載することにより実現される。特に、本発明の目的をより簡易に達成するためには、携帯型端末装置をハードウェアとして用いることが望ましい。
(1.4.抽出装置の処理動作)
次に、図9に示した音響信号からの情報の抽出装置の処理動作について図10のフローチャートに従って説明する。まず、本装置では、平均符号レベルHL1、HL2、…、HL70、位相判定テーブルS(p)、非符号カウンタNnを初期化する(S200)。これらについて説明する。平均符号レベルHL1〜HL70は、パターンが埋め込まれていたと判断される音響フレーム(以下、有効フレームと呼ぶことにする)についての、上記〔数式17〕で算出されるスペクトル集合の強度値EC1〜EC8のうち対応する4つの和の平均値で与えられるものであり、初期値は、0.1に設定されている。位相判定テーブルS(p)は、位相を判定するためのテーブルであり、pは0〜5の整数値をとる。初期値はS(p)=0に設定されている。非符号カウンタNnは、信号レベルが低く、非符号(区切り又は埋め込みエラーを示す情報と同一)であると判断されるフレーム数のカウンタであり、初期状態では、Nn=0に設定される。
このように、初期値が設定されている状態で、利用者が流れている音楽について、その楽曲名等の属性情報を知りたいと思った場合、まず、抽出装置に対して、抽出装置としての起動の指示を行う。これは、例えば、抽出装置を携帯電話機等の携帯端末で実現している場合は、所定のボタンを操作することにより実行できる。抽出装置は、指示が入力されると、音響信号入力手段100が、流れている音楽を録音し、デジタル化してデジタル音響信号として入力する。具体的には、無指向性マイクロフォン(または指向性マイクロフォンの一方のチャンネル)から入力される音声を、A/D変換器によりデジタル化する処理を行うことになる。
続いて、基準フレーム獲得手段110が、音響信号入力手段100から入力された音響信号から、所定数のサンプルで構成される音響フレームを基準フレームとして抽出する(S201)。具体的には、基準フレームを抽出して音響フレーム保持手段170に読み込むことになる。基準フレーム獲得手段110が基準フレームとして読み込む1音響フレームのサンプル数は、図1に示した音響フレーム読込手段10で設定されたものと同一にする必要がある。したがって、本実施形態の場合、基準フレーム獲得手段110は、4096サンプルずつ、順次基準フレームとして読み込んでいくことになる。音響フレーム保持手段170には、上述のように2個の基準フレームが格納可能となっており、新しい基準フレームが読み込まれると、古い基準フレームを破棄するようになっている。したがって、音響フレーム保持手段170には、常に基準フレーム2個分(連続する8192サンプル)が格納されていることになる。
埋め込み装置で処理する音響フレームは、先頭から途切れることなく隣接して設定される基準フレームと、この基準フレームと位相を変更した位相変更フレームとに分けることができる。基準フレームについては、最初の基準フレームをサンプル番号1からサンプル番号4096までを設定したら、次の基準フレームは、サンプル番号4097からサンプル番号8192、さらに次の基準フレームは、サンプル番号8193からサンプル番号12288、というように途切れることなく設定される。そして、各基準フレームについて、1/6フレーム(約683サンプル)ずつ移動した5個の位相変更フレームを設定する。例えば、最初の基準フレームについては、サンプル番号683、1366、2049、2732、3413から始まる4096のサンプルで構成される5個の位相変更フレームが設定されることになる。続いて、周波数変換手段130、符号判定パラメータ算出手段140が、読み込んだ各音響フレームから、埋め込まれている情報を判定し、対応する符号(パターン)を出力する(S202)。出力される符号の形式は、埋め込み側のパターンに対応するパターン1〜パターン70の70通り、および状態0に相当する何らかのパターン(パターン0)の計71通りの形式となる。
ここで、ステップS202の符号判定処理の詳細を図11のフローチャートに従って説明する。まず、周波数変換手段130が、読み込んだ各音響フレームに対して、周波数変換を行ってフレームスペクトルを得る(S301)。この処理は、図1に示した周波数変換手段20における処理と同様である。ただし、抽出に用いるのは、左チャンネルだけであるので、上記〔数式5〕に従った処理を行い、左チャンネルに対応する変換データの実部Al(1,j)等、虚部Bl(1,j)等を得る。
上記周波数変換手段130における処理により、周波数に対応した成分であるスペクトルが得られる。続いて、符号判定パラメータ算出手段140は、平均符号レベルHL1〜HL70の算出を行う(S302)。具体的には、過去“状態1”であると判断された音響フレームについてのEC1+EC3+EC5+EC7の積算値であるv1を、過去“状態1”であると判断された音響フレームの数であるn1で除算することによりHL1を算出する。また、過去“状態70”であると判断された音響フレームについてのEC3+EC4+EC7+EC8の積算値であるv70を、過去“状態70”であると判断された音響フレームの数であるn70で除算することによりHL70を算出する。同様にしてHL2〜HL69についても算出する。したがって、平均符号レベルHL1〜HL70は、過去対応する状態であると判断された音響フレームの低周波強度の平均値となる。
続いて、符号判定パラメータ算出手段140は、候補符号テーブルの初期化を行う(S303)。候補符号テーブルは、1つの基準フレームおよび5個の位相変更フレームを特定する0〜5の位相番号および、この6個の音響フレームの状態から得られる71値の符号を記録するものである。
続いて、符号判定パラメータ算出手段140は、強度値EC1〜強度値EC8を用いて、低周波成分の状態がどのような状態であるか、すなわち、パターンとしてどのような値が埋め込まれていたかを判断する処理を行う(S304)。具体的には、まず、EC1〜EC8を算出し、その値の小さいグループと大きいグループに分ける。そして、大きいグループに属する4つのECが全て基準値0.01HLk(k=1〜70)以上であるかどうかを判断する。4つのECが全て基準値以上である場合は、その4つのECに対応する低周波成分の強度が大きいものであると判断して、“状態1”〜“状態70”のいずれであるかを認識する。
符号判定パラメータ算出手段140は、各音響フレーム単位で、上記判定結果に応じてパターン1〜パターン70のいずれかを出力する(S307)。上記S304において、大きいグループに属する4つのECのうちいずれか1つでも基準値未満である場合は、“状態0”であると判断し、パターン0を出力する(S308)。この“状態0”は、強度値E1〜E8が下限値Lev以下であることにより、当該フレームにパターン1〜パターン70のいずれかの記録が行なわれなかったことを示す埋め込みエラーを示すものとなる。
また、上記判定の結果、パターン1〜パターン70のいずれかを出力した場合には、さらに、位相判定テーブルS(p)の更新を行う(S309)。具体的には、上記S304において、大きいグループに属すると判断された4つのECの平均値をS(p)に加算することにより更新する。
続いて、符号判定パラメータ算出手段140は、候補符号テーブルに、最適位相となる候補を保存する(S310)。具体的には、位相判定テーブルに記録されているS(p)の値が最大となる位相番号pの値、前記S307、S308により判定された71通りのいずれかの符号、その音響フレームについての上記〔数式17〕に従った処理を実行することにより算出した、低スペクトル集合に対応する各EC1〜EC8の値を最適位相の候補として候補符号テーブルに保存する。
続いて、全ての位相番号pに対応する処理を終えたかどうかを判定する(S311)。これは、ある基準フレームに対して全ての位相変更フレームの処理を行ったかどうかを判定している。本実施形態では、pが0〜5までの値をとるので、6回分処理していない場合は、処理していた音響フレームから所定サンプル数ずらして、位相の異なる音響フレームを設定し、S304に戻って処理を繰り返す。なお、p=0の場合が基準フレームであり、p=1〜5の場合が位相変更フレームである。全ての位相番号pに対応する処理を終えた場合は、候補保存テーブルに記録されている位相番号pに対応する位相が最適位相であると判定し、候補保存テーブルに記録されている符号を出力する(S312)。
再び図10のフローチャートに戻って説明する。S202による処理の結果、パターン1〜パターン70に相当する符号が出力された場合には、平均符号レベルのパラメータの更新処理を行う(S203)。具体的には、平均符号レベルHL1〜HL70算出の際の分子となる積算値v1〜v70にそれぞれ強度値EC1〜EC8のうちの対応する4つの値を加算して積算値v1〜v70を更新し、分母となるフレーム数n1〜n70にそれぞれ1を加算してフレーム数n1〜n70を更新することにより行う。n1〜n70はあらかじめ設定したnmax(例えば100)を超えないように設定する。
続いて、非符号カウンタの初期化処理を行う(S204)。具体的には、上記S200の初期化処理における処理と同様、非符号カウンタNn=0と設定する。続いて、出力されたパターンを文字コードに従ったビットパターンに変換する(S205)。本実施形態では、図4に示した対応表に従ってASCIIコードに対応するビットパターンに変換することになる。そして、得られたビットパターンを付加情報抽出手段160が出力する(S206)。
一方、S202による処理の結果、パターン0が出力された場合には、非符号カウンタのカウントアップ処理を行う(S207)。具体的には、非符号カウンタNnの値に1を加算する。そして、非符号カウンタNnの値がnmax以上である場合は、S200に戻って初期化処理を行う。非符号カウンタNnの値がnmax未満である場合は、S201に戻って符号抽出処理を継続する。図10に示す処理を各基準フレームに対して実行することにより、付加情報が抽出されることになる。S201において全ての基準フレームが抽出されたと判断された場合には、処理を終了する。
上記S206の処理において、付加情報抽出手段160は、まず、符号判定パラメータ算出手段140により出力されたビットパターン単位で文字情報として認識する。すなわち、付加情報抽出手段160は、符号判定パラメータ算出手段140が判定し、符号出力手段150から出力される符号を文字コードに変換し、これを設定されたコード体系に従って文字情報を認識する。このようにして得られた文字情報は、表示装置(図示省略)の画面に表示出力される。
従って、埋め込み装置により音響信号に、その楽曲の曲名やアーチスト等の属性情報を文字情報として埋め込んでおけば、利用者は、その音楽が流れているのを聞いて、その曲名やアーチストを知りたいと思ったときに、抽出装置として機能する自身の携帯端末に所定の操作を行えば、自身の携帯端末の画面に曲名やアーチスト等の属性情報が文字情報として表示されることになる。
(1.5.位相補正処理について)
上記のように、抽出時には、埋め込み時に埋め込んだ音響フレームに対応して、音響信号を読み込むことができるとは限らない。そこで、音響フレームの位相をずらして複数通り(本実施形態では6通り)で読み込み、その中で最適な位相を決定し、その位相で特定される音響フレームに対応する符号を出力することにしている。例えば、6通りで読み込む場合、先頭の音響フレームは、本来サンプル番号1〜4096のサンプルであるが、サンプル番号1、683、1366、2049、2732、3413から始まる4096のサンプルで構成される6個の各音響フレームに対して処理を行い、最適な音響フレームに対応する符号を出力することになる。この位相補正処理は、S303、S309、S310、S311、S312における処理を中心として行われることになる。
(1.6.下限閾値補正処理について)
信号レベルが小さい場合には、スペクトル集合の成分強度の大小が判定できず、抽出側で誤判断することが多くなる。そこで、強度値EC1〜EC8が所定の閾値以下のフレームについては、無効なフレームであると判断するようにしているが、この際の閾値を過去の有効フレームについての低周波強度の積算値を利用して補正する処理を行っている。このように閾値を変動させることにより、信号レベルが変動しても無効なフレームであるか、有効なフレームであるかを正確に判断することが可能となる。この下限閾値補正処理は、S302、S203における処理を中心として行われることになる。
(1.7.モノラル音響信号の場合)
上記実施形態においては、埋め込み装置、抽出装置のいずれにおいても、左右のチャンネルを有するステレオ音響信号の左チャンネル信号に付加情報を埋め込む場合を例にとって説明したが、逆に右チャンネル信号に付加情報を埋め込むようにしても良い。本発明は、左右の特性には無関係だからである。また、1つのチャンネルしかないモノラル音響信号に対して処理を行う場合は、上記実施形態において、左チャンネル信号に対して行った処理を行うことになる。本発明は、1つのチャンネル信号に対して付加情報を埋め込み、また抽出を行うので、モノラル音響信号であってもステレオ音響信号であっても同様に行うことができる。
(1.8.信号成分が小さくても情報の埋め込みを可能とする手法)
ここまで、説明してきた処理においては、上記E1〜E8が所定の大きさより大きいことが必要となり、上記E1〜E8が所定の大きさ以下の場合には、情報の埋め込みを行うことができない。そこで、以下、上記E1〜E8が所定の大きさ以下であっても、信号の埋め込みを可能とする手法について説明する。
この場合、図1に示した埋め込み装置における情報の埋め込み処理は、図8のフローチャートに従って行われるが、強度値E1〜E8がレベル下限値Lev以下となることがなくなるため、S105における周波数変換処理において低周波成分変更手段30がレベルの判定を行わない。これは、この処理では、信号レベルが小さくても強制的に情報を埋め込むこととしているため、情報の埋め込みが不可能な信号レベルが小さい部分が存在するかどうかを判断する必要がないからである。
したがって、S105における状態1〜状態70に設定する処理としては、まず、以下の〔数式18〕に従って算出される固定値Vを、低周波成分の強度として設定する。
〔数式18〕
V={0.25・Lev/(4P−4)}1/2
そして、状態1とする場合は、上記〔数式10〕に従った処理における Al´(1,j)、Bl´(1,j)の算出を、以下の〔数式19〕に従った処理により行う。
〔数式19〕
j=m,...,m+P−1の各成分に対して、
Al´(1,j)=F(j−m)・Al(1,j)・V/{Al(1,j)2+Bl(1,j)21/2
Bl´(1,j)=F(j−m)・Bl(1,j)・V/{Al(1,j)2+Bl(1,j)21/2
j=m+P,...,m+2P−1の各成分に対して、
Al´(1,j)=F(j−m−P)・Al(1,j)・V/{Al(1,j)2+Bl(1,j)21/2
Bl´(1,j)=F(j−m−P)・Bl(1,j)・V/{Al(1,j)2+Bl(1,j)21/2
j=m+2P,...,m+3P−1の各成分に対して、
Al´(1,j)=F(j−m−2P)・Al(1,j)・V/{Al(1,j)2+Bl(1,j)21/2
Bl´(1,j)=F(j−m−2P)・Bl(1,j)・V/{Al(1,j)2+Bl(1,j)21/2
j=m+3P,...,m+4P−1の各成分に対して、
Al´(1,j)=F(j−m−3P)・Al(1,j)・V/{Al(1,j)2+Bl(1,j)21/2
Bl´(1,j)=F(j−m−3P)・Bl(1,j)・V/{Al(1,j)2+Bl(1,j)21/2
状態70とする場合は、上記〔数式11〕に従った処理におけるj=m+P〜m+2P−1、j=m+3P〜m+4P−1におけるAl´(1,j)、Bl´(1,j)、Al´(3,j)、Bl´(3,j)の算出を、以下の〔数式20〕に従った処理により行う。
〔数式20〕
j=m+P,...,m+2P−1の各成分に対して、
Al´(1,j)=F(j−m−P)・Al(1,j)・V/{Al(1,j)2+Bl(1,j)21/2
Bl´(1,j)=F(j−m−P)・Bl(1,j)・V/{Al(1,j)2+Bl(1,j)21/2
j=m+d+P,...,m+d+2P−1の各成分に対して、
Al´(3,j)=F(j−m−d−P)・Al(3,j)・V/{Al(3,j)2+Bl(3,j)21/2
Bl´(3,j)=F(j−m−d−P)・Bl(3,j)・V/{Al(3,j)2+Bl(3,j)21/2
j=m+3P,...,m+4P−1の各成分に対して、
Al´(1,j)=F(j−m−3P)・Al(1,j)・V/{Al(1,j)2+Bl(1,j)21/2
Bl´(1,j)=F(j−m−3P)・Bl(1,j)・V/{Al(1,j)2+Bl(1,j)21/2
j=m+d+3P,...,m+d+4P−1の各成分に対して、
Al´(3,j)=F(j−m−d−3P)・Al(3,j)・V/{Al(3,j)2+Bl(3,j)21/2
Bl´(3,j)=F(j−m−d−3P)・Bl(3,j)・V/{Al(3,j)2+Bl(3,j)21/2
なお、パターン2〜69を埋め込む場合も、〔数式10〕〔数式11〕等に対応する数式に従った処理を実行した後、〔数式19〕〔数式20〕等に対応する数式に従った処理を実行することにより、低周波成分の状態を“状態2”〜 “状態69”のいずれかの状態に変更する。
上記のように、周波数成分が小さい場合に情報を埋め込んだ場合であっても、抽出側の、音響信号からの情報の抽出装置の構成は図9と同一であり、処理動作は図10のフローチャートに従ったものと同一である。
(2.第2の実施形態)
ここからは、第2の実施形態について説明する。第1の実施形態では、図3に示したように、音響フレームの低周波成分を70個の状態に変更し、6ビット強の情報を埋め込むようにしたが、第2の実施形態では、図12に示すように、音響フレームの低周波成分を4つの状態に変更し、2ビットの情報を埋め込むことを特徴とする。
図12に、本発明第2の実施形態による低周波成分の状態を1音響フレーム単位で示す。図12に示す各音響フレームにおいても、横軸は時間方向、縦軸は周波数方向を示している。
本発明第2の実施形態においても、図12(a)に示すような原状態の低周波成分に対して、パターン0を埋め込む場合、L-chの信号の低周波成分を全て除去し、除去した成分と同等の成分をR-chの信号の低周波成分に加算して図2(b)に示すような“状態0”に変更するのは、第1の実施形態と同じである。なお、図12においては、図1と異なり、第1窓関数により得られる前部において縦軸の周波数方向が4つに区分されており、第3窓関数により得られる後部において縦軸の周波数方向が3つに区分されている。前部、後部のいずれにおいても、最下部に示すG1、G2はギャップ領域である。さらに、前部においては、最上部にギャップ領域G10が設けられている。これらのギャップ領域は、抽出対象であるL-chの信号においては、常に成分が除去され、除去された成分と同等の成分がR-chの信号の低周波成分に加算される。最下部にギャップ領域を設けることにより、埋め込み可能な低周波成分の上限を高くすることができる。
前部、後部において区分された低周波領域のうちギャップ領域以外の2つを、低い方から順に、第1低周波数帯、第2低周波数帯と定義する。図12(b)に示すように、前部の第1低周波数帯におけるスペクトル集合をSP1、前部の第2低周波数帯におけるスペクトル集合をSP3とし、後部の第1低周波数帯におけるスペクトル集合をSP2、後部の第2低周波数帯におけるスペクトル集合をSP4で表現することとする。
図12において、ギャップ領域G1、G2の下限は直流成分すなわち周波数0に設定されており、スペクトル集合SP1の下限は周波数F1、スペクトル集合SP8の上限は周波数F2に設定されている。また、後部のスペクトル集合SP2、SP4は、前部のスペクトル集合SP1、SP3の周波数範囲にそれぞれ周波数Fdだけオフセットした周波数範囲となっている。例えば、スペクトル集合SP1の下限が周波数F1である場合、スペクトル集合SP2の下限は周波数(F1+Fd)である。また、スペクトル集合SP8の上限が周波数F2である場合、スペクトル集合SP7の上限が周波数(F2−Fd)である。
本実施形態で、パターン1を埋め込む場合、図12(c)に示すように、L-ch信号のスペクトル集合SP1、SP3の強度を強め、スペクトル集合SP2、SP4の強度を弱める。そして、R-ch信号の対応する成分については、L-ch信号を補足するように変更して“状態1”とする。パターン2を埋め込む場合は、図12(d)に示すように、L-ch信号のスペクトル集合SP2、SP4の強度を強め、スペクトル集合SP1、SP3の強度を弱める。そして、R-ch信号の対応する成分については、L-ch信号を補足するように変更して“状態2”とする。
パターン3を埋め込む場合、図12(e)に示すように、L-ch信号のスペクトル集合SP1、SP4の強度を強め、スペクトル集合SP2、SP3の強度を弱める。そして、R-ch信号の対応する成分については、L-ch信号を補足するように変更して“状態3”とする。パターン4を埋め込む場合は、図12(f)に示すように、L-ch信号のスペクトル集合SP2、SP3の強度を強め、スペクトル集合SP1、SP4の強度を弱める。そして、R-ch信号の対応する成分については、L-ch信号を補足するように変更して“状態4”とする。
第2の実施形態では、図12(b)〜(f)に示すような5つの状態に低周波成分を変更することにより、情報の埋め込みを行っている。5つの状態のうち、1つは、埋め込むべき付加情報を構成するワード間の区切りやエラー処理等に用いるものであるので、実質埋め込むことができるのは4つの状態、すなわち、2ビットに相当する。したがって、本実施形態では、1音響フレームに対して2ビットの情報が埋め込み可能となる。
(2.1.埋め込み装置)
第2の実施形態においても、埋め込み装置の装置構成は、図1に示したようなものとなるが、処理動作は第1の実施形態とは異なる。そこで、第2の実施形態における埋め込み装置の処理の流れを図13のフローチャートに従って説明する。図1に示した装置を構成する各構成要素は、連携して図13に従った処理を実行することになる。図13は、付加情報1ワード分の処理に対応したものとなっている。1ワードとしては、任意のビット数に設定することができるが、通常1バイト(8ビット)に設定する。
また、情報の埋め込みは、Aタイプの音響フレームに対して行われるので、図13も、Aタイプの音響フレームについての説明となっている。Bタイプの音響フレームについては、Aタイプの音響フレームと並行して、音響フレーム読込手段10により読み込まれ、窓関数W(4,i)を利用して周波数変換手段20により周波数変換された後、低周波成分変更手段30により低周波成分が除去され、周波数逆変換手段40により周波数逆変換された後、改変音響フレーム出力手段50により出力される。
図13においては、まず、付加情報読込手段70は、付加情報記憶部62から付加情報を1ワード単位で読み込む(S401)。具体的には、音響信号に対する情報の埋め込み装置として用いられるコンピュータ内のレジスタに1ワード読み込むことになる。
続いて、モードを区切りモードに設定する(S402)。モードは区切りモードと、ビットモードの2種類が存在する。区切りモードは1ワード単位の区切りにおける処理を行うモードを示し、ビットモードは1ワードに含まれる2ビットの値に基づいた処理を行うモードを示している。付加情報記憶部62から1ワード読み込んだ場合には、その直後に必ず区切りモードに設定されることになる。
続いて、音響フレーム読込手段10が、音響信号記憶部61に記憶されたステレオ音響信号の左右の各チャンネルから、それぞれ所定数のサンプルを1音響フレームとして読み込む(S404)。
モードが区切りモードである場合、左(L)チャンネル信号において、低周波成分を“状態0”とする処理を行う(S406)。具体的には、周波数変換手段20が、読み込んだ音響フレームに対して周波数変換を行って、その音響フレームのスペクトルであるフレームスペクトルを得た後、低周波成分変更手段30が、上記〔数式13〕に従った処理を実行することになる。
モードがビットモードである場合は、周波数変換手段20および低周波成分変更手段30が、音響フレームの低周波成分の状態を“状態1”〜“状態4”のいずれかに変更する処理を行う(S405)。具体的には、まず、周波数変換手段20が、読み込んだ音響フレームに対して、周波数変換を行って、その音響フレームのスペクトルであるフレームスペクトルを得る。すなわち、各音響フレームについて、3つの窓関数W(1,i)、W(2,i)、W(3,i)を用いて、上記〔数式5〕に従った処理を行うことになる。
続いて、低周波成分変更手段30が、上記〔数式7〕に対応する数式により、各スペクトル集合SP1〜SP4の強度であるE1〜E4を算出する。そして、付加情報読込手段70から受け取ったパターン1〜パターン4に応じて上記〔数式10〕〔数式11〕等に対応する数式に従った処理を実行し、低周波成分の状態を“状態1”〜“状態4”のいずれかに変更する。
S405において、“状態1”〜“状態4”のいずれにも変更することができない場合は、低周波成分を“状態0”とする処理を行う(S406)。具体的には、上記〔数式13〕に従った処理を実行することになる。“状態1”〜“状態4” のいずれにも変更することができない場合とは、埋め込むべき値に対応する強度値のいずれかが、レベル下限値Lev以下となっている場合である。例えば、パターン1を埋め込む場合、E1がレベル下限値Levより大きい必要があるため、E1がLev以下である場合は、S406に進むことになる。
上記〔数式13〕に従った処理を実行することにより、左チャンネルのフレームスペクトルの低周波数成分は、スペクトル集合SP1、SP2、SP3、SP4全てにおいて、“0” で同一となる。この“状態0”のパターンは、付加情報の先頭位置(区切り)を示す情報か、または前述の強度値E1〜E4が下限値Lev以下であることにより、当該フレームに2ビットの値の記録が行なわれなかったことを示す情報となる。なお、上記〔数式13〕においては、j=0〜M−1の各成分に対してAl´(j)=Bl´(j)=0としているが、抽出側において、“状態1”〜“状態4”のいずれでもないことを認識可能とすることを目的としているため、十分小さな値であれば、必ずしも0とする必要はない。また、必ずしも4つのスペクトル成分の値が同一である必要はなく、差が小さければ良い。
次に、周波数逆変換手段40が、上記S405、S406の処理により各低周波成分のスペクトル集合間の割合が変更されたフレームスペクトルを周波数逆変換して改変音響フレームを得る処理を行う(S407)。この周波数逆変換は、当然のことながら、周波数変換手段20がS405において実行した手法に対応していることが必要となる。本実施形態では、周波数変換手段20において、フーリエ逆変換を施しているため、周波数逆変換手段40は、フーリエ逆変換を実行することになる。具体的には、上記〔数式10〕〔数式11〕等に対応する数式に従った処理により得られたスペクトルの左チャンネルの実部Al´(1,j)等、虚部Bl´(1,j)等、右チャンネルの実部Ar´(1,j)等、虚部Br´(1,j)等を用いて、上記〔数式15〕に従った処理を行い、Xl´(i)、Xr´(i)を算出する。
改変音響フレーム出力手段50は、得られた改変音響フレームを順次出力ファイルに出力する。こうして1つの音響フレームに対する処理を終えたら、モードの判定を行い(S408)、モードが区切りモードである場合は、モードをビットモードに設定した後(S409)、音響フレーム読込手段10が、音響フレームを読み込む(S404)。一方、モードがビットモードである場合は、低周波成分変更手段30が付加情報のビット配列中の次の2ビットを読み込む(S403)。以上のような処理を音響信号の両チャンネルの全サンプルに渡って実行していく。すなわち、所定数のサンプルを音響フレームとして読み込み、音響信号から読み込むべき音響フレームがなくなったら(S404)、処理を終了する。なお、S401において読み込んだ1ワードのデータの各ビットに対応する処理を終えた場合、S403からS401に戻り、付加情報の次のワードを読み込み処理をすることになる。付加情報の全ワードに対して処理が終了した場合は、付加情報の先頭ワードに戻って処理を行う。この結果、全ての音響フレームに対して処理を行った全ての改変音響フレームが出力ファイルに記録されて、改変音響信号として得られる。得られた改変音響信号は、記憶手段60内の改変音響信号記憶部63に出力され、記憶される。
なお、本実施形態では、付加情報の1ワードを1バイトとした場合について説明したが、抽出側と取り決めがある限り、付加情報の1ワードを任意のビット数単位で記録することが可能である。
上記のようにして得られた改変音響信号の左チャンネルのうち、付加情報が埋め込まれている部分については、低周波成分は、上記状態0〜状態4の5通りの分布しかないことになる。しかし、高周波成分については、元の音響信号のままであるので、制作者の設定に基づいた種々な分布になる。
(2.2.抽出装置)
第2の実施形態においても、抽出装置の装置構成は、図9に示したようなものとなるが、処理動作は第2の実施形態とは異なる。そこで、第2の実施形態における埋め込み装置の処理の流れを図14のフローチャートに従って説明する。まず、本装置では、平均符号レベルHL1、HL2、HL3、HL4、位相判定テーブルS(p)、非符号カウンタNnを初期化する(S500)。これらについて説明する。平均符号レベルHL1〜HL4は、2ビットの値が埋め込まれていたと判断される音響フレーム(以下、有効フレームと呼ぶことにする)についての、上記〔数式17〕で算出される低周波成分の強度値EC1〜EC4の平均値、すなわち、過去の有効フレームにおける強度値EC1〜EC4の平均値で与えられるものであり、初期値は、0.1に設定されている。位相判定テーブルS(p)は、位相を判定するためのテーブルであり、pは0〜5の整数値をとる。初期値はS(p)=0に設定されている。非符号カウンタNnは、信号レベルが低く、非符号(区切り又は埋め込みエラーを示す情報と同一)であると判断されるフレーム数のカウンタであり、初期状態では、Nn=0に設定される。
続いて、基準フレーム獲得手段110が、音響信号入力手段100から入力された音響信号から、所定数のサンプルで構成される音響フレームを基準フレームとして抽出する(S501)。具体的には、基準フレームを抽出して音響フレーム保持手段170に読み込むことになる。基準フレーム獲得手段110が基準フレームとして読み込む1音響フレームのサンプル数は、図3に示した音響フレーム読込手段10で設定されたものと同一にする必要がある。したがって、本実施形態の場合、基準フレーム獲得手段110は、4096サンプルずつ、順次基準フレームとして読み込んでいくことになる。音響フレーム保持手段170には、上述のように2個の基準フレームが格納可能となっており、新しい基準フレームが読み込まれると、古い基準フレームを破棄するようになっている。したがって、音響フレーム保持手段170には、常に基準フレーム2個分(連続する8192サンプル)が格納されていることになる。
埋め込み装置で処理する音響フレームは、先頭から途切れることなく隣接して設定される基準フレームと、この基準フレームと位相を変更した位相変更フレームとに分けることができる。基準フレームについては、最初の基準フレームをサンプル番号1からサンプル番号4096までを設定したら、次の基準フレームは、サンプル番号4097からサンプル番号8192、さらに次の基準フレームは、サンプル番号8193からサンプル番号12288、というように途切れることなく設定される。そして、各基準フレームについて、1/6フレーム(約683サンプル)ずつ移動した5個の位相変更フレームを設定する。例えば、最初の基準フレームについては、サンプル番号683、1366、2049、2732、3413から始まる4096のサンプルで構成される5個の位相変更フレームが設定されることになる。続いて、周波数変換手段130、符号判定パラメータ算出手段140が、読み込んだ各音響フレームから、埋め込まれている情報を判定し、対応する符号を出力する(S502)。出力される符号の形式は、埋め込み側の2ビットの値に対応するパターン1〜パターン4の4通り、およびパターン0の計5値の形式となる。
ここで、ステップS502の符号判定処理の詳細を図11のフローチャートに従って説明する。第2の実施形態におけるステップS502の符号判定処理は、第1の実施形態におけるS502の符号判定処理とは、正確には異なるが、
概略はほぼ同じであるので、第1の実施形態と同じ図11を用いて説明することにする。まず、周波数変換手段130が、読み込んだ各音響フレームに対して、周波数変換を行ってフレームスペクトルを得る(S301)。この処理は、図1に示した周波数変換手段20における処理と同様である。ただし、抽出に用いるのは、左チャンネルだけであるので、上記〔数式5〕に従った処理を行い、左チャンネルに対応する変換データの実部Al(1,j)等、虚部Bl(1,j)等を得る。
上記周波数変換手段130における処理により、周波数に対応した成分であるスペクトルで表現されたフレームスペクトルが得られる。続いて、符号判定パラメータ算出手段140は、平均符号レベルHL1〜HL4の算出を行う(S302)。具体的には、過去“状態1”であると判断された音響フレームについての強度値EC1の積算値であるv1を、過去“状態1”であると判断された音響フレームの数であるn1で除算することによりHL1を算出し、過去“状態2”であると判断された音響フレームについての強度値EC2の積算値であるv2を、過去“状態2”であると判断された音響フレームの数であるn2で除算することによりHL2を算出し、過去“状態3”であると判断された音響フレームについての強度値EC3の積算値であるv3を、過去“状態3”であると判断された音響フレームの数であるn3で除算することによりHL3を算出し、過去“状態4”であると判断された音響フレームについての強度値EC4の積算値であるv4を、過去“状態4”であると判断された音響フレームの数であるn4で除算することによりHL4を算出する。したがって、平均符号レベルHL1〜HL4は、過去対応する状態であると判断された音響フレームの低周波強度の平均値となる。
続いて、符号判定パラメータ算出手段140は、候補符号テーブルの初期化を行う(S303)。候補符号テーブルは、1つの基準フレームおよび5個の位相変更フレームを特定する0〜5の位相番号および、この6個の音響フレームの状態から得られる5値の符号を記録するものである。
続いて、符号判定パラメータ算出手段140は、強度値EC1〜強度値EC4を用いて、低周波成分の状態がどのような状態であるか、すなわち、2ビットの値としてどのような値が埋め込まれていたかを判断する処理を行う(S304)。具体的には、以下の4群の判定処理を実行し、各群における全ての条件を満たす場合に、対応する状態であったと判断し、対応する2ビットの値を出力する。
C1>0.001・HL1かつEC1>2・EC2かつEC1>EC3かつEC1>EC4の場合、“状態1”であると判断し、パターン1を出力する。
C2>0.001・HL2かつEC2>2・EC1かつEC2>EC3かつEC2>EC4の場合、“状態2”であると判断し、パターン2を出力する。
C3>0.001・HL3かつEC3>2・EC4かつEC3>EC1かつEC3>EC2の場合、“状態3”であると判断し、パターン3を出力する。
C4>0.001・HL4かつEC4>2・EC3かつEC4>EC1かつEC4>EC2の場合、“状態4”であると判断し、パターン4を出力する。
上記各群は、比較的厳しい判定を行うものであるが、上記各群のいずれも満たさない場合は、符号判定パラメータ算出手段140は、上記各群の先頭2つの条件のみの判定処理を実行し、状態を判断し、対応する2ビットの値を出力する。すなわち、以下の各群における判定処理を実行することになる。
C1>0.001・HL1かつEC1>2・EC2の場合、“状態1”であると判断し、パターン1を出力する。
C2>0.001・HL2かつEC2>2・EC1の場合、“状態2”であると判断し、パターン2を出力する。
C3>0.001・HL3かつEC3>2・EC4の場合、“状態3”であると判断し、パターン3を出力する。
C4>0.001・HL4かつEC4>2・EC3の場合、“状態4”であると判断し、パターン4を出力する。
符号判定パラメータ算出手段140は、各音響フレーム単位で、上記判定結果に応じてパターン1〜パターン4のいずれかを出力する(S307)。上記いずれの群の条件も満たさない場合は、“状態0”であると判断し、パターン0を出力する(S308)。
この“状態0”は、強度値E1〜E4が下限値Lev以下であることにより、当該フレームに2ビットの値の記録が行なわれなかったことを示す埋め込みエラーを示す場合と、ワードの区切りを示す場合とがある。“状態0”がワードの区切りを示すか否かは、後述するようにビットカウンタが8以上に達しているかどうかで判断する。
また、上記判定の結果、パターン1〜パターン4のいずれかを出力した場合には、さらに、以下の〔数式21〕に従って位相判定テーブルS(p)の更新を行う(S309)。
〔数式21〕
“状態1”であると判断し、パターン1を出力した場合、S(p)←S(p)+EC1
“状態2”であると判断し、パターン2を出力した場合、S(p)←S(p)+EC2
“状態3”であると判断し、パターン3を出力した場合、S(p)←S(p)+EC3
“状態4”であると判断し、パターン4を出力した場合、S(p)←S(p)+EC4
続いて、符号判定パラメータ算出手段140は、候補符号テーブルに、最適位相となる候補を保存する(S310)。具体的には、位相判定テーブルに記録されているS(p)の値が最大となる位相番号pの値、前記S307、S308により判定された5値のいずれかの符号、その音響フレームについての上記〔数式17〕に従った処理を実行することにより算出した、低周波数成分に対応する各EC1〜EC4の値を最適位相の候補として候補符号テーブルに保存する。
続いて、全ての位相番号pに対応する処理を終えたかどうかを判定する(S311)。これは、ある基準フレームに対して全ての位相変更フレームの処理を行ったかどうかを判定している。本実施形態では、pが0〜5までの値をとるので、6回分処理していない場合は、処理していた音響フレームから所定サンプル数ずらして、位相の異なる音響フレームを設定し、S304に戻って処理を繰り返す。なお、p=0の場合が基準フレームであり、p=1〜5の場合が位相変更フレームである。全ての位相番号pに対応する処理を終えた場合は、候補保存テーブルに記録されている位相番号pに対応する位相が最適位相であると判定し、候補保存テーブルに記録されている符号を出力する(S312)。
再び図14のフローチャートに戻って説明する。S502による処理の結果、パターン1〜パターン4に相当する符号が出力された場合には、平均符号レベルのパラメータの更新処理を行う(S503)。具体的には、平均符号レベルHL1〜HL4算出の際の分子となる積算値v1〜v4にそれぞれ強度値EC1〜EC4を加算して積算値v1〜v4を更新し、分母となるフレーム数n1〜n4にそれぞれ1を加算してフレーム数n1〜n4を更新することにより行う。n1〜n4はあらかじめ設定したnmax(例えば100)を超えないように設定する。
続いて、非符号カウンタの初期化処理を行う(S504)。具体的には、上記S500の初期化処理における処理と同様、非符号カウンタNn=0と設定する。さらに、出力された値に対応する2ビットのビットパターンをバッファに保存する(S505)。次に、ビットカウンタを“2”だけカウントアップする(S506)。
一方、S502による処理の結果、パターン0が出力された場合には、非符号カウンタのカウントアップ処理を行う(S507)。具体的には、非符号カウンタNnの値に1を加算する。そして、非符号カウンタNnの値がnmax以上である場合は、S500に戻って初期化処理を行う。非符号カウンタNnの値がnmax未満である場合は、ビットカウンタが8以上であるかどうかを判断し、8未満である場合は、パターン0は、ワードの区切りではなく埋め込みエラーを示す符号と判断し、現在のビットカウンタ値を維持してS501に戻って符号抽出処理を継続する。ビットカウンタが8以上である場合は、パターン0は、ワードの区切りを示すと判断できるので、バッファに記録された1ワード分のデータを、付加情報抽出手段160が出力する(S508)。そして、ビットカウンタを0に初期化する(S509)。図10に示す処理を各基準フレームに対して実行することにより、付加情報が抽出されることになる。S501において全ての基準フレームが抽出されたと判断された場合には、処理を終了する。
上記S508の処理において、付加情報抽出手段160は、まず、符号判定パラメータ算出手段140により出力された値のうち、パターン0を区切り位置として、その次の値(パターン)を先頭と仮定して、各値に対応する2ビットの値に対応させて、ビット配列を作成する。続いて、パターン0を抽出した際に、ビット配列のビットカウンタが8未満であれば、パターン0は埋め込みエラーを示すものと判断し、現状のビットカウンタの値を維持してビット配列の作成を継続する。ビット配列のビットカウンタが丁度8または8を超えていれば、パターン0はワード(1バイト)の区切りを示すものと判断し、ビット配列の最後の8ビットを、所定の規則により変換して意味のある付加情報として抽出する。ここで、8ビットを超える場合は、データの抽出処理を開始する直後に発生しやすく、パターン0を先頭と誤判断してビットカウンタを初期化した場合に発生する。所定の規則としては、情報を埋め込む者が意図した情報が受け取った者に認識可能な状態とできるものであれば、さまざまな規則が適用できるが、本実施形態では、文字情報として認識するための規則としている。すなわち、付加情報抽出手段160は、符号判定パラメータ算出手段140が判定し、符号出力手段150から出力される符号を1バイト(8ビット)単位で認識し、これを設定されたコード体系に従って文字情報を認識する。このようにして得られた文字情報は、表示装置(図示省略)の画面に表示出力される。
従って、埋め込み装置により音響信号に、その楽曲の曲名やアーチスト等の属性情報を文字情報として埋め込んでおけば、利用者は、その音楽が流れているのを聞いて、その曲名やアーチストを知りたいと思ったときに、抽出装置として機能する自身の携帯端末に所定の操作を行えば、自身の携帯端末の画面に曲名やアーチスト等の属性情報が文字情報として表示されることになる。
(2.3.信号成分が小さくても情報の埋め込みを可能とする手法)
ここまで、説明してきた処理においては、上記E1〜E4が所定の大きさより大きいことが必要となり、上記E1〜E4が所定の大きさ以下の場合には、情報の埋め込みを行うことができない。そこで、以下、上記E1〜E4が所定の大きさ以下であっても、信号の埋め込みを可能とする手法について説明する。
この場合、図1に示した埋め込み装置における情報の埋め込み処理は、図13のフローチャートに従って行われるが、強度値E1〜E4がレベル下限値Lev以下となることがなくなるため、S405における周波数変換処理において低周波成分変更手段30がレベルの判定を行わない。これは、この処理では、信号レベルが小さくても強制的に情報を埋め込むこととしているため、情報の埋め込みが不可能な信号レベルが小さい部分が存在するかどうかを判断し、区切りモードに設定する必要がないからである。
したがって、S405における状態1〜状態4に設定する処理としては、まず、以下の〔数式22〕に従って算出される固定値Vを、低周波成分の強度として設定する。
〔数式22〕
V={0.5・Lev/(2P−6)}1/2
そして、状態1〜状態4とする場合は、上記〔数式10〕〔数式11〕等に従った処理におけるAl´(1,j)、Bl´(1,j)、Al´(3,j)、Bl´(3,j)の算出の際、E(1,j)に代えて、上記〔数式22〕で算出される固定値Vを用いる。
上記のように、周波数成分が小さい場合に情報を埋め込んだ場合であっても、抽出側の、音響信号からの情報の抽出装置の構成は図9と同一であり、処理動作は図14のフローチャートに従ったものと同一である。
(3.第3の実施形態)
次に、第3の実施形態について説明する。第1の実施形態、第2の実施形態では、それぞれ6ビット強、2ビットの情報を埋め込むようにしたが、第3の実施形態では、図15に示すように、音響フレームの低周波成分を8つの状態に変更し、3ビットの情報を埋め込むことを特徴とする。
図15に示す各音響フレームにおいても、図3、図12と同様、横軸は時間方向、縦軸は周波数方向を示している。また、網掛けされた部分は、低周波成分が存在している部分を示し、網掛けが濃いほど成分強度が強いことを示している。第3の実施形態において、図15(a)に示すような原状態の低周波成分に対して、パターン0を埋め込む場合、L-chの信号の低周波成分を全て除去し、除去した成分と同等の成分をR-chの信号の低周波成分に加算して図15(b)に示すような“状態0”に変更する。図15においては、図12と同様、第1窓関数により得られる前部において縦軸の周波数方向が4つに区分されており、第3窓関数により得られる後部において縦軸の周波数方向が3つに区分されている。前部、後部のいずれにおいても、最下部に示すG1、G2はギャップ領域である。さらに、前部においては、最上部にギャップ領域G10が設けられている。これらのギャップ領域は、抽出対象であるL-chの信号においては、常に成分が除去され、除去された成分と同等の成分がR-chの信号の低周波成分に加算される。最下部にギャップ領域を設けることにより、埋め込み可能な低周波成分の上限を高くすることができる。
本実施形態で、パターン1〜パターン4を埋め込む場合、第2の実施形態と全く同様に行われる。したがって、図15(c)〜(f)は、図12(c)〜(f)と全く同じ状態となっている。
本実施形態で、パターン5を埋め込む場合は、図15(g)に示すように、L-ch信号のスペクトル集合SP1の強度を強め、スペクトル集合SP2、SP3、SP4の強度を弱める。そして、R-ch信号の対応する成分については、L-ch信号を補足するように変更して“状態5”とする。パターン6を埋め込む場合は、図15(h)に示すように、L-ch信号のスペクトル集合SP2の強度を強め、スペクトル集合SP1、SP3、SP4の強度を弱める。そして、R-ch信号の対応する成分については、L-ch信号を補足するように変更して“状態6”とする。
本実施形態で、パターン7を埋め込む場合は、図15(i)に示すように、L-ch信号のスペクトル集合SP4の強度を強め、スペクトル集合SP1、SP2、SP3の強度を弱める。そして、R-ch信号の対応する成分については、L-ch信号を補足するように変更して“状態7”とする。パターン8を埋め込む場合は、図15(j)に示すように、L-ch信号のスペクトル集合SP3の強度を強め、スペクトル集合SP1、SP2、SP4の強度を弱める。そして、R-ch信号の対応する成分については、L-ch信号を補足するように変更して“状態8”とする。
第3の実施形態では、図15(b)〜(j)に示すような9つの状態に低周波成分を変更することにより、情報の埋め込みを行っている。9つの状態のうち、1つは、埋め込むべき付加情報を構成するワード間の区切りやエラー処理等に用いるものであるので、実質埋め込むことができるのは8つの状態、すなわち、3ビットに相当する。したがって、本実施形態では、1音響フレームに対して3ビットの情報が埋め込み可能となる。
(3.1.埋め込み装置)
第3の実施形態においても、埋め込み装置の装置構成は、図1に示したようなものとなるが、主に低周波成分変更手段30の内容が異なっている。具体的には、低周波成分変更手段30は、Aタイプの音響フレームについて、付加情報読込手段70が読み込んだビットパターンに応じて、低周波成分の割合を変更する処理を行うが、第3の実施形態では、ビット配列を3ビットずつ読み込み、1音響フレームに対して3ビットの情報を埋め込む。埋め込まれる3ビットのパターンは、“000”“001”“010”“011” “100”“101”“110”“111”の8通りがある。第2の実施形態では、これらをパターン1〜パターン8と定義する。この際、“000”〜“111”の8通りのうち、いずれをパターン1〜パターン8と定義しても良い。抽出側において、埋め込み側で埋め込まれた3ビットの配列が特定できれば良いためである。したがって、この定義は、埋め込み側と抽出側で一致している必要がある。
そして、低周波成分変更手段30は、このパターン1〜パターン8に応じて、低周波成分を状態1〜状態8のいずれかに変更する。具体的には、まず、低周波成分変更手段30は、上記〔数式5〕により求めた左チャンネルの実部Al(1,j)、Al(3,j)、虚部Bl(1,j)、Bl(3,j)、右チャンネルの実部Ar(1,j)、Ar(3,j)、虚部Br(1,j)、Br(3,j)を利用して、以下の〔数式23〕により、強度値E1〜E4を算出する。この強度値E1〜E4は、第1の実施形態におけるものとは異なっている。なお、E1〜E8、EC1〜EC8、HL1〜HL70等の各変数は、各実施形態で独立しており、同一名の変数であっても、算出手法が異なる。ただし、本明細書で用いられる数式については、明細書全体を通じて統一されている。
〔数式23〕
1=Σj=m,m+P-1{Al(1,j)2+Bl(1,j)2+Ar(1,j)2+Br(1,j)2}・F(j−m)・C
2=Σj=m+d,m+d+P-1{Al(3,j)2+Bl(3,j)2+Ar(3,j)2+Br(3,j)2}・F(j−m−d)・C
3=Σj=m+p,m+2P-1{Al(1,j)2+Bl(1,j)2+Ar(1,j)2+Br(1,j)2}・F(j−m−P)・C
4=Σj=m+d+p,m+d+2P-1{Al(3,j)2+Bl(3,j)2+Ar(3,j)2+Br(3,j)2}・F(j−m−d−P)・C
上記〔数式23〕において、mは低周波数帯の下限の成分の番号、Mは低周波数帯の上限の成分の番号であり、P=(M−m)/2である。なお、Pが整数にならない場合、切捨て処理を行う。m=15、M=39と設定すると、P=12となる。上記〔数式23〕により算出されたE1〜E4は音響フレームの低周波領域におけるスペクトル集合の成分の強度値を示すことになる。続いて、この強度値E1〜E4がレベル下限値Levより大きいかどうかの判定を行う。レベル下限値Levは、音響信号Xl(i)、Xr(i)の振幅最大値が1に正規化されており、M=39に設定されている場合、0.25に設定する。このLev=0.25という値は、経験的にアナログ変換への耐性が維持できるレベルであり、低周波成分が少ない場合は適宜下げることになるが、その場合は、アナログ変換により検出精度も低下することになる。
強度値E1〜E4がレベル下限値Levより大きいかどうかを判断するのは、信号の強度が小さいと、信号を変化させても、その変化を抽出側で検出することができないためである。すなわち、各スペクトル集合の強度を十分な大きさとすることができるかどうかを判断することになる。
1およびE3が共にレベル下限値Levより大きく、埋め込むべき情報が“パターン1”である場合、上記〔数式10〕の規則に従った数式に応じた処理を実行することにより、低周波成分の状態を“状態1”、すなわち、図12(c)に示したような状態に変更する。上記〔数式10〕の規則に従った数式とは、左信号において、強度を強くするスペクトル集合SP1、SP3については、周波数方向窓関数F(j)を乗じるとともに、対応する右信号のスペクトル集合においては1−F(j)を乗じ、左信号において、強度を弱くするスペクトル集合SP2、SP4については、その部分の値を0にするとともに、対応する右信号のスペクトル集合においては、削除分を加算するものである。なお、左信号において、強度を弱くするスペクトル集合SP2、SP4については、SP1、SP3との差を明確にすることができれば十分であるため、必ずしも0にする必要はなく、小さな値であれば良い。
2およびE4が共にレベル下限値Levより大きく、埋め込むべき情報が“パターン2”である場合、上記〔数式10〕の規則に従った数式に応じた処理を実行することにより、低周波成分の状態を“状態2” 、すなわち、図12(d)に示したような状態に変更する。上記〔数式10〕の規則に従った数式とは、左信号において、強度を強くするスペクトル集合SP2、SP4については、周波数方向窓関数F(j)を乗じるとともに、対応する右信号のスペクトル集合においては1−F(j)を乗じ、左信号において、強度を弱くするスペクトル集合SP1、SP3については、その部分の値を0にするとともに、対応する右信号のスペクトル集合においては、削除分を加算するものである。なお、左信号において、強度を弱くするスペクトル集合SP1、SP3については、SP2、SP4との差を明確にすることができれば十分であるため、必ずしも0にする必要はなく、小さな値であれば良い。
1およびE4が共にレベル下限値Levより大きく、埋め込むべき情報が“パターン3”である場合、上記〔数式10〕の規則に従った数式に応じた処理を実行することにより、低周波成分の状態を“状態3” 、すなわち、図12(e)に示したような状態に変更する。上記〔数式10〕の規則に従った数式とは、左信号において、強度を強くするスペクトル集合SP1、SP4については、周波数方向窓関数F(j)を乗じるとともに、対応する右信号のスペクトル集合においては1−F(j)を乗じ、左信号において、強度を弱くするスペクトル集合SP2、SP3については、その部分の値を0にするとともに、対応する右信号のスペクトル集合においては、削除分を加算するものである。なお、左信号において、強度を弱くするスペクトル集合SP2、SP3については、SP1、SP4との差を明確にすることができれば十分であるため、必ずしも0にする必要はなく、小さな値であれば良い。
2およびE3が共にレベル下限値Levより大きく、埋め込むべき情報が“パターン4”である場合、上記〔数式10〕の規則に従った数式に応じた処理を実行することにより、低周波成分の状態を“状態4” 、すなわち、図12(f)に示したような状態に変更する。上記〔数式10〕の規則に従った数式とは、左信号において、強度を強くするスペクトル集合SP2、SP3については、周波数方向窓関数F(j)を乗じるとともに、対応する右信号のスペクトル集合においては1−F(j)を乗じ、左信号において、強度を弱くするスペクトル集合SP1、SP4については、その部分の値を0にするとともに、対応する右信号のスペクトル集合においては、削除分を加算するものである。なお、左信号において、強度を弱くするスペクトル集合SP1、SP4については、SP2、SP3との差を明確にすることができれば十分であるため、必ずしも0にする必要はなく、小さな値であれば良い。
1がレベル下限値Levより大きく、埋め込むべき情報が“パターン5”である場合、上記〔数式10〕の規則に従った数式に応じた処理を実行することにより、低周波成分の状態を“状態5” 、すなわち、図12(g)に示したような状態に変更する。上記〔数式10〕の規則に従った数式とは、左信号において、強度を強くするスペクトル集合SP1については、周波数方向窓関数F(j)を乗じるとともに、対応する右信号のスペクトル集合においては1−F(j)を乗じ、左信号において、強度を弱くするスペクトル集合SP2、SP3、SP4については、その部分の値を0にするとともに、対応する右信号のスペクトル集合においては、削除分を加算するものである。なお、左信号において、強度を弱くするスペクトル集合SP2、SP3、SP4については、SP1との差を明確にすることができれば十分であるため、必ずしも0にする必要はなく、小さな値であれば良い。
2がレベル下限値Levより大きく、埋め込むべき情報が“パターン6”である場合、上記〔数式10〕の規則に従った数式に応じた処理を実行することにより、低周波成分の状態を“状態6” 、すなわち、図12(h)に示したような状態に変更する。上記〔数式10〕の規則に従った数式とは、左信号において、強度を強くするスペクトル集合SP2については、周波数方向窓関数F(j)を乗じるとともに、対応する右信号のスペクトル集合においては1−F(j)を乗じ、左信号において、強度を弱くするスペクトル集合SP1、SP3、SP4については、その部分の値を0にするとともに、対応する右信号のスペクトル集合においては、削除分を加算するものである。なお、左信号において、強度を弱くするスペクトル集合SP1、SP3、SP4については、SP2との差を明確にすることができれば十分であるため、必ずしも0にする必要はなく、小さな値であれば良い。
4がレベル下限値Levより大きく、埋め込むべき情報が“パターン7”である場合、上記〔数式10〕の規則に従った数式に応じた処理を実行することにより、低周波成分の状態を“状態7” 、すなわち、図12(i)に示したような状態に変更する。上記〔数式10〕の規則に従った数式とは、左信号において、強度を強くするスペクトル集合SP4については、周波数方向窓関数F(j)を乗じるとともに、対応する右信号のスペクトル集合においては1−F(j)を乗じ、左信号において、強度を弱くするスペクトル集合SP1、SP2、SP3については、その部分の値を0にするとともに、対応する右信号のスペクトル集合においては、削除分を加算するものである。なお、左信号において、強度を弱くするスペクトル集合SP1、SP2、SP3については、SP4との差を明確にすることができれば十分であるため、必ずしも0にする必要はなく、小さな値であれば良い。
3がレベル下限値Levより大きく、埋め込むべき情報が“パターン8”である場合、上記〔数式10〕の規則に従った数式に応じた処理を実行することにより、低周波成分の状態を“状態8” 、すなわち、図12(j)に示したような状態に変更する。上記〔数式10〕の規則に従った数式とは、左信号において、強度を強くするスペクトル集合SP3については、周波数方向窓関数F(j)を乗じるとともに、対応する右信号のスペクトル集合においては1−F(j)を乗じ、左信号において、強度を弱くするスペクトル集合SP1、SP2、SP4については、その部分の値を0にするとともに、対応する右信号のスペクトル集合においては、削除分を加算するものである。なお、左信号において、強度を弱くするスペクトル集合SP1、SP2、SP4については、SP3との差を明確にすることができれば十分であるため、必ずしも0にする必要はなく、小さな値であれば良い。
上記〔数式10〕の規則に従った数式に応じた処理を実行し、低周波成分の状態を“状態1”〜“状態8”に変更した場合、いずれの場合であっても、さらに第1、第2の実施形態と同様、上記〔数式12〕に従った処理を実行し、最低周波数帯におけるギャップ領域G1、G2を設ける。
第3の実施形態においても、第2の実施形態と同様、ワード間の区切りとする場合、埋め込まれる側の低周波成分の強度が小さすぎる場合には、上記〔数式13〕に従った処理を実行し、その低周波成分を除去し、状態を“状態0”に変更する。これは、図15(b)に示すような状態である。
第3の実施形態における埋め込み装置の処理の流れを図16のフローチャートに示す。図16において、図13と同一の部分は、図13と同一または類似の処理を行うものである。図16において、図13と大きく異なるのは、S410の部分であり、第3の実施形態では、低周波成分変更手段30が、レジスタに保持された1ワードから2ビットを読み込む処理を行った後、読み込む2ビットが末端2ビットでない場合は、さらにもう1ビット読み込む処理を行う。すなわち、この場合、レジスタから3ビット読み込むことになる。すなわち、本実施形態では、1ワードとしてレジスタに8ビットが保持されているため、3ビット、3ビット、2ビットの順に読み込まれる。末端の2ビット以外では、3ビット読み込む方が効率が良いため、末端2ビットであるかどうかを判断し、そうでない場合は、さらに1ビット読み込んで3ビット読み込みとしているのである。
続いて、音響フレーム読込手段10が、音響信号記憶部61に記憶されたステレオ音響信号の左右の各チャンネルから、それぞれ所定数のサンプルを1音響フレームとして読み込む(S404)。
モードが区切りモードである場合、左(L)チャンネル信号において、低周波成分を“状態0”とする処理を行う(S406)。具体的には、周波数変換手段20が、読み込んだ音響フレームに対して周波数変換を行って、その音響フレームのスペクトルであるフレームスペクトルを得た後、低周波成分変更手段30が、上記〔数式13〕に従った処理を実行することになる。
モードがビットモードである場合は、周波数変換手段20および低周波成分変更手段30が、音響フレームの低周波成分の状態を“状態1”〜“状態8”のいずれかに変更する処理を行う(S405)。具体的には、まず、周波数変換手段20が、読み込んだ音響フレームに対して、周波数変換を行って、その音響フレームのスペクトルであるフレームスペクトルを得る。すなわち、各音響フレームについて、3つの窓関数W(1,i)、W(2,i)、W(3,i)を用いて、上記〔数式5〕に従った処理を行うことになる。
続いて、低周波成分変更手段30が、上記〔数式23〕によりE1〜E4を算出する。そして、付加情報読込手段70から受け取ったパターン1〜パターン8に応じて上記〔数式10〕〔数式11〕等に従った処理を実行し、低周波成分の状態を“状態1”〜“状態8”のいずれかに変更する。
S405において、“状態1”〜“状態8”のいずれにも変更することができない場合は、低周波成分を“状態0”とする処理を行う(S406)。具体的には、上記〔数式13〕に従った処理を実行することになる。“状態1”〜“状態8” のいずれにも変更することができない場合とは、埋め込むべきパターンに対応する強度値のいずれかが、レベル下限値Lev以下となっている場合である。例えば、パターン1を埋め込む場合、E1およびE3が共にレベル下限値Levより大きい必要があるため、E1、E3のいずれかがLev以下である場合は、S406に進むことになる。
上記〔数式13〕に従った処理を実行することにより、左チャンネルのフレームスペクトルの低周波数成分は、スペクトル集合SP1、SP2、SP3、SP4全てにおいて、“0” で同一となる。この“状態0”のパターンは、付加情報の先頭位置(区切り)を示す情報か、または前述の強度値E1〜E4が下限値Lev以下であることにより、当該フレームに3ビットまたは2ビットの値の記録が行なわれなかったことを示す情報となる。なお、上記〔数式13〕においては、j=0〜M−1の各成分に対してAl´(j)=Bl´(j)=0としているが、抽出側において、“状態1”〜“状態8”のいずれでもないことを認識可能とすることを目的としているため、十分小さな値であれば、必ずしも0とする必要はない。また、必ずしも4つのスペクトル成分の値が同一である必要はなく、差が小さければ良い。
次に、周波数逆変換手段40が、上記S405、S406の処理により各低周波成分のスペクトル集合間の割合が変更されたフレームスペクトルを周波数逆変換して改変音響フレームを得る処理を行う(S407)。この周波数逆変換は、当然のことながら、周波数変換手段20がS405において実行した手法に対応していることが必要となる。本実施形態では、周波数変換手段20において、フーリエ逆変換を施しているため、周波数逆変換手段40は、フーリエ逆変換を実行することになる。具体的には、上記〔数式10〕〔数式11〕等の規則に対応する数式により得られたスペクトルの左チャンネルの実部Al´(1,j)等、虚部Bl´(1,j)等、右チャンネルの実部Ar´(1,j)等、虚部Br´(1,j)等を用いて、上記〔数式15〕に従った処理を行い、Xl´(i)、Xr´(i)を算出する。
改変音響フレーム出力手段50は、得られた改変音響フレームを順次出力ファイルに出力する。こうして1つの音響フレームに対する処理を終えたら、モードの判定を行い(S408)、モードが区切りモードである場合は、モードをビットモードに設定した後(S409)、音響フレーム読込手段10が、音響フレームを読み込む(S404)。一方、モードがビットモードである場合は、低周波成分変更手段30が付加情報のビット配列中の次の2ビットを読み込む(S403)。ここで、読み込んだ2ビットが1ワードの末端の2ビットでない場合は、さらにもう1ビット読み込む処理を行う(S410)。すなわち、この場合、レジスタから3ビット読み込むことになる。一方、読み込んだ2ビットが1ワードの末端の2ビットである場合は、そのまま音響フレームを読み込む処理に移行する(S404)。すなわち、本実施形態では、1ワードとしてレジスタに8ビットが保持されているため、3ビット、3ビット、2ビットの順に読み込まれる。末端の2ビット以外では、3ビット読み込む方が効率が良いため、末端2ビットであるかどうかを判断し、そうでない場合は、さらに1ビット読み込んで3ビット読み込みとしているのである。
以上のような処理を音響信号の両チャンネルの全サンプルに渡って実行していく。すなわち、所定数のサンプルを音響フレームとして読み込み、音響信号から読み込むべき音響フレームがなくなったら(S404)、処理を終了する。なお、S401において読み込んだ1ワードのデータの各ビットに対応する処理を終えた場合、S403からS401に戻り、付加情報の次のワードを読み込み処理をすることになる。付加情報の全ワードに対して処理が終了した場合は、付加情報の先頭ワードに戻って処理を行う。この結果、全ての音響フレームに対して処理を行った全ての改変音響フレームが出力ファイルに記録されて、改変音響信号として得られる。得られた改変音響信号は、記憶手段60内の改変音響信号記憶部63に出力され、記憶される。
(3.2.抽出装置)
第2の実施形態においても、装置構成は図9に示したものと同様であるが、主に符号判定パラメータ算出手段140の内容が異なっている。具体的には、符号判定パラメータ算出手段140は、生成されたスペクトルの低周波領域からスペクトル集合を抽出し、各スペクトル集合の強度値EC1〜EC4を以下の〔数式24〕に基づいて算出し、この強度値EC1〜EC4を符号判定パラメータとし、この符号判定パラメータEC1〜EC4の比率等に基づいて、所定の状態であると判断する機能を有している。以下の〔数式24〕は上記〔数式23〕において右チャンネル成分を削除したものとなっている。
〔数式24〕
C1=Σj=m,…,m+P-4{Al(1,j)2+Bl(1,j)2}・F(j−m)・C
C2=Σj=m+d,…,m+d+P-4{Al(3,j)2+Bl(3,j)2}・F(j−m−d)・C
C3=Σj=m+P,…,m+2P-4{Al(1,j)2+Bl(1,j)2}・F(j−m−P)・C
C4=Σj=m+d+P,…,m+d+2P-4{Al(3,j)2+Bl(3,j)2}・F(j−m−d−P)・C
次に、第3の実施形態における音響信号からの情報の抽出装置の処理の全体的な流れについて説明する。第3の実施形態における抽出処理は、第2の実施形態におけるS502の抽出処理とは、正確には異なるが、概略はほぼ同じであるので、第2の実施形態と同じ図14のフローチャートに従って説明することにする。まず、本装置では、平均符号レベルHL1〜HL8、位相判定テーブルS(p)、非符号カウンタNnを初期化する(S500)。この処理は、図10におけるS500とほぼ同様の処理である。平均符号レベルHL1〜HL8の初期値は、第1の実施形態と同様、0.1に設定されている。位相判定テーブルS(p)、非符号カウンタNnについても第1の実施形態と同様である。
利用者が抽出装置に対して、抽出装置としての起動の指示を行うと、音響信号入力手段100が、流れている音楽を録音し、デジタル化してデジタル音響信号として入力する。続いて、基準フレーム獲得手段110が、音響信号入力手段100から入力された音響信号から、所定数のサンプルで構成される音響フレームを基準フレームとして抽出する(S501)。この処理は、図10におけるS501とほぼ同様の処理である。
続いて、周波数変換手段130、符号判定パラメータ算出手段140が、読み込んだ各音響フレームから、埋め込まれている情報を判定し、対応する符号(パターン)を出力する(S502)。出力される情報の形式は、付加情報が埋め込まれる場合に対応するパターン1〜パターン8の8通り、およびパターン0の計9通りの形式となる。
ステップS502の符号判定処理の詳細については、図11のフローチャートを用いて説明する。後述するように、第1の実施形態における処理と各ステップにおける処理は現実には異なっているが、類似した処理となっているので、ここでは、図11に従って説明する。まず、周波数変換手段130が、第1の実施形態と同様、周波数変換を行った後(S301)、符号判定パラメータ算出手段140は、平均符号レベルHL1〜HL8の算出を行う(S302)。具体的には、過去“状態1”であると判断された音響フレームについての強度値EC1と強度値EC3の和の積算値であるv1を、過去“状態1”であると判断された音響フレームの数であるn1で除算することによりHL1を算出し、過去“状態2”であると判断された音響フレームについての強度値EC2と強度値EC4の和の積算値であるv2を、過去“状態2”であると判断された音響フレームの数であるn2で除算することによりHL2を算出し、過去“状態3”であると判断された音響フレームについての強度値EC1と強度値EC4の和の積算値であるv3を、過去“状態3”であると判断された音響フレームの数であるn3で除算することによりHL3を算出し、過去“状態4”であると判断された音響フレームについての強度値EC2と強度値EC3の和の積算値であるv4を、過去“状態4”であると判断された音響フレームの数であるn4で除算することによりHL4を算出する。
さらに、過去“状態5”であると判断された音響フレームについての強度値EC1の2倍の積算値であるv5を、過去“状態5”であると判断された音響フレームの数であるn5で除算することによりHL5を算出し、過去“状態6”であると判断された音響フレームについての強度値EC2の2倍の積算値であるv6を、過去“状態6”であると判断された音響フレームの数であるn6で除算することによりHL6を算出し、過去“状態7”であると判断された音響フレームについての強度値EC3の2倍の積算値であるv7を、過去“状態7”であると判断された音響フレームの数であるn7で除算することによりHL7を算出し、過去“状態8”であると判断された音響フレームについての強度値EC4の2倍の積算値であるv8を、過去“状態8”であると判断された音響フレームの数であるn8で除算することによりHL8を算出する。したがって、平均符号レベルHL1〜HL4は、過去対応する状態であると判断された音響フレームの低周波強度の平均値となる。平均符号レベルHL5〜HL8は、過去対応する状態であると判断された音響フレームの低周波強度の2倍の平均値となる。
続いて、符号判定パラメータ算出手段140は、候補符号テーブルの初期化を行う(S303)。候補符号テーブルは、1つの基準フレームおよび5個の位相変更フレームを特定する0〜5の位相番号および、この6個の音響フレームの状態から得られる9通りの符号を記録するものである。
続いて、符号判定パラメータ算出手段140は、強度値EC1〜強度値EC4を用いて、低周波成分の状態がどのような状態であるか、すなわち、3ビットまたは2ビットのパターンとしてどのようなパターンが埋め込まれていたかを判断する処理を行う(S304)。具体的には、まず、以下の4群の判定処理を実行し、各群における全ての条件を満たす場合に、対応する状態であったと判断し、対応する値を出力する。
C1>0.0005・HL1、かつEC3>0.0005・HL3、かつEC1>2・EC2、かつEC3>2・EC4の場合、“状態1”であると判断し、パターン1を出力する。
C2>0.0005・HL2、かつEC4>0.0005・HL4、かつEC2>2・EC1、かつEC4>2・EC3の場合、“状態2”であると判断し、パターン2を出力する。
C1>0.0005・HL1、かつEC4>0.0005・HL4、かつEC1>2・EC2、かつEC4>2・EC3の場合、“状態3”であると判断し、パターン3を出力する。
C2>0.0005・HL2、かつEC3>0.0005・HL3、かつEC2>2・EC1、かつEC3>2・EC4の場合、“状態4”であると判断し、パターン4を出力する。
上記各群のいずれも満たさない場合は、符号判定パラメータ算出手段140は、さらに以下の各群における判定処理を実行して状態を判断し、対応するパターンを出力する。
C1>0.0005・HL1、かつEC1>2・EC2、かつEC1>EC3、かつEC1>EC4の場合、“状態5”であると判断し、パターン5を出力する。
C2>0.0005・HL2、かつEC2>2・EC1、かつEC2>EC3、かつEC2>EC4の場合、“状態6”であると判断し、パターン6を出力する。
C4>0.0005・HL4、かつEC4>2・EC3、かつEC4>EC1、かつEC4>EC2の場合、“状態7”であると判断し、パターン7を出力する。
C3>0.0005・HL3、かつEC3>2・EC4、かつEC3>EC1、かつEC3>EC2の場合、“状態8”であると判断し、パターン8を出力する。
符号判定パラメータ算出手段140は、各音響フレーム単位で、上記判定結果に応じてパターン1〜パターン8のいずれかを出力する(S307)。上記いずれの群の条件も満たさない場合は、“状態0”であると判断し、パターン0を出力する(S308)。この“状態0”は、強度値E1〜E4が下限値Lev以下であることにより、当該フレームにパターン1〜パターン8の記録が行なわれなかったことを示す埋め込みエラーを示す場合と、ワードの区切りを示す場合とがある。“状態0”がワードの区切りを示すか否かは、後述するようにビットカウンタが8以上に達しているかどうかで判断する。
また、上記判定の結果、パターン1〜パターン8のいずれかを出力した場合には、さらに、以下の〔数式25〕に従って位相判定テーブルS(p)の更新を行う(S309)。
〔数式25〕
“状態1”であると判断し、パターン1を出力した場合、S(p)←S(p)+EC1+EC3
“状態2”であると判断し、パターン2を出力した場合、S(p)←S(p)+EC2+EC4
“状態3”であると判断し、パターン3を出力した場合、S(p)←S(p)+EC1+EC4
“状態4”であると判断し、パターン4を出力した場合、S(p)←S(p)+EC2+EC3
“状態5”であると判断し、パターン5を出力した場合、S(p)←S(p)+2・EC1
“状態6”であると判断し、パターン6を出力した場合、S(p)←S(p)+2・EC2
“状態7”であると判断し、パターン7を出力した場合、S(p)←S(p)+2・EC4
“状態8”であると判断し、パターン8を出力した場合、S(p)←S(p)+2・EC3
続いて、符号判定パラメータ算出手段140は、候補符号テーブルに、最適位相となる候補を保存する(S310)。具体的には、位相判定テーブルに記録されているS(p)の値が最大となる位相番号pの値、前記S307、S308により判定された9通りのいずれかの符号、その音響フレームについての上記〔数式24〕に従った処理を実行することにより算出した、低周波数成分に対応するEC1+EC3、EC2+EC4、EC1+EC4、EC2+EC3、2・EC1、2・EC2、2・EC4、2・EC3のいずれかを最適位相の候補として候補符号テーブルに保存する。
続いて、全ての位相番号pに対応する処理を終えたかどうかを判定する(S311)。これは、ある基準フレームに対して全ての位相変更フレームの処理を行ったかどうかを判定している。本実施形態では、pが0〜5までの値をとるので、6回分処理していない場合は、処理していた音響フレームから所定サンプル数ずらして、位相の異なる音響フレームを設定し、S304に戻って処理を繰り返す。なお、p=0の場合が基準フレームであり、p=1〜5の場合が位相変更フレームである。全ての位相番号pに対応する処理を終えた場合は、候補保存テーブルに記録されている位相番号pに対応する位相が最適位相であると判定し、候補保存テーブルに記録されている符号を出力する(S312)。
再び図14のフローチャートに戻って説明する。S502による処理の結果、パターン1〜パターン8に相当する符号が出力された場合には、平均符号レベルのパラメータの更新処理を行う(S503)。この処理は、図10におけるS503とほぼ同様の処理である。具体的には、平均符号レベルHL1〜HL8算出の際の分子となる積算値v1〜v8に、それぞれEC1+EC3、EC2+EC4、EC1+EC4、EC2+EC3、2・EC1、2・EC2、2・EC4、2・EC3のいずれかを加算して積算値v1〜v8を更新し、分母となるフレーム数n1〜n8にそれぞれ1を加算してフレーム数n1〜n8を更新することにより行う。n1〜n8はあらかじめ設定したnmax(例えば100)を超えないように設定する。
続いて、非符号カウンタの初期化処理を行う(S504)。具体的には、上記S500の初期化処理における処理と同様、非符号カウンタNn=0と設定する。さらに、出力されたパターンに対応する3ビットをバッファに保存する(S505)。次に、ビットカウンタを“3”だけカウントアップする(S506)。そして、S500に戻り、初期化処理を行う。
一方、S502による処理の結果、パターン0が出力された場合には、非符号カウンタのカウントアップ処理を行う(S507)。具体的には、非符号カウンタNnの値に1を加算する。そして、非符号カウンタNnの値がnmax以上である場合は、S500に戻って初期化処理を行う。非符号カウンタNnの値がnmax未満である場合は、ビットカウンタが8以上であるかどうかを判断し、8未満である場合は、パターン0は、ワードの区切りではなく埋め込みエラーを示す符号と判断し、現在のビットカウンタ値を維持してS501に戻って符号抽出処理を継続する。ビットカウンタが8以上である場合は、パターン0は、ワードの区切りを示すと判断できるので、バッファに記録された1ワード分のデータを、付加情報抽出手段160が出力する(S508)。そして、ビットカウンタを0に初期化する(S509)。図14に示す処理を各基準フレームに対して実行することにより、付加情報が抽出されることになる。S501において全ての基準フレームが抽出されたと判断された場合には、処理を終了する。
上記S508の処理において、付加情報抽出手段160は、まず、符号判定パラメータ算出手段140により出力された値のうち、パターン0を区切り位置として、その次の値を先頭と仮定して、各パターンに対応する3ビットまたは2ビットのパターンに対応させて、ビット配列を作成する。続いて、パターン0を抽出した際に、ビット配列のビットカウンタが8未満であれば、パターン0は埋め込みエラーを示すものと判断し、現状のビットカウンタの値を維持してビット配列の作成を継続する。ビット配列のビットカウンタが8以上であれば、パターン0はワード(1バイト)の区切りを示すものと判断し、ビット配列の最後の8ビットを、所定の規則により変換して意味のある付加情報として抽出する。ここで、8ビットを超える場合は、データの抽出処理を開始する直後に発生しやすく、パターン0を先頭と誤判断してビットカウンタを初期化した場合に発生する。所定の規則としては、情報を埋め込む者が意図した情報が受け取った者に認識可能な状態とできるものであれば、さまざまな規則が適用できるが、本実施形態では、文字情報として認識するための規則としている。すなわち、付加情報抽出手段160は、符号判定パラメータ算出手段140が判定し、符号出力手段150から出力される符号を1バイト(8ビット)単位で認識し、これを設定されたコード体系に従って文字情報を認識する。このようにして得られた文字情報は、表示装置(図示省略)の画面に表示出力される。
(3.3.信号成分が小さくても情報の埋め込みを可能とする手法)
ここまで、説明してきた処理においては、上記E1〜E4が所定値より大きいことが必要となり、上記E1〜E4が所定値以下の場合には、情報の埋め込みを行うことができない。そこで、元の信号の低周波成分が小さくても、信号の埋め込みを可能とする手法について説明する。
この場合、図1に示した埋め込み装置における情報の埋め込み処理は、図16のフローチャートに従って行われるが、E1〜E4がレベル下限値Lev以下となることがなくなるため、S405において低周波成分変更手段30がレベルの判定を行わない。これは、この処理では、信号レベルが小さくても強制的に情報を埋め込むこととしているため、情報の埋め込みが不可能な信号レベルが小さい部分が存在するかどうかを判断する必要がないからである。
したがって、S405における状態1〜状態8に設定する処理としては、まず、上記〔数式22〕に従って算出される固定値Vを、低周波成分の強度として設定する。
そして、状態1〜状態8のいずれかとする場合は、上記〔数式10〕〔数式11〕等に従った処理におけるAl´(1,j)、Bl´(1,j)、Al´(3,j)、Bl´(3,j)の算出の際、E(1,j)に代えて、上記〔数式22〕で算出される固定値Vを用いる。
上記のように、周波数成分が小さい場合に情報を埋め込んだ場合であっても、抽出側の、音響信号からの情報の抽出装置の構成は図9と同一であり、処理動作は図14のフローチャートに従ったものと同一である。
(4.第4の実施形態)
次に、第4の実施形態について説明する。第1の実施形態〜第3の実施形態では、それぞれ6ビット強、2ビット、3ビットの情報を埋め込むようにしたが、第4の実施形態では、図17、図18に示すように、音響フレームの低周波成分を16の状態に変更し、4ビットの情報を埋め込むことを特徴とする。
図17、図18に示す各音響フレームにおいても、図3、図12、図15と同様、横軸は時間方向、縦軸は周波数方向を示している。また、網掛けされた部分は、低周波成分が存在している部分を示し、網掛けが濃いほど成分強度が強いことを示している。第4の実施形態において、図17(a)に示すような原状態の低周波成分に対して、パターン0を埋め込む場合、L-chの信号の低周波成分を全て除去し、除去した成分と同等の成分をR-chの信号の低周波成分に加算して図17(b)に示すような“状態0”に変更する。図17においては、第1窓関数により得られる前部において縦軸の周波数方向が5つに区分されており、第3窓関数により得られる後部において縦軸の周波数方向が4つに区分されている。前部、後部のいずれにおいても、最下部に示すG1、G2はギャップ領域である。さらに、前部においては、最上部にギャップ領域G10が設けられている。これらのギャップ領域は、抽出対象であるL-chの信号においては、常に成分が除去され、除去された成分と同等の成分がR-chの信号の低周波成分に加算される。最下部にギャップ領域を設けることにより、埋め込み可能な低周波成分の上限を高くすることができる。
本実施形態で、パターン1を埋め込む場合は、図17(c)に示すように、L-ch信号のスペクトル集合SP1、SP4、SP6の強度を強め、スペクトル集合SP2、SP3、SP5の強度を弱める。そして、R-ch信号の対応する成分については、L-ch信号を補足するように変更して“状態1”とする。パターン2を埋め込む場合は、図17(d)に示すように、L-ch信号のスペクトル集合SP2、SP3、SP6の強度を強め、スペクトル集合SP1、SP4、SP5の強度を弱める。そして、R-ch信号の対応する成分については、L-ch信号を補足するように変更して“状態2”とする。
パターン3〜パターン16を埋め込む場合も、同様にして、各領域の低周波成分の強度を図17(e)〜(j)、図18(a)〜(h)に示すように変更する処理を行う。
第4の実施形態では、図17(b)〜(j)、図18(a)〜(h)に示すような17個の状態に低周波成分を変更することにより、情報の埋め込みを行っている。17個の状態のうち、1つは、埋め込むことができない状態におけるエラー処理に用いるものであるので、実質埋め込むことができるのは16個の状態、すなわち、4ビットに相当する。したがって、本実施形態では、1音響フレームに対して4ビットの情報が埋め込み可能となる。
(4.1.埋め込み装置)
第4の実施形態においても、装置構成は図3に示したものと同様であるが、主に低周波成分変更手段30の内容が異なっている。具体的には、低周波成分変更手段30は、Aタイプの音響フレームについて、付加情報読込手段70が作成したビット配列に応じて、低周波成分の割合を変更する処理を行うが、第4の実施形態では、ビット配列を4ビットずつ読み込み、1音響フレームに対して4ビットの情報を埋め込む。埋め込まれる4ビットのパターンは、“0000”“0001”“0010”“0011” “0100”“0101”“0110”“0111” “1000”“1001”“1010”“1011” “1100”“1101”“1110”“1111”の16通りがある。第4の実施形態では、これらをパターン1〜パターン16と定義する。この際、“0000”〜“1111”の16通りのうち、いずれをパターン1〜パターン16と定義しても良い。抽出側において、埋め込み側で埋め込まれた4ビットの配列が特定できれば良いためである。したがって、この定義は、埋め込み側と抽出側で一致している必要がある。
そして、低周波成分変更手段30は、このパターン1〜パターン16に応じて、低周波成分を状態1〜状態16のいずれかに変更する。具体的には、まず、低周波成分変更手段30は、上記〔数式5〕により求めた左チャンネルの実部Al(1,j)、Al(3,j)、虚部Bl(1,j)、Bl(3,j)、右チャンネルの実部Ar(1,j)、Ar(3,j)、虚部Br(1,j)、Br(3,j)を利用して、以下の〔数式27〕により、強度値E1〜E6を算出する。この強度値E1〜E6は、第1の実施形態におけるものとは異なっている。上述のように、E1〜E8、EC1〜EC8、HL1〜HL70等の各変数は、各実施形態で独立しており、同一名の変数であっても、算出手法が異なる。ただし、本明細書で用いられる数式については、明細書全体を通じて統一されている。
〔数式27〕
1=Σj=m,m+P-1{Al(1,j)2+Bl(1,j)2+Ar(1,j)2+Br(1,j)2}・F(j−m)・C
2=Σj=m+d,m+d+P-1{Al(3,j)2+Bl(3,j)2+Ar(3,j)2+Br(3,j)2}・F(j−m−d)・C
3=Σj=m+p,m+2P-1{Al(1,j)2+Bl(1,j)2+Ar(1,j)2+Br(1,j)2}・F(j−m−P)・C
4=Σj=m+d+p,m+d+2P-1{Al(3,j)2+Bl(3,j)2+Ar(3,j)2+Br(3,j)2}・F(j−m−d−P)・C
5=Σj=m+2p,m+3P-1{Al(1,j)2+Bl(1,j)2+Ar(1,j)2+Br(1,j)2}・F(j−m−2P)・C
6=Σj=m+d+2p,m+d+3P-1{Al(3,j)2+Bl(3,j)2+Ar(3,j)2+Br(3,j)2}・F(j−m−d−2P)・C
上記〔数式27〕において、mは低周波数帯の下限の成分の番号、Mは低周波数帯の上限の成分の番号であり、P=(M−m)/3である。なお、Pが整数にならない場合、切捨て処理を行う。m=15、M=40と設定すると、P=8となる。上記〔数式27〕により算出されたE1〜E6は音響フレームの所定の範囲におけるスペクトル集合の成分強度の強度値を示すことになる。続いて、この強度値E1〜E6がレベル下限値Levより大きいかどうかの判定を行う。レベル下限値Levは、音響信号Xl(i)、Xr(i)の振幅最大値が1に正規化されており、M=40に設定されている場合、0.25に設定する。
1、E4、E6がいずれもレベル下限値Levより大きく、埋め込むべき情報が“パターン1”である場合、上記〔数式10〕の規則に従った処理を実行することにより、低周波成分の状態を“状態1”、すなわち、図17(c)に示したような状態に変更する。ここで、E1、E4、E6がいずれもレベル下限値Levより大きいことを条件とするのは、E1、E4、E6は、それぞれ前部の下位低周波成分の強度、後部の中位低周波成分の強度、後部の下位低周波成分の強度に対応しており、図17(c)に示すように、“状態1”とする場合は、これらに所定の強度が必要とされるためである。
同様にして、“パターン2”〜“パターン16”を埋め込む場合も、上記〔数式10〕〔数式11〕等と同様の規則に従った別の数式を実行することにより、低周波成分の状態を“状態2”〜“状態16”、すなわち、図17(d)〜(j)、図18(a)〜(h)に示したような状態に変更する。
上記のような処理を実行し、低周波成分の状態を“状態1”〜“状態16”に変更した場合、いずれの場合であっても、さらに上記〔数式12〕等に従った処理を実行し、最低周波数帯におけるギャップ領域G1、G2、上位低周波数帯の高周波側にギャップ領域G10を設ける。また、L-chにおいて時間的に中央となる部分については、全て除去する。
埋め込まれる側の低周波成分の強度が小さすぎると、信号を変化させても、その変化を抽出側で検出することができない。そこで、このような場合には、付加情報が埋め込まれている音響フレームとの違いを明確にするため、上記〔数式13〕に従った処理を実行し、その低周波成分を除去し、“状態0”とする。これは、図17(b)に示すような状態である。
また、第4の実施形態においても第1〜第3の実施形態と同様、低周波成分変更手段30は、Bタイプの音響フレームについては、上記〔数式14〕に従った処理を実行し、常にその低周波成分を除去する。低周波成分変更手段30により上記のような処理が行われたら、周波数逆変換手段40、改変音響フレーム出力手段50については、第1〜第3の実施形態と同様の処理が行われる。
次に、第4の実施形態における音響信号に対する情報の埋め込み装置の処理の全体的な流れについて説明する。第4の実施形態においても、基本的な流れは、第2の実施形態における図13に示したフローチャートと同じである。しかし、第4の実施形態では、パターン1〜パターン16が出力されるため、各ステップにおいて実行される処理が若干異なっている。特に第2の実施形態と異なるのは、S403、105の部分である。第4の実施形態では、低周波成分変更手段30が、レジスタに保持された1ワードから4ビットを読み込む処理を行う(S403)。すなわち、第3の実施形態では、1ワードとしてレジスタに8ビットが保持されているため、常に4ビットずつ読み込まれる。
S404において音響フレーム読込手段10が音響フレームを読み込んだ後、周波数変換手段20および低周波成分変更手段30が、音響フレームの低周波成分の状態を“状態1”〜“状態16”のいずれかに変更する処理を行う(S405)。まず、第1の実施形態と同様、周波数変換手段20が、音響フレームに対して窓関数W(1,i)、W(2,i)、W(3,i)を用いて、上記〔数式5〕に従った処理を行って、フレームスペクトルを得る。
続いて、低周波成分変更手段30は、上記〔数式27〕によりE1〜E6を算出する。そして、付加情報読込手段70から受け取ったパターン1〜パターン16に応じて上記〔数式10〕〔数式11〕等と同様の規則に従った別の数式に従った処理を実行し、低周波成分の状態を“状態1”〜“状態16”のいずれかに変更する。
S405において、“状態1”〜“状態16”のいずれにも変更することができない場合は、低周波成分を“状態0”とする処理を行う(S406)。具体的には、上記〔数式13〕に従った処理を実行することになる。“状態1”〜“状態16” のいずれにも変更することができない場合とは、埋め込むべきパターンに対応する強度値のいずれかが、レベル下限値Lev以下となっている場合である。例えば、パターン1を埋め込む場合、E1、E4、E6がいずれもレベル下限値Levより大きい必要があるため、E1、E4、E6のいずれかがLev以下である場合は、S406に進むことになる。
上記〔数式13〕に従った処理を実行することにより、左チャンネルのフレームスペクトルの低周波数成分は、スペクトル集合SP1〜SP6全てにおいて、“0” で同一となる。なお、上記〔数式13〕においては、j=0〜M−1の各成分に対してAl´(j)=Bl´(j)=0としているが、抽出側において、“状態1”〜“状態16”のいずれでもないことを認識可能とすることを目的としているため、十分小さな値であれば、必ずしも0とする必要はない。また、必ずしも6つのスペクトル集合の各成分の値が同一である必要はなく、差が小さければ良い。
次に、第1〜第3の実施形態と同様、周波数逆変換手段40が、上記S405、S406の処理により各窓成分のスペクトル集合間の割合が変更されたフレームスペクトルを周波数逆変換して改変音響フレームを得る処理を行う(S407)。
改変音響フレーム出力手段50は、得られた改変音響フレームを順次出力ファイルに出力する。こうして1つの音響フレームに対する処理を終えたら、状態0に設定した場合には、音響フレーム読込手段10が、次の音響フレームを読み込む(S404)。一方、状態1〜状態16のいずれかに設定した場合には、低周波成分変更手段30がビット配列中の次の4ビットを読み込む(S403)。以上のような処理を音響信号の両チャンネルの全サンプルに渡って実行していく。
(4.2.抽出装置)
第4の実施形態においても、装置構成は図9に示したものと同様であるが、主に符号判定パラメータ算出手段140の内容が異なっている。具体的には、符号判定パラメータ算出手段140は、生成されたフレームスペクトルから所定の周波数以下に相当する各低周波強度データを抽出し、各成分に対応した各低周波強度データの強度値EC1〜EC6を以下の〔数式28〕に基づいて算出し、この強度値EC1〜EC6を符号判定パラメータとし、この符号判定パラメータEC1〜EC6の比率等に基づいて、所定の状態であると判断する機能を有している。以下の〔数式28〕は上記〔数式27〕において右チャンネル成分を削除したものとなっている。
〔数式28〕
C1=Σj=m,…,m+P-1{Al(1,j)2+Bl(1,j)2}・F(j−m)・C
C2=Σj=m+d,…,m+d+P-1{Al(3,j)2+Bl(3,j)2}・F(j−m−d)・C
C3=Σj=m+P,…,m+2P-1{Al(1,j)2+Bl(1,j)2}・F(j−m−P)・C
C4=Σj=m+d+P,…,m+d+2P-1{Al(3,j)2+Bl(3,j)2}・F(j−m−d−P)・C
C5=Σj=m+2P,…,m+3P-1{Al(1,j)2+Bl(1,j)2}・F(j−m−2P)・C
C6=Σj=m+d+2P,…,m+d+3P-1{Al(3,j)2+Bl(3,j)2}・F(j−m−d−2P)・C
次に、第4の実施形態における音響信号からの情報の抽出装置の処理の全体的な流れについて説明する。第4の実施形態においても、基本的な流れは、図14に示したフローチャートと同じである。しかし、各ステップにおいて実行される処理が若干異なっている。
まず、本実施形態では、平均符号レベルHL1〜HL16、位相判定テーブルS(p)、非符号カウンタNnを初期化する(S500)。平均符号レベルHL1〜HL16の初期値は、第1、第2の実施形態と同様、0.1に設定されている。位相判定テーブルS(p)、非符号カウンタNnについても第1〜第3の実施形態と同様である。
利用者が抽出装置に対して、抽出装置としての起動の指示を行うと、音響信号入力手段100が、流れている音楽を録音し、デジタル化してデジタル音響信号として入力する。続いて、基準フレーム獲得手段110が、音響信号入力手段100から入力された音響信号から、所定数のサンプルで構成される音響フレームを基準フレームとして抽出する(S501)。
続いて、周波数変換手段130、符号判定パラメータ算出手段140が、読み込んだ各音響フレームから、埋め込まれている情報を判定し、対応する符号を出力する(S502)。出力される情報の形式は、付加情報が埋め込まれる場合に対応するパターン1〜パターン16の16値、およびパターン0の計17値の形式となる。
ステップS502の符号判定処理の詳細については、図11のフローチャートと同様となる。まず、周波数変換手段130が、第1〜第3の実施形態と同様、周波数変換を行った後(S401)、符号判定パラメータ算出手段140は、平均符号レベルHL1〜HL16の算出を行う(S402)。具体的には、過去“状態k(k=1〜16)”であると判断された音響フレームについてのEGkの積算値であるvkを、過去“状態1”であると判断された音響フレームの数であるnkで除算することによりHLkを算出する。
続いて、符号判定パラメータ算出手段140は、候補符号テーブルの初期化を行う(S403)。候補符号テーブルには、1つの基準フレームおよび5個の位相変更フレームを特定する0〜5の位相番号および、この6個の音響フレームの状態から得られる17値の符号を記録する。
続いて、符号判定パラメータ算出手段140は、強度値EC1〜強度値EC6を用いて、低周波成分の状態がどのような状態であるか、すなわち、4ビットの値としてどのような値が埋め込まれていたかを判断する処理を行う(S404)。具体的には、まず、判断のための総和値EGk(k=1〜16)を以下の〔数式29〕に従って算出し、このうちEGkが最大となるkを求める。
〔数式29〕
EG1=EC1+EC4+EC6 EG2=EC6+EC3+EC6
EG3=EC2+EC4+EC5 EG4=EC1+EC4+EC5
EG5=EC1+EC4+EC5 EG6=EC1+EC3+EC6
EG7=EC1+EC3+EC5 EG8=EC2+EC4+EC6
EG9=EC1+EC2+EC3 EG10=EC1+EC2+EC4
EG11=EC1+EC3+EC4 EG12=EC2+EC3+EC4
EG13=EC3+EC4+EC5 EG14=EC3+EC4+EC6
EG15=EC3+EC5+EC6 EG16=EC4+EC5+EC6
これにより値kが仮決定される。続いて、仮決定されたkの値に応じて以下の16群のうち、いずれかの群の判定処理を実行し、各群における全ての条件を満たす場合に、仮決定されていたkを値kとして出力する(S407)。
k=1の場合、EC1>0.0005・HL1、かつEC4>0.0005・HL4、かつEC6>0.0005・HL6、かつEC1>2・EC2、かつEC4>2・EC3、かつEC6>2・EC5であれば、パターン1を出力する。
k=2の場合、EC2>0.0005・HL2、かつEC3>0.0005・HL3、かつEC6>0.0005・HL6、かつEC2>2・EC1、かつEC3>2・EC4、かつEC6>2・EC5であれば、パターン2を出力する。
k=3の場合、EC2>0.0005・HL2、かつEC4>0.0005・HL4、かつEC5>0.0005・HL5、かつEC2>2・EC1、かつEC4>2・EC3、かつEC5>2・EC6であれば、パターン3を出力する。
k=4の場合、EC2>0.0005・HL2、かつEC3>0.0005・HL3、かつEC5>0.0005・HL5、かつEC2>2・EC1、かつEC3>2・EC4、かつEC5>2・EC6であれば、パターン4を出力する。
k=5の場合、EC1>0.0005・HL1、かつEC4>0.0005・HL4、かつEC5>0.0005・HL5、かつEC1>2・EC2、かつEC4>2・EC3、かつEC5>2・EC6であれば、パターン5を出力する。
k=6の場合、EC1>0.0005・HL1、かつEC3>0.0005・HL3、かつEC6>0.0005・HL6、かつEC1>2・EC2、かつEC3>2・EC4、かつEC6>2・EC5であれば、パターン6を出力する。
k=7の場合、EC1>0.0005・HL1、かつEC3>0.0005・HL3、かつEC5>0.0005・HL5、かつEC1>2・EC2、かつEC3>2・EC4、かつEC5>2・EC6であれば、パターン7を出力する。
k=8の場合、EC2>0.0005・HL2、かつEC4>0.0005・HL4、かつEC6>0.0005・HL6、かつEC2>2・EC1、かつEC4>2・EC3、かつEC6>2・EC5であれば、パターン8を出力する。
k=9の場合、EC1>0.0005・HL1、かつEC2>0.0005・HL2、かつEC3>0.0005・HL3、かつEC1>2・EC6、かつEC2>2・EC5、かつEC3>2・EC4であれば、パターン9を出力する。
k=10の場合、EC1>0.0005・HL1、かつEC2>0.0005・HL2、かつEC4>0.0005・HL4、かつEC1>2・EC6、かつEC2>2・EC5、かつEC4>2・EC3であれば、パターン10を出力する。
k=11の場合、EC1>0.0005・HL1、かつEC3>0.0005・HL3、かつEC4>0.0005・HL4、かつEC1>2・EC2、かつEC3>2・EC6、かつEC4>2・EC5であれば、パターン11を出力する。
k=12の場合、EC2>0.0005・HL2、かつEC3>0.0005・HL3、かつEC4>0.0005・HL4、かつEC2>2・EC1、かつEC3>2・EC6、かつEC4>2・EC5であれば、パターン12を出力する。
k=13の場合、EC3>0.0005・HL3、かつEC4>0.0005・HL4、かつEC5>0.0005・HL5、かつEC3>2・EC2、かつEC4>2・EC1、かつEC5>2・EC6であれば、パターン13を出力する。
k=14の場合、EC3>0.0005・HL3、かつEC4>0.0005・HL4、かつEC6>0.0005・HL6、かつEC3>2・EC2、かつEC4>2・EC1、かつEC6>2・EC5であれば、パターン14を出力する。
k=15の場合、EC3>0.0005・HL3、かつEC5>0.0005・HL5、かつEC6>0.0005・HL6、かつEC3>2・EC4、かつEC5>2・EC1、かつEC6>2・EC2であれば、パターン15を出力する。
k=16の場合、EC4>0.0005・HL4、かつEC5>0.0005・HL5、かつEC6>0.0005・HL6、かつEC4>2・EC3、かつEC5>2・EC2、かつEC6>2・EC1であれば、パターン16を出力する。
符号判定パラメータ算出手段140は、各音響フレーム単位で、上記判定結果に応じてパターン1〜パターン16のいずれかを出力する(S407)。上記いずれの群の条件も満たさない場合は、“状態0”であると判断し、パターン0を出力する(S408)。
また、上記判定の結果、パターン1〜パターン16のいずれかを出力した場合には、さらに、以下の〔数式30〕に従って位相判定テーブルS(p)の更新を行う(S409)。
〔数式30〕
“状態k”であると判断し、パターンkを出力した場合
S(p)←S(p)+EGk/3
続いて、符号判定パラメータ算出手段140は、候補符号テーブルに、最適位相となる候補を保存し(S410)、全ての位相番号pに対応する処理を終えたかどうかを判定する(S411)。全ての位相番号pに対応する処理を終えた場合は、候補保存テーブルに記録されている位相番号pに対応する位相が最適位相であると判定し、候補保存テーブルに記録されている符号を出力する(S412)。
再び図14のフローチャートに戻って説明する。S502による処理の結果、パターン1〜パターン16に相当する符号が出力された場合には、平均符号レベルのパラメータの更新処理を行う(S503)。具体的には、平均符号レベルHL1〜HL16算出の際の分子となる積算値v1〜v16に、それぞれEG1〜EG16を加算して積算値v1〜v16を更新し、分母となるフレーム数n1〜n16にそれぞれ1を加算してフレーム数n1〜n16を更新することにより行う。n1〜n16はあらかじめ設定したnmax(例えば100)を超えないように設定する。
続いて、非符号カウンタの初期化処理を行う(S504)。さらに、出力されたパターンに対応する4ビットをバッファに保存する(S505)。次に、ビットカウンタを“4”だけカウントアップする(S506)。そして、S500に戻り、初期化処理を行う。
一方、S502による処理の結果、パターン0が出力された場合には、非符号カウンタのカウントアップ処理を行う(S507)。具体的には、非符号カウンタNnの値に1を加算する。そして、非符号カウンタNnの値がnmax以上である場合は、S500に戻って初期化処理を行う。非符号カウンタNnの値がnmax未満である場合は、ビットカウンタが8以上であるかどうかを判断し、8未満である場合は、パターン0は、ワードの区切りではなく埋め込みエラーを示す符号と判断し、現在のビットカウンタ値を維持してS501に戻って符号抽出処理を継続する。ビットカウンタが8以上である場合は、パターン0は、ワードの区切りを示すと判断できるので、バッファに記録された1ワード分のデータを、付加情報抽出手段160が出力する(S508)。そして、ビットカウンタを0に初期化する(S509)。図10に示す処理を各基準フレームに対して実行することにより、付加情報が抽出されることになる。S501において全ての基準フレームが抽出されたと判断された場合には、処理を終了する。
上記S508の処理において、付加情報抽出手段160は、まず、符号判定パラメータ算出手段140により出力された値のうち、パターン0を区切り位置として、その次の値を先頭と仮定して、各値に対応する4ビットのパターンに対応させて、ビット配列を作成する。続いて、パターン0を抽出した際に、ビット配列のビットカウンタが8未満であれば、パターン0は埋め込みエラーを示すものと判断し、現状のビットカウンタの値を維持してビット配列の作成を継続する。ビット配列のビットカウンタが8以上であれば、パターン0はワード(1バイト)の区切りを示すものと判断し、ビット配列の最後の8ビットを、所定の規則により変換して意味のある付加情報として抽出する。ここで、8ビットを超える場合は、データの抽出処理を開始する直後に発生しやすく、パターン0を先頭と誤判断してビットカウンタを初期化した場合に発生する。所定の規則としては、情報を埋め込む者が意図した情報が受け取った者に認識可能な状態とできるものであれば、さまざまな規則が適用できるが、本実施形態では、文字情報として認識するための規則としている。すなわち、付加情報抽出手段160は、符号判定パラメータ算出手段140が判定し、符号出力手段150から出力される符号を1バイト(8ビット)単位で認識し、これを設定されたコード体系に従って文字情報を認識する。このようにして得られた文字情報は、表示装置(図示省略)の画面に表示出力される。
(4.3.信号成分が小さくても情報の埋め込みを可能とする手法)
ここまで、説明してきた処理においては、上記E1〜E6が所定値より大きいことが必要となり、上記E1〜E6が所定値以下の場合には、情報の埋め込みを行うことができない。そこで、元の信号の低周波成分が小さくても、信号の埋め込みを可能とする手法について説明する。
この場合、図3に示した埋め込み装置における情報の埋め込み処理は、図13のフローチャートに従って行われるが、E1〜E6がレベル下限値Lev以下となることがなくなるため、S405において低周波成分変更手段30がレベルの判定を行わない。これは、この処理では、信号レベルが小さくても強制的に情報を埋め込むこととしているため、情報の埋め込みが不可能な信号レベルが小さい部分が存在するかどうかを判断する必要がないからである。
したがって、S405における状態1〜状態16に設定する処理としては、まず、以下の〔数式31〕に従って算出される固定値Vを、低周波成分の強度として設定する。
〔数式31〕
V={0.25・Lev/(3P−3)}1/2
そして、状態1〜状態16のいずれかとする場合は、上記〔数式10〕〔数式11〕等に従った処理におけるAl´(1,j)、Bl´(1,j)、Al´(3,j)、Bl´(3,j)の算出の際、E(1,j)に代えて、上記〔数式31〕で算出される固定値Vを用いる。
上記のように、周波数成分が小さい場合に情報を埋め込んだ場合であっても、抽出側の、音響信号からの情報の抽出装置の構成は図9と同一であり、処理動作は図14のフローチャートに従ったものと同一である。
上記第1〜第4の実施形態で説明したように、本発明は、1音響フレームに埋め込むビット数に関わらず適用することが可能である。しかし、埋め込むビット数を多くすればするほど、1つのスペクトル集合の周波数範囲は狭くなり、わずかな位置ずれであっても抽出側において誤判定を起こしやすくなる。そのため、周波数帯をより多く設け、埋め込むビット数を多くした場合に、特に本発明は効果を有する。
(5.周波数方向窓関数を利用しない場合)
以上、本発明の好適な実施形態について限定したが、本発明は上記実施形態に限定されず、種々の変形が可能である。例えば、上記第1〜第4の実施形態では、各スペクトル集合SP1〜SP8の強度を変更する際、周波数方向窓関数F(j)を乗じるようにしたが、必ずしも窓関数F(j)を利用する必要はない。ただし、窓関数F(j)を利用しない場合は、各低周波数帯(スペクトル集合)の周波数範囲における上端と下端の成分も中央部分と同様の重みで処理されることになるため、他の低周波数帯との干渉が生じる場合がある。このため、窓関数F(j)を利用しない場合は、各低周波数帯の間にギャップ領域を設けることが望ましい。
ここで、図19に、第1の実施形態において窓関数F(j)を用いない場合の低周波成分の状態を1音響フレーム単位で示す。図19に示す各音響フレームにおいても、横軸は時間方向、縦軸は周波数方向を示している。また、網掛けされた部分は、低周波成分が存在している部分を示し、網掛けが濃いほど成分強度が強いことを示している。
第1の実施形態において窓関数を用いる場合の図3と対比すると、図19では、各低周波数帯の間にもギャップ領域G3〜G8を設けている点が異なっている。ギャップ領域G3〜G8については、ギャップ領域G1、G2、G10と同様、抽出対象であるL-chの信号においては、常に成分が除去され、除去された成分と同等の成分がR-chの信号の低周波成分に加算される。例えば、スペクトル集合SP3に着目してみると、窓関数F(j)を使用しない場合、SP3の上端部分の成分が大きい場合、スペクトル集合SP5と干渉を起こす可能性がある。しかし、スペクトル集合SP3とSP5の間に、成分を除去するギャップ領域G5が設けられているため、干渉が生じないようにすることができる。
第2〜第4の実施形態においても、同様に、窓関数F(j)を使用しないようにすることもできる。ただし、上述のように、各低周波数帯の間にギャップ領域を設けることが望ましい。
このように、ギャップ領域を設けることにより、周波数方向窓関数F(j)を使用しなくても、本発明は実施可能であるが、本発明は、埋め込み側においても抽出側においても、抽出するスペクトル集合が、音響フレームの前部と後部において所定周波数分だけずれており、適用する周波数方向窓関数F(j)の周波数範囲もずれている。このため、埋め込み時に前部から抽出したスペクトル集合に対して、後部のスペクトル集合に対応する周波数方向窓関数F(j)を抽出側で適用すると、不整合が生じ、位置ずれが発生していることが明瞭になる。
音響信号に対する情報の埋め込み装置の機能ブロック図である。 本発明で用いる時間方向の窓関数Wを示す図である。 本発明第1の実施形態による低周波成分の変化の状態を示す図である。 ASCIIコードと70通りのビットパターンの変換表を示す図である。 パターンの番号とビットパターンの対応表を示す図である。 本発明第1の実施形態による周波数成分全体の状態を示す図である。 本発明第1の実施形態で用いる周波数方向の窓関数Fを示す図である。 図1に示した装置の処理概要を示すフローチャートである。 本発明に係る音響信号からの情報の抽出装置の機能ブロック図である。 図9に示した装置の処理概要を示すフローチャートである。 図10のS202の符号判定処理の詳細を示すフローチャートである。 本発明第2の実施形態による低周波成分の変化の状態を示す図である。 図1の装置の第2の実施形態による処理概要を示すフローチャートである。 図9に示した装置の第2の実施形態による処理概要を示すフローチャートである。 本発明第3の実施形態による低周波成分の変化の状態を示す図である。 図1の装置の第3の実施形態の処理概要を示すフローチャートである。 本発明第4の実施形態による低周波成分の変化の状態を示す図である。 本発明第4の実施形態による低周波成分の変化の状態を示す図である。 本発明第1の実施形態において窓関数F(j)を用いない場合の低周波成分の変化の状態を示す図である。
符号の説明
10・・・音響フレーム読込手段
20・・・周波数変換手段
30・・・低周波成分変更手段
40・・・周波数逆変換手段
50・・・改変音響フレーム出力手段
60・・・記憶手段
61・・・音響信号記憶部
62・・・付加情報記憶部
63・・・改変音響信号記憶部
70・・・付加情報読込手段
100・・・音響信号入力手段
110・・・基準フレーム獲得手段
120・・・位相変更フレーム設定手段
130・・・周波数変換手段
140・・・符号判定パラメータ算出手段
150・・・符号出力手段
160・・・付加情報抽出手段
170・・・音響フレーム保持手段

Claims (20)

  1. 時系列のサンプル列で構成される音響信号に対して、付加情報を聴取不能な状態で埋め込む装置であって、
    前記音響信号より、所定数のサンプルを音響フレームとして読み込む音響フレーム読込手段と、
    前記音響フレームに対して第1窓関数、第2窓関数、第3窓関数を用いてそれぞれ周波数変換を行い、前記第1窓関数に対応するスペクトルである第1窓スペクトル、前記第2窓関数に対応するスペクトルである第2窓スペクトル、前記第3窓関数に対応するスペクトルである第3窓スペクトルを生成する周波数変換手段と、
    前記生成された第1窓スペクトルから低周波領域におけるスペクトル集合を抽出するとともに、前記第3窓スペクトルから低周波領域におけるスペクトル集合を、前記第1窓スペクトルから抽出したスペクトル集合と所定周波数だけオフセットさせて抽出し、前記埋め込むべき付加情報の情報配列に基づいて、前記抽出した各スペクトル集合の強度を変更するとともに、中央の第2窓関数に対応する低周波成分を除去する低周波成分変更手段と、
    前記各スペクトル集合の強度が変更された低周波領域を含む各窓スペクトルに対して周波数逆変換を行って、改変音響フレームを生成する周波数逆変換手段と、
    前記生成された改変音響フレームを順次出力する改変音響フレーム出力手段と、
    を有することを特徴とする音響信号に対する情報の埋め込み装置。
  2. 請求項1において、
    前記低周波成分変更手段は、前記スペクトル集合の強度を、当該スペクトル集合の周波数範囲における中央付近における値が大きくなるように周波数方向の値に応じて変化する窓関数Fを適用して変更するものであることを特徴とする音響信号に対する情報の埋め込み装置。
  3. 請求項1または請求項2において、
    前記低周波成分変更手段は、前記生成された第1窓スペクトルの低周波領域から互いに重複しない2つのスペクトル集合を抽出するとともに、前記第3窓スペクトルの低周波領域から互いに重複しない2つのスペクトル集合を、前記第1窓スペクトルから抽出した各スペクトル集合と所定周波数だけオフセットさせて抽出し、前記埋め込むべき付加情報の情報配列に基づいて、SP1+SP3とSP2+SP4、またはSP1+SP4とSP2+SP3の強度割合を変更すると共に、中央の第2窓関数に対応する低周波成分を除去するものであることを特徴とする音響信号に対する情報の埋め込み装置。
  4. 請求項1または請求項2において、
    前記低周波成分変更手段は、前記生成された第1窓スペクトルの低周波領域から互いに重複しない2つのスペクトル集合を抽出するとともに、前記第3窓スペクトルの低周波領域から互いに重複しない2つのスペクトル集合を、前記第1窓スペクトルから抽出した各スペクトル集合と所定周波数だけオフセットさせて抽出し、前記埋め込むべき付加情報の情報配列に基づいて、SP1、SP2、SP3、SP4の強度割合を変更すると共に、中央の第2窓関数に対応する低周波成分を除去するものであることを特徴とする音響信号に対する情報の埋め込み装置。
  5. 請求項1または請求項2において、
    前記低周波成分変更手段は、前記生成された第1窓スペクトルの低周波領域から互いに重複しない3つのスペクトル集合を抽出するとともに、前記第3窓スペクトルの低周波領域から互いに重複しない3つのスペクトル集合を、前記第1窓スペクトルから抽出した各スペクトル集合と所定周波数だけオフセットさせて抽出し、前記埋め込むべき付加情報の情報配列に基づいて、SP1、SP2、SP3、SP4、SP5、SP6の強度割合を変更すると共に、中央の第2窓関数に対応する低周波成分を除去するものであることを特徴とする音響信号に対する情報の埋め込み装置。
  6. 請求項1または請求項2において、
    前記低周波成分変更手段は、前記生成された第1窓スペクトルの低周波領域から互いに重複しない4つのスペクトル集合を抽出するとともに、前記第3窓スペクトルの低周波領域から互いに重複しない4つのスペクトル集合を、前記第1窓スペクトルから抽出した各スペクトル集合と所定周波数だけオフセットさせて抽出し、前記埋め込むべき付加情報の情報配列に基づいて、SP1、SP2、SP3、SP4、SP5、SP6、SP7、SP8の強度割合を変更すると共に、中央の第2窓関数に対応する低周波成分を除去するものであることを特徴とする音響信号に対する情報の埋め込み装置。
  7. 請求項1から請求項6のいずれかにおいて、
    前記低周波成分変更手段は、所定の固定値Vを利用して、前記抽出したスペクトル集合のいずれかに所定の強度を与えることにより、前記抽出した各スペクトル集合の強度を変更するものであることを特徴とする音響信号に対する情報の埋め込み装置。
  8. 請求項1から請求項7のいずれかにおいて、
    前記音響フレーム読込手段は、先行する音響フレームと所定数のサンプルを重複させて読み込み、読み込んだ音響フレーム全体に所定の窓関数を乗じて前記周波数変換手段に渡すものであり、
    前記改変音響フレーム出力手段は、前記生成された改変音響フレームを先行する改変音響フレームと連結させて出力するものであることを特徴とする音響信号に対する情報の埋め込み装置。
  9. 請求項1から請求項8のいずれかにおいて、
    前記低周波成分変更手段は、前記第1窓スペクトルから周波数F1以上(F2−Fd)以下の低周波領域におけるスペクトル集合を抽出するとともに、前記第3窓スペクトルから周波数(F1+Fd)以上F2以下の低周波領域におけるスペクトル集合を抽出し、前記第1窓スペクトルにおける周波数F1未満の成分、前記第3窓スペクトルにおける周波数(F1+Fd)未満の成分を除去するものであることを特徴とする音響信号に対する情報の埋め込み装置。
  10. 請求項9において、
    前記低周波成分変更手段は、前記周波数F1を150Hz、前記周波数F2を420Hz、前記周波数Fdを30Hzとするものであることを特徴とする音響信号に対する情報の埋め込み装置。
  11. 請求項1から請求項10のいずれかにおいて、
    前記音響信号が左右2チャンネルの時系列のサンプル列で構成されるステレオ音響信号であって、
    前記音響フレーム読込手段は、各チャンネルに対応する音響フレームをそれぞれ読み込み、
    前記周波数変換手段は、各チャンネルの音響フレームに対して周波数変換を行い、スペクトルを生成するものであり、
    前記低周波成分変更手段は、一方のチャンネルのスペクトルの低周波領域から抽出した各スペクトル集合に対して、前記埋め込むべき付加情報の情報配列の値に基づいて、抽出したスペクトル集合の強度を、当該スペクトル集合の周波数範囲における中央付近における値が大きくなるように周波数方向の値に応じて変化する窓関数Fを適用して変更し、他方のチャンネルのスペクトルの低周波領域から抽出した前記一方のチャンネルに対応する各スペクトル集合に対して、抽出したスペクトル集合の強度を、前記窓関数Fの値を反転させた窓関数(1−F)を適用して変更するものであり、
    前記周波数逆変換手段は、各チャンネルについて、変更されたスペクトル集合を含むスペクトルに対して周波数逆変換を行って改変音響フレームを生成し、前記改変音響フレーム出力手段は、各チャンネルについて、生成された改変音響フレームを順次出力するものであることを特徴とする音響信号に対する情報の埋め込み装置。
  12. コンピュータを、請求項1から請求項11のいずれかに記載の音響信号に対する情報の埋め込み装置として、機能させるためのプログラム。
  13. 請求項1から請求項11のいずれかに記載の音響信号に対する情報の埋め込み装置により聴取不能な状態で埋め込まれた付加情報を音響信号から抽出する装置であって、
    前記音響信号の所定区間をデジタル化して、所定数のサンプルで構成される音響フレームを獲得する音響フレーム獲得手段と、
    前記音響フレームに対して前記第1窓関数、前記第2窓関数、前記第3窓関数を用いてそれぞれ周波数変換を行い、前記第1窓関数に対応するスペクトルである第1窓スペクトル、前記第2窓関数に対応するスペクトルである第2窓スペクトル、前記第3窓関数に対応するスペクトルである第3窓スペクトルを生成する周波数変換手段と、
    前記生成された第1窓スペクトルから低周波領域におけるスペクトル集合を抽出するとともに、前記第3窓スペクトルから低周波領域におけるスペクトル集合を、前記第1窓スペクトルから抽出したスペクトル集合と所定周波数だけオフセットさせて抽出し、抽出したスペクトル集合の強度を算出し、当該強度の関係に基づいて、所定の符号を出力する符号化手段と、
    前記出力された符号に対応する情報配列を、所定の規則により変換して付加情報を抽出する付加情報抽出手段と、
    を有することを特徴とする音響信号からの情報の抽出装置。
  14. 音響信号から、あらかじめ聴取不能な状態で埋め込まれた付加情報を抽出する装置であって、
    前記音響信号の所定区間をデジタル化して、所定数のサンプルで構成される音響フレームを基準フレームとして獲得する基準フレーム獲得手段と、
    前記基準フレームと所定サンプルずつ移動させることにより位相を変更して設定される複数の音響フレームを位相変更フレームとして設定する位相変更フレーム設定手段と、
    前記音響フレームに対して第1窓関数、第2窓関数、第3窓関数を用いてそれぞれ周波数変換を行い、前記第1窓関数に対応するスペクトルである第1窓スペクトル、前記第2窓関数に対応するスペクトルである第2窓スペクトル、前記第3窓関数に対応するスペクトルである第3窓スペクトルを生成する周波数変換手段と、
    前記生成された第1窓スペクトルから低周波領域におけるスペクトル集合を抽出するとともに、前記第3窓スペクトルから低周波領域におけるスペクトル集合を、前記第1窓スペクトルから抽出したスペクトル集合と所定周波数だけオフセットさせて抽出し、抽出したスペクトル集合の強度を符号判定パラメータとして算出し、基準フレームが異なる過去の同位相の音響フレームにおいて算出された符号判定パラメータに基づいて、前記基準フレームおよび複数の位相変更フレームのうち1つの音響フレームを位相が最適なものであると判断し、当該最適な位相の音響フレームについて判断された符号判定パラメータに基づいて、所定の符号を出力する符号化手段と、
    前記出力された符号に対応する情報配列を、所定の規則により変換して付加情報を抽出する付加情報抽出手段と、
    を有することを特徴とする音響信号からの情報の抽出装置。
  15. 請求項13または請求項14において、
    前記符号化手段は、前記スペクトル集合の強度を、当該スペクトル集合の周波数範囲における中央付近における値が大きくなるように周波数方向の値に応じて変化する窓関数Fを適用して変更するものであることを特徴とする音響信号からの情報の抽出装置。
  16. 請求項13から請求項15のいずれかにおいて、
    前記符号化手段は、前記生成された第1窓スペクトルの低周波領域から互いに重複しない2つのスペクトル集合を抽出するとともに、前記第3窓スペクトルの低周波領域から互いに重複しない2つのスペクトル集合を、前記第1窓スペクトルから抽出した各スペクトル集合と所定周波数だけオフセットさせて抽出し、SP1+SP3、SP2+SP4、SP1+SP4、SP2+SP3の強度を算出し、各強度の2種類の組み合わせの割合に基づいて、所定の符号を出力するものであることを特徴とする音響信号からの情報の抽出装置。
  17. 請求項13から請求項15のいずれかにおいて、
    前記符号化手段は、前記生成された第1窓スペクトルの低周波領域から互いに重複しない2つのスペクトル集合を抽出するとともに、前記第3窓スペクトルの低周波領域から互いに重複しない2つのスペクトル集合を、前記第1窓スペクトルから抽出した各スペクトル集合と所定周波数だけオフセットさせて抽出し、前記抽出したSP1、SP2、SP3、SP4の強度に基づいて、所定の符号を出力するものであることを特徴とする音響信号からの情報の抽出装置。
  18. 請求項13から請求項15のいずれかにおいて、
    前記符号化手段は、前記生成された第1窓スペクトルの低周波領域から互いに重複しない3つのスペクトル集合を抽出するとともに、前記第3窓スペクトルの低周波領域から互いに重複しない3つのスペクトル集合を、前記第1窓スペクトルから抽出した各スペクトル集合と所定周波数だけオフセットさせて抽出し、前記抽出したSP1、SP2、SP3、SP4、SP5、SP6の強度に基づいて、所定の符号を出力するものであることを特徴とする音響信号からの情報の抽出装置。
  19. 請求項13から請求項15のいずれかにおいて、
    前記符号化手段は、前記生成された第1窓スペクトルの低周波領域から互いに重複しない4つのスペクトル集合を抽出するとともに、前記第3窓スペクトルの低周波領域から互いに重複しない4つのスペクトル集合を、前記第1窓スペクトルから抽出した各スペクトル集合と所定周波数だけオフセットさせて抽出し、前記抽出したSP1、SP2、SP3、SP4、SP5、SP6、SP7、SP8の強度に基づいて、所定の符号を出力するものであることを特徴とする音響信号からの情報の抽出装置。
  20. コンピュータを、請求項13から請求項19のいずれかに記載の音響信号からの情報の抽出装置として、機能させるためのプログラム。
JP2006242808A 2006-09-07 2006-09-07 音響信号に対する情報の埋め込み装置および音響信号からの情報の抽出装置 Expired - Fee Related JP4831335B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006242808A JP4831335B2 (ja) 2006-09-07 2006-09-07 音響信号に対する情報の埋め込み装置および音響信号からの情報の抽出装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006242808A JP4831335B2 (ja) 2006-09-07 2006-09-07 音響信号に対する情報の埋め込み装置および音響信号からの情報の抽出装置

Publications (2)

Publication Number Publication Date
JP2008065052A JP2008065052A (ja) 2008-03-21
JP4831335B2 true JP4831335B2 (ja) 2011-12-07

Family

ID=39287826

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006242808A Expired - Fee Related JP4831335B2 (ja) 2006-09-07 2006-09-07 音響信号に対する情報の埋め込み装置および音響信号からの情報の抽出装置

Country Status (1)

Country Link
JP (1) JP4831335B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010078728A (ja) * 2008-09-24 2010-04-08 Dainippon Printing Co Ltd 音響信号に対する情報の埋め込み装置および音響信号からの情報の抽出装置
JP5157863B2 (ja) * 2008-12-08 2013-03-06 大日本印刷株式会社 音響信号に対する情報の埋め込み装置および音響信号を利用した位置検出装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07146700A (ja) * 1993-11-24 1995-06-06 Hitachi Ltd ピッチ強調方法および装置ならびに聴力補償装置
JP2001148670A (ja) * 1999-11-19 2001-05-29 Nippon Telegr & Teleph Corp <Ntt> 音響信号伝達方法および音響信号伝達装置
JP3507743B2 (ja) * 1999-12-22 2004-03-15 インターナショナル・ビジネス・マシーンズ・コーポレーション 圧縮オーディオデータへの電子透かし方法およびそのシステム
JP3659321B2 (ja) * 2000-06-29 2005-06-15 インターナショナル・ビジネス・マシーンズ・コーポレーション 電子透かし方法およびそのシステム
JP2006195061A (ja) * 2005-01-12 2006-07-27 Dainippon Printing Co Ltd 音響信号に対する情報の埋め込み装置、音響信号からの情報の抽出装置および音響信号再生装置
JP2006201527A (ja) * 2005-01-21 2006-08-03 Dainippon Printing Co Ltd 音響信号に対する情報の埋め込み装置、音響信号からの情報の抽出装置、音響信号再生装置および方法
JP4770194B2 (ja) * 2005-02-18 2011-09-14 大日本印刷株式会社 音響信号に対する情報の埋め込み装置および方法

Also Published As

Publication number Publication date
JP2008065052A (ja) 2008-03-21

Similar Documents

Publication Publication Date Title
JP4839775B2 (ja) 音響信号に対する情報の埋め込み装置、方法、プログラム
JP4660275B2 (ja) 音響信号に対する情報の埋め込み装置および方法
JP4867765B2 (ja) 音響信号に対する情報の埋め込み装置および音響信号からの情報の抽出装置
JP4629495B2 (ja) 音響信号に対する情報の埋め込み装置および方法
JP5011849B2 (ja) 音響信号に対する情報の埋め込み装置および音響信号からの情報の抽出装置
JP4531653B2 (ja) 音響信号からの情報の抽出装置
JP4831335B2 (ja) 音響信号に対する情報の埋め込み装置および音響信号からの情報の抽出装置
JP5157931B2 (ja) 音響信号に対する情報の埋め込み装置および音響信号を利用した位置検出装置
JP5082257B2 (ja) 音響信号検索装置
JP4831333B2 (ja) 音響信号に対する情報の埋め込み装置および音響信号からの情報の抽出装置
JP4910920B2 (ja) 音響信号に対する情報の埋め込み装置および音響信号からの情報の抽出装置
JP2007047223A (ja) 音響信号に対する情報の埋め込み装置
JP5011855B2 (ja) 音響信号に対する情報の埋め込み装置および音響信号からの情報の抽出装置
JP4831334B2 (ja) 音響信号に対する情報の埋め込み装置および音響信号からの情報の抽出装置
JP4910959B2 (ja) 音響信号に対する情報の埋め込み装置および音響信号からの情報の抽出装置
JP5011865B2 (ja) 音響信号に対する情報の埋め込み装置および音響信号からの情報の抽出装置
JP4713181B2 (ja) 音響信号に対する情報の埋め込み装置、音響信号からの情報の抽出装置、および音響信号再生装置
JP5011872B2 (ja) 音響信号に対する情報の埋め込み装置および音響信号からの情報の抽出装置
JP4713180B2 (ja) 音響信号からの情報の抽出装置
JP4876978B2 (ja) 音響信号に対する情報の埋め込み装置および音響信号からの情報の抽出装置
JP2008152154A (ja) 音響信号に対する情報の埋め込み装置および音響信号からの情報の抽出装置
JP5003164B2 (ja) 音響信号からの情報の抽出装置
JP4760539B2 (ja) 音響信号に対する情報の埋め込み装置
JP4760540B2 (ja) 音響信号に対する情報の埋め込み装置
JP4877007B2 (ja) 音響信号に対する情報の埋め込み装置および音響信号からの情報の抽出装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090827

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110518

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110531

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110729

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110824

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110906

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140930

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees