JP2001282236A - Electronic information processing method and device - Google Patents

Electronic information processing method and device

Info

Publication number
JP2001282236A
JP2001282236A JP2001036207A JP2001036207A JP2001282236A JP 2001282236 A JP2001282236 A JP 2001282236A JP 2001036207 A JP2001036207 A JP 2001036207A JP 2001036207 A JP2001036207 A JP 2001036207A JP 2001282236 A JP2001282236 A JP 2001282236A
Authority
JP
Japan
Prior art keywords
information
data
event data
value
key
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
JP2001036207A
Other languages
Japanese (ja)
Other versions
JP3870700B2 (en
Inventor
Yoshinari Terada
好成 寺田
Hideaki Masuguchi
秀昭 樽口
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 JP2001036207A priority Critical patent/JP3870700B2/en
Publication of JP2001282236A publication Critical patent/JP2001282236A/en
Application granted granted Critical
Publication of JP3870700B2 publication Critical patent/JP3870700B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Storage Device Security (AREA)
  • Electrophonic Musical Instruments (AREA)

Abstract

PROBLEM TO BE SOLVED: To embed ancillary information (second information), such as electronic signatures, by electronic watermarks into main information (first information) composed of a plurality of event data, such as MIDI data. SOLUTION: The event data in the first information composed of a plurality of the event data is classified to >=2 groups (for example, groups by channels). The second information indicating the method for changing the information is inputted and the contents of the event data included in one of these groups are changed in accordance with the second information and, on the other hand, the contents of the event data included in another group different from the one group are changed in accordance with the second information by using a changing method different from this changing method. The second information is thus dispersed and arranged in the first information. The information may be changed in accordance with the second information and third information respectively indicating the different changing methods by each of the respective groups. The second information (further, the third information) is extracted from the first information and is decoded.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】この発明は電子的記憶媒体に
楽音制御情報(MIDIデータなど)などの主要情報と
付属情報とを暗号化処理して記憶したり、記憶媒体に記
憶されている暗号化処理された主要情報と付属情報に基
づいて元の主要情報及び付属情報を検出する処理を行な
う電子情報処理方法及び装置に関し、さらにはそのシス
テムあるいは記録媒体に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an electronic storage medium for encrypting and storing main information such as tone control information (MIDI data and the like) and auxiliary information, and for encrypting information stored in a storage medium. The present invention relates to an electronic information processing method and apparatus for performing processing for detecting original main information and auxiliary information based on processed main information and auxiliary information, and further relates to a system or a recording medium thereof.

【0002】[0002]

【従来の技術】最近では、パーソナルコンピュータを使
用して、ユーザ自身が音楽データ、映像データ及び波形
データなどを作成したり、それらに種々の変更を加えた
りすることが容易にできるようになった。従って、パー
ソナルコンピュータを使用することによって、市販のF
D、CD−ROM、LDなどの記憶媒体に記録された音
楽データ、映像データ及び波形データなどを自由に読み
出して、それらに種々の変更処理を加えたりすることが
できる。市販のCD−ROMやLDなどに記録されてい
るデータは、その販売者や製作者などに著作権があるた
め、本来それらを自由に改変することは、著作権侵害の
観点から許されるものではない。従って、現在では、C
D−ROMやLDなどの媒体に記録されている音楽デー
タ、映像データ又は波形データなど主データの著作物が
だれに属するものなのかを示すための著作権表示データ
を、その音楽データ、映像データ又は波形データなど主
データを記録する主データ記録部とは別のヘッダ部にお
いて付属情報として付加的に記録することによって、著
作権者を明示し、著作権侵害の未然防止を図っているの
が現状である。また、付属情報には、このような著作権
表示データの他にも、その音楽データ、映像データ及び
波形データの題名などを示す情報、又はその映像データ
や波形データなどがどのようなデータ圧縮技術で圧縮さ
れているのかなどの記録形式を示す情報などがある。
2. Description of the Related Art Recently, it has become easy for a user to create music data, video data, waveform data, and the like using a personal computer and make various changes thereto. . Therefore, by using a personal computer, commercially available F
Music data, video data, waveform data, and the like recorded on storage media such as D, CD-ROM, and LD can be freely read and various changes can be made thereto. Since the data recorded on commercially available CD-ROMs and LDs is copyrighted by the seller, the creator, etc., it is originally not permitted to freely modify them from the viewpoint of copyright infringement. Absent. Therefore, at present C
Copyright display data for indicating to whom the literary work of the main data belongs, such as music data, video data or waveform data recorded on a medium such as a D-ROM or LD, and the music data and video data. Or, by recording additional information as additional information in a header section separate from the main data recording section that records main data such as waveform data, the copyright owner is clearly specified, and copyright infringement is prevented beforehand. It is the current situation. In addition to the copyright indication data, information indicating the title of the music data, video data and waveform data, or the data compression technology of the video data and waveform data, etc. There is information indicating a recording format such as whether the data is compressed in the.

【0003】[0003]

【発明が解決しようとする課題】しかしながら、現在で
は、パーソナルコンピュータなどを使って自由にデータ
を書き換えたり変更したりすることができるので、故意
又は過失によって、著作権表示データや種々の付属情報
が削除されたり、書き換えられたりするという問題があ
る。特に、これらの付属情報がヘッダ部に記録されてい
る場合は、削除や改竄が容易になされてしまうという問
題がある。また、最近ではネットワーク通信の発達に伴
って、このように著作権表示データの削除や改竄がなさ
れた音楽データ、映像データ又は波形データなどが通信
ネットワークを介して広く流通するという問題も起こり
易い。この発明は、音楽データなどのような複数のイベ
ントデータで構成される主要情報(第1の情報)のデー
タフォーマットを変更することなく付属情報(第2の情
報)を付加すると共にこれらのデータに暗号化処理を施
し、この暗号を解読しない限り、こられの主要情報や付
属情報を再生して利用することのできないようにした電
子情報処理方法及び装置さらにはシステム若しくは記録
媒体を提供することを目的とする。
However, at present, data can be freely rewritten or changed using a personal computer or the like, so that copyright display data and various attached information are intentionally or neglected. There is a problem of being deleted or rewritten. In particular, when such ancillary information is recorded in the header section, there is a problem that deletion or tampering is easily performed. In addition, recently, with the development of network communication, such a problem that music data, video data, waveform data, or the like in which the copyright display data has been deleted or falsified is likely to be widely distributed through a communication network. The present invention adds ancillary information (second information) without changing the data format of main information (first information) composed of a plurality of event data such as music data and the like, and adds these data to these data. It is an object of the present invention to provide an electronic information processing method and apparatus, as well as a system or a recording medium, in which an encryption process is performed so that the main information and the attached information cannot be reproduced and used unless the encryption is decrypted. Aim.

【0004】[0004]

【課題を解決するための手段】この発明の第1の観点に
従う方法は、複数のイベントデータで構成される第1の
情報を入力するステップと、前記イベントデータを2以
上のグループに分類するステップと、情報の変更方法を
表わす第2の情報を入力するステップと、前記グループ
の1つに含まれるイベントデータの内容を前記第2の情
報に基づいて変更すると共に、この変更方法とは異なる
変更方法を使って前記1つのグループとは異なる他のグ
ループに含まれるイベントデータの内容を前記第2の情
報に基づいて変更することにより前記第1の情報に前記
第2の情報を分散して配置するステップとからなる。こ
の発明の第2の観点に従う方法は、複数のイベントデー
タで構成される第1の情報を入力するステップと、前記
イベントデータを2以上のグループに分類するステップ
と、情報の変更方法を表わす情報であって、それぞれが
異なる変更方法を表わす第2の情報と第3の情報を入力
するステップと、前記分類されたイベントデータのうち
少なくとも1つのグループに含まれるイベントデータの
内容を前記第2の情報に基づいて変更すると共に、前記
1つのグループとは異なる他のグループに含まれるイベ
ントデータの内容を前記第3の情報に基づいて変更する
ことにより、前記第1の情報に前記第2の情報と前記第
3の情報を分散して配置するステップとからなる。別の
観点に従えば、この発明に係る電子情報処理方法は、上
記第1又は第2の観点に従ういずれかの方法で第2の情
報が分散して配置された第1の情報を入力し、この第1
の情報から、分散して配置された第2の情報を検出する
ものである。第1の観点に従って第2の情報が分散して
配置された第1の情報からは、前記グループの1つに含
まれるイベントデータから情報変更方法を表わす第2の
情報を検出すると共に、該検出の方法とは異なる他の検
出方法により前記グループとは異なる他のグループに含
まれるイベントデータから前記第2の情報を検出するこ
とにより、第2の情報がグループ毎に分散して配置され
ている第1の情報から該第2の情報をグループ毎に異な
る検出方法で検出する。また、第2の観点に従って第2
の情報が分散して配置された第1の情報からは、グルー
プの1つに含まれるイベントデータから情報変更方法を
表わす第2の情報を検出すると共に該第2の情報に基づ
いて該グループのイベントデータを変更し、前記グルー
プとは異なる他のグループに含まれるイベントデータか
ら前記第2の情報とは異なる情報変更方法を表わす第3
の情報を検出すると共に該第3の情報に基づいて該他の
グループのイベントデータを変更することにより、異な
る情報変更方法を表わす該第2の情報と第3の情報が異
なるグループに分散して配置されている第1の情報から
該第2の情報と第3の情報を検出して、それぞれの情報
に従ってそれぞれのグループのイベントデータを復号化
する。別の観点に従えば、この発明に係る機械読み取り
可能な記憶媒体は、上記各観点に従ういずれかの方法を
コンピュータに実行させるためのプログラムを記憶した
ものである。更に別の観点に従えば、この発明に係る電
子情報処理装置は、上記各観点に従ういずれかの方法を
実施するよう構成された電子情報処理装置である。
According to a first aspect of the present invention, there is provided a method comprising: inputting first information composed of a plurality of event data; and classifying the event data into two or more groups. Inputting second information indicating a method of changing information, and changing the content of event data included in one of the groups based on the second information, and changing the content of the event data differently from the changing method. Distributing and distributing the second information to the first information by changing the content of event data included in another group different from the one group based on the second information using a method And the step of doing. A method according to a second aspect of the present invention includes a step of inputting first information composed of a plurality of event data, a step of classifying the event data into two or more groups, and information representing a method of changing information. Inputting second information and third information, each of which represents a different change method, and converting the contents of the event data included in at least one group among the classified event data into the second information. By changing the content of event data included in another group different from the one group based on the third information, while changing based on the information, the second information is added to the first information. And distributing the third information. According to another aspect, an electronic information processing method according to the present invention includes, in any one of the methods according to the first or second aspect, inputting first information in which second information is distributed and arranged, This first
, And detects the second information distributed and arranged from the above information. From the first information in which the second information is dispersedly arranged according to the first viewpoint, second information indicating an information change method is detected from event data included in one of the groups, and the detection is performed. By detecting the second information from event data included in another group different from the group by another detection method different from the above method, the second information is dispersedly arranged for each group. The second information is detected from the first information by a different detection method for each group. Also, according to the second viewpoint, the second
Is detected from event data included in one of the groups, the second information indicating the information change method is detected from the first information, and the group information of the group is determined based on the second information. A third method for changing event data and representing an information change method different from the second information from event data included in another group different from the group.
And changing the event data of the other group based on the third information, so that the second information and the third information representing different information change methods are distributed to different groups. The second information and the third information are detected from the arranged first information, and the event data of each group is decoded according to the respective information. According to another aspect, a machine-readable storage medium according to the present invention stores a program for causing a computer to execute any of the methods according to the above aspects. According to yet another aspect, an electronic information processing apparatus according to the present invention is an electronic information processing apparatus configured to perform any one of the methods according to the above aspects.

【0005】次に、以下説明する実施例に関連して概略
を説明する。第1の情報すなわち主要情報は、例えば、
MIDI形式の音楽演奏情報であってよく、全体として
大きな情報量を持ち、メモリにおいては所定の主データ
記憶領域に記憶されるようなものである。第2の情報す
なわち付属情報は、例えば、そのような主データ記憶領
域に記憶された音楽演奏情報つまり第1の情報の、著作
権表示に関する情報であってよく、音楽演奏情報つまり
第1の情報に比べて小規模な情報量からなる。例えば、
実施例によれば、第1の情報つまり主要情報は所定の主
データ記憶領域に記憶され、第2の情報つまり付属情報
は、ヘッダ領域ではなく、主データ記憶領域内で、第1
の情報を構成するデータに組み込んで記憶することがで
きる。
Next, an outline will be given in relation to the embodiment described below. The first information, ie, main information, is, for example,
It may be MIDI music performance information, has a large amount of information as a whole, and is stored in a predetermined main data storage area in a memory. The second information, that is, the attached information, may be, for example, information related to the copyright indication of the music performance information, that is, the first information, stored in the main data storage area, and the music performance information, that is, the first information. It consists of a small amount of information compared to. For example,
According to the embodiment, the first information, ie, the main information, is stored in a predetermined main data storage area, and the second information, ie, the auxiliary information, is stored in the main data storage area, not in the header area.
Can be stored in the data constituting the information.

【0006】実施例によれば、第1の情報から少なくと
も2つのデータ単位を選択し、該少なくとも2つのデー
タ単位の各値に関連する値を持つデータ関連値を求め
る。このデータ関連値は、例えば、相前後するデータ単
位の各値の差分値である。第2の情報を構成するデータ
群から、第1の情報の1つのデータ単位に組み込むべき
データセグメントが、選択される。1つのデータ単位に
組み込むことができるデータセグメントのサイズは、複
数ビットであってよいし、必要に応じて1ビットのみで
あってもよい。データ関連値及びデータセグメントの値
を変数とする所定の関数に基づき、第1の情報における
1つのデータ単位の内容に置換されるべきデータを生成
し、この生成されたデータにより、第1の情報における
前記少なくとも2つのデータ単位のうちの所定の一方に
該当するデータ単位の内容を置換する。生成されたデー
タにより該当するデータ単位の内容をそっくり置換する
ことにより、1つのデータ単位に組み込むことができる
第2の情報のデータセグメントのサイズを比較的大きく
することができ、第2の情報を第1の情報内に効率的に
組み込むことができる。また、データ単位の内容を置換
する構成であるため、第1の情報のデータフォーマット
はそのままに維持されることになり、主要情報たる第1
の情報のデータフォーマットの変更を要求することな
く、第2の情報として、任意の種類及び内容のデータ
を、第1の情報の中に組み込むことができる。すなわ
ち、第1の情報の中に、電子的透しの手法によって、任
意の第2の情報を組み込むことができる。
According to an embodiment, at least two data units are selected from the first information, and a data-related value having a value associated with each value of the at least two data units is obtained. This data-related value is, for example, a difference value of each value of the preceding and succeeding data units. A data segment to be incorporated into one data unit of the first information is selected from a data group constituting the second information. The size of a data segment that can be incorporated in one data unit may be a plurality of bits, or may be only one bit as needed. Based on a predetermined function using the data-related value and the value of the data segment as variables, data to be replaced with the contents of one data unit in the first information is generated. In the data unit corresponding to a predetermined one of the at least two data units. By completely replacing the contents of the corresponding data unit with the generated data, the size of the data segment of the second information that can be incorporated into one data unit can be made relatively large, and the second information It can be efficiently incorporated into the first information. In addition, since the content of the data unit is replaced, the data format of the first information is maintained as it is, and the first information as the main information is maintained.
As the second information, any type and content of data can be incorporated into the first information without requiring a change in the data format of the information. That is, arbitrary second information can be incorporated into the first information by an electronic watermarking technique.

【0007】置換すべきデータの生成のために使用する
前記所定の関数は、前記データ関連値及び前記データセ
グメントの値を変数とする所定の演算を実行することに
より実現するようにしてもよい。あるいは、該所定の関
数は、前記データ関連値及び前記データセグメントの値
を変数として所定のテーブルを参照することにより実現
されるようになっていてもよい。前記第1の情報におけ
るデータ単位の配列において、相前後するデータ単位の
値の差が所定値より小さいところを検出し、その中の1
つのデータ単位を、置換されるべきデータ単位として選
択するようにするとよい。このことは、第1の情報にお
けるデータ単位の配列において、その値の変化の少ない
ところから、置換されるべきデータ単位を選択すること
を意味する。これにより、データの置換によって、再生
時に生ずるかもしれない、再生データが乱れることがあ
るかもしれない、といったような問題による影響を最小
限に納めることを可能にする。
[0007] The predetermined function used for generating data to be replaced may be realized by executing a predetermined operation using the data-related value and the value of the data segment as variables. Alternatively, the predetermined function may be realized by referring to a predetermined table using the data-related value and the value of the data segment as variables. In the arrangement of the data units in the first information, it is detected that the difference between the values of the successive data units is smaller than a predetermined value.
One data unit may be selected as the data unit to be replaced. This means that a data unit to be replaced is selected from a place where the value of the data unit in the first information has little change. This makes it possible to minimize the effects of problems such as data replacement that may occur during playback and that playback data may be disturbed.

【0008】上記のようにして第1の情報内に第2の情
報が組み込まれたデータ群からそれぞれの情報を再生す
るために、前記第1の情報のうちの前記置換されたデー
タ単位から、前記データ関連値及び前記データセグメン
トの値を再生するステップと、再生した前記データ関連
値に基づき該置換されたデータ単位の本来の内容を再生
するステップとを具備するとよい。データ関連値は、置
換されたデータ単位の本来の内容と、もう1つのデータ
単位の内容と、に関連している値であり、置換されたデ
ータ単位の本来の内容は未知、もう1つのデータ単位の
内容は既知、であるから、再生したデータ関連値と既知
であるもう1つのデータ単位の内容とから、未知である
置換されたデータ単位の本来の内容を再現することがで
きる。例えば、データ関連値が上記のような差分値から
なるものである場合は、既知であるもう1つのデータ単
位の内容にデータ関連値を足し算または引き算すること
によって、置換されたデータ単位の本来の内容を再現す
ることができる。第1の情報における前記2つのデータ
単位のデータ関連値は、演算に限らず、所定の関数又は
テーブルに従って求めた値であってもよい。
[0008] In order to reproduce each information from the data group in which the second information is incorporated in the first information as described above, from the replaced data unit of the first information, The method may further include a step of reproducing the data-related value and the value of the data segment, and a step of reproducing the original content of the replaced data unit based on the reproduced data-related value. The data-related value is a value related to the original contents of the replaced data unit and the contents of another data unit, and the original contents of the replaced data unit are unknown, Since the content of the unit is known, the original content of the replaced data unit that is unknown can be reproduced from the reproduced data-related value and the content of another known data unit. For example, when the data-related value is composed of the difference value as described above, the original data of the replaced data unit is added or subtracted by adding or subtracting the data-related value to the content of another known data unit. Content can be reproduced. The data-related values of the two data units in the first information are not limited to calculations, but may be values obtained according to a predetermined function or table.

【0009】再生処理を容易にするために、第1の情報
におけるデータ単位が置換されているか否かを示すため
に、適宜のフラグ値を該データ単位内に組み込んでおく
ようにしてよい。実際問題として、このようなフラグ値
の組み込みによって、再生時において、再生データが乱
れることが起こり得、それ故に、置換されたデータ単位
の本来の内容は、正確に再現されずに、下位ビットの値
に乱れが起こることがあるかもしれない。本発明におい
ては、そのような再生時における多少の乱れは許容する
ものとする。すなわち、未知である置換されたデータ単
位の本来の内容を、完全に正確に再現することなく、下
位ビットの値に多少の乱れでみられることがある故に、
大体の値を再現することができるだけのような場合であ
っても、「置換されたデータ単位の本来の内容を再現す
る」ことに該当する。例えば、MIDIデータにおける
ベロシテイデータは、楽音の音量を規定するものである
から、その下位ビットの値の多少の乱れは、再生性能を
損なうという重大な問題を引き起こさない。よって、そ
のような、再生性能を損なうという重大な問題を引き起
こすおそれがない性質のデータに対して、第2の情報を
組み込むためのデータ置換処理を施すとよい。
To facilitate the reproduction process, an appropriate flag value may be incorporated in the data unit to indicate whether or not the data unit in the first information has been replaced. As a practical matter, the incorporation of such a flag value may cause the reproduced data to be disturbed at the time of reproduction. Values may be disturbed. In the present invention, such a slight disturbance during reproduction is allowed. In other words, the original contents of the unknown replaced data unit may be seen with some disturbance in the value of the lower bits without completely and accurately reproducing it.
Even if it is only possible to reproduce an approximate value, this corresponds to "reproducing the original contents of the replaced data unit". For example, since the velocity data in the MIDI data defines the volume of a musical tone, a slight disturbance in the value of the lower bits does not cause a serious problem of impairing the reproduction performance. Therefore, it is preferable to perform a data replacement process for incorporating the second information on such data that does not cause a serious problem of impairing the reproduction performance.

【0010】一例として、主要情報を編集することによ
って主要情報の中に種々の付属情報を埋め込むと共に主
要情報に暗号化処理を施すものである。主要情報は、M
IDIデータのキーオンイベントデータ、プログラムチ
ェンジデータ又はコントロールチェンジデータなど複数
のイベントデータで構成されるものである。付属情報と
しては、著作者名、曲の題名、画像/映像の題名などに
関する文字データや波形データの圧縮方法などのデータ
形式に関するデータやその他の種々のデータ(暗号文、
鍵情報、ID、パスワード、ニュース文)などがある。
この電子情報処理システムは、主要情報を構成するデー
タ群の中の所定のデータ群として、MIDIデータの場
合にはキーオンイベントデータ群を用い、このキーオン
イベントデータ群の中の単位データとして、ベロシティ
データやキーコードデータを用い、これらの相前後する
もの同士の差分値を求め、それを用いる。
[0010] As an example, the main information is edited to embed various auxiliary information in the main information and to perform the encryption processing on the main information. Main information is M
It is composed of a plurality of event data such as key-on event data of IDI data, program change data or control change data. As the additional information, character data relating to the author name, song title, image / video title, etc., data relating to a data format such as a compression method of waveform data, and various other data (ciphertext,
Key information, ID, password, news text).
This electronic information processing system uses a key-on event data group in the case of MIDI data as a predetermined data group in a data group constituting main information, and uses velocity data as unit data in the key-on event data group. And a key code data, a difference value between these successive ones is obtained and used.

【0011】このベロシティデータ及びキーコードデー
タは、MIDIメッセージの中で0〜127の値を取る
ので、負の差分値に対応した0〜63と、正の差分値に
対応した64〜127とに分割される。付属情報として
4ビット構成のデータを考えた場合に、3ビットをキー
コードデータに割り当て、1ビットをベロシティデータ
に割り当てると、キーコードデータは0〜7,8〜1
5,・・・,56〜63のような負の差分値に対応した
8つの領域に分割され、64〜71,72〜79,・・
・,120〜127のような正の差分値に対応した8つ
の領域に分割され、ベロシティデータは0〜31,32
〜63のような負の差分値に対応した2つの領域に分割
され、64〜95,96〜127のような正の差分値に
対応した2つの領域に分割される。これらのキーコード
及びベロシティの値をX−Y座標のそれぞれの軸に対応
付けると、キーコード及びベロシティの差分値が共に正
の場合、キーコードの差分値が正でベロシティの差分値
が負の場合、キーコード及びベロシティの差分値が共に
負の場合、キーコードの差分値が負でベロシティの差分
値が正の場合の4通りがそれぞれX−Y座標系の4つの
象限に対応するようになる。
Since the velocity data and the key code data take values of 0 to 127 in the MIDI message, they are 0 to 63 corresponding to a negative difference value and 64 to 127 corresponding to a positive difference value. Divided. When 4-bit data is considered as the additional information, 3 bits are assigned to key code data, and 1 bit is assigned to velocity data.
.., 56 to 63 are divided into eight regions corresponding to negative difference values, and 64 to 71, 72 to 79,.
, Divided into eight areas corresponding to positive difference values such as 120 to 127, and the velocity data is 0 to 31, 32
It is divided into two regions corresponding to negative difference values such as ~ 63 and 63-95, and 96 ~ 127. When these key code and velocity values are associated with the respective axes of the XY coordinates, when the key code and velocity difference values are both positive, the key code difference value is positive and the velocity difference value is negative. , When the difference between the key code and the velocity is negative, the four cases where the difference between the key code is negative and the difference between the velocities are positive respectively correspond to the four quadrants of the XY coordinate system. .

【0012】従って、キーコード及びベロシティの差分
値の正負に応じて各象限が決定し、付属情報の値に応じ
てキーコード及びベロシティの値の範囲が決定し、その
差分値に応じてその範囲内の値が決定するので、この決
定した値を新たなキーコード及びベロシティの値とする
ことによって、前のキーコード及びベロシティとは異な
る値に変換することができる。変換されたキーコード及
びベロシティの値は元の値とは全く相関がないので、こ
れを自動演奏で再生したとしてもスクランブルのかかっ
た(暗号化された)ものとなり、演奏音としては成立し
ない。また、付属情報として、1つのキーオンイベント
データ中に複数ビットのデータを埋め込むことができる
ので、大量のデータを主要情報の品質を落とすことな
く、主要情報と共に伝送することができるという効果が
ある。
Accordingly, each quadrant is determined according to the sign of the difference between the key code and the velocity, the range of the key code and the value of the velocity is determined according to the value of the attached information, and the range is determined according to the difference. Is determined, the determined value is used as a new key code and velocity value, so that the value can be converted to a value different from the previous key code and velocity. Since the converted key code and velocity values have no correlation with the original values, even if they are reproduced by automatic performance, they will be scrambled (encrypted) and will not be established as performance sounds. In addition, since multiple bits of data can be embedded in one key-on event data as accessory information, a large amount of data can be transmitted together with the main information without deteriorating the quality of the main information.

【0013】上記のように編集された前記主要情報を構
成するデータ群を、電子的記憶媒体に記録するようにし
てよいし、又は通信ネットワークを介して配信するよう
にしてもよい。記憶媒体から読み出した、又は通信ネッ
トワークを介して配信されてきたデータ群から、主要情
報(第1の情報)と付属情報(第2の情報)とが適切に
再現される。この方法は、記憶媒体から読み出した、又
は通信ネットワークを介して受信したデータ群データの
うち前記第1の情報の前記置換されたデータ単位から、
前記データ関連値及び前記データセグメントの値を再生
するステップと、再生した前記データ関連値に基づき該
置換されたデータ単位の本来の内容を再生するステップ
とを具備する。再生された付属情報(第2の情報)は、
可視的にディスプレイするようしてもよい。すなわち、
主要情報(第1の情報)の中に組み込まれた付属情報
(第2の情報)が、文字データや波形データの圧縮方法
などのデータ形式に関するデータやその他の種々のデー
タ(暗号文、鍵情報、ID、パスワード、ニュース文)
などである場合、それらを画面上に表示することができ
るものであり、また、これらのデータを通信ネットワー
クを介して配信する場合は、時々刻々と配信されてくる
データに応じてストーリミングに表示することができ
る。
The data group constituting the main information edited as described above may be recorded on an electronic storage medium, or may be distributed via a communication network. Main information (first information) and auxiliary information (second information) are appropriately reproduced from a data group read from a storage medium or distributed via a communication network. The method includes: from the replaced data unit of the first information in data group data read from a storage medium or received via a communication network,
Reproducing the data-related value and the value of the data segment; and reproducing the original content of the replaced data unit based on the reproduced data-related value. The reproduced auxiliary information (second information)
You may make it display visually. That is,
Ancillary information (second information) embedded in the main information (first information) includes data relating to a data format such as a compression method of character data and waveform data, and various other data (ciphertext, key information, etc.). , ID, password, news text)
In such cases, they can be displayed on the screen, and when distributing these data via a communication network, they are displayed in a streaming manner according to the data that is distributed from moment to moment. can do.

【0014】実施例において、複数のデータ単位の集ま
りからなるデータ群により構成された主要情報の中に付
属情報のデータを組み込む方法において、前記主要情報
のデータグループにおける特定の各データ単位の中に前
記付属情報を構成するデータを分散して組み込むステッ
プを具備し、前記主要情報のデータをそのデータ特性に
従って少なくとも2つの特性グループに分類し、各グル
ープの各々において前記付属情報を重複して組み込む。
これによって、主要情報における複数のデータグループ
において、付属情報を重複してすなわち冗長的に組み込
むことができ、主要情報の一部のデータグループでデー
タ変更がなされてそのデータグループからは付属情報の
取り出しができなくなったとしても、他のデータグルー
プから付属情報を取り出すことができるようになる。す
なわち、冗長的に付属情報を組み込んだ複数の特性グル
ープのうち少なくとも1つの特性グループから付属情報
を再生すればよい。主要情報がMIDIデータのような
音楽演奏情報の場合には、移調等のためにキーコードの
値がシフトされる等のことが往々にして起こり得るの
で、そのような場合に適切に対処することができる。
In an embodiment, in a method for incorporating data of ancillary information into main information constituted by a data group consisting of a group of a plurality of data units, the method may be such that each specific data unit in the data group of the main information includes A step of distributing and incorporating data constituting the additional information, classifying the data of the main information into at least two characteristic groups according to the data characteristics, and incorporating the additional information in each of the groups in a redundant manner.
Thereby, in a plurality of data groups in the main information, the additional information can be incorporated redundantly, that is, redundantly, and the data is changed in some of the data groups of the main information and the additional information is extracted from the data group. Even if it is no longer possible, additional information can be extracted from other data groups. That is, it is sufficient to reproduce the accessory information from at least one of the plurality of property groups into which the accessory information is redundantly incorporated. If the main information is music performance information such as MIDI data, the key code value may be shifted for transposition, etc., so that appropriate measures should be taken. Can be.

【0015】一例として、主要情報の所定の第1のデー
タグループにおける特定の各データ単位の中に、暗号化
処理の手法を示す暗号情報を構成するデータを分散し
て、組み込む第1ステップと、前記主要情報における所
定の第2のデータグループにおいて、該主要情報を構成
するデータに対して、前記暗号情報が示す暗号化処理を
施す第2ステップとを具備してよい。これによれば、主
要情報における第1のデータグループにおいて、暗号化
処理のために必要な暗号情報(換言すれば再生時の暗号
化解読に必要な情報)が、分散して組み込まれる。従っ
て、主要情報における第1のデータグループにおいて
は、そのデータフォーマットを変更することなく、電子
的透しの手法で、適宜のアルゴリズムに従って、その中
に暗号情報を組み込むことができる。そして、本格的な
暗号化処理は、主要情報における所定の第2のデータグ
ループにおけるデータに対して、前記暗号情報が示す暗
号化処理に従って施される。
As an example, a first step of distributing and incorporating data constituting cryptographic information indicating an encryption method in a specific data unit in a predetermined first data group of main information, A second step of performing encryption processing indicated by the encryption information on data constituting the main information in a predetermined second data group of the main information. According to this, in the first data group of the main information, encryption information necessary for the encryption process (in other words, information necessary for decryption at the time of reproduction) is dispersedly incorporated. Therefore, in the first data group of the main information, the encryption information can be incorporated into the first data group according to an appropriate algorithm without changing the data format by an electronic watermarking method. Then, the full-scale encryption process is performed on the data in the predetermined second data group in the main information in accordance with the encryption process indicated by the encryption information.

【0016】上記に従って暗号化された主要情報を再生
するために、前記暗号情報が組み込まれてなる前記主要
情報の前記第1のデータグループから、該暗号情報を再
生するステップと、前記再生した暗号情報に基づき、前
記主要情報の前記第2のデータグループのデータをデコ
ードし、主要情報を再生するステップとを具備するよう
にしてよい。暗号情報を解読することをオーソライズさ
れたもの(すなわち正当な利用者)がこの方法を実施す
ることで、暗号情報を再生することができ、これに基づ
き、主要情報の前記第2のデータグループのデータをデ
コードして、主要情報を再生することができる。主要情
報がMIDI情報のような音楽情報の場合、主要情報に
おける第1のデータグループにおける暗号情報の電子的
透しの度合いを比較的弱くすることができ、暗号情報を
解読することをオーソライズされていないものが、この
暗号情報の電子的透しを解除することなく、主要情報の
前記第1のデータグループの部分を再生したとしても、
対応する音楽の試聴はさほど重大なさしつかえなしにで
きるようにすることができる。他方、主要情報の前記第
2のデータグループは、本格的に暗号化されているの
で、暗号情報を解読することをオーソライズされていな
いものは第1のデータグループから暗号情報を取得する
ことができず、よって、第2のデータグループの暗号化
状態を解除することができない。よって、何人でも、第
1のデータグループに対応する部分の音楽は試聴できる
が、第2のデータグループに対応する部分の音楽はオー
ソライズされたものしか利用することができない、とい
ったような効果的な使い分けができるようになる。
Reproducing the encrypted information from the first data group of the main information into which the encrypted information is incorporated, in order to reproduce the main information encrypted according to the above; Decoding the data of the second data group of the main information based on the information and reproducing the main information. A person authorized to decrypt the cryptographic information (that is, a legitimate user) can reproduce the cryptographic information by performing this method. Based on this, the second data group of the main information can be reproduced. The key information can be reproduced by decoding the data. When the main information is music information such as MIDI information, the degree of electronic watermarking of the encrypted information in the first data group in the main information can be made relatively weak, and the decryption of the encrypted information is authorized. Even if the user does not release the electronic watermarking of the encrypted information and reproduces the portion of the first data group of the main information,
Listening to the corresponding music can be done without much seriousness. On the other hand, since the second data group of the main information is fully encrypted, those who are not authorized to decrypt the encrypted information can obtain the encrypted information from the first data group. Therefore, the encrypted state of the second data group cannot be released. Therefore, any person can listen to music in the portion corresponding to the first data group, but can use only authorized music in the portion corresponding to the second data group. You can use them properly.

【0017】一例として、主要情報としては、前述と同
様にMIDIデータのキーオンイベントデータ、プログ
ラムチェンジデータ又はコントロールチェンジデータな
どであってよい。後述する実施例においては、暗号情報
は、主要情報を暗号化するつまりスクランブルする、と
いう意味で、スクランブルデータ若しくはスクランブル
デコードデータという用語で説明されている。スクラン
ブルデータとは、スクランブル(つまり暗号化)の手法
を示すデータのことであり、換言すれば、このデータ
は、データ再生時においてはスクランブル(つまり暗号
化)の解読のために利用できるデータであるから、スク
ランブルデコードデータという用語も同じ意味で使用し
ている。MIDIデータの暗号化(スクランブル)の仕
方としては、何種類かがあってよく、例えば、MIDI
のキーオンデータのノート番号を変更することで暗号化
する手法、あるいは、キーオンデータのノートとベロシ
ティを入れ替えることで暗号化する手法、あるいは、M
IDIのインターバルデータの値を変更することで暗号
化する手法、あるいは、キーオンデータのチャンネルデ
ータを変更することで暗号化する手法、などがある。暗
号情報すなわちスクランブルデータ若しくはスクランブ
ルデコードデータは、どの種類の暗号化手法を採用する
かを指示するものである。
As an example, the main information may be key-on event data of MIDI data, program change data, control change data, or the like as described above. In the embodiments described later, the encryption information is described in terms of scramble data or scramble decode data, meaning that the main information is encrypted, that is, scrambled. The scramble data is data indicating a method of scrambling (that is, encryption). In other words, this data is data that can be used for decrypting scramble (that is, encryption) at the time of data reproduction. Therefore, the term "scramble decode data" is used in the same meaning. There may be several types of encryption (scramble) of MIDI data.
Encryption method by changing the note number of key-on data, or encryption method by replacing note and velocity of key-on data, or M
There is a method of performing encryption by changing the value of IDI interval data, or a method of performing encryption by changing channel data of key-on data. The encryption information, ie, the scramble data or the scramble decode data, indicates which type of encryption method is to be adopted.

【0018】一例として、主要情報たるMIDIデータ
の中への、暗号情報たるスクランブルデータの組み込み
の仕方は、MIDIのキーオンイベントデータの中のベ
ロシティデータの一部(最下位ビットが最適)の値を、
そのスクランブルデータのセグメントの内容に基づいて
変更する。従って、或る一つのベロシティデータの中に
組み込もうとするスクランブルデータのセグメントに応
じて、そのベロシティデータの最下位ビットが変更され
たり、されなかったりする。これによって、スクランブ
ルデータの内容がMIDIデータ群の中に分散して記録
されるようになる。なお、主要情報がMIDIデータの
場合には、スクランブルデータの組み込みのために変更
されるデータはベロシティデータやデュレーションタイ
ムデータが望ましい。なぜなら、これらのデータはさほ
ど厳密性を要求されないデータであるから、その下位ビ
ットの値の多少の誤差は問題にされないないからであ
る。すなわち、これらの情報が多少変更されても音声デ
ータの場合には聴感上でほとんど感知(知覚)されない
からである。また、主要情報が波形データの場合には、
その波形データそのものの最下位ビットを変更すればよ
い。また、画像データの場合も同様である。
As an example, the method of incorporating the scrambled data as the encryption information into the MIDI data as the main information is as follows. ,
It changes based on the contents of the segment of the scrambled data. Therefore, the least significant bit of the velocity data may or may not be changed according to the segment of the scrambled data to be incorporated in one velocity data. As a result, the contents of the scramble data are recorded in a distributed manner in the MIDI data group. When the main information is MIDI data, it is desirable that the data changed for incorporating the scramble data be velocity data or duration time data. This is because these data are data that does not require much rigor, so that a slight error in the value of the lower bit is not considered. That is, even if such information is slightly changed, in the case of audio data, it is hardly perceived (perceived) in terms of hearing. When the main information is waveform data,
What is necessary is just to change the least significant bit of the waveform data itself. The same applies to image data.

【0019】再生時において、スクランブルデータの埋
め込まれた部分の主要情報(例えばMIDIデータ)が
再生された場合には、スクランブルデータのセグメント
によるの電子的透しを解除することなく、そのまま再生
したとしても、さほど重大な不都合を起こすことなく再
生することが可能である。しかし、暗号化処理された部
分は、MIDIデータとしてのフォーマットを維持して
はいるものの、その内容はスクランブルされてしまって
いるので、それをデコードせずに再生したとしても、も
はや音楽的演奏としての体を成さないようになってい
る。従って、オーソライズされた装置若しくは再生ソフ
トウェアを使用して、主要情報内に埋め込まれたスクラ
ンブルデータを再生し、このスクランブルデータを用い
て暗号化状態をデコードしない限り、元の音楽的演奏の
再生が正しく行われることはない。
At the time of reproduction, if the main information (eg, MIDI data) of the portion in which the scrambled data is embedded is reproduced, it is assumed that the reproduction is performed without canceling the electronic watermarking by the segments of the scrambled data. Can be reproduced without causing any serious inconvenience. However, although the encrypted part maintains the format as MIDI data, its contents have been scrambled, so even if it is reproduced without decoding, it is no longer a musical performance. The body does not form. Therefore, unless the scrambled data embedded in the main information is reproduced using an authorized device or reproduction software, and the encrypted state is decoded using the scrambled data, the reproduction of the original musical performance can be correctly performed. Nothing is done.

【0020】前記主要情報の所定の第1のデータグルー
プの中に暗号情報を構成するデータを分散して組み込む
場合において、前記主要情報データの該所定の第1のデ
ータグループは、そのデータ特性に従って少なくとも2
つの特性グループに分類され、該少なくとも2つの特性
グループの各々において前記暗号情報がそれぞれ重複し
て組み込まれるようにするとよい。更に別の例として、
前記第1ステップでは、各特性グループ毎にユニークな
アルゴリズムに従って、各特性グループ毎に前記暗号情
報を組み込むようにしてよい。これにより、第1のデー
タグループにおける或る特性グループのデータが一括的
に変更されることにより、その中に組み込まれた暗号情
報(スクランブルデータ)が再生不能に変形されてしま
ったとしても、別の特性グループのデータの中に組み込
まれた暗号情報を再生し、これを第2のデータグループ
のデコードのために利用することができる。すなわち、
主要情報がMIDIデータの場合には、チャンネル単位
で、MIDIデータの内容が入れ替えられたり、あるい
は移調等のためにキーコードがシフトされたりすること
が、往々にして起こり得るものであり、そうすると、も
はやスクランブルデータを主要情報の中から検出し再生
することができなくなる。そこで、上記のように、チャ
ンネル毎又はプログラムチェンジデータの出現タイミン
グ毎等のなんらかの分類条件に従って、MIDIデータ
(主要情報)を2つの特性グループに分類し、それぞれ
の特性グループ毎に冗長に暗号情報を組み込むようにし
たのである。これによって、チャンネル情報がそのまま
入れ替えられたりしてデータが書き換えられたり、とい
う特性グループ単位でのデータ変更がなされたとして
も、データ変更がなされていないいずれかの特性グルー
プに組み込まれた暗号情報を検出し再生することで、第
2のデータグループにおける暗号化を解除することがで
きるようになる。
In a case where the data constituting the cryptographic information is dispersedly incorporated in the predetermined first data group of the main information, the predetermined first data group of the main information data is divided according to its data characteristics. At least 2
It is preferable that the encryption information is classified into one characteristic group, and the encryption information is incorporated in each of the at least two characteristic groups in an overlapping manner. As yet another example,
In the first step, the encryption information may be incorporated for each characteristic group according to a unique algorithm for each characteristic group. Thereby, even if the data of a certain characteristic group in the first data group is changed collectively, even if the encryption information (scramble data) incorporated therein is deformed to be unreproducible, The encryption information embedded in the data of the characteristic group is reproduced, and can be used for decoding of the second data group. That is,
When the main information is MIDI data, the contents of the MIDI data may be interchanged or the key code may be shifted for transposition or the like on a channel-by-channel basis. It is no longer possible to detect and reproduce the scrambled data from the main information. Therefore, as described above, the MIDI data (main information) is classified into two characteristic groups according to some classification condition such as each channel or each appearance timing of program change data, and the encryption information is redundantly divided for each characteristic group. We decided to incorporate it. As a result, even if the data is rewritten by replacing the channel information as it is or the data is changed in units of characteristic groups, the encryption information incorporated in any of the characteristic groups in which the data has not been changed is changed. By detecting and reproducing, the encryption in the second data group can be released.

【0021】また、別の実施例においては、複数のデー
タ単位の集まりからなるデータ群により構成された第1
の情報の中に第2の情報のデータを組み込む方法であっ
て、前記第1の情報から1つのデータ単位を選択するス
テップと、前記第2の情報を構成するデータ群から、前
記第1の情報の1つのデータ単位に組み込むべきデータ
セグメントを、選択するステップと、前記データセグメ
ントの値をパラメータに含む所定のアルゴリズムに従っ
て、前記第1の情報の前記選択されたデータ単位の内容
を変更するステップとを具備し、前記選択されたデータ
単位の内容に対して前記アルゴリズムに従う変更が施さ
れ、かつ前記第2の情報のデータセグメントの値が該選
択されたデータ単位の中に潜在的に組み込まれることを
特徴とする。これによれば、第1の情報すなわち主要情
報のデータの中の前記選択されたデータ単位の内容を変
更することで、第2の情報すなわち付属情報を組み込む
ので、第2の情報すなわち付属情報の組み込みのみなら
ず、第1の情報すなわち主要情報の部分的な変更をも行
なうことができる。
In another embodiment, a first data group constituted by a group of a plurality of data units is provided.
A method of incorporating data of the second information into the information of the first information, wherein the step of selecting one data unit from the first information; and the step of selecting the first data unit from the data group constituting the second information. Selecting a data segment to be incorporated into one data unit of information; and changing the content of the selected data unit of the first information according to a predetermined algorithm including a value of the data segment as a parameter. Wherein the content of the selected data unit is modified according to the algorithm, and the value of the data segment of the second information is potentially embedded in the selected data unit. It is characterized by the following. According to this, the second information, that is, the auxiliary information is incorporated by changing the content of the selected data unit in the data of the first information, that is, the main information. Not only the incorporation but also the partial change of the first information, that is, the main information can be performed.

【0022】更に別の実施例においては、複数のデータ
単位の集まりからなるデータ群により構成された主要情
報の中に付属情報のデータを組み込む方法であって、前
記主要情報から1つのデータ単位を選択するステップ
と、前記付属情報を構成するデータ群から、前記主要情
報の1つのデータ単位に組み込むべきデータセグメント
を、選択するステップであって、該選択するデータセグ
メントのデータ量は可変であることと、前記データセグ
メントの値をパラメータに含む所定のアルゴリズムに従
って、前記主要情報の前記選択されたデータ単位の内容
を変更するステップであって、前記アルゴリズムは前ス
テップで選択したデータセグメントのデータ量に応じた
ものであることとを具備し、前記選択されたデータ単位
の内容に対して前記アルゴリズムに従う変更が施され、
かつ前記付属情報のデータセグメントの値が該選択され
たデータ単位の中に潜在的に組み込まれることを特徴と
する。これによれば、主要情報の1つのデータ単位に組
み込むべき付属情報のデータセグメントのデータ量を可
変調整することができる。従って、付属情報の全体的な
データ量や種別等を考慮して適切なデータセグメントの
サイズ(データ量)を選定することができる。
In still another embodiment, there is provided a method for incorporating data of ancillary information into main information constituted by a data group consisting of a group of a plurality of data units, wherein one data unit is extracted from the main information. Selecting, and a data segment to be incorporated into one data unit of the main information from a data group constituting the additional information, wherein a data amount of the selected data segment is variable And changing the content of the selected data unit of the main information according to a predetermined algorithm including the value of the data segment as a parameter, wherein the algorithm reduces the data amount of the data segment selected in the previous step. According to the content of the selected data unit Change in accordance with the algorithm is applied,
And the value of the data segment of the additional information is potentially incorporated in the selected data unit. According to this, it is possible to variably adjust the data amount of the data segment of the auxiliary information to be incorporated in one data unit of the main information. Therefore, an appropriate data segment size (data amount) can be selected in consideration of the overall data amount, type, and the like of the attached information.

【0023】更に別の実施例に従う方法は、情報を伝送
する方法であって、送信すべき情報として、複数のデー
タ単位の集まりからなるデータ群により構成された主要
情報を提供するステップと、前記主要情報を構成するデ
ータの中に組み込まれるべき付属情報として、複数のデ
ータセグメントからなる付属情報を提供するステップ
と、前記主要情報の送信時に、所定のアルゴリズムに従
って、前記提供された主要情報の特定の複数のデータ単
位の各々の中に、前記提供された付属情報の各データセ
グメントの各々を組み込むステップと、前記付属情報が
組み込まれた前記主要情報をネットワークに送信するス
テップとを具備する。これにより、電子的透し情報とし
て主要情報の中に組み込まれた付属情報を、ネットワー
クを介してストリーミングに送信することができる。
A method according to yet another embodiment is a method for transmitting information, comprising providing, as information to be transmitted, main information constituted by a data group consisting of a plurality of data units; Providing additional information consisting of a plurality of data segments as additional information to be incorporated into the data constituting the main information, and identifying the provided main information according to a predetermined algorithm when transmitting the main information Incorporating each of the data segments of the provided additional information into each of the plurality of data units, and transmitting the main information including the additional information to a network. Thereby, the additional information embedded in the main information as electronic watermarking information can be transmitted to the streaming via the network.

【0024】更に別の実施例に従う方法は、上記のよう
にネットワークを介して送信されてくる情報を受信し
て、その中から主要情報と付属情報とを再生する方法で
あって、前記ネットワークを介して受信したデータから
前記付属情報のデータセグメントが組み込まれている前
記データ単位を検出するステップと、前記所定のアルゴ
リズムに応じた復号化を行なうことにより、前記検出し
たデータ単位から前記付属情報のデータセグメントと前
記主要情報のデータ単位とを分離してそれぞれ再生する
ステップとを具備する。これにより、電子的透し情報と
して主要情報の中に組み込まれた付属情報がネットワー
クを介してストリーミングに送信されてくると、これを
リアルタイムに復号化して、電子的透しの解読すなわち
付属情報の再生をストリーミングに行なうことができ
る。
A method according to still another embodiment is a method of receiving information transmitted via a network as described above and reproducing main information and auxiliary information from the information, wherein Detecting the data unit in which the data segment of the additional information is incorporated from the data received via the data unit, and performing decoding in accordance with the predetermined algorithm, thereby converting the additional information from the detected data unit. Separating and reproducing the data segment and the data unit of the main information, respectively. Thereby, when the accessory information embedded in the main information as the electronic watermark information is transmitted to the streaming via the network, it is decoded in real time, and the electronic watermark is decoded, that is, the accessory information is decoded. Playback can be streamed.

【0025】更に別の実施例に従う方法は、通常形式で
コード化された音楽演奏情報に対して、選択的に、ある
いは部分的に暗号化を施すステップを具備し、音楽演奏
情報の一部に選択的に暗号化を施すことを特徴とするも
のである。また、この方法に従って音楽演奏情報を記録
した記録媒体は、前記音楽演奏情報の所定の部分が通常
形式でコード化されており、前記音楽演奏情報の別の部
分には秘密の特殊な暗号化が施されていることを特徴と
しており、これにより、前記通常形式でコード化された
音楽演奏情報の部分のみをそのまま再生することがで
き、前記特殊な暗号化が施された部分は暗号化部分をデ
コードした場合に再生できるようにしたものである。こ
れにより、通常形式でコード化された音楽演奏情報の部
分は誰もが再生できるので、その部分の演奏を試聴用演
奏として役立てることができ、極めて便利であると共
に、暗号解読手段を持つ正当な利用者(オーソライズさ
れた者)は暗号化部分を解読(デコード)することで問
題なく全音楽演奏を正当に利用することができ、不都合
のないものとなる。
A method according to yet another embodiment comprises the step of selectively or partially encrypting music performance information coded in a normal form, wherein a part of the music performance information is encrypted. It is characterized by selectively performing encryption. In a recording medium on which music performance information is recorded according to this method, a predetermined portion of the music performance information is coded in a normal format, and another special portion of the music performance information has a special secret encryption. Therefore, only the part of the music performance information coded in the normal format can be reproduced as it is, and the specially encrypted part is an encrypted part. It can be played back when decoded. This allows anyone to play back the music performance information coded in the normal format, so that the performance of that portion can be used as a preview performance. The user (authorized person) can properly use the entire music performance without any problem by decoding (decoding) the encrypted portion, and there is no inconvenience.

【0026】上記では、主に方法としての観点から実施
例の大まかな導入的説明を行なったが、本発明を方法発
明として構成し実施することができるのみならず、装置
発明として構成し、実施することもできるのは勿論であ
る。また、本発明は、コンピュータプログラムの形態で
実施することができるし、そのようなコンピュータプロ
グラムを記憶した記録媒体の形態で実施することもでき
る。更に、本発明の方法又は装置に従って電子的透し情
報の形態で付属情報を主要情報の中に組み込んでなるデ
ータ群を記録してなる記録媒体それ自体もまた、本発明
の一実施形態に含まれる。
In the above, a rough introductory explanation of the embodiment has been given mainly from the viewpoint of a method. However, the present invention can be constructed and implemented not only as a method invention but also as an apparatus invention. Of course you can. In addition, the present invention can be implemented in the form of a computer program, and can also be implemented in the form of a recording medium storing such a computer program. Furthermore, a recording medium itself that records a data group in which auxiliary information is incorporated in main information in the form of electronic watermark information according to the method or apparatus of the present invention is also included in an embodiment of the present invention. It is.

【0027】[0027]

【発明の実施の形態】以下、この発明の実施の形態を添
付図面に従って詳細に説明する。図2は、この発明の一
実施例に係る電子情報処理システムとして動作する電子
楽器の全体構成を示すブロック図である。マイクロプロ
セッサユニット(CPU)21はこの電子楽器全体の動
作を制御するものである。このCPU21に対して、バ
ス2Mを介して各種のデバイスが接続される。
Embodiments of the present invention will be described below in detail with reference to the accompanying drawings. FIG. 2 is a block diagram showing the overall configuration of an electronic musical instrument operating as an electronic information processing system according to one embodiment of the present invention. A microprocessor unit (CPU) 21 controls the operation of the electronic musical instrument as a whole. Various devices are connected to the CPU 21 via the bus 2M.

【0028】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に供給す
る。なお、外部に接続された音源回路を用いて発音処理
を行うようにしてもよい。
The CPU 21 controls the overall operation based on various programs and various data in the ROM 22 and the RAM 23 and the musical tone control information (MIDI data) fetched from the external storage device, and stores the additional information in the fetched MIDI data. Is stored in a distributed manner, the MIDI data in which the auxiliary information is stored in a distributed manner is taken in from a floppy disk, and the auxiliary information is detected therefrom. In this embodiment, a floppy disk drive 24, a hard disk drive 25, a CD-
The ROM drive 26 and the like will be described as an example, but other magneto-optical disk (MO) drives, PD drives, and the like may be used. Further, various information such as tone control information may be fetched from a server computer 29 or the like on the communication network 28 via the communication interface 27, or other M information may be fetched via the MIDI interface 2A.
MIDI data or the like may be fetched from the IDI device 2B or the like. The CPU 21 supplies the tone generator circuit 2J with the MIDI data fetched from the external storage device or the MIDI data generated based on the key pressing operation of the keyboard 2C. Note that the tone generation process may be performed using a sound source circuit connected to the outside.

【0029】ROM22はCPU21の各種プログラム
(システムプログラムや動作プログラムなど)や各種デ
ータを格納するものであり、リードオンリーメモリ(R
OM)で構成されている。RAM23は、CPU21が
プログラムを実行する際に発生する各種データを一時的
に記憶するものであり、ランダムアクセスメモリ(RA
M)の所定のアドレス領域がそれぞれ割り当てられ、レ
ジスタ、バッファ、フラグ、テーブル等として利用され
る。
The ROM 22 stores various programs (system programs, operation programs, etc.) and various data of the CPU 21, and has a read-only memory (R
OM). The RAM 23 temporarily stores various data generated when the CPU 21 executes a program, and is a random access memory (RA).
M) predetermined address areas are respectively allocated and used as registers, buffers, flags, tables, and the like.

【0030】また、ハードディスク装置25などの外部
記憶装置に前記動作プログラムを記憶するようにしても
よい。また、前記ROM22に動作プログラムを記憶せ
ずに、ハードディスク装置25などの外部記憶装置にこ
れらの動作プログラムを記憶しておき、それをRAM2
3に読み込むことにより、ROM22に動作プログラム
を記憶したときと同様の動作をCPU21に行わせるよ
うにしてもよい。このようにすると、動作プログラムの
追加やバージョンアップ等が容易に行える。着脱自在な
外部記憶媒体の1つとして、CD−ROMを使用しても
よい。このCD−ROMには、自動演奏データやコード
進行データや楽音波形データや映像データなどの各種デ
ータ及び任意の動作プログラムを記憶していてもよい。
CD−ROMに記憶されている動作プログラムや各種デ
ータは、CD−ROMドライブ26によって、読み出さ
れ、ハードディスク装置25に転送記憶させることがで
きる。これにより、動作プログラムの新規のインストー
ルやバージョンアップを容易に行うことができる。
Further, the operation program may be stored in an external storage device such as the hard disk device 25. Also, without storing the operation programs in the ROM 22, these operation programs are stored in an external storage device such as the hard disk device 25, and are stored in the RAM 2.
3, the CPU 21 may perform the same operation as when the operation program is stored in the ROM 22. By doing so, it is possible to easily add an operation program or upgrade the version. A CD-ROM may be used as one of the removable external storage media. The CD-ROM may store various data such as automatic performance data, chord progression data, musical sound waveform data, and video data, and an arbitrary operation program.
The operation programs and various data stored in the CD-ROM can be read out by the CD-ROM drive 26 and transferred to and stored in the hard disk device 25. This makes it possible to easily perform new installation and version upgrade of the operation program.

【0031】なお、通信インターフェイス27をデータ
及びアドレスバス2Mに接続し、この通信インターフェ
イス27を介してLAN(ローカルエリアネットワー
ク)やインターネット、電話回線などの種々の通信ネッ
トワーク28上に接続可能とし、他のサーバコンピュー
タ29との間でデータのやりとりを行うようにしてもよ
い。これにより、ハードディスク装置25内に動作プロ
グラムや各種データが記憶されていないような場合に
は、サーバコンピュータ29からその動作プログラムや
各種データをダウンロードすることができる。この場
合、クライアントとなる楽音生成装置である自動演奏装
置から、通信インターフェイス27及び通信ネットワー
ク28を介してサーバコンピュータ29に動作プログラ
ムや各種データのダウンロードを要求するコマンドを送
信する。サーバコンピュータ29は、このコマンドに応
じて、所定の動作プログラムやデータを、通信ネットワ
ーク28を介して自動演奏装置に送信する。自動演奏装
置では、通信インターフェイス27を介してこれらの動
作プログラムやデータを受信して、ハードディスク装置
25にこれらのプログラムやデータを蓄積する。これに
よって、動作プログラム及び各種データのダウンロード
が完了する。
The communication interface 27 is connected to the data and address bus 2M, and can be connected to various communication networks 28 such as a LAN (local area network), the Internet, and a telephone line via the communication interface 27. May be exchanged with the server computer 29. Accordingly, when the operation program and various data are not stored in the hard disk device 25, the operation program and various data can be downloaded from the server computer 29. In this case, a command for requesting downloading of an operation program and various data is transmitted from the automatic performance device, which is a musical sound generation device serving as a client, to the server computer 29 via the communication interface 27 and the communication network 28. The server computer 29 transmits predetermined operation programs and data to the automatic performance device via the communication network 28 in response to the command. The automatic performance device receives these operation programs and data via the communication interface 27 and stores these programs and data in the hard disk device 25. Thus, the download of the operation program and various data is completed.

【0032】なお、本発明は、本発明に対応する動作プ
ログラムや各種データをインストールした市販のパーソ
ナルコンピュータ等によって、実施させるようにしても
よい。その場合には、本発明に対応する動作プログラム
や各種データを、CD−ROM26やフロッピーディス
ク等の、パーソナルコンピュータが読み込むことができ
る記憶媒体に記憶させた状態で、ユーザーに提供しても
よい。そのパーソナルコンピュータが読み込むことがで
きる記憶媒体に記憶させた状態で、ユーザに提供しても
よい。そのパーソナルコンピュータ等が、LAN、イン
ターネット、電話回線等の通信ネットワークに接続され
ている場合には、通信ネットワークを介して、動作プロ
グラムや各種データ等をパーソナルコンピュータ等に提
供してもよい。
The present invention may be implemented by a commercially available personal computer or the like in which an operation program and various data corresponding to the present invention are installed. In this case, the operation program and various data corresponding to the present invention may be provided to the user in a state where the program is stored in a storage medium such as the CD-ROM 26 or a floppy disk which can be read by a personal computer. The program may be provided to the user in a state of being stored in a storage medium that can be read by the personal computer. When the personal computer or the like is connected to a communication network such as a LAN, the Internet, or a telephone line, the operation program or various data may be provided to the personal computer or the like via the communication network.

【0033】鍵盤2Cは発音すべき楽音の音高を選択す
るための複数の鍵を備えており、各鍵に対応したキース
イッチを有しており、また必要に応じて押圧力検出装置
等のタッチ検出手段を有している。鍵盤2Cは音楽演奏
のための基本的な操作子であり、これ以外の演奏操作子
でもよいことはいうまでもない。押鍵検出回路2Dは発
生すべき楽音の音高を指定する鍵盤2Cのそれぞれの鍵
に対応して設けられたキースイッチ回路を含むものであ
る。この押鍵検出回路2Dは鍵盤2Cの離鍵状態から押
鍵状態への変化を検出してキーオンイベントを出力し、
押鍵状態から離鍵状態への変化を検出してキーオフイベ
ントを出力すると共にそれぞれのキーオンイベント及び
キーオフイベントに関する鍵の音高を示すノートナンバ
を出力する。押鍵検出回路2Dはこの他にも鍵押し下げ
時の押鍵操作速度や押圧力等を判別してベロシティデー
タやアフタタッチデータを出力する。
The keyboard 2C is provided with a plurality of keys for selecting the pitch of a musical tone to be produced, and has key switches corresponding to the respective keys. It has touch detection means. The keyboard 2C is a basic operator for music performance, and it goes without saying that other keyboard operators may be used. The key press detection circuit 2D includes a key switch circuit provided corresponding to each key of the keyboard 2C for designating the pitch of a musical tone to be generated. The key press detection circuit 2D detects a change from the key release state to the key press state of the keyboard 2C and outputs a key-on event,
A key-off event is output by detecting a change from a key-pressed state to a key-released state, and a note number indicating the pitch of a key for each key-on event and key-off event is output. In addition, the key press detection circuit 2D discriminates a key press operation speed and a press force at the time of key press and outputs velocity data and after touch data.

【0034】パネルスイッチ2Eは自動演奏スタート/
ストップスイッチ、一時停止(ポーズ)スイッチ、音
色、音量、効果等を選択、設定、制御するための各種ス
イッチを含むものである。スイッチ検出回路2Fはパネ
ルスイッチ2E上の各スイッチ群に対応して設けられて
おり、これらの各スイッチ群の操作状態に応じたスイッ
チイベントをバス2Mを介してCPU21に出力する。
表示回路2HはCPU21の制御状態、設定データの内
容等の各種の情報をディスプレイ2Gに表示するもので
ある。この実施の形態では、著作権表示データ、曲名、
作曲者情報、作成年月日、歌詞、ニュース文、機種名
(ハード名)、IDなどのテキストデータなどを表示す
る。ディスプレイ2Gは液晶表示パネル(LCD)等か
ら構成され、表示回路2Hによってその表示動作を制御
される。
The panel switch 2E is used for automatic performance start /
It includes a stop switch, a pause (pause) switch, and various switches for selecting, setting, and controlling a tone, a volume, an effect, and the like. The switch detection circuit 2F is provided corresponding to each switch group on the panel switch 2E, and outputs a switch event corresponding to the operation state of each switch group to the CPU 21 via the bus 2M.
The display circuit 2H displays various information such as the control state of the CPU 21 and the contents of the setting data on the display 2G. In this embodiment, copyright indication data, song title,
Composer information, creation date, lyrics, news text, model name (hardware name), text data such as ID, etc. are displayed. The display 2G is composed of a liquid crystal display panel (LCD) or the like, and its display operation is controlled by the display circuit 2H.

【0035】音源回路2Jは、複数のチャンネルで楽音
信号の同時発生が可能であり、CPU21から与えられ
た楽音制御情報(ノートオン、ノートオフ、ベロシテ
ィ、ピッチデータ、音色番号等のMIDIデータ)を入
力し、これらの楽音制御情報に基づいた楽音信号を発生
する。音源回路2Jにおいて複数チャンネルで楽音信号
を同時に発音させる構成としては、1つの回路を時分割
で使用することによって複数の発音チャンネルを形成す
るようなものや、1つの発音チャンネルが1つの回路で
構成されるような形式のものであってもよい。また、音
源回路2Jにおける楽音信号発生方式はいかなるものを
用いてもよい。例えば、発生すべき楽音の音高に対応し
て変化するアドレスデータに応じて波形メモリに記憶し
た楽音波形サンプル値データを順次読み出すメモリ読み
出し方式(波形メモリ方式)、又は上記アドレスデータ
を位相角パラメータデータとして所定の周波数変調演算
を実行して楽音波形サンプル値データを求めるFM方
式、あるいは上記アドレスデータを位相角パラメータデ
ータとして所定の振幅変調演算を実行して楽音波形サン
プル値データを求めるAM方式等の公知の方式を適宜採
用してもよい。また、これらの方式以外にも、自然楽器
の発音原理を模したアルゴリズムにより楽音波形を合成
する物理モデル方式、基本波に複数の高調波を加算する
ことで楽音波形を合成する高調波合成方式、特定のスペ
クトル分布を有するフォルマント波形を用いて楽音波形
を合成するフォルマント合成方式、VCO、VCF及び
VCAを用いたアナログシンセサイザ方式等を採用して
もよい。また、専用のハードウェアを用いて音源回路を
構成するものに限らず、DSPとマイクロプログラムを
用いて音源回路を構成するようにしてもよいし、CPU
とソフトウェアのプログラムで音源回路を構成するよう
にしてもよい。
The tone generator 2J is capable of simultaneously generating tone signals on a plurality of channels, and transmits tone control information (MIDI data such as note-on, note-off, velocity, pitch data, tone number, etc.) given from the CPU 21. And generates a tone signal based on the tone control information. In the tone generator circuit 2J, a tone signal can be simultaneously generated on a plurality of channels by using one circuit in a time-division manner to form a plurality of tone channels, or one tone channel is constituted by one circuit. It may be of the type as described below. Also, any tone signal generation method in the tone generator circuit 2J may be used. For example, a memory reading method (waveform memory method) for sequentially reading out tone waveform sample value data stored in a waveform memory in accordance with address data that changes in accordance with a pitch of a musical tone to be generated, or a phase angle parameter An FM method for executing a predetermined frequency modulation operation as data to obtain tone waveform sample value data, or an AM method for executing a predetermined amplitude modulation operation using the address data as phase angle parameter data to obtain tone waveform sample value data, or the like. May be appropriately adopted. In addition to these methods, a physical model method of synthesizing a musical tone waveform by an algorithm that simulates the sounding principle of a natural musical instrument, a harmonic synthesis method of synthesizing a musical tone waveform by adding a plurality of harmonics to a fundamental wave, A formant synthesis method for synthesizing a musical tone waveform using a formant waveform having a specific spectral distribution, an analog synthesizer method using VCO, VCF, and VCA may be employed. In addition, the sound source circuit is not limited to the one using dedicated hardware, and the sound source circuit may be formed using a DSP and a microprogram.
And a software program may constitute the tone generator circuit.

【0036】タイマ2Nは時間間隔を計数したり、自動
演奏のテンポを設定したりするためのテンポクロックパ
ルスを発生する。このテンポクロックパルスの周波数は
各種スイッチ2Eの中のテンポ設定スイッチや予め演奏
データに含まれている図3のようなテンポデータに基づ
いて決定されている。タイマからのテンポクロックパル
スはCPU21に対してインタラプト命令として与えら
れ、CPU21はインタラプト処理により自動演奏時に
おける各種の処理を実行する。効果回路2Kは音源回路
2Jからの楽音信号に種々の効果を付与し、効果の付与
された楽音信号をサウンドシステム2Lに出力する。効
果回路2Kによって効果の付与された楽音信号は、アン
プ及びスピーカからなるサウンドシステム2Lを介して
発音される。
The timer 2N generates a tempo clock pulse for counting time intervals and setting a tempo for automatic performance. The frequency of the tempo clock pulse is determined based on a tempo setting switch in the various switches 2E and tempo data as shown in FIG. 3 included in the performance data in advance. The tempo clock pulse from the timer is given to the CPU 21 as an interrupt command, and the CPU 21 executes various processes during the automatic performance by the interrupt process. The effect circuit 2K applies various effects to the tone signal from the tone generator 2J, and outputs the tone signal with the effect to the sound system 2L. The tone signal to which the effect is given by the effect circuit 2K is generated through a sound system 2L including an amplifier and a speaker.

【0037】次に、この発明に係る電子情報処理システ
ムが電子情報を付与すると共に暗号化処理を同時に行う
場合の動作の一例について説明する。図3は、電子楽器
1が電子情報処理システムとして動作する場合のMID
Iデータ編集処理の一例を示すフローチャート図であ
る。まず、この場合には、電子楽器1は、フロッピーデ
ィスクドライブ24から読み出したMIDIデータにそ
のヘッダ情報の一部である電子署名すなわち著作権表示
データを分散して記憶すると共にMIDIフォーマット
を維持したまま暗号化処理を施す場合について説明す
る。
Next, an example of the operation when the electronic information processing system according to the present invention adds electronic information and simultaneously performs an encryption process will be described. FIG. 3 shows the MID when the electronic musical instrument 1 operates as an electronic information processing system.
It is a flowchart figure which shows an example of I data edit processing. First, in this case, the electronic musical instrument 1 stores an electronic signature, ie, copyright display data, which is a part of the header information, in the MIDI data read from the floppy disk drive 24 in a distributed manner, and maintains the MIDI format. The case where the encryption process is performed will be described.

【0038】まず、ステップ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進表示であることを示
す。
First, in step 31, the contents of the additional information to be distributed and written in the MIDI data string are determined. In the present embodiment, a case will be described in which an electronic signature (copyright display data) is embedded in a MIDI data string in a distributed manner as attached information. For example, "COPYRIGHT @ YMH @ 1996" may be used as copyright indication data.
Are written in the MIDI data string in a distributed manner, these character strings are input using the panel switch 2E. Here, △ means blank. Step 3
Since the electronic signature to be written, that is, the character string of the attached information has been determined in step 1, a 4-bit data string relating to the electronic signature is obtained in step 32. For example, by using the panel switch 2E, "COPYRIGHT {YMH}
When "1996" is input, it is converted into a data string of ASCII character codes. In this case, each character is “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 ",
It is represented by a series of ASCII 4-bit data such as “9” = “39H” and “6” = “36H”. In addition, in the number written like "36H",
The H at the end of the number indicates that the number is in hexadecimal.

【0039】次に、ステップ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とな
る。
Next, in step 33, information to be added as an electronic signature, that is, the ASC obtained in step 32
The data string of the 4-bit configuration of II is stored in the 4-bit register BR.
To be stored. For example, “Y” = “59H”, “M” =
When the characters “4DH” and “H” = “48H” are sequentially stored in the MIDI data string, the 4-bit register BR stores “0101B” and “100” as shown in FIG.
1B "," 0100B "," 1101B "," 0100
B "and" 1000B "are sequentially stored. In addition, in a number described as “1000B”, B at the end of the number indicates that the number is represented in binary. In step 34, the upper three bits stored in the 4-bit register BR are set as the note area number NA, and the least significant bit (LSB) is set as the velocity area number VA. Therefore, the first four bits of “Y” = “59H” of the electronic signature: “0101B”
In the case of, NA = 2, VA = 1, and the last 4 bits: “10
01B ”, NA = 4, VA = 1, and the first four bits of the digital signature“ M ”=“ 4DH ”:“ 0100 ”
B ", NA = 2, VA = 0, last 4 bits:
In the case of “1101B”, NA = 6, VA = 1, and the first four bits of “H” = “48H” of the digital signature: “01”
00B ", NA = 2, VA = 0, the last four bits: In the case of" 1000B ", NA = 4, VA = 0.

【0040】次に、ステップ35では、MIDIデータ
列(Standard MIDIFile:SMF)の
中からキーオンイベントデータやプログラムチェンジデ
ータやコントロールチェンジデータなどの各種のMID
Iデータを順次取り出す。すなわち、MIDIデータ列
は基本的にはキーオンステータスバイト、キーコードバ
イト、ベロシティバイトからなるキーオンイベントデー
タやこれ以外のプログラムチェンジイベントデータやコ
ントロールチェンジイベントデータなどから構成されて
いるので、ステップ35では、このようなMIDIデー
タを順番に取り出す。
Next, at step 35, various MIDs such as key-on event data, program change data and control change data are selected from the MIDI data string (Standard MIDFile: SMF).
The I data is sequentially taken out. That is, since the MIDI data sequence basically includes key-on event data including a key-on status byte, a key code byte, and a velocity byte, and other program change event data and control change event data, in step 35, Such MIDI data is taken out in order.

【0041】ステップ36では、取り出されたMIDI
データがキーオンイベントデータKONであるかどうか
を判定し、キーオンイベントデータ(YES)の場合は
次のステップ37以下の処理を行い、そうでない(N
O)の場合はステップ3Hに進む。従って、ステップ3
5で取り出されたMIDIデータがキーオンイベントデ
ータの場合には、図1(A)のようなキーオンイベント
データからなるMIDIデータ列SMF1が得られるこ
とになる。このキーオンイベントデータのMIDIデー
タ列SMF1はデュレーションタイムDと、キーオンイ
ベントデータとの組合せで構成される。ステップ37で
は、キーオンイベントデータの中の各バイトのデータを
それぞれ対応するキーコードレジスタb,ベロシティレ
ジスタcに格納する。すなわち、キーオンイベントデー
タのキーオンステータスバイト中のキーコードバイトの
値すなわちキーコードをキーコードレジスタbに、ベロ
シティバイトの中のベロシティの値をベロシティレジス
タcにそれぞれ格納する。
In step 36, the retrieved MIDI
It is determined whether or not the data is the key-on event data KON. If the data is the key-on event data (YES), the processing of the next step 37 and subsequent steps is performed, and if not (N
In the case of O), the process proceeds to step 3H. Therefore, step 3
If the MIDI data extracted in step 5 is key-on event data, a MIDI data string SMF1 composed of key-on event data as shown in FIG. 1A is obtained. The MIDI data string SMF1 of the key-on event data is composed of a combination of the duration time D and the key-on event data. In step 37, the data of each byte in the key-on event data is stored in the corresponding key code register b and velocity register c, respectively. That is, the value of the key code byte in the key-on status byte of the key-on event data, that is, the key code is stored in the key code register b, and the value of the velocity in the velocity byte is stored in the velocity register c.

【0042】ステップ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に格納する。
In step 38, a difference value between the key code of the previous key-on event data and the velocity is obtained, and the difference value is stored in the key code difference value register dkey and the velocity difference value register dvel, respectively. That is, the key code of the current key-on event data is stored in the key code register b, and the key code of the previous key-on event data is stored in the previous value register b0. From the value of the key code register b to the previous value register b0
Is stored in the key code difference value register dkey. The velocity register c stores the velocity of the current key-on event data, and the previous value register c0 stores the velocity of the previous key-on event data. Therefore, similarly, the difference value obtained by subtracting the value of the previous value register c0 from the value of the velocity register c is stored in the velocity difference value register dvel. In the case of the MIDI data string SMF1 shown in FIG. 1A, the values of the key code difference value register dkey and the velocity difference value register dvel obtained by the calculation in step 38 are as shown in FIG. 1B. In step 39, the current key code value, that is, the value of the key code register b, is stored in the previous value register b0, and the current velocity value, that is, the value of the velocity register c is stored in the previous value register b0, in preparation for the next step 38. Store it in register c0.

【0043】ステップ3Aでは、キーコード差分値レジ
スタdkeyの値が8よりも小さいかどうかを判定し、
小さい場合には、次のステップ3Bに進み、8以上の場
合にはステップ3Gに進む。ステップ3Bでは、ベロシ
ティ差分値レジスタdvelの値が32よりも小さいか
どうかを判定し、小さい場合には、次のステップ3Cに
進み、32以上の場合にはステップ3Gに進む。すなわ
ち、両方のステップ3A及び3BでNOと判定された場
合には、そのキーオンイベントデータは置換対象外のデ
ータだと判定し、ステップ3Gでレジスタcの最下位ビ
ットを『0』に修正、すなわちベロシティの値を偶数に
してからステップ3Hに進む。これによって、ベロシテ
ィの値が偶数の場合には、そのキーオンイベントデータ
が置換対象外のデータであり、修正されなかったことを
データ修復の際に容易に判定することができるようにな
る。
In step 3A, it is determined whether or not the value of the key code difference value register dkey is smaller than 8.
If it is smaller, the process proceeds to the next step 3B, and if it is 8 or more, the process proceeds to step 3G. In step 3B, it is determined whether or not the value of the velocity difference value register dvel is smaller than 32. If the value is smaller, the process proceeds to the next step 3C, and if it is 32 or more, the process proceeds to step 3G. That is, if both steps 3A and 3B determine NO, the key-on event data is determined to be data not to be replaced, and the least significant bit of the register c is corrected to “0” in step 3G, ie, The process proceeds to step 3H after setting the velocity value to an even number. Thus, when the velocity value is an even number, it is possible to easily determine at the time of data restoration that the key-on event data is data not to be replaced and has not been corrected.

【0044】ステップ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”よりも大
きくなることはない。
In step 3C, different replacement operations are performed depending on whether the value of the key code difference value register dkey is positive or 0 or negative. That is, when the value of the key code difference value register dkey is positive or 0, the sum of the value obtained by multiplying the note area number NA by 8, the value of the key code difference value register dkey, and the constant 64 is obtained. Is stored in the first key code register b1. Since the maximum value of the three-bit note area number NA is "7" and the minimum value is "0", under this condition,
The minimum value of the register b1 is “64”. On the other hand, when the value of the key code difference value register dkey is negative,
The value obtained by multiplying the note area number NA by eight is subtracted from the constant 63, the value of the key code difference value register dkey is added, and the result is stored in the first key code register b1. At this time, the key code difference value register dk
Since ey is a negative value, the value of the key code difference value register dkey is subtracted from the constant 63 as a result.
Under this condition, the value of the register b1 does not become larger than “63”.

【0045】ステップ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”よりも大きくなることはない。
In step 3D, different replacement operations are performed depending on whether the value of the velocity difference value register dvel is positive or 0 or negative. That is, when the value of the velocity difference value register dvel is positive or 0, the sum of the value obtained by multiplying the velocity area number VA by 32, the value of the velocity difference value register dvel, and the constant 64 is obtained, and the result is referred to as the second. 1 is stored in the velocity register c1. Under this condition, the minimum value of the register c1 is "6
4 ". If the value of the velocity difference register dvel is negative, the velocity area number V
The value obtained by multiplying A by 32 is subtracted, the value of the velocity difference value register dvel is added, and the result is stored in the first velocity register c1. At this time, since the velocity difference value register dvel is a negative value, the value of the velocity difference value register dvel is eventually subtracted from the constant 63. Under this condition, the value of the register c1 does not become larger than “63”.

【0046】ステップ3Eでは、第1キーコードレジス
タb1の値を新しいキーコードの値とし、第1ベロシテ
ィレジスタc1の値を新しいベロシティの値としてMI
DIデータを修正する。そして、ステップ3Fで、第1
ベロシティレジスタc1の最下位ビットを『1』に修
正、すなわちベロシティの値を奇数に修正してからステ
ップ3Hに進む。これによって、ベロシティの値が奇数
の場合には、そのキーオンイベントデータが付属情報に
基づいて修正されたことをデータ修復の際に容易に判定
することができる。ステップ3Hでは、全ての付属情報
についてステップ33からステップ3Gまでの処理が終
了したかどうかを判定し、終了している(YES)場合
にはこのMIDIデータ編集処理を終了し、終了してい
ない場合にはステップ33にリターンし、次の付属情報
について一連の処理を行う。
In step 3E, the value of the first key code register b1 is set as a new key code value, and the value of the first velocity register c1 is set as a new velocity value.
Modify DI data. Then, in step 3F, the first
After correcting the least significant bit of the velocity register c1 to "1", that is, correcting the value of the velocity to an odd number, the process proceeds to step 3H. Thus, when the value of the velocity is an odd number, it can be easily determined at the time of data restoration that the key-on event data has been corrected based on the attached information. In step 3H, it is determined whether or not the processing from step 33 to step 3G has been completed for all attached information. If the processing has been completed (YES), the MIDI data editing processing has been completed. Returns to step 33, and performs a series of processes for the next attached information.

【0047】例えば、図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データを編集するよ
うにしてもよい。
For example, in the case of FIG. 1, the first key-on event data (91, 100, 100) is not corrected because it is the first key-on event data. The second key-on event data (91, 101, 102) is converted into the second key-on event data (91, 81, 99) as shown in FIG. . Similarly, the third key-on event data (91, 103, 102) is also the third key-on event data as shown in FIG.
Is converted to the key-on event data (91, 98, 97). Then, the fourth key-on event data (91, 120, 70) is, as shown in FIG.
The absolute value of the key code difference value register dkey is "17"
And 8 or more, the result is NO in step 3A,
The key-on event data (91, 120, 70) is excluded from the replacement target and passes through step 3G as shown in FIG.
This is the fourth key-on event data as shown in FIG. Similarly, the fifth to eighth key-on event data is converted like the fifth to eighth key-on event data in FIG. 1D. In this case, in the case of the second and third key-on event data, the value of the velocity is converted to an odd number by the process of step 3F. Note that the program change event occurs at a relatively low frequency as compared to a note-on event to which additional information is added, and means that the instrument changes after the program change, so that the position is edited starting from that position. Since it can be said that the MIDI data is a unit having a high possibility, if the extracted MIDI data is a program change event, the MIDI data may be immediately terminated and the MIDI data may be edited from the beginning of the attached information.

【0048】図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つの付属情報に対応する
ように分割される。
FIG. 5 enumerates the possible states of the values of the registers b1 and c1 obtained according to the first embodiment. In FIG. 5, the vertical axis indicates the register b
Assign the possible values of the key code stored in 1,
The abscissa axis is assigned values that can be taken by the velocity data stored in the register c1, and an orthogonal coordinate system having the origin between 63 and 64 of each value is configured. by this,
The key code in the key-on event data is either high (positive value) or low (negative value), and the velocity increases (positive value) or decreases (negative value). Four types of combinations will be assigned to each quadrant of this rectangular coordinate system. Each quadrant is assigned 16 pieces of 4-bit data serving as additional information. That is, as shown in FIG. 5, the key code increases and the velocity increases, the key code increases and the velocity decreases, the key code decreases and the velocity increases, and the key code increases. Each time the velocity decreases and the velocity decreases, it corresponds to each quadrant. Of the 4-bit configuration information assigned to each quadrant, the least significant bit is assigned to the velocity on the horizontal axis, and the upper 3 bits are assigned to the key code on the vertical axis. Accordingly, when the key code becomes higher and the velocity increases, the key code is allocated to the first quadrant of the rectangular coordinates, and the key code axes 64-127 are divided so as to correspond to eight pieces of additional information from 000 to 111. , And the velocity axes 64-127 are divided so as to correspond to two additional information 0 and 1. When the key code becomes higher and the velocity decreases, it is assigned to the second quadrant of the rectangular coordinates, and the key code axes 64 to 127 become 000 to 11
It is divided so as to correspond to eight pieces of attached information up to 1, and the velocity axis 63-0 is divided so as to correspond to two pieces of attached information 0 and 1. When the key code becomes lower and the velocity decreases, it is assigned to the third quadrant of the rectangular coordinates, and the key code axes 63-0 are divided so as to correspond to eight pieces of additional information from 000 to 111, and the velocity is reduced. The axis 63-0 is divided so as to correspond to two pieces of additional information 0 and 1. When the key code becomes lower and the velocity increases, the key code is assigned to the fourth quadrant of the rectangular coordinates, and the key code axes 63-0 are divided so as to correspond to eight pieces of additional information from 000 to 111, and the velocity is increased. The axes 64 to 127 are divided so as to correspond to two additional information of 0 and 1.

【0049】この場合、図6に示すように、各付属情報
に対応したキーコードには8個の値が存在し、ベロシテ
ィには32個の値が存在するので、ステップ3A及び3
Bのように、キーコード差分値レジスタdkeyの値は
8よりも小さくなければならず、ベロシティ差分値レジ
スタdvelの値は32よりも小さくなければならない
という条件が入っているのである。従って、キーコード
が8よりも小さな値で増加又は減少し、ベロシティが3
2よりも小さな値で増加又は減少した場合には、図5の
各象限の付属情報が選択され、その付属情報の値、キー
コード差分値及びベロシティ差分値に応じて、元のキー
コード及びベロシティが編集される。なお、この場合、
ベロシティについては、編集された値であるかどうかを
示すために、ステップ3G及びステップ3Fによって最
下位ビットに処理が加えられ、編集されたベロシティの
値は、最終的には奇数値の16個だけとなる。
In this case, as shown in FIG. 6, there are eight values for the key code corresponding to each piece of attached information and 32 values for the velocity.
As in B, the condition that the value of the key code difference value register dkey must be smaller than 8, and the value of the velocity difference value register dvel must be smaller than 32 is included. Therefore, the key code increases or decreases with a value smaller than 8, and the velocity becomes 3
If the value increases or decreases by a value smaller than 2, the additional information of each quadrant in FIG. 5 is selected, and the original key code and velocity are selected according to the value of the additional information, the key code difference value and the velocity difference value. Is edited. In this case,
For velocity, the least significant bit is processed by steps 3G and 3F to indicate whether it is an edited value, and the edited velocity value is eventually only an odd 16 Becomes

【0050】次に、図3のMIDIデータ編集処理によ
って付与された電子情報すなわち電子署名データを検
出、すなわち修復するMIDIデータ修復処理について
説明する。図4は、電子楽器1がMIDIデータ修復装
置として動作する場合の一例を示すフローチャート図で
ある。この場合には、フロッピーディスクドライブ25
から読み出されたMIDIデータに前述のようなヘッダ
情報の一部(電子署名すなわち著作権表示データ)が分
散記録されているものとする。以下の実施の形態では、
この著作権表示データを検出して、それをモニタなどに
表示するまでの動作を説明する。まず、ステップ41で
は、電子署名を検出すべきMIDIデータ列、すなわち
図3の電子情報付与処理によって電子署名の付与された
MIDIデータ列(Standard MIDI Fi
le:SMF)の中から順次キーオンイベントデータや
プログラムチェンジデータやコントロールチェンジデー
タなどのデータを取り出す。
Next, a description will be given of a MIDI data restoring process for detecting, ie, restoring, the electronic information, ie, the digital signature data, given by the MIDI data editing process of FIG. FIG. 4 is a flowchart illustrating an example of a case where the electronic musical instrument 1 operates as a MIDI data restoration device. In this case, the floppy disk drive 25
It is assumed that part of the above-described header information (electronic signature, that is, copyright display data) is dispersedly recorded in the MIDI data read from the. In the following embodiment,
The operation of detecting the copyright display data and displaying it on a monitor or the like will be described. First, in step 41, a MIDI data string from which an electronic signature is to be detected, that is, a MIDI data string to which an electronic signature has been added by the electronic information adding process in FIG. 3 (Standard MIDI Fi
le: SMF), and sequentially retrieves data such as key-on event data, program change data, and control change data.

【0051】ステップ42では、取り出されたMIDI
データがキーオンイベントデータKONであるかどうか
を判定し、キーオンイベントデータ(YES)の場合は
次のステップ43に進み、そうでない(NO)場合はス
テップ4Cに進む。従って、ステップ41で取り出され
たMIDIデータがキーオンイベントデータの場合に
は、図1(F)のようなキーオンイベントMIDIデー
タ列SMF2が作成されることになる。ステップ43で
は、キーオンイベントデータの中の各バイトのデータを
それぞれ対応するキーコードレジスタb,ベロシティレ
ジスタcに格納する。すなわち、キーコードバイトの中
のキーコードをキーコードレジスタbに、ベロシティバ
イトの中のベロシティをベロシティレジスタcにそれぞ
れ格納する。
At step 42, the extracted MIDI
It is determined whether or not the data is key-on event data KON. If the data is key-on event data (YES), the process proceeds to the next step 43, and if not (NO), the process proceeds to step 4C. Therefore, if the MIDI data extracted in step 41 is key-on event data, a key-on event MIDI data string SMF2 as shown in FIG. 1 (F) is created. In step 43, the data of each byte in the key-on event data is stored in the corresponding key code register b and velocity register c, respectively. That is, the key code in the key code byte is stored in the key code register b, and the velocity in the velocity byte is stored in the velocity register c.

【0052】ステップ44では、ベロシティレジスタc
の最下位ビットが『1』かどうか、すなわち、付属情報
(電子署名情報)の付与されたキーオンイベントデータ
であるのかどうかの判定を行い、YESの場合は次のス
テップ45に進み、そうでない(NO)場合はステップ
4Cに進む。ステップ45、ステップ46、ステップ4
9及びステップ4Aでは、相前後するキーオンイベント
データのキーコードレジスタb、前回キーコードレジス
タb0、ベロシティレジスタc及び前回ベロシティレジ
スタc0のそれぞれの格納値に基づいて修復キーコード
レジスタb2、修復ベロシティレジスタc2、ノートエ
リアナンバNA及びベロシティエリアナンバVAの値を
それぞれ求める。このとき、キーコードレジスタbの値
が64以上の場合とこれよりも小さい場合とで、それぞ
れ異なる演算式を用いて各値を求める。
At step 44, the velocity register c
Is determined as to whether or not the least significant bit is “1”, that is, whether or not the data is key-on event data with attached information (electronic signature information). If YES, the process proceeds to the next step 45, and if not ( If NO), proceed to Step 4C. Step 45, Step 46, Step 4
In step 9 and step 4A, the restoration key code register b2 and the restoration velocity register c2 are based on the stored values of the key code register b, the previous key code register b0, the velocity register c, and the previous velocity register c0 of the successive key-on event data. , Note area number NA and velocity area number VA, respectively. At this time, when the value of the key code register b is equal to or greater than 64 and when the value is smaller than 64, respective values are obtained using different arithmetic expressions.

【0053】ステップ45においてはステップ3C(図
3)の置換式の逆算を行なう。すなわち、キーコードレ
ジスタbの値が64以上の場合には、キーコードレジス
タbの値から定数64を減算し、その減算値の8におけ
るモジュロ(減算値を8で除した余り)を求めること
で、dkeyを再生する。そして、このdkeyを前回
キーコードレジスタb0に加算することでキーコードの
修復値を得て、それを修復キーコードレジスタb2にス
トアする。一方、キーコードレジスタbの値が64より
も小さい場合には、キーコードレジスタbの値から定数
63を減算し、その減算値の8におけるモジュロを求め
ることで、dkeyを再生する。そして、このdkey
を前回キーコードレジスタb0に加算することでキーコ
ードの修復値を得て、それを修復キーコードレジスタb
2にストアする。
In step 45, the inverse calculation of the replacement expression in step 3C (FIG. 3) is performed. That is, when the value of the key code register b is 64 or more, a constant 64 is subtracted from the value of the key code register b, and the modulo of the subtraction value at 8 (the remainder obtained by dividing the subtraction value by 8) is obtained. , Dkey. Then, by adding this dkey to the previous key code register b0, a key code restoration value is obtained and stored in the restoration key code register b2. On the other hand, when the value of the key code register b is smaller than 64, the constant 63 is subtracted from the value of the key code register b, and the modulo at 8 of the subtraction value is obtained, thereby reproducing the dkey. And this dkey
Is added to the previous key code register b0 to obtain a repair value of the key code.
Store in 2.

【0054】ステップ46においてはステップ3D(図
3)の置換式の逆算を行なう。すなわち、ベロシティレ
ジスタcの値が64以上の場合には、ベロシティレジス
タcの値から定数64を減算し、その減算値の32にお
けるモジュロ(減算値を32で除した余り)を求めるこ
とで、dvelを再生する。そして、このdvelを前
回ベロシティレジスタc0に加算することでベロシティ
データの修復値を得て、それを修復ベロシティレジスタ
c2にストアする。一方、ベロシティレジスタcの値が
64よりも小さい場合には、ベロシティレジスタcの値
から定数63を減算し、その減算値の32におけるモジ
ュロを求めることで、dvelを再生する。そして、こ
のdvelを前回ベロシティレジスタc0に加算するこ
とでベロシティデータの修復値を得て、それを修復ベロ
シティレジスタc2にストアする。
In step 46, the inverse of the replacement expression in step 3D (FIG. 3) is performed. That is, when the value of the velocity register c is 64 or more, the constant 64 is subtracted from the value of the velocity register c, and the modulo of the subtraction value at 32 (the remainder obtained by dividing the subtraction value by 32) is obtained. To play. Then, by adding this dvel to the previous velocity register c0, a restored value of the velocity data is obtained, and the restored value is stored in the restored velocity register c2. On the other hand, when the value of the velocity register c is smaller than 64, the constant 63 is subtracted from the value of the velocity register c, and the modulo at 32 of the subtracted value is obtained, thereby reproducing dvel. Then, by adding this dvel to the previous velocity register c0, a restored value of the velocity data is obtained, and the restored value is stored in the restored velocity register c2.

【0055】ステップ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とする。
In step 47, the MIDI data is restored using the value of the restoration key code register b2 as the key code value and the value of the restoration velocity register c2 as the velocity value. In step 48, the next step 45
In preparation for the processing of step 46, the value of the restored key code, that is, the value of the restored key code register b2, is stored in the previous value register b0, and the value of the restored velocity, that is, the value of the restored velocity register c2, is stored in the previous value register. Store in c0. In step 49, step 3
The NA is reproduced by performing the reverse operation of the substitution formula of C (FIG. 3). That is, when the value of the key code register b is 64 or more, a constant 64 is subtracted from the value of the key code register b, a quotient obtained by dividing the subtracted value by 8 is obtained, and the obtained quotient is set as a note area number NA. On the other hand, key code register b
Is smaller than 64, the value of the key code register b is subtracted from the constant 63, and the quotient obtained by dividing the subtracted value by 8 is obtained as the note area number NA. In step 4A, the NA is reproduced by performing the inverse calculation of the replacement expression in step 3D (FIG. 3). That is, when the value of the velocity register c is 64 or more, the velocity register c
Is subtracted from the value of, a quotient obtained by dividing the subtracted value by 32 is obtained, and the obtained quotient is set as a velocity area number VA.
On the other hand, if the value of the velocity register c is smaller than 64, the value of the velocity register c is subtracted from the constant 63, and the quotient obtained by dividing the subtracted value by 32 is obtained, and the quotient is set as the velocity area number VA.

【0056】ステップ4Bでは、ノートエリアナンバN
Aを上位3ビットとし、ベロシティエリアナンバVAを
最下位ビットとする4ビット構成のデータ列からなる付
属情報を得る。ステップ4Cでは、全MIDIデータの
修復が終了したかどうかを判定し、終了した場合にはM
IDIデータ修復処理を終了し、そうでない場合にはス
テップ41にリターンし、再びMIDIデータに対する
修復処理を行う。以上の一連の修復処理が終了した時点
でモニタにそのヘッダ情報の一部(電子署名すなわち著
作権表示データ)などを表示するが、ここではそのステ
ップについて省略してある。
In step 4B, note area number N
Auxiliary information consisting of a 4-bit data string in which A is the upper three bits and velocity area number VA is the least significant bit is obtained. In step 4C, it is determined whether or not the restoration of all MIDI data has been completed.
The IDI data restoring process is terminated. If not, the process returns to step 41, and the MIDI data restoring process is performed again. When the above-described series of restoration processing is completed, a part of the header information (digital signature, that is, copyright display data) is displayed on the monitor, but the steps are omitted here.

【0057】例えば、図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)のような電子署名情報(著作権表
示データ)が再現されることになる。このようにして修
復された電子署名情報を図示していない表示装置などで
表示する。
For example, the MIDI data string SMF2 of the key-on event shown in FIG. 1E is the same as the MIDI data string SMF2 of the key-on event shown in FIG.
MIDI data string SM of the key-on event in FIG.
Based on F2, the MIDI data string SMF3 as shown in FIG. 1 (F) is restored, and additional information as shown in FIG. 1 (G) is extracted. First, in the first key-on event data (91, 100, 100) in FIG. 1 (G), since the least significant bit of the velocity is "0", that is, an even number, the value as it is becomes the key-on event data. Next, in the second key-on event data (91, 81, 99), the least significant bit of the velocity is "1", that is, an odd number, and is 64 or more. Therefore, the MIDI data restoration process of FIG.
This is converted to the second key-on event data (91, 101, 103) as shown in FIG. Similarly,
Third key-on event data (91, 98, 97)
Is also converted to the third key-on event data (91, 103, 104) as shown in FIG. And
The fourth key-on event data (91, 120, 7
0) is the key-on event data because the least significant bit of the velocity is "0", that is, an even number. Similarly, the fifth to eighth key-on event data as shown in FIG.
It is converted like the 5th to 8th key-on event data in (F). In this case, for the second and third key-on event data, step 3 in FIG.
Since the velocity value is converted to an odd number by the processing of F, the key-on event data of FIG. 1A before the velocity value of the key-on event data shown in FIG. Is about 1 to 2 larger than the velocity value. However,
Since such an error in the velocity value has little effect on the human ear, it can be said that the error is in a range that can be almost ignored. Also, based on the key-on event data of FIG. 1 (G), digital signature information (copyright display data) as shown in FIG. 1 (H) is reproduced. The electronic signature information thus restored is displayed on a display device (not shown) or the like.

【0058】なお、上述の第1の実施の形態では、ベロ
シティに1ビット、キーコードに3ビットの付属情報を
割り当てる場合について説明したが、これ以外のビット
の組み合わせでもよいことはいうまでもない。例えば、
ベロシティとキーコードにそれぞれ2ビットの付属情報
を割り当ててもよいし、ベロシティのみに4ビットの付
属情報を割り当ててもよい。上述の第1の実施の形態で
は、ノート方向を8等分、ベロシティ方向を2等分して
4ビット構成の付加情報を記録する場合について説明し
たが、ノート方向及びベロシティ方向の分割数を任意に
設定することにより、付加情報量を増やすことが可能で
ある。例えば、ノート、ベロシティの両方とも16等分
すれば、1キーオンイベントに8ビット構成の付加情報
を付加することもでき、アスキーコードの1バイトなら
ば1イベントのキーオンで表現することも可能となる。
なお、この場合には、キーコード差分値レジスタdke
y及びベロシティ差分値レジスタdvelの値が4以下
でないと、そのキーオンイベントには付加情報を割り当
てることができなくなるという制限が生じる。従って、
予めキーコード差分値及びベロシティ差分値の発生頻度
を取得し、それに応じて最も沢山の付属情報を埋め込む
ことが可能な分割数を選択するようにしてもよい。ま
た、上述の第1の実施の形態では、図5に示すような関
係を演算式によって形成する場合について説明したが、
予め図5のような関係となるようなテーブルを作成して
おき、各値をテーブル変換することによって、所定の値
が求まるようにしてもよい。この場合には、図5のよう
に付属情報が規則正しく並んでいなくても、ランダムに
配列してあってもよいことになる。
In the above-described first embodiment, a case has been described where 1-bit additional information is assigned to the velocity and 3-bit additional information is assigned to the key code. However, it goes without saying that other combinations of bits may be used. . For example,
Two-bit additional information may be assigned to each of the velocity and the key code, or 4-bit additional information may be assigned to only the velocity. In the above-described first embodiment, a case has been described in which the note direction is divided into eight equal parts and the velocity direction is divided into two equal parts to record additional information having a 4-bit configuration. , The amount of additional information can be increased. For example, if both notes and velocities are divided into 16 equal parts, additional information of an 8-bit configuration can be added to one key-on event, and one byte of an ASCII code can be expressed by one event key-on. .
In this case, the key code difference value register dke
If the values of y and the velocity difference value register dvel are not less than 4, there is a restriction that additional information cannot be assigned to the key-on event. Therefore,
The frequency of occurrence of the key code difference value and the velocity difference value may be acquired in advance, and the number of divisions into which the most attached information can be embedded may be selected according to the frequency. Further, in the above-described first embodiment, the case where the relationship as shown in FIG. 5 is formed by the arithmetic expression has been described.
A table having the relationship shown in FIG. 5 may be created in advance, and a predetermined value may be obtained by converting each value into a table. In this case, the accessory information may not be regularly arranged as shown in FIG. 5, but may be randomly arranged.

【0059】上述の第1の実施の形態では、フロッピー
ディスクドライブ24から読み出されたMIDIデータ
においてそのヘッダ情報の一部である電子署名すなわち
著作権表示データを比較的大きなデータ単位でキーオン
イベントデータ中に分散して記憶すると共にMIDIフ
ォーマットを維持したまま暗号化処理を施す(電子透し
を施す)という場合について説明した。これだと、キー
オンイベントデータの中にはそのキーコード及びベロシ
ティの内容がほとんど書き換えられるものが出てくるの
で、所定のMIDIデータ修復処理を行わずにMIDI
データ再生処理を行っても再生される楽音は、全くデタ
ラメなものとなってしまう。この点に鑑みて、次に説明
する第2の実施の形態では、上記とは異なるやり方で
「電子透し」を施すようにしている。この第2の実施の
形態では、MIDIデータの最初の部分に、複数の暗号
化処理の中のどの暗号化処理が施されたのかを示すスク
ランブルデコードデータを埋め込み、そこには暗号化処
理を行わずに、通常のMIDIデータの再生を行えるよ
うにし、残りのMIDIデータ部分にスクランブルデコ
ードデータに対応したスクランブル処理を行い、MID
Iデータの再生を行うことができないようにしている。
In the first embodiment, in the MIDI data read from the floppy disk drive 24, an electronic signature, ie, copyright display data, which is a part of the header information, is converted into key-on event data in a relatively large data unit. The case where encryption processing is performed (electronic watermarking is performed) while the MIDI format is maintained while being distributed and stored therein has been described. In this case, some of the key-on event data whose key code and velocity content are almost rewritten appear, so that the MIDI data can be rewritten without performing predetermined MIDI data restoration processing.
Even when the data reproducing process is performed, the reproduced musical sound is completely unpleasant. In view of this point, in the second embodiment described below, “electronic watermarking” is performed in a different manner from the above. In the second embodiment, scrambled decode data indicating which encryption process among a plurality of encryption processes has been applied is embedded in the first part of the MIDI data, and the encryption process is performed there. Instead, normal MIDI data can be reproduced, and the remaining MIDI data is scrambled in accordance with the scrambled decoded data.
I data cannot be reproduced.

【0060】図7は、MIDIデータ中に埋め込まれる
スクランブルデコードデータの内容を示す図である。こ
のスクランブルデコードデータは2バイト構成のデータ
であり、第1バイト目の上位4ビットはそのアルゴリズ
ムを示し、下位4ビットはスクランブル処理されるイベ
ント数すなわちカウント数を示し、第2バイト目の8ビ
ットはそのアルゴリズムに対応したバリューを示す。こ
こで、アルゴリズムの種類としては、キーオンデータの
ノート番号を変更するというもの、キーオンデータのノ
ートとベロシティを入れ替えるというもの、インターバ
ルデータを変更するというもの、キーオンデータのチャ
ンネルデータを変更するというものなどがある。カウン
ト数は、前述のようにASCIIの2文字分すなわち1
6ビット分のデータを作成するのに必要な数のキーオン
イベントデータの先頭からいくつに対してスクランブル
処理を行うのかを示すものである。
FIG. 7 is a diagram showing the contents of scramble decode data embedded in MIDI data. The scramble decode data is 2-byte data. The upper 4 bits of the first byte indicate the algorithm, the lower 4 bits indicate the number of events to be scrambled, that is, the count number, and the 8 bytes of the second byte. Indicates a value corresponding to the algorithm. Here, the type of algorithm is to change the note number of the key-on data, to change the note and velocity of the key-on data, to change the interval data, to change the channel data of the key-on data, etc. There is. The count number is two ASCII characters, that is, 1 as described above.
This indicates how many scramble processes are to be performed from the top of the key-on event data of the number necessary to create 6-bit data.

【0061】上述の第1の実施の形態の場合には、1つ
のキーオンイベントデータに4ビット分のデータを埋め
込むことができたので、2つのキーオンイベントデータ
にASCIIの1文字分の付属情報を埋め込むことがで
きたが、今回の第2の実施の形態では、1つのキーオン
イベントデータに1ビット分のデータしか埋め込めない
場合について説明するので、修正するイベント数の最大
値は16となる。バリューは対応するアルゴリズムによ
って異なるものであり,例えば、キーオンデータのノー
ト番号を変更するというアルゴリズムの場合には、その
変更する度合いすなわちトランスポーズ値(修正ノート
値)であり、インターバルデータを変更するというアル
ゴリズムの場合には、その変更する修正値であり、キー
オンデータのチャンネルデータを変更する場合には、そ
の修正チャンネル値である。このように全部で16種類
のアルゴリズムが規定されているものする。なお、この
16種類のアルゴリズムの中の一つとして、前述の第1
の実施の形態に係るようなスクランブル処理が存在して
もよいことはいうまでもない。
In the case of the first embodiment, since four bits of data can be embedded in one key-on event data, the additional information for one ASCII character is included in the two key-on event data. Although embedding was possible, in the second embodiment, the case where only one bit of data can be embedded in one key-on event data will be described. Therefore, the maximum value of the number of events to be corrected is 16. The value differs depending on the corresponding algorithm. For example, in the case of an algorithm that changes the note number of the key-on data, the value is the degree of change, that is, the transpose value (corrected note value), and the interval data is changed. In the case of the algorithm, it is the correction value to be changed, and when the channel data of the key-on data is changed, it is the corrected channel value. Thus, it is assumed that a total of 16 types of algorithms are defined. In addition, as one of the 16 types of algorithms, the first algorithm described above is used.
It goes without saying that the scrambling process according to the embodiment may exist.

【0062】図8は、電子楽器1が電子情報処理システ
ムとして動作する場合のMIDI編集処理の別の一例と
なるMIDI編集処理2を示すフローチャート図であ
る。まず、この場合には、電子楽器1は、フロッピーデ
ィスクドライブ24から読み出したMIDIデータにそ
のヘッダ情報の一部である電子署名すなわち著作権表示
データを分散して記憶すると共に前述の16ビット構成
のスクランブルデコードデータを記憶する。まず、ステ
ップ81では、MIDIデータ列内に分散して書き込ま
れるべきスクランブルの内容を決定する。すなわち、図
8のどのアルゴリズムに基づいてスクランブル処理を行
うのかがパネルスイッチ2Eによって予め設定されるも
のとする。スクランブルの内容がステップ81で決定し
たので、今度はステップ82でそのスクランブルのデコ
ードデータ列を得る。例えば、パネルスイッチ2Eによ
って、第5番目のアルゴリズムが選択された場合には、
そのアルゴリズムの種類を示すデータ『0101B』
と、そのアルゴリズムによって修正されるカウント数
『1001B』とからなる8ビット構成のデータ列がス
クランブルデコードデータ列としてMIDIデータ列内
に分散して記録されるようになる。
FIG. 8 is a flowchart showing a MIDI editing process 2 which is another example of the MIDI editing process when the electronic musical instrument 1 operates as an electronic information processing system. First, in this case, the electronic musical instrument 1 stores the digital data read from the floppy disk drive 24 with the electronic signature, that is, the copyright display data, which is a part of the header information, dispersed therein, and also stores the 16-bit data described above. The scramble decode data is stored. First, in step 81, the contents of scramble to be distributed and written in the MIDI data string are determined. That is, it is assumed that the scramble processing based on which algorithm in FIG. 8 is performed is set in advance by the panel switch 2E. Since the content of the scramble is determined in step 81, a decoded data sequence of the scramble is obtained in step 82. For example, when the fifth algorithm is selected by the panel switch 2E,
Data "0101B" indicating the type of the algorithm
Then, an 8-bit data sequence consisting of the count number "1001B" modified by the algorithm is distributed and recorded in the MIDI data sequence as a scrambled decoded data sequence.

【0063】次に、ステップ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データを順番に取り出す。
Next, in step 83, one byte of the scrambled decoded data string obtained in step 82 is stored in the byte register BR. And step 84
Then, each bit of the scramble decode data stored in the byte register BR is inverted to create another 8-bit bit string. For example, as shown in FIG.
In the case of “001B”, a bit string “10100110B” as shown in FIG. Next, in step 85, the MIDI data string (Standard M
Various MIDI data such as key-on event data, program change data, and control change data are sequentially extracted from IDIFile (SMF).
That is, since the MIDI data string is basically composed of key-on event data including a key-on status byte, a key code byte, and a velocity byte, and other program change event data and control change event data, in step 85, Such MIDI data is taken out in order.

【0064】ステップ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にそれぞれ格納する。
At step 86, the retrieved MIDI
It is determined whether or not the data is key-on event data KON. If the data is key-on event data (YES), the process proceeds to the next step 87, and if not (NO), the process proceeds to step 8D. Therefore, if the MIDI data extracted in step 85 is key-on event data, a MIDI data string SMF1 composed of key-on event data as shown in FIG. 12A is obtained.
MIDI data string SMF of this key-on event data
Reference numeral 1 denotes a combination of a duration time D and key-on event data. In step 87, the data of each byte in the key-on event data is stored in the corresponding register a, b, c. That is, the channel number in the key-on status byte in the key-on event data is stored in the channel register a, the key code in the next first data byte (key code byte) is stored in the key code register b, and the second data The velocity in the byte (velocity byte) is stored in the velocity register c.

【0065】ステップ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)のようになる。
In step 88, one bit is extracted from the head of the bit string created in step 84 and stored in the first bit flag BF1. Next Step 89
In step 87, the values stored in the registers a, b, and c in step 87 are calculated according to a predetermined function, and the bit data obtained based on the calculation result is inverted to form a second bit flag BF
2 is stored. In this embodiment, each register a,
Let modulo 2 of the sum of the values of b and c be a predetermined function.
That is, the function f1 (a, b, c,) = (a + b + c)
mod2. For example, in the case of the key-on event MIDI data sequence SMF1 as shown in FIG. First, when a calculation is performed using a predetermined function f1 (a, b, c) of each key-on event data, the result is as shown in FIG. That is, if the value of (a + b + c) is even, it is "0", and if it is odd, it is "1". Then, these inverted bits are stored in the second bit flag BF2, and FIG.
(C).

【0066】ステップ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』になる。
In step 8A, it is determined whether the first bit flag BF1 and the second bit flag BF2 obtained in steps 88 and 89 are equal, and if they are equal (YES), the next step 8B and Step 8
Perform the processing of C, and if not equal (NO), step 8
Jump to E. In step 8B, since it is determined that the first bit flag BF1 is equal to the second bit flag BF2, "1" is added to the value of the velocity register c, that is, the least significant bit of the velocity data. Then, in step 8C, M is set based on the value of the register c.
The velocity value constituting the key-on event data in the IDI data string is updated. That is, the velocity value is increased by one. For example, in the case of FIG. 12, three bits of the first bit flag BF1 and the second bit flag BF2
If the fifth, sixth, and seventh are equal,
Since it is determined in step 8A, the velocity values of the third, fifth, sixth, and seventh key-on event data in the MIDI data string are increased by "1". That is, the velocity value “63” of the third key-on event data becomes “64”, the velocity value “78” of the fifth key-on event data becomes “79”, and the velocity value “6” of the sixth key-on event data becomes “79”. 91 becomes “92”, and the velocity value “42” of the seventh key-on event data becomes “43”.

【0067】ステップ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の処理を行
う。
Step 8D is a process which is performed when the determination in step 86 or 8A is NO or when the process in step 8C is completed.
In the case where the processing from Step 8C to Step 8C is one round processing, it is determined whether this one round processing has been performed eight times, that is, eight bits. , Otherwise (NO),
Returning to step 85, the processing of steps 85 to 8C is performed on the next one bit. In step 8E, when the processing from step 83 to step 8D is one round processing, it is determined whether the one round processing has been performed by the number of bytes constituting the scrambled decoded data,
If performed (YES), the process proceeds to the next step 8F; otherwise (NO), the process returns to the step 83, where the next 1-byte value of the scramble decode data is compared with the values in the steps 83 to 8D. Perform processing.

【0068】ステップ8Fでは、ステップ81で選択さ
れたスクランブルの内容に応じて、MIDIデータ列の
後半部分にスクランブル処理を施す。例えば、前述のス
クランブルデコードデータの埋め込み終了後のキーオン
データに対してスクランブル処理を行うようにしてもよ
いし、スクランブルデコードデータの埋め込み終了後、
所定数のキーオンデータ経過後にスクランブル処理を行
うようにしてもよい。また、スクランブルデコードデー
タの埋め込みを複数回行い、その後にスクランブル処理
を行うようにしてもよい。この場合に、取り出されたM
IDIデータがプログラムチェンジイベントPCMの場
合には、スクランブルの内容をランダムに変更して、ス
クランブルデコードデータの埋め込み処理及びスクラン
ブルの内容に応じたMIDIデータ列の編集処理を行う
ようにしてもよい。プログラムチェンジイベントはノー
トオンイベントなどに比べて、比較的低頻度で発生し、
プログラムチェンジ後は、楽器が変わることを意味する
ので、その位置を始点としてスクランブルの内容を変更
し、そのスクランブルデコードデータを埋め込み、スク
ランブル処理を行うことによって、一定の楽器について
はスクランブルの掛からない演奏を行うことができ、あ
る所定時間経過後に演奏にスクランブルをかけることが
できる。
At step 8F, a scrambling process is performed on the latter half of the MIDI data sequence according to the scrambling content selected at step 81. For example, the scramble processing may be performed on the key-on data after the embedding of the above-described scrambled decoded data, or after the embedding of the scrambled decoded data,
The scrambling process may be performed after a predetermined number of key-on data has elapsed. Alternatively, the scramble decoding data may be embedded a plurality of times, and then the scrambling process may be performed. In this case, the retrieved M
When the IDI data is the program change event PCM, the scramble contents may be changed at random, and the embedding process of the scramble decode data and the editing process of the MIDI data string according to the scramble contents may be performed. Program change events occur relatively infrequently compared to note-on events, etc.
After the program change, it means that the instrument changes, so change the scramble content starting from that position, embed the scramble decode data, and perform scramble processing, so that certain instruments can be played without scrambling Can be performed, and the performance can be scrambled after a predetermined time has elapsed.

【0069】次に、図8のMIDI編集処理2によって
付与されたスクランブルデコードデータの修復処理につ
いて説明する。なお、スクランブル処理の解除について
は、アルゴリズムに応じて逆の処理を施せばいいので、
ここではその説明は省略する。図9は、電子楽器1がM
IDIデータ修復装置して動作する場合の一例となるM
IDIデータ修復処理2を示すフローチャート図であ
る。この場合には、フロッピーディスクドライブ24か
ら読み出されたMIDIデータのベロシティバイト部分
にそのヘッダ情報の一部である電子署名すなわち著作権
表示データが分散記録されているとともにスクランブル
デコードデータが記録されているものとする。以下の実
施の形態では、このスクランブールデコードデータを検
出して、それに基づいてMIDIデータを修復するまで
の動作について説明する。
Next, a description will be given of a process of restoring the scrambled decoded data given by the MIDI editing process 2 in FIG. Note that the scrambling process can be canceled by performing the reverse process according to the algorithm.
Here, the description is omitted. FIG. 9 shows that the electronic musical instrument 1 has M
M as an example when operating as an IDI data restoration device
It is a flowchart figure which shows IDI data restoration processing 2. In this case, the digital signature read out from the floppy disk drive 24, the electronic signature as a part of the header information, that is, the copyright display data is dispersedly recorded in the velocity byte portion, and the scramble decode data is recorded. Shall be In the following embodiment, an operation from detection of this scrambled decoded data to restoration of MIDI data based on the detected data will be described.

【0070】まず、ステップ91では、デコードデータ
格納レジスタDECODEにナルデータを格納する。す
なわち、デコードデータ格納レジスタDECODEの内
容をリセットする。ステップ92では、スクランブルデ
コードデータを検出すべきMIDIデータ列、すなわち
図8のMIDIデータ編集によってスクランブルデコー
ドデータの付与されたMIDIデータ列を取り出す。そ
して、次のステップ93で、バイトレジスタBRとビッ
トカウンタBCNの値をリセットする。
First, in step 91, null data is stored in the decode data storage register DECODE. That is, the contents of the decode data storage register DECODE are reset. In step 92, the MIDI data string from which the scramble decode data is to be detected, that is, the MIDI data string to which the scramble decode data is added by the MIDI data editing of FIG. 8 is extracted. Then, in the next step 93, the values of the byte register BR and the bit counter BCN are reset.

【0071】次に、ステップ94では、MIDIデータ
列(Standard MIDIFile:SMF)の
中から順次キーオンイベントデータやプログラムチェン
ジデータやコントロールチェンジデータなどのデータを
取り出す。ステップ95では、取り出されたMIDIデ
ータがキーオンイベントデータKONであるかどうかを
判定し、キーオンイベントデータ(YES)の場合は次
のステップ96に進み、そうでない(NO)場合はステ
ップ9Cに進む。従って、ステップ94で取り出された
MIDIデータがキーオンイベントデータの場合には、
図12(G)のようなキーオンイベントMIDIデータ
列SMF2が作成されることになる。なお、図12
(G)のキーオンイベントデータ列は先に電子署名の付
与された図12(D)のキーオンイベントデータ列SM
F2と同じものである。
Next, at step 94, data such as key-on event data, program change data and control change data are sequentially extracted from the MIDI data string (Standard MIDI File: SMF). In step 95, it is determined whether or not the extracted MIDI data is key-on event data KON. If it is key-on event data (YES), the flow proceeds to the next step 96; Therefore, if the MIDI data extracted in step 94 is key-on event data,
A key-on event MIDI data string SMF2 as shown in FIG. 12 (G) is created. FIG.
The key-on event data string SM shown in FIG.
It is the same as F2.

【0072】ステップ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にジャンプする。
In step 96, the data of each byte in the key-on event data is stored in the corresponding register a, b, c. That is, the channel number in the key-on status byte in the key-on event data is stored in the channel register a, the key code in the next first data byte (key code byte) is stored in the key code register b, and the second data The velocity in the byte (velocity byte) is stored in the velocity register c. In step 97, the value of the byte register BR is doubled, that is, shifted, and the inverted value of the function f1 (a, b, c,) = (a + b + c) mod2 is added to the least significant bit. In step 98, the value of the bit counter BCN is incremented by one. Step 99
Then, it is determined whether or not the value of the bit counter BCN has become "8". If YES, the process proceeds to the next step 9A, and if NO, the process jumps to the step 9C.

【0073】例えば、図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)のように忠実に再現されたことになる。
For example, in the case of the MIDI data string SMF2 of the key-on event as shown in FIG. First, when a predetermined function f1 (a, b, c) of each key-on event data is calculated,
As shown in FIG. That is, (a + b + c)
Is "0" if the value is even and "1" if the value is odd. Then, these inverted bits are as shown in FIG.
Since the value sequentially shifts the byte register BR, one byte of scrambled decoded data is finally formed as shown in FIG. The data of FIG. 12 (J) thus obtained is the same as that of FIG. 12 (F). That is, the scrambled decoded data distributed and written in the velocity byte of the MIDI data, that is, the data as shown in FIG.
This is faithfully reproduced as in (J).

【0074】ステップ9Aでは、バイトレジスタBRの
格納値をデコードデータ格納レジスタDECODEに追
加記憶する。ステップ9Bで、バイトレジスタBRとビ
ットカウンタBCNの値をリセットする。ステップ9C
では、ステップ95でNOと判定された場合、又はステ
ップ9Bの処理を終了した場合に行われる処理であっ
て、ステップ94〜ステップ9Bの処理がスクランブル
デコードデータに対応する2バイト分終了したかどうか
の判定を行い、この判定結果が2バイト分終了(YE
S)の場合には、次のステップ9Dに進み、終了してい
ない(NO)場合にはステップ94にリターンし、一連
の処理を繰り返し実行する。ステップ9Dでは、スクラ
ンブルデコードデータの内容に基づいてスクランブル処
理されたMIDIデータの修復処理を行う。
At step 9A, the value stored in the byte register BR is additionally stored in the decode data storage register DECODE. In step 9B, the values of the byte register BR and the bit counter BCN are reset. Step 9C
This is a process performed when NO is determined in step 95 or when the process of step 9B is completed. Whether the process of steps 94 to 9B is completed for 2 bytes corresponding to the scramble decode data is determined. Is determined, and the result of the determination is completed for two bytes (YE
In the case of S), the process proceeds to the next step 9D, and if not completed (NO), the process returns to the step 94 to repeatedly execute a series of processes. In step 9D, a process of restoring the scrambled MIDI data is performed based on the contents of the scramble decoded data.

【0075】なお、上述の実施の形態では、MIDIデ
ータ列からキーオンイベントデータを順番に取り出し
て、それに対して順番にスクランブルデコードデータを
格納する場合について説明したが、これだと、1つのM
IDIデータ列に対して1種類のスクランブル処理しか
行えない。そこで、チャンネル単位毎に異なるスクラン
ブル処理を行えるようにした第3の実施の形態について
説明する。図10は、電子楽器1がMIDIデータ編集
装置して動作する場合の一例となるMIDIデータ編集
処理3を示すフローチャート図である。まず、この場合
は、電子楽器1は、フロッピーディスクドライブ24か
ら読み出したMIDIデータ中に前述のようなスクラン
ブルデコードデータと共にヘッダ情報の一部である電子
署名すなわち著作権表示データを併せて分散記録する。
In the above-described embodiment, a case has been described in which key-on event data is sequentially extracted from the MIDI data string, and scrambled decoded data is sequentially stored for the key-on event data.
Only one type of scramble processing can be performed on the IDI data string. Therefore, a third embodiment in which different scrambling processes can be performed for each channel unit will be described. FIG. 10 is a flowchart showing a MIDI data editing process 3 as an example when the electronic musical instrument 1 operates as a MIDI data editing device. First, in this case, the electronic musical instrument 1 distributively records, together with the above-described scrambled decode data, an electronic signature which is a part of header information, that is, copyright display data, in the MIDI data read from the floppy disk drive 24. .

【0076】まず、ステップ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のデータ列が得られることになる。
First, in step 101, the contents of the electronic signature (copyright display data) to be distributed and written in the MIDI data string are determined, and the contents of the scramble decode data corresponding to each channel are determined. For example, "COPYRIG"
When characters such as "HT @ YMH @ 1996" are distributed and written in the MIDI data string, these character strings are determined using the panel switch 2E. Here, △ means a blank. Since the contents of the electronic signature to be written, that is, the character string and the contents of the scrambled decoded data are determined, this time, in step 32, a data string related to the electronic signature and the scrambled decoded data is obtained. For example, by using the panel switch 2E, "COPYRIGH
When "T @ YMH @ 1996" is input, it is converted to a data string of ASCII character codes. In this case, “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" =
A series of ASCs consisting of "39H", "6" = "36H"
The data string of II will be obtained.

【0077】これらの文字符号のデータ列は前述の第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、で
ある。
The data sequence of these character codes is
Needless to say, it can be embedded in the MIDI data by the same method as the scramble decode data described in the embodiment. Therefore, in the following processing, these ASCII data strings are converted into MIDs in the same manner as the method of embedding the scrambled decoded data strings.
It is assumed that the data is dispersedly recorded in the I data string. That is, in the next step 103, the same processing as steps 83 to 8F in FIG. At this time, the arithmetic processing according to the predetermined function of step 89 is performed differently for each channel. For example, in step 89, the function f1 (a, b,
c,) = (a + b + c) mod2 is stored in the second bit flag BF2, which is used as the first function processing.
Then, in addition to the first function processing, the following second and third functions are performed.
From among the fourth and fourth function processes, an appropriate one is properly used for each channel. The second function processing is f2
(A, b, c) = (a + c) mod2, the third function processing is f3 (a, b, c) = (b + c) mod2, and the fourth function processing is f4 (a, b, c) = (C) mod2.

【0078】ステップ103では、これらの第1から第
4までの関数処理をMIDIチャンネル毎に選択的に切
り換えて、図8のステップ83〜ステップ8Fと同様の
処理を行い、それぞれのチャンネル毎にその選択された
関数処理に従って変換された電子署名データ及びスクラ
ンブルデコードデータを付与する。このように、チャン
ネル毎に関数処理の内容を変更することによって、或る
チャンネルのデータを一度に変更するようなエディット
処理、例えばチャンネル情報の入れ替えやキーコードの
シフトなどといったものが行われた場合でも、エディッ
トによって変更される特定のチャンネルのデータに関係
しない関数を利用している別のチャネルのデータから電
子署名データやスクランブルデコードデータを復元する
ことができる。
In step 103, the first to fourth function processes are selectively switched for each MIDI channel, and the same processes as steps 83 to 8F in FIG. 8 are performed. The digital signature data and the scramble decode data converted according to the selected function processing are added. As described above, when an edit process such as changing data of a certain channel at a time by changing the contents of the function process for each channel, for example, a change of channel information or a shift of a key code is performed. However, the electronic signature data and the scrambled decoded data can be restored from the data of another channel using a function not related to the data of the specific channel changed by the editing.

【0079】次に、図10のMIDIデータ編集処理3
によって編集されたMIDIデータを修復するMIDI
データ修復処理3について図11を用いて説明する。図
11は、電子楽器1がMIDIデータ修復装置として動
作する場合の一例であるMIDIデータ修復処理3を示
すフローチャート図である。この場合、フロッピーディ
スクドライブ24から読み出されたMIDIデータの各
チャンネル毎に所定の関数処理(前述の第1から第4ま
でのいずれかの関数処理)によって、ベロシティバイト
部分にそのヘッダ情報の一部である電子署名(著作権表
示データ)及びスクランブルデコードデータが分散記録
されているものとする。従って、以下の実施の形態で
は、分散記録された著作権表示データをチャンネル毎に
所定の関数処理によって検出して、それをモニタなどに
表示したり、スクランブルデコードデータに基づいてM
IDIデータを修復するという動作を行う場合について
説明する。
Next, the MIDI data editing process 3 shown in FIG.
MIDI that restores MIDI data edited by
The data restoration process 3 will be described with reference to FIG. FIG. 11 is a flowchart illustrating a MIDI data restoration process 3 which is an example of a case where the electronic musical instrument 1 operates as a MIDI data restoration device. In this case, a predetermined function processing (any of the above-described first to fourth function processing) is performed for each channel of the MIDI data read from the floppy disk drive 24, so that the header information is included in the velocity byte portion. It is assumed that the electronic signature (copyright display data) and the scrambled decode data, which are parts, are dispersedly recorded. Therefore, in the following embodiment, distributedly displayed copyright display data is detected by a predetermined function process for each channel, and the detected copyright display data is displayed on a monitor or the like.
A case where an operation of restoring IDI data is performed will be described.

【0080】まず、ステップ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を意味する。
First, in step 111, a MIDI data string from which an electronic signature is to be detected, that is, a MIDI data string shown in FIG.
In a data editing process 3, a MIDI data string to which digital signature data and scramble decoding data are added is extracted for each channel according to a predetermined function process. Then, in the next step 112, the channel counter is reset, and in step 113, the function counter is reset. The channel counter and the function counter are used for performing each function processing on each channel in the subsequent processing. For example, if the MIDI channel is 1
In the case of 6 channels, the channel counter is set to 0
To 15 are cyclically counted. The function counter indicates that the function processing is 4 as described above.
In the case of the type, the processing is performed so as to cyclically count from 0 to 3. When the function counter is “0”, the first function processing f1 (a, b, c,) = (a + b + c) mod
2 and “1”, the second function processing f2 (a, b,
c) = (a + c) mod2, and in the case of “2”, the third function processing f3 (a, b, c) = (b + c) mod2,
In the case of "3", the fourth function processing f4 (a, b, c) =
(C) means mod2.

【0081】ステップ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データを
修復する。なお、検出された電子署名データをモニタ上
に表示するようにしてもよいことはいうまでもない。
In step 114, for the channel corresponding to the value of the channel counter, the digital signature data and the scrambled decoded data are processed in the same manner as in steps 91 to 9C in FIG. 9 using the function processing corresponding to the value of the function counter. Perform detection processing. Step 11
At 5, it is determined whether or not the detected digital signature data sequence has a significant portion. The significant part here is AS
"COPYRI" composed of CII character data
GHT "is part of the signature data. Therefore, in step 115, "COPY" is included in the character string composed of ASCII character data sequentially added to the decode data storage register DECODE by the processing of FIG.
RIGHT ”is determined. If it is determined in step 115 that there is no significant part in the decoded data storage register DECODE (NO), the process proceeds to the next step 116, where the function counter is incremented by one. Then, in the next step 117, it is determined whether or not the processing of steps 114 and 115, that is, the extraction processing of the signature data and the scrambled decoded data, has been performed for all the function processings.
In the case of S), proceed to the next step 118, otherwise (NO), return to step 114, and perform the processing of steps 114 and 115 for the next function processing. Conversely, if the result of determination in step 115 is that there is a significant portion in the decoded data storage register DECODE, processing proceeds to step 119, where MIDI data is restored based on the contents of the scrambled decoded data. That is, the determination in step 115 is YES
Since it can be determined that the detected scrambled decoded data is also significant, the original MIDI data is restored based on the scrambled decoded data. Needless to say, the detected digital signature data may be displayed on a monitor.

【0082】ステップ117でYESと判定されたとい
うことは、全てのMIDIチャンネルに対して、全ての
関数処理を用いて電子署名データ及びスクランブルデコ
ードデータの抽出処理を行った結果、データ列に有意な
部分が存在しなかったということだから、ステップ11
8では、その結果として『電子署名データ及びスクラン
ブルデコードデータの検出失敗』などの文字をモニタ上
に表示する。ステップ11Aでは、チャンネルカウンタ
を1だけインクリメントする。そして、次のステップ1
1Bで全てのチャンネルに対してステップ114及びス
テップ115の処理すなわち電子署名データ及びスクラ
ンブルデコードデータの抽出処理が行われたかどうかの
判定を行い、行われた(YES)場合には処理を終了
し、そうでない(NO)場合はステップ113にリター
ンし、次のMIDIチャンネルについてステップ113
〜ステップ115の処理を行う。
The determination of YES in step 117 means that the extraction processing of the electronic signature data and the scrambled decoded data for all the MIDI channels using all the function processing results in a significant data string. Since the part did not exist, step 11
In step 8, characters such as "failure in detecting digital signature data and scrambled decoded data" are displayed on the monitor. In step 11A, the channel counter is incremented by one. And the next step 1
In 1B, it is determined whether or not the processing of steps 114 and 115, that is, the processing of extracting the digital signature data and the scrambled decoded data has been performed for all the channels. If the processing has been performed (YES), the processing is terminated. If not (NO), the process returns to step 113, and the next MIDI channel is returned to step 113.
To 115 are performed.

【0083】なお、上述の実施の形態では、署名データ
やスクランブルデコードデータをMIDIデータのベロ
シティ部分に分散記録する場合について説明したが、こ
れは一例であり、これ以外の著作者名、曲の題名、画像
/映像の題名などに関する文字データやデータ形式に関
するデータやその他の種々のデータを分散記録してもよ
いことはいうまでもない。また、ベロシティ部分以外
の、デュレーションタイム(待ち時間)データに分散記
録してもよいし、その両方に分散記録するようにしても
よい。両方に分散記録する場合、その厳密性すなわち分
散記録することによってそのデータの内容が変更する度
合いに応じて、分散記録する箇所を適宜切り換えるよう
にしてもよい。すなわち、デュレーションタイムデータ
の短い領域で、そのデュレーションタイムデータに分散
記録すると、それによる変動の割合(厳密性)が大きく
なるので、好ましくないが、デュレーションタイムデー
タが比較的大きい領域では、逆の関係にあるので、分散
記録しても影響は少ない。同じく、ベロシティ部分に記
録する場合でも、ベロシティの値の小さい領域て、その
ベロシティ部分に分散記録すると、それによる変動の割
合(厳密性)が大きくなるので、好ましくないが、ベロ
シティの値の大きい領域では、分散記録しても影響は少
ない。従って、これらを適宜考慮して所定値よりも大き
いベロシティに種々のデータを分散記録するようにして
もよい。
In the above-described embodiment, the case where signature data and scramble decode data are dispersedly recorded in the velocity portion of MIDI data has been described. However, this is merely an example, and other author names and titles of songs are used. Needless to say, character data relating to the title of an image / video, data relating to the data format, and other various data may be distributedly recorded. In addition, distributed recording may be performed on duration time (waiting time) data other than the velocity portion, or distributed recording may be performed on both of them. In the case of performing the distributed recording on both, the location of the distributed recording may be appropriately switched according to the strictness, that is, the degree of the content of the data being changed by the distributed recording. In other words, if the recording is distributed to the duration time data in an area where the duration time data is short, the rate of change (strictness) due to the recording becomes large, which is not preferable. Therefore, even if the recording is performed in a distributed manner, the influence is small. Similarly, even in the case of recording in the velocity portion, if the area where the velocity value is small is dispersedly recorded in the velocity portion, the rate of change (strictness) due to the recording becomes large, so it is not preferable. Then, even if the recording is dispersed, the influence is small. Therefore, various data may be dispersedly recorded at a velocity greater than the predetermined value by appropriately considering these.

【0084】また、上述の実施の形態では、MIDIデ
ータに分散記録する場合について説明したが、これ以外
の波形データやシーケンスデータ、ディジタル記録音声
データ、画像データ、動画データ、レジストレーション
(電子楽器の設定記録)データなどに分散記録するよう
にしてもよい。波形データに分散記録する場合には、所
定の関数処理としてその波形データ(wave_dat
a)そのもののモジュロ2、すなわち、f1(wave
_data)=wave_data mod2としても
よい。また、波形データの値とそのポイントデータとを
用いて、両データの和のモジュロ2、すなわち、f2
(wave_data,sample_point)=
(wave_data+sample_point)
mod2としてもよい。図10及び図11の実施の形態
では、各(論理)チャンネル毎に関数処理の種類を変更
して、署名データを検出する場合について説明したが、
プログラムチェンジデータの検出タイミング毎に関数処
理の種類を変更するようにしてもよい。この場合には、
検出されたデータ列に有意な部分が存在するかどうかの
判定処理も各プログラムチェンジデータの検出タイミン
グ毎に行う必要がある。
Further, in the above-described embodiment, the case where the recording is distributed to the MIDI data has been described. However, other waveform data, sequence data, digital recording audio data, image data, moving image data, registration (for an electronic musical instrument) may be used. (Setting recording) data and the like may be dispersedly recorded. In the case of distributive recording on waveform data, the waveform data (wave_dat) is used as a predetermined function process.
a) modulo 2 of itself, that is, f1 (wave
_Data) = wave_data mod2. Further, using the value of the waveform data and its point data, the modulo 2 of the sum of the two data, that is, f2
(Wave_data, sample_point) =
(Wave_data + sample_point)
It may be mod2. In the embodiment of FIG. 10 and FIG. 11, the case of detecting the signature data by changing the type of function processing for each (logical) channel has been described.
The type of function processing may be changed for each detection timing of program change data. In this case,
The process of determining whether a significant portion exists in the detected data string also needs to be performed at each program change data detection timing.

【0085】上述の実施の形態では、検出された電子署
名データをモニタ上に表示する場合について説明した
が、検出側において、電子署名データが存在しない場合
や電子署名データが完全に復旧できない場合(各論理チ
ャンネルにおいて、電子署名データが検出できるチャン
ネルと検出できないチャンネルが混在する場合)には、
データの再生を中止するようにしてもよい。また、その
検出側の電子楽器やコンピュータなどがネットワークに
接続されている場合には、そのネットワーク上に不正に
エディットされたデータが存在することを送信し、それ
をホストコンピュータ側で検出することができるように
してもよい。上述の実施の形態では、電子楽器がMID
Iデータ編集装置又はMIDIデータ修復装置として動
作する場合について説明したが、同様の処理を行うハー
ドウェアを別途構成するようにしてもよいし、ソフトウ
ェア、DSPとマイクロプログラムなどで構成するよう
にしてもよい。また、このようなMIDIデータ編集装
置又はMIDIデータ修復装置をフロッピー(登録商
標)ディスクドライブや通信インターフェイスなどに予
め内蔵しておいて、データの入出力の段階で強制的に電
子署名データを付与したり、検出したりするようにして
もよい。
In the above-described embodiment, the case where the detected digital signature data is displayed on the monitor has been described. However, if the digital signature data does not exist or the digital signature data cannot be completely recovered on the detecting side ( In each logical channel, when a channel in which digital signature data can be detected and a channel in which digital signature data cannot be detected are mixed),
The reproduction of the data may be stopped. If the electronic musical instrument or computer on the detecting side is connected to a network, the host computer sends a message indicating that illegally edited data exists on the network, and the host computer can detect it. You may be able to. In the above embodiment, the electronic musical instrument has the MID
Although the case of operating as an I data editing device or a MIDI data restoration device has been described, hardware for performing the same processing may be separately configured, or may be configured by software, a DSP, a microprogram, or the like. Good. In addition, such a MIDI data editing device or a MIDI data restoration device is built in a floppy (registered trademark) disk drive or a communication interface in advance, and electronic signature data is forcibly added at a data input / output stage. Or may be detected.

【0086】上述の実施の形態では、電子署名データや
スクランブルデコードデータを付与する場合を説明した
が、電子署名データやスクランブルデコードデータの付
与されたデータを、フロッピーディスクやコンパクトデ
ィスクなどで供給するようにしてもよいし、ネットワー
クを通じて電子的に供給するようなデータ形態を採用し
てもよい。図8のステップ8Bでは、ベロシティデータ
の値を1だけインクリメント処理する場合について説明
したが、デクリメント処理してもよいし、これらの処理
を適当なタイミング(所定データ数毎とか)で交互に行
うようにしてもよい。上述の実施の形態では、所定の関
数処理の後にビット反転処理を行う場合について説明し
たが、これは行わなくてもよい。また、ビット反転処理
の他にも、上位ビットと下位ビットを入れ替えるとか、
AND、OR、XORなどの論理演算処理を施すとか、
種々の処理を加えるようにしてもよいことはいうまでも
ない。また、適宜の暗号化処理を施すようにしてもよ
い。例えば、上述の第1から第4までの関数処理の結果
を適宜組み合わせてもよいし、前回の関数処理の結果を
次の関数処理に組み合わせて演算するようにしてもよ
い。なお、これらの各処理はある程度高速に行うことが
でき、変換後、逆変換によりもとに戻せるものであれ
ば、これ以外の方法でもよいことはいうまでもない。
In the above-described embodiment, the case where digital signature data and scrambled decode data are added has been described. However, data to which digital signature data and scrambled decode data have been added is supplied on a floppy disk, a compact disk, or the like. Alternatively, a data format that is supplied electronically through a network may be adopted. In step 8B of FIG. 8, the case where the velocity data value is incremented by 1 has been described. However, the decrement processing may be performed, or these processing may be alternately performed at an appropriate timing (for example, every predetermined number of data). It may be. In the above embodiment, the case where the bit inversion processing is performed after the predetermined function processing has been described, but this need not be performed. In addition to the bit inversion processing, the upper bits and lower bits are exchanged,
To perform logical operation processing such as AND, OR, XOR,
It goes without saying that various processes may be added. Further, an appropriate encryption process may be performed. For example, the results of the first to fourth function processes described above may be combined as appropriate, or the result of the previous function process may be combined with the next function process for calculation. Note that it goes without saying that other methods may be used as long as each of these processes can be performed at a high speed to some extent and can be returned to the original state by the inverse conversion after the conversion.

【0087】上述の実施の形態では、プログラムチェン
ジデータの検出タイミング毎に新たに電子署名データや
スクランブルデコードデータの付与処理を行う場合につ
いて説明したが、これに限らず、小節単位(例えば8小
節毎など)データの検出タイミング毎に行うようにして
もよい。また、波形データに分散記録する場合には、所
定のサンプル数毎や所定のゼロクロス毎に新たに署名デ
ータの付与処理を行うようにしてもよい。ゼロクロス
(波形の値の符号が変わるタイミング)は波形エディッ
トの際の基準地点と考えられるからである。また、上述
の実施の形態では、電子署名データや題名などのような
付属情報を記録する場合について説明したが、MIDI
データと波形データを合わせて記録する場合に、MID
Iデータにその波形データの一部を記録するようにして
もよいし、波形データにMIDIデータの一部を合わせ
て記録するようにしてもよい。
In the above-described embodiment, a case has been described in which digital signature data and scrambled decode data are newly added at each detection timing of program change data. However, the present invention is not limited to this. And so on) at each data detection timing. Further, in the case of performing distributed recording on waveform data, a process of adding new signature data may be performed for each predetermined number of samples or for each predetermined zero cross. This is because the zero crossing (timing at which the sign of the waveform value changes) is considered as a reference point in waveform editing. Further, in the above-described embodiment, a case has been described where auxiliary information such as digital signature data and a title is recorded.
MID when recording data and waveform data together
A part of the waveform data may be recorded in the I data, or a part of the MIDI data may be recorded together with the waveform data.

【0088】なお、上述の実施の形態では、署名データ
をMIDIデータのベロシティ部分に分散記録する場合
について説明したが、これは一例であり、これ以外の著
作者名、曲の題名(曲名)、画像/映像の題名などに関
するテキスト情報や、そのデータ形式に関する情報やそ
の他の種々の電子情報(曲の解説、著作者に関する情
報、著作年、歌詞、ニュース、ハードID(機種名、使
用OS)などの各種情報)を分散記録してもよいことは
いうまでもない。この場合には、図8から図11までの
各処理における電子署名をこれらの各種電子情報に置き
換えて処理すればよい。このようにして処理された電子
情報をモニタ画面上に表示するようにしてもよい。な
お、このとき、付属情報を一連の纏まったファイル情報
として検出してもよいし、自動演奏中にMIDIデータ
から検出される電子情報の流れとして認識し、それをリ
アルタイムに画面表示したりしてもよい。この場合、付
属情報が画像情報の場合には、MIDIデータによって
リアルタイムに画像が描画されるようになり、テキスト
情報の場合には、ニュース配信などのようなリアルタイ
ムな情報表示を行うことが可能となる。また、情報を付
加するための技術がシンプルであるため、オンデマンド
などで電子情報を埋め込むことができるので、TV放送
などのようなリアルタイムな描画が可能となる。また、
インターネットや電子メールなどのIDやパスワードの
配信にも利用することができる。
In the above-described embodiment, a case has been described in which signature data is dispersedly recorded in the velocity portion of MIDI data. However, this is merely an example, and other author names, song titles (song titles), Text information on the title of the image / video, information on its data format, and various other electronic information (commentary, song information, author year, lyrics, news, hardware ID (model name, OS used), etc. It is needless to say that the various types of information described above may be dispersedly recorded. In this case, the electronic signature in each of the processes shown in FIGS. 8 to 11 may be replaced with such various types of electronic information. The electronic information processed in this manner may be displayed on a monitor screen. At this time, the attached information may be detected as a series of integrated file information, or may be recognized as a flow of electronic information detected from MIDI data during an automatic performance, and displayed on a screen in real time. Is also good. In this case, if the attached information is image information, an image is drawn in real time by MIDI data, and if it is text information, real-time information display such as news distribution can be performed. Become. In addition, since the technology for adding information is simple, electronic information can be embedded on demand or the like, so that real-time drawing such as TV broadcasting can be performed. Also,
It can also be used to distribute IDs and passwords for the Internet and e-mail.

【0089】なお、上述の第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の値を求めている。
In the first embodiment, that is, in the MIDI data editing process 1 shown in FIG. 3, in step 38, the previous value register b0 storing the key code of the previous key-on event data and the current key-on event data are stored. Of the key code register b storing the key code of
The difference between the previous value register c0 storing the velocity of the previous key-on event data and the velocity register c storing the velocity of the current key-on event data is stored in the key and stored in the velocity difference value register dvel. Stored. In that connection,
New key code value b1 and velocity value c converted by the processing from step 3A to step 3G
1 will always have a close relationship with the key code and velocity in the previous key-on event. Also in the MIDI data restoration process 1 of FIG. 4, the value of the restoration key code register b2 is determined based on the previous value register b0 and the key code register b, and the value of the restoration velocity register c2 is determined based on the previous value register c0 and the velocity register c. Finding the value.

【0090】従って、図3のMIDIデータ編集処理後
にMIDIデータのイベントデータ(キーコード又はベ
ロシティの値)が修正されると、それ以降に修復処理さ
れた修復キーコード及び修復ベロシティの値が元のデー
タと全て異なってしまうということが起こる。これはデ
ータを改竄した場合にそれ以降のデータを全て無効にす
ることができるという点では優れているが、途中のイベ
ントデータにエラーが発生し、キーコード又はベロシテ
ィが変化した場合、それ以降のデータを有効に修復する
ことができなくなるという問題を有する。
Therefore, if the event data (key code or velocity value) of the MIDI data is modified after the MIDI data editing processing shown in FIG. It happens that everything is different from the data. This is excellent in that if the data is tampered, all subsequent data can be invalidated, but if an error occurs in the event data in the middle and the key code or velocity changes, the There is a problem that data cannot be effectively restored.

【0091】そこで、図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
を算出している。
Therefore, the MIDI data editing process 1 shown in FIG.
And the MIDI data restoration process 1 of FIG.
By making changes as in the I data editing process 4 and the MIDI data restoring process 4 in FIG. 14, even if the event data changes due to being rewritten in the middle, the subsequent data can be effectively restored. I did it. In the MIDI data editing process 4 of FIG. 13, the same components as those of the MIDI data editing process 1 of FIG. MID of FIG.
The I data editing process 4 is the MIDI data editing process 1 in FIG.
3 in that the processing of step 39 in FIG. 3 is omitted,
The point is that the previous value registers b0 and c0 in step 38 are changed to the leading value registers bH and cH as in step 138. In step 138, the leading value register bH storing the key code of the leading key-on event data
And a key code register b storing the key code of the current key-on event data, storing the difference in a key code difference value register dkey, and storing a velocity of the first key-on event data in a head value register. The difference between cH and the velocity register c storing the velocity of the current key-on event data is obtained, and the difference is stored in the velocity difference value register dvel. Then, the key code difference value register dke
new key code b1 and velocity c1 based on the stored value of y and the stored value of velocity difference value register dvel
Is calculated.

【0092】図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小節における先頭のイベン
ト)から取り込むようにしてもよい。
In the MIDI data restoring process 4 of FIG. 14, the same components as those of the MIDI data restoring process 1 of FIG. 4 are denoted by the same reference numerals, and the description thereof is omitted. FIG.
The MIDI data restoration process 4 of FIG. 4 differs from the MIDI data restoration process 1 of FIG. 4 in that the process of step 48 of FIG. 4 is omitted, and the previous value registers b0 and c0 of step 45 and step 46 are replaced with those of steps 145 and 146. This is the point that the start value registers bH and cH are changed as described above. That is, in step 145, the head value register bH
The value of the repair key code register b2 is calculated based on the values of the key code register b and the key code register b. In step 146, the value of the repair velocity register c2 is calculated based on the values of the head value register cH and the velocity register c. FIG.
And the MIDI data is edited based on the value of the first event data by making the change as shown in FIG.
Since the event data will be restored, even if the event data in the middle is rewritten or changed due to the occurrence of an error etc., it will not be impossible to restore the subsequent data, and the event data after the error has occurred It can be completely repaired. In the above description, the MI is determined based on the value of the first event data.
Although the case of editing the DI data has been described, an arbitrary value may be written in the header in advance, and the MIDI data may be edited or restored based on the value. Further, the value of the event data serving as the reference may be taken from an arbitrary event (for example, the first event in one bar).

