(57)【特許請求の範囲】
【請求項１】
ＭＩＤＩ形式の演奏データを発生する楽器と該ＭＩＤＩ形式の演奏データとは形式が異なっている他種データを発生する他種データ発生手段とに接続され、処理手段、データ入力手段、および送信手段を備えたデータ送信装置におけるデータ送信方法であって、
前記処理手段が、前記データ入力手段において、前記楽器が発生する演奏データ乃至該演奏データと並行して前記他種データ発生手段が発生する前記他種データが入力されたことを検知するステップと、
前記処理手段が、前記データ入力手段において演奏データ乃至他種データが入力された時点で、前記データ入力手段において入力された前記データがＭＩＤＩ形式の演奏データであるのかまたは該ＭＩＤＩ形式の演奏データとは形式が異なる他種データであるのかを判別するステップと、
前記処理手段が、前記判別するステップで前記他種データであると判別されたデータをＭＩＤＩ形式のデータに変換し、該変換後のデータを前記判別するステップで演奏データであると判別されたデータとともにまとめたＭＩＤＩパケットデータを生成し、当該ＭＩＤＩパケットデータに含まれるデータを処理すべきタイミングを表すタイミング情報を前記ＭＩＤＩパケットデータに対して付加するステップと、
前記送信手段が、前記タイミング情報が付加された前記ＭＩＤＩパケットデータをネットワークに送信するステップと
を備えたことを特徴とするデータ送信方法。
【請求項２】
ＭＩＤＩ形式の演奏データを発生する楽器と該ＭＩＤＩ形式の演奏データとは形式が異なっている他種データを発生する他種データ発生手段とに接続されるデータ送信システムであって、
前記楽器が発生する演奏データ乃至該演奏データと並行して前記他種データ発生手段が発生する前記他種データが入力されたことを検知する手段と、
前記検知する手段によりデータが入力されたことを検知した時点で、該入力された前記データがＭＩＤＩ形式の演奏データであるのかまたは該ＭＩＤＩ形式の演奏データとは形式が異なる他種データであるのかを判別する手段と、
前記判別する手段で前記他種データであると判別されたデータをＭＩＤＩ形式のデータに変換し、該変換後のデータを前記判別する手段で演奏データであると判別されたデータとともにまとめたＭＩＤＩパケットデータを生成し、当該ＭＩＤＩパケットデータに含まれるデータを処理すべきタイミングを表すタイミング情報を前記ＭＩＤＩパケットデータに対して付加する手段と、
前記タイミング情報が付加された前記ＭＩＤＩパケットデータをネットワークに送信する手段と
を備えたことを特徴とするデータ送信システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、データ送受信方法および送受信システムに関し、特に電子楽器の演奏情報、並びに、音声情報および画像情報などをネットワークを介して送受信する技術に関する。
【０００２】
【従来の技術】
従来、演奏会場において演奏者が演奏した電子楽器から出力されるＭＩＤＩ（Musical Instrument Digital Interface）演奏データを、インターネットなどのネットワークを介して配信し、配信先の例えば家庭内のコンピュータおよびＭＩＤＩ機器で該ＭＩＤＩ演奏データを再生して、演奏会場における演奏者の演奏を家庭内で再現する試み（いわゆるインターネットコンサート）が行なわれている。この際、ＭＩＤＩデータとともに、会場での演奏者の演奏の様子や会場にいる観客の様子などを画像（静止画や動画）データで配信したり、ＭＩＤＩ以外で取り込んだ音声データを配信するものがあった。これにより、あたかも演奏者が家庭内で演奏しているようなイメージで演奏を聞くことができる。
【０００３】
【発明が解決しようとする課題】
ところで、上述のインターネットコンサートなどでは、ＭＩＤＩデータはＭＩＤＩデータとして配信し、画像や音声はＭＩＤＩデータとは独立に入力され配信している。そのため、家庭内で再生する際、画像データや音声データとＭＩＤＩデータとの同期がとれない場合があった。例えば、演奏者が電子楽器の鍵盤を押下したとき、その押下の動作を写した画像データとその押下イベントのＭＩＤＩデータとは別個に配信されるので、家庭内で再生したとき、受信したＭＩＤＩデータにより先に音が鳴った後で演奏者の鍵盤押下の動作の画像がモニタに出力される、というようなことがある。また、電子楽器から取り込んだＭＩＤＩ演奏データによる楽音と、マイクから取り込み音声データとして配信されるボーカルの音声とが、再生時にタイミングがずれてしまう、というようなことがある。
【０００４】
この発明は、ネットワークを介して演奏データ、画像データ、音声データなどを配信し、受信側でそれらのデータから演奏会場の環境を再現するようなシステムにおいて、演奏者の演奏による楽音、演奏時の画像、および音声などを同期をとってタイミングを合わせて再生できるようにすることを目的とする。
【０００５】
【課題を解決するための手段】
この目的を達成するため、請求項１に係る発明は、ＭＩＤＩ形式の演奏データを発生する楽器と該ＭＩＤＩ形式の演奏データとは形式が異なっている他種データを発生する他種データ発生手段とに接続され、処理手段、データ入力手段、および送信手段を備えたデータ送信装置におけるデータ送信方法であって、前記処理手段が、前記データ入力手段において、前記楽器が発生する演奏データ乃至該演奏データと並行して前記他種データ発生手段が発生する前記他種データが入力されたことを検知するステップと、前記処理手段が、前記データ入力手段において演奏データ乃至他種データが入力された時点で、前記データ入力手段において入力された前記データがＭＩＤＩ形式の演奏データであるのかまたは該ＭＩＤＩ形式の演奏データとは形式が異なる他種データであるのかを判別するステップと、前記処理手段が、前記判別するステップで前記他種データであると判別されたデータをＭＩＤＩ形式のデータに変換し、該変換後のデータを前記判別するステップで演奏データであると判別されたデータとともにまとめたＭＩＤＩパケットデータを生成し、当該ＭＩＤＩパケットデータに含まれるデータを処理すべきタイミングを表すタイミング情報を前記ＭＩＤＩパケットデータに対して付加するステップと、前記送信手段が、前記タイミング情報が付加された前記ＭＩＤＩパケットデータをネットワークに送信するステップとを備えたことを特徴とする。
【０００７】
請求項２に係る発明は、ＭＩＤＩ形式の演奏データを発生する楽器と該ＭＩＤＩ形式の演奏データとは形式が異なっている他種データを発生する他種データ発生手段とに接続されるデータ送信システムであって、前記楽器が発生する演奏データ乃至該演奏データと並行して前記他種データ発生手段が発生する前記他種データが入力されたことを検知する手段と、前記検知する手段によりデータが入力されたことを検知した時点で、該入力された前記データがＭＩＤＩ形式の演奏データであるのかまたは該ＭＩＤＩ形式の演奏データとは形式が異なる他種データであるのかを判別する手段と、前記判別する手段で前記他種データであると判別されたデータをＭＩＤＩ形式のデータに変換し、該変換後のデータを前記判別する手段で演奏データであると判別されたデータとともにまとめたＭＩＤＩパケットデータを生成し、当該ＭＩＤＩパケットデータに含まれるデータを処理すべきタイミングを表すタイミング情報を前記ＭＩＤＩパケットデータに対して付加する手段と、前記タイミング情報が付加された前記ＭＩＤＩパケットデータをネットワークに送信する手段とを備えたことを特徴とする。
【００１１】
【発明の実施の形態】
以下、図面を用いてこの発明の実施の形態を説明する。
【００１２】
図１は、この発明に係るデータ送受信システムの接続例を示す。これは、従来技術の欄で説明したようなインターネットコンサートを行なう際のシステム例である。
【００１３】
演奏会場１００には、演奏者が演奏操作するＭＩＤＩ楽器１０１、その演奏の様子や会場の様子などを画像（静止画や動画）として取り込むカメラ１０２、および、ボーカルや自然楽器やＭＩＤＩ以外の楽器からの音声や楽音を取り込んで音声データとして出力するマイクロフォンなどの音声データ取り込み機器１０３を備えている。ＭＩＤＩ楽器１０１から出力されるＭＩＤＩデータ（ＭＩＤＩパートデータと呼ぶ）、カメラ１０２から出力される画像データ、および音声データ取り込み機器１０３から出力される音声データは、送信端末として動作するエンコーダ１０４に入力する。エンコーダ１０４は、後述する図４の処理ルーチンで、入力したこれらのデータをパケット化し、後述する図２のようなパケットデータを生成して出力する。このパケットデータは、ルータ１０５を介して、外部のメインフレーム１１０に送られる。
【００１４】
メインフレーム１１０は、インターネットなどのネットワークを介して、上記パケットデータをＷＷＷ（World Wide Web）サーバ１２１〜１２３などに配信する。ＷＷＷサーバ１２１〜１２３は、例えばインターネットの各プロバイダのサーバである。
【００１５】
各家庭などでこのインターネットコンサートを視聴したいときは、各家庭内にあるホームコンピュータ１３１〜１３４などを、各プロバイダのＷＷＷサーバ１３１〜１３４に接続する。ホームコンピュータ１３１〜１３４には、受信端末として動作するための再生プログラムがあらかじめインストールされており、動作している。この再生プログラムの動作については図５で詳しく説明するが、要するに、ＷＷＷサーバ１２１〜１２３から配信されるデータを受信し、そのデータを再生する時間や順序を管理するとともに、ＭＩＤＩパートデータはＭＩＤＩ音源モジュール（例えば、図１のホームコンピュータ１３３に接続されているＭＩＤＩ音源１４３）に送って再生し、画像データは画像制御モジュール（例えば、図１の各ホームコンピュータ１３１〜１３４のモニタ）に送って表示器（例えば、図１の各ホームコンピュータ１３１〜１３４のモニタ）に表示し、音声データは音声制御モジュール（例えば、図１の音声出力装置１４１，１４２，１４４，１４５）に送って音声出力する処理を行なうものである。これにより、家庭内で演奏会場の様子をリアルタイムに再現できる。
【００１６】
特に、この実施の形態のシステムでは、画像データおよび音声データは、イベントが発生した時点で送信側のエンコーダ１０４内でＭＩＤＩイベント化され（ＭＩＤＩの拡張形式であるイクスクルーシブ（exclusive）で表すものとする）、ＭＩＤＩパートデータと合わせてＭＩＤＩデータとして、配信される。受信端末１３１〜１３４側では、これらのＭＩＤＩパートデータ、画像データ、および音声データをすべて含むＭＩＤＩデータを受信し、ＭＩＤＩイベントとして再生するので、各データの再生のタイミングが揃う。すなわち、すべてＭＩＤＩ化されているデータなので、受信端末内のシーケンサにより再生する際、画像出力および音声出力も含めて、小節単位あるいは拍単位などでのタイミング調整が可能である。また、ＭＩＤＩパートデータにより、演奏者が不特定多数の受信端末に接続されたＭＩＤＩ楽器を演奏している状況が実現できる。さらに、これらのデータはすべてＭＩＤＩデータ化されているため、ＭＩＤＩファイラなどに記録させ、後で再現することもできる。
【００１７】
図２は、エンコーダ１０４が取り込んだＭＩＤＩパートデータ、画像データ、および音声データから生成して配信するパケットデータの構造を示す。パケットデータ２００は、チェックサム２０１、データＩＤ２０２、シーケンスナンバ２０３、再生時間２０４、イベントデータ長２０５、およびＭＩＤＩデータ２０６を有する。チェックサム２０１からイベントデータ長２０５までがこのパケットデータ２００のヘッダ部であり、ＭＩＤＩデータ２０６がこのパケットデータ２００のデータ部を構成する。
【００１８】
チェックサム２０１は、このパケットデータ２００のデータＩＤ２０２以降のデータから生成したチェックサムである。データＩＤ２０２は、このパケットデータ２００の識別子（ＩＤ）であり、各種データの種類を示す情報なども含む。シーケンスナンバ２０３は、このパケットデータ２００の再生順を示す番号（コマ割りのコマ番号のようなもの）である。再生時間２０４は、このパケットデータ２００中のＭＩＤＩデータ２０６の再生を開始する時間（演奏開始時からの相対時刻）である。イベントデータ長２０５は、ＭＩＤＩデータ２０６のデータ長を示す。ＭＩＤＩデータ２０６は、ＭＩＤＩの実データそのものであり、図１で説明したＭＩＤＩパートデータ、ＭＩＤＩ化された画像データ、およびＭＩＤＩ化された音声データを含む。
【００１９】
なお、１つのパケットデータ２００のＭＩＤＩデータ２０６中のＭＩＤＩ化された画像データは、所定時間（パケットを生成する単位時間であり、例えば５００ｍｓｅｃ程度）間隔で取り込んだ単位を１つのイベントとしてイクスクルーシブで表したデータ（以下、画像イクスクルーシブと呼ぶ）である。ＭＩＤＩデータ２０６中のＭＩＤＩ化された音声データも同様に、この所定時間間隔で取り込んだ単位を１つのイベントとしてイクスクルーシブで表したデータ（以下、音声イクスクルーシブと呼ぶ）である。ＭＩＤＩデータ２０６中のＭＩＤＩパートデータは、この所定時間の間にＭＩＤＩ楽器１０１から発生したＭＩＤＩイベントをまとめたデータである。ＭＩＤＩパートデータは、イクスクルーシブでないデータ（以下、演奏ＭＩＤＩデータと呼ぶ）だけでなく、必要に応じてイクスクルーシブデータ（以下、音源イクスクルーシブと呼ぶ）を含む。また、このパケットデータ２００は、実際には、ネットワークに配信する際に所定の形式でエンコードされたデータである。
【００２０】
図３は、図１のホームコンピュータ（受信端末）１３１〜１３４内でのデータの流れを示すフローチャートである。ステップ３０１で、図２で説明したようなパケットデータ２００を受信すると、ステップ３０２以降の処理で、受信したパケットデータ２００中のＭＩＤＩデータ２０６を解析する。なお、ステップ３０２以降の処理は、ＭＩＤＩデータ２０６中の各イベントデータを単位として繰り返し（ＭＩＤＩデータ２０６中にイベントが無くなるまで）実行される処理である。
【００２１】
まずステップ３０２で、イクスクルーシブデータであるか否か判別する。イクスクルーシブデータでないときは、ＭＩＤＩ楽器１０１から出力されたＭＩＤＩパートデータのうちの演奏ＭＩＤＩデータであるということだから、そのＭＩＤＩパートデータをイベントとしてＭＩＤＩ音源モジュール３０４に渡す。ステップ３０２でイクスクルーシブデータであるときは、ステップ３０３でそのイクスクルーシブデータの種類を判別し、その種類に応じて、音源イクスクルーシブならＭＩＤＩ音源モジュール３０４に、画像イクスクルーシブなら画像制御モジュール３０６に、音声イクスクルーシブなら音声制御モジュール３０８に、それぞれイベントとして渡す。
【００２２】
音源モジュール３０４は、上述したように渡されたＭＩＤＩパートデータ（演奏ＭＩＤＩデータと音源イクスクルーシブ）を再生して、楽音をスピーカ３０５から出力する。画像制御モジュール３０６は、上述したように渡された画像イクスクルーシブの画像データをモニタ３０７に表示出力する。音声制御モジュール３０８は、上述したように渡された音声イクスクルーシブの音声データをスピーカ３０９から出力する。これらのモジュール３０４，３０６，３０８は、イベント起動型のモジュールで、イベントが入力すると、渡されたデータに基づいて発音や表示を行なうモジュールである。これらのモジュール３０４，３０６，３０８は、ソフトウエア、ハードウエア、あるいはそれらの組合わせの何れで実現しても良い。
【００２３】
図４は、図１のエンコーダ（送信端末）１０４における入力データ処理ルーチンを示す。この処理ルーチンは、所定時間（データをパケット化する単位時間）ごとに繰り返し実行される。まずステップ４０１で、ＭＩＤＩ楽器１０１、カメラ１０２、および音声データ取り込み機器１０３から出力されるＭＩＤＩパートデータ、画像データ、および音声データを受信する。次にステップ４０２で、これらの受信データを所定のバッファにバッファリングする。ステップ４０３で、バッファリングしたデータを取り出し、イベントごとに別処理を行なう。取り出したデータが画像データであるときは、ステップ４０４で当該画像データをＭＩＤＩのイクスクルーシブの形式にするとともに、ＩＤを付加して、画像イクスクルーシブとし、ステップ４０６に渡す。取り出したデータが音声データであるときは、ステップ４０５で当該音声データをＭＩＤＩのイクスクルーシブの形式にするとともに、ＩＤを付加して、音声イクスクルーシブとし、ステップ４０６に渡す。取り出したデータがＭＩＤＩパートデータであるときは、そのままステップ４０６に渡す。
【００２４】
ステップ４０６では、図２で説明した構造のパケットデータ２００を生成する。すなわち、上記のように渡された画像イクスクルーシブ、ＭＩＤＩパートデータ、および音声イクスクルーシブをまとめてＭＩＤＩデータ２０６とするとともに、データＩＤ２０２、シーケンスナンバ２０３、再生時間２０４、およびイベントデータ長２０５を付加し、さらにチェックサムを求めてチェックサム２０１として付加する。シーケンスナンバ２０３には、演奏が開始されてからこのパケットが幾つ目のパケットかを示す値を設定する。再生時間２０４には、このパケットのＭＩＤＩデータ２０６が再生を開始する時刻を、演奏が開始されてからの相対時間で表した値を設定する。シーケンスナンバ２０３や再生時間２０４は、エンコーダ１０４内で管理している。ステップ４０６で生成したパケットデータ２００は、ステップ４０７で、ルータ１０５を介して、メインフレーム１１０に送信される。
【００２５】
なお、ステップ４０３〜４０６の処理は、１パスの処理ではない。すなわち、ステップ４０２でバッファリングしたデータは、画像データ、ＭＩＤＩパートデータ、および音声データの何れをも含むものであるので、画像データはステップ４０３→４０４→４０６のように、ＭＩＤＩパートデータはステップ４０３→４０６のように、音声データはステップ４０３→４０５→４０６のように、それぞれ処理され、そのバッファ内の全データが１つのパケットデータにパケット化されるものである。
【００２６】
図５は、図１の各ホームコンピュータ（受信端末）１３１〜１３４における受信データ処理ルーチンを示す。この処理ルーチンは、パケットデータを受信するごとに実行される。まずステップ５０１で、当該受信端末が接続しているＷＷＷサーバ１２１〜１２３から、図２のパケットデータ２００を受信する。次にステップ５０２で、受信したパケットデータ２００のチェックサム２０１を確認し、エラーが発生していないかどうか判別する。チェックサムエラーのときは、ステップ５０４で何もせずに処理を終了する。なお、データの再送を要求するなど、発生しているエラーに応じた処理を行なうようにしてもよい。
【００２７】
エラーがなければ、ステップ５０５で、受信したパケットデータ２００のシーケンスナンバ２０３を確認する。また、受信したパケットデータが演奏の先頭のパケットであったときは、再生用タイマを０に初期化する。再生用タイマは、受信端末内での経過時間をカウントするタイマである。次に、ステップ５０６で、受信パケットデータの再生時間２０４に所定のオフセット分を足す。このオフセット分とは、再生時間を遅らせるためのオフセットである。すなわち、受信パケットデータの再生時間２０４にオフセットを足し込んで、再生を開始する時間をこのオフセット分だけ遅らせる。インターネットなどのオープンなネットワークでは、各種の状況によりデータ転送速度が変化するし、パケットデータが送出された順に受信できるとは限らない。そこで、所定のオフセット分だけ再生時間を遅らせて、その間に受信したパケットをバッファリングしてある程度ためてから再生開始するようにしたものである。この遅れ時間の間に、画像データや音声データのパケット間のつなぎの処理を行なって、画像や音声をパケット切れ目のノイズを発生させることなく再生出力できる。
【００２８】
次に、ステップ５０７で、受信パケットデータが再生すべきシーケンスナンバのデータであり、かつ、その再生時間２０４（ステップ５０６でオフセット分が足されている）が再生用タイマの現在値以下か否か判別する。この判定結果がＮＯのときは、未だそのパケットデータを再生するタイミングではないので、ステップ５０８で、当該受信パケットデータを所定のバッファにバッファリングして処理を終了する。
【００２９】
ステップ５０７の判定結果がＹＥＳであるときは、当該受信パケットデータを再生すべきであるということだから、ステップ５０９で、当該受信パケットデータのＭＩＤＩデータ２０６内の各イベントごとにステップ５１０〜５１２の処理を行なう。これらの処理は、図３で説明した、各データを音源モジュール３０４、画像制御モジュール３０６、および音声制御モジュール３０８に振り分けて渡し、各モジュールで各データを出力する処理である。これにより、当該パケットデータのＭＩＤＩデータ２０６に含まれているＭＩＤＩパートデータ、画像データ、および音声データがそれぞれ再生・出力される。
【００３０】
ステップ５０９の後、ステップ５１３で、この受信端末内部で管理しているシーケンスナンバの値をカウントアップする。次にステップ５１４で、再生すべきシーケンスナンバのパケットデータがバッファ内に存在しているか否かを判別する。存在していたときは、ステップ５１５に進んで、そのパケットデータが再生すべきシーケンスナンバのデータであり、かつ、その再生時間２０４（ステップ５０６でオフセット分が足された後、バッファリングされている）が再生用タイマの現在値以下か否か判別する。この判定結果がＮＯのときは、未だそのパケットデータを再生するタイミングではないので、そのままリターンする。ステップ７１５の判定結果がＹＥＳのときは、当該パケットデータを再生すべきであるということだから、ステップ５０９に進む。ステップ５１４で再生すべきシーケンスナンバのパケットデータがバッファ内に存在していないときは、そのままリターンする。
【００３１】
さらに、バッファリングされたパケットデータを再生・出力するために、所定の時間間隔（パケットを受信する間隔より充分短い間隔）で、ステップ５１６のバッファサーチを行ない、バッファリングされているパケットデータがあるときは、当該パケットデータを再生すべきか否か判別するステップ５１５に進むようにする。
【００３２】
なお、上述の実施の形態では、画像および音声をＭＩＤＩ化する例を示したが、画像や音声のほか、歌詞を表示するためのデータ、演奏者のプロフィールを表示するためのデータ、著作権表示のためのデータ、スポンサーのコマーシャルを表示するためのデータなどをＭＩＤＩ化して配信するようにしても良い。また、配信されるデータは、ＭＩＤＩ化されているので、ＭＩＤＩファイラーなどに記録しておき、後で再生するようにできる。
【００３３】
図１では、ルータ１０５およびメインフレーム１１０を介して、インターネットに配信する例を示したが、ルータ１０５やメインフレーム１１０無しに直接、インターネットなどのネットワークにデータを流しても良い。また、インターネットに限らず、他の任意のネットワークに適用することもできる。
【００３４】
【発明の効果】
以上説明したように、この発明によれば、ネットワークを介して演奏データ、画像データ、音声データなどを配信し、受信側でそれらのデータから演奏会場の環境を再現するようなシステムにおいて、ＭＩＤＩ楽器の演奏操作と並行して発生される画像データ、音声データ、およびそれらに付随する各種のデータをＭＩＤＩイベント化してＭＩＤＩ形式演奏データと合わせて配信し、受信側ではＭＩＤＩベースで再生しているので、インターネットなどでネットワークコンサートを催すような場合、受信側に転送されるＭＩＤＩデータとＭＩＤＩ以外の楽器やボーカルの音声データとの音声上の同期がとれ、またＭＩＤＩデータと演奏風景などの画像データとの同期がとれる。また、ネットワークコンサートの状況を、すべてＭＩＤＩ形式のデータで転送するので、受信したデータをＭＩＤＩファイラーに記録でき、後で完全に再現することが可能である。さらに、ＭＩＤＩ楽器からのＭＩＤＩ演奏データは、音声データでなくＭＩＤＩデータで記録されるため、データ量も少なくて済む。
【図面の簡単な説明】
【図１】この発明に係るデータ送受信システムの接続例を示す図
【図２】パケットデータの構造を示す図
【図３】受信端末内でのデータの流れを示すフローチャート図
【図４】送信端末における入力データ処理ルーチンのフローチャート図
【図５】受信端末における受信データ処理ルーチンのフローチャート図
【符号の説明】
１００…演奏会場、１０１…ＭＩＤＩ楽器、１０２…カメラ、１０３…音声データ取り込み機器、１０４…エンコーダ、１０５…ルータ、１１０…メインフレーム、１２１〜１２３…ＷＷＷサーバ、１３１〜１３４…ホームコンピュータ、１４１，１４２，１４４，１４５…音声出力装置、１４３…ＭＩＤＩ音源。
【図１】
0003705581.tif 000002
【図２】
0003705581.tif 000003
【図３】
0003705581.tif 000004
【図４】
0003705581.tif 000005
【図５】
0003705581.tif 000006