(57)【特許請求の範囲】
【請求項１】
情報処理装置であって、
前記情報処理装置に格納されているソフトウェア部品が処理可能なストリームの種類を示す種類情報と、該ストリームを処理するために使用する前記情報処理装置のリソースを示す第１のリソース情報と、を関連づけて格納する第１の格納手段と、
ストリームの種類を確定するための確定処理に必要な前記情報処理装置のリソースを示す第２のリソース情報を格納する第２の格納手段と、
処理対象とする対象ストリームの種類が指定されているか否かを判断する判断手段と、
前記対象ストリームの種類が指定されている場合には、該種類を示す種類情報と関連づけて前記第１の格納手段に格納されている第１のリソース情報が示すリソースを、該対象ストリームを処理するソフトウェア部品が使用するリソースとして割り当てる第１の割り当て手段と、
前記対象ストリームの種類が指定されていない場合には、前記第２のリソース情報が示すリソースを使用して前記確定処理を実行し、該確定処理によって確定した種類を示す種類情報と関連づけて前記第１の格納手段に格納されている第１のリソース情報が示すリソースを、該対象ストリームを処理するソフトウェア部品が使用するリソースとして割り当てる第２の割り当て手段と
を備えることを特徴とする情報処理装置。
【請求項２】
更に、
それぞれのソフトウェア部品から、該ソフトウェア部品が処理可能なストリームの種類を示す種類情報と、該ストリームを処理するために使用する前記情報処理装置のリソースを示す第１のリソース情報と、該ソフトウェア部品が該ストリームの種類を確定するために必要な前記情報処理装置のリソースを示す第２のリソース情報と、を収集し、該収集した種類情報及び第１のリソース情報を前記第１の格納手段に登録すると共に、該収集した第２のリソース情報を前記第２の格納手段に登録する登録手段を備えることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記登録手段は、前記情報処理装置に対して新規のソフトウェア部品がダウンロードされた場合、該新規のソフトウェア部品が処理可能なストリームの種類を示す種類情報と、該ストリームを処理するために使用する前記情報処理装置のリソースを示す第１のリソース情報と、を前記第１の格納手段に登録すると共に、該ソフトウェア部品が該ストリームの種類を確定するために必要な前記情報処理装置のリソースを示す第２のリソース情報を前記第２の格納手段に登録することを特徴とする請求項２に記載の情報処理装置。
【請求項４】
更に、
前記第１の割り当て手段又は前記第２の割り当て手段によって割り当てられたリソースの使用許可を、前記対象ストリームを実行する実行部に通知する通知手段を備えることを特徴とする請求項１乃至３の何れか１項に記載の情報処理装置。
【請求項５】
情報処理装置に格納されているソフトウェア部品が処理可能なストリームの種類を示す種類情報と、該ストリームを処理するために使用する前記情報処理装置のリソースを示す第１のリソース情報と、を関連づけて格納する第１の格納手段と、ストリームの種類を確定するための確定処理に必要な前記情報処理装置のリソースを示す第２のリソース情報を格納する第２の格納手段と、を有する前記情報処理装置が行う情報処理方法であって、
前記情報処理装置の判断手段が、処理対象とする対象ストリームの種類が指定されているか否かを判断する判断工程と、
前記情報処理装置の第１の割り当て手段が、前記対象ストリームの種類が指定されている場合には、該種類を示す種類情報と関連づけて前記第１の格納手段に格納されている第１のリソース情報が示すリソースを、該対象ストリームを処理するソフトウェア部品が使用するリソースとして割り当てる第１の割り当て工程と、
前記情報処理装置の第２の割り当て手段が、前記対象ストリームの種類が指定されていない場合には、前記第２のリソース情報が示すリソースを使用して前記確定処理を実行し、該確定処理によって確定した種類を示す種類情報と関連づけて前記第１の格納手段に格納されている第１のリソース情報が示すリソースを、該対象ストリームを処理するソフトウェア部品が使用するリソースとして割り当てる第２の割り当て工程と
を備えることを特徴とする情報処理方法。
【請求項６】
更に、
それぞれのソフトウェア部品から、該ソフトウェア部品が処理可能なストリームの種類を示す種類情報と、該ストリームを処理するために使用する前記情報処理装置のリソースを示す第１のリソース情報と、該ソフトウェア部品が該ストリームの種類を確定するために必要な前記情報処理装置のリソースを示す第２のリソース情報と、を収集し、該収集した種類情報及び第１のリソース情報を前記第１の格納手段に登録すると共に、該収集した第２のリソース情報を前記第２の格納手段に登録する登録工程を備えることを特徴とする請求項５に記載の情報処理方法。
【請求項７】
コンピュータを、請求項１乃至４の何れか１項に記載の情報処理装置の各手段として機能させるためのコンピュータプログラム。
【請求項８】
情報処理装置であって、
前記情報処理装置に格納されているソフトウェア部品が処理可能なストリームの種類を示す種類情報と、該ストリームを処理するために使用する前記情報処理装置のリソースを示す第１のリソース情報と、を関連づけて格納する第１の格納手段と、
ストリームの種類を確定するための確定処理に必要な前記情報処理装置のリソースを示す第２のリソース情報を格納する第２の格納手段と、
処理対象とする対象ストリームの種類が指定されているか否かを判断する判断手段と、
前記対象ストリームの種類が指定されていない場合には、前記第２のリソース情報が示すリソースを使用して前記確定処理を実行し、該確定処理によって確定した種類を示す種類情報と関連づけて前記第１の格納手段に格納されている第１のリソース情報が示すリソースを、該対象ストリームを処理するソフトウェア部品が使用するリソースとして割り当てる割り当て手段と
を備えることを特徴とする情報処理装置。
【請求項９】
更に、
それぞれのソフトウェア部品から、該ソフトウェア部品が処理可能なストリームの種類を示す種類情報と、該ストリームを処理するために使用する前記情報処理装置のリソースを示す第１のリソース情報と、該ソフトウェア部品が該ストリームの種類を確定するために必要な前記情報処理装置のリソースを示す第２のリソース情報と、を収集し、該収集した種類情報及び第１のリソース情報を前記第１の格納手段に登録すると共に、該収集した第２のリソース情報を前記第２の格納手段に登録する登録手段を備えることを特徴とする請求項８に記載の情報処理装置。
【請求項１０】
情報処理装置に格納されているソフトウェア部品が処理可能なストリームの種類を示す種類情報と、該ストリームを処理するために使用する前記情報処理装置のリソースを示す第１のリソース情報と、を関連づけて格納する第１の格納手段と、ストリームの種類を確定するための確定処理に必要な前記情報処理装置のリソースを示す第２のリソース情報を格納する第２の格納手段と、を有する情報処理装置が行う情報処理方法であって、
前記情報処理装置の判断手段が、処理対象とする対象ストリームの種類が指定されているか否かを判断する判断工程と、
前記情報処理装置の割り当て手段が、前記対象ストリームの種類が指定されていない場合には、前記第２のリソース情報が示すリソースを使用して前記確定処理を実行し、該確定処理によって確定した種類を示す種類情報と関連づけて前記第１の格納手段に格納されている第１のリソース情報が示すリソースを、該対象ストリームを処理するソフトウェア部品が使用するリソースとして割り当てる割り当て工程と
を備えることを特徴とする情報処理方法。
【請求項１１】
更に、
それぞれのソフトウェア部品から、該ソフトウェア部品が処理可能なストリームの種類を示す種類情報と、該ストリームを処理するために使用する前記情報処理装置のリソースを示す第１のリソース情報と、該ソフトウェア部品が該ストリームの種類を確定するために必要な前記情報処理装置のリソースを示す第２のリソース情報と、を収集し、該収集した種類情報及び第１のリソース情報を前記第１の格納手段に登録すると共に、該収集した第２のリソース情報を前記第２の格納手段に登録する登録工程を備えることを特徴とする請求項１０に記載の情報処理方法。
【請求項１２】
コンピュータを、請求項８又は９に記載の情報処理装置の各手段として機能させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データをストリームとして扱う技術に関するものである。
【背景技術】
【０００２】
従来から、大規模なソフトウェアシステムを構築する場合には、それぞれ固有の単位機能を持つ複数のソフトウェアコンポーネントに分割して開発する手法がとられる。システム内では、関連する複数のコンポーネント間で処理の依頼を行ない、互いに協調し合って１つの大きな処理を実現する。
【０００３】
システム全体の機能をソフトウェアコンポーネントに分割する方法の１つとして、入力されたデータに何らかの変換を加えたデータを出力する処理を単位機能と考え、データの流れに沿って分割する方法がある（非特許文献１）。以下ではこのような処理を「フィルタ処理」と称する。このような分割方法のメリットは、フィルタ処理コンポーネントの交換や組合せ変更により、そのシステムの機能の増減や将来の機能拡張ができる点にある。
【０００４】
各ソフトウェアコンポーネントがフィルタ処理を行う時には、システムのリソースを使用する。例えば、圧縮された映像信号の伸長を行うビデオデコードフィルタ処理コンポーネントでは、ＭＰＥＧ２ビデオをデコードする場合に、ＭＰＥＧ２ビデオデコーダハードウェアや参照画像を保存するためのメモリなどのリソースを使用する。同様に、グラフィックスを描画するグラフィックス描画フィルタでは、描画領域やフレームバッファとしてのメモリリソースを使用する。
【０００５】
システムに要求される様々な機能を実現するために必要なリソースは、その機能毎に異なる。それらの機能を複数同時に実行する場合には、機能の組合せによっては、リソースの競合が発生する。リソースの競合が発生した場合には、機能を正常に実行できなくなるので、その調停をする必要がある。
【０００６】
ここで、システムに要求される機能を複数のソフトウェアコンポーネントで分担して実現するシステムにおいても、システム内の各ソフトウェアコンポーネントが使用するリソース情報を元に、リソースの競合を判断する仕組みが必要である。しかしながら、特定のソフトウェアコンポーネントが使用するリソース情報を静的に保持して管理する仕組みでは、ソフトウェアコンポーネントの入れ替えが困難になり、システムの機能の増減や将来の機能拡張性が損なわれてしまう。
【０００７】
そこで、ソフトウェアコンポーネントが使用するリソースをリソース管理部に登録し、リソース管理部でシステム内のリソースを一元管理し、適切に分配、割り当てすることができる装置が提案されている（特許文献１）。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００５−３８１９８号公報
【非特許文献】
【０００９】
【非特許文献１】ソフトウェアアーキテクチャ、近代科学社、２０００年、p52
【発明の概要】
【発明が解決しようとする課題】
【００１０】
放送受信機能やＩＰストリーミング受信機能などのストリームデータを処理するシステム（以降、ストリーム処理システムと称す）では、昨今の放送のデジタル化、ネットワーク化に伴い、対応すべきストリームの種類が増えてきている。また、ハードウェアの処理能力の増大もあり、１つのシステム内で複数のストリームを同時並行処理することが可能になってきている。
【００１１】
ここで、複数のストリームを同時並行処理する際に、ストリーム間でコンポーネントが利用するリソースの競合が発生して、正常な再生を保証できないのは、好ましくない。例えば、予約録画処理を実行中に、新しいストリームの再生処理を試みて、予約録画処理が止まってしまうのは避けるべきである。
【００１２】
複数のストリームを同時並行処理する場合においても、このようなリソースの競合を判定して、調停する仕組みが必要である。ところで、複数のストリームを同時並行処理する場合において、リソースの競合を判定し、正常なストリーム再生処理を保証するためには、ユーザやアプリケーションからのストリーム処理要求に基づいて、使用するリソースを見積る必要がある。この時、使用するリソースはストリーム処理要求、つまりストリームの種別毎に異なる。よって、ストリームの種別毎に、適切なフィルタ処理コンポーネントの選択と、そのコンポーネントが使用するリソースを特定しなければならない。
【００１３】
さらに、ストリーム処理のリソース割り当てにおいては、ストリーム種別だけでは、必要となるリソースを確定できない場合があるという課題がある。例えば、放送受信機能においては、特定のチャンネルを選局してみないと映像コンテンツのフォーマットがＨＤなのかＳＤなのかを判断できない場合がある。フォーマットによって、メモリなどの必要なリソースは異なってくる。また、アナログコンポーネント端子からの映像信号入力の表示機能においても、映像を受信しなければそのフォーマットを確定することができない。よって、リソース量を予め確定することが難しい。
【００１４】
本発明は上記の問題に鑑み、フィルタ処理コンポーネントの新規追加などシステム全体としての機能の増減の実現と、実行中のストリーム処理に破綻を来たさないという要件を満たしながら、リソースを有効に活用する為の技術を提供することを目的とする。
【課題を解決するための手段】
【００１５】
本発明の目的を達成するために、例えば本発明の情報処理装置は、情報処理装置であって、
前記情報処理装置に格納されているソフトウェア部品が処理可能なストリームの種類を示す種類情報と、該ストリームを処理するために使用する前記情報処理装置のリソースを示す第１のリソース情報と、を関連づけて格納する第１の格納手段と、
ストリームの種類を確定するための確定処理に必要な前記情報処理装置のリソースを示す第２のリソース情報を格納する第２の格納手段と、
処理対象とする対象ストリームの種類が指定されているか否かを判断する判断手段と、
前記対象ストリームの種類が指定されている場合には、該種類を示す種類情報と関連づけて前記第１の格納手段に格納されている第１のリソース情報が示すリソースを、該対象ストリームを処理するソフトウェア部品が使用するリソースとして割り当てる第１の割り当て手段と、
前記対象ストリームの種類が指定されていない場合には、前記第２のリソース情報が示すリソースを使用して前記確定処理を実行し、該確定処理によって確定した種類を示す種類情報と関連づけて前記第１の格納手段に格納されている第１のリソース情報が示すリソースを、該対象ストリームを処理するソフトウェア部品が使用するリソースとして割り当てる第２の割り当て手段と
を備えることを特徴とする。
【発明の効果】
【００１６】
本発明の構成によれば、フィルタ処理コンポーネントの新規追加などシステム全体としての機能の増減の実現と、実行中のストリーム処理に破綻を来たさないという要件を満たしながら、リソースを有効に活用することができる。
【図面の簡単な説明】
【００１７】
【図１】情報処理装置内におけるソフトウェア構成例を示すブロック図。
【図２】フィルタ処理コンポーネント１０２１〜１０２４のそれぞれの内部構成を示す図。
【図３】放送ストリームに対する一連の処理を実行する為の構成を示す図。
【図４】放送、１３９４ストリームに対する一連の処理を実行する為の構成を示す図。
【図５】使用リソース情報の構成例を示す図。
【図６】リソース管理部１０１が管理する情報の構成例を示す図。
【図７】リソース管理部１０１が行う処理のフローチャート。
【図８】３つのストリームに対する一連の処理を実行する為の構成を示す図。
【図９】使用リソース情報の構成例を示す図。
【図１０】リソース管理部１０１が管理する情報の構成例を示す図。
【図１１】リソース管理部１０１が行う処理のフローチャート。
【発明を実施するための形態】
【００１８】
以下、添付図面を参照し、本発明の好適な実施形態について説明する。なお、以下説明する実施形態は、本発明を具体的に実施した場合の一例を示すもので、特許請求の範囲に記載の構成の具体的な実施例の１つである。
【００１９】
［第１の実施形態］
先ず、本実施形態に係る情報処理装置内におけるソフトウェア構成例について、図１のブロック図を用いて説明する。リソース管理部１０１は、フィルタ処理コンポーネント（ソフトウェアコンポーネント）１０２１〜１０２４から収集した情報に基づいて、実行するストリーム処理に適したリソースの割り当てを行う。リソースの割り当てについては後述する。
【００２０】
フィルタ処理コンポーネント１０２１〜１０２４は何れも、入力されたデータを変換して出力するプログラム部品であり、適宜組み合わせて用いることで所望の処理を達成するものである。例えば、ストリームが入力された場合には、それぞれのフィルタ処理コンポーネントによって処理を分担することで、このストリームを処理することができる。
【００２１】
シーケンス管理部１０３は、アプリケーション１０４からストリーム処理の要求を受けると、リソース管理部１０１にそのストリーム処理に必要なリソースの割り当てを依頼する。そしてこの依頼によりリソース管理部１０１から割り当て可能（使用可能）である旨を受け取った場合には、シーケンス管理部１０３は、フィルタ処理コンポーネント１０２１〜１０２４のうち必要なフィルタ処理コンポーネントを選択する。そしてシーケンス管理部１０３は、選択したフィルタ処理コンポーネント間の実行シーケンスの管理を行い、ストリーム処理に適した（リソース管理部１０１によって割り当てられた）リソースを用いて、ストリーム処理を実行する。
【００２２】
アプリケーション１０４は、ユーザからの操作などにより実行対象として指定された指定ストリームの種類を特定し、特定した種類を含むストリーム処理要求をシーケンス管理部１０３に送信する。
【００２３】
アプリケーション１０４、シーケンス管理部１０３、リソース管理部１０１、フィルタ処理コンポーネント１０２１〜１０２４は何れも、コンピュータプログラムとして情報処理装置が有するメモリ若しくは情報処理装置が管理するメモリ内に格納されている。なお、それぞれは同じメモリに格納されても良いし、異なるメモリに格納しても良い。以下では便宜上、アプリケーション１０４、シーケンス管理部１０３、リソース管理部１０１、フィルタ処理コンポーネント１０２１〜１０２４のそれぞれを処理の主体として説明する。しかし実際には、そしてそれぞれのコンピュータプログラムは、情報処理装置が有するＣＰＵ１９９により実行される。
【００２４】
フィルタ処理コンポーネント１０２１〜１０２４のそれぞれの内部構成について、図２のブロック図を用いて説明する。図２に示すフィルタ処理コンポーネント２０１には、使用リソース情報保持部２０１１と個別フィルタ処理実行部２０１２とが備わっている。
【００２５】
使用リソース情報保持部２０１１は、フィルタ処理コンポーネント２０１が処理可能なストリームの種類を示す種類情報と、該ストリームを処理するために使用する情報処理装置のリソースを示すリソース情報と、を保持する。これらの情報についての詳細は後述する。個別フィルタ処理実行部２０１２は、フィルタ処理コンポーネント２０１に固有の処理を実行する。
【００２６】
次に、図１に示した構成の応用例として、放送ストリームを受信し、受信した放送ストリームを処理し、処理した結果を出力する、という一連の処理を実行する為の構成を、図３に示す。
【００２７】
図３において参照番号３０２１〜３０２９を付した何れも、フィルタ処理コンポーネントである。チューナ制御フィルタ３０２１は、放送の電波信号を入力し、この電波信号に対して復調などのデータ変換処理を行うことでトランスポートストリームを生成し、出力する。
【００２８】
デマルチプレクスフィルタ３０２２は、トランスポートストリームを入力し、所望のＰＩＤのトランスポートストリームパケットを分離して出力する。放送字幕デコードフィルタ３０２３は、字幕データを含むトランスポートストリームパケットを入力し、字幕データを抽出してデコードし、文字列データ及び表示位置、表示タイミングなどの表示制御情報を出力する。
【００２９】
Ｖｉｄｅｏデコードフィルタ３０２４は、ＭＰＥＧ等で圧縮された映像データを含むトランスポートストリームパケットを入力してデコード処理を施し、伸張された映像を出力する。
【００３０】
Ａｕｄｉｏデコードフィルタ３０２５は、ＭＰＥＧ等で圧縮された音声データを含むトランスポートストリームパケットを入力してデコード処理を施し、伸張された音声を出力する。
【００３１】
Ｇｒａｐｈｉｃｓ描画フィルタ３０２６は、文字列データ及び表示制御情報を入力し、字幕をラスタライズし、ビットマップグラフィクスとして出力する。画質制御フィルタ３０２７は、映像データを入力して画質を向上する処理など様々な画像加工処理を施し、加工された映像を出力する。音質制御フィルタ３０２８は、音声データを入力して音質を向上する処理など様々な音声加工処理を施し、加工された音声を出力する。映像ブレンドフィルタ３０２９は、ビットマップグラフィクスと映像データとを入力し、両者を重畳した映像を出力する。
【００３２】
参照番号３０２１〜３０２９を付した各フィルタ処理コンポーネントでのデータ変換処理と、破線矢印で示したコンポーネント間のデータ授受により、放送波を入力し、多段の変換処理を施し、最終的に映像、音声として出力するストリーム処理が実現できる。
【００３３】
また、図３において、シーケンス管理部３０３は、放送ストリーム再生アプリケーション３０４から放送ストリーム処理要求を受けると、リソース管理部１０１に対して、リソースの割り当てを依頼する。そしてこの依頼によりリソース管理部１０１から割り当て可能である旨を受け取った場合には、シーケンス管理部３０３は、各フィルタ処理コンポーネントに対して順番に処理依頼を出し、処理順序を制御する。これにより、割り当てられたリソースを使用して放送ストリーム処理を実現する。
【００３４】
放送ストリーム再生アプリケーション３０４は、ユーザからの指示により放送を受信する要求（放送ストリーム処理要求）をシーケンス管理部３０３に対して送信する。リソース管理部１０１は、各フィルタ処理コンポーネント３０２１〜３０２９から収集した情報に基づいて、実行するストリーム処理に適したリソースの割り当てを行う。
【００３５】
また、図１に示した構成の応用例として、放送、１３９４ストリームの２つストリームを受信し、受信した放送ストリームを処理し、処理した結果を出力する、という一連の処理を実行する為の構成を、図４に示す。
【００３６】
図４において参照番号４０２１〜４０３０を付した何れも、フィルタ処理コンポーネントである。特に参照番号４０２１〜４０２９を付したそれぞれのフィルタ処理コンポーネントは、参照番号３０２１〜３０２９を付したそれぞれのフィルタ処理コンポーネントと同様の動作を行う。
【００３７】
チューナ制御フィルタ４０２１は、チューニングと復調処理のフィルタ処理を行う。デマルチプレクスフィルタ４０２２は、トランスポートストリームからパケットを分離するフィルタ処理を行う。
【００３８】
放送字幕デコードフィルタ４０２３は、字幕のデコード処理のフィルタ処理を行う。Ｖｉｄｅｏデコードフィルタ４０２４は、映像信号のＭＰＥＧなどのデコードのフィルタ処理を行う。Ａｕｄｉｏデコードフィルタ４０２５は、音声信号のＭＰＥＧなどのデコードのフィルタ処理を行う。
【００３９】
Ｇｒａｐｈｉｃｓ描画フィルタ４０２６は、文字列等のデータをビットマップグラフィクスに変換するフィルタ処理を行う。画質制御フィルタ４０２７は、映像データに様々な画像加工処理を施すフィルタ処理を行う。音質制御フィルタ４０２８は、音声データに様々な音声加工処理を施すフィルタ処理を行う。
【００４０】
映像ブレンドフィルタ４０２９は、ビットマップグラフィクスと映像データを重畳するフィルタ処理を行う。１３９４入力フィルタ４０３０は、ＩＥＥＥ１３９４ポートからの入力を受信してトランスポートストリームを出力するフィルタ処理を行う。
【００４１】
図３，４に示した何れのフィルタ処理コンポーネントにも、図２に示した使用リソース情報保持部２０１１が備わっており、処理可能なストリームの種類を示す種類情報と、該ストリームを処理するために使用するリソースを示すリソース情報と、を保持する。
【００４２】
使用リソース情報保持部２０１１が保持している情報の構成例を説明する為に、図４に示したそれぞれのフィルタ処理コンポーネント（４０２１〜４０３０）が有する使用リソース情報保持部２０１１が保持する情報の構成例を例に取り、図５を用いて説明する。
【００４３】
図５において参照番号５０１〜５１０に示したそれぞれは、それぞれのフィルタ処理コンポーネント（４０２１〜４０３０）が保持している情報（使用リソース情報）であり、種類情報とリソース情報とから成る。
【００４４】
「該当コンポーネントのＩＤ」の欄には、対応するフィルタ処理コンポーネントに固有のＩＤが登録されている。例えば、使用リソース情報５０１のこの欄には、対応するフィルタ処理コンポーネントであるチューナ制御フィルタ４０２１に固有のＩＤである「１」が登録されている。ＩＤは数値に限定するものではない。
【００４５】
「対応するストリーム種別」の欄には、対応するフィルタ処理コンポーネントが処理可能なストリームの大まかな種類が登録されている。例えば、使用リソース情報５０２のこの欄には、デマルチプレクスフィルタ４０２２が処理可能なストリームの大まかな種類である「放送」と「１３９４ストリーム」とが登録されている。
【００４６】
「詳細種別」の欄には、対応するフィルタ処理コンポーネントが処理可能なストリームのより詳細な種別が登録されている。例えば、使用リソース情報５０３のこの欄には、放送字幕デコードフィルタ４０２３が処理可能なストリームのより詳細な種別として「放送」における「字幕あり」と「字幕なし」とが登録されている。
【００４７】
「詳細種別のストリーム処理に必要なりソース」の欄には、対応するフィルタ処理コンポーネントが処理を実行する際に用いるリソースを示す情報が、詳細種別毎に登録されている。例えば、使用リソース情報５０４において「放送」及び「ＭＰＥＧ２／ＨＤ」の組み合わせに対しては、使用するリソースを示す情報として「ＭＰＥＧ２デコーダ、メモリ５Ｍ」が登録されている。また、「放送」及び「ＭＰＥＧ２／ＳＤ」の組み合わせに対しては、使用するリソースを示す情報として「ＭＰＥＧ２デコーダ、メモリ２Ｍ」が登録されている。また、「放送」及び「Ｈ．２６４／ＨＤ」の組み合わせに対しては、使用するリソースを示す情報として「Ｈ．２６４デコーダ、メモリ１０Ｍ」が登録されている。また、「１３９４ストリーム」及び「ＭＰＥＧ２／ＨＤ」の組み合わせに対しては、使用するリソースを示す情報として「ＭＰＥＧ２デコーダ、メモリ５Ｍ」が登録されている。また、「１３９４ストリーム」及び「ＭＰＥＧ２／ＳＤ」の組み合わせに対しては、使用するリソースを示す情報として「ＭＰＥＧ２デコーダ、メモリ２Ｍ」が登録されている。
【００４８】
即ち、「詳細種別」の欄は、異なる使用リソース毎に設けられており、然るに「詳細種別のストリーム処理に必要なりソース」の欄の登録情報は、「詳細種別」の欄の登録情報毎に設定されている。
【００４９】
「詳細種別の確定に必要なリソース」の欄には、「詳細種別」を判定する為に必要なリソースを特定するための情報が、「対応するストリーム種別」毎に登録されている。例えば、使用リソース情報５０５において「放送」に対しては「メモリ０．５Ｍ」が登録されており、「１３９４ストリーム」に対しても「メモリ０．５」が登録されている。
【００５０】
次に、使用リソース情報５０１〜５０４を例に取り、使用リソース情報の構成例について説明する。
【００５１】
使用リソース情報５０１は上記の通り、チューナ制御フィルタ４０２１の使用リソース情報保持部２０１１が保持する情報であり、使用リソース情報５０１のＩＤとして「１」を保持している。チューナ制御フィルタ４０２１は放送ストリームを処理するために使用されるので、「対応するストリーム種別」の欄には「放送」のみが登録されている。また、リソースの異なる詳細種別は存在しないため、「詳細種別」の欄には「全て」が登録されている。更に、チューナ制御フィルタ４０２１は、放送ストリームを処理するためにはチューナハードウェア（ＨＷ）を使用するため、「詳細種別のストリーム処理に必要なリソース」の欄には「チューナＨＷ」が登録されている。さらに、「詳細種別の確定に必要なリソース」にも、同じく「チューナＨＷ」が登録されている。
【００５２】
使用リソース情報５０２は上記の通り、デマルチプレクスフィルタ４０２２の使用リソース情報保持部２０１１が保持する情報であり、使用リソース情報５０２のＩＤとして「２」を保持している。デマルチプレクスフィルタ４０２２は放送ストリームや１３９４ストリームを処理するために使用されるので、「対応するストリーム種別」の欄には「放送」、「１３９４ストリーム」の２つが登録されている。また、リソースの異なる詳細種別は存在しないため、「放送」、「１３９４ストリーム」のそれぞれに対する「詳細種別」の欄には「全て」が登録されている。更にデマルチプレクスフィルタ４０２２は、放送ストリームを処理するためにはデマルチプレクサ及びメモリ１Ｍを使用するため、「放送」に対応する「詳細種別のストリーム処理に必要なリソース」の欄には「デマルチプレクサ、メモリ１Ｍ」が登録されている。またデマルチプレクスフィルタ４０２２は、１３９４ストリームを処理するためにもデマルチプレクサ及びメモリ１Ｍを使用する。そのため、「１３９４ストリーム」に対応する「詳細種別のストリーム処理に必要なリソース」の欄にも「デマルチプレクサ、メモリ１Ｍ」が登録されている。さらに、「放送」、「１３９４ストリーム」のそれぞれに対する「詳細種別の確定に必要なリソース」にも、同じく「デマルチプレクサ、メモリ１Ｍ」が登録されている。
【００５３】
使用リソース情報５０３は上記の通り、放送字幕デコードフィルタ４０２３の使用リソース情報保持部２０１１が保持する情報であり、使用リソース情報５０３のＩＤとして「３」を保持している。放送字幕デコードフィルタ４０２３は放送ストリームを処理するために使用されるので、「対応するストリーム種別」の欄には「放送」のみが登録されている。また、リソースの異なる詳細種別は「字幕あり」と「字幕なし」である。「字幕あり」の場合、放送字幕デコードフィルタ４０２３は、放送ストリームを処理するためにはメモリ１Ｍを使用するため、「字幕あり」に対応する「詳細種別のストリーム処理に必要なリソース」の欄には「メモリ１Ｍ」が登録されている。また、「字幕なし」の場合、放送字幕デコードフィルタ４０２３は、放送ストリームを処理するためには何もリソースを使用しないため、「字幕なし」に対応する「詳細種別のストリーム処理に必要なリソース」の欄には「なし」が登録されている。さらに、「放送」に対する「詳細種別の確定に必要なリソース」は、「なし」が登録されている。
【００５４】
使用リソース情報５０４は上記の通り、Ｖｉｄｅｏデコードフィルタ４０２４の使用リソース情報保持部２０１１が保持する情報であり、使用リソース情報５０４のＩＤとして「４」を保持している。Ｖｉｄｅｏデコードフィルタ４０２４は放送ストリームや１３９４ストリームを処理するために使用されるので、「対応するストリーム種別」の欄には「放送」、「１３９４ストリーム」の２つが登録されている。また、リソースの異なる詳細種別は「放送」、「１３９４ストリーム」のそれぞれについて複数個存在する。「放送」の場合、「ＭＰＥＧ２／ＨＤ」、「ＭＰＥＧ２／ＳＤ」、「Ｈ．２６４／ＨＤ」がリソースの異なる詳細種別として存在し、「１３９４ストリーム」の場合、「ＭＰＥＧ２／ＨＤ」、「ＭＰＥＧ２／ＳＤ」がリソースの異なる詳細種別として存在する。「対応するストリーム種別」と「詳細種別」との組み合わせ毎に対応する、使用するリソースを示す情報は上記の通りである。例えばＶｉｄｅｏデコードフィルタ４０２４は、「ＭＰＥＧ２／ＨＤ」の放送ストリームを処理するためには、ＭＰＥＧ２デコーダとメモリ５Ｍとを使用する。また、Ｖｉｄｅｏデコードフィルタ４０２４は、「ＭＰＥＧ２／ＳＤ」の１３９４ストリームを処理するためには、ＭＰＥＧ２デコーダとメモリ２Ｍとを使用する。さらに、「放送」、「１３９４ストリーム」のそれぞれに対する「詳細種別の確定に必要なリソース」には上記の通り「メモリ１Ｍ」が登録されている。
【００５５】
以上説明した、使用リソース情報を構成する各情報については他の使用リソース情報についても同様であるため、説明は省略する。
【００５６】
各フィルタ処理コンポーネントは、図５に例示するような、使用リソース情報保持部２０１１が保持する情報を、プログラム実行中にリソース管理部１０１に登録する。例えば、プログラム実行開始後、ストリーム処理を実行する前の初期化段階で、この情報を登録する。
【００５７】
リソース管理部１０１は、各フィルタ処理コンポーネントからこのような情報を受け取ると、種類情報の組み合わせ毎に、該組み合わせに含まれる種類情報を保持するフィルタ処理コンポーネントが保持するリソース情報、を管理する。リソース管理部１０１が管理する情報の構成例を図６に示す。
【００５８】
欄６０１には、ストリームの大まかな種別が「放送」であり且つ、その詳細な種別が「詳細種別不明」である場合において、フィルタ処理コンポーネント４０２１〜４０３０が使用するリソースを示す情報が登録されている。
【００５９】
欄６０２には、ストリームの大まかな種別が「放送」であり且つ、その詳細な種別が「Ｈ．２６４／ＨＤ、字幕あり」である場合において、フィルタ処理コンポーネント４０２１〜４０３０が使用するリソースを示す情報が登録されている。
【００６０】
欄６０３から６０７についても同様に、大まかな種別が「放送」である場合に、更に詳細な種別の組み合わせ毎に、該組み合わせに含まれる種類情報を保持するフィルタ処理コンポーネントが保持するリソース情報が登録されている。
【００６１】
欄６０９から６１３についても同様に、大まかな種別が「１３９４ストリーム」である場合に、更に詳細な種別の組み合わせ毎に、該組み合わせに含まれる種類情報を保持するフィルタ処理コンポーネントが保持するリソース情報が登録されている。
【００６２】
欄６０８には、放送ストリーム処理における、詳細種別を確定するために必要なリソースを示す情報が登録されており、欄６１４には、１３９４ストリーム処理における、詳細種別を確定するために必要なリソースを示す情報が登録されている。
【００６３】
リソース管理部１０１は、図６に示すような、更に詳細な種別の組み合わせ毎に、該組み合わせに含まれる種類情報を保持するフィルタ処理コンポーネントが保持するリソース情報、を関連付けたテーブル情報を用いて、適切なリソースの割り当てを行う。
【００６４】
次に、リソース管理部１０１が、シーケンス管理部１０３からリソースの割り当て要求を受けた場合に行う処理について、同処理のフローチャートを示す図７を用いて説明する。なお、シーケンス管理部１０３からのリソースの割り当て要求には、ストリームの大まかな種別（ストリーム種別）と更に詳細な種別（詳細種別）とを指定した割り当て要求、ストリームの大まかな種別のみを指定した割り当て要求、の２つがある。リソース管理部１０１は何れの割り当て要求であっても対処する。更に詳細な種別が不明な場合は大まかな種別のみを指定し、更に詳細な種別が分かっている場合や、更に詳細な種別の確定処理後では、大まかな種別及び更に詳細な種別を指定することが想定される。
【００６５】
先ずステップＳ７０１ではリソース管理部１０１は、シーケンス管理部１０３から受けた割り当て要求に含まれている「ストリーム種別」が、本情報処理装置が対応可能な種別か否かを判断する。この判断の結果、対応可能な種別と判断した場合には、処理はステップＳ７０２に進み、対応可能な種別ではないと判断した場合には、処理はステップＳ７１２に進む。
【００６６】
図６を例に取ると、この場合、本情報処理装置が対応可能なストリーム種別は、放送ストリーム、１３９４ストリームとなる。然るに、シーケンス管理部１０３から受けた割り当て要求に含まれている「ストリーム種別」が「放送ストリーム」若しくは「１３９４ストリーム」の何れかであれば、処理はステップＳ７０３に進み、何れでもない場合は、処理はステップＳ７１２に進む。
【００６７】
ステップＳ７１２ではリソース管理部１０１は、リソース割り当てが不可能であった旨を示す情報を、シーケンス管理部１０３に対して送信する。
【００６８】
一方、ステップＳ７０２ではリソース管理部１０１は、シーケンス管理部１０３から受けた割り当て要求に「詳細種別」が含まれているか否かを判断する。この判断の結果、含まれていると判断した場合、処理はステップＳ７０３に進み、含まれていないと判断した場合、処理はステップＳ７０６に進む。
【００６９】
ステップＳ７０３ではリソース管理部１０１は、シーケンス管理部１０３から受けた割り当て要求に含まれている「詳細種別」を参照し、これに対応するリソースを特定する。そしてリソース管理部１０１は、この特定したリソースが、現在使用されていない未割り当てのリソースであるか否かを判断することで、ストリーム処理が可能かどうかを判定する。そしてこの判断の結果、この特定したリソースが未割り当てのリソースであると判断した場合には、処理はステップＳ７０４に進み、この特定したリソースが未割り当てのリソースではないと判断した場合、処理はステップＳ７１２に進む。
【００７０】
図６の場合を例に取ると、シーケンス管理部１０３から受けた割り当て要求に含まれている「詳細種別」が「ＭＰＥＧ２／ＨＤ、字幕なし」であったとする。この場合、対応するリソースは「チューナＨＷ、デマルチプレクサ、ＭＰＥＧ２デコーダ、ＡＡＣデコーダ、メモリ１４Ｍ」となり、これらのリソースが現在使用されていない未割り当てのリソースであるか否かを判断する。そして例えば、メモリの空きが１２Ｍしかなかった場合には、必要な１４Ｍのメモリに対して足りないので、リソース割り当て不可能と判断する。
【００７１】
ステップＳ７０４ではリソース管理部１０１は、シーケンス管理部１０３から受けた割り当て要求に含まれている「詳細種別」に対応するリソースを割り当て済みに設定する。そしてステップＳ７０５ではリソース管理部１０１は、シーケンス管理部１０３から受けた割り当て要求に含まれている「詳細種別」に対応するリソースが割り当て可能である旨をシーケンス管理部１０３に通知する。即ち、シーケンス管理部１０３から受けた割り当て要求に含まれている「詳細種別」に対応するリソースの使用許可をシーケンス管理部１０３に対して指示する。
【００７２】
一方、ステップＳ７０６ではリソース管理部１０１は、シーケンス管理部１０３から受けた割り当て要求に含まれている「ストリーム種別」における何れの詳細種別でも処理可能なリソースを割り当て可能か否かを判断する。この判断の結果、シーケンス管理部１０３から受けた割り当て要求に含まれている「ストリーム種別」における何れの詳細種別でも処理可能なリソースが割り当て可能であると判断した場合、処理はステップＳ７０７に進む。一方、シーケンス管理部１０３から受けた割り当て要求に含まれている「ストリーム種別」における何れの詳細種別でも処理可能なリソースが割り当て可能ではないと判断した場合、処理はステップＳ７０９に進む。
【００７３】
図６を例に取ると、シーケンス管理部１０３から受けた割り当て要求に含まれている「ストリーム種別」における「詳細種別不明」に対応するリソースが未割り当てで残っているか否かを判断する。この判断の結果、「詳細種別不明」に対応するリソースが未割り当てで残っている場合には処理はステップＳ７０７に進み、「詳細種別不明」に対応するリソースが未割り当てで残っていない場合には処理はステップＳ７０９に進む。
【００７４】
ステップＳ７０７ではリソース管理部１０１は、シーケンス管理部１０３から受けた割り当て要求に含まれている「ストリーム種別」における「詳細種別不明」に対応するリソースを割り当て済みに設定する。そしてステップＳ７０８ではリソース管理部１０１は、シーケンス管理部１０３から受けた割り当て要求に含まれている「ストリーム種別」における「詳細種別不明」に対応するリソースが割り当て可能である旨をシーケンス管理部１０３に通知する。即ち、シーケンス管理部１０３から受けた割り当て要求に含まれている「ストリーム種別」における「詳細種別不明」に対応するリソースの使用許可をシーケンス管理部１０３に対して指示する。
【００７５】
一方、ステップＳ７０９ではリソース管理部１０１は、シーケンス管理部１０３から受けた割り当て要求に含まれている「ストリーム種別」における「詳細種別確定処理」に対応するリソースが未割り当てで残っているか否かを判断する。この判断の結果、未割り当てで残っている場合には処理はステップＳ７１０に進み、未割り当てで残っていない場合には処理はステップＳ７１２に進む。
【００７６】
図６を例に取ると、シーケンス管理部１０３から受けた割り当て要求に含まれている「ストリーム種別」が「放送ストリーム」である場合、「詳細種別確定処理」に対応するリソースは「チューナＨＷ、デマルチプレクサ、メモリ２．５Ｍ」となる。然るにこの場合、「チューナＨＷ、デマルチプレクサ、メモリ２．５Ｍ」の何れも未割り当てで残っているか否かを判断する。この判断の結果、「チューナＨＷ、デマルチプレクサ、メモリ２．５Ｍ」が未割り当てで残っている場合には処理はステップＳ７１０に進み、未割り当てで残っていない場合には処理はステップＳ７１２に進む。
【００７７】
ステップＳ７１０ではリソース管理部１０１は、シーケンス管理部１０３から受けた割り当て要求に含まれている「ストリーム種別」における「詳細種別確定処理」に対応するリソースを割り当て済みに設定する。そしてステップＳ７１１ではリソース管理部１０１は、シーケンス管理部１０３から受けた割り当て要求に含まれている「ストリーム種別」における「詳細種別確定処理」に対応するリソースが割り当て可能である旨をシーケンス管理部１０３に通知する。即ち、シーケンス管理部１０３から受けた割り当て要求に含まれている「ストリーム種別」における「詳細種別確定処理」に対応するリソースの使用許可をシーケンス管理部１０３に対して指示する。
【００７８】
以上説明した各処理により、リソース管理部１０１は、シーケンス管理部１０３からの割り当て要求に応じて、空きリソースに応じたリソース割り当てを行うことができる。特に、詳細種別が不明の場合に、そのストリームの如何なる詳細種別でも処理可能なリソースが空いている時には、それを割り当て、空いていない場合には、詳細種別確定のためのリソースを割り当てることを特徴とする。
【００７９】
詳細種別確定のためのリソース割り当てを行ったことをリソース割り当て要求の応答として受け取ったシーケンス管理部１０３は、配下のフィルタ処理コンポーネントを使用して、詳細種別確定のストリーム処理を実行する。その結果として、詳細種別が判明した時に、再度リソース管理部１０１に対して、詳細種別を指定したリソース割り当て要求を実行する。このリソース割り当てが成功した場合には、そのストリーム処理が実行可能となる。従来は、詳細種別不明の場合のリソース割り当てに失敗した場合には、そのストリームの処理を諦めていたが、本実施形態では、必要なリソースを確定し、そのストリーム処理を実行できることになる。
【００８０】
また、リソース管理部１０１が適切なリソース割り当てを行うために必要なリソース情報は、フィルタ処理コンポーンネントが保持し、常設部品であるリソース管理部１０１に登録することにより実行される。よって、システムのリソースを最適に活用する機能を維持しつつ、常設部品であるリソース管理部１０１の変更をすることなく、ストリーム関連製品の機種毎の機能の増減を容易に実現でき、ソフトウェア規模の削減、開発効率の向上が可能となる。
【００８１】
［第２の実施形態］
以下では、フィルタ処理コンポーネントが動的に追加、変更され、新規ストリームに対応できるようになる場合の実施形態について説明する。以下では、第１の実施形態と異なる点のみについて説明する。
【００８２】
本実施形態に係る情報処理装置内におけるソフトウェア構成例、各フィルタ処理コンポーネントの内部構成、については何れも第１の実施形態と同様で、図１，２に示したとおりである。
【００８３】
本実施形態では、第１の実施形態で説明した２つのストリームに加えて、新規にＩＰストリーミング受信に対応する。放送ストリーム、１３９４ストリームの２つストリームに加えてＩＰストリーミングを受信し、受信したストリームを処理し、処理した結果を出力する、という一連の処理を実行する為の構成を、図８に示す。
【００８４】
図８において参照番号８０２１〜８０３１を付した何れも、フィルタ処理コンポーネントである。なお、以下の説明では、フィルタ処理コンポーネントの追加、変更前では何れのフィルタ処理コンポーネントも、図５に示したような情報群を保持していたものとする。ＩＰ入力フィルタ８０３１は、ＩＰ網からの所望のパケット受信し、トランスポートストリームを出力するフィルタ処理を行う。
【００８５】
図５に示したフィルタ処理コンポーネントのうち、追加、変更されたフィルタ処理コンポーネントが有する使用リソース情報保持部２０１１が保持する情報の構成例を図９に示す。図９において参照番号９０１〜９０７に示したそれぞれは、フィルタ処理コンポーネント（８０２２，８０２４，８０２５，８０２７〜８０２９，８０３１）が保持している情報（使用リソース情報）であり、種類情報とリソース情報とから成る。「対応するストリーム種別」の欄には、ＩＰストリーム受信への対応のため、「ＩＰストリーミング」が追加されている。
【００８６】
図９に示した情報を持つフィルタ処理コンポーネント群は、本情報処理装置が新規ストリームに対応するために、新規のフィルタ処理コンポーネントとして、この情報処理装置にダウンロードされる。ダウンロードの方法についてはここでの本質ではないため、詳細は割愛する。例えば、放送電波によるダウンロードや、リムーバブルメモリによるダウンロードなどの方法が考えられる。
【００８７】
リソース管理部１０１は、新規に追加、変更されたフィルタ処理コンポーネントから使用リソース情報を受ける。そして、種類情報の組み合わせ毎に、該組み合わせに含まれる種類情報を保持するフィルタ処理コンポーネントが保持するリソース情報、を管理する。リソース管理部１０１が管理する情報の構成例を図１０に示す。
【００８８】
図１０には、ストリームの大まかな種別が「ＩＰストリーミング」で、その詳細な種別が「詳細種別不明」、「Ｈ．２６４／ＨＤ」、「ＭＰＥＧ２／ＨＤ」、「詳細種別確定処理」のそれぞれである場合に使用するリソースを示す情報が登録されている。
【００８９】
新規ストリームへの対応の為に新規フィルタ処理コンポーネントがダウンロードされた場合、リソース管理部１０１が図１０に示すようなテーブル情報を作成する（詳細種別パターン、リソースパターンを更新する）為に行う処理を図１１を用いて説明する。なお、リソース管理部１０１は、既に図６に示したような、放送ストリーム、１３９４ストリームのそれぞれに対するテーブル情報は既に保持しているものとする。
【００９０】
先ずステップＳ１１０１ではリソース管理部１０１は、新規にダウンロードされたフィルタ処理コンポーネントの有無を判断し、新規にダウンロードされたフィルタ処理コンポーネントがある場合には処理はステップＳ１１０２に進む。ステップＳ１１０２ではリソース管理部１０１は、新規にダウンロードされたフィルタ処理コンポーネントを選択フィルタ処理コンポーネントとして選択する。
【００９１】
ステップＳ１１０３でリソース管理部１０１は、選択フィルタ処理コンポーネントから「対応するストリーム種別」、「詳細種別」、「詳細種別のストリーム処理に必要なリソース」、「詳細種別の確定に必要なリソース」、のそれぞれの情報を取得する。
【００９２】
ステップＳ１１０４ではリソース管理部１０１は、選択フィルタ処理コンポーネントから取得した「対応するストリーム種別」の情報のうち未選択の情報を１つ選択する。選択フィルタ処理コンポーネントには複数の「対応するストリーム種別」の情報が格納されている場合もあるので、本ステップではそのうち未選択の情報を１つ選択する。
【００９３】
ステップＳ１１０５ではリソース管理部１０１は、ステップＳ１１０４で選択した情報が新規のストリーム種別を示すものであるのか否かを判断する。この判断の結果、新規のストリーム種別を示すものである場合（ここではＩＰストリーミング）、ステップＳ１１０７に進み、新規のストリーム種別を示すものではない場合（ここでは放送ストリームや１３９４ストリーム）には、ステップＳ１１１１に進む。
【００９４】
ステップＳ１１０７ではリソース管理部１０１は、選択フィルタ処理コンポーネントが、ステップＳ１１０４で選択した情報に複数の「詳細種別」の情報を関連付けて保持しているか否かを判断する。図９の場合、Ｖｉｄｅｏデコードフィルタ８０２４を選択フィルタ処理コンポーネントとして選択し、ステップＳ１１０４でＩＰストリーミングを示す情報を選択した場合、この情報にはＨ．２６４／ＨＤとＭＰＥＧ２／ＨＤが関連付けられている。このように、ステップＳ１１０４で選択した情報に複数の「詳細種別」の情報を関連付けて保持している場合には処理はステップＳ１１０８に進み、保持していない場合には処理はステップＳ１１０９に進む。
【００９５】
ステップＳ１１０８ではリソース管理部１０１は、これから作成するテーブル情報における、「詳細種別」の情報（種別パターン）を登録するための欄、を図１０に示す如く分割し、複数の「詳細種別」の情報のそれぞれに対して１つの欄を設ける。図１０では、Ｈ．２６４／ＨＤとＭＰＥＧ２／ＨＤのそれぞれに対して１つの欄を「詳細種別パターン」の欄として設けている。
【００９６】
ステップＳ１１０９ではリソース管理部１０１は、「詳細種別」の情報に関連付けて選択フィルタ処理コンポーネントが保持している「詳細種別のストリーム処理に必要なリソース」の情報を、上記テーブル情報に図１０に示す如く登録する。「詳細種別」の情報に関連付けて選択フィルタ処理コンポーネントが保持している「詳細種別のストリーム処理に必要なリソース」の情報は、「詳細種別」の情報について設けた欄に対応する欄に登録する。
【００９７】
ステップＳ１１１０ではリソース管理部１０１は、「詳細種別の確定に必要なリソース」の情報を、テーブル情報において該当する欄（詳細種別パターンにおいて詳細種別確定処理の欄）に登録する。
【００９８】
ステップＳ１１１１ではリソース管理部１０１は、ステップＳ１１０４で選択フィルタ処理コンポーネントから取得した全ての「対応するストリーム種別」の情報を選択したか否かを判断する。この判断の結果、全ての情報を選択した場合には処理はステップＳ１１０１に戻り、未だ未選択の情報が残っている場合には処理はステップＳ１１１２に進む。
【００９９】
ステップＳ１１１２ではリソース管理部１０１は、選択フィルタ処理コンポーネントから取得した「対応するストリーム種別」の情報のうち未選択の情報を１つ選択する。そして処理をステップＳ１１０５に進め、以降の処理を行う。
【０１００】
以下では、図１１に示したフローチャートに従った処理を、図９に示した構成を有する情報を保持するフィルタ処理コンポーネントが追加または更新された場合の具体例を用いて説明する。
【０１０１】
まず、使用リソース情報９０１を有するデマルチプレクスフィルタ８０２２がダウンロードされたとし、デマルチプレクスフィルタ８０２２を選択フィルタ処理コンポーネントとして選択する。そして次に、このデマルチプレクスフィルタ８０２２から未選択の情報として「放送ストリーム」を選択する。しかし、「放送ストリーム」は新規のストリーム種別ではないため、デマルチプレクスフィルタ８０２２から未選択の情報として次に「１３９４ストリーム」を選択する。この「１３９４ストリーム」についても新規のストリーム種別ではないため、デマルチプレクスフィルタ８０２２から未選択の情報として次に「ＩＰストリーミング」を選択する。この「ＩＰストリーミング」は新規のストリーム種別であるため、以下ではこのＩＰストリーミングについて図１０に示すようなテーブル情報を作成する。この時、図１０の詳細種別不明の行１００１と、詳細種別確定処理の行１００４が同時に作成される。
【０１０２】
次に、デマルチプレクスフィルタ８０２２は、「ＩＰストリーミング」については、複数の「詳細種別」の情報を関連付けて保持していないため、「ＩＰストリーミング」については「詳細種別パターン」の欄の分割は行わない。
【０１０３】
そして、使用リソース情報９０１における「詳細種別のストリーム処理に必要なリソース」の情報である「デマルチプレクサ及びメモリ１Ｍ」を行１００１のリソースパターンの欄に登録する。また、「詳細種別の確定に必要なリソース」の情報である「デマルチプレクサ及びメモリ１Ｍ」を行１００４のリソースパターンの欄に登録する。
【０１０４】
次に、使用リソース情報９０２を有するＶｉｄｅｏデコードフィルタ８０２４を選択フィルタ処理コンポーネントとして選択する。そして次に、このＶｉｄｅｏデコードフィルタ８０２４から未選択の情報として「放送ストリーム」を選択するが、「放送ストリーム」は新規のストリーム種別ではない。そのため、Ｖｉｄｅｏデコードフィルタ８０２４から未選択の情報として次に「１３９４ストリーム」を選択する。この「１３９４ストリーム」についても新規のストリーム種別ではないため、Ｖｉｄｅｏデコードフィルタ８０２４から未選択の情報として次に「ＩＰストリーミング」を選択する。この「ＩＰストリーミング」は新規のストリーム種別であるため、以下ではこの「ＩＰストリーミング」について図１０に示すようなテーブル情報に情報を追加登録する。
【０１０５】
Ｖｉｄｅｏデコードフィルタ８０２４は、「ＩＰストリーミング」については、複数の「詳細種別」の情報（Ｈ．２６４／ＨＤとＭＰＥＧ２／ＨＤ）を関連付けて保持しているため、「ＩＰストリーミング」については「詳細種別」の欄は２つとする。
【０１０６】
Ｈ．２６４／ＨＤに対応する欄（行１００２におけるリソースパターンの欄）にはＨ．２６４デコーダとメモリ１０Ｍを登録し、ＭＰＥＧ２／ＨＤに対応する欄（行１００３におけるリソースパターンの欄）にはＭＰＥＧ２デコーダとメモリ５Ｍを登録する。既に個別のパターンが存在している場合には、それぞれ分割することになる。
【０１０７】
そして、行１００１における詳細種別不明の欄に対応するリソースパターンの欄には、行１００２から行１００４のそれぞれにおけるリソースパターンの欄に登録されているリソースの和集合を登録する。メモリ量についてはそれぞれの欄に登録されているメモリ量のうち最大のメモリ量を登録する。また、行１００４における詳細種別確定処理の欄に対応するリソースパターンの欄には１Ｍのメモリを追加する。同様に、他のフィルタコンポーネントのリソース情報を追加すると、図１０に示したリソース情報を得ることができる。
【０１０８】
以上の説明により、本実施形態によれば、リソース管理部が適切なリソース割り当てを行うために必要なリソース情報は、フィルタ処理コンポーンネントが保持し、動的に登録することができる。よって、システムのリソースを最適に活用する機能を維持しつつ、常設部品であるリソース管理部の変更をすることなく、ストリーム処理機能の追加を容易に実現でき、ソフトウェア規模の削減、開発効率の向上が可能となる。
【０１０９】
システムの機能増減に応じて入れ替え対象となりうるコンポーネントが、詳細種別毎のリソースと詳細種別確定のためのリソース情報とを保持し、常設部品であるリソース管理部に登録することにより、リソース情報を一元管理できる。よって、システムのリソースを最適に活用する機能を維持しつつ、常設部品であるリソース管理部の変更をすることなく、ストリーム関連製品の機種毎の機能の増減を容易に実現でき、ソフトウェア規模の削減、開発効率の向上が可能となる。
【０１１０】
（その他の実施例）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
0005744605.tif 000002
【図２】
0005744605.tif 000003
【図３】
0005744605.tif 000004
【図４】
0005744605.tif 000005
【図５】
0005744605.tif 000006
【図６】
0005744605.tif 000007
【図７】
0005744605.tif 000008
【図８】
0005744605.tif 000009
【図９】
0005744605.tif 000010
【図１０】
0005744605.tif 000011
【図１１】
0005744605.tif 000012