JP2005275643A - コンテンツデータ処理装置及び方法 - Google Patents

コンテンツデータ処理装置及び方法 Download PDF

Info

Publication number
JP2005275643A
JP2005275643A JP2004085958A JP2004085958A JP2005275643A JP 2005275643 A JP2005275643 A JP 2005275643A JP 2004085958 A JP2004085958 A JP 2004085958A JP 2004085958 A JP2004085958 A JP 2004085958A JP 2005275643 A JP2005275643 A JP 2005275643A
Authority
JP
Japan
Prior art keywords
processing
content
data
unit
processing module
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.)
Pending
Application number
JP2004085958A
Other languages
English (en)
Inventor
Yoshiaki Morimoto
義章 森本
Mika Mizutani
美加 水谷
Moal Damien Le
ダミエン レモアル
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2004085958A priority Critical patent/JP2005275643A/ja
Priority to EP04011696A priority patent/EP1589423A3/en
Priority to US10/847,664 priority patent/US20050229187A1/en
Priority to KR1020040035464A priority patent/KR100679580B1/ko
Priority to CNB2004100428858A priority patent/CN100440196C/zh
Publication of JP2005275643A publication Critical patent/JP2005275643A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/78Television signal recording using magnetic recording
    • H04N5/781Television signal recording using magnetic recording on disks or drums
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/84Television signal recording using optical recording
    • H04N5/85Television signal recording using optical recording on discs or drums
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/80Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • H04N9/804Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components
    • H04N9/8042Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components involving data reduction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/80Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • H04N9/804Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components
    • H04N9/806Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components with processing of the sound signal
    • H04N9/8063Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components with processing of the sound signal using time division multiplex of the PCM audio and PCM video signals

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Storage Device Security (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Systems (AREA)

Abstract

【課題】
動画や音声のようなコンテンツデータの取扱いは、ビットレートを保証する必要があるなど実装が難しいため、ハードウェアに依存した構成になるものが多く、システムの移植性が悪かった。
【解決手段】
レイヤ化されたコンテンツ処理アーキテクチャにより、システムの移植性を高くし、またアプリケーションプログラムも容易に開発可能とする。また装置の一部をLSI化した場合にはこれにも適用することが可能である。
【選択図】 図1

Description

本発明はマルチメディアデータの処理をする、ソフトウェア及びハードウェアアーキテクチャに関する。
近年、コンピュータで取り扱われるマルチメディアデータとして、動画、及び音声等が様々な用途で利用されている。例えば、テレビ放送等の動画をリアルタイムに動画用コーデックで変換してハードディスクに録画するハードディスクレコーダと呼ばれる機器や、DVD等の光ディスクにデジタルデータとして記録されている動画コンテンツデータをビデオディスプレイ装置に表示するプレイヤーなどが広く普及している。一般にこれらのコンテンツ処理では、コンテンツデータを指定されたビットレートで読み込み、一定時間内に処理を行わなければならない。また、これらの複雑なストリーム処理を実行するプログラムモジュールを容易に開発できることが、利用においては重要となる。このため、性能を保証しやすいOSのカーネルの中でコンテンツ処理を行うプログラムを実行する方式が存在する。
一般的なOSでは、カーネルの中で実行されるプログラムは、ユーザレベルで実行されるプログラムと比較して、優先的に処理が実行できる。このため、一定の時間内で処理を終了する必要があるコンテンツ処理プログラムはカーネルの中で実行される。例えば、特許文献1では、フィルタと呼ぶデータを処理するデバイスドライバを複数連結することでコンテンツ処理を行うことが可能である。フィルタはデバイスやデータ形式に特化されたモジュールで、それぞれが入出力や制御のためのインターフェースを持っており、特定のフィルタが処理したデータを他のフィルタに渡して行くことでデータを処理するものである。この方式は、フィルタがOSのカーネル部で動作するため、性能を保証し易く、フィルタの接続だけでプログラムを作成できるという特徴がある。
しかし、ストリーム処理プログラムをOSのカーネル内に実装することで、特定の実行環境、特にOSに依存した構成になる。
一方、特許文献2のようにハードウェアによるストリーム処理装置をレイヤ構成にすることで移植性を高めたものも存在する。しかしながら、これは各処理に個別のハードウェアを利用することから、装置自体が大型化、高価格化するという問題がある。
特開平10-283195号 特開平8-279963号
先に述べたように、従来の方法ではストリームを取り扱うための実装を、性能を保証しやすいドライバ、あるいはOSのカーネル部分で実装するものが殆どであった。これはOSやハードウェア構成(以下、本組み合わせをプラットフォームと呼ぶ)への依存性が高く、コンテンツを利用するプログラムは、異なったプラットフォームに対応することが難しい。
また、各プラットフォームは、それぞれ固有のコンテンツデータ処理手段を有することとなるため、コンテンツを利用するプログラムの開発は、OS、あるいはハードウェア構成毎に行う必要が生じ、開発工程の増大を招くという問題があった。
上記課題を解決すべく、本発明では、様々なプラットフォームに対応可能なコンテンツ処理手段およびそのコンテンツ処理アーキテクチャを提供する。
また、本発明ではコンテンツの処理を、コンテンツ処理に必要な機能を持つレイヤの組み合わせにより実現する。
本発明によれば、コンテンツ処理プログラムを異なったプラットフォームに移行する場合に、コンテンツ処理プログラムを殆ど変更することなく動作させることが可能となり、開発の工数を削減することが可能となる。また、コンテンツデータを利用するプログラム開発の容易化を実現可能である。
以下に、本発明の実施の形態を説明する。システムアーキテクチャは、まず、ハードウェアとのインターフェースを提供するドライバ部等を有するOS、各OS毎に異なる機能(例えば、システムコールやデバイスドライバへのアクセス方法等のプラットフォームによって異なる機能)を共通化したインターフェースとして提供されるレイヤであるシステムインターフェース部、その上部にコンテンツデータの処理やデータソースからのデータの取得処理などを行うコンテンツ処理部、取り扱うコンテンツ向けのデータ処理を提供するコンテンツ管理部、さらにこれらのレイヤで提供される機能を利用するアプリケーションプログラムで構成される。
この構造では、レイヤの間には上下のレイヤでデータ、イベント等をやり取りするためのインターフェースが規定される。例えば、システムインターフェース部はコンテンツの処理に必要なOSの機能、例えばメモリ管理や、ディスクのアクセス、タスクの生成などのシステムコールを共通化して上位のレイヤに提供する。これによりシステムインターフェース部よりも上位のレイヤは、プラットフォームに依存しない実装になる。ここで、共通化とは、上位のプログラムレイヤから命令に基づき、下位のプログラムレイヤ側で、上記命令を予め定義された処理手順で実行させることをいう。
コンテンツ処理部はシステムインターフェース部が提供する機能を利用してコンテンツデータの処理を行う。このコンテンツ処理におけるデータ処理パターンはコンテンツ管理部が管理しており、コンテンツ管理部はアプリケーションプログラムに対するインターフェースを提供する。アプリケーションプログラムからは、上記インターフェースを介してデータ処理パターンを指定することでコンテンツ処理のデータパスがコンテンツ処理部に構築される。コンテンツ処理のデータパスとは、対象となるコンテンツを処理するのに必要な機能モジュールを指定することで作られた、処理されるコンテンツデータの流路である。後はユーザが指示するタイミングでコンテンツ処理の開始、終了をアプリケーションプログラムからコンテンツ管理部を経由して指示することで制御が可能である。
また、このようにして作成されたアプリケーションプログラムは、異なったプラットフォームにおいても、本発明で提案するコンテンツ処理アーキテクチャに準じたコンテンツ処理系が実装されていれば、必要最小限の変更のみで実行することが可能である。
また、当該コンテンツ処理アーキテクチャはハードウェアの一部あるいは全てがLSI化された場合にも適用でき、この場合にもアプリケーションプログラムの変更をほとんど行うことなく利用できる。
図1に本実施例の構成を示した。本実施例は図のようなレイヤ構造を取る。このレイヤは下位から、ドライバ部(50)、システム機能提供部(40)、システムインターフェース部(20)、コンテンツ処理部(10)、コンテンツ管理部(30)、およびアプリケーションプログラム(80)からなる。ドライバ部(50)はプラットフォームに存在するハードウェア、例えば、ハードディスク装置、コーデック処理装置、またはネットワークインターフェース等の装置に対応してアクセスするためのそれぞれのデバイスドライバを管理するレイヤである。システム機能提供部(40)はOS(5)の提供する機能、例えばファイルシステム(41)、ネットワークのプロトコルスタック(42)等を提供するレイヤである。一般的なOSでは、ドライバ部およびシステム機能提供部はOSに備えられていることが多いが、これらのレイヤがOSに存在しない場合は本実施例のアーキテクチャを利用するために新たに追加しても良いし、ドライバ部(50)とシステム機能提供部(40)が1つのレイヤとして実現されていても良い。ここで、処理対象となるコンテンツデータは、ストリームデータ等がある。ストリームデータとは、シーケンシャルにアクセスされるデータである。
システムインターフェース部(20)は、OS(5)の提供する機能や、各種のデバイスドライバ(HDD用ドライバ、NIC用ドライバ等)を通じてデバイスにアクセスするデバイスアクセス機能を共通化して、プラットフォームに依存しない方式でデバイスにアクセスするインターフェースを提供する。つまり、プラットフォームが異なっても、例えばHDD装置やネットワークにアクセスする方法は基本的には同じで、例えば、ファイルの読込には、読込むファイル名と、読込モード、及び読込位置と長さを指定する機能を提供する。これらの手順、インターフェースはプラットフォーム毎にまちまちなので、これらを使ったプログラムを、異なったプラットフォームに移行する際には変更が必要となる。一方、プラットフォームによって異なるインターフェースや手順をシステムインターフェース部(20)で吸収し上位のレイヤに提供する。この他にも例えば、複数のアプリケーションプログラム(80)が相互にデータを交換する場合もこのシステムインターフェース部(20)が提供する機能を利用すると、プラットフォーム非依存のプログラムとなる。システムインターフェース(20)で提供する機能はプラットフォームが提供する機能を共通化することであり、データの変更はコンテンツ処理部(10)中のデータアクセス部(12)で行う。その処理詳細については図13を用いて後に説明する。
コンテンツ処理部(10)には、システムインターフェース部(20)を通じてドライバ部(50)とのデータ交換を行うデータアクセス部(12)と、データを処理するデータ処理部(11)を備える。
データ処理部(11)はデータアクセス部(12)から受け取ったデータを、予め定めた処理手順に従った処理を行い、再びデータアクセス部(12)に出力する。例えば、アプリケーションプログラムから指定された指示が、HDDに格納されたデータをネットワークに接続された他の機器への転送命令であれば、データアクセス部(12)がハードディスクから読んだデータに、データ処理部(11)で適切なヘッダを付けて、データアクセス部(12)を通じて、ネットワーク出力するなどである。例えばUDPでデータを送信する場合、パケットが消失することや、送信順序と到着順序が異なってしまう可能性がある。これを検出するためにデータに一連の番号を持つヘッダを付けることが考えられる。このように適切なヘッダとは、コンテンツデータをデバイスで正しく処理、あるいは正しく送受信するためにデータに付加されるデータのことである。この他ネットワーク以外のデバイスからの入出力についても同様にデバイスに必要なヘッダを追加、削除する事が考えられる。これは例えば、正常に転送が行えたかどうかをチェックするためのチェックサムなどが考えられる。なお、データアクセス部(12)及びデータ処理部(11)で取り扱ったコンテンツデータはコンテンツ管理部(30)より上位のレイヤには出力されない。
コンテンツ管理部(30)は、コンテンツ処理部(10)に備えられた制御インターフェースを使用してコンテンツ処理部(10)を制御する。また、コンテンツ管理部(30)は、本アーキテクチャが適用されている機器で取り扱えるリソースをリソース管理テーブル(300)で管理している。ここでリソースとは、CPU、メモリ、利用可能な装置等、またその装置で利用できる帯域等コンテンツ処理をする際に必要となるハードウェア資源を指す。該リソース管理テーブルについては、図10、図11を用い後述する。本実施例では、コンテンツ管理部(30)はアプリケーションプログラム(80)がコンテンツ処理を容易に実行することが出来るように、要求された処理が実行可能かどうかの判断を行った上で、コンテンツ処理部(10)に処理を依頼する。コンテンツ管理部(30)が提供する機能は、例えば、HDD中に存在するファイルのファイル名を指定して、そのファイルの内容を、指定したIPアドレスのネットワーク機器の、指定したポート番号へ、指定したビットレートでの送信をコンテンツ処理部(10)に指示する等である。これにより、アプリケーションプログラム(80)は、転送元機器と処理対象データ名と転送先機器を指定すれば、指定した機器への具体的なアクセス手法、データの取扱い方法等を知らなくても、目的のデータの転送が行える。例えば、ハードディスクから得たデータをネットワークに転送する場合、ネットワークから出力されるデータは不正な視聴を防止するために暗号化する必要があるが、どの暗号処理をどこで行うかをアプリケーションが認識しなくてもデータの転送を行うことができる。
また、該プラットフォームで取り扱えるコンテンツのリストをアプリケーションプログラム(80)に提供し、ハードウェアの性能を越えた処理の要求がアプリケーションプログラム(80)からあった場合にこれを拒絶する機能を持つ。この機能の詳細については、図10、図11を用いて後述する。
ここで、図5を用いて、アプリケーションプログラム(80)からコンテンツ処理部(10)にコンテンツ処理を要求して、これが終了するまでの処理を説明する。
最初に要求されたコンテンツ処理が実行可能であるかを、コンテンツ管理部(30)が判断する(ステップ1000)。判断の方法については、図10、図11を使用して後述する。利用が可能であれば、そのコンテンツ処理を行うのに必要なデータパスの設定を行う(ステップ1010)。これは例えば、ハードディスクから光ディスク装置を使ったコピーを行う場合に、データをどのように流すかの最適なデータパスを、予めコンテンツ管理部(30)が保有しているパターンと利用できるリソースから決定する。次にデータの転送開始処理を行う(ステップ1030)。これによりコンテンツデータがステップ1010で設定したデータバスを経由して転送される(ステップ1040)。これをコンテンツデータが終了するか、ユーザが停止するまで行う(ステップ1050)。パターンについては、図14を用いて後述する。
例えば、アプリケーションプログラム(80)からコンテンツ管理部(10)に対して、ハードディスク(103)から読み出したデータをネットワークアダプタ(104)に送出する命令が送信された場合の処理は次のようになる。最初に、アプリケーションプログラムから要求された処理が実行可能なコンテンツ処理かを判断する。この場合はハードディスクやネットワークアダプタが備わっており、その時点で利用できるかを判定する(詳細後述)。可能であると判断した場合は、ハードディスクからネットワークアダプタへコンテンツを流すための、データパスを設定する。転送の開始をアプリケーションプログラムが指示すると、データの転送がデータパスを通じて行われる。ここから、送信するコンテンツのファイルの終端まで送信した場合や、アプリケーションプログラムからの処理中止の指示が来るまで処理を続ける。
このデータ転送において、コンテンツデータはアプリケーションプログラム(80)には渡されず、処理はコンテンツ処理部(10)データアクセス部(11)で行われる。その他の、コンテンツデータの停止、一時停止、復帰、前方早送り、及び後方送り等の操作も同様に行われる。
図10のリソース管理テーブルと、図11の処理フローを用いてリソース管理テーブル(300)を用いて処理可能な要求か、不可能な要求かを判断する方法について説明する。該リソース管理テーブル(300)では、利用できるデバイス(301)、そのデバイスの最大能力(302)、現在の利用量(303)、及び備考(304)を持つ。例えば、リソース管理テーブルの内容が図10のように記述されていた場合、アプリケーションプログラム(80)から、20Mbpsのビットレートで、ハードディスクからネットワークへの転送を行う要求が来た場合、最初に、必要なリソースを要求から抽出する(ステップ1200)。この場合はハードディスクとネットワークのリソースを利用すると判断する。次にハードディスクの現在使用量(303)にさらに20Mbpsのコンテンツ処理を追加しても問題ないかを判断する(ステップ1210)。この場合最大能力(302)である100Mbpsに達さないので、処理が行えると判断する。次に、ネットワークについても同様に判断し(ステップ1220)、ネットワークの最大能力である40Mbpsを超えないので処理が可能と判断し(ステップ1230)、リソース管理テーブルを更新して(ステップ1240)終了する。他に、例えば、ハードディスクから光ディスクへの書込が要求された場合は、該プラットフォームで利用できる光ディスクは読込のみをサポートしているので、処理不可能と判断する(ステップ1250)。
次に、図2を用いて、本実施例を実行し得るハードウェア構成について説明する。本実施例はCPU(100)、RAM(101)、ROM(102)、ハードディスク(103)、ネットワークアダプタ(104)、チューナ(105)、光ディスク装置(106)、ディスプレイ(107)、シリアルインターフェース(108)、コーデック処理手段(109)、操作手段(112)および暗号処理手段(110)がバス(111)で接続されている。これらは一般的なコンピュータやハードディスクレコーダの構成とほぼ同じである。ネットワークアダプタ(104)は例えばイーサネット(登録商標)のような有線のネットワーク、あるいは無線のネットワークなどが考えられる。チューナ(105)は、地上波、放送衛星あるいは通信衛星からの放送電波を受信して、コンピュータで取り扱えるデータに変換する機器である。これも様々な放送に対応するチューナが複数存在しても良い。光ディスク装置(106)はCD(Compact Disc)、DVD(Digital Versatile Disk)、AOD(Advanced Optical Disc)、あるいはBlu-Ray等の記憶媒体読み取り、及び書き込み装置である。ディスプレイ(107)はブラウン管、液晶ディスプレイ、プラズマディスプレイ、及び有機ELディスプレイなどが考えられる。ディスプレイを接続するためのインターフェースを介してディスプレイを接続しても良い。
シリアルインターフェース(108)は例えばRS-232C、USB(Universal Serial Bus)あるいは、IEEE1394等のシリアル転送によってデータを転送するインターフェースが考えられる。コーデック処理手段(109)は、コンテンツデータを、特定の動画フォーマット、例えばMPEG2やMPEG4等の変換、あるいは、特定の動画フォーマットから映像情報、及び音声情報を取得する処理を行う手段である。この装置の機能はソフトウェアで実装することも可能である。暗号処理手段(110)はコンテンツデータに暗号化が施されている場合にこれを解除する場合や、逆に暗号化を施す場合の処理を行う。これもソフトウェアで実装することが可能である。バス(111)は汎用的なバスや、CPUや周辺チップに特化したローカルバスが考えられる。汎用バスとしては例えばPCI(Peripheral Components Interconnect)バスが考えられる。またバスブリッジで、異なったバスを結合して利用することも考えられる。操作手段(112)は例えばリモコンやキーボードなどの使用者が装置を制御するためのものである。これまでに述べた本実施例を構成する装置、手段は必要に応じて複数備えることが可能であり、また、CPU、RAM、およびバス以外は必要に応じて実装されればよい。また、上記アプリケーションプログラムや各レイヤーで必要とされるソフトウェアは、メモリにロードされCPUにより実行されることで実現される。
次に、図12のフローチャートを使用して、図2に示す構成のハードウェアにおいて、図1で示すアーキテクチャを持つソフトウェアを利用して、ネットワークアダプタ(104)から放送を受信して、ディスプレイ(107)に映像を出力するまでの処理を説明する。
最初にアプリケーションプログラム(80)から、コンテンツ管理部(30)に対して「ネットワークからの放送をディスプレイに表示する」ことを要求する(ステップ1400)。コンテンツ管理部(30)では、この要求に基づき、要求に必要な処理を決定し、リソース管理テーブルを参照して、必要なデバイスの抽出を行い、これらが利用できるかを判断する(ステップ1410)。この判断の方法については、図10、図11を用いて前述した通りであり、詳しくは、図14、15、16を用いて後述する。
この処理において抽出されるデバイスは、ネットワークアダプタ(104)、コーデック処理手段(109)及びディスプレイ(107)である。利用できると判断した場合は、次にコンテンツ管理部(30)は、コンテンツ処理部(10)に、ネットワークアダプタ(104)からの入力データを、コーデック処理手段(109)に入力して、この出力をディスプレイ(107)に出力するよう要求する(ステップ1420)。コンテンツ処理部(10)では、要求されたデバイスからデータの入出力が可能なようにデータアクセス部(12)を設定し(ステップ1430)、これで得たデータを適切に処理するようにデータ処理部を設定する(ステップ1440)。この処理の詳細については、図13を用いて後述する。この処理が終了した後、アプリケーションプログラム(80)から、再生の要求をコンテンツ管理部(30)に出すと(ステップ1450)、コンテンツ管理部(30)から、コンテンツ処理部(10)に再生の要求が発生し(ステップ1460)、ネットワークアダプタ(104)から読みだしたデータがコンテンツ処理部(10)に読み込まれ、次に、コーデック処理手段(109)に入力され、この出力がディスプレイ(107)に入力されることで映像を再生可能である。この場合、映像データはコンテンツ処理部(10)より上のレイヤには出力されない。再生が終了したり、エラーが発生した場合は、コンテンツ処理部(10)から、コンテンツ管理部(30)にイベントが送られる(ステップ1470)。このイベントは、コンテンツ管理部(30)からアプリケーションプログラム(80)に渡される(ステップ1870)。再生の他、再生の停止、一時停止、早送り、あるいは巻き戻しのような処理についてもステップ1450からステップ1480の処理で実現可能である。
図13を用いてコンテンツ処理部(10)のデータ処理部(11)とデータアクセス部(12)の初期設定手順(ステップ1430,1440)と、データの変換処理について説明する。図13はコンテンツ処理部(10)、システムインターフェース部(20)、及びドライバ部(50)の詳細を示したものである。データアクセス部(12)にはデバイスA(97)用のデータアクセス処理(121)、(122)及び、デバイスB(98)用のデータアクセス処理(123)が関数などのソフトウェアモジュールとして存在する。例えば、デバイスAが、ネットワークアダプタの場合、データアクセス処理Aには、TCPを用いた通信を実現するソフトウェアが格納されている。この説明では、デバイスをA,Bの2種類としたが、この他複数のデバイスに対するデータアクセス処理が存在しても良いことは言うまでもない。このデータアクセス処理A1(121)とアクセス処理A2(122)は同じデバイスドライバA(57)を通じて、デバイスA(97)とのデータの交換を行う。データアクセス処理A1(121)とデータアクセス処理A2(122)のように複数のデータアクセス処理が存在するのは、例えば広くネットワークで用いられているTCP(Transmission Control Protocol)とUDP(User Diagram Protocol)のように、同じデバイスを用いてデータを転送する場合でも複数の手順が存在する場合にそれぞれに対応したデータアクセス処理が必要となるからである。また入力、出力でもそれぞれ別のデータアクセス処理が必要になることも考えられる。
図12におけるステップ1430での処理は、コンテンツ処理に必要なデバイスと、それに必要となるデータアクセス処理を決定し、その初期化を行う処理となる。例えば図13に示した例では、デバイスA(97)に対するデータアクセス処理はデータアクセス処理A1(121)に、デバイスB(98)に対するデータアクセス処理はデータアクセス処理B(123)を割り当てる。本実施例においては、デバイスAはネットワークアダプタであるため、データアクセス処理A1は、ソケットを用いてTCPで送られてくるデータ受信を実現する処理となり、デバイスBはディスプレイであるため、データアクセス処理B1は、ディスプレイドライバへのデータ転送を実現する処理となる。
次に、データ処理部(11)にはデータ処理1(111)、データ処理2(112)およびデータ処理3(113)が関数等のプログラムモジュールとして存在する。これらのデータ処理はデータの変換処理を行うモジュールである。処理の例としては例えば、データのフォーマット変換、ヘッダの付加・削除、データの圧縮・解凍、あるいは暗号化等の処理が考えられる。本実施例においては、入力したデータが、MPEG符号化され、DES暗号され、TCP/IPのパケットで入力されたデータの場合、データ処理1でヘッダが削除され、データ処理2で暗号が復号化され、データ処理3でMPEG復号化がされることとなる。なお、このデータ処理モジュールの連結順序などの決定はコンテンツ管理部が行う。コンテンツ管理部は要求されたコンテンツ処理にどのデータ処理モジュールをどのように接続するかを判断し、この設定をコンテンツ処理部で行う。この処理の詳細については図14、15、16を使用して後述する。
さらに、各データ処理はデータの入力と出力を行うためのインターフェースを持ち、これを利用して他のデータ処理モジュールやデータアクセス処理モジュールとデータを交換することが可能である。処理するデータはデータアクセスモジュールから入力、あるいは出力してもよい。例えば、本実施例において、入力データが暗号化されていなかった場合は、データ処理2が終了した後、処理後のデータがデータアクセス処理Bに出力される。したがって、該処理は、デバイスからのデータの取得、あるいはデバイスへのデータの出力に対応する。またデータ処理モジュール間の入出力についても1対1のデータ交換には限定せず、多対多、1対多あるいは多対1のパターンが考えられる。これは、例えば、1対多のパターンとしては、取得したコンテンツデータを録画しながら同時に再生する場合が該当し、多対1のパターンとしては、音声と映像が別々のコンテンツデータとして存在し、これを1つのコンテンツとしてファイルに記録するような処理を行う場合が該当する。ステップ1440の処理は、目的とするコンテンツ処理に必要なデータ処理を行うデータ処理モジュールを初期化して連結するものである。
図14は、コンテンツ管理部において、アプリケーションプログラムから要求されたコンテンツを処理するための、コンテンツ処理におけるデータ処理フローを記したテーブル(200)と、その構成の例である。このテーブルにはアプリケーションプログラムからの要求パターン(210)と適用するデータパスのパターン(220)の2つの列がある。例えば、アプリケーションプログラムから「チューナからの入力をディスプレイに表示」するように要求を受けた場合は、その要求に合った適用するデータパスのパターンを得る。これにより、チューナからの入力を「チューナアクセス処理」アクセス処理モジュールで読み、これを「フォーマット変換」データ処理モジュールで変換し、「ディスプレイアクセス処理」アクセス処理モジュールでディスプレイに出力すれば良いことが判る。これによりステップ1410での処理でコンテンツ処理に必要なデバイスを抽出することが可能になる。また、例えばチューナからの入力をディスプレイに出力する場合、あるチャンネルではデータに暗号化がなされているが、その他のチャンネルでは暗号化されていないことも考えられる。この場合は(210)に該パターンを登録、例えば「チューナからの入力(1〜4チャンネル)をディスプレイに表示」として、該要求パターンに対応するデータパスのパターンを(220)に登録することで対応することが可能である。
図15は、コンテンツ管理部において、該実装において利用可能なデータアクセスモジュールのテーブル(300)とその構成の例である。このテーブルには利用可能なアクセスモジュールの識別子(310)、入力用インターフェース・パラメタ(320)、及び出力用インターフェース・パラメタ(330)からなる。コンテンツ管理部は要求されたコンテンツ処理に必要なデータアクセスモジュールを前記処理によって決定した後、該テーブルを利用して必要なデータアクセスモジュールを得る。例えば、ハードディスクアクセス処理モジュールに対して出力を行う場合は331に記されたモジュールを、332で記されたパラメタで呼び出せばよく、UDPネットワークアクセス処理モジュールに対して出力を行う場合は333に示されたモジュールを、334で示されたパラメタで呼び出せばよい。
図16は、コンテンツ管理部において、該実装において利用可能なデータ処理モジュールのテーブル(400)とその構成の例である。このテーブルには利用可能なデータ処理モジュールの識別子(410)、入力インターフェース・パラメタ(420)及び、出力用インターフェース・パラメタ(430)からなる。コンテンツ管理部は要求されたコンテンツ処理に必要なデータ処理モジュールを前記処理によって決定した後、該テーブルを利用して必要なデータ処理モジュールを得る。例えば、暗号化処理を行うモジュールを得る場合は、421で記されたモジュールを、422で記されたパラメタで呼び出せよい。この場合、暗号化方式が複数ある場合には、各暗号化方式毎に、暗号化処理モジュールが備えられている。
このように、コンテンツ管理部ではアプリケーションプログラムから要求されたコンテンツ処理に適したデータアクセスモジュール、データ処理モジュールを選択して、必要な処理のパスを設定することが可能である。
また、コンテンツデータをどのように復号あるいは符号化すれば良いかはそのコンテンツの提供方式、あるいは記録時に決められる。例えばデジタル放送ではコンテンツがどの方式で符号化され、どのような暗号化がかかっているか等が予め公開されている。図14で示した要求パターン(210)を予めそれらの情報を基に構築することで、アプリケーションはどのような暗号化、符号化がなされているかを知る必要が無く、ストリーム制御部は要求パターン(210)が与えられるだけで、必要なデータアクセスモジュールとデータ処理モジュールを正しく連結することが可能である。
モジュールの連結とは、処理するコンテンツデータがモジュール間で受け渡されることをいう。例えばデータアクセスモジュールがデバイスから読み出したコンテンツデータをデータ処理モジュールに渡して処理する場合は、読み込んだデータが2つのモジュールで送受信できれば良い。この方法としては例えば、データを記録したバッファメモリのアドレスを、パラメタとして関数呼び出しをしても良いし、該モジュールが入力用のキューを持ち、該キューにデータを投入する方法でも良いし、共有メモリを利用することも考えられるし、ソケットなどを利用してデータ交換することも考えられる。
このようなデータの流れ道、即ちデータパスを設定することで、コンテンツ処理の準備が整う。このデータパスにおいて、データの入り口、即ち、データを入力するデバイスのデータアクセス処理の処理を開始するとデバイスからデータが得られ、これがデータ処理モジュールに渡り、データパスに沿ってデータが処理されて、最終的にはデータの出口、すなわちデータを出力するデータアクセス処理に渡され、デバイスにデータが出力される。デバイスアクセス処理については一部プラットフォームによって処理が異なることが考えられる。これは例えば、一般的なデバイスであっても、プラットフォームが異なると入出力データが異なること等である。その場合は、これらの差異を取り除きデータを共通化する処理をデータアクセス処理で行うことも考えられる。このようにすることでデータアクセス部(12)より上位のレイヤで取り扱うデータはプラットフォームからは完全に非依存になる。例えば、文字コード等のようなプラットフォームにより利用される形式が異なるものは、例えばデータアクセス部でより標準的なUnicode等の文字コードに変換するような場合である。
図3は図2で示した装置のうち一部にLSIを利用した場合の構成を示す。
この図のLSI(120)は、HDD(124)、チューナ(125)、ディスプレイ(126)、及びコーデック処理手段(127)らの機能手段をバス(128)で結合し、Sub−CPU(121)、RAM(122)、ROM(123)及びデータ交換手段(129)を追加した構成である。このようなLSIは、SoC(System on chip)と呼ばれている。このLSI(120)をCPU(100)、RAM(101)、ROM(102)、ネットワークアダプタ(104)、光ディスク装置(106)、シリアルインターフェース(108)、及び暗号処理手段(110)と共にバス(111)で接続することで、図2で示したハード構成と同じ機能を持たせることが可能となる。図3では、上記に説明したように機器をLSIに搭載した構成を示したが、装置の配置はこの例に限定されない。例えば、LSI(120)側にはHDD(124)が無く、その代わりに主CPU(1)のバス(111)にHDD(103)が存在しても良いし、両者をともに実装した構成も考えられる。
この例では、LSI(120)に備えられた装置と同じ装置をLSI外部には備えていないが、例えばチューナをLSI(120)内に持ち、外部にもチューナを備えるなど、同等な装置を2つ以上備えても良い。CPU(100)とSub−CPU(121)との通信にはデータ交換手段(129)を利用する。この実装はLSI(120)やシステムの構成によって多様な方法が考えられる。例えば、簡単な方法としてFIFO(First In First Out)方式のバッファを利用して、データを交換する方法が考えられる。また共有メモリとDMA(Direct Memory Access)転送を利用して高速に大量のデータを交換することも考えられる。この他には、LSIのレジスタを利用する方法やOSが提供する機能を利用することも考えられる。またこの手段は一つ存在していても複数存在していても良い。
図4はシステムの一部にLSIを適用した図3のような構成に対して、本コンテンツ処理アーキテクチャを利用した場合の構成の例を示したものである。図4では図3の構成要素であるコーデック処理手段(127)、光ディスク装置(106)、シリアルインターフェース(108)、及び暗号処理手段(110)についての記載は省略したが、省略された手段についても同様な構成で取り扱うことが可能である。このLSI(120)内で動作する本実施例のコンテンツ処理アーキテクチャは、ドライバ部(53)、システムインターフェース部(21)、コンテンツ処理部(11)、コンテンツ管理部(31)及びアプリケーションプログラム(81)から構成されて、図1で示した構成とほぼ同じである。異なる部分はCPU(100)と通信をするためのデータ共有手段(129)のためのドライバ(59)が追加されていることである。
LSI(120)外の装置で処理されるコンテンツ処理アーキテクチャも、ドライバ部(50)、システム機能提供部(40)、システムインターフェース部(20)、コンテンツ処理部(10)、コンテンツ管理部(30)、及びアプリケーションプログラム(80)から構成され、図1の構成と同じである。このアーキテクチャにとってLSI(120)はLSIドライバ(51)経由でアクセスする一つの装置のように見える。例えば、LSIのチューナ(55)で取得したデータを主CPU側のネットワークアダプタで送出する場合、チューナ(125)から取得したデータはコンテンツ処理部(11)を通り、データ共有ドライバ(59)を使ってデータ共有手段(129)に出力される。LSIドライバ(51)からデータ共有手段(129)に書き込まれたデータを取得し、コンテンツ処理部(10)がネットワークアダプタ(104)に出力する。LSI内のコンテンツ処理(11)部に入力されたデータは、図1でも説明したように、上位のレイヤには出力されず、例えばチューナだけに意味があるヘッダ等の不要なデータを取り除く等の最低限の処理を行って、データ共有手段に出力される。この処理については図6で詳細を記す。このデータは主CPU側からは単にデバイスからのデータに見えるので、コンテンツ処理部(10)はデータを読み出して、これを適切に加工し、ネットワークドライバ(52)に出力すればよい。
図6は図4に示したLSIを使用した構成における、本アーキテクチャのコンテンツデータ処理のフローを示したものである。ここでは例としてチューナ(125)からのコンテンツデータをネットワークアダプタ(104)に出力する場合を考える。最初に、アプリケーションプログラム(80)からコンテンツ処理部(30)に対して利用できるコンテンツかをチェックする(ステップ1100)。この処理はステップ1000と同じである。コンテンツ処理を実行できる状況であれば、コンテンツ管理部はLSIドライバ(51)を使用してLSI(120)上のアプリケーションプログラム(81)に、チューナ(125)から、データ共有手段(129)にコンテンツデータの処理パスを作成するように依頼する(ステップ1110)。これを受けてLSI(120)上のアプリケーションプログラム(81)はまず要求されたコンテンツ処理が実行可能かを確認して(ステップ1120)、チューナ(125)とデータ共有手段(129)間のデータパスを設定する(ステップ1130)。次にコンテンツ処理部(10)に対してはLSI(120)のデータ共有手段(129)からのデータをネットワークアダプタ(104)に出力するためのデータパスを設定する(ステップ1140)。
この後、LSI(120)上のアプリケーションプログラム(81)にコンテンツ処理開始を要求し、アプリケーションプログラム(81)はコンテンツ処理部(11)に処理開始要求を行う(ステップ1150)、コンテンツ処理部(10)に対してもコンテンツ処理の開始を要求する(ステップ1160)。これにより、チューナ(125)で得たデータが、データ共有手段(129)に出力されるので(ステップ1170)、このデータをコンテンツ処理部(10)がネットワークアダプタに出力する(ステップ1180)。これをデータの終了、あるいはユーザの停止要求があるまで繰り返して行う(ステップ1190)。
LSI(120)上のアプリケーションプログラム(81)と、LSIドライバ(51)の通信は、コンテンツデータの交換と同じく、データ共有手段(129)を用いて行われる。
図7は本アーキテクチャに、拡張機能ライブラリ(60)を追加した場合の構成を示したものである。拡張機能ライブラリ(60)は、例えば、利用において特殊な手順が必要で、またこの手順が公開されていないデバイスを考えるとき、この制御プログラムのソースが公開されず、バイナリのライブラリだけが提供されることが考えられる。例えば、特殊なストレージデバイスで、記録されたデータを読み込むためには読込用の鍵をデバイスに設定しなければならない装置で、その鍵と利用処理手順が該ライブラリに隠蔽されて実装されているようなことが考えられる。このような場合、該デバイスを使用するには前記ライブラリを利用する他にない。この場合に、当該ライブラリを拡張機能ライブラリ(60)として導入することで、目的のデバイスが利用可能となる。拡張ライブラリは予めシステムに組み込まれているか、あるいはコンテンツ管理部が必要に応じて動的に追加する。拡張機能ライブラリで処理されたデータの転送及び制御はシステムインターフェース経由でコンテンツ処理部が行う。この場合、拡張機能ライブラリ用のデータアクセスモジュールをコンテンツ処理部が備えれば、機能拡張ライブラリはストリーム制御部からはデバイスとして見えるので、図14、15で示した仕組みで利用することが可能である。
図8は図1で示した本アーキテクチャのシステムインターフェース部(20)を、OS(5)内に実装した形態を示したものである。この構成では、システムインターフェース部(20)がOS(5)内のモジュールとして実装されるため、OS内のモジュールがアプリケーションプログラムより優先的に実行が行わるOSでは、ユーザ空間で実装されるよりも、性能で有利になる。
図9は図1で示した本アーキテクチャのシステムインターフェース部(20)および、コンテンツ処理部(10)をOS(5)に実装した形態を示したものである。この構成では、システムインターフェース部(20)および、コンテンツ処理部(10)がOS(5)内のモジュールとして実装されるため、OS内のモジュールがアプリケーションプログラムより優先的に実行が行わるOSでは、ユーザ空間で実装されるよりも、性能で有利になる。特に、リアルタイム性が必要となる、高ビットレートでのコンテンツ処理を行う場合には特に有効と考えられる。一方で、OS内での実装は、開発が難しく、実行時に障害が発生した場合に、OSを異常終了させる可能性があるので、図1、図8あるいは図9の何れの構成を取るかは、用途、ハードウェア構成、及び開発工数などを考慮して決められるべきである。例えば、CPUの性能が低いプラットフォームでの実装、あるいは高い性能が要求される場合は、デバッグなどは多少困難になるが、高性能を実現することが比較的容易な図9のような構成が考えられる。逆に、CPUが十分に早くメモリ等の実行リソースが十分に利用できる場合や、高性能が要求されない場合等は、実装が容易な図1のような構成とすることが考えられる。
本実施例によれば、アプリケーションプログラムは、プラットフォームに非依存で処理を実行することが可能となる。また、様々なプラットフォームに対応可能なコンテンツ処理手段およびそのコンテンツ処理アーキテクチャを提供することが可能となり、コンテンツ処理プログラムを異なったプラットフォームに移行する場合に、コンテンツ処理プログラムを殆ど変更することなく動作させることが可能となる。
本実施例のソフトウェア構成を示した図である 本実施例を適用可能なハードウェア構成図である 図2の構成にLSIを適用した場合の構成図である。 図3におけるソフトウェア構成を示した図である コンテンツ処理の手順のフローである。 LSIを適用したシステムにおけるコンテンツ処理の手順のフローである 機能拡張ライブラリを追加したソフトウェア構成を示した図である システムインターフェース部をOS内に実装した構成を示した図である コンテンツ処理部をOS内に実装した構成を示した図である リソース管理テーブルの構成を示した図である リソースの利用可否を判定する処理のフローである 基本的な処理を行った場合のフローである コンテンツ処理部内の処理を示した図である コンテンツ処理におけるデータ処理フローを記したテーブルの図である 利用可能なデータアクセスモジュールのテーブルの図である 利用可能なデータ処理モジュールのテーブルの図である
符号の説明
5…OS,10…コンテンツ処理部、20…システムインターフェース部、30…コンテンツ管理部、40…システム機能提供部、50…ドライバ部、60…拡張機能ライブラリ、70…システムアクセスインターフェース、71…コンテンツ処理制御インターフェース、80…アプリケーションプログラム、100…CPU、101…RAM、102…ROM、103…HDD、104…ネットワークアダプタ、105…チューナ、106…光ディスク装置、107…ディスプレイ、108…シリアルインターフェース、109…コーデック処理手段、110…暗号処理手段、111…バス、112…操作手段、120…LSI

Claims (10)

  1. コンテンツ処理装置であって、
    コンテンツの入力装置と、
    コンテンツの出力装置と、
    処理モジュールを格納した記憶部と、
    命令を発行する命令発行部と、
    前記命令を受信し、当該命令を実行するのに必要な前記処理モジュールを選択するコンテンツ管理部と、
    前記選択された処理モジュールを用いて処理を実行するコンテンツ処理部とを有し、
    前記コンテンツ処理部は、
    前記選択された処理モジュールを用いて、
    前記入力装置からのコンテンツの入力処理、あるいは前記出力装置へのコンテンツの出力処理を実行するデータアクセス部と、前記データアクセス部を介して入力されたコンテンツに所定の処理を実行した後に該処理後のコンテンツを前記データアクセス部に出力するデータ処理部とを有することを特徴とするコンテンツ処理装置。
  2. 請求項1記載のコンテンツ処理装置であって、
    前記コンテンツ管理部は、前記記憶部に格納された、前記命令に対応する処理モジュールの組み合わせを規定した第1のテーブル、および選択可能な処理モジュールを規定した第2のテーブルを参照して、前記処理モジュールを選択することを特徴とするコンテンツ処理装置。
  3. 請求項2記載のコンテンツ処理装置であって、
    前記第1のテーブルには、前記命令を実行するための処理モジュールの順序が規定されていることを特徴とするコンテンツ処理装置。
  4. 請求項1記載のコンテンツ管理装置であって、
    前記記憶部には、前記入出力装置の使用可能性能を規定した第3のテーブルが格納され、
    前記コンテンツ管理部は、前記命令を実行するのに必要な入出力装置の性能が、前記第3のテーブルに規定された値の範囲内か否かを判断し、その結果、該テーブルに規定された範囲内である場合に、前記命令を実行することを特徴とするコンテンツ処理装置。
  5. 請求項1記載のコンテンツ処理装置であって、
    前記データアクセス部あるいは前記データ処理部では、少なくとも1以上の処理モジュールが用いられることを特徴とするコンテンツ処理装置。
  6. 請求項1記載のコンテンツ処理装置であって、
    前記命令に対応する処理モジュールの組み合わせを規定した第1のテーブル、および選択可能な処理モジュールを規定した第2のテーブル、前記入出力装置の使用可能性能を規定した第3のテーブルが格納された記憶部をさらに有し、
    前記入力装置がHDDで前記出力装置がネットワークアダプタである場合に、HDDからネットワークアダプタへのデータ転送要求命令がコンテンツ管理部に送信された場合、
    前記コンテンツ管理部は、前記命令を実行するのに必要な入出力装置の性能が、前記第3のテーブルに規定された値の範囲内か否かを判断し、その結果、該テーブルに規定された範囲内である場合に、前記第2のテーブルを参照して、前記データアクセス部で用いる処理モジュールとして、ハードディスクアクセス処理モジュールおよびネットワークアクセス処理モジュール、前記データ処理部で用いる処理モジュールとして、少なくともフォーマット変換処理モジュールを選択して、前記ハードディスクアクセス処理モジュールで処理されたデータが前記フォーマット変換処理モジュールに入力され、前記フォーマット変換処理モジュールで処理されたデータが前記ネットワークアクセス処理モジュールに入力されるように連結し、
    前記コンテンツ処理部は、各処理モジュールにおける処理を実行することで、該命令が実行されることを特徴とするコンテンツ処理装置。
  7. 請求項6記載のコンテンツ処理装置であって、
    前記命令に含まれるデータの転送元情報と転送先情報に基づき、
    前記ハードディスクアクセス処理モジュールでは、前記HDDから前記転送元情報で指定されたデータが出力される処理が実行され、前記フォーマット変換処理モジュールでは前記データにヘッダが付加される処理が実行され、前記ネットワークアクセス処理モジュールでは前記転送先情報に基づき、前記データがネットワーク上に送信される処理が実行されることを特徴とするコンテンツデータ処理装置。
  8. 請求項6記載のコンテンツ処理装置であって、
    前記命令に符号化方法が含まれている場合、前記コンテンツ管理部は符号化処理モジュールを選択し、前記フォーマット変換処理モジュールで処理されたデータが前記符号化処理モジュールに入力されるように連結し、
    前記コンテンツ処理部は、各処理モジュールにおける処理を実行することで、該命令が実行されることを特徴とするコンテンツ処理装置。
  9. 命令を発行する命令発行部とコンテンツの入力装置と出力装置とを有するコンテンツ処理装置におけるコンテンツ処理方法であって、
    前記命令発行部から命令が発行される工程と、
    前記入力装置あるいは出力装置の使用可能性能を規定した第1のテーブルを参照して、前記命令を実行するのに用いられる入出力装置の性能が、前記第1のテーブルに規定された値の範囲内か否かを判断する工程と、
    前記判断の結果、前記第1のテーブルに規定された範囲内である場合に、前記命令に対応する処理モジュールの組み合わせを規定した第2のテーブルおよび選択可能な処理モジュールを規定した第3のテーブルを参照して、前記該当する処理モジュールを抽出して選択された処理モジュールを連結する工程と、
    前記連結された処理モジュールを用いて、前記命令を実行する工程とを有することを特徴とするコンテンツ処理方法。
  10. 命令を発行する命令発行部とコンテンツの入力装置と出力装置とを有する計算機におけるコンテンツ処理プログラムであって、計算機に、
    前記命令発行部から命令が発行される工程と、
    前記入力装置あるいは出力装置の使用可能性能を規定した第1のテーブルを参照して、前記命令を実行するのに用いられる入出力装置の性能が、前記第1のテーブルに規定された値の範囲内か否かを判断する工程と、
    前記判断の結果、前記第1のテーブルに規定された範囲内である場合に、前記命令に対応する処理モジュールの組み合わせを規定した第2のテーブルおよび選択可能な処理モジュールを規定した第3のテーブルを参照して、前記該当する処理モジュールを抽出して選択された処理モジュールを連結する工程と、
    前記連結された処理モジュールを用いて、前記命令を実行する工程と実行させるためのプログラム。
JP2004085958A 2004-03-24 2004-03-24 コンテンツデータ処理装置及び方法 Pending JP2005275643A (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2004085958A JP2005275643A (ja) 2004-03-24 2004-03-24 コンテンツデータ処理装置及び方法
EP04011696A EP1589423A3 (en) 2004-03-24 2004-05-17 Contents data processing device and method
US10/847,664 US20050229187A1 (en) 2004-03-24 2004-05-18 Contents data processing device and method
KR1020040035464A KR100679580B1 (ko) 2004-03-24 2004-05-19 콘텐츠 데이터 처리 장치 및 방법
CNB2004100428858A CN100440196C (zh) 2004-03-24 2004-05-27 内容数据处理装置及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004085958A JP2005275643A (ja) 2004-03-24 2004-03-24 コンテンツデータ処理装置及び方法

Publications (1)

Publication Number Publication Date
JP2005275643A true JP2005275643A (ja) 2005-10-06

Family

ID=34925028

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004085958A Pending JP2005275643A (ja) 2004-03-24 2004-03-24 コンテンツデータ処理装置及び方法

Country Status (5)

Country Link
US (1) US20050229187A1 (ja)
EP (1) EP1589423A3 (ja)
JP (1) JP2005275643A (ja)
KR (1) KR100679580B1 (ja)
CN (1) CN100440196C (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007164734A (ja) * 2005-12-16 2007-06-28 Matsushita Electric Ind Co Ltd ストリーム制御装置

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080212773A1 (en) * 2007-03-02 2008-09-04 Houlberg Christian L Parallel data stream decryption device
KR200448436Y1 (ko) 2007-10-18 2010-04-09 고상수 송아지 우리
US8171154B2 (en) * 2009-09-29 2012-05-01 Net Power And Light, Inc. Method and system for low-latency transfer protocol
CN103152241B (zh) * 2013-02-28 2017-09-29 上海斐讯数据通信技术有限公司 一种基于吉比特光网终端的虚拟局域网实现方法
JP2015095067A (ja) * 2013-11-12 2015-05-18 株式会社東芝 データ伝送装置、データ伝送方法およびプログラム

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07302236A (ja) * 1994-05-06 1995-11-14 Hitachi Ltd 情報処理システムおよびその方法並びに情報処理システムにおけるサービス提供方法
JP3536423B2 (ja) 1995-04-07 2004-06-07 ソニー株式会社 放送設備運用システムおよび方法
US6205492B1 (en) 1997-04-04 2001-03-20 Microsoft Corporation Method and computer program product for interconnecting software drivers in kernel mode
US6298370B1 (en) * 1997-04-04 2001-10-02 Texas Instruments Incorporated Computer operating process allocating tasks between first and second processors at run time based upon current processor load
US6519660B1 (en) * 1999-09-28 2003-02-11 International Business Machines Corporation Method, system and program products for determining I/O configuration entropy
CA2356343A1 (en) * 1999-10-25 2001-05-17 Sony Corporation Method for managing content data
JP2001222504A (ja) * 1999-12-03 2001-08-17 Canon Inc 電子機器、電子機器の制御方法及び記録媒体
US7340153B2 (en) * 2000-01-11 2008-03-04 Hitachi, Ltd. Apparatus and method for recording and reproducing information
JP5055492B2 (ja) * 2001-05-07 2012-10-24 サイエンスパーク株式会社 電子計算機のインターフェースドライバプログラム及びその記録媒体
GB2379292B (en) * 2001-08-31 2005-09-28 Discreet Logic Inc Processing data in an application including a plurality of application modules
EP1296243A3 (en) * 2001-09-25 2007-04-11 Interuniversitair Microelektronica Centrum Vzw A method for operating a real-time multimedia terminal in a QoS manner
US7765521B2 (en) * 2002-08-29 2010-07-27 Jeffrey F Bryant Configuration engine
JP4340455B2 (ja) * 2003-03-10 2009-10-07 富士通株式会社 画像処理プログラム作成方法、画像処理プログラムの作成プログラムおよび画像処理プログラム作成装置
JP4153817B2 (ja) * 2003-03-28 2008-09-24 富士通株式会社 データ符号化方法およびデータ符号化装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007164734A (ja) * 2005-12-16 2007-06-28 Matsushita Electric Ind Co Ltd ストリーム制御装置

Also Published As

Publication number Publication date
KR20050094729A (ko) 2005-09-28
KR100679580B1 (ko) 2007-02-07
CN100440196C (zh) 2008-12-03
US20050229187A1 (en) 2005-10-13
EP1589423A2 (en) 2005-10-26
EP1589423A3 (en) 2007-09-05
CN1673993A (zh) 2005-09-28

Similar Documents

Publication Publication Date Title
JP5005895B2 (ja) インバンド制御情報を伝送するためのストラテジー
JP4160510B2 (ja) デバイスへのエミュレータイネーブルドネットワーク接続
US20030028652A1 (en) Apparatus for and method of invalidating or deleting digital content after it expires by comparing the embedded time with a global time
MXPA04006188A (es) Procesador de medios de fundacion de medios.
US20100166387A1 (en) Method and apparatus for playing video data of high bit rate format by a player capable of playing video data of low bit rate format
JP3655266B2 (ja) 情報処理装置
US20080240685A1 (en) Recording and reproducing apparatus
JP2005275643A (ja) コンテンツデータ処理装置及び方法
US9762704B2 (en) Service based media player
US7539292B2 (en) Contents distribution system, contents server, contents receiving apparatus, contents distribution method, program and storage media
JP4249569B2 (ja) デマルチプレクサのアプリケーションプログラムインターフェイス
JP2005110024A (ja) データ送信装置、データ送受信システム、及びデータ送受信方法
JP2021012691A (ja) エンコードとアップロードの並行処理によってメディアファイルの送信時間を短縮することができる方法およびシステム
US7987299B2 (en) Data processing apparatus and method thereof
JP2007272336A (ja) 命令処理装置及び命令処理方法
US20080126752A1 (en) Dual-processor communication
RU2351002C2 (ru) Программный интерфейс приложения демультиплексора
KR101226184B1 (ko) Dvr 시스템 및 그 구동 방법
JP2005063116A (ja) 無線記憶装置、無線記憶システムおよび無線通信方法
JP2015080146A (ja) 情報処理装置、情報処理方法及びプログラム
JP2007184710A (ja) 情報処理装置および方法、並びにプログラム
US20040220877A1 (en) Media center storage device proxy
JP2009116881A (ja) データ処理装置およびその方法
JP2007329844A (ja) 映像サーバ装置
JP2008283390A (ja) 受信機器、コンテンツデータの転送方法

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20060424

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061130

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20081020

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081111

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090113

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090630

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090928

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20091006

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20091106