JP2003271406A - データ処理装置およびデータ処理方法ならびにそのプログラム - Google Patents

データ処理装置およびデータ処理方法ならびにそのプログラム

Info

Publication number
JP2003271406A
JP2003271406A JP2002067153A JP2002067153A JP2003271406A JP 2003271406 A JP2003271406 A JP 2003271406A JP 2002067153 A JP2002067153 A JP 2002067153A JP 2002067153 A JP2002067153 A JP 2002067153A JP 2003271406 A JP2003271406 A JP 2003271406A
Authority
JP
Japan
Prior art keywords
data
program module
conversion
processing unit
output
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.)
Granted
Application number
JP2002067153A
Other languages
English (en)
Other versions
JP3991724B2 (ja
Inventor
Yuji Koike
祐二 小池
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 JP2002067153A priority Critical patent/JP3991724B2/ja
Publication of JP2003271406A publication Critical patent/JP2003271406A/ja
Application granted granted Critical
Publication of JP3991724B2 publication Critical patent/JP3991724B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)
  • Electrophonic Musical Instruments (AREA)

Abstract

(57)【要約】 【課題】 多種多様なデータを処理することのできるデ
ータ処理装置およびデータ処理方法を提供する。 【解決手段】 アプリケーションプログラム20は、ア
プリケーションプログラム20により形成されたデータ
を内部に取り込んだ形でプラグイン(MemoryFi
le.dll)33を実行可能化し、入力層にセットす
る。コアエンジン部は、プラグイン33から出力される
データタイプに応じた変換層のプラグインを選択する。
選択された変換層は変換後のデータタイプを出力し、そ
の結果に応じた出力層のプラグインを選択する。これら
一連のプラグインをパイプライン構築し、前記データを
オープンする。アプリケーションプログラムがデータ処
理の開始を要求すると、プラグイン33は上記取り込ん
だデータを出力し、このデータがパイプライン化された
プラグインによって順次変換され出力される。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、例えばデジタル
オーディオデータなどのデータを処理するためのデータ
処理装置およびデータ処理方法に関する。特に、入力、
変換、出力の3階層で構成されるモジュール群を用いて
データ変換の処理を行うデータ処理装置およびデータ処
理方法に関する。
【0002】
【従来の技術】コンピュータを用いて実現されるデータ
処理装置において、プログラムの柔軟性や保守容易性を
維持しながら、様々なタイプのデータに対応できるよう
にするために「プラグイン」と呼ばれるプログラムモジ
ュールが使用される場合がある。このプラグインは、そ
れぞれ独立して記述されたソースプログラムファイルを
コンパイルすることによって、個別の実行可能形式ファ
イルとして生成され、動的に、つまり必要なタイミング
に呼び出されて実行される。
【0003】図8は、従来技術によるインターネットラ
ジオ再生装置のソフトウェアを上記のようなプラグイン
を用いて構成した例を示すソフトウェア構成図である。
図8において、符号920はGUI(グラフィカルユー
ザインタフェース,ユーザインタフェース処理モジュー
ル)であり、このGUI・920は、利用者に対して操
作用の画面を提供するとともに、その画面を通して行わ
れる操作に応じた処理を実行するための制御を行うもの
である。また、921はコアエンジン(プラグイン管
理)であり、このコアエンジン921は、GUI・92
0からの指示情報などに基づいて、必要な処理を行うプ
ラグインを起動したり、そのプラグインとの間でデータ
のやりとりを行ったりするものである。また、922
a、922b、922cは、それぞれコアエンジン92
1によって管理されるプラグインである。922aはネ
ットワーク等を介して外部からオーディオデータ等を取
り込むための入力プラグイン、922bは取り込まれた
オーディオデータ等を出力に適したデータ形式に変換す
るための変換プラグイン、922cは変換されたデータ
をオーディオデバイス等に対して出力するための出力プ
ラグインである。
【0004】図8に示すソフトウェアの動作手順は次の
通りである。まず(1)において、GUI・920から
コアエンジン921に対して音楽の再生の指示が行われ
る。このときGUI・920からコアエンジン921に
対して、当該オーディオデータのファイルのURL(ユ
ニフォームリソースロケータ)が渡される。これを受け
て、(2)において、コアエンジン921は、通信ネッ
トワークを介してHTTP(ハイパーテキスト転送プロ
トコル)によってデータを入力するための入力プラグイ
ンを選択し、これを起動する。このときコアエンジン9
21から入力プラグイン922aに対して上記URLが
渡される。次に、(3)において、入力プラグイン92
2aは通信ネットワークを介して上記URLによって特
定される外部のサーバにアクセスし、目的のオーディオ
ファイル及びその種別を表すMIME(マルチパーパス
インターネットメールエクステンションズ,Multipurpos
e Internet Mail Extensions)タイプを受け取り、これ
らのうちMIMEタイプのみをコアエンジン921に返
す。
【0005】次に(4)において、コアエンジン921
は、受け取ったMIMEタイプに応じて、適切な変換プ
ラグイン922bを選択して起動する。この起動された
変換プラグイン922bは、コアエンジン921を介し
て入力プラグイン922aからヘッダとオーディオデー
タとから構成される上記オーディオファイルのうちヘッ
ダ部を入手する。そして(5)において、変換プラグイ
ン922bは、受け取ったヘッダの内容(例えばMP3
(MPEGレイヤ3)形式の詳細)を参照して最終的に
出力すべきオーディオデータの出力形式(例えばWAV
形式)をコアエンジン921に通知する。そして(6)
において、コアエンジン921は、変換プラグイン92
2bによって通知されたオーディオデータの出力形式に
合った出力プラグインを選択して起動する。以上の処理
により、オーディオデータを処理するのに必要な全ての
プラグインが選択し起動される。起動された入力プラグ
イン922a、変換プラグイン922b、出力プラグイ
ン922cを介してオーディオデータが最終的に出力プ
ラグイン922cに接続されたオーディオデバイスに出
力される。
【0006】
【発明が解決しようとする課題】上記のように、入力、
変換、出力の各段階のプラグインを動的に起動するとい
うソフトウェアアーキテクチャを採用することによっ
て、ソフトウェアの個々の構造がシンプルになるのに加
えそれら個々のソフトウェアが独立したソフトウェアと
して機能するため、それらのソフトウェアで構成される
システムの柔軟性や保守容易性が極めて向上する。しか
しながら、上述した従来技術では、入力プラグインに対
して渡される情報は、ネットワーク上のデータを示すU
RLや、ローカルコンピュータ上のデータファイルを示
すファイル名などであるため、データの入力元が限られ
ているという問題があった。マルチメディアアプリケー
ションなどにおいてはこれら以外の多様なデータを扱う
可能性があり、また比較的短い期間の間に新しいデータ
形式が開発され普及する可能性もあることを考慮する
と、前記ソフトウェアアーキテクチャを大きく変更する
ことなく、つまり柔軟性や保守容易性を維持したまま、
多種多様な入力データに対応できるようにすることが望
まれる。
【0007】本発明は、このような事情を考慮してなさ
れたものであり、アプリケーションプログラムから直接
渡されたデータデータを処理することを可能としたイン
ターネットラジオ再生装置のようなデータ処理装置およ
びそのデータ処理方法を提供することを目的とする。
【0008】
【課題を解決するための手段】上記課題を解決するため
に、本発明は、処理対象となる入力データを取得する取
得プログラムモジュール処理部と、当該データを変換し
て変換データを生成する変換プログラムモジュール処理
部と、前記変換データを出力する出力プログラムモジュ
ール処理部と、前記取得プログラムモジュール処理部と
前記変換プログラムモジュール処理部と前記出力プログ
ラムモジュール処理部とを管理するコントロール部とか
らなるデータ処理装置において、前記コントロール部
は、前記取得プログラムモジュール処理部が前記入力デ
ータを取得したことに応じて、事前に前記取得プログラ
ムモジュール処理部と前記変換プログラムモジュール処
理部と前記出力プログラムモジュール処理部とが一連の
処理を可能とする状態に設定することによって、前記取
得プログラムモジュール処理部が前記入力データを前記
変換プログラムモジュール処理部に供給するようにせし
めるとともに、前記変換プログラムモジュール処理部が
前記変換データを前記出力プログラムモジュール処理部
に供給するようにせしめることを特徴とする。なお、上
記の取得プログラムモジュール処理部は、取得プログラ
ムモジュールを記憶する記憶媒体とこの記憶媒体から当
該プログラムモジュールを読み出して実行する実行手
段、すなわち、例えばCPU(中央処理装置)とから成
る。また、変換プログラムモジュール処理部は、変換プ
ログラムモジュールを記憶する記憶媒体とこの記憶媒体
から当該プログラムモジュールを読み出して実行する実
行手段とから成る。また、出力プログラムモジュール処
理部は、出力プログラムモジュールを記憶する記憶媒体
とこの記憶媒体から当該プログラムモジュールを読み出
して実行する実行手段とから成る。
【0009】また、本発明では、前記データ処理装置
は、前記入力データを供給するアプリケーションプログ
ラムモジュール処理部を有することを特徴とする。な
お、上記のアプリケーションプログラムモジュール処理
部は、アプリケーションプログラムモジュールを記憶す
る記憶媒体とこの記憶媒体から当該プログラムモジュー
ルを読み出して実行する実行手段とから成る。
【0010】また、本発明では、前記入力データは、前
記アプリケーションプログラムモジュール処理部が行う
処理の結果生じるデータであることを特徴とする。
【0011】また、本発明では、前記入力データは、M
IDIデータであることを特徴とする。
【0012】また、本発明では、前記アプリケーション
プログラムモジュール処理部は、複数種類のデータから
構成される複合データを処理し、この複合データうちの
一部種類のデータを前記入力データとして前記取得プロ
グラムモジュール処理部に供給するとともに、前記複合
データのうちの他の種類のデータをアプリケーションプ
ログラムモジュール処理部自身で処理することを特徴と
する。
【0013】また、本発明では、前記取得プログラムモ
ジュール処理部と前記変換プログラムモジュール処理部
と前記出力プログラムモジュール処理部のうち少なくと
も1つは、複数のプログラムモジュールを記憶する記憶
手段を備えており、処理対象となるデータに応じてこれ
ら複数のプログラムモジュールのうちひとつのプログラ
ムモジュールを決定し、この決定されたプログラムモジ
ュールを前記記憶手段から読み出して実行することを特
徴とする。
【0014】また、本発明では、前記一部のデータは音
データであることを特徴とする。
【0015】また、本発明は、処理対象となる入力デー
タを取得する取得プログラムモジュール処理部と、当該
データを変換して変換データを生成する変換プログラム
モジュール処理部と、前記変換データを出力する出力プ
ログラムモジュール処理部と、前記取得プログラムモジ
ュール処理部と前記変換プログラムモジュール処理部と
前記出力プログラムモジュール処理部とを管理するコン
トロール部とからなるデータ処理装置におけるデータ処
理方法であって、前記コントロール部が、前記取得プロ
グラムモジュール処理部が前記入力データを取得したこ
とに応じて、事前に前記取得プログラムモジュール処理
部と前記変換プログラムモジュール処理部と前記出力プ
ログラムモジュール処理部とが一連の処理を可能とする
状態に設定することによって、前記取得プログラムモジ
ュール処理部が前記入力データを前記変換プログラムモ
ジュール処理部に供給するようにせしめるとともに、前
記変換プログラムモジュール処理部が前記変換データを
前記出力プログラムモジュール処理部に供給するように
せしめることを特徴とする。
【0016】また、本発明は、処理対象となる入力デー
タを取得する取得プログラムモジュールと、当該データ
を変換して変換データを生成する変換プログラムモジュ
ールと、前記変換データを出力する出力プログラムモジ
ュールとをコンピュータに実行させることによりデータ
を処理するデータ処理装置において、データの処理をコ
ントロールするために、前記取得プログラムモジュール
が前記入力データを取得したことに応じて、事前に前記
取得プログラムモジュールと前記変換プログラムモジュ
ールと前記出力プログラムモジュールとが一連の処理を
可能とする状態に設定することによって、前記取得プロ
グラムモジュールが前記入力データを前記変換プログラ
ムモジュールに供給するようにせしめるとともに、前記
変換プログラムモジュールが前記変換データを前記出力
プログラムモジュールに供給するようにせしめる処理を
コンピュータに実行させるコンピュータプログラムを記
録した記録媒体である。
【0017】また、本発明は、処理対象となる入力デー
タを取得する取得プログラムモジュールと、当該データ
を変換して変換データを生成する変換プログラムモジュ
ールと、前記変換データを出力する出力プログラムモジ
ュールとをコンピュータに実行させることによりデータ
を処理するデータ処理装置において、データの処理をコ
ントロールするために、前記取得プログラムモジュール
が前記入力データを取得したことに応じて、事前に前記
取得プログラムモジュールと前記変換プログラムモジュ
ールと前記出力プログラムモジュールとが一連の処理を
可能とする状態に設定することによって、前記取得プロ
グラムモジュールが前記入力データを前記変換プログラ
ムモジュールに供給するようにせしめるとともに、前記
変換プログラムモジュールが前記変換データを前記出力
プログラムモジュールに供給するようにせしめる処理を
コンピュータに実行させるコンピュータプログラムであ
る。
【0018】
【発明の実施の形態】以下、図面を参照しこの発明の一
実施形態について説明する。図1は、同実施形態による
データ処理装置のハードウェア構成を示すブロック図で
ある。図1に示すデータ処理装置1は、動画や静止画や
音声や文字などの多様なメディアデータを入力して処理
することができるようになっている。データ処理装置1
の本体は、コンピュータの技術を用いて構成されてお
り、データ処理を行うCPU(中央処理装置)10、読
み書き可能な半導体メモリによって構成されるメインメ
モリ11、ディスプレイモニタへの出力画像信号を制御
するビデオコントローラ12、通信ネットワークに介し
てデータの送受信を行うネットワークコントローラ1
3、出力するオーディオ信号を制御するオーディオコン
トローラ14、磁気ディスクなど読み書き可能な不揮発
性記録媒体によって構成されるローカルストレージ1
5、および利用者等に対する入出力を制御するI/O
(入出力)デバイス16を含んでいる。
【0019】メインメモリ11には、本発明に係るコン
ピュータプログラムが搭載される。ビデオコントローラ
12には、ディスプレイモニタ2が接続され、CPU1
0によって処理された結果としての画像を表示したり、
ユーザが操作を行うための操作画面を表示したりするこ
とができる。ネットワークコントローラ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)と、「S
oundVQ」形式のデータをデコードするためのプラ
グイン「SvqFmt.dll」(42)と、「MP
3」形式のファイルをデコードするためのプラグイン
「Mp3Fmt.dll」(43)とが存在しており、
これらが適宜選択されて起動される。出力層において
は、図2に示した出力プラグイン22cの実体として、
「MIDI」(ミュージックインストゥルメンタルデジ
タルインタフェース)形式のデータを出力するためのプ
ラグイン「MidiOut.dll」(51)と、「W
AV」形式のPCM(パルスコード変調)データを出力
するためのプラグイン「WavOut.dll」(5
2)とが存在しており、これらが適宜選択されて起動さ
れる。
【0027】そして、入力プラグイン22aは、取得し
たデータ(第1のデータ)を出力する。この入力プラグ
イン22aによって出力されたデータ(第1のデータ)
は、変換プラグイン22bの入力となり、変換プラグイ
ン22bは、入力されたデータ(第1のデータ)の形式
を変換する処理を行い変換後のデータ(第2のデータ)
を出力する。この変換プラグイン22bによって出力さ
れたデータ(第2のデータ)は、出力プラグイン22c
の入力となり、出力プラグイン22cは、入力されたデ
ータ(第2のデータ)を外部に出力する。
【0028】アプリケーションプログラム20は、ロー
カルストレージ15に記憶されている「MemoryF
ile.dll」(33)をメインメモリ11にロード
し、実行可能な状態とする。これにより、「Memor
yFile.dll」(33)は、アプリケーションプ
ログラム20により生成されたデータを取り込む。従っ
て、アプリケーションプログラム20は、自身で生成し
たデータをプラグイン「MemoryFile.dl
l」(33)自身の中に含めることができる。従来技術
においては、GUIを介してファイル名をプラグイン
「LocalFile.dll」(31)に渡したり、
URLをプラグイン「HttpFile.dll」(3
2)に渡したりして、渡された側のプラグインが指定さ
れた名前のデータを取得していたが、上記のようなプラ
グイン「MemoryFile.dll」(33)を用
いることによって、アプリケーションプログラム20か
らメモリを経由して直接データを再生エンジンに渡すこ
とができ、それによりデータを入力する手段を多様化す
ることができるというメリットが生じる。
【0029】次に、プラグイン「MemoryFil
e.dll」(33)の詳細についてさらに説明する。
図4は、プラグイン「MemoryFile.dll」
(33)の構成を示す概略図である。プラグイン「Me
moryFile.dll」(33)は、C++言語で
書かれたソースプログラムファイルをコンパイルするこ
とによって作成されその中には実行コード331を含
む。実行コード331は入力データを保持する機能を有
し、図4は入力データ332が保持された状態を示すも
のである。また、このプラグイン「MemoryFil
e.dll」(33)は、クラス「ISource」と
クラス「IMRAPlugin」の2つのクラスを継承
するプログラムとして定義されている。そして、このプ
ラグイン「MemoryFile.dll」(33)の
実行時には、入力データ332のタイプを表わすデータ
タイプ情報333が保持されるようになっている。ま
た、このデータタイプ情報333にデータタイプを表す
値をセットするためのファンクション「SetTyp
e」が用意されている。
【0030】「MemoryFile.dll」(3
3)は、入力データ332を図2のコアエンジン21に
先頭から順次出力し、その後その入力データはコアエン
ジン21の制御のもとで変換プラグイン22に送られ
る。
【0031】次に、実際にプラグイン「MemoryF
ile.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をセットし、さらに次に
プラグインに出力すべきデータのデータタイプを通知す
るよう指示する。上記処理の結果として、ステップB1
3において、出力プラグイン22cはコアエンジン21
に対して、パイプラインの終端であるため、求められた
データタイプを通知する代わりに、その後のプラグイン
に後続処理は不要であることを通知する。これを受け
て、ステップB14においては、コアエンジン21がア
プリケーションプログラム20に対してデータオープン
処理の完了の通知を返す(図5のステップA5に相
当)。
【0039】上記のように、入力、変換、出力の一連の
パイプラインが構築された後は、アプリケーションプロ
グラム20からの要求に従って、プラグインの処理の実
行を開始することにより、入力プラグイン22aにセッ
トされている入力データの変換の処理が変換プラグイン
22bにより、さらに変換後のデータの出力の処理が出
力プラグイン22cにより行われる。
【0040】次に、以上で説明したデータ処理装置の具
体的な応用例について説明する。図7は、前記データ処
理装置の一応用例であるカラオケ再生装置によって処理
されるマルチメディアデータの構成を示す概略図であ
る。図7に示すように、このマルチメディアデータ10
0の内部には、MIDIデータ101と、主としてテキ
ストデータからなる歌詞データ102と、背景画像デー
タ103とが含まれている。
【0041】アプリケーションプログラム20は、この
ようなマルチメディアデータ100を取得すると、MI
DIデータ101のみのデータオープン処理を実行す
る。つまり、そのMIDIデータ101をプラグイン
「MemoryFile.dll」内に入力データ(図
4の符号332に相当)としてセットし、再生エンジン
25内のコアエンジン21の支配下に置く。また、アプ
リケーションプログラム20は、コアエンジン21に対
してパイプラインの構築を要求し、オープン完了通知を
コアエンジン21から受け取る。このデータオープン処
理の完了後、当該MIDIデータの処理が開始される。
これとともに、アプリケーションプログラム20は、上
記マルチメディアデータ100に含まれていた背景画像
データ103をディスプレイモニタ2(図1)に表示さ
せるとともに、同じく歌詞データ102が表わす文字テ
キストをディスプレイモニタ2に表示させる。なお、M
IDIデータ101を基にした再生出力と、画像データ
103による表示と、歌詞データ102による表示は、
同期的に行うようにする。つまり、アプリケーションプ
ログラム20は、複数種類のデータから構成されるマル
チメディアデータ(複合データ)を処理し、このマルチ
メディアデータのうちの一部種類のデータを入力データ
として入力プラグイン(取得プログラムモジュール)の
一種であるプラグイン「memoryFile.dl
l」に供給するとともに、前記マルチメディアデータの
うちの他の種類のデータをアプリケーションプログラム
20自身で処理するものである。これにより、アプリケ
ーションプログラム20はMIDI処理部を有すること
なく表示機能のみを持たせることで、その構成をシンプ
ルなものとすることができる。つまり、MIDIデータ
を上述したインターネットラジオ再生装置に渡すこと
で、アプリケーションプログラム20側での処理を不要
とさせている。
【0042】従来技術においては、ファイル名やURL
を入力プラグインに渡し、指定されたファイル名又はU
RLに応じたデータを入力プラグインが取得するように
していたため、図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】 同実施形態によるデータ処理装置上で、GU
I入力プラグインを生成してから再生エンジンによるオ
ープン処理が完了するまでの処理手順を示すシーケンス
図である。
【図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 (10)

    【特許請求の範囲】
  1. 【請求項1】 処理対象となる入力データを取得する取
    得プログラムモジュール処理部と、 当該データを変換して変換データを生成する変換プログ
    ラムモジュール処理部と、 前記変換データを出力する出力プログラムモジュール処
    理部と、 前記取得プログラムモジュール処理部と前記変換プログ
    ラムモジュール処理部と前記出力プログラムモジュール
    処理部とを管理するコントロール部とからなるデータ処
    理装置において、 前記コントロール部は、 前記取得プログラムモジュール処理部が前記入力データ
    を取得したことに応じて、事前に前記取得プログラムモ
    ジュール処理部と前記変換プログラムモジュール処理部
    と前記出力プログラムモジュール処理部とが一連の処理
    を可能とする状態に設定することによって、 前記取得プログラムモジュール処理部が前記入力データ
    を前記変換プログラムモジュール処理部に供給するよう
    にせしめるとともに、前記変換プログラムモジュール処
    理部が前記変換データを前記出力プログラムモジュール
    処理部に供給するようにせしめることを特徴とするデー
    タ処理装置。
  2. 【請求項2】 前記データ処理装置は、前記入力データ
    を供給するアプリケーションプログラムモジュール処理
    部を有することを特徴とする請求項1に記載のデータ処
    理装置。
  3. 【請求項3】 前記入力データは、前記アプリケーショ
    ンプログラムモジュール処理部が行う処理の結果生じる
    データであることを特徴とする請求項2に記載のデータ
    処理装置。
  4. 【請求項4】 前記入力データは、MIDIデータであ
    ることを特徴とする請求項1に記載のデータ処理装置。
  5. 【請求項5】 前記アプリケーションプログラムモジュ
    ール処理部は、複数種類のデータから構成される複合デ
    ータを処理し、この複合データのうちの一部種類のデー
    タを前記入力データとして前記取得プログラムモジュー
    ル処理部に供給するとともに、前記複合データのうちの
    他の種類のデータをアプリケーションプログラムモジュ
    ール処理部自身で処理することを特徴とする請求項2に
    記載のデータ処理装置。
  6. 【請求項6】 前記取得プログラムモジュール処理部と
    前記変換プログラムモジュール処理部と前記出力プログ
    ラムモジュール処理部のうち少なくとも1つは、複数の
    プログラムモジュールを記憶する記憶手段を備えてお
    り、処理対象となるデータに応じてこれら複数のプログ
    ラムモジュールのうちひとつのプログラムモジュールを
    決定し、この決定されたプログラムモジュールを前記記
    憶手段から読み出して実行することを特徴とする請求項
    1に記載のデータ処理装置。
  7. 【請求項7】 前記一部のデータは音データであること
    を特徴とする請求項5に記載のデータ処理装置。
  8. 【請求項8】 処理対象となる入力データを取得する取
    得プログラムモジュール処理部と、 当該データを変換して変換データを生成する変換プログ
    ラムモジュール処理部と、 前記変換データを出力する出力プログラムモジュール処
    理部と、 前記取得プログラムモジュール処理部と前記変換プログ
    ラムモジュール処理部と前記出力プログラムモジュール
    処理部とを管理するコントロール部とからなるデータ処
    理装置におけるデータ処理方法であって、 前記コントロール部が、 前記取得プログラムモジュール処理部が前記入力データ
    を取得したことに応じて、事前に前記取得プログラムモ
    ジュール処理部と前記変換プログラムモジュール処理部
    と前記出力プログラムモジュール処理部とが一連の処理
    を可能とする状態に設定することによって、 前記取得プログラムモジュール処理部が前記入力データ
    を前記変換プログラムモジュール処理部に供給するよう
    にせしめるとともに、前記変換プログラムモジュール処
    理部が前記変換データを前記出力プログラムモジュール
    処理部に供給するようにせしめることを特徴とするデー
    タ処理方法。
  9. 【請求項9】 処理対象となる入力データを取得する取
    得プログラムモジュールと、 当該データを変換して変換データを生成する変換プログ
    ラムモジュールと、 前記変換データを出力する出力プログラムモジュールと をコンピュータに実行させることによりデータを処理す
    るデータ処理装置において、 データの処理をコントロールするために、 前記取得プログラムモジュールが前記入力データを取得
    したことに応じて、事前に前記取得プログラムモジュー
    ルと前記変換プログラムモジュールと前記出力プログラ
    ムモジュールとが一連の処理を可能とする状態に設定す
    ることによって、前記取得プログラムモジュールが前記
    入力データを前記変換プログラムモジュールに供給する
    ようにせしめるとともに、前記変換プログラムモジュー
    ルが前記変換データを前記出力プログラムモジュールに
    供給するようにせしめる処理をコンピュータに実行させ
    るコンピュータプログラムを記録した記録媒体。
  10. 【請求項10】 処理対象となる入力データを取得する
    取得プログラムモジュールと、 当該データを変換して変換データを生成する変換プログ
    ラムモジュールと、 前記変換データを出力する出力プログラムモジュールと
    をコンピュータに実行させることによりデータを処理す
    るデータ処理装置において、 データの処理をコントロールするために、 前記取得プログラムモジュールが前記入力データを取得
    したことに応じて、事前に前記取得プログラムモジュー
    ルと前記変換プログラムモジュールと前記出力プログラ
    ムモジュールとが一連の処理を可能とする状態に設定す
    ることによって、前記取得プログラムモジュールが前記
    入力データを前記変換プログラムモジュールに供給する
    ようにせしめるとともに、前記変換プログラムモジュー
    ルが前記変換データを前記出力プログラムモジュールに
    供給するようにせしめる処理をコンピュータに実行させ
    るコンピュータプログラム。
JP2002067153A 2002-03-12 2002-03-12 データ処理装置およびコンピュータプログラム Expired - Fee Related JP3991724B2 (ja)

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 true JP2003271406A (ja) 2003-09-26
JP3991724B2 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)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2007023683A1 (ja) * 2005-08-24 2009-03-26 パナソニック株式会社 メディア処理方法、メディア処理プログラム
US7684883B2 (en) 2004-04-28 2010-03-23 Sony Corporation Information processing apparatus, information processing method, and program
JP2010522364A (ja) * 2007-03-22 2010-07-01 クゥアルコム・インコーポレイテッド 楽器用デジタルインターフェース(midi)ファイルを処理するためのパイプライン技法
KR20180077265A (ko) * 2016-11-14 2018-07-06 핑안 테크놀로지 (션젼) 컴퍼니 리미티드 플러그인화 패키징 방법, 장치, 터미널 및 저장 매체
CN110489246A (zh) * 2019-08-12 2019-11-22 北京中科寒武纪科技有限公司 数据传输与内存管理方法、装置以及相关产品
CN112363755A (zh) * 2020-11-20 2021-02-12 成都秦川物联网科技股份有限公司 一种基于插件引擎注入的低耦合扩展的业务系统

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7684883B2 (en) 2004-04-28 2010-03-23 Sony Corporation Information processing apparatus, information processing method, and program
JPWO2007023683A1 (ja) * 2005-08-24 2009-03-26 パナソニック株式会社 メディア処理方法、メディア処理プログラム
JP2010146575A (ja) * 2005-08-24 2010-07-01 Panasonic Corp メディア処理方法
US8619873B2 (en) 2005-08-24 2013-12-31 Panasonic Corporation Media processing method and media processing program
JP2010522364A (ja) * 2007-03-22 2010-07-01 クゥアルコム・インコーポレイテッド 楽器用デジタルインターフェース(midi)ファイルを処理するためのパイプライン技法
KR20180077265A (ko) * 2016-11-14 2018-07-06 핑안 테크놀로지 (션젼) 컴퍼니 리미티드 플러그인화 패키징 방법, 장치, 터미널 및 저장 매체
JP2019502176A (ja) * 2016-11-14 2019-01-24 平安科技(深▲せん▼)有限公司 プラグイン化パッケージング方法、装置及び端末
KR102096195B1 (ko) * 2016-11-14 2020-04-02 핑안 테크놀로지 (션젼) 컴퍼니 리미티드 플러그인화 패키징 방법, 장치, 터미널 및 저장 매체
CN110489246A (zh) * 2019-08-12 2019-11-22 北京中科寒武纪科技有限公司 数据传输与内存管理方法、装置以及相关产品
CN112363755A (zh) * 2020-11-20 2021-02-12 成都秦川物联网科技股份有限公司 一种基于插件引擎注入的低耦合扩展的业务系统
CN112363755B (zh) * 2020-11-20 2022-08-16 成都秦川物联网科技股份有限公司 一种基于插件引擎注入的低耦合扩展的业务系统

Also Published As

Publication number Publication date
JP3991724B2 (ja) 2007-10-17

Similar Documents

Publication Publication Date Title
JP4772297B2 (ja) メディアファウンデーションメディアプロセッサ
JP4313815B2 (ja) コンピュータ・オペレーティング・システムにおけるカーネル・モード動作のユーザ・モード・プロキシ
US7669206B2 (en) Dynamic redirection of streaming media between computing devices
JP3770616B2 (ja) オブジェクト指向ビデオ・システム
US7661060B2 (en) Multimedia reproducing apparatus and method
US20050135383A1 (en) Arrangement for accessing an IP-based messaging server by telephone for management of stored messages
JPH09502821A (ja) オブジェクト指向オーディオ・システム
JP2010140506A (ja) 文書に注釈を付ける装置
JP2010288301A (ja) ポータブルデバイスにおけるマルチメディアレンダリングのためのシステム
JP2008538675A (ja) メディアタイムライン処理インフラストラクチャ
JP2006172432A (ja) コンパクトメディアフォーマットファイルを同期マルチメディア統合言語に変換するためのシステムおよび方法
KR100340169B1 (ko) 자바를 이용한 동적 멀티미디어 웹 카타로깅 시스템 및 그 방법
JP3991724B2 (ja) データ処理装置およびコンピュータプログラム
JP4752137B2 (ja) 入力データの変換方法、入力データの変換プログラム、および入力データの変換システム
Goyal Pro Java ME MMAPI: mobile media API for java micro edition
JP2005317115A (ja) 情報処理装置および情報処理方法、並びに、プログラム
KR20050015930A (ko) 디멀티플렉서 애플리케이션 프로그래밍 인터페이스
KR20050029266A (ko) 개인용 컴퓨터에서 제작된 발표 파일을 네트워크 단말기,휴대용 저장장치 및 휴대용 멀티미디어 재생 장치에서 사용할 수 있도록 변환하는 파일 형식과 재생장치 및 방법
JP2005038198A (ja) 情報処理装置
JP4551372B2 (ja) コンテンツ記録装置およびコンテンツ記録方法
JP2010146157A (ja) 音情報変換再生システムおよび音情報変換再生システムの制御方法
KR200315576Y1 (ko) 노래반주기의 음향과 카메라의 영상을 합성한 파일을생성하여 인터넷을 통해 전송하는 서비스를 구현하기위한 장치 구성 및 그 장치
KR20140119473A (ko) 사용자 지향적 미디 음악 재생편집 장치 및 방법
CN115103222A (zh) 一种视频音轨处理方法及相关设备
Jackson et al. Playing Audio in Android: The MediaPlayer Class

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