JP2002091437A - 演奏情報圧縮装置、演奏情報復号装置及び電話端末装置 - Google Patents

演奏情報圧縮装置、演奏情報復号装置及び電話端末装置

Info

Publication number
JP2002091437A
JP2002091437A JP2000283179A JP2000283179A JP2002091437A JP 2002091437 A JP2002091437 A JP 2002091437A JP 2000283179 A JP2000283179 A JP 2000283179A JP 2000283179 A JP2000283179 A JP 2000283179A JP 2002091437 A JP2002091437 A JP 2002091437A
Authority
JP
Japan
Prior art keywords
note
performance information
information
event
code
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.)
Pending
Application number
JP2000283179A
Other languages
English (en)
Inventor
Kazuo Hikawa
和生 飛河
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.)
Victor Company of Japan Ltd
Original Assignee
Victor Company of Japan Ltd
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 Victor Company of Japan Ltd filed Critical Victor Company of Japan Ltd
Priority to JP2000283179A priority Critical patent/JP2002091437A/ja
Priority to TW090119155A priority patent/TW594670B/zh
Priority to KR10-2001-0055011A priority patent/KR100415002B1/ko
Priority to CNB011314230A priority patent/CN1194334C/zh
Publication of JP2002091437A publication Critical patent/JP2002091437A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Mobile Radio Communication Systems (AREA)
  • Telephone Function (AREA)
  • Reverberation, Karaoke And Other Acoustics (AREA)
  • Electrophonic Musical Instruments (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

(57)【要約】 【課題】 着信メロディのデータ量を効率的に圧縮
してメモリに記憶すると共に、通話着信後直ちに着信メ
ロディの再生を開始する。 【解決手段】 着信時に再生する楽曲の演奏情報を時間
軸上で2つ以上のブロックに分割し、最初のブロックに
ついては着信後すぐに解凍して演奏できる状態でメモリ
に記憶しておく。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、演奏情報のデータ
量を圧縮する演奏情報圧縮装置、復号を行う演奏情報復
号装置及びこれらの装置を内蔵した電話端末装置に関す
る。
【0002】
【従来の技術】一般に、MIDI(Musical Instrumen
t Digital Interface)データを保存する方式とし
て、スタンダードMIDIファイル(以下、SMFとい
う)が広く用いられ、このSMFでは図19に示すよう
に個々の演奏情報がデルタ(Δ)タイムとイベントの2
つの要素により構成されている。Δタイムは、隣合った
イベント間の相対時間を表し、イベントはノートオン又
はノートオフのステータス、音程(ノートナンバ)や音
の強さ(ベロシティ)などの種々の演奏情報を含む。こ
こで、演奏情報とは音符により示される音程、音の長さ
の他に、音の強さ、楽曲の演奏上の拍子、テンポなどの
情報、さらに音源の種類、リセットコントロールの情報
などを含むものを指すものとする。また、このSMFで
は各演奏情報が時間順に並んでトラックを構成してい
る。ここで、SMF方式は記憶容量や伝送路の効率的利
用という点ではあまり優れたものではないので、携帯電
話の着信メロディや通信カラオケ、音楽データベースの
ように多数の楽曲データを記録、伝送するシステムで
は、演奏情報のデータ量を効率的に圧縮することが求め
られている。
【0003】これと同時に、携帯電話の着信メロディで
は、電話が着信したときに着信したことを着信メロディ
の再生によって知らせるが、この着信メロディのファイ
ルをSMFファイルとして携帯電話本体に保存する際
に、携帯電話本体の記憶容量の小さいメモリー部分に、
できる限り多くの曲ファイルを記録することが求められ
ている。
【0004】一方、テキスト等のデジタルデータを可逆
的(ロスレス)に圧縮する方法としては、文字列(デー
タパターン)が繰り返すことを利用して繰り返し分を圧
縮するLZ(Lempel-Zif)法が現在広く使用され、LZ
法は一般に使われている可逆式圧縮方法の中で、圧縮率
が最も高いと言われている。LZ法は文字列が繰り返す
ことを利用して圧縮するので、入力データの中の限られ
た範囲内に出現する同一のデータパターンの数が多く、
且つ同一データパターン長が長い場合に圧縮率が高くな
るという性質を有する。
【0005】そこで、本出願人は、特開平9?1616
8において、LZ法により圧縮する前に予め、同一のデ
ータパターンの長さが長く、出現回数が多く且つ近い距
離で出現するように、演奏情報を音程と、強さと、長さ
とその他の情報に分離し、それぞれ独立した領域に配置
するように、演奏情報を少なくとも音程の情報と、音の
強さの情報と、音の長さの情報とその他の情報に分離
し、各情報をそれぞれ独立した領域に配置した1次符号
を生成する1次符号生成手段と、前記1次符号生成手段
により生成された1次符号の各領域の情報をLZ法によ
り圧縮する2次符号生成手段とを有する演奏情報圧縮装
置を提案した。
【0006】この装置では、1次符号生成手段が、各イ
ベント間の相対時間の公約数及び各音符の長さの公約数
を算出し、各イベント間の相対時間及び各音符の長さの
値をこれらの公約数で除算した後符号化するよう構成さ
れていることは前記提案の好ましい態様である。また、
1次符号生成手段が、各音符の音程情報をそれ以前に出
現した音符の音程の数値を使って一定の関数式に従って
算出した数値と実際の音程の数値との残差で表すよう構
成されていることは本発明の好ましい態様である。ま
た、1次符号生成手段が、各音符の強さ情報をそれ以前
に出現した音符の強さの数値を使って一定の関数式に従
って算出した数値と実際の強さの数値との残差で表すよ
う構成されていることは前記提案の好ましい態様であ
る。
【0007】また、1次符号生成手段が、特定の種類の
イベントのパラメータ値をそれ以前に出現した同種類の
イベントのパラメータ値を使って一定の関数式に従って
算出した数値と実際のパラメータ値との残差で表すよう
構成されていることは前記提案の好ましい態様である。
また、1次符号生成手段が、各情報を当該領域において
トラック順に配置することは本発明の好ましい態様であ
る。さらに、1次符号生成手段が、前記各領域をデータ
の性質が似ている領域同志が近くなるように配置するこ
とは前記提案の好ましい態様である。
【0008】
【発明が解決しようとする課題】最近の着信メロディは
iモード等のサービスサイトよりダウンロードすること
によって着信メロディファイルを得ることが主流になり
つつあるが、ユーザは着信メロディ楽曲ファイル(以下
ファイルと称する)の入手のために会費を支払ってお
り、携帯電話本体の内蔵メモリが少ないと、既にダウン
ロードしたファイルのファイルサイズの合計がメモリー
の容量を超えた際に、以前に購入したファイルを消去し
なければならなくなる。また、この状況はユーザが自ら
演奏データを入力する場合、あるいは専用のパーソナル
コンピュータ等のソフトウエアを用いてファイルを携帯
電話本体に記録する場合に於いても、同様な問題が発生
する。また、今後は着信メロディのファイルフォーマッ
トとしてSMF(スタンダードMIDIファイル)が用
いられることが予想され、従来の専用ファイルよりも個
々のファイルサイズが大きくなってしまう点が問題点と
して指摘されている。
【0009】そこで、前記提案に記したようなファイル
圧縮技術を用いることにより、ファイルサイズを小さく
することが容易に考えられるが、携帯電話に搭載される
CPUによって前記提案のような圧縮処理を行うと、再
生しようとするファイルの全てを解凍し終わらない限り
演奏の開始が行えないことと、実際の端末側の処理速度
が遅いことにより、電話を着信してから着信メロディの
再生音を出力することが可能となるまでに、かなりの時
間がかかってしまうことが問題となっている。
【0010】本発明は上記従来の問題点に鑑み、そこ
で、予め携帯電話などの電話端末の内部・外部メモリー
などにあらかじめ指定された1つまたは複数のファイル
を解凍した状態で保存することにより、電話着信時に即
座に着信メロディを再生することを可能とする。
【0011】
【課題を解決するための手段】本発明は上記目的を達成
するために、演奏情報を少なくとも音程の情報と、音の
強さの情報と、音の長さの情報と、その他の情報に分離
し、前記各情報をそれぞれ独立した領域に配置した1次
符号を生成する1次符号生成手段と、前記1次符号生成
手段により生成された1次符号の各領域の情報を圧縮す
る2次符号生成手段と、前記演奏情報を時間軸上で2つ
以上のブロックに分割し、少なくとも最初のブロックに
ついては前記1次符号生成手段による圧縮及び/又は前
記2次符号生成手段による圧縮を行わないことを特徴と
する演奏情報圧縮装置を提供する。
【0012】また、前記1次符号生成手段は、各イベン
ト間の相対時間の公約数及び各音符の長さの公約数を算
出し、各イベント間の相対時間及び各音符の長さの値を
これらの公約数で除算した後符号化することを特徴とす
る請求項1に記載の演奏情報圧縮装置を提供する。
【0013】更に、前記1次符号生成手段は、各音符の
音程情報をそれ以前に出現した音符の音程の数値を使っ
て一定の関数式に従って算出した数値と実際の音程の数
値との残差で表すことを特徴とする請求項1又は2に記
載の演奏情報圧縮装置を提供する。
【0014】更にまた、前記1次符号生成手段は、各音
符の強さ情報をそれ以前に出現した音符の強さの数値を
使って一定の関数式に従って算出した数値と実際の強さ
の数値との残差で表すことを特徴とする請求項1乃至3
のいずれか一項に記載の演奏情報圧縮装置を提供する。
【0015】また更に、前記1次符号生成手段は、特定
の種類のイベントのパラメータ値をそれ以前に出現した
同種類のイベントのパラメータ値を使って一定の関数式
に従って算出した数値と実際のパラメータ値との残差で
表すことを特徴とする請求項1乃至4のいずれか一項に
記載の演奏情報圧縮装置を提供する。
【0016】また、前記1次符号生成手段は、前記各情
報を当該領域においてトラック順に配置したことを特徴
とする請求項1乃至5のいずれか一項に記載の演奏情報
圧縮装置を提供する。
【0017】更に、前記1次符号生成手段は、前記各領
域をデータの性質が似ている領域同志が近くなるように
配置したことを特徴とする請求項6に記載の演奏情報圧
縮装置を提供する。
【0018】更にまた、演奏情報を少なくとも音程の情
報と、音の強さの情報と、音の長さの情報と、その他の
情報に分離し、前記各情報をそれぞれ独立した領域に配
置した1次符号を復号する演奏情報復号装置であって、
供給される前記1次符号を演奏情報に復号する1次符号
復号手段を有することを特徴とする演奏情報復号装置を
提供する。
【0019】また更に、演奏情報を記憶可能で、且つ前
記演奏情報を電話着信時に再生する機能を有する電話端
末装置において、前記演奏情報を時間軸上で二つ以上の
ブロックに分割し、少なくとも最初のブロックが電話着
信時に直ちに演奏できるように二番目以降のブロックの
みを圧縮して記録することを特徴とする電話端末装置を
提供する。
【0020】また、演奏情報を記憶可能で、且つ前記演
奏情報を電話着信時に再生する機能を有する電話端末装
置において、前記演奏情報を時間軸上で二つ以上のブロ
ックに分割して、それぞれのブロックを圧縮するとき
に、少なくとも最初のブロックは、電話着信時に直ちに
演奏でき、且つ、圧縮された二番目のブロックの復号を
行うことができる時間の長さ及び/又は二番目以降のブ
ロックの圧縮方法よりも短時間で復号可能な圧縮方法で
圧縮されていることを特徴とする電話端末装置を提供す
る。
【0021】
【発明の実施の形態】以下、図面を参照して本発明の実
施の形態について説明する。図1は本発明に係る演奏情
報圧縮装置の一例を示すブロック図、図2は図1の1次
符号生成手段の一例を詳細に示すブロック図、図3は図
2のチャネル分離手段により作成されるチャネルマップ
を示す説明図、図4は図2の解析手段の処理を説明する
ためのフローチャート、図5は図2の解析手段により作
成されるノートテーブルを示す説明図、図6は図2の解
析手段により作成されるコントローラテーブルを示す説
明図、図7は音符を表現するSMFのΔタイムと本実施
例のデュレーションの関係を示す説明図、図8は図2の
ノートΔ符号生成手段の処理を説明するためのフローチ
ャート、図9は図2のノートΔ符号生成手段により生成
されるノートΔ符号を示す説明図、図10は図2のデュ
レーション符号生成手段の処理を説明するためのフロー
チャート、図11は図2のデュレーション符号生成手段
により生成されるデュレーション符号を示す説明図、図
12は図2のノートナンバ符号生成手段により生成され
るノートナンバ符号を示す説明図、図13は図2のベロ
シティ符号生成手段により生成されるベロシティ符号を
示す説明図、図14は図2のコントローラ符号生成手段
により生成されるコントローラ符号を示す説明図、図1
5はSMFの連続イベントブロックを示す説明図、図1
6は本実施例の連続イベントブロックを示す説明図、図
17は図16の連続イベントブロックの効果を示す説明
図、図18は図2の符号配置手段により並べ替えられた
1次符号を示す説明図、図20は、本発明による端末装
置のうち、1次符号化された状態で指定楽曲を保存する
態様による端末の構成を示す説明図、図21は、本発明
による端末装置のうち、1次符号化も2次符号化もされ
ない状態で指定楽曲を保存する態様による端末の構成を
示す説明図、図22は、本発明による端末装置のうち、
1次符号化された状態で指定楽曲を追加的に保存する態
様による端末の構成を示す説明図、図23は、本発明に
よる端末装置のうち、1次符号化も2次符号化もされな
い状態で指定楽曲を追加的に保存する態様による端末の
構成を示す説明図である。
【0022】先ず、入力データ1は一例として図7、図
19に示すようなSMFであり、SMFのフォーマット
はΔタイム、ステータス、ノートナンバ及びベロシティ
により構成されている。ここで、本明細書では「発音開
始イベント」を「ノートオンイベント」、「発音停止イ
ベント」を「ノートオフイベント」と呼ぶ。また「ノー
トオンイベント」と「ノートオフイベント」を合わせて
「ノートイベント」と呼び、それ以外の「イベント」を
「コントローライベント」と呼ぶ。
【0023】図1において、SMFフォーマットの入力
データ1は1次符号生成手段2により解析され、少なく
とも演奏情報を音程と、強さと、長さとその他の情報に
分離され、各情報がそれぞれ独立した領域に配置した1
次符号3が生成される。この1次符号3の各領域の符号
は2次符号生成手段4によりLZ法で圧縮され、2次符
号5が生成される。なお、このように圧縮されたデータ
は図20〜図28に詳しく示す復号装置によりLZ法で
復号され、音程と、強さと、長さとその他の情報に基づ
いて音符が復元される。
【0024】1次符号生成手段2は例えば図2に詳しく
示すように、チャネル分離手段11と、解析手段12
と、ノートΔ符号生成手段13と、コントローラΔ符号
生成手段14と、デュレーション符号生成手段15と、
ノートナンバ符号生成手段16と、ベロシティ符号生成
手段17と、コントローラ符号生成手段18と符号配置
手段19で構成され、この例では1つの音符を示すノー
トΔ符号、コントローラΔ符号、デュレーション符号、
ノートナンバ符号、ベロシティ符号及びコントローラ符
号の6種類の1次圧縮符号が符号配置手段19により並
べ換えられ、1次符号3として2次符号生成手段4に出
力され、2次符号生成手段4により2次圧縮される。
【0025】チェネル分離手段11ではSMF1の1ト
ラックに複数チャネルのイベントが含まれているか否か
のチェックを行ない、複数チャネルのイベントが含まれ
ている場合には、1トラックの中に1チャネルのイベン
トのみが含まれるように、トラックの分割を行う。そし
て、図3のようなトラックとチャネル番号の対応を表し
たチャネルマップを作成し、これ以降の処理はトラック
単位で行う。ここで、SMFのイベントの大半はチャネ
ル情報を含んだものであるが、このようにトラック分割
とチャネルマップの作成を行うことにより、個々のイベ
ントのチャネル情報を省略することができ、データ量を
削減することができる。
【0026】解析手段12では図4に示す処理を行い、
トラック毎に図5に示すようなノートテーブルと図6に
示すようなコントローラテーブルを作成する。先ず、S
MFから順次Δタイムとイベントを読み出し(ステップ
S1)、Δタイムからトラックの先頭を基準としたイベ
ントの時間(以下では単に、イベントの時間と呼ぶ)を
計算する(ステップS2)。次にイベントを解析し、イ
ベントを「ノートオンイベント」、「ノートオフイベン
ト」、「コントローライベント」の3種類に分類する。
【0027】そして、「ノートオンイベント」の場合に
は図5に示すようなノートテーブルにノートナンバ(音
符の音程)とベロシティ(音符の強さ)を登録し(ステ
ップS3→S4)、「ノートオフイベント」の場合には
デュレーション(音符の長さ)を計算してノートテーブ
ルに登録する(ステップS5→S6)。また、「コント
ローライベント」の場合には図6に示すようなコントロ
ーラテーブルに登録し(ステップS7)、このようにし
て演奏情報毎にノートテーブルとコントローラテーブル
を作成する(ステップS8→S1)。
【0028】ここで、ノートテーブルは図5に示すよう
にトラックのノート(音符)イベント情報を時間順に並
べたものであり、コントローラテーブルは図6に示すよ
うに、トラックのコントローラ(音符以外)の情報を時
間順に並べたものである。また、「ノートオンイベン
ト」の場合にノートナンバとベロシティを書き込む際
に、イベントの時間をノートテーブルの所定の欄に書き
込み、また、ノートテーブルの「ノートオフ参照」欄を
初期値として「0」にセットする。
【0029】また、イベントがノートオフであれば、ノ
ートテーブルを先頭から走査して、ノートオフイベント
の時間よりも早く、かつノートナンバが同じで、かつノ
ートオフ参照欄が「0」にセットされているノートを選
び出し、対応させる。そして対応するノートオンの時間
Tonとノートオフの時間Toffとの差(Toff−
Ton)を「デュレーション(音符の長さ)」とし、ノ
ートテーブルの「デュレーション」欄に記録するととも
に、「ノートオフ参照」欄を「1」にセットする。
【0030】ここで、「デュレーション」という概念は
SMFにはないが、これを用いることによりノートオフ
イベントを省略できるので、データ容量が削減できる。
SMFにおいて、1つの音符は図7のように1つのノー
トオンイベントと1つのノートオフイベントの組で表さ
れ、また、ノートオフイベントの前のΔタイムがデュレ
ーションに相当する。ノートオフイベントのノートナン
バは、ノートオンイベントとの対応を取る為に必要であ
り、デュレーションという概念を使ってノートオンとノ
ートオフの対応を取っておけば不要である。
【0031】また、ノートオフイベントのベロシティ
は、MIDIデータを受け取るほとんどの音源が実際に
はこの値を使用しないので、削除しても問題ない。した
がって、ノートオフイベント(3バイト)を省略するこ
とにより、場合によってはΔタイムのデータ量が増える
こともあるが、いずれにしてもノートオフイベント省略
の効果の方が大きく、1つの音符につき最大3バイト分
を削減することができる。その結果、1つの楽曲の中に
1万個程度の音符が含まれている場合も珍しくないの
で、この場合には最大30Kバイトの削減ができること
になり、圧縮効果が大きい。
【0032】イベントがノートオン、ノートオフ以外の
イベントであれば、イベントの時間とイベントの内容を
コントローラテーブルに登録し、このようにしてノート
テーブルにはNA個のイベントが登録され、コントロー
ラテーブルにはNB個のイベントが登録される。
【0033】次に、ノートΔ符号生成手段13とコント
ローラΔ符号生成手段14について説明する。この2つ
は、同じような処理内容であるので、以下ではノートΔ
符号生成手段13を例に取って説明する。ノートΔ符号
生成手段13は図8に示すように、先ず、前述したノー
トテーブルに登録された各イベントに対し、その時間T
[i]と1つ前のイベントの時間T[i−1]との差 ΔT[i]=(T[i]−T[i−1]) を計算し(ステップS11)、ノートテーブルの所定の
欄に書き込む(但し、i=1〜NA,T[0]=0)。
すなわち、各ノートイベント間の相対時間が求まる。
【0034】ここで、SMFにおいて、Δタイムは1拍
の何分の1かを基本単位にした可変長符号で表され、値
が小さいほど必要なバイト数は少なくて済む。例えば、
値が127以下であれば1バイトでよいが、値が128
以上16383以下であれば、2バイト必要となる。Δ
タイムの基本単位が細かいほど音楽的な表現力は高いと
言えるが、それに従って必要なバイト数も増える。一
方、実際に楽曲に使われているΔタイムを調べると、基
本単位の1刻み(1tick)まで使っていないことが
多く、したがって、ΔT[i]の値が必要以上の容量を
使って記録されていることが多い。
【0035】そこで、実際に使用されている時間精度を
求める為に、ノートテーブルに登録されている全ての相
対時間ΔT[i]に対する最大公約数ΔTsを算出する
(ステップS12)。この場合、最大公約数を求めるの
が困難な場合は、適当な公約数を最大公約数ΔTsとす
る。次いで、ΔT[i]をSMFと同様の可変長符号で
出力する(ステップS13〜S17)。ただし、ΔT
[i]の値を可変長符号にする際に、ΔT[i]をΔT
sで除算した値ΔTa[i]を符号化する(ステップS
15)。したがって、ノートΔ符号は図9のように最大
公約数ΔTsと、NA個の値ΔTa[i](i=1〜N
A)により構成される。
【0036】ここで、本演奏情報圧縮装置により圧縮さ
れた符号を伸長する際には、ΔTa[i]の値を読み取
りΔTsをかけ合わせることで元のΔT[i]が復元さ
れ、したがって、SMFの持つ音楽的な表現力を失うこ
となくデータ量を削減することができる。例えばΔタイ
ムの基本単位を一般的に良く使われる480分の1拍と
し、ΔTs=10である場合を例にすると、SMFでは
1拍の長さΔT=480や1/2拍の長さΔT=240
を表現するのに各々2バイト必要である。一方、本発明
ではΔTsで除算して表現することによりΔT=48あ
るいはΔT=24を表現すればよいことになり、各々1
バイトの使用で済む。また、1拍あるいは1/2拍に相
当するΔタイムは使用頻度が高いので、これらが1つの
Δタイムにつき1バイトずつ削減されれば、楽曲全体で
相当の容量を削減することができる。
【0037】コントローラΔ符号生成手段14は、処理
対象がノートテーブルではなくコントローラテーブルで
あるという点以外はノートΔ符号生成手段13と全く同
じ処理であり、生成されるコントローラ符号の構成も符
号の数がNA個からNB個に変わる以外は、図9に示す
ノートΔ符号と同じである。
【0038】デュレーション符号生成手段15はノート
Δ符号生成手段13とほぼ同じであり、図10に従って
処理を行う。まず、ノートテーブルに登録された各デュ
レーションの値の最大公約数Dsを算出する(ステップ
S21)。この場合、最大公約数を求めるのが困難な場
合は、適当な公約数を最大公約数Dsとする。デュレー
ション符号は図11に示すように最大公約数Dsと、N
A個の値Da[i](i=1〜NA)により構成され、
最大公約数Dsに続き、各デュレーションの値D[i]
をDsで割った値Da[i]を可変長符号として出力す
る(ステップS22〜S26)。ここで、デュレーショ
ンは前述したように、SMFのノートオンイベントとノ
ートオフイベントの間のΔタイムに相当するので、ノー
トΔ符号生成手段13において説明したのと同様な理由
により、SMFに比べデータ量が削減される。
【0039】ノートナンバ符号生成手段16では、ノー
トテーブルに登録されているノートナンバに対し、以下
の処理を施すことによりノートナンバ符号を生成する。
ここで、あるノートナンバnum[i]を(1)式のよ
うにそれ以前のS個のノートナンバ num[i−1]、num[i−2]、…、num[i
−S] を変数とする関数f()と残差α[i]で表す(ただ
し、num[i−1]はnum[i]の1つ前のノート
ナンバ、num[i−2]はnum[i]の2つ前のノ
ートナンバを表す)。
【0040】ノートナンバ符号は図12に示すように、
i≦Sのイベントに対するノートナンバと、i>Sのイ
ベントに対して残差α[i]を時間順に並べたものにより
構成される。したがって、圧縮時と伸長時で同じ関数f
()を使えば、残差α[i]からnum[i]を復元する
ことができる。 num[i]=f(num[i−1],num[i−2], …,num[i−S])+α[i] …(1) 但し、イベントの数をNAとして、 i=(S+1),(S+2),…,NA ここで、関数f()には種々のものが考えられるが、な
るべく同じ値のα{i]が繰り返して出現するようなも
のを選ぶことにより、2次符号生成手段4で効率の良い
圧縮が可能となる。一例として(2)式のような関数を
使った場合の効果を説明する。これはS=1であり、1
つ前のノートナンバとの差分をα[i]とすることを意
味する。ただしi=1の場合はノートナンバそのものを
ノートナンバ符号として出力する。 num[i]=num[i−1]+α[i] …(2) 但し、イベントの数をNAとして、 i=2,3,…,NA ここで、通常の楽曲においては、コード(和音)のルー
ト音(根音)の平行移動量と同じ音程だけ移動したメロ
ディーラインが存在することが多い。例えば「C」コー
ドの小節で「ド、ド、ミ、ソ、ミ」というメロディーラ
インがある場合に、ルート音が2度高い「D」コードの
小節において「レ、レ、#ファ、ラ、レ」というよう
に、最初のメロディーラインを2度上げたメロディーラ
インが存在することが多い。
【0041】この各々のメロディーラインをSMFのノ
ートナンバそのもので表すと、「60,60,64,6
7,60」、「62,62,66,69,62」とな
り、この2つに共通のデータパターンは全くない。しか
し前述のα[i]で表現すると、どちらのメロディーラ
インもその2音目以降は「0,4,3,−7」となり同
一のパターンとなる。このようにSMFでは全く異なる
2つのデータパターンを、本手法により同一のデータパ
ターンに変換することができる。
【0042】LZ法では、同一のデータパターンが多い
ほど圧縮率が高くなるので、このようなノートナンバの
表現方法により圧縮率が高くなることは明らかである。
なお(1)式でS=0とすると、 num[i]=α[i] となり、ノートナンバそのものを符号化することにな
る。また関数f()を何種類か用意しておき、最も適切な
関数を選択して符号化するとともに、どの関数を使用し
たかという情報を合わせて符号化してもよい。
【0043】ベロシティ符号生成手段17もノートナン
バ符号生成手段16と同様である。ノートテーブルに登
録されたある音符のベロシティvel[i]を(3)式
のように、それ以前に出現したT個の音符のベロシティ vel[i−1],vel[i−2],…,vel[i
−T] を変数とする関数g()と残差β[i]で表す(ただし、
vel[i−1]はvel[i]の1つ前のベロシテ
ィ、vel[i−2]はvel[i]の2つ前のベロシテ
ィ)。
【0044】ベロシティ符号は図13に示すように、i
≦Tのイベントに対するベロシティと、i>Tのイベン
トに対して残差β[i]を時間順に並べたものにより構成
される。したがって、圧縮時と伸長時で同じ関数g()を
使えば、残差β[i]からvel[i]を復元でき、ま
た、関数g()を適当に選ぶことにより、同じデータパタ
ーンのβ[i]が繰り返して出現することになり、LZ
法を用いた場合の圧縮率を改善することができる。 vel[i]=g(vel[i−1],vel[i−2],…,vel[i−T ])+β[i] (3) 但し、イベントの数をNAとして、 i=(T+1),(T+2),…,NA 次に、コントローラ符号生成手段18について説明す
る。コントローラ符号は図14に示すように、図6に示
すコントローラテーブルに登録されたイベントの情報を
時間順に並べたものである。各コントローラ符号は、イ
ベントの種類を表すフラグFとパラメータ(データバイ
ト)で構成される。パラメータの個数はイベントの種類
により異なる。イベントの種類は大きく分けて「通常イ
ベント」と「連続イベント」の2つのタイプがある。フ
ラグFの最上位ビットが「1」、パラメータの最上位ビ
ットが「0」に設定されているので、SMFと同様のラ
ンニングステータス表現(前のイベントと同じ種類のイ
ベントの場合にフラグFを省略すること)が可能になっ
ている。
【0045】ここで、SMFではイベントの種類をあら
わすのに1バイトのMIDIステータスが使われてい
る。一般的に使用される値は、8n(hex)、9n
(hex)、An(hex)、Bn(hex)、Cn
(hex)、Dn(hex)、En(hex)、F0
(hex)、FF(hex)のいずれかである(ただ
し、n=0〜F(hex)、nはチャネル番号であ
る)。「通常イベント」は、上記MIDIステータスか
らノートオン8n(hex) とノートオフ9n(he
x)を除いたものであるが、本発明では前述したように
チャネル番号を表現する必要が無いので、「通常イベン
ト」のフラグの種類は7種類となる。従ってMIDIス
テータスに比べフラグFは同じ値になる確率が高く、L
Z法を用いた場合の圧縮率が高まる。「通常イベント」
の符号は、フラグFの後に、SMFのMIDIステータ
ス1バイトを除いたデータバイトを並べたものである。
【0046】また、SMFでは、特定の種類のイベント
が一定数以上連続して出現し、各々のイベントのパラメ
ータ値(データバイト)がほぼ一定の規則で変化する部
分が存在することが多い。例えば「ピッチホイールチェ
ンジ」イベントが使われている部分である。このイベン
トは、音符の音程を微妙に変えて音楽的な表現力を高め
る為のものであり、その性質上パラメータ値の異なる複
数イベントが連続して使われることが多い。このような
イベントを「連続イベント」と呼び、このような部分を
「連続イベントブロック」と呼ぶ。
【0047】以下の説明では、「連続イベント」の一例
として「ピッチホイールチェンジ」を取りあげるが、こ
れに限定されるものではない。SMFの「連続イベント
ブロック」の一例を図15に示す。この場合、各イベン
トのパラメータ値が異なる為、SMFの同一データパタ
ーンの長さは、(Δタイム・1バイト+ステータス・1
バイト)の計2バイトであり、この程度の長さではLZ
法による圧縮の効果はほとんど得られない。
【0048】そこで、コントローラテーブルの中で「ピ
ッチホイールチェンジ」が一定数以上連続して出現し、
パラメータ値がほぼ一定の規則で変化する領域に対し、
以下の処理を施すことによりコントローラ符号を生成す
る。先ず、「ピッチホイールチェンジ」の数が一定数に
満たないような場合は、前述した「通常イベント」とし
て符号化する。そして、(4)式に示すように、連続イ
ベントブロック内のイベントのパラメータp[i]をそ
れ以前に出現したU個のイベントのパラメータ値 p[i−1],p[i−2],…,p[i−U] を変数とする関数h()と残差γ[i]で表す(ただし、
p[i−1]はp[i]の1つ前のパラメータ値、p
[i−2]はp[i]の2つ前のイベントのパラメータ
値)。
【0049】連続イベントの符号の構成は図16に示す
ように、ピッチホイールチェンジが連続していることを
意味するフラグFに続き、1番目からU番目までのイベ
ントに対してはパラメータの値そのものである。そし
て、(U+1)番目以降のイベントでは、γ[i]を時
間順に並べたものである。 p[i]=h(p[i−1],p[i−2],…,p[i−U])+γ[i] (4) ただし、連続イベントブロックのイベント数をNCとして i=(U+1),(U+2),…,NC 関数h()には種々のものが考えられるが、なるべく同じ
値のγ[i]が繰り返して出現するようなものを選ぶこ
とにより、2次符号生成手段4において効率の良い圧縮
が可能となる。一例として(5)式のような関数を使っ
た場合の効果を説明する。これはU=1であり、1つ前
のパラメータとの差分をとることを意味する。 p[i]=p[i−1]+γ[i] (5) ただし、連続イベントブロックのイベント数をNCとし
て i=i=2,3,…,NC この方法によれば、図15に示す領域は図17のような
コントローラ符号に変換される。この場合、2番目以降
のイベントのデータが全て同一の「1」になる為、LZ
法による圧縮率が高まる。また、コントローラ符号には
Δタイムが含まれないので、Δタイムがイベント毎に異
なる場合でも、LZ法における圧縮率低下の影響が少な
い。また場合によっては、(4)式の代わりに、イベン
トの時間情報も変数に使った(6)式のような関数
e()を使っても良い。ただし、t[i]はパラメータ
を求めるイベントの時間、t[i−1]はその1つ前の
イベントの時間である。 p[i]=e(p[i−1],p[i−2],…,p[i−U],t[i],t [i−1],…,t[i−U])+γ[i] (6) ただし、連続イベントブロックのイベント数をNCとし
て i=(U+1),(U+2),…,NC 符号配置手段19では、上記の各符号を図18のような
領域に配置して1次符号3を生成する。ヘッダは各符号
の開始アドレスや長さといった管理情報と前述したチャ
ネルマップを含んでいる。すでに説明したように各符号
はSMFに比べ、同一データの出現回数が多く、同一デ
ータパターンの長さも長いという性質を持っているが、
さらに同一データパターンが近い距離で出現するように
工夫をしている。まず、同じ種類の符号内で、同じデー
タ列が出現する確率が高いので、トラック順に同一種類
の符号を配置している。また、ノートΔ符号とコントロ
ーラΔ符号とデュレーション符号は、全て時間情報であ
り、性質の異なるノートナンバ符号やベロシティ符号よ
りも同じデータ列が出現する確率が高いので、これらの
距離が近くなるように配置している。
【0050】次に、図19で示した例に戻って、同一デ
ータパターンの長さがどの程度改善されるか具体的に検
討する。ここで、各々のメロディは、50個のノートオ
ンイベントと50個のノートオフイベントで構成されて
おり、全てのΔタイムは1バイトであるとし、全てのイ
ベントは3バイトであると仮定すると、各々のメロディ
のノートナンバは前述したように全て同じである。
【0051】SMFにおいて、各々のメロディのデータ
量は、 (1+3)×50×2=400バイト である。各々のメロディのΔタイムとベロシティが全て
同じならば、同一データパターンの長さは400バイト
になる。しかし両メロディ間の全てのΔタイムとノート
オンのベロシティが異なっているとすると、SMFで同
一データパターンの最大長は、ノートオフステータス、
ノートナンバ、ベロシティの並びの3バイトである。こ
の程度ではLZ法の圧縮はほとんど効果がない。
【0052】一方、本発明では、Δタイム、ノートナン
バ、ベロシティを分離して符号化しているので、少なく
ともノートナンバ符号の中で50バイトの長さの同一デ
ータパターンが出現する。また前述したようにSMFの
ベロシティが全く異なる場合でも、ベロシティ符号の中
では同一データパターンが出現することが多い。従って
LZ法による圧縮率は明らかに改善される。以上の説明
から分かるように1次符号3は、SMFの持つ音楽的な
情報量を全く落とすことなくデータ量が削減されている
と同時に、SMFに比べ同一のデータパターンの長さが
長く、出現回数が多く、しかもそれらが近い距離で出現
するようの性質を持っているので、2次符号生成手段4
において効果的な圧縮を行うことができる。また、この
1次符号3そのものも、かなり圧縮されたデータ量とな
っているので、この1次符号3を直接出力するようにし
てもよい。
【0053】2次符号生成手段4においては、1次符号
生成手段2の出力3に対して、LZ法による圧縮を行
う。LZ法は、gzip、LHAといった圧縮プログラ
ムで広く使われている手法である。これは入力データの
中から、同一のデータパターンを捜し、もし存在すれ
ば、(過去に出現したパターンへの距離、パターンの長
さ)という情報に置き換えて表現することでデータ量を
削減する。例えば、 ”ABCDEABCDEF” というデータを、”ABCDE”が繰り返しであるの
で、 ”ABCDE(5,5)F” という情報に置き換える。なお、圧縮符号(5,5)は
5文字戻って5文字コピーすることを表す。
【0054】処理の概要は次のようになる。2次符号5
の生成は、処理位置を1次符号3の先頭から順次移動さ
せて行う。処理位置のデータパターンが、それ以前の一
定の範囲内のデータパターンと一致する場合は、処理位
置からそのデータパターンまでの距離と、一致したデー
タパターンの長さを2次符号5として出力し、処理位置
を2つ目のデータパターンの終わりに移動させ、処理を
続ける。処理位置のデータパターンが、それ以前の一定
の範囲内のデータパターンと一致しなければ、1次符号
3をコピーして2次符号5として出力する。
【0055】以上の説明から明らかなように、2つの同
一のデータ領域が大きいほど、圧縮率は高くなる。また
同一のデータ領域の距離は一定範囲内である必要があ
る。前述したように楽曲の中では、同じようなメロディ
ーが繰り返し使われるが、SMFのままでそれらのデー
タを比較すると、完全に同一のデータ列の繰り返しであ
ることは少なく、むしろノートナンバは同じであるがベ
ロシティは異なるといったように、どこか一部分異なっ
ていることが多い。
【0056】一方,本発明では、性質の同じデータを独
立した領域にまとめると同時に、各領域で同ーのデータ
がなるべく多く出現するような処理を行ない、さらに性
質の近い領域どうしをなるべく近くに配置することによ
り、LZ法の圧縮率が高まるので、最終的な2次符号5
は十分容量の小さなものになる。なお、以上詳述したフ
ォーマット並びに処理手順は一例であり、その主旨を逸
脱しない範囲において種々の変更を加えることができ
る。また、演奏情報としてSMFを例に取ったが、SM
Fに限らずこれに類似の演奏情報に対して本発明を適用
してデータ容量を効率よく削減することができる。
【0057】次に、図20〜図28を参照して上記の1
次符号3又は2次符号5を復号するための演奏情報復号
装置について説明する。図20は演奏情報復号装置を示
すブロック図、図21は図20の2次符号復号手段の処
理を説明するためのフローチャート、図22は図20の
1次符号復号手段の処理を説明するためのフローチャー
ト、図23は図22のトラック復号処理を詳しく説明す
るためのフローチャート、図24は図23のノートイベ
ント復号処理を詳しく説明するためのフローチャート、
図25は図24のノートイベント復号処理により復元さ
れたノートオンイベントを示す説明図、図26は図24
のノートイベント復号処理により復元されたノートオフ
キューを示す説明図、図27は図23のコントローライ
ベント復号処理を詳しく説明するためのフローチャー
ト、図28は図27の処理により復元されたコントロー
ライベントを示す説明図である。
【0058】図20では圧縮処理とは逆に、LZ法で圧
縮された入力データ21が2次符号復号手段23により
音程と、音の強さと、音の長さとその他の情報に分離さ
れた1次符号3に復号され、次いで1次符号復号手段2
4により元の音符(出力データ25)に復元される。制
御手段26はスイッチ22により、入力データ21が図
1に示す2次符号5である場合に2次符号復号処理に続
き1次符号復号処理を行うように制御し、入力データ2
1が図1に示す1次符号3である場合に1次符号復号処
理のみを行うように制御する。
【0059】ここで、2次符号5であるか又は1次符号
3であるかの判定は、キーボード、マウス、ディスプレ
イ等の図示しない入出力装置を使用してオペレータが指
定してもよいし、圧縮された情報に対して符号化方法の
種類を示す情報を符号化時に付加し、復号時にこの情報
を自動的に判別するようにしてもよい。
【0060】次に、図21を参照して2次符号復号手段
23の復号処理を説明する。入力データ11(2次符号
5)を先頭から読み込み(ステップS101)、次いで
圧縮データの部分であるかすなわちABCDE(5,
5)の「ABCDE」の部分(=非圧縮データ)である
か又は「(5,5)」の部分(=圧縮データ)であるか
を判定する(ステップS102)。
【0061】そして、圧縮データの部分である場合には
過去に出現した同一パターンを参照してそれをコピーし
て出力し(ステップS103)、他方、非圧縮データの
部分である場合にはそのまま出力する(ステップS10
4)。以下、入力データ11を全て復号するまでこの処
理を繰り返すと(ステップS105→S101)、図1
8に示すような配置の1次符号3が復元される。
【0062】次に、図22及び図18に示す1次符号3
を参照して1次符号復号手段24の復号処理を説明す
る。先ず、1次符号3のヘッダを読み込む(ステップS
111)。ヘッダには総トラック数N、ノートΔ符号か
らコントロール符号までの各符号領域の先頭アドレス、
チャネルマップ、時間分解能等の情報が符号化の際に記
録されているので、このヘッダ情報に基づいてSMFの
ヘッダを作成して出力する(ステップS112)。
【0063】次にトラック番号iを「1」にセットし
(ステップS113)、図23に詳しく示すトラック復
号処理を行う(ステップS114)。次いでトラック番
号iが総トラック数Nより小さいか否かをチェックし
(ステップS115)、もし小さければトラック番号i
を1つインクリメントし(ステップS116)、ステッ
プS114に戻ってトラック復号処理を繰り返す。そし
て、ステップS115においてトラック番号iが総トラ
ック数Nより小さくない場合にこの1次符号復号処理を
終了する。
【0064】図23に詳しく示すトラック復号処理で
は、先ず、処理で使用する変数を初期化する(ステップ
S121)。具体的は、処理中のノートイベントの番号
を示す変数jを「1」にセットし、処理中のコントロー
ライベントの番号を示す変数kを「1」にセットし、ノ
ート終了フラグとコントローラ終了フラグをクリアす
る。ここで、ノート終了フラグは処理トラックの全ての
ノートイベントの復号が終了したことを示し、コントロ
ーラ終了フラグは処理トラックの全てのコントローライ
ベントの復号が終了したことを示す。
【0065】次に処理トラック番号iのノートΔ符号の
最大公約数ΔTsnと、コントローラΔ符号の最大公約
数ΔTscとデュレーション符号の最大公約数Dsを読
み出す(ステップS122)。そして、j番目のノート
Δ符号ΔTan[j]とk番目のコントローラΔ符号Δ
Tac[k]を読み出し、(7)式のように各々最大公
約数ΔTsn、ΔTscを乗じてΔTn[j]、ΔTc
[k]を算出する(ステップS123)。 ΔTn[j]=ΔTan[j]×ΔTsn ΔTc[k]=ΔTac[j]×ΔTsc (7) さらに、(8)式のようにトラックの先頭を基準とした
時刻Tn[j]、Tc[k]に変換する(ステップS1
24)。 Tn[j]=Tn[j−1]+ΔTn[j] Tc[k]=Tc[k−1]+ΔTc[k] ただし、Tn[0]=Tc[0]=0 (8) なお、ステップS123、S124では、ノート終了フ
ラグがセットされている場合にはΔTn[j]、Tn
[j]の算出は行わず、また、コントローラ終了フラグ
がセットされている場合にはΔTc[k],Tc[k]
の算出は行わない。
【0066】次に、出力すべきノートオフイベントの有
無をチェックし(ステップS125)、出力すべきデー
タが有る場合にはSMFとしてノートオフイベントを出
力する(ステップS126)。なお、ステップS12
5、S126については後述(図24のステップS14
4)する。次に、復号処理の選択を行う。先ず、コント
ローラ終了フラグをチェックし(ステップS127)、
セットされている場合には図24に詳しく示すノートイ
ベント復号処理を行う(ステップS128)。
【0067】コントローラ終了フラグがセットされてい
ない場合にはノート終了フラグをチェックし(ステップ
S129)、セットされている場合には図27に詳しく
示すコントローライベント復号処理を行う(ステップS
130)。2つのフラグが共にセットされていない場合
にはTn[j]とTc[k]を比較し(ステップS13
1)、Tn[j]が小さければノートイベント復号処理
(ステップS128)を、そうでなければコントローラ
イベント復号処理(ステップS130)を行う。
【0068】ノートイベント復号処理の後には、処理ト
ラックNの全てのノートイベントを処理したか否かをチ
ェックし(ステップS132)、処理が終了している場
合にはノート終了フラグをセットし(ステップS13
3)、ステップS138に進み、そうでなければ変数j
を1つインクリメントし(ステップS134)、ステッ
プS123に戻る。また、コントローライベント復号処
理の後には、処理トラックNの全てのコントローライベ
ントを処理したか否かをチェックし(ステップS13
5)、処理が終了している場合にはコントローラ終了フ
ラグをセットし(ステップS136)ステップS138
に進み、そうでなければ変数kを1つインクリメントし
(ステップS137)、ステップS123に戻る。
【0069】ステップS138ではノート終了フラグと
コントローラ終了フラグの両方がセットされているか否
かをチェックし、両方がセットされている場合にはこの
トラック復号処理を終了し、そうでなければステップS
123に戻ってこのトラック復号処理を繰り返す。
【0070】図24に詳しく示すノートイベント復号処
理では、先ず、j番目のノートナンバ符号α[j]を読
み取り、圧縮処理において使用した関数f()を用いて
(9)式に従ってノートナンバnum[j]を算出する
(ステップS141)。 num[j]=f(num[j−1],num[j−2],…,num[j−S ])+α[j] (j>S) num[j]=α[j] (j≦S) ただし、Sは関数f()の変数の個数 (9) 同様に、j番目のベロシティ符号β[j]を読み取り、
圧縮処理において使用した関数g()を用いて(10)
式に従ってベロシティvel[j]を算出する(ステッ
プS142)。 vel[j]=g(vel[j−1],vel[j−2],…,vel[j−T ])+β[j](j>T) vel[j]=β[j] (j≦T) ただし、Tは関数g()の変数の個数 (10) 次いで、Tn[j]、num[j],vel[j]を用
いて図25に示すようなノートオンイベントを出力する
(ステップS143)。なお、SMTのΔタイムΔT
は、Tn[j]の直前に出力したイベントの時刻Tbを
使って式(11)に従って求め、出力する。 ΔT=Tn[j]−Tb (11) 図25に示すノートオンイベントにおけるステータスバ
イトの上位4ビットはノートオン「9(hex)」を表
し、下位4ビットはチャネルマップから得られる番号が
続く。このステータスバイトの後にはノートナンバとベ
ロシティの各バイトが続く。
【0071】次にノートオフイベントの登録を行う(ス
テップS144)。具体的にはデュレーション符号Da
[j]を読み取って、(12)式に従いノートオフイベ
ントの時刻Toff を算出し、この時刻Toffとノート
ナンバnum[j]を図26に示すようなノートオフキュ
ーに登録する。このノートオフキューでは、使用されて
いるエントリの数を保持するとともに、ノートオフ時刻
Toffが先頭から小さい順に並ぶように管理される。 Toff[j]=Da[j]×Ds+Tn[j] (12) 前述した図23のステップS125においては、Tn
[j]とTc[k]の内の値が小さいほうTmをノートオフ
キューの先頭のToff[n](n=1〜エントリ総数
N)から順に比較する。Toff[n]<Tmであるエン
トリがあればステップS126に進み、ノートオフイベ
ントを出力する。ステップS126では、前述したノー
トオフイベントをSMFとして出力する。
【0072】次に図27を参照してコントローライベン
ト復号処理を詳しく説明する。この処理では図28に示
すようにΔタイム、ステータス及びパラメータより成る
コントローライベントが復元され、先ず、Tc[k]と直
前に出力したイベントの時刻Tbを使って(13)式に
従ってSMTのΔタイムΔTを求め、出力する(ステッ
プS151)。 ΔT=Tc[k]−Tb (13) 次にコントローラ符号領域からイベントの種類を表すイ
ベントフラグF[k]を読み取り、F[k]が「通常イ
ベント」であるか、「連続イベント」であるか又は「ラ
ンニングステータス」であるかを判定する(ステップS
152)。ここで、連続イベントブロック内では、図示
省略16に示すように、2番目以降のイベントはイベン
トフラグが省略された「ランニングステータス」状態で
記録されている。
【0073】F[k]が「通常イベント」である場合に
は、処理イベントの連続イベントブロック内における順
番を示す変数mを「0」にリセットし(ステップS15
3)、次いでチャネルマップを参照してSMFのステー
タスバイトを作成して出力する(ステップS154)。
さらにイベントの種類に応じて必要なバイト数をコント
ローラ符号領域から読み出し、この読み出した値がSM
Fのパラメータ(データバイト)であるのでこれを出力
する(ステップS155)。
【0074】F[k]が「連続イベント」である場合に
は、連続イベントブロック内における順番を示す変数m
を「1」にセットし(ステップS156)、次いでチャ
ネルマップを参照してSMFのステータスバイトを作成
して出力する(ステップS157)。なお、m≧2の場
合のステータスバイトはmが「1」の場合のステータス
バイトを利用する。そして、この「連続イベント」の場
合には、パラメータ符号γ[m]を読み出し、圧縮処理
と同じ関数h()を使い、(14)式に従ってSMFの
パラメータp[m]を作成し、出力する(ステップS1
58)。 p[m]=h(p[m−1],p[m−2],…,p[m−U]+γ[m](m> U) p[m]=γ[m] (m≦U) ただし、Uは関数h()の変数の個数 (14) F[k]が「ランニングステータス」である場合には、
変数mの値をチェックし(ステップS159)、mが
「0」より大きければmを1つインクリメントし(ステ
ップS160)、「連続イベント」側のステップS15
7に進む。他方、mが「0」であれば「通常イベント」
側のステップS154に進む。
【0075】次に本発明の、SMFを時間軸上で2つ以
上のブロックに分割し、少なくとも最初のブロックは前
記1次圧縮及び/又は前記2次圧縮を行わないことを特
徴とする演奏情報圧縮装置について説明する。
【0076】図29に本発明による圧縮を行ったときの
第1の実施例を示す。従来の方法では、元の演奏情報は
そのまま1曲ごとに圧縮を行っているが、演奏情報を着
信メロディなどで使用する場合には、電話受信後、直ち
に着信メロディが再生されなければならず、圧縮された
ファイルを解凍するために端末側の処理速度を高速化す
る必要がある。そこで、図29のように、演奏情報のフ
ァイルを時系列上にブロック1とブロック2の2つのブ
ロックに分割し、それぞれのブロック単位で圧縮を行
う。このとき、ブロック1はできるだけ端末側で即座に
データを解凍できるように1次符号化のみの圧縮を施
し、2次符号化は行わない。ブロック2は全体のメモリ
ー容量や配信ファイルサイズを小さくするために、通常
の1次符号化ならびに2次符号化による圧縮を行う。こ
のようにして、1次符号化のみ施された圧縮ブロック1
と1次符号化及び2次符号化が施された圧縮ブロック2
とを一つのファイルとして配信伝送し、端末側のメモリ
に記録させる。
【0077】ブロック1は、例えば最初の5秒分など、
ある程度短めにしておき、電話に対して着信があったと
き、まず、圧縮されたブロック1から解凍し、ブロック
1に該当する部分の着信メロディを再生しながら、同時
に圧縮されたブロック2を解凍する。そのため、ブロッ
ク1はブロック2の解凍を行うための十分な時間があれ
ば、可能な限り短い方が良い。これは圧縮されたブロッ
ク1を解凍する作業時間を短縮する点においても重要で
ある。
【0078】図35に第1実施例のエンコードのフロー
を示す。まず、SMFを取りこみ(ステップ401)、
ステップ402にてSMFを時間軸上で2分割し、最初
の5秒分をブロック1、残りの部分をブロック2とす
る。そして、ステップ403でブロック1を1次符号
化、これによりステップ404にてブロック1を圧縮し
た圧縮ブロック1を生成する。そして、ステップ405
にてブロック2を1次符号化及び2次符号化し、ステッ
プ406にて圧縮ブロック2を生成する。更に、圧縮ブ
ロック1及び圧縮ブロック2を一つにまとめて(ステッ
プ407)、エンコードを終了する。
【0079】次に再生時の動作を図31及び図32を参
照しながら説明する。電話の着信が発生したとき、楽曲
取り込み手段134により、発信相手に対応する楽曲フ
ァイルを情報記憶手段135に取り込む。既に情報記憶
手段135に楽曲ファイルが収録されている場合には、
直接ここから解凍を行ってもよい。まず圧縮ブロック1
の解凍を始める。この際、圧縮ブロック1は1次符号化
のみ施されているので、図31の1次符号復号手段13
1によって復号を行い、直ちに演奏情報の再生を行う。
そして演奏情報の再生を行いながら、圧縮ブロック2の
解凍を始める。圧縮ブロック2は図31の2次符号復号
手段132によって、2次復号化が行われ、次に1次符
号復号手段131によって1次復号化が行われる。ブロ
ック1のファイルサイズは、この2次復号化が終了し、
ブロック2の演奏情報が再生可能となるタイミングまで
に時間的な猶予が持てる程度の大きさが好ましい。ま
た、演奏情報はテンポをベースに記述されている場合が
あるので、再生テンポが端末側で最大(最も早い)とな
るように設定されている場合にも間に合うようにしなけ
ればならない。展開した楽曲情報は情報記憶手段135
に記録される。そして楽曲再生手段136により、情報
記憶手段135に展開された演奏情報が再生される。な
お、上述した実施例では発信相手に対応する楽曲ファイ
ルを選んでいるが、発信相手の全てに同じ着信メロディ
を使用し、電話の使用者の好みに応じて楽曲を切り替え
るようにしても良い。
【0080】次に、本発明による圧縮を行ったときの第
2の実施例について図30を参照して説明する。これ
は、第1の実施例よりも端末の処理が遅い場合に、全体
の圧縮率はやや下がるが、ブロック1の部分については
元のデータをそのまま用いるものである。図36に第2
実施例のエンコードのフローを示す。なお、ブロック1
の1次符号化を行わない点を除いて上述した第1の実施
例と同じであるため説明を省略する。また、再生時の動
作についても図31に示す第1の実施例と同様の端末構
成で、図33に示すように圧縮ブロック1の解凍を行わ
ない点が異なるものであり説明は省略する。
【0081】次に、本発明による圧縮を行ったときの第
3の実施例について図34を参照して説明する。これ
は、ある程度端末側の処理速度の高速化が見込まれる場
合に、ブロック1にも1次符号化ならびに2次符号化を
施すものである。図37に第3実施例のエンコードのフ
ローを示すがこれについてもブロック1に対して1次符
号化及び2次符号化を施す以外には上述した実施例と同
様であるため、説明を省略する。次に再生時のフローに
ついてであるも上述した実施例と同様であり、ブロック
1の部分のみがそれぞれの圧縮内容による違いが生ずる
のみであるので、説明は省略する。
【0082】なお、上記は着信メロディについて説明を
行ったが、カラオケやBGMであっても、再生指定時に
直ちに演奏を開始することができる点で、実用に耐えう
るものとなるので、これらのような使用形態に適用する
ことも可能である。
【0083】
【発明の効果】以上説明したように本発明によれば、L
Z法により圧縮する前に予め、同一のデータパターンの
長さが長く、出現回数が多く且つ近い距離で出現するよ
うに、演奏情報を音程と、強さと、長さとその他の情報
に分離し、各情報をそれぞれ独立した領域に配置した1
次符号を生成し、この1次符号をLZ法により圧縮する
ので、演奏情報のデータ量を効率的に圧縮することがで
きるが、このような装置に於いて、SMFを2つ以上の
ブロックに分割し、少なくとも最初のブロックは前記1
次圧縮及び/または前記2次圧縮を行わないことを特徴
とする装置を提供することで、圧縮した状態からの再生
をすぐに行える端末を提供する事ができる。
【0084】また、1次符号として演奏情報を音符の音
程領域と、音符の強さ領域と、音符の長さ領域とその他
の領域の少なくとも4つの領域に分離して符号化するの
で、元の演奏情報のもつ演奏品位を全く失うことなく、
従来に比べ大幅にデータ容量が削減でき、したがって、
データを保存するのに小容量の記録媒体を用いることが
できコストを削減することができ、また、通信回線を介
してデータを伝送する場合にもコストを削減することが
できるとともに、伝送時間を削減することができる。ま
た、大量の演奏情報を扱う通信カラオケや着信メロディ
などの音楽データベースや端末のメモリ容量節約特に効
果が大きい。
【図面の簡単な説明】
【図1】本発明に係る演奏情報圧縮装置の一例を示すブ
ロック図である。
【図2】図1の1次符号生成手段の一例を詳細に示すブ
ロック図である。
【図3】図2のチャネル分離手段により作成されるチャ
ネルマップを示す説明図である。
【図4】図2の解析手段の処理を説明するためのフロー
チャートである。
【図5】図2の解析手段により作成されるノートテーブ
ルを示す説明図である。
【図6】図2の解析手段により作成されるコントローラ
テーブルを示す説明図である。
【図7】音符を表現するSMFのΔタイムと本実施例の
デュレーションの関係を示す説明図である。
【図8】図2のノートΔ符号生成手段の処理を説明する
ためのフローチャートである。
【図9】図2のノートΔ符号生成手段により生成される
ノートΔ符号を示す説明図である。
【図10】図2のデュレーション符号生成手段の処理を
説明するためのフローチャートである。
【図11】図2のデュレーション符号生成手段により生
成されるデュレーション符号を示す説明図である。
【図12】図2のノートナンバ符号生成手段により生成
されるノートナンバ符号を示す説明図である。
【図13】図2のベロシティ符号生成手段により生成さ
れるベロシティ符号を示す説明図である。
【図14】図2のコントローラ符号生成手段により生成
されるコントローラ符号を示す説明図である。
【図15】SMFの連続イベントブロックを示す説明図
である。
【図16】本実施例の連続イベントブロックを示す説明
図である。
【図17】図16の連続イベントブロックの効果を示す
説明図である。
【図18】図2の符号配置手段により並べ替えられた1
次符号を示す説明図である。
【図19】SMFのフォーマットを示す説明図である。
【図20】演奏情報復号装置を示すブロック図である。
【図21】図20の2次符号復号手段の処理を説明する
ためのフローチャートである。
【図22】図20の1次符号復号手段の処理を説明する
ためのフローチャートである。
【図23】図22のトラック復号処理を詳しく説明する
ためのフローチャートである。
【図24】図23のノートイベント復号処理を詳しく説
明するためのフローチャートである。
【図25】図24のノートイベント復号処理により復元
されたノートオンイベントを示す説明図である。
【図26】図24のノートイベント復号処理により復元
されたノートオフキューを示す説明図である。
【図27】図23のコントローライベント復号処理を詳
しく説明するためのフローチャートである。
【図28】図27の処理により復元されたコントローラ
イベントを示す説明図である。
【図29】本発明に係る演奏情報圧縮装置による圧縮方
法の第1の実施例を示す図である。
【図30】本発明に係る演奏情報圧縮装置による圧縮方
法の第2の実施例を示す図である。
【図31】本発明に係る演奏情報圧縮装置の構成を示す
図である。
【図32】第1の実施例により圧縮された演奏情報の解
凍方法を示す図である。
【図33】第2の実施例により圧縮された演奏情報の解
凍方法を示す図である。
【図34】本発明に係る演奏情報圧縮装置による圧縮方
法の第3の実施例を示す図である。
【図35】本発明に係る演奏情報圧縮装置による圧縮方
法の第1の実施例の動作を示す図である。
【図36】本発明に係る演奏情報圧縮装置による圧縮方
法の第2の実施例の動作を示す図である。
【図37】本発明に係る演奏情報圧縮装置による圧縮方
法の第3の実施例の動作を示す図である。
【符号の説明】
1 入力データ 2 1次符号生成手段 3 1次符号 4 2次符号生成手段 5 2次符号 11 チャネル分離手段 12 解析手段 13 ノートΔ符号生成手段 14 コントローラΔ符号生成手段 15 デュレーション符号生成手段 16 ノートナンバ符号生成手段 17 ベロシティ符号生成手段 18 コントローラ符号生成手段 19 符号配置手段 21 入力データ 22 スイッチ 23 2次符号復号手段 24 1次符号復号手段 25 出力データ 26 制御手段
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.7 識別記号 FI テーマコート゛(参考) H04M 1/00 H04M 1/00 B

Claims (10)

    【特許請求の範囲】
  1. 【請求項1】演奏情報を少なくとも音程の情報と、音の
    強さの情報と、音の長さの情報と、その他の情報とに分
    離し、前記各情報をそれぞれ独立した領域に配置した1
    次符号を生成する1次符号生成手段と、 前記1次符号生成手段により生成された1次符号の各領
    域の情報を圧縮する2次符号生成手段と、 前記演奏情報を時間軸上で2つ以上のブロックに分割
    し、少なくとも最初のブロックについては前記1次符号
    生成手段による圧縮及び/又は前記2次符号生成手段に
    よる圧縮を行わないことを特徴とする演奏情報圧縮装
    置。
  2. 【請求項2】前記1次符号生成手段は、各イベント間の
    相対時間の公約数、及び、各音符の長さの公約数を算出
    し、各イベント間の相対時間、及び、各音符の長さの値
    をそれぞれの公約数で除算した後符号化することを特徴
    とする請求項1に記載の演奏情報圧縮装置。
  3. 【請求項3】前記1次符号生成手段は、各音符の音程情
    報をそれ以前に出現した音符の音程の数値を使って一定
    の関数式に従って算出した数値と実際の音程の数値との
    残差で表すことを特徴とする請求項1又は2に記載の演
    奏情報圧縮装置。
  4. 【請求項4】前記1次符号生成手段は、各音符の強さ情
    報をそれ以前に出現した音符の強さの数値を使って一定
    の関数式に従って算出した数値と実際の強さの数値との
    残差で表すことを特徴とする請求項1乃至3のいずれか
    一項に記載の演奏情報圧縮装置。
  5. 【請求項5】前記1次符号生成手段は、特定の種類のイ
    ベントのパラメータ値をそれ以前に出現した同種類のイ
    ベントのパラメータ値を使って一定の関数式に従って算
    出した数値と実際のパラメータ値との残差で表すことを
    特徴とする請求項1乃至4のいずれか一項に記載の演奏
    情報圧縮装置。
  6. 【請求項6】前記1次符号生成手段は、前記各情報を当
    該領域においてトラック順に配置したことを特徴とする
    請求項1乃至5のいずれか一項に記載の演奏情報圧縮装
    置。
  7. 【請求項7】前記1次符号生成手段は、前記各領域をデ
    ータの性質が似ている領域同志が近くなるように配置し
    たことを特徴とする請求項6に記載の演奏情報圧縮装
    置。
  8. 【請求項8】演奏情報を少なくとも音程の情報と、音の
    強さの情報と、音の長さの情報と、その他の情報とに分
    離し、前記各情報をそれぞれ独立した領域に配置した1
    次符号を復号する演奏情報復号装置であって、供給され
    る前記1次符号を演奏情報に復号する1次符号復号手段
    を有することを特徴とする演奏情報復号装置。
  9. 【請求項9】演奏情報を記憶可能で、且つ前記演奏情報
    を電話着信時に再生する機能を有する電話端末装置にお
    いて、 前記演奏情報を時間軸上で二つ以上のブロックに分割
    し、少なくとも最初のブロックが電話着信時に直ちに演
    奏できるように二番目以降のブロックのみを圧縮して記
    録することを特徴とする電話端末装置。
  10. 【請求項10】演奏情報を記憶可能で、且つ前記演奏情
    報を電話着信時に再生する機能を有する電話端末装置に
    おいて、 前記演奏情報を時間軸上で二つ以上のブロックに分割し
    て、それぞれのブロックを圧縮するときに、 少なくとも最初のブロックは、電話着信時に直ちに演奏
    でき、且つ、圧縮された二番目のブロックの復号を行う
    ことができる時間の長さ及び/又は二番目以降のブロッ
    クの圧縮方法よりも短時間で復号可能な圧縮方法で圧縮
    されていることを特徴とする電話端末装置。
JP2000283179A 2000-09-19 2000-09-19 演奏情報圧縮装置、演奏情報復号装置及び電話端末装置 Pending JP2002091437A (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2000283179A JP2002091437A (ja) 2000-09-19 2000-09-19 演奏情報圧縮装置、演奏情報復号装置及び電話端末装置
TW090119155A TW594670B (en) 2000-09-19 2001-08-06 A performance information recording device, performance information-compression equipment, and a telephone terminal unit
KR10-2001-0055011A KR100415002B1 (ko) 2000-09-19 2001-09-07 연주 정보 기록 장치, 연주 정보 압축 장치, 연주 정보복호 장치 및 전화 단말 장치
CNB011314230A CN1194334C (zh) 2000-09-19 2001-09-07 演奏信息记录装置、压缩装置、解码装置和电话终端装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000283179A JP2002091437A (ja) 2000-09-19 2000-09-19 演奏情報圧縮装置、演奏情報復号装置及び電話端末装置

Publications (1)

Publication Number Publication Date
JP2002091437A true JP2002091437A (ja) 2002-03-27

Family

ID=18767579

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000283179A Pending JP2002091437A (ja) 2000-09-19 2000-09-19 演奏情報圧縮装置、演奏情報復号装置及び電話端末装置

Country Status (1)

Country Link
JP (1) JP2002091437A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003098593A1 (fr) * 2002-05-17 2003-11-27 Crimson Technology, Inc. Dispositif de compression de donnees de caracteristiques musicales, dispositif de decompression desdites donnees, programme de compression de donnees de caracteristiques musicales et programme de decompression desdites donnees
US7035675B2 (en) 2002-10-30 2006-04-25 Nec Corporation Method for storing and reproducing ring tone melodies of mobile phones and system thereof
US7081578B2 (en) 2002-05-17 2006-07-25 Crimson Technology, Inc. Musical performance information compression apparatus, and musical performance information decoding apparatus
JP2007298823A (ja) * 2006-05-01 2007-11-15 Casio Comput Co Ltd 曲データ処理装置および曲データ処理プログラム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003098593A1 (fr) * 2002-05-17 2003-11-27 Crimson Technology, Inc. Dispositif de compression de donnees de caracteristiques musicales, dispositif de decompression desdites donnees, programme de compression de donnees de caracteristiques musicales et programme de decompression desdites donnees
US7081578B2 (en) 2002-05-17 2006-07-25 Crimson Technology, Inc. Musical performance information compression apparatus, and musical performance information decoding apparatus
US7035675B2 (en) 2002-10-30 2006-04-25 Nec Corporation Method for storing and reproducing ring tone melodies of mobile phones and system thereof
JP2007298823A (ja) * 2006-05-01 2007-11-15 Casio Comput Co Ltd 曲データ処理装置および曲データ処理プログラム

Similar Documents

Publication Publication Date Title
WO2002077585A1 (en) System and method for music creation and rearrangement
US5869782A (en) Musical data processing with low transmission rate and storage capacity
US7276655B2 (en) Music synthesis system
JP2003514259A (ja) 圧縮カオス音楽合成のための方法及び装置
JP3675362B2 (ja) 楽音生成装置および携帯端末装置
US7427709B2 (en) Apparatus and method for processing MIDI
JP4012682B2 (ja) 音源システム
JP2002091437A (ja) 演奏情報圧縮装置、演奏情報復号装置及び電話端末装置
JP2002091436A (ja) 演奏情報記録装置、演奏情報圧縮装置及び電話端末装置
JP3120675B2 (ja) 演奏情報圧縮装置
US6476307B2 (en) Method of compressing, transferring and reproducing musical performance data
KR100415002B1 (ko) 연주 정보 기록 장치, 연주 정보 압축 장치, 연주 정보복호 장치 및 전화 단말 장치
KR100530917B1 (ko) 악곡 데이터 압축방법 및 장치
JP4211636B2 (ja) 演奏制御データ生成装置、楽曲素材データ配信サーバおよびプログラム
JP3246301B2 (ja) 演奏情報圧縮装置及び演奏情報復号装置
JP3211646B2 (ja) 演奏情報記録方法及びその演奏情報の再生装置
US7378587B2 (en) Method for fast compressing and decompressing music data and system for executing the same
JP2002108375A (ja) カラオケ曲データ変換装置及びカラオケ曲データ変換方法
JP2003233379A (ja) 波形合成装置および波形合成方法
JP3322763B2 (ja) 演奏情報圧縮方法
JP3486185B1 (ja) 演奏情報圧縮装置、演奏情報復号装置、演奏情報圧縮方法、演奏情報復号方法、演奏情報圧縮プログラム、演奏情報復号プログラム
KR20050087368A (ko) 무선 단말기의 벨소리 처리 장치
US7214869B2 (en) Method for generating and playing a musical file and a computer-readable media storing the musical file
JP3985817B2 (ja) 楽音生成装置および携帯端末装置
KR20060103788A (ko) 이동통신 단말기에서의 숫자 악보 데이터를 이용한 음악연주 방법 및 시스템

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050413

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050419

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20051007