JP3180751B2 - データの通信装置、通信方法、通信システム及びプログラムを記録した媒体 - Google Patents

データの通信装置、通信方法、通信システム及びプログラムを記録した媒体

Info

Publication number
JP3180751B2
JP3180751B2 JP00988298A JP988298A JP3180751B2 JP 3180751 B2 JP3180751 B2 JP 3180751B2 JP 00988298 A JP00988298 A JP 00988298A JP 988298 A JP988298 A JP 988298A JP 3180751 B2 JP3180751 B2 JP 3180751B2
Authority
JP
Japan
Prior art keywords
data
communication
communication device
lines
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.)
Expired - Fee Related
Application number
JP00988298A
Other languages
English (en)
Other versions
JPH11231866A (ja
Inventor
重雄 角田
悟 本山
豊 長谷川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yamaha Corp
Original Assignee
Yamaha Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Yamaha Corp filed Critical Yamaha Corp
Priority to JP00988298A priority Critical patent/JP3180751B2/ja
Publication of JPH11231866A publication Critical patent/JPH11231866A/ja
Application granted granted Critical
Publication of JP3180751B2 publication Critical patent/JP3180751B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Information Transfer Between Computers (AREA)
  • Electrophonic Musical Instruments (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、データの通信技術
に関し、特に通信回線の混雑を回避することができるデ
ータの通信技術に関する。
【0002】
【従来の技術】電子楽器間の通信の統一規格として、M
IDI(music instrumental digitalinterface)規格
がある。MIDI規格のインターフェースを備えた電子
楽器は、MIDI用ケーブルを用いて、他の電子楽器と
接続することができる。電子楽器は、MIDI用ケーブ
ルを介して、MIDIデータを通信することができる。
【0003】例えば、一の電子楽器は、演奏者が演奏し
た情報をMIDIデータとして送信し、他の電子楽器
は、当該MIDIデータを受信し、楽音を発音すること
ができる。一の電子楽器で演奏すると、他の電子楽器で
リアルタイムに発音することができる。
【0004】また、複数の汎用コンピュータを接続する
通信ネットワークでは、種々の情報を通信することがで
きる。例えば、コンピュータに接続されているハードデ
ィスク等に生の楽音情報やMIDIデータ等の情報を一
度蓄積しておき、通信ネットワークを介して、当該情報
を送信することができる。他のコンピュータは、当該情
報を受信して、ハードディスク等の記憶装置に記憶す
る。汎用の通信ネットワークは、情報の通信を行うのみ
であり、MIDIとは性質を異にする。
【0005】
【発明が解決しようとする課題】MIDI規格は、電子
楽器間のリアルタイム通信を可能にするが、長距離の通
信及び多数ノード間の通信に適していない。一方、汎用
通信ネットワークは、長距離の通信及び多数ノード間の
通信に適しているが、電子楽器間のリアルタイム通信を
考慮したものではない。
【0006】楽音情報のリアルタイム通信を行うと、時
間当たりの情報量が多くなり、通信回線が混雑しやす
い。また、1対1通信に比べ、多数のノードに楽音情報
を送信するとなると、さらに通信回線が混雑しやすくな
る。通信回線が混雑すると、通信速度の遅れが生じ、リ
アルタイム演奏に支障が生じる。
【0007】本発明の目的は、通信回線の混雑を回避す
ることができるデータの通信技術を提供することであ
る。
【0008】
【課題を解決するための手段】 本発明の一観点によれ
ば、データの通信装置は、少なくともMIDIデータを
含むデータを受信する受信手段と、外部から自己にアク
セス中である回線数を認識するアクセス数認識手段と、
前記回線数に応じて前記受信手段が受信したデータのう
ち特定のデータに対して、データの分離、データの差別
化、データの分解能操作、時間の分解能操作のいずれか
又はこれらの組み合わせによりデータを削減してアクセ
ス中の回線に送信する送信手段とを有する。
【0009】アクセス中である回線数が多いときには、
受信したデータを削減して送信することにより、回線の
混雑を緩和させることができる。アクセス中である回線
数が少ないときには、必ずしもデータを削減する必要は
ない。
【0010】本発明の他の観点によれば、各々が受信手
段と送信手段を有する複数の通信装置を含む通信システ
ムであって、該複数の通信装置において該受信手段はそ
れぞれ同一のデータを受信する手段であり、該複数の通
信装置において該送信手段はそれぞれ該受信手段が受信
したデータを削減して送信することができる手段であ
り、一の通信装置で削減するデータと他の通信装置で削
減するデータとが異なる通信システムが提供される。
【0011】一の通信装置で削減するデータと他の通信
装置で削減するデータとが異なるので、各通信装置が送
信するデータの質が異なる。通信装置により、例えば、
削減されるデータ量やデータ対象が異なる。ユーザは、
アクセスする通信装置を選択することにより、所望の質
を有するデータを得ることができる。
【0012】
【発明の実施の形態】図1は、楽音情報の通信ネットワ
ークを示す図である。
【0013】演奏会場1には、MIDI楽器2、カメラ
4、エンコーダ3、5、及びルータ6が備えられる。演
奏会場1では、演奏者がMIDI楽器2を演奏する。M
IDI楽器2は、演奏者の演奏操作に応じてMIDIデ
ータを生成し、エンコーダ3に供給する。エンコーダ3
は、MIDIデータを所定のデータ形式で、ルータ6を
介してインターネット上にパケット送信する。データ形
式は、後に図4を参照しながら説明する。
【0014】カメラ4は、演奏者が演奏している様子を
撮影し、その様子を画像データとしてエンコーダ5に供
給する。エンコーダ5は、画像データを所定のデータ形
式で、ルータ6を介してインターネット上にパケット送
信する。マイク13は、ボーカル、ピアノ等の生楽器、
電気楽器の音声をサンプリングし、このサンプリングデ
ータを音声データとしてエンコーダ14に供給する。エ
ンコーダ14は音声データを所定のデータ形成でルータ
6を介しインターネット上にパケット送信する。データ
形式は、後に図4を参照しながら説明する。
【0015】ルータ6は、以下に示すインターネットを
介して、MIDIデータ及び画像データを送信する。当
該データは、電話回線又は専用回線を通り、ルータ6か
らメインサーバ7に供給され、さらに複数の中継サーバ
12a,12b,12c,・・・に供給され、さらにW
WW(world wide web)サーバ8に供給される。WWW
サーバ8は、いわゆるプロバイダである。
【0016】以下、中継サーバ12a、12b、12
c、…の全て又は個々を中継サーバ12という。中継サ
ーバ12は、通信回線の混雑を回避させる役割を有す
る。中継サーバ12は、通信回線の混み具合に応じて、
メインサーバ7から供給されるデータの量を調整してW
WWサーバ8に供給する。例えば、中継サーバ12にア
クセスするユーザの数(回線数)が多いときには、通信
回線が混雑していると判断し、データの間引きを行い、
データ量を減らす。データ量を減らすことにより、通信
回線の混雑を回避させることができる。
【0017】複数の中継サーバ12a,12b,12c
は、それぞれデータの削減量又は削減方法を異ならせる
ことができる。データの削減量は、そのデータに基づく
音質又は画質に影響する。削減量が多くなると、音質又
は画質が低くなる。
【0018】例えば、中継サーバ12aでは、アクセス
できるユーザの数を少なくし、音質及び画質を高くする
ことができる。他の中継サーバ12cでは、音質及び画
質を抑えることによって、アクセスできるユーザの数を
多くすることができる。この中継サーバ12の働きによ
り、通信回線の混雑を緩和させることができる。
【0019】ユーザは、ホームコンピュータ9をWWW
サーバ8に接続することにより、インターネットを使用
することができる。ホームコンピュータ9は、インター
ネットを使用し、MIDIデータ及び画像データ、音声
データをリアルタイムで受信することができる。ホーム
コンピュータ9は、ディスプレイ装置及び内蔵又は外付
けのMIDI音源を有し、ディスプレイ装置に画像デー
タを表示し、MIDI音源に楽音信号を生成させること
ができる。MIDI音源は、MIDIデータを基に楽音
信号を生成し、当該楽音信号を音声出力装置11に出力
する。音声出力装置11は、D/A変換器、アンプ及び
スピーカを有し、当該楽音信号に応じて発音する。又、
音声データはそのデータが再生され、D/A変換後アン
プを通り、スピーカより音声として再現される。演奏会
場1で演奏される演奏音と同等の音が音声出力装置11
からリアルタイムで発音される。
【0020】また、ホームコンピュータ9の外部に、M
IDI音源10を接続すれば、ホームコンピュータ9
は、MIDI音源10に楽音信号を生成させ、音声出力
装置11から発音させることができる。
【0021】なお、ユーザにとっては、画像データより
もMIDIデータ及び音声データの方が重要な情報であ
るので、画像データよりもMIDIデータ及び音声デー
タを優先して処理を行う。画像データは、画質が悪く、
コマ数が少なくてもさほど気にならないが、MIDIデ
ータ及び音声データに基づく楽音情報及び音声情報は高
品質が要求される。
【0022】ユーザは、自宅のホームコンピュータ9を
インターネットに接続すれば、誰でも演奏を聴くことが
できる。さらに、ユーザは、演奏会場1に赴かなくて
も、自宅にいながらディスプレイ装置で演奏会場1の光
景を見ながら、リアルタイムで演奏を聴くことができ
る。演奏会場1でコンサートを行った場合には、不特定
多数人が自宅でそのコンサートを楽しむことができる。
【0023】演奏会場1からMIDIデータをユーザの
自宅に送信することにより、演奏者が複数のユーザのそ
れぞれの自宅で電子楽器を演奏(演奏操作)しているか
のような状況を作り出すことができる。
【0024】コンサートの主催者は、コンサートの定員
を決めて、ユーザにチケットを発行することができる。
チケットには、例えばランクA(特等席)、ランクB
(普通席)、ランクC(立見席)等のランクをつけるこ
とができる。ランクAのユーザは中継サーバ12aにア
クセスでき、高い質の楽音情報及び画像情報が得られ
る。ランクBのユーザは、中継サーバ12bにアクセス
でき、データ量を削減した楽音情報及び画像情報が得ら
れる。ランクCのユーザは、中継サーバ12cにアクセ
スでき、データ量を削減した楽音情報だけが得られ、画
像情報は得られない。
【0025】さらに、インターネットでは、生の楽音情
報ではなく、MIDIデータを通信するので、雑音によ
り音質を下げることはない。ただし、インターネット
は、長距離通信を行い、かつ種々の通信ポイントを経由
するので、エンコーダ3、5におけるデータ送信時及び
ホームコンピュータ9におけるデータ受信時に、以下に
示す通信エラー対策を行う必要がある。通信エラーは、
例えば、データ化け、データ欠落、データ重複、データ
の順序入れ替え等である。
【0026】図2は、エンコーダ3、5及びホームコン
ピュータ9のハードウエアの構成を示す図である。これ
らは、汎用コンピュータを用いることができる。
【0027】バス31には、キーボードやマウス等の入
力装置26、表示器27、MIDI音源28、インター
ネットを行うための通信インターフェース29、MID
Iインターフェース30、RAM21、ROM22、C
PU23、外部記憶装置25が接続されている。
【0028】入力装置26は、種々の設定を指示するこ
とができる。ホームコンピュータ9においては、表示器
27は演奏会場の模様を表示し、MIDI音源28は受
信したMIDIデータを基に楽音信号を生成し、外部に
出力する。
【0029】通信インターフェース29は、インターネ
ットにより、MIDIデータ及び画像データを送受信す
るためのインターフェースである。MIDIインターフ
ェース30は、外部に対してMIDIデータを送受信す
るためのインターフェースである。
【0030】外部記憶装置25は、例えばハードディス
クドライブ、フロッピーディスクドライブ、CD−RO
Mドライブ、光磁気ディスクドライブ等であり、MID
Iデータ、画像データ又はコンピュータプログラム等を
記憶することができる。
【0031】ROM22は、コンピュータプログラムや
各種パラメータを記憶することができる。RAM21
は、キーオンバッファ21aと音源設定バッファ21b
を有する。キーオンバッファ21aは、MIDIデータ
中のキーオンイベントを格納し、音源設定バッファ21
bは、MIDIデータ中の音源設定情報を格納する。
【0032】RAM21は、その他、バッファやレジス
タ等のワーキングエリアを有し、ROM22や外部記憶
装置25に記憶されている内容をコピーして記憶するこ
とができる。CPU23は、ROM22又はRAM21
に記憶されているコンピュータプログラムに従って、各
種演算または処理を行う。CPU23は、タイマ24か
ら時間情報を得ることができる。
【0033】外部記憶装置25は、例えばハードディス
クドライブ(HDD)である。HDD25は動作プログ
ラムやMIDIデータ等の各種データを記憶することが
できる。ROM22に動作プログラムが記憶されていな
い場合、このHDD25内のハードディスクに動作プロ
グラムを記憶させておき、それをRAM21に読み込む
ことにより、ROM22に動作プログラムを記憶してい
る場合と同様の動作をCPU23にさせることができ
る。このようにすると、動作プログラムの追加やバージ
ョンアップ等が容易に行える。また、外部記憶装置25
は、HDD及びCD−ROM(コンパクトディスク−リ
ード・オンリィ・メモリ)ドライブを含むCD−ROM
ドライブは、CD−ROMに記憶されている動作プログ
ラムや各種データを読み出すことができる。読み出した
動作プログラムや各種データは、HDD内のハードディ
スクにストアされる。動作プログラムの新規インストー
ルやバージョンアップ等が容易に行える。なお、このC
D−ROMドライブ以外にも、外部記憶装置25とし
て、フロッピィディスクドライブ、光磁気ディスク(M
O)装置等、様々な形態のメディアを利用するための装
置を設けるようにしてもよい。
【0034】通信インターフェイス29はLAN(ロー
カルエリアネットワーク)やインターネット、電話回線
等の通信ネットワーク32に接続されており、該通信ネ
ットワーク32を介して、サーバコンピュータ33と接
続される。HDD25内に上記動作プログラムや各種デ
ータが記憶されていない場合、サーバコンピュータ33
からプログラムやデータをダウンロードするために用い
られる。クライアントとなるエンコーダ3,5又はホー
ムコンピュータ9は、通信インターフェイス29及び通
信ネットワーク32を介してサーバコンピュータ33へ
と動作プログラムやデータのダウンロードを要求するコ
マンドを送信する。サーバコンピュータ33は、このコ
マンドを受け、要求された動作プログラムやデータを、
通信ネットワーク32を介してエンコーダ3,5又はホ
ームコンピュータ9へと配信し、エンコーダ3,5又は
ホームコンピュータ9が通信インターフェイス29を介
して、これらプログラムやデータを受信してHDD25
に蓄積することにより、ダウンロードが完了する。
【0035】なお、本実施例は、本実施例に対応する動
作プログラムや各種データをインストールした市販のパ
ーソナルコンピュータ等によって、実施させるようにし
てもよい。その場合には、本実施例に対応する動作プロ
グラムや各種データを、CD−ROMやフロッピィディ
スク等のパーソナルコンピュータが読み込むことができ
る記憶媒体に記憶させた状態で、ユーザーに提供しても
よい。そのパーソナルコンピュータ等が、LAN、イン
ターネット、電話回線等の通信ネットワークに接続され
ている場合には、通信ネットワークを介して、動作プロ
グラムや各種データ等をパーソナルコンピュータ等に提
供してもよい。
【0036】図3は、MIDIデータの通信エラー対策
を示す図である。図では、模式的に、キーオン中をハイ
レベルで表し、キーオフ中をローレベルで表す。
【0037】時刻t1においてキーオンを送信し、時刻
t4においてキーオフを送信する場合を説明する。時刻
t1において送信したキーオンが通信エラーを起こし、
欠落する場合がある。その場合、受信側のホームコンピ
ュータ9は、キーオンを受け取らず、キーオフのみを受
け取ることになってしまう。これでは、正常な演奏を再
現することができない。キーオンが生成されず、キーオ
フのみが生成されることは、演奏規則上ありえない。
【0038】このような状況を回避するため、時刻t1
においてキーオンを送信した後、所定時間が経過する
度、すなわち時刻t2及び時刻t3においてリカバリー
キーデータを送信する。
【0039】リカバリーキーデータは、只今キーオン中
であることを確認的に伝えるデータである。時刻t1に
おけるキーオンが受信されなかった場合でも、時刻t2
におけるリカバリーキーデータを受信することにより、
時刻t1からわずか遅れるがキーオンさせることができ
る。さらに、時刻t1及びt2の両方のデータを受信で
きない場合であっても、時刻t3におけるリカバリーキ
ーデータによりキーオンさせることができる。
【0040】ただし、楽音信号は、一般的に時間の経過
と共に減衰する。したがって、リカバリーキーデータを
送信する際には、時間経過を考慮し、ベロシティ(音
量)の減少したキーオンを送信することが好ましい。具
体的には、時刻t1,t2,t3の順で、徐々にベロシ
ティを小さくしたキーオンを送信すればよい。
【0041】上記のリカバリーキーデータによりキーオ
ンの通信エラーをリカバリーすることができる。次に、
時刻t4のキーオフが通信エラーを起こした場合のリカ
バリー方法を説明する。
【0042】キーオフが生じた後、キーオンと同様にキ
ーオフのリカバリーデータを送信することも可能であ
る。ただし、各鍵において、キーオフ中の時間はキーオ
ン中の時間より著しく長い。一旦キーオフされた後、次
のキーオンまでリカバリーデータを送ると、そのデータ
量が莫大なものになってしまう。
【0043】キーオンのリカバリーキーデータは、キー
オンの時刻t1からキーオフの時刻t4の間送信され、
時刻t4の後は送信されない。すなわち、リカバリーキ
ーデータが送信されないことは既にキーオフが生じたこ
とを意味する。もし、ホームコンピュータ9が時刻t4
におけるキーオフを受信できなかったときには、その後
にリカバリーキーデータが送信されてこないことを確認
し、現在キーオフ中であると判断すればよい。
【0044】ホームコンピュータ9は、現在キーオン中
であるにもかかわらずリカバリーキーデータが送信され
てこなくなったときには、キーオフし、音が誤って鳴り
つづける現象を防止することができる。これらの判断
は、図2のキーオンバッファ21aを参照することによ
り行う。詳細は、後にフローチャートを参照しながら説
明する。
【0045】キーオン/オフの場合と同様に、図2の音
源設定バッファ21bを参照することにより、音源設定
情報をリカバリーするためのリカバリー音源設定情報を
通信することもできる。
【0046】図4は、通信パケットのフォーマットを示
す図である。図1のエンコーダ3、5は当該パケットを
送信し、ホームコンピュータ9は当該パケットを受信す
る。
【0047】パケットは、ヘッダ部41とデータ部42
からなる。ヘッダ部41は、2ワード(1ワードは16
ビット)のチェックサム43、4ワードのデータID4
4、4ワードのシーケンスナンバー45、4ワードの時
間情報46、2ワードのイベントデータ長47を有す
る。
【0048】チェックサム43は、チェックサムを除く
ヘッダ部41とデータ部42のデータの合計値である。
送信側は、当該合計値を計算し、チェックサム43とし
てパケット中に付与する。受信側は、当該合計値を計算
し、チェックサム43の値と合っていれば、通信エラー
がないことを確認することができる。
【0049】データID44は、データ部42の種類を
番号で表す。番号0、1、2はMIDIデータであり、
番号3は画像データであり、番号4は音声データであ
る。MIDIデータのうち、番号0は実イベントのデー
タ(通常のMIDIデータ)であり、番号1はリカバリ
ーキーデータ(図3)であり、番号2はリカバリー音源
設定情報である。
【0050】シーケンスナンバー45は、パケット単位
で付与されるシーケンスナンバーである。受信側は、シ
ーケンスナンバー45を確認することにより、通信エラ
ーによりデータの順序が入れ替った場合でもリカバリー
することができる。
【0051】時間情報46は、1ビットが1msを示す
再生時間である。4ワードあれば100時間以上の時間
情報を表現することができる。時間情報46を用いれ
ば、複数の演奏会場での同時セッションが可能になる。
各演奏会場毎に演奏時間を時間情報46として付与すれ
ば、演奏会場同士の同期をとりながら自宅で同時演奏を
聴くことができる。時間情報46は、絶対時間が望まし
いが、全ての演奏会場の共通時間であれば相対時間でも
よい。
【0052】イベントデータ長47は、データ部42の
データ長を表す。データ部42は、実データ48からな
る。実データ48は、MIDIデータ又は画像データで
ある。
【0053】通信速度は、高速であることが好ましい。
例えば64Kビット/s(ISDN回線)である。1パ
ケットのデータ長は、限定されないが、通信効率を考慮
すれば約1Kバイト又は512バイトが好ましい。
【0054】図5は、エンコーダ3が行う送信処理を示
すフローチャートである。ステップSA1において、M
IDI楽器2からMIDIデータを受信する。ステップ
SA2では、受信したデータをRAMにバッファリング
する。
【0055】ステップSA3では、受信したデータのイ
ベントの種類を識別する。キーオンであれば、ステップ
SA6へ進み、当該キーオンをキーオンバッファ21a
(図2)に登録し、ステップSA7へ進む。
【0056】キーオフであれば、ステップSA4へ進
み、キーオンバッファ21aをサーチして、同一のキー
コードがあればそのキーオンをキーオンバッファ21a
から削除する。その後、ステップSA7へ進む。
【0057】音源設定情報であれば、ステップSA5へ
進み、当該音源設定情報を音源設定バッファ21b(図
2)に登録し、ステップSA7へ進む。音源設定情報
は、プログラムチェンジ、コントロールデータ、イクス
クルーシブメッセージ、その他のデータである。
【0058】ステップSA7では、図4に示すように、
チェックサム43、実イベントデータ(番号0)を示す
データID44、シーケンスナンバー45、タイマに応
じた時間情報46、イベントデータ長47を、受信した
MIDIデータに付加し、パケット化して送信する。こ
の際、ほぼ同時間に発生した同種類の複数のイベントを
1つにまとめてパケット化し、送信することができる。
その後、送信処理を終了する。
【0059】なお、エンコーダ5は、上記の処理と同様
にして、画像データを送信する。その場合、データID
44の番号は3である。
【0060】図6(A)、(B)は、エンコーダ3が行
う割り込み処理を示すフローチャートである。当該割り
込み処理は、タイマに応じた所定時間間隔で行われる。
例えば、100〜200μsの間隔で割り込み処理が行
われる。
【0061】図6(A)は、リカバリーキーデータの送
信処理を示すフローチャートである。
【0062】ステップSB1では、キーオンバッファ2
1a(図2)をサーチする。ステップSB2では、キー
オンバッファ21a中のイベントデータを、リカバリー
キーデータとして、図4に示すようにパケット化して送
信する。ただし、リカバリーキーデータは、時間経過を
考慮して、キーオンバッファ21a中のキーオンよりも
減少させたベロシティを設定する。
【0063】パケット中のデータID44は、リカバリ
ーキーデータを示す番号1である。シーケンスナンバー
45は、実イベントデータ(図5)とリカバリーキーデ
ータ(図6(A))との共通のシーケンスナンバーであ
る。送信後、割り込み前の処理に戻る。
【0064】図6(B)は、リカバリー音源設定情報の
送信処理を示すフローチャートである。当該送信処理
は、比較的時間的精度が要求されないので、リカバリー
キーデータの送信処理(図6(A))よりも長い周期で
行ってもよい。
【0065】ステップSC1では、音源設定バッファ2
1b(図2)をサーチする。ステップSC2では、音源
設定バッファ21b中のイベントデータを、リカバリー
音源設定情報として、図4に示すようにパケット化して
送信する。
【0066】パケット中のデータID44は、リカバリ
ー音源設定情報を示す番号2である。シーケンスナンバ
ー45は、実イベントデータ(図5)とリカバリーキー
データ(図6(A))とリカバリー音源設定情報(図6
(B))との共通のシーケンスナンバーである。送信
後、割り込み前の処理に戻る。
【0067】図7は、ホームコンピュータ9が行う受信
処理を示すフローチャートである。ステップSD1にお
いて、インターネット上のデータを受信する。ステップ
SD2では、パケット中のチェックサム43(図4)を
確認する。
【0068】ステップSD3では、チェックサムの結果
をチェックする。チェックサムがエラーであれば、パケ
ット中にデータの誤りがあることを示すので、ステップ
SD9へ進み、何もせずに処理を終了する。信頼性に欠
けるデータは捨てることにより、誤った発音や設定をな
くすことが効果的である。
【0069】チェックサムが正常であれば、データの信
頼性があるので、ステップSD4へ進む。ステップSD
4では、パケット中のシーケンスナンバー45(図4)
を確認する。正常な通信では、受信毎にシーケンスナン
バー45が順次増加するが、通信エラーにより受信デー
タの順番が入れ替わることがある。
【0070】ステップSD5では、受信したデータが再
生すべきシーケンスナンバー45であり、かつホームコ
ンピュータ9の現時刻が再生すべき時間情報46(図
4)以降であるか否かをチェックする。複数の演奏会場
での同時セッションを行う場合には、ある演奏会場の時
間情報46が未だ再生すべき時間になっていないことが
ある。
【0071】未だ再生すべきでないときには、ステップ
SD10へ進み、受信したデータをRAMにバッファリ
ングし、後の適正なタイミングでの処理に備える。その
後、処理を終了する。
【0072】再生すべきであるときには、ステップSD
6へ進み、イベント処理を行う。イベント処理は、MI
DIデータや画像データ等のイベントに応じた処理であ
る。その詳細は、後に図8のフローチャートを参照しな
がら説明する。
【0073】ステップSD7では、シーケンスナンバー
をカウントアップする。ステップSD8では、ステップ
SD10でバッファリングしたバッファ内のデータが、
再生すべきシーケンスナンバー45であり、かつ現時刻
が再生すべき時間情報46以降のものがあるか否かをチ
ェックする。
【0074】再生すべきものがないときには、処理を終
了する。再生すべきものがあるときには、ステップSD
6へ進み、当該データについての処理を繰り返す。バッ
ファ内に再生すべきデータがなくなるまで、当該処理を
繰り返す。この処理により、通信エラーによりデータの
順序が入れ替わって受信したデータをも適切に処理する
ことができる。
【0075】なお、バッファ内に所定以上のデータが蓄
積されたときには、次に処理すべきシーケンスナンバー
のデータが欠落したと判断し、そのデータの処理を飛ば
し、その次のシーケンスナンバーのデータの処理を進め
る。
【0076】図8は、図7のステップSD6に示すイベ
ント処理の詳細を示すフローチャートである。
【0077】ステップSE1では、データIDの番号を
識別する。番号が0であれば、実イベントデータを示
し、ステップSE2へ進む。ステップSE2では、イベ
ントの種類を識別する。
【0078】キーオンであれば、ステップSE3へ進
み、当該キーオンをキーオンバッファ21a(図2)に
登録し、音源へ転送する。音源は、キーオンを受けて、
発音開始のための処理を行う。その後、図7の処理へ戻
る。
【0079】キーオフであれば、ステップSE4へ進
み、キーオンバッファ21aをサーチして、同一のキー
コードがあれば、キーオンバッファ21a中のキーオン
を削除し、当該キーオフを音源へ転送する。音源は、キ
ーオフを受けて、消音のための処理を行う。その後、図
7の処理へ戻る。
【0080】音源設定情報であれば、ステップSE5へ
進み、当該音源設定情報を音源設定バッファ21bに登
録し、音源へ転送する。音源は、音源設定情報を受け
て、音色、音量等を設定する。その後、図7の処理へ戻
る。
【0081】データIDの番号が1であれば、受信した
データがリカバリーキーデータであることを意味し、ス
テップSE6へ進む。当該リカバリーキーデータを現在
のキーオンバッファ21aと比較し、その差分をイベン
ト化してキーオンバッファ21aに登録して、音源へ転
送する。この処理により、通信エラーにより欠落したキ
ーオンをリカバリーすることができる。
【0082】ステップSE7では、当該リカバリーキー
データを受信したことを登録する。キーオフ後は、リカ
バリーキーデータが送信されてこなくなるので、この登
録を行うことにより、対応するキーオンが現在もキーオ
ン中であることを確認することができる。キーオンバッ
ファにキーオンが存在するにもかかわらず、リカバリー
キーデータが送信されてこなくなったら、キーオフが欠
落していることを示す。その後、図7の処理へ戻る。
【0083】データIDの番号が2であれば、受信した
データがリカバリー音源設定情報であることを意味し、
ステップSE8へ進む。当該リカバリー音源設定情報を
現在の音源設定バッファ21bと比較し、その差分をイ
ベント化して音源設定バッファ21bに登録して、音源
へ転送する。この処理により、通信エラーにより欠落し
た音源設定情報をリカバリーすることができる。
【0084】データIDの番号が3であれば、受信した
データが画像データであることを意味し、ステップSE
9へ進む。ステップSE9では、当該画像データを表示
器に表示する処理を行う。ただし、画像データは、MI
DIデータよりも優先度を低くして処理を行う。表示す
る画像は、原則として1画面を単位として処理を行う。
MIDIデータを優先させるため、画像は静止画像でも
よい。その後、図7の処理へ戻る。データIDが42で
あれば、受信データは音声データであることを意味し、
ステップSE10へ進む。ステップSE10では音声デ
ータを再生する処理を行なう。
【0085】図9は、ホームコンピュータ9が行う割り
込み処理を示すフローチャートである。当該割り込み処
理は、タイマに応じて所定時間間隔で行われる。例え
ば、100〜200μsの間隔で割り込み処理が行われ
る。
【0086】ステップSF1では、キーオンバッファ2
1a(図2)をサーチする。ステップSF2では、キー
オンバッファ21a中のキーオンの中で、一定時間、対
応するリカバリーキーデータを受信しないものについて
は、当該キーオンを削除し、対応するキーオフを音源に
転送する。当該転送後、割り込み前の処理に戻る。この
一定時間は、少なくとも引続く2回のリカバリーデータ
を受信するのに十分な時間とすることができる。
【0087】この処理により、通信エラーによりキーオ
フが欠落した際にも、誤って音が鳴り続けることを防止
することができる。なお、一定時間リカバリーキーデー
タを受信しないことの判断は、図8のステップSE7で
リカバリーキーデータの受信を登録することにより、可
能となる。
【0088】上記のリカバリーキーデータ及びリカバリ
ー音源設定情報(以下、両者をまとめてリカバリーデー
タと呼ぶ)を送信することにより、データの欠落又は化
けが生じた場合にも、適切なリカバリーを行うことがで
きる。
【0089】次に、回線の混雑を緩和させる方法を説明
する。ネットワーク上で演奏情報及び上記のリカバリー
データを通信する場合、かなり多くのデータが回線を流
れる。また、上記のコンサートを行う場合、サーバに同
時にアクセスするユーザの数もかなりの数になる。
【0090】このような状況下においては、ユーザが所
有するホームコンピュータにおいてスムーズな演奏を再
現する保証を確保できない場合が生じえる。そこで、図
1に示すように中継サーバを複数設け、それぞれの中継
サーバが回線の混み具合に応じて独自にデータを削減
し、回線の混雑を緩和させる。
【0091】ただし、データを削減すると、音質又は画
質が低下するので、中継サーバは、独自に許容できるデ
ータ削減率や削減方法、及び自己にアクセス可能なユー
ザの数を設定することができる。
【0092】中継サーバは、自己にアクセスする数が少
ないときにはデータを削減しないでユーザに送信し、ア
クセスする数が多くなるとデータを削減してユーザに送
信することができる。
【0093】データを削減する方法には、以下のものが
ある。 (1)データの分離 中継サーバは、楽音情報(MIDIデータ)と画像情報
(画像データ)と音声情報(オーディオデータ)を受信
する。画像情報は、楽音情報及び音声情報に比べればデ
ータの質がそれほど要求されないので、中継サーバは受
信した情報を楽音情報及び音声情報と、画像情報とに分
離し、楽音情報及び音声情報のみをユーザに送信するこ
とができる。同様にして、楽音情報、音声情報又は画像
情報中のデータについて更に細かく分離し、必要なデー
タのみを送信するようにしてもよい。重要な情報のみを
送信してデータを削減することにより、回線の混雑を緩
和させることができる。
【0094】(2)データの差別化 中継サーバは、データの優先度を規定し、重要なデータ
を優先的に送信する。すなわち、回線が混雑していると
きには重要なデータのみをその時に送信し、重要でない
データは後に時間をずらして送信し、回線の混雑を緩和
させる。この方法は、全体的には必ずしもデータ量が削
減されていないが、その時点で送信するデータ量は削減
される。
【0095】例えば、キーオフの欠落は、キーオンの欠
落に比べ、致命的なエラーである。つまり、キーオフの
情報は、データの重要度が高い。中継サーバは、受信し
たパケットをキーオフとそれ以外のデータに分割し、前
者をまず優先的に送信し、その後に後者を送信する。
【0096】なお、キーオンとそれに対応するキーオフ
が同一のパケット内に存在するときに、キーオンとキー
オフを分割して先にキーオフを送信し後にキーオンを送
信すると不都合が生じるので、その場合は両者とも送信
しないことが好ましい。同様にして、優先的に送信する
ことの不都合がある場合には、それに対処した処理が必
要である。
【0097】(3)データの分解能操作 中継サーバは、データの分解能を低くしてユーザに送信
し、データ量を減らす。例えば、ボリュームが時間の経
過と共に1ステップずつ増加する場合、データの分解能
を低くし、2ステップずつ増加するデータを送信し、デ
ータ量を1/2にする。ボリュームの他、ピッチベンド
やアフタタッチ等のコントロールデータ(コントローラ
のデータ)の分解能を下げることができる。コントロー
ラの種類に応じて異なる分解能を設定し、複数のコント
ロールデータの分解能を下げるようにしてもよい。
【0098】(4)時間の分解能操作 上記のリカバリーデータは、周期的に送信される。中継
サーバは、リカバリーデータを送信する周期を長くし、
リカバリーデータのデータ量を減らす。また、画像の送
信レートを下げることができる。例えば、秒間8コマか
ら4コマに下げることにより、データ量を減らすことが
できる。
【0099】中継サーバについて説明する。中継サーバ
は、図2に示すコンピュータと同様な構成を有する。た
だし、音源28、MIDIインターフェース30は、必
ずしも必要でない。
【0100】図10は、図1に示す中継サーバ12が有
するRAMの構成を示す。複数の中継サーバ12a,1
2b,12cは、それぞれRAMに以下の情報を記憶す
る。
【0101】(1)現在のアクセス数51 現在のアクセス数51は、自己の中継サーバに現在アク
セス中であるユーザの数(回線数)を示し、アクセス状
況に応じて変化する。アクセス数は、初期時には0であ
り、ユーザがアクセスを開始する度に増え、アクセスを
解除すれば減る。
【0102】(2)オーバーフローフラグ52 オーバーフローフラグ52は、当該中継サーバがオーバ
ーフローしたか否かを示すフラグである。初期時には、
オーバーフローフラグ52は0に設定される。オーバー
フローフラグ52が0であることは、オーバーフローし
ていないことを示す。当該中継サーバにアクセスするユ
ーザの数が後に示す許容アクセス数54に達すると、オ
ーバーフローフラグ52が1になる。
【0103】(3)現在の間引き係数53 現在の間引き係数53は、現在設定されている間引き係
数を示す。間引き係数は、データを削減する(以下、間
引くともいう)割合や間引く方法を示す係数である。間
引き係数53は、初期時には0に設定される。間引き係
数53が0であることは、間引きを行わないことを示
す。表1に間引き係数の例を示す。
【0104】
【表1】 なお、上記の間引き係数を複合したものを、1つの間引
き係数としてもよい。
【0105】(4)許容アクセス数54 許容アクセス数54は、当該中継サーバにアクセス可能
なユーザ数(回線数)の最大値を示し、任意の定数を設
定することができる。許容アクセス数54は、当該中継
サーバの定員に相当する。
【0106】(5)許容間引き係数55 許容間引き係数55は、当該中継サーバにおいて許容で
きる間引き係数の最大値を示す。例えば、間引き係数
は、間引く割合に相当し、係数が大きくなればなるほど
間引く割合が大きくなる。中継サーバ毎にアクセス数に
応じて、許容できる間引きの程度を決めることができ
る。
【0107】(6)テーブル番号56 テーブル番号56は、アクセス数と間引き係数を対応付
けるテーブルの番号を示す。図11に、3種類のテーブ
ルを示す特性線60a,60b,60cの例を示す。テ
ーブルは、アクセス数と間引き係数を対応付けるもので
ある。アクセス数が多くなるに従って、データの削減量
が多くなることが好ましい。特性線60は、線で表され
る連続値である必要はなく、離散値であってもよい。ま
た、間引き係数の大きさは、必ずしもデータ削減量を示
すものではないので、アクセス数が多くなるに従って、
必ずしも間引き係数が大きくなる必要なない。これらの
テーブルは、メモリに記憶される。
【0108】テーブルは複数用意されており(例えば、
3種類のテーブル60a,60b,60c)、自己の中
継サーバに最適なテーブルの番号をテーブル番号56と
する。
【0109】(7)次候補中継サーバアドレス57 次候補中継サーバアドレス57は、当該中継サーバがオ
ーバーフローしたときに移行する他の中継サーバのアド
レスを示す。ユーザがある中継サーバにアクセスしたと
き、その中継サーバがオーバーフローしていれば、次候
補中継サーバアドレスが示す中継サーバに自動的に移行
する。
【0110】図12は、ユーザが中継サーバにアクセス
したときに行う中継サーバの処理を示すフローチャート
である。
【0111】ステップSG1において、ユーザ(クライ
アント)からのアクセスを検知したときにはステップS
G2以降の処理を行う。ユーザは、中継サーバにアクセ
スすることにより、楽音情報、音声情報又は画像情報を
得ることができる。
【0112】ステップSG2では、オーバーフローフラ
グ52(図10)が0か1かをチェックする。オーバー
フローフラグが1であるときには、自己へのアクセス数
が許容アクセス数を超えているので、ステップSG6へ
進む。
【0113】ステップSG6では、次候補中継サーバア
ドレス57(図10)に従い、他の中継サーバへアドレ
スを移動させる。すなわち、ユーザのアクセスは、自動
的に他の中継サーバへ移される。ユーザは、結果として
当該他の中継サーバへアクセスすることになる。当該他
の中継サーバにおいてもオーバーフローしているときに
は、さらに他の中継サーバへ移される。このようにし
て、アクセスした中継サーバが混雑しているときには、
混雑していない他の中継サーバへ自動的に移される。中
継サーバは、他の中継サーバへ移行させた後に、処理を
終了する。
【0114】ステップSG2においてオーバーフローフ
ラグが0であると判断されたときには、当該中継サーバ
へのアクセス数が許容アクセス数よりも少ないことを意
味するので、ステップSG3へ進む。
【0115】ステップSG3では、現在のアクセス数5
1(図10)をインクリメントする。アクセス数51
は、自己の中継サーバにアクセス中であるユーザの数を
示す。中継サーバは、ユーザからアクセスを許す度に、
アクセス数51をインクリメントする。
【0116】次に、テーブル番号56(図10)が示す
テーブル(図11)を用いて、上記のアクセス数51に
対応する間引き係数を求め、現在の間引き係数53とし
てメモリに書き込む。間引き係数が変化しない時は、書
き込みを省略してもよい。アクセス数が多くなると、間
引き率の大きい間引き係数が選ばれる。
【0117】ステップSG4では、現在のアクセス数5
1が許容アクセス数54(図10)に達したか否かをチ
ェックする。達したときには、ステップSG5へ進み、
オーバーフローフラグ52に1をセットし、これ以上ア
クセス数を増やさないようにする。達していないときに
は、オーバーフローフラグを0のままにする。その後、
処理を終了する。
【0118】図13は、ユーザが中継サーバへのアクセ
スを解除したときに行う中継サーバの処理を示すフロー
チャートである。
【0119】ステップSH1において、ユーザ(クライ
アント)がアクセスを解除したことを検知したときには
ステップSH2以降の処理を行う。
【0120】ステップSH2では、現在のアクセス数5
1(図10)をデクリメントする。中継サーバは、ユー
ザがアクセスを解除する度に、アクセス数51をデクリ
メントする。
【0121】次に、テーブル番号56(図10)が示す
テーブル(図11)を用いて、上記のアクセス数51に
対応する間引き係数を求め、現在の間引き係数53とし
てメモリに書き込む。間引き係数が変化しない時は、書
き込みを省略してもよい。アクセス数が減ると、間引き
率の少ない間引き係数へ変更することができる。
【0122】ステップSH3では、オーバーフローフラ
グ52(図10)が0か1かをチェックする。オーバー
フローフラグが1であるときには、ステップSH4へ進
み、オーバーフローフラグを0にセットし、新たなアク
セスを受け付け可能にする。オーバーフローフラグが0
であるときには、オーバーフローフラグを0のままにす
る。その後、処理を終了する。
【0123】なお、ステップSH3においてオーバフロ
ーフラグをチェックせずに、オーバーフローフラグが0
であっても1であってもオーバーフローフラグを1にセ
ットしてもよい。この場合も、上記と同一の動作を行う
ことができる。
【0124】図14は、中継サーバがメインサーバから
データを受信する際の中継サーバの処理を示すフローチ
ャートである。
【0125】ステップSI1では、メインサーバ7(図
1)からデータをパケット形式で受信する。データは、
楽音情報(リカバリーデータを含む)と音声情報と画像
情報を含む。中継サーバは、間引きされていないデータ
を受信する。複数の中継サーバは、全て同一のデータを
受信する。
【0126】ステップSI2では、現在の間引き係数5
3(図10)を基に間引き方法(状態)を決定する。例
えば、間引き係数が0であれば、データの間引きを行わ
ない(表1)。
【0127】ステップSI3では、決定した間引き方法
に応じ、受信パケットのデータ部42(図4)から、所
定のデータを削除する。
【0128】ステップSI4では、パケットヘッダ部4
1(図4)のチェックサム43、データ長47等を書き
換える。チェックサム43及びデータ長47等は、上記
所定のデータを削除した後のデータに対応するものに書
き換えられる。
【0129】処理を簡略化する場合には、パケット内の
シーケンスナンバー45と時間46は書き換えなくても
よい。逆に、データの質を高めたい場合には、シーケン
スナンバー45及び時間46を適正値に書き換えればよ
い。書き換えを行えば、データの欠落や入れ替え等の通
信エラーをより充分にリカバリーすることができる。
【0130】ステップSI5では、WWWサーバ8(図
1)へ書き換えたパケットを転送する。WWWサーバ
は、所定の間引きが行われたデータを受信する。複数の
中継サーバは、同じデータをメインサーバ7から受信
し、各々異なる間引きを行い、WWWサーバ8へ転送す
ることができる。以上で、処理を終了する。
【0131】図15は、中継サーバがリカバリーデータ
を間引く際の中継サーバの処理を示すフローチャートで
ある。
【0132】ステップSJ1では、メインサーバ7から
受信したパケットがリカバリーデータであるか否かをチ
ェックする。当該チェックは、データID44(図4)
を参照することにより行う。データIDの値が1又は2
であればリカバリーデータである。このフローチャート
は、リカバリーデータの間引きを行うためのものである
ので、リカバリーデータ以外のデータを受信したときに
は、直ちに処理を終了する。リカバリーデータを受信し
たときには、ステップSJ2へ進む。
【0133】ステップSJ2では、レジスタrecov
er_timerの値が、間引き係数が指定する時間よ
りも大きいか否かをチェックする。レジスタrecov
er_timerは、前回のリカバリーデータを受信し
てからの経過時間を示す。間引き係数が指定する時間
は、リカバリーデータを送信する周期に相当する。
【0134】レジスタrecover_timerが、
間引き係数が指定する時間よりも大きくなっていたとき
には、ステップSJ3へ進む。
【0135】ステップSJ3では、当該受信したパケッ
トをそのままWWWサーバ8へ転送する。ステップSJ
4では、レジスタrecover_timerに0をセ
ットし、処理を終了する。
【0136】レジスタrecover_timerは、
この後、割り込み処理により、所定時間間隔でカウント
アップされる。割り込み処理は、図2に示すタイマ24
により所定時間間隔で処理の開始を指示される。
【0137】ステップSJ2においてレジスタreco
ver_timerが、間引き係数が指定する時間より
も大きくなっていないときには、未だ所定時間を経過し
ていないことを意味するので、ステップSJ5へ進む。
【0138】ステップSJ5では、受信したパケットの
データ部を全て削除し、ヘッダ部のみを残す。ステップ
SJ6では、上記のヘッダ部のみからなるパケットをW
WWサーバ8へ転送し、処理を終了する。
【0139】なお、上記の処理でヘッダ部を転送する場
合を説明したが、パケットそのものを転送しないように
して、さらにデータ量を減らしてもよい。ただし、その
場合は、間引きによりパケットが削除されたのか、通信
エラーによりパケットが欠落したのかを判断する必要が
ある。通信エラーによりパケットが欠落したときにはデ
ータを回復させる必要があるが、間引きによりパケット
を削除したときにはデータを回復させる必要はない。
【0140】また、レジスタrecover_time
rの値を割り込み処理によりカウントアップする代わり
に、メインサーバからリカバリーデータを受信した回数
をカウントしてもよい。例えば、メインサーバからリカ
バリーデータを3回受信する際、1回目と2回目のデー
タはリカバリーデータを削除して転送し、3回目のデー
タはリカバリーデータを削除せずに転送する。この処理
によれば、レジスタrecover_timerの値を
割り込み処理によりカウントアップさせる必要がなくな
る。
【0141】図16は、中継サーバがキーオフを優先的
に送信する際の中継サーバの処理を示すフローチャート
である。
【0142】ステップSK1では、メインサーバから受
信したパケット中からキーオフデータを抽出し、ステッ
プSK2へ進む。なお、パケットにキーオフデータが含
まれていないときには、受信したパケットをそのままW
WWサーバへ転送する。
【0143】ステップSK2では、抽出したキーオフデ
ータのみをデータ部としたパケットを新規に作成する。
【0144】ステップSK3では、当該新規に作成した
パケットをWWWサーバへ転送する。
【0145】ステップSK4では、キーオフデータを削
除した受信パケットをWWWサーバへ転送し、処理を終
了する。すなわち、パケット内のデータをキーオフデー
タとそれ以外のデータに分離し、まずステップSK3で
キーオフデータを優先的に転送し、その後にステップS
K4でそれ以外のデータを転送する。
【0146】ステップSK3で転送する時期に比べ、ス
テップSK4で転送する時期を遅らせることにより、デ
ータを分散して転送することができるので、データをあ
る時期に集中して転送する場合に比べ回線の混雑を緩和
させることができる。
【0147】図17は、中継サーバが画像データを削除
して転送する際の中継サーバの処理を示すフローチャー
トである。
【0148】ステップSL1では、メインサーバから受
信したパケットが画像データであるか否かをチェックす
る。当該チェックは、データID44(図4)を参照す
ることにより行う。データIDの値が3であれば画像デ
ータである。このフローチャートは、画像データを削除
するためのものであるので、画像データ以外のデータを
受信したときには、直ちに処理を終了する。画像データ
を受信したときには、ステップSL2へ進む。
【0149】ステップSL2では、受信したパケット内
のデータ部を全て削除し、ヘッダ部のみを残す。ステッ
プSL3では、上記のヘッダ部のみからなるパケットを
WWWサーバ8へ転送し、処理を終了する。
【0150】この場合も、ヘッダ部のみを転送する代わ
りに、パケットそのものを転送しないようにして、さら
にデータ量を減らしてもよい。
【0151】図18は、中継サーバがデータの分解能を
落として転送する際の中継サーバの処理を示すフローチ
ャートである。
【0152】ステップSM1では、メインサーバから受
信したパケット中から間引き対象のデータを抽出し、ス
テップSM2へ進む。対象データは、例えばボリュー
ム、ピッチベンド、アフタタッチ等のコントロールデー
タである。パケットに対象データが含まれていないとき
には、受信したパケットをそのままWWWサーバ8へ転
送する。
【0153】ステップSM2では、データを指定分解能
に応じた値に換算する。例えば、分解能を1/4にする
ときには、パケット内の同種類の対象データの全てを1
/4倍し、小数部を切り捨てた値に換算する。
【0154】ステップSM3では、換算値が同じになっ
たものは1つのデータのみをパケット内に残し、他のも
のは削除し、WWWサーバへ転送する。
【0155】なお、対象データをモジュロ(modul
o)演算して、演算結果が0のもののみを残し、他のも
のを削除するようにしてもよい。
【0156】また、対象データを複数設け、それぞれ個
別の分解能を指定できるようにしてもよい。
【0157】本実施例は、インターネットを用いること
により、演奏会場における演奏情報(MIDIデー
タ)、音声データ(オーディオデータ)及び演奏映像
(画像データ)を、不特定多数のユーザに供給すること
ができる。ユーザは、演奏会場に赴かなくても、自宅に
いながらリアルタイムでMIDIデータ及び画像データ
を得ることができる。
【0158】複数の演奏会場において、各エンコーダが
MIDIデータ等に共通の時間情報を付与すれば、複数
の会場間でのセッションが可能になる。
【0159】中継サーバを複数設け、それぞれの中継サ
ーバのアクセス数に応じて独自にデータを削減し、回線
の混雑を緩和させることができる。中継サーバの数を増
やせば、データの間引きを行わなくても回線の混雑を緩
和させることができるが、データの間引きを行えば中継
サーバの数が少なくても回線の混雑を緩和させることが
できる。
【0160】ただし、データを削減すると、音質又は画
質が低下するので、中継サーバは、独自に許容できるデ
ータ間引き率や間引き方法、及び自己にアクセス可能な
ユーザの数を設定することができる。
【0161】中継サーバは、データの間引き率や間引き
方法に関する情報をユーザに提供し、ホームコンピュー
タのディスプレイに表示させることができる。例えば、
「只今、音質を落としています。」、又は「只今、楽音
情報のみ提供しています。」等を表示させることができ
る。当該表示は、ユーザがアクセスした際に表示するこ
とが好ましい。ユーザは、当該表示を参考すれば、所望
の中継サーバにアクセスすることができる。
【0162】中継サーバは、インターネットにおけるミ
ラーサーバに類似するものであるが、ミラーサーバー
は、複数のものが全て同じ動作をし同じデータを供給す
る点で本実施例の中継サーバと異なる。
【0163】なお、本実施例は、インターネットに限定
されない。例えば、IEEE1394規格のデジタルシ
リアル通信や通信衛星等の他の通信にも適用することが
できる。
【0164】以上実施例に沿って本発明を説明したが、
本発明はこれらに制限されるものではない。例えば、種
々の変更、改良、組み合わせ等が可能なことは当業者に
自明であろう。
【0165】
【発明の効果】以上説明したように、本発明によれば、
アクセス中である回線数が多いときには、受信したデー
タを削減して送信することができるので、回線の混雑を
緩和させることができる。
【0166】また、一の通信装置で削減するデータと他
の通信装置で削減するデータとが異なるので、各通信装
置が送信するデータの質が異なる。ユーザは、アクセス
する通信装置を選択することにより、所望の質を有する
データを得ることができる。
【図面の簡単な説明】
【図1】 楽音情報の通信ネットワークを示す図であ
る。
【図2】 エンコーダ及びホームコンピュータのハード
ウエアの構成を示す図である。
【図3】 MIDIデータの通信エラー対策の方法を示
す図である。
【図4】 通信パケットのフォーマットを示す図であ
る。
【図5】 エンコーダが行う送信処理を示すフローチャ
ートである。
【図6】 エンコーダが行う割り込み処理を示すフロー
チャートである。図6(A)はリカバリーキーデータの
送信処理を示すフローチャートであり、図6(B)はリ
カバリー音源設定情報の送信処理を示すフローチャート
である。
【図7】 ホームコンピュータが行う受信処理を示すフ
ローチャートである。
【図8】 図7のステップSD6に示すイベント処理の
詳細を示すフローチャートである。
【図9】 ホームコンピュータが行う割り込み処理を示
すフローチャートである。
【図10】 中継サーバ内のメモリの構成を示す図であ
る。
【図11】 アクセス数と間引き係数の関係を示すグラ
フである。
【図12】 ユーザが中継サーバにアクセスしたときに
行う中継サーバの処理を示すフローチャートである。
【図13】 ユーザが中継サーバへのアクセスを解除し
たときに行う中継サーバの処理を示すフローチャートで
ある。
【図14】 中継サーバがメインサーバからデータを受
信する際の中継サーバの処理を示すフローチャートであ
る。
【図15】 中継サーバがリカバリーデータを間引く際
の中継サーバの処理を示すフローチャートである。
【図16】 中継サーバがキーオフを優先的に送信する
際の中継サーバの処理を示すフローチャートである。
【図17】 中継サーバが画像データを削除して転送す
る際の中継サーバの処理を示すフローチャートである。
【図18】 中継サーバがデータの分解能を落として転
送する際の中継サーバの処理を示すフローチャートであ
る。
【符号の説明】
1 演奏会場、 2 MIDI楽器、 3,5 エ
ンコーダ、 4 カメラ、 6 ルータ、 7
メインサーバ、 8 WWWサーバ、 9ホームコ
ンピュータ、 10 MIDI音源、 11 音声
出力装置、12 中継サーバ、 21 RAM、
21a キーオンバッファ、21b 音源設定情報バッ
ファ、 22 ROM、 23 CPU、 24
タイマ、 25 外部記憶装置、 26 入力装
置、 27 表示器、 28 音源、 29 イ
ンターネット用インターフェース、 30MIDIイ
ンターフェース、 31 バス、 41 ヘッダ
部、 42データ部、 43 チェックサム、
44 データID、 45 シーケンスナンバー、
46 時間情報、 47 イベントデータ長、
48MIDIデータ又は画像データ、 51 現在の
アクセス数、 52 オーバーフローフラグ、 5
3 現在の間引き係数、 54 許容アクセス数、5
5 許容間引き係数、 56 テーブル番号、 5
7 次候補中継サーバアドレス
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 平4−316294(JP,A) 特開 平6−44155(JP,A) 特開 平6−351006(JP,A) 特開 平7−123132(JP,A) 特開 平7−152668(JP,A) 特開 平8−289251(JP,A) 特開 平9−244979(JP,A) 特開 平10−257124(JP,A) (58)調査した分野(Int.Cl.7,DB名) G10H 1/00 - 7/12 G06F 13/00 - 13/42

Claims (21)

    (57)【特許請求の範囲】
  1. 【請求項1】 少なくともMIDIデータを含むデータ
    を受信する受信手段と、 外部から自己にアクセス中である回線数を認識するアク
    セス数認識手段と、 前記回線数に応じて前記受信手段が受信したデータのう
    ち特定のデータに対して、データの分離、データの差別
    化、データの分解能操作、時間の分解能操作のいずれか
    又はこれらの組み合わせによりデータを削減してアクセ
    ス中の回線に送信する送信手段とを有するデータの通信
    装置。
  2. 【請求項2】 各々が受信手段と送信手段を有する複数
    の通信装置を含む通信システムであって、 該複数の通信装置において該受信手段はそれぞれ同一の
    データを受信する手段であり、 該複数の通信装置において該送信手段はそれぞれ該受信
    手段が受信したデータを削減して送信することができる
    手段であり、 一の通信装置で削減するデータと他の通信装置で削減す
    るデータとが異なる通信システム。
  3. 【請求項3】 各々が受信手段とアクセス数認識手段と
    送信手段を有する複数の通信装置を含む通信システムで
    あって、 該複数の通信装置において該受信手段はそれぞれ同一の
    データを受信する手段であり、 該アクセス数認識手段は外部から自己の通信装置にアク
    セス中である回線数を認識する手段であり、 該複数の通信装置において該送信手段はそれぞれ該回線
    数に応じて該受信手段が受信したデータを削減してアク
    セス中の回線に送信する手段であり、 一の通信装置で削減するデータと他の通信装置で削減す
    るデータとが異なる通信システム。
  4. 【請求項4】 前記一の通信装置の送信手段が削減する
    データの対象又は割合が前記他の通信装置の送信手段が
    削除するものとは異なる請求項3記載の通信システム。
  5. 【請求項5】 前記複数の通信装置の送信手段は、さら
    にそれぞれデータの削減に関する情報をも送信すること
    ができる請求項3又は4記載の通信システム。
  6. 【請求項6】 さらに、各通信装置は、前記アクセス中
    である回線数が所定数より少ないときには新たなアクセ
    スを受け付け、該アクセス中である回線数が所定数以上
    であるときには新たなアクセスを他の通信装置に移す移
    行手段を有する請求項3〜5のいずれか1項に記載の通
    信システム。
  7. 【請求項7】 前記各通信装置の受信手段が受信するデ
    ータは、少なくともMIDIデータを含む請求項3〜6
    のいずれか1項に記載の通信システム。
  8. 【請求項8】 a)少なくともMIDIデータを含むデ
    ータを受信する工程と、 b)外部から自己にアクセス中である回線数を認識する
    工程と、 c)前記回線数に応じて前記受信したデータのうち特定
    のデータに対して、データの分離、データの差別化、デ
    ータの分解能操作、時間の分解能操作のいずれか又はこ
    れらの組み合わせによりデータを削減してアクセス中の
    回線に送信する工程とを含むデータの通信方法。
  9. 【請求項9】 a)複数の通信装置が同一のデータを受
    信する工程と、 b)前記複数の通信装置中の一の通信装置と他の通信装
    置とで該受信したデータ中から異なるデータを削減して
    送信する工程とを含むデータの通信方法。
  10. 【請求項10】 a)複数の通信装置が同一のデータを
    受信する工程と、 b)前記複数の通信装置がそれぞれ外部から自己にアク
    セス中である回線数を認識する工程と、 c)前記複数の通信装置がそれぞれ前記回線数に応じて
    前記受信したデータを削減してアクセス中の回線に送信
    する工程であって、該複数の通信装置中の一の通信装置
    と他の通信装置とで該受信したデータ中から異なるデー
    タを削減して送信する工程とを含むデータの通信方法。
  11. 【請求項11】 前記工程c)は、一の通信装置で削減
    するデータの対象又は割合が他の通信装置のものとは異
    なる請求項10記載のデータの通信方法。
  12. 【請求項12】 前記工程c)は、さらにデータの削減
    に関する情報をも送信する請求項10又は11記載のデ
    ータの通信方法。
  13. 【請求項13】 さらに、d)前記複数の通信装置が、
    それぞれ前記アクセス中である回線数が所定数より少な
    いときには新たなアクセスを受け付け、該アクセス中で
    ある回線数が所定数以上であるときには新たなアクセス
    を他の通信装置に移す工程を含む請求項10〜12のい
    ずれか1項に記載のデータの通信方法。
  14. 【請求項14】 前記工程a)は、少なくともMIDI
    データを含むデータを受信する請求項10〜13のいず
    れか1項に記載のデータの通信方法。
  15. 【請求項15】 a)少なくともMIDIデータを含む
    データを受信する手順と、 b)外部から自己にアクセス中である回線数を認識する
    手順と、 c)前記回線数に応じて前記受信したデータのうち特定
    のデータに対して、データの分離、データの差別化、デ
    ータの分解能操作、時間の分解能操作のいずれか又はこ
    れらの組み合わせによりデータを削減してアクセス中の
    回線に送信する手順とをコンピュータに実行させるため
    のプログラムを記録した媒体。
  16. 【請求項16】 a)複数の通信装置が同一のデータを
    受信する手順と、 b)前記複数の通信装置中の一の通信装置と他の通信装
    置とで該受信したデータ中から異なるデータを削減して
    送信する手順とをコンピュータに実行させるためのプロ
    グラムを記録した媒体。
  17. 【請求項17】 a)複数の通信装置が同一のデータを
    受信する手順と、 b)前記複数の通信装置がそれぞれ外部から自己にアク
    セス中である回線数を認識する手順と、 c)前記複数の通信装置がそれぞれ前記回線数に応じて
    前記受信したデータを削減してアクセス中の回線に送信
    する手順であって、該複数の通信装置中の一の通信装置
    と他の通信装置とで該受信したデータ中から異なるデー
    タを削減して送信する手順とをコンピュータに実行させ
    るためのプログラムを記録した媒体。
  18. 【請求項18】 前記手順c)は、一の通信装置で削減
    するデータの対象又は割合が他の通信装置のものとは異
    なる請求項17記載のプログラムを記録した媒体。
  19. 【請求項19】 前記手順c)は、さらにデータの削減
    に関する情報をも送信する請求項17又は18記載のプ
    ログラムを記録した媒体。
  20. 【請求項20】 さらに、d)前記複数の通信装置が、
    それぞれ前記アクセス中である回線数が所定数より少な
    いときには新たなアクセスを受け付け、該アクセス中で
    ある回線数が所定数以上であるときには新たなアクセス
    を他の通信装置に移す手順を含む請求項17〜19のい
    ずれか1項に記載のプログラムを記録した媒体。
  21. 【請求項21】 前記手順a)は、少なくともMIDI
    データを含むデータを受信する請求項17〜20のいず
    れか1項に記載のプログラムを記録した媒体。
JP00988298A 1997-03-13 1998-01-21 データの通信装置、通信方法、通信システム及びプログラムを記録した媒体 Expired - Fee Related JP3180751B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP00988298A JP3180751B2 (ja) 1997-03-13 1998-01-21 データの通信装置、通信方法、通信システム及びプログラムを記録した媒体

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP5960097 1997-03-13
JP9-341638 1997-12-11
JP34163897 1997-12-11
JP9-59600 1997-12-11
JP00988298A JP3180751B2 (ja) 1997-03-13 1998-01-21 データの通信装置、通信方法、通信システム及びプログラムを記録した媒体

Publications (2)

Publication Number Publication Date
JPH11231866A JPH11231866A (ja) 1999-08-27
JP3180751B2 true JP3180751B2 (ja) 2001-06-25

Family

ID=27278682

Family Applications (1)

Application Number Title Priority Date Filing Date
JP00988298A Expired - Fee Related JP3180751B2 (ja) 1997-03-13 1998-01-21 データの通信装置、通信方法、通信システム及びプログラムを記録した媒体

Country Status (1)

Country Link
JP (1) JP3180751B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6598074B1 (en) * 1999-09-23 2003-07-22 Rocket Network, Inc. System and method for enabling multimedia production collaboration over a network
WO2001046829A1 (en) * 1999-12-20 2001-06-28 Hanseulsoft Co., Ltd. Network based music playing/song accompanying service system and method
JP4363204B2 (ja) * 2004-02-04 2009-11-11 ヤマハ株式会社 通信端末

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04316294A (ja) * 1991-04-16 1992-11-06 Matsushita Electric Ind Co Ltd 可変長符号回路
JPH0644155A (ja) * 1992-07-22 1994-02-18 Daikin Ind Ltd 画像データ転送方法およびその装置
JP3159230B2 (ja) * 1993-06-10 2001-04-23 日本電信電話株式会社 画像信号用可変レート符号化装置
JP3432009B2 (ja) * 1993-08-31 2003-07-28 キヤノン株式会社 通信方法及び装置
JPH07152668A (ja) * 1993-11-26 1995-06-16 Canon Inc 情報処理装置及び通信方法
JPH08289251A (ja) * 1995-04-18 1996-11-01 Tec Corp マルチメディア処理装置
JPH09244979A (ja) * 1996-03-07 1997-09-19 Nippon Telegr & Teleph Corp <Ntt> 双方向サービス資源配置制御方法
JP3180708B2 (ja) * 1997-03-13 2001-06-25 ヤマハ株式会社 音源設定情報通信装置

Also Published As

Publication number Publication date
JPH11231866A (ja) 1999-08-27

Similar Documents

Publication Publication Date Title
EP1530196B1 (en) Real time communication of musical tone information
JP3196715B2 (ja) 楽音情報の通信装置、通信方法、制御装置、制御方法及びプログラムを記録した媒体
JP3242028B2 (ja) データ送受信方法およびシステム
JP2009535988A (ja) データ信号を処理するシステム及び方法
JPH11331248A (ja) 送信装置および送信方法、受信装置および受信方法、並びに提供媒体
WO1999040566A1 (fr) Procede et appareil de traitement de signaux numeriques, procede et appareil de generation de donnees de commande et support pour programme d&#39;enregistrement
JP3180708B2 (ja) 音源設定情報通信装置
JP2005284041A (ja) コンテンツ配信方法、コンテンツ配信サーバ、およびコンテンツ受信装置
JP3852348B2 (ja) 再生及び送信切替装置及びプログラム
JP3180751B2 (ja) データの通信装置、通信方法、通信システム及びプログラムを記録した媒体
JP3358528B2 (ja) 通信装置及び通信方法
JP3271572B2 (ja) 楽音情報の通信方法、通信装置及びプログラムを記録した媒体
US6525253B1 (en) Transmission of musical tone information
JPH11284588A (ja) 通信装置、通信方法及びプログラムを記録した媒体
JP3196681B2 (ja) 通信データ一時記憶装置
JP2002062884A (ja) データ送受信方法、送受信端末、およびデータ送受信方法に係るプログラムを記憶した記憶媒体
JP3786039B2 (ja) 通信装置及び方法
JP2004093975A (ja) 通信端末及びプログラム
JP2003085068A (ja) ライブ情報提供サーバ、情報通信端末、ライブ情報提供システムおよびライブ情報提供方法
JP2003186469A (ja) 楽音情報転送装置

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20010321

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313532

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20090420

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20090420

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20100420

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20110420

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20120420

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20130420

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20140420

Year of fee payment: 13

LAPS Cancellation because of no payment of annual fees