JP2002351709A - 入力データの変換方法、入力データの変換プログラム、および入力データの変換システム - Google Patents

入力データの変換方法、入力データの変換プログラム、および入力データの変換システム

Info

Publication number
JP2002351709A
JP2002351709A JP2001158607A JP2001158607A JP2002351709A JP 2002351709 A JP2002351709 A JP 2002351709A JP 2001158607 A JP2001158607 A JP 2001158607A JP 2001158607 A JP2001158607 A JP 2001158607A JP 2002351709 A JP2002351709 A JP 2002351709A
Authority
JP
Japan
Prior art keywords
data
module
input
data conversion
file
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
JP2001158607A
Other languages
English (en)
Other versions
JP4752137B2 (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 JP2001158607A priority Critical patent/JP4752137B2/ja
Priority to US10/155,498 priority patent/US6844832B2/en
Publication of JP2002351709A publication Critical patent/JP2002351709A/ja
Application granted granted Critical
Publication of JP4752137B2 publication Critical patent/JP4752137B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/258Data format conversion from or to a database

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

(57)【要約】 【課題】データ変換実行時でないと出力データ形式が判
明しないような入力データの変換方法、入力データの変
換プログラム、および入力データの変換システムを提供
する。 【解決手段】入力モジュール30は、モジュールマネー
ジャー21に対して該モジュールの出力データ形式を通
知し、モジュールマネージャー21は、この通知に基づ
いて1番目のデータ変換モジュール31を生成してパイ
プラインの末尾に結合する。データ変換モジュール31
は、該モジュールの出力データ形式をモジュールマネー
ジャー21に通知し、モジュールマネージャー21は、
その通知に基づいて2番目のデータ変換モジュール32
を生成してパイプラインの末尾に結合する。以下、多重
化された入力データの多重化数分だけこの動作を繰り返
し、パイプラインの終端位置に出力モジュールを結合す
る。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、多様な形式のメデ
ィアデータの処理が可能な入力データの動的変換方法、
入力データの動的変換プログラム、および入力データの
動的変換システムに関する。
【0002】
【従来の技術】コンピュータを利用したデータの通信形
態、データの保存形態が多様化し、また、データの種類
がマルチメディア化してくると、データの受信側、復号
側においてデータ変換(デコード)の柔軟性が必要にな
ってくる。例えば、入力データが、「.zip」の拡張子で
表される圧縮データの場合には、データの受信側におい
ては、「.zip」の形式の圧縮ファイルを展開するための
データ変換モジュール(プログラム)が必要になる。ま
た、例えば、特定の形式で暗号化されている入力データ
を復号化する時には、データの受信側においては、その
特定形式に対応した復号化のためのデータ変換モジュー
ルが必要になる。この場合、多くの閉じたシステムで
は、入力データを固定のデータ変換形式に設計すること
が可能であるために、受信側においては、そのデータ変
換形式に対応する特定のデータ変換モジュールだけを用
意しておけばよい。しかし、インターネット等のオープ
ン状態のシステムや、複数種類のデータ変換形式を扱う
システムでは、データ変換モジュールを固定しておく
と、入力されてくる全てのデータに対応できなくなって
しまう。
【0003】そこで、従来は、次の(A)または(B)
の方式が採用されていた。
【0004】(A)図11に示すシステムでは、入力デ
バイスからの入力データを、入力モジュール50に入力
し、さらにその出力をデータ変換モジュール51に入力
し、さらにその出力を出力モジュール52に入力して、
この出力モジュール52から出力デバイスに対してデー
タを出力する。
【0005】各モジュールは、後から自由に組み込むこ
とのできるプラグインモジュールである。入力モジュー
ル50は、指定した入力デバイスから入力データを取り
込み、データ変換モジュール51は、入力モジュール5
1からの入力データを所定のデータ変換形式に変換す
る。また、出力モジュール52は、データ変換されたデ
ータを指定した出力デバイスに対して出力する。通常、
各モジュールはパイプライン接続され、各モジュールで
のデータ処理が並列的に行われるようにして、入力デー
タのストリーミング処理が可能となっている。
【0006】以上の構成において、入力データのファイ
ルが多重化されていない場合、すなわち、一度だけのデ
ータ変換(エンコード)によって、目的の出力データが
得られるファイルの場合、たとえばデータが特定の形式
で圧縮されているだけの入力データの場合は、データ変
換モジュール51は、入力データを伸長するための1つ
のデータ変換モジュールからなる。また、入力データが
2重にエンコードされた多重ファイルとなっている場
合、たとえば、データが圧縮されてさらに暗号化されて
いる場合には、データ変換モジュール51は暗号化デー
タを復号化するためのデータ変換モジュールと、圧縮デ
ータを伸張するためのデータ変換モジュールとの2つか
らなる。このように、入力デバイスから入力されるデー
タの種類に応じて、すなわち、エンコードされた数と各
エンコードの形態に対応するデータ変換モジュール51
をプラグインモジュールとして任意に組み込むことによ
り、任意の入力データに対してデータ変換(デコード)
を実現することが可能である。
【0007】(B)図12は、「特開2000−236
386号」に示されるシステムの構成図である。変換前
のソースデータは、方式変換制御器60によって、その
ソースデータ内に含まれている宛て先データフォーマッ
トを読み取られ、そのフォーマットにデータ変換するた
めに必要なストリーミング変換モジュール61〜63が
選択され、且つそれらが最適に配列される。ソースデー
タであるストリーミングデータはこの配列された変換モ
ジュールにより、パイプライン制御によってデータ変換
(デコード)される。
【0008】
【発明が解決しようとする課題】上記(A)のシステム
では、データ処理を行うパイプラインの処理ステージ
(プラグインモジュール)が一旦設定された段数に固定
されるために、データ処理の柔軟性に欠ける問題があ
る。すなわち、図11のデータ変換モジュール51を一
旦、決めてしまうと、その入力データ形式と出力データ
形式が決まってしまうため、他の形式の入力データが入
力したときには正しくデータ変換(デコード)すること
が出来ない。また上記(A)(B)のシステムとも、実
行時でないと出力データ形式が判明しない入力データに
対しては対応することができない問題がある。実行時で
ないと出力データ形式が判明しない入力データとは、デ
ータを複数の変換形式で多重にエンコードして多重ファ
イルとし、且つその変換形式が事前に分かっていない入
力データをいう。このような入力データでは、そのデー
タのデータ変換を実際に実行しなければ、少なくとも最
初にエンコードしたときのデータ変換形式を知ることが
できない。したがって、データ変換の実行前では、たと
えば図11においては、どうような変換モジュール51
を配置してよいか分からず、また図12では、どのよう
なストリーミング変換モジュールを選択していいかを判
断することができない。
【0009】本発明の目的は、データ変換実行時でない
と出力データ形式が判明しないような入力データに動的
に対応する入力データの変換方法、入力データの変換プ
ログラム、および入力データの変換システムを提供する
ことにある。
【0010】
【課題を解決するための手段】本発明に係る入力データ
の変換方法は、次のように構成したものである。 デー
タを複数の変換方式で多重にエンコードして多重ファイ
ルとした入力データに対し、下記の(1)〜(3)のス
テップを実行する。
【0011】(1)エンコード順と逆順に多重ファイル
内の各ファイルのヘッダのみを参照して各ファイルの出
力データ形式を判定し、該形式への変換に必要なデータ
変換モジュールを選択する。
【0012】(2)上記(1)で選択されたデータ変換
モジュールを選択された順に結合する。
【0013】(3)上記(2)によって結合されたデー
タ変換モジュール群で入力データの変換処理を実行す
る。
【0014】本発明では、上記(1)の処理を行うと
き、データボディの変換(デコード)処理は行わない。
多重ファイルの極く一部のデータであるヘッダのみを参
照して各ファイルの出力データ形式を判定し、該形式へ
の変換に必要なデータ変換モジュールを選択する。この
ため、データ変換を実行するまでに、データ変換(デコ
ート)に必要なすべてのデータ変換モジュールを選択す
ることが出来る。そして、これらの選択されたデータ変
換モジュールを選択された順に結合する。このようにし
て結合したデータ変換モジュール群に対し、入力データ
の変換処理を実行する。したがって、たとえば、拡張子
「.zip」の圧縮ファイルを、さらに拡張子「.mrm」の暗
号化ファイル(「.mrm」は特定の暗号化拡張子)として
2重のファイルとした入力データをデータ変換処理する
場合、本発明では、最初に出力データ形式が「.mrm」で
あることを判定して、そのデータ変換形式に対応するデ
ータ変換モジュールを選択し、次に、出力データ形式が
「.zip」であることを判定して、そのデータ変換形式に
対応するデータ変換モジュールを選択し、この選択した
順にそれらのデータ変換モジュールを結合する。同様
に、たとえば、上記の拡張子「.mrm」のファイルを、さ
らに、暗号化して3重のファイルとした場合には、その
暗号化のデータ変換形式に対応するデータ変換モジュー
ルを最初の位置に結合する。
【0015】このように、本発明では、データを複数の
変換形式で多重にエンコードして多重ファイルとした入
力データに対し、各ファイルのヘッダの出力データ形式
を次々と読み込んでいって、その入力データを最終の出
力データに変換するまでに必要なデータ変換モジュール
を自動的に選択して結合することができる。これによ
り、入力データに対応して、動的にデータ変換モジュー
ルを結合することができる。
【0016】また、本発明では、上記選択可能な全ての
データ変換モジュール群をあらかじめ定義しておき、こ
の中から必要なデータ変換モジュールを選択する。この
ようにしておけば、あらかじめ、多数のデータ変換モジ
ュールをプラグインファイルとして用意しておき、その
中から自動的にデータ変換に必要なデータ変換モジュー
ルが選択されるようになる。
【0017】また、本発明では、上記のようにして結合
されたデータ変換モジュールの入力側に入力モジュール
を結合し、出力側に出力モジュールを結合する。入力モ
ジュールは、入力デバイスから入力データを入力する。
また、入力データのURL(Uniform Resource Locato
r) や、通信の際のプロトコルのレスポンスヘッダを参
照して(例えば、HTTPプロトコルにおけるレスポン
ドヘッダ中のコンテンツタイプヘッダを参照する)ファ
イルの出力データ形式を判定する。また、出力モジュー
ルは、結合されているモジュール分の最後段にあるデー
タ変換モジュールに結合して、最終の変換後のデータを
出力する。さらに、各モジュールを管理するモジュール
マネージャーに対して、この出力マネージャーが終端で
あることを通知する。
【0018】本発明によれば、入力モジュールを結合す
ることによって、入力データを取り込むための入力デバ
イスを任意のデバイスから選択することができる。たと
えば、ローカルファイル(コンピュータ内のファイルシ
ステムに存在するファイル)をソースとして指定するこ
ともできるし、URLによって、インターネットからダ
ウンロード可能なファイルをソースとして指定すること
もできる。また、出力モジュールを結合することによっ
て、出力デバイス適合するデータを出力することが可能
になる。
【0019】
【発明の実施の形態】図1は、本発明に係る入力データ
の動的変換方法が実施されるデータ処理装置の構成図で
ある。このデータ処理装置は、たとえば、パーソナルコ
ンピュータ、携帯電話などの携帯型データ処理装置から
なり、データ変換の対象となる入力データは、動画、静
止画、音声、文字などの多様なメディアデータを含むこ
とが可能である。データ処理装置本体1は、データ処理
を行うCPU10、メインメモリ11、ビデオコントロ
ーラ12、ネットワークコントローラ13、オーディオ
コントローラ14、ローカルストレージ15、I/Oデ
バイス16を含んでいる。メインメモリ11には、本発
明に係る入力データの動的変換プログラムが搭載され
る。ビデオコントローラ12には,ディスプレイモニタ
2が接続され、入力データを処理した結果としての画像
データを表示したり、ユーザとのインターフェイスをす
ることができる。ネットワークコントローラ13には、
インターネットなどのネットワーク3が接続されてい
る。オーディオコントローラ14には、スピーカー4が
接続され、入力データを処理した結果としての音声デー
タを出力することができる。I/Oデバイス16には、
キーボード、マウスなどを含むユーザインターフェイス
5が接続されている。
【0020】上記メインメモリ11に記憶される入力デ
ータの動的変換プログラムは、HDD等のローカルスト
レージ15に保存しておくことが可能であり、ネットワ
ーク3を介して、任意のリソースからも取得することが
可能である。また、CD−ROMやフロッピィ(R)デ
ィスクなどの任意の記憶媒体を介して取得することも可
能である。このデータ処理装置では、ネットワーク3を
介して取得可能な入力データファイル、または、ローカ
ルストレージ15に記憶されているローカルファイルを
ソースとして、これを上記の動的変換プログラムによっ
て動的にデータ変換処理する。そして、その処理の結果
をディスプレイ2に映像、文字などとして出力し、また
は、スピーカー4に音声として出力する。後述のよう
に、動的変換プログラムによるデータ変換モジュールの
選択と結合は一瞬で行うことが出来、その後は、データ
変換処理がストリーミング処理される。
【0021】図2は、上記入力データの動的変換プログ
ラムを構成するモジュール(単位プログラム)群を示し
ている。
【0022】このモジュール群は、アプリケーションモ
ジュール20、単位処理モジュールマネージャー(以
下、モジュールマネージャーという)21、一つ以上の
単位処理モジュール(以下、モジュールという)22と
で構成される。アプリケーションモジュール20は、ユ
ーザとのインターフェイスを行うユーザインターフェイ
スモジュールを含み、また、特定の入力データファイル
のデータ変換処理を行うことをモジュールマネージャー
21に対して通知する。このアプリケーションモジュー
ルは、たとえば、Windows(R) 98 などのOSにおいて
は、拡張子が「.exe」の実行モジュールとして表現され
る。
【0023】モジュールマネージャー21は、モジュー
ル22を管理する。具体的には、プラグインモジュール
としてあらかじめ用意されている複数のモジュール22
の情報、すなわち、各モジュールが処理可能なデータ変
換形式(入力データと出力データの各々のデータ形式)
を収集してリスト上に各モジュールを定義し、アプリケ
ーションモジュール20で指定された入力データファイ
ルをデータ変換( デコード) するために必要なモジュー
ル22を結合する。なお、この実施形態では、結合され
たモジュール22は、図3に示すように順次結合されて
パイプラインとして構築され、入力データファイルのパ
イプライン処理が可能となっている。図3に示す例で
は、モジュール22内の入力モジュール30がまず選択
され、次いで、この後段に第1番目のデータ変換モジュ
ール31が結合され、次いで、この後段に第2番目のデ
ータ変換モジュール32が結合され、次いで、この後段
に第3番目のデータ変換モジュール33が結合され、最
後に出力モジュール34が結合される。このようにして
パイプラインが構築されると、次に、入力データが入力
モジュール30に入力されて入力データのデータ変換
(デコード)処理が行われる。このとき、パイプライン
により、実時間でストリーミング変換処理を行うことが
できる。
【0024】なお、上記モジュールマネージャー21
は、OSとしてWindows( R) 98などを採用した場合に、
拡張子「.dll」のモジュールとして表現され、モジュー
ル22は、プラグインフォルダーに拡張子「.dll」のモ
ジュールとして格納される。
【0025】図4は、入力データの構成例を示してい
る。図に示すように、入力データファイルは、3 重の多
重ファイルとなっている。ファイルF3は、元のデータ
であり、ファイルF2はF3のエンコードファイル、フ
ァイルF1はF2のエンコードファイルである。各ファ
イルのヘッダ(A1、A2、A3)に、そのファイルを
デコードしたときの出力データ形式が記憶されている。
例えば、ファイルF1のヘッダA1には、ファイルF2
の出力データ形式が記憶され、ファイルF2のヘッダA
2には、ファイルF3の出力データ形式が記憶されてい
る。同図に示す入力データをデータ変換(デコード)処
理するには、図3に示すように、入力モジュール30、
出力モジュール34と、その間に結合される3つのデー
タ変換モジュール31〜33が必要である。最初のデー
タ変換モジュール31は、入力モジュールにより通知さ
れた出力データ形式によるデータ変換処理を行い、2番
目のデータ変換モジュール32は、ヘッダA1に記憶さ
れている出力データ形式によるデータ変換処理を行い、
3番目のデータ変換モジュール33は、ヘッダA2に記
憶されている出力データ形式のデータ変換処理を行う。
なお、ヘッダA3に記憶されている情報は、ファイルF
3に固有なものであってデータボディの実質的な変換処
理は行われない。そして、実際のデータ変換処理を行う
前に、各ヘッダA1〜A3に記憶されている出力データ
形式が読み取られて、図3に示すようなパイプラインが
構築される。パイプラインが構築されると、入力データ
は入力モジュール30に読み込まれて、ストリーム処理
が行われていく。
【0026】上記のように、モジュール22の選択と結
合は、入力モジュール30と出力モジュール34間に入
力データをデータ変換(デコード)するのに必要な複数
のデータ変換モジュールを選択して結合することであ
る。これを図示すると図5のようになる。
【0027】まず、ソースとなる入力データをネットワ
ーク3またはローカルストレージ15のどちらから取得
するかを設定して入力データが適正に入力させるように
する入力モジュール30を選択する。次に、この入力モ
ジュール30によって入力データのURLやHTTPプ
ロトコルにおけるレスポンスヘッダ中のコンテンツタイ
プヘッダを参照して出力データ形式を判定し、これをモ
ジュールマネージャー21に通知する。モジュールマネ
ージャー21は、この最外郭のファイルの出力データ形
式を判定すると、その変換に必要な最初のデータ変換モ
ジュール31をプラグインフォルダーの中に記憶されて
いる複数のデータ変換モジュール群から選択する。且
つ、その選択したデータ変換モジュールを入力モジュー
ル30に結合する。次に、データ変換モジュール31
は、入力データのファイルのヘッダA1に記憶されてい
る出力データ形式を判定し、この出力データ形式をモジ
ュールマネージャー21に通知する。モジュールマネー
ジャー21は、この出力データ形式を判定して、そのデ
ータ変換に必要なデータ変換モジュール32をプラグイ
ンフォルダーの中に記憶されているデータ変換モジュー
ル群から選択し、且つ、データ変換モジュール31の末
尾に結合する。さらに同様にして、データ変換モジュー
ル32の末尾にデータ変換モジュール33を結合し、最
後に、出力デバイスに対してデータを出力するための出
力モジュール34をデータ変換モジュール33に結合す
る。そして、このようにして結合したパイプラインに対
し、モジュールマネージャー21は、入力データの入力
を開始し、データ変換(デコード)を実行する。
【0028】次に、具体的な例について、図6〜図8を
参照して説明する。
【0029】図6は、入力データの形式例である。この
例では、入力データが3 重ファイルとなっている。元の
データのエンコード順は、拡張子「.zip」による圧縮
と、「.mrm」による暗号化の順である。元のデータはM
IDIデータである。したがって、この多重ファイル
は、MIDIファイルF3と、圧縮ファイルF2と暗号
化ファイルF1を多重化したものである。
【0030】暗号化ファイルF1のヘッダA1には、出
力データ形式として拡張子「.zip」が指定されている。
また、圧縮ファイルF2のヘッダA2には、出力データ
形式として拡張子「.mid」が指定されている。また、M
IDIファイルF3のヘッダA3には、MIDIフォー
マットに関する情報が指定されている。なお、MIDI
ファイルF3はMIDIデータであるために、他のフォ
ーマットにデータ変換する必要は本来ないが、本実施形
態では、MIDIファイルをより扱い易い内部独自フォ
ーマットに変換し、最終段である出力モジュールに渡す
ようにしている関係上、その内部独自フォーマットの出
力データ形式をモジュールマネージャーに対して通知し
ている。
【0031】図7は、各モジュールからモジュールマネ
ージャーに対して出力データ形式を通知したり、モジュ
ールマネージャーから各モジュールに対して動作指定を
行う時に使う通知データ形式を示している。図7に示す
ように、この通知データ形式は、領域1〜領域5を備え
ており、領域1から順に、「タグ」、「URL」、「M
IME」、「EXT」、「付加情報」を記憶する。「タ
グ」は、モジュールマネージャーから各モジュールに対
する動作の種類を指定する。「URL」は、モジュール
マネージャーから入力モジュールに対してURLを指定
する。「MIME」は、MIME(Multipurpose Inter
net Mail Extensions)タイプを指定する。「EXT」は
拡張子を指定する。「付加情報」は、必要に応じて付け
る付加情報を指定する。このうち、「MIME」と「E
XT」でモジュールからモジュールマネージャーに対す
る出力データ形式の通知を行う。なお、出力データ形式
は、拡張子「EXT」かMIMEタイプ「MIME」に
よって行うことができる。通常、拡張子が指定されてい
る時には、MIMEタイプは不要であるが、拡張子は、
誤操作によって、または意図的に変更される可能性があ
るために、MIMEタイプの方が信頼性が高いとされ
る。モジュールマネージャーからは、「タグ」または
「URL」が各モジュールに対して通知される。入力モ
ジュールに対しては、「URL」が通知される。この
「URL」は、たとえば、「file://c:/test.mrm」であ
ったり、または、「http://...... 」であったりする。
前者は、ローカルストレージ15(図1参照)のファイ
ル格納場所を指定し、後者はネットワーク3に接続され
るファイル格納場所を示す。一般に、これらの「file」
や「http」あるいは「ftp 」はプロトコルと称され、こ
のプロトコルに「パス」と「ファイル名」が結合される
ことによって取得ファイルを指定することができる。
【0032】図8は、図6に示す入力データに対し、パ
イプラインを構築するステップを説明する図である。
【0033】T1:モジュールマネージャー21が、ア
プリケーションモジュール20(図2参照)からファイ
ル(入力データ)オープン要求を受信する。
【0034】T2:プロトコルが適合する入力モジュー
ル30を生成する。ここでは、プロトコルを「file」と
する。したがって、入力データ( ファイル) は、ローカ
ルストレージ15(図1参照)からロードされる。
【0035】T3:モジュールマネージャー21は、通
知データD1により、ファイル「test.mrm」を指定し
て、入力モジュール30をオープンする。
【0036】T4:入力モジュール30は、指定された
ファイルの拡張子を参照して出力データ形式を判定す
る。指定されたファイルがコンテンツファイルそのもの
ではなく、HTTPプロトコルでコンテンツファイルを
送信するためのサーバサイドスクリプトである場合もあ
るので、拡張子で出力データを特定できない場合にはH
TTPプロトコルにおけるレスポンスヘッダ中のコンテ
ンツタイプヘッダを参照し、出力データ形式を判定す
る。この場合は、「test.mrm」の拡張子「.mrm」によ
り、出力データ形式が拡張子「.mrm」で表現される暗号
化データであることがわかるので、これをモジュールマ
ネージャー21に通知する。この通知は、通知データD
2の領域4において行う。
【0037】T5:拡張子「.mrm」の暗号化データをデ
コード(変換)するためのデータ変換モジュール31を
生成する。
【0038】T6:モジュールマネージャー21は、生
成したデータ変換モジュール31をパイプラインの末尾
に結合する(ここでは、入力マネージャー30に結合す
る)。
【0039】T7:モジュールマネージャー21は、デ
ータ変換モジュール31をオープンする。この動作は、
通知データD2の領域1によって指定する。
【0040】T8:データ変換モジュール31がオープ
ンされることによって、パイプラインを介してこのデー
タ変換モジュール31にデータの一部が入力される。こ
の時、データ変換モジュール31は、暗号化ファイルF
1のヘッダA1を参照して、次にデコード(変換)すべ
き圧縮ファイルF2の出力データ形式を判定してモジュ
ールマネージャー21に通知する。この通知は、通知デ
ータD3の領域4によって行う。
【0041】T9:モジュールマネージャー21は、上
記T8で通知された出力データ形式に対応するデータ変
換モジュール32を生成する。この時の出力データ形式
は拡張子「.zip」で表現されるものであるから、このデ
ータ変換モジュール32は、拡張子「.zip」の圧縮デー
タをデコード(変換)するものである。
【0042】T10:モジュールマネージャー21は、
データ変換モジュール32をパイプラインの末尾に結合
する。ここでは、データ変換モジュール32はその前段
のデータ変換モジュール31に結合される。
【0043】T11:データ変換モジュール32をオー
プンする。このオープン動作は、通知データD3の領域
1で指定される。
【0044】T12:データ変換モジュール32がオー
プンされることによって、パイプラインを介してこのデ
ータ変換モジュール32にデータの一部が入力される。
この時、データ変換モジュール32は、多重化されてい
る入力データの圧縮ファイルF2のヘッダA2を参照す
る。ヘッダA2にはデータ変換モジュール32でデコー
ド(変換)した時の出力データ形式が記憶されている。
この出力データ形式は、この例では、拡張子「.mid」で
表されるMIDIデータを表す。そして、このデータ変
換モジュール32は、その出力データ形式を通知データ
D4の領域4によってモジュールマネージャー21に通
知する。
【0045】T13:モジュールマネージャー21は、
上記T12での通知を受けると、拡張子「.mid」で表さ
れるMIDIデータをデコード(変換)するためのデー
タ変換モジュール33を生成する。
【0046】T14:モジュールマネージャー21は、
上記T13で生成したデータ変換モジュール33をパイ
プラインの末尾に結合する。この例では、データ変換モ
ジュール33をデータ変換モジュール32に結合する。
【0047】T15:モジュールマネージャー21は、
データ変換モジュール33をオープンする。
【0048】T16:データ変換モジュール33がオー
プンすることによって、入力データの一部がパイプライ
ンを通過してデータ変換モジュール33に入力される。
この時、データ変換モジュール33は、受け取ったMI
DIファイルをより扱い易い内部独自フォーマットに変
換する。ここでは、その出力データ形式は「applicatio
n/x-midi2 」で表されている。データ変換モジュール3
3は、このようにして判定した出力データ形式をモジュ
ールマネージャー21に通知する。なお、「applicatio
n/x-midi2 」の出力データ形式は、拡張子ではなくMI
MEタイプによって指定される。したがって、通知デー
タD5の領域3を使用してモジュールマネージャー21
に通知される。
【0049】T17:モジュールマネージャー21は、
上記T16の通知を受けると、出力モジュール34を生
成する。
【0050】T18:モジュールマネージャー21は、
出力モジュール34をパイプラインの末尾に結合する。
ここでは、出力モジュール34をデータ変換モジュール
33に結合する。
【0051】T19:モジュールマネージャー21は、
出力モジュール34をオープンする。このオープン動作
は、通知データD5の領域1によって行う。
【0052】T20:出力モジュール34がオープンさ
れることによって、入力データの一部はパイプラインを
通過し、出力モジュール34において自らがパイプライ
ンの終端位置にあることを判定する。そこで、出力モジ
ュール34は、モジュールマネージャー21に対して通
知データD6の領域1により、自らが終端であることを
通知する。
【0053】以上のT1〜T20の処理において、各モ
ジュールが読み込むデータは、多重化された入力データ
のヘッダのデータだけである。このため、パイプライン
の構築に必要な処理時間は、一瞬である。また、この例
では、図6に示すように3重に多重化された入力データ
に対するパイプライン構築を示したが、4重に多重化さ
れた入力データであれば、入力モジュール30と出力モ
ジュール34間に、データ変換モジュールがもう1つ追
加されることになる。このように、本実施形態では、多
重化された入力データのエンコードと逆順に各ファイル
のヘッダのみを参照して各ファイルの出力データ形式を
判定し、該形式への変換(デコード)に必要なデータ変
換モジュールを選択してパイプラインを結合していくた
めに、入力データの多重化数やエンコード方式を知らな
くても、正しくデコード(変換)するためのパイプライ
ンを動的に構築することができる。なお、パイプライン
を構築した後は、入力モジュール30に入力データが入
力され、パイプラインによってストリーミング処理され
ていく。
【0054】図9は、パイプラインによって入力データ
のデコード(変換)処理が行われていく時の状態を示し
ている。入力モジュール30に入力された入力データ
は、データ変換モジュール31で復号化され、次のデー
タ変換モジュール32で伸長され、次のデータ変換モジ
ュール33で、特定のMIDIデータに変換され、最後
の出力モジュール34で、出力デバイスに出力される。
【0055】なお、図2において、各モジュール22
は、プラグインモジュールとして特定のプラグインフォ
ルダーに収納されている。モジュールマネージャー21
は、パイプラインを構築する前に、このプラグインフォ
ルダー内の各モジュールの情報を収集し、リストを作成
して各モジュールを定義しておく。モジュールの定義と
は、そのモジュールがどのような処理を行うことができ
るかなどの機能を判定してリスト上に記憶しておくこと
である。モジュールマネージャー21は、事前にこのよ
うにして定義したデータ変換モジュール群の中から適切
なものを選択し、パイプライン構築のために生成する。
ここで言う生成とは、オブジェクト指向言語において、
クラスの実体(インスタンス)を生成するという意味合
いである。たとえば、入力モジュール30を生成すると
は、メモリ上に入力モジュール30の実体が生成される
ことをいう。
【0056】図10は、本実施形態によって、パイプラ
インを構築するための手順を示すフローチャートであ
る。
【0057】ステップST1において、モジュールマネ
ージャー21は、プラグインフォルダーに置かれている
全てのモジュールの情報を収集する。ST2では、モジ
ュールマネージャー21が、アプリケーションモジュー
ル20からファイル(入力データ)のオープン要求を受
信する。モジュールマネージャー21は、要求されたプ
ロトコルに適合する入力モジュール30をオープンしパ
イプラインの先頭に追加する(ST3)。さらに、モジ
ュールマネージャー21は、ST4において入力モジュ
ール30をオープンする。
【0058】オープンした入力モジュール30は、最外
郭のファイルの出力データ形式をURLやHTTPプロ
トコルにおけるレスポンスヘッダ中のコンテンツタプヘ
ッダから判定してモジュールマネージャー21に通知す
る。モジュールマネージャー21は、この通知を受けて
出力データ形式を得るとともに(ST5)、パイプライ
ンの終端でないことを判定して(ST6)、出力データ
形式に適合するモジュール(データ変換モジュールか出
力モジュール)を生成し、パイプラインの末尾に追加す
る(ST7)。また、そのモジュールをオープンして
(ST8)、ST5に戻る。モジュールマネージャー2
1は、パイプラインの終端であることを知ると、それ以
後のパイプライン構築動作を停止し、以下、続いてデー
タボディのデコード(変換)処理が行われる。
【0059】以上の処理において、ST1〜ST8のパ
イプライン構築動作は、ヘッダのデータのみで処理され
る。したがって、入力データ全体を全て受け取っていな
くても、入力データを正しく変換(デコード)するのに
必要で十分なパイプラインの構築が出来る。そして、パ
イプラインによるデータボディの変換処理はストリーミ
ングにより可能である。
【0060】本実施形態では、多重にエンコードした多
重ファイルの入力データに有効であるが、多重でない1
回のみエンコードした入力データであっても対応するこ
とが可能である。この場合は、入力モジュールと出力モ
ジュール間に1つのデータ変換モジュールが結合される
ことになる。また、各モジュールをパイプライン接続す
ることによって、入力データのストリーミング処理を可
能としたが、各モジュールを単にカスケード(従属)接
続して、各段階で1ファイル毎に、順にデコード(変
換)処理を行うようにしてもよい。
【0061】また、本発明は、複数のデータ変換モジュ
ールの前後に入力モジュールと出力モジュールを結合し
てパイプラインを構築したが、入力モジュールと出力モ
ジューは必ずしもなくてもよく、これらの機能をデータ
変換モジュールに持たせることも可能である。
【0062】
【発明の効果】本発明によれば、データ変換(デコー
ド)を実行する時でないと最終出力データ形式が判明し
ないような入力データ、すなわち、データのエンコード
処理が多重化された多重ファイルを扱うことができる。
また、データ変換モジュールの段数は固定されずに動的
に作成されるために、多様なデータフォーマットに対応
することができる。
【図面の簡単な説明】
【図1】本発明の実施形態であるデータ処理装置の構成
【図2】本発明の実施形態である入力データの動的変換
プログラムのモジュール群を示す図
【図3】パイプラインが構築される様子を示す図
【図4】データを複数の変換方式で多重にエンコードし
て作成した多重ファイルの概念構成図
【図5】パイプラインの構築手順を示す図
【図6】入力データの形式例を示す図
【図7】通知データの形式を示す図
【図8】パイプラインの構築動作を具体的に説明する図
【図9】構築されたパイプラインによって入力データが
デコード(変換)処理される状態を示す図
【図10】パイプライン構築の手順を示すフローチャー
【図11】従来の入力データ変換システムの概略構成図
【図12】従来の他の入力データ変換システムの概略構
成図

Claims (7)

    【特許請求の範囲】
  1. 【請求項1】 データを複数の変換方式で多重にエンコ
    ードして多重ファイルとした入力データに対し、下記の
    (1)〜(3)のステップによりデータ変換を行う入力
    データの変換方法。 (1)エンコード順と逆順に多重ファイル内の各ファイ
    ルのヘッダのみを参照して各ファイルの出力データ形式
    を判定し、該形式への変換に必要なデータ変換モジュー
    ルを選択する。 (2)上記(1)で選択されたデータ変換モジュールを
    選択された順に結合する。 (3)上記(2)によって結合されたデータ変換モジュ
    ール群で入力データの変換処理を実行する。
  2. 【請求項2】 エンコード順と逆順に多重ファイル内の
    各ファイルのヘッダのみを参照して各ファイルの出力デ
    ータ形式を判定し、該形式への変換に必要なデータ変換
    モジュールを選択する上記ステップにおいて、該ステッ
    プの前に、選択可能な全てのデータ変換モジュール群を
    定義し、この判定したデータ変換モジュール群の中から
    前記データ変換モジュールを選択する、請求項1記載の
    入力データの変換方法。
  3. 【請求項3】 前記データ変換モジュール群の先頭に入
    力データを入力デバイスから入力する入力モジュールを
    結合し、前記結合されたデータ変換モジュール群の最終
    段に出力データをデバイスに出力する出力モジュールを
    結合し、このようにして結合されたデータ変換モジュー
    ル群の先頭に入力データを入力してデータ変換を行い、
    出力モジュールから変換後のデータを出力する、請求項
    1または2記載の入力データの変換方法。
  4. 【請求項4】 データを複数の変換方式で多重にエンコ
    ードして多重ファイルとした入力データに対し、下記の
    (1)〜(3)のステップをCPUに実行させる入力デ
    ータの変換プログラム。 (1)エンコード順と逆順に多重ファイル内の各ファイ
    ルのヘッダのみを参照して各ファイルの出力データ形式
    を判定し、該形式への変換に必要なデータ変換モジュー
    ルを選択する。 (2)上記(1)で選択されたデータ変換モジュールを
    選択された順に結合する。 (3)上記(2)によって結合されたデータ変換モジュ
    ール群で入力データの変換処理を実行する。
  5. 【請求項5】 エンコード順と逆順に多重ファイル内の
    各ファイルのヘッダのみを参照して各ファイルの出力デ
    ータ形式を判定し、該形式への変換に必要なデータ変換
    モジュールを選択する上記ステップをCPUに実行させ
    る前に、選択可能な全てのデータ変換モジュール群を定
    義するステップをCPUに実行させ、この定義したデー
    タ変換モジュール群の中から前記データ変換モジュール
    を選択する、請求項4記載の入力データの変換プログラ
    ム。
  6. 【請求項6】 前記データ変換モジュール群の先頭に入
    力データを入力デバイスから入力する入力モジュールを
    結合し、前記結合されたデータ変換モジュール群の最終
    段に出力データをデバイスに出力する出力モジュールを
    結合し、このようにして結合されたデータ変換モジュー
    ル群の先頭に入力データを入力してデータ変換を行い、
    出力モジュールから変換後のデータを出力するステップ
    をCPUに実行させる、請求項4または5記載の入力デ
    ータの変換プログラム。
  7. 【請求項7】データを複数の変換方式で多重にエンコー
    ドして多重ファイルとした入力データを入力デバイスか
    ら入力する処理を行う入力モジュールと、 入力されたデータを変換処理する一つ以上のデータ変換
    モジュールと、 前記変換モジュールで変換処理されたデータを出力デバ
    イスに出力する出力モジュールと、 前記入力モジュール、前記データ変換モジュール、前記
    出力モジュールの順に各モジュールを結合し、結合した
    モジュール群の先頭の入力モジュールに入力データを入
    力してデータ変換処理を行わせるモジュールマネージャ
    ーとを備え、 各モジュールは、データ変換モジュール結合時に、その
    モジュールで処理するファイルのヘッダのみを参照して
    各ファイルの出力データ形式を判定してモジュールマネ
    ージャーに通知し、 前記モジュールマネージャーは、モジュール結合時に、
    各モジュールから通知される出力データ形式に対応した
    データ変換モジュールを選択して前のモジュールに結合
    する処理を行うことを特徴とする、入力データの変換シ
    ステム。
JP2001158607A 2001-05-28 2001-05-28 入力データの変換方法、入力データの変換プログラム、および入力データの変換システム Expired - Fee Related JP4752137B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2001158607A JP4752137B2 (ja) 2001-05-28 2001-05-28 入力データの変換方法、入力データの変換プログラム、および入力データの変換システム
US10/155,498 US6844832B2 (en) 2001-05-28 2002-05-24 Input data conversion method, input data conversion program, and input data conversion system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001158607A JP4752137B2 (ja) 2001-05-28 2001-05-28 入力データの変換方法、入力データの変換プログラム、および入力データの変換システム

Publications (2)

Publication Number Publication Date
JP2002351709A true JP2002351709A (ja) 2002-12-06
JP4752137B2 JP4752137B2 (ja) 2011-08-17

Family

ID=19002296

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001158607A Expired - Fee Related JP4752137B2 (ja) 2001-05-28 2001-05-28 入力データの変換方法、入力データの変換プログラム、および入力データの変換システム

Country Status (2)

Country Link
US (1) US6844832B2 (ja)
JP (1) JP4752137B2 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006244471A (ja) * 2005-03-04 2006-09-14 Microsoft Corp コマンドラインデータ型の検出および変換
JP2007509411A (ja) * 2003-10-24 2007-04-12 マイクロソフト コーポレーション データ駆動型コマンドライン出力を提供する機構
JP2010282505A (ja) * 2009-06-05 2010-12-16 Ricoh Co Ltd プリンタドライバプログラム、記憶媒体および情報処理装置
EP2458496A2 (en) 2010-11-25 2012-05-30 Canon Kabushiki Kaisha Document processing apparatus, method for processing document, and program therefor
JP2019021310A (ja) * 2017-07-20 2019-02-07 Line株式会社 実行可能な圧縮ファイルを保護するためのファイル保護方法およびシステム

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8259121B2 (en) * 2002-10-22 2012-09-04 Broadcom Corporation System and method for processing data using a network
US7523221B2 (en) * 2003-05-17 2009-04-21 Microsoft Corporation Mechanism for applying transforms to multi-part files
JP4652090B2 (ja) * 2005-03-15 2011-03-16 富士通株式会社 事象通知管理プログラム、事象通知管理装置及び事象通知管理方法
ITTV20090017A1 (it) * 2009-02-17 2010-08-18 B & B Holding S R L Metodo e sistema per lo scambio di documenti digitali.
CN102129443A (zh) * 2010-12-30 2011-07-20 中国民航信息网络股份有限公司 基于usas主机的实时数据传输通道及其实时数据传输方法
JP5348166B2 (ja) * 2011-03-30 2013-11-20 ブラザー工業株式会社 中継装置、通信方法、および通信システム
JP5927950B2 (ja) 2012-02-03 2016-06-01 ブラザー工業株式会社 制御装置
JP5935515B2 (ja) 2012-05-31 2016-06-15 ブラザー工業株式会社 制御装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06251073A (ja) * 1993-02-24 1994-09-09 Nippon Telegr & Teleph Corp <Ntt> データ流通装置
JPH08305618A (ja) * 1995-04-20 1996-11-22 Ncr Internatl Inc コンピュータファイル生成手段及び処理方法
JPH0969059A (ja) * 1995-08-31 1997-03-11 Nec Corp ファイル形態変換システム
JP2001103386A (ja) * 1999-09-28 2001-04-13 Sanyo Electric Co Ltd デジタル放送受信装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL8500841A (nl) * 1985-03-22 1986-10-16 Philips Nv Kodeer- of dekodeerschakeling voor tijdmultiplex en simultane signalen.

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06251073A (ja) * 1993-02-24 1994-09-09 Nippon Telegr & Teleph Corp <Ntt> データ流通装置
JPH08305618A (ja) * 1995-04-20 1996-11-22 Ncr Internatl Inc コンピュータファイル生成手段及び処理方法
JPH0969059A (ja) * 1995-08-31 1997-03-11 Nec Corp ファイル形態変換システム
JP2001103386A (ja) * 1999-09-28 2001-04-13 Sanyo Electric Co Ltd デジタル放送受信装置

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007509411A (ja) * 2003-10-24 2007-04-12 マイクロソフト コーポレーション データ駆動型コマンドライン出力を提供する機構
JP2006244471A (ja) * 2005-03-04 2006-09-14 Microsoft Corp コマンドラインデータ型の検出および変換
US8566806B2 (en) 2005-03-04 2013-10-22 Microsoft Corporation Command-line data-type discovery and conversion
JP2010282505A (ja) * 2009-06-05 2010-12-16 Ricoh Co Ltd プリンタドライバプログラム、記憶媒体および情報処理装置
EP2458496A2 (en) 2010-11-25 2012-05-30 Canon Kabushiki Kaisha Document processing apparatus, method for processing document, and program therefor
JP2019021310A (ja) * 2017-07-20 2019-02-07 Line株式会社 実行可能な圧縮ファイルを保護するためのファイル保護方法およびシステム
JP7140581B2 (ja) 2017-07-20 2022-09-21 Line株式会社 実行可能な圧縮ファイルを保護するためのファイル保護方法およびシステム

Also Published As

Publication number Publication date
US6844832B2 (en) 2005-01-18
US20020175841A1 (en) 2002-11-28
US20030146857A9 (en) 2003-08-07
JP4752137B2 (ja) 2011-08-17

Similar Documents

Publication Publication Date Title
US7613767B2 (en) Resolving a distributed topology to stream data
JP4752137B2 (ja) 入力データの変換方法、入力データの変換プログラム、および入力データの変換システム
JP4363847B2 (ja) インタラクティブ・テレビ用のデジタル・テレビ・アプリケーション・プロトコル
US20060188096A1 (en) Systems and methods for remotely controlling computer applications
WO2004068353A1 (ja) 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
WO2004068843A1 (ja) 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
KR20110007114A (ko) 원격 세션에서의 멀티미디어 동작을 관리하는 시스템 및 방법
JP6396021B2 (ja) カメラの画像データ圧縮方法及びこれを支援する端末
JP2010539742A (ja) マルチメディアメッセージングサービス(mms)の動画への適合のための方法およびシステム
KR101942269B1 (ko) 웹 브라우저에서 미디어를 재생하고 탐색하는 장치 및 방법
JP2006339855A (ja) ネットワーク制御装置、符号化方式変換装置、及びコンテンツデータ再生システム
US9445142B2 (en) Information processing apparatus and control method thereof
EP2566177B1 (en) Electronic apparatus and method for transferring contents on cloud system to device connected to DLNA
TW200828109A (en) Apparatus for operating multimedia streaming and method for transmitting multimedia streaming
US20140141875A1 (en) Temporary modification for extending functionality of computer games and software applications.
US20080155113A1 (en) Device, system and method for remotely processing multimedia stream
JP2008040347A (ja) 画像表示装置、画像表示方法および画像表示プログラム
US7539292B2 (en) Contents distribution system, contents server, contents receiving apparatus, contents distribution method, program and storage media
AU2005272636A1 (en) Systems and methods for remotely controlling computer applications
KR100960164B1 (ko) 표시 목적으로 네트워크를 통해 통신되는 콘텐츠를처리하기 위한 멀티그래픽 프로세서 시스템 및 방법
JP2005110024A (ja) データ送信装置、データ送受信システム、及びデータ送受信方法
JP2005275643A (ja) コンテンツデータ処理装置及び方法
JP2003271406A (ja) データ処理装置およびデータ処理方法ならびにそのプログラム
Gangadhara Distributed video encoding for wireless low-power surveillance network
Lohse et al. Extended Format Definition and Quality-driven Format Negotiation in Multimedia Systems

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080321

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101005

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101130

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20101130

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110215

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110317

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110426

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110509

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

Free format text: PAYMENT UNTIL: 20140603

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees