(57)【特許請求の範囲】
【請求項１】
ＭＩＤＩ規格に従って構成された演奏データに透かし情報を埋め込むための電子透かし埋め込み方法であって、
前記演奏データのうち、複数のコードから成る可変長数値データに対して、前記透かし情報に応じたコード数だけ間隔を開けて、特定の符号を付加する工程を備え、
前記可変長数値データは、前記演奏データにおけるデルタタイム部分のデータであり、
前記特定の符号は、前記ＭＩＤＩ規格における可変長数値表現において、前記デルタタイムの最上位バイトとして取り得ることのない値であることを特徴とする電子透かし埋め込み方法。
【請求項２】
ＭＩＤＩ規格に従って構成された演奏データに透かし情報を埋め込む電子透かし装置であって、
前記演奏データのうち、複数のコードから成る可変長数値データに対して、前記透かし情報に応じたコード数だけ間隔を開けて、特定の符号を付加する埋め込み部を備え、
前記可変長数値データは、前記演奏データにおけるデルタタイム部分のデータであり、
前記特定の符号は、前記ＭＩＤＩ規格における可変長数値表現において、前記デルタタイムの最上位バイトとして取り得ることのない値であることを特徴とする電子透かし装置。
【請求項３】
ＭＩＤＩ規格に従って構成された演奏データに透かし情報を埋め込むためのコンピュータプログラムであって、
前記演奏データのうち、複数のコードから成る可変長数値データに対して、前記透かし情報に応じたコード数だけ間隔を開けて、特定の符号を付加する機能をコンピュータに実現させると共に、
前記可変長数値データは、前記演奏データにおけるデルタタイム部分のデータであり、
前記特定の符号は、前記ＭＩＤＩ規格における可変長数値表現において、前記デルタタイムの最上位バイトとして取り得ることのない値であることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ＭＩＤＩ規格に従って構成された演奏データに対し透かし情報の埋め込みを行う電子透かしの技術に関するものである。
【０００２】
【従来の技術】
インターネットなどのコンピュータネットワークの発展に伴って、情報のデジタル化が進み、多くのユーザが簡単に必要とする情報にアクセスできるようになっている。その反面、そのデジタル情報に著作権が発生しているデジタルコンテンツについて、その著者に断わりなく容易にデータが複製できるような環境になりつつあり、不正コピーにともなう著作権侵害の問題が注目されてきている。そこで、デジタルコンテンツの一種である音楽コンテンツに関しての著作権侵害を防止すること等を目的として、著作権情報などの透かし情報を音声データに埋め込む電子透かし技術が提案されている。
【０００３】
【発明が解決しようとする課題】
しかしながら、このような技術は、時系列の音声データ（音響データ）を対象としたものであり、電子楽器の演奏などに用いられる、ＭＩＤＩ（Musical Instrument Digital Interface）規格に従って構成された演奏データ、すなわち、ＭＩＤＩデータを対象とした透かし情報の埋め込みに関する提案列はあまり無い。
【０００４】
そこで、本発明の目的は、ＭＩＤＩ規格に従って構成された演奏データに対して、聴感的な音質をほとんど劣化させることなく、透かし情報を埋め込むことができる電子透かし技術を提供することにある。
【０００５】
【課題を解決するための手段およびその作用・効果】
上記した目的の少なくとも一部を達成するために、本発明の第１の電子透かし埋め込み方法は、ＭＩＤＩ規格に従って構成された演奏データに透かし情報を埋め込むための電子透かし埋め込み方法であって、
前記演奏データのうち、複数のコードから成る可変長数値データに対して、前記透かし情報に応じたコード数だけ間隔を開けて、特定の符号を付加する工程を備えることを要旨とする。
【０００６】
このように、第１の電子透かし埋め込み方法では、透かし情報に応じて、可変長数値データにおける、特定符号の付加されるコード間のコード数を制御する、いわゆるランレングス法を用いているので、透かし情報の埋め込みは、原理的に演奏音に影響することが無く、聴感的な音質をほとんど劣化させることがない。
【０００７】
本発明の第１の電子透かし埋め込み方法において、前記可変長数値データは、前記演奏データにおけるデルタタイム部分のデータであることが好ましい。
【０００８】
ＭＩＤＩ規格に従って構成された演奏データとしては、一般に、ＳＭＦ（Standard MIDI File）が知られており、このＳＭＦでは、デルタタイムに可変長数値表現が用いられるからである。
【０００９】
本発明の第２の電子透かし埋め込み方法は、ＭＩＤＩ規格に従って構成された演奏データに透かし情報を埋め込むための電子透かし埋め込み方法であって、
前記演奏データのうち、実際に利用される可能性の少ないメッセージに前記透かし情報を埋め込む工程を備えることを要旨とする。
【００１０】
このように、第２の電子透かし埋め込み方法では、実際に利用される可能性の少ないメッセージに透かし情報を埋め込んでいるので、原理的に、この埋め込みが演奏音に影響を与えることは無いため、聴感的な音質をほとんど劣化させることがない。
【００１１】
本発明の第２の電子透かし埋め込み方法において、前記メッセージは、サウンドコントローラとして定義されているメッセージであることが好ましい。
【００１２】
サウンドコントローラとして定義されているメッセージは、サウンドコントローラの機能をサポートしている演奏機器がそれほど多くは存在せず、また、効果の効き方が具体的には決められていないので、実際に利用される可能性が少ないからである。
【００１３】
本発明の第２の電子透かし埋め込み方法において、前記メッセージは、リリースタイムであることが好ましい。
【００１４】
サウンドコントローラとして機能するメッセージのうち、リリースタイムは、演奏に与える影響が極めて少ないと考えられるからである。
【００１５】
本発明の第３の電子透かし埋め込み方法は、ＭＩＤＩ規格に従って構成された演奏データに透かし情報を埋め込むための電子透かし埋め込み方法であって、
前記演奏データのうち、演奏の際、微妙なエフェクトの生じる可能性が高いパラメータに前記透かし情報を埋め込む工程を備えることを要旨とする。
【００１６】
演奏時に生じる微妙なエフェクトは、より自然な音楽を再現し、演奏に表情を付ける要素であるため、このような微妙なエフェクトの生じる可能性が高いパラメータに透かし情報を埋め込むことにより、人間の聴覚に、埋め込みによる違和感を与えないようにすることができる。従って、聴感的な音質をほとんど劣化させることなく、透かし情報の埋め込みが可能となる。
【００１７】
本発明の第３の電子透かし埋め込み方法において、前記パラメータは、ベロシティおよびデルタタイムのうち、少なくとも一方であることが好ましい。
【００１８】
ベロシティおよびデルタタイムは、楽器演奏で演奏家による微妙なエフェクトが生じやすいと考えられるパラメータだからである。
【００１９】
本発明の半雑音化方法は、音に関わるデジタルデータを、音が所望の程度劣化されるように、半雑音化するための半雑音化方法であって、
前記デジタルデータを構成する複数のコードから、ランダムに少なくとも２つのコードを特定し、前記デジタルデータ中におけるそれら少なくとも２つのコードの位置を入れ換える工程を備えることを要旨とする。
【００２０】
このように、本発明の半雑音化方法では、デジタルデータに含まれるコードの位置を入れ換えることより、音が或る程度劣化するため、そのようなデジタルデータを試聴用データとして用いることができる。また、データの大半がオリジナルのまま演奏されるため、聴者は聴取した曲の雰囲気を感じることができる。
【００２１】
なお、本発明は、上記した電子透かし埋め込み方法や半雑音化方法などの方法発明の態様に限ることなく、電子透かし装置や半雑音化装置などの装置の発明としての態様や、それら方法や装置を構築するためのコンピュータプログラムとしての態様や、そのようなコンピュータプログラムを記録した記録媒体としての態様で実現することも可能である。また、さらには、上記コンピュータプログラムを含み搬送波内に具現化されたデータ信号など、種々の態様で実現することも可能である。
【００２２】
【発明の実施の形態】
以下、本発明の実施の形態を実施例に基づいて以下の順序で説明する。
Ａ．第１の実施例：
Ｂ．第２の実施例：
Ｃ．第３の実施例：
Ｃ−１．ベロシティへの埋め込み：
Ｃ−２．デルタタイムへの埋め込み：
Ｄ．第４の実施例：
Ｅ．各実施例の具体的効果：
Ｆ．装置全体の構成：
Ｇ．変形例：
Ｇ−１．変形例１：
Ｇ−２．変形例２：
Ｇ−３．変形例３：
【００２３】
Ａ．第１の実施例：
ＭＩＤＩ（Musical Instrument Digital Interface）は、電子楽器の演奏情報をやり取りするための世界共通のデジタルインタフェイスの規格である。このようなＭＩＤＩ規格に従って構成された演奏データ、すなわち、ＭＩＤＩデータとしては、一般に、ＳＭＦ（Standard MIDI File）が知られている。
【００２４】
ＳＭＦは、ＭＩＤＩによる演奏データを記録する際の標準ファイルフォーマットで、機能が異なるシーケンサ／シーケンスソフトの間で演奏データをやり取りする際に利用される。ＳＭＦでは、ファイルサイズが冗長に増えることを抑えるために、イベントに付加される時間情報に、可変長数値表現を用いている。このような可変長数値表現を用いた時間情報としてはデルタタイムが挙げられる。デルタタイムとは、イベントの生起する時間差を記述するパラメータである。
【００２５】
ＳＭＦは、「チャンク」と呼ばれる可変長サイズのデータブロックが、複数連なった構造を成している。チャンクには、ヘッダチャンクとトラックチャンクの２種類があり、このうち、トラックチャンクにおけるデータセクションには、実際の演奏内容データが格納されている。この演奏内容データは、上記した「デルタタイム」と「イベント」の組み合わせを１つの単位（コード）として、これが延々と連なった構造を成している。なお、上記したイベントには、チャネルメッセージを格納するＭＩＤＩイベントの他、システムエクスクルーシブイベントやメタイベントなどがある。
【００２６】
本実施例では、ＭＩＤＩデータにおけるデルタタイムの可変長数値データのバイト列の長さに着目して、透かし情報を埋め込むようにしている。なお、全て可変長数値データに対して透かし情報の埋め込み操作をすると、全体の符号量に大きく影響すると考えられるので、特定符号の付加されるコード間のコード数を制御するランレングス方法を用いる。
【００２７】
ここで、まず、ＭＩＤＩ規格における可変長数値表現について説明する。可変数値表現では、データは１バイトを単位とし、必要な数だけ連ねて用いる。但し、最大４バイトまでとする。また、バイトの最上位ビット（ステータスビット）が'1'である場合には、後続のバイトがあることを意味する。具体的には、例えば、１６進数（０〜９，Ａ〜Ｆ）の４ＡＤ５を２進数で表現すると、0100 1010 1101 0101となる。これをＭＩＤＩ規格における可変長数値で表現するには、まず、0100 1010 1101 0101を７ビット毎に、0000001と0010101と1010101に分割する。次に、最下位の７ビット1010101の最上位に'0'を付けて、01010101とする。一方、上位２つの７ビット0000001および0010101の各々の最上位に'1'を付けて、10000001と10010101する。そして、こうして得られたバイト単位のデータを連結することで、可変長数値データである10000001 10010101 01010101を生成する。これを１６進数で表現すると、３バイトの可変長数値データ８１９５５５となる。
【００２８】
以上のようにして、１６進数で表現した場合において、表現したい元の数値が００〜７Ｆである場合には、可変数値表現では、１バイトで表現され、００〜７Ｆとなり、表現したい元の数値が８０〜３ＦＦＦである場合には、可変数値表現では、２バイトで表現され、８１００〜ＦＦ７Ｆとなり、表現したい元の数値が４０００〜１ＦＦＦＦＦである場合には、可変数値表現では、３バイトで表現され、８１８０００〜ＦＦＦＦ７Ｆとなり、表現したい元の数値が２０００００〜０ＦＦＦＦＦＦＦである場合には、可変数値表現では、４バイトで表現され、８１８０８０００〜ＦＦＦＦＦＦ７Ｆとなる。
【００２９】
従って、このような可変長数値表現では、１〜４バイトのいずれのバイトで表現されたとしても、その最上位バイトが８０になることはない。そこで、本実施例では、上記した特定符号として、この８０を用いるようにしている。
【００３０】
図１は本発明の第１の実施例としての電子透かし埋め込み処理の概要を示す説明図である。
【００３１】
ＭＩＤＩデータであるＳＭＦのうち、トラックチャンクにおけるデータセクションは、図１に示すように、デルタタイム（斜線部）とイベントの組み合わせから成るコードが複数連なっている。このうち、各コードのデルタタイムは、上述したように、可変長数値表現で表されており、１バイト〜４バイトの長さを持っている。
【００３２】
図２は上記データセクションの各コードを、透かし情報の埋め込み前と埋め込み後で比較して示した説明図である。図２において、左から、１欄目はコードナンバを示しており、Ｎｏ．０が基点コードである。２欄目は透かし情報埋め込み前の各コードを示しており、３欄目は透かし情報埋め込み後の各コードを示している。なお、各コードの値は、１６進数で表現されている。
【００３３】
本実施例では、まず、基点コード（Ｎｏ．０）のデルタタイムを検出し、そのデルタタイムの最上位に特定符号である８０を付加する。この場合、基点コード（Ｎｏ．０）のデルタタイムは、図２に示すように、１バイトで表現された４Ｅであり、従って、４Ｅの上位に特定符号である８０を付加する。この結果、基点コード（Ｎｏ．０）のデルタタイムは、８０４Ｅとなる。一方、透かし情報である透かし信号から得られた値ｓが１２であったとする。そこで、次に、上記基点コードの次のコードからコード数をカウントし、１２番目のコードのデルタタイムを検出する。そして、同様に、そのデルタタイムの最上位に特定符号である８０を付加する。この場合、１２番目のコード（Ｎｏ．１２）のデルタタイムは、図２に示すように、１バイトで表現された７８であり、従って、７８の上位に特定符号である８０を付加する。この結果、１２番目のコード（Ｎｏ．１２）のデルタタイムは、８０７８となる。こうして、特定符号を付加してデルタタイムのバイト長を操作することにより、図２に示すように、埋め込み済みＭＩＤＩデータが得られる。
【００３４】
以下、透かし信号から順次得られるｓに応じて、同様の手順を繰り返すことより、ＭＩＤＩデータに対し透かし情報の埋め込みを行うことができる。但し、特定符号を付加する前（すなわち、透かし情報埋め込み前）のデルタタイムが、最大バイト数である４バイトで表現されている場合には、これに特定符号である８０を付加すると、そのデルタタイムは５バイトとなり、問題であるため、特定符号を付加する前のデルタタイムが４バイトである場合は、それを棄却して、特定符号を付加する対象（すなわち、透かし情報の埋め込み対象）とはしないようにする。
【００３５】
以上のような、透かし情報の埋め込み方法を用いることにより、埋め込み操作の頻度を少なくすることができる。
【００３６】
一方、こうして、ＭＩＤＩデータに埋め込まれた透かし情報は、次のようにして抽出する。すなわち、上記データセクションの各コードのデルタタイムを検出し、その最上位のバイトが８０であるか否かを判定し、最上位が８０であるデルタタイムを検出したら、その次に同様、最上位が８０であるデルタタイムを検出するまでのコード数をカウントし、その結果から、透かし情報を抽出するようにする。
【００３７】
以上のように、本実施例では、透かし情報に応じて、可変長数値データにおける、特定符号の付加されるコード間のコード数を制御するランレングス法を用いているので、透かし情報の埋め込みは、原理的に演奏音に影響することが無く、聴感的な音質をほとんど劣化させることがない。
【００３８】
Ｂ．第２の実施例：
ところで、ＭＩＤＩデータを構成するＭＩＤＩメッセージは、上述したチャネルメッセージと、システムメッセージに分類され、さらに、チャネルメッセージは、ボイスメッセージと、モードメッセージに分類される。このうち、ボイスメッセージには、演奏の基本となる音を出す（ノートオン）、音を止める（ノートオフ）を始め、アフタータッチ情報であるポリフォニックキープレッシャとチャネルプレッシャや、モジュレーションホイールやペダル、ボリュームなどのエフェクト情報を送るコントロールチェンジや、シンセサイザには欠かせないベンド情報を送るピッチベンドチェンジや、音色を切り換えるプログラムチェンジが定義されている。
【００３９】
これらボイスメッセージのうち、コントロールチェンジメッセージは、各コントローラの種別を表すコントロールナンバを有しており、このうち、コントロールナンバの７０〜７９は、汎用的なサウンドコントローラとして定義されている。より互換性を高めるために、これらのナンバには、デフォルトの機能が設定されている。具体的には、７０はサウンドバリエーション、７１はティンバ／ハーモニックインテンシティ、７２はリリースタイム、７３はアタックタイム、７４はブライトネス、７５はディケイタイム、７６はビブラートレイト、７７はビブラートデプス、７８はビブラートディレイ、７９は未定義となっている。
【００４０】
しかしながら、このようなコントロールチェンジメッセージによるサウンドコントローラの機能はあまり利用されていない。何故なら、このようなサウンドコントローラの機能をサポートしている演奏機器（シンセサイザなど）が、現在において、それほど多くは存在せず、また、デフォルト機能の名称は決まっているものの、効果の効き方が具体的にはきめられていないため、これらの機能をサポートした機器同士でも、同じ効果が得られるとは限らないからである。
【００４１】
そこで、本実施例では、ＭＩＤＩメッセージのうち、このような現在ではあまり利用されてないメッセージに着目して、透かし情報の埋め込みを行うこととする。具体的には、サウンドコントローラとして機能するメッセージのうち、演奏に与える影響が極めて少ないと考えられる、コントロールナンバ７２のリリースタイムを埋め込み対象とする。すなわち、本実施例では、ＭＩＤＩデータにおけるリリースタイムの下位ビットを、透かし情報である透かし信号列で順次置換することにより、リリースタイムに透かし情報を埋め込む。
【００４２】
この方法によれば、ＭＩＤＩデータに含まれるリリースタイムの数に比例して、大量の透かし情報を埋め込むことができる。
【００４３】
以上説明したように、本実施例によれば、実際に利用される可能性の少ないメッセージに透かし情報を埋め込んでいるので、原理的に、この埋め込みが演奏音に影響を与えることは無いため、聴感的な音質をほとんど劣化させることがない。
【００４４】
Ｃ．第３の実施例：
プロの演奏家が楽器を演奏する際、そこから生じる演奏音の発音タイミングや音量は完全には定まることはない。むしろ、これらの演奏時に生じる微妙なエフェクトは、より自然な音楽を再現し、演奏に表情を付ける要素として注目されている。
【００４５】
一方、ＭＩＤＩデータを用いて電子楽器を制御すると、常に一定の演奏が再現されるため、聴者にとっては機械的な印象を与えやすい。そのため、電子楽器の演奏をより自然なものに近づける試みも、現在において数多くなされている。
【００４６】
そこで、本実施例では、実際の演奏で生じる音の変動に着目して、人間の聴覚に違和感を与えないように、ＭＩＤＩデータにおけるパラメータを制御して、透かし情報を埋め込むこととする。本実施例では、特に、楽器演奏で演奏家による微妙なエフェクトが生じやすいと考えられるパラメータであるベロシティとデルタタイムに着目した。
【００４７】
Ｃ−１．ベロシティへの埋め込み：
ベロシティは、上述したとおり、音（すなわち、演奏音）の強さを制御するためのパラメータであり、実際の人間による演奏では、その曲が持つイメージを演奏家が表現する他の大きな要素の１つである。従って、音の強さが常に一定で、フラットな状態であるよりは、音の変動や雑音が存在した方が、演奏の質感を高められると考えられる。
【００４８】
そこで、本実施例における第１の具体例では、音の強弱を制御するためのパラメータであるベロシティの下位ビットを、透かし情報である透かし信号で順次置換することにより、ベロシティに透かし情報を埋め込む。
【００４９】
Ｃ−２．デルタタイムへの埋め込み：
上述したとおり、デルタタイムとは、イベントの生起する時間差を記述するパラメータである。実際の人間による演奏では、演奏音が必ずしも同じタイミングで生起していなくても、人間の知覚の曖昧さによって、違和感を与えることが少ないため、デルタタイムに多少ずれがあっても問題はない。
【００５０】
そこで、本実施例における第２の具体例では、イベントの生起する時間差を表すパラメータであるデルタタイムの下位ビットを、透かし情報である透かし信号で順次置換することにより、デルタタイムに透かし情報を埋め込む。但し、デルタタイムの場合、透かし情報の埋め込みによる影響が時間を追う毎に蓄積しやすいため、デルタタイムの延伸時間と短縮時間がコード間で相殺される用に、透かし情報を埋め込む必要がある。
【００５１】
以上説明したとおり、本実施例では、微妙なエフェクトの生じる可能性が高いパラメータに透かし情報を埋め込むことにより、人間の聴覚に、埋め込みによる違和感を与えないようにすることができるため、聴感的な音質をほとんど劣化させることなく、透かし情報の埋め込みが可能となる。
【００５２】
Ｄ．第４の実施例：
一般的な暗号技術を用いて、ＭＩＤＩデータそのものを暗号化して、暗号データとして第三者に提供することは容易である。しかし、或る程度音楽として楽しむことのできるＭＩＤＩデータを試聴用データとして第三者に配布することができれば、新たな顧客を得るための市場開拓に役立つものと考えられる。
【００５３】
そこで、本実施例では、透かし情報の埋め込まれたＭＩＤＩデータに、演奏音が或る程度劣化するような処理（半雑音化処理）を施して、試聴用データとして配布できるようにしている。具体例には、透かし情報の埋め込まれた帯域とは完全に独立した帯域であるコードの短期的な並びに着目し、それらをランダムに入れ換えることにより、ＭＩＤＩデータの半雑音化を実現する。
【００５４】
図３は本発明の第４の実施例としての半雑音化処理の概要を示す説明図である。
【００５５】
図３に示すように、まず、ＭＩＤＩデータの中から、ｎ個のコードを抽出する。一方、重複しない１〜ｎの２つの乱数をそれぞれペアとした、計ｐ組の乱数列を順次生成する。
【００５６】
そして、生成した１組目の乱数のペア［ｒ１，ｒ２］に基づいて、先に抽出したｎ個のコードのうち、ｒ１番目のコードと、ｒ２番目のコードと、を入れ換える。続いて生成した２番目の乱数ペア［ｒ３，ｒ４］に基づいて、ｎ個のコードのうち、ｒ３番目のコードと、ｒ４番目のコードと、を入れ換える。以下同様の処理を繰り返して、コードの位置をランダムに入れ換える。
【００５７】
こうして、合計ｐ回、上記処理を繰り返したら、その並びの換わったｎ個のコードを元のＭＩＤＩデータの該当部分に挿入する。こうすることにより、半雑音化されたＭＩＤＩデータが得られる。なお、このとき用いる乱数列は、元の状態に戻すための復元鍵となる。
【００５８】
図４は抽出したコードに上記した半雑音化処理を施した場合一例を示す説明図である。この例では、ｎ＝１５，ｐ＝２となっており、乱数列としては、［１，１３］，［８，１５］が用いられている。従って、図４に示すように、抽出した１５個のコードのうち、１番目に生成された乱数ペア［１，１３］に基づいて、１番目のコードと１３番目のコードが入れ換えられ、続いて、２番目に生成された乱数ペア［８，１５］に基づいて、８番目のコードと１５番目のコードが入れ換えられて、半雑音化されたデータが生成されることになる。
【００５９】
なお、ＭＩＤＩデータにおける一定区間のランダム化率、すなわち、ｎ個のコードのうち、位置の換わったコードの割合γは、γ＝（２ｐ）／ｎとして表される。本実施例では、このランダム化率γを調節することで、半雑音化の程度を制御することができる。
【００６０】
一方、こうして、半雑音化されたＭＩＤＩデータを元のデータに復元するには、まず、復元鍵である乱数列を用意し、その乱数列に基づいて、半雑音化したときとは逆のコードの入れ換えを行って、元の並びに戻すようにすれば良い。
【００６１】
本実施例によれば、ＭＩＤＩデータの大半がオリジナルのまま演奏されるため、聴者は聴取した曲の雰囲気を感じることができる。
【００６２】
本実施例においては、ＭＩＤＩデータにおいて、半雑音化で用いるランダム制御の帯域と透かし情報を埋め込む帯域とは独立している。従って、半雑音化したＭＩＤＩデータを元のデータに復元した場合でも、ＭＩＤＩデータに埋め込まれている透かし情報は、影響を受けることなく残存している。
【００６３】
従って、例えば、透かし情報として著作権情報を埋め込んだＭＩＤＩデータを、ネットワーク上に公開する際に、そのＭＩＤＩデータに半雑音化処理を施しても問題はない。このように、透かし情報の埋め込み処理の技術と半雑音化処理の技術を適切に組み合わせることにより、ＭＩＤＩデータを購入前に試聴することが可能なＭＩＤＩデータ配信システムを構築することができる。
【００６４】
このシステムによれば、利用者は、ＭＩＤＩデータを購入する際、その曲がどのような曲であるかをある程度知ることができる。一方、データ配信者は、利用者に対して、商品価値の高いＭＩＤＩデータを気軽に試聴できる機会を与えることで、利用者の購買意欲を高揚させることができる。
【００６５】
Ｅ．各実施例の具体的効果：
各実施例の具体的効果を確かめるために、本発明者らは、以下のような実験を試みた。
【００６６】
本実験においては、図５に示した４種類のＭＩＤＩデータを用いた。これらのデータは、インターネット上に公開されていたＭＩＤＩファイルの中から、異なった特徴を持つ曲を選び、約１０秒ずつ抽出したものである。
【００６７】
また、音質の評価方法としては、評価者の絶対判断によるオピニオン評価を用いた。これは、複数人の評価者に、音質を５段階評価させ、得られた評価値から平均オピニオン値（ＭＯＳ：Mean Opinion Score）を求めるものである。各評価値の基準は、元のデータによる演奏と判別することができない状態を５とし、演奏音の劣化が激しい状態を１とする主観絶対値とした。本実験では、評価者の先入観による影響を避けるために、透かし情報の埋め込まれたＭＩＤＩデータと埋め込まれていない元のＭＩＤＩデータとを区別できない状態でランダムに、評価者に評価させたので、評価者が、透かし情報の埋め込みによる聴感的な音質の劣化を感じたならば、上記したＭＯＳに大差が生じるはずである。
【００６８】
本実験では、まず、第１〜第３の実施例の方法に対する実験として、ＭＩＤＩデータに、各実施例の方法を用いて透かし情報の埋め込みを行った場合に、演奏機器に、コードが認識できないなどの問題が生じないかどうか確かめた。この実験には、図５に示したＭＩＤＩデータに、透かし情報として、図６に示した情報量を持つ透かし信号を埋め込んだデータを用いた。また、演奏機器としては、最も標準的なものとして一般に普及しているRoland社製のSound Canvas SC-55mkIIを用いた。
【００６９】
これら透かし情報の埋め込まれたデータを上記した演奏機器で個別に演奏した結果、各実施例の方法による透かし情報の埋め込みは、いずれも、演奏機器の動作に異常を与えないことがわかった。
【００７０】
第１の実施例及び第２の実施例による透かし情報の埋め込みは、いずれも、原理的に演奏音に影響を与えない。
【００７１】
そこで、本実験では、次に、演奏に直接影響すると考えられる第３の実施例の方法に対する実験として、この実施例の方法によって透かし情報を埋め込んだ場合における、音質への影響をさらに調べた。具体的には、ベロシティまたはデルタタイムに透かし情報を埋め込む際、その埋め込みの範囲を、最下位ビットから最上位ビットまで変えながら実験を行った。
【００７２】
図７はベロシティに透かし情報を埋め込んだ場合の埋め込みビットの位置とＭＯＳの関係を示す説明図であり、図８はデルタタイムに透かし情報を埋め込んだ場合の埋め込みビットの位置とＭＯＳの関係を示す説明図である。図７からは、ベロシティに透かし情報を埋め込む方法では、埋め込み範囲が下位４〜５ビットまでならば、音質の劣化をほとんど感じさせないことがわかる。図８からは、デルタタイムに透かし情報を埋め込む方法では、埋め込み範囲が下位３〜４ビットまでならば、ほとんど違和感を感じさせないことがわかる。この実験では、議論を簡単にするために、デルタタイムの延伸と短縮は同じ幅に固定して、交互に制御するようにした。
【００７３】
また、この実験の結果、透かし情報の埋め込みによる影響は、一般に、透かし情報の埋め込まれるビットが下位ビットであるほど少ないと言えるが、その聴感的な影響度は、埋め込まれるＭＩＤＩデータの種類によって異なることがわかった。従って、透かし情報の埋め込み方法は、埋め込みの対象となる音楽コンテンツに応じて適切に定めることが好ましい。また、高い秘匿性が必要な場合には、透かし情報を埋め込むビットの位置をランダムにするか、または、埋め込まれる透かし信号を暗号化するなどして、セキュリティ対策を図る必要がある。
【００７４】
本実験では、続いて、第４の実施例の方法に対する実験として、一定のコード区間（すなわち、抽出するコード数ｎを固定）でランダム化率γを変化させ、それぞれの演奏音から元の曲の雰囲気を評価者が感じ取ることができるか評価させた。
【００７５】
図９は抽出するコード数ｎを４０とした場合における各ランダム化率γ毎の評価結果を示す説明図である。ここでの評価は、ＭＯＳと同様に、元のＭＩＤＩデータによる演奏と、異なるランダム化率γで半雑音化したＭＩＤＩデータによる演奏とを、評価者に、不特定の順番でわからないように聴取させて、行われた。なお、ランダム化率γ＝０の場合の評価値は、元のＭＩＤＩデータを演奏した場合の評価値を示している。
【００７６】
この実験の結果から、抽出するコード数（すなわち、半雑音化の対象となるコード区間の長さ）ｎが４０の場合は、ランダム化率γが０．１〜０．２程度が適切であることがわかる。但し、半雑音化されるＭＩＤＩデータの種類によって、ランダム化率γと評価値との対応が異なるため、実用化の際には、対象となる音楽コンテンツ毎に適切なパラメータ（ｎ，γ）を設定する必要がある。
【００７７】
また、透かし情報の埋め込まれたＭＩＤＩデータを半雑音化した上で、演奏しても、同様の結果が得られた。さらに、その半雑音化したデータを元のデータに復元して、演奏しても、異常は見られず、埋め込まれた透かし情報も、正常に抽出することができた。但し、このような方法を採る場合、透かし情報の埋め込み強度を高く設定しすぎると、曲そのものが違う演奏になってしまう可能性がある。それに対する対策としては、副旋律のみ制御する方法や、音符の間引きなどによる帯域制限などが考えられる。
【００７８】
Ｆ．装置全体の構成：
上述した電子透かし埋め込み処理及び半雑音化処理を実行する電子透かし装置１０の構成について図１０を用いて説明する。図１０は本発明の一実施例としての電子透かし装置１０の構成を示すブロック図である。この電子透かし装置１０は、ＣＰＵ２２と、ＲＡＭ２４と、ＲＯＭ２６と、キーボード３０と、マウス３２と、ＣＲＴなどから成る表示装置３４と、ハードディスク装置３６と、ネットワークカードやモデムなどから成る通信装置３８と、これらの各要素を接続するバス４０と、を備えるコンピュータである。なお、図１０では各種のインターフェイス回路は省略されている。通信装置３８は、図示しない通信回線を介してコンピュータネットワークに接続されている。コンピュータネットワークの図示しないサーバは、通信回線を介してコンピュータプログラムを電子透かし装置１０に供給するプログラム供給装置としての機能を有する。
【００７９】
ＲＡＭ２４には、埋め込み部４２と、抽出部４４と、半雑音化部４６と、復元部４８の、各機能を実現するためのコンピュータプログラムが格納されている。このうち、埋め込み部４２は、ＭＩＤＩデータに対して透かし情報を第１〜第３の実施例で述べた何れかの方法を用いて埋め込む。また、抽出部４４は、透かし情報の埋め込まれたＭＩＤＩデータから透かし情報を抽出する。また、半雑音化部４６は、ＭＩＤＩデータに対し、第４の実施例で述べたような半雑音化処理を施して、半雑音化したＭＩＤＩデータを得る。復元部４８は、半雑音化したＭＩＤＩデータを元のＭＩＤＩデータに復元する。
【００８０】
このような各部４２，４４，４６，４８の機能を実現するコンピュータプログラムは、フレキシブルディスクやＣＤ−ＲＯＭ等の、コンピュータ読み取り可能な記録媒体に記録された形態で提供される。コンピュータは、その記録媒体からコンピュータプログラムを読み取って内部記憶装置または外部記憶装置に転送する。あるいは、通信経路を介してコンピュータにコンピュータプログラムを供給するようにしてもよい。コンピュータプログラムの機能を実現する時には、内部記憶装置に格納されたコンピュータプログラムがコンピュータのマイクロプロセッサによって実行される。また、記録媒体に記録されたコンピュータプログラムをコンピュータが読み取って直接実行するようにしてもよい。
【００８１】
この明細書において、コンピュータとは、ハードウェア装置とオペレーションシステムとを含む概念であり、オペレーションシステムの制御の下で動作するハードウェア装置を意味している。また、オペレーションシステムが不要でアプリケーションプログラム単独またはファームウェア単独でハードウェア装置を動作させるような場合には、そのハードウェア装置自体がコンピュータに相当する。ハードウェア装置は、ＣＰＵ等のマイクロプロセッサと、記録媒体に記録されたコンピュータプログラムを読み取るための手段とを少なくとも備えている。例えば、ＣＤ−ＲＡＭドライブやＤＶＤ−ＲＡＭドライブなどの電子機器に、ＣＰＵやＲＯＭなどが組み込まれていて、これら電子機器がコンピュータとしての機能を有する場合も、これら電子機器はコンピュータの概念に当然に含まれる。コンピュータプログラムは、このようなコンピュータに、上述の各手段の機能を実現させるプログラムコードを含んでいる。なお、上述の機能の一部は、アプリケーションプログラムでなく、オペレーションシステムによって実現されていても良い。更に、電子透かし埋め込み処理や半雑音化処理を行うプログラムは、ＭＩＤＩデータを生成したり、編集したりするプログラムに対して、プラグインの形式で付加されるものとしてもよい。また、上記した乱数列などを生成する疑似乱数発生器なども、ハードウェアで構成するようにしても良いし、ソフトウェアによって構成するようにしても良い。
【００８２】
なお、この発明における「記録媒体」としては、フレキシブルディスクやＣＤ−ＲＯＭ、光磁気ディスク、ＩＣカード、ＲＯＭカートリッジ、パンチカード、バーコードなどの符号が印刷された印刷物、コンピュータの内部記憶装置（ＲＡＭやＲＯＭなどのメモリ）および外部記憶装置等の、コンピュータが読取り可能な種々の媒体を利用することができる。
【００８３】
Ｇ．変形例：
なお、本発明は上記した実施例や実施形態に限られるものではなく、その要旨を逸脱しない範囲において種々の態様にて実施することが可能である。
【００８４】
Ｇ−１．変形例１：
上記した第２の実施例では、ＭＩＤＩメッセージのうち、現在あまり利用されていないメッセージに着目して、透かし情報の埋め込みを行うようにしていたが、機能的に同じ内容を意味するメッセージに着目して、透かし情報の埋め込みを行うようにしても良い。
【００８５】
具体的には、上記したボイスメッセージのうち、ノートオンメッセージには、音の高さを制御するためのパラメータとしてノートナンバが、音の強さを制御するためのパラメータとして、ベロシティ（Velocity）が、それぞれ含まれている。
【００８６】
このうち、ノートオンのベロシティの範囲は１〜１２７に定められており、０が除外されている。これは、ベロシティの０が特別な意味を持ってからである。すなわち、ベロシティ０のノートオンメッセージは、ノートオフメッセージと同じ機能を意味している。
【００８７】
このように、１つのステータスでノートオンとノートオフを表現することができるということは、ＭＩＤＩの処理も効率よく簡単にできる場合が多く、データ量も少なくなるという点で有利である。
【００８８】
このように、同じ機能に複数通りの表現方法が存在するメッセージをグループ化して、それぞれに符号を割り当てることで、透かし情報を埋め込むことも可能である。
【００８９】
Ｇ−２．変形例２：
上記した第４の実施例においては、ＭＩＤＩデータにおけるコードの並びを換えることにより、ＭＩＤＩデータの半雑音化を実現していたが、本発明は、これに限定されるものではなく、例えば、ＭＩＤＩデータにおけるベロシティやデルタタイムに透かし情報を埋め込む際に、その埋め込み強度を意図的に上げることにより、半雑音化を実現するようにしても良い。
【００９０】
また、このように、個々のパラメータを制御して半雑音化を実現する場合、元のＭＩＤＩデータを復元する際に、雑音成分の除去と引き換えに利用者ＩＤを埋め込むようにしても良い。
【００９１】
Ｇ−３．変形例３：
上記した第４の実施例においては、ＭＩＤＩデータに対して半雑音化処理を行っていたが、本発明は、このようなＭＩＤＩデータに限定されるものではなく、音響データや楽音データや他の演奏データなど、音に関わるデジタルデータであれば、どのようなデータでに対しても、適用することができる。
【図面の簡単な説明】
【図１】本発明の第１の実施例としての電子透かし埋め込み処理の概要を示す説明図である。
【図２】トラックチャンクにおけるデータセクションの各コードを、透かし情報の埋め込み前と埋め込み後で比較して示した説明図である。
【図３】本発明の第４の実施例としての半雑音化処理の概要を示す説明図である。
【図４】抽出したコードに半雑音化処理を施した場合一例を示す説明図である。
【図５】実験に用いたＭＩＤＩデータのコード数と再生時間を示す説明図である。
【図６】実験に用いた透かし信号の情報量を示す説明図である。
【図７】ベロシティに透かし情報を埋め込んだ場合の埋め込みビットの位置とＭＯＳの関係を示す説明図である。
【図８】デルタタイムに透かし情報を埋め込んだ場合の埋め込みビットの位置とＭＯＳの関係を示す説明図である。
【図９】抽出するコード数ｎを４０とした場合における各ランダム化率γ毎の評価結果を示す説明図である。
【図１０】本発明の一実施例としての電子透かし装置１０の構成を示すブロック図である。
【符号の説明】
１０…電子透かし装置
２２…ＣＰＵ
２４…ＲＡＭ
２６…ＲＯＭ
３０…キーボード
３２…マウス
３４…表示装置
３６…ハードディスク装置
３８…通信装置
４０…バス
４２…埋め込み部
４４…抽出部
４６…半雑音化部
４８…復元部
【図１】
0003905743.tif 000002
【図２】
0003905743.tif 000003
【図３】
0003905743.tif 000004
【図４】
0003905743.tif 000005
【図５】
0003905743.tif 000006
【図６】
0003905743.tif 000007
【図７】
0003905743.tif 000008
【図８】
0003905743.tif 000009
【図９】
0003905743.tif 000010
【図１０】
0003905743.tif 000011