(57)【特許請求の範囲】
【請求項１】
再生タイミングに関する情報を含むヘッダ部と再生される情報を含むデータ部とを有するデータパケット列からなるマルチメディア符号化データを作成するマルチメディア情報符号化装置であって、
前記再生される情報にはテキストコードからなるスクリプトデータが含まれており、
演奏情報ファイルに含まれているイベント情報を対応するテキストコードに変換する手段と、
前記イベント情報に対応する再生タイミングのデータパケットにおける前記データ部に、前記変換する手段によりイベント情報から変換されたテキストコードを該データが演奏情報であることを示す識別子を付加してスクリプトデータとして格納するとともに、そのデータパケットのタイミングで表示される歌詞データを該データが歌詞データであることを示す識別子とともにスクリプトデータとして格納する手段とを有し、
テキストコードで表現された演奏情報及び歌詞データを前記データ部に含むマルチメディア符号化データを作成することを特徴とするマルチメディア情報符号化装置。
【請求項２】
前記変換する手段は、演奏情報ファイルに含まれているイベント情報を対応するテキストコードに変換する際に、該テキストコードが含まれることとなる前記データパケットの先頭時刻からそのイベントの再生タイミングまでの差分時間情報を生成し、
前記格納する手段は、前記差分時間情報を前記イベント情報から変換されたテキストコードとともに前記データパケットにおける前記データ部にスクリプトデータとして格納することを特徴とする請求項１記載のマルチメディア情報符号化装置。
【請求項３】
前記演奏情報ファイルはＭＩＤＩ情報を含むことを特徴とする請求項１あるいは２記載のマルチメディア情報符号化装置。
【請求項４】
再生タイミングに関する情報を含むヘッダ部と再生される情報を含むデータ部とを有するデータパケット列からなるマルチメディア符号化データを再生するマルチメディア情報再生装置であって、
前記再生される情報にはテキストコードからなるスクリプトデータが含まれており、
前記スクリプトデータに含まれる識別子を参照し、該データが演奏情報か歌詞データかを判別する判別する判別手段と、
前記判別手段により演奏情報と判別されたテキストコードをイベント情報に変換する手段と、
該変換する手段により変換されたイベント情報に基づいて楽音を生成させる手段と、
前記判別手段により歌詞データと判別されたテキストコードを表示する手段と
を有することを特徴とするマルチメディア情報再生装置。
【請求項５】
再生タイミングに関する情報を含むヘッダ部と再生される情報を含むデータ部とを有するデータパケット列からなるマルチメディアデータであって、前記再生される情報にはテキストコードを含むスクリプトデータが含まれているマルチメディア符号化データを作成する処理をコンピュータに行わせるためのマルチメディア情報符号化処理プログラムであって、
演奏情報に含まれるイベント情報に対応する再生タイミングのデータパケットを決定する第１のステップと、
前記イベント情報を対応するテキストコードに変換する第２のステップと、
前記第１のステップで決定されたデータパケットにおける前記データ部に、前記第２のステップで変換されたテキストコードを該データが演奏情報であることを示す識別子を付加してスクリプトデータとして格納するとともに、そのデータパケットのタイミングで表示される歌詞データを該データが歌詞データであることを示す識別子とともにスクリプトデータとして格納する第３のステップと
を有することを特徴とするマルチメディア情報符号化プログラム。
【請求項６】
再生タイミングに関する情報を含むヘッダ部と再生される情報を含むデータ部とを有するデータパケット列からなるマルチメディア符号化データを再生する処理をコンピュータに実行させるためのマルチメディア情報再生処理プログラムであって、
前記再生される情報にはテキストコードからなるスクリプトデータが含まれており、
前記スクリプトデータに含まれる識別子を参照し、該データが演奏情報か歌詞データかを判別する第１のステップと、
前記第１のステップで演奏情報と判別されたテキストコードを対応するイベント情報に変換する第２のステップと、
前記第２のステップで変換されたイベント情報に基づいて対応する楽音を発生させる第３のステップと、
前記第１のステップで歌詞データと判別されたテキストコードを表示する第４のステップと
を有することを特徴とするマルチメディア情報再生処理プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、マルチメディア情報符号化装置、マルチメディア情報再生装置、マルチメディア情報符号化処理プログラム及びマルチメディア情報再生処理プログラムに関し、特に、画像データ、オーディオデータおよびスクリプトデータなどの各種データと同期して演奏情報を再生するようにしたものである。
【０００２】
【従来の技術】
ビデオ情報、オーディオ情報およびテキスト情報など形式の異なる複数の情報を同期して再生する所謂マルチメディア情報の再生は従来より知られている。また、ＭＩＤＩデータなどの演奏情報を再生することもよく知られている。
しかしながら、ＭＩＤＩなどの演奏情報とオーディオ情報などとを同期して再生するためには、ＭＩＤＩクロックとオーディオクロックとを同期させることが必要となり、容易に同期して再生させることはできなかった。
【０００３】
【発明が解決しようとする課題】
そこで本発明は、オーディオデータ、ビデオデータおよびテキストデータなどのマルチメディア情報とＭＩＤＩデータなどの演奏情報とを容易に同期して再生させることを可能とするマルチメディア情報符号化装置、マルチメディア情報再生装置、マルチメディア情報符号化処理プログラム及びマルチメディア情報再生処理プログラムを提供することを目的としている。
【０００４】
【課題を解決するための手段】
上記目的を達成するために、本発明のマルチメディア情報符号化装置は、再生タイミングに関する情報を含むヘッダ部と再生される情報を含むデータ部とを有するデータパケット列からなるマルチメディア符号化データを作成するマルチメディア情報符号化装置であって、前記再生される情報にはテキストコードからなるスクリプトデータが含まれており、演奏情報ファイルに含まれているイベント情報を対応するテキストコードに変換する手段と、前記イベント情報に対応する再生タイミングのデータパケットにおける前記データ部に、前記変換する手段によりイベント情報から変換されたテキストコードを該データが演奏情報であることを示す識別子を付加してスクリプトデータとして格納するとともに、そのデータパケットのタイミングで表示される歌詞データを該データが歌詞データであることを示す識別子とともにスクリプトデータとして格納する手段とを有し、テキストコードで表現された演奏情報及び歌詞データを前記データ部に含むマルチメディア符号化データを作成するようになされたものである。
また、前記変換する手段は、演奏情報ファイルに含まれているイベント情報を対応するテキストコードに変換する際に、該テキストコードが含まれることとなる前記データパケットの先頭時刻からそのイベントの再生タイミングまでの差分時間情報を生成し、前記格納する手段は、前記差分時間情報を前記イベント情報から変換されたテキストコードとともに前記データパケットにおける前記データ部にスクリプトデータとして格納するようになされたものである。
さらに、前記演奏情報ファイルはＭＩＤＩ情報を含むものである。
【０００５】
さらにまた、本発明のマルチメディア情報再生装置は、再生タイミングに関する情報を含むヘッダ部と再生される情報を含むデータ部とを有するデータパケット列からなるマルチメディア符号化データを再生するマルチメディア情報再生装置であって、前記再生される情報にはテキストコードからなるスクリプトデータが含まれており、前記スクリプトデータに含まれる識別子を参照し、該データが演奏情報か歌詞データかを判別する判別する判別手段と、前記判別手段により演奏情報と判別されたテキストコードをイベント情報に変換する手段と、該変換する手段により変換されたイベント情報に基づいて楽音を生成させる手段と、前記判別手段により歌詞データと判別されたテキストコードを表示する手段とを有するものである。
さらにまた、本発明のマルチメディア情報符号化処理プログラムは、再生タイミングに関する情報を含むヘッダ部と再生される情報を含むデータ部とを有するデータパケット列からなるマルチメディアデータであって、前記再生される情報にはテキストコードを含むスクリプトデータが含まれているマルチメディア符号化データを作成する処理をコンピュータに行わせるためのマルチメディア情報符号化処理プログラムであって、演奏情報に含まれるイベント情報に対応する再生タイミングのデータパケットを決定する第１のステップと、前記イベント情報を対応するテキストコードに変換する第２のステップと、前記第１のステップで決定されたデータパケットにおける前記データ部に、前記第２のステップで変換されたテキストコードを該データが演奏情報であることを示す識別子を付加してスクリプトデータとして格納するとともに、そのデータパケットのタイミングで表示される歌詞データを該データが歌詞データであることを示す識別子とともにスクリプトデータとして格納する第３のステップとを有するものである。
さらにまた、本発明のマルチメディア情報再生処理プログラムは、再生タイミングに関する情報を含むヘッダ部と再生される情報を含むデータ部とを有するデータパケット列からなるマルチメディア符号化データを再生する処理をコンピュータに実行させるためのマルチメディア情報再生処理プログラムであって、前記再生される情報にはテキストコードからなるスクリプトデータが含まれており、前記スクリプトデータに含まれる識別子を参照し、該データが演奏情報か歌詞データかを判別する第１のステップと、前記第１のステップで演奏情報と判別されたテキストコードを対応するイベント情報に変換する第２のステップと、前記第２のステップで変換されたイベント情報に基づいて対応する楽音を発生させる第３のステップと、前記第１のステップで歌詞データと判別されたテキストコードを表示する第４のステップとを有するものである。
【０００６】
【発明の実施の形態】
図１は、本発明のマルチメディア情報符号化処理プログラムが実行されるマルチメディア情報符号化装置、および、該マルチメディア情報符号化装置により生成されたマルチメディア符号化データを再生するマルチメディア情報再生装置として動作する装置の概略構成を示すブロック図である。
この図において、１は装置全体の動作の制御を行う中央処理装置（ＣＰＵ）、２はメモリ、３は入力装置、４は表示装置、５は楽音発生部、６はサウンドシステム、７は各種プログラムやデータおよび演奏情報を格納するハードディスク装置などの外部記憶装置、８は各種入出力インターフェース、９はバスである。そして、この装置は、前記入出力インターフェース８を介してＭＩＤＩ楽器などの外部ＭＩＤＩ機器、あるいは、インターネットなどの外部ネットワークに接続することができるようになされている。
なお、このような本発明の装置の構成要素１〜９は、パーソナルコンピュータなど汎用コンピュータの構成要素と同一であり、本発明は、コンピュータ上のソフトウエアとして実現すること、あるいは、専用機として実現することのいずれも可能である。
【０００７】
まず、図２を参照して、本発明におけるマルチメディア符号化データの再生について概念的に説明する。ここでは、ビデオ情報、オーディオ情報、および、キャプションやＵＲＬなどのテキスト情報（スクリプト情報）が同期して再生されるものとする。
図示するように、ビデオ情報を格納しているビデオトラック、オーディオ情報を格納しているオーディオトラックおよびテキスト情報を記憶するスクリプトトラックがあり、各トラックには、一定時間（以下、「パケット時間」という）分の再生すべき情報を保持したパケットが時系列的に配列されている。すなわち、ビデオトラックには、再生開始から１パケット時間の間に再生すべきビデオ情報が保持されたビデオパケットＶ１、次の１パケット時間分のビデオ情報が保持されたビデオパケットＶ２、…、最後の１パケット時間分のビデオ情報が保持されたビデオパケットＶｎが配列されており、オーディオトラックには、再生開始から１パケット時間の間に再生されるべきオーディオ情報が保持されたオーディオパケットＡ１、次の１パケット時間分のオーディオ情報が保持されたオーディオパケットＡ２、…、最後の１パケット時間分のオーディオ情報が保持されたオーディオパケットＡｎが配列されている。同様に、スクリプトトラックには、再生開始から１パケット時間の間に表示されるべきテキスト情報などが保持されたスクリプトパケットＳ１、次の１パケット時間の間に表示されるべきテキスト情報などが保持されたスクリプトパケットＳ２、…、最後の１パケット時間に表示されるべきテキスト情報などが保持されたスクリプトパケットＳｎが配列されている。そして、再生開始から順に同一のパケット時間に対応するパケット（Ｖｋ，Ａｋ，Ｓｋ）を並行して再生することにより、形式の異なる複数種類のデータを同期して再生することができる。
【０００８】
ここで、本発明においては、演奏情報（例えば、ＳＭＦ（Standard MIDI File）などのＭＩＤＩデータ）を前記スクリプトパケット中に符号化することにより、オーディオ情報やビデオ情報と同期して演奏情報を再生することを可能とするものである。また、歌詞データなども前記スクリプトパケット中に格納して表示させることができる。
【０００９】
図３は、本発明のマルチメディア情報符号化装置におけるマルチメディア情報の符号化処理を示す機能ブロック図である。
図示するように、ビデオエンコーダ１１は、入力されるビデオ情報を所定の符号化方式（例えば、ITU-T H.263、MPEG-4など）により圧縮し、エンベッダ１４に出力する。オーディオエンコーダ１２は、入力されるオーディオ情報を所定の符号化方式（例えば、MP3やPCMなど）により圧縮して、エンベッダ１４に出力する。テキストコンバータ１３は、ＳＭＦなどのＭＩＤＩデータ（演奏情報）に含まれる演奏イベントをテキストデータに変換してエンベッダ１４に出力する。なお、この処理の詳細については後述する。
エンベッダ１４は、前記ビデオエンコーダ１１、オーディオエンコーダ１２およびテキストコンバータ１３から入力されるそれぞれのメディアのデータ並びにキャプションなどのテキストデータやＵＲＬのデータをパケット時間ごとに統合してマルチメディアファイル（マルチメディア符号化データ）を出力する。
【００１０】
図４は、前記エンベッダ１４から出力されるマルチメディア符号化データのデータ構造を示す図である。この図に示すように、マルチメディア符号化データは、複数のパケットｉ（ｉ＝１〜ｎ）が時系列的に並んだ構造を持ち、ｉ番目のパケットは、ヘッダ（Ｈi）、ビデオデータ（Ｖi）、オーディオデータ（Ａi）およびスクリプトデータ（Ｓi）から構成されている。ここで、ヘッダ（Ｈi）には、そのパケットに対応するパケット時間情報が含まれている。また、ビデオデータ（Ｖi）にはそのパケット時間に表示される圧縮された画像情報、オーディオデータ（Ａi）にはそのパケット時間に再生される圧縮されたオーディオ情報、スクリプトデータ（Ｓi）にはそのパケット時間に表示されるテキスト情報が含まれている。
このように、マルチメディア符号化データは、各パケット時間毎に対応するビデオデータ、オーディオデータおよびスクリプトデータをまとめたパケットの配列からなっている。このマルチメディア符号化データを再生するときに、このパケットに含まれている各メディアのデータをビデオトラック、オーディオトラックおよびスクリプトトラックの各トラックに分離し、前記図２に示した形式とすることで、各トラックのデータを同期して再生することができる。
【００１１】
次に、演奏情報を前記スクリプトパケット中にエンコードするための処理について説明する。なお、ここでは、演奏情報としてＳＭＦのＭＩＤＩデータを符号化するものとして説明する。
図５の（ａ）は、ＳＭＦのデータ構造を示す図である。この図に示すように、ＳＭＦデータは、時間の単位やデータ長などの情報が含まれているヘッダ（Ｈ）の後に、ＭＩＤＩイベント間の時間情報を示す差分時間情報（Ｄi）とＭＩＤＩイベント（Ｅi）（ｉ＝１〜ｎ）が交互に配置されるバイナリーデータ列である。
図５の（ｂ）に、前記ＳＭＦデータの具体例を示す。この例では、Ｄ1＝1010ミリ秒、Ｅ1としてノートＣ６のノートオンのＭＩＤＩイベント（”90607F(H)”、(H)は１６進表示を示す）、Ｄ2＝40ミリ秒、Ｅ2としてノートＣ７のノートオンのＭＩＤＩイベント（”906C64(H)”）、Ｄ3＝170ミリ秒、Ｅ3として前記ノートＣ６のノートオフのＭＩＤＩイベント（”80607F(H)”）が含まれている。ここで、時間情報の単位はミリ秒とされており、図中Ｄ１、Ｄ２およびＤ３の（）内は、開始時からの経過時間を示している。また、上記”90607F(H)”の”90”は９でノートオンを、０でＭＩＤＩチャネル番号０を表わし、”60”はノートＣ６を、”7F”はベロシティを表わしている。また、”906C64(H)”の”6C”はノートＣ７を表わし、”80607F(H)”の”80”は８でノートオフを、０でＭＩＤＩチャネル番号０を表わしている。
【００１２】
前述のように、本発明においては、ＭＩＤＩデータなどの演奏情報をスクリプトデータ中に符号化するのであるが、前述のように、スクリプトデータはテキスト情報であり、アスキー符号やＪＩＳ符号などの文字符号（テキストコード）が用いられている。そこで、ＳＭＦのバイナリーデータをアスキー符号などのテキストコードに変換することが必要となる。
また、その場合に、前記パケットの時間分解能がＭＩＤＩ演奏に十分なほど高い（例えば、１パケット時間＝５ミリ秒程度）ときには、ＳＭＦ中のその時間に出力すべきＭＩＤＩイベント（バイナリデータ）を４ビットずつに分割し、対応するテキストコードに変換してスクリプトデータ中に格納すればよい。また、このとき、ＭＩＤＩイベントであることを示す識別子も付加する。同時に、出力すべき歌詞データなどもそのことを示す識別子を付加して保存することができる。一方、前記パケットの時間分解能がＭＩＤＩ演奏に充分でない（例えば、１パケット時間＝100ミリ秒程度）ときには、ＭＩＤＩデータを出力する時刻からそのパケットの先頭時刻（以下、「パケット時刻」という）を減じた差分時間情報を前記テキストコードに変換したＭＩＤＩイベントとともにスクリプトデータ中に格納するようにし、パケット時刻と該差分時間情報とで決まる再生タイミングで再生することにより、正確なＭＩＤＩ演奏の再生が可能となる。
なお、前記テキスト化されたＭＩＤＩイベントや識別子などを暗号化あるいは圧縮して格納するようにしてもよい。
【００１３】
図６に、前記図４のマルチメディア符号化データのスクリプトデータ部（Ｓi）、すなわち、スクリプトトラックのパケットデータの詳細な構造を示す。なお、この図において、各パケット中のビデオデータ（Ｖi）およびオーディオデータ（Ａi）は省略している。
図６に示すように、スクリプトトラックのパケットデータは、パケット時刻などが含まれているヘッダ部（Ｈi）、イベントの出力時刻をパケット時刻からの差分時間で示すイベント出力時間情報（Ｄi）、イベントの種類を示すイベント識別子（ＩＤi）およびイベント情報（Ｅi）からなっている。ここで、前記イベント識別子（ＩＤi）には、ＭＩＤＩイベントであることを示す”MIDI”や歌詞データであることを示す”Lyric”などの文字が格納されており、イベント（Ｅi）には、テキスト化されたＭＩＤＩイベントや歌詞データなどが含まれている。
【００１４】
図７を参照して具体的に説明する。図７の（ａ）は既に存在するスクリプトパケットの一例を示し、ここでは歌詞情報が格納されているものとする。このスクリプトパケットに前記図５の（ｂ）に示したＳＭＦ中のＭＩＤＩイベントを格納し、図７の（ｂ）に示すスクリプトパケットを作成する。なお、ここでは、１パケット時間が100ミリ秒であり、スクリプトパケット中にパケット時間からの差分時間情報（イベント出力時間情報）を格納するものとする。
前記図５の（ｂ）に示したＳＭＦには、開始から1010ミリ秒後にノートオンイベント、1050ミリ秒後にノートオンイベント、1220ミリ秒後にノートオフイベントがある。また、図７の（ａ）に示した既存のスクリプトパケットには、パケット時刻ｔ＝1000ミリ秒のパケット中に1005ミリ秒後に表示される歌詞情報”Oh”、ｔ＝1200ミリ秒のパケット中に1230ミリ秒後に表示される歌詞情報”I”、ｔ＝1300ミリ秒のパケット中に1350ミリ秒後に表示される歌詞情報”love”が含まれている。
そこで、それぞれ対応するタイミングのスクリプトパケットの中に、対応するＭＩＤＩイベントを挿入して、演奏情報が挿入された新たなスクリプトパケットを作成する。このとき、前述のように、ＳＭＦ中にバイナリーデータで含まれているＭＩＤＩイベントをアスキー符号などの文字符号に変換するとともに、差分時間情報を作成してスクリプトパケットに格納する。
【００１５】
図７の（ｂ）に示すように、ｔ＝1000ミリ秒のパケットは、イベント出力時間＝５の歌詞情報”Oh”を含む領域、イベント出力時間＝１０のＭＩＤＩイベント（ノートオン）を含む領域およびイベント出力時間＝５０のＭＩＤＩイベント（ノートオン）を含む領域を有している。また、ｔ＝1200ミリ秒のパケットは、イベント出力時間＝２０のＭＩＤＩイベント（ノートオフ）を含む領域、イベント出力時間＝３０の歌詞情報”I”を含む領域を有している。ここで、前記ＭＩＤＩイベントは、いずれも、アスキー符号に変換されて記憶されている。すなわち、ＭＩＤＩイベントであることを示すイベント識別子”MIDI”はアスキー符号（”4D 49 44 49(H)”）で格納されている。また、前記イベント出力時間＝１０のノートオンイベントは、前記図５に示したＳＭＦデータでは”90607F(H)”であったが、このスクリプトパケット中では、対応するアスキー符号（”39 30 36 30 37 46(H)”）で格納されている。同様に、イベント出力時間＝５０のノートオンイベント（”906C64(H)”）はアスキー符号（”39 30 36 43 36 34(H)”）で、ｔ＝1200ミリ秒のパケットにおけるイベント出力時間＝２０のキーオフイベント（”80607F(H)”）はアスキー符号（”38 30 36 30 37 46(H)”）でそれぞれ格納されている。
【００１６】
図８は、上述のようにＭＩＤＩデータをテキストデータに変換する処理の流れを示すフローチャートである。
処理が開始されると、まず、初期設定を行う（Ｓ１）。ここで、前記マルチメディアパケットの１パケット時間が100ミリ秒であるとすると、変数Durationに１００、変数StartTimeに０および変数EndTimeに前記Durationの値（１００）をそれぞれセットする。また、ＳＭＦ（ＭＩＤＩファイル）の読み出し位置を示すＭＩＤＩファイルポインタをその先頭位置に設定する。
そして、ＭＩＤＩファイルからイベントを取得し（Ｓ３）、そのデュレーションデータ（Ｄi）から算出されるイベント時刻がStartTime以上EndTime未満であるか、すなわち、当該スクリプトパケットのパケット時間に属するか否かを判定する。パケット時間に属する場合には、そのイベントを前述のようにテキスト化するとともに、そのイベント時刻とパケットの先頭時刻（＝StartTime）との差である差分時間情報を求め、該差分時間情報とそのイベントに対応するテキストコードをバッファに書き込む（Ｓ５）。そして、ＭＩＤＩファイルポインタを次のイベントに更新して（Ｓ６）、次のイベントを取得する（Ｓ３）。パケット時間に属していないときは、バッファに格納されている差分時間情報及びイベントに対応するテキストコードを１パケットとして出力し（Ｓ７）、次のパケット時間となるように前記変数StartTime及びEndTimeをDuration（=100）だけ増加させて（Ｓ８）、該更新したパケット時間に属するか否かの判定（Ｓ４）に戻る。以上の処理を、ＭＩＤＩファイルが終了するまで繰り返す（S２）。
【００１７】
この処理により、ＭＩＤＩファイル（ＳＭＦ）を、前記パケット時間ごとに分割されたマルチメディアパケットの形式に変換することができる。このようにして、ＭＩＤＩファイルを符号化したパケットを、前記ビデオパケット、オーディオパケットおよびスクリプトパケットとともに、前記エンベッダに入力し、前記エンベッダにおいて、これらのパケットを編成してマルチメディア符号化データを生成する。
【００１８】
次に、このようなマルチメディア符号化データをデコードして、マルチメディア情報を再生する処理について説明する。
図９は、マルチメディアパケットのデータストリームの流れを示す機能ブロック図である。
この図において、データ読み込み部２１は、ファイルパスあるいはＵＲＬを参照してマルチメディア符号化データを読み込み、パケットとしてスプリッタ２２に送る。スプリッタ２２は、受け取った各パケットをオーディオトラックのデータ、ビデオトラックのデータおよびスクリプトトラックのデータに分離し、オーディオトラックのデータはオーディオデコーダ２３へ、ビデオトラックのデータはビデオデコーダ２５へ、スクリプトトラックのデータはスクリプトパーサ（スクリプト解析部）２７へ送る。
オーディオデコーダ２３はオーディオトラックのデータを展開し、そのパケットのタイミングでオーディオデバイス２４に出力する。ビデオデコーダ２５はビデオトラックのデータを展開し、そのパケットのタイミングでビデオデバイス２６に出力する。
【００１９】
スクリプト解析部（スクリプトパーサ）２７はスクリプトトラックのデータを解析し、イベント識別子が”MIDI”であるイベント情報はＭＩＤＩデコーダ２８に供給し、”Lyric”や”URL”などのその他のイベント識別子を持つイベント情報は対応する処理部３０に供給する。ＭＩＤＩデコーダ２８は、”MIDI”のイベント識別子を持つイベント情報をアスキー符号から１６進情報に変換する機能とシーケンサ機能とを有しており、イベント情報を対応するＭＩＤＩデータ（バイナリーデータ）に変換し、差分時間情報が含まれているときは、そのパケットのパケット時刻に差分時間情報を加算したタイミングで、該ＭＩＤＩデータをＭＩＤＩデバイス２９に出力する。これにより、ＭＩＤＩ楽器や音源などのＭＩＤＩデバイスから対応する楽音が生成出力されることとなる。なお、ソフトウェアにより楽音を生成するようにしてもよい。
【００２０】
前記スクリプトパーサ２７、ＭＩＤＩデコーダ２８および他の処理部３０などで実行されるスクリプトパケットに対する処理について、図１０のフローチャートを参照してさらに説明する。
前記スプリッタ２２からスクリプトトラックのパケットが入力されると、データエンドに達するまで以下の処理が行われる（Ｓ１１）。まず、そのパケットのヘッダ部に記録されているタイミング情報（パケット時刻）と各イベント対応に記録されているイベント出力時間（差分時間情報）から現在時刻がそのイベントの出力時刻に達したか否かを判断し出力時刻になったら（Ｓ１２、Ｓ１３）、そのイベント識別子を判定する（Ｓ１４）。イベント識別子が”MIDI”であるときは、テキストコード（アスキー符号）で記録されているそのイベントをＭＩＤＩデータ（１６進コード）に変換し（Ｓ１５）、ＭＩＤＩデバイス２９に出力する（Ｓ１６）。また、”Lyric”などのイベント識別子であるときは、それに対応した出力処理を行う（Ｓ１７）。例えば、”Lyric”であるときは、そのイベント（表示すべき歌詞情報）を画像表示部に出力する。そして、次の情報の処理を行う（Ｓ１８）。
このようにして、イベントに対応した処理が指定されたタイミングで行われ、マルチメディア情報が再生される。
【００２１】
【発明の効果】
以上説明したように、本発明によれば、オーディオデータ、ビデオデータと同期して出力表示することができるスクリプトトラックに、ＭＩＤＩデータをテキスト化して格納することにより、再生側において、ＭＩＤＩデータをオーディオデータと同期出力させることが可能となる。
【図面の簡単な説明】
【図１】  本発明のマルチメディア情報符号化処理プログラムが実行されるマルチメディア情報符号化装置、および、該マルチメディア情報符号化装置により生成されたマルチメディア符号化データを再生するマルチメディア情報再生装置として動作する装置の概略構成を示すブロック図である。
【図２】  本発明におけるマルチメディア符号化データの再生について概念的に説明するための図である。
【図３】  本発明におけるマルチメディア情報の符号化処理を示す機能ブロック図である。
【図４】  マルチメディア符号化データのデータ構造を示す図である。
【図５】  演奏情報を前記スクリプトパケット中にエンコードするための処理について説明する図であり、（ａ）はＳＭＦデータのデータ構造を示す図、（ｂ）はＳＭＦデータの具体例を示す図である。
【図６】  スクリプトトラックのパケットデータの構造を示す図である。
【図７】  スクリプトトラックのパケットデータの例を示す図であり、（ａ）は既に存在するスクリプトパケットの一例を示す図であり、（ｂ）はＭＩＤＩデータが格納された状態の一例を示す図である。
【図８】  ＭＩＤＩデータをテキストデータに変換する処理の流れを示すフローチャートである。
【図９】  マルチメディアパケットのデータストリームの流れを示す機能ブロック図である。
【図１０】  スクリプトパケットに対する処理の流れを示すフローチャートである。
【符号の説明】
１１  ビデオエンコーダ、１２  オーディオエンコーダ、１３  テキストコンバータ、１４  エンベッダ、２１  データ読み込み部、２２  スプリッタ、２３オーディオデコーダ、２４  オーディオデバイス、２５  ビデオデコーダ、２６  ビデオデバイス、２７  スクリプト解析部、２８  ＭＩＤＩデコーダ、２９ＭＩＤＩデバイス、３０  その他処理部
【図１】
0003918580.tif 000002
【図２】
0003918580.tif 000003
【図３】
0003918580.tif 000004
【図４】
0003918580.tif 000005
【図５】
0003918580.tif 000006
【図６】
0003918580.tif 000007
【図７】
0003918580.tif 000008
【図８】
0003918580.tif 000009
【図９】
0003918580.tif 000010
【図１０】
0003918580.tif 000011