| 【技術分類】 |
| 1−D−2(2) 電子透かし埋め込み技術/ドキュメント類/ソフトウェア/オブジェクトコード |
|
| 【技術の名称】 |
| JAVAクラスファイルに対する電子透かし法 |
|
| 【技術内容】 |
| JAVAの実行プログラムは、クラスファイルという再利用性の高いプログラム部品に容易に分解できる。しかも、クラスビューワやクラスエディタを用いることで、クラスの継承関係、メソッド名、型、引数などを知ることができる。また、逆コンパイラを用いることによりクラスファイルからソースコードを復元することもできる。あらゆるプラットフォームで動作するというJAVAの特性から、盗用を防止することは困難である。 |
| そこで、JAVAプログラムの中に電子透かしを埋め込むという方法によってこうした事態を回避する考え方を紹介する。図1は電子透かしを挿入する手順である。 |
| (手順1)ダミーメソッドの挿入 |
| (手順2)コンパイル |
| (手順3)電子透かしの挿入 |
| クラスファイルのダミーメソッドの先頭から、電子透かしとなる文字列の書き込みを行う。文法の正しさと整合性を保つ必要がある。bipush, sipush, iinc, wide iincは、その数値オペランドの値を書き換えても影響はでない。(図2)また、オペコードの中にも同種のものがある。(図3) |
| 図4は、文字列をバイトコードに挿入した例を示す。 |
| 電子透かしを取り出す方法は、各メソッドの先頭から透かし挿入箇所を検索し、書き込まれているビット列を順に取り出し、文字列に再構成することで透かしを取り出すことができる。図5の例では、method4が(c)AKITO MONDEN 1999が取り出されている。 |
| このような方法を用いることでJAVAプログラムに透かしを入れることが可能になる。 |
|
| 【図】 |
| 図 電子透かし挿入手順 |
 |
| 出典:JAVAクラスファイルに対する電子透かし法、「情報処理学会論文誌 第41巻 第11号」、(2000年11月)、門田暁人、松本健一、飯田元、井上克郎、鳥居宏次著、(社)情報処理学会発行、3003頁 図1 電子透かし挿入手順 |
|
| 図 数値オペランドの書き換え箇所例 |
 |
| 出典:JAVAクラスファイルに対する電子透かし法、「情報処理学会論文誌 第41巻 第11号」、(2000年11月)、門田暁人、松本健一、飯田元、井上克郎、鳥居宏次著、(社)情報処理学会発行、3004頁 図2 数値オペランドの書き換え箇所例 |
|
| 図 オペコードの置き換え箇所の例 |
 |
| 出典:JAVAクラスファイルに対する電子透かし法、「情報処理学会論文誌 第41巻 第11号」、(2000年11月)、門田暁人、松本健一、飯田元、井上克郎、鳥居宏次著、(社)情報処理学会発行、3004頁 図4 オペコードの置き換え箇所の例 |
|
| 図 電子透かしの挿入例 |
 |
| 出典:JAVAクラスファイルに対する電子透かし法、「情報処理学会論文誌 第41巻 第11号」、(2000年11月)、門田暁人、松本健一、飯田元、井上克郎、鳥居宏次著、(社)情報処理学会発行、3005頁 図56 電子透かしの挿入例 |
|
| 図 電子透かし取り出しの例 |
 |
| 出典:JAVAクラスファイルに対する電子透かし法、「情報処理学会論文誌 第41巻 第11号」、(2000年11月)、門田暁人、松本健一、飯田元、井上克郎、鳥居宏次著、(社)情報処理学会発行、3005頁 図6 電子透かし取り出しの例 |
|
| 【出典/参考資料】 |
| JAVAクラスファイルに対する電子透かし法、(2000年11月)、門田暁人、松本健一、飯田元、井上克郎、鳥居宏次著、(社)情報処理学会発行、3001頁〜3009頁 |
|
|
|
| 【技術分類】 |
| 1−D−2(2) 電子透かし埋め込み技術/ドキュメント類/ソフトウェア/オブジェクトコード |
|
| 【技術の名称】 |
| 音源符号のデータ構造を利用した電子透かし埋め込み方法 |
|
| 【技術内容】 |
| 電子楽器の演奏に用いられるMIDI(Musical Instrument Digital Interface)形式ファイルへの電子透かし埋め込み方法を提案する。MIDIファイルはヘッダチャンクとトラックチャンクから構成される。トラックチャンクは実際の演奏データが記録されるところで、ヘッダチャンクで示されたトラック数だけ存在する。演奏データはイベントと呼ばれるデータブロックが連続して記述される。イベントには、直前のイベントからの経過時間を示すデルタタイムが可変長表記で記述される。これは、最下位バイトの最上位ビットを0とし、それ以外の上位バイトの最上位ビットを1とすることで表現される。 |
| プレフィクス埋め込み法を説明する。これは、MIDIデータから選んだあるデルタタイムが、1バイトであったとき、これを拡張して2バイトで表現することで行われる。例えば、4E(16進)は、804Eとなる。この最上位データバイト80の有無で透かしビット列を表現する。MIDIファイルのデルタタイムは可変長表記で記述されるため、80という0の意味を持つデータを追加しても、ファイルサイズは大きくなるが、実質的なデータの内容は変更されない。 |
| ランレングス埋め込み法を説明する。これは、埋め込むデータ値に応じて、基点コードから計数して、データ値個数後のイベントデータのデルタタイムの最上位バイトに80を付け加えることで行われる。例えば、埋め込むデータが11の場合、基点コードのデルタタイムに80を追加し、11個先のイベントのデルタタイムに80を追加する。透かしビットの抽出は、デルタタイムの最上位に80が埋め込まれている間のイベントの個数を調べればよい。 |
|
| 【図】 |
| 図 SMFデータセクション構造 |
 |
| 出典:「電子演奏の半雑音化と音源符号への電子透かし」、「情報処理学会論文誌 第43巻 第2号」、(2002年2月15日)、岩切宗利、山本紘太郎、関根健一郎、松井甲子雄著、(社)情報処理学会発行、226頁 図1 SMFデータセクション構造 |
|
| 図 可変長バイトコード |
 |
| 出典:「電子演奏の半雑音化と音源符号への電子透かし」、「情報処理学会論文誌 第43巻 第2号」、(2002年2月15日)、岩切宗利、山本紘太郎、関根健一郎、松井甲子雄著、(社)情報処理学会発行、226頁 表1 可変長バイトコード |
|
| 図 ランレングス埋め込み法 |
 |
| 出典:「電子演奏の半雑音化と音源符号への電子透かし」、「情報処理学会論文誌 第43巻 第2号」、(2002年2月15日)、岩切宗利、山本紘太郎、関根健一郎、松井甲子雄著、(社)情報処理学会発行、227頁 図2 ランレングス埋め込み法 |
|
| 【出典/参考資料】 |
| 「電子演奏の半雑音化と音源符号への電子透かし」、(2002年2月15日)、岩切宗利、山本紘太郎、関根健一郎、松井甲子雄著、(社)情報処理学会発行、225頁〜233頁 |
|
|
|
| 【技術分類】 |
| 1−D−2(2) 電子透かし埋め込み技術/ドキュメント類/ソフトウェア/オブジェクトコード |
|
| 【技術の名称】 |
| 音源符号のデータ構造を利用した電子透かし埋め込み方法 |
|
| 【技術内容】 |
| 電子楽器の演奏に用いられるMIDI(Musical Instrument Digital Interface)形式ファイルへの電子透かし埋め込み方法を提案する。MIDIファイルはヘッダチャンクとトラックチャンクから構成される。トラックチャンクは実際の演奏データが記録されるところで、ヘッダチャンクで示されたトラック数だけ存在する。演奏データはイベントと呼ばれるデータブロックが連続して記述される。イベントには、直前のイベントからの経過時間を示すデルタタイムと、動作ステータス、ノート番号、ベロシティ(音の強さ)が記述される。 |
| 符号置換埋め込み法を説明する。MIDI規格のには、ノートオフのベロシティの動作は定義されてないため、一般的な音源機器に実装されてない。そこで、ノートオフのベロシティに着目し、その下位nビットを透かし信号列に置き換える。この場合、透かしデータを埋め込んでもファイルサイズおよびイベント数は変化しない。 |
| デュレーションへの埋め込み法を説明する。デュレーションとは、ある演奏音のノートオンからノートオフまでの間にあるイベントのデルタタイムの合計値である。音源の音色の中でも、パーカッションの音色は単純な減衰音であるため、ノートオフを無視して実装をしている音源が多い。そこで、パーカッションのノートオフのタイミングを制御することで透かしを埋め込む。埋め込みは、ノートオフのデルタタイムの最下位ビットを透かしビットで置き換える方式を用いる。埋め込みにより変化した時間のずれは、その次のイベントのデルタタイムで相殺する。 |
|
| 【図】 |
| 図 SMFデータセクション構造 |
 |
| 出典:「電子演奏の半雑音化と音源符号への電子透かし」、「情報処理学会論文誌 第43巻 第2号」、(2002年2月15日)、岩切宗利、山本紘太郎、関根健一郎、松井甲子雄著、(社)情報処理学会発行、226頁 図1 SMFデータセクション構造 |
|
| 図 ドラム音の減衰特性 |
 |
| 出典:「電子演奏の半雑音化と音源符号への電子透かし」、「情報処理学会論文誌 第43巻 第2号」、(2002年2月15日)、岩切宗利、山本紘太郎、関根健一郎、松井甲子雄著、(社)情報処理学会発行、228頁 図3 ドラム音の減衰特性 |
|
| 図 デュレーション |
 |
| 出典:「電子演奏の半雑音化と音源符号への電子透かし」、「情報処理学会論文誌 第43巻 第2号」、(2002年2月15日)、岩切宗利、山本紘太郎、関根健一郎、松井甲子雄著、(社)情報処理学会発行、228頁 図4 デュレーション |
|
| 【出典/参考資料】 |
| 「電子演奏の半雑音化と音源符号への電子透かし」、(2002年2月15日)、岩切宗利、山本紘太郎、関根健一郎、松井甲子雄著、(社)情報処理学会発行、225頁〜233頁 |
|
|
|
| 【技術分類】 |
| 1−D−2(2) 電子透かし埋め込み技術/ドキュメント類/ソフトウェア/オブジェクトコード |
|
| 【技術の名称】 |
| 音源符号の演奏情報を制御した電子透かし埋め込み方法 |
|
| 【技術内容】 |
| 電子楽器の演奏に用いられるMIDI(Musical Instrument Digital Interface)形式ファイルへの電子透かし埋め込み方法を提案する。MIDIファイルはヘッダチャンクとトラックチャンクから構成される。トラックチャンクは実際の演奏データが記録されるところで、ヘッダチャンクで示されたトラック数だけ存在する。演奏データはイベントと呼ばれるデータブロックが連続して記述される。イベントには、直前のイベントからの経過時間を示すデルタタイムと、動作ステータス、ノート番号、ベロシティ(音の強さ)が記述される。 |
| ベロシティ埋め込み法について説明する。ノートオンのベロシティは、演奏音の強弱を制御する7ビットのパラメータである。この音の強弱をコントロールするベロシティの下位ビットを、透かし信号で置換する。置換する下位ビット数は、元のベロシティデータ値に依存する。音質への影響を少なくするために、0でない上位ビットは元のベロシティデータ値を用い、残りの下位ビットを透かしに利用する。 |
| 埋め込み機能付き復号鍵利用法について説明する。まず、MIDIコードの中からオンベロシティVを選び、これに7ビットの乱数Rを排他論理和しV”を得る。このオンベロシティV”を用いたデータを半雑音化された試聴用データとする。更に、上述したベロシティ埋め込み法により、オンベロシティVへ利用者の個人情報Wを埋め込み、V’を生成する。このV’とV”の排他論理和をとって、透かしの埋め込み機能付き復元鍵Kを生成する。このKを用いれば、半雑音化したデータから、V”とKの排他論理和をとって、ベロシティV’を得ることができる。これは、V”+K=V”+V”+V’=V’であるからである(+は排他論理和を表す)。V’は利用者情報などの電子透かしが埋め込まれている状態であることに注意する。これにより、半雑音が除去され、利用者情報が埋め込まれたデータになる。 |
|
| 【図】 |
| 図 SMFデータセクション構造 |
 |
| 出典:「電子演奏の半雑音化と音源符号への電子透かし」、「情報処理学会論文誌 第43巻 第2号」、(2002年2月15日)、岩切宗利、山本紘太郎、関根健一郎、松井甲子雄著、(社)情報処理学会発行、226頁 図1 SMFデータセクション構造 |
|
| 図 埋め込みビット位置 |
 |
| 出典:「電子演奏の半雑音化と音源符号への電子透かし」、「情報処理学会論文誌 第43巻 第2号」、(2002年2月15日)、岩切宗利、山本紘太郎、関根健一郎、松井甲子雄著、(社)情報処理学会発行、230頁 表9 埋め込みビット位置 |
|
| 【出典/参考資料】 |
| 「電子演奏の半雑音化と音源符号への電子透かし」、(2002年2月15日)、岩切宗利、山本紘太郎、関根健一郎、松井甲子雄著、(社)情報処理学会発行、225頁〜233頁 |