JP3991724B2 - データ処理装置およびコンピュータプログラム - Google Patents
データ処理装置およびコンピュータプログラム Download PDFInfo
- Publication number
- JP3991724B2 JP3991724B2 JP2002067153A JP2002067153A JP3991724B2 JP 3991724 B2 JP3991724 B2 JP 3991724B2 JP 2002067153 A JP2002067153 A JP 2002067153A JP 2002067153 A JP2002067153 A JP 2002067153A JP 3991724 B2 JP3991724 B2 JP 3991724B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- plug
- input
- conversion
- function
- 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
Links
Images
Landscapes
- Electrophonic Musical Instruments (AREA)
- Stored Programmes (AREA)
Description
【発明の属する技術分野】
この発明は、例えばデジタルオーディオデータなどのデータを処理するためのデータ処理装置およびデータ処理方法に関する。特に、入力、変換、出力の3階層で構成されるモジュール群を用いてデータ変換の処理を行うデータ処理装置およびデータ処理方法に関する。
【0002】
【従来の技術】
コンピュータを用いて実現されるデータ処理装置において、プログラムの柔軟性や保守容易性を維持しながら、様々なタイプのデータに対応できるようにするために「プラグイン」と呼ばれるプログラムモジュールが使用される場合がある。このプラグインは、それぞれ独立して記述されたソースプログラムファイルをコンパイルすることによって、個別の実行可能形式ファイルとして生成され、動的に、つまり必要なタイミングに呼び出されて実行される。
【0003】
図8は、従来技術によるインターネットラジオ再生装置のソフトウェアを上記のようなプラグインを用いて構成した例を示すソフトウェア構成図である。図8において、符号920はGUI(グラフィカルユーザインタフェース,ユーザインタフェース処理モジュール)であり、このGUI・920は、利用者に対して操作用の画面を提供するとともに、その画面を通して行われる操作に応じた処理を実行するための制御を行うものである。また、921はコアエンジン(プラグイン管理)であり、このコアエンジン921は、GUI・920からの指示情報などに基づいて、必要な処理を行うプラグインを起動したり、そのプラグインとの間でデータのやりとりを行ったりするものである。また、922a、922b、922cは、それぞれコアエンジン921によって管理されるプラグインである。922aはネットワーク等を介して外部からオーディオデータ等を取り込むための入力プラグイン、922bは取り込まれたオーディオデータ等を出力に適したデータ形式に変換するための変換プラグイン、922cは変換されたデータをオーディオデバイス等に対して出力するための出力プラグインである。
【0004】
図8に示すソフトウェアの動作手順は次の通りである。
まず(1)において、GUI・920からコアエンジン921に対して音楽の再生の指示が行われる。このときGUI・920からコアエンジン921に対して、当該オーディオデータのファイルのURL(ユニフォームリソースロケータ)が渡される。
これを受けて、(2)において、コアエンジン921は、通信ネットワークを介してHTTP(ハイパーテキスト転送プロトコル)によってデータを入力するための入力プラグインを選択し、これを起動する。このときコアエンジン921から入力プラグイン922aに対して上記URLが渡される。
次に、(3)において、入力プラグイン922aは通信ネットワークを介して上記URLによって特定される外部のサーバにアクセスし、目的のオーディオファイル及びその種別を表すMIME(マルチパーパスインターネットメールエクステンションズ,Multipurpose Internet Mail Extensions)タイプを受け取り、これらのうちMIMEタイプのみをコアエンジン921に返す。
【0005】
次に(4)において、コアエンジン921は、受け取ったMIMEタイプに応じて、適切な変換プラグイン922bを選択して起動する。この起動された変換プラグイン922bは、コアエンジン921を介して入力プラグイン922aからヘッダとオーディオデータとから構成される上記オーディオファイルのうちヘッダ部を入手する。
そして(5)において、変換プラグイン922bは、受け取ったヘッダの内容(例えばMP3(MPEGレイヤ3)形式の詳細)を参照して最終的に出力すべきオーディオデータの出力形式(例えばWAV形式)をコアエンジン921に通知する。
そして(6)において、コアエンジン921は、変換プラグイン922bによって通知されたオーディオデータの出力形式に合った出力プラグインを選択して起動する。
以上の処理により、オーディオデータを処理するのに必要な全てのプラグインが選択し起動される。起動された入力プラグイン922a、変換プラグイン922b、出力プラグイン922cを介してオーディオデータが最終的に出力プラグイン922cに接続されたオーディオデバイスに出力される。
【0006】
【発明が解決しようとする課題】
上記のように、入力、変換、出力の各段階のプラグインを動的に起動するというソフトウェアアーキテクチャを採用することによって、ソフトウェアの個々の構造がシンプルになるのに加えそれら個々のソフトウェアが独立したソフトウェアとして機能するため、それらのソフトウェアで構成されるシステムの柔軟性や保守容易性が極めて向上する。しかしながら、上述した従来技術では、入力プラグインに対して渡される情報は、ネットワーク上のデータを示すURLや、ローカルコンピュータ上のデータファイルを示すファイル名などであるため、データの入力元が限られているという問題があった。マルチメディアアプリケーションなどにおいてはこれら以外の多様なデータを扱う可能性があり、また比較的短い期間の間に新しいデータ形式が開発され普及する可能性もあることを考慮すると、前記ソフトウェアアーキテクチャを大きく変更することなく、つまり柔軟性や保守容易性を維持したまま、多種多様な入力データに対応できるようにすることが望まれる。
【0007】
本発明は、このような事情を考慮してなされたものであり、アプリケーションプログラムから直接渡されたデータデータを処理することを可能としたインターネットラジオ再生装置のようなデータ処理装置およびそのデータ処理方法を提供することを目的とする。
【0008】
【課題を解決するための手段】
上記課題を解決するために、本発明は、変換処理の対象となるデータを取得する機能を実現するプログラムである入力プラグイン、前記取得されたデータに対して前記変換処理を施す機能を実現するプログラムである変換プラグイン、前記変換処理によって変換されたデータを出力する機能を実現するプログラムである出力プラグイン、および前記各プラグインを管理する機能を実現するプログラムであるコアエンジンからなる再生エンジン、ならびに前記再生エンジンによって処理するデータを供給する機能を実現するアプリケーションプログラムを記憶する記憶手段と、前記記憶手段から前記入力プラグイン、前記変換プラグイン、前記出力プラグイン、前記コアエンジン、前記アプリケーションプログラムを読み込んでそれぞれに応じた処理を実行するCPUと、を含んで構成されるとともに、前記CPUは、前記アプリケーションプログラムの実行により、前記変換処理の対象となるデータをメモリを経由して前記入力プラグインによる処理への入力としてセットする手段として機能し、前記コアエンジンの実行により、前記入力プラグインによって取得するデータのデータタイプに基づいて前記変換プラグインを選択し、前記入力プラグインによって取得するデータが前記選択された変換プラグインによる処理への入力となるように該入力および変換プラグインを連結し、前記選択された変換プラグインによる変換後のデータのデータタイプに基づいて前記出力プラグインを選択し、前記選択された変換プラグインによる変換後のデータが前記選択された出力プラグインによる処理への入力となるように該変換および出力プラグインを連結する手段として機能し、前記入力プラグイン、前記選択された変換プラグイン、および前記選択された出力プラグインの実行により、前記メモリを経由してセットした変換処理の対象となるデータを取得し、該取得したデータに対して変換処理を施し、該変換処理によって変換したデータを該データのデータタイプに応じた出力デバイスへ出力する一連の処理を行う手段として機能することを特徴とするデータ処理装置を提供する。
【0012】
また、本発明では、前記CPUは、前記アプリケーションプログラムの実行により、複数種類のデータから構成される複合データのうちの一部種類のデータをメモリを経由して前記入力プラグインによる処理への入力としてセットするとともに、前記複合データのうちの他の種類のデータを表示デバイスへ表示させる処理を行うことを特徴とする。
【0017】
また、本発明は、変換処理の対象となるデータをメモリを経由して取得する入力機能と、前記取得されたデータに対して前記変換処理を施す複数の変換機能と、前記変換処理によって変換されたデータを該データのデータタイプに応じた出力デバイスへ出力する複数の出力機能と、前記変換処理の対象となるデータを前記メモリを経由して前記入力機能への入力としてセットする機能と、前記入力機能によって取得するデータのデータタイプに基づいて前記変換機能を選択し、前記入力機能によって取得するデータが前記選択された変換機能への入力となるように該入力機能および該変換機能を連結し、前記選択された変換機能による変換後のデータのデータタイプに基づいて前記出力機能を選択し、前記選択された変換機能による変換後のデータが前記選択された出力機能への入力となるように該変換機能および該出力機能を連結する機能と、をコンピュータに実行させるコンピュータプログラムである。
また、さらに、複数種類のデータから構成される複合データのうちの一部種類のデータをメモリを経由して前記入力機能への入力としてセットするとともに、前記複合データのうちの他の種類のデータを表示デバイスへ表示させる機能をコンピュータに実行させることを特徴とする。
【0018】
【発明の実施の形態】
以下、図面を参照しこの発明の一実施形態について説明する。図1は、同実施形態によるデータ処理装置のハードウェア構成を示すブロック図である。図1に示すデータ処理装置1は、動画や静止画や音声や文字などの多様なメディアデータを入力して処理することができるようになっている。データ処理装置1の本体は、コンピュータの技術を用いて構成されており、データ処理を行うCPU(中央処理装置)10、読み書き可能な半導体メモリによって構成されるメインメモリ11、ディスプレイモニタへの出力画像信号を制御するビデオコントローラ12、通信ネットワークに介してデータの送受信を行うネットワークコントローラ13、出力するオーディオ信号を制御するオーディオコントローラ14、磁気ディスクなど読み書き可能な不揮発性記録媒体によって構成されるローカルストレージ15、および利用者等に対する入出力を制御するI/O(入出力)デバイス16を含んでいる。
【0019】
メインメモリ11には、本発明に係るコンピュータプログラムが搭載される。ビデオコントローラ12には、ディスプレイモニタ2が接続され、CPU10によって処理された結果としての画像を表示したり、ユーザが操作を行うための操作画面を表示したりすることができる。ネットワークコントローラ13には、例えばインターネットなどの通信ネットワーク3が接続されている。オーディオコントローラ14にはスピーカ4が接続され、CPU10によって処理された結果としてのオーディオデータを出力することができる。I/Oデバイス16には、キーボード、マウスなどを含むユーザインタフェース5が接続されている。
【0020】
上記メインメモリ11に搭載されるコンピュータプログラムは、ローカルストレージ15に保存しておくことが可能であり、また、通信ネットワーク3を介して任意のサーバなどから取得することも可能である。また、CD−ROM(コンパクトディスクを利用した読み出し専用メモリ)やフロッピー(登録商標)ディスクなどの任意の記録媒体を読み出すことによって取得することも可能である。
【0021】
上記のようなデータ処理装置は、据え置き型あるいは携帯可能な汎用のパーソナルコンピュータとして実現することも可能であり、データ処理機能を有する携帯型通信端末機器あるいはPDA(パーソナルデジタルアシスタント)機器として実現することも可能であり、又は、据え置き型あるいは携帯型のオーディオ再生機器あるいはビデオ再生機器として実現することも可能である。
【0022】
図2は、上記データ処理装置に搭載されるソフトウェア(コンピュータプログラム)の構成を示すソフトウェア構成図である。
【0023】
図2において、符号20はアプリケーションプログラムであり、また、25は、オーディオデータあるいはビデオデータなどの再生を行うインターネットラジオ再生装置の再生エンジンである。この再生エンジン25は、コアエンジンおよび各種プラグインによって構成される。21はコアエンジン(プラグイン管理)であり、このコアエンジン21は、アプリケーションプログラム20からの指示情報などに基づいて、必要な処理を行うプラグインを起動したり、そのプラグインとの間でデータのやりとりを行ったりするものである。また、22a、22b、22cは、それぞれコアエンジン21によって管理されるプラグインである。このコアエンジン21の管理のもと、オーディオデータ等を入力するための入力プラグイン22a(取得プログラムモジュール)、取り込まれたオーディオデータ等を出力に適したデータ形式に変換するための変換プラグイン22b(変換プログラムモジュール)、変換されたデータをオーディオデバイス等に対して出力するための出力プラグイン22c(出力プログラムモジュール)、によりオーディオデータの再生がなされる。
【0024】
各プラグイン(22a、22b、22cなど)は、それぞれ個別のソースプログラムファイルで記述され、このソースプログラムファイルをそれぞれ独立にコンパイルすることによって生成されたものである。各プラグインは、実行時に動的につまり必要なタイミングで呼び出すことが可能であり、例えばWindows(登録商標)系のオペレーティングシステムにおいては、拡張子「.dll」を持つダイナミックリンクライブラリのファイルとして前記ローカルストレージ15に格納されている。
【0025】
次に、データ処理の手順について説明する。図3は、本実施形態のデータ処理装置におけるデータ処理アーキテクチャを示す概略図である。図3に示すデータ処理アーキテクチャにおいては、データ入力と、データ変換と、データ出力の3つの階層が存在している。
【0026】
入力層においては、図2に示した入力プラグイン22aの実体として、ローカルファイルを読み込むためのプラグイン「LocalFile.dll」(31)と、HTTPによってファイルをダウンロードするためのプラグイン「HttpFile.dll」(32)と、アプリケーションプログラム20からメモリを経由して直接データを再生エンジンに渡すプラグイン「MemoryFile.dll」(33)とが存在しており、これらが適宜選択されて起動される。
変換層においては、図2に示した変換プラグイン22bの実体として、「mid」形式のファイルを解析するためのプラグイン「MidiFmt.dll」(41)と、「SoundVQ」形式のデータをデコードするためのプラグイン「SvqFmt.dll」(42)と、「MP3」形式のファイルをデコードするためのプラグイン「Mp3Fmt.dll」(43)とが存在しており、これらが適宜選択されて起動される。
出力層においては、図2に示した出力プラグイン22cの実体として、「MIDI」(ミュージックインストゥルメンタルデジタルインタフェース)形式のデータを出力するためのプラグイン「MidiOut.dll」(51)と、「WAV」形式のPCM(パルスコード変調)データを出力するためのプラグイン「WavOut.dll」(52)とが存在しており、これらが適宜選択されて起動される。
【0027】
そして、入力プラグイン22aは、取得したデータ(第1のデータ)を出力する。この入力プラグイン22aによって出力されたデータ(第1のデータ)は、変換プラグイン22bの入力となり、変換プラグイン22bは、入力されたデータ(第1のデータ)の形式を変換する処理を行い変換後のデータ(第2のデータ)を出力する。この変換プラグイン22bによって出力されたデータ(第2のデータ)は、出力プラグイン22cの入力となり、出力プラグイン22cは、入力されたデータ(第2のデータ)を外部に出力する。
【0028】
アプリケーションプログラム20は、ローカルストレージ15に記憶されている「MemoryFile.dll」(33)をメインメモリ11にロードし、実行可能な状態とする。これにより、「MemoryFile.dll」(33)は、アプリケーションプログラム20により生成されたデータを取り込む。従って、アプリケーションプログラム20は、自身で生成したデータをプラグイン「MemoryFile.dll」(33)自身の中に含めることができる。従来技術においては、GUIを介してファイル名をプラグイン「LocalFile.dll」(31)に渡したり、URLをプラグイン「HttpFile.dll」(32)に渡したりして、渡された側のプラグインが指定された名前のデータを取得していたが、上記のようなプラグイン「MemoryFile.dll」(33)を用いることによって、アプリケーションプログラム20からメモリを経由して直接データを再生エンジンに渡すことができ、それによりデータを入力する手段を多様化することができるというメリットが生じる。
【0029】
次に、プラグイン「MemoryFile.dll」(33)の詳細についてさらに説明する。図4は、プラグイン「MemoryFile.dll」(33)の構成を示す概略図である。プラグイン「MemoryFile.dll」(33)は、C++言語で書かれたソースプログラムファイルをコンパイルすることによって作成されその中には実行コード331を含む。実行コード331は入力データを保持する機能を有し、図4は入力データ332が保持された状態を示すものである。また、このプラグイン「MemoryFile.dll」(33)は、クラス「ISource」とクラス「IMRAPlugin」の2つのクラスを継承するプログラムとして定義されている。そして、このプラグイン「MemoryFile.dll」(33)の実行時には、入力データ332のタイプを表わすデータタイプ情報333が保持されるようになっている。また、このデータタイプ情報333にデータタイプを表す値をセットするためのファンクション「SetType」が用意されている。
【0030】
「MemoryFile.dll」(33)は、入力データ332を図2のコアエンジン21に先頭から順次出力し、その後その入力データはコアエンジン21の制御のもとで変換プラグイン22に送られる。
【0031】
次に、実際にプラグイン「MemoryFile.dll」(33)が処理を実行するための手順について説明する。アプリケーションプログラム20はその処理データを再生できるように入力プラグインから出力プラグインまでの一連の処理(データオープン処理)をスタートさせるが、その処理が完了するまでの手順を図5に示す。
【0032】
まず、図5のステップA1において、アプリケーションプログラム20はその処理データを入力モジュール(「MemoryFile.dll」)に入力データとしてセットする。
【0033】
次にステップA2において、この入力モジュールがコアエンジン21の支配下に置かれる。
次にステップA3において、アプリケーションプログラム20からコアエンジン21に対してパイプライン構築の要求が行われる。
【0034】
これを受けて、コアエンジン21側では、ステップA4において、前記ステップA2で支配下に置かれた入力モジュールをパイプラインの先頭として、入力、変換、出力の一連のデータ処理パイプラインを構築する。ここで、パイプラインとは、あるプラグイン(モジュール)からの出力データを、次のプラグインの入力データとし、さらにそのプラグインからの出力データをさらに他のプラグインの入力データとするといった一連の処理の流れを表わすものである。
そして、パイプラインの構築が完了すると、コアエンジン21からアプリケーションプログラム20に対してデータオープンの完了の通知が返される。
【0035】
次に、上記パイプラインを構築する処理手順の詳細について、さらに説明する。図6は、パイプライン構築の処理の手順を示すシーケンス図である。以下、図6の流れに沿って説明する。
まずステップB1において、アプリケーションプログラム20がコアエンジンに対して入力プラグイン(モジュール)を支配下に置くように指示する。
次に、ステップB2において、上記入力プラグイン22aがコアエンジン21の支配下に置かれる(図5のステップA2に相当)。
そして、ステップB3において、アプリケーションプログラム20からコアエンジン21に対してパイプライン構築の要求が発行される(図5のステップA3に相当)。
【0036】
次に、ステップB4において、コアエンジン21が入力プラグイン22aをパイプラインの先頭としてセットし、そのデータのデータタイプを通知するように指示する。
上記処理の結果として、ステップB5において、入力プラグイン22aはコアエンジン21に対して出力すべきデータのデータタイプを通知する。
そして、ステップB6においては、コアエンジン21は、ステップB5において通知を受けた入力プラグイン22aからのデータタイプに基づいて、適切な変換プラグインを選択する。
また、ステップB7においては、コアエンジン21は、入力プラグイン22aからの出力と、ステップB6において選択された変換プラグイン22bの入力とを連結する処理を行う。
【0037】
次に、ステップB8において、コアエンジン21が変換プラグイン22bをセットしそれがどんなデータタイプに変換するのかを通知するよう指示する。
上記処理の結果として、ステップB9において、変換プラグイン22bはコアエンジン21に対して変換結果としての出力データのデータタイプを通知する。
そして、ステップB10においては、コアエンジン21は、ステップB9において通知を受けた変換プラグイン23aからのデータタイプに基づいて、適切な出力プラグインを選択する。
また、ステップB11においては、コアエンジン21は、変換プラグイン22bからの出力と、ステップB10において選択された出力プラグイン22cの入力とを連結する処理を行う。
【0038】
次に、ステップB12において、コアエンジンは、出力プラグイン22cをセットし、さらに次にプラグインに出力すべきデータのデータタイプを通知するよう指示する。
上記処理の結果として、ステップB13において、出力プラグイン22cはコアエンジン21に対して、パイプラインの終端であるため、求められたデータタイプを通知する代わりに、その後のプラグインに後続処理は不要であることを通知する。
これを受けて、ステップB14においては、コアエンジン21がアプリケーションプログラム20に対してデータオープン処理の完了の通知を返す(図5のステップA5に相当)。
【0039】
上記のように、入力、変換、出力の一連のパイプラインが構築された後は、アプリケーションプログラム20からの要求に従って、プラグインの処理の実行を開始することにより、入力プラグイン22aにセットされている入力データの変換の処理が変換プラグイン22bにより、さらに変換後のデータの出力の処理が出力プラグイン22cにより行われる。
【0040】
次に、以上で説明したデータ処理装置の具体的な応用例について説明する。
図7は、前記データ処理装置の一応用例であるカラオケ再生装置によって処理されるマルチメディアデータの構成を示す概略図である。図7に示すように、このマルチメディアデータ100の内部には、MIDIデータ101と、主としてテキストデータからなる歌詞データ102と、背景画像データ103とが含まれている。
【0041】
アプリケーションプログラム20は、このようなマルチメディアデータ100を取得すると、MIDIデータ101のみのデータオープン処理を実行する。つまり、そのMIDIデータ101をプラグイン「MemoryFile.dll」内に入力データ(図4の符号332に相当)としてセットし、再生エンジン25内のコアエンジン21の支配下に置く。また、アプリケーションプログラム20は、コアエンジン21に対してパイプラインの構築を要求し、オープン完了通知をコアエンジン21から受け取る。このデータオープン処理の完了後、当該MIDIデータの処理が開始される。
これとともに、アプリケーションプログラム20は、上記マルチメディアデータ100に含まれていた背景画像データ103をディスプレイモニタ2(図1)に表示させるとともに、同じく歌詞データ102が表わす文字テキストをディスプレイモニタ2に表示させる。なお、MIDIデータ101を基にした再生出力と、画像データ103による表示と、歌詞データ102による表示は、同期的に行うようにする。
つまり、アプリケーションプログラム20は、複数種類のデータから構成されるマルチメディアデータ(複合データ)を処理し、このマルチメディアデータのうちの一部種類のデータを入力データとして入力プラグイン(取得プログラムモジュール)の一種であるプラグイン「memoryFile.dll」に供給するとともに、前記マルチメディアデータのうちの他の種類のデータをアプリケーションプログラム20自身で処理するものである。
これにより、アプリケーションプログラム20はMIDI処理部を有することなく表示機能のみを持たせることで、その構成をシンプルなものとすることができる。つまり、MIDIデータを上述したインターネットラジオ再生装置に渡すことで、アプリケーションプログラム20側での処理を不要とさせている。
【0042】
従来技術においては、ファイル名やURLを入力プラグインに渡し、指定されたファイル名又はURLに応じたデータを入力プラグインが取得するようにしていたため、図7に示したようなマルチメディアデータ100を直接処理することは困難であったが、本発明を用いることにより、マルチメディアデータ100の中から音として出力するMIDIデータのみを取り出してアプリケーションプログラム20からコアエンジン21側に渡すことができるようになり、残りのデータをアプリケーションプログラム20側で処理することで、様々な入力データに対応したデータ処理を可能とした。
【0043】
以上、図面を参照してこの発明の実施形態を詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【0044】
例えば、上記実施形態においては、入力プラグインの内部に入力データを持ち、入力プラグインがこのデータを順次出力してパイプライン処理するようにしたが、ソフトウェアの基本構造を変えることなく他の手段によって入力データを取得するようにしても良い。例えば、データ処理装置にオーディオ入力ポートを設け、このオーディオ入力ポートから入力されるアナログ信号をA/D(アナログ・デジタル)変換して、パイプラインに出力するような入力プラグインを作成しておき、この入力プラグインをコアエンジンから起動できるようにしても良い。
【0045】
【発明の効果】
以上説明したように、本発明によれば、処理対象となるデータを取得するためのプログラムモジュールであって当該データをオープンする処理と当該データの取得を開始する処理とを少なくとも含んだプログラムモジュールを、動的に生成するため、様々なタイプのデータを処理の対象とする柔軟性のあるデータ処理装置を実現することができる。
【0046】
また、本発明によれば、入力データ(第1のデータ)を含んだ入力層のプログラムモジュールを動的に生成するため、本発明が前提とするデータ処理アーキテクチャを維持したまま、GUIなどのアプリケーション処理部から変換対象となるデータを直接再生エンジン側へ渡すことが可能となる。
【0047】
また、本発明によれば、オーディオデータと画像データとテキストデータとを含んだマルチメディアデータを基に、当該マルチメディアデータに含まれる前記オーディオデータを用いて、当該オーディオデータを含んだ前記入力層のプログラムモジュールを動的に生成するため、本発明が前提とするデータ処理アーキテクチャを維持したまま、マルチメディアデータ内から特定のデータのみを抽出して、抽出されたデータを処理対象とすることが可能となる。これにより、新たに様々なタイプのデータ形式が開発され普及してきた場合にも、柔軟に対応することができる。
【0048】
また、本発明によれば、入力層のプログラムモジュールから通知される第1のデータのデータタイプに応じて変換層のプログラムモジュールを選択して生成し、前記入力層のプログラムモジュールからのデータ出力と当該変換層のプログラムモジュールへのデータ入力とを連結する処理を行い、当該変換層のプログラムモジュールから通知される第2のデータのデータタイプに応じて前記出力層のプログラムモジュールを選択して生成し、前記変換層のプログラムモジュールからのデータ出力と当該出力層のプログラムモジュールへのデータ入力とを連結する処理を行うことで、入力層から出力層までの一連のプログラムモジュールがパイプライン構築されそのシーケンスに応じたデータ処理が実現される。
【図面の簡単な説明】
【図1】 この発明の一実施形態によるデータ処理装置のハードウェア構成を示すブロック図である。
【図2】 同実施形態によるデータ処理装置に搭載されるソフトウェア(コンピュータプログラム)の構成を示すソフトウェア構成図である。
【図3】 同実施形態によるデータ処理装置におけるデータ処理アーキテクチャを示す概略図である。
【図4】 同実施形態によるデータ処理装置上で実行される入力プラグイン(MemoryFile.dll)の構成を示す概略図である。
【図5】 同実施形態によるデータ処理装置上で、GUI入力プラグインを生成してから再生エンジンによるオープン処理が完了するまでの処理手順を示すシーケンス図である。
【図6】 同実施形態によるデータ処理装置上で、入力、変換、出力の一連のパイプライン構築の処理の手順を示すシーケンス図である。
【図7】 同実施形態を応用したカラオケ再生装置によって処理されるマルチメディアデータの構成を示す概略図である。
【図8】 この発明が前提とする従来技術によるデータ処理装置に搭載されるソフトウェア(コンピュータプログラム)の構成を示すソフトウェア構成図である。
【符号の説明】
1 データ処理装置
2 ディスプレイモニタ
3 通信ネットワーク
4 スピーカ
5 ユーザインタフェース
10 CPU(中央処理装置)
11 メインメモリ
12 ビデオコントローラ
13 ネットワークコントローラ
14 オーディオコントローラ
15 ローカルストレージ
16 I/O(入出力)デバイス
20 GUI(グラフィカルユーザインタフェース)
21 コアエンジン
22a 入力プラグイン
22b 変換プラグイン
23c 出力プラグイン
Claims (4)
- 変換処理の対象となるデータを取得する機能を実現するプログラムである入力プラグイン、前記取得されたデータに対して前記変換処理を施す機能を実現するプログラムである変換プラグイン、前記変換処理によって変換されたデータを出力する機能を実現するプログラムである出力プラグイン、および前記各プラグインを管理する機能を実現するプログラムであるコアエンジンからなる再生エンジン、ならびに前記再生エンジンによって処理するデータを供給する機能を実現するアプリケーションプログラムを記憶する記憶手段と、
前記記憶手段から前記入力プラグイン、前記変換プラグイン、前記出力プラグイン、前記コアエンジン、前記アプリケーションプログラムを読み込んでそれぞれに応じた処理を実行するCPUと、
を含んで構成されるとともに、
前記CPUは、
前記アプリケーションプログラムの実行により、前記変換処理の対象となるデータをメモリを経由して前記入力プラグインによる処理への入力としてセットする手段として機能し、
前記コアエンジンの実行により、前記入力プラグインによって取得するデータのデータタイプに基づいて前記変換プラグインを選択し、前記入力プラグインによって取得するデータが前記選択された変換プラグインによる処理への入力となるように該入力および変換プラグインを連結し、前記選択された変換プラグインによる変換後のデータのデータタイプに基づいて前記出力プラグインを選択し、前記選択された変換プラグインによる変換後のデータが前記選択された出力プラグインによる処理への入力となるように該変換および出力プラグインを連結する手段として機能し、
前記入力プラグイン、前記選択された変換プラグイン、および前記選択された出力プラグインの実行により、前記メモリを経由してセットした変換処理の対象となるデータを取得し、該取得したデータに対して変換処理を施し、該変換処理によって変換したデータを該データのデータタイプに応じた出力デバイスへ出力する一連の処理を行う手段として機能する
ことを特徴とするデータ処理装置。 - 前記CPUは、前記アプリケーションプログラムの実行により、複数種類のデータから構成される複合データのうちの一部種類のデータをメモリを経由して前記入力プラグインによる処理への入力としてセットするとともに、前記複合データのうちの他の種類のデータを表示デバイスへ表示させる処理を行うことを特徴とする請求項1に記載のデータ処理装置。
- 変換処理の対象となるデータをメモリを経由して取得する入力機能と、
前記取得されたデータに対して前記変換処理を施す複数の変換機能と、
前記変換処理によって変換されたデータを該データのデータタイプに応じた出力デバイスへ出力する複数の出力機能と、
前記変換処理の対象となるデータを前記メモリを経由して前記入力機能への入力としてセットする機能と、
前記入力機能によって取得するデータのデータタイプに基づいて前記変換機能を選択し、前記入力機能によって取得するデータが前記選択された変換機能への入力となるように該入力機能および該変換機能を連結し、前記選択された変換機能による変換後のデータのデータタイプに基づいて前記出力機能を選択し、前記選択された変換機能による変換後のデータが前記選択された出力機能への入力となるように該変換機能および該出力機能を連結する機能と、
をコンピュータに実行させるコンピュータプログラム。 - さらに、複数種類のデータから構成される複合データのうちの一部種類のデータをメモリを経由して前記入力機能への入力としてセットするとともに、前記複合データのうちの他の種類のデータを表示デバイスへ表示させる機能をコンピュータに実行させることを特徴とする請求項3に記載のコンピュータプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002067153A JP3991724B2 (ja) | 2002-03-12 | 2002-03-12 | データ処理装置およびコンピュータプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002067153A JP3991724B2 (ja) | 2002-03-12 | 2002-03-12 | データ処理装置およびコンピュータプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003271406A JP2003271406A (ja) | 2003-09-26 |
JP3991724B2 true JP3991724B2 (ja) | 2007-10-17 |
Family
ID=29198633
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002067153A Expired - Fee Related JP3991724B2 (ja) | 2002-03-12 | 2002-03-12 | データ処理装置およびコンピュータプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3991724B2 (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005317114A (ja) | 2004-04-28 | 2005-11-10 | Sony Corp | 情報処理装置および情報処理方法、並びに、プログラム |
WO2007023683A1 (ja) * | 2005-08-24 | 2007-03-01 | Matsushita Electric Industrial Co., Ltd. | メディア処理方法、メディア処理プログラム |
US7663046B2 (en) * | 2007-03-22 | 2010-02-16 | Qualcomm Incorporated | Pipeline techniques for processing musical instrument digital interface (MIDI) files |
CN106569869B (zh) * | 2016-11-14 | 2019-04-19 | 平安科技(深圳)有限公司 | 插件化打包方法及装置 |
CN110489246B (zh) * | 2019-08-12 | 2022-06-07 | 中科寒武纪科技股份有限公司 | 数据传输与内存管理方法、装置以及相关产品 |
CN112363755B (zh) * | 2020-11-20 | 2022-08-16 | 成都秦川物联网科技股份有限公司 | 一种基于插件引擎注入的低耦合扩展的业务系统 |
-
2002
- 2002-03-12 JP JP2002067153A patent/JP3991724B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2003271406A (ja) | 2003-09-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7669206B2 (en) | Dynamic redirection of streaming media between computing devices | |
US9502074B2 (en) | Media foundation media processor | |
JP4313815B2 (ja) | コンピュータ・オペレーティング・システムにおけるカーネル・モード動作のユーザ・モード・プロキシ | |
Wyse et al. | The viability of the web browser as a computer music platform | |
JP2006172432A (ja) | コンパクトメディアフォーマットファイルを同期マルチメディア統合言語に変換するためのシステムおよび方法 | |
JPH09502821A (ja) | オブジェクト指向オーディオ・システム | |
US20060236219A1 (en) | Media timeline processing infrastructure | |
JP3991724B2 (ja) | データ処理装置およびコンピュータプログラム | |
JP4752137B2 (ja) | 入力データの変換方法、入力データの変換プログラム、および入力データの変換システム | |
EP1860643A1 (en) | Digital medium device, program, and digital medium providing method | |
JP4249569B2 (ja) | デマルチプレクサのアプリケーションプログラムインターフェイス | |
JP3864808B2 (ja) | 端末装置及びそのプログラム | |
Baalman et al. | Sharing Data in Collaborative, Interactive Performances: The SenseWorld DataNetwork. | |
CN114500657B (zh) | 媒体播放控制方法、装置、电子设备和可读存储介质 | |
US20080260177A1 (en) | Digital Medium Device, Program, and Digital Medium Providing Method | |
Costa et al. | Internet of Musical Things Environments and Pure Data: A Perfect Match? | |
RU2351002C2 (ru) | Программный интерфейс приложения демультиплексора | |
CN115103222A (zh) | 一种视频音轨处理方法及相关设备 | |
Zhuang et al. | Implementation of Android Audio Equalizer Based on FFmpeg | |
JP2008227979A (ja) | コンテンツ再生システム及びコンテンツ再生方法 | |
JP2021052297A (ja) | 再生制御装置、再生制御方法、およびプログラム | |
JP2008041144A (ja) | コンテンツ記録装置およびコンテンツ記録方法 | |
JP2001312298A (ja) | 話速変換処理装置、話速変換処理方法、記録媒体および話速変換処理装置の使用法 | |
JP2004118034A (ja) | Bgm再生システムおよびこれに用いるbgmプレーヤ | |
Siravara et al. | Integrating Audio and Telephony in a Distributed Workstation Environment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040115 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20061201 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070104 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070305 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20070403 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070606 |
|
A911 | Transfer of reconsideration by examiner before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20070612 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20070703 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070716 |
|
R150 | Certificate of patent (=grant) or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100803 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100803 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110803 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120803 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130803 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |