(57)【要約】【課題】複数のチェーンを用いてマルチメディア処理を行う場合に、リソースを有効活用すること。【解決手段】本発明にかかるマルチメディア処理システムは、複数のコンポーネントと、複数のコンポーネントの組合せである第１のチェーンを定義した第１の定義情報と、第２のチェーンを定義した第２の定義情報と、第１のチェーンと第２のチェーンとの間でリソースを共有すべきコンポーネントを定義した第１の共有情報と、を格納する記憶部と、記憶部に格納された複数のコンポーネントにリソースを割り当ててチェーンを形成することにより所定のマルチメディア処理を行う制御部と、を備え、制御部は、第１のチェーンの形成後に第２のチェーンの形成指示を受け付けた場合に、第２の定義情報に定義されたコンポーネントの内、第１の共有情報に定義されたコンポーネントに割り当てられたリソースを第１のチェーンと共有して第２のチェーンを形成する。【選択図】図１
2012027586.tif 000002
【特許請求の範囲】
【請求項１】
記憶部と制御部とを備えるマルチメディア処理システムであって、
前記記憶部は、
所定のマルチメディア処理を行うための個別の機能に関するプログラムである複数のコンポーネントと、
第１のマルチメディア処理を行うための前記コンポーネントの組合せである第１のチェーンを定義した第１の定義情報と、
前記第１のチェーンと一部のコンポーネントが重複し、第２のマルチメディア処理を行うための前記コンポーネントの組合せである第２のチェーンを定義した第２の定義情報と、
前記第１のチェーンと前記第２のチェーンとの間でリソースを共有すべきコンポーネントを定義した第１の共有情報と、
を格納し、
外部からの指示に応じて、前記記憶部に格納された前記複数のコンポーネントにリソースを割り当ててチェーンを形成することにより前記所定のマルチメディア処理を行う制御部と、を備え、
前記制御部は、
前記第１のチェーンの形成後に前記第２のチェーンの指定を含む形成指示を受け付けた場合に、当該指定された第２のチェーンの定義を含む前記第２の定義情報及び前記第１の共有情報を前記記憶部から取得し、
前記第２の定義情報に定義されたコンポーネントの内、前記第１の共有情報に定義されたコンポーネント以外のコンポーネントを前記記憶部から読み出してリソースを割り当て、前記第１の共有情報に定義されたコンポーネントについて前記第１のチェーンの形成時に割り当てられたリソースを前記第１のチェーンと共有して前記第２のチェーンを形成することを特徴とするマルチメディア処理システム。
【請求項２】
前記記憶部は、
前記第１のチェーンと、前記第２のチェーンと、前記第１の共有情報との対応付けを定義した第１のコンプレックス情報と、
定義された各チェーンについて、形成済みであるか否かを管理するチェーン形成管理情報と、をさらに格納し、
前記制御部は、
前記第１のチェーンの形成後に、当該第１のチェーンを形成済みとして前記チェーン形成管理情報を更新し、
前記第１のコンプレックス情報及び前記第２のチェーンの指定を含む形成指示を受け付けた場合に、当該指定された第１のコンプレックス情報を前記記憶部から取得し、前記記憶部に格納された前記チェーン形成管理情報を参照し、当該指定された第１のコンプレックス情報に定義された前記第１のチェーンが形成済みであるか否かを判定し、
当該第１のチェーンが形成済みであると判定した場合に、前記第２の定義情報に定義されたコンポーネントの内、前記第１の共有情報に定義されたコンポーネントについて前記第１のチェーンの形成時に割り当てられたリソースを前記第１のチェーンと共有して前記第２のチェーンを形成することを特徴とする請求項１に記載のマルチメディア処理システム。
【請求項３】
前記記憶部は、
チェーンに定義されているコンポーネントごとの動作を制御するための複数の動作モードと、
定義された各チェーンと、当該チェーンとコンポーネントのリソースを共有する他のチェーンとの組合せについて、当該他のチェーンにおける前記所定のマルチメディア処理が行われているか否かを示す走行状態ごとに前記複数の動作モードのいずれかが対応付けられたチェーン動作モード定義情報と、
をさらに格納し、
前記制御部は、
各チェーンについて、チェーンが形成後に、前記所定のマルチメディア処理が行われていない旨を当該チェーンの前記走行状態として前記記憶部に登録し、
当該チェーンにおける前記所定のマルチメディア処理が開始された場合に、前記所定のマルチメディア処理が行われている旨を当該チェーンの前記走行状態として前記記憶部を更新し、
前記第１のコンプレックス情報に基づく前記第１のチェーン及び前記第２のチェーンの形成後に、前記第２のチェーンの制御指示を受け付けた場合に、前記記憶部に格納された前記チェーン動作モード定義情報を参照し、前記形成済みの第１のチェーンにおける前記走行状態を特定し、
当該特定された走行状態に基づき前記制御指示の対象である第２のチェーンにおける前記動作モードを選択し、
当該選択された動作モードに基づき前記第２の定義情報に定義されたコンポーネントごとの制御を行うことを特徴とする請求項２に記載のマルチメディア処理システム。
【請求項４】
前記複数の動作モードには、
チェーンに定義されている全てのコンポーネントについて制御を行うための第１の動作モードと、
チェーンに定義されている全てのコンポーネントの内、リソースが共有されているコンポーネント以外のコンポーネントについて制御を行うための第２の動作モードと、
が含まれ、
前記制御部は、
前記特定された走行状態が、前記第１のチェーンにおいて前記第１のマルチメディア処理が行われていないことを示す場合に、前記第１の動作モードを選択し、
前記特定された走行状態が、前記第１のチェーンにおいて前記第１のマルチメディア処理が行われていることを示す場合に、前記第２の動作モードを選択することを特徴とする請求項３に記載のマルチメディア処理システム。
【請求項５】
前記記憶部は、第２のコンプレックス情報をさらに格納し、
前記第２のコンプレックス情報には、前記第１のコンプレックス情報に定義された前記第１のチェーンとは独立して形成可能に前記第２のチェーンが定義され、
前記制御部は、
前記第１のチェーンの形成後に前記第２のコンプレックス情報の指定を含む前記第２のチェーンの形成指示を受け付けた場合に、当該指定された第２のコンプレックス情報を前記記憶部から取得し、前記記憶部に格納された前記チェーン形成管理情報を参照し、前記第２のチェーンが形成可能か否かを判定し、
当該第２のチェーンが形成可能と判定した場合に、前記第１のチェーンとはリソースを共有させずに当該第２のチェーンを形成することを特徴とする請求項２乃至４のいずれか１項に記載のマルチメディア処理システム。
【請求項６】
前記制御部は、前記第１のチェーン及び前記第２のチェーンの形成後に、前記第１のチェーンの解放指示を受け付けた場合に、前記第１の定義情報に定義されたコンポーネントの内、前記第１の共有情報に定義されたコンポーネント以外のコンポーネントに割り当てられたリソースを解放して前記第１のチェーンを未形成とすることを特徴とする請求項１乃至５のいずれか１項に記載のマルチメディア処理システム。
【請求項７】
前記第１の共有情報は、前記第１の定義情報と前記第２の定義情報との間で重複して定義されているコンポーネントの内、一部が定義され、
前記制御部は、前記第１のチェーンの形成後に前記第２のチェーンの形成指示を受け付けた場合に、前記第１の定義情報と前記第２の定義情報との間で重複して定義されているコンポーネントの内、前記第１の共有情報に定義されていないコンポーネントと、前記第２の定義情報に定義されたコンポーネントの内、前記重複して定義されているコンポーネント以外のコンポーネントとを前記記憶部から読み出して前記リソースを割り当てて、前記第１の共有情報に定義されたコンポーネントについて前記第１のチェーンの形成時に割り当てられたリソースを前記第１のチェーンと共有して前記第２のチェーンを形成することを特徴とする請求項１乃至６のいずれか１項に記載のマルチメディア処理システム。
【請求項８】
前記記憶部は、前記第１の定義情報と前記第２の定義情報との間で複数のコンポーネントが重複して定義されている場合に、前記第１のチェーンと前記第２のチェーンとの間でリソースを共有すべきコンポーネント、かつ、前記第１の共有情報と異なるコンポーネントを定義した第２の共有情報をさらに格納し、
前記第１の共有情報は、前記第１のチェーンの形成後に前記第２のチェーンを形成する際に共有すべきコンポネントが定義され、
前記第２の共有情報は、前記第２のチェーンの形成後に前記第１のチェーンを形成する際に共有すべきコンポネントが定義され、
前記制御部は、
前記第１のチェーンと前記第２のチェーンとを形成する場合に、当該第１のチェーンと当該第２のチェーンとの形成順序に応じて、前記第１の共有コンポーネント又は前記第２の共有コンポーネントのいずれかを選択し、
当該選択された共有コンポーネントに割り当てられたリソースを当該第１のチェーンと当該第２のチェーンとの間で共有して、形成順序が後のチェーンを形成することを特徴とする請求項１乃至７のいずれか１項に記載のマルチメディア処理システム。
【請求項９】
所定のマルチメディア処理を行うための個別の機能に関するプログラムである複数のコンポーネントと、
第１のマルチメディア処理を行うための前記コンポーネントの組合せである第１のチェーンを定義した第１の定義情報と、
前記第１のチェーンと一部のコンポーネントが重複し、第２のマルチメディア処理を行うための前記コンポーネントの組合せである第２のチェーンを定義した第２の定義情報と、
前記第１のチェーンと前記第２のチェーンとの間でリソースを共有すべきコンポーネントを定義した第１の共有情報と、
を格納する記憶部と、
外部からの指示に応じて、前記記憶部に格納された前記複数のコンポーネントにリソースを割り当ててチェーンを形成することにより前記所定のマルチメディア処理を行う制御部と、
を備えたコンピュータを制御するためのマルチメディア処理方法であって、
前記制御部において、
前記第１のチェーンの指定を含む形成指示を受け付けた場合に、当該指定された第１のチェーンの定義を含む前記第１の定義情報を前記記憶部から取得し、
前記第１の定義情報に定義されたコンポーネントを前記記憶部から読み出してリソースを割り当てて前記第１のチェーンを形成し、
前記第１のチェーンの形成後に前記第２のチェーンの指定を含む形成指示を受け付けた場合に、当該指定された第２のチェーンの定義を含む前記第２の定義情報及び前記第１の共有情報を前記記憶部から取得し、
前記第２の定義情報に定義されたコンポーネントの内、前記第１の共有情報に定義されたコンポーネント以外のコンポーネントを前記記憶部から読み出してリソースを割り当て、
前記第２の定義情報に定義されたコンポーネントの内、前記第１の共有情報に定義されたコンポーネントに前記第１のチェーンの形成時に割り当てられたリソースを前記第１のチェーンと共有して前記第２のチェーンを形成する
ことを特徴とするマルチメディア処理方法。
【請求項１０】
前記記憶部は、
前記第１のチェーンと、前記第２のチェーンと、前記第１の共有情報との対応付けを定義した第１のコンプレックス情報と、
定義された各チェーンについて、形成済みであるか否かを管理するチェーン形成管理情報と、をさらに格納し、
前記制御部において、
前記第１のチェーンの形成後に、当該第１のチェーンを形成済みとして前記チェーン形成管理情報を更新し、
前記第１のコンプレックス情報及び前記第２のチェーンの指定を含む形成指示を受け付けた場合に、当該指定された第１のコンプレックス情報を前記記憶部から取得し、前記記憶部に格納された前記チェーン形成管理情報を参照し、当該指定された第１のコンプレックス情報に定義された前記第１のチェーンが形成済みであるか否かを判定し、
当該第１のチェーンが形成済みであると判定した場合に、前記第２の定義情報に定義されたコンポーネントの内、前記第１の共有情報に定義されたコンポーネントについて前記第１のチェーンの形成時に割り当てられたリソースを前記第１のチェーンと共有して前記第２のチェーンを形成することを特徴とする請求項９に記載のマルチメディア処理方法。
【請求項１１】
前記記憶部は、
チェーンに定義されているコンポーネントごとの動作を制御するための複数の動作モードと、
定義された各チェーンと、当該チェーンとコンポーネントのリソースを共有する他のチェーンとの組合せについて、当該他のチェーンにおける前記所定のマルチメディア処理が行われているか否かを示す走行状態ごとに前記複数の動作モードのいずれかが対応付けられたチェーン動作モード定義情報と、
をさらに格納し、
前記制御部において、
各チェーンについて、チェーンが形成後に、前記所定のマルチメディア処理が行われていない旨を当該チェーンの前記走行状態として前記記憶部に登録し、
当該チェーンにおける前記所定のマルチメディア処理が開始された場合に、前記所定のマルチメディア処理が行われている旨を当該チェーンの前記走行状態として前記記憶部を更新し、
前記第１のコンプレックス情報に基づく前記第１のチェーン及び前記第２のチェーンの形成後に、前記第２のチェーンの制御指示を受け付けた場合に、前記記憶部に格納された前記チェーン動作モード定義情報を参照し、前記形成済みの第１のチェーンにおける前記走行状態を特定し、
当該特定された走行状態に基づき前記制御指示の対象である第２のチェーンにおける前記動作モードを選択し、
当該選択された動作モードに基づき前記第２の定義情報に定義されたコンポーネントごとの制御を行うことを特徴とする請求項１０に記載のマルチメディア処理方法。
【請求項１２】
前記複数の動作モードには、
チェーンに定義されている全てのコンポーネントについて制御を行うための第１の動作モードと、
チェーンに定義されている全てのコンポーネントの内、リソースが共有されているコンポーネント以外のコンポーネントについて制御を行うための第２の動作モードと、
が含まれ、
前記制御部において、
前記特定された走行状態が、前記第１のチェーンにおいて前記第１のマルチメディア処理が行われていないことを示す場合に、前記第１の動作モードを選択し、
前記特定された走行状態が、前記第１のチェーンにおいて前記第１のマルチメディア処理が行われていることを示す場合に、前記第２の動作モードを選択することを特徴とする請求項１１に記載のマルチメディア処理方法。
【請求項１３】
前記記憶部は、第２のコンプレックス情報をさらに格納し、
前記第２のコンプレックス情報には、前記第１のコンプレックス情報に定義された前記第１のチェーンとは独立して形成可能に前記第２のチェーンが定義され、
前記制御部において、
前記第１のチェーンの形成後に前記第２のコンプレックス情報の指定を含む前記第２のチェーンの形成指示を受け付けた場合に、当該指定された第２のコンプレックス情報を前記記憶部から取得し、前記記憶部に格納された前記チェーン形成管理情報を参照し、前記第２のチェーンが形成可能か否かを判定し、
当該第２のチェーンが形成可能と判定した場合に、前記第１のチェーンとはリソースを共有させずに当該第２のチェーンを形成することを特徴とする請求項１０乃至１２のいずれか１項に記載のマルチメディア処理方法。
【請求項１４】
前記制御部において、
前記第１のチェーン及び前記第２のチェーンの形成後に、前記第１のチェーンの解放指示を受け付けた場合に、前記第１の定義情報に定義されたコンポーネントの内、前記第１の共有情報に定義されたコンポーネント以外のコンポーネントに割り当てられたリソースを解放して前記第１のチェーンを未形成とすることを特徴とする請求項９乃至１３のいずれか１項に記載のマルチメディア処理方法。
【請求項１５】
前記第１の共有情報は、前記第１の定義情報と前記第２の定義情報との間で重複して定義されているコンポーネントの内、一部が定義され、
前記制御部において、
前記第１のチェーンの形成後に前記第２のチェーンの形成指示を受け付けた場合に、前記第１の定義情報と前記第２の定義情報との間で重複して定義されているコンポーネントの内、前記第１の共有情報に定義されていないコンポーネントと、前記第２の定義情報に定義されたコンポーネントの内、前記重複して定義されているコンポーネント以外のコンポーネントとを前記記憶部から読み出して前記リソースを割り当て、
前記第１の共有情報に定義されたコンポーネントについて前記第１のチェーンの形成時に割り当てられたリソースを前記第１のチェーンと共有して前記第２のチェーンを形成することを特徴とする請求項９乃至１４のいずれか１項に記載のマルチメディア処理方法。
【請求項１６】
前記記憶部は、前記第１の定義情報と前記第２の定義情報との間で複数のコンポーネントが重複して定義されている場合に、前記第１のチェーンと前記第２のチェーンとの間でリソースを共有すべきコンポーネント、かつ、前記第１の共有情報と異なるコンポーネントを定義した第２の共有情報をさらに格納し、
前記第１の共有情報は、前記第１のチェーンの形成後に前記第２のチェーンを形成する際に共有すべきコンポネントが定義され、
前記第２の共有情報は、前記第２のチェーンの形成後に前記第１のチェーンを形成する際に共有すべきコンポネントが定義され、
前記制御部において、
前記第１のチェーンと前記第２のチェーンとを形成する場合に、当該第１のチェーンと当該第２のチェーンとの形成順序に応じて、前記第１の共有コンポーネント又は前記第２の共有コンポーネントのいずれかを選択し、
当該選択された共有コンポーネントに割り当てられたリソースを当該第１のチェーンと当該第２のチェーンとの間で共有して、形成順序が後のチェーンを形成することを特徴とする請求項９乃至１５のいずれか１項に記載のマルチメディア処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マルチメディア処理システム及び方法に関し、特に、マルチメディア処理を行うための単位機能的なマルチメディア処理を行うメディアコンポーネント（以下、ＭＣと呼ぶ。）の構成管理をするためのマルチメディア処理システム及び方法に関する。
【背景技術】
【０００２】
特許文献１には、マルチメディア機能を実現するために必要なＭＣの構成情報をアプリケーションから分離し、プラットフォーム側で管理する技術が開示されている。特許文献１により、同じマルチメディア機能をシステムごとに最適なＭＣの構成で実装できるようにすることができる。また、特許文献１により、アプリケーションの移植性を向上することができる。
【０００３】
図３５は、特許文献１にかかるデータ処理システム９００の構成を示すブロック図である。データ処理システム９００は、ＣＰＵ（Central Processing Unit）（不図示）、主記憶（不図示）と、外部の記憶装置９３と、入力装置９５と、出力装置９６とを備える汎用的なコンピュータシステムである。データ処理システム９００は、ＣＰＵがプログラムであるアプリケーション９１と、構成管理部９２と、チェーンコントローラ９４０と、ＭＣ９４１乃至９４３とを読み込み、実行することで、マルチメディア処理機能を実現する。
【０００４】
ここで、特許文献１では、ＭＣ９４１乃至９４３というＭＣの一連の組合せ及びそれらを統合管理するチェーンコントローラ９４０により特定のマルチメディア処理機能を実現するものをチェーン９４と定義している。その上で、記憶装置９３は、データ処理システム９００で実行可能なチェーン９４に対応するＭＣ９４１乃至９４３及びチェーンコントローラ９４０の構成を構成定義情報９３０として格納する。
【０００５】
また、構成管理部９２は、データ処理システム９００で実行可能なチェーンの構成及び状態等を管理するためのプログラムにより実現される機能である。構成管理部９２は、システム起動時等に記憶装置９３から構成定義情報９３０を主記憶に読み込む。アプリケーション９１は、特定のマルチメディア処理機能を実行するために、当該マルチメディア処理機能を実現するチェーン９４を実行可能な状態にするように、構成管理部９２へチェーン形成指示を行う。そして、構成管理部９２は、チェーン形成指示により指定されたチェーンを構成するＭＣ９４１乃至９４３を、構成定義情報９３０に基づき順番に接続し、チェーン９４として動作可能な状態にする。
【０００６】
このように、特許文献１により、アプリケーション９１は、マルチメディア処理機能を実現するために必要なＭＣやＭＣ間の接続に関する情報等の詳しい内部構成を意識する必要がなくなり、移植性が向上する。一方で、同じマルチメディア処理機能を異なる構成で実装することが容易になり、システムごとに最適なチェーンの実装が可能になる。
【０００７】
さらに、特許文献１では、チェーンの構成定義上、ＭＣが複数のチェーンに属した場合、ＭＣ単位の同時実行数制御をかけている。ここで、ＭＣ単位の同時実行では、ＭＣ単位に資源の割り当てが行われていた。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００９−２８２７３０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
特許文献１では、複数のチェーン間で特定のＭＣを共有することができなかったために、リソースの割り当てに無駄が発生するという問題点がある。また、特許文献１において、一つのチェーン内で特定のＭＣを共有して複数の機能を実現した場合には、機能の一部しか使用しない場合であっても、チェーン内の全てのＭＣのためのリソースの確保が必要であり、同様に、リソースの割り当てに無駄が発生する。
【００１０】
そこで、以下に、上述した課題の発生について具体的に説明する。まず、多様なマルチメディア機能を持った装置では、エンドユーザの指示によって発現機能を変化させるために、使用するＭＣの組合せを徐々に変化させるようなマルチメディア処理がある。このようなマルチメディア処理においては、発現機能を変更する際に、使用されなくなるＭＣがある一方で、そのまま継続使用するＭＣもある。
【００１１】
例えば、図３６は、ＤＴＶ（Digital TeleVision）録画機能Ｆ１と、ライブ再生機能Ｆ２の両方の機能を持つ装置におけるＭＣの構成を示す図である。当該装置は、デマルチプレクサ（Demux）ＭＣ１、ストリーム出力（Stream Output）ＭＣ２、音声デコータ（Audio Decoder）ＭＣ３、音声出力（Audio Output）ＭＣ４、ビデオデコーダ（Video Decoder）ＭＣ５、ディスプレイレイヤ（Display Layer）ＭＣ６及びビデオ出力（Video Output）ＭＣ７という７種類のＭＣを備える。ここで、デマルチプレクサＭＣ１は、チューナで受信した信号から特定番組を抽出する処理を行う。また、図３６では、ＤＴＶ録画機能Ｆ１とＤＴＶライブ再生機能Ｆ２とは、共に、デマルチプレクサＭＣ１を必要とすることを示す。
【００１２】
具体的には、ＤＴＶライブ再生機能Ｆ２を実現するには、まず、デマルチプレクサＭＣ１により抽出された番組情報を映像と音声に分離する。そして、映像に対しては、ビデオデコーダＭＣ５によりデコードし、ディスプレイレイヤＭＣ６により必要な画像処理を行い、ビデオ出力ＭＣ７により再生装置に送出する。また、音声に対しては、音声デコータＭＣ３によりデコードし、音声デコータＭＣ３により再生装置に送出する。一方、ＤＴＶ録画機能Ｆ１を実現するには、デマルチプレクサＭＣ１により抽出された番組情報をストリーム出力ＭＣ２によりファイル装置に出力する。このように、ＤＴＶ録画機能Ｆ１とＤＴＶライブ再生機能Ｆ２とは、デマルチプレクサＭＣ１を共通に使用するが、その他のＭＣについては、一方の機能でのみ使用する。
【００１３】
ここで、上述した二種類のマルチメディア機能であるＤＴＶ録画機能Ｆ１及びＤＴＶライブ再生機能Ｆ２を有する装置を実際に使用する局面について説明する。まず、ＤＴＶ録画機能Ｆ１及びＤＴＶライブ再生機能Ｆ２は、それぞれ単独で起動及び停止する場合がある。しかし、一方の機能のみが動作している状態から両方の機能を同時に動作させる場合や、逆に、両方の機能が動作している状態から一方の機能のみを停止させる場合などの利用方法も必要になる。
【００１４】
具体的には、ＤＴＶライブ再生機能Ｆ２による任意の番組の再生中に録画ボタンが押された場合、その時点から当該再生中の番組について、ＤＴＶ録画機能Ｆ１による録画を開始することとなる。また、ＤＴＶ録画機能Ｆ１及びＤＴＶライブ再生機能Ｆ２により同一の番組について再生及び録画を行っている状態で再生停止ボタンが押された場合、ＤＴＶライブ再生機能Ｆ２による再生のみを停止することとなる。このような状態が発現機能の違いとなる。
【００１５】
但し、これらの発現機能の変更時には、特定番組の情報を抽出する処理であるデマルチプレクサＭＣ１だけは、継続動作している必要がある。さもないと、再生中に録画ボタンが押された瞬間にＤＴＶ再生が途切れてしまい、また、再生及び録画中に再生停止ボタンが押された瞬間に録画が途切れてしまうことになる。
【００１６】
また、当該装置がダブルチューナを有する場合、ある番組を再生しているとき、裏番組の予約録画もできるようにする要求がある。このためには、ＤＴＶ再生中には使用されないＤＴＶ録画のみに必要な資源が解放されている必要がある。
【００１７】
このように多様なマルチメディア機能を持った装置は、特許文献１では（１）各々の発現機能で必要なＭＣの組合せをチェーンとして管理する方法、又は、（２）一連の発現機能で使用する全ＭＣを含むチェーンを管理する方法のいずれかを採用することとなる。しかし、いずれの方法を採用しても、資源の無駄遣いが発生するか、又は、発現機能変更の前後で継続使用するＭＣの動作継続不能などの点で問題がある。以下に（１）及び（２）についての問題点を説明する。
【００１８】
（１）各々の発現機能で必要なＭＣの組合せをチェーンとして管理する方法
複数の発現機能を同時に実行するためには、それぞれの発現機能を実現するチェーンを形成する必要がある。例えば、図３６の場合、ＤＴＶ録画機能Ｆ１とＤＴＶライブ再生機能Ｆ２とをそれぞれ異なるチェーンとして定義することとなる。しかし、別々に形成したチェーン間では、同種のＭＣが必要な場合でも異なる資源が割り当てられてしまい、図３６のような複数のチェーン間で一部のＭＣを共有した状態を作ることができない。加えて、複数チェーン間で共有したいＭＣが資源的に１個分しかない装置では、両方のチェーンを同時に形成することができない。その場合、一般的には、後から形成しようとしたチェーンが形成不能となる。そのため、両方の発現機能を同時実行すること自体が難しい。これは、特許文献１にかかるＭＣの管理方式の限界からくる資源の無駄遣いに原因があると言える。
【００１９】
また、発現機能の変更は、旧発現機能を実現するチェーンの解放と、新発現機能を実現するチェーンの形成という２段階で実施されることになる。複数のチェーン間で全てのＭＣは、一度解放されるので、全ての動作が一旦止まる。すなわち、この方法では、発現機能を変更する前後で、継続的に使用するＭＣの継続動作が実現できない。
【００２０】
例えば、前記の具体例の場合は、図３７及び図３８に示されるように、２つのチェーンが必要となる。図３７は、ＤＴＶ録画に必要なＭＣを組み合わせたＤＴＶ録画チェーンＣＨＡの例を示す図である。図３８は、ＤＴＶ再生に必要なＭＣを組み合わせたＤＴＶライブ再生チェーンＣＨＢの例を示す図である。
【００２１】
この場合、同一チャンネルに対してＤＴＶ再生とＤＴＶ録画を同時に実行するためには、両方のチェーンが同時に形成された状態とする必要がある。しかし、同一の種類のＭＣであるデマルチプレクサＭＣ１は、各チェーンのそれぞれで用いるために別々の資源を割り当てることとなる。そのため、２個分のデマルチプレクサＭＣ１を有している装置であることが前提となり、１個分のデマルチプレクサＭＣ１しか有さない装置では実現不可能になってしまう。つまり、原理的には１個分のデマルチプレクサＭＣ１を用いることで実現可能だとしても、ＭＣの管理方法の制約により、１個分のデマルチプレクサＭＣ１しか有さない装置では当該動作を実現できない。また、２個分のデマルチプレクサＭＣ１を有している装置である場合にも、本来は資源を共有可能なＭＣを個別に資源を割り当てることとなり、資源の無駄遣いが発生するといえる。
【００２２】
尚、仮に、２個分のデマルチプレクサＭＣ１を有する装置が普及したとしても、マルチメディア処理機能が複雑化する傾向にあるため、他のＭＣの共有が必要になる可能性もある。そのため、搭載するＭＣの数が増加したとしてもＭＣの資源の共有が行えない方法には、限界がある。
【００２３】
また、ＤＴＶ再生からＤＴＶ録画に移行するためには、一旦、ＤＴＶライブ再生チェーンＣＨＢを停止及び解放し、ＤＴＶ録画チェーンＣＨＡを形成及び開始する必要がある。そのため、（１）の方法では、再生から録画に移行する過程で、両方の機能の動作に必要なＭＣを一旦、解放する必要があり、その際、解放されるＭＣに関する動作が途切れてしまう。
【００２４】
（２）一連の発現機能で使用する全ＭＣを含むチェーンを管理する方法
発現機能の変更は、一部のＭＣの動作を停止し、一方で新たなＭＣの動作を開始することになる。その場合、前後で継続使用するＭＣの継続動作は実現できるが、チェーンが形成されたままとなる。そのため、チェーンに含まれる全てのＭＣには資源が割り当てられたままとなる。すなわち、この方法では、機能を実現するためには、不要な一部のＭＣについて資源を解放することができない。すなわち、資源の無駄遣いが発生する。
【００２５】
例えば、前記の具体例の場合は、図３９に示すように、ＤＴＶ再生に必要なＭＣとＤＴＶ録画に必要なＭＣの全てを含むＤＴＶ録再チェーンＣＨＣを定義することとなる。この場合、ＤＴＶ再生からＤＴＶ録画に移行するためには、ＤＴＶ再生にのみ必要なＭＣを停止し、ＤＴＶ録画に必要なＭＣのみを起動することで可能である。（２）の方法であれば、ＤＴＶ再生を止めずに、ＤＴＶ録画に必要なＭＣを起動することで、ＤＴＶの再生と録画を同時実行することもできる。しかし、一方の機能しか使っていない場合に、未使用のＭＣを解放することができないという問題が残る。
【課題を解決するための手段】
【００２６】
本発明の第１の態様にかかるマルチメディア処理システムは、記憶部と制御部とを備え、前記記憶部は、所定のマルチメディア処理を行うための個別の機能に関するプログラムである複数のコンポーネントと、第１のマルチメディア処理を行うための前記コンポーネントの組合せである第１のチェーンを定義した第１の定義情報と、前記第１のチェーンと一部のコンポーネントが重複し、第２のマルチメディア処理を行うための前記コンポーネントの組合せである第２のチェーンを定義した第２の定義情報と、前記第１のチェーンと前記第２のチェーンとの間でリソースを共有すべきコンポーネントを定義した第１の共有情報と、を格納し、外部からの指示に応じて、前記記憶部に格納された前記複数のコンポーネントにリソースを割り当ててチェーンを形成することにより前記所定のマルチメディア処理を行う制御部と、を備え、前記制御部は、前記第１のチェーンの形成後に前記第２のチェーンの指定を含む形成指示を受け付けた場合に、当該指定された第２のチェーンの定義を含む前記第２の定義情報及び前記第１の共有情報を前記記憶部から取得し、前記第２の定義情報に定義されたコンポーネントの内、前記第１の共有情報に定義されたコンポーネント以外のコンポーネントを前記記憶部から読み出してリソースを割り当て、前記第１の共有情報に定義されたコンポーネントについて前記第１のチェーンの形成時に割り当てられたリソースを前記第１のチェーンと共有して前記第２のチェーンを形成する。
【００２７】
本発明の第２の態様にかかるマルチメディア処理方法は、所定のマルチメディア処理を行うための個別の機能に関するプログラムである複数のコンポーネントと、第１のマルチメディア処理を行うための前記コンポーネントの組合せである第１のチェーンを定義した第１の定義情報と、前記第１のチェーンと一部のコンポーネントが重複し、第２のマルチメディア処理を行うための前記コンポーネントの組合せである第２のチェーンを定義した第２の定義情報と、前記第１のチェーンと前記第２のチェーンとの間でリソースを共有すべきコンポーネントを定義した第１の共有情報と、を格納する記憶部と、外部からの指示に応じて、前記記憶部に格納された前記複数のコンポーネントにリソースを割り当ててチェーンを形成することにより前記所定のマルチメディア処理を行う制御部と、を備えたコンピュータを制御するためのマルチメディア処理方法であって、前記制御部において、前記第１のチェーンの指定を含む形成指示を受け付けた場合に、当該指定された第１のチェーンの定義を含む前記第１の定義情報を前記記憶部から取得し、前記第１の定義情報に定義されたコンポーネントを前記記憶部から読み出してリソースを割り当てて前記第１のチェーンを形成し、前記第１のチェーンの形成後に前記第２のチェーンの指定を含む形成指示を受け付けた場合に、当該指定された第２のチェーンの定義を含む前記第２の定義情報及び前記第１の共有情報を前記記憶部から取得し、前記第２の定義情報に定義されたコンポーネントの内、前記第１の共有情報に定義されたコンポーネント以外のコンポーネントを前記記憶部から読み出してリソースを割り当て、前記第２の定義情報に定義されたコンポーネントの内、前記第１の共有情報に定義されたコンポーネントに前記第１のチェーンの形成時に割り当てられたリソースを前記第１のチェーンと共有して前記第２のチェーンを形成する。
【００２８】
上述したように、本発明の第１又は第２の態様により、第１のチェーンが形成後に第２のチェーンを形成する場合に、第１のチェーンを形成する際に既にリソースが割り当てられたコンポーネントについては、重複してリソースを割り当てることなくなる。つまり、第１の共有情報に定義されたコンポーネントに割り当てられたリソースを流用することができる。そのため、リソースの割り当ての無駄を軽減することができる。
【発明の効果】
【００２９】
本発明により、複数のチェーンを用いてマルチメディア処理を行う場合に、リソースを有効活用するためのマルチメディア処理システム及び方法を提供することができる。
【図面の簡単な説明】
【００３０】
【図１】本発明の実施の形態１にかかるマルチメディア処理システムの構成を示すブロック図である。
【図２】本発明の実施の形態１にかかるチェーン構成定義情報の例を示す図である。
【図３】本発明の実施の形態１にかかるコンプレックス構成定義情報の例を示す図である。
【図４】本発明の実施の形態１にかかるチェーン形成情報管理テーブルの例を示す図である。
【図５】本発明の実施の形態１にかかるコンプレックス生成情報管理テーブルの例を示す図である。
【図６】本発明の実施の形態１にかかるマルチメディア処理システムのハードウェア構成を示すブロック図である。
【図７】本発明の実施の形態１にかかるコンプレックスを生成するための制御の流れを示すシーケンス図である。
【図８】本発明の実施の形態１にかかるコンプレックス生成処理の流れを示すフローチャートである。
【図９】本発明の実施の形態１にかかるチェーンを形成するための制御の流れを示すシーケンス図である。
【図１０】本発明の実施の形態１にかかるチェーン形成処理の流れを示すフローチャートである。
【図１１】本発明の実施の形態１にかかるＭＣ生成処理の流れを示すフローチャートである。
【図１２】本発明の実施の形態１にかかるＭＣ接続処理の流れを示すフローチャートである。
【図１３】本発明の実施の形態１にかかるチェーン初期化処理の流れを示すフローチャートである。
【図１４】本発明の実施の形態１にかかるチェーン形成情報更新処理の流れを示すフローチャートである。
【図１５】本発明の実施の形態１にかかるチェーンの接続を解除するための制御の流れを示すシーケンス図である。
【図１６】本発明の実施の形態１にかかる解放ＭＣ抽出処理の流れを示すフローチャートである。
【図１７】本発明の実施の形態１にかかるチェーン終了処理の流れを示すフローチャートである。
【図１８】本発明の実施の形態１にかかるチェーン接続解除処理の流れを示すフローチャートである。
【図１９】本発明の実施の形態１にかかるＭＣ接続解除処理の流れを示すフローチャートである。
【図２０】本発明の実施の形態１にかかるコンプレックスを解放するための制御の流れを示すシーケンス図である。
【図２１】本発明の実施の形態１にかかるコンプレックス解放処理の流れを示すフローチャートである。
【図２２】本発明の実施の形態１にかかるコンプレックスによる機能切り替えの例を示す図である。
【図２３】本発明の実施の形態１にかかるコンプレックス外へのチェーン形成の例を示す図である。
【図２４】本発明の実施の形態１にかかる任意のチェーンとのＭＣ共有の例を示す図である。
【図２５】本発明の実施の形態２にかかるマルチメディア処理システムの構成を示すブロック図である。
【図２６】本発明の実施の形態２にかかるチェーンの走行状態遷移を説明するための図である。
【図２７】本発明の実施の形態２にかかるチェーンの走行状態管理テーブルの例を示す図である。
【図２８】本発明の実施の形態２にかかるチェーン動作モード定義の例を示す図である。
【図２９】本発明の実施の形態２にかかる形成済みのチェーンの制御の流れを示すシーケンス図である。
【図３０】本発明の実施の形態２にかかる動作モード確認処理の流れを示すフローチャートである。
【図３１】本発明の実施の形態２にかかるチェーン制御処理の流れを示すフローチャートである。
【図３２】本発明の実施の形態２にかかる走行状態更新処理の流れを示すフローチャートである。
【図３３】本発明の実施の形態２にかかる動作モードによるチェーン制御方法変更の例を示す図である。
【図３４】本発明の実施の形態２にかかる動作モードによるチェーン制御方法変更の例を示す図である。
【図３５】関連技術にかかるデータ処理システムの構成を示すブロック図である。
【図３６】ＤＴＶ録画再生機のＭＣ構成を説明するための図である。
【図３７】関連技術にかかるＤＴＶ録画チェーンの例を示す図である。
【図３８】関連技術にかかるＤＴＶライブ再生チェーンの例を示す図である。
【図３９】関連技術にかかるＤＴＶ録画再生チェーンの例を示す図である。
【発明を実施するための形態】
【００３１】
以下では、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。各図面において、同一要素には同一の符号が付されており、説明の明確化のため、必要に応じて重複説明は省略する。
【００３２】
＜発明の実施の形態１＞
図１は、本発明の実施の形態１にかかるマルチメディア処理システム１００の構成を示すブロック図である。マルチメディア処理システム１００は、マルチメディア情報について任意の処理を行うマルチメディア処理システムである。マルチメディア処理システム１００は、例えば、組み込み用マイコンや周辺機能を集積したＳｏＣ（System-On-a-Chip）を搭載する専用装置であるか、汎用的なコンピュータであってもよい。マルチメディア処理システム１００は、制御装置（不図示）と、主記憶装置（不図示）と、（二次）記憶装置３と、入力装置５と、出力装置６Ａと、出力装置６Ｂとを備える。尚、制御装置には、例えばＣＰＵ等の一般的なプロセッサを用いることが可能である。但し、本発明の実施の形態１にかかる制御装置は、主記憶装置又は記憶装置３から各種コンピュータプログラムを読み込み、実行することにより、アプリケーション１、構成管理部２、コンプレックス７、チェーン４Ａ及び４Ｂ、チェーンコントローラ４０ａ及び４０ｂ並びにＭＣ４１乃至４４という機能ブロックを実現するものである。そのため、以降の説明では、処理主体として、制御装置の代わりに、これらの機能ブロックを用いるものとする。
【００３３】
入力装置５は、音声及び動画の映像データ等のマルチメディアデータの入力が行われるハードウェア装置である。例えば、入力装置５は、ＤＴＶ放送の受信装置又は記録媒体の読み取り装置等であればよいが、これらに限定されない。また、出力装置６Ａ及び６Ｂは、マルチメディアデータの出力が行われるハードウェア装置である。例えば、出力装置６Ａ及び６Ｂは、ディスプレイ等の表示装置、スピーカ又は記録媒体への記録装置等であればよいが、これらに限定されない。
【００３４】
ＭＣ４１乃至４４は、所定のマルチメディア処理の少なくとも一部の処理を行う論理的なソフトウェアコンポーネントである。すなわち、ＭＣ４１乃至４４は、所定のマルチメディア処理における単位機能的なデータ処理を行うことができる。そして、ＭＣ４１乃至４４のうち複数を用いることにより、一連のストリームデータ処理を行うマルチメディア処理機能を実現することができる。ここで、一連のストリームデータ処理とは、例えば、データ入力、デコンプレッサ、音声出力等の処理である。尚、以下おいて、ＭＣ４１乃至４４は、ソフトウェアであるものとして説明する。但し、ＭＣ４１乃至４４は、ハードウェアにより実現しても構わない。その際、ＭＣ４１乃至４４は、それぞれ単一のハードウェアである必要はなく、複数のハードウェアにより一つのＭＣを実現しても構わない。又は、複数のＭＣの役割を一つのハードウェアにより実現しても構わない。または、ＭＣ４１乃至４４は、当該ハードウェアとデバイスドライバとにより実現しても構わない。
【００３５】
また、ＭＣ４１乃至４４のそれぞれは、少なくとも一つの入力ポート及び出力ポートと、制御用インタフェースとを備える。制御用インタフェースは、ＭＣ自身を動作可能にするための指示、各ポートの仕様の参照、自身の入力ポートと他のＭＣの出力ポートとを接続する処理を実行するための指示、及び自身の出力ポートと他のＭＣの入力ポートとを接続する処理を実行するための指示などを含む各種要求を受け付けるインタフェースである。
【００３６】
ＭＣ４１乃至４４は、ある特定のハードウェアの機能に対応させたソフトウェアドライバなどであるか、ソフトウェア処理モジュールである。例えば、ＭＣ４１乃至４４を上述した図３６の各ＭＣに対応させると次のようになる。ＭＣ４１は、デマルチプレクサＭＣ１に対応する。ＭＣ４２は、音声デコータＭＣ３、ビデオデコーダＭＣ５及びディスプレイレイヤＭＣ６に対応する。ＭＣ４３は、音声出力ＭＣ４及びビデオ出力ＭＣ７に対応する。ＭＣ４４は、ストリーム出力ＭＣ２に対応する。
【００３７】
ＭＣ４１乃至４４は、複数のマルチメディア処理機能に対応する複数の初期設定の入力パラメータであるモードにより、動作を切り替えることができるものである。ＭＣのモードには、例えば、入力モード、動作モード及び出力モードがある。ＭＣ４１乃至４４は、チェーンコントローラ４０ａ又は４０ｂにより制御用インタフェースを介して入力されるモードに基づき、動作する。モードは、数値や文字列で表現されればよい。そして、ＭＣ４１乃至４４は、入力されたモードに基づいて、内部のパラメータ等を選択することで、モード毎の動作を行うことができる。尚、ＭＣ４１乃至４４におけるモードは、未入力の場合に規定値により動作するようにしてもよい。
【００３８】
また、図１において、ＭＣ４１は入力装置５から入力されるデータを処理するものである。また、ＭＣ４３は出力装置６Ａへデータを出力するものである。また、ＭＣ４４は出力装置６Ｂへデータを出力するものである。尚、ＭＣ４１、４３及び４４は、それぞれ一つのハードウェアである入力装置５、出力装置６Ａ及び６Ｂとの処理を行うものであるが、これに限定されない。つまり、ＭＣ４１、４３及び４４は、複数の入力装置又は出力装置との入出力を行うものであってもよい。または、複数のＭＣにより一つの入力装置又は出力装置との入出力を行うものであってもよい。
【００３９】
チェーンコントローラ４０ａは、ＭＣ４１乃至４３の制御を行うことで、所定のマルチメディア処理を実現させるソフトウェアである。チェーンコントローラ４０ａは、後述する構成管理部２からのチェーン初期化指示に基づき、自己の初期化と、ＭＣ４１乃至４３のモード設定等を行う。また、チェーンコントローラ４０ａは、構成管理部２からのチェーン終了指示に基づき、ＭＣ４１乃至４３の処理を終了し、自己の処理を終了する。
【００４０】
また、チェーンコントローラ４０ｂは、ＭＣ４１及び４４の制御を行うことで、所定のマルチメディア処理を実現させるソフトウェアである。尚、チェーンコントローラ４０ｂは、チェーンコントローラ４０ａと同等であるため、説明を省略する。尚、以下おいて、チェーンコントローラ４０ａ及び４０ｂは、ソフトウェアであるものとして説明する。但し、チェーンコントローラ４０ａ及び４０ｂは、ハードウェアにより実現しても構わない。その際、チェーンコントローラ４０ａ及び４０ｂは、それぞれ単一のハードウェアである必要はなく、複数のハードウェアにより一つのチェーンコントローラを実現しても構わない。又は、複数のチェーンコントローラの役割を一つのハードウェアにより実現しても構わない。
【００４１】
チェーン４Ａは、ＭＣ４１乃至４３と、チェーンコントローラ４０ａとを含めたソフトウェアの集合を管理する単位である。例えば、チェーン４Ａは、上述した図３６のＤＴＶライブ再生機能Ｆ２に対応する。また、チェーン４Ｂは、ＭＣ４１及び４４と、チェーンコントローラ４０ｂとを含めたソフトウェアの集合を管理する単位である。例えば、チェーン４Ｂは、上述した図３６のＤＴＶ録画機能Ｆ１に対応する。また、チェーン４Ａ及び４Ｂの識別情報であるチェーン識別子は、アプリケーション１から所定のマルチメディア処理を識別する情報であるといえる。
【００４２】
コンプレックス７は、複数のチェーンの集合を管理する単位である。特に、コンプレックス７は、複数のチェーン間のリソースを共有するＭＣを管理するものである。図１では、コンプレックス７は、チェーン４Ａと、チェーン４Ｂとを含む。
【００４３】
記憶装置３は、少なくとも構成定義情報３０を記憶する。記憶装置３は、例えば、ハードディスクドライブ、光磁気ディスクドライブ、フラッシュメモリ等の不揮発性の記憶装置である。尚、マルチメディア処理システム１００は、別途、主記憶装置（不図示）を備えているものとする。
【００４４】
構成定義情報３０は、少なくともチェーン構成定義３１と、コンプレックス構成定義３２とを含む。チェーン構成定義３１は、複数のＭＣの組合せと、それらを統合管理するチェーンコントローラとにより特定のマルチメディア処理機能を実現する処理単位であるチェーンの構成を定義した情報である。チェーン構成定義３１は、少なくとも、第１のマルチメディア処理を行うためのＭＣの組合せである第１のチェーンを定義した第１の定義情報と、第１のチェーンと一部のコンポーネントが重複し、第２のマルチメディア処理を行うためのＭＣの組合せである第２のチェーンを定義した第２の定義情報と、を含む。
【００４５】
図２は、本発明の実施の形態１にかかるチェーン構成定義３１の例を示す図である。チェーン構成定義３１は、チェーン識別情報と、チェーンコントローラ情報と、ＭＣ情報との対応付けで表現することができる。例えば、チェーンＡには、チェーンコントローラａと、ＭＣ＃１、ＭＣ＃２、ＭＣ＃３、・・・とが対応付けられていることを示す。また、チェーンＢには、チェーンコントローラｂと、ＭＣ＃１、ＭＣ＃４、・・・とが対応付けられていることを示す。つまり、チェーンＡとチェーンＢとは、少なくともＭＣ＃１が重複して定義されていることを示す。また、チェーンＣには、チェーンコントローラｃと、ＭＣ＃１、ＭＣ＃３、・・・とが対応付けられていることを示す。つまり、チェーンＡとチェーンＣとは、少なくともＭＣ＃１及びＭＣ＃３が重複して定義されていることを示す。言い換えると、チェーンＢとチェーンＣとは、共にチェーンＡと重複したＭＣが定義されているが、重複したＭＣの一部が異なることを示す。
【００４６】
ここで、図１と図２とは、チェーン４Ａ及び４ＢがチェーンＡ及びＢと、チェーンコントローラ４０ａ及び４０ｂがチェーンコントローラａ及びｂと、ＭＣ４１、４２、４３及び４４がＭＣ＃１、＃２、＃３及び＃４とそれぞれ対応するものとする。また、以降の図においても同様とする。尚、チェーン構成定義３１には、チェーンに定義された複数のＭＣ間の接続方法に関する接続関係情報を含めても構わない。ここで、接続関係情報とは、接続元ＭＣの出力ポートと接続先ＭＣの入力ポートを一組としたリスト情報である。
【００４７】
図１に戻って説明する。コンプレックス構成定義３２は、第１のチェーンと、第２のチェーンと、第１のチェーンと第２のチェーンとの間でリソースを共有すべきコンポーネントを定義した第１の共有情報との対応付けを定義した情報である。尚、コンプレックス構成定義３２は、少なくとも第１の共有情報を含むものである。
【００４８】
図３は、本発明の実施の形態１にかかるコンプレックス構成定義３２の例を示す図である。コンプレックス構成定義３２は、コンプレックス識別情報と、コンプレックス内に形成可能な形成可能チェーンと、ＭＣの共有情報との対応付けで表現することができる。また、ＭＣの共有情報は、コンプレックス内に形成されたチェーンがＭＣを共有可能な相手チェーンと、その際に共有する共有ＭＣ情報とを含む。例えば、コンプレックスＸには、形成可能チェーンとして、図２のチェーンＡ、Ｂ及びＣが対応付けられていることを示す。また、コンプレックスＸにおける形成可能チェーンであるチェーンＡには、相手チェーンとして少なくともチェーンＢ及びＣが定義されている。そして、形成可能チェーンがチェーンＡかつ相手チェーンがチェーンＢである場合に、共有ＭＣがＭＣ＃１であることを示す。
【００４９】
また、コンプレックスＸとコンプレックスＹとは、それぞれチェーンＡとチェーンＣとの間で定義されている共有ＭＣが異なる。つまり、コンプレックス構成定義３２を用いることにより、同じ組合せのチェーンを形成する場合であっても、アプリケーション１が指定するコンプレックス識別子を適宜、選択することにより、共有ＭＣを柔軟に変更することが可能である。
【００５０】
また、コンプレックスの定義の仕方によっては、同じ組合せのチェーンであっても、チェーンを形成する順序によって、共有ＭＣを異なるように定義してもよい。例えば、図３のコンプレックスＸでは、チェーンＡとチェーンＣとの間で、いずれが形成可能チェーンであっても共有ＭＣがＭＣ＃１及びＭＣ＃３と定義されている。一方、図３のコンプレックスＹでは、チェーンＡとチェーンＣとの間で、形成可能チェーンにより共有ＭＣが異なるように定義されていることを示す。すなわち、コンプレックスＹにおける形成可能チェーンがチェーンＡであり、かつ、相手チェーンがチェーンＣである場合に、共有ＭＣがＭＣ＃１であることを示す。また、コンプレックスＹにおける形成可能チェーンがチェーンＣであり、かつ、相手チェーンがチェーンＡである場合に、共有ＭＣがＭＣ＃３であることを示す。言い換えると、コンプレックスＹでは、チェーンＡとチェーンＣとの間で重複して定義されているＭＣの内、一部が定義されている。そのため、コンプレックスＹ内にチェーンＡを形成後にチェーンＣを形成する場合と、チェーンＣを形成後に、チェーンＡを形成する場合とでは、共有ＭＣが異なる。このように、コンプレックス構成定義３２は、チェーンの組合せが同じであっても、チェーンの形成順序により、共有させるＭＣを異なるように定義することが可能である。
【００５１】
図１に戻って説明する。アプリケーション１は、所定のマルチメディア処理の開始、制御及び終了を指示する機能を有する任意のソフトウェアである。例えば、アプリケーション１は、所定のマルチメディア処理を開始するために、当該マルチメディア処理に対応するチェーンの属するコンプレックスの生成指示を構成管理部２に対して送信する。当該コンプレックスの生成指示には、コンプレックス識別子が含まれる。また、アプリケーション１は、チェーン形成指示を構成管理部２に対して送信する。当該チェーンの形成指示には、マルチメディア処理機能の種別を表わすチェーン識別子が含まれる。さらに、チェーンの形成指示には、コンプレックス識別子を含めることができる。これにより、生成済みのコンプレックスの管理下にチェーンを形成することができる。
【００５２】
そして、アプリケーション１は、形成済みのチェーンにおけるマルチメディア処理を制御するためにチェーン制御指示を構成管理部２に対して送信する。当該チェーン制御指示には、チェーン識別子及び制御コマンドが含まれる。さらに、アプリケーション１は、形成済みのチェーンにおける処理を終了し、リソースを解放するために、チェーン接続解除指示を構成管理部２に対して送信する。当該チェーン接続解除指示には、チェーン識別子及び制御コマンドが含まれる。また、アプリケーション１は、生成したコンプレックス全体のリソースを解放するために、コンプレックス解放指示を構成管理部２に対して送信する。当該コンプレックス解放指示には、コンプレックス識別子及び制御コマンドが含まれる。
【００５３】
構成管理部２は、チェーン及びコンプレックスの構成を管理するソフトウェアである。構成管理部２は、アプリケーション１から各種指示を受け付け、記憶装置３に格納された構成定義情報３０に基づき、複数のＭＣにリソースを割り当て、チェーンを形成することにより所定のマルチメディア処理を行う。ここで、リソースの割り当てとは、例えば、記憶装置３から読み込まれたＭＣに、主記憶装置内の所定の領域を割り当てること等を示す。また、構成管理部２は、チェーンの形成、制御及び接続解除の際、適宜、チェーンコントローラ４０ａ又は４０ｂに対して、対応する指示を行う。
【００５４】
特に、構成管理部２は、第１のチェーンの形成後に第２のチェーンの形成指示を受け付けた場合に、指定された第２のチェーンの定義を含む第２の定義情報及び第１の共有情報を記憶装置３から取得し、第２の定義情報に定義されたコンポーネントの内、第１の共有情報に定義されたコンポーネント以外のコンポーネントを記憶装置３から読み出してリソースを割り当て、第１の共有情報に定義されたコンポーネントについて第１のチェーンの形成時に割り当てられたリソースを第１のチェーンと共有して第２のチェーンを形成する。これにより、コンポーネントに割り当てるリソースを有効活用することができる。
【００５５】
ここで、記憶装置３は、第１のチェーンと、第２のチェーンと、第１の共有情報との対応付けを定義した第１のコンプレックス情報を格納するものとする。また、記憶装置３は、定義された各チェーンについて、形成済みであるか否かを管理するチェーン形成管理情報をさらに格納するものとする。このとき、構成管理部２は、第１のチェーンの形成後に、当該第１のチェーンを形成済みとして前記チェーン形成管理情報を更新する。そして、構成管理部２は、第１のコンプレックス情報及び第２のチェーンの指定を含む形成指示を受け付けた場合に、指定された第１のコンプレックス情報を記憶装置３から取得し、記憶装置３に格納された前記チェーン形成管理情報を参照し、当該指定された第１のコンプレックス情報に定義された第１のチェーンが形成済みであるか否かを判定する。そして、構成管理部２は、当該第１のチェーンが形成済みであると判定した場合に、第２の定義情報に定義されたコンポーネントの内、第１の共有情報に定義されたコンポーネントについて第１のチェーンの形成時に割り当てられたリソースを第１のチェーンと共有して第２のチェーンを形成することができる。これにより、コンプレックスという管理単位を用いて、リソースの共有を制御することができる。
【００５６】
さらに、記憶装置３は、第２のコンプレックス情報をさらに格納するものとする。そして、第２のコンプレックス情報には、第１のコンプレックス情報に定義された第１のチェーンとは独立して形成可能に第２のチェーンが定義されているものとする。このとき、構成管理部２は、第１のチェーンの形成後に第２のコンプレックス情報の指定を含む第２のチェーンの形成指示を受け付けた場合に、当該指定された第２のコンプレックス情報を記憶装置３から取得し、記憶装置３に格納されたチェーン形成管理情報を参照し、第２のチェーンが形成可能か否かを判定する。そして、構成管理部２は、当該第２のチェーンが形成可能と判定した場合に、前記第１のチェーンとはリソースを共有させずに当該第２のチェーンを形成するとよい。これにより、例えば、第１のチェーンと第２のチェーンとの間で共有ＭＣの定義がされていたとしても、第２のチェーンの形成指示において、第１のチェーンを含まないコンプレックスを指定された場合には、指定されたコンプレックスに応じて適切にリソースの共有を行うことができる。そのため、マルチメディア処理の利用状況に応じて柔軟にリソースの共有を制御することができる。
【００５７】
さらにまた、構成管理部２は、第１のチェーン及び第２のチェーンの形成後に、第１のチェーンの解放指示を受け付けた場合に、第１の定義情報に定義されたコンポーネントの内、第１の共有情報に定義されたコンポーネント以外のコンポーネントに割り当てられたリソースを解放して第１のチェーンを未形成とするとよい。これにより、形成済みの第２のチェーンに与える影響を最小限に留めつつ、不要な第１のチェーンのリソースを解放し、リソースを有効活用できる。
【００５８】
また、第１の共有情報は、第１の定義情報と第２の定義情報との間で重複して定義されているコンポーネントの内、一部が定義されたものとする。このとき、構成管理部２は、第１のチェーンの形成後に第２のチェーンの形成指示を受け付けた場合に、第１の定義情報と第２の定義情報との間で重複して定義されているコンポーネントの内、第１の共有情報に定義されていないコンポーネントと、第２の定義情報に定義されたコンポーネントの内、当該重複して定義されているコンポーネント以外のコンポーネントとを記憶装置３から読み出してリソースを割り当てて第２のチェーンを形成する。例えば、複数のチェーン間で重複して定義されたＭＣが複数ある場合であっても、一部のＭＣのみを共有させるように定義することもできる。つまり、コンプレックスの共有ＭＣの定義の仕方により、実際にリソースを共有するＭＣを柔軟に制御することができる。
【００５９】
さらに、記憶装置３は、第１の定義情報と第２の定義情報との間で複数のコンポーネントが重複して定義されている場合に、第１のチェーンと第２のチェーンとの間でリソースを共有すべきコンポーネント、かつ、第１の共有情報と異なるコンポーネントを定義した第２の共有情報をさらに格納するものとする。ここで、第１の共有情報は、第１のチェーンの形成後に第２のチェーンを形成する際に共有すべきコンポネントが定義され、第２の共有情報は、第２のチェーンの形成後に第１のチェーンを形成する際に共有すべきコンポネントが定義されるものとする。このとき、構成管理部２は、第１のチェーンと第２のチェーンとを形成する場合に、当該第１のチェーンと当該第２のチェーンとの形成順序に応じて、第１の共有コンポーネント又は第２の共有コンポーネントのいずれかを選択し、当該選択された共有コンポーネントに割り当てられたリソースを当該第１のチェーンと当該第２のチェーンとの間で共有して、形成順序が後のチェーンを形成する。これにより、チェーンの形成順序により、柔軟に共有するＭＣを制御することができる。
【００６０】
また、構成管理部２は、第１のチェーンの形成後に第２のチェーンの形成指示を受け付けた場合に、第２の定義情報に定義されたコンポーネントの内、第１の共有情報に定義されたコンポーネント以外のコンポーネントについてリソースを割り当て、当該リソースを割り当てたコンポーネントと、第１のチェーンを形成するためにリソースが割り当てられたコンポーネントの内、第１の共有情報に定義されたコンポーネントとを接続して、第２のチェーンを形成する。
【００６１】
また、構成管理部２は、形成したチェーンを管理するためのチェーン形成情報管理テーブルと、生成したコンプレックスを管理するためのコンプレックス生成情報管理テーブルとを動的に主記憶装置内に生成する。また、コンプレックス生成情報管理テーブルには、コンプレックスごとに定義されたチェーン毎に形成済みであるか否かを示す情報を含む。そして、構成管理部２は、チェーンを形成又は接続解除した際に、適宜、チェーン形成情報管理テーブルを形成済み又は未形成を示す情報に更新し、当該チェーンがコンプレックス内に形成される場合には、コンプレックス生成情報管理テーブルも同様に更新する。また、構成管理部２は、コンプレックスを生成又は解放した際に、適宜、コンプレックス生成情報管理テーブルを生成済み又は未生成を示す情報に更新する。つまり、コンプレックス７は、構成管理部２によりコンプレックス生成情報管理テーブルの生成状況が生成済みと更新されることにより生成され、未生成と更新されることにより解放されたことを示す。また、チェーン４Ａ及び４Ｂは、構成管理部２によりチェーン形成情報管理テーブルに形成済みと更新されることにより形成され、未形成と更新されることにより接続解除されたことを示す。
【００６２】
図４は、本発明の実施の形態１にかかるチェーン形成情報管理テーブルの例を示す図である。チェーン形成情報管理テーブルは、チェーン識別情報と、形成状況との対応付けで表現することができる。図４では、チェーンＡが形成済みであり、チェーンＢ及びＣが未形成であることを示す。
【００６３】
図５は、本発明の実施の形態１にかかるコンプレックス生成情報管理テーブルの例を示す図である。コンプレックス生成情報管理テーブルは、コンプレックス識別情報と、コンプレックスの生成状況と、当該コンプレックス内に形成済みチェーン識別情報との対応付けで表現することができる。図５では、コンプレックスＸが生成済みであり、コンプレックスＸ内にチェーンＡ及びＢが形成済みであることを示す。また、コンプレックスＹは未生成であることを示す。
【００６４】
図６は、本発明の実施の形態１にかかるマルチメディア処理システム１００のハードウェア構成を示すブロック図である。マルチメディア処理システム１００は、ＣＰＵ１１０と、ＲＡＭ（Random Access Memory）１２０と、ＲＯＭ（Read Only Memory）１３０と、入力装置１４１と、出力装置１４２と、出力装置１４３と、ハードディスク１５０とを備える。
【００６５】
ＣＰＵ１１０は、マルチメディア処理システム１００における各種処理、ＲＡＭ１２０、ＲＯＭ１３０、入力装置１４１と、出力装置１４２及び１４３と、ハードディスク１５０とへのアクセス等を制御する制御装置の一例である。ＲＡＭ１２０は、半導体素子を利用した揮発性記憶装置である。ＲＯＭ１３０は、読み出し専用の記憶装置である。尚、ＣＰＵ１１０、ＲＡＭ１２０及びＲＯＭ１３０は、公知のものであるため、詳細な説明を省略する。また、入力装置１４１と、出力装置１４２及び１４３とは、それぞれ図１の入力装置５と、出力装置６Ａ及び６Ｂとに対応する。
【００６６】
ハードディスク１５０は、不揮発性記憶装置の一例である。そのため、ハードディスク１５０の代わりに、光磁気ディスクドライブ、フラッシュメモリ等の記憶装置を用いても構わない。ハードディスク１５０には、ＯＳ（Operating System）１６０と、アプリケーションプログラム１６１と、構成管理プログラム１６２と、構成定義情報１６３と、チェーンコントローラプログラム１６４及び１６５と、ＭＣプログラム１６６乃至１６９とが格納されている。尚、ハードディスク１５０に格納されるデータは、一例である。また、ハードディスク１５０は、図１の記憶装置３であっても構わない。
【００６７】
ＣＰＵ１１０がアプリケーションプログラム１６１と、構成管理プログラム１６２と、チェーンコントローラプログラム１６４及び１６５と、ＭＣプログラム１６６乃至１６９とが、それぞれ読み込んだ状態が、図１のアプリケーション１と、構成管理部２と、チェーンコントローラ４０ａ及び４０ｂと、ＭＣ４１乃至４４とは、それぞれの機能ブロックに対応する。
【００６８】
ＯＳ１６０は、マルチメディア処理システム１００における各種処理を制御するための基本ソフトウェアである。ＭＣプログラム１６６乃至１６９は、それぞれ所定のマルチメディア処理を行うための個別の機能が実装されたコンピュータプログラムである。例えば、ＭＣプログラム１６６には、入力装置１４１から入力されるデータを受け付ける処理が実装されている。また、ＭＣプログラム１６７には、ＭＣプログラム１６６により受け付けられたデータをデコード等の加工処理が実装されている。また、ＭＣプログラム１６８には、ＭＣプログラム１６７により加工処理されたデータを出力装置１４２へ出力する処理が実装されている。また、ＭＣプログラム１６９には、ＭＣプログラム１６６により受け付けられたデータを出力装置１４３へ出力する処理が実装されている。尚、ＭＣプログラム１６６乃至１６９の数及び各種処理はこれに限定されない。例えば、ＭＣプログラム１６６乃至１６９は、一つのプログラムファイル内に複数のＡＰＩ（Application Program Interface）として実装されたものであってもよい。少なくともＭＣプログラム１６６乃至１６９には、複数の異なる個別の機能に関するモジュールの集合であるものとする。
【００６９】
チェーンコントローラプログラム１６４及び１６５は、ＭＣプログラム１６６乃至１６９の内、複数を接続等の管理を行う処理が実装されたコンピュータプログラムである。構成定義情報１６３は、ＭＣプログラム１６６乃至１６９の内、複数の組合せとチェーンコントローラプログラム１６４又は１６５のいずれかとの対応付けを定義した情報である。尚、構成定義情報１６３は、図１の構成定義情報３０に対応する。
【００７０】
構成管理プログラム１６２は、アプリケーションプログラム１６１等の外部からの指示に応じて、構成定義情報１６３に基づき複数のＭＣにリソースを割り当ててチェーンを形成することにより所定のマルチメディア処理を行わせるコンピュータプログラムである。アプリケーションプログラム１６１は、構成管理プログラム１６２に対して、構成定義情報１６３に定義されたチェーンを指定し、所定のマルチメディア処理の指示を行うコンピュータプログラムである。
【００７１】
マルチメディア処理システム１００は、ＣＰＵ１１０が、ＲＡＭ１２０、ＲＯＭ１３０又はハードディスク１５０に格納されたＯＳ（Operating System）１６０と、アプリケーションプログラム１６１と、構成管理プログラム１６２と、チェーンコントローラプログラム１６４及び１６５と、ＭＣプログラム１６６乃至１６９とを読み込み、実行する。これにより、マルチメディア処理システム１００は、所定のマルチメディア処理を行うものである。
【００７２】
図７は、本発明の実施の形態１にかかるコンプレックスを生成するための制御の流れを示すシーケンス図である。まず、アプリケーション１は、生成対象のコンプレックス識別子を含めてコンプレックス生成指示を構成管理部２に対して送信する（Ｓ１０１）。
【００７３】
次に、構成管理部２は、記憶装置３からコンプレックス構成定義を検索する（Ｓ１０２）。具体的には、構成管理部２は、アプリケーション１から受信したコンプレックス生成指示からコンプレックス識別子を抽出し、抽出したコンプレックス識別子を検索キーとして記憶装置３に格納されたコンプレックス構成定義３２対して検索要求を送信する。
【００７４】
そして、構成管理部２は、記憶装置３から検索結果を取得する（Ｓ１０３）。具体的には、構成管理部２は、コンプレックス構成定義３２から検索キーであるコンプレックス識別子に対応付けられた形成可能チェーン、相手チェーン及び共有ＭＣの情報を検索結果として取得する。
【００７５】
続いて、構成管理部２は、アプリケーション１により指定されたコンプレックス識別子及び検索結果に基づき、コンプレックス生成処理を行う（Ｓ１０４）。尚、コンプレックス生成処理の詳細は、図８により後述する。その後、構成管理部２は、コンプレックス生成処理の処理結果をアプリケーション１へ返信する（Ｓ１０５）。処理結果としては、例えば、正常終了又は異常終了を示すコード等である。
【００７６】
図８は、本発明の実施の形態１にかかるコンプレックス生成処理の流れを示すフローチャートである。まず、構成管理部２は、指定されたコンプレックス識別子が正しいか否かを判定する（Ｓ２０１）。例えば、当該コンプレックス識別子がコンプレックス構成定義３２に定義されていなかった場合、ステップＳ１０３における検索結果がエラーとなる。この場合、構成管理部２は、指定されたコンプレックス識別子が正しくないと判定する。
【００７７】
ステップＳ２０１において、指定されたコンプレックス識別子が正しいと判定した場合、構成管理部２は、コンプレックスのリソースの確保が可能か否かを判定する（Ｓ２０２）。例えば、構成管理部２は、取得された検索結果からコンプレックス生成情報管理テーブルに必要なメモリサイズを算出し、算出されたメモリサイズが確保可能か否かを判定する。
【００７８】
ステップＳ２０１において、指定されたコンプレックス識別子が正しくないと判定した場合、又は、ステップＳ２０２において、コンプレックスのリソースの確保が不可能と判定した場合、構成管理部２は、異常終了する。例えば、構成管理部２は、所定のエラーコード等をアプリケーション１に対して返信する。
【００７９】
ステップＳ２０２において、コンプレックスのリソースの確保が可能と判定した場合、構成管理部２は、コンプレックスのリソースを確保する（Ｓ２０３）。例えば、構成管理部２は、前記算出されたメモリサイズをコンプレックス生成情報管理テーブルに割り当てる。
【００８０】
そして、構成管理部２は、コンプレックス生成情報管理テーブルを更新する（Ｓ２０４）。具体的には、構成管理部２は、コンプレックス生成情報管理テーブル内で、指定されたコンプレックス識別子に対応する生成状況を生成済みと更新する。尚、このとき、指定されたコンプレックス識別子に対応する内部に形成済みのチェーンには、いずれのチェーンも設定されていない。ステップＳ２０４の後、構成管理部２は、コンプレックス生成処理を正常終了する。
【００８１】
図９は、本発明の実施の形態１にかかるチェーンを形成するための制御の流れを示すシーケンス図である。まず、アプリケーション１は、チェーン形成指示を構成管理部２に対して送信する（Ｓ３０１）。このとき、アプリケーション１は、形成対象のチェーン識別子と、対応付けるコンプレックス識別子とをチェーン形成指示に含めて送信する。尚、チェーン形成指示にコンプレックス識別子を含めなくても構わない。つまり、アプリケーション１がチェーン形成指示を送信する際に、コンプレックスを指定しなくてもよい。また、図３には、コンプレックスＸ及びＹの双方にチェーンＡとＣが定義されている。例えば、チェーンＡとＣとを形成する予定がある場合、アプリケーション１は、コンプレックス識別子を選択することにより、チェーン間で共有するＭＣを決定することができる。
【００８２】
次に、構成管理部２は、図７のステップＳ１０２及びＳ１０３と同様に、記憶装置３からコンプレックス構成定義を検索（Ｓ３０２）し、記憶装置３から検索結果を取得する（Ｓ３０３）。尚、チェーン形成指示にコンプレックス識別子が含まれていなかった場合には、ステップＳ３０２及びＳ３０３の処理は行わず、ステップＳ３０４へ進むものとする。
【００８３】
引き続き、構成管理部２は、記憶装置３からチェーン構成定義を検索する（Ｓ３０４）。具体的には、構成管理部２は、アプリケーション１から受信したチェーン形成指示からチェーン識別子を抽出し、抽出したチェーン識別子を検索キーとして記憶装置３に格納されたチェーン構成定義３１対して検索要求を送信する。
【００８４】
そして、構成管理部２は、記憶装置３から検索結果を取得する（Ｓ３０５）。具体的には、構成管理部２は、チェーン構成定義３１から検索キーであるチェーン識別子に対応付けられたチェーンコントローラ情報及びＭＣ情報を検索結果として取得する。
【００８５】
続いて、構成管理部２は、アプリケーション１により指定されたチェーン識別子、コンプレックス識別子及び検索結果に基づき、チェーン形成処理を行う（Ｓ３０６）。すなわち、構成管理部２は、形成対象のチェーンに定義されたチェーンコントローラ及び複数のＭＣの生成を行う。ここでは、アプリケーション１からコンプレックス７及びチェーン４Ａが指定され、構成管理部２は、チェーンコントローラ４０ａ及びＭＣ４１乃至４３を生成したものとする。このとき、併せて、構成管理部２は、生成対象となったＭＣの集合である対象ＭＣリストを生成する。尚、チェーン形成処理の詳細は、図１０により後述する。
【００８６】
そして、構成管理部２は、対象ＭＣリストを含めてチェーン初期化指示をチェーンコントローラ４０ａに対して送信する（Ｓ３０７）。チェーンコントローラ４０ａは、チェーン初期化処理を行う（Ｓ３０８）。尚、チェーン初期化処理の詳細は、図１３により後述する。その後、チェーンコントローラ４０ａは、構成管理部２へ処理結果を返信する（Ｓ３０９）。
【００８７】
続いて、構成管理部２は、チェーン形成情報更新処理を行う（Ｓ３１０）。尚、チェーン形成情報更新処理の詳細は、図１４により後述する。その後、構成管理部２は、チェーン形成情報更新処理の処理結果をアプリケーション１へ返信する（Ｓ３１１）。
【００８８】
尚、アプリケーション１から送信されるチェーン形成指示に含まれるコンプレックス識別子に対応するコンプレックスが未生成である場合には、構成管理部２は、ステップＳ３０６の前までに、図８のコンプレックス生成処理を実行するものとする。
【００８９】
図１０は、本発明の実施の形態１にかかるチェーン形成処理の流れを示すフローチャートである。まず、構成管理部２は、アプリケーション１からのチェーン形成指示がコンプレックス内へのチェーン形成であるか否かを判定する（Ｓ４０１）。具体的には、構成管理部２は、チェーン形成指示にコンプレックス識別子が含まれているか否かを判定し、コンプレックス識別子が含まれていれば、コンプレックス内へのチェーン形成であると判定する。
【００９０】
ステップＳ４０１において、コンプレックス内へのチェーン形成であると判定した場合、構成管理部２は、指定されたコンプレックスが生成済みであるか否かを判定する（Ｓ４０２）。具体的には、構成管理部２は、コンプレックス生成情報管理テーブルを参照し、チェーン形成指示に含まれるコンプレックス識別子について、生成状況が生成済みであるか否かを判定する。
【００９１】
ステップＳ４０２において、指定されたコンプレックスが未生成であると判定した場合、構成管理部２は、異常終了する。例えば、構成管理部２は、所定のエラーコード等をアプリケーション１に対して返信する。
【００９２】
ステップＳ４０２において、指定されたコンプレックスが生成済みであると判定した場合、構成管理部２は、既存チェーンとの間で共有ＭＣが存在するか否かを判定する（Ｓ４０３）。具体的には、まず、構成管理部２は、コンプレックス生成情報管理テーブルを参照し、指定されたコンプレックスにおける内部に形成済みのチェーンのリストを取得する。次に、構成管理部２は、記憶装置３に格納されたコンプレックス構成定義３２を参照し、指定されたコンプレックスにおける生成可能チェーンの内、形成済みのチェーンに対応付けられた相手チェーンに、当該指定されたチェーン識別子が含まれるか否かを判定する。尚、構成管理部２は、記憶装置３に格納されたコンプレックス構成定義３２を参照し、指定されたコンプレックスにおける生成可能チェーンの内、当該指定されたチェーン識別子が含まれるか否かを判定し、含まれると判定した場合に、取得した形成済みのチェーンのリストと、当該当該指定されたチェーンに対応付けられた相手チェーンとを比較し、一致するチェーンが存在するか否かを判定するようにしてもよい。いずれにしても、構成管理部２は、指定されたコンプレックス内に形成済みのチェーンのリストと、指定されたチェーン識別子と、コンプレックス構成定義３２に定義された形成可能チェーンと相手チェーンとに基づいて、既存チェーンとの間で共有ＭＣが存在するか否かを判定する。
【００９３】
ステップＳ４０１において、コンプレックス内へのチェーン形成でないと判定した場合、構成管理部２は、チェーンコントローラのリソースを確保する（Ｓ４０９）。つまり、この場合、構成管理部２は、コンプレックスの定義を利用せずに、単独でチェーンを形成する。具体的には、まず、構成管理部２は、ステップＳ３０５により取得された検索結果に含まれるチェーンコントローラ情報から、生成すべきチェーンコントローラを特定する。次に、構成管理部２は、特定されたチェーンコントローラに対応するプログラムを読み込み、リソースを割り当てる。例えば、特定されたチェーンコントローラがチェーンコントローラ４０ａである場合、ＣＰＵ１１０は、チェーンコントローラプログラム１６４をハードディスク１５０からＲＡＭ１２０に読み込み、リソースを割り当てる。
【００９４】
次に、構成管理部２は、新規チェーンに必要なＭＣを抽出する（Ｓ４１０）。具体的には、構成管理部２は、ステップＳ３０５により取得された検索結果に含まれるＭＣ情報に定義された全てのＭＣを抽出し、対象ＭＣリストを生成する。そして、構成管理部２は、ＭＣ生成処理を行う（Ｓ４１１）。尚、ＭＣ生成処理の詳細は、図１１により後述する。
【００９５】
続いて、構成管理部２は、ＭＣ間の接続方法を抽出する（Ｓ４１２）。具体的には、構成管理部２は、記憶装置３に格納されたチェーン構成定義３１から、定義された各ＭＣ間の全ての接続関係情報を取得する。その後、構成管理部２は、ＭＣ接続処理を行う（Ｓ４１３）。尚、ＭＣ接続処理の詳細は、図１２により後述する。
【００９６】
尚、ステップＳ４０３において、既存チェーンとの間で共有ＭＣが存在しないと判定した場合についても、同様に、ステップＳ４０９乃至Ｓ４１３を実行する。図３の例では、コンプレックスＸ及びチェーンＡが指定された場合に、少なくともコンプレックスＸ内にチェーンＢ及びＣが未形成である場合となる。このとき、チェーンＡに定義されたチェーンコントローラａ，ＭＣ＃１、ＭＣ＃２、ＭＣ＃３が生成される。
【００９７】
ステップＳ４０３において、既存チェーンとの間で共有ＭＣが存在すると判定した場合、構成管理部２は、ステップＳ４０９と同様に、チェーンコントローラのリソースを確保する（Ｓ４０４）。すなわち、指定されたコンプレックスにおける形成可能チェーンの内、形成済みのチェーンに対応付けられた相手チェーンに、当該指定されたチェーン識別子が含まれると判定された場合となる。図３の例では、コンプレックスＸ及びチェーンＢが指定された場合に、コンプレックスＸ内にチェーンＡが形成済みであり、チェーンＡの相手チェーンとしてチェーンＢが定義されている場合となる。
【００９８】
次に、構成管理部２は、新規チェーンに必要なＭＣのうち、既存チェーンと共有しないものを抽出する（Ｓ４０５）。具体的には、構成管理部２は、ステップＳ３０５により取得された検索結果に含まれるＭＣ情報に定義された全てのＭＣの中から、形成済みのチェーンに対応付けられた共有ＭＣ以外のＭＣを抽出し、対象ＭＣリストを生成する。図３の例では、チェーンＢのＭＣ情報に定義されたＭＣ＃１及びＭＣ＃４の中から、共有ＭＣであるＭＣ＃１を除いたＭＣ＃４のみが対象ＭＣリストとして抽出される。そして、構成管理部２は、抽出されたＭＣについて、ＭＣ生成処理を行う（Ｓ４０６）。
【００９９】
続いて、構成管理部２は、既存ＭＣを共有してＭＣ間の接続方法を抽出する（Ｓ４０７）。具体的には、構成管理部２は、記憶装置３に格納されたチェーン構成定義３１から、定義された各ＭＣ間の接続関係情報の内、対象ＭＣリストに関する接続関係情報を取得する。その後、構成管理部２は、ＭＣ接続処理を行う（Ｓ４０８）。ステップＳ４０８又はＳ４１３の後、構成管理部２は、チェーン形成処理を正常終了する。
【０１００】
図１１は、本発明の実施の形態１にかかるＭＣ生成処理の流れを示すフローチャートである。ここでは、まず、構成管理部２は、ステップＳ４０５又はＳ４１０において生成された対象ＭＣリストの中から任意のＭＣを対象ＭＣとして選択する。
【０１０１】
そして、構成管理部２は、対象ＭＣのリソースを確保する（Ｓ５０１）。具体的には、構成管理部２は、対象ＭＣに対応するプログラムを読み込み、リソースを割り当てる。例えば、対象ＭＣがＭＣ４１である場合、ＣＰＵ１１０は、ＭＣプログラム１６６をハードディスク１５０からＲＡＭ１２０に読み込み、リソースを割り当てる。次に、構成管理部２は、リソースを確保した対象ＭＣを初期化する（Ｓ５０２）。例えば、構成管理部２は、リソースを確保した対象ＭＣにおける初期化ルーチンを実行する。
【０１０２】
ここで、構成管理部２は、全対象ＭＣの生成処理が完了したか否かを判定する（Ｓ５０３）。すなわち、構成管理部２は、対象ＭＣリストの中に未選択のＭＣが存在するか否かを判定する。未選択のＭＣが存在すると判定した場合、構成管理部２は、未選択のＭＣの中から任意のＭＣを選択し、対象ＭＣとしてステップＳ５０１及びＳ５０２を実行する。ステップＳ５０３において、全対象ＭＣの生成処理が完了したと判定した場合、構成管理部２は、ＭＣ生成処理を正常終了する。尚、図１１において、対象ＭＣリスト内の複数の対象ＭＣについてステップＳ５０１及びＳ５０２を並列して実行しても構わない。
【０１０３】
図１０のステップＳ４１１において、構成管理部２は、形成するチェーンに定義された全てのＭＣを生成する。一方、ステップＳ４０６において、構成管理部２は、形成するチェーンに定義された全てのＭＣのうち共有ＭＣ以外のＭＣを生成する。つまり、ステップＳ４０６においては、共有ＭＣについては生成済みであるため、生成を行わない。そのため、不要なＭＣ生成処理を抑制し、処理効率を高め、かつ、リソースを有効活用することができる。
【０１０４】
図１２は、本発明の実施の形態１にかかるＭＣ接続処理の流れを示すフローチャートである。まず、構成管理部２は、ステップＳ４０７又はＳ４１２において取得された接続関係情報の中から選択された一組のＭＣを接続元ＭＣ及び接続先ＭＣとして選択する。また、以下では、接続元ＭＣをＭＣ４１、接続先ＭＣをＭＣ４２とした例を説明する。尚、ステップＳ６０１乃至Ｓ６０３の処理は、接続元ＭＣ及び接続先ＭＣが他の組合せであっても同様であるため、その他の組合せについては説明を省略する。
【０１０５】
まず、構成管理部２は、接続元ＭＣの出力バッファアドレスとサイズを接続先ＭＣに通知する（Ｓ６０１）。例えば、構成管理部２は、ＭＣ４１の出力ポートに対応する出力バッファアドレスとサイズをＭＣ４１の制御用インタフェースを介して取得する。そして、構成管理部２は、ＭＣ４２の制御用インタフェースを介して当該出力バッファアドレスとサイズを送信する。
【０１０６】
次に、構成管理部２は、接続元ＭＣから接続先ＭＣへの処理タイミング通知手段を登録する（Ｓ６０２）。ここで、処理タイミング通知手段とは、例えば、ＭＣ４１からＭＣ４２へ、ＭＣ４２のバッファへデータを充填完了した時に呼び出す関数等であればよい。
【０１０７】
さらに、構成管理部２は、接続先ＭＣから接続元ＭＣへの処理タイミング通知手段を登録する（Ｓ６０３）。ここで、処理タイミング通知手段とは、例えば、ＭＣ４２からＭＣ４１へ、ＭＣ４２のバッファのデータについて処理完了した時に呼び出す関数等であればよい。
【０１０８】
その後、構成管理部２は、全対象ＭＣの接続処理が完了したか否かを判定する（Ｓ６０４）。すなわち、構成管理部２は、得された接続関係情報の中に未選択のＭＣの組合せが存在するか否かを判定する。未選択のＭＣの組合せが存在すると判定した場合、構成管理部２は、未選択のＭＣの組合せの中から任意の一組を選択し、接続元ＭＣ及び接続先ＭＣとしてステップＳ６０１乃至Ｓ６０３の処理を実行する。ステップＳ６０４において、全対象ＭＣの接続処理が完了したと判定した場合、構成管理部２は、ＭＣ接続処理を正常終了する。
【０１０９】
図１３は、本発明の実施の形態１にかかるチェーン初期化処理の流れを示すフローチャートである。以下では、チェーンコントローラ４０ａがＤＴＶの再生処理を行うものとする。そのため、チェーンコントローラ４０ａには、予め、ＭＰＥＧ２−ＴＳ、主音声、及びＨＤ（High Definition）というモードの情報を保持しているものとする。または、ステップＳ３０７において、構成管理部２は、対象ＭＣリストに含まれる各ＭＣにおいて設定すべきモードの情報を含めてチェーン初期化指示を送信しても構わない。
【０１１０】
まず、チェーンコントローラ４０ａは、構成管理部２から対象ＭＣリストを含めたチェーン初期化指示を受信する。そして、チェーンコントローラ４０ａは、チェーンコントローラ４０ａの初期化を行う（Ｓ７０１）。例えば、チェーンコントローラ４０ａは、初期化ルーチンを実行する。
【０１１１】
次に、チェーンコントローラ４０ａは、チェーン初期化指示に含まれる対象ＭＣリストの中から任意のＭＣを対象ＭＣとして選択する。ここで、チェーンコントローラ４０ａは、対象ＭＣの入力モードの設定を行う（Ｓ７０２）。例えば、チェーンコントローラ４０ａは、ＭＣ４１について、動画圧縮フォーマットをＭＰＥＧ２−ＴＳとしてモード設定を行う。
【０１１２】
次に、チェーンコントローラ４０ａは、対象ＭＣの動作モードの設定を行う（Ｓ７０３）。例えば、チェーンコントローラ４０ａは、ＭＣ４２について、再生音声を主音声としてモード設定を行う。
【０１１３】
そして、チェーンコントローラ４０ａは、対象ＭＣの出力モードの設定を行う（Ｓ７０４）。例えば、チェーンコントローラ４０ａは、ＭＣ４３について、映像の解像度をＨＤとしてモード設定を行う。
【０１１４】
ここで、チェーンコントローラ４０ａは、全対象ＭＣのモード設定処理が完了したか否かを判定する（Ｓ７０５）。すなわち、チェーンコントローラ４０ａは、対象ＭＣリストの中に未選択のＭＣが存在するか否かを判定する。未選択のＭＣが存在すると判定した場合、チェーンコントローラ４０ａは、未選択のＭＣの中から任意のＭＣを選択し、対象ＭＣとしてステップＳ７０２乃至Ｓ７０４を実行する。ステップＳ７０５において、全対象ＭＣの生成処理が完了したと判定した場合、チェーンコントローラ４０ａは、チェーン初期化処理を正常終了する。
【０１１５】
図１４は、本発明の実施の形態１にかかるチェーン形成情報更新処理の流れを示すフローチャートである。まず、構成管理部２は、チェーン形成情報管理テーブルを更新する（Ｓ８０１）。具体的には、構成管理部２は、チェーン形成情報管理テーブル内で、指定されたチェーン識別子に対応する形成状況を形成済みと更新する。
【０１１６】
次に、構成管理部２は、指定されたチェーンがコンプレックス内か否かを判定する（Ｓ８０２）。具体的には、構成管理部２は、チェーン形成指示にコンプレックス識別子が含まれているか否かを判定し、コンプレックス識別子が含まれていれば、指定されたチェーンがコンプレックス内であると判定する。
【０１１７】
ステップＳ８０２において、指定されたチェーンがコンプレックス内であると判定した場合、構成管理部２は、コンプレックス生成情報管理テーブルを更新する（Ｓ８０３）。具体的には、構成管理部２は、コンプレックス生成情報管理テーブル内で、指定されたコンプレックス識別子に対応する内部に形成済みのチェーンとして、指定されたチェーン識別子を登録する。
【０１１８】
ステップＳ８０２において、指定されたチェーンがコンプレックス内でないと判定した場合、または、ステップＳ８０３の後、構成管理部２は、チェーン形成情報更新処理を正常終了する。
【０１１９】
続いて、コンプレックス内にチェーンが形成済みの状態で、コンプレックス内のチェーンの接続解除を行う場合について説明する。
【０１２０】
図１５は、本発明の実施の形態１にかかるチェーンの接続を解除するための制御の流れを示すシーケンス図である。まず、アプリケーション１は、接続解除対象のチェーン識別子及び当該チェーン識別子が形成されているコンプレックス識別子を含めてチェーン接続解除指示を構成管理部２に対して送信する（Ｓ９０１）。
【０１２１】
次に、構成管理部２は、図９のステップＳ３０２乃至Ｓ３０５と同様に、指定されたコンプレックス識別子及びチェーン識別子のそれぞれに対応する検索結果を記憶装置３から取得する（Ｓ９０２乃至Ｓ９０５）。
【０１２２】
続いて、構成管理部２は、アプリケーション１により指定されたチェーン識別子、コンプレックス識別子及び検索結果に基づき、解放ＭＣ抽出処理を行う（Ｓ９０６）。ここでは、アプリケーション１からコンプレックス７及びチェーン４Ａが指定され、構成管理部２は、ＭＣ４１乃至４３が解放ＭＣとして抽出し、対象ＭＣリストを生成したものとする。そのため、チェーン終了処理の対象がチェーンコントローラ４０ａとなる。尚、解放ＭＣ抽出処理の詳細は、図１６により後述する。
【０１２３】
そして、構成管理部２は、対象ＭＣリストを含めてチェーン終了指示をチェーンコントローラ４０ａに対して送信する（Ｓ９０７）。チェーンコントローラ４０ａは、チェーン終了処理を行う（Ｓ９０８）。尚、チェーン終了処理の詳細は、図１７により後述する。その後、チェーンコントローラ４０ａは、構成管理部２へ処理結果を返信する（Ｓ９０９）。
【０１２４】
続いて、構成管理部２は、チェーン接続解除処理を行う（Ｓ９１０）。尚、チェーン接続解除処理の詳細は、図１８により後述する。その後、構成管理部２は、チェーン接続解除処理の処理結果をアプリケーション１へ返信する（Ｓ９１１）。
【０１２５】
図１６は、本発明の実施の形態１にかかる解放ＭＣ抽出処理の流れを示すフローチャートである。まず、構成管理部２は、指定されたチェーンが形成済みであるか否かを判定する（Ｓ１００１）。具体的には、構成管理部２は、チェーン形成情報管理テーブルを参照し、チェーン接続解除指示に含まれるチェーン識別子について、形成状況が形成済みであるか否かを判定する。
【０１２６】
ステップＳ１００１において、指定されたチェーンが未形成であると判定した場合、構成管理部２は、異常終了する。例えば、構成管理部２は、所定のエラーコード等をアプリケーション１に対して返信する。
【０１２７】
ステップＳ１００１において、指定されたチェーンが形成済みであると判定した場合、構成管理部２は、指定されたチェーンがコンプレックス内に形成されているか否かを判定する（Ｓ１００２）。具体的には、構成管理部２は、コンプレックス生成情報管理テーブルを参照し、内部に形成済みのチェーンとして当該指定されたチェーン識別子が登録されているか否かを判定する。
【０１２８】
ステップＳ１００２において、指定されたチェーンがコンプレックス内に形成されていると判定した場合、構成管理部２は、指定されたチェーンがコンプレックス内の他のチェーンとの間で共有ＭＣがあるか否かを判定する（Ｓ１００３）。具体的には、まず、構成管理部２は、コンプレックス生成情報管理テーブルから当該指定されたチェーン識別子が内部に形成済みのチェーンとして登録されているコンプレックス識別子を特定する。同様に、構成管理部２は、コンプレックス生成情報管理テーブルから当該特定されたコンプレックスにおける他の形成済みのチェーン識別子を特定する。そして、構成管理部２は、記憶装置３に格納されたコンプレックス構成定義３２を参照し、特定されたコンプレックスにおいて、特定された他の形成済みのチェーンとの間で共有ＭＣが定義されているか否かを判定する。
【０１２９】
ステップＳ１００３において、共有ＭＣがあると判定した場合、構成管理部２は、解放するチェーンのうち、非共有ＭＣを抽出する（Ｓ１００４）。具体的には、構成管理部２は、ステップＳ９０５により取得された検索結果に含まれるＭＣ情報に定義された全てのＭＣの中から、他の形成済みのチェーンとの間で共有ＭＣ以外のＭＣを抽出し、対象ＭＣリストを生成する。
【０１３０】
ステップＳ１００２において、指定されたチェーンがコンプレックス内に形成されていないと判定した場合、又は、ステップＳ１００３において、共有ＭＣがないと判定した場合、構成管理部２は、接続されているＭＣを抽出する（Ｓ１００５）。具体的には、構成管理部２は、ステップＳ９０５により取得された検索結果に含まれるＭＣ情報に定義された全てのＭＣを抽出し、対象ＭＣリストを生成する。
【０１３１】
図１７は、本発明の実施の形態１にかかるチェーン終了処理の流れを示すフローチャートである。まず、チェーンコントローラ４０ａは、構成管理部２から対象ＭＣリストを含めたチェーン終了指示を受信する。次に、チェーンコントローラ４０ａは、チェーン終了指示に含まれる対象ＭＣリストの中から任意のＭＣを対象ＭＣとして選択する。
【０１３２】
そして、チェーンコントローラ４０ａは、対象ＭＣの終了処理を行う（Ｓ１１０１）。例えば、チェーンコントローラ４０ａは、対象ＭＣにおける終了ルーチンを実行する。ここで、構成管理部２は、全対象ＭＣの終了処理が完了したか否かを判定する（Ｓ１１０２）。すなわち、構成管理部２は、対象ＭＣリストの中に未選択のＭＣが存在するか否かを判定する。未選択のＭＣが存在すると判定した場合、構成管理部２は、未選択のＭＣの中から任意のＭＣを選択し、対象ＭＣとしてステップＳ１１０１を実行する。ステップＳ１１０２において、全対象ＭＣの終了処理が完了したと判定した場合、チェーンコントローラ４０ａは、チェーンコントローラ４０ａの終了処理を行う（Ｓ１１０３）。例えば、チェーンコントローラ４０ａは、自己の終了ルーチンを実行する。
【０１３３】
図１８は、本発明の実施の形態１にかかるチェーン接続解除処理の流れを示すフローチャートである。まず、構成管理部２は、各対象ＭＣの接続解除を行う（Ｓ１２０１）。尚、ＭＣ接続解除処理の詳細は、図１９により後述する。
【０１３４】
次に、構成管理部２は、対象ＭＣリストの中から任意のＭＣを対象ＭＣとして選択する。そして、構成管理部２は、対象ＭＣのリソースを解放する（Ｓ１２０２）。具体的には、構成管理部２は、主記憶装置内に確保された対象ＭＣに対応するプログラムの領域をクリアして、他に割り当て可能な状態とする。
【０１３５】
ここで、構成管理部２は、全対象ＭＣのリソースの解放処理が完了したか否かを判定する（Ｓ１２０３）。すなわち、構成管理部２は、対象ＭＣリストの中に未選択のＭＣが存在するか否かを判定する。未選択のＭＣが存在すると判定した場合、構成管理部２は、未選択のＭＣの中から任意のＭＣを選択し、対象ＭＣとしてステップＳ１２０２を実行する。ステップＳ１２０２において、全対象ＭＣの生成処理が完了したと判定した場合、構成管理部２は、チェーンコントローラ４０ａのリソースを解放する（Ｓ１２０４）。具体的には、構成管理部２は、主記憶装置内に確保されたチェーンコントローラ４０ａに対応するプログラムの領域をクリアして、他に割り当て可能な状態とする。
【０１３６】
そして、構成管理部２は、チェーン形成情報管理テーブルを更新する（Ｓ１２０５）。具体的には、構成管理部２は、チェーン形成情報管理テーブル内で、指定されたチェーン識別子に対応する形成状況を未形成と更新する。
【０１３７】
続いて、構成管理部２は、指定されたチェーンがコンプレックス内に形成されているか否かを判定する（Ｓ１２０６）。具体的には、構成管理部２は、コンプレックス生成情報管理テーブルを参照し、内部に形成済みのチェーンとして当該指定されたチェーン識別子が登録されているか否かを判定する。
【０１３８】
ステップＳ１２０６において、指定されたチェーンがコンプレックス内に形成されていると判定した場合、構成管理部２は、コンプレックス生成情報管理テーブルを更新する（Ｓ１２０７）。具体的には、構成管理部２は、コンプレックス生成情報管理テーブル内で、指定されたコンプレックス識別子に対応する内部に形成済みのチェーンから、指定されたチェーン識別子を削除する。
【０１３９】
ステップＳ１２０６において、指定されたチェーンがコンプレックス内でないと判定した場合、または、ステップＳ１２０７の後、構成管理部２は、チェーン接続解除処理を正常終了する。
【０１４０】
図１９は、本発明の実施の形態１にかかるＭＣ接続解除処理の流れを示すフローチャートである。まず、構成管理部２は、記憶装置３に格納されたチェーン構成定義３１から、接続解除対象として指定されたチェーンに定義された各ＭＣ間の全ての接続関係情報を取得する。次に、構成管理部２は、取得された接続関係情報の中から選択された一組のＭＣを接続元ＭＣ及び接続先ＭＣとして選択する。
【０１４１】
まず、構成管理部２は、接続元ＭＣの出力バッファアドレスとサイズを接続先ＭＣから削除する（Ｓ１３０１）。例えば、構成管理部２は、ＭＣ４２の制御用インタフェースを介して、ＭＣ４１の出力ポートに対応する出力バッファアドレスとサイズをＭＣ４２から削除する。
【０１４２】
次に、構成管理部２は、接続元ＭＣから接続先ＭＣへの処理タイミング通知手段の登録を削除する（Ｓ１３０２）。さらに、構成管理部２は、接続先ＭＣから接続元ＭＣへの処理タイミング通知手段の登録を削除する（Ｓ１３０３）。
【０１４３】
その後、構成管理部２は、全対象ＭＣの接続処理が完了したか否かを判定する（Ｓ１３０４）。すなわち、構成管理部２は、得された接続関係情報の中に未選択のＭＣの組合せが存在するか否かを判定する。未選択のＭＣの組合せが存在すると判定した場合、構成管理部２は、未選択のＭＣの組合せの中から任意の一組を選択し、接続元ＭＣ及び接続先ＭＣとしてステップＳ１３０１乃至Ｓ１３０３の処理を実行する。ステップＳ１３０４において、全対象ＭＣの接続解除処理が完了したと判定した場合、構成管理部２は、ＭＣ接続解除処理を正常終了する。
【０１４４】
図２０は、本発明の実施の形態１にかかるコンプレックスを解放するための制御の流れを示すシーケンス図である。まず、アプリケーション１は、解放対象のコンプレックス識別子を含めてコンプレックス解放指示を構成管理部２に対して送信する（Ｓ１４０１）。次に、構成管理部２は、コンプレックス解放処理を行う（Ｓ１４０２）。尚、コンプレックス解放処理の詳細は、図２１により後述する。その後、構成管理部２は、コンプレックス解放処理の処理結果をアプリケーション１へ返信する（Ｓ１４０３）。
【０１４５】
図２１は、本発明の実施の形態１にかかるコンプレックス解放処理の流れを示すフローチャートである。まず、構成管理部２は、指定されたコンプレックスが生成済みであるか否かを判定する（Ｓ１５０１）。具体的には、構成管理部２は、コンプレックス生成情報管理テーブルを参照し、チェーン形成指示に含まれるコンプレックス識別子について、生成状況が生成済みであるか否かを判定する。
【０１４６】
ステップＳ１５０１において、指定されたコンプレックスが生成済みであると判定した場合、構成管理部２は、生成済みのコンプレックス内にチェーンが形成済みであるか否かを判定する（Ｓ１５０２）。具体的には、構成管理部２は、コンプレックス生成情報管理テーブルを参照し、内部に形成済みのチェーンにチェーン識別子が登録されているか否かを判定する。
【０１４７】
ステップＳ１５０２において、生成済みのコンプレックス内にチェーンが形成済みでないと判定した場合、構成管理部２は、コンプレックスのリソースを解放する（Ｓ１５０３）。併せて、構成管理部２は、コンプレックス生成情報管理テーブルを更新する（Ｓ１５０４）。具体的には、構成管理部２は、コンプレックス生成情報管理テーブルから指定されたコンプレックス識別子に対応する生成状況を未生成と更新する。また、構成管理部２は、コンプレックス生成情報管理テーブルに割り当てたメモリ領域を解放する。ステップＳ１５０４の後、構成管理部２は、ココンプレックス解放処理を正常終了する。
【０１４８】
ステップＳ１５０１において、指定されたコンプレックスが未生成であると判定した場合、又は、ステップＳ１５０２において、生成済みのコンプレックス内にチェーンが形成済みであると判定した場合、構成管理部２は、異常終了する。例えば、構成管理部２は、所定のエラーコード等をアプリケーション１に対して返信する。
【０１４９】
以上のことから、本発明の実施の形態１では、コンプレックス内にチェーンが形成された状態で、同じコンプレックス内に、形成済みのチェーンとＭＣを共有する別のチェーンを形成することや、ＭＣを共有するチェーンの接続解除を行う際に、マルチメディア処理を一旦止めることなく、システムの切り替えを行うことができる。また、形成前及び接続解除後のチェーンに関するリソースが解放された状態にしておくことができる。
【０１５０】
そこで、図２２を用いて、本発明の実施の形態１にかかるコンプレックスによる機能切り替えの例を説明する。まず、ＤＴＶ録再コンプレックスＣＭＰ１には、ＤＴＶ録画チェーンＣＨＡ及びＤＴＶライブ再生チェーンＣＨＢの２つのチェーンが定義されており、デマルチプレクサＭＣ１が共有ＭＣとして定義されているものとする。このとき、図２２の上段では、ＤＴＶ録再コンプレックスＣＭＰ１内にＤＴＶライブ再生チェーンＣＨＢのみが形成済みであることを示す。つまり、ＤＴＶライブ再生機能Ｆ２が発現しており、ＤＴＶ録画機能Ｆ１は発現していないことを示す。
【０１５１】
ここで、ＤＴＶ録画機能Ｆ１を発現させる必要が生じたとする。その場合、アプリケーション１は、ＤＴＶ録画チェーンＣＨＡ及びＤＴＶ録再コンプレックスＣＭＰ１を指定したチェーン形成指示を送信する。そして、構成管理部２は、ＤＴＶ録再コンプレックスＣＭＰ１内にＤＴＶ録画チェーンＣＨＡを形成する。この際、図２２の中段に示すように、構成管理部２は、ＤＴＶ録再コンプレックスＣＭＰ１のコンプレックス構成定義３２に従って、ＤＴＶライブ再生チェーンＣＨＢを形成する際に生成済みのデマルチプレクサＭＣ１を共有し、ストリーム出力ＭＣ２のみを生成して、ＤＴＶ録画チェーンＣＨＡを形成する。
【０１５２】
これにより、ＤＴＶライブ再生チェーンＣＨＢを一旦、停止及び解放することなく、すなわち、ＤＴＶライブ再生機能Ｆ２を中断することなく、ＤＴＶ録画機能Ｆ１を発現することが可能となる。また、ＤＴＶ録画チェーンＣＨＡが形成されるまでの間は、ＤＴＶ録画チェーンＣＨＡに用いられるリソースを確保する必要がない。すなわち、その間は、リソースの無駄が発生しない。
【０１５３】
さらに、ＤＴＶ録画機能Ｆ１が不要になったとする。この場合、アプリケーション１は、ＤＴＶ録画チェーンＣＨＡ及びＤＴＶ録再コンプレックスＣＭＰ１を指定したチェーン接続解除指示を送信する。そして、構成管理部２は、ＤＴＶ録再コンプレックスＣＭＰ１内からＤＴＶ録画チェーンＣＨＡを接続解除する。この際、構成管理部２は、ＤＴＶ録画チェーンＣＨＡ内で生成済みのＭＣの内、ストリーム出力ＭＣ２のみを終了及び解放し、デマルチプレクサＭＣ１を継続してＤＴＶライブ再生チェーンＣＨＢに使用させる。
【０１５４】
これにより、図２２の上段に示すＤＴＶ録再コンプレックスＣＭＰ１の状態に戻すことができる。つまり、ＤＴＶライブ再生チェーンＣＨＢを一旦、停止及び解放することなく、すなわち、ＤＴＶライブ再生機能Ｆ２を中断することなく、ＤＴＶ録画機能Ｆ１を停止することが可能となる。また、ＤＴＶ録画チェーンＣＨＡが解放された後は、ＤＴＶ録画チェーンＣＨＡに用いられるリソースを不必要に確保する必要がない。すなわち、その後は、リソースの無駄が発生しない。
【０１５５】
尚、ＤＴＶ録画機能Ｆ１のみが発現している状態から、ＤＴＶライブ再生機能Ｆ２を発現させる場合、または、その逆の場合については、図２２の下段と中段との変更になる。例えば、図２２の中段に示すように、同一チャネルについて、録画及び再生を行っている状態から、再生のみを停止する場合には、構成管理部２は、ＤＴＶ録再コンプレックスＣＭＰ１内からＤＴＶライブ再生チェーンＣＨＢを接続解除する。この場合、ＤＴＶライブ再生チェーンＣＨＢのみが使用しているＭＣに割り当てられたリソースを解放する。これにより、ＤＴＶ録画機能Ｆ１を中断することなく、ＤＴＶライブ再生機能Ｆ２を開始又は停止することができる。これらの場合も上述した例と同等であるため、詳細な説明を省略する。
【０１５６】
また、コンプレックス外のチェーンとコンプレックス内のチェーンとの間では、仮に重複したＭＣが定義されていたとしても、ＭＣを共有せずにチェーンを形成することとなる。図２３は、本発明の実施の形態１にかかるコンプレックス外へのチェーン形成の例を示す図である。ここでは、ダブルチューナ装置を対象とする。
【０１５７】
図２３の上段に示す状態において、ＤＴＶライブ再生チェーンＣＨＢが再生するチャネルとは異なるチャネルについてＤＴＶ録画機能Ｆ１を発現させる必要が生じたとする。その場合、アプリケーション１は、ＤＴＶ録画チェーンＣＨＡを指定したチェーン形成指示を送信する。つまり、アプリケーション１は、チェーン形成指示にＤＴＶ録再コンプレックスＣＭＰ１を含めない。この際、図２３の中段に示すように、構成管理部２は、ＤＴＶ録再コンプレックスＣＭＰ１外に、ＤＴＶ録画チェーンＣＨＡを形成する。すなわち、ＤＴＶライブ再生チェーンＣＨＢとＤＴＶ録画チェーンＣＨＡとはデマルチプレクサＭＣ１を共有しない。このように、アプリケーション１からは複数のチェーン間でＭＣを共有させるか否かをチェーン形成指示により柔軟に選択することができる。
【０１５８】
一方、アプリケーション１は、ＤＴＶ録画チェーンＣＨＡ及びＤＴＶ録再コンプレックスＣＭＰ１を指定したチェーン形成指示を送信することにより、図２２と同様に、図２３の上段から下段の状態となり、ＭＣを共有することができる。
【０１５９】
さらに、異なるコンプレックスにおけるチェーン間においても、ＭＣを共有せずにチェーンを形成することができる。図２４は、本発明の実施の形態１にかかる任意のチェーンとのＭＣ共有の例を示す図である。ここでは、ダブルチューナ装置を対象とする。具体的には、ＤＴＶ録画機能Ｆ１のためのリソースは、デマルチプレクサＭＣ１及びストリーム出力ＭＣ２用に二組有するものとする。一方、ＤＴＶライブ再生機能Ｆ２のためのリソースは、音声出力ＭＣ４及びビデオ出力ＭＣ７用に一組しか有さないものとする。
【０１６０】
ここでは、ＤＴＶ録再コンプレックスＣＭＰ２には、ＤＴＶ録画チェーンＣＨＥ及びＤＴＶライブ再生チェーンＣＨＤの２つのチェーンが定義されており、デマルチプレクサＭＣ１が共有ＭＣとして定義されているものとする。また、ＤＴＶ録再コンプレックスＣＭＰ３には、ＤＴＶ録画チェーンＣＨＦ及びＤＴＶライブ再生チェーンＣＨＤの２つのチェーンが定義されており、デマルチプレクサＭＣ１が共有ＭＣとして定義されているものとする。そして、ＤＴＶ録画チェーンＣＨＥ及びＣＨＦは、定義されているＭＣが同一であるものとする。
【０１６１】
このとき、図２４の上段では、ＤＴＶ録再コンプレックスＣＭＰ２内にＤＴＶ録画チェーンＣＨＥのみが形成済みであり、ＤＴＶ録再コンプレックスＣＭＰ３内にＤＴＶ録画チェーンＣＨＦのみが形成済みであることを示す。つまり、２つのコンプレックスを用いることで、２つのチャネルで同時にＤＴＶ録画機能Ｆ１を発現させることができることを示す。
【０１６２】
ここで、ＤＴＶライブ再生機能Ｆ２を発現させる必要が生じたとする。その場合、アプリケーション１は、ＤＴＶライブ再生チェーンＣＨＤ及びＤＴＶ録再コンプレックスＣＭＰ２を指定したチェーン形成指示を送信する。そして、構成管理部２は、ＤＴＶ録再コンプレックスＣＭＰ２内にＤＴＶライブ再生チェーンＣＨＤを形成する。この際、図２４の下段に示すように、構成管理部２は、ＤＴＶ録再コンプレックスＣＭＰ２のコンプレックス構成定義３２に従って、ＤＴＶ録画チェーンＣＨＥを形成する際に生成済みのデマルチプレクサＭＣ１を共有し、ストリーム出力ＭＣ２のみを生成して、ＤＴＶライブ再生チェーンＣＨＤを形成する。
【０１６３】
一方、ＤＴＶライブ再生機能Ｆ２を異なるチャネルについて発現させる場合、例えば、再生するチャネルを切り替える場合、アプリケーション１は、ＤＴＶライブ再生チェーンＣＨＤ及びＤＴＶ録再コンプレックスＣＭＰ２を指定したチェーン接続解除指示を送信する。続いて、アプリケーション１は、ＤＴＶライブ再生チェーンＣＨＤ及びＤＴＶ録再コンプレックスＣＭＰ３を指定したチェーン形成指示を送信する。これにより、ＤＴＶ録画チェーンＣＨＥ及びＤＴＶ録画チェーンＣＨＦについて停止及び解放することなく、チャネルを切り替えて再生を行うことができる。そして、これらの前後において、２つのコンプレックスのいずれかにおいてＭＣが共有されるため、リソースを有効活用することができる。すわなち、任意の録画中のチャネルについて、ライブ再生が可能となる。
【０１６４】
このように、本発明の実施の形態１により、複数のマルチメディア機能を実現する際に、ＭＣを共有することで、装置のコストを抑えることができる。さらに、将来、複雑なマルチメディア機能を実現する際に、様々なコンポーネントの組合せ及びＭＣの共有が必要とされる可能性が高い。そこで、本発明により、リソースの利用効率を高めることで、従来と同等のハードウェアを用いたとしても、実現可能な機能の選択肢を増やすことができる。よって、本発明の実施の形態１により、複数のチェーンを用いてマルチメディア処理を行う場合に、リソースを有効活用することができる。
【０１６５】
＜発明の実施の形態２＞
上述した実施の形態１により、複数のチェーン間でＭＣのリソースを共有して形成することが可能となった。そして、形成されたチェーンについては、アプリケーションからの各種制御コマンドに応じてチェーン内のＭＣごとの制御が行われることとなる。その際、チェーン内のＭＣごとの制御は、チェーンコントローラに実装される。ここで、同じ制御コマンドに対して、共有ＭＣについては、共有されている他のチェーン（以下、他チェーンと呼ぶ。）の処理状態の影響を受ける。そこで、チェーンコントローラにおける制御ロジックは通常、共有ＭＣの有無、共有ＭＣが定義されている他チェーンが形成済みか否か及び形成済みの他チェーンが具体的な処理中であるか否か等の判定を行った上で、制御コマンドごとかつＭＣごとに個別の処理を実装しなければならない。そのため、チェーンコントローラにおける制御ロジックは、複雑かつ大規模となる。さらに、チェーン構成定義３１やコンプレックス構成定義３２が変更された場合に、対応するように制御ロジックを修正しなければならない。そのため、チェーンコントローラの開発及び保守の効率が悪くなる。そこで、本発明の実施の形態２では、複数のチェーン間でリソースが共有されたＭＣと、共有されていないＭＣとについて、制御対象のチェーン以外のチェーンの処理状態に応じたチェーンの動作モードを定義し、チェーンコントローラには、予め当該動作モードに応じた個別のＭＣの制御を実装するための実施例について説明する。
【０１６６】
図２５は、本発明の実施の形態２にかかるマルチメディア処理システム１０１の構成を示すブロック図である。尚、以下では、実施の形態１との違いを中心に説明し、同等の構成には同一の符号を付し、適宜、詳細な説明を省略する。
【０１６７】
マルチメディア処理システム１０１は、マルチメディア処理システム１００との違いとして、図１の構成管理部２、構成定義情報３０並びにチェーンコントローラ４０ａ及び４０ｂに代わり、構成管理部２ａ、構成定義情報３０ａ並びにチェーンコントローラ４５ａ及び４５ｂを備える。尚、チェーンコントローラ４５ａ及び４５ｂのチェーンコントローラの識別子は、チェーンコントローラ４０ａ及び４０ｂの識別子と同一であるものとする。
【０１６８】
構成管理部２ａは、チェーンを形成後に、当該チェーンにおいて所定のマルチメディア処理が実行されているか否かを示す走行状態を主記憶装置内に登録する。そして、当該登録される走行状態を走行状態管理テーブルにより管理するものとする。ここで、走行状態とは、他チェーンのチェーン制御に影響を与えるチェーンの状態である。また、構成管理部２ａは、チェーンの走行状態が遷移した場合に、走行状態管理テーブルを更新する。
【０１６９】
図２６は、本発明の実施の形態２にかかるチェーンの走行状態遷移を説明するための図である。図２６の走行状態は、少なくともチェーンにおいてマルチメディア処理が停止している状態であることを示す停止中と、マルチメディア処理を実行している状態であることを示す実行中とを含む。走行状態は、形成済みのチェーンに対する少なくとも一部のチェーン制御により状態が遷移する。例えば、あるチェーンが形成された直後の走行状態は、停止中となる。その後、アプリケーション１から構成管理部２ａに対して、当該チェーンについてマルチメディア処理を開始させるための制御コマンドが送信された場合、チェーンコントローラにより各ＭＣの制御が行われて、走行状態が実行中に遷移する。その後、アプリケーション１から構成管理部２ａに対して、当該チェーンについてマルチメディア処理を定義させるための制御コマンドが送信された場合、チェーンコントローラにより各ＭＣの制御が行われて、走行状態が停止中に遷移する。また、制御コマンドによっては、停止中又は実行中から状態が遷移しない場合もある。尚、走行状態の種類は、これに限定されず、遷移のパターンもより複雑なものであって構わない。
【０１７０】
図２７は、本発明の実施の形態２にかかるチェーンの走行状態管理テーブルの例を示す図である。走行状態管理テーブルは、チェーン識別情報と、走行状態との対応付けで表現することができる。図２７では、チェーンＡ及びＢが実行中であり、チェーンＣが停止中であることを示す。
【０１７１】
図２５の構成定義情報３０ａは、チェーン構成定義３１及びコンプレックス構成定義３２に加えて、チェーン動作モード定義３３をさらに含む。チェーン動作モード定義３３は、コンプレックス毎に定義された各チェーンについて、当該チェーンとＭＣのリソースを共有する他チェーンにおける走行状態ごとに複数の動作モードのいずれかを対応付けたものである。ここで、動作モードとは、チェーンに定義されているＭＣごとの動作の制御をグループ化したものの識別情報である。つまり、チェーンの動作モードは、他チェーンの走行状態から導かれるチェーンの制御方法を切り替える値といえる。また、チェーン動作モード定義３３は、コンプレックス識別情報と、チェーン識別情報とにより特定される一意なチェーンに対してＭＣを共有する他チェーンと当該他チェーンの走行状態ごとに、動作モードを定義する。尚、構成定義情報３０ａは、定義された動作モードのリストを別途、含んでも構わない。
【０１７２】
チェーンコントローラ４５ａ及び４５ｂは、動作モードごとに異なる制御が実装されている。例えば、チェーンコントローラ４５ａ及び４５ｂは、動作モードＭ０の場合、制御対象のチェーン内の全てのＭＣに対して共有ＭＣであるか否かに関わらず、通常の制御を行う。また、チェーンコントローラ４５ａ及び４５ｂは、動作モードＭ１の場合、共有ＭＣに対する制御を行わず、非共有ＭＣに対してのみ制御を行う。さらに、チェーンコントローラ４５ａ及び４５ｂは、動作モードＭ２の場合、共有ＭＣに対する制御を行うが、非共有ＭＣとは異なる制御を行う。尚、動作モードの種類及び制御のパターンについては、これに限定されない。
【０１７３】
そして、構成管理部２ａは、アプリケーション１からチェーン制御指示を受け付けた場合に、他チェーンの走行状態から指定されたチェーンの動作モードを特定し、特定された動作モードを含めてチェーンコントローラ４５ａ又は４５ｂへチェーン制御指示を送信する。チェーンコントローラ４５ａ及び４５ｂは、構成管理部２ａから受け付けたチェーン制御指示に含まれる動作モードに応じてＭＣごとの制御方法を決定し、決定した制御方法に基づき制御を行う。また、チェーンコントローラ４５ａ及び４５ｂは、ＭＣの制御によりチェーンの走行状態が遷移した場合に、構成管理部２ａへ通知する。そして、構成管理部２ａは、受け付けた走行状態に基づき、走行状態管理テーブルを更新する。
【０１７４】
図２８は、本発明の実施の形態２にかかるチェーン動作モード定義３３の例を示す図である。チェーン動作モード定義３３は、コンプレックス識別情報と、チェーン識別情報と、ＭＣを共有する他チェーンと、ＭＣを共有する他チェーンの走行状態と、自チェーンの動作モードとの対応付けで表現することができる。図２８では、コンプレックスＸ内の形成済みのチェーンＡについての制御を行う場合に、他チェーンが未形成の場合には、動作モードＭ０が定義されていること示す。また、チェーンＢ又はＣのみが形成済みの場合、それぞれのチェーンの走行状態に応じて、動作モードＭ１又はＭ２が定義されていることを示す。尚、チェーンＢ及びＣについて、異なる動作モードを定義しても構わない。さらに、チェーンＢ及びＣの双方が形成済みの場合、すなわち、コンプレックスＸ内にチェーンＡ、Ｂ及びＣが形成済みの場合、チェーンＡを制御する際には、チェーンＢ及びＣの走行状態の組合せにより異なる動作モードが定義されていることを示す。
【０１７５】
尚、チェーン動作モード定義３３では、コンプレックスによるチェーン管理を行わない場合として、コンプレックス識別情報にコンプレックス外として定義されている。コンプレックス外の場合、全てのチェーンについて、動作モードＭ０として定義していることを示す。
【０１７６】
このように、チェーン動作モード定義３３により、形成済みのチェーンを制御する場合に、ＭＣを共有する他チェーンの走行状態に応じて柔軟に動作モードを定義することができる。
【０１７７】
特に、構成管理部２ａは、第１のコンプレックス情報に基づく第１のチェーン及び第２のチェーンの形成後に、第２のチェーンの制御指示を受け付けた場合に、記憶装置３に格納されたチェーン動作モード定義３３を参照し、形成済みの第１のチェーンにおける走行状態を特定する。そして、構成管理部２ａは、当該特定された走行状態に基づき制御指示の対象である第２のチェーンにおける動作モードを選択する。そして、チェーンコントローラ４５ａ又は４５ｂは、当該選択された動作モードに基づき第２の定義情報に定義されたＭＣごとの制御を行う。これにより、チェーンコントローラ４５ａ及び４５ｂにおける制御コマンドに応じた実装を共通化することができ、チェーンコントローラの開発及び保守を効率的に行うことができる。
【０１７８】
また、複数の動作モードは、チェーンに定義されている全てのＭＣについて制御を行うための第１の動作モードと、チェーンに定義されている全てのＭＣの内、リソースが共有されているＭＣ以外のＭＣについて制御を行うための第２の動作モードと、を含むことが望ましい。この場合、構成管理部２ａは、特定された走行状態が、第１のチェーンにおいて第１のマルチメディア処理が行われていないことを示す場合に、第１の動作モードを選択し、特定された走行状態が、第１のチェーンにおいて第１のマルチメディア処理が行われていることを示す場合に、第２の動作モードを選択する。これにより、同一の制御コマンドに対して共有ＭＣにおける制御を柔軟に行うことができる。
【０１７９】
図２９は、本発明の実施の形態２にかかる形成済みのチェーンの制御の流れを示すシーケンス図である。ここでは、コンプレックス７内にチェーン４Ａ及び４Ｂが形成済みであるものとする。まず、アプリケーション１は、制御対象のチェーン識別子、当該チェーン識別子が形成されているコンプレックス識別子及び制御コマンドを含めてチェーン制御指示を構成管理部２ａに対して送信する（Ｓ１６０１）。ここでは、チェーン４Ａが指定されたものとする。
【０１８０】
次に、構成管理部２ａは、図９のステップＳ３０２乃至Ｓ３０５と同様に、指定されたコンプレックス識別子及びチェーン識別子のそれぞれに対応する検索結果を記憶装置３から取得する（Ｓ１６０２乃至Ｓ１６０５）。
【０１８１】
そして、構成管理部２ａは、動作モード確認処理を行う（Ｓ１６０６）。ここでは、動作モードが特定される。尚、動作モード確認処理の詳細は、図３０により後述する。
【０１８２】
続いて、構成管理部２ａは、制御コマンド及び動作モードを含めてチェーン制御指示をチェーンコントローラ４５ａに対して送信する（Ｓ１６０７）。チェーンコントローラ４５ａは、チェーン制御処理を行う（Ｓ１６０８）。尚、チェーン制御処理の詳細は、図３１により後述する。その後、チェーンコントローラ４５ａは、構成管理部２ａへチェーン制御結果及び走行状態を返信する（Ｓ１６０９）。
【０１８３】
そして、構成管理部２ａは、走行状態更新処理を行う（Ｓ１６１０）。尚、走行状態更新処理の詳細は、図３２により後述する。その後、構成管理部２ａは、走行状態更新処理の処理結果をアプリケーション１へ返信する（Ｓ１６１１）。
【０１８４】
図３０は、本発明の実施の形態２にかかる動作モード確認処理の流れを示すフローチャートである。まず、構成管理部２ａは、指定されたチェーンが形成済みであるか否かを判定する（Ｓ１７０１）。具体的には、構成管理部２ａは、チェーン形成情報管理テーブルを参照し、チェーン制御指示に含まれるチェーン識別子について、形成状況が形成済みであるか否かを判定する。
【０１８５】
ステップＳ１７０１において、指定されたチェーンが未形成であると判定した場合、構成管理部２ａは、異常終了する。例えば、構成管理部２ａは、所定のエラーコード等をアプリケーション１に対して返信する。
【０１８６】
ステップＳ１７０１において、指定されたチェーンが形成済みであると判定した場合、構成管理部２ａは、指定されたチェーンがコンプレックス内か否かを判定する（Ｓ１７０２）。具体的には、構成管理部２ａは、コンプレックス生成情報管理テーブルを参照し、内部に形成済みのチェーンとして当該指定されたチェーン識別子が登録されているか否かを判定する。
【０１８７】
ステップＳ１７０２において、指定されたチェーンがコンプレックス内に形成されていると判定した場合、構成管理部２ａは、同コンプレックス内に形成済みの他チェーンのうち、ＭＣを共有しているものを抽出する（Ｓ１７０３）。具体的には、まず、構成管理部２ａは、コンプレックス生成情報管理テーブルから当該指定されたチェーン識別子が内部に形成済みのチェーンとして登録されているコンプレックス識別子を特定する。同様に、構成管理部２ａは、コンプレックス生成情報管理テーブルから当該特定されたコンプレックスにおける他の形成済みのチェーン識別子を特定する。そして、構成管理部２ａは、記憶装置３に格納されたコンプレックス構成定義３２を参照し、特定されたコンプレックスにおいて、特定された他の形成済みのチェーンの中から、当該指定されたチェーンとの間で共有ＭＣが定義されているチェーンを抽出する。
【０１８８】
そして、構成管理部２ａは、抽出した各チェーンの走行状態を走行状態管理テーブルからチェックする（Ｓ１７０４）。具体的には、構成管理部２ａは、走行状態管理テーブルを参照し、抽出した各チェーンについて、走行状態が実行中又は停止中のいずれであるかを判定する。
【０１８９】
その後、構成管理部２ａは、指定されたチェーンの動作モードを取得する（Ｓ１７０５）。具体的には、構成管理部２ａは、記憶装置３に格納されたチェーン動作モード定義３３を参照し、当該特定されたコンプレックス及び当該指定されたチェーンの組合せについて、抽出した各チェーンの組合せと各チェーンにおいて判定された走行状態とに基づいて、動作モードを選択する。そして、ステップＳ１７０５の後、構成管理部２ａは、動作モード確認処理を正常終了する。
【０１９０】
また、ステップＳ１７０２において、指定されたチェーンがコンプレックス内に形成されていないと判定した場合、ステップＳ１７０５を実行する。そして、ステップＳ１７０５の後、構成管理部２ａは、動作モード確認処理を正常終了する。
【０１９１】
図３１は、本発明の実施の形態２にかかるチェーン制御処理の流れを示すフローチャートである。まず、チェーンコントローラ４５ａは、構成管理部２ａから制御コマンド及び動作モードを含めたチェーン制御指示を受信する。そして、チェーンコントローラ４５ａは、チェーン制御指示に含まれる動作モードを判定する（Ｓ１８０１）。すなわち、チェーンコントローラ４５ａは、当該動作モードが予め定義された動作モードのいずれであるかを判定する。ここでは、例として、記憶装置３内に予め動作モードのリストとして、動作モードＭ０、動作モードＭ１、・・・、動作モードＭｎが登録されているものとする。
【０１９２】
ステップＳ１８０１において、動作モードＭ０と判定した場合、チェーンコントローラ４５ａは、動作モードＭ０でのチェーン制御を行う（Ｓ１８０２０）。例えば、チェーンコントローラ４５ａは、制御対象のチェーン内の全てのＭＣに対して共有ＭＣであるか否かに関わらず、制御コマンドに応じた通常の制御を行う。
【０１９３】
ステップＳ１８０１において、動作モードＭ１と判定した場合、チェーンコントローラ４５ａは、動作モードＭ１でのチェーン制御を行う（Ｓ１８０２１）。例えば、チェーンコントローラ４５ａは、制御対象のチェーン内の全てのＭＣの内、共有ＭＣに対する制御を行わず、非共有ＭＣに対してのみ制御コマンドに応じた制御を行う。
【０１９４】
ステップＳ１８０１において、動作モードＭｎと判定した場合、チェーンコントローラ４５ａは、動作モードＭｎでのチェーン制御を行う（Ｓ１８０２ｎ）。例えば、チェーンコントローラ４５ａは、制御対象のチェーン内の全てのＭＣの内、共有ＭＣと、非共有ＭＣとで制御コマンドに応じた制御を異なるものとする。
【０１９５】
その後、チェーンコントローラ４５ａは、処理後の走行状態を構成管理部２ａへ返信する（Ｓ１８０３）。そして、チェーンコントローラ４５ａは、チェーン制御処理を正常終了する。
【０１９６】
図３２は、本発明の実施の形態２にかかる走行状態更新処理の流れを示すフローチャートである。まず、構成管理部２ａは、チェーンコントローラ４５ａからチェーン制御結果及び走行状態を受信する。そして、構成管理部２ａは、走行状態管理テーブルを更新する（Ｓ１９０１）。具体的には、まず、構成管理部２ａは、走行状態管理テーブル内で、指定されたチェーン識別子に対応する走行状態を、受信した走行状態へ更新する。また、構成管理部２ａは、受信したチェーン制御結果を処理結果とする。その後、構成管理部２ａは、走行状態更新処理を正常終了する。
【０１９７】
以上のことから、本発明の実施の形態２では、コンプレックス内のあるチェーンが他チェーンとＭＣを共有している場合に、ＭＣの制御を、ＭＣを共有していない状態とは異なるものとすることができる。すなわち、他チェーンの走行状態における共有ＭＣの動作を考慮した制御を行うことができる。これにより、制御対象のチェーンにより発現される機能を、他チェーンの処理内容の影響によらず同等とすることができる。また、他チェーンの走行状態に応じた各ＭＣの制御方法について、複数のパターンに分類し、これらを複数の動作モードとして定義した。そして、構成管理部側で、共有ＭＣの有無、共有ＭＣが定義されている他チェーンが形成済みか否か及び形成済みの他チェーンが具体的な処理中であるか否か等の判定処理を行い、動作モードを選択する。それに伴い、チェーンコントローラ側は、動作モードごとかつＭＣごとの制御を実装することにより、上述した複雑な判定処理を必要とせず、共有ＭＣの定義や他チェーンの走行状態における影響から制御ロジックを分離させることができる。つまり、このような複雑な判定処理については、構成管理部側に集約することで、チェーンコントローラ側は、個別のＭＣごとの制御ロジックに特化させることができる。そのため、チェーンコントローラの開発及び保守の効率を高めることができる。
【０１９８】
ここで、図３３及び図３４を用いて、本発明の実施の形態２にかかる動作モードによるチェーン制御方法変更の例を説明する。ここでは、以下の前提があるものとする。まず、ＤＴＶ録再コンプレックスＣＭＰ４には、デマルチプレクサＭＣ１を共有ＭＣとしたＤＴＶ録画チェーンＣＨＧ及びＤＴＶライブ再生チェーンＣＨＨが定義されている。また、ＤＴＶ録画チェーンＣＨＧにおけるチェーンコントローラ４５ｂは、録画開始の制御コマンドを受け付けた場合に動作モードに応じて次のような実装がされているものとする。まず、動作モードＭ０の場合、チェーンコントローラ４５ｂは、デマルチプレクサＭＣ１及びストリーム出力ＭＣ２を共に、制御する。また、動作モードＭ１の場合チェーンコントローラ４５ｂは、ＤＴＶ録画チェーンＣＨＧでは、デマルチプレクサＭＣ１を制御せず、ストリーム出力ＭＣ２のみを制御する。また、チェーン動作モード定義３３には、ＤＴＶ録再コンプレックスＣＭＰ４及びＤＴＶ録画チェーンＣＨＧについて、ＤＴＶライブ再生チェーンＣＨＨの走行状態が停止中の場合、動作モードＭ０が定義されている。また、ＤＴＶライブ再生チェーンＣＨＨの走行状態が実行中の場合、動作モードＭ１が定義されている。そして、図３３及び図３４では、共にＤＴＶ録再コンプレックスＣＭＰ４内にＤＴＶ録画チェーンＣＨＧ及びＤＴＶライブ再生チェーンＣＨＨが形成済みであるものとする。そのため、全てのＭＣは生成済みである。特に、デマルチプレクサＭＣ１は、リソースを共有して生成されている。
【０１９９】
図３３は、本発明の実施の形態２にかかる動作モードによるチェーン制御方法変更の例を示す図である。ここでは、ＤＴＶライブ再生チェーンＣＨＨの走行状態が停止中、つまり、デマルチプレクサＭＣ１を含むチェーン内の全てのＭＣが動作していない状態であるものとする。
【０２００】
このとき、アプリケーション１は、ＤＴＶ録画チェーンＣＨＧを指定し、録画開始の制御コマンドを含めたチェーン制御指示を構成管理部２ａに対して送信する。構成管理部２ａは、ＤＴＶ録画チェーンＣＨＧとの間でデマルチプレクサＭＣ１が共有して定義されているＤＴＶライブ再生チェーンＣＨＨの走行状態が停止中であることを確認する。そして、構成管理部２ａは、チェーン動作モード定義３３に基づいて、動作モードＭ０を特定する。その後、構成管理部２ａは、録画開始の制御コマンド及び動作モードＭ０を含めたチェーン制御指示をチェーンコントローラ４５ｂに対して送信する。チェーンコントローラ４５ｂは、動作モードＭ０であるため、デマルチプレクサＭＣ１及びストリーム出力ＭＣ２を共に、実行を開始する制御を行う。
【０２０１】
図３４は、本発明の実施の形態２にかかる動作モードによるチェーン制御方法変更の例を示す図である。ここでは、ＤＴＶライブ再生チェーンＣＨＨの走行状態が実行中、つまり、デマルチプレクサＭＣ１を含むチェーン内の全てのＭＣが動作している状態であるものとする。そのため、実行が開始しているデマルチプレクサＭＣ１をさらに実行を開始すると、不具合が発生するか、少なくとも何らかの影響を受けてしまう。
【０２０２】
このとき、アプリケーション１は、ＤＴＶ録画チェーンＣＨＧを指定し、録画開始の制御コマンドを含めたチェーン制御指示を構成管理部２ａに対して送信する。構成管理部２ａは、ＤＴＶライブ再生チェーンＣＨＨの走行状態が実行中であることを確認する。そして、構成管理部２ａは、チェーン動作モード定義３３に基づいて、動作モードＭ１を特定する。その後、構成管理部２ａは、録画開始の制御コマンド及び動作モードＭ１を含めたチェーン制御指示をチェーンコントローラ４５ｂに対して送信する。チェーンコントローラ４５ｂは、動作モードＭ１であるため、ストリーム出力ＭＣ２のみに実行を開始する制御を行う。すなわち、共有ＭＣであり、ＤＴＶライブ再生チェーンＣＨＨにおいて既に実行が開始されているデマルチプレクサＭＣ１については、さらに実行を開始する制御を行わない。
【０２０３】
このように、同一のコンプレックス内に複数のチェーンが形成済みの場合に、共有ＭＣが定義されている一方のチェーンの制御を行う際には、構成管理部２ａは、他方のチェーンの走行状態に応じて動作モードを選択し、チェーンコントローラ４５ｂは、選択された動作モードに基づいて、共有ＭＣに対する制御を切り替えることができる。これにより、共有ＭＣが定義されたとしても、他チェーンの動作の影響を加味しつつ、同等の機能を発現することができる。さらに、共有ＭＣや走行状態に関する複雑な判定処理を構成管理部２ａにて行わせることで、チェーンコントローラの開発及び保守の効率を高めることができる。つまり、共有ＭＣのリソースを有効活用しつつ、チェーンコントローラの制御ロジックを簡易にすることができる。
【０２０４】
＜その他の発明の実施の形態＞
さらに、本発明は上述した実施の形態のみに限定されるものではなく、既に述べた本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。
【符号の説明】
【０２０５】
１００  マルチメディア処理システム
１０１  マルチメディア処理システム
１１０  ＣＰＵ
１２０  ＲＡＭ
１３０  ＲＯＭ
１４１  入力装置
１４２  出力装置
１４３  出力装置
１５０  ハードディスク
１６０  ＯＳ
１６１  アプリケーションプログラム
１６２  構成管理プログラム
１６３  構成定義情報
１６４  チェーンコントローラプログラム
１６５  チェーンコントローラプログラム
１６６  ＭＣプログラム
１６７  ＭＣプログラム
１６８  ＭＣプログラム
１６９  ＭＣプログラム
１  アプリケーション
２  構成管理部
２ａ  構成管理部
３  記憶装置
３０  構成定義情報
３０ａ  構成定義情報
３１  チェーン構成定義
３２  コンプレックス構成定義
３３  チェーン動作モード定義
４Ａ  チェーン
４Ｂ  チェーン
４０ａ  チェーンコントローラ
４０ｂ  チェーンコントローラ
４１  ＭＣ
４２  ＭＣ
４３  ＭＣ
４４  ＭＣ
４５ａ  チェーンコントローラ
４５ｂ  チェーンコントローラ
５  入力装置
６Ａ  出力装置
６Ｂ  出力装置
７  コンプレックス
９００  データ処理システム
９１  アプリケーション
９２  構成管理部
９３  記憶装置
９３０  構成定義情報
９４  チェーン
９４０  チェーンコントローラ
９４１  ＭＣ
９４２  ＭＣ
９４３  ＭＣ
９５  入力装置
９６  出力装置
Ｆ１  ＤＴＶ録画機能
Ｆ２  ＤＴＶライブ再生機能
ＭＣ１  デマルチプレクサ
ＭＣ２  ストリーム出力
ＭＣ３  音声デコータ
ＭＣ４  音声出力
ＭＣ５  ビデオデコーダ
ＭＣ６  ディスプレイレイヤ
ＭＣ７  ビデオ出力
ＣＨＡ  ＤＴＶ録画チェーン
ＣＨＢ  ＤＴＶライブ再生チェーン
ＣＨＣ  ＤＴＶ録再チェーン
ＣＨＤ  ＤＴＶライブ再生チェーン
ＣＨＥ  ＤＴＶ録画チェーン
ＣＨＦ  ＤＴＶ録画チェーン
ＣＨＧ  ＤＴＶ録画チェーン
ＣＨＨ  ＤＴＶライブ再生チェーン
ＣＭＰ１  ＤＴＶ録再コンプレックス
ＣＭＰ２  ＤＴＶ録再コンプレックス
ＣＭＰ３  ＤＴＶ録再コンプレックス
ＣＭＰ４  ＤＴＶ録再コンプレックス
Ｍ０  動作モード
Ｍ１  動作モード
Ｍ２  動作モード
Ｍ３  動作モード
Ｍｎ  動作モード
【図１】
2012027586.tif 000003
【図２】
2012027586.tif 000004
【図３】
2012027586.tif 000005
【図４】
2012027586.tif 000006
【図５】
2012027586.tif 000007
【図６】
2012027586.tif 000008
【図７】
2012027586.tif 000009
【図８】
2012027586.tif 000010
【図９】
2012027586.tif 000011
【図１０】
2012027586.tif 000012
【図１１】
2012027586.tif 000013
【図１２】
2012027586.tif 000014
【図１３】
2012027586.tif 000015
【図１４】
2012027586.tif 000016
【図１５】
2012027586.tif 000017
【図１６】
2012027586.tif 000018
【図１７】
2012027586.tif 000019
【図１８】
2012027586.tif 000020
【図１９】
2012027586.tif 000021
【図２０】
2012027586.tif 000022
【図２１】
2012027586.tif 000023
【図２２】
2012027586.tif 000024
【図２３】
2012027586.tif 000025
【図２４】
2012027586.tif 000026
【図２５】
2012027586.tif 000027
【図２６】
2012027586.tif 000028
【図２７】
2012027586.tif 000029
【図２８】
2012027586.tif 000030
【図２９】
2012027586.tif 000031
【図３０】
2012027586.tif 000032
【図３１】
2012027586.tif 000033
【図３２】
2012027586.tif 000034
【図３３】
2012027586.tif 000035
【図３４】
2012027586.tif 000036
【図３５】
2012027586.tif 000037
【図３６】
2012027586.tif 000038
【図３７】
2012027586.tif 000039
【図３８】
2012027586.tif 000040
【図３９】
2012027586.tif 000041