【0093】図3のMIDIデータ編集処理1及び図1
3のMIDIデータ編集処理4では、キーオンデータの
キーコード及びベロシティの内容がMIDIデータの先
頭から書き換えられてしまうので、MIDIデータ修復
処理を行わずにMIDIデータ再生処理を行った場合
に、再生された楽音は、全くデタラメなものとなってし
まい、その一部だけを試聴するというようなことができ
ない。そこで、図3の変更例として、図15のMIDI
データ編集処理5のように、ステップ3Bとステップ3
Cとの間に編集条件を判定するステップ3Jを挿入し、
特定の編集条件に合致した場合にMIDIデータにスク
ランブル処理を施すようにした。なお、図15と同様
に、図13の場合もステップ3Bとステップ3Cとの間
にステップ3Jを挿入すればよい。
The MIDI data editing process 1 of FIG. 3 and FIG.
In the MIDI data editing process 3 of 3, the contents of the key code and velocity of the key-on data are rewritten from the beginning of the MIDI data. The resulting musical sounds are completely irrelevant, and it is not possible to listen to only a part of them. Therefore, as a modification of FIG.
As in the data editing process 5, steps 3B and 3
Step 3J for determining editing conditions is inserted between C and C.
MIDI data is scrambled when specific editing conditions are met. Note that, similarly to FIG. 15, in the case of FIG. 13, step 3J may be inserted between step 3B and step 3C.

【0094】例えば、ステップ3Jの編集条件として、
MIDIデータの演奏開始から所定時間(例えば30秒
などの時間)を経過したか否かを判定するように設定す
る。これによって、MIDIデータの最初の部分にはス
クランブル処理が施されなくなるので、その部分のMI
DIデータは通常のMIDIデータ再生処理によって再
生されるようになる。一方、所定時間経過後にMIDI
データを通常のMIDIデータ再生処理で再生しようと
しても、その部分にはスクランブル処理が施されている
ので、デタラメな楽音しか再生されなくなる。これによ
って、MIDIデータの最初の部分を通常のMIDIデ
ータ再生処理によって再生できる試聴可能なMIDIデ
ータとすることができ、それ以降の残りの部分を試聴不
可能なMIDIデータとすることができる。なお、この
編集条件は、外部から任意に設定可能であり、時間の他
にも、種々の条件を適宜組み合わせて適用してもよいこ
とは言うまでもない。例えば、発音されない時間が所定
時間以上になった場合とか、小節線データが所定数発生
した場合とかの条件を単独で適用したり、これらの条件
を種々組み合わせてもよいことはいうまでもない。
For example, as the editing conditions in step 3J,
It is set so as to determine whether or not a predetermined time (for example, a time such as 30 seconds) has elapsed from the start of playing the MIDI data. As a result, the scramble processing is not performed on the first part of the MIDI data, and
The DI data is reproduced by normal MIDI data reproduction processing. On the other hand, the MIDI
Even if the data is to be reproduced by the normal MIDI data reproduction process, only the melody tone is reproduced because the scramble processing is performed on the portion. As a result, the first part of the MIDI data can be MIDI data that can be reproduced by normal MIDI data reproduction processing, and the remaining part can be MIDI data that cannot be reproduced. The editing conditions can be set arbitrarily from the outside, and it goes without saying that various conditions other than the time may be appropriately combined and applied. For example, it goes without saying that conditions such as a case where the sound is not sounded for a predetermined time or more, a case where a predetermined number of bar line data are generated, may be applied alone, or these conditions may be variously combined.

【0095】[0095]

【発明の効果】この発明によれば、音楽データなど複数
のイベントデータで構成された主要情報のデータフォー
マットを変更することなく所望の付属情報を付加するこ
とができると共に結果的にこれらのデータに暗号化処理
を施すこととなり、この暗号を解読しない限り、これら
の主要情報や付属情報を再生して利用することができな
いという効果がある。また、これまで説明した通りの作
用・効果を奏する。
According to the present invention, desired additional information can be added without changing the data format of main information composed of a plurality of event data such as music data, and consequently these data can be added. An encryption process is performed, and there is an effect that the main information and the attached information cannot be reproduced and used unless the encryption is decrypted. Further, the operation and effects as described above are achieved.

【図面の簡単な説明】[Brief description of the drawings]

【図1】 この発明に係る電子情報処理システムのMI
DIデータ編集処理1及びMIDIデータ修復処理1に
従ってどのようにデータが変換されるのか、その具体例
を示す図である。
FIG. 1 shows an MI of an electronic information processing system according to the invention.
FIG. 7 is a diagram showing a specific example of how data is converted according to DI data editing processing 1 and MIDI data restoration processing 1.

【図2】 この発明に係る電子情報処理システムとして
動作する電子楽器の全体構成を示すブロック図である。
FIG. 2 is a block diagram showing an overall configuration of an electronic musical instrument that operates as an electronic information processing system according to the present invention.

【図3】 図2の電子楽器が電子情報処理システムとし
て動作する場合のMIDIデータ編集処理1の一例を示
すフローチャート図である。
FIG. 3 is a flowchart illustrating an example of MIDI data editing processing 1 when the electronic musical instrument of FIG. 2 operates as an electronic information processing system.

【図4】 図2の電子楽器が電子情報処理システムとし
て動作する場合のMIDIデータ修復処理1の一例を示
すフローチャート図である。
4 is a flowchart illustrating an example of a MIDI data restoration process 1 when the electronic musical instrument of FIG. 2 operates as an electronic information processing system.

【図5】 縦軸にキーコードを割り当て、横軸にベロシ
ティを割り当て、各値の中間を原点とするような直交座
標系を構成した場合の付属情報とキーコード,ベロシテ
ィとの関係を示す概念図である。
FIG. 5 is a concept showing the relationship between auxiliary information, key code, and velocity when a rectangular coordinate system is configured such that a key code is assigned to a vertical axis, a velocity is assigned to a horizontal axis, and an intermediate point between values is an origin. FIG.

【図6】 図5の付属情報とキーコード,ベロシティと
の間の詳細な関係を示す図である。
FIG. 6 is a diagram showing a detailed relationship between the accessory information of FIG. 5 and key codes and velocities.

【図7】 MIDIデータ中に埋め込まれるスクランブ
ルデコードデータの内容の一例を示す図である。
FIG. 7 is a diagram showing an example of the content of scramble decode data embedded in MIDI data.

【図8】 電子楽器が電子情報処理システムとして動作
する場合の別の一例となるMIDIデータ編集処理2を
示すフローチャート図である。
FIG. 8 is a flowchart showing another example of the MIDI data editing process 2 when the electronic musical instrument operates as an electronic information processing system.

【図9】 電子楽器が電子情報処理システムとして動作
する場合の別の一例となるMIDIデータ修復処理2を
示すフローチャート図である。
FIG. 9 is a flowchart showing another example of the MIDI data restoration process 2 when the electronic musical instrument operates as an electronic information processing system.

【図10】 電子楽器が電子情報処理システムとして動
作する場合の別の一例となるMIDIデータ編集処理3
を示すフローチャート図である。
FIG. 10 shows another example of the MIDI data editing process 3 when the electronic musical instrument operates as an electronic information processing system.
It is a flowchart figure which shows.

【図11】 電子楽器が電子情報処理システムとして動
作する場合の別の一例となるMIDIデータ修復処理3
を示すフローチャート図である。
FIG. 11 shows another example of the MIDI data restoration process 3 when the electronic musical instrument operates as an electronic information processing system.
It is a flowchart figure which shows.

【図12】 この発明に係る電子情報処理システムのM
IDIデータ編集処理2及びMIDIデータ修復処理2
に従ってどのようにデータが変換されるのか、その具体
例を示す図である。
FIG. 12 shows an M of the electronic information processing system according to the present invention.
IDI data editing processing 2 and MIDI data restoration processing 2
Is a diagram showing a specific example of how data is converted according to the following.

【図13】 電子楽器が電子情報処理システムとして動
作する場合の別の一例となるMIDIデータ編集処理4
を示すフローチャート図である。
FIG. 13 shows another example of the MIDI data editing process 4 when the electronic musical instrument operates as an electronic information processing system.
It is a flowchart figure which shows.

【図14】 電子楽器が電子情報処理システムとして動
作する場合の別の一例となるMIDIデータ修復処理4
を示すフローチャート図である。
FIG. 14 shows another example of the MIDI data restoration process 4 when the electronic musical instrument operates as an electronic information processing system.
It is a flowchart figure which shows.

【図15】 電子楽器が電子情報処理システムとして動
作する場合の別の一例となるMIDIデータ編集処理5
を示すフローチャート図である。
FIG. 15 shows another example of MIDI data editing processing 5 when the electronic musical instrument operates as an electronic information processing system.
It is a flowchart figure which shows.

【符号の説明】[Explanation of symbols]

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…リボンコント
ローラ
21 CPU, 22 ROM, 23 RAM, 24 floppy disk drive, 25 hard disk drive, 26 CD-ROM drive, 27 communication interface, 28 communication network, 29 server computer, 2A MIDI interface, 2B ...
Other MIDI devices, 2C: keyboard, 2D: key press detection circuit,
2E: panel switch, 2F: switch detection circuit, 2G
... Display, 2H ... Display circuit, 2J ... Sound source circuit, 2
K: effect circuit, 2L: sound system, 2M: data and address bus, 2N: timer, 2R: ribbon controller

───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.7 識別記号 FI テーマコート゛(参考) ──────────────────────────────────────────────────続 き Continued on the front page (51) Int.Cl. 7 Identification code FI Theme coat ゛ (Reference)

Claims (9)

【特許請求の範囲】[Claims] 【請求項1】 複数のイベントデータで構成される第1
の情報を入力するステップと、 前記イベントデータを2以上のグループに分類するステ
ップと、 情報の変更方法を表わす第2の情報を入力するステップ
と、 前記グループの1つに含まれるイベントデータの内容を
前記第2の情報に基づいて変更すると共に、この変更方
法とは異なる変更方法を使って前記1つのグループとは
異なる他のグループに含まれるイベントデータの内容を
前記第2の情報に基づいて変更することにより前記第1
の情報に前記第2の情報を分散して配置するステップと
からなる電子情報処理方法。
1. A first system comprising a plurality of event data.
Inputting the information of the event data; classifying the event data into two or more groups; inputting the second information representing a method of changing the information; and contents of the event data included in one of the groups. Is changed based on the second information, and the content of the event data included in another group different from the one group is changed based on the second information by using a changing method different from this changing method. By changing the first
And disposing the second information in a distributed manner.
【請求項2】 複数のイベントデータで構成される第1
の情報を入力するステップと、 前記イベントデータを2以上のグループに分類するステ
ップと、 情報の変更方法を表わす情報であって、それぞれが異な
る変更方法を表わす第2の情報と第3の情報を入力する
ステップと、 前記分類されたイベントデータのうち少なくとも1つの
グループに含まれるイベントデータの内容を前記第2の
情報に基づいて変更すると共に、前記1つのグループと
は異なる他のグループに含まれるイベントデータの内容
を前記第3の情報に基づいて変更することにより、前記
第1の情報に前記第2の情報と前記第3の情報を分散し
て配置するステップとからなる電子情報処理方法。
2. A first system comprising a plurality of event data.
Inputting the information, and classifying the event data into two or more groups; and information indicating a method of changing the information, wherein the second information and the third information each indicating a different change method. Inputting, changing the content of the event data included in at least one group of the classified event data based on the second information, and changing the content of the event data included in another group different from the one group Changing the content of the event data based on the third information, thereby distributing and arranging the second information and the third information in the first information.
【請求項3】 複数のイベントデータで構成される第1
の情報を入力するステップと、 前記イベントデータを2以上のグループに分類するステ
ップと、 前記グループの1つに含まれるイベントデータから情報
変更方法を表わす第2の情報を検出すると共に、該検出
の方法とは異なる他の検出方法により前記グループとは
異なる他のグループに含まれるイベントデータから前記
第2の情報を検出することにより、第2の情報がグルー
プ毎に分散して配置されている第1の情報から該第2の
情報をグループ毎に異なる検出方法で検出するステップ
とからなる電子情報処理方法。
3. A first system comprising a plurality of event data.
Inputting the information of the event data; classifying the event data into two or more groups; detecting second information representing an information change method from the event data included in one of the groups; By detecting the second information from the event data included in another group different from the group by another detection method different from the method, the second information is distributed and arranged for each group. Detecting the second information from the first information by a different detection method for each group.
【請求項4】 複数のイベントデータで構成される第1
の情報を入力するステップと、 前記イベントデータを2以上のグループに分類するステ
ップと、 前記グループの1つに含まれるイベントデータから情報
変更方法を表わす第2の情報を検出すると共に該第2の
情報に基づいて該グループのイベントデータを変更し、
前記グループとは異なる他のグループに含まれるイベン
トデータから前記第2の情報とは異なる情報変更方法を
表わす第3の情報を検出すると共に該第3の情報に基づ
いて該他のグループのイベントデータを変更することに
より、異なる情報変更方法を表わす該第2の情報と第3
の情報が異なるグループに分散して配置されている第1
の情報から該第2の情報と第3の情報を検出して、それ
ぞれの情報に従ってそれぞれのグループのイベントデー
タを復号化するステップとからなる電子情報処理方法。
4. A first system comprising a plurality of event data.
Entering the event data into two or more groups; detecting second information representing an information change method from the event data included in one of the groups; Change the event data of the group based on the information,
Detecting third information indicating an information change method different from the second information from event data included in another group different from the group, and detecting event data of the other group based on the third information; Is changed, the second information and the third information indicating different information changing methods are changed.
Information is distributed in different groups
Detecting the second information and the third information from the information and decoding the event data of each group according to the information.
【請求項5】 請求項1乃至4のいずれかに記載の方法
をコンピュータに実行させるためのプログラムを記憶し
た機械読み取り可能な記憶媒体。
5. A machine-readable storage medium storing a program for causing a computer to execute the method according to claim 1.
【請求項6】 複数のイベントデータで構成される第1
の情報を入力する手段と、 前記イベントデータを2以上のグループに分類する手段
と、 情報の変更方法を表わす第2の情報を入力する手段と、 前記グループの1つに含まれるイベントデータの内容を
前記第2の情報に基づいて変更すると共に、この変更方
法とは異なる変更方法を使って前記1つのグループとは
異なる他のグループに含まれるイベントデータの内容を
前記第2の情報に基づいて変更することにより前記第1
の情報に前記第2の情報を分散して配置する手段とを具
える電子情報処理装置。
6. A first system comprising a plurality of event data.
Means for inputting information of the following; means for classifying the event data into two or more groups; means for inputting second information indicating a method of changing information; contents of event data included in one of the groups Is changed based on the second information, and the content of the event data included in another group different from the one group is changed based on the second information by using a changing method different from this changing method. By changing the first
Means for distributing and arranging said second information in said information.
【請求項7】 複数のイベントデータで構成される第1
の情報を入力する手段と、 前記イベントデータを2以上のグループに分類する手段
と、 情報の変更方法を表わす情報であって、それぞれが異な
る変更方法を表わす第2の情報と第3の情報を入力する
手段と、 前記分類されたイベントデータのうち少なくとも1つの
グループに含まれるイベントデータの内容を前記第2の
情報に基づいて変更すると共に、前記1つのグループと
は異なる他のグループに含まれるイベントデータの内容
を前記第3の情報に基づいて変更することにより、前記
第1の情報に前記第2の情報と前記第3の情報を分散し
て配置する手段とを具える電子情報処理装置。
7. A first system comprising a plurality of event data.
Means for inputting the following information; means for classifying the event data into two or more groups; and information representing a method of changing information, wherein the second information and the third information each representing a different change method. Means for inputting, the content of the event data included in at least one group of the classified event data is changed based on the second information, and the content of the event data is included in another group different from the one group An electronic information processing apparatus including means for distributing the second information and the third information in the first information by changing the content of the event data based on the third information .
【請求項8】 複数のイベントデータで構成される第1
の情報を入力する手段と、 前記イベントデータを2以上のグループに分類する手段
と、 前記グループの1つに含まれるイベントデータから情報
変更方法を表わす第2の情報を検出すると共に、該検出
の方法とは異なる他の検出方法により前記グループとは
異なる他のグループに含まれるイベントデータから前記
第2の情報を検出することにより、第2の情報がグルー
プ毎に分散して配置されている第1の情報から該第2の
情報をグループ毎に異なる検出方法で検出する手段とを
具える電子情報処理装置。
8. A first system comprising a plurality of event data.
Means for inputting information of the following; means for classifying the event data into two or more groups; detecting second information indicating an information change method from event data included in one of the groups; By detecting the second information from the event data included in another group different from the group by another detection method different from the method, the second information is distributed and arranged for each group. Means for detecting the second information from the first information by a different detection method for each group.
【請求項9】 複数のイベントデータで構成される第1
の情報を入力する手段と、 前記イベントデータを2以上のグループに分類する手段
と、 前記グループの1つに含まれるイベントデータから情報
変更方法を表わす第2の情報を検出すると共に該第2の
情報に基づいて該グループのイベントデータを変更し、
前記グループとは異なる他のグループに含まれるイベン
トデータから前記第2の情報とは異なる情報変更方法を
表わす第3の情報を検出すると共に該第3の情報に基づ
いて該他のグループのイベントデータを変更することに
より、異なる情報変更方法を表わす該第2の情報と第3
の情報が異なるグループに分散して配置されている第1
の情報から該第2の情報と第3の情報を検出して、それ
ぞれの情報に従ってそれぞれのグループのイベントデー
タを復号化する手段とを具える電子情報処理装置。
9. A first system comprising a plurality of event data.
Means for inputting information of the following; means for classifying the event data into two or more groups; detecting second information indicating an information change method from the event data included in one of the groups; Change the event data of the group based on the information,
Detecting third information indicating an information change method different from the second information from event data included in another group different from the group, and detecting event data of the other group based on the third information; Is changed, the second information and the third information indicating different information changing methods are changed.
Information is distributed in different groups
Means for detecting the second information and the third information from the information and decoding the event data of each group according to the information.
JP2001036207A 1997-07-10 2001-02-13 Electronic information processing method and apparatus Expired - Fee Related JP3870700B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001036207A JP3870700B2 (en) 1997-07-10 2001-02-13 Electronic information processing method and apparatus

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP9-200972 1997-07-10
JP20097297 1997-07-10
JP2001036207A JP3870700B2 (en) 1997-07-10 2001-02-13 Electronic information processing method and apparatus

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP35133598A Division JP3180789B2 (en) 1997-07-10 1998-12-10 Electronic information processing method and apparatus

Publications (2)

Publication Number Publication Date
JP2001282236A true JP2001282236A (en) 2001-10-12
JP3870700B2 JP3870700B2 (en) 2007-01-24

Family

ID=26512502

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001036207A Expired - Fee Related JP3870700B2 (en) 1997-07-10 2001-02-13 Electronic information processing method and apparatus

Country Status (1)

Country Link
JP (1) JP3870700B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008026915A (en) * 2007-08-27 2008-02-07 Matsushita Electric Ind Co Ltd Communication device, communication method, communication system, and program

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008026915A (en) * 2007-08-27 2008-02-07 Matsushita Electric Ind Co Ltd Communication device, communication method, communication system, and program

Also Published As

Publication number Publication date
JP3870700B2 (en) 2007-01-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
EP1155402B1 (en) Audio synthesis using digital sampling of coded waveforms
US7304227B2 (en) Method and system for synthesizing electronic transparent audio
JP3178378B2 (en) Electronic information processing system and method, and recording medium
US7274789B2 (en) Information recording/reproducing apparatus with security measure
JP3180788B2 (en) Apparatus and method for providing and detecting electronic information
US7099848B1 (en) Audio delivery and rendering method and apparatus
JP3180789B2 (en) Electronic information processing method and apparatus
JP3870700B2 (en) Electronic information processing method and apparatus
JP4370725B2 (en) Electronic information processing method and apparatus
CN108885878B (en) Improved method, apparatus and system for embedding data in a data stream
JP4304870B2 (en) Electronic information processing method and apparatus, and recording medium
US7937327B2 (en) Music content using apparatus
GB2354860A (en) Storing music information with associated additional information incorporated therein
JP3905743B2 (en) Digital watermark embedding method
JP2000092042A (en) Music data service system and music data decoder
JPH11249670A (en) Karaoke device and karaoke terminal device
EP1696417A2 (en) Audio synthesis using digital sampling of coded waveforms

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

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20061009

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20101027

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20111027

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20111027

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20121027

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees