JP2001296863A - 電子情報処理方法及び装置並びに記録媒体 - Google Patents

電子情報処理方法及び装置並びに記録媒体

Info

Publication number
JP2001296863A
JP2001296863A JP2001036206A JP2001036206A JP2001296863A JP 2001296863 A JP2001296863 A JP 2001296863A JP 2001036206 A JP2001036206 A JP 2001036206A JP 2001036206 A JP2001036206 A JP 2001036206A JP 2001296863 A JP2001296863 A JP 2001296863A
Authority
JP
Japan
Prior art keywords
information
data
event data
event
inputting
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.)
Granted
Application number
JP2001036206A
Other languages
English (en)
Other versions
JP4304870B2 (ja
Inventor
Hideaki Masuguchi
秀昭 樽口
Shigeo Tsunoda
重雄 角田
Yoshinari Terada
好成 寺田
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 JP2001036206A priority Critical patent/JP4304870B2/ja
Publication of JP2001296863A publication Critical patent/JP2001296863A/ja
Application granted granted Critical
Publication of JP4304870B2 publication Critical patent/JP4304870B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Reverberation, Karaoke And Other Acoustics (AREA)
  • Electrophonic Musical Instruments (AREA)
  • Storage Device Security (AREA)

Abstract

(57)【要約】 【課題】 複数のイベントデータで構成される第1の情
報(音楽データなど)に付加される第2の情報(著作権
表示データなど適宜の情報)の記憶法を改善し、第2の
情報の不正な削除や改竄をしにくくし、その再現性を確
保する。 【解決手段】 第1の情報に含まれるイベントデータを
2以上のグループ(イベント種別あるいはイベントデー
タ中のパラメータの内容あるいはチャンネルなどに応じ
て)に分類し、分類されたイベントデータのうち少なく
とも一つのグループに含まれるイベントデータの内容を
第2の情報に基づいて変更する。これにより第1の情報
に第2の情報を分散して配置し、第2の情報が分散して
配置された第1の情報を出力する。2以上に分類された
各グループに含まれるイベントデータの内容をグループ
毎にそれぞれ異なる規則により第2の情報に応じて変更
してもよい。この第1の情報から第2の情報を抽出し、
デコードする。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、楽音制御情報
(MIDIデータ)などの主要情報(第1の情報)の中
にそれに関連した付属情報(第2の情報)を組み込んで
記憶する電子情報処理方法及び装置に関し、また、その
ように付属情報を組み込んで記憶した主要情報から付属
情報を検出(再生)する電子情報処理方法及び装置若し
くはシステムに関し、更に、この電子情報処理方法を実
現するためのソフトウェアプログラムを記憶した記憶媒
体に関し、更に、これらの方法に従って主要情報内に付
属情報を組み込んだ状態のデータ構成からなるデータを
記憶してなる記憶媒体に関する。
【0002】
【従来の技術】最近では、パーソナルコンピュータを使
用して、ユーザ自身が音楽データ、映像データ及び波形
データなどを作成したり、それらに種々の変更を加えた
りすることが容易にできるようになった。従って、パー
ソナルコンピュータを使用することによって、市販のF
D、CD−ROM、LDなどの記憶媒体に記録された音
楽データ、映像データ及び波形データなども自由に読み
出して、それらに種々の変更処理を加えたりすることが
できる。市販のCD−ROMやLDなどに記録されてい
るデータは、その販売者や製作者などに著作権があるた
め、本来それらを自由に改変することは、著作権侵害の
観点から許されるものではない。従って、現在では、C
D−ROMやLDなどの主データ記憶部に記録されてい
る音楽データ、映像データ又は波形データなど、主デー
タの著作権がだれに属するものなのかを示すための著作
権表示データを、主データ記憶部とは別のヘッダ部に付
属情報として付加的に記録することによって、著作権者
を明示し、著作権侵害の未然防止を図っているのが現状
である。また、付属情報には、このような著作権表示デ
ータの他にも、その音楽データ、映像データ及び波形デ
ータの題名などを示す情報、又はその映像データや波形
データなどがどのようなデータ圧縮技術で圧縮されてい
るのかなどのデータ記録形式を示す情報などがある。
【0003】
【発明が解決しようとする課題】しかしながら、現在で
は、パーソナルコンピュータなどを使って自由にデータ
を書き換えたり変更したりすることができるので、故意
又は過失によって、著作権表示データや種々の付属情報
が削除されたり、書き換えられたりするという問題があ
る。特に、これらの付属情報がヘッダ部にまとまってス
トアされている場合は、削除や改竄が容易になされてし
まう、という問題がある。また、最近ではネットワーク
通信の発達に伴って、このように著作権表示データの削
除や改竄のなされた音楽データ、映像データ又は波形デ
ータなどがネットワークを通じて不正に広く流通してし
まうという問題も起き易い。また、データ記録形式に関
する付属情報が削除されると、その映像データや波形デ
ータなどを再生することができなくなるという問題もあ
る。本発明は、上述の点に鑑みてなされたものであり、
音楽データなどのような複数のイベントデータで構成さ
れる主要情報(第1の情報)に付属して付属情報(第2
の情報)を記憶し流通させる場合において、付属情報の
不正な削除や改変がしにくい形態でこれらの情報を記憶
させるようにし、また、仮に情報の部分的削除や改変が
なされた場合でも付属情報を適確に再現することができ
るようにした、電子情報処理方法及び装置若しくはシス
テム並びに記憶媒体を提供することを目的とする。
【0004】
【課題を解決するための手段】第1の観点に従えば、こ
の発明に係る電子情報処理方法は、複数のイベントデー
タで構成される第1の情報を入力するステップと、前記
イベントデータを2以上のグループに分類するステップ
と、第2の情報を入力するステップと、前記分類された
イベントデータのうち少なくとも一つのグループに含ま
れるイベントデータの内容を前記第2の情報に基づいて
変更することにより前記第1の情報に前記第2の情報を
分散して配置するステップと、前記第2の情報が分散し
て配置された第1の情報を出力するステップとからな
る。第2の観点に従えば、この発明に係る電子情報処理
方法は、2以上のイベント種別でなる複数のイベントデ
ータで構成される第1の情報を入力するステップと、前
記イベント種別毎に前記イベントデータを2以上のグル
ープに分類するステップと、第2の情報を入力するステ
ップと、前記分類されたイベントデータのうち少なくと
も一つのグループに含まれるイベントデータの内容を前
記第2の情報に基づいて変更することにより前記第1の
情報に前記第2の情報を分散して配置するステップと、
前記第2の情報が分散して配置された第1の情報を出力
するステップとからなる。第3の観点に従えば、この発
明に係る電子情報処理方法は、それぞれ所定のパラメー
タを含む複数のイベントデータで構成される第1の情報
を入力するステップと、前記パラメータの内容に応じて
前記イベントデータを2以上のグループに分類するステ
ップと、第2の情報を入力するステップと、前記分類さ
れたイベントデータのうち少なくとも一つのグループに
含まれるイベントデータの内容を前記第2の情報に基づ
いて変更することにより前記第1の情報に前記第2の情
報を分散して配置するステップと、前記第2の情報が分
散して配置された第1の情報を出力するステップとから
なる。第4の観点に従えば、この発明に係る電子情報処
理方法は、複数のイベントデータで構成される第1の情
報を入力するステップと、前記イベントデータを2以上
のグループに分類するステップと、第2の情報を入力す
るステップと、前記2以上に分類された各グループに含
まれるイベントデータの内容を前記グループ毎にそれぞ
れ異なる規則により前記第2の情報に応じて変更するこ
とにより前記第1の情報に前記第2の情報を分散して配
置するステップと、前記第2の情報が分散して配置され
た第1の情報を出力するステップとからなる。別の観点
に従えば、この発明に係る電子情報処理方法は、上記第
1乃至第4の観点に従ういずれかの方法で第2の情報が
分散して配置された第1の情報を入力し、この第1の情
報から、分散して配置された第2の情報を抽出し、出力
するものである。これにより、第2の情報をデコードす
ることができる。別の観点に従えば、この発明に係る機
械読み取り可能な記憶媒体は、上記各観点に従ういずれ
かの方法をコンピュータに実行させるためのプログラム
を記憶したものである。更に別の観点に従えば、この発
明に係る電子情報処理装置は、上記各観点に従ういずれ
かの方法を実施するよう構成された電子情報処理装置で
ある。
【0005】次に、以下説明する実施例に関連して概略
を説明する。実施例に係る電子情報処理システムは、主
要情報とそれに関する付属情報とを適宜の記憶装置又は
回路あるいは媒体に記録するものである。例えば、主要
情報としては、MIDIデータのキーオンイベントデー
タ、プログラムチェンジデータ又はコントロールチェン
ジデータなど複数のイベントデータで構成される任意の
種類の情報を採用してよい。付属情報としては、著作者
名、曲の題名、画像/映像の題名などに関する文字デー
タや波形データの圧縮方法などのデータ形式に関するデ
ータやその他の種々のデータ(暗号文、鍵情報、ID、
パスワード、ニュース文)など、任意の種類の情報を採
用してよい。この電子情報付与装置は、主要情報を構成
するデータ群の中の所定のデータ群として、MIDIデ
ータの場合にはキーオンイベントデータ群を用い、この
キーオンイベントデータ群の中の単位データとして、ベ
ロシティデータの一部(例えば最下位ビット)を、その
付属情報のデータに基づいて変更する。従って、付属情
報のデータに応じて、そのベロシティデータの一部(例
えば最下位ビット)の値が変更されるか又は変更されな
い、といった制御がなされる。これによって、付属情報
のデータがMIDIデータ群の中に分散して記録される
ようになる。なお、主要情報がMIDIデータの場合に
は、変更される単位データはベロシティデータやデュレ
ーションタイムデータが望ましい。なぜなら、これらの
データはさほど厳密性を要求されないデータだからであ
る。すなわち、これらの情報が多少変更されても音声デ
ータの場合聴感状ではほとんど感知(知覚)されないか
らである。
【0006】実施例において、主要情報を構成するデー
タ群の中のデータ特性に応じて分類された少なくとも2
以上のデータ群の中の各単位データの一部を、付属情報
の一部又は全部のデータに基づいて、前記分類に対応し
たアルゴリズムに従って変更することによって、前記付
属情報の一部又は全部のデータを前記主要情報を構成す
るデータ群に分散して記録するように構成される。この
場合、付属情報の分散記録される主要情報をそのデータ
特性に応じて分類し、各分類に対応したアルゴリズムで
単位データの一部を変更している。すなわち、主要情報
がMIDIデータの場合には、チャンネル情報がそのま
ま入れ替えられたり、キーコードがシフトされたりする
と、もはや付属情報を主要情報の中から検出することが
できなくなることがある。そこで、チャンネル毎、プロ
グラムチェンジデータの出現タイミング毎、又はMID
Iデータを構成するベロシティの差分値の大きさ毎等に
応じて主要情報を分類し、それぞれの分類に対応したア
ルゴリズムで単位データの一部を変更するようにした。
これによって、チャンネル情報がそのまま入れ替えられ
たりしてデータが書き換えられたとしてもいずれかのア
ルゴリズムに応じて付属情報が検出されるようになる。
【0007】実施例において、上記のように付属情報を
組み込んで記憶された主要情報を構成するデータ群か
ら、付属情報の一部又は全部のデータを検出(再生)す
る機能を具備している。なお、主要情報として上述のよ
うに最下位ビットのデータ変更によっては実用上大きな
影響を受けない種類の情報を採用した場合は、付属情報
を組み込んだ主要情報を読み出して、これを再生利用す
るとき、該主要情報から付属情報のデータ片を取り除く
ことなく、これをそのままにして再生してもよい。勿
論、これに限らず、主要情報から付属情報のデータ片を
取り除いて、正確な主要情報を再生するようにしてもよ
い。実施例において、上記のように付属情報を組み込ん
で記憶された主要情報を構成するデータ群を、電子的記
憶媒体又は通信ネットワークを介して配信し、配信され
たデータ群から前記付属情報の一部又は全部のデータを
検出(再生)する機能を具備する。
【0008】実施例において、上記のように付属情報を
組み込んで記憶された主要情報を構成するデータ群か
ら、付属情報の一部又は全部のデータを検出(再生)
し、この検出(再生)した付属情報を画面上に表示する
表示手段を有する。例えば、付属情報として、文字情報
や波形データ圧縮方法などのデータ記録形式に関する情
報、あるいはその他の種々の情報(暗号文、鍵情報、I
D、パスワード、ニュース文などの情報)を採用して、
これを任意の主要情報に組み込んで記憶する。そして、
主要情報から付属情報を取り出して再生し、これを画面
上に表示する。その場合、通信ネットワークを介して時
々刻々と配信されてくる主要情報からそこに組み込まれ
ている付属情報を取り出して時々刻々と再生し、この再
生情報をストリーミングに表示することができる。実施
例において、電子的記憶媒体としては、フロッピーディ
スクやCD−ROMあるいは光磁気ディスクなどの可搬
式媒体であってもよく、また、ハードディスク装置のよ
うな固定式媒体であってもよい。
【0009】実施例において、第1の情報を構成するデ
ータと共に第2の情報を構成するデータを記憶する方法
であって、前記第1の情報を構成するデータは複数のデ
ータ単位の集まりからなっており、前記第2の情報を構
成するデータの少なくとも一部を、複数の小サイズのデ
ータ片に分けるステップと、前記第1の情報の複数のデ
ータ単位のうちの特定のデータ単位の各々の値を、前記
各データ片の値に応じて変更するもしくは変更しない制
御を行なうステップと、制御された前記特定のデータ単
位を含む前記第1の情報のデータを記憶するステップと
を具え、前記第2の情報を構成するデータの少なくとも
一部が前記第1の情報のデータ内に組み込んだ状態で記
憶されるようにしたことを特徴とする。前記第1の情報
は主要情報に相当するものであり、例えば、MIDI形
式の音楽演奏情報であってよく、全体として大きな情報
量を持ち、メモリにおいては所定の主データ記憶領域に
記憶されるようなものである。前記第2の情報は付属情
報に相当するものであり、例えば、そのような主データ
記憶領域に記憶された音楽演奏情報つまり第1の情報
の、著作権表示に関する情報であってよく、音楽演奏情
報つまり第1の情報に比べて小規模な情報量からなるで
あってよい。例えば、この発明によれば、第1の情報つ
まり主要情報は所定の主データ記憶領域に記憶され、第
2の情報つまり付属情報は、ヘッダ領域ではなく、主デ
ータ記憶領域内で、第1の情報を構成するデータに組み
込まれて記憶されるようになっていてよい。この場合、
第2の情報つまり付属情報の全てが、第1の情報を構成
するデータに組み込まれて記憶されるようになっていて
もよいし、あるいは、第2の情報つまり付属情報の一部
が、第1の情報を構成するデータに組み込まれて記憶さ
れるようになっていてもよい。
【0010】第2の情報を構成するデータの全部又は一
部が、複数の小サイズのデータ片(例えば1つのデータ
片が1ビットまたは数ビットからなっていてよい)に分
けられる。第1の情報を構成するデータは、複数のデー
タ単位の集まりからなっている。1つの特定のデータ単
位の値を1つのデータ片に応じて変調することにより、
該データ片の値を特定のデータ単位の値の中に組み込む
ようにしているので、換言すれば、第1の情報の“デー
タ単位”とは、1つのデータ片の値を組み込もうとする
単位に相当している。従って、“データ単位”のサイズ
は、本発明の実施にあたって設計上任意に定めてよく、
例えば、1バイトあるいは数バイトのような単位であっ
てよい。第1の情報を構成する複数のデータ単位のうち
特定のデータ単位に対して、第2の情報の各データ片の
値を組み込む。例えば、第2の情報のデータ片の数が1
6個とすると、第1の情報を構成する複数のデータ単位
のうち特定の16個のデータ単位に対して、第2の情報
の各データ片の値をそれぞれ組み込む。この組み込み
は、所定のアルゴリズムに従って、特定のデータ単位の
値を、データ片の値に応じて変調する(すなわち、該特
定のデータ単位の値を変更しない/あるいは或る値だけ
変更する)演算を行なうことによって行なう。こうし
て、第1の情報のデータの中に、第2の情報の各データ
片が分散的に組み込まれることになり、このように第2
の情報の各データ片を分散的に組み込んだ第1の情報の
データが適宜のメモリにストアされる。
【0011】第2の情報の各データ片を分散的に組み込
んだ第1の情報のデータから、該第2の情報を再生する
ために、更に、記憶された前記第1の情報のデータを読
み出すステップと、読み出された前記第1の情報のデー
タのうちの前記特定のデータ単位から、前記複数の小サ
イズのデータ片をそれぞれ再現するステップとを更に具
えるようにしてよい。第1の情報の複数のデータ単位の
うちの特定のデータ単位の各々の値を、前記各データ片
の値に応じて変更するもしくは変更しない制御を行なう
ステップは、該データ片の値をパラメータとする所定の
アルゴリズムに従って該制御を行なうようにしてよい。
例えば、このアルゴリズムは、前記データ片の値に対応
する第1の変数を求めることと、少なくとも1つの前記
特定のデータ単位を含む前記第1の情報の所定数のデー
タ単位を加算又は減算することに基づいて第2の変数を
求めることと、前記第1の変数と第2の変数の相互関係
に基づき演算値を生成することと、生成された演算値を
前記特定のデータ単位の値に演算することとを含んでい
てよい。一例として、前記第1の変数は、1ビットの前
記データ片の値を反転した第1のフラグであり、前記第
2の変数は、少なくとも1つの前記特定のデータ単位を
含む前記第1の情報の所定数のデータ単位を加算又は減
算した値(例えば特定のデータ単位の値のみであっても
よい)の偶数又は奇数に応じた第2のフラグであり、前
記第1の変数と第2の変数の相互関係に基づき演算値を
生成することは、両フラグを比較してその一致/不一致
に応じて0又は1の演算値を生成することである。これ
により、特定のデータ単位の値に0又は1が演算され、
該特定のデータ単位の値が変調される(すなわち、変更
されないか、または或る値だけ変更される)。このよう
にした場合は、読み出された第1の情報における前記特
定のデータ単位の値の偶数又は奇数に応じた数値に基づ
き、第2の情報のデータ片の値を容易に再生することが
できる。
【0012】実施例において、第1の情報を構成するデ
ータは複数のデータ単位の集まりからなっており、第2
の情報を構成するデータの少なくとも一部を、複数の小
サイズのデータ片に分けるステップと、前記第1の情報
を構成するデータを少なくとも2つのグループに分け、
各グループ毎に、その中の複数のデータ単位のうちの特
定のデータ単位の各々の値を、前記各データ片の値に応
じて変更するもしくは変更しない制御をそれぞれ行なう
ステップと、各グループ毎に制御された前記特定のデー
タ単位を含む前記第1の情報のデータを記憶するステッ
プとを具え、前記第2の情報を構成するデータの少なく
とも一部が前記第1の情報の前記各グループ毎のデータ
内にそれぞれ組み込まれた状態で記憶される。これによ
れば、第1の情報における複数のグループの各々におい
て、データ片に分割された第2の情報が、それぞれ分散
的に組み込まれて、重複して、ストアされる。データ再
生にあたっては、少なくとも1つの前記グループについ
ての前記特定のデータ単位から、前記複数の小サイズの
データ片を再現すればよい。すなわち、各グループにお
いて、重複して、第2の情報が分散的に組み込まれてい
めので、いずれか1つのグループに組み込まれた第2の
情報を再生すればよい。従って、この第2の観点に従え
ば、仮に、不正なデータ改竄によって、第1の情報にお
ける1つのグループのデータ内容が改竄され、そのグル
ープにおいて組み込まれた第2の情報が再生不可能とな
ったとしても、第1の情報における(改竄されていな
い)別のグループにおいて組み込まれた第2の情報を再
生することができる。
【0013】第1の情報におけるグループ分けの仕方
は、第1の情報のデータ特性に従うとよい。例えば、第
1の情報がMIDIデータの場合は、MIDIチャンネ
ル毎にグループ分けするとよい。例えば、MIDIの第
1チャンネルに属する第1の情報のデータ群において第
2の情報のデータ片を分散して組み込み、また、第2チ
ャンネルに属する第1の情報のデータ群において同じ第
2の情報のデータ片を分散して組み込むようにする。そ
うすれば、不正使用ユーザーによって、チャンネル単位
でMIDIデータの改竄や入れ替えが行なわれた場合で
も、改竄されていない別チャンネルのMIDIデータの
中に組み込まれた第2の情報のデータ片から該第2の情
報を再生することができる。この場合、第2の情報のデ
ータ片を第1の情報に組み込むためのアルゴリズムを、
各グループ毎に、適宜異ならせてもよい。このように、
第1の情報(主要情報)をそのデータ特性に応じてグル
ープ化し、各グループ毎に第2の情報(付属情報)を組
み込むようにしている。例えば、第1の情報(主要情
報)がMIDIデータの場合には、チャンネル毎、プロ
グラムチェンジデータの出現タイミング毎、又はMID
Iデータを構成するベロシティの差分値の大きさ毎、等
に応じて第1の情報(主要情報)をグループ化し、それ
ぞれのグループに対応したアルゴリズムで単位データの
一部を変更制御する。これによって、チャンネル情報が
そのまま入れ替えられたりすることによって或るグルー
プのデータが書き換えられたとしても、別のグループの
データから第2の情報(付属情報)を検出することによ
り、その再生を行なうことができるようになる。
【0014】実施例において、前記第1の情報を構成す
るデータは複数のデータ単位の集まりからなっており、
前記第2の情報を構成するデータの少なくとも一部を、
複数の小サイズのデータ片に分けるステップと、前記第
1の情報の複数のデータ単位のうちの特定のデータ単位
の各々の値を、前記各データ片の値に応じて変更するも
しくは変更しない制御を行なうステップであって、1つ
の前記特定のデータ単位と別の前記特定のデータ単位と
の差分値を求めることと、この差分値と1つの前記デー
タ片の値とに応じて該差分値を引き出した前記特定のデ
ータ単位の一方の値を変更するもしくは変更しない制御
を行なうこととを含むものと、制御された前記特定のデ
ータ単位を含む前記第1の情報のデータを記憶するステ
ップとを具え、前記第2の情報を構成するデータの少な
くとも一部が前記第1の情報のデータ内に組み込まれた
状態で記憶される。更に、記憶された前記第1の情報の
データを読み出すステップと、読み出された前記第1の
情報のデータのうちの前記特定のデータ単位から、前記
複数の小サイズのデータ片を再現するステップであっ
て、1つの前記特定のデータ単位と別の前記特定のデー
タ単位との差分値を求めることと、この差分値から1つ
の前記データ片の値を再現することとを含むものとを具
え、再現された各データ片によって前記第2の情報を再
生するようにしてもよい。これによれば、第1の情報の
特定のデータ単位の値を、第2の情報のデータ片の値に
応じて変更するもしくは変更しない制御を行なうとき
に、前記特定のデータ単位と別の特定のデータ単位との
差分値を求め、この差分値と1つの前記データ片の値と
に応じて該差分値を引き出した前記特定のデータ単位の
一方の値を変更するもしくは変更しない制御を行なうこ
とを特徴としている。これにより、第1の情報を構成す
る各データ単位毎のデータ値を一律にシフトするような
データ改変が行なわれたとしても、それらの差分値は変
化しないので、第2の情報を再生するときの再現性が向
上する。
【0015】実施例において、記憶された第1の情報の
データを読み出し、読み出したデータを通信ネットワー
クを介して伝送するようにしてもよい。更に、通信ネッ
トワークを介して伝送されたデータを受信し、受信した
データにおける前記第1の情報のデータのうちの前記特
定のデータ単位から、前記複数の小サイズのデータ片を
再現するようにしてもよい。第2の情報は、必ずしも第
1の情報に関連性を有していなくてもよい。例えば、第
1の情報が通信ネットワークを介して伝送される或る番
組の内容であるとすると、第2の情報は、その番組とは
無関係のニュース文等であってもよい。さらに、再生し
た第2の情報の内容を表示するための適宜の表示手段を
具備していてもよい。この発明は、上述の各観点に従う
方法を実施するための回路もしくは装置を具備する電子
情報処理装置として実施することができる。更に、この
発明は、上述の各観点に従う方法を実行させるためのプ
ログラムを記録したコンピュータ読み取り可能な記録媒
体としての形態で実施することができる。更に、この発
明は、上述の各観点に従う方法に従って前記第2の情報
を構成するデータの少なくとも一部を前記第1の情報の
データ内に組み込んだ状態のデータ構成からなるデータ
を記録してなるコンピュータ読み取り可能な記録媒体と
しての形態で実施することができる。
【0016】
【発明の実施の形態】以下、この発明の実施の形態を添
付図面に従って詳細に説明する。図2は、この発明に係
る電子情報処理システムとしての機能を具備する電子楽
器の全体構成を示すブロック図である。電子楽器1は、
CPU21、ROM22、RAM23、音源24、フロ
ッピー(登録商標)ディスクドライブ25、鍵盤26、
パネルスイッチ27及び表示回路28から構成される。
CPU21はROM22及びRAM23内の各種プログ
ラムや各種データ、及びフロッピーディスクドライブ2
5を介して取り込まれた楽音制御情報(MIDIデー
タ)に基づいて電子楽器1全体の動作を制御すると共に
取り込まれたMIDIデータ内に付属情報を分散して記
憶したり、付属情報の分散記憶されたMIDIデータを
フロッピーディスクから取り込み、それから付属情報を
検出したりする。この実施の形態では、フロッピーディ
スクドライブ25を例に説明するが、これ以外のMOド
ライブ、PDドライブ、CD−ROMドライブなどでも
よい。CPU21は、フロッピーディスクドライブ25
を介して取り込まれたMIDIデータや鍵盤26の押鍵
操作に基づいて生成したMIDIデータを音源24に供
給する。なお、外部に接続された音源を用いて発音処理
を行うようにしてもよい。また、CPU21には図示し
たものの他にも、データ及びアドレスバス29を介して
タイマ、表示手段、サウンドシステム等の周辺機器が接
続されるが、ここでは省略する。
【0017】ROM22はCPU21の各種プログラム
(システムプログラムや、この発明を実施するための動
作プログラムなど)や各種データを格納するものであ
り、リードオンリーメモリ(ROM)で構成されてい
る。RAM23は、CPU21がプログラムを実行する
際に発生する各種データを一時的に記憶するものであ
り、ランダムアクセスメモリ(RAM)の所定のアドレ
ス領域がそれぞれ割り当てられ、レジスタ、フラグ、バ
ッファ、テーブル等として利用される。また、CPU2
1には、ハードディスク装置11を接続して、そこに自
動演奏データやコード進行データ等の各種データを記憶
していてもよく、更に、この発明を実施するための動作
プログラムを記憶しておくようにしてもよい。また、前
記ROM22に動作プログラムを記憶せずに、ハードデ
ィスク装置11にこれらの動作プログラムを記憶させて
おき、それをRAM23に読み込むことにより、ROM
22に動作プログラムを記憶したときと同様の動作をC
PU21に行わせることができる。このようにすると、
動作プログラムの追加やバージョンアップ等が容易に行
える。着脱自在な外部記憶媒体の1つとして、CD−R
OM(コンパクトディスク・リードオンリーメモリ)を
使用してもよい。このCD−ROMには、上述のような
自動演奏データやコード進行データや楽音波形データや
映像データなどの各種データ及び動作プログラムやその
他プログラムを記憶していてもよい。CD−ROMに記
憶されている動作プログラムや各種データは、CD−R
OMドライブ12によって、読み出され、ハードディス
ク装置11に転送記憶させることができる。これによ
り、動作プログラムの新規のインストールやバージョン
アップを容易に行うことができる。勿論、可搬式の記録
媒体としては、上記CD−ROMに限らず、フロッピー
ディスクや光磁気ディスク(MO)など、その他の媒体
も使用可能である。これらの各種記録媒体は、本発明を
実施するためののコンピュータプログラムを記録する用
途だけではなく、本発明に従って主要情報内に付属情報
を分散して組み込んでなるデータ構造からなるデータを
記録する用途にも使用できる。
【0018】また、通信インターフェイス13をデータ
及びアドレスバス29に接続し、この通信インターフェ
イス13を介してLAN(ローカルエリアネットワー
ク)やインターネットなどの種々の通信ネットワーク上
に接続可能とし、他のサーバコンピュータとの間でデー
タのやりとりを行うようにしてもよい。これにより、ハ
ードディスク装置11内に動作プログラムや各種データ
が記憶されていないような場合や、記憶済の動作プログ
ラムや各種データの内容を更新するような場合におい
て、サーバコンピュータから新しい動作プログラムや各
種データをダウンロードすることができる。この場合、
クライアントとなる楽音生成装置である電子楽器1か
ら、通信インターフェイス13及び通信ネットワークを
介してサーバコンピュータに動作プログラムや各種デー
タのダウンロードを要求するコマンドを送信する。サー
バコンピュータは、このコマンドに応じて、所定の動作
プログラムやデータを、通信ネットワークを介して電子
楽器1に送信する。電子楽器1では、通信インターフェ
イス13を介してこれらの動作プログラムやデータを受
信して、ハードディスク装置11にこれらを蓄積する。
これによって、動作プログラム及び各種データのダウン
ロードが完了する。
【0019】音源24は、複数のチャンネルで楽音信号
の同時発生が可能であり、CPU21から与えられた楽
音制御情報(ノートオン、ノートオフ、ベロシティ、ピ
ッチデータ、音色番号等のMIDIデータ)を入力し、
これらのデータに基づいた楽音信号を発生して図示して
いないサウンドシステムに供給する。音源24において
複数チャンネルで楽音信号を同時に発音させる構成とし
ては、1つの回路を時分割で使用することによって複数
の発音チャンネルを形成するようなものや、1つの発音
チャンネルが1つの回路で構成されるような形式のもの
であってもよい。また、音源24における楽音信号発生
方式はいかなるものを用いてもよい。例えば、発生すべ
き楽音の音高に対応して変化するアドレスデータに応じ
て波形メモリに記憶した楽音波形サンプル値データを順
次読み出すメモリ読み出し方式(波形メモリ方式)、又
は上記アドレスデータを位相角パラメータデータとして
所定の周波数変調演算を実行して楽音波形サンプル値デ
ータを求めるFM方式、あるいは上記アドレスデータを
位相角パラメータデータとして所定の振幅変調演算を実
行して楽音波形サンプル値データを求めるAM方式等の
公知の方式を適宜採用してもよい。また、これらの方式
以外にも、自然楽器の発音原理を模したアルゴリズムに
より楽音波形を合成する物理モデル方式、基本波に複数
の高調波を加算することで楽音波形を合成する高調波合
成方式、特定のスペクトル分布を有するフォルマント波
形を用いて楽音波形を合成するフォルマント合成方式、
VCO、VCF及びVCAを用いたアナログシンセサイ
ザ方式等を採用してもよい。また、専用のハードウェア
を用いて音源を構成するものに限らず、DSPとマイク
ロプログラムを用いて音源を構成するようにしてもよい
し、CPUとソフトウェアのプログラムで音源を構成す
るようにしてもよい。音源24から発生された楽音信号
は、図示しないアンプ及びスピーカからなるサウンドシ
ステムによって発音される。なお、音源24とサウンド
システムとの間にエフェクタが設けてあってもよい。鍵
盤26は、発音すべき楽音の音高を選択するための複数
の鍵を備えており、各鍵に対応してキースイッチを有し
ており、新たな鍵が押圧されたときは、その鍵に対応し
たキーコードを含むキーオンイベント情報を出力し、鍵
が離鍵されたときはその離鍵された鍵に対応したキーコ
ードを含むキーオフイベント情報を出力する。また、鍵
盤26は、鍵押し下げ時の押鍵操作速度又は押圧力等を
判別してタッチデータを生成し、それをベロシティデー
タとして出力する。鍵盤26は音楽演奏のための基本的
な操作子であり、これ以外の演奏操作子でもよいことは
いうまでもない。パネルスイッチ27は、電子楽器1の
各種動作内容を選択・設定・制御するための複数の操作
子を備えたものである。表示回路28はCPU21の制
御状態、設定データの内容等の各種の情報を図示してい
ないモニタ上に表示するものである。この実施の形態で
は、著作権表示データ、曲名、作曲者情報、作成年月
日、歌詞、ニュース文、機種名(ハード名)、IDなど
のテキストデータなどを表示する。なお、電子楽器1
は、楽器専用機器として構成されている必要はなく、例
えば、汎用電子機器であるパーソナルコンピュータを使
用し、これに本発明に係るソフトウェアを搭載して、楽
器機能を実現するようにしたものであってもよい。勿
論、本発明は電子楽器としての実施形態に限らず、その
他の適宜の電子機器システムとしての実施形態をとって
もよいものである。その場合においても、汎用電子機器
であるパーソナルコンピュータに本発明に係るソフトウ
ェアを搭載して、発明を実施することができる。
【0020】次に、この発明に係る電子情報処理システ
ムが電子情報付与装置として動作する場合の一例につい
て説明する。図3は、電子楽器1が電子情報付与装置と
して動作する場合の電子署名付与処理の一例を示すフロ
ーチャート図である。まず、この場合には、電子楽器1
は、フロッピーディスクドライブ25から読み出したM
IDIデータにそのヘッダ情報の一部である電子署名す
なわち著作権表示データを分散する場合について説明す
る。なお、このようにしてできたMIDIデータを再び
フロッピーディスクに記録したり、他の記憶媒体に記憶
したり、転送したりしてもよい。まず、ステップ31で
は、MIDIデータ列内に分散して書き込まれるべき電
子署名(著作権表示データ)の内容を決定する。例え
ば、著作権表示データとして『COPYRIGHT△Y
MH△1996』のような文字をMIDIデータ列内に
分散して書き込む場合には、これらの文字列をパネルス
イッチ27を用いて決定する。ここで、△は空白を意味
するものとする。ステップ31で書き込むべき電子署名
すなわち文字列が決定したので、今度はステップ32
で、その電子署名に関するデータ列を得る。例えば、パ
ネルスイッチ27によって『COPYRIGHT△YM
H△1996』が入力された場合には、それをASCI
Iの文字符号のデータ列に変換する。この場合は、
『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のデータ列が得られることになる。
【0021】次に、ステップ33では、電子署名として
付与する情報すなわち、ステップ32で得られたASC
IIのデータ列の1バイト分をバイトレジスタBRに格
納する。そして、ステップ34では、このバイトレジス
タBRに格納されたASCIIの各ビットデータを反転
して、別の8ビット構成のビット列を作成する。例え
ば、『Y』=『59H』(数字の後のHは16進数表現
であることを示す)をバイトレジスタBRに格納する
と、それは図1(F)に示すように『01011001
B』(数字の後のBは2進数表現であることを示す)=
『89D』(数字の後のDは10進数表現であることを
示す)のようなビット列になる。このビット列がステッ
プ34のデータ変換すなわちビット反転によって、図1
(E)のようなビット列、すなわち『10100110
B』=『166D』のようなビット列になる。次に、ス
テップ35では、MIDIデータ列(Standard
MIDIFile:SMF)の中からキーオンイベン
トデータやプログラムチェンジデータやコントロールチ
ェンジデータなどの各種のMIDIデータを順次取り出
す。すなわち、MIDIデータ列は基本的にはキーオン
ステータスバイト、キーコードバイト、ベロシティバイ
トからなるキーオンイベントデータやこれ以外のプログ
ラムチェンジイベントデータやコントロールチェンジイ
ベントデータなどから構成されているので、ステップ3
5では、このようなMIDIデータを順番に取り出す。
ステップ36では、取り出されたMIDIデータがキー
オンイベントデータKONであるかどうかを判定し、キ
ーオンイベントデータ(YES)の場合は次のステップ
37に進み、そうでない(NO)の場合はステップ3D
に進む。従って、ステップ35で取り出されたMIDI
データがキーオンイベントデータの場合には、図1
(A)のようなキーオンイベントデータからなるMID
Iデータ列SMF1が得られることになる。このキーオ
ンイベントデータのMIDIデータ列SMF1はデュレ
ーションタイムDと、キーオンイベントデータとの組合
せで構成される。ステップ37では、キーオンイベント
データの中の各バイトのデータをそれぞれ対応するレジ
スタa,b,cに格納する。すなわち、キーオンイベン
トデータの中のキーオンステータスバイトの中のチャン
ネル番号をレジスタaに、次の第1のデータバイト(キ
ーコードバイト)の中のキーコードをレジスタbに、第
2のデータバイト(ベロシティバイト)の中のベロシテ
ィをレジスタcにそれぞれ格納する。
【0022】ステップ38では、ステップ34で作成さ
れたビット列の先頭から順に1ビット取り出して、それ
を第1のビットフラグBF1に格納する。次のステップ
39では、ステップ37の各レジスタa,b,cの格納
値を所定の関数に従って演算し、その演算結果によって
得られたビットデータを反転して、第2のビットフラグ
BF2に格納する。この実施の形態では、各レジスタ
a,b,cの値の合計値のモジュロ2を所定の関数とす
る。すなわち、関数f1(a,b,c,)=(a+b+
c)mod2とする。例えば、図1(A)のようなキー
オンイベントMIDIデータ列SMF1の場合には、8
つのキーオンイベントデータで1つの文字データに相当
するデータが作成される。まず、各キーオンイベントデ
ータの所定の関数f1(a,b,c)で演算すると、図
1(B)のようになる。すなわち、(a+b+c)の値
が偶数なら『0』、奇数なら『1』となる。そして、こ
れらの反転ビットが第2のビットフラグBF2に格納さ
れ、図1(C)のようになる。
【0023】ステップ3Aでは、ステップ38及びステ
ップ39で得られた第1のビットフラグBF1と第2の
ビットフラグBF2とが等しいかどうかを判定し、等し
い(YES)場合には次のステップ3B及びステップ3
Cの処理を行い、等しくない(NO)場合はステップ3
Eにジャンプする。ステップ3Bでは、第1のビットフ
ラグBF1と第2のビットフラグBF2とが等しいと判
定されたので、レジスタcの値すなわちベロシティデー
タの最下位ビットに『1』を加算する。そして、ステッ
プ3Cで、そのレジスタcの値に基づいてMIDIデー
タ列中のキーオンイベントデータを構成するベロシティ
の値を更新する。すなわち、ベロシティの値を1だけ増
加する。例えば、図1の場合には、第1のビットフラグ
BF1と第2のビットフラグBF2との3番目、5番
目、6番目及び7番目がそれぞれ等しいと、ステップ3
Aで判定されるので、MIDIデータ列中の3番目、5
番目、6番目及び7番目のキーオンイベントデータのベ
ロシティの値が『1』だけ増加する。すなわち、3番目
のキーオンイベントデータのベロシティ値『63』が
『64』になり、5番目のキーオンイベントデータのベ
ロシティ値『78』が『79』になり、6番目のキーオ
ンイベントデータのベロシティ値『91』が『92』に
なり、7番目のキーオンイベントデータのベロシティ値
『42』が『43』になる。
【0024】ステップ3Dでは、ステップ36でMID
Iデータ列から取り出されたデータがキーオンイベント
データでない(NO)と判定された場合に行われる処理
であり、取り出されたMIDIデータが今度はプログラ
ムチェンジイベントPCMであるかどうかを判定し、プ
ログラムチェンジイベントPCM(YES)の場合に
は、ステップ3Hに進み、そうでない(NO)場合はス
テップ3Eに進む。ステップ3Eでは、ステップ3A又
はステップ3DでNOと判定された場合又はステップ3
Cの処理を終えた場合に行われる処理であって、ステッ
プ36で取り出されたMIDIデータの次のデータがデ
ータ終了を示すデータかどうかの判定を行う。このステ
ップ3Eでの判定結果がデータ終了(YES)の場合に
は、電子情報付与処理を終了し、データ終了でない(N
O)場合には、次のステップ3Fに進む。ステップ3F
では、ステップ35〜ステップ3Eまでの処理を1巡回
処理とした場合にその1巡回処理が8回分すなわち8ビ
ット分行われたかどうかを判定し、8回分行われた(Y
ES)場合には、次のステップ3Gに進み、そうでない
(NO)の場合は、ステップ35にリターンし、レジス
タBR内の次の1ビットに対してステップ35〜ステッ
プ3Eの処理を行う。ステップ3Gでは、ステップ33
〜ステップ3Fまでの処理を1巡回処理とした場合にそ
の1巡回処理が電子署名データを構成するバイト数だけ
行われたかどうかを判定し、行われた(YES)場合に
は、次のステップ3Hに進み、そうでない(NO)の場
合は、ステップ33にリターンし、電子署名データの次
の1バイトに対してステップ33〜ステップ3Eの処理
を行う。ステップ3Hでは、ステップ3Gで電子署名デ
ータの全バイトに対してステップ33からステップ3F
までの処理が行われたことが判定されたので、再び電子
署名データの書込み処理を行うために、電子署名バイト
のポインタをその先頭にセットし、ステップ33にリタ
ーンする。こうして、署名データの各ビットを所定のア
ルゴリズムで変換したデータが、分散されて、MIDI
データ中のキーオンイベントデータ内のベロシティバイ
ト部分に埋め込まれる。また、このステップ3Hでは、
ステップ3DでYESと判定された場合すなわち取り出
されたMIDIデータがプログラムチェンジイベントP
CMだった場合にも行われる。従って、電子署名データ
はプログラムチェンジイベントPCMが出現する度に、
電子署名データの先頭に復帰することになる。何故、プ
ログラムチェンジイベントで復帰するようにしたかとい
うと、プログラムチェンジイベントは電子署名を付与す
るノートオンイベントなどに比べて、比較的低頻度で発
生し、プログラムチェンジ後は、楽器が変わることを意
味するので、その位置を始点としてエディットされる可
能性の高い単位ということが言えるからである。
【0025】次に、図3の電子情報付与処理によって付
与された電子情報すなわち電子署名データの検出処理に
ついて説明する。図4は、電子楽器1が電子情報検出装
置として動作する場合の一例を示すフローチャート図で
ある。この場合には、フロッピーディスクドライブ25
から読み出されたMIDIデータのベロシティバイト部
分にそのヘッダ情報の一部である電子署名すなわち著作
権表示データが分散記録されているものとする。以下の
実施の形態では、この著作権表示データを検出して、そ
れをモニタなどに表示するまでの動作を説明する。ま
ず、ステップ41では、署名データ格納レジスタSIG
Nにナルデータを格納する。すなわち、署名データ格納
レジスタSIGNの内容をリセットする。ステップ42
では、電子署名を検出するべきMIDIデータ列、すな
わち図3の電子情報付与処理によって電子署名の付与さ
れたMIDIデータ列を取り出す。そして、次のステッ
プ43で、バイトレジスタBRとビットカウンタBCN
の値をリセットする。
【0026】次に、ステップ44では、MIDIデータ
列(Standard MIDIFile:SMF)の
中から順次キーオンイベントデータやプログラムチェン
ジデータやコントロールチェンジデータなどのデータを
取り出す。ステップ45では、取り出されたMIDIデ
ータがキーオンイベントデータKONであるかどうかを
判定し、キーオンイベントデータ(YES)の場合は次
のステップ46に進み、そうでない(NO)場合はステ
ップ4Cに進む。従って、ステップ44で取り出された
MIDIデータがキーオンイベントデータの場合には、
図1(G)のようなキーオンイベントMIDIデータ列
SMF2が作成されることになる。なお、図1(G)の
キーオンイベントデータ列は先に電子署名の付与された
図1(D)のキーオンイベントデータ列と同じものであ
る。ステップ46では、キーオンイベントデータの中の
各バイトのデータをそれぞれ対応するレジスタa,b,
cに格納する。すなわち、キーオンイベントデータの中
のキーオンステータスバイトの中のチャンネル番号をレ
ジスタaに、次の第1のデータバイト(キーコードバイ
ト)の中のキーコードをレジスタbに、第2のデータバ
イト(ベロシティバイト)の中のベロシティをレジスタ
cにそれぞれ格納する。
【0027】ステップ47では、バイトレジスタBRの
値を2倍(左シフト)して、その最下位ビットに関数f
1(a,b,c,)=(a+b+c)mod2の反転値
を加算する。ステップ48では、ビットカウンタBCN
の値を1だけインクリメントする。ステップ49では、
ビットカウンタBCNの値が『8』になったかどうかを
判定し、YESの場合は次のステップ4Aに進み、NO
の場合はステップ4Fにジャンプする。例えば、図1
(G)のようなキーオンイベントのMIDIデータ列S
MF2の場合には、8つのキーオンイベントデータで1
つの文字データに相当するデータが作成される。まず、
各キーオンイベントデータの所定の関数f1(a,b,
c)で演算すると、図1(H)のようになる。すなわ
ち、(a+b+c)の値が偶数なら『0』、奇数なら
『1』となる。そして、これらの反転ビットは図1
(J)のようになり、その値がバイトレジスタBRを順
次シフトしていき、最終的にはバイトレジスタBRの格
納値は、図1(J)のようになる。このようにして、得
られた図1(J)のデータは図1(F)と同じである。
すなわち、MIDIデータのベロシティバイト部分に分
散して書き込まれた著作権表示データすなわち図1
(F)のようなデータが図1(J)のように再現された
ことになる。ステップ4Aでは、バイトレジスタBRの
格納値をASCIIの文字データに変換して、署名デー
タ格納レジスタSIGNに追加記憶する。ステップ4B
で、バイトレジスタBRとビットカウンタBCNの値を
リセットする。ステップ4Cでは、ステップ45でMI
DIデータ列から取り出されたデータがキーオンイベン
トデータでない(NO)と判定された場合に行われる処
理であり、取り出されたMIDIデータが今度はプログ
ラムチェンジイベントPCMであるかどうかを判定し、
プログラムチェンジイベントPCM(YES)の場合に
は、次のステップ4D及びステップ4Eに進み、そうで
ない(NO)場合はステップ4Fに進む。ステップ4D
では、バイトレジスタBRの値をリセットし、ステップ
4EではビットカウンタBCNの値をリセットする。ス
テップ4Fでは、ステップ49又はステップ4CでNO
と判定された場合、又はステップ4B又はステップ4E
の処理を終えた場合に行われる処理であって、ステップ
46で取り出されたMIDIデータの次のデータがデー
タ終了を示すデータかどうかの判定を行う。このステッ
プ4Fの判定結果がデータ終了(YES)の場合には、
次のステップ4Gに進み、データ終了でない(NO)場
合にはステップ44にリターンする。ステップ4Gで
は、署名データ格納レジスタSIGNの内容に基づいて
検出された電子署名情報を図示していない表示装置など
に表示する。
【0028】なお、上述の実施の形態では、MIDIデ
ータ列からキーオンイベントデータを順番に取り出し
て、それに対して順番に電子署名データを格納する場合
について説明したが、エディットされる可能性の高い単
位として、チャンネル単位があるので、それに対応して
電子署名データを格納する場合について説明する。図5
は、電子楽器1が電子情報付与装置として動作する場合
の電子署名付与処理の別の一例を示すフローチャート図
である。この場合も、図3の場合と同様に、電子楽器1
は、フロッピーディスクドライブ25から読み出したM
IDIデータにそのヘッダ情報の一部である電子署名す
なわち著作権表示データを分散記録する。まず、ステッ
プ51及びステップ52は、図3のステップ31及びス
テップ32と同じであり、ステップ51でMIDIデー
タ列内に分散して書き込まれるべき電子署名(著作権表
示データ)の内容を決定し、ステップ52でその文字列
に係るデータ列を得る。そして、次のステップ53で
は、図3のステップ33〜ステップ3Hの処理をそのチ
ャンネル毎に行う。そのとき、ステップ39の所定の関
数に従った演算処理をそのチャンネル毎に異ならせるよ
うにする。例えば、ステップ39では、関数f1(a,
b,c,)=(a+b+c)mod2を第2のビットフ
ラグBF2に格納しているが、これを第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とする。ステップ53では、これ
らの第1から第4までの関数処理をMIDIチャンネル
毎に選択的に切り換えて、図3のステップ33〜ステッ
プ3Hまでの処理に従ってそれぞれのチャンネル毎にそ
の関数処理に従って変換された電子署名データを付与す
る。このように、チャンネル毎に関数処理の内容を変更
することによって、それぞれの情報を一度に変更するよ
うなエディット処理、例えばチャンネル情報の入れ替え
やキーコードのシフトなどといったものが行われた場合
でも、エディットによって変更されるデータに関係しな
い関数を利用するチャネルから電子署名データを復元す
ることができるという効果がある。
【0029】次に、図5の電子情報付与処理2によって
付与された電子情報すなわち電子署名データを検出する
電子情報検出処理2について説明する。図6は、電子楽
器1が電子情報検出装置として動作する場合の電子情報
検出処理の別の一例を示すフローチャート図である。こ
の場合には、フロッピーディスクドライブ25から読み
出されたMIDIデータの各チャンネル毎に所定の関数
処理(第1から第4までのいずれかの関数処理)によっ
て、ベロシティバイト部分にそのヘッダ情報の一部であ
る電子署名すなわち著作権表示データが分散記録されて
いるものとする。以下の実施の形態では、所定の関数処
理によって分散記録された著作権表示データをチャンネ
ル毎に検出して、それをモニタなどに表示するまでの動
作を説明する。まず、ステップ61では、電子署名を検
出するべきMIDIデータ列、すなわち図5の電子情報
付与処理によって各チャンネル毎に所定の関数処理に応
じて電子署名データの付与されたMIDIデータ列を取
り出す。そして、次のステップ62で、チャンネルカウ
ンタをリセットし、ステップ63で関数カウンタをリセ
ットする。このチャンネルカウンタと関数カウンタは、
後の処理で、各チャンネルに対して各関数処理を施すた
めに利用されるものである。例えば、MIDIチャンネ
ルが16チャンネル相当の場合には、チャンネルカウン
タは0から15までを巡回的にカウントするように処理
される。また、関数カウンタは、前述のように関数処理
が4種類の場合には、0〜3までも巡回的にカウントす
るように処理される。関数カウンタが『0』の場合は第
1の関数処理f1(a,b,c,)=(a+b+c)m
od2を、『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を意味する。
【0030】ステップ64では、チャンネルカウンタの
値に該当するチャンネルについて、関数カウンタの値に
該当する関数処理を用いて図4のステップ41からステ
ップ4Fまでと同様の電子署名検出処理を行う。ステッ
プ65では、検出されたデータ列に有意な部分があるか
どうかの判定を行う。ここで有意な部分とは、ASCI
Iの文字データによって構成される『COPYRIGH
T』なる署名データの一部分である。従って、ステップ
65では、図4の処理によって署名データ格納レジスタ
SIGNに順次追加されたASCIIの文字データによ
って構成された文字列の中に『COPYRIGHT』な
る文字列データが存在するかどうかを判定することにな
る。ステップ65の判定の結果、署名データ格納レジス
タSIGN内に有意な部分が存在しない(NO)と判定
された場合には、次のステップ66に進み、関数カウン
タを1だけインクリメントする。そして、次のステップ
67で、全ての関数処理に対してステップ64及びステ
ップ65の処理すなわち署名データの抽出処理が行われ
たかどうかの判定を行い、行われた(YES)場合には
次のステップ68に進み、そうでない(NO)場合はス
テップ64にリターンし、次の関数処理についてステッ
プ64及びステップ65の処理を行う。逆に、ステップ
65の判定の結果、署名データ格納レジスタSIGN内
に有意な部分が存在した場合には、ステップ6Bに進
み、その検出された電子署名データをモニタ上に表示し
て終了する。
【0031】ステップ68では、チャンネルカウンタを
1だけインクリメントする。そして、次のステップ69
で全てのチャンネルに対してステップ64及びステップ
65の処理すなわち署名データの抽出処理が行われたか
どうかの判定を行い、行われた(YES)場合には次の
ステップ6Aに進み、そうでない(NO)場合はステッ
プ63にリターンし、次のMIDIチャンネルについて
ステップ63〜ステップ65の処理を行う。ステップ6
9でYESと判定されたということは、全てのMIDI
チャンネルに対して、全ての関数処理を用いて署名デー
タの抽出処理を行った結果、データ列に有意な部分が存
在しなかったということだから、ステップ6Aでは、そ
の結果として『電子署名なし』又は『電子署名検出失
敗』などの文字をモニタ上に表示する。
【0032】なお、MIDIデータに基づく楽音再生演
奏においては、上記のように一部データ変更されたベロ
シティデータはそのまま再生に利用してよい。ベロシテ
ィデータの最下位1ビットの値が1増加又は減少するこ
とは、楽音の再生精度にそれほど深刻な影響を与えな
い。勿論、そうせずに、一部データ変更されたベロシテ
ィデータから署名データによる誤差を取り除いて、正確
なベロシティデータを再生することも可能であるから、
そのように実施してもよい。なお、上述の実施の形態で
は、付属情報として署名データを、主要情報としてのM
IDIデータのベロシティ部分に分散させて記録する場
合について説明したが、これは一例にすぎず、これ以外
の著作者名、曲の題名、画像/映像の題名などに関する
文字データやデータ形式に関するデータやその他の種々
のデータからなる適宜の付属情報を、所要の主要情報の
中に分散させて記録するようにしてもよいことはいうま
でもない。また、付属情報を分散させて記憶する対象と
なる主要情報の種類は、ベロシティ情報に限らず、ベロ
シティ情報以外の適宜の情報、例えばデュレーションタ
イム(待ち時間)データの情報であってもよい。また、
1つの付属情報を、異なる複数種類の主要情報(例えば
とベロシティ情報とデュレーションタイム情報)にわた
って分散させて記録するようにしてもよい。両方に分散
記録する場合、その厳密性すなわち分散記録することに
よってそのデータの内容が変更される度合いに応じて、
分散記録する箇所を適宜切り換えるようにしてもよい。
すなわち、デュレーションタイムデータの短い領域で、
そのデュレーションタイムデータに分散記録すると、そ
れによる変動の割合(厳密性)が大きくなるので、好ま
しくないが、デュレーションタイムデータが比較的大き
い領域では、逆の関係にあるので、分散記録しても影響
は少ない。同じく、ベロシティ部分に記録する場合で
も、ベロシティの値の小さい領域て、そのベロシティ部
分に分散記録すると、それによる変動の割合(厳密性)
が大きくなるので、好ましくないが、ベロシティの値の
大きい領域では、分散記録しても影響は少ない。従っ
て、これらを適宜考慮して種々のデータを分散記録する
ようにしてもよい。
【0033】また、上述の実施の形態では、MIDIデ
ータを主要情報として、このMIDIデータ内に付属情
報を分散記録する場合について説明したが、これに限ら
ず、波形サンプルデータやシーケンスデータ、ディジタ
ル記録音声データ、画像データ、動画データ、レジスト
レーション(電子楽器の設定記録)データなど、適宜の
データを主要情報としてもよく、これらの適宜の主要情
報内に所要の付属情報を分散記録するようにしてもよ
い。波形データ(波形サンプルデータ)を主要情報とし
てそこに適宜の付属情報を分散記録する場合には、所定
の関数処理としてその波形データ(wave_dat
a)そのもののモジュロ2、すなわち、f1(wave
_data)=wave_data mod2としても
よい。また、波形データの値とそのサンプルポイントデ
ータとを用いて、両データの和のモジュロ2、すなわ
ち、f2(wave_data,sample_poi
nt)=(wave_data+sample_poi
nt) mod2としてもよい。図5及び図6の実施の
形態では、各(論理)チャンネル毎に関数処理の種類を
変更して、署名データを検出する場合について説明した
が、図3及び図4のようにプログラムチェンジデータの
検出タイミング毎に関数処理の種類を変更するようにし
てもよい。この場合には、検出されたデータ列に有意な
部分が存在するかどうかの判定処理も各プログラムチェ
ンジデータの検出タイミング毎に行う必要がある。
【0034】上述の実施の形態では、検出された電子署
名情報(すなわち付属情報)をモニタ上に表示する場合
について説明したが、検出側において、署名情報(すな
わち付属情報)がない場合や署名情報が完全に復旧でき
ない場合(各論理チャンネルにおいて、署名情報が検出
できるチャンネルと検出できないチャンネルが混在する
場合)には、データの再生を中止するようにしてもよ
い。また、その検出側の電子楽器やコンピュータなどが
ネットワークに接続されている場合には、そのネットワ
ーク上に不正にエディットされたデータが存在すること
を送信し、それをホストコンピュータ側で検出すること
ができるようにしてもよい。上述の実施の形態では、電
子楽器がこの発明に係る方法又は装置もしくはシステム
を採用した電子署名付与装置又は電子署名検出装置とし
て動作する場合について説明したが、この発明に係る方
法又は装置もしくはシステムは、電子楽器に限らず、ど
のような機器若しくは装置においても適用することがで
きる。この発明に係る方法又は装置もしくはシステムを
採用した電子署名(すなわち付属情報)付与及び/又は
検出装置は、ディスクリートタイプハードウェア装置で
構成してもよいし、ソフトウェアあるいはDSP(デジ
タル・シグナル・プロセッサ)とマイクロプログラムな
どで構成するようにしてもよい。また、このような電子
署名(すなわち付属情報)付与及び/又は検出装置をフ
ロッピーディスクドライブや通信インターフェイスなど
に予め内蔵しておいて、データの入出力の段階で強制的
に電子署名データ(すなわち付属情報)を付与したり、
検出したりするようにしてもよい。上述の実施の形態で
は、電子署名データ(すなわち付属情報)を主要情報の
間に分散記録する(付与する)ことと、それから、これ
を読み出して電子署名データ(すなわち付属情報)を再
生する(検出する)ことについて説明した。しかし、記
録する(付与する)ことと再生する(検出する)ことの
どちらか一方のみを実施することも本発明の範囲に含ま
れる。例えば、電子署名データ(すなわち付属情報)の
分散記録された(付与された)データ(すなわち主要情
報)を、フロッピーディスクやコンパクトディスクなど
で供給するようにしてもよいし、ネットワークを通じて
電子的に供給するようなデータ形態を採用してもよい。
【0035】図3のステップ3Bでは、ベロシティデー
タの値を1だけインクリメント処理する場合について説
明したが、デクリメント処理してもよいし、これらの処
理を適当なタイミング(所定データ数毎とか)で交互に
行うようにしてもよい。上述の実施の形態では、所定の
関数処理の後にビット反転処理を行う場合について説明
したが、これは行わなくてもよい。また、ビット反転処
理の他にも、上位ビットと下位ビットを入れ替えると
か、AND(論理積)、OR(論理和)、XOR(排他
的論理和)などの論理演算処理を施すとか、種々の処理
を加えるようにしてもよいことはいうまでもない。ま
た、適宜の暗号化処理を施すようにしてもよい。例え
ば、上述の第1から第4までの関数処理の結果を適宜組
み合わせてもよいし、前回の関数処理の結果を次の関数
処理に組み合わせて演算するようにしてもよい。なお、
これらの各処理はある程度高速に行うことができ、変換
後、逆変換によりもとに戻せるものであれば、これ以外
の方法でもよいことはいうまでもない。上述の実施の形
態では、プログラムチェンジデータの検出タイミング毎
に新たに署名データの付与処理を行う場合について説明
したが、これに限らず、小節単位(例えば8小節毎な
ど)データの検出タイミング毎に行うようにしてもよ
い。また、波形データに分散記録する場合には、所定の
サンプル数毎や所定のゼロクロス毎に新たに署名データ
の付与処理を行うようにしてもよい。ゼロクロス(波形
の値の符号が変わるタイミング)は波形エディットの際
の基準地点と考えられるからである。また、上述の実施
の形態では、署名データや題名などのような付属情報を
記録する場合について説明したが、MIDIデータと波
形データを合わせて記録する場合に、MIDIデータに
その波形データの一部を記録するようにしてもよいし、
波形データにMIDIデータの一部を合わせて記録する
ようにしてもよい。
【0036】なお、上述の実施の形態では、著作権に関
する署名データを付属情報として、これをMIDIデー
タのベロシティ部分に分散記録する場合について説明し
たが、これは一例であり、これ以外の著作者名、曲の題
名(曲名)、画像/映像の題名などに関するテキスト情
報や、そのデータ形式に関する情報やその他の種々の電
子情報(曲の解説、著作者に関する情報、著作年、歌
詞、ニュース、ハードID(機種名、使用OS)などの
各種情報)を付属情報として、これを適宜の主要情報に
おいて分散記録するようにしてもよいことはいうまでも
ない。この場合には、図3から図6までの各処理におけ
る電子署名をこれらの各種電子情報に置き換えて処理す
ればよい。このようにして処理された電子情報(すなわ
ち付属情報)は、図7のように画面上に表示されるよう
になる。なお、このとき、付属情報を一連の纏まったフ
ァイル情報として検出してもよいし、自動演奏中にMI
DIデータから検出される電子情報の流れとして認識
し、それをリアルタイムに画面表示したりしてもよい。
この場合、付属情報が画像情報の場合には、MIDIデ
ータによってリアルタイムに画像が描画されるようにな
り、テキスト情報の場合には、ニュース配信などのよう
なリアルタイムな情報表示を行うことが可能となる。ま
た、付属情報を分散記録するための技術がシンプルであ
るため、オンデマンドなどで適宜の電子情報(すなわち
付属情報)を所要の主要情報内に埋め込むことができる
ので、TV放送などのようなリアルタイムな描画が可能
となる。また、インターネットや電子メールなどのID
やパスワードの配信にも利用することができる。
【0037】上述の実施の形態では、各種電子情報(す
なわち付属情報)をMIDIデータのベロシティ部分
(すなわち主要情報)に分散記録する場合について説明
したが、この場合だと、MIDIデータ(すなわち主要
情報)自身が書き換えられてデータ値すなわちベロシテ
ィの値が全体的にシフトされたような場合、その付属情
報自体が消えてしまい再現することができなくなるとい
うおそれがある。そこで、MIDIデータ(すなわち主
要情報)自体が書き換えられたりしても、付属情報を抽
出することのできる実施の形態について、図8及び図9
に基づき、以下、説明する。この実施の形態では、MI
DIデータ(すなわち主要情報)における各データ単位
間の差分値をパラメータとして、付属情報を埋め込むた
めの演算アルゴリズムを実行することを特徴としてい
る。このように各データ単位間の差分値をパラメータと
することにより、各データ単位の値がシフト変更された
場合でも、その差分値には変化が生じないことになるの
で、埋め込まれた付属情報を適確に再生することができ
る。図8は、この実施の形態に係る差分アルゴリズムを
用いた情報記憶処理(付属情報付与処理)の一例を示す
フローチャートである。図9は、この差分アルゴリズム
を用いた情報記憶処理に従うデータ変換形態の具体例
と、変換されたデータから付属情報を再生する処理(検
出処理)に従うデータ再生形態の具体例を示す図、であ
る。付属情報を再生する処理(検出処理)のフローチャ
ート例については図示を省略するが、基本的には、上記
各実施例と同様に、記憶処理(付与処理)時の演算アル
ゴリズムに準じた所定の再生演算を行なうことによっ
て、付属情報の各ビットの抽出と再生を行なうことがで
きる。
【0038】図8において、ステップ81では、付属情
報(この例では電子署名情報)を埋め込むべき主要情報
(この例ではMIDIデータ)のキーオンイベントデー
タ列SMF1を得る。これは、付属情報を埋め込む対象
となる主要情報の種類を、前述実施例と同様にベロシテ
ィバイト部分としたためである。すなわち、前述と同様
に、MIDIデータ列(Standard MIDI
File:SMF)の中からキーオンイベントデータや
プログラムチェンジデータやコントロールチェンジデー
タなどの各種のMIDIデータを順次取り出し、取り出
されたMIDIデータがキーオンイベントデータKON
であるかどうかを判定し、キーオンイベントデータから
なるMIDIデータ列SMF1を得る。すなわち、MI
DIデータ列は、基本的には、キーオンステータスバイ
ト、キーコードバイト、ベロシティバイトからなるキー
オンイベントデータや、これ以外のプログラムチェンジ
イベントデータやコントロールチェンジイベントデータ
などから構成されているが、この中から、キーオンイベ
ントデータのMIDIデータ列SMF1を取り出すので
ある。このキーオンイベントデータのMIDIデータ列
SMF1はデュレーションタイムDと3バイトのキーオ
ンイベントデータとの組合せで構成される。このキーオ
ンイベントデータ列SMF1の具体例は図9(A)のよ
うである。
【0039】次に、ステップ82では、このキーオンイ
ベントデータ列SMF1内に分散して書き込まれるべき
付属情報(この例では電子署名すなわち前述の著作権表
示データ)に関するデータ列を得る。次に、ステップ8
3では、上記付属情報データ列(電子署名として付与す
る情報)から、ASCIIのデータ列の1バイト分をバ
イトレジスタBRに格納する。例えば、『Y』=『59
H』をバイトレジスタBRに格納すると、それは図9
(E)に示すように『01011001B』=『89
D』のようなビット列になる。また、レジスタjにバイ
トレジスタBRのビット長を示すデータ(例えば『8
D』)をストアする。ステップ84では、レジスタjの
値から1減少した値をレジスタkにストアする。ステッ
プ85では、相前後するキーオンイベントデータ同士の
キーコードバイトのキーコード同士の差分値を求め、そ
れをキー差分値レジスタdkeyに格納するとともにベ
ロシティバイトのベロシティ同士の差分値を求め、それ
をベロシティ差分値レジスタdvelに格納する。ここ
では、後ろのキーオンイベントデータの値から前のキー
オンイベントデータの値を減算して求めている。すなわ
ち、nはイベントの順序を示す順序数であり、イベント
順序nのベロシティデータVELnを、その次のイベン
ト順序n+1のベロシティデータVELn+1から引き算し、
その結果の差分値をベロシティ差分値レジスタdvel
に格納する。また、イベント順序nのキーコードデータ
NOTEnを、その次のイベント順序n+1のキーコードデ
ータNOTEn+1から引き算し、その結果の差分値をキ
ー差分値レジスタdkeyに格納する。これによって図
9(B)のような差分値データ対(dkey,dve
l)が作成される。
【0040】ステップ86では、この差分値データ対
(dkey,dvel)に所定の関数f(dkey,d
vel)の処理を施して、その最下位ビットLSBの値
と、レジスタBR内のk番目のビットの値とを比較す
る。例えば、この関数f(dkey,dvel)は、キ
ー差分値dkeyとベロシティ差分値dvelとの合計
(dkey+dvel)を求めることからなっている。
図9(C)は、各差分値データ対(dkey,dve
l)毎のキー差分値dkeyとベロシティ差分値dve
lとの合計値(dkey+dvel)を例示するもので
ある。図9(D)は、各合計値(dkey+dvel)
の最下位ビットLSBの値を示す。なお、バイトレジス
タBRの格納値の順位kは、最上位ビットをk=7と
し、最下位ビットをk=0とする。図9(E)に示され
たバイトレジスタBRの格納値『01011001B』
の例では、最初はk=7によって最も左側(最上位)の
ビットの「0」が、合計値(dkey+dvel)(図
9(C)では『24D』)のLSB(図9(D)では
「0」)と比較される。
【0041】ステップ86がNOであれば、ステップ8
7の処理の後にステップ88に行くが、ステップ86が
YESであれば、ステップ87を飛び越してステップ8
8に行く。ステップ87では、イベント順序n+1のベロ
シティデータVELn+1の値に所定の奇数m(例えばm
=1)を加算し、該イベント順序n+1のベロシティデー
タVELn+1の値を変更する。すなわち、ステップ86
での比較結果が不一致であればステップ87でベロシテ
ィデータVELn+1の変更(mの加算)を行なうが、ス
テップ86での比較結果が一致であればベロシティデー
タVELn+1は変更しない。このようにして、キーオン
イベントデータ列SMF1におけるベロシティデータV
ELの変更又は不変更が上記所定のアルゴリズムに従っ
て制御され、図9(F)に例示するような、変更制御さ
れたキーオンイベントデータ列SMF2が得られる。な
お、奇数mを加算することは、最下位ビットLSBの値
を反転することを意味する。すなわち、不一致のときに
最下位ビットLSBの値を反転することにより、一致す
る状態に変更されることになる。こうして、変更制御さ
れたキーオンイベントデータ列SMF2における差分値
データ対毎の合計値(dkey+dvel)の各最下位
ビットLSBは、付属情報の各ビットの値に一致してい
るものとなる。ステップ88ではレジスタkの値を1減
少する。ステップ89ではイベント順序nを1増加して
更新する。次に、ステップ90では、更新されたイベン
ト順序nに基づき、用意されたキーオンイベントデータ
列SMF1の処理が終了したかを判定する。NOであれ
ば、ステップ91に行き、k<0であるかを調べる。N
Oであれば、ステップ85に戻り、更新されたnとkに
関して、上述のステップ85〜90の処理を繰り返す。
【0042】上述のステップ85〜90の処理の繰り返
しによって、バイトレジスタBR内の1バイト分の付属
情報(例えば図9(E)の『01011001B』)の
埋込処理が、次のようにして行われる。まず、図9
(A)のデータ列SMF1の場合、各差分値データ対
(dkey,dvel)毎の合計値(dkey+dve
l)のデータ列としては、図9(C)に示すようなデー
タ列『24,22,21,28,9,41,22,−1
5』が順次得られる。ここで、イベント順序の若い差分
値データ対(dkey,dvel)の合計値(dkey
+dvel)の最下位ビットLSB(図9(D))とバ
イトレジスタBRの左側から順番にビット同士が比較さ
れ、等しい(YES)場合にはキーオンイベントデータ
のベロシティ値を変更せずに、次の右側のビット同士の
比較に移る。等しくない(NO)場合にはそのビットに
関係する2つのキーオンイベントデータの中の後ろ側の
キーオンイベントデータのベロシティに奇数m(例えば
m=1)を加算して該ベロシティ値を変更し、次の右側
のビット同士を比較に移る。こうして、nとkを更新し
て順次比較されることになり、結局、図9のデータ例の
場合には、2番目の差分値データ対の合計値の最下位ビ
ットLSBとバイトレジスタBRの左から2番目のビッ
ト同士が等しくないので、それに関係するMIDIデー
タ列SMF1中の3番目のキーオンイベントデータのベ
ロシティ『45』に『1』を加算して、『46』に変更
する。ここで、3番目のキーオンイベントデータのベロ
シティの値が『46』に変更されると、それによって3
番目の差分値データ(dkey,dvel)は(14,
6)となり、その合計値(dkey+dvel)は『2
0』となる。その結果、3番目の差分値データ対の合計
値の最下位ビットLSBは『0』に変更される。次はこ
の変更された3番目の最下位ビットLSBと3番目のバ
イトレジスタBRのビット同士が比較される。この結
果、両者は等しいと判断されるので、4番目のビット同
士の比較処理に移る。このようにして、順番に比較処理
とベロシティへの『1』の加算処理を行うと、5番目と
6番目のベロシティにも『1』が加算されることにな
る。以上の処理の結果、MIDIデータ列SMF1の3
番目のベロシティ『45』、5番目のベロシティ『6
7』及び6番目のベロシティ『73』にそれぞれ『1』
が加算されて、MIDIデータ列SMF1がMIDIデ
ータ列SMF2(図9(F))のように変更される。
【0043】ステップ92では、未処理の付属情報が有
るか否かを調べ、有れば、ステップ83に戻り、次の付
属情報の1バイトをレジスタBRにセットする。そし
て、前述と同様のステップ83〜91の処理を繰り返
す。主要情報内に埋め込むべきすべての付属情報につい
て、上述の埋め込み処理を終了すると、ステップ92は
NOとなり、図8の処理を終了する。なお、主要情報内
に埋め込むべきすべての付属情報について上述の埋め込
み処理を終了する前に、ステップ90がYESとなった
場合は、未処理の付属情報を処理するために適切な処理
ステップ(図示せず)を付加してもよい。例えば、無発
音の擬似的なキーオンイベントデータ群を設定し、そこ
に未処理の付属情報を埋め込み処理するようにしてよ
い。
【0044】以上のようにして付属情報を付加する処理
(埋め込み処理)の施されたMIDIデータ列SMF2
は、適宜の記憶装置又はバッファ回路に記憶される。こ
のように付属情報を付加済(埋め込み済)のMIDIデ
ータ列SMF2から付属情報の各ビットを抽出し再生す
るには、記憶装置又はバッファ回路からMIDIデータ
列SMF2を読み出して、上述のアルゴリズムに準じた
所定の再生演算を行なえばよい。そのための再生処理手
順は、例えば図10のような手順で行なうことができ
る。すなわち、まず、記憶装置又はバッファ回路からM
IDIデータ列SMF2を読み出して、電子署名(すな
わち付属情報)を検出すべきデータ列SMF2を得る
(ステップ93)。次に、読み出したMIDIデータ列
SMF2から、イベント順序レジスタnの値によって指
示されるイベント順に、差分値データ対(dkey,d
vel)を求め(ステップ94)、その差分値データ対
毎に所定の関数f(dkey,dvel)の演算処理つ
まり合計処理(dkey+dvel)を施し(ステップ
95)、その各合計値の最下位ビットLSBを抽出し
て、所定の再生バッファメモリに順次ストアする(ステ
ップ96)。次に、レジスタnの値を1増加し、ステッ
プ98のNOを経由してステップ94に戻り、ステップ
94,95,96の処理を繰り返す。付属情報のすべて
を検出し終えると、ステップ98がYESとなり、処理
を終了する。前述の通り、変更制御されたキーオンイベ
ントデータ列SMF2における差分値データ対毎の合計
値(dkey+dvel)の各最下位ビットLSBは、
付属情報の各ビットの値に一致しているものとなってい
るので、抽出した各合計値の最下位ビットLSBのデー
タ値を、イベント順に再生バッファメモリに順次ストア
することにより、再生バッファメモリにおいて付属情報
を配列させて再生することができる。
【0045】以上の処理によって、例えば、図9(F)
のMIDIデータ列SMF2に基づいて、図9(G)の
ような差分値データ対(dkey,dvel)のデータ
列が求められ、その差分値データ対毎に所定の関数f
(dkey,dvel)の処理つまり合計処理(dke
y+dvel)を施して図9(H)のような合計値デー
タ列を求める。このようにして求められた各合計値の最
下位ビットLSBが埋め込まれていた電子署名(つまり
付属情報)であり、図9(E)と同じものが抽出・再生
されることが理解できる。なお、上記例では、キーコー
ドの差分値とベロシティの差分値を夫々求め、両者の合
計値のLSBと付属情報との比較結果に応じてのベロシ
ティの変更演算を行なっているが、これに限らず、ベロ
シティの差分値のみを求め、この差分値のLSBと付属
情報との比較結果に応じてのベロシティの変更演算を行
なうようにしてもよい。以上のように、この実施例によ
れば、ベロシティデータの差分値をパラメータとして該
ベロシティデータに対する付属情報の埋め込み演算を行
なうようにしたので、ベロシティデータ全体をシフトす
るようなデータ改変がなされたような場合において、差
分値情報が維持されることにより、埋め込んだ付属情報
の改変を防止することができる。なお、この実施の形態
では、図9(D)の関数処理データの最下位ビットLS
Bと図9(E)のバイトレジスタBRの内容とを比較す
る場合に、左側から順番にビット同士を比較し、等しい
(YES)場合には次の右側のビット同士を比較し、等
しくない(NO)場合にはそのビットに関係する2つの
キーオンイベントデータの中の後ろ側のキーオンイベン
トデータのベロシティに奇数m(例えばm=1)を加算
して、次の右側のビット同士を比較するという一連の処
理で行っている。ここで、加算する奇数mの値は、
『1』に限らず、『3』や『5』などであってもよい。
また、奇数mを加算することに限らず、減算するように
してもよい。また、加算又は減算する奇数mの値を定数
とせずに、適宜、変化させてもよい。また、比較の順序
は、右側のビットから順番に比較するようにしてもよ
い。要するに、上記実施例に限定されるものではなく、
結果として、上記と同等の処理を行なうことができるよ
うに、種々のソフト的な処理をMIDIデータ列SMF
1に施すようにすればよい。
【0046】なお、図5の電子署名付与処理2では、チ
ャンネル毎に関数処理の内容を変更することによって、
それぞれの情報を一度に変更するようなエディット処
理、例えばチャンネル情報の入れ替えやキーコードのシ
フトなどといったものが行われた場合でも、エディット
によって変更されるデータに関係しない関数を利用する
チャネルから電子署名データを復元するようにしてい
る。図8〜図10の実施の形態のように、キーコードと
ベロシティの差分値を求めるようなものでも、同様に、
各チャンネル毎に重複して付属情報の埋め込み処理を施
すようにすることができる。例えば、図8では、キーオ
ンイベントデータのMIDIデータ列SMF1に対して
順番に差分値を求め、それに対して付加情報を順番に付
加する場合について説明したが、差分値の大きさに基づ
いて所定数の領域(例えば、3つの領域)に分類し、分
類されたもの同士で図8と同じような処理を施すように
してもよい。すなわち、キーオンイベントデータのMI
DIデータ列が『D,9n,3c,40,D,9n,3
c,7f,D,9n,3c,10,D,9n,3c,7
f,D,9n,3c,7f,D,9n,3c,20,
D,9n,3c,50,D,9n,3c,7f・・・
・』のようなものであったとする。この場合、ベロシテ
ィの差分値はdvelは、『3f,−6f,6f,0,
−5f,30,2f・・・』のようになる。ここで、差
分値の大きさが0〜2fの場合を第1領域、30〜5f
の場合を第2領域、60〜7fの場合を第3領域とす
る。従って、第4番目と第7番目の差分値が第1領域と
なり、第1番目と第6番目の差分値が第2領域となり、
第3番目が第3領域となる。マイナスの差分値は無視す
る。このようにして分類された第1〜第3の各領域につ
いて前述と同様の付属情報の付与処理を施すことによっ
て、各領域に埋め込んだ付属情報がすべて改変される確
率は2分の1の3乗、すなわち12.5パーセントとな
る。このことは、1つでも最下位ビットが残る確率が8
7.5パーセントであることを意味する。このようにす
ると、データ全体が係数aで乗算された場合でも、埋め
込んだ付属情報が改変される確率は非常に小さくなり、
付属情報の内容を保持することが可能となり、付属情報
の改変に対応することが可能となる。
【0047】上記のすべての実施例に関連して、本発明
は、主要情報内に付属情報を組み込んで記憶するための
方法又は装置として構成することができ、さらには、そ
の方法を実施するためのプログラムを記録した記録媒体
として構成することができ、さらには、その方法に従っ
て記録されたデータ構造を持つデータを記憶した記録媒
体として構成することができる。更に、上記のすべての
実施例に関連して、本発明は、付属情報を組み込んで記
憶してなる主要情報から、該付属情報を抽出し再生する
ための方法又は装置として構成することができ、さらに
は、その方法を実施するためのプログラムを記録した記
録媒体として構成することができる。勿論、上記のすべ
ての実施例において、図2で電子楽器1として示された
装置は、汎用のパーソナルコンピュータによって置き換
えることができることは、前述の通りである。また、電
子楽器や楽音の合成/制御処理の分野に限らず、どのよ
うな電子情報を取り扱う分野ででも本発明を適用するこ
とができる。また、上記各実施例において、付属情報の
すべてを主要情報内に組み込む(埋め込む)ことなく、
付属情報の一部を主要情報内に組み込む(埋め込む)よ
うにしてもよいのは勿論である。その場合、主要情報内
に組み込まなかった残りの付属情報は、従来同様にヘッ
ダ部等の適当な領域に記憶しておいてもよい。上記のす
べての実施例に関連して、付属情報(第2の情報)を組
み込んだ状態からなる主要情報(第1の情報)を通信ネ
ットワークを介して伝送するようにしてもよい。その場
合、受信側では、通信ネットワークを介して伝送された
データを受信し、受信したデータにおける主要情報(第
1の情報)のデータのうちの特定のデータ単位から、複
数の小サイズのデータ片を再現し、再現された各データ
片により付属情報(第2の情報)を再生するようにすれ
ばよい。
【0048】
【発明の効果】この発明によれば、音楽データなどの複
数のイベントデータで構成される主要情報(第1の情
報)の中に適宜の付属情報(第2の情報)を組み込んで
記憶することができるので、付属情報の不正な削除や改
変を防ぐことができる、という優れた効果を奏する。ま
た、付属情報を組み込んだ主要情報の一部が削除された
り変更された場合でも、付属情報を再現することができ
る、という優れた効果を奏する。
【図面の簡単な説明】
【図1】 この発明に係る電子情報の記憶(付与)処理
及び再生(検出)処理におけるデータ変換形態の具体例
を示すデータ図。
【図2】 この発明に係る電子情報処理システムとして
動作する電子楽器のハードウェア全体構成例を示すブロ
ック図。
【図3】 図2のハードウェアを用いて実行される電子
署名付与処理(記憶処理)の一実施例を示すフローチャ
ート図。
【図4】 図3に従って記憶された情報から電子署名
(付属情報)を再生するための電子署名検出処理(再生
処理)の一実施例を示すフローチャート図。
【図5】 図2のハードウェアを用いて実行される電子
署名付与処理(記憶処理)の別の実施例を示すフローチ
ャート図。
【図6】 図5に従って記憶された情報から電子署名
(付属情報)を再生するための電子署名検出処理(再生
処理)の一実施例を示すフローチャート図。
【図7】 図2における表示回路において表示される表
示画面の一例を示す図。
【図8】 図2のハードウェアを用いて実行される電子
署名付与処理(記憶処理)の更に別の実施例を示すフロ
ーチャート図。
【図9】 図8に従う記憶処理及び図10に従う再生処
理におけるデータ変換形態の具体例を示すデータ図。
【図10】 図8に従って記憶された情報から電子署名
(付属情報)を再生するための電子署名検出処理(再生
処理)の一実施例を示すフローチャート図。
【符号の説明】
1 電子楽器 21 CPU 22 ROM 23 RAM 24 音源 25 フロッピーディスクドライブ 26 鍵盤 27 パネルスイッチ 28 表示回路 29 データ及びアドレスバス
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.7 識別記号 FI テーマコート゛(参考) G11B 20/12 G10K 15/02 // G10K 15/02 G10L 9/00 E

Claims (17)

    【特許請求の範囲】
  1. 【請求項1】 複数のイベントデータで構成される第1
    の情報を入力するステップと、 前記イベントデータを2以上のグループに分類するステ
    ップと、 第2の情報を入力するステップと、 前記分類されたイベントデータのうち少なくとも一つの
    グループに含まれるイベントデータの内容を前記第2の
    情報に基づいて変更することにより前記第1の情報に前
    記第2の情報を分散して配置するステップと、 前記第2の情報が分散して配置された第1の情報を出力
    するステップとからなる電子情報処理方法。
  2. 【請求項2】 2以上のイベント種別でなる複数のイベ
    ントデータで構成される第1の情報を入力するステップ
    と、 前記イベント種別毎に前記イベントデータを2以上のグ
    ループに分類するステップと、 第2の情報を入力するステップと、 前記分類されたイベントデータのうち少なくとも一つの
    グループに含まれるイベントデータの内容を前記第2の
    情報に基づいて変更することにより前記第1の情報に前
    記第2の情報を分散して配置するステップと、 前記第2の情報が分散して配置された第1の情報を出力
    するステップとからなる電子情報処理方法。
  3. 【請求項3】 それぞれ所定のパラメータを含む複数の
    イベントデータで構成される第1の情報を入力するステ
    ップと、 前記パラメータの内容に応じて前記イベントデータを2
    以上のグループに分類するステップと、 第2の情報を入力するステップと、 前記分類されたイベントデータのうち少なくとも一つの
    グループに含まれるイベントデータの内容を前記第2の
    情報に基づいて変更することにより前記第1の情報に前
    記第2の情報を分散して配置するステップと、 前記第2の情報が分散して配置された第1の情報を出力
    するステップとからなる電子情報処理方法。
  4. 【請求項4】 複数のイベントデータで構成される第1
    の情報を入力するステップと、 前記イベントデータを2以上のグループに分類するステ
    ップと、 第2の情報を入力するステップと、 前記2以上に分類された各グループに含まれるイベント
    データの内容を前記グループ毎にそれぞれ異なる規則に
    より前記第2の情報に応じて変更することにより前記第
    1の情報に前記第2の情報を分散して配置するステップ
    と、 前記第2の情報が分散して配置された第1の情報を出力
    するステップとからなる電子情報処理方法。
  5. 【請求項5】 複数のイベントデータで構成される第1
    の情報を入力するステップと、 前記イベントデータを2以上のグループに分類するステ
    ップと、 前記分類されたイベントデータのうち少なくとも一つの
    グループに含まれるイベントデータに分散して配置され
    た第2の情報を検出するとともに当該分散して配置され
    た第2の情報を抽出するステップと、 前記抽出した第2の情報を出力するステップとからなる
    電子情報処理方法。
  6. 【請求項6】 2以上のイベント種別でなる複数のイベ
    ントデータで構成される第1の情報を入力するステップ
    と、 前記イベント種別毎に前記イベントデータを2以上のグ
    ループに分類するステップと、 前記分類されたイベントデータのうち少なくとも一つの
    グループに含まれるイベントデータに分散して配置され
    た第2の情報を検出するとともに当該分散して配置され
    た第2の情報を抽出するステップと、 前記抽出した第2の情報を出力するステップとからなる
    電子情報処理方法。
  7. 【請求項7】 それぞれ所定のパラメータを含む複数の
    イベントデータで構成される第1の情報を入力するステ
    ップと、 前記パラメータの内容に応じて前記イベントデータを2
    以上のグループに分類するステップと、 前記分類されたイベントデータのうち少なくとも一つの
    グループに含まれるイベントデータに分散して配置され
    た第2の情報を検出するとともに当該分散して配置され
    た第2の情報を抽出するステップと、 前記抽出した第2の情報を出力するステップとからなる
    電子情報処理方法。
  8. 【請求項8】 複数のイベントデータで構成される第1
    の情報を入力するステップと、 前記イベントデータを2以上のグループに分類するステ
    ップと、 前記2以上に分類された各グループに含まれるイベント
    データの内容を前記グループ毎にそれぞれ異なる規則に
    基づいた処理を行なうことにより前記第1の情報に分散
    して配置された第2の情報を検出し、当該検出された第
    2の情報を第1の情報より抽出するステップと、 前記抽出した第2の情報を出力するステップとからなる
    電子情報処理方法。
  9. 【請求項9】 請求項1乃至8のいずれかに記載の方法
    をコンピュータに実行させるためのプログラムを記憶し
    た機械読み取り可能な記憶媒体。
  10. 【請求項10】 複数のイベントデータで構成される第
    1の情報を入力する手段と、 前記イベントデータを2以上のグループに分類する手段
    と、 第2の情報を入力する手段と、 前記分類されたイベントデータのうち少なくとも一つの
    グループに含まれるイベントデータの内容を前記第2の
    情報に基づいて変更することにより前記第1の情報に前
    記第2の情報を分散して配置する手段と、 前記第2の情報が分散して配置された第1の情報を出力
    する手段とからなる電子情報処理装置。
  11. 【請求項11】 2以上のイベント種別でなる複数のイ
    ベントデータで構成される第1の情報を入力する手段
    と、 前記イベント種別毎に前記イベントデータを2以上のグ
    ループに分類する手段と、 第2の情報を入力する手段と、 前記分類されたイベントデータのうち少なくとも一つの
    グループに含まれるイベントデータの内容を前記第2の
    情報に基づいて変更することにより前記第1の情報に前
    記第2の情報を分散して配置する手段と、 前記第2の情報が分散して配置された第1の情報を出力
    する手段とからなる電子情報処理装置。
  12. 【請求項12】 それぞれ所定のパラメータを含む複数
    のイベントデータで構成される第1の情報を入力する手
    段と、 前記パラメータの内容に応じて前記イベントデータを2
    以上のグループに分類する手段と、 第2の情報を入力する手段と、 前記分類されたイベントデータのうち少なくとも一つの
    グループに含まれるイベントデータの内容を前記第2の
    情報に基づいて変更することにより前記第1の情報に前
    記第2の情報を分散して配置する手段と、 前記第2の情報が分散して配置された第1の情報を出力
    する手段とからなる電子情報処理装置。
  13. 【請求項13】 複数のイベントデータで構成される第
    1の情報を入力する手段と、 前記イベントデータを2以上のグループに分類する手段
    と、 第2の情報を入力する手段と、 前記2以上に分類された各グループに含まれるイベント
    データの内容を前記グループ毎にそれぞれ異なる規則に
    より前記第2の情報に応じて変更することにより前記第
    1の情報に前記第2の情報を分散して配置する手段と、 前記第2の情報が分散して配置された第1の情報を出力
    する手段とからなる電子情報処理装置。
  14. 【請求項14】 複数のイベントデータで構成される第
    1の情報を入力する手段と、 前記イベントデータを2以上のグループに分類する手段
    と、 前記分類されたイベントデータのうち少なくとも一つの
    グループに含まれるイベントデータに分散して配置され
    た第2の情報を検出するとともに当該分散して配置され
    た第2の情報を抽出する手段と、 前記抽出した第2の情報を出力する手段とからなる電子
    情報処理装置。
  15. 【請求項15】 2以上のイベント種別でなる複数のイ
    ベントデータで構成される第1の情報を入力する手段
    と、 前記イベント種別毎に前記イベントデータを2以上のグ
    ループに分類する手段と、 前記分類されたイベントデータのうち少なくとも一つの
    グループに含まれるイベントデータに分散して配置され
    た第2の情報を検出するとともに当該分散して配置され
    た第2の情報を抽出する手段と、 前記抽出した第2の情報を出力する手段とからなる電子
    情報処理装置。
  16. 【請求項16】 それぞれ所定のパラメータを含む複数
    のイベントデータで構成される第1の情報を入力する手
    段と、 前記パラメータの内容に応じて前記イベントデータを2
    以上のグループに分類する手段と、 前記分類されたイベントデータのうち少なくとも一つの
    グループに含まれるイベントデータに分散して配置され
    た第2の情報を検出するとともに当該分散して配置され
    た第2の情報を抽出する手段と、 前記抽出した第2の情報を出力する手段とからなる電子
    情報処理装置。
  17. 【請求項17】 複数のイベントデータで構成される第
    1の情報を入力する手段と、 前記イベントデータを2以上のグループに分類する手段
    と、 前記2以上に分類された各グループに含まれるイベント
    データの内容を前記グループ毎にそれぞれ異なる規則に
    基づいた処理を行なうことにより前記第1の情報に分散
    して配置された第2の情報を検出し、当該検出された第
    2の情報を第1の情報より抽出する手段と、 前記抽出した第2の情報を出力する手段とからなる電子
    情報処理装置。
JP2001036206A 1996-07-02 2001-02-13 電子情報処理方法及び装置並びに記録媒体 Expired - Lifetime JP4304870B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001036206A JP4304870B2 (ja) 1996-07-02 2001-02-13 電子情報処理方法及び装置並びに記録媒体

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP19152896 1996-07-02
JP8-191528 1997-05-22
JP14861297 1997-05-22
JP9-148612 1997-05-22
JP2001036206A JP4304870B2 (ja) 1996-07-02 2001-02-13 電子情報処理方法及び装置並びに記録媒体

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP19312897A Division JP3178378B2 (ja) 1996-07-02 1997-07-02 電子情報処理システム及び方法並びに記録媒体

Publications (2)

Publication Number Publication Date
JP2001296863A true JP2001296863A (ja) 2001-10-26
JP4304870B2 JP4304870B2 (ja) 2009-07-29

Family

ID=27319587

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001036206A Expired - Lifetime JP4304870B2 (ja) 1996-07-02 2001-02-13 電子情報処理方法及び装置並びに記録媒体

Country Status (1)

Country Link
JP (1) JP4304870B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005513707A (ja) * 2001-12-21 2005-05-12 ソニー デーアーデーツェー オーストリア アクチェンゲゼルシャフト 異なる待ち時間を有する記録媒体
WO2014101169A1 (zh) * 2012-12-31 2014-07-03 北京印声科技有限公司 提供增强音频数据流的方法及装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005513707A (ja) * 2001-12-21 2005-05-12 ソニー デーアーデーツェー オーストリア アクチェンゲゼルシャフト 異なる待ち時間を有する記録媒体
US7680023B2 (en) 2001-12-21 2010-03-16 Sony Dadc Austria Ag Record medium with different latencies
JP4790216B2 (ja) * 2001-12-21 2011-10-12 ソニー デーアーデーツェー オーストリア アクチェンゲゼルシャフト 異なる待ち時間を有する記録媒体
WO2014101169A1 (zh) * 2012-12-31 2014-07-03 北京印声科技有限公司 提供增强音频数据流的方法及装置

Also Published As

Publication number Publication date
JP4304870B2 (ja) 2009-07-29

Similar Documents

Publication Publication Date Title
US7485795B2 (en) Method and device for storing main information with associated additional information incorporated therein
US7849319B2 (en) Method and device for incorporating additional information into main information through electronic watermarking technique
US7078607B2 (en) Dynamically changing music
JP3161561B2 (ja) マルチメディア・システム
US6395970B2 (en) Automatic music composing apparatus that composes melody reflecting motif
US7612276B2 (en) Method and system for synthesizing electronic transparent audio
JP3178378B2 (ja) 電子情報処理システム及び方法並びに記録媒体
JPS616689A (ja) 電子楽器
JP4304870B2 (ja) 電子情報処理方法及び装置並びに記録媒体
JP3180788B2 (ja) 電子情報付与及び検出のための装置及び方法
JP3508494B2 (ja) 自動演奏データ変換システム及びプログラムを記録した媒体
JP3180789B2 (ja) 電子情報処理方法及び装置
JP4370725B2 (ja) 電子情報処理方法及び装置
JP3870700B2 (ja) 電子情報処理方法及び装置
JP3180643B2 (ja) 通信カラオケ装置の楽曲データの登録・削除・設定変更方法
US6476305B2 (en) Method and apparatus for modifying musical performance data
GB2354860A (en) Storing music information with associated additional information incorporated therein
Tomczak On the development of an interface framework in chipmusic: theoretical context, case studies and creative outcomes
JP2000092042A (ja) 楽曲データ提供システム及び楽曲データ復号装置
JPS6118996A (ja) 電子楽器
JPH0728461A (ja) 電子楽器
JPH09152881A (ja) 通信カラオケ装置のコーラス音の再生方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040402

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20051219

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060509

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060710

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061010

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061207

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080408

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20080610

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: 20090407

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090420

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: 20120515

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130515

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20140515

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term