(57)【特許請求の範囲】
【請求項１】
楽音波形を表す波形データのうちで楽音の特徴を表すアタック部分およびループ部分を検出する特徴部分検出手段と、
前記波形データのうちで前記検出したアタック部分およびループ部分を除く部分に透かしデータを埋込む透かしデータ埋込み手段と
を備えたことを特徴とする透かしデータ埋込み装置。
【請求項２】
前記特徴部分検出手段は、前記波形データのピーク位置を検出し、前記検出したピーク位置を中心にして前後に所定幅内の区間をアタック部分として検出することを特徴とする請求項１に記載の透かしデータ埋込み装置。
【請求項３】
前記波形データは、ループ区間を指定するループ情報を有しており、
前記特徴部分検出手段は、前記ループ情報を読み出して、前記読み出したループ情報により指定された区間をループ部分として検出することを特徴とする請求項１に記載の透かしデータ埋込み装置。
【請求項４】
請求項１乃至３のいずれか１項に記載された透かしデータ埋込み装置によって透かしデータが埋込まれた、楽音波形を表す波形データについて、楽音波形を表す波形データのうちで楽音の特徴を表すアタック部分およびループ部分を検出する特徴部分検出手段と、
前記波形データのうちで前記検出したアタック部分およびループ部分を除く部分に埋込まれた透かしデータを取出す透かしデータ取出し手段と
を備えたことを特徴とする透かしデータ取出し装置。
【請求項５】
楽音波形を表す波形データのうちで楽音の特徴を表すアタック部分およびループ部分を検出する特徴部分検出ステップと、
前記波形データのうちで前記検出したアタック部分およびループ部分を除く部分に透かしデータを埋込む透かしデータ埋込みステップと
を、コンピュータに実行させる透かしデータ埋込みプログラム。
【請求項６】
請求項５に記載された透かしデータ埋込みプログラムによって透かしデータが埋込まれた、楽音波形を表す波形データについて、楽音波形を表す波形データのうちで楽音の特徴を表すアタック部分およびループ部分を検出する特徴部分検出ステップと、
前記波形データのうちで前記検出したアタック部分およびループ部分を除く部分に埋込まれた透かしデータを取出す透かしデータ取出しステップと
を、コンピュータに実行させる透かしデータ取出しプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、楽音波形を表す波形データ中に透かしデータを埋込む透かしデータ埋込み装置および透かしデータ埋込みプログラム、並びに波形データ中に埋め込まれた透かしデータを取出す透かしデータ取出し装置および透かしデータ取出しプログラムに関する。
【０００２】
【従来の技術】
従来から、楽音波形を表す波形データの不正な複製の発見のために、波形データ中に識別情報のような透かしデータを埋込むことが行われてきている。この従来の透かしデータの埋込みにおいては、楽音の特徴を表すアタック部分を検出して、同アタック部分に透かしデータを埋込むようにしている。
【０００３】
【発明が解決しようとする課題】
透かしデータを波形データ中に埋め込むことは、波形データの内容の変更を意味する。そして、上記従来技術のように、楽音の特徴を最も顕著に表すアタック部分に透かしデータを埋め込むと、アタック部分のデータ内容が変更され、波形データに基づいて再生される楽音の特徴が失われて好ましくない。
【０００４】
【発明の概要】
本発明は、上記問題に対処するためになされたもので、その目的は、再生される楽音の特徴が損なわれることなく、波形データ中に透かしデータを埋め込むようにした透かしデータ埋込み装置および透かしデータ埋込みプログラムを提供することにある。また、本発明の他の目的は、前記のようにして埋込まれた透かしデータを波形データ中から取出す透かしデータ取出し装置および透かしデータ取出しプログラムを提供することにある。
【０００５】
上記本発明の目的を達成するために、本発明の特徴は、楽音波形を表す波形データのうちで楽音の特徴を表すアタック部分およびループ部分を検出し、波形データのうちで前記検出したアタック部分およびループ部分を除く部分に透かしデータを埋込むようにしたことにある。この場合、アタック部分の検出に関しては、波形データのピーク位置を検出し、前記検出したピーク位置を中心にして前後に所定幅内の区間をアタック部分として検出するとよい。また、ループ部分の検出に関しては、波形データに含まれていてループ区間を指定するループ情報を読み出して、前記読み出したループ情報により指定された区間をループ部分として検出するとよい。波形データは、アタック部分、ループ部分およびその他の部分（例えば、アタック部分とループ部分の間の部分）からなる。アタック部分とは楽音の立ち上がり部分を意味し、ループ部分とは楽音の再生時に繰り返し読出されて再生される部分である。また、透かしデータとしては、例えば波形データを作成した創作者、創作法人などを表す文字列、ロゴマークなどを表す識別情報を採用できる。
【０００６】
このような特徴を有する本発明によれば、透かしデータは、波形データのうちで楽音の特徴を表すアタック部分およびループ部分以外の部分に埋め込まれるので、再生される楽音の特徴部分であるアタック部分およびループ部分が損なわれることがなくなる。その結果、この波形データを再生した際には、顕著な特徴を有するとともに自然な楽音が再生できる。
【０００７】
また、本発明の他の特徴は、前述のようにしてアタック部分およびループ部分を除く部分に透かしデータが埋込まれた、楽音波形を表す波形データについて、楽音波形を表す波形データのうちで楽音の特徴を表すアタック部分およびループ部分を検出し、波形データのうちで前記検出したアタック部分およびループ部分を除く部分に埋込まれた透かしデータを取出すようにしたことにある。これによれば、前記埋込んだ透かしデータを取出すことができ、同透かしデータとして識別情報を採用すれば、波形データの不正な複製を簡単に発見できる。
【０００８】
さらに、透かしデータの埋込みにおいては、楽音波形の各瞬時値をそれぞれ表していて波形データを構成する複数のサンプリングデータのうちで、所定値以上の瞬時値を表すサンプリングデータのみに透かしデータを埋込むようにするとよい。これによれば、透かしデータの埋込みにより誤差の影響を受け易い、楽音波形の小さな瞬時値を表すサンプリングデータに対する透かしデータの埋込みが回避される。その結果、波形データから再生される楽音が元の楽音から大きく変ってしまうことを回避できる。また、この場合には、前記透かしデータの取出しにおいても、所定値以上の瞬時値を表すサンプリングデータのみから透かしデータを取出すようにするとよい。
【０００９】
【発明の実施の形態】
以下、本発明の一実施形態を図面を用いて説明する。図１は、本発明に係る装置およびプログラムの適される電子機器をブロック図により示している。この電子機器としては、電子楽器、シーケンサ、パーソナルコンピュータなどを含む各種機器が考えられる。
【００１０】
この電子機器は、操作子群１１および表示器１２を備えている。操作子群１１は、操作パネルに配置されていて、この電子機器の種々の動作を指示するためにユーザによって操作される。この操作子群１１の操作は、バス２０に接続された検出回路１３内に各操作子に対応して設けられた操作子スイッチのオン・オフによってそれぞれ検出される。表示器１２は、操作パネル上または操作パネルとは独立して配置され、液晶ディスプレイまたはブラウン管装置などで構成されており、文字、符号、図形などを表示する。この表示器１２の表示態様は、バス２０に接続された表示制御回路１４によって制御される。
【００１１】
バス２０には、ＣＰＵ３１、タイマ３２、ＲＯＭ３３、ＲＡＭ３４、外部記憶装置３５および音源回路４１が接続されている。ＣＰＵ３１、タイマ３２、ＲＯＭ３３およびＲＡＭ３４は、マイクロコンピュータ本体部を構成するもので、この電子機器の各種動作をプログラムの実行により制御する。外部記憶装置３５は、この電子機器内に予め組み込まれたハードディスクＨＤ、この電子機器に脱着可能なフレキシブルディスクＦＤ、コンパクトディスクＣＤなどの外部記録媒体からなる。また、この外部記憶装置３５は、前記外部記録媒体に対するデータおよびプログラムの書込みおよび読出しを行うドライブユニットも含む。特に、本実施形態においては、これらのハードディスクＨＤ、フレキシブルディスクＦＤ、コンパクトディスクＣＤなどの外部記録媒体に、図３の透かしデータ埋込みプログラム及び図４の透かしデータ取出しプログラムが記憶されている。
【００１２】
音源回路４１は、ＣＰＵ３１による制御のもとに、内蔵の波形メモリ４１ａに記憶されている波形データを用いて楽音信号を形成（すなわち再生）する。前記形成された楽音信号は、サウンドシステム４２に供給される。サウンドシステム４２は、アンプ、スピーカなどからなり、前記供給された楽音信号に対応した楽音を発音する。
【００１３】
波形メモリ４１ａは、図２に示すように、複数の波形データWD1,WD2・・WDnを記憶している。各波形データは、サンプル情報およびループ情報からなる。サンプル情報は、図５に示すような楽音波形を所定のレートでサンプリングすることによって形成され、楽音波形の一連の瞬時値（すなわちレベル値）を表す複数のサンプリングデータからなる。なお、このサンプル情報は、楽音の発音開始から終了までの全ての複数のサンプリングデータを含むものではなく、発音終了時のサンプリングデータに関しては一部省略されている。ループ情報は、前記サンプリングデータのうちで、その再生時に繰り返し利用されるループ部分（図５参照）の開始位置（すなわち開始アドレス）および終了位置（すなわち終了アドレス）からなる。
【００１４】
また、バス２０には、ＭＩＤＩインターフェース回路５１および通信インターフェース回路５２も接続されている。ＭＩＤＩインターフェース回路５１は、同回路５１に接続されたＭＩＤＩ機器５３との間で、ＭＩＤＩデータの交信を行う。なお、ＭＩＤＩ機器５３とは、他の電子楽器、パーソナルコンピュータなどのＭＩＤＩ規格に対応する各種電子機器の総称である。通信インターフェース回路５２は、通信ネットワーク５４を介して外部と接続可能となっていて、この電子機器と外部との各種プログラムおよびデータの交信を可能としている。
【００１５】
次に、上記のように構成した実施形態の動作を説明する。ユーザは,外部記憶装置３５の外部記録媒体に記憶されている透かしデータ埋込みプログラムをＣＰＵ３１に実行させる。このプログラムの実行においては、前記外部記録媒体に記憶されている透かしデータ埋込みプログラムがＲＡＭ３４に転送されて、ＣＰＵ３１はこのＲＡＭ３４に転送された透かしデータ埋込みプログラムを実行する。なお、この透かしデータ埋込みプログラムが前記外部記録媒体に記録されていない場合には、ＭＩＤＩインターフェース回路５１を介してＭＩＤＩ機器５３から透かしデータ埋込みプログラムをダウンロードしたり、通信インターフェース回路５２および通信ネットワーク５４を介して外部から透かしデータ埋込みプログラムをダウンロードして、同ダウンロードした透かしデータ埋込みプログラムを実行させるようにしてもよい。さらに、ＲＯＭ３３に透かしデータ埋込みプログラムを予め記憶しておいて、同透かしデータ埋込みプログラムを実行させるようにしてもよい。
【００１６】
この透かしデータ埋込みプログラムの実行は図３のステップ１００にて開始され、ステップ１０２にて透かしデータを埋め込むべき波形データの読出し処理を実行する。この波形データの読出し処理においては、ユーザは、操作子群１１を操作することにより、波形メモリ４１ａに記憶されている複数の波形データWD1,WD2・・WDnの種類、名称などを表示器１２に表示させて、同複数の波形データのうちの一つの波形データを選択する。ＣＰＵ３１は、この選択された波形データ（サンプル情報およびループ情報）を波形メモリ４１ａから読出して、ＲＡＭ３４に記憶する。
【００１７】
次に、ＣＰＵ３１は、ステップ１０４にてアタック部分の検出処理を実行する。このアタック部分の検出処理においては、まず、前記ＲＡＭ３４に記憶した波形データの各サンプリングデータを先頭から順に読出して、波形データのピーク位置を検出する。この場合、図５に示すように、ピーク位置は、各サンプリングデータによって表された瞬時値（レベル値）の絶対値が最大である位置である。このピーク位置の検出後、同ピーク位置を中心にして前後に所定幅内の区間をアタック部分とする。この所定幅は予め決められていてもよいが、楽音波形の先頭位置からピーク位置までの幅としてもよい。この場合、アタック部分は、楽音波形の先頭位置からピーク位置までの区間に、同ピーク位置から後方に先頭位置からピーク位置までの幅を加えた区間に等しい。
【００１８】
前記ステップ１０４の処理後、ステップ１０６にてループ部分の検出処理を実行する。このループ部分の検出処理においては、前記ＲＡＭ３４に記憶した波形データのループ情報を読出して、同読出したループ情報により指定される区間をループ区間として決定する。このステップ１０６の処理後、ステップ１０８にて対象サンプリングデータの決定処理を実行する。この対象サンプリングデータの決定処理においては、前記ＲＡＭ３４に記憶した波形データを構成する全サンプリングデータのうちから前記検出したアタック部分およびループ部分を除いた残りのサンプリングデータを対象サンプリングデータとして決定する。その結果、対象サンプリングデータは、波形データのサンプリングデータの中でアタック部分とループ部分とに挟まれた部分のサンプリングデータとなる。
【００１９】
次に、ＣＰＵ３１は、ステップ１１８の判定処理によって対象サンプリングデータの終了位置の判定がなされるまで、すなわち最後の対象サンプリングデータが読出されるまで、ステップ１１０〜１１８からなる循環処理を実行して、対象サンプリングデータ中に透かしデータを埋め込む。この透かしデータは、本実施形態では、例えば波形データを作成した創作者、創作法人などを表す文字列、ロゴマークなどを表す識別情報である。本実施形態では、具体例として“ＸＹＺ１２３”なる文字列を識別情報（透かしデータ）として採用して、以下の説明に利用する。
【００２０】
ステップ１１０においては、ステップ１１０〜１１８からなる循環処理の１循環ごとに、前記ＲＡＭ３４に記憶された対象サンプリングデータを１サンプリングデータずつ先頭位置から終了位置まで順次読出す。そして、ステップ１１２にて、前記読出したサンプリングデータによって表された瞬時値（レベル値）の絶対値が所定の閾値以上であるかを判定する。
【００２１】
瞬時値の絶対値が所定の閾値以上であれば、ステップ１１２にて「Ｙｅｓ」と判定して、ステップ１１４に進む。ステップ１１４においては、サンプリングデータの最下位ビットを、透かしデータを表すビットパターンに１ビットずつ順に変更する。具体的には、文字列“ＸＹＺ１２３”に関し、“Ｘ”を表す複数ビットを１ビットのシリアルデータに変換した“Ｘ”のシリアルデータに、“Ｙ”を表す複数ビットを１ビットのシリアルデータに変換した“Ｙ”のシリアルデータを繋げるように、文字列“ＸＹＺ１２３”を１バイトずつシリアルデータに変換して“Ｘ”,“Ｙ”・・の順に繋げたものを予め用意しておく。そして、前記読出した各サンプリングデータの最下位ビットを、この用意されたシリアルデータで１ビットずつ順に変更していく。
【００２２】
一方、前記読出したサンプリングデータによって表された瞬時値（レベル値）の絶対値が所定の閾値未満であれば、ステップ１１２にて「Ｎｏ」と判定して、ステップ１１６に進む。ステップ１１６においては、波形データ中に埋め込むべき透かしデータを先頭位置に戻す。具体的には、前記予め用意した文字列“ＸＹＺ１２３”を表す１ビットのシリアルデータのうちで、次のサンプリングデータに埋め込むべきシリアルデータのビット位置を先頭ビットに設定しておくことを意味する。
【００２３】
このようなステップ１１０〜１１６の繰り返し処理により、図６に示すように、サンプリングデータによって表された瞬時値の絶対値が閾値以上であれば、各サンプリングデータの最下位ビットが文字列“ＸＹＺ１２３”のシリアルデータで順次置換されていく。そして、サンプリングデータによって表された瞬時値の絶対値が閾値以上である状態が長く連続すれば、対象サンプリングデータ中に文字列“ＸＹＺ１２３”が最後まで書込まれる。さらに、この状態が続けば、文字列“ＸＹＺ１２３”が対象サンプリングデータ中に先頭からふたたび書込まれ始める。一方、サンプリングデータによって表された瞬時値の絶対値が閾値以上である状態が長く連続しなければ、対象サンプリングデータ中に文字列“ＸＹＺ”,“Ｘ”などのように完結しない透かしデータが先頭から繰り返し書込まれることになる。
【００２４】
そして、対象サンプリングデータの最後のデータの読出しが終了すると、ステップ１１８にて「Ｙｅｓ」と判定され、ステップ１２０にてこの透かしデータ埋込みプログラムの実行が終了する。その結果、対象サンプリングデータ中には、完全な透かしデータおよび透かしデータの一部が最終的に繰り返し書き込まれるようになる。具体的には、透かしデータが“ＸＹＺ１２３”であれば、“ＸＹＺ１２３”,“ＸＹＺ１２３”,“Ｘ”,“ＸＹＺ１２３”,“ＸＹＺ”,“Ｘ”,“Ｘ”・・・などのように、文字列の全ておよび一部を繰り返した透かしデータが、対象サンプリングデータ中に書き込まれる。
【００２５】
このようにして、透かしデータの書き込まれた波形データは、波形メモリ４１ａに戻されたり、外部記憶装置３５の外部記録媒体に記憶される。また、ＭＩＤＩインターフェース回路５１を介してＭＩＤＩ機器５３に転送したり、通信インターフェース回路５２および通信ネットワーク５４を介して、外部へ出力されたりする。
【００２６】
上記説明からも理解できるように、上記実施形態によれば、透かしデータ（識別情報）は、波形データのアタック部分およびループ部分以外の部分、すなわちアタック部分およびループ部分に挟まれた部分に埋め込まれる。この場合、波形データのアタック部分およびループ部分は楽音の特徴を表す特徴部分であるので、透かしデータ（識別情報）は楽音の特徴を表す特徴部分以外の部分に埋め込まれ、再生される楽音の特徴部分が損なわれることがなくなる。したがって、この波形データを再生した際には、顕著な特徴を有するとともに自然な楽音が再生される。
【００２７】
また、上記実施形態においては、前記特徴部分以外の複数のサンプリングデータのうちで、所定値以上の瞬時値を表すサンプリングデータのみに透かしデータが埋込まれる。これによれば、透かしデータの埋込みにより誤差の影響を受け易い、楽音波形の小さな瞬時値を表すサンプリングデータに対する透かしデータの埋込みが回避される。その結果、波形データから再生される楽音が元の楽音から大きく変ってしまうことを回避できる。
【００２８】
次に、上記のようにして波形データ中に埋め込んだ透かしデータを取出す動作について説明する。この場合、ユーザは,上記透かしデータ埋込みプログラムの場合と同様に、外部記憶装置３５の外部記録媒体に記憶されている透かしデータ取出しプログラムをＣＰＵ３１に実行させる。また、この場合も、この透かしデータ取出しプログラムが前記外部記録媒体に記録されていない場合には、ＭＩＤＩ機器５３からまたは通信ネットワーク５４を介して外部から透かしデータ取出しプログラムをダウンロードしたり、ＲＯＭ３３に予め記憶しておいた透かしデータ取出しプログラムを用いてもよい。
【００２９】
この透かしデータ取出しプログラムの実行は図４のステップ２００にて開始され、上記透かしデータ埋込みプログラムのステップ１０２と同様なステップ２０２の処理により、透かしデータを取出そうとする波形データ（サンプル情報およびループ情報）を波形メモリ４１ａから読出してＲＡＭ３４に記憶する。次に、上記透かしデータ埋込みプログラムのステップ１０４〜１０８と同様なステップ２０４〜２０８の処理により、前記ＲＡＭ３４に記憶した波形データを構成する全サンプリングデータのうちからアタック部分およびループ部分（特徴部分）を除いた残りのサンプリングデータを対象サンプリングデータとして決定する。
【００３０】
次に、ＣＰＵ３１は、上記透かしデータ埋込みプログラムのステップ１１８と同様なステップ２１８の判定処理によって対象サンプリングデータの終了位置の判定がなされるまで、ステップ２１０〜２１８からなる循環処理を実行して、対象サンプリングデータ中の透かしデータを取出す。ステップ２１２の瞬時値の絶対値と閾値の判定処理も上記透かしデータ埋込みプログラムのステップ１１２の判定処理と同じである。
【００３１】
対象サンプリングデータの中から読出したサンプリングデータによって表された瞬時値（レベル値）の絶対値が所定の閾値以上であれば、ステップ２１２にて「Ｙｅｓ」と判定して、ステップ２１４に進む。ステップ２１４においては、サンプリングデータの最下位ビットを取出して、透かしデータを表すビットパターンとして１ビットずつ順に先頭から繋げたシリアルデータを形成する。一方、前記読出したサンプリングデータによって表された瞬時値（レベル値）の絶対値が所定の閾値未満であれば、ステップ２１２にて「Ｎｏ」と判定して、ステップ２１６に進む。ステップ２１６においては、透かしデータの新たな取出しを準備する。すなわち、次のステップ２１４の処理によって取出される１ビットのデータが、新たなシリアルビットパターンの先頭になるようにし、また前回取出すとともに繋げて形成したシリアルデータを一つのビットパターンとして扱う。
【００３２】
このようなステップ２１０〜２１８の処理により、サンプリングデータによって表された瞬時値の絶対値が閾値以上である状態が長く連続すれば、長いシリアルデータが形成されている。そして、この長いシリアルデータには、例えば、完結した文字列“ＸＹＺ１２３”を表すビットパターンが含まれている。また、サンプリングデータによって表された瞬時値の絶対値が閾値以上である状態が長く連続しなければ、短いシリアルデータが形成されているに過ぎない。そして、この短いシリアルデータは、例えば、 “ＸＹＺ”,“Ｘ”などのように不完全な文字列のビットパターンを含んでいるに過ぎない。
【００３３】
そして、対象サンプリングデータの最後のデータの読出しが終了すると、ステップ２１８にて「Ｙｅｓ」と判定され、ステップ２２０に進む。ステップ２２０においては、前記のような長いシリアルデータおよび短いシリアルデータからなる複数組のシリアルデータに基づいて、透かしデータにより表された情報（例えば、文字列）を再生する。具体的には、各シリアルデータの先頭から所定のビット数（１バイトの長さに対応）ごとにシリアルデータを順次切り出してパラレルデータに変換していく。これにより、具体的には、透かしデータが“ＸＹＺ１２３”であれば、“ＸＹＺ１２３”,“ＸＹＺ１２３”,“Ｘ”,“ＸＹＺ１２３”,“ＸＹＺ”,“Ｘ”,“Ｘ”・・・などの文字列を表すデータが取り出される。したがって、これらをそれぞれ比較することにより、最大の文字列に対応するデータを透かしデータとして取出すことができる。
【００３４】
前記ステップ２２０の処理後、ステップ２２２にてこの透かしデータプログラムの実行を終了する。
【００３５】
上記説明からも理解できるように、上記透かしデータ埋込みプログラムの実行により波形データ中に埋め込んだ透かしデータ（識別情報）が取出されるので、波形データの不正な複製と簡単に発見できる。
【００３６】
なお、上記実施形態においては、楽音波形のアタック部分をピーク位置に基づいて検出するようにしたが、上記実施形態のループ情報のように、波形データ中にアタック部分を示す開始アドレスおよび終了アドレスからなるアタック情報を含めておいて、このアタック情報に基づいてアタック部分を検出するようにしてもよい。また、ループ部分に関しても上記実施形態の検出方法に限らず、波形データの終点から所定幅をループ部分として検出するようにしてもよい。
【００３７】
また、透かしデータの埋込み方法としては別の方法も採用できる。上記実施形態のように、透かしデータを各サンプリングデータの最下位ビットに埋め込むのに代えて、各サンプリングデータの最下位側の複数ビット（例えば、最下位側から２，３ビット）のうちのいずれかの一つまたは複数のビットに透かしデータを埋め込むようにしてもよい。また、透かしデータを単純に埋め込むのではなく、スペクトル拡散方式を用いて透かしデータを埋め込むようにしてもよい。
【００３８】
また、上記実施形態においては、波形メモリ４１ａには、楽音波形の瞬時値（レベル値）を直接表すサンプリングデータからなる波形データを記憶しておくようにしたが、各種圧縮データをサンプリングデータに代えて波形メモリ４１ａに記憶しておくようにしてもよい。例えば、楽音波形の各サンプル点間の差分を表す複数の差分データを前記サンプリングデータに代えて波形メモリ４１ａに記憶しておくようにしてもよい。
【００３９】
また、上記実施形態においては、音源回路４１の波形メモリ４１ａに記憶されている波形データに対して、透かしデータの埋込みおよび取出し処理を適用するようにしたが、ＲＯＭ３３、外部記憶装置３５の外部記録媒体に記憶されている波形データに対して、上記透かしデータの埋込みおよび取出し処理を適用するようにしてもよい。また、また、ＭＩＤＩ機器５３に記憶されている波形データをＭＩＤＩインターフェース回路５１を介してＲＡＭ３４内に取り込んで、同取り込んだ波形データに上記透かしデータの埋込みおよび取出し処理を適用するようにしてもよい。さらに、通信ネットワーク５４および通信インターフェース回路５２を介して外部から波形データをＲＡＭ３４内に取り込んで、同取り込んだ波形データに上記透かしデータの埋込みおよび取出し処理を適用するようにしてもよい。
【００４０】
さらに、本発明の実施にあたっては、上記実施形態およびその変形例に限定されるものではなく、本発明の目的を逸脱しない限りにおいて種々の変形も可能である。
【図面の簡単な説明】
【図１】  本発明の適用される電子機器のブロック図である。
【図２】  波形データのデータフォーマットである。
【図３】  図１のＣＰＵで実行される透かし埋込みプログラムのフローチャートである。
【図４】  図１のＣＰＵで実行される透かし取出しプログラムのフローチャートである。
【図５】  波形データによって表される楽音波形図である。
【図６】  図５の２点鎖線で囲まれた部分の拡大図である。
【符号の説明】
１１…操作子群、１２…表示器、３１…ＣＰＵ，３３…ＲＯＭ、３４…ＲＡＭ、３５…外部記憶装置、４１…音源回路、５２…通信インターフェース回路。
【図１】
0003940894.tif 000002
【図２】
0003940894.tif 000003
【図３】
0003940894.tif 000004
【図４】
0003940894.tif 000005
【図５】
0003940894.tif 000006
【図６】
0003940894.tif 000007