JP3180788B2 - 電子情報付与及び検出のための装置及び方法 - Google Patents

電子情報付与及び検出のための装置及び方法

Info

Publication number
JP3180788B2
JP3180788B2 JP34615098A JP34615098A JP3180788B2 JP 3180788 B2 JP3180788 B2 JP 3180788B2 JP 34615098 A JP34615098 A JP 34615098A JP 34615098 A JP34615098 A JP 34615098A JP 3180788 B2 JP3180788 B2 JP 3180788B2
Authority
JP
Japan
Prior art keywords
data
information
key
event data
value
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
JP34615098A
Other languages
English (en)
Other versions
JPH11259067A (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.)
Yamaha Corp
Original Assignee
Yamaha Corp
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 Yamaha Corp filed Critical Yamaha Corp
Priority to JP34615098A priority Critical patent/JP3180788B2/ja
Publication of JPH11259067A publication Critical patent/JPH11259067A/ja
Application granted granted Critical
Publication of JP3180788B2 publication Critical patent/JP3180788B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Reverberation, Karaoke And Other Acoustics (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は電子的記憶媒体に
楽音制御情報(MIDIデータなど)などの主要情報と
付属情報とを暗号化処理して記憶したり、記憶媒体に記
憶されている暗号化処理された主要情報と付属情報に基
づいて元の主要情報及び付属情報を検出する電子情報付
与及び検出のための装置及び方法に関する。
【0002】
【従来の技術】最近では、パーソナルコンピュータを使
用して、ユーザ自身が音楽データ、映像データ及び波形
データなどを作成したり、それらに種々の変更を加えた
りすることが容易にできるようになった。従って、パー
ソナルコンピュータを使用することによって、市販のF
D、CD−ROM、LDなどの記憶媒体に記録された音
楽データ、映像データ及び波形データなどを自由に読み
出して、それらに種々の変更処理を加えたりすることが
できる。市販のCD−ROMやLDなどに記録されてい
るデータは、その販売者や製作者などに著作権があるた
め、本来それらを自由に改変することは、著作権侵害の
観点から許されるものではない。従って、現在では、C
D−ROMやLDなどの媒体に記録されている音楽デー
タ、映像データ又は波形データなど主データの著作物が
だれに属するものなのかを示すための著作権表示データ
を、その音楽データ、映像データ又は波形データなど主
データを記録する主データ記録部とは別のヘッダ部にお
いて付属情報として付加的に記録することによって、著
作権者を明示し、著作権侵害の未然防止を図っているの
が現状である。また、付属情報には、このような著作権
表示データの他にも、その音楽データ、映像データ及び
波形データの題名などを示す情報、又はその映像データ
や波形データなどがどのようなデータ圧縮技術で圧縮さ
れているのかなどの記録形式を示す情報などがある。
【0003】
【発明が解決しようとする課題】しかしながら、現在で
は、パーソナルコンピュータなどを使って自由にデータ
を書き換えたり変更したりすることができるので、故意
又は過失によって、著作権表示データや種々の付属情報
が削除されたり、書き換えられたりするという問題があ
る。特に、これらの付属情報がヘッダ部に記録されてい
る場合は、削除や改竄が容易になされてしまうという問
題がある。また、最近ではネットワーク通信の発達に伴
って、このように著作権表示データの削除や改竄がなさ
れた音楽データ、映像データ又は波形データなどが通信
ネットワークを介して広く流通するという問題も起こり
易い。この発明は、音楽データ、映像データ又は波形デ
ータなどのような主要情報のデータフォーマットを変更
することなく付属情報を付加すると共にこれらのデータ
に暗号化処理を施し、この暗号を解読しない限り、こら
れの主要情報や付属情報を再生して利用することのでき
ないようにした電子情報付与及び検出装置及び方法に関
するものである。
【0004】
【課題を解決するための手段】 請求項1に係る電子情
報処理方法は、それぞれ2以上のパラメータを含む複数
のイベントデータで構成される第1の情報を入力するス
テップと、第2の情報を入力するステップと、予め決め
られている方法で鍵情報を取得するステップと、前記第
1の情報から特定のイベントデータを取り出すステップ
と、前記第2の情報の一部分と前記鍵情報と前記特定の
イベントデータの特定のパラメータを使って新たなパラ
メータを作成し、該新たなパラメータを前記特定のイベ
ントデータのうちの前記特定のパラメータに上書きする
ことにより、前記第1の情報に前記第2の情報を分散し
て配置すると共に第1の情報を暗号化するステップとか
らなる。 請求項2に係る電子情報処理方法は、複数のイ
ベントデータで構成される第1の情報を入力するステッ
プと、第2の情報を入力するステップと、前記第1の情
報から特定のイベントデータを取り出すステップと、前
記取り出された特定のイベントデータのうちの所定条件
を満たすイベントデータを前記第2の情報に基づいて変
更することにより、前記第1の情報に前記第2の情報を
分散して配置するステップと、前記第2の情報が分散し
て配置された第1の情報を出力するステップとからな
る。 請求項3乃至4に係る電子情報処理方法は、上記請
求項1乃至2に係るいずれかの方法で第2の情報が分散
して配置された第1の情報を入力し、この第1の情報か
ら、分散して配置された第2の情報を検出することに係
るものである。これにより、第2の情報がデコードされ
る。 請求項5に係る記憶媒体は、請求項1乃至4のいず
れかに係る方法をコンピュータに実行させるためのプロ
グラムを記憶した機械読み取り可能な記憶媒体に係るも
のである。 請求項6乃至9に係る電子情報処理装置は、
請求項1乃至4のいずれかに係る方法を実施するよう構
成された電子情報処理装置に係るものである。 次に、以
下説明する実施例に関連して概略を説明する。
【0005】この電子情報付与装置は、主要情報を構成
するデータ群の中の一部のデータを付属情報を構成する
データに基づいて変更することで該付属情報を主要情報
のデータ群の中に潜ませてなるデータファイルを提供す
るものであり、換言すれば、主要情報の中に付属情報を
潜在的に埋め込み、主要情報に対して結果的に暗号化処
理を施すことになるものである。一例として、主要情報
としては、MIDIデータのキーオンイベントデータ、
プログラムチェンジデータ又はコントロールチェンジデ
ータ、波形データ、又は映像データなどがある。付属情
報としては、著作者名、曲の題名、画像/映像の題名な
どに関する文字データや波形データの圧縮方法などのデ
ータ形式に関するデータやその他の種々のデータ(暗号
文、鍵情報、ID、パスワード、ニュース文)などがあ
る。この発明に係る電子情報付与装置(換言すれば「エ
ンコーダ」)と電子情報検出装置(換言すれば「デコー
ダ」)とを総称して電子情報処理システムと呼ぶとする
と、この電子情報処理システムでは、一例として、主要
情報を構成するデータ群の中の所定のデータ群として、
MIDIデータの場合にはキーオンイベントデータ群を
用い、このキーオンイベントデータ群の中の単位データ
として、ベロシティデータやキーコードデータを用い、
これらのデータのうち所定のデータを付属情報のデータ
部分に応じて分散的に変更し、主要情報のデータ群の中
に付属情報のデータを分散的に潜ませる(埋め込む)こ
とで、付属情報を主要情報のデータ群の中に潜ませてな
るデータファイルを提供する。
【0006】このデータファイルから前記付属情報を抽
出する若しくは前記主要情報を修復するためには、解読
のために所定の「鍵」情報が必要となるが、そのための
「鍵」情報それ自体が該データファイルの中に含まれて
いるような記録形態もありうる。しかし、それでは、オ
ーソライズされていない者が、不当に当該データファイ
ルの再生を行ないまたその付属情報を解読しようとする
場合に、当該データファイルの中から解読のために必要
な所定の「鍵」情報を容易に取得してしまうおそれがあ
り、セキュリティ面での信頼性に欠けるものとなってし
まう。そこで、この発明では、所定のアルゴリズムに従
う演算を前記付属情報を構成するデータと外部から設定
可能な補助情報とを用いて行なうようにしたことによ
り、前記データファイルから前記付属情報を抽出する若
しくは前記主要情報を修復するために必要な「鍵情報」
の一種となる前記補助情報そのものは、データファイル
のデータ内容とは無関係に任意に設定されることで、該
データファイルの中には直接的にはそれと判るように含
まれていないものとなるようにしたことを特徴としたも
のである。これにより、オーソライズされていない者
が、不当に当該データファイルから主要情報の修復を行
ないまたその付属情報を解読しようとしたとしても、肝
心のデータ修復用「鍵情報」をデータファイルからは得
ることができないことにより、データ修復若しくは解読
を行なうことができないことになり、暗号化又は電子透
し埋め込みによる機密的な情報記録に際して、セキュリ
ティ機能を向上させることができる、という優れた効果
を奏する。
【0007】この発明に係る電子情報検出装置は、主要
情報を構成するデータ群の中の一部のデータを付属情報
を構成するデータに基づいて変更することで該付属情報
を主要情報のデータ群の中に潜ませてなるデータファイ
ルから前記付属情報を抽出する若しくは前記主要情報を
修復する電子情報検出装置において、前記データファイ
ルから前記付属情報を抽出する若しくは前記主要情報を
修復するために必要な鍵情報の少なくとも一部を、外部
から供給される情報として受け取る鍵情報受取手段を具
備し、受け取った鍵情報を利用して前記付属情報の抽出
若しくは前記主要情報の修復を行なうようにしたことを
特徴とするものである。
【0008】このように、前記データファイルから前記
付属情報を抽出する若しくは前記主要情報を修復する機
能を有する電子情報検出装置の側において、鍵情報受取
手段を具備することにより、前記データファイルから前
記付属情報を抽出する若しくは前記主要情報を修復する
ために必要な鍵情報の少なくとも一部を、外部から供給
される情報として受け取り、この受け取った鍵情報を利
用して前記付属情報の抽出若しくは前記主要情報の修復
を行なうことができるようになる。すなわち、上述と同
様に、データファイルの中には必要な鍵情報が含まれて
いないことになり、オーソライズされていない者が、不
当に当該データファイルから主要情報の修復を行ないま
たその付属情報を解読しようとしたとしても、肝心のデ
ータ修復用「鍵情報」をデータファイルからは得ること
ができないことにより、データ修復若しくは解読を行な
うことができないことになり、暗号化又は電子透し埋め
込みによる機密的な情報記録に際して、セキュリティ機
能を向上させることができる、という優れた効果を奏す
る。鍵情報受取手段に対する鍵情報の与え方は、どのよ
うなやり方を用いてもよい。例えば、データファイルと
は別途にデータ通信等により電子情報の形で自動的に与
えるようにしてもよいし、オーソライズされた利用者に
対してのみ印刷物または電話等で通知することに基づき
該利用者が該鍵情報のデータ入力操作を手動で行なうよ
うにしてもよいし、様々なやり方であってよい。
【0009】なお、付属情報を主要情報の中に潜在的に
組み込むためのアルゴリズム演算に際して使用する「補
助情報」、若しくは前記付属情報を抽出する又は前記主
要情報を修復するのに必要とされる「鍵情報」は、一種
類とは限らず、複数種類あってよい。例えば、電子情報
付与装置(エンコーダ)において、前記主要情報を構成
するデータ群の中の一部のデータを前記付属情報を構成
するデータに基づいて変更するために、前記主要情報に
おける変更すべき前記一部のデータに対して、所定のア
ルゴリズムに従う演算を、前記付属情報を構成するデー
タと所定の変数とを用いて行なうようにした場合、その
解読(デコード)のためにアルゴリズムのみならず、該
所定の変数も必要であり、この所定の変数に対応する情
報が上記補助情報若しくは鍵情報の一種として使用され
ることとなる。あるいは、前記主要情報を構成するデー
タ群の中の一部のデータを前記付属情報を構成するデー
タに基づいて変更するためのデータ編集処理を行なうと
きに、特定の編集条件を設定して該データ編集処理を行
なったような場合も、その解読(デコード)のためには
設定された編集条件が何であったかが判っている必要が
あり、この編集条件を設定する情報も上記補助情報又は
鍵情報の一種として使用されることとなる。
【0010】この発明は、装置発明として構成し、実施
することができるのみならず、方法発明として構成し、
実施することもできる。また、この発明は、コンピュー
タプログラムまたはDSP等のためのマイクロプログラ
ムの形態で実施することができるし、そのようなコンピ
ュータプログラムまたはマイクロプログラムを記憶した
記録媒体の形態で実施することもできる。
【0011】
【発明の実施の形態】以下、この発明の実施の形態を添
付図面に従って詳細に説明する。図2は、この発明に係
る電子情報処理システムとして動作する電子楽器の全体
構成を示すブロック図である。マイクロプロセッサユニ
ット(CPU)21はこの電子楽器全体の動作を制御す
るものである。このCPU21に対して、バス2Mを介
して各種のデバイスが接続される。
【0012】CPU21はROM22及びRAM23内
の各種プログラムや各種データ、及び外部記憶装置から
取り込まれた楽音制御情報(MIDIデータ)に基づい
て全体の動作を制御すると共に取り込まれたMIDIデ
ータ内に付属情報を分散して記憶したり、付属情報の分
散記憶されたMIDIデータをフロッピーディスクから
取り込み、それから付属情報を検出したりする。この実
施の形態では、外部記憶装置として、フロッピーディス
クドライブ24、ハードディスクドライブ25、CD−
ROMドライブ26などを例に説明するが、これ以外の
光磁気ディスク(MO)ドライブ、PDドライブなどを
用いてもよい。また、通信インターフェイス27を介し
て通信ネットワーク28上のサーバコンピュータ29な
どから楽音制御情報などの各種情報などを取り込んでも
よいし、MIDIインターフェイス2Aを介して他のM
IDI機器2BなどからMIDIデータなどを取り込ん
でもよい。CPU21は、このような外部記憶装置から
取り込まれたMIDIデータや鍵盤2Cの押鍵操作に基
づいて生成したMIDIデータを音源回路2Jに供給す
る。なお、外部に接続された音源回路を用いて発音処理
を行うようにしてもよい。
【0013】ROM22はCPU21の各種プログラム
(システムプログラムや動作プログラムなど)や各種デ
ータを格納するものであり、リードオンリーメモリ(R
OM)で構成されている。RAM23は、CPU21が
プログラムを実行する際に発生する各種データを一時的
に記憶するものであり、ランダムアクセスメモリ(RA
M)の所定のアドレス領域がそれぞれ割り当てられ、レ
ジスタ、バッファ、フラグ、テーブル等として利用され
る。
【0014】また、ハードディスク装置25などの外部
記憶装置に前記動作プログラムを記憶するようにしても
よい。また、前記ROM22に動作プログラムを記憶せ
ずに、ハードディスク装置25などの外部記憶装置にこ
れらの動作プログラムを記憶しておき、それをRAM2
3に読み込むことにより、ROM22に動作プログラム
を記憶したときと同様の動作をCPU21に行わせるよ
うにしてもよい。このようにすると、動作プログラムの
追加やバージョンアップ等が容易に行える。着脱自在な
外部記憶媒体の1つとして、CD−ROMを使用しても
よい。このCD−ROMには、自動演奏データやコード
進行データや楽音波形データや映像データなどの各種デ
ータ及び任意の動作プログラムを記憶していてもよい。
CD−ROMに記憶されている動作プログラムや各種デ
ータは、CD−ROMドライブ26によって、読み出さ
れ、ハードディスク装置25に転送記憶させることがで
きる。これにより、動作プログラムの新規のインストー
ルやバージョンアップを容易に行うことができる。
【0015】なお、通信インターフェイス27をデータ
及びアドレスバス2Mに接続し、この通信インターフェ
イス27を介してLAN(ローカルエリアネットワー
ク)やインターネット、電話回線などの種々の通信ネッ
トワーク28上に接続可能とし、他のサーバコンピュー
タ29との間でデータのやりとりを行うようにしてもよ
い。これにより、ハードディスク装置25内に動作プロ
グラムや各種データが記憶されていないような場合に
は、サーバコンピュータ29からその動作プログラムや
各種データをダウンロードすることができる。この場
合、クライアントとなる楽音生成装置である自動演奏装
置から、通信インターフェイス27及び通信ネットワー
ク28を介してサーバコンピュータ29に動作プログラ
ムや各種データのダウンロードを要求するコマンドを送
信する。サーバコンピュータ29は、このコマンドに応
じて、所定の動作プログラムやデータを、通信ネットワ
ーク28を介して自動演奏装置に送信する。自動演奏装
置では、通信インターフェイス27を介してこれらの動
作プログラムやデータを受信して、ハードディスク装置
25にこれらのプログラムやデータを蓄積する。これに
よって、動作プログラム及び各種データのダウンロード
が完了する。
【0016】なお、本発明は、本発明に対応する動作プ
ログラムや各種データをインストールした市販のパーソ
ナルコンピュータ等によって、実施させるようにしても
よい。その場合には、本発明に対応する動作プログラム
や各種データを、CD−ROM26やフロッピーディス
ク等の、パーソナルコンピュータが読み込むことができ
る記憶媒体に記憶させた状態で、ユーザーに提供しても
よい。そのパーソナルコンピュータが読み込むことがで
きる記憶媒体に記憶させた状態で、ユーザに提供しても
よい。そのパーソナルコンピュータ等が、LAN、イン
ターネット、電話回線等の通信ネットワークに接続され
ている場合には、通信ネットワークを介して、動作プロ
グラムや各種データ等をパーソナルコンピュータ等に提
供してもよい。
【0017】鍵盤2Cは発音すべき楽音の音高を選択す
るための複数の鍵を備えており、各鍵に対応したキース
イッチを有しており、また必要に応じて押圧力検出装置
等のタッチ検出手段を有している。鍵盤2Cは音楽演奏
のための基本的な操作子であり、これ以外の演奏操作子
でもよいことはいうまでもない。押鍵検出回路2Dは発
生すべき楽音の音高を指定する鍵盤2Cのそれぞれの鍵
に対応して設けられたキースイッチ回路を含むものであ
る。この押鍵検出回路2Dは鍵盤2Cの離鍵状態から押
鍵状態への変化を検出してキーオンイベントを出力し、
押鍵状態から離鍵状態への変化を検出してキーオフイベ
ントを出力すると共にそれぞれのキーオンイベント及び
キーオフイベントに関する鍵の音高を示すノートナンバ
を出力する。押鍵検出回路2Dはこの他にも鍵押し下げ
時の押鍵操作速度や押圧力等を判別してベロシティデー
タやアフタタッチデータを出力する。
【0018】パネルスイッチ2Eは自動演奏スタート/
ストップスイッチ、一時停止(ポーズ)スイッチ、音
色、音量、効果等を選択、設定、制御するための各種ス
イッチを含むものである。スイッチ検出回路2Fはパネ
ルスイッチ2E上の各スイッチ群に対応して設けられて
おり、これらの各スイッチ群の操作状態に応じたスイッ
チイベントをバス2Mを介してCPU21に出力する。
表示回路2HはCPU21の制御状態、設定データの内
容等の各種の情報をディスプレイ2Gに表示するもので
ある。この実施の形態では、著作権表示データ、曲名、
作曲者情報、作成年月日、歌詞、ニュース文、機種名
(ハード名)、IDなどのテキストデータなどを表示す
る。ディスプレイ2Gは液晶表示パネル(LCD)等か
ら構成され、表示回路2Hによってその表示動作を制御
される。
【0019】音源回路2Jは、複数のチャンネルで楽音
信号の同時発生が可能であり、CPU21から与えられ
た楽音制御情報(ノートオン、ノートオフ、ベロシテ
ィ、ピッチデータ、音色番号等のMIDIデータ)を入
力し、これらの楽音制御情報に基づいた楽音信号を発生
する。音源回路2Jにおいて複数チャンネルで楽音信号
を同時に発音させる構成としては、1つの回路を時分割
で使用することによって複数の発音チャンネルを形成す
るようなものや、1つの発音チャンネルが1つの回路で
構成されるような形式のものであってもよい。また、音
源回路2Jにおける楽音信号発生方式はいかなるものを
用いてもよい。例えば、発生すべき楽音の音高に対応し
て変化するアドレスデータに応じて波形メモリに記憶し
た楽音波形サンプル値データを順次読み出すメモリ読み
出し方式(波形メモリ方式)、又は上記アドレスデータ
を位相角パラメータデータとして所定の周波数変調演算
を実行して楽音波形サンプル値データを求めるFM方
式、あるいは上記アドレスデータを位相角パラメータデ
ータとして所定の振幅変調演算を実行して楽音波形サン
プル値データを求めるAM方式等の公知の方式を適宜採
用してもよい。また、これらの方式以外にも、自然楽器
の発音原理を模したアルゴリズムにより楽音波形を合成
する物理モデル方式、基本波に複数の高調波を加算する
ことで楽音波形を合成する高調波合成方式、特定のスペ
クトル分布を有するフォルマント波形を用いて楽音波形
を合成するフォルマント合成方式、VCO、VCF及び
VCAを用いたアナログシンセサイザ方式等を採用して
もよい。また、専用のハードウェアを用いて音源回路を
構成するものに限らず、DSPとマイクロプログラムを
用いて音源回路を構成するようにしてもよいし、CPU
とソフトウェアのプログラムで音源回路を構成するよう
にしてもよい。
【0020】タイマ2Nは時間間隔を計数したり、自動
演奏のテンポを設定したりするためのテンポクロックパ
ルスを発生する。このテンポクロックパルスの周波数は
各種スイッチ2Eの中のテンポ設定スイッチや予め演奏
データに含まれている図3のようなテンポデータに基づ
いて決定されている。タイマからのテンポクロックパル
スはCPU21に対してインタラプト命令として与えら
れ、CPU21はインタラプト処理により自動演奏時に
おける各種の処理を実行する。効果回路2Kは音源回路
2Jからの楽音信号に種々の効果を付与し、効果の付与
された楽音信号をサウンドシステム2Lに出力する。効
果回路2Kによって効果の付与された楽音信号は、アン
プ及びスピーカからなるサウンドシステム2Lを介して
発音される。
【0021】次に、この発明に係る電子情報処理システ
ムが電子情報を付与すると共に暗号化処理を同時に行う
場合の動作の一例について説明する。図3は、電子楽器
1が電子情報処理システムとして動作する場合のMID
Iデータ編集処理の一例を示すフローチャート図であ
る。まず、この場合には、電子楽器1は、フロッピーデ
ィスクドライブ24から読み出したMIDIデータにそ
のヘッダ情報の一部である電子署名すなわち著作権表示
データを分散して記憶すると共にMIDIフォーマット
を維持したまま暗号化処理を施す場合について説明す
る。
【0022】まず、ステップ31では、MIDIデータ
列内に分散して書き込まれるべき付属情報の内容を決定
する。この実施の形態では、付属情報として、電子署名
(著作権表示データ)をMIDIデータ列内に分散して
埋め込む場合について説明する。例えば、著作権表示デ
ータとして『COPYRIGHT△YMH△1996』
のような文字をMIDIデータ列内に分散して書き込む
場合には、これらの文字列をパネルスイッチ2Eを用い
て入力する。ここで、△は空白を意味する。ステップ3
1で書き込むべき電子署名すなわち付属情報の文字列が
決定したので、今度はステップ32で、その電子署名に
関する4ビット構成のデータ列を得る。例えば、パネル
スイッチ2Eによって『COPYRIGHT△YMH△
1996』が入力された場合には、それをASCIIの
文字符号のデータ列に変換する。この場合、それぞれの
文字は『C』=『43H』、『O』=『4FH』、
『P』=『50H』、『Y』=『59H』、『R』=
『52H』、『I』=『49H』、『G』=『47
H』、『H』=『48H』、『T』=『54H』、
『△』=『20H』、『Y』=『59H』、『M』=
『4DH』、『H』=『48H』、『△』=『20
H』、『1』=『31H』、『9』=『39H』、
『9』=『39H』、『6』=『36H』のような一連
のASCIIの4ビット構成のデータで表されるように
なる。なお、『36H』のように記された数において、
数字の末尾のHはその数が16進表示であることを示
す。
【0023】次に、ステップ33では、電子署名として
付与する情報すなわち、ステップ32で得られたASC
IIの4ビット構成のデータ列を4ビットレジスタBR
に格納する。例えば、『Y』=『59H』、『M』=
『4DH』、『H』=『48H』の文字をMIDIデー
タ列に順番に格納する場合、4ビットレジスタBRに
は、図1(C)に示すように『0101B』、『100
1B』、『0100B』、『1101B』、『0100
B』、『1000B』のような4ビット構成のデータが
順番に格納される。なお、『1000B』のように記さ
れた数において、数字の末尾のBはその数が2進表示で
あることを示す。そして、ステップ34では、この4ビ
ットレジスタBRに格納されている上位3ビットをノー
トエリアナンバNAとし、最下位ビット(LSB)をベ
ロシティエリアナンバVAとする。従って、電子署名の
『Y』=『59H』の最初の4ビット:『0101B』
の場合はNA=2,VA=1、後ろの4ビット:『10
01B』の場合はNA=4,VA=1となり、電子署名
の『M』=『4DH』の最初の4ビット:『0100
B』の場合はNA=2,VA=0、後ろの4ビット:
『1101B』の場合はNA=6,VA=1となり、電
子署名の『H』=『48H』の最初の4ビット:『01
00B』の場合はNA=2,VA=0、後ろの4ビッ
ト:『1000B』の場合はNA=4,VA=0とな
る。
【0024】次に、ステップ35では、MIDIデータ
列(Standard MIDIFile:SMF)の
中からキーオンイベントデータやプログラムチェンジデ
ータやコントロールチェンジデータなどの各種のMID
Iデータを順次取り出す。すなわち、MIDIデータ列
は基本的にはキーオンステータスバイト、キーコードバ
イト、ベロシティバイトからなるキーオンイベントデー
タやこれ以外のプログラムチェンジイベントデータやコ
ントロールチェンジイベントデータなどから構成されて
いるので、ステップ35では、このようなMIDIデー
タを順番に取り出す。
【0025】ステップ36では、取り出されたMIDI
データがキーオンイベントデータKONであるかどうか
を判定し、キーオンイベントデータ(YES)の場合は
次のステップ37以下の処理を行い、そうでない(N
O)の場合はステップ3Hに進む。従って、ステップ3
5で取り出されたMIDIデータがキーオンイベントデ
ータの場合には、図1(A)のようなキーオンイベント
データからなるMIDIデータ列SMF1が得られるこ
とになる。このキーオンイベントデータのMIDIデー
タ列SMF1はデュレーションタイムDと、キーオンイ
ベントデータとの組合せで構成される。ステップ37で
は、キーオンイベントデータの中の各バイトのデータを
それぞれ対応するキーコードレジスタb,ベロシティレ
ジスタcに格納する。すなわち、キーオンイベントデー
タのキーオンステータスバイト中のキーコードバイトの
値すなわちキーコードをキーコードレジスタbに、ベロ
シティバイトの中のベロシティの値をベロシティレジス
タcにそれぞれ格納する。
【0026】ステップ38では、前のキーオンイベント
データのキーコードとベロシティとの差分値を取り、そ
れをキーコード差分値レジスタdkey及びベロシティ
差分値レジスタdvelにそれぞれ格納する。すなわ
ち、キーコードレジスタbには今回のキーオンイベント
データのキーコードが格納され、前回値レジスタb0に
は前のキーオンイベントデータのキーコードが格納され
る。キーコードレジスタbの値から前回値レジスタb0
の値を減算することによって得られた差分値がキーコー
ド差分値レジスタdkeyに格納される。ベロシティレ
ジスタcには今回のキーオンイベントデータのベロシテ
ィが格納され、前回値レジスタc0には前のキーオンイ
ベントデータのベロシティが格納される。従って、同様
にベロシティレジスタcの値から前回値レジスタc0の
値を減算することによって得られた差分値がベロシティ
差分値レジスタdvelに格納される。図1(A)に示
されるMIDIデータ列SMF1の場合、このステップ
38の演算によって得られたキーコード差分値レジスタ
dkey及びベロシティ差分値レジスタdvelの値は
図1(B)のようになる。ステップ39では、次回のス
テップ38の処理に備えて、今回のキーコードの値すな
わちキーコードレジスタbの値を前回値レジスタb0に
格納し、今回のベロシティの値すなわちベロシティレジ
スタcの値を前回値レジスタc0に格納する。
【0027】ステップ3Aでは、キーコード差分値レジ
スタdkeyの値が8よりも小さいかどうかを判定し、
小さい場合には、次のステップ3Bに進み、8以上の場
合にはステップ3Gに進む。ステップ3Bでは、ベロシ
ティ差分値レジスタdvelの値が32よりも小さいか
どうかを判定し、小さい場合には、次のステップ3Cに
進み、32以上の場合にはステップ3Gに進む。すなわ
ち、両方のステップ3A及び3BでNOと判定された場
合には、そのキーオンイベントデータは置換対象外のデ
ータだと判定し、ステップ3Gでレジスタcの最下位ビ
ットを『0』に修正、すなわちベロシティの値を偶数に
してからステップ3Hに進む。これによって、ベロシテ
ィの値が偶数の場合には、そのキーオンイベントデータ
が置換対象外のデータであり、修正されなかったことを
データ修復の際に容易に判定することができるようにな
る。
【0028】ステップ3Cでは、キーコード差分値レジ
スタdkeyの値が正又は0の場合と負の場合とで、そ
れぞれ異なる置換演算を行う。すなわち、キーコード差
分値レジスタdkeyの値が正又は0の場合には、ノー
トエリアナンバNAを8倍したものと、キーコード差分
値レジスタdkeyの値と、定数64との和を求め、そ
の結果を第1キーコードレジスタb1に格納する。3ビ
ットからなるノートエリアナンバNAの最大値は
“7”、最小値は“0”であるから、この条件下では、
レジスタb1の値の最小値は“64”である。一方、キ
ーコード差分値レジスタdkeyの値が負の場合には、
定数63からノートエリアナンバNAを8倍したものを
減算すると共にキーコード差分値レジスタdkeyの値
を加算し、その結果を第1キーコードレジスタb1に格
納する。なお、このときキーコード差分値レジスタdk
eyは負の値なので、結果的には定数63からキーコー
ド差分値レジスタdkeyの値を減算することになる。
この条件下では、レジスタb1の値は“63”よりも大
きくなることはない。
【0029】ステップ3Dでは、ベロシティ差分値レジ
スタdvelの値が正又は0の場合と負の場合とで、そ
れぞれ異なる置換演算を行う。すなわち、ベロシティ差
分値レジスタdvelの値が正又は0の場合には、ベロ
シティエリアナンバVAを32倍したものと、ベロシテ
ィ差分値レジスタdvelの値と、定数64との和を求
め、その結果を第1ベロシティレジスタc1に格納す
る。この条件下では、レジスタc1の値の最小値は“6
4”である。ベロシティ差分値レジスタdvelの値が
負の場合には、定数63からベロシティエリアナンバV
Aを32倍したものを減算すると共にベロシティ差分値
レジスタdvelの値を加算し、その結果を第1ベロシ
ティレジスタc1に格納する。なお、このときベロシテ
ィ差分値レジスタdvelは負の値なので、結果的には
定数63からベロシティ差分値レジスタdvelの値を
減算することになる。この条件下では、レジスタc1の
値は“63”よりも大きくなることはない。
【0030】ステップ3Eでは、第1キーコードレジス
タb1の値を新しいキーコードの値とし、第1ベロシテ
ィレジスタc1の値を新しいベロシティの値としてMI
DIデータを修正する。そして、ステップ3Fで、第1
ベロシティレジスタc1の最下位ビットを『1』に修
正、すなわちベロシティの値を奇数に修正してからステ
ップ3Hに進む。これによって、ベロシティの値が奇数
の場合には、そのキーオンイベントデータが付属情報に
基づいて修正されたことをデータ修復の際に容易に判定
することができる。ステップ3Hでは、全ての付属情報
についてステップ33からステップ3Gまでの処理が終
了したかどうかを判定し、終了している(YES)場合
にはこのMIDIデータ編集処理を終了し、終了してい
ない場合にはステップ33にリターンし、次の付属情報
について一連の処理を行う。
【0031】例えば、図1の場合には、1番目のキーオ
ンイベントデータ(91,100,100)は、最初の
ものなので修正されない。2番目のキーオンイベントデ
ータ(91,101,102)は、図3のMIDIデー
タ編集処理によって、図1(E)に示すような2番目の
キーオンイベントデータ(91,81,99)に変換さ
れる。同様にして、3番目のキーオンイベントデータ
(91,103,102)も図1(D)に示すような3
番目のキーオンイベントデータ(91,98,97)に
変換される。そして、4番目のキーオンイベントデータ
(91,120,70)は、図1(B)に示すように、
キーコード差分値レジスタdkeyの絶対値が『17』
と8以上であるため、ステップ3AでNOと判定され、
置換対象外となり、ステップ3Gを経て、キーオンイベ
ントデータ(91,120,70)がそのまま図1
(D)に示すように4番目のキーオンイベントデータと
なる。そして、5番目から8番目までのキーオンイベン
トデータも同様にして、図1(D)の5番目から8番目
までのキーオンイベントデータのように変換される。な
お、この場合に、2番目と3番目のキーオンイベントデ
ータの場合は、ステップ3Fの処理によって、ベロシテ
ィの値が奇数に変換されている。なお、プログラムチェ
ンジイベントは付属情報の付与されるノートオンイベン
トなどに比べて、比較的低頻度で発生し、プログラムチ
ェンジ後は、楽器が変わることを意味するので、その位
置を始点としてエディットされる可能性の高い単位とい
うことが言えるので、取り出されたMIDIデータがプ
ログラムチェンジイベントだった場合には、直ちに終了
して、付属情報の最初からMIDIデータを編集するよ
うにしてもよい。
【0032】図5は、上述の第1の実施の形態に従って
得られる各レジスタb1,c1の値のとり得る状態を列
挙したものである。図5において、縦軸にはレジスタb
1にストアされるキーコードのとりうる値を割り当て、
横軸にはレジスタc1にストアされるベロシティデータ
のとりうる値を割り当て、各値の63と64との間を原
点とするような直交座標系を構成する。これによって、
キーオンイベントデータの中のキーコードが高くなる場
合(正の値)又は小さくなる場合(負の値)と、ベロシ
ティが増加する場合(正の値)又は減少する場合(負の
値)とからなる4種類の組み合わせがこの直交座標系の
各象限に割り当てられることになる。そして、各象限に
は付属情報となる4ビット構成の16個のデータが割り
当てられる。すなわち、図5に示すようにキーコードが
高くなり、ベロシティが増加する場合と、キーコードが
高くなり、ベロシティが減少する場合と、キーコードが
低くなり、ベロシティが増加する場合と、キーコードが
低くなり、ベロシティが減少する場合のそれぞれが各象
限に対応するようになる。各象限に割り当てられた4ビ
ット構成の付属情報のうち、最下位ビットは横軸のベロ
シティに、上位3ビットは縦軸のキーコードに割り当て
られる。従って、キーコードが高くなり、ベロシティが
増加する場合には、直交座標の第1象限に割り当てら
れ、キーコード軸の64〜127は000から111ま
での8つの付属情報に対応するように分割され、ベロシ
ティ軸の64〜127は0と1の2つの付属情報に対応
するように分割される。キーコードが高くなり、ベロシ
ティが減少する場合には、直交座標の第2象限に割り当
てられ、キーコード軸の64〜127は000から11
1までの8つの付属情報に対応するように分割され、ベ
ロシティ軸の63〜0は0と1の2つの付属情報に対応
するように分割される。キーコードが低くなり、ベロシ
ティが減少する場合には、直交座標の第3象限に割り当
てられ、キーコード軸の63〜0は000から111ま
での8つの付属情報に対応するように分割され、ベロシ
ティ軸の63〜0は0と1の2つの付属情報に対応する
ように分割される。キーコードが低くなり、ベロシティ
が増加する場合には、直交座標の第4象限に割り当てら
れ、キーコード軸の63〜0は000から111までの
8つの付属情報に対応するように分割され、ベロシティ
軸の64〜127は0と1の2つの付属情報に対応する
ように分割される。
【0033】この場合、図6に示すように、各付属情報
に対応したキーコードには8個の値が存在し、ベロシテ
ィには32個の値が存在するので、ステップ3A及び3
Bのように、キーコード差分値レジスタdkeyの値は
8よりも小さくなければならず、ベロシティ差分値レジ
スタdvelの値は32よりも小さくなければならない
という条件が入っているのである。従って、キーコード
が8よりも小さな値で増加又は減少し、ベロシティが3
2よりも小さな値で増加又は減少した場合には、図5の
各象限の付属情報が選択され、その付属情報の値、キー
コード差分値及びベロシティ差分値に応じて、元のキー
コード及びベロシティが編集される。なお、この場合、
ベロシティについては、編集された値であるかどうかを
示すために、ステップ3G及びステップ3Fによって最
下位ビットに処理が加えられ、編集されたベロシティの
値は、最終的には奇数値の16個だけとなる。
【0034】次に、図3のMIDIデータ編集処理によ
って付与された電子情報すなわち電子署名データを検
出、すなわち修復するMIDIデータ修復処理について
説明する。図4は、電子楽器1がMIDIデータ修復装
置として動作する場合の一例を示すフローチャート図で
ある。この場合には、フロッピーディスクドライブ25
から読み出されたMIDIデータに前述のようなヘッダ
情報の一部(電子署名すなわち著作権表示データ)が分
散記録されているものとする。以下の実施の形態では、
この著作権表示データを検出して、それをモニタなどに
表示するまでの動作を説明する。まず、ステップ41で
は、電子署名を検出すべきMIDIデータ列、すなわち
図3の電子情報付与処理によって電子署名の付与された
MIDIデータ列(Standard MIDI Fi
le:SMF)の中から順次キーオンイベントデータや
プログラムチェンジデータやコントロールチェンジデー
タなどのデータを取り出す。
【0035】ステップ42では、取り出されたMIDI
データがキーオンイベントデータKONであるかどうか
を判定し、キーオンイベントデータ(YES)の場合は
次のステップ43に進み、そうでない(NO)場合はス
テップ4Cに進む。従って、ステップ41で取り出され
たMIDIデータがキーオンイベントデータの場合に
は、図1(F)のようなキーオンイベントMIDIデー
タ列SMF2が作成されることになる。ステップ43で
は、キーオンイベントデータの中の各バイトのデータを
それぞれ対応するキーコードレジスタb,ベロシティレ
ジスタcに格納する。すなわち、キーコードバイトの中
のキーコードをキーコードレジスタbに、ベロシティバ
イトの中のベロシティをベロシティレジスタcにそれぞ
れ格納する。
【0036】ステップ44では、ベロシティレジスタc
の最下位ビットが『1』かどうか、すなわち、付属情報
(電子署名情報)の付与されたキーオンイベントデータ
であるのかどうかの判定を行い、YESの場合は次のス
テップ45に進み、そうでない(NO)場合はステップ
4Cに進む。ステップ45、ステップ46、ステップ4
9及びステップ4Aでは、相前後するキーオンイベント
データのキーコードレジスタb、前回キーコードレジス
タb0、ベロシティレジスタc及び前回ベロシティレジ
スタc0のそれぞれの格納値に基づいて修復キーコード
レジスタb2、修復ベロシティレジスタc2、ノートエ
リアナンバNA及びベロシティエリアナンバVAの値を
それぞれ求める。このとき、キーコードレジスタbの値
が64以上の場合とこれよりも小さい場合とで、それぞ
れ異なる演算式を用いて各値を求める。
【0037】ステップ45においてはステップ3C(図
3)の置換式の逆算を行なう。すなわち、キーコードレ
ジスタbの値が64以上の場合には、キーコードレジス
タbの値から定数64を減算し、その減算値の8におけ
るモジュロ(減算値を8で除した余り)を求めること
で、dkeyを再生する。そして、このdkeyを前回
キーコードレジスタb0に加算することでキーコードの
修復値を得て、それを修復キーコードレジスタb2にス
トアする。一方、キーコードレジスタbの値が64より
も小さい場合には、キーコードレジスタbの値から定数
63を減算し、その減算値の8におけるモジュロを求め
ることで、dkeyを再生する。そして、このdkey
を前回キーコードレジスタb0に加算することでキーコ
ードの修復値を得て、それを修復キーコードレジスタb
2にストアする。
【0038】ステップ46においてはステップ3D(図
3)の置換式の逆算を行なう。すなわち、ベロシティレ
ジスタcの値が64以上の場合には、ベロシティレジス
タcの値から定数64を減算し、その減算値の32にお
けるモジュロ(減算値を32で除した余り)を求めるこ
とで、dvelを再生する。そして、このdvelを前
回ベロシティレジスタc0に加算することでベロシティ
データの修復値を得て、それを修復ベロシティレジスタ
c2にストアする。一方、ベロシティレジスタcの値が
64よりも小さい場合には、ベロシティレジスタcの値
から定数63を減算し、その減算値の32におけるモジ
ュロを求めることで、dvelを再生する。そして、こ
のdvelを前回ベロシティレジスタc0に加算するこ
とでベロシティデータの修復値を得て、それを修復ベロ
シティレジスタc2にストアする。
【0039】ステップ47において、修復キーコードレ
ジスタb2の値をキーコードの値とし、修復ベロシティ
レジスタc2の値をベロシティの値としてMIDIデー
タを修復する。ステップ48では、次回のステップ45
及びステップ46の処理に備えて、修復されたキーコー
ドの値すなわち修復キーコードレジスタb2の値を前回
値レジスタb0に格納し、修復されたベロシティの値す
なわち修復ベロシティレジスタc2の値を前回値レジス
タc0に格納する。ステップ49においてはステップ3
C(図3)の置換式の逆算を行なうことでNAを再生す
る。すなわち、キーコードレジスタbの値が64以上の
場合には、キーコードレジスタbの値から定数64を減
算し、その減算値を8で除した商を求め、それをノート
エリアナンバNAとする。一方、キーコードレジスタb
の値が64よりも小さい場合には、定数63からキーコ
ードレジスタbの値を減算し、その減算値を8で除した
商を求め、それノートエリアナンバNAとする。ステッ
プ4Aではステップ3D(図3)の置換式の逆算を行な
うことでNAを再生する。すなわち、ベロシティレジス
タcの値が64以上の場合には、ベロシティレジスタc
の値から定数64を減算し、その減算値を32で除した
商を求め、それをベロシティエリアナンバVAとする。
一方、ベロシティレジスタcの値が64よりも小さい場
合には、定数63からベロシティレジスタcの値を減算
し、その減算値を32で除した商を求め、それベロシテ
ィエリアナンバVAとする。
【0040】ステップ4Bでは、ノートエリアナンバN
Aを上位3ビットとし、ベロシティエリアナンバVAを
最下位ビットとする4ビット構成のデータ列からなる付
属情報を得る。ステップ4Cでは、全MIDIデータの
修復が終了したかどうかを判定し、終了した場合にはM
IDIデータ修復処理を終了し、そうでない場合にはス
テップ41にリターンし、再びMIDIデータに対する
修復処理を行う。以上の一連の修復処理が終了した時点
でモニタにそのヘッダ情報の一部(電子署名すなわち著
作権表示データ)などを表示するが、ここではそのステ
ップについて省略してある。
【0041】例えば、図1(E)のキーオンイベントの
MIDIデータ列SMF2と図1(G)のキーオンイベ
ントのMIDIデータ列SMF2とは同じものであり、
図1(G)のキーオンイベントのMIDIデータ列SM
F2に基づいて、図1(F)のようなMIDIデータ列
SMF3が修復され、図1(G)のような付属情報が抽
出される。まず、図1(G)の1番目のキーオンイベン
トデータ(91,100,100)は、ベロシティの最
下位ビットが『0』すなわち偶数なのでそのままの値が
キーオンイベントデータとなる。次に、2番目のキーオ
ンイベントデータ(91,81,99)は、ベロシティ
の最下位ビットが『1』すなわち奇数であり、64以上
なので、図4のMIDIデータ修復処理によって、図1
(F)に示すような2番目のキーオンイベントデータ
(91,101,103)に変換される。同様にして、
3番目のキーオンイベントデータ(91,98,97)
も図1(F)に示すような3番目のキーオンイベントデ
ータ(91,103,104)に変換される。そして、
4番目のキーオンイベントデータ(91,120,7
0)は、ベロシティの最下位ビットが『0』すなわち偶
数なのでそのままの値がキーオンイベントデータとな
る。そして、図1(G)に示すような5番目から8番目
までのキーオンイベントデータも同様にして、図1
(F)の5番目から8番目までのキーオンイベントデー
タのように変換される。この場合に、2番目と3番目の
キーオンイベントデータについては、図3のステップ3
Fの処理によってベロシティの値が奇数に変換されてい
る関係上、図1(F)に示されるキーオンイベントデー
タのベロシティの値がMIDIデータ編集処理される前
の図1(A)のキーオンイベントデータのベロシティの
値よりも1〜2程度大きくなっている。しかしながら、
この程度のベロシティ値の誤差は人間の耳に与える影響
は小さいので、ほとんど無視できる範囲の誤差であると
言える。また、図1(G)のキーオンイベントデータに
基づいて、図1(H)のような電子署名情報(著作権表
示データ)が再現されることになる。このようにして修
復された電子署名情報を図示していない表示装置などで
表示する。
【0042】なお、上述の第1の実施の形態では、ベロ
シティに1ビット、キーコードに3ビットの付属情報を
割り当てる場合について説明したが、これ以外のビット
の組み合わせでもよいことはいうまでもない。例えば、
ベロシティとキーコードにそれぞれ2ビットの付属情報
を割り当ててもよいし、ベロシティのみに4ビットの付
属情報を割り当ててもよい。上述の第1の実施の形態で
は、ノート方向を8等分、ベロシティ方向を2等分して
4ビット構成の付加情報を記録する場合について説明し
たが、ノート方向及びベロシティ方向の分割数を任意に
設定することにより、付加情報量を増やすことが可能で
ある。例えば、ノート、ベロシティの両方とも16等分
すれば、1キーオンイベントに8ビット構成の付加情報
を付加することもでき、アスキーコードの1バイトなら
ば1イベントのキーオンで表現することも可能となる。
なお、この場合には、キーコード差分値レジスタdke
y及びベロシティ差分値レジスタdvelの値が4以下
でないと、そのキーオンイベントには付加情報を割り当
てることができなくなるという制限が生じる。従って、
予めキーコード差分値及びベロシティ差分値の発生頻度
を取得し、それに応じて最も沢山の付属情報を埋め込む
ことが可能な分割数を選択するようにしてもよい。な
お、この場合、暗号化のためのアルゴリズムも、1デー
タ単位に組み込むべき付属情報のドット数に応じて、幾
分変更される。例えば、4ビットの付属情報をノートデ
ータに組み込む場合は、図3のステップ3Cでの暗号化
アルゴリズムの係数“8”が“4”に変更となる。ま
た、上述の第1の実施の形態では、図5に示すような関
係を演算式によって形成する場合について説明したが、
予め図5のような関係となるようなテーブルを作成して
おき、各値をテーブル変換することによって、所定の値
が求まるようにしてもよい。この場合には、図5のよう
に付属情報が規則正しく並んでいなくても、ランダムに
配列してあってもよいことになる。なお、テーブルは、
ROMやRAMのようなメモリ素子で構成するものに限
らず、ロジックゲート回路で構成してもよいし、ソフト
ウェアプログラムで構成してもよい。
【0043】上述の第1の実施の形態では、フロッピー
ディスクドライブ24から読み出されたMIDIデータ
においてそのヘッダ情報の一部である電子署名すなわち
著作権表示データを比較的大きなデータ単位でキーオン
イベントデータ中に分散して記憶すると共にMIDIフ
ォーマットを維持したまま暗号化処理を施す(電子透し
を施す)という場合について説明した。これだと、キー
オンイベントデータの中にはそのキーコード及びベロシ
ティの内容がほとんど書き換えられるものが出てくるの
で、所定のMIDIデータ修復処理を行わずにMIDI
データ再生処理を行っても再生される楽音は、全くデタ
ラメなものとなってしまう。この点に鑑みて、次に説明
する第2の実施の形態では、上記とは異なるやり方で
「電子透し」を施すようにしている。この第2の実施の
形態では、MIDIデータの最初の部分に、複数の暗号
化処理の中のどの暗号化処理が施されたのかを示すスク
ランブルデコードデータを埋め込み、そこには暗号化処
理を行わずに、通常のMIDIデータの再生を行えるよ
うにし、残りのMIDIデータ部分にスクランブルデコ
ードデータに対応したスクランブル処理を行い、MID
Iデータの再生を行うことができないようにしている。
【0044】図7は、MIDIデータ中に埋め込まれる
スクランブルデコードデータの内容を示す図である。こ
のスクランブルデコードデータは2バイト構成のデータ
であり、第1バイト目の上位4ビットはそのアルゴリズ
ムを示し、下位4ビットはスクランブル処理されるイベ
ント数すなわちカウント数を示し、第2バイト目の8ビ
ットはそのアルゴリズムに対応したバリューを示す。こ
こで、アルゴリズムの種類としては、キーオンデータの
ノート番号を変更するというもの、キーオンデータのノ
ートとベロシティを入れ替えるというもの、インターバ
ルデータを変更するというもの、キーオンデータのチャ
ンネルデータを変更するというものなどがある。カウン
ト数は、前述のようにASCIIの2文字分すなわち1
6ビット分のデータを作成するのに必要な数のキーオン
イベントデータの先頭からいくつに対してスクランブル
処理を行うのかを示すものである。
【0045】上述の第1の実施の形態の場合には、1つ
のキーオンイベントデータに4ビット分のデータを埋め
込むことができたので、2つのキーオンイベントデータ
にASCIIの1文字分の付属情報を埋め込むことがで
きたが、今回の第2の実施の形態では、1つのキーオン
イベントデータに1ビット分のデータしか埋め込めない
場合について説明するので、修正するイベント数の最大
値は16となる。バリューは対応するアルゴリズムによ
って異なるものであり,例えば、キーオンデータのノー
ト番号を変更するというアルゴリズムの場合には、その
変更する度合いすなわちトランスポーズ値(修正ノート
値)であり、インターバルデータを変更するというアル
ゴリズムの場合には、その変更する修正値であり、キー
オンデータのチャンネルデータを変更する場合には、そ
の修正チャンネル値である。このように全部で16種類
のアルゴリズムが規定されているものする。なお、この
16種類のアルゴリズムの中の一つとして、前述の第1
の実施の形態に係るようなスクランブル処理が存在して
もよいことはいうまでもない。
【0046】図8は、電子楽器1が電子情報処理システ
ムとして動作する場合のMIDI編集処理の別の一例と
なるMIDI編集処理2を示すフローチャート図であ
る。まず、この場合には、電子楽器1は、フロッピーデ
ィスクドライブ24から読み出したMIDIデータにそ
のヘッダ情報の一部である電子署名すなわち著作権表示
データを分散して記憶すると共に前述の16ビット構成
のスクランブルデコードデータを記憶する。まず、ステ
ップ81では、MIDIデータ列内に分散して書き込ま
れるべきスクランブルの内容を決定する。すなわち、図
8のどのアルゴリズムに基づいてスクランブル処理を行
うのかがパネルスイッチ2Eによって予め設定されるも
のとする。スクランブルの内容がステップ81で決定し
たので、今度はステップ82でそのスクランブルのデコ
ードデータ列を得る。例えば、パネルスイッチ2Eによ
って、第5番目のアルゴリズムが選択された場合には、
そのアルゴリズムの種類を示すデータ『0101B』
と、そのアルゴリズムによって修正されるカウント数
『1001B』とからなる8ビット構成のデータ列がス
クランブルデコードデータ列としてMIDIデータ列内
に分散して記録されるようになる。
【0047】次に、ステップ83では、ステップ82で
得られたスクランブルデコードデータ列の1バイト分を
バイトレジスタBRに格納する。そして、ステップ84
では、このバイトレジスタBRに格納されたスクランブ
ルデコードデータの各ビットを反転して、別の8ビット
構成のビット列を作成する。例えば、スクランブルデコ
ードデータ列が図12(F)に示すように『01011
001B』のような場合には、ステップ84のデータ変
換すなわちビット反転によって、図12(E)のような
ビット列『10100110B』になる。次に、ステッ
プ85では、MIDIデータ列(Standard M
IDIFile:SMF)の中からキーオンイベントデ
ータやプログラムチェンジデータやコントロールチェン
ジデータなどの各種のMIDIデータを順次取り出す。
すなわち、MIDIデータ列は基本的にはキーオンステ
ータスバイト、キーコードバイト、ベロシティバイトか
らなるキーオンイベントデータやこれ以外のプログラム
チェンジイベントデータやコントロールチェンジイベン
トデータなどから構成されているので、ステップ85で
は、このようなMIDIデータを順番に取り出す。
【0048】ステップ86では、取り出されたMIDI
データがキーオンイベントデータKONであるかどうか
を判定し、キーオンイベントデータ(YES)の場合は
次のステップ87に進み、そうでない(NO)の場合は
ステップ8Dに進む。従って、ステップ85で取り出さ
れたMIDIデータがキーオンイベントデータの場合に
は、図12(A)のようなキーオンイベントデータから
なるMIDIデータ列SMF1が得られることになる。
このキーオンイベントデータのMIDIデータ列SMF
1はデュレーションタイムDと、キーオンイベントデー
タとの組合せで構成される。ステップ87では、キーオ
ンイベントデータの中の各バイトのデータをそれぞれ対
応するレジスタa,b,cに格納する。すなわち、キー
オンイベントデータの中のキーオンステータスバイトの
中のチャンネル番号をチャンネルレジスタaに、次の第
1のデータバイト(キーコードバイト)の中のキーコー
ドをキーコードレジスタbに、第2のデータバイト(ベ
ロシティバイト)の中のベロシティをベロシティレジス
タcにそれぞれ格納する。
【0049】ステップ88では、ステップ84で作成さ
れたビット列の先頭から1ビット取り出して、それを第
1のビットフラグBF1に格納する。次のステップ89
では、ステップ87の各レジスタa,b,cの格納値を
所定の関数に従って演算し、その演算結果によって得ら
れたビットデータを反転して、第2のビットフラグBF
2に格納する。この実施の形態では、各レジスタa,
b,cの値の合計値のモジュロ2を所定の関数とする。
すなわち、関数f1(a,b,c,)=(a+b+c)
mod2とする。例えば、図12(A)のようなキーオ
ンイベントMIDIデータ列SMF1の場合には、8つ
のキーオンイベントデータでスクランブルデコードデー
タのアルゴリズム及びカウント数に相当するデータが作
成される。まず、各キーオンイベントデータの所定の関
数f1(a,b,c)で演算すると、図12(B)のよ
うになる。すなわち、(a+b+c)の値が偶数なら
『0』、奇数なら『1』となる。そして、これらの反転
ビットが第2のビットフラグBF2に格納され、図12
(C)のようになる。
【0050】ステップ8Aでは、ステップ88及びステ
ップ89で得られた第1のビットフラグBF1と第2の
ビットフラグBF2とが等しいかどうかを判定し、等し
い(YES)場合には次のステップ8B及びステップ8
Cの処理を行い、等しくない(NO)場合はステップ8
Eにジャンプする。ステップ8Bでは、第1のビットフ
ラグBF1と第2のビットフラグBF2とが等しいと判
定されたので、ベロシティレジスタcの値すなわちベロ
シティデータの最下位ビットに『1』を加算する。そし
て、ステップ8Cで、そのレジスタcの値に基づいてM
IDIデータ列中のキーオンイベントデータを構成する
ベロシティの値を更新する。すなわち、ベロシティの値
を1だけ増加する。例えば、図12の場合には、第1の
ビットフラグBF1と第2のビットフラグBF2との3
番目、5番目、6番目及び7番目がそれぞれ等しいと、
ステップ8Aで判定されるので、MIDIデータ列中の
3番目、5番目、6番目及び7番目のキーオンイベント
データのベロシティの値が『1』だけ増加される。すな
わち、3番目のキーオンイベントデータのベロシティ値
『63』が『64』になり、5番目のキーオンイベント
データのベロシティ値『78』が『79』になり、6番
目のキーオンイベントデータのベロシティ値『91』が
『92』になり、7番目のキーオンイベントデータのベ
ロシティ値『42』が『43』になる。
【0051】ステップ8Dでは、ステップ86又はステ
ップ8AでNOと判定された場合又はステップ8Cの処
理を終えた場合に行われる処理であって、ステップ85
〜ステップ8Cまでの処理を1巡回処理とした場合にこ
の1巡回処理が8回分すなわち8ビット分行われたかど
うかを判定し、8回分行われた(YES)場合には、次
のステップ8Eに進み、そうでない(NO)の場合は、
ステップ85にリターンし、次の1ビットに対してステ
ップ85〜ステップ8Cの処理を行う。ステップ8Eで
は、ステップ83〜ステップ8Dまでの処理を1巡回処
理とした場合にその1巡回処理がスクランブルデコード
データの構成バイト数だけ行われたかどうかを判定し、
行われた(YES)場合には、次のステップ8Fに進
み、そうでない(NO)場合は、ステップ83にリター
ンし、スクランブルデコードデータの次の1バイトのバ
リューに対してステップ83〜ステップ8Dの処理を行
う。
【0052】ステップ8Fでは、ステップ81で選択さ
れたスクランブルの内容に応じて、MIDIデータ列の
後半部分にスクランブル処理を施す。例えば、前述のス
クランブルデコードデータの埋め込み終了後のキーオン
データに対してスクランブル処理を行うようにしてもよ
いし、スクランブルデコードデータの埋め込み終了後、
所定数のキーオンデータ経過後にスクランブル処理を行
うようにしてもよい。また、スクランブルデコードデー
タの埋め込みを複数回行い、その後にスクランブル処理
を行うようにしてもよい。この場合に、取り出されたM
IDIデータがプログラムチェンジイベントPCMの場
合には、スクランブルの内容をランダムに変更して、ス
クランブルデコードデータの埋め込み処理及びスクラン
ブルの内容に応じたMIDIデータ列の編集処理を行う
ようにしてもよい。プログラムチェンジイベントはノー
トオンイベントなどに比べて、比較的低頻度で発生し、
プログラムチェンジ後は、楽器が変わることを意味する
ので、その位置を始点としてスクランブルの内容を変更
し、そのスクランブルデコードデータを埋め込み、スク
ランブル処理を行うことによって、一定の楽器について
はスクランブルの掛からない演奏を行うことができ、あ
る所定時間経過後に演奏にスクランブルをかけることが
できる。
【0053】次に、図8のMIDI編集処理2によって
付与されたスクランブルデコードデータの修復処理につ
いて説明する。なお、スクランブル処理の解除について
は、アルゴリズムに応じて逆の処理を施せばいいので、
ここではその説明は省略する。図9は、電子楽器1がM
IDIデータ修復装置して動作する場合の一例となるM
IDIデータ修復処理2を示すフローチャート図であ
る。この場合には、フロッピーディスクドライブ24か
ら読み出されたMIDIデータのベロシティバイト部分
にそのヘッダ情報の一部である電子署名すなわち著作権
表示データが分散記録されているとともにスクランブル
デコードデータが記録されているものとする。以下の実
施の形態では、このスクランブールデコードデータを検
出して、それに基づいてMIDIデータを修復するまで
の動作について説明する。
【0054】まず、ステップ91では、デコードデータ
格納レジスタDECODEにナルデータを格納する。す
なわち、デコードデータ格納レジスタDECODEの内
容をリセットする。ステップ92では、スクランブルデ
コードデータを検出すべきMIDIデータ列、すなわち
図8のMIDIデータ編集によってスクランブルデコー
ドデータの付与されたMIDIデータ列を取り出す。そ
して、次のステップ93で、バイトレジスタBRとビッ
トカウンタBCNの値をリセットする。
【0055】次に、ステップ94では、MIDIデータ
列(Standard MIDIFile:SMF)の
中から順次キーオンイベントデータやプログラムチェン
ジデータやコントロールチェンジデータなどのデータを
取り出す。ステップ95では、取り出されたMIDIデ
ータがキーオンイベントデータKONであるかどうかを
判定し、キーオンイベントデータ(YES)の場合は次
のステップ96に進み、そうでない(NO)場合はステ
ップ9Cに進む。従って、ステップ94で取り出された
MIDIデータがキーオンイベントデータの場合には、
図12(G)のようなキーオンイベントMIDIデータ
列SMF2が作成されることになる。なお、図12
(G)のキーオンイベントデータ列は先に電子署名の付
与された図12(D)のキーオンイベントデータ列SM
F2と同じものである。
【0056】ステップ96では、キーオンイベントデー
タの中の各バイトのデータをそれぞれ対応するレジスタ
a,b,cに格納する。すなわち、キーオンイベントデ
ータの中のキーオンステータスバイトの中のチャンネル
番号をチャンネルレジスタaに、次の第1のデータバイ
ト(キーコードバイト)の中のキーコードをキーコード
レジスタbに、第2のデータバイト(ベロシティバイ
ト)の中のベロシティをベロシティレジスタcにそれぞ
れ格納する。ステップ97では、バイトレジスタBRの
値を2倍、すなわち、シフトして、その最下位ビットに
関数f1(a,b,c,)=(a+b+c)mod2の
反転値を加算する。ステップ98では、ビットカウンタ
BCNの値を1だけインクリメントする。ステップ99
では、ビットカウンタBCNの値が『8』になったかど
うかを判定し、YESの場合は次のステップ9Aに進
み、NOの場合はステップ9Cにジャンプする。
【0057】例えば、図12(G)のようなキーオンイ
ベントのMIDIデータ列SMF2の場合には、8つの
キーオンイベントデータで1バイト分のスクランブルデ
コードデータが作成される。まず、各キーオンイベント
データの所定の関数f1(a,b,c)で演算すると、
図12(H)のようになる。すなわち、(a+b+c)
の値が偶数なら『0』、奇数なら『1』となる。そし
て、これらの反転ビットは図12(J)のようになり、
その値がバイトレジスタBRを順次シフトしていくた
め、最終的には図12(J)のような1バイト分のスク
ランブルデコードデータが形成される。このようにし
て、得られた図12(J)のデータは図12(F)と同
じである。すなわち、MIDIデータのベロシティバイ
トに分散して書き込まれたスクランブルデコードデー
タ、すなわち図12(F)のようなデータが図12
(J)のように忠実に再現されたことになる。
【0058】ステップ9Aでは、バイトレジスタBRの
格納値をデコードデータ格納レジスタDECODEに追
加記憶する。ステップ9Bで、バイトレジスタBRとビ
ットカウンタBCNの値をリセットする。ステップ9C
では、ステップ95でNOと判定された場合、又はステ
ップ9Bの処理を終了した場合に行われる処理であっ
て、ステップ94〜ステップ9Bの処理がスクランブル
デコードデータに対応する2バイト分終了したかどうか
の判定を行い、この判定結果が2バイト分終了(YE
S)の場合には、次のステップ9Dに進み、終了してい
ない(NO)場合にはステップ94にリターンし、一連
の処理を繰り返し実行する。ステップ9Dでは、スクラ
ンブルデコードデータの内容に基づいてスクランブル処
理されたMIDIデータの修復処理を行う。
【0059】なお、上述の実施の形態では、MIDIデ
ータ列からキーオンイベントデータを順番に取り出し
て、それに対して順番にスクランブルデコードデータを
格納する場合について説明したが、これだと、1つのM
IDIデータ列に対して1種類のスクランブル処理しか
行えない。そこで、チャンネル単位毎に異なるスクラン
ブル処理を行えるようにした第3の実施の形態について
説明する。図10は、電子楽器1がMIDIデータ編集
装置して動作する場合の一例となるMIDIデータ編集
処理3を示すフローチャート図である。まず、この場合
は、電子楽器1は、フロッピーディスクドライブ24か
ら読み出したMIDIデータ中に前述のようなスクラン
ブルデコードデータと共にヘッダ情報の一部である電子
署名すなわち著作権表示データを併せて分散記録する。
【0060】まず、ステップ101では、MIDIデー
タ列内に分散して書き込まれるべき電子署名(著作権表
示データ)の内容を決定するとともに、各チャンネルに
対応したスクランブルデコードデータの内容を決定す
る。例えば、著作権表示データとして『COPYRIG
HT△YMH△1996』のような文字をMIDIデー
タ列内に分散して書き込む場合には、これらの文字列を
パネルスイッチ2Eを用いて決定する。ここで、△は空
白を意味するものとする。書き込むべき電子署名すなわ
ち文字列及びスクランブルデコードデータの内容が決定
したので、今度はステップ32で、その電子署名及びス
クランブルデコードデータに関するデータ列を得る。例
えば、パネルスイッチ2Eによって『COPYRIGH
T△YMH△1996』が入力された場合には、それを
ASCIIの文字符号のデータ列に変換する。この場合
は、『C』=『43H』、『O』=『4FH』、『P』
=『50H』、『Y』=『59H』、『R』=『52
H』、『I』=『49H』、『G』=『47H』、
『H』=『48H』、『T』=『54H』、『△』=
『20H』、『Y』=『59H』、『M』=『4D
H』、『H』=『48H』、『△』=『20H』、
『1』=『31H』、『9』=『39H』、『9』=
『39H』、『6』=『36H』からなる一連のASC
IIのデータ列が得られることになる。
【0061】これらの文字符号のデータ列は前述の第2
の実施の形態において説明した、スクランブルデコード
データと同様の手法でMIDIデータの中に埋め込むこ
とができることはいうまでもない。従って、以下の処理
では、これらのASCIIのデータ列をスクランブルデ
コードデータ列の埋め込み法と同様のやり方で、MID
Iデータ列中に分散記録するものとする。すなわち、次
のステップ103では、図8のステップ83〜ステップ
8Fと同様の処理をそのチャンネルに対してそれぞれ行
う。このとき、ステップ89の所定の関数に従った演算
処理をそのチャンネルに対してそれぞれ異ならせて行
う。例えば、ステップ89では、関数f1(a,b,
c,)=(a+b+c)mod2を第2のビットフラグ
BF2に格納しており、これを第1の関数処理とする。
そして、この第1の関数処理に加えて、次の第2、第3
及び第4の関数処理の中から、適当なものを各チャンネ
ル毎に使い分けるようにする。第2の関数処理は、f2
(a,b,c)=(a+c)mod2、第3の関数処理
は、f3(a,b,c)=(b+c)mod2、第4の
関数処理は、f4(a,b,c)=(c)mod2、で
ある。
【0062】ステップ103では、これらの第1から第
4までの関数処理をMIDIチャンネル毎に適宜選択的
に切り換えて、図8のステップ83〜ステップ8Fと同
様の処理を行い、それぞれのチャンネル毎にその選択さ
れた関数処理に従って変換された電子署名データ及びス
クランブルデコードデータをMIDIデータ中に冗長的
に組み込む。このように、チャンネル毎に関数処理の内
容を変更することによって、或るチャンネルのデータを
一度に変更するようなエディット処理、例えばチャンネ
ル情報の入れ替えやキーコードのシフトなどといったも
のが行われた場合でも、エディットによって変更される
特定のチャンネルのデータに関係しない関数を利用して
いる別のチャネルのデータから電子署名データやスクラ
ンブルデコードデータを復元することができる。
【0063】次に、図10のMIDIデータ編集処理3
によって編集されたMIDIデータを修復するMIDI
データ修復処理3について図11を用いて説明する。図
11は、電子楽器1がMIDIデータ修復装置として動
作する場合の一例であるMIDIデータ修復処理3を示
すフローチャート図である。この場合、フロッピーディ
スクドライブ24から読み出されたMIDIデータの各
チャンネル毎に所定の関数処理(前述の第1から第4ま
でのいずれかの関数処理)によって、ベロシティバイト
部分にそのヘッダ情報の一部である電子署名(著作権表
示データ)及びスクランブルデコードデータが分散記録
されているものとする。従って、以下の実施の形態で
は、分散記録された著作権表示データをチャンネル毎に
所定の関数処理によって検出して、それをモニタなどに
表示したり、スクランブルデコードデータに基づいてM
IDIデータを修復するという動作を行う場合について
説明する。
【0064】まず、ステップ111では、電子署名を検
出すべきMIDIデータ列、すなわち図10のMIDI
データ編集処理3によって各チャンネル毎に所定の関数
処理に応じて電子署名データ及びスクランブルデコード
データの付与されたMIDIデータ列を取り出す。そし
て、次のステップ112で、チャンネルカウンタをリセ
ットし、ステップ113で関数カウンタをリセットす
る。このチャンネルカウンタと関数カウンタは、後の処
理で、各チャンネルに対して各関数処理を施すために利
用されるものである。例えば、MIDIチャンネルが1
6チャンネル相当の場合には、チャンネルカウンタは0
から15までを巡回的にカウントするように処理され
る。また、関数カウンタは、前述のように関数処理が4
種類の場合には、0〜3までも巡回的にカウントするよ
うに処理される。関数カウンタが『0』の場合は第1の
関数処理f1(a,b,c,)=(a+b+c)mod
2を、『1』の場合は第2の関数処理f2(a,b,
c)=(a+c)mod2を、『2』の場合は第3の関
数処理f3(a,b,c)=(b+c)mod2を、
『3』の場合は第4の関数処理f4(a,b,c)=
(c)mod2を意味する。
【0065】ステップ114では、チャンネルカウンタ
の値に該当するチャンネルについて、関数カウンタの値
に該当する関数処理を用いて図9のステップ91からス
テップ9Cまでと同様にして電子署名データ及びスクラ
ンブルデコードデータの検出処理を行う。ステップ11
5では、検出された電子署名データ列に有意な部分があ
るかどうかの判定を行う。ここで有意な部分とは、AS
CIIの文字データによって構成される『COPYRI
GHT』なる署名データの一部分である。従って、ステ
ップ115では、図9の処理によってデコードデータ格
納レジスタDECODEに順次追加されたASCIIの
文字データによって構成された文字列の中に『COPY
RIGHT』なる文字列データが存在するかどうかを判
定することになる。ステップ115の判定の結果、デコ
ードデータ格納レジスタDECODE内に有意な部分が
存在しない(NO)と判定された場合には、次のステッ
プ116に進み、関数カウンタを1だけインクリメント
する。そして、次のステップ117で、全ての関数処理
に対してステップ114及びステップ115の処理すな
わち署名データ及びスクランブルデコードデータの抽出
処理が行われたかどうかの判定を行い、行われた(YE
S)場合には次のステップ118に進み、そうでない
(NO)場合はステップ114にリターンし、次の関数
処理についてステップ114及びステップ115の処理
を行う。逆に、ステップ115の判定の結果、デコード
データ格納レジスタDECODE内に有意な部分が存在
した場合には、ステップ119に進み、スクランブルデ
コードデータの内容に基づいてMIDIデータの修復を
行う。すなわち、ステップ115における判定がYES
であったということは、検出されたスクランブルデコー
ドデータも有意なものだと判断できるので、そのスクラ
ンブルデコードデータに基づいて元のMIDIデータを
修復する。なお、検出された電子署名データをモニタ上
に表示するようにしてもよいことはいうまでもない。
【0066】ステップ117でYESと判定されたとい
うことは、全てのMIDIチャンネルに対して、全ての
関数処理を用いて電子署名データ及びスクランブルデコ
ードデータの抽出処理を行った結果、データ列に有意な
部分が存在しなかったということだから、ステップ11
8では、その結果として『電子署名データ及びスクラン
ブルデコードデータの検出失敗』などの文字をモニタ上
に表示する。ステップ11Aでは、チャンネルカウンタ
を1だけインクリメントする。そして、次のステップ1
1Bで全てのチャンネルに対してステップ114及びス
テップ115の処理すなわち電子署名データ及びスクラ
ンブルデコードデータの抽出処理が行われたかどうかの
判定を行い、行われた(YES)場合には処理を終了
し、そうでない(NO)場合はステップ113にリター
ンし、次のMIDIチャンネルについてステップ113
〜ステップ115の処理を行う。
【0067】なお、MIDIデータに基づく楽音再生演
奏において、部分的に変更されたベロシティデータがそ
のまま演奏に利用されるようにしてよい。これは、ベロ
シティデータの最下位ビットの値が1だけ増加したとし
ても、楽音再生精度にはさほどの悪影響を与えないから
である。勿論、電子署名データの組込みによって引き起
こされたどんな誤差でもベロシティデータから取り除く
ように、部分的に変更されたベロシティデータを正確な
値で再生するようにすることも可能である。なお、上述
の実施の形態では、署名データやスクランブルデコード
データをMIDIデータのベロシティ部分に分散記録す
る場合について説明したが、これは一例であり、これ以
外の著作者名、曲の題名、画像/映像の題名などに関す
る文字データやデータ形式に関するデータやその他の種
々のデータを分散記録してもよいことはいうまでもな
い。
【0068】また、ベロシティ部分以外の、デュレーシ
ョンタイム(待ち時間)データに分散記録してもよい
し、その両方に分散記録するようにしてもよい。両方に
分散記録する場合、その厳密性すなわち分散記録するこ
とによってそのデータの内容が変更する度合いに応じ
て、分散記録する箇所を適宜切り換えるようにしてもよ
い。すなわち、デュレーションタイムデータの短い領域
で、そのデュレーションタイムデータに分散記録する
と、それによる変動の割合(厳密性)が大きくなるの
で、好ましくないが、デュレーションタイムデータが比
較的大きい領域では、逆の関係にあるので、分散記録し
ても影響は少ない。同じく、ベロシティ部分に記録する
場合でも、ベロシティの値の小さい領域て、そのベロシ
ティ部分に分散記録すると、それによる変動の割合(厳
密性)が大きくなるので、好ましくないが、ベロシティ
の値の大きい領域では、分散記録しても影響は少ない。
従って、これらを適宜考慮して所定値よりも大きいベロ
シティに種々のデータを分散記録するようにしてもよ
い。
【0069】また、上述の実施の形態では、MIDIデ
ータに分散記録する場合について説明したが、これ以外
の波形データやシーケンスデータ、ディジタル記録音声
データ、画像データ、動画データ、レジストレーション
(電子楽器の設定記録)データなどに分散記録するよう
にしてもよい。波形データに分散記録する場合には、所
定の関数処理としてその波形データ(wave_dat
a)そのもののモジュロ2、すなわち、f1(wave
_data)=wave_data mod2としても
よい。また、波形データの値とそのポイントデータとを
用いて、両データの和のモジュロ2、すなわち、f2
(wave_data,sample_point)=
(wave_data+sample_point)
mod2としてもよい。図10及び図11の実施の形態
では、各(論理)チャンネル毎に関数処理の種類を変更
して、署名データを検出する場合について説明したが、
プログラムチェンジデータの検出タイミング毎に関数処
理の種類を変更するようにしてもよい。この場合には、
検出されたデータ列に有意な部分が存在するかどうかの
判定処理も各プログラムチェンジデータの検出タイミン
グ毎に行う必要がある。
【0070】上述の実施の形態では、検出された電子署
名データをモニタ上に表示する場合について説明した
が、検出側において、電子署名データが存在しない場合
や電子署名データが完全に復旧できない場合(各論理チ
ャンネルにおいて、電子署名データが検出できるチャン
ネルと検出できないチャンネルが混在する場合)には、
データの再生を中止するようにしてもよい。また、その
検出側の電子楽器やコンピュータなどがネットワークに
接続されている場合には、そのネットワーク上に不正に
エディットされたデータが存在することを送信し、それ
をホストコンピュータ側で検出することができるように
してもよい。上述の実施の形態では、電子楽器がMID
Iデータ編集装置又はMIDIデータ修復装置として動
作する場合について説明したが、同様の処理を行うハー
ドウェアを別途構成するようにしてもよいし、ソフトウ
ェア、DSPとマイクロプログラムなどで構成するよう
にしてもよい。また、このようなMIDIデータ編集装
置又はMIDIデータ修復装置をフロッピーディスクド
ライブや通信インターフェイスなどに予め内蔵しておい
て、データの入出力の段階で強制的に電子署名データを
付与したり、検出したりするようにしてもよい。
【0071】上述の実施の形態では、電子署名データや
スクランブルデコードデータを付与する場合を説明した
が、電子署名データやスクランブルデコードデータの付
与されたデータを、フロッピーディスクやコンパクトデ
ィスクなどで供給するようにしてもよいし、ネットワー
クを通じて電子的に供給するようなデータ形態を採用し
てもよい。図8のステップ8Bでは、ベロシティデータ
の値を1だけインクリメント処理する場合について説明
したが、デクリメント処理してもよいし、これらの処理
を適当なタイミング(所定データ数毎とか)で交互に行
うようにしてもよい。上述の実施の形態では、所定の関
数処理の後にビット反転処理を行う場合について説明し
たが、これは行わなくてもよい。また、ビット反転処理
の他にも、上位ビットと下位ビットを入れ替えるとか、
AND、OR、XORなどの論理演算処理を施すとか、
種々の処理を加えるようにしてもよいことはいうまでも
ない。また、適宜の暗号化処理を施すようにしてもよ
い。例えば、上述の第1から第4までの関数処理の結果
を適宜組み合わせてもよいし、前回の関数処理の結果を
次の関数処理に組み合わせて演算するようにしてもよ
い。なお、これらの各処理はある程度高速に行うことが
でき、変換後、逆変換によりもとに戻せるものであれ
ば、これ以外の方法でもよいことはいうまでもない。
【0072】上述の実施の形態では、プログラムチェン
ジデータの検出タイミング毎に新たに電子署名データや
スクランブルデコードデータの付与処理を行う場合につ
いて説明したが、これに限らず、小節単位(例えば8小
節毎など)データの検出タイミング毎に行うようにして
もよい。また、波形データに分散記録する場合には、所
定のサンプル数毎や所定のゼロクロス毎に新たに署名デ
ータの付与処理を行うようにしてもよい。ゼロクロス
(波形の値の符号が変わるタイミング)は波形エディッ
トの際の基準地点と考えられるからである。また、上述
の実施の形態では、電子署名データや題名などのような
付属情報を記録する場合について説明したが、MIDI
データと波形データを合わせて記録する場合に、MID
Iデータにその波形データの一部を記録するようにして
もよいし、波形データにMIDIデータの一部を合わせ
て記録するようにしてもよい。
【0073】なお、上述の実施の形態では、署名データ
をMIDIデータのベロシティ部分に分散記録する場合
について説明したが、これは一例であり、これ以外の著
作者名、曲の題名(曲名)、画像/映像の題名などに関
するテキスト情報や、そのデータ形式に関する情報やそ
の他の種々の電子情報(曲の解説、著作者に関する情
報、著作年、歌詞、ニュース、ハードID(機種名、使
用OS)などの各種情報)を分散記録してもよいことは
いうまでもない。この場合には、図8から図11までの
各処理における電子署名をこれらの各種電子情報に置き
換えて処理すればよい。このようにして処理された電子
情報をモニタ画面上に表示するようにしてもよい。な
お、このとき、付属情報を一連の纏まったファイル情報
として検出して、これをメモリ等に記憶するあるいは適
宜これを利用する、ようにしてもよいし、自動演奏中に
MIDIデータから検出される電子情報の流れとして認
識し、それをリアルタイムに画面表示したりしてもよ
い。この場合、付属情報が画像情報の場合には、主要情
報であるMIDIデータの受信に伴ってリアルタイムに
画像が描画されるようになり、テキスト情報の場合に
は、ニュース配信などのようなリアルタイムな情報表示
を行うことが可能となる。また、情報を付加するための
技術がシンプルであるため、オンデマンドなどで電子情
報を埋め込むことができるので、TV放送などのような
リアルタイムな描画が可能となる。また、通信ネットワ
ークを通じた情報通信において本発明を適用してもよ
く、例えば、インターネットや電子メールなどのIDや
パスワードの配信にも利用することができる。また、簡
単なサウンドメッセージを付属情報としてもよい。
【0074】上記のような、通信ネットワークを通じた
本発明の実施の形態を略示するシステム構成図が、図1
6に示されている。送信側において、送信しようとする
主要情報(例えばMIDI情報のような音楽演奏情報)
がサーバー160から供給される。スクランブルエンコ
ーダ161では、本発明の各実施例に示したやり方で、
この主要情報に対して任意の付属情報がリアルタイムで
組み込まれる。付属情報を適宜組み込んだ主要情報がネ
ットワーク163を介して送信される。受信側では、デ
コーダ164において、本発明の各実施例に示したやり
方で、受信したデータから付属情報が組み込まれている
部分を検出し、これをデコードして、付属情報と主要情
報を分離して再生する。MIDI情報のような音楽演奏
情報からなる主要情報は音源165に与えられて、音楽
演奏を再生する。テキストや静止画像あるいは動画等か
らなる付属情報はディスプレイ166に与えられて、リ
アルタイムで表示される。スクランブルエンコーダ16
1及びデコーダ164は、上述のようにソフトウェアで
構成されていてもよいし、あるいは専用ハードウェアで
構成してもよい。
【0075】なお、上述の第1の実施の形態、すなわち
図3のMIDIデータ編集処理1では、ステップ38に
おいて、前回のキーオンイベントデータのキーコードを
格納した前回値レジスタb0と今回のキーオンイベント
データのキーコードを格納したキーコードレジスタbと
の間の差分を取り、それをキーコード差分値レジスタd
keyに格納すると共に、前回のキーオンイベントデー
タのベロシティを格納した前回値レジスタc0と今回の
キーオンイベントデータのベロシティを格納したベロシ
ティレジスタcとの間の差分を取り、それをベロシティ
差分値レジスタdvelに格納している。その関係上、
ステップ3Aからステップ3Gまでの処理によって変換
された新しいキーコードの値b1及びベロシティの値c
1は、常に前回のキーオンイベントにおけるキーコード
及びベロシティとの間に密接な関係を有することにな
る。図4のMIDIデータ修復処理1でも、前回値レジ
スタb0とキーコードレジスタbとに基づいて修復キー
コードレジスタb2の値を求め、前回値レジスタc0と
ベロシティレジスタcとに基づいて修復ベロシティレジ
スタc2の値を求めている。従って、図3のMIDIデ
ータ編集処理後にMIDIデータのイベントデータ(キ
ーコード又はベロシティの値)が修正されると、それ以
降に修復処理された修復キーコード及び修復ベロシティ
の値が元のデータと全て異なってしまうということが起
こる。これはデータを改竄した場合にそれ以降のデータ
を全て無効にすることができるという点では優れている
が、途中のイベントデータにエラーが発生し、キーコー
ド又はベロシティが変化した場合、それ以降のデータを
有効に修復することができなくなるという問題を有す
る。
【0076】そこで、図3のMIDIデータ編集処理1
及び図4のMIDIデータ修復処理1を図13のMID
Iデータ編集処理4及び図14のMIDIデータ修復処
理4のように変更することによって、イベントデータが
途中で書き換えられたりなどして変化した場合でも、そ
れ以降のデータを有効に修復することができるようにし
た。図13のMIDIデータ編集処理4において図3の
MIDIデータ編集処理1と同じものには同一の符号が
付してあるので、その説明は省略する。図13のMID
Iデータ編集処理4が図3のMIDIデータ編集処理1
と異なる点は、図3のステップ39の処理が省略され、
ステップ38の前回値レジスタb0及びc0がステップ
138のように先頭値レジスタbH及びcHに変更され
た点である。ステップ138では、先頭のキーオンイベ
ントデータのキーコードを格納した先頭値レジスタbH
と今回のキーオンイベントデータのキーコードを格納し
たキーコードレジスタbとの間の差分を取り、それをキ
ーコード差分値レジスタdkeyに格納すると共に、先
頭のキーオンイベントデータのベロシティを格納した先
頭値レジスタcHと今回のキーオンイベントデータのベ
ロシティを格納したベロシティレジスタcとの間の差分
を取り、それをベロシティ差分値レジスタdvelに格
納する。そして、このキーコード差分値レジスタdke
yの格納値とベロシティ差分値レジスタdvelの格納
値に基づいて新たなキーコードb1及びベロシティc1
を算出している。
【0077】図14のMIDIデータ修復処理4におい
て図4のMIDIデータ修復処理1と同じものには同一
の符号が付してあるので、その説明は省略する。図14
のMIDIデータ修復処理4が図4のMIDIデータ修
復処理1と異なる点は、図4のステップ48の処理が省
略され、ステップ45及びステップ46の前回値レジス
タb0及びc0がステップ145及びステップ146の
ように先頭値レジスタbH及びcHに変更された点であ
る。すなわち、ステップ145では先頭値レジスタbH
とキーコードレジスタbとの値に基づいて修復キーコー
ドレジスタb2の値を求め、ステップ146では先頭値
レジスタcHとベロシティレジスタcとの値に基づいて
修復ベロシティレジスタc2の値を求めている。図13
及び図14のように変更することによって、先頭のイベ
ントデータの値に基づいてMIDIデータは編集され、
修復されるようになるので、途中のイベントデータが書
き換えられたり、エラーなどの発生によって変化した場
合でもそれ以降のデータを修復できなくなるというよう
なことは起こらず、エラーの発生したイベントデータ以
降も完全に修復することができるようになる。なお、上
述の説明では先頭のイベントデータの値に基づいてMI
DIデータを編集する場合について説明したが、予め任
意の値をヘッダに書き込んでおいて、その値に基づいて
MIDIデータを編集したり、修復したりするようにし
てもよい。また、その基準となるイベントデータの値を
任意のイベント(例えば1小節における先頭のイベン
ト)から取り込むようにしてもよい。
【0078】ところで、図14のMIDIデータ修復処
理において、レジスタbH,cHにストアされるデータ
は、電子透しが埋め込まれた又は暗号化されたデータを
修復するための「鍵情報」の一種に相当している。この
データ修復のための「鍵情報」は、上記実施例では先頭
のキーオンイベントデータとして主要情報(電子透しま
たは暗号化の対象となる情報)の中に含まれているもの
が用いられているが、これに限らず、データ修復のため
の「鍵情報」が、主要情報にも付属情報にも含まれない
ようにしてもよい。すなわち、図14のMIDIデータ
修復処理において、レジスタbH,cHにストアされる
データ修復用「鍵情報」を、主要情報及び付属情報のデ
ータファイルとは別途に供給するようにする。勿論、そ
の場合、レジスタbH,cHにストアされるデータ修復
用「鍵情報」は、上記のような先頭のキーオンイベント
データのキーコード又はベロシティデータである必要は
なく、適宜に設定したデータであってよい。そのために
は、データ編集処理(つまり電子透し埋め込み又は暗号
化すなわちエンコード処理)の際に、例えば図13のス
テップ138で使用するレジスタbH,cHに格納する
データとして、所望のデータを任意に設定するようにす
ればよい。このレジスタbH,cHに格納するデータは
前述の通り、電子透し埋め込み又は暗号化(つまりエン
コード)のための所定のアルゴリズムにおいて変数の一
種(エンコードしようとするデータの差分値を算出する
ための演算の変数)として、すなわち電子透し埋め込み
又は暗号化演算のための補助情報として、使用されるも
のである。従って、所望の変数を設定入力し、これをレ
ジスタbH,cHにストアすることで、該設定入力した
変数を用いて電子透し埋め込み又は暗号化(つまりエン
コード)処理が行われるようにすればよい。この変数
(つまり、データ修復の際には「鍵情報」として利用さ
れるもの)の設定入力処理は、図13のステップ138
のあたりで行うようにしてもよいが、その前の段階、例
えば、ステップ31のあたりで、行うようにするとよ
い。勿論、この変数(つまり、データ修復の際には「鍵
情報」として利用されるもの)の設定入力処理は、手動
入力に限らず、データ通信その他適宜の手段を介して自
動で行うようになっていてもよい。
【0079】このようにすることにより、データ修復時
においてレジスタbH,cHにストアすべきデータ修復
用「鍵情報」を具備していない(若しくは知っていな
い)者が、不当にデータを修復しようとする場合、その
修復アルゴリズムが判明していたとしても、肝心のデー
タ修復用「鍵情報」を得ることができないことにより、
データ修復を行なうことができないことになり、暗号化
又は電子透しによる機密情報埋め込みに際して、セキュ
リティ機能を向上させることができる。なお、この場
合、レジスタbH,cHにストアされるデータ修復用
「鍵情報」を主要情報及び付属情報のデータとは別途に
供給する際の、該データ修復用「鍵情報」の供給の仕方
は、どのようなやり方を用いてもよい。例えば、別途の
データ通信によって行なうようにしてもよいし、印刷物
で通知してもよいし、電話等で通知してもよいし、様々
なやり方であってよい。正当な利用者に対して秘密裡に
通知又は供給されたデータ修復用「鍵情報」は、自動的
に又は利用者による手動入力によってレジスタbH,c
Hにセットされるようになっていてよく、こうして、正
当な利用者だけが図14のようなデータ修復処理を正当
に遂行し、データ修復を成功裡に行なうことができる。
【0080】そのために、例えば、図14に示すような
「データ修復処理4」の手順を図17に示す「データ修
復処理4’」のように変更するとよい。図17は、ステ
ップ41の前にステップ40が挿入されている点だけが
図14とは異なっており、他は同一構成であってよい。
このステップ40において、上記のように適宜入力され
た所定の鍵情報を取り込み、それに基づき必要なデータ
を各レジスタbH,cHにロードする。なお、この実施
例の変形例として、レジスタbH,cHにストアされる
べきデータ修復用「鍵情報」の一部を、主要情報及び付
属情報のデータファイルとは別途に供給するようにし、
残りは主要情報及び付属情報のデータファイルの中に適
宜含ませるようにしてもよい。その場合は、別途に供給
された「鍵情報」の一部とデータファイルの中に含まれ
た残りの部分とを合成することで、レジスタbH,cH
にストアされるべきデータ修復用「鍵情報」を生成す
る。その場合、鍵情報を合成するステップは少なくとも
ステップ45の手前に設定するものとし、合成したデー
タを各レジスタbH,cHにロードするものとする。
【0081】ところで、図3のMIDIデータ編集処理
1及び図13のMIDIデータ編集処理4では、キーオ
ンデータのキーコード及びベロシティの内容がMIDI
データの先頭から書き換えられてしまうので、MIDI
データ修復処理を行わずにMIDIデータ再生処理を行
った場合に、再生された楽音は、全くデタラメなものと
なってしまい、その一部だけを試聴するというようなこ
とができない。そこで、図3の変更例として、図15の
MIDIデータ編集処理5のように、ステップ3Bとス
テップ3Cとの間に編集条件を判定するステップ3Jを
挿入し、特定の編集条件に合致した場合にMIDIデー
タにスクランブル処理を施すようにするとよい。すなわ
ち、電子透かし埋め込み又は暗号化(すなわちエンコー
ド)処理のためのアルゴリズムにおいて使用される変数
の一種として、すなわち電子透し埋め込み又は暗号化演
算のための補助情報として、「編集条件」設定情報が追
加されることになる。なお、図3の変更例である図13
の場合も、図15と同様に、ステップ3Bとステップ3
Cとの間にステップ3Jを挿入するように変形し、電子
透かし埋め込み又は暗号化(すなわちエンコード)処理
のためのアルゴリズムにおいて使用される変数の一種と
して「編集条件」の変数を追加するようにしてよい。
【0082】例えば、ステップ3Jの編集条件として、
MIDIデータの演奏開始から所定時間(例えば30秒
などの時間)を経過したか否かを判定するように設定す
る。これによって、MIDIデータの最初の部分にはス
クランブル処理が施されなくなるので、その部分のMI
DIデータは通常のMIDIデータ再生処理によって再
生されるようになる。一方、所定時間経過後にMIDI
データを通常のMIDIデータ再生処理で再生しようと
しても、その部分にはスクランブル処理が施されている
ので、デタラメな楽音しか再生されなくなる。これによ
って、MIDIデータの最初の部分を通常のMIDIデ
ータ再生処理によって再生できる試聴可能なMIDIデ
ータとすることができ、それ以降の残りの部分を試聴不
可能なMIDIデータとすることができる。なお、この
「編集条件」変数は、外部から任意に設定可能であり、
時間の他にも、種々の条件を適宜組み合わせて適用して
もよいことは言うまでもない。例えば、発音されない時
間が所定時間以上になった場合とか、小節線データが所
定数発生した場合とかの条件を単独で適用したり、これ
らの条件を種々組み合わせてもよいことはいうまでもな
い。
【0083】また、例えば、MIDIデータファイルの
先頭から電子透し埋め込み又は暗号化のための編集操作
を開始するまでのデータ数及びそこから実際に編集を行
なったデータ数を「編集条件」変数として設定する(す
なわちMIDIデータファイルのどの箇所に電子透し埋
め込み又は暗号化のためのデータ編集操作を施したかを
具体的に編集条件として設定する)ようにしてもよく、
そのようにすれば、MIDIデータファイルの任意の箇
所に対して電子透し埋め込み又は暗号化のためのデータ
編集操作を加えることができる。なお、所望の編集条件
の設定処理は、ステップ3Jで行ってもよいが、その前
の段階、例えばステップ31のあたり、で所望の編集条
件を設定入力し、これを取り込むようにすればよい。ま
た、設定する編集条件は一種類に限らず、複数種類であ
ってもよい。
【0084】なお、データ修復処理の際には、暗号化
(つまりエンコード)の際に用いられた編集条件がどの
ようなものであるかを示す情報を「鍵情報」として使用
することで、正しい編集条件「鍵情報」を持つものだけ
がデータ修復を行えるようにするとよい。例えば、これ
らの編集条件をユーザー毎にあるいはMIDIデータフ
ァイル毎に異ならせて設定してデータ編集処理(つまり
電子透かし埋め込み又は暗号化のためのエンコード処
理)を行った上で、それぞれの編集条件を示す情報を、
個別のデータ修復用「鍵情報」として別途適宜に供給す
るようにし、正当なる利用者がデータ修復時に該データ
修復用「鍵情報」を正当に取得して、その「鍵情報」が
示す編集条件と修復すべきデータにおける実際の編集条
件とが合致したときにデータ修復処理が遂行されるよう
にするとよい。このようにすることにより、データ修復
のアルゴリズムは共通であっても、この「鍵情報」の多
様化によって、電子透し埋め込み又は暗号化の形態を多
様化させることができ、信頼性/セキュリティの向上を
図ることができる。
【0085】なお、この場合のデータ修復用「鍵情報」
を別途に供給するやり方は、前述の場合と同様に、どの
ようなやり方を用いてもよい。また、データ修復処理に
際しての編集条件の照合の仕方としては、例えば、デー
タ修復しようとする利用者が所要の「鍵情報」を入力す
ることによって編集条件を設定入力し、この設定入力さ
れた編集条件に該当するデータファイル箇所において図
15のステップ3C〜3Fに示すデータ暗号化処理の逆
算であるデータ修復(デコード)処理を行なうようにす
る。ここで、設定入力された編集条件が正しければ該デ
ータ修復処理では正しくデータ修復がなされることにな
り、正しくなければ該データ修復処理では正しいデータ
修復が行なえないことになる。なお、この場合の「鍵情
報」の入力の仕方も、前述と同様に手動入力に限らず自
動的になされるようにしてもよい。図18は、図4に示
すような「データ修復処理1」を、編集条件を鍵情報と
して使用してデータ修復を行うのに適したものに変形し
た一例(「データ修復処理5」)を示す図である。図1
8において、ステップ41の手前にステップ40’を挿
入し、ステップ41と42の間にステップ410を挿入
した点が図4とは相違しており、他は図4と同じであ
る。ステップ40’では、編集条件の「鍵情報」の入力
を受け付け、これを取り込む。ステップ410では、取
り込んだ「鍵情報」によって示される編集条件が成立し
たか否かを調べる。編集条件が成立していなければ、ス
テップ42以降のデータ修復処理は行わずにステップ4
Cに行き、そのNOからステップ41に戻る。取り込ん
だ「鍵情報」によって示される編集条件が成立した場合
は、ステップ42〜4Bで所要のデータ修復処理を行
う。なお、他の「データ修復処理」(例えば図14)に
対しても、図18と同様の変形を施すことができる。
【0086】なお、上記のようにデータ修復用「鍵情
報」は一種類とは限らず、複数種類あってよいものであ
る。また、同じ種類の鍵情報でも異なる値のものが複数
あってもよい。その場合、例えば鍵管理ファイルをデー
タファイルとは別途に用意しておき、この鍵管理ファイ
ルから必要な「鍵情報」を正当な利用者だけが取得でき
るように管理するとよい。例えば、利用者は所定のアル
ゴリズムでデータファイルから鍵取得情報を抽出し、そ
の鍵取得情報を入力情報として鍵管理ファイルから必要
な鍵情報を取得できるようにする。この場合、鍵管理フ
ァイルは入力された鍵取得情報に応じて適宜異なる鍵情
報を供給するものとする。このようにして複数種類の必
要な鍵情報をそれぞれ取得できるようにし、これらの鍵
情報を使用して上記のようにデータ修復を行うようにす
る。ここで、更にデータファイル内の複数の箇所で複数
回異なる鍵情報を取得しなければ適正なデータ修復が行
なえないようにすれば、より厳密な管理とセキリティ保
持を行なうことができる。なお、鍵管理ファイルの部分
は通信ネットワークのサーバー上に格納しておき、デー
タ通信によってオーソライズされた利用者だけが鍵取得
情報を入力して、これに応じてサーバーから必要な鍵情
報をデータ通信によって随時取得することができるよう
にしてもよい。
【0087】
【発明の効果】この発明によれば、音楽データ、映像デ
ータ又は波形データなど主要情報のデータフォーマット
を変更することなく所望の付属情報を潜在的に付加して
なるデータファイルを提供することができると共に結果
的にこれらのデータに暗号化処理を施すこととなり、こ
の暗号を解読しない限り、これらの主要情報や付属情報
を再生して利用することができないという効果がある。
また、主要情報を構成するデータ群の中の一部のデータ
を付属情報を構成するデータに基づいて変更するため
に、主要情報における変更すべき前記一部のデータに対
して、所定のアルゴリズムに従う演算を、前記付属情報
を構成するデータと外部から設定可能な補助情報とを用
いて行なうようにしたことで、解読の際の鍵情報となり
うる補助情報そのものは、データファイルのデータ内容
とは無関係に任意に設定されるから、該データファイル
の中には直接的にはそれと判るように含まれていないも
のとすることができるものであり、これにより、オーソ
ライズされていない者が、不当に当該データファイルか
ら主要情報の修復を行ないまたその付属情報を解読しよ
うとしたとしても、肝心のデータ修復用の「鍵情報」を
データファイルからからは得ることができないことによ
り、データ修復若しくは解読を行なうことができないこ
とになり、暗号化又は電子透し埋め込みによる機密的な
情報記録に際して、セキュリティ面での信頼性を向上さ
せることができる、という優れた効果を奏する。
【図面の簡単な説明】
【図1】 この発明に係る電子情報処理システムのMI
DIデータ編集処理1及びMIDIデータ修復処理1に
従ってどのようにデータが変換されるのか、その具体例
を示す図である。
【図2】 この発明に係る電子情報処理システムとして
動作する電子楽器の全体構成を示すブロック図である。
【図3】 図2の電子楽器が電子情報処理システムとし
て動作する場合のMIDIデータ編集処理1の一例を示
すフローチャート図である。
【図4】 図2の電子楽器が電子情報処理システムとし
て動作する場合のMIDIデータ修復処理1の一例を示
すフローチャート図である。
【図5】 縦軸にキーコードを割り当て、横軸にベロシ
ティを割り当て、各値の中間を原点とするような直交座
標系を構成した場合の付属情報とキーコード,ベロシテ
ィとの関係を示す概念図である。
【図6】 図5の付属情報とキーコード,ベロシティと
の間の詳細な関係を示す図である。
【図7】 MIDIデータ中に埋め込まれるスクランブ
ルデコードデータの内容の一例を示す図である。
【図8】 電子楽器が電子情報処理システムとして動作
する場合の別の一例となるMIDIデータ編集処理2を
示すフローチャート図である。
【図9】 電子楽器が電子情報処理システムとして動作
する場合の別の一例となるMIDIデータ修復処理2を
示すフローチャート図である。
【図10】 電子楽器が電子情報処理システムとして動
作する場合の別の一例となるMIDIデータ編集処理3
を示すフローチャート図である。
【図11】 電子楽器が電子情報処理システムとして動
作する場合の別の一例となるMIDIデータ修復処理3
を示すフローチャート図である。
【図12】 この発明に係る電子情報処理システムのM
IDIデータ編集処理2及びMIDIデータ修復処理2
に従ってどのようにデータが変換されるのか、その具体
例を示す図である。
【図13】 電子楽器が電子情報処理システムとして動
作する場合の別の一例となるMIDIデータ編集処理4
を示すフローチャート図である。
【図14】 電子楽器が電子情報処理システムとして動
作する場合の別の一例となるMIDIデータ修復処理4
を示すフローチャート図である。
【図15】 電子楽器が電子情報処理システムとして動
作する場合の別の一例となるMIDIデータ編集処理5
を示すフローチャート図である。
【図16】 通信ネットワークを通じて実施する本発明
の一実施の形態を例示するブロック図である。
【図17】 図14のMIDIデータ修復処理の変形例
を示すフローチャート図である。
【図18】 図15のMIDIデータ編集処理5で処理
された情報のデータ修復に使用できるMIDIデータ修
復処理5の一例を示すフローチャート図である。
【符号の説明】
21…CPU、22…ROM、23…RAM、24…フ
ロッピーディスクドライブ、25…ハードディスクドラ
イブ、26…CD−ROMドライブ、27…通信インタ
ーフェイス、28…通信ネットワーク、29…サーバコ
ンピュータ、2A…MIDIインターフェイス、2B…
他のMIDI機器、2C…鍵盤、2D…押鍵検出回路、
2E…パネルスイッチ、2F…スイッチ検出回路、2G
…ディスプレイ、2H…表示回路、2J…音源回路、2
K…効果回路、2L…サウンドシステム、2M…データ
及びアドレスバス、2N…タイマ、2R…リボンコント
ローラ
フロントページの続き (56)参考文献 特開 平9−186603(JP,A) 特開 平5−199219(JP,A) Proceedings of 1994 IEEE Internationa l Conference on Im age Processing,Vo l.2,R.G.van Schynd el et al,”A Digita l Watermark”,p.86− 90,November 13−16,1994, Austin,Texas,U.S.A Proceedings of th e 1996 International Confernce on Mult imedia Computing a nd Systems,Laurenc e Boney et al,”Dig ital Watermarks fo r Audio Signals”, p.473−480,June 17−23, 1996,Hiroshima,Japan Proceedings of Fi fth International Conference on Imag e Processing and I ts Applications,F. M.Boland et al,”Wa termarking Digital Images for Copyri ght Protection”,p. 326−330,4−6 July 1995,I EE Confenrence Pub lication No.410 (58)調査した分野(Int.Cl.7,DB名) G10H 1/00 - 7/12 G09C 1/00 - 5/00 G10K 15/02 H04L 9/00 - 9/38 G10L 19/00 INSPEC(DIALOG) JICSTファイル(JOIS) WPI(DIALOG) IEEE/IEE Electroni c Library Online

Claims (9)

    (57)【特許請求の範囲】
  1. 【請求項1】 それぞれ2以上のパラメータを含む複数
    のイベントデータで構成される第1の情報を入力するス
    テップと、 第2の情報を入力するステップと、 予め決められている方法で鍵情報を取得するステップ
    と、 前記第1の情報から特定のイベントデータを取り出すス
    テップと、 前記第2の情報の一部分と前記鍵情報と前記特定のイベ
    ントデータの特定のパラメータを使って新たなパラメー
    タを作成し、該新たなパラメータを前記特定のイベント
    データのうちの前記特定のパラメータに上書きすること
    により、前記第1の情報に前記第2の情報を分散して配
    置すると共に第1の情報を暗号化するステップとからな
    る電子情報処理方法。
  2. 【請求項2】 複数のイベントデータで構成される第1
    の情報を入力するステップと、 第2の情報を入力するステップと、 前記第1の情報から特定のイベントデータを取り出すス
    テップと、 前記取り出された特定のイベントデータのうちの所定条
    件を満たすイベントデータを前記第2の情報に基づいて
    変更することにより、前記第1の情報に前記第2の情報
    を分散して配置するステップと、 前記第2の情報が分散して配置された第1の情報を出力
    するステップとからなる電子情報処理方法。
  3. 【請求項3】 それぞれ2以上のパラメータを含む複数
    のイベントデータで構成される第1の情報を入力するス
    テップと、 予め決められている方法で鍵情報を取得するステップ
    と、 前記第1の情報から特定のパラメータを含む特定のイベ
    ントデータを取り出すステップと、 前記特定のイベントデータの特定のパラメータから第2
    の情報の一部分を検出すると共に前記鍵情報を使って前
    記特定のパラメータの内容を変更することにより、第1
    の情報から第2の情報を検出すると共に、暗号化されて
    いる第1の情報を鍵情報を利用して復号化するステップ
    とからなる電子情報処理方法。
  4. 【請求項4】 それぞれ2以上のパラメータを含む複数
    のイベントデータで構成される第1の情報を入力するス
    テップと、 前記第1の情報から特定のイベントデータを取り出すス
    テップと、 前記特定のイベントデータのうちの所定条件を満たすも
    のから第2の情報を検出することにより、第1の情報か
    ら第2の情報を検出するステップとからなる電子情報処
    理方法。
  5. 【請求項5】 請求項1乃至4のいずれかに記載の方法
    をコンピュータに実行させるためのプログラムを記憶し
    た機械読み取り可能な記憶媒体。
  6. 【請求項6】 それぞれ2以上のパラメータを含む複数
    のイベントデータで構成される第1の情報を入力する手
    段と、 第2の情報を入力する手段と、 予め決められている方法で鍵情報を取得する手段と、 前記第1の情報から特定のイベントデータを取り出す手
    段と、 前記第2の情報の一部分と前記鍵情報と前記特定のイベ
    ントデータの特定のパラメータを使って新たなパラメー
    タを作成し、該新たなパラメータを前記特定のイベント
    データのうちの前記特定のパラメータに上書きすること
    により、前記第1の情報に前記第2の情報を分散して配
    置すると共に第1の情報を暗号化する手段とからなる電
    子情報処理装置。
  7. 【請求項7】 複数のイベントデータで構成される第1
    の情報を入力する手段と、 第2の情報を入力する手段と、 前記第1の情報から特定のイベントデータを取り出す手
    段と、 前記取り出された特定のイベントデータのうちの所定条
    件を満たすイベントデータを前記第2の情報に基づいて
    変更することにより、前記第1の情報に前記第2の情報
    を分散して配置する手段と、 前記第2の情報が分散して配置された第1の情報を出力
    する手段とからなる電子情報処理装置。
  8. 【請求項8】 それぞれ2以上のパラメータを含む複数
    のイベントデータで構成される第1の情報を入力する手
    段と、 予め決められている方法で鍵情報を取得する手段と、 前記第1の情報から特定のパラメータを含む特定のイベ
    ントデータを取り出す手段と、 前記特定のイベントデータの特定のパラメータから第2
    の情報の一部分を検出すると共に前記鍵情報を使って前
    記特定のパラメータの内容を変更することにより、第1
    の情報から第2の情報を検出すると共に、暗号化されて
    いる第1の情報を鍵情報を利用して復号化する手段とか
    らなる電子情報処理装置。
  9. 【請求項9】 それぞれ2以上のパラメータを含む複数
    のイベントデータで構成される第1の情報を入力する手
    段と、 前記第1の情報から特定のイベントデータを取り出す手
    段と、 前記特定のイベントデータのうちの所定条件を満たすも
    のから第2の情報を検出することにより、第1の情報か
    ら第2の情報を検出する手段とからなる電子情報処理装
    置。
JP34615098A 1997-12-04 1998-12-04 電子情報付与及び検出のための装置及び方法 Expired - Fee Related JP3180788B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP34615098A JP3180788B2 (ja) 1997-12-04 1998-12-04 電子情報付与及び検出のための装置及び方法

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP09350126 1997-12-04
JP9-350126 1997-12-04
JP34615098A JP3180788B2 (ja) 1997-12-04 1998-12-04 電子情報付与及び検出のための装置及び方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2001036208A Division JP4370725B2 (ja) 1997-12-04 2001-02-13 電子情報処理方法及び装置

Publications (2)

Publication Number Publication Date
JPH11259067A JPH11259067A (ja) 1999-09-24
JP3180788B2 true JP3180788B2 (ja) 2001-06-25

Family

ID=26578203

Family Applications (1)

Application Number Title Priority Date Filing Date
JP34615098A Expired - Fee Related JP3180788B2 (ja) 1997-12-04 1998-12-04 電子情報付与及び検出のための装置及び方法

Country Status (1)

Country Link
JP (1) JP3180788B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6959383B1 (en) 1997-07-10 2005-10-25 Yamaha Corporation Method and device for incorporating additional information into main information through electronic watermaking technique
JP2002232413A (ja) * 2001-02-05 2002-08-16 Yamaha Corp ホームページデータの生成方法、公開鍵公開方法および通信端末
JP2002311996A (ja) 2001-02-09 2002-10-25 Sony Corp コンテンツ供給システム
JP4190742B2 (ja) * 2001-02-09 2008-12-03 ソニー株式会社 信号処理装置及び方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Proceedings of 1994 IEEE International Conference on Image Processing,Vol.2,R.G.van Schyndel et al,"A Digital Watermark",p.86−90,November 13−16,1994,Austin,Texas,U.S.A
Proceedings of Fifth International Conference on Image Processing and Its Applications,F.M.Boland et al,"Watermarking Digital Images for Copyright Protection",p.326−330,4−6 July 1995,IEE Confenrence Publication No.410
Proceedings of the 1996 International Confernce on Multimedia Computing and Systems,Laurence Boney et al,"Digital Watermarks for Audio Signals",p.473−480,June 17−23,1996,Hiroshima,Japan

Also Published As

Publication number Publication date
JPH11259067A (ja) 1999-09-24

Similar Documents

Publication Publication Date Title
US7545936B2 (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
US6570080B1 (en) Method and system for supplying contents via communication network
JP4794047B2 (ja) 保護されたデジタルファイル配信方法
CN101261865B (zh) 媒体电子文件的制作方法、装置及其播放设备及方法
US7612276B2 (en) Method and system for synthesizing electronic transparent audio
EP0872073A2 (en) Steganographic method and device
JP3180788B2 (ja) 電子情報付与及び検出のための装置及び方法
JP3178378B2 (ja) 電子情報処理システム及び方法並びに記録媒体
US7274789B2 (en) Information recording/reproducing apparatus with security measure
JP4370725B2 (ja) 電子情報処理方法及び装置
JP3180789B2 (ja) 電子情報処理方法及び装置
JP3870700B2 (ja) 電子情報処理方法及び装置
JP4304870B2 (ja) 電子情報処理方法及び装置並びに記録媒体
US6798885B1 (en) Method and apparatus for encoding security information in a MIDI datastream
US7937327B2 (en) Music content using apparatus
JP2000092042A (ja) 楽曲データ提供システム及び楽曲データ復号装置
JPH11249670A (ja) カラオケ装置及びカラオケ端末装置
GB2354860A (en) Storing music information with associated additional information incorporated therein

Legal Events

Date Code Title Description
S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313532

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20090420

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20090420

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20100420

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20110420

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20120420

Year of fee payment: 11

LAPS Cancellation because of no payment of annual fees