(57)【要約】【課題】クライアント・コンポーネント間のデータ通信回数・通信量を低減し、依存関係のあるコンポーネント間の処理効率を向上させ、命令要求開始から命令が実行されるまでの時間を短縮することができる情報記録再生装置を提供する。【解決手段】コンポーネント１３ａ〜１３ｄと、コンポーネントを管理するコア１２と、コンポーネントを組み合わせて利用するクライアント１１とを備え、クライアント１１は、コンポーネント１３ａ〜１３ｃをグループ化してグループＩＤ２２ａを識別子とするグループ１５を作成し、コア１２に対してグループＩＤ２２ａを指定してコマンドを発行する。コア１２は、グループＩＤ２２ａとグループ１５に含まれるコンポーネントのリスト２２ｂとを含むグループ管理情報２２を保持し、グループＩＤ２２ａを有するグループ１５に含まれるコンポーネント１３ａ〜１３ｃを識別し、これらに対してコマンドを送信する。【選択図】図２
2010136277.tif 000002
【特許請求の範囲】
【請求項１】
情報の記録再生を実現する機能に対応した処理を行う複数のコンポーネントと、
前記複数のコンポーネントを管理するコンポーネント管理部と、
前記複数のコンポーネントを組み合わせて利用しサービスを提供するコンポーネント制御部と、
を備えた情報記録再生装置であって、
前記コンポーネント制御部は、前記複数のコンポーネントの全部又は一部をグループ化してコンポーネントグループを作成し、前記コンポーネント管理部に対して特定の前記コンポーネントグループを指定して制御命令を発行し、
前記コンポーネント管理部は、前記コンポーネントグループを識別可能にする識別子と、前記コンポーネントグループに含まれるコンポーネントのリストとを格納したグループ管理情報を保持し、前記コンポーネント制御部から指定された前記コンポーネントグループに含まれる前記コンポーネントに対して前記制御命令を送信することを特徴とする、情報記録再生装置。
【請求項２】
前記コンポーネント管理部は、更に、前記コンポーネントグループに対して発行される前記制御命令と、前記コンポーネントグループに含まれる前記複数のコンポーネントのそれぞれに対して送信する複数のコンポーネント制御命令とを対応付けた制御命令変換情報を保持し、前記コンポーネント制御部から発行された前記制御命令を、前記命令変換情報に基づいて前記コンポーネント制御命令に変換し、前記複数のコンポーネントのそれぞれに送信することを特徴とする、請求項１に記載の情報記録再生装置。
【請求項３】
前記コンポーネント管理部は、前記コンポーネントグループに含まれる前記複数のコンポーネントから前記コンポーネント制御部に対する通知を受信すると、前記コンポーネントグループから前記コンポーネント制御部に対するグループ通知として変換し、前記コンポーネント制御部に送信することを特徴とする、請求項１または請求項２に記載の情報記録再生装置。
【請求項４】
前記コンポーネントは、自身が属する前記コンポーネントグループに含まれる他のコンポーネントを識別し、前記他のコンポーネントと自身との間での接続状態及び依存関係を抽出し、前記コンポーネントグループに対する特定の前記制御命令が発行された場合に、前記他のコンポーネントとの間の制御方法を変更して処理を行うことを特徴とする、請求項１から請求項３のいずれか一項に記載の情報記録再生装置。
【請求項５】
前記コンポーネントは、前記特定の制御命令が発行された場合に、前記他のコンポーネントとの依存関係にかかわらず、並列的に処理を行うことを特徴とする、請求項４に記載の情報記録再生装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンポーネントベースで情報の記録再生を実現する情報記録再生装置に関する。
【背景技術】
【０００２】
従来、動画像などの情報を記録、及び／又は再生する装置として、例えば、ＯｐｅｎＭＡＸＴＭによって既定されている装置が知られている（非特許文献１参照）。
【０００３】
非特許文献１に記載された装置では、情報の記録再生を実現する各機能ブロックがコンポーネントとして定義及び生成され、生成された複数のコンポーネント間でデータ通信用ポートが設定される。そして、コンポーネント間でポート通信接続が行われ、接続されたポートを経由してコンポーネント間で情報の送受信が行われる。また、各コンポーネントの制御は、コンポーネント制御部（以下、クライアントと示す）によって行われている。
【０００４】
非特許文献１に示すような装置においては、通常、クライアントと各コンポーネントとがバスを介して情報を送受信している。また、コンポーネントは機能毎に構成されているため、任意の一つの命令を実行させるために、クライアントから複数のコンポーネントに対して制御を行う必要がある。
【０００５】
例えば、動画像再生中に再生停止の命令（コマンド）を実行させるために、クライアントは、ビデオのデコード機能を実現するコンポーネントと、ビデオのフィルタリング機能を実現するコンポーネントと、ビデオのレンダリング機能を実現するコンポーネントとのそれぞれに対し、適切なタイミングで制御を行わなければならない。
【０００６】
従って、従来の情報記録再生装置においては、クライアントと複数のコンポーネントとの間で制御信号を送受信する必要があり、バス上でのデータ通信回数や通信量が大きくなってしまうため、命令要求開始から実際に命令が実行されるまでの時間が長くなってしまうという問題があった。
【０００７】
また、ポート接続された複数のコンポーネントが相互にバッファを共有している場合など、コンポーネント間に依存関係がある場合には、依存関係を有する他のコンポーネントの処理が終了するまで一方のコンポーネントの処理開始を待機させなくてはならない場合が発生する。
【０００８】
例えば、ビデオのデコード機能を実現するコンポーネントと、ビデオのフィルタリング機能を実現するコンポーネントとが、ポート接続されて相互にバッファを共有しており、動画像再生中に再生停止のコマンドをクライアントが実行する場合、ビデオのデコード機能を実現するコンポーネントは、ビデオのフィルタリング機能を実現するコンポーネントが共有するバッファ処理を完了するか、フィルタリング機能を実現するコンポーネントの処理自体が完了するまでバッファ処理を完了させることができない。
【０００９】
従って、従来の情報記録再生装置においては、クライアントと複数のコンポーネントとの間で制御信号を送受信する必要があり、バス上でのデータ通信回数や通信量が大きくなってしまうことや、コンポーネント間に依存関係がある場合には、依存関係のあるコンポーネントの処理待ちの時間が発生することから、命令要求開始から実際に命令が実行されるまでの時間が長くなってしまうという問題があった。
【非特許文献１】The Khronos Group Inc.， OpenMAXTM Integration Layer Application Programming Interface Specification ver1.1.2.0 (2008)
【発明の開示】
【発明が解決しようとする課題】
【００１０】
本発明は、以上の点に鑑みてなされたもので、クライアント・コンポーネント間のデータ通信回数・通信量を低減し、また、依存関係のあるコンポーネント間の処理効率を向上させ、命令要求開始から実際に命令が実行されるまでの時間を短縮することができる、情報記録再生装置を提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明の一形態に係る情報記録再生装置は、情報の記録再生を実現する機能に対応した処理を行う複数のコンポーネントと、前記複数のコンポーネントを管理するコンポーネント管理部と、前記複数のコンポーネントを組み合わせて利用しサービスを提供するコンポーネント制御部と、を備えた情報記録再生装置であって、前記コンポーネント制御部は、前記複数のコンポーネントの全部又は一部をグループ化してコンポーネントグループを作成し、前記コンポーネント管理部に対して特定の前記コンポーネントグループを指定して制御命令を発行し、前記コンポーネント管理部は、前記コンポーネントグループを識別可能にする識別子と、前記コンポーネントグループに含まれるコンポーネントのリストとを格納したグループ管理情報を保持し、前記コンポーネント制御部から指定された前記コンポーネントグループに含まれる前記コンポーネントに対して前記制御命令を送信することを特徴とする。
【発明の効果】
【００１２】
クライアント・コンポーネント間のデータ通信回数・通信量を低減し、また、依存関係のあるコンポーネント間の処理効率を向上させ、命令要求開始から実際に命令が実行されるまでの時間を短縮することができる。
【発明を実施するための最良の形態】
【００１３】
以下、図面を参照して本発明の実施の形態を説明する。
【００１４】
始めに、図１，図２を参照して、本発明の実施の形態に係わる情報記録再生装置の構成を説明する。図１は、本発明の実施の形態に係わる情報記録再生装置のハードウェア構成の一例を説明する概略ブロック図である。また、図２は、本発明の実施の形態に係わる情報記録再生装置のソフトウェア構成の一例を説明する概略ブロック図である。
【００１５】
本実施の形態の情報記録再生装置は、ＯｐｅｎＭＡＸＴＭなどのコンポーネントベースで情報の記録再生機能を実現する装置全般に適用することが可能であり、例えば、携帯電話やテレビ、ブルーレイなどの情報家電に適用することができる。ここでは、動画像再生機能を有する携帯電話を一例に挙げ、構成を説明する。なお、本実施の形態は、情報の記録と再生の両方の機能を有する装置だけでなく、情報記録装置、又は情報再生装置にも適用可能である。
【００１６】
図１に示すように、本実施の形態に係わる情報記録再生装置１は、バス２ａとバス２ｂの２系統のバスを有しており、これらのバス２ａ，２ｂはブリッジ１０を介して接続されている。バス２ａには、ＣＰＵ３と、静的な実行プログラムなどが書き込まれたＲＯＭ４と、データなどを格納するＲＡＭ５とが接続されている。また、バス２ｂには、データなどを格納するＲＡＭ６と、音声や画像の処理を行うＤＳＰ７と、画像表示部であるＬＣＤＣ（ＬＣＤ  Ｃｏｎｔｒｏｌｌｅｒ）８とが接続されている。なお、ＬＣＤＣ８は、外部のＬＣＤ９に接続することができる。
【００１７】
また、本実施の形態に係わる情報記録再生装置１のソフトウェア構成は、図２に示すように、動画像の記録や再生などの命令をコマンドとして発行する、コンポーネント制御部としてのクライアント１１と、動画像記録再生機能を実現する機能単位のブロックであるコンポーネント１３ａ〜１３ｄと、クライアント１１からの要求をハンドリングしてコンポーネント１３ａ〜１３ｄに伝達する、コンポーネント管理部としてのコア１２とから主に構成される。
【００１８】
各コンポーネント１３ａ〜１３ｄには、他のコンポーネントとの間でデータを通信するための接続部であるポートが設けられている。図２に示す一例では、コンポーネント１３ａにはポート１３１ａ，１３２ａの２つのポートが設けられており、コンポーネント１３ｂにはポート１３１ｂ，１３２ｂ，１３３ｂ，１３４ｂの４つのポートが設けられている。また、コンポーネント１３ｃにはポート１３１ｃ，１３２ｃ，１３３ｃ，１３４ｃの４つのポートが設けられており、コンポーネント１３ｄにはポート１３１ｄ，１３２ｄの２つのポートが設けられている。
【００１９】
コンポーネントは、自身に設けられているポートを別のコンポーネントに設けられているポートと接続することで、別のコンポーネントとの間で互いにデータを送受信することができる。例えば、コンポーネント１３ａとコンポーネント１３ｂとは、ポート１３１ａとポート１３１ｂ，及びポート１３２ａとポート１３２ｂが互いに接続されており、これらのポートを通じて互いにデータを送受信可能に構成されている。
【００２０】
同じように、コンポーネント１３ｂとコンポーネント１３ｃとは、ポート１３３ｂとポート１３１ｃ，及びポート１３４ｂとポート１３２ｃが互いに接続されており、これらのポートを通じて互いにデータを送受信可能に構成されている。更に、コンポーネント１３ｃとコンポーネント１３ｄとは、ポート１３３ｃとポート１３１ｄ，及びポート１３４ｃとポート１３２ｄが互いに接続されており、これらのポートを通じて互いにデータを送受信可能に構成されている。
【００２１】
また、ポートは、該ポートを通じて送受信されるデータを一時的に格納するためのバッファを備えている。なお、バッファは、自身が設置されているポートと、該ポートと接続されているポートとの間で共有される。
【００２２】
図２に示す例では、ポート１３１ｂはバッファ１４ｂを備えており、該バッファ１４ｂは、ポート１３１ｂと、ポート１３１ｂと接続されているコンポーネント１３ａのポート１３１ａとの間で共有されている。また、ポート１３１ｃはバッファ１４ｃを備えており、該バッファ１４ｃは、ポート１３１ｃと、ポート１３１ｃと接続されているコンポーネント１３ｂのポートと１３３ｂとの間で共有されている。更に、ポート１３１ｄはバッファ１４ｄを備えており、該バッファ１４ｄは、ポート１３１ｄと、ポート１３１ｄと接続されているコンポーネント１３ｃのポート１３３ｃとの間で共有されている。
【００２３】
クライアント１１は、実現したい機能に応じてコンポーネントを生成し、配置・接続を予め設定し、必要に応じて複数のコンポーネントをグループ化する。例えば、図２では、クライアント１１は４つのコンポーネント１３ａ〜１３ｄを生成し、コンポーネント１３ａとコンポーネント１３ｂ、コンポーネント１３ｂとコンポーネント１３ｃ、コンポーネント１３ｃとコンポーネント１３ｄを、適切なポートを用いてそれぞれ接続している。更に、コンポーネント１３ａ，１３ｂ，１３ｃの３つのコンポーネントをグループ化し、コンポーネントグループ１５を設定している。
【００２４】
なお、図１に示ハードウェアの構成要素と、図２に示すソフトウェアの構成要素との対応関係は、次の通りである。すなわち、クライアント１１はＲＡＭ５に実装されており、コンポーネント１３ａ〜１３ｄは、ＲＡＭ６に実装されている。また、コア１２のクライアント側のインタフェースはＲＡＭ５に実装されており、コンポーネント側のインタフェースはＲＡＭ６に実装されている。
【００２５】
クライアント１１によってグループ化されたコンポーネントグループ１５に関する情報は、クライアント１１からコア１２に通知され、コア１２で保持されている。
【００２６】
コア１２で保持されているコンポーネントグループ１５に関する情報（以下、グループ管理情報２１と示す）を、図３を用いて説明する。図３は、グループ管理情報２１の一例を示す図である。
【００２７】
図３（ａ）に示すように、グループ管理情報２１は、グループに属するコンポーネントに関する情報（以下、グループ情報２２）と、コマンド変換情報２３とから主に構成される。
【００２８】
グループ情報２２は、グループを識別するための識別子であるグループＩＤ２２ａと、該グループＩＤを有するグループに含まれるコンポーネントのハンドル情報２２ｂとから構成される。ハンドル情報２２ｂとは、例えば、グループに含まれるコンポーネントへのポインタリストなど、コンポーネントの位置が識別できる情報である。図２に示すように、例えばコンポーネントグループ１５にコンポーネント１３ａ，１３ｂ，１３ｃの３つのコンポーネントが含まれる場合、ハンドル情報２２ｂとして、コンポーネント１３ａへのポインタ２２１ｂと、コンポーネント１３ｂへのポインタ２２２ｂと、コンポーネント１３ｃへのポインタ２２３ｂとがリスト形式で保持されている。
【００２９】
コマンド変換情報２３は、コア１２がクライアント１１から通知されるコマンドを、そのままでなく個々のコンポーネントに対応したコマンドに変換して送信する場合に用いられる情報である。すなわち、図３（ｂ）に示すように、コマンド変換情報２３は、例えば、クライアント１１からコア１２に対して発行される受信コマンド２３ａと、該コマンド２３を受信した場合にグループ内の各コンポーネントに送信する送信コマンド２３ｂとが対応付けられて保持されている。
【００３０】
図２に示すように、例えばコンポーネントグループ１５にコンポーネント１３ａ，１３ｂ，１３ｃの３つのコンポーネントが含まれる場合、１つの受信コマンド２３ａに対し、送信コマンド２３ｂとして、コンポーネント１３ａに送信する送信コマンド２３１ｂと、コンポーネント１３ｂに送信する送信コマンド２３２ｂと、コンポーネント１３ｃに送信する送信コマンド２３３ｂとの３つの送信コマンド２３ｂが対応付けられて保持されている。
【００３１】
コマンド変換情報２３の具体的な一例を説明する。例えば、コンポーネント１３ａがビデオのデコード機能を実現する機能ブロック、コンポーネント１３ｂがビデオのフィルタリング機能を実現する機能ブロック、コンポーネント１３ｃがビデオのレンダリング機能を実現する機能ブロックで構成されており、これらの３つのコンポーネント１３ａ，１３ｂ，１３ｃが、ビデオ機能を実現するコンポーネント群としてコンポーネントグループ１５にグルーピングされている場合を考える。
【００３２】
このようなコンポーネントグループ１５に対し、「ダイジェスト作成」（再生中の動画像から部分的に画像（静止画）を抽出して連結し、新たな動画像を作成する一連の機能）というコマンドがクライアント１１から発行されると、コンポーネント１３ａは再生機能を実行し、コンポーネント１３ｂは一部画像を抽出して連結する機能を実行し、コンポーネント１３ｃはモニタなどへの出力をせずに停止状態を保持する。
【００３３】
上述の場合、コマンド変換情報２３の受信コマンド２３ａとして「ダイジェスト作成」を登録し、これと対応する送信コマンド２３ｂとして、送信コマンド２３１ｂに「再生」、送信コマンド２３２ｂに「一部抽出・合成」、送信コマンド２３３ｂに「停止」（モニタに出力せずにクライアント１１に対して通知のみ行う）を登録しておく。
【００３４】
このようにコマンド変換情報２３を登録した場合、クライアント１１からコア１２に「ダイジェスト作成」というコマンドが発行されると、コア１２は、コンポーネント１３ａに対して「再生」というコマンドを送信し、コンポーネント１３ｂに対して「一部抽出・合成」というコマンドを送信し、コンポーネント１３ｃに対して「停止」というコマンドを送信する。
【００３５】
コンポーネント１３ａ〜１３ｃは、受信したコマンド（＝コア１２によって変換されたコマンド）に従って機能を実現する。コマンド変換をせずに、「ダイジェスト作成」という同一のコマンドがコンポーネント１３ａ〜１３ｃに送信された場合、各コンポーネント１３ａ〜１３ｃにおいて、自身で実現すべき機能にブレークダウンする必要がある。これに対し、コア１２でのコマンド変換を行う場合、コンポーネント１３ａ〜１３ｃには個々の実現機能に則したコマンドが送信されるため、コンポーネント１３ａ〜１３ｃでの処理が簡易になる。
【００３６】
コマンド変換情報２３は、通常、ＲＯＭ４などに予め設定されている。コア１２はグループ管理情報２１を生成する際に、ＲＯＭ４から必要な情報を取得する。なお、クライアント１１から発行されたコマンドを変換せずにそのまま各コンポーネント１３ａ〜１３ｃに送信する場合、コマンド変換情報２３は設定する必要がなく、グループ管理情報２１にはグループ情報２２のみが格納される。
【００３７】
なお、グループには、他の複数のコンポーネントから構成される別のグループが含まれていても良い。グループを入れ子にし、あるグループが別のグループ（以下、サブグループと示す）を含む場合、グループ情報２２のハンドル情報２２ｂは、当該グループに含まれるコンポーネントへのポインタと、同じグループに含まれるサブグループを識別する情報とで構成することができる。
【００３８】
このように構成された情報記録再生装置において、クライアントからコマンドが発行されてコンポーネントで処理が行われる一連の流れを、図４を用いて説明する。図４は、クライアントから発行されるコマンドを処理する一連の流れを説明するフローチャートである。
【００３９】
図４に示すように、まず、クライアント１１は、実現したい機能に応じてコンポーネント１３ａ〜１３ｄを生成し、配置・接続の設定を行う（ステップＳ１）。次に、機能を実現するために協調して動作するコンポーネントをセレクトし、グループ化する（ステップＳ２）。図２に示す一例では、本ステップにおいて、コンポーネント１３ａ，１３ｂ，１３ｃの３つのコンポーネントがコンポーネントグループ１５としてグループ化される。
【００４０】
なお、ステップＳ１で行ったコンポーネントの接続はステップＳ２で行ってもよい。この場合、コンポーネントグループ１５内の構成構築やポートの接続は、クライアント１１からの指示で行われるのではなく、自動的にセットアップされるようにしてもよい。グループ化されたコンポーネントの情報は、クライアント１１からコア１２に通知される。
【００４１】
続いて、ステップＳ３において、コア１２はクライアント１１から通知された情報に基づき、グループ管理情報２１を生成する。グループ管理情報２１は、グループを識別するグループＩＤ２２ａと、当該グループに属するコンポーネントを識別するハンドル情報２２ｂとから構成されるグループ情報２２を少なくとも有する。
【００４２】
生成されたグループ管理情報２１は、続くステップＳ４において、コンポーネントグループ１５に属するコンポーネント１３ａ，１３ｂ，１３ｃに通知される。コンポーネント１３ａ，１３ｂ，１３ｃは、グループ管理情報２１を取得することにより、自身と同一のコンポーネントグループに属する他のコンポーネントを識別することができる。なお、上述したステップＳ１からステップＳ４までの手順は、具体的な機能を実現する以前に実施されるステップであり、例えば、情報記録再生装置が起動されて間もなく行われる初期設定時などに実施される。
【００４３】
次に、ステップＳ５において、クライアント１１からコア１２に対してコマンドが発行される。このとき、コマンドと共に、該コマンドを実行させるコンポーネントグループ１５のグループＩＤ２２ａが指定される。続くステップＳ６において、コア１２は、保持しているグループ管理情報２１から、ステップＳ５で指定されたグループＩＤ２２ａを有するコンポーネントグループ１５を検索し、当該グループに含まれるコンポーネント１３ａ〜１３ｃを識別する（コンポーネント１３ａ〜１３ｃへのポインタを取得する）。
【００４４】
コア１２は、識別したコンポーネント１３ａ〜１３ｃに対し、ステップＳ５においてクライアント１１から発行されたコマンドを送信する（ステップＳ７）。このとき、グループ管理情報２１のコマンド変換情報２３が格納されており、受信コマンド２３ａとしてステプＳ５においてクライアントから発行されたコマンドが登録されている場合、コマンド変換情報２３に従ってコマンドを変換し、コンポーネント１３ａ〜１３ｃのそれぞれに対し変換後の送信コマンド２３１ｂ〜２３３ｂを送信する。
【００４５】
従来の情報記録再生装置では、クライアント１１はコマンドを実行するために必要なコンポーネント１３ａ〜１３ｃのそれぞれに対し、コア１２を介してコマンドを発行する必要があった。すなわち、３つのコンポーネント１３ａ〜１３ｃにコマンドを発行する場合、３回コマンドを発行する必要があり、バス２ａ，２ｂ上を同じデータ（コマンド）が３回通信されていた。
【００４６】
特に、図１に示すような、クライアント１１とコンポーネント１３ａ〜１３ｃとがブリッジ１０を介して別々のバス２ａ，２ｂに接続されている場合に代表されるように、アクセラレータなどを使用してクライアント１１とコンポーネント１３ａ〜１３ｃとを別々のＣＰＵで動作させるハードウェア構成下においては、クライアント１１とコンポーネント１３ａ〜１３ｃとの間の通信は、バス２ａ，２ｂを越えた低速通信となる。
【００４７】
このため、従来の情報記録再生装置では、データの通信回数が多く、また、通信時間が長いために、クライアント１１からコンポーネント１３ａ〜１３ｃに対してコマンドを発行してから実行されるまでにタイムラグが発生してしまうという問題があった。例えば、動画像を再生中に「一時停止」を実行する場合、クライアント１１が「一時停止」コマンドを発行してから実際に動画像が停止するまでの間に遅延が発生し、静止画像としてモニタに映し出したい画像と実際にモニタに静止画像として映し出される画像とが異なってしまい、利便性を著しく損ねてしまうという問題があった。
【００４８】
これに対し、本実施の形態の情報記録再生装置では、上述の通り、クライアント１１からコア１２に対してコンポーネントグループ１５を指定してコマンドを１回発行するだけでよい（ステップＳ７）。また、クライアント１１とコア１２のクライアント側のインタフェースは同じＲＡＭ５に実装されており、コア１２のコンポーネント側のインタフェースとコンポーネント１３ａ〜１３ｃとは同じＲＡＭ６に実装されているため、従来の装置のように、バスを越えた低速通信を行うことなく、高速通信が可能である。従って、データの通信回数・通信量を削減し、通信時間を短縮することができる。
【００４９】
ステップＳ８において、コンポーネント１３ａ〜１３ｃは、コア１２から受信したコマンドを処理する。このとき、コンポーネント１３ａ〜１３ｃは、同一のコンポーネントグループ１５に属する他のコンポーネントに関する情報を、ステップＳ４において既に取得している。そこで、各コンポーネント１３ａ〜１３ｃは、コマンドを処理する前に、同一コンポーネントグループ１５に属する他のコンポーネントと、自身が保持するポートとの接続状況を対比させる。
【００５０】
同一コンポーネントグループ１５内の他のコンポーネントとポートが接続されており、バッファを共有している場合、属しているコンポーネントグループ１５全体に対して、例えば「停止」などバッファ処理を操作するコマンドが発行されても、他のコンポーネントのバッファ処理を考慮することなく、自身のコンポーネントのバッファ処理を行うことができる。すなわち、コンポーネントグループ１５に属するコンポーネント１３ａ〜１３ｃが、他のコンポーネントのコマンド処理完了を待たずに、並列的にコマンドを処理することができるため、処理時間を短縮することができる。
【００５１】
ステップＳ８におけるコマンド処理が完了すると、ステップＳ９に進み、各コンポーネント１３ａ〜１３ｃからコア１２を介してクライアント１１に対し、処理終了通知がなされる。コア１２からクライアント１１への処理終了の通知は、コンポーネントからコア１２に通知がなされる都度行ってもよいし、コマンドを処理した全てのコンポーネントからの通知を受け取ってから纏めて１回だけ行ってもよい。以上のステップＳ１〜Ｓ９を行うことで、クライアント１１から発行されるコマンドの処理が完了する。
【００５２】
なお、コンポーネントグループ１５に含まれていないコンポーネント１３ｄにコマンドを発行する場合は、従来と同様に、クライアント１１からコア１２を介してコンポーネント１３ｄに直接コマンドが発行される。
【００５３】
クライアントから発行されるコマンドの処理を、具体的な例を用いて更に説明する。ここでは、コンポーネント１３ａがビデオのデコード機能を実現する機能ブロック、コンポーネント１３ｂがビデオのフィルタリング機能を実現する機能ブロック、コンポーネント１３ｃがビデオのレンダリング機能を実現する機能ブロックで構成されており、これらの３つのコンポーネント１３ａ，１３ｂ，１３ｃが、ビデオ機能を実現するコンポーネント群としてコンポーネントグループ１５にグルーピングされており、動画像の再生中にクライアントから「再生停止」のコマンドが発行される場合を例にあげ、図５のアクティビティ図を用いて説明する。
【００５４】
図５は、クライアントから発行されるコマンドを処理する一連の流れを説明するアクティビティ図である。まず、アクティビティＡ１において、クライアント１１は、ビデオのデコード機能を実現する機能ブロックとしてのコンポーネント１３ａ、ビデオのフィルタリング機能を実現する機能ブロックとしてのコンポーネント１３ｂ、ビデオのレンダリング機能を実現する機能ブロックとしてのコンポーネント１３ｃを生成し、配置・接続の設定を行う。アクティビティＡ１を受け、各コンポーネント１３ａ〜１３ｃが同じタイミングで生成される（アクティビティＡ２ａ，Ａ２ｂ，Ａ２ｃ）。なお、アクティビティＡ１，Ａ２ａ〜Ａ２ｃは、図４のステップＳ１に相当する。
【００５５】
アクティビティＡ２ａ，Ａ２ｂ，Ａ２ｃが全て終了すると、クライアント１１は、ビデオ機能を実現するために協調して動作するコンポーネント１３ａ，１３ｂ，１３ｃをセレクトし、コンポーネントグループ１５としてグループ化する（アクティビティＡ３）。続いて、クライアント１１は、作成したコンポーネントグループ１５の情報をコア１２に通知する。なお、アクティビティＡ３，Ａ４は、図４のステップＳ２に相当する。
【００５６】
コア１２は、アクティビティＡ４の実行によってクライアント１１からコンポーネントグループ１５の情報を通知されると、この情報に基づきグループ管理情報２１を生成する（アクティビティＡ５）。
【００５７】
グループ管理情報２１は、コンポーネントグループ１５を識別するグループＩＤ２２ａと、当該グループに属するコンポーネント１３ａ〜１３ｃを識別するハンドル情報２２ｂとから構成されるグループ情報２２を有する。ここで、ハンドル情報２２ｂは、コンポーネント１３ａへのポインタ２２１ｂと、コンポーネント１３ｂへのポインタ２２２ｂと、コンポーネント１３ｃへのポインタ２２３ｂとから構成される。
【００５８】
また、コア１２は、ＲＯＭ４からコンポーネントグループ１５に関するコマンド変換情報２３を取得し、グループ管理情報２１に格納する。なお、クライアント１１から発行される「再生停止」コマンドに関する変換情報はＲＯＭ４に登録されていないものとする。このアクティビティＡ５は、図４のステップＳ３に相当する。
【００５９】
次に、コア１２は、生成したコンポーネントグループ１５に関するグループ管理情報２１を、同グループに属するコンポーネント１３ａ〜１３ｃに通知する（アクティビティＡ６）。アクティビティＡ６を受け、各コンポーネント１３ａ〜１３ｃが同じタイミングでグループ管理情報２１を取得する（アクティビティＡ７ａ，Ａ７ｂ，Ａ７ｃ）。本アクティビティによって、コンポーネント１３ａ〜１３ｃは、同じグループに属する他のコンポーネントを認識できるようになる。なお、アクティビティＡ６，Ａ７ａ〜Ａ７ｃは、図４のステップＳ４に相当する。
【００６０】
アクティビティＡ７ａ，Ａ７ｂ，Ａ７ｃが全て終了すると、クライアント１１からコア１２に対して「再生停止」コマンドが発行される（アクティビティＡ８）。このとき、コマンドと共に、該コマンドを実行させるコンポーネントグループ１５のグループＩＤ２２ａが指定される。
【００６１】
次に、アクティビティＡ９において、コア１２は、保持しているグループ管理情報２１から、アクティビティＡ８で指定されたグループＩＤ２２ａを有するコンポーネントグループ１５を検索し、当該グループに含まれるコンポーネント１３ａ〜１３ｃを識別する（コンポーネント１３ａ〜１３ｃへのポインタを取得する）。なお、グループ管理情報２１のコマンド変換情報２３に「再生停止」コマンドの変換コマンド登録されている場合、各コンポーネント１３ａ〜１３ｃに送信するコマンドを取得する。
【００６２】
コア１２は、識別したコンポーネント１３ａ〜１３ｃに対し、アクティビティＡ８においてクライアント１１から発行された「再生停止」コマンドを送信する（アクティビティＡ１０）。なお、アクティビティＡ８，Ａ９，Ａ１０は、それぞれ図４のステップＳ５，Ｓ６，Ｓ７にそれぞれ相当する。
【００６３】
アクティビティＡ１０を受け、各コンポーネント１３ａ〜１３ｃがコア１２から同じタイミングで「再生停止」コマンドを受信する（アクティビティＡ１１ａ，Ａ１１ｂ，Ａ１１ｃ）。
【００６４】
コマンド処理前に、コンポーネント１３ａは、アクティビティＡ７ａにおいてグループ管理情報２１を取得しており、コンポーネント１３ｂとコンポーネント１３ｃとが同じコンポーネントグループ１５に属することを認識している。また、自身が管理しているポートを精査し、ポート１３１ａがコンポーネント１３ｂのポート１３１ｂと接続されており、ポート１３２ａがコンポーネント１３ｂのポート１３２ｂと接続されていることを認識する。また、コンポーネント１３ｂとバッファ１４ｂを共有していることも認識する。
【００６５】
従来の情報記録再生装置では、一般的に、動画像再生中の処理は次のように行われる。まず、デコード機能を実現する機能ブロック（＝コンポーネント１３ａ）でデータが処理され、処理後のデータはポート１３１ａを経由してポート１３１ｂに入力される。ビデオのフィルタリング機能を実現する機能ブロック（＝コンポーネント１３ｂ）では、ポート１３１ｂに入力されたデータを加工処理し、ポート１３３ｂからポート１３１ｃを介して、ビデオのレンダリング機能を実現する機能ブロック（＝コンポーネント１３ｃ）に出力する。
【００６６】
この状態（動画像再生中の状態）で、「再生停止」を実行する場合、クライアント１１からコンポーネント１３ａとコンポーネント１３ｂとのそれぞれに「再生停止」コマンドが発行される。コンポーネント１３ａと１３ｂとがポート１３１ａとポート１３１ｂとを通じてハンドシェイクしながら同期をとり、バッファ１４ｂを更新する構成をとる場合、コンポーネント１３ａは、コンポーネント１３ｂの「再生停止」処理が完了するか、ポート１３１ａで共有しているバッファ１４ｂに対する処理をコンポーネント１３ｂが完了するか、いずれかの状態になったことを確認してから、自身の「再生停止」処理を終了させなければならなかった。
【００６７】
更に、コンポーネント１３ｂもコンポーネント１３ｃとポートを通じてハンドシェイクしながら同期をとり、バッファ１４ｃを更新するような構成であれば、コンポーネント１３ｂは、コンポーネント１３ｃの「再生停止」処理が完了するか、ポート１３３ｂで共有しているバッファ１４ｃに対する処理をコンポーネント１３ｃが完了するか、いずれかの状態になったことを確認してから、自身の「再生停止」処理を終了させなければならない。すなわち、複数のコンポーネントが行列状に接続されている構成では、接続段数が長いほど、クライアント１１が「再生停止」コマンドを発行してから、コンポーネント１３ａ〜１３ｃが「再生停止」処理を完了するまでの時間が長くなっていた。
【００６８】
これに対し、本実施の形態の情報記録再生装置では、「再生停止」コマンドをコンポーネント１３ａが受信した場合、同じコンポーネントグループ１５に属する他のコンポーネント１３ｂ，１３ｃも「再生停止」コマンドが送信されていることをコンポーネント１３ａが認識している。従って、コンポーネント１３ａは、依存関係にあるコンポーネント１３ｂの「再生停止」処理が完了するのを待つことなく、自身の「再生停止」処理を開始し、完了することができる（アクティビティＡ１２ａ）。同様に、コンポーネント１３ｂ，１３ｃも、同じコンポーネントグループ１５に属し、依存関係にある他のコンポーネントの処理完了を待つことなく、自身の「再生停止」処理を開始し、完了することができる（アクティビティＡ１２ｂ，A１２ｃ）。
【００６９】
この場合、コンポーネント１３ａの「再生停止」処理により、コンポーネント１３ａとコンポーネント１３ｂとで共有しているバッファ１４ｂに格納されたデータに対して不整合が生じる可能性がある。しかし、コンポーネント１３ｂも「再生停止」処理をしており、バッファ１４ｂの処理を行わないことがわかっているため、不整合が生じても問題ない。バッファ１４ｃについても同様である。
【００７０】
このように、本実施の形態の情報記録再生装置では、同一のコンポーネントグループ１５に属する複数のコンポーネント１３ａ〜１３ｃが、互いにポートを接続してバッファを共有するなど依存関係がある場合でも、並列的にコマンド処理ができるため、コマンドを受信してから短時間に処理を完了することができる。なお、アクティビティＡ１１ａ〜Ａ１１ｃ，Ａ１２ａ〜Ａ１２ｃは、図４のステップＳ８に相当する。
【００７１】
コンポーネント１３ａ〜１３ｃは、「再生停止」処理を完了すると、それぞれコア１２に対して処理が終了したことを通知する（アクティビティＡ１３ａ，Ａ１３ｂ，Ａ１３ｃ）。コア１２は、コンポーネント１３ａ〜１３ｃの全てから処理終了通知を受信すると、クライアント１１に対して全てのコンポーネントの「再生停止」処理が終了したことを通知する（アクティビティＡ１４）。
【００７２】
クライアント１１がコア１２から「再生停止」の処理終了通知を受信することで、「再生停止」のコマンド処理を完了する（アクティビティＡ１５）。なお、アクティビティＡ１３ａ〜Ａ１３ｃ，Ａ１４，Ａ１５は、図４のステップＳ９に相当する。
【００７３】
このように、本発明の実施の形態においては、コンポーネント１３ａ〜１３ｃを事前にグループ化し、コア１２がコンポーネントグループ１５の管理を行うような構成にしているので、クライアント１１が複数のコンポーネント１３ａ〜１３ｃを用いて処理を行うようなコマンドを発行する場合においても、コア１２に対して１回だけコマンドを発行すればよいため、データの通信回数・通信量を低減することができる。
【００７４】
また、同一のコンポーネントグループ１５に属する複数のコンポーネント１３ａ〜１３ｃが、互いにポートを接続してバッファを共有するなど依存関係がある場合でも、並列的にコマンド処理ができるために処理効率を向上させ、コマンドを発行してから短時間に処理を完了することができる。依存関係のあるコンポーネント間の処理効率を向上させ、命令要求開始から実際に命令が実行されるまでの時間を短縮することができる。
【００７５】
なお、本発明は、上述した実施の形態に限定されるものではなく、本発明の要旨を変えない範囲において、種々の変更、改変等が可能である。
【図面の簡単な説明】
【００７６】
【図１】本発明の実施の形態に係わる情報記録再生装置のハードウェア構成の一例を説明する概略ブロック図。
【図２】本発明の実施の形態に係わる情報記録再生装置のソフトウェア構成の一例を説明する概略ブロック図。
【図３】グループ管理情報２１の一例を示す図。
【図４】クライアントから発行されるコマンドを処理する一連の流れを説明するフローチャート。
【図５】クライアントから発行されるコマンドを処理する一連の流れを説明するアクティビティ図。
【符号の説明】
【００７７】
１１…クライアント、１２…コア、１３ａ，１３ｂ，１３ｃ，１３ｄ…コンポーネント、１４ｂ，１４ｃ…バッファ、１５…コンポーネントグループ、１３１ａ，１３１ｂ，１３１ｃ，１３１ｄ，１３２ａ，１３２ｂ，１３２ｃ，１３２ｄ，１３３ｂ，１３３ｃ，１３４ｂ，１３４ｃ…ポート、
【図１】
2010136277.tif 000003
【図２】
2010136277.tif 000004
【図３】
2010136277.tif 000005
【図４】
2010136277.tif 000006
【図５】
2010136277.tif 000007