JP3905743B2 - 電子透かし埋め込み方法 - Google Patents
電子透かし埋め込み方法 Download PDFInfo
- Publication number
- JP3905743B2 JP3905743B2 JP2001338059A JP2001338059A JP3905743B2 JP 3905743 B2 JP3905743 B2 JP 3905743B2 JP 2001338059 A JP2001338059 A JP 2001338059A JP 2001338059 A JP2001338059 A JP 2001338059A JP 3905743 B2 JP3905743 B2 JP 3905743B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- watermark information
- embedding
- midi
- watermark
- 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
Links
Images
Landscapes
- Electrophonic Musical Instruments (AREA)
Description
【発明の属する技術分野】
本発明は、MIDI規格に従って構成された演奏データに対し透かし情報の埋め込みを行う電子透かしの技術に関するものである。
【0002】
【従来の技術】
インターネットなどのコンピュータネットワークの発展に伴って、情報のデジタル化が進み、多くのユーザが簡単に必要とする情報にアクセスできるようになっている。その反面、そのデジタル情報に著作権が発生しているデジタルコンテンツについて、その著者に断わりなく容易にデータが複製できるような環境になりつつあり、不正コピーにともなう著作権侵害の問題が注目されてきている。そこで、デジタルコンテンツの一種である音楽コンテンツに関しての著作権侵害を防止すること等を目的として、著作権情報などの透かし情報を音声データに埋め込む電子透かし技術が提案されている。
【0003】
【発明が解決しようとする課題】
しかしながら、このような技術は、時系列の音声データ(音響データ)を対象としたものであり、電子楽器の演奏などに用いられる、MIDI(Musical Instrument Digital Interface)規格に従って構成された演奏データ、すなわち、MIDIデータを対象とした透かし情報の埋め込みに関する提案列はあまり無い。
【0004】
そこで、本発明の目的は、MIDI規格に従って構成された演奏データに対して、聴感的な音質をほとんど劣化させることなく、透かし情報を埋め込むことができる電子透かし技術を提供することにある。
【0005】
【課題を解決するための手段およびその作用・効果】
上記した目的の少なくとも一部を達成するために、本発明の第1の電子透かし埋め込み方法は、MIDI規格に従って構成された演奏データに透かし情報を埋め込むための電子透かし埋め込み方法であって、
前記演奏データのうち、複数のコードから成る可変長数値データに対して、前記透かし情報に応じたコード数だけ間隔を開けて、特定の符号を付加する工程を備えることを要旨とする。
【0006】
このように、第1の電子透かし埋め込み方法では、透かし情報に応じて、可変長数値データにおける、特定符号の付加されるコード間のコード数を制御する、いわゆるランレングス法を用いているので、透かし情報の埋め込みは、原理的に演奏音に影響することが無く、聴感的な音質をほとんど劣化させることがない。
【0007】
本発明の第1の電子透かし埋め込み方法において、前記可変長数値データは、前記演奏データにおけるデルタタイム部分のデータであることが好ましい。
【0008】
MIDI規格に従って構成された演奏データとしては、一般に、SMF(Standard MIDI File)が知られており、このSMFでは、デルタタイムに可変長数値表現が用いられるからである。
【0009】
本発明の第2の電子透かし埋め込み方法は、MIDI規格に従って構成された演奏データに透かし情報を埋め込むための電子透かし埋め込み方法であって、
前記演奏データのうち、実際に利用される可能性の少ないメッセージに前記透かし情報を埋め込む工程を備えることを要旨とする。
【0010】
このように、第2の電子透かし埋め込み方法では、実際に利用される可能性の少ないメッセージに透かし情報を埋め込んでいるので、原理的に、この埋め込みが演奏音に影響を与えることは無いため、聴感的な音質をほとんど劣化させることがない。
【0011】
本発明の第2の電子透かし埋め込み方法において、前記メッセージは、サウンドコントローラとして定義されているメッセージであることが好ましい。
【0012】
サウンドコントローラとして定義されているメッセージは、サウンドコントローラの機能をサポートしている演奏機器がそれほど多くは存在せず、また、効果の効き方が具体的には決められていないので、実際に利用される可能性が少ないからである。
【0013】
本発明の第2の電子透かし埋め込み方法において、前記メッセージは、リリースタイムであることが好ましい。
【0014】
サウンドコントローラとして機能するメッセージのうち、リリースタイムは、演奏に与える影響が極めて少ないと考えられるからである。
【0015】
本発明の第3の電子透かし埋め込み方法は、MIDI規格に従って構成された演奏データに透かし情報を埋め込むための電子透かし埋め込み方法であって、
前記演奏データのうち、演奏の際、微妙なエフェクトの生じる可能性が高いパラメータに前記透かし情報を埋め込む工程を備えることを要旨とする。
【0016】
演奏時に生じる微妙なエフェクトは、より自然な音楽を再現し、演奏に表情を付ける要素であるため、このような微妙なエフェクトの生じる可能性が高いパラメータに透かし情報を埋め込むことにより、人間の聴覚に、埋め込みによる違和感を与えないようにすることができる。従って、聴感的な音質をほとんど劣化させることなく、透かし情報の埋め込みが可能となる。
【0017】
本発明の第3の電子透かし埋め込み方法において、前記パラメータは、ベロシティおよびデルタタイムのうち、少なくとも一方であることが好ましい。
【0018】
ベロシティおよびデルタタイムは、楽器演奏で演奏家による微妙なエフェクトが生じやすいと考えられるパラメータだからである。
【0019】
本発明の半雑音化方法は、音に関わるデジタルデータを、音が所望の程度劣化されるように、半雑音化するための半雑音化方法であって、
前記デジタルデータを構成する複数のコードから、ランダムに少なくとも2つのコードを特定し、前記デジタルデータ中におけるそれら少なくとも2つのコードの位置を入れ換える工程を備えることを要旨とする。
【0020】
このように、本発明の半雑音化方法では、デジタルデータに含まれるコードの位置を入れ換えることより、音が或る程度劣化するため、そのようなデジタルデータを試聴用データとして用いることができる。また、データの大半がオリジナルのまま演奏されるため、聴者は聴取した曲の雰囲気を感じることができる。
【0021】
なお、本発明は、上記した電子透かし埋め込み方法や半雑音化方法などの方法発明の態様に限ることなく、電子透かし装置や半雑音化装置などの装置の発明としての態様や、それら方法や装置を構築するためのコンピュータプログラムとしての態様や、そのようなコンピュータプログラムを記録した記録媒体としての態様で実現することも可能である。また、さらには、上記コンピュータプログラムを含み搬送波内に具現化されたデータ信号など、種々の態様で実現することも可能である。
【0022】
【発明の実施の形態】
以下、本発明の実施の形態を実施例に基づいて以下の順序で説明する。
A.第1の実施例:
B.第2の実施例:
C.第3の実施例:
C−1.ベロシティへの埋め込み:
C−2.デルタタイムへの埋め込み:
D.第4の実施例:
E.各実施例の具体的効果:
F.装置全体の構成:
G.変形例:
G−1.変形例1:
G−2.変形例2:
G−3.変形例3:
【0023】
A.第1の実施例:
MIDI(Musical Instrument Digital Interface)は、電子楽器の演奏情報をやり取りするための世界共通のデジタルインタフェイスの規格である。このようなMIDI規格に従って構成された演奏データ、すなわち、MIDIデータとしては、一般に、SMF(Standard MIDI File)が知られている。
【0024】
SMFは、MIDIによる演奏データを記録する際の標準ファイルフォーマットで、機能が異なるシーケンサ/シーケンスソフトの間で演奏データをやり取りする際に利用される。SMFでは、ファイルサイズが冗長に増えることを抑えるために、イベントに付加される時間情報に、可変長数値表現を用いている。このような可変長数値表現を用いた時間情報としてはデルタタイムが挙げられる。デルタタイムとは、イベントの生起する時間差を記述するパラメータである。
【0025】
SMFは、「チャンク」と呼ばれる可変長サイズのデータブロックが、複数連なった構造を成している。チャンクには、ヘッダチャンクとトラックチャンクの2種類があり、このうち、トラックチャンクにおけるデータセクションには、実際の演奏内容データが格納されている。この演奏内容データは、上記した「デルタタイム」と「イベント」の組み合わせを1つの単位(コード)として、これが延々と連なった構造を成している。なお、上記したイベントには、チャネルメッセージを格納するMIDIイベントの他、システムエクスクルーシブイベントやメタイベントなどがある。
【0026】
本実施例では、MIDIデータにおけるデルタタイムの可変長数値データのバイト列の長さに着目して、透かし情報を埋め込むようにしている。なお、全て可変長数値データに対して透かし情報の埋め込み操作をすると、全体の符号量に大きく影響すると考えられるので、特定符号の付加されるコード間のコード数を制御するランレングス方法を用いる。
【0027】
ここで、まず、MIDI規格における可変長数値表現について説明する。可変数値表現では、データは1バイトを単位とし、必要な数だけ連ねて用いる。但し、最大4バイトまでとする。また、バイトの最上位ビット(ステータスビット)が'1'である場合には、後続のバイトがあることを意味する。具体的には、例えば、16進数(0〜9,A〜F)の4AD5を2進数で表現すると、0100 1010 1101 0101となる。これをMIDI規格における可変長数値で表現するには、まず、0100 1010 1101 0101を7ビット毎に、0000001と0010101と1010101に分割する。次に、最下位の7ビット1010101の最上位に'0'を付けて、01010101とする。一方、上位2つの7ビット0000001および0010101の各々の最上位に'1'を付けて、10000001と10010101する。そして、こうして得られたバイト単位のデータを連結することで、可変長数値データである10000001 10010101 01010101を生成する。これを16進数で表現すると、3バイトの可変長数値データ819555となる。
【0028】
以上のようにして、16進数で表現した場合において、表現したい元の数値が00〜7Fである場合には、可変数値表現では、1バイトで表現され、00〜7Fとなり、表現したい元の数値が80〜3FFFである場合には、可変数値表現では、2バイトで表現され、8100〜FF7Fとなり、表現したい元の数値が4000〜1FFFFFである場合には、可変数値表現では、3バイトで表現され、818000〜FFFF7Fとなり、表現したい元の数値が200000〜0FFFFFFFである場合には、可変数値表現では、4バイトで表現され、81808000〜FFFFFF7Fとなる。
【0029】
従って、このような可変長数値表現では、1〜4バイトのいずれのバイトで表現されたとしても、その最上位バイトが80になることはない。そこで、本実施例では、上記した特定符号として、この80を用いるようにしている。
【0030】
図1は本発明の第1の実施例としての電子透かし埋め込み処理の概要を示す説明図である。
【0031】
MIDIデータであるSMFのうち、トラックチャンクにおけるデータセクションは、図1に示すように、デルタタイム(斜線部)とイベントの組み合わせから成るコードが複数連なっている。このうち、各コードのデルタタイムは、上述したように、可変長数値表現で表されており、1バイト〜4バイトの長さを持っている。
【0032】
図2は上記データセクションの各コードを、透かし情報の埋め込み前と埋め込み後で比較して示した説明図である。図2において、左から、1欄目はコードナンバを示しており、No.0が基点コードである。2欄目は透かし情報埋め込み前の各コードを示しており、3欄目は透かし情報埋め込み後の各コードを示している。なお、各コードの値は、16進数で表現されている。
【0033】
本実施例では、まず、基点コード(No.0)のデルタタイムを検出し、そのデルタタイムの最上位に特定符号である80を付加する。この場合、基点コード(No.0)のデルタタイムは、図2に示すように、1バイトで表現された4Eであり、従って、4Eの上位に特定符号である80を付加する。この結果、基点コード(No.0)のデルタタイムは、804Eとなる。一方、透かし情報である透かし信号から得られた値sが12であったとする。そこで、次に、上記基点コードの次のコードからコード数をカウントし、12番目のコードのデルタタイムを検出する。そして、同様に、そのデルタタイムの最上位に特定符号である80を付加する。この場合、12番目のコード(No.12)のデルタタイムは、図2に示すように、1バイトで表現された78であり、従って、78の上位に特定符号である80を付加する。この結果、12番目のコード(No.12)のデルタタイムは、8078となる。こうして、特定符号を付加してデルタタイムのバイト長を操作することにより、図2に示すように、埋め込み済みMIDIデータが得られる。
【0034】
以下、透かし信号から順次得られるsに応じて、同様の手順を繰り返すことより、MIDIデータに対し透かし情報の埋め込みを行うことができる。但し、特定符号を付加する前(すなわち、透かし情報埋め込み前)のデルタタイムが、最大バイト数である4バイトで表現されている場合には、これに特定符号である80を付加すると、そのデルタタイムは5バイトとなり、問題であるため、特定符号を付加する前のデルタタイムが4バイトである場合は、それを棄却して、特定符号を付加する対象(すなわち、透かし情報の埋め込み対象)とはしないようにする。
【0035】
以上のような、透かし情報の埋め込み方法を用いることにより、埋め込み操作の頻度を少なくすることができる。
【0036】
一方、こうして、MIDIデータに埋め込まれた透かし情報は、次のようにして抽出する。すなわち、上記データセクションの各コードのデルタタイムを検出し、その最上位のバイトが80であるか否かを判定し、最上位が80であるデルタタイムを検出したら、その次に同様、最上位が80であるデルタタイムを検出するまでのコード数をカウントし、その結果から、透かし情報を抽出するようにする。
【0037】
以上のように、本実施例では、透かし情報に応じて、可変長数値データにおける、特定符号の付加されるコード間のコード数を制御するランレングス法を用いているので、透かし情報の埋め込みは、原理的に演奏音に影響することが無く、聴感的な音質をほとんど劣化させることがない。
【0038】
B.第2の実施例:
ところで、MIDIデータを構成するMIDIメッセージは、上述したチャネルメッセージと、システムメッセージに分類され、さらに、チャネルメッセージは、ボイスメッセージと、モードメッセージに分類される。このうち、ボイスメッセージには、演奏の基本となる音を出す(ノートオン)、音を止める(ノートオフ)を始め、アフタータッチ情報であるポリフォニックキープレッシャとチャネルプレッシャや、モジュレーションホイールやペダル、ボリュームなどのエフェクト情報を送るコントロールチェンジや、シンセサイザには欠かせないベンド情報を送るピッチベンドチェンジや、音色を切り換えるプログラムチェンジが定義されている。
【0039】
これらボイスメッセージのうち、コントロールチェンジメッセージは、各コントローラの種別を表すコントロールナンバを有しており、このうち、コントロールナンバの70〜79は、汎用的なサウンドコントローラとして定義されている。より互換性を高めるために、これらのナンバには、デフォルトの機能が設定されている。具体的には、70はサウンドバリエーション、71はティンバ/ハーモニックインテンシティ、72はリリースタイム、73はアタックタイム、74はブライトネス、75はディケイタイム、76はビブラートレイト、77はビブラートデプス、78はビブラートディレイ、79は未定義となっている。
【0040】
しかしながら、このようなコントロールチェンジメッセージによるサウンドコントローラの機能はあまり利用されていない。何故なら、このようなサウンドコントローラの機能をサポートしている演奏機器(シンセサイザなど)が、現在において、それほど多くは存在せず、また、デフォルト機能の名称は決まっているものの、効果の効き方が具体的にはきめられていないため、これらの機能をサポートした機器同士でも、同じ効果が得られるとは限らないからである。
【0041】
そこで、本実施例では、MIDIメッセージのうち、このような現在ではあまり利用されてないメッセージに着目して、透かし情報の埋め込みを行うこととする。具体的には、サウンドコントローラとして機能するメッセージのうち、演奏に与える影響が極めて少ないと考えられる、コントロールナンバ72のリリースタイムを埋め込み対象とする。すなわち、本実施例では、MIDIデータにおけるリリースタイムの下位ビットを、透かし情報である透かし信号列で順次置換することにより、リリースタイムに透かし情報を埋め込む。
【0042】
この方法によれば、MIDIデータに含まれるリリースタイムの数に比例して、大量の透かし情報を埋め込むことができる。
【0043】
以上説明したように、本実施例によれば、実際に利用される可能性の少ないメッセージに透かし情報を埋め込んでいるので、原理的に、この埋め込みが演奏音に影響を与えることは無いため、聴感的な音質をほとんど劣化させることがない。
【0044】
C.第3の実施例:
プロの演奏家が楽器を演奏する際、そこから生じる演奏音の発音タイミングや音量は完全には定まることはない。むしろ、これらの演奏時に生じる微妙なエフェクトは、より自然な音楽を再現し、演奏に表情を付ける要素として注目されている。
【0045】
一方、MIDIデータを用いて電子楽器を制御すると、常に一定の演奏が再現されるため、聴者にとっては機械的な印象を与えやすい。そのため、電子楽器の演奏をより自然なものに近づける試みも、現在において数多くなされている。
【0046】
そこで、本実施例では、実際の演奏で生じる音の変動に着目して、人間の聴覚に違和感を与えないように、MIDIデータにおけるパラメータを制御して、透かし情報を埋め込むこととする。本実施例では、特に、楽器演奏で演奏家による微妙なエフェクトが生じやすいと考えられるパラメータであるベロシティとデルタタイムに着目した。
【0047】
C−1.ベロシティへの埋め込み:
ベロシティは、上述したとおり、音(すなわち、演奏音)の強さを制御するためのパラメータであり、実際の人間による演奏では、その曲が持つイメージを演奏家が表現する他の大きな要素の1つである。従って、音の強さが常に一定で、フラットな状態であるよりは、音の変動や雑音が存在した方が、演奏の質感を高められると考えられる。
【0048】
そこで、本実施例における第1の具体例では、音の強弱を制御するためのパラメータであるベロシティの下位ビットを、透かし情報である透かし信号で順次置換することにより、ベロシティに透かし情報を埋め込む。
【0049】
C−2.デルタタイムへの埋め込み:
上述したとおり、デルタタイムとは、イベントの生起する時間差を記述するパラメータである。実際の人間による演奏では、演奏音が必ずしも同じタイミングで生起していなくても、人間の知覚の曖昧さによって、違和感を与えることが少ないため、デルタタイムに多少ずれがあっても問題はない。
【0050】
そこで、本実施例における第2の具体例では、イベントの生起する時間差を表すパラメータであるデルタタイムの下位ビットを、透かし情報である透かし信号で順次置換することにより、デルタタイムに透かし情報を埋め込む。但し、デルタタイムの場合、透かし情報の埋め込みによる影響が時間を追う毎に蓄積しやすいため、デルタタイムの延伸時間と短縮時間がコード間で相殺される用に、透かし情報を埋め込む必要がある。
【0051】
以上説明したとおり、本実施例では、微妙なエフェクトの生じる可能性が高いパラメータに透かし情報を埋め込むことにより、人間の聴覚に、埋め込みによる違和感を与えないようにすることができるため、聴感的な音質をほとんど劣化させることなく、透かし情報の埋め込みが可能となる。
【0052】
D.第4の実施例:
一般的な暗号技術を用いて、MIDIデータそのものを暗号化して、暗号データとして第三者に提供することは容易である。しかし、或る程度音楽として楽しむことのできるMIDIデータを試聴用データとして第三者に配布することができれば、新たな顧客を得るための市場開拓に役立つものと考えられる。
【0053】
そこで、本実施例では、透かし情報の埋め込まれたMIDIデータに、演奏音が或る程度劣化するような処理(半雑音化処理)を施して、試聴用データとして配布できるようにしている。具体例には、透かし情報の埋め込まれた帯域とは完全に独立した帯域であるコードの短期的な並びに着目し、それらをランダムに入れ換えることにより、MIDIデータの半雑音化を実現する。
【0054】
図3は本発明の第4の実施例としての半雑音化処理の概要を示す説明図である。
【0055】
図3に示すように、まず、MIDIデータの中から、n個のコードを抽出する。一方、重複しない1〜nの2つの乱数をそれぞれペアとした、計p組の乱数列を順次生成する。
【0056】
そして、生成した1組目の乱数のペア[r1,r2]に基づいて、先に抽出したn個のコードのうち、r1番目のコードと、r2番目のコードと、を入れ換える。続いて生成した2番目の乱数ペア[r3,r4]に基づいて、n個のコードのうち、r3番目のコードと、r4番目のコードと、を入れ換える。以下同様の処理を繰り返して、コードの位置をランダムに入れ換える。
【0057】
こうして、合計p回、上記処理を繰り返したら、その並びの換わったn個のコードを元のMIDIデータの該当部分に挿入する。こうすることにより、半雑音化されたMIDIデータが得られる。なお、このとき用いる乱数列は、元の状態に戻すための復元鍵となる。
【0058】
図4は抽出したコードに上記した半雑音化処理を施した場合一例を示す説明図である。この例では、n=15,p=2となっており、乱数列としては、[1,13],[8,15]が用いられている。従って、図4に示すように、抽出した15個のコードのうち、1番目に生成された乱数ペア[1,13]に基づいて、1番目のコードと13番目のコードが入れ換えられ、続いて、2番目に生成された乱数ペア[8,15]に基づいて、8番目のコードと15番目のコードが入れ換えられて、半雑音化されたデータが生成されることになる。
【0059】
なお、MIDIデータにおける一定区間のランダム化率、すなわち、n個のコードのうち、位置の換わったコードの割合γは、γ=(2p)/nとして表される。本実施例では、このランダム化率γを調節することで、半雑音化の程度を制御することができる。
【0060】
一方、こうして、半雑音化されたMIDIデータを元のデータに復元するには、まず、復元鍵である乱数列を用意し、その乱数列に基づいて、半雑音化したときとは逆のコードの入れ換えを行って、元の並びに戻すようにすれば良い。
【0061】
本実施例によれば、MIDIデータの大半がオリジナルのまま演奏されるため、聴者は聴取した曲の雰囲気を感じることができる。
【0062】
本実施例においては、MIDIデータにおいて、半雑音化で用いるランダム制御の帯域と透かし情報を埋め込む帯域とは独立している。従って、半雑音化したMIDIデータを元のデータに復元した場合でも、MIDIデータに埋め込まれている透かし情報は、影響を受けることなく残存している。
【0063】
従って、例えば、透かし情報として著作権情報を埋め込んだMIDIデータを、ネットワーク上に公開する際に、そのMIDIデータに半雑音化処理を施しても問題はない。このように、透かし情報の埋め込み処理の技術と半雑音化処理の技術を適切に組み合わせることにより、MIDIデータを購入前に試聴することが可能なMIDIデータ配信システムを構築することができる。
【0064】
このシステムによれば、利用者は、MIDIデータを購入する際、その曲がどのような曲であるかをある程度知ることができる。一方、データ配信者は、利用者に対して、商品価値の高いMIDIデータを気軽に試聴できる機会を与えることで、利用者の購買意欲を高揚させることができる。
【0065】
E.各実施例の具体的効果:
各実施例の具体的効果を確かめるために、本発明者らは、以下のような実験を試みた。
【0066】
本実験においては、図5に示した4種類のMIDIデータを用いた。これらのデータは、インターネット上に公開されていたMIDIファイルの中から、異なった特徴を持つ曲を選び、約10秒ずつ抽出したものである。
【0067】
また、音質の評価方法としては、評価者の絶対判断によるオピニオン評価を用いた。これは、複数人の評価者に、音質を5段階評価させ、得られた評価値から平均オピニオン値(MOS:Mean Opinion Score)を求めるものである。各評価値の基準は、元のデータによる演奏と判別することができない状態を5とし、演奏音の劣化が激しい状態を1とする主観絶対値とした。本実験では、評価者の先入観による影響を避けるために、透かし情報の埋め込まれたMIDIデータと埋め込まれていない元のMIDIデータとを区別できない状態でランダムに、評価者に評価させたので、評価者が、透かし情報の埋め込みによる聴感的な音質の劣化を感じたならば、上記したMOSに大差が生じるはずである。
【0068】
本実験では、まず、第1〜第3の実施例の方法に対する実験として、MIDIデータに、各実施例の方法を用いて透かし情報の埋め込みを行った場合に、演奏機器に、コードが認識できないなどの問題が生じないかどうか確かめた。この実験には、図5に示したMIDIデータに、透かし情報として、図6に示した情報量を持つ透かし信号を埋め込んだデータを用いた。また、演奏機器としては、最も標準的なものとして一般に普及しているRoland社製のSound Canvas SC-55mkIIを用いた。
【0069】
これら透かし情報の埋め込まれたデータを上記した演奏機器で個別に演奏した結果、各実施例の方法による透かし情報の埋め込みは、いずれも、演奏機器の動作に異常を与えないことがわかった。
【0070】
第1の実施例及び第2の実施例による透かし情報の埋め込みは、いずれも、原理的に演奏音に影響を与えない。
【0071】
そこで、本実験では、次に、演奏に直接影響すると考えられる第3の実施例の方法に対する実験として、この実施例の方法によって透かし情報を埋め込んだ場合における、音質への影響をさらに調べた。具体的には、ベロシティまたはデルタタイムに透かし情報を埋め込む際、その埋め込みの範囲を、最下位ビットから最上位ビットまで変えながら実験を行った。
【0072】
図7はベロシティに透かし情報を埋め込んだ場合の埋め込みビットの位置とMOSの関係を示す説明図であり、図8はデルタタイムに透かし情報を埋め込んだ場合の埋め込みビットの位置とMOSの関係を示す説明図である。図7からは、ベロシティに透かし情報を埋め込む方法では、埋め込み範囲が下位4〜5ビットまでならば、音質の劣化をほとんど感じさせないことがわかる。図8からは、デルタタイムに透かし情報を埋め込む方法では、埋め込み範囲が下位3〜4ビットまでならば、ほとんど違和感を感じさせないことがわかる。この実験では、議論を簡単にするために、デルタタイムの延伸と短縮は同じ幅に固定して、交互に制御するようにした。
【0073】
また、この実験の結果、透かし情報の埋め込みによる影響は、一般に、透かし情報の埋め込まれるビットが下位ビットであるほど少ないと言えるが、その聴感的な影響度は、埋め込まれるMIDIデータの種類によって異なることがわかった。従って、透かし情報の埋め込み方法は、埋め込みの対象となる音楽コンテンツに応じて適切に定めることが好ましい。また、高い秘匿性が必要な場合には、透かし情報を埋め込むビットの位置をランダムにするか、または、埋め込まれる透かし信号を暗号化するなどして、セキュリティ対策を図る必要がある。
【0074】
本実験では、続いて、第4の実施例の方法に対する実験として、一定のコード区間(すなわち、抽出するコード数nを固定)でランダム化率γを変化させ、それぞれの演奏音から元の曲の雰囲気を評価者が感じ取ることができるか評価させた。
【0075】
図9は抽出するコード数nを40とした場合における各ランダム化率γ毎の評価結果を示す説明図である。ここでの評価は、MOSと同様に、元のMIDIデータによる演奏と、異なるランダム化率γで半雑音化したMIDIデータによる演奏とを、評価者に、不特定の順番でわからないように聴取させて、行われた。なお、ランダム化率γ=0の場合の評価値は、元のMIDIデータを演奏した場合の評価値を示している。
【0076】
この実験の結果から、抽出するコード数(すなわち、半雑音化の対象となるコード区間の長さ)nが40の場合は、ランダム化率γが0.1〜0.2程度が適切であることがわかる。但し、半雑音化されるMIDIデータの種類によって、ランダム化率γと評価値との対応が異なるため、実用化の際には、対象となる音楽コンテンツ毎に適切なパラメータ(n,γ)を設定する必要がある。
【0077】
また、透かし情報の埋め込まれたMIDIデータを半雑音化した上で、演奏しても、同様の結果が得られた。さらに、その半雑音化したデータを元のデータに復元して、演奏しても、異常は見られず、埋め込まれた透かし情報も、正常に抽出することができた。但し、このような方法を採る場合、透かし情報の埋め込み強度を高く設定しすぎると、曲そのものが違う演奏になってしまう可能性がある。それに対する対策としては、副旋律のみ制御する方法や、音符の間引きなどによる帯域制限などが考えられる。
【0078】
F.装置全体の構成:
上述した電子透かし埋め込み処理及び半雑音化処理を実行する電子透かし装置10の構成について図10を用いて説明する。図10は本発明の一実施例としての電子透かし装置10の構成を示すブロック図である。この電子透かし装置10は、CPU22と、RAM24と、ROM26と、キーボード30と、マウス32と、CRTなどから成る表示装置34と、ハードディスク装置36と、ネットワークカードやモデムなどから成る通信装置38と、これらの各要素を接続するバス40と、を備えるコンピュータである。なお、図10では各種のインターフェイス回路は省略されている。通信装置38は、図示しない通信回線を介してコンピュータネットワークに接続されている。コンピュータネットワークの図示しないサーバは、通信回線を介してコンピュータプログラムを電子透かし装置10に供給するプログラム供給装置としての機能を有する。
【0079】
RAM24には、埋め込み部42と、抽出部44と、半雑音化部46と、復元部48の、各機能を実現するためのコンピュータプログラムが格納されている。このうち、埋め込み部42は、MIDIデータに対して透かし情報を第1〜第3の実施例で述べた何れかの方法を用いて埋め込む。また、抽出部44は、透かし情報の埋め込まれたMIDIデータから透かし情報を抽出する。また、半雑音化部46は、MIDIデータに対し、第4の実施例で述べたような半雑音化処理を施して、半雑音化したMIDIデータを得る。復元部48は、半雑音化したMIDIデータを元のMIDIデータに復元する。
【0080】
このような各部42,44,46,48の機能を実現するコンピュータプログラムは、フレキシブルディスクやCD−ROM等の、コンピュータ読み取り可能な記録媒体に記録された形態で提供される。コンピュータは、その記録媒体からコンピュータプログラムを読み取って内部記憶装置または外部記憶装置に転送する。あるいは、通信経路を介してコンピュータにコンピュータプログラムを供給するようにしてもよい。コンピュータプログラムの機能を実現する時には、内部記憶装置に格納されたコンピュータプログラムがコンピュータのマイクロプロセッサによって実行される。また、記録媒体に記録されたコンピュータプログラムをコンピュータが読み取って直接実行するようにしてもよい。
【0081】
この明細書において、コンピュータとは、ハードウェア装置とオペレーションシステムとを含む概念であり、オペレーションシステムの制御の下で動作するハードウェア装置を意味している。また、オペレーションシステムが不要でアプリケーションプログラム単独またはファームウェア単独でハードウェア装置を動作させるような場合には、そのハードウェア装置自体がコンピュータに相当する。ハードウェア装置は、CPU等のマイクロプロセッサと、記録媒体に記録されたコンピュータプログラムを読み取るための手段とを少なくとも備えている。例えば、CD−RAMドライブやDVD−RAMドライブなどの電子機器に、CPUやROMなどが組み込まれていて、これら電子機器がコンピュータとしての機能を有する場合も、これら電子機器はコンピュータの概念に当然に含まれる。コンピュータプログラムは、このようなコンピュータに、上述の各手段の機能を実現させるプログラムコードを含んでいる。なお、上述の機能の一部は、アプリケーションプログラムでなく、オペレーションシステムによって実現されていても良い。更に、電子透かし埋め込み処理や半雑音化処理を行うプログラムは、MIDIデータを生成したり、編集したりするプログラムに対して、プラグインの形式で付加されるものとしてもよい。また、上記した乱数列などを生成する疑似乱数発生器なども、ハードウェアで構成するようにしても良いし、ソフトウェアによって構成するようにしても良い。
【0082】
なお、この発明における「記録媒体」としては、フレキシブルディスクやCD−ROM、光磁気ディスク、ICカード、ROMカートリッジ、パンチカード、バーコードなどの符号が印刷された印刷物、コンピュータの内部記憶装置(RAMやROMなどのメモリ)および外部記憶装置等の、コンピュータが読取り可能な種々の媒体を利用することができる。
【0083】
G.変形例:
なお、本発明は上記した実施例や実施形態に限られるものではなく、その要旨を逸脱しない範囲において種々の態様にて実施することが可能である。
【0084】
G−1.変形例1:
上記した第2の実施例では、MIDIメッセージのうち、現在あまり利用されていないメッセージに着目して、透かし情報の埋め込みを行うようにしていたが、機能的に同じ内容を意味するメッセージに着目して、透かし情報の埋め込みを行うようにしても良い。
【0085】
具体的には、上記したボイスメッセージのうち、ノートオンメッセージには、音の高さを制御するためのパラメータとしてノートナンバが、音の強さを制御するためのパラメータとして、ベロシティ(Velocity)が、それぞれ含まれている。
【0086】
このうち、ノートオンのベロシティの範囲は1〜127に定められており、0が除外されている。これは、ベロシティの0が特別な意味を持ってからである。すなわち、ベロシティ0のノートオンメッセージは、ノートオフメッセージと同じ機能を意味している。
【0087】
このように、1つのステータスでノートオンとノートオフを表現することができるということは、MIDIの処理も効率よく簡単にできる場合が多く、データ量も少なくなるという点で有利である。
【0088】
このように、同じ機能に複数通りの表現方法が存在するメッセージをグループ化して、それぞれに符号を割り当てることで、透かし情報を埋め込むことも可能である。
【0089】
G−2.変形例2:
上記した第4の実施例においては、MIDIデータにおけるコードの並びを換えることにより、MIDIデータの半雑音化を実現していたが、本発明は、これに限定されるものではなく、例えば、MIDIデータにおけるベロシティやデルタタイムに透かし情報を埋め込む際に、その埋め込み強度を意図的に上げることにより、半雑音化を実現するようにしても良い。
【0090】
また、このように、個々のパラメータを制御して半雑音化を実現する場合、元のMIDIデータを復元する際に、雑音成分の除去と引き換えに利用者IDを埋め込むようにしても良い。
【0091】
G−3.変形例3:
上記した第4の実施例においては、MIDIデータに対して半雑音化処理を行っていたが、本発明は、このようなMIDIデータに限定されるものではなく、音響データや楽音データや他の演奏データなど、音に関わるデジタルデータであれば、どのようなデータでに対しても、適用することができる。
【図面の簡単な説明】
【図1】本発明の第1の実施例としての電子透かし埋め込み処理の概要を示す説明図である。
【図2】トラックチャンクにおけるデータセクションの各コードを、透かし情報の埋め込み前と埋め込み後で比較して示した説明図である。
【図3】本発明の第4の実施例としての半雑音化処理の概要を示す説明図である。
【図4】抽出したコードに半雑音化処理を施した場合一例を示す説明図である。
【図5】実験に用いたMIDIデータのコード数と再生時間を示す説明図である。
【図6】実験に用いた透かし信号の情報量を示す説明図である。
【図7】ベロシティに透かし情報を埋め込んだ場合の埋め込みビットの位置とMOSの関係を示す説明図である。
【図8】デルタタイムに透かし情報を埋め込んだ場合の埋め込みビットの位置とMOSの関係を示す説明図である。
【図9】抽出するコード数nを40とした場合における各ランダム化率γ毎の評価結果を示す説明図である。
【図10】本発明の一実施例としての電子透かし装置10の構成を示すブロック図である。
【符号の説明】
10…電子透かし装置
22…CPU
24…RAM
26…ROM
30…キーボード
32…マウス
34…表示装置
36…ハードディスク装置
38…通信装置
40…バス
42…埋め込み部
44…抽出部
46…半雑音化部
48…復元部
Claims (3)
- MIDI規格に従って構成された演奏データに透かし情報を埋め込むための電子透かし埋め込み方法であって、
前記演奏データのうち、複数のコードから成る可変長数値データに対して、前記透かし情報に応じたコード数だけ間隔を開けて、特定の符号を付加する工程を備え、
前記可変長数値データは、前記演奏データにおけるデルタタイム部分のデータであり、
前記特定の符号は、前記MIDI規格における可変長数値表現において、前記デルタタイムの最上位バイトとして取り得ることのない値であることを特徴とする電子透かし埋め込み方法。 - MIDI規格に従って構成された演奏データに透かし情報を埋め込む電子透かし装置であって、
前記演奏データのうち、複数のコードから成る可変長数値データに対して、前記透かし情報に応じたコード数だけ間隔を開けて、特定の符号を付加する埋め込み部を備え、
前記可変長数値データは、前記演奏データにおけるデルタタイム部分のデータであり、
前記特定の符号は、前記MIDI規格における可変長数値表現において、前記デルタタイムの最上位バイトとして取り得ることのない値であることを特徴とする電子透かし装置。 - MIDI規格に従って構成された演奏データに透かし情報を埋め込むためのコンピュータプログラムであって、
前記演奏データのうち、複数のコードから成る可変長数値データに対して、前記透かし情報に応じたコード数だけ間隔を開けて、特定の符号を付加する機能をコンピュータに実現させると共に、
前記可変長数値データは、前記演奏データにおけるデルタタイム部分のデータであり、
前記特定の符号は、前記MIDI規格における可変長数値表現において、前記デルタタイムの最上位バイトとして取り得ることのない値であることを特徴とするコンピュータプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001338059A JP3905743B2 (ja) | 2001-11-02 | 2001-11-02 | 電子透かし埋め込み方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001338059A JP3905743B2 (ja) | 2001-11-02 | 2001-11-02 | 電子透かし埋め込み方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003140650A JP2003140650A (ja) | 2003-05-16 |
JP3905743B2 true JP3905743B2 (ja) | 2007-04-18 |
Family
ID=19152607
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001338059A Expired - Fee Related JP3905743B2 (ja) | 2001-11-02 | 2001-11-02 | 電子透かし埋め込み方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3905743B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115440234B (zh) * | 2022-11-08 | 2023-03-24 | 合肥工业大学 | 基于midi和对抗生成网络的音频隐写方法和*** |
-
2001
- 2001-11-02 JP JP2001338059A patent/JP3905743B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2003140650A (ja) | 2003-05-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA2242526C (en) | Method and device for incorporating additional information into main information through electronic watermarking technique | |
US7485795B2 (en) | Method and device for storing main information with associated additional information incorporated therein | |
JP4794047B2 (ja) | 保護されたデジタルファイル配信方法 | |
JP3178463B2 (ja) | 電子情報処理方法及びシステム並びに記録媒体 | |
JP2005084625A (ja) | 電子透かし合成方法及びプログラム | |
JP3905743B2 (ja) | 電子透かし埋め込み方法 | |
JP3178378B2 (ja) | 電子情報処理システム及び方法並びに記録媒体 | |
JP4512371B2 (ja) | コミュニケーションを個別化及び識別する方法 | |
JP2005017992A (ja) | 演奏データ送信装置及び演奏システム並びに演奏方法 | |
JP4089162B2 (ja) | 電子情報処理方法及び装置並びに記録媒体 | |
JP3180788B2 (ja) | 電子情報付与及び検出のための装置及び方法 | |
JP3658279B2 (ja) | 電子透かし作成方法 | |
JP3870700B2 (ja) | 電子情報処理方法及び装置 | |
JP4304870B2 (ja) | 電子情報処理方法及び装置並びに記録媒体 | |
JP4370725B2 (ja) | 電子情報処理方法及び装置 | |
JP3692901B2 (ja) | 透かし情報埋め込み装置、透かし情報埋め込み方法、透かし情報読み出し装置及び透かし情報読み出し方法 | |
JP3180789B2 (ja) | 電子情報処理方法及び装置 | |
JP4258565B2 (ja) | 電子情報処理方法及び装置並びに記録媒体 | |
JPH11265179A (ja) | 透かし情報埋め込み処理装置、透かし情報埋め込み方法、透かし情報読み出し処理装置及び透かし情報読み出し方法 | |
JPH11327546A (ja) | 透かし情報埋め込み処理装置及び透かし情報埋め込み方法 | |
EP1696417B1 (en) | Audio synthesis using digital sampling of coded waveforms | |
JPH11249670A (ja) | カラオケ装置及びカラオケ端末装置 | |
JP2003005747A (ja) | 電子透かし埋め込み方法 | |
GB2354860A (en) | Storing music information with associated additional information incorporated therein | |
Miyata et al. | The efficiency method of sanitizable signature scheme for SMF |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20041029 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060810 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060822 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20061020 |
|
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: 20061219 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070112 |
|
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: 20130119 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130119 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140119 Year of fee payment: 7 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |