(57)【特許請求の範囲】
【請求項１】
ストリームに対してデコード処理を施し、得られたデータを出力するストリーム処理手段と、
前記ストリーム処理手段の動作を特徴付けるパラメータ情報を含む要素が連結リスト構造化されてなるパラメータリストを生成するアプリケーションプログラム実行手段と、
前記パラメータリストに基づいて、前記ストリーム処理手段の動作を制御するデバイスドライバを実行するデバイスドライバ実行手段とを備え、
前記ストリーム処理手段は、１フレームの前記デコード処理が完了すると、前記データに関するデコード情報をアプリケーションプログラム実行手段に通知し、
前記アプリケーションプログラム実行手段は、
前記デコード情報に基づいて、前記ストリーム処理手段に対して、前記データのフレームごとに前記パラメータリストの基本リスト構造を設定し、
前記パラメータリストの先頭アドレスを引数として前記デバイスドライバ実行手段に渡す
ことを特徴とするストリーム制御装置。
【請求項２】
前記デバイスドライバ実行手段は、
前記パラメータ情報のセット毎に割り当てられた優先度が登録されている優先度管理テーブルを保持する優先度管理テーブル保持手段と、
前記優先度管理テーブルに基づいて、前記パラメータリストを構成する要素を並べ替えて再構築する手続き再構築手段と
を備えることを特徴とする請求項１に記載のストリーム制御装置。
【請求項３】
前記デバイスドライバ実行手段は、
前記ストリーム処理手段の動作に同期させるか否かが示される処理タイプが登録されているパラメータ処理タイプ管理テーブルを保持するパラメータ処理タイプ管理テーブル保持手段を備え、
前記手続き再構築手段は、
前記パラメータ処理タイプ管理テーブルに基づいて、同期させる要素と同期させない要素とに分類し、同期させる要素からなる同期パラメータリストと同期させない要素からなる非同期パラメータリストとを生成し、前記優先度管理テーブルに基づいて、前記非同期パラメータリストを構成する要素を並べ替えて再構築する
ことを特徴とする請求項２に記載のストリーム制御装置。
【請求項４】
前記手続き再構築手段は、
前記ストリームのビットレートおよび前記ストリームの転送サイズを前記パラメータリストから抽出し、
前記ビットレートおよび前記転送サイズから前記ストリーム処理手段の起動周期を算出し、
前記起動周期に基づいて優先度を決定し、決定した優先度を用いて前記優先度管理テーブルを更新する
ことを特徴とする請求項２に記載のストリーム制御装置。
【請求項５】
前記デバイスドライバ実行手段は、
前記ストリームのビットレートと前記ストリームに割り当てられているストリーム識別子とを前記パラメータリストから抽出し、前記ストリーム識別子に対応付けて前記ビットレートが登録されているビットレート管理テーブルを生成し保持するビットレート管理手段を備え、
前記手続き再構築手段は、
前記優先度管理テーブルおよび前記ビットレート管理テーブルに基づいて、前記パラメータリストを構成する要素を並べ替えて再構築する
ことを特徴とする請求項２に記載のストリーム制御装置。
【請求項６】
前記アプリケーションプログラム実行手段は、
前記パラメータ情報が登録されているパラメータ情報管理テーブルを保持するパラメータ情報管理テーブル保持手段と、
前記パラメータ情報管理テーブルに基づいて、前記パラメータリストを生成するパラメータリスト生成手段と
を備えることを特徴とする請求項１に記載のストリーム制御装置。
【請求項７】
前記パラメータリスト生成手段は、
ＤＶＤフォーマットのストリームに含まれるＲＤＩ（Ｒｅａｄ−ｔｉｍｅ  Ｄａｔａ  Ｉｎｆｏｒｍａｔｉｏｎ）情報を前記ストリームから抽出するＲＤＩ情報抽出手段を備え、
前記パラメータ情報に前記ＲＤＩ情報を含む要素を生成し、前記パラメータリストに付加する
ことを特徴とする請求項６に記載のストリーム制御装置。
【請求項８】
前記ストリーム処理手段は、
前記ストリームに対して個々の処理を実行する複数の機能を備え、
前記デバイスドライバ実行手段は、
前記機能を制御する制御機能を機能毎に備えるストリーム制御処理手段と、
前記制御機能を起動させる起動アドレスが前記制御機能毎に登録されているストリーム制御処理管理テーブルを保持するストリーム制御処理管理テーブル保持手段と、
前記ストリーム制御処理管理テーブルに基づいて、前記パラメータリストの要素毎に、該当する制御機能を起動させるストリーム制御処理起動手段と
を備えることを特徴とする請求項１に記載のストリーム制御装置。
【請求項９】
前記ストリーム処理手段は、垂直同期信号に関するイベント情報をアプリケーションプログラム実行手段に通知し、
前記アプリケーションプログラム実行手段は、前記イベント情報および前記デコード情報に基づいて、前記ストリーム処理手段に対して、前記データのフレームごとに前記パラメータリストの基本リスト構造を設定することを特徴とする請求項１に記載のストリーム制御装置。
【請求項１０】
前記ストリーム処理手段は、前記ストリーム処理手段の状態遷移に関するイベント情報をアプリケーションプログラム実行手段に通知し、
前記アプリケーションプログラム実行手段は、前記イベント情報および前記デコード情報に基づいて、前記ストリーム処理手段に対して、前記データのフレームごとに前記パラメータリストの基本リスト構造を設定することを特徴とする請求項１に記載のストリーム制御装置。
【請求項１１】
アプリケーションプログラム実行部と、デバイスドライバ実行部とを備え、ストリームに対してデコード処理を施し、得られたデータを出力する装置におけるストリーム制御方法であって
１フレームの前記デコード処理が完了すると、前記データに関するデコード情報を前記アプリケーションプログラム実行部に通知するステップと、
前記アプリケーションプログラム実行部が、前記デコード情報に基づいて、前記データのフレームごとに、パラメータリストの基本リスト構造を生成し、前記デコード処理の動作を特徴付けるパラメータ情報を含む要素が連結リスト構造化されてなる前記パラメータリストを生成するするステップと、
前記アプリケーションプログラム実行部が、前記パラメータリストの先頭アドレスを引数として前記デバイスドライバ実行部に渡すステップと、
前記デバイスドライブ実行部が、前記引数に対応する前記パラメータリストに基づいてデバイスドライバを実行することによって、前記デコード処理の動作を制御するステップと
を有するストリーム制御方法。
【請求項１２】
請求項１１に記載のストリーム制御方法をコンピュータに実行させるコンピュータ読み取り可能なストリーム制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、カメラ、ＴＶチューナー、ネットワーク等を介して入力される音声、映像データから構成される多種フォーマットのストリームデータを記録／再生する、種々のＡＶ機器システム等に利用されるストリーム制御装置に関する。
【背景技術】
【０００２】
従来、一般的なストリーム制御装置では、アプリケーションプログラムがデバイスドライバ毎に独自形式でパラメータ情報を生成し、デバイスドライバに渡している。すなわち、デバイスドライバ毎に固有のソフトウェアインターフェースを持つため、デバイスドライバの変更が生じると、デバイスドライバの変更以外に、デバイスドライバをコールするアプリケーションプログラムまでも変更する必要が生じる。このため、アプリケーションプログラムの流用が困難である。
【０００３】
例えば、Ｍｉｃｒｏｓｏｆｔ（登録商標）社が提供するＤｉｒｅｃｔＳｈｏｗ（登録商標）では、各フィルタのソフトウェアインターフェースが個別に定義されているため、ある特定のフィルタは、そのフィルタが付随することになる全てのフィルタのソフトウェアインターフェースに対応する必要がある。
【０００４】
これに対して、デマルチプレクサやデコーダなど、ＡＶストリームを処理する一連のフィルタに対して、ソフトウェアインターフェースとデータ構造とに関する情報を開発者に提供することで、統一的にＡＶストリームを制御する技術が提案されている（例えば、特許文献１参照。）。
【特許文献１】特開２００５−５６３６４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来の技術では、デマルチプレクサやデコーダなどのデバイスドライバ毎にソフトウェアインターフェースが定義されるため、各デバイスドライバで制御しているデバイスの同期や、制御シーケンスはアプリケーションプログラムで設計する必要がある。
【０００６】
そこで、本発明は、前記問題に鑑みてなされたものであり、デバイスドライバ毎にソフトウェアインターフェースを設計する作業を低減するストリーム制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
前記目的を達成するために、本発明に係わるストリーム制御装置は、（ａ１）ストリームに対してデコード処理を施して得られたデータを出力するストリーム処理手段と、（ａ２）前記ストリーム処理手段の動作を特徴付けるパラメータ情報を含む要素が連結リスト構造化されてなるパラメータリストを記憶するパラメータリスト記憶手段と、（ａ３）前記パラメータリストに基づいて、前記ストリーム処理手段の動作を制御するデバイスドライバを実行するデバイスドライバ実行手段と、（ａ４）前記パラメータリストの先頭アドレスを引数として前記デバイスドライバ実行手段に渡すアプリケーションプログラムを実行するアプリケーションプログラム実行手段とを備えることを特徴とする。
【０００８】
これによって、従来アプリケーションプログラム実行手段がデバイスドライバ実行手段に対して行っていた同期や制御シーケンスに関する情報もインターフェースに付加可能なデバイスドライバ構造を定義することができる。そして、アプリケーションプログラム実行手段は、デバイスドライバ実行手段に渡すパラメータをパラメータリストの中に隠蔽してコールするため、デバイスドライバ実行手段に依存せずに独立して定義することが可能となり、ソフトウェアの共通化が図れる。
【０００９】
さらに、（ｂ）前記デバイスドライバ実行手段は、（ｂ１）前記パラメータ情報のセット毎に割り当てられた優先度が登録されている優先度管理テーブルを保持する優先度管理テーブル保持手段と、（ｂ２）前記優先度管理テーブルに基づいて、前記パラメータリストを構成する要素を並べ替えて再構築する手続き再構築手段とを備えるとしてもよい。
【００１０】
これによって、パラメータリストの各基本リスト構造は、優先度に基づいて処理順序が決定されるため、アプリケーションプログラム実行手段は、パラメータリストを生成するときに、パラメータリストの基本リスト構造の連結順序を意識する必要がなくなり、アプリケーションプログラム実行手段に固有の処理に専念することが可能となる。
【００１１】
さらに、（ｃ）（ｃ１）前記デバイスドライバ実行手段は、前記ストリーム処理手段の動作に同期させるか否かが示される処理タイプが登録されているパラメータ処理タイプ管理テーブルを保持するパラメータ処理タイプ管理テーブル保持手段を備え、（ｃ２）前記手続き再構築手段は、前記パラメータ処理タイプ管理テーブルに基づいて、同期させる要素と同期させない要素とに分類し、同期させる要素からなる同期パラメータリストと同期させない要素からなる非同期パラメータリストとを生成し、前記優先度管理テーブルに基づいて、前記非同期パラメータリストを構成する要素を並べ替えて再構築するとしてもよい。
【００１２】
これによって、パラメータ情報の処理をデバイスからのイベントに同期して行うことが可能となり、より厳密なタイミングでのストリーム処理の起動を保証することができる。
【００１３】
または、（ｄ）前記手続き再構築手段は、前記ストリームのビットレートおよび前記ストリームの転送サイズを前記パラメータリストから抽出し、前記ビットレートおよび前記転送サイズから前記ストリーム処理手段の起動周期を算出し、前記起動周期に基づいて優先度を決定し、決定した優先度を用いて前記優先度管理テーブルを更新するとしてもよい。
【００１４】
これによって、優先度をビットレートや一回の転送サイズに応じて、動的に変えることが可能となり、ビットレートの異なるストリームの再生にも対応することができる。
【００１５】
または、（ｅ）（ｅ１）前記デバイスドライバ実行手段は、前記ストリームのビットレートと前記ストリームに割り当てられているストリーム識別子とを前記パラメータリストから抽出し、前記ストリーム識別子に対応付けて前記ビットレートが登録されているビットレート管理テーブルを生成し保持するビットレート管理手段を備え、（ｅ２）前記手続き再構築手段は、前記優先度管理テーブルおよび前記ビットレート管理テーブルに基づいて、前記パラメータリストを構成する要素を並べ替えて再構築するとしてもよい。
【００１６】
これによって、マルチストリームの処理を取り扱うことが可能となる。また、優先度をストリームごとに定義し、使用することが可能となるため、異なるビットレートのストリームを処理する場合においても、アプリケーションプログラム実行部は各ストリームに対する処理順序を意識する必要がなくなる。
【００１７】
または、（ｆ）前記アプリケーションプログラム実行手段は、（ｆ１）前記パラメータ情報が登録されているパラメータ情報管理テーブルを保持するパラメータ情報管理テーブル保持手段と、（ｆ２）前記パラメータ情報管理テーブルに基づいて、前記パラメータリストを生成するパラメータリスト生成手段とを備えるとしてもよい。
【００１８】
さらに、（ｇ）前記パラメータリスト生成手段は、（ｇ１）ＤＶＤフォーマットのストリームに含まれるＲＤＩ（Ｒｅａｄ−ｔｉｍｅ  Ｄａｔａ  Ｉｎｆｏｒｍａｔｉｏｎ）情報を前記ストリームから抽出するＲＤＩ情報抽出手段を備え、（ｇ２）前記パラメータ情報に前記ＲＤＩ情報を含む要素を生成し、前記パラメータリストに付加するとしてもよい。
【００１９】
これによって、ストリーム処理手段が検出したＡＶストリームに含まれている情報を、続けて設定する必要があっても、優先度に基づいて優先的に処理されるため、リアルタイム性を保証することが可能となり、ユーザに対して正しい視覚効果をもたらすことができる。
【００２０】
なお、本発明は、ストリーム制御装置として実現されるだけではなく、ストリーム制御装置を制御する方法（以下、ストリーム制御方法）、ストリーム制御方法をコンピュータシステムなどに実行させるストリーム制御プログラム、ストリーム制御プログラムを記録した記録媒体などとして実現されるとしてもよい。
【発明の効果】
【００２１】
本発明によれば、種々の民生ＡＶ機器におけるパラメータがパラメータリストに隠蔽されるため、種々の民生ＡＶ機器を制御するソフトウェア間で、ソフトウェアインターフェースを共通にすることができ、ソフトウェアの共通化を向上することが可能となる。さらに、パラメータリストに隠蔽された各パラメータ情報の処理順序は、デバイスドライバ内で最適な順序で処理されるため、リアルタイム性が要求されるような処理においても、アプリケーションプログラムでその順序を意識することなくパラメータリストを生成することが可能となる。
【発明を実施するための最良の形態】
【００２２】
（実施の形態１）
以下、本発明に係わる実施の形態１について、図面を参照しながら説明する。
【００２３】
本実施の形態におけるストリーム制御装置は、（ａ）（ａ１）ストリームに対してデコード処理を施して得られたデータを出力するストリーム処理機能と、（ａ２）ストリーム処理機能の動作を特徴付けるパラメータ情報を含む要素が連結リスト構造化されてなるパラメータリストを記憶するパラメータリスト記憶機能と、（ａ３）パラメータリストに基づいて、ストリーム処理機能の動作を制御するデバイスドライバを実行するデバイスドライバ実行機能と、（ａ４）パラメータリストの先頭アドレスを引数としてデバイスドライバ実行機能に渡すアプリケーションプログラムを実行するアプリケーションプログラム実行機能とを備えることを特徴とする。
【００２４】
さらに、（ｂ）デバイスドライバ実行機能は、（ｂ１）パラメータ情報のセット毎に割り当てられた優先度が登録されている優先度管理テーブルを保持する優先度管理テーブル保持機能と、（ｂ２）優先度管理テーブルに基づいて、パラメータリストを構成する要素を並べ替えて再構築する手続き再構築機能とを備えるとしてもよい。
【００２５】
さらに、（ｃ）アプリケーションプログラム実行機能は、（ｃ１）パラメータ情報が登録されているパラメータ情報管理テーブルを保持するパラメータ情報管理テーブル保持機能と、（ｃ２）パラメータ情報管理テーブルに基づいて、パラメータリストを生成するパラメータリスト生成機能とを備えるとしてもよい。
【００２６】
さらに、（ｄ）（ｄ１）ストリーム処理機能は、ストリームに対して個々の処理を実行する複数の機能を備え、（ｄ２）デバイスドライバ実行機能は、機能を制御する制御機能を機能毎に備えるストリーム制御処理機能と、（ｄ３）制御機能を起動させる起動アドレスが制御機能毎に登録されているストリーム制御処理管理テーブルを保持するストリーム制御処理管理テーブル保持機能と、（ｄ４）ストリーム制御処理管理テーブルに基づいて、パラメータリストの要素毎に、該当する制御機能を起動させるストリーム制御処理起動機能とを備えるとしてもよい。
【００２７】
以上の点を踏まえて、本実施の形態におけるストリーム制御装置について、説明する。
図１は、本実施の形態におけるストリーム制御装置の構成を示す図である。図１に示されるように、ストリーム制御装置１０は、アプリケーションプログラム実行部１００、デバイスドライバ実行部１２０、ストリーム供給処理部１０６、蓄積部１０７、記憶部１０８、多重分離部１０９、オーディオデコーダ１１０、ビデオデコーダ１１１、ＡＶ出力装置１１２などを備える。
【００２８】
アプリケーションプログラム実行部１００は、さらに、パラメータリスト生成部１１３、パラメータ情報管理テーブル保持部１１４などを備える。
【００２９】
パラメータリスト生成部１１３は、イベント発生時に、パラメータ情報管理テーブル（例えば、図３参照。）に基づいて、パラメータリストを構成する基本リスト構造を設定する。設定後の基本リスト構造をパラメータリストの終端の基本リスト構造の次に追加する（例えば、図４参照。）。さらに、イベント発生周期が一番短いＶｓｙｎｃフレームに同期させて、パラメータリストの先頭基本リスト構造が記憶されている記憶領域の先頭アドレスを手続き再構築部１０１に渡す。
【００３０】
図２は、本実施の形態におけるパラメータリストを構成する基本リスト構造のデータ構造を示す図である。図２に示されるように、パラメータリストを構成する基本リスト構造１５１は、メンバーとして、パラメータ識別子（メンバー１５１ａ）、パラメータ情報（メンバー１５１ｂ）、およびネクストポインタ（メンバー１５１ｃ）などを含む。ここで、パラメータ識別子は、パラメータセット毎に割り当てられた一意の識別子である。パラメータ情報管理テーブルに定義されている。パラメータ情報は、パラメータの値である。ネクストポインタは、次の基本リスト構造が記録されているアドレスである。
【００３１】
パラメータ情報管理テーブル保持部１１４は、パラメータ情報管理テーブル（例えば、図３参照。）を保持する。
【００３２】
図３は、本実施の形態におけるパラメータ情報管理テーブルの一例を示す図である。図３に示されるように、パラメータ情報管理テーブル１５２は、パラメータセット名（カラム１５２ａ）、パラメータ識別子（カラム１５２ｂ）、およびパラメータ情報（カラム１５２ｃ）が対応付けられているレコードから構成される。ここでは、一例として、パラメータ情報管理テーブル１５２は、“オーディオ切替パラメータ”、“ＣＨＧ＿ＡＵＤＩＯ＿ＰＡＲＡＭ”、および“ストリームＩＤ、出力チャンネル、・・・”が対応付けられているレコードと、“Ｖｓｙｎｃ同期パラメータ”、“ＶＳＹＮＣ＿ＰＡＲＡＭ”、および“アスペクト比、・・・”が対応付けられているレコードと、“ストリーム供給情報パラメータ”、“ＳＴＲＭ＿ＰＡＲＡＭ”、および“格納アドレス、格納サイズ、・・・”が対応付けられているレコードと、“ＧＯＰ同期パラメータ”、“ＧＯＰ＿ＰＡＲＡＭ”、および“字幕、・・・”が対応付けられているレコードを含む。
【００３３】
図４は、本実施の形態におけるパラメータリストのデータ構造を示す図である。図４に示されるように、ここでは、一例として、パラメータリスト１５３は、先頭から順に、基本リスト構造１５３ａ、基本リスト構造１５３ｂ、基本リスト構造１５３ｃ、基本リスト構造１５３ｄが連結されている。
【００３４】
基本リスト構造１５３ａは、パラメータ識別子にＣＨＧ＿ＡＵＤＩＯ＿ＰＡＲＡＭが登録され、パラメータ情報にストリームＩＤと出力チャンネルとが登録され、ネクストポインタに基本リスト構造１５３ｂが記憶されている記憶領域の先頭アドレスが登録されている。
【００３５】
基本リスト構造１５３ｂは、パラメータ識別子にＶＳＹＮＣ＿ＰＡＲＡＭが登録され、パラメータ情報にアスペクト比が登録され、ネクストポインタに基本リスト構造１５３ｃが記憶されている記憶領域の先頭アドレスが登録されている。
【００３６】
基本リスト構造１５３ｃは、パラメータ識別子にＳＴＲＭ＿ＰＡＲＡＭが登録され、パラメータ情報に格納アドレスと格納サイズが登録され、ネクストポインタに基本リスト構造１５３ｄが記憶されている記憶領域の先頭アドレスが登録されている。
【００３７】
基本リスト構造１５３ｄは、パラメータ識別子にＧＯＰ＿ＰＡＲＡＭが登録され、パラメータ情報に字幕が登録され、ネクストポインタにＮＵＬＬが登録されている。
【００３８】
次に、図１に示されるように、デバイスドライバ実行部１２０は、手続き再構築部１０１、優先度管理テーブル保持部１０２、ストリーム制御処理起動部１０３、ストリーム制御処理部管理テーブル保持部１０４、ストリーム制御処理部１０５などを備える。
【００３９】
手続き再構築部１０１は、パラメータリスト生成部１１３からパラメータリストの先頭基本リスト構造の先頭アドレスを受け取ると、受け取った先頭アドレスに基づいて、パラメータリストの基本リスト構造を順に走査する。優先度管理テーブル（例えば、図５参照。）で管理されている優先度に基づいて、並び替え対象である基本リスト構造間の順序を比較して、優先度順に基本リスト構造を並び替え、パラメータリストを再構築する。そして、再構築したパラメータリスト（以下、再構築パラメータリストと呼称する。）の先頭基本リスト構造のポインタをストリーム制御処理起動部１０３に渡す。
【００４０】
優先度管理テーブル保持部１０２は、優先度管理テーブル（例えば、図５参照。）を保持する。
【００４１】
図５は、本実施の形態における優先度管理テーブルの一例を示す図である。図５に示されるように、優先度管理テーブル１５４は、パラメータ識別子（カラム１５４ａ）および優先度（カラム１５４ｂ）が対応付けられているレコードから構成される。ここでは、一例として、優先度管理テーブルは、“ＣＨＧ＿ＡＵＤＩＯ＿ＰＡＲＡＭ”および“４”が対応付けられているレコードと、“ＶＳＹＮＣ＿ＰＡＲＡＭ”および“１”が対応付けられているレコードと、“ＳＴＲＭ＿ＰＡＲＡＭ”および“３”が対応付けられているレコードと、“ＧＯＰ＿ＰＡＲＡＭ”および“２”が対応付けられているレコードを含む。
【００４２】
図６は、本実施の形態における再構築パラメータリストのデータ構造を示す図である。図６に示されるように、ここでは、一例として、再構築パラメータリスト１５５は、先頭から順に、基本リスト構造１５５ａ、基本リスト構造１５５ｂ、基本リスト構造１５５ｃ、基本リスト構造１５５ｄが連結されている。
【００４３】
基本リスト構造１５５ａは、ネクストポインタに基本リスト構造１５３ｃの代わりに基本リスト構造１５５ｂが記憶されている記憶領域の先頭アドレスが登録されている。
【００４４】
基本リスト構造１５５ｂは、ネクストポインタにＮＵＬＬの代わりに基本リスト構造１５５ｃが記憶されている記憶領域の先頭アドレスが登録されている。
【００４５】
基本リスト構造１５５ｃは、ネクストポインタに基本リスト構造１５３ｄの代わりに基本リスト構造１５５ｄが記憶されている記憶領域の先頭アドレスが登録されている。
【００４６】
基本リスト構造１５５ｄは、ネクストポインタに基本リスト構造１５３ｂの代わりにＮＵＬＬが登録されている。
【００４７】
次に、図１に示されるように、ストリーム制御処理起動部１０３は、再構築パラメータリストを構成している基本リスト構造を先頭から抽出する。抽出した基本リスト構造のパラメータ識別子に対応付けられている起動アドレスをストリーム制御処理部管理テーブル（例えば、図７参照。）から取得する。起動要求と取得した起動アドレスをストリーム制御処理部１０５に渡す。
【００４８】
ストリーム制御処理部管理テーブル保持部１０４は、ストリーム制御処理部管理テーブル（例えば、図７参照。）を保持する。
【００４９】
図７は、本実施の形態におけるストリーム制御処理部管理テーブルの一例を示す図である。図７に示されるように、ストリーム制御処理部管理テーブル１５６は、パラメータ識別子（カラム１５６ａ）およびストリーム制御処理起動アドレス（カラム１５６ｂ）が対応付けられているレコードから構成される。ここでは、一例として、ストリーム制御処理部管理テーブル１５６は、“ＣＨＧ＿ＡＵＤＩＯ＿ＰＡＲＡＭ”および“オーディオ処理起動アドレス”が対応付けられているレコードと、“ＶＳＹＮＣ＿ＰＡＲＡＭ”および“ＡＶ出力装置制御起動アドレス”が対応付けられているレコードと、“ＳＴＲＭ＿ＰＡＲＡＭ”および“多重分離処理起動アドレス”が対応付けられているレコードと、“ＧＯＰ＿ＰＡＲＡＭ”および“ＡＶ出力処理起動アドレス”が対応付けられているレコードとを含む。
【００５０】
次に、図１に示されるように、ストリーム制御処理部１０５は、多重分離処理制御部、オーディオ処理制御部、ビデオ処理制御部、ＡＶ出力装置制御部などを備える。そして、ストリーム制御処理起動部１０３から起動要求を受け取ると、多重分離処理制御部、オーディオ処理制御部、ビデオ処理制御部、ＡＶ出力装置制御部の中から、起動要求と共に受け取った起動アドレスに該当するものを起動する。このとき、起動アドレスがオーディオ処理起動アドレスである場合は、オーディオ処理制御部を起動する。ＡＶ出力装置制御部起動アドレスである場合は、ＡＶ出力装置制御部を起動する。多重分離処理起動アドレスである場合は、多重分離処理制御部を起動する。ＡＶ出力処理起動アドレスである場合は、ＡＶ出力装置制御部を起動する。
【００５１】
また、アプリケーションプログラム実行部１００は、供給開始要求と再生対象とするストリームに割り当てられたストリーム識別子をストリーム供給処理部１０６に渡す。
【００５２】
ストリーム供給処理部１０６は、アプリケーションプログラム実行部１００から供給開始要求を受け取ると、供給開始要求と共に受け取ったストリーム識別子によって特定されるストリームを蓄積部１０７から読み出す。読み出したストリームを記憶部１０８に展開する。展開が完了すると、アプリケーションプログラム実行部１００に供給完了通知を渡す。
【００５３】
蓄積部１０７は、ストリームを蓄積する。記憶部１０８は、ストリームを記憶する。
多重分離部１０９は、アプリケーションプログラム実行部１００からデバイスドライバ実行部１２０を介して供給完了通知が渡されると、多重化ストリームをオーディオストリームとビデオストリームに分離し、オーディオストリームをオーディオデコーダ１１０に供給し、ビデオストリームをビデオデコーダ１１１に供給する。
【００５４】
オーディオデコーダ１１０は、多重分離部１０９から供給されるオーディオストリームに対してデコード処理を行う。デコード処理を行って得られた結果は、ＡＶ出力装置１１２に出力する。ビデオデコーダ１１１は、多重分離部１０９から供給されるビデオストリームに対してデコード処理を行う。デコード処理を行って得られた結果は、ＡＶ出力装置１１２に出力する。さらに、オーディオデコーダ１１０、ビデオデコーダ１１１は、１フレームのデコードが完了すると、モノラル／ステレオやアスペクト比などのデコード情報をパラメータリスト生成部１１３に通知する。また、Ｖｓｙｎｃや状態遷移のタイミングで、Ｖｓｙｎｃや状態遷移に関するイベント情報をパラメータリスト生成部１１３に通知する。
【００５５】
そして、パラメータリスト生成部１１３は、オーディオデコーダ１１０およびビデオデコーダ１１１から通知されるデコード情報やイベント情報に基づいて、ＡＶ出力装置１１２に対してフレーム毎にパラメータリストの基本リスト構造を設定する。また、ユーザ操作などにより、再生停止が要求された場合でも、デバイスドライバ実行部１２０経由で、オーディオデコーダ１１０およびビデオデコーダ１１１に対してデコード停止処理を行う。
【００５６】
なお、優先度は、周期管理テーブル（例えば、図８参照。）に基づいて、周期が短い順に割り当てられている。また、値が小さいほど高いとする。具体的には、周期が最短のパラメータ識別子に１が割り当てられている。以下、順に割当てられ、最後に、ユーザ操作など非周期に発生するイベントに対するパラメータ識別子に最低の優先度が割当てられている。
【００５７】
図８は、本実施の形態における周期管理テーブルの一例を示す図である。図８に示されるように、周期管理テーブル１５７は、パラメータ識別子（カラム１５７ａ）および周期（カラム１５７ｂ）が対応付けられているレコードから構成される。ここでは、一例として、周期管理テーブル１５７は、“ＣＨＧ＿ＡＵＤＩＯ＿ＰＡＲＡＭ”および“なし”が対応付けられているレコードと、“ＶＳＹＮＣ＿ＰＡＲＡＭ”および“３３ｍｓ”が対応付けられているレコードと、“ＳＴＲＭ＿ＰＡＲＡＭ”および“１０００ｍｓ”が対応付けられているレコードと、“ＧＯＰ＿ＰＡＲＡＭ”および“５００ｍｓ”が対応付けられているレコードとを含む。
【００５８】
ここで、ＳＴＲＭ＿ＰＡＲＡＭの周期は、一回の転送サイズが９Ｍｂｉｔ、ビットレートが９Ｍｂｐｓとして、周期を算出している。
【００５９】
なお、これら以外にも、ストリーム制御装置１０は、図には示されてはいないが、パラメータリスト生成部１１３で生成されたパラメータリストを記憶するパラメータリスト記憶機能を備えている。また、周期管理テーブルを保持する周期管理テーブル保持機能を備えている。
【００６０】
続いて、以上のように構成されているストリーム制御装置１０の動作について説明する。
【００６１】
図９は、本実施の形態におけるアプリケーションプログラム実行処理を示す図である。図９に示されるように、アプリケーションプログラム実行部１００は、供給完了通知、デコード情報の通知、ユーザ操作のイベントが発生すると（Ｓ１０１）、それぞれのタイミングで、パラメータリスト生成部１１３においてパラメータを生成する。
【００６２】
このとき、パラメータリスト生成部１１３は、パラメータ情報管理テーブル１５２（例えば、図３参照。）に基づいて（Ｓ１０３）、パラメータ識別子とパラメータ情報を設定する（Ｓ１０４）。ネクストポインタをＮＵＬＬに設定し（Ｓ１０５）、パラメータリストの終端の基本リスト構造の次に追加する（Ｓ１０６）。
【００６３】
このようにして、アプリケーションプログラム実行部１００は、各イベント発生時に生成されたパラメータリストの先頭の基本リスト構造の先頭アドレスを、イベント発生周期が一番短いＶｓｙｎｃフレームに同期して（Ｓ１０２）、デバイスドライバ実行部１２０の手続き再構築部１０１に渡す（Ｓ１０７）。パラメータリストへの追加、あるいはデバイスドライバ実行部１２０の処理が完了すると、再びイベント待ちの状態となり、同一の処理を繰り返す。
【００６４】
図１０は、本実施の形態におけるデバイスドライバ実行処理を示す図である。図１０に示されるように、手続き再構築部１０１は、パラメータリスト１５３（例えば、図４参照。）を構成している各基本リスト構造を先頭から走査し、優先度管理テーブル１５４（例えば、図５参照。）に登録されている優先度に基づいて、基本リスト構造の連結順序を並び替え、再構築パラメータリスト１５５（例えば、図６参照。）を生成する（Ｓ１１１）。再構築パラメータリスト１５５の先頭の基本リスト構造１５５ａのアドレスを、ストリーム制御処理起動部１０３に渡す。
【００６５】
ストリーム制御処理起動部１０３は、再構築パラメータリスト１５５を構成している基本リスト構造を先頭から順次取得する（Ｓ１１２）。先頭の基本リスト構造１５５ａにはパラメータ識別子としてＶｓｙｎｃ同期パラメータを示すＶＳＹＮＣ＿ＰＡＲＡＭが登録されている（Ｓ１１３）。ストリーム制御処理起動部１０３は、ＶＳＹＮＣ＿ＰＡＲＡＭで示されるパラメータを処理するストリーム制御処理部１０５の起動アドレスを、ストリーム制御処理部管理テーブル１５６（例えば、図７参照。）から取得し、取得した起動アドレスと起動要求とをストリーム制御処理部１０５に渡して実行させる（Ｓ１１４）。ＶＳＹＮＣ＿ＰＡＲＡＭに対するストリーム制御処理であるＡＶ出力処理制御部の起動が終わると、基本リスト構造のネクストポインタを参照し、２番目の基本リスト構造１５５ｂを取得し、先頭の基本リスト構造１５５ａに対して行った処理と同様に、パラメータ識別子に対応するストリーム制御処理部１０５を起動する。以下、終端の基本リスト構造１５５ｄまで、同一の処理を繰り返す（Ｓ１１５）。
【００６６】
なお、図１１に示されるように、手続き再構築部１０１は、並び替え対象である基本リスト構造間の順序比較に、優先度を使用して（Ｓ１２１〜Ｓ１２５）、優先度順の並び替えを実現する（Ｓ１２６、Ｓ１２７）。
【００６７】
以上、本実施の形態におけるストリーム制御装置１０によれば、アプリケーションプログラム実行部１００は、デバイスドライバ実行部１２０に渡すパラメータをパラメータリストの中に隠蔽してコールするため、デバイスドライバ実行部１２０に依存せずに独立して定義することが可能となり、ソフトウェアの共通化が図れる。また、パラメータリスト内の各基本リスト構造は、優先度情報に基づいて処理順序が決定されるため、アプリケーションプログラム実行部１００はパラメータリストを生成する際に、パラメータリストの基本リスト構造の連結順序を意識する必要がなくなり、アプリケーションプログラム実行部に固有の処理に専念することが可能となる。
【００６８】
（実施の形態２）
次に、本発明に係わる実施の形態２について、図面を参照しながら説明する。
【００６９】
本実施の形態におけるストリーム制御装置は、下記（ｅ）に示される特徴を備える。
（ｅ）（ｅ１）デバイスドライバ実行機能は、ストリーム処理機能の動作に同期させるか否かが示される処理タイプが登録されているパラメータ処理タイプ管理テーブルを保持するパラメータ処理タイプ管理テーブル保持機能を備え、（ｅ２）手続き再構築機能は、パラメータ処理タイプ管理テーブルに基づいて、同期させる要素と同期させない要素とに分類し、同期させる要素からなる同期パラメータリストと同期させない要素からなる非同期パラメータリストとを生成し、優先度管理テーブルに基づいて、非同期パラメータリストを構成する要素を並べ替えて再構築することを特徴とする。
【００７０】
以上の点を踏まえて、本実施の形態におけるストリーム制御装置について、説明する。なお、実施の形態１における構成要素と同一の構成要素については、同一の参照符号を付して、その説明を省略する。
【００７１】
図１２は、本実施の形態におけるストリーム制御装置の構成を示す図である。図１２に示されるように、ストリーム制御装置２０は、デバイスドライバ実行部１２０の代わりにデバイスドライバ実行部２２０を備える点が異なる。
【００７２】
デバイスドライバ実行部２２０は、手続き再構築部１０１、ストリーム制御処理起動部１０３の代わりに、手続き再構築部２０１、ストリーム制御処理起動部２０３を備える。さらに、パラメータ処理タイプ管理テーブル保持部２１５、割込イベント管理テーブル保持部２１６を備える。
【００７３】
手続き再構築部２０１は、さらに、パラメータリストを構成する要素ごとに、処理タイプをパラメータ処理タイプ管理テーブル（例えば、図１３参照。）から取得する。そして、取得した処理タイプに基づいて、パラメータリストとイベント同期パラメータのいずれかに分類する。取得した優先度および処理タイプを含むイベント同期パラメータをストリーム制御処理起動部２０３に渡す。
【００７４】
パラメータ処理タイプ管理テーブル保持部２１５は、パラメータ処理タイプ管理テーブル（例えば、図１３参照。）を保持する。
【００７５】
図１３は、本実施の形態におけるパラメータ処理タイプ管理テーブルの一例を示す図である。図１３に示されるように、パラメータ処理タイプ管理テーブル２５１は、パラメータ識別子（カラム２５１ａ）および処理タイプ（カラム２５１ｂ）が対応付けられているレコードから構成される。ここでは、一例として、パラメータ処理タイプ管理テーブル２５１は、“ＣＨＧ＿ＡＵＤＩＯ＿ＰＡＲＡＭ”および“同期不要”が対応付けられているレコードと、“ＶＳＹＮＣ＿ＰＡＲＡＭ”および“要同期”が対応付けられているレコードと、“ＳＴＲＭ＿ＰＡＲＡＭ”および“同期不要”が対応付けられているレコードと、“ＧＯＰ＿ＰＡＲＡＭ”および“要同期”が対応付けられているレコードとを含む。
【００７６】
次に、図１２に示されるように、ストリーム制御処理起動部２０３は、手続き再構築部２０１から渡されたイベント同期パラメータを受け取る。受け取ったイベント同期パラメータに基づいて、イベントに同期する必要があるか否かを判定する。判定した結果、処理タイプが“同期不要‘である場合、すなわち、同期する必要がない場合は、優先度に基づいて連結順序を並び替える。一方、処理タイプが“要同期”である場合、すなわち、同期する必要がある場合は、パラメータ識別子に対応付けられている割込イベント名を割込イベント管理テーブル（例えば、図１４参照。）から取得する。また、パラメータ識別子に対応付けられているストリーム制御処理起動アドレスをストリーム制御処理部管理テーブル（例えば、図７参照。）から取得する。取得した割込イベント名に対して、取得したストリーム制御処理起動アドレスを、通知された優先度で、割込みハンドラとしてイベント処理部２１７に登録する。
【００７７】
割込イベント管理テーブル保持部２１６は、割込イベント管理テーブル（例えば、図１４参照。）を保持する。
【００７８】
図１４は、本実施の形態における割込イベント管理テーブルの一例を示す図である。図１４に示されるように、割込イベント管理テーブル２５２は、パラメータ識別子（カラム２５２ａ）および割込イベント名（カラム２５２ｂ）が対応付けられているレコードから構成される。ここでは、一例として、割込イベント管理テーブル２５２は、“ＶＳＹＮＣ＿ＰＡＲＡＭ”および“ＶＳＹＮＣ割込み”が対応付けられているレコードと、“ＧＯＰ＿ＰＡＲＡＭ”および“ＧＯＰ周期イベント”が対応付けられているレコードとを含む。
【００７９】
イベント処理部２１７は、割込イベントを受信すると、その割込みに対して登録されている割込みハンドラを起動する。割込みイベントを多重に受信した場合は、優先度の高い割込みハンドラが起動される。なお、イベント処理部２１７を、汎用ＯＳで提供される割込み処理機能を利用して実現するとしてもよい。
【００８０】
続いて、以上のように構成されているストリーム制御装置２０の動作について説明する。なお、実施の形態１における動作と同一の動作については、同一の参照符号を付して、その説明を省略する。
【００８１】
図１５は、本実施の形態におけるデバイスドライバ実行処理を示す図である。図１５に示されるように、手続き再構築部２０１は、パラメータリスト１５３（例えば、図４参照。）を構成している各基本リスト構造を先頭から走査し、パラメータ処理タイプ管理テーブル２５１（例えば、図１３参照。）に登録されている処理タイプと優先度管理テーブル１５４（例えば、図５参照。）に登録されている優先度とに基づいて、即座に処理する基本リスト構造と、イベントに同期させて処理する基本リスト構造とに分類しながら、連結順序を並び替え、再構築パラメータリスト２５３（例えば、図１７参照。）を生成する（Ｓ２１１）。
【００８２】
このとき、図１６に示されるように、手続き再構築部２０１は、アプリケーションプログラム実行部１００から渡されたパラメータリストを優先度順に並び替える際に、基本リスト構造ごとに、パラメータ処理タイプ管理テーブル２５１（例えば、図１３参照。）からイベントに同期する必要があるか否かの情報を取得し（Ｓ２２１）、同期が必要でない場合は（Ｓ２２２：ＮＯ）、実施の形態１で説明したように、優先度に基づいて連結順序を並び替える（Ｓ１２５〜Ｓ１２７）。同期が必要な場合は（Ｓ２２２：ＹＥＳ）、ストリーム制御処理起動部２０３において、パラメータ識別子に対応する割込イベント名を割込イベント管理テーブル２５２（例えば、図１４参照。）から取得し（Ｓ２２３）、またストリーム制御処理部管理テーブル１５６（例えば、図７参照。）からストリーム処理起動アドレスを取得し（Ｓ２２４）、割込みイベントの割込みハンドラとして優先度でイベント処理部２１７に登録する（Ｓ２２５）。
【００８３】
図１７は、本実施の形態における再構築パラメータリストのデータ構造を示す図である。図１７に示されるように、ここでは、一例として、再構築パラメータリスト２５３は、先頭から順に、基本リスト構造２５３ａ、基本リスト構造２５３ｂが連結されている。
【００８４】
基本リスト構造２５３ａは、パラメータ識別子にＳＴＲＭ＿ＰＡＲＡＭが登録され、パラメータ情報に格納アドレスと格納サイズが登録され、ネクストポインタに基本リスト構造２５３ｂのアドレスが登録されている。
【００８５】
基本リスト構造２５３ｂは、パラメータ識別子にＣＨＧ＿ＡＵＤＩＯ＿ＰＡＲＡＭが登録され、パラメータ情報にストリームＩＤと出力チャンネルとが登録され、ネクストポインタにＮＵＬＬが登録されている。
【００８６】
例えば、ストリーム制御処理起動部２０３は、“ＶＳＹＮＣ＿ＰＡＲＡＭ”に対応付けられている“ＶＳＹＮＣ割込み”を割込イベント管理テーブル２５２（例えば、図１４参照。）から取得する。“ＶＳＹＮＣ＿ＰＡＲＡＭ”に対応付けられている“ＡＶ出力装置制御部起動アドレス”をストリーム制御処理部管理テーブル１５６（例えば、図７参照。）から取得する。“ＶＳＹＮＣ割り込みイベント”に対して “ＡＶ出力装置制御部起動アドレス”を優先度“１”で割込みハンドラとしてイベント処理部２１７に登録する。
【００８７】
同様に、“ＧＯＰ＿ＰＡＲＡＭ”に対応付けられている“ＧＯＰ周期イベント”を割込イベント管理テーブル２５２（例えば、図１４参照。）から取得する。“ＧＯＰ＿ＰＡＲＡＭ”に対応付けられている“ＡＶ出力処理起動アドレス”をストリーム制御処理部管理テーブル１５６（例えば、図７参照。）から取得する。“ＧＯＰ周期イベント”に対して“ＡＶ出力処理起動アドレス”を優先度“２”で割込みハンドラとしてイベント処理部２１７に登録する。
【００８８】
したがって、“ＧＯＰ周期イベント”が発生すると、ＡＶ出力装置制御部が起動されてＧＯＰ＿ＰＡＲＡＭが処理されるが、処理中にＶＳＹＮＣ割込みが発生すると、別のコンテキストでＡＶ出力装置制御部が起動され、ＶＳＹＮＣ＿ＰＡＲＡＭが優先して処理される。
【００８９】
以上、本実施の形態におけるストリーム制御装置２０によれば、パラメータの処理をデバイスからのイベントに同期して行うことが可能となり、より厳密なタイミングでのストリーム処理の起動を保証することができる。
【００９０】
すなわち、実施の形態１におけるストリーム制御装置１０では、アプリケーションプログラム実行部１００で生成されたパラメータリストは、パラメータの優先度順に即座に処理されていた。そのため、デバイスと同期してパラメータを設定する必要がある場合は、そのタイミングをアプリケーションが管理する必要があった。
【００９１】
これに対して、本実施の形態におけるストリーム制御装置２０では、パラメータ処理タイプ管理テーブル２５１（例えば、図１３参照。）、割込イベント管理テーブル２５２（例えば、図１４参照。）に合わせて、手続き再構築部２０１とストリーム制御処理起動部２０３の処理を変更することで、パラメータの処理タイミングをイベントに同期させることができる。
【００９２】
（実施の形態３）
次に、本発明に係わる実施の形態３について、図面を参照しながら説明する。
【００９３】
本実施の形態におけるストリーム制御装置は、下記（ｆ）に示される特徴を備える。
（ｆ）（ｆ１）パラメータリスト生成機能は、ＤＶＤフォーマットのストリームに含まれるＲＤＩ（Ｒｅａｄ−ｔｉｍｅ  Ｄａｔａ  Ｉｎｆｏｒｍａｔｉｏｎ）情報をストリームから抽出するＲＤＩ情報抽出機能を備え、（ｆ２）パラメータ情報にＲＤＩ情報を含む要素を生成し、パラメータリストに付加することを特徴とする。
【００９４】
以上の点を踏まえて、本実施の形態におけるストリーム制御装置について、説明する。なお、実施の形態１における構成要素と同一の構成要素については、同一の参照符号を付して、その説明を省略する。
【００９５】
図１８は、本実施の形態におけるストリーム制御装置の構成を示す図である。図１８に示されるように、ストリーム制御装置３０は、アプリケーションプログラム実行部１００の代わりにアプリケーションプログラム実行部３００を備える点が異なる。また、多重分離部１０９の代わりに多重分離部３０９を備える点が異なる。
【００９６】
アプリケーションプログラム実行部３００は、パラメータリスト生成部１１３の代わりにパラメータリスト生成部３１３を備える。
【００９７】
パラメータリスト生成部３１３は、さらに、ＲＤＩ（Ｒｅａｄ−ｔｉｍｅ  Ｄａｔａ  Ｉｎｆｏｒｍａｔｉｏｎ）パラメータ生成部３１７を備える。
【００９８】
ＲＤＩパラメータ生成部３１７は、多重分離部３０９からＲＤＩ情報を受信すると、基本リスト構造を生成する。このとき、パラメータ情報管理テーブル（例えば、図１９参照。）に登録されている“ＲＤＩパラメータ”を参照し、パラメータ識別子を“ＲＤＩ＿ＰＡＲＡＭ”に、パラメータ情報を“アスペクト比”と“著作権情報”に設定する。なお、アスペクト比および著作権情報は、多重分離部３０９から通知されたＲＤＩ情報（例えば、図２０参照。）に基づいて選択される。また、ＲＤＩパラメータ生成部３１７は、生成した基本リスト構造のネクストポインタをＮＵＬＬに設定し、設定後の基本リスト構造をパラメータリストの終端の基本リスト構造の次に追加する。
【００９９】
図１９は、本実施の形態におけるパラメータ情報管理テーブルの一例を示す図である。図１９に示されるように、パラメータ情報管理テーブル３５１は、パラメータセット名（カラム３５１ａ）、パラメータ識別子（カラム３５１ｂ）、およびパラメータ情報（カラム３５１ｃ）が対応付けられているレコードから構成される。ここでは、一例として、パラメータ情報管理テーブル３５１は、“ＲＤＩパラメータ”、“ＲＤＩ＿ＰＡＲＡＭ”、および“アスペクト比、著作権情報”が対応付けられているレコードを含む。
【０１００】
図２０は、本実施の形態におけるＲＤＩ情報のデータ構造を示す図である。図２０に示されるように、ＲＤＩ情報（カラム３５２ａ）は、アスペクト比および著作権情報を含む。各パラメータ値（カラム３５２ｂ）は、以下のとおりである。
【０１０１】
アスペクト比として、“４：３”、“１６：９”、“１４：９レターボックス（中央）”、“１４：９レターボックス（トップ）”、“１６：９レターボックス（中央）”、“１６：９レターボックス（トップ）”、“＞１６：９レターボックス（中央）”、“１４：９  ｆｕｌｌ  ｆｏｒｍａｔ  レターボックス（中央）”のいずれかが選択される。
【０１０２】
著作権情報として、“ｖａｌｉｄ  ＣＣＩ  ＮＯｎ−ｅｘｉｓｔ”、“ｖａｌｉｄ  Ｓｏｕｒｃｅ  ｉｎｆｏｒｍａｔｉｏｎ  ｏｎｌｙ  ｅｘｉｓｔ”、“ｖａｌｉｄ  ＡＰＳ  ｉｎｆｏｒｍａｔｉｏｎ  ｏｎｌｙ  ｅｘｉｓｔ”、“ｖａｌｉｄ  ＡＰＳ  ａｎｄ  Ｓｏｕｒｃｅ  ｉｎｆｏｒｍａｔｉｏｎ  ｏｎｌｙ  ｅｘｉｓｔ”、“ｖａｌｉｄ  ＣＧＭＳ  ｉｎｆｏｒｍａｔｉｏｎ  ｏｎｌｙ  ｅｘｉｓｔ”、“ｖａｌｉｄ  ＣＧＭＳ  ａｎｄ  Ｓｏｕｒｃｅ  ｉｎｆｏｒｍａｔｉｏｎ  ｏｎｌｙ  ｅｘｉｓｔ”、“ｖａｌｉｄ  ＣＧＭＳ  ａｎｄ  ＡＰＳ  ｉｎｆｏｒｍａｔｉｏｎ  ｏｎｌｙ  ｅｘｉｓｔ”、“ｖａｌｉｄ  ＣＧＭＳ，  ＡＰＳ  ａｎｄ  Ｓｏｕｒｃｅ  ｉｎｆｏｒｍａｔｉｏｎ  ｅｘｉｓｔ”のいずれかが選択される。
【０１０３】
次に、図１８に示されるように、多重分離部３０９は、パラメータリスト生成部３１３のＲＤＩパラメータ生成部３１７に、再生対象のストリームに関するＲＤＩ情報を渡す。
【０１０４】
なお、これら以外にも、ＡＶ出力装置制御部は、付加情報制御部３１８を備える。
付加情報制御部３１８は、ＡＶ出力装置に対して、アスペクト比、および著作権情報を映像信号に重畳する制御を行う。
【０１０５】
続いて、以上のように構成されているストリーム制御装置３０の動作について説明する。なお、実施の形態１における動作と同一の動作については、同一の参照符号を付して、その説明を省略する。
【０１０６】
図２１は、本実施の形態におけるアプリケーションプログラム実行処理を示す図である。図２１に示されるように、ＲＤＩパラメータ生成部３１７は、多重分離部３０９からＲＤＩ情報を受け取ると（Ｓ３３１）、受け取ったＲＤＩ情報に基づいて、パラメータ情報管理テーブル３５１（例えば、図１９参照。）に登録されているＲＤＩパラメータを参照し（Ｓ３３２）、パラメータ識別子を“ＲＤＩ＿ＰＡＲＡＭ”に（Ｓ３３３）、パラメータ情報をアスペクト比および著作権情報に設定して、基本リスト構造を生成する。アスペクト比および著作権情報は、多重分離部３０９から通知されたＲＤＩ情報（例えば、図２０参照。）を参照して選択する（Ｓ３３４）。生成した基本リスト構造のネクストポインタをＮＵＬＬに設定し（Ｓ３３５）、設定後の基本リスト構造をパラメータリストの終端の基本リスト構造の次に追加する（Ｓ３３６）。
【０１０７】
そして、アプリケーションプログラム実行部３００において生成されたパラメータリストは、手続き再構築部１０１において、パラメータの優先度順に並び替えられる。ＲＤＩ＿ＰＡＲＡＭは、周期管理テーブル３５３（例えば、図２２参照。）に示されるように、設定周期が３３ｍｓとなり、他のパラメータよりも優先して処理される必要があるため、優先度管理テーブル３５４（例えば、図２３参照。）に示されるように、優先度は１となる。したがって、ＲＤＩ＿ＰＡＲＡＭは、パラメータリストの先頭に位置するように並び替えが行われる。ストリーム制御処理起動部１０３は、最初に、“ＲＤＩ＿ＰＡＲＡＭ”に対応付けられている “ＡＶ出力装置制御部起動アドレス”をストリーム制御処理部管理テーブル３５５（例えば、図２４参照。）から取得して起動させる。“ＲＤＩ＿ＰＡＲＡＭ”は、ＡＶ出力装置制御部の付加情報制御部３１８において処理される。
【０１０８】
図２２は、本実施の形態における周期管理テーブルの一例を示す図である。図２２に示されるように、周期管理テーブル３５３は、パラメータ識別子（カラム３５３ａ）および周期（カラム３５３ｂ）が対応付けられているレコードから構成される。ここでは、一例として、周期管理テーブル３５３は、“ＲＤＩ＿ＰＡＲＡＭ”および“３３ｍｓ”が対応付けられているレコードを含む。
【０１０９】
図２３は、本実施の形態における優先度管理テーブルの一例を示す図である。図２３に示されるように、優先度管理テーブル３５４は、パラメータ識別子（カラム３５４ａ）および優先度（カラム３５４ｂ）が対応付けられているレコードから構成される。ここでは、一例として、優先度管理テーブル３５４は、“ＲＤＩ＿ＰＡＲＡＭ”および“１”が対応付けられているレコードを含む。
【０１１０】
図２４は、本実施の形態におけるストリーム制御処理部管理テーブルの一例を示す図である。図２４に示されるように、ストリーム制御処理部管理テーブル３５５は、パラメータ識別子（カラム３５５ａ）およびストリーム制御処理起動アドレス（カラム３５５ｂ）が対応付けられているレコードから構成される。ここでは、一例として、ストリーム制御処理部管理テーブル３５５は、“ＲＤＩ＿ＰＡＲＡＭ”および “ＡＶ出力装置制御部起動アドレス”が対応付けられているレコードを含む。
【０１１１】
以上、本実施の形態におけるストリーム制御装置３０によれば、多重分離部３０９が検出したＡＶストリームに含まれている情報を、続けてＡＶ出力装置１１２に対して設定する必要があっても、優先度情報に基づいて優先的に処理されるため、リアルタイム性を保証することが可能となり、ユーザに対して正しい視覚効果をもたらすことができる。
【０１１２】
すなわち、実施の形態１におけるストリーム制御装置１０では、多重分離部１０９からの情報をアプリケーションプログラム実行部１００が検出することができないため、ＤＶＤフォーマットのＡＶストリームのように多重分離後のパラメータに含まれるアスペクト比や著作権情報をＡＶ出力装置に対して設定することができず、ユーザに対して正しい視覚効果を与えることができない。
【０１１３】
これに対して、本実施の形態におけるストリーム制御装置３０では、多重分離部３０９から受信したアスペクト比および著作権情報に基づいて、ＡＶ出力装置１１２に設定するＲＤＩパラメータを生成するＲＤＩパラメータ生成部３１７と付加情報制御部３１８とを備え、ＤＶＤフォーマットの再生動作において、ユーザに対して正しい視覚効果を与えることができる。
【０１１４】
（実施の形態４）
次に、本発明に係わる実施の形態４について、図面を参照しながら説明する。
【０１１５】
本実施の形態におけるストリーム制御装置は、下記（ｇ）に示される特徴を備える。
（ｇ）（ｇ１）手続き再構築機能は、ストリームのビットレートおよびストリームの転送サイズをパラメータリストから抽出し、ビットレートおよび転送サイズからストリーム処理機能の起動周期を算出し、起動周期に基づいて優先度を決定し、決定した優先度を用いて優先度管理テーブルを更新することを特徴とする。
【０１１６】
以上の点を踏まえて、本実施の形態におけるストリーム制御装置について、説明する。なお、実施の形態１における構成要素と同一の構成要素については、同一の参照符号を付して、その説明を省略する。
【０１１７】
図２５は、本実施の形態におけるストリーム制御装置の構成を示す図である。図２５に示されるように、ストリーム制御装置４０は、デバイスドライバ実行部１２０の代わりにデバイスドライバ実行部４２０を備える点が異なる。
【０１１８】
デバイスドライバ実行部４２０は、手続き再構築部１０１、優先度管理テーブル保持部４０２の代わりに、手続き再構築部４０１、優先度管理テーブル保持部４０２を備える。
【０１１９】
手続き再構築部４０１は、パラメータリスト生成部１１３からパラメータリストを受け取ると、受け取ったパラメータリストを走査し、順次、パラメータリストの基本リスト構造を取り出す。取り出した基本リスト構造を参照し、参照した基本リスト構造のパラメータ識別子が“ＳＴＲＭ＿ＩＮＦＯ＿ＰＡＲＡＭ”である場合は、基本リスト構造のパラメータ情報から“ビットレート”および “一回の転送サイズ”を取り出す。取り出した“ビットレート”および“一回の転送サイズ”を用いて、下記の数式（１）に基づいて、ストリーム転送周期を算出する。
【０１２０】
［数式（１）］
ストリーム転送周期＝一回の転送サイズ／ビットレート
【０１２１】
そして、手続き再構築部４０１は、算出した結果を周期管理テーブルに登録する。さらに、“ＳＴＲＭ＿ＩＮＦＯ＿ＰＡＲＡＭ”が示す基本リスト構造をパラメータリストから削除する。以上の処理を、パラメータリストの終端の基本リスト構造まで繰り返す。
【０１２２】
さらに、手続き再構築部４０１は、周期管理テーブルを周期の短い順にソートし、周期の短い順に高い優先度を割り当て、優先度管理テーブルを更新する。なお、周期が同じ場合は、同じ優先度を割り当てる。
【０１２３】
図２６は、本実施の形態におけるパラメータ情報管理テーブルの一例を示す図である。図２６に示されるように、パラメータ情報管理テーブル４５１は、パラメータセット名（カラム４５１ａ）、パラメータ識別子（カラム４５１ｂ）、およびパラメータ情報（カラム４５１ｃ）が対応付けられているレコードから構成される。ここでは、一例として、パラメータ情報管理テーブル４５１は、“ストリーム供給情報通知パラメータ”、“ＳＴＲＭ＿ＩＮＦＯ＿ＰＡＲＡＭ”、および“ビットレート、一回の転送サイズ”が対応付けられているレコードを含む。
【０１２４】
次に、図２５に示されるように、優先度管理テーブル保持部４０２は、手続き再構築部４０１が更新可能な優先度管理テーブル１５４（例えば、図５参照。）を保持する。
【０１２５】
続いて、以上のように構成されているストリーム制御装置４０の動作について説明する。なお、実施の形態１における動作と同一の動作については、同一の参照符号を付して、その説明を省略する。
【０１２６】
図２７は、本実施の形態におけるデバイスドライバ実行処理を示す図である。図２７に示されるように、手続き再構築部４０１は、ストリーム供給情報に基づいて、優先度管理テーブルを更新する（Ｓ４１１）。
【０１２７】
このとき、図２８に示されるように、手続き再構築部４０１は、アプリケーションプログラム実行部１００から受け取ったパラメータリストを走査し、順次、基本リスト構造を取り出す（Ｓ４２１）。取り出した基本リスト構造のパラメータ識別子を参照し（Ｓ４２２）、“ＳＴＲＭ＿ＩＮＦＯ＿ＰＡＲＡＭ”である場合は（Ｓ４２３：ＹＥＳ）、パラメータ情報からビットレート（Ｂ）および一回の転送サイズ（Ｓ）を取り出す（Ｓ４２４、Ｓ４２５）。ストリーム転送周期（Ｔｓ）を算出し（Ｓ４２６）、結果を周期管理テーブルに登録する（Ｓ４２７）。パラメータ識別子に“ＳＴＲＭ＿ＩＮＦＯ＿ＰＡＲＡＭ”が登録されている基本構造リストをパラメータリストから削除する（Ｓ４２８）。以上の処理を、パラメータリストの終端の基本リスト構造まで繰り返す（Ｓ４２９）。
【０１２８】
次に、手続き再構築部４０１は、周期管理テーブルを周期の短い順にソートし（Ｓ４３０）、先頭の基本リスト構造のパラメータ識別子に対応付けられる優先度を１に設定し（Ｓ４３１）、優先度管理テーブル１５４の優先度を更新する（Ｓ４３２）。次の基本リスト構造のパラメータ識別子を取得し（Ｓ４３３）、次の基本リスト構造の一つ前の基本リスト構造のパラメータ識別子に対応付けられている周期と、次の基本リスト構造のパラメータ識別子に対応付けられている周期とが同じであるか否かを判定する（Ｓ４３４）。
【０１２９】
判定した結果、手続き再構築部４０１は、周期が同じである場合は、次の基本リスト構造のパラメータ識別子に対応付けられる優先度を、一つ前の基本リスト構造のパラメータ識別子に対応付けられている優先度と同じ優先度に決定する（Ｓ４３５）。一方、周期が異なる場合は、一つ前の基本リスト構造のパラメータ識別子に対応付けられている優先度に１を加算した優先度に決定する（Ｓ４３６）。決定した優先度と、次の基本リスト構造のパラメータ識別子とを対応付けて、優先度管理テーブルの優先度を更新する（Ｓ４３７）。
【０１３０】
そして、手続き再構築部４０１は、全ての基本リスト構造のパラメータ識別子に対する優先度の更新が完了するまで、同一の処理を繰り返す（Ｓ４３８）。
【０１３１】
図２９は、本実施の形態における周期管理テーブルの一例を示す図である。図２９に示されるように、周期管理テーブル４５２は、パラメータ識別子（カラム４５２ａ）および周期（カラム４５２ｂ）が対応付けられているレコードから構成される。ここでは、一例として、周期管理テーブル４５２は、“ＳＴＲＭ＿ＰＡＲＡＭ”および“Ｔｓ”が対応付けられているレコードを含む。
【０１３２】
ここで、ＳＴＲＭ＿ＰＡＲＡＭの周期Ｔｓは、算出されるまで不定であり、パラメータ情報管理テーブル４５１（例えば、図２６参照。）の“ＳＴＲＭ＿ＩＮＦＯ＿ＰＡＲＡＭ”に対応付けられている“ビットレート、一回の転送サイズ”を用いて算出されることによって確定される。
【０１３３】
以上、本実施の形態におけるストリーム制御装置４０によれば、ＳＴＲＭ＿ＰＡＲＡＭの優先度をビットレートや一回の転送サイズに応じて、動的に変えることが可能となり、ビットレートの異なるストリームの再生にも対応することができる。
【０１３４】
すなわち、ＳＴＲＭ＿ＰＡＲＡＭの周期は、ストリームのビットレートと転送サイズにより変化するため、その周期に応じてＳＴＲＭ＿ＰＡＲＡＭの優先度を変える必要がある。しかし、実施の形態１におけるストリーム制御装置１０では、周期が固定であるため、優先度を動的に変えることができない。
【０１３５】
これに対して、実施の形態４におけるストリーム制御装置４０では、パラメータ情報管理テーブルに登録されているストリーム供給情報通知パラメータをトリガーにして、優先度管理テーブルを更新するように、手続き再構築部１２２の処理を変更することで、優先度管理テーブルのＳＴＲＭ＿ＰＡＲＡＭの優先度を動的に変更することができる。
【０１３６】
（実施の形態５）
次に、本発明に係わる実施の形態５について、図面を参照しながら説明する。
【０１３７】
本実施の形態におけるストリーム制御装置は、下記（ｈ）に示される特徴を備える。
（ｈ）（ｈ１）デバイスドライバ実行機能は、ストリームのビットレートとストリームに割り当てられているストリーム識別子とをパラメータリストから抽出し、ストリーム識別子に対応付けてビットレートが登録されているビットレート管理テーブルを生成し保持するビットレート管理機能を備え、（ｈ２）手続き再構築機能は、優先度管理テーブルおよびビットレート管理テーブルに基づいて、パラメータリストを構成する要素を並べ替えて再構築することを特徴とする。
【０１３８】
以上の点を踏まえて、本実施の形態におけるストリーム制御装置について、説明する。なお、実施の形態１における構成要素と同一の構成要素については、同一の参照符号を付して、その説明を省略する。
【０１３９】
図３０は、本実施の形態におけるストリーム制御装置の構成を示す図である。図３０に示されるように、ストリーム制御装置５０は、アプリケーションプログラム実行部１００、デバイスドライバ実行部１２０の代わりに、アプリケーションプログラム実行部５００、デバイスドライバ実行部５２０を備える点が異なる。
【０１４０】
アプリケーションプログラム実行部５００は、パラメータリスト生成部１１３の代わりにパラメータリスト生成部５１３を備える。
【０１４１】
パラメータリスト生成部５１３は、ストリーム識別子をメンバーに含む基本リスト構造からなるパラメータリストを生成する。
【０１４２】
図３１は、本実施の形態におけるパラメータリストを構成する基本リスト構造のデータ構造を示す図である。図３１に示されるように、パラメータリストを構成する基本リスト構造５５１は、メンバーとして、ストリーム識別子（メンバー５５１ａ）、パラメータ識別子（メンバー５５１ｂ）、パラメータ情報（メンバー５５１ｃ）、およびネクストポインタ（メンバー５５１ｄ）などを含む。すなわち、実施の形態１における基本リスト構造１５１（例えば、図２参照。）に、ストリーム識別子（メンバー５５１ａ）を新たに含めたものである。ここで、ストリーム識別子は、ストリーム毎に割り当てられた一意の識別子である。
【０１４３】
次に、図３０に示されるように、デバイスドライバ実行部５２０は、手続き再構築部１０１の代わりに手続き再構築部５０１を備える。さらに、新たにビットレート管理部５１９を備える。
【０１４４】
手続き再構築部５０１は、パラメータリスト生成部１１３からパラメータリストを受け取ると、受け取ったパラメータリストをビットレート管理部５１９にも渡す。
【０１４５】
ビットレート管理部５１９は、手続き再構築部５０１からパラメータリストを受け取ると、受け取ったパラメータリストを解析する。このとき、受け取ったパラメータリストを走査して、パラメータリストから基本リスト構造を取り出す。取り出した基本リスト構造を参照し、基本リスト構造のパラメータ識別子が“ＳＴＲＭ＿ＢＩＴＲＡＴＥ＿ＩＮＦＯ”であるか否かを判定する。基本リスト構造のパラメータ識別子が“ＳＴＲＭ＿ＢＩＴＲＡＴＥ＿ＩＮＦＯ”である場合は、基本リスト構造のパラメータ情報からビットレート情報を取り出す。取り出したビットレート情報をストリーム識別子と対応付けてビットレート管理テーブルに登録する。そして、その基本リスト構造をパラメータリストから削除する。なお、ビットレート管理部５１９は、ビットレート管理テーブルを保持している。
【０１４６】
続いて、以上のように構成されているストリーム制御装置５０の動作について説明する。なお、実施の形態１における動作と同一の動作については、同一の参照符号を付して、その説明を省略する。
【０１４７】
図３２は、本実施の形態におけるアプリケーションプログラム実行処理を示す図である。図３２に示されるように、アプリケーションプログラム実行部５００は、処理対象のストリームを指定するにあたって、ストリーム毎に、多重分離部１０９、５０９、オーディオデコーダ１１０、５１０、ビデオデコーダ１１１、５１１に割り当てるストリーム識別子に、基本リスト構造のストリーム識別子を設定する（Ｓ５０１）。
【０１４８】
ここでは、一例として、マルチビットレートとして、ビットレートを９Ｍｂｐｓおよび４．５Ｍｂｐｓとする。さらに、ビットレート毎に、パラメータ識別子が設けられている。例えば、ビットレートが９Ｍｂｐｓである場合は、パラメータ識別子は、“ＳＴＲＭ＿ＰＡＲＡＭ＿９”である。ビットレートが４．５Ｍｂｐｓである場合は、“ＳＴＲＭ＿ＰＡＲＡＭ＿４＿５”である。そして、ビットレート毎に設けられたパラメータ識別子に対応付けて、周期が周期管理テーブル（例えば、図３３参照。）に登録され、また、優先度が優先度管理テーブル（例えば、図３４参照。）に登録されている。
【０１４９】
図３３は、本実施の形態における周期管理テーブルの一例を示す図である。図３３に示されるように、周期管理テーブル５５２は、パラメータ識別子（カラム５５２ａ）および周期（カラム５５２ｂ）が対応付けられているレコードから構成される。ここでは、一例として、周期管理テーブル５５２は、“ＳＴＲＭ＿ＰＡＲＡＭ＿９”および“１０００ｍｓ”が対応付けられているレコードと、 “ＳＴＲＭ＿ＰＡＲＡＭ＿４＿５”および“２０００ｍｓ”が対応付けられているレコードとを含む。
【０１５０】
図３４は、本実施の形態における優先度管理テーブルの一例を示す図である。図３４に示されるように、優先度管理テーブル５５３は、パラメータ識別子（カラム５５３ａ）および優先度（カラム５５３ｂ）が対応付けられているレコードから構成される。ここでは、一例として、優先度管理テーブル５５３は、“ＳＴＲＭ＿ＰＡＲＡＭ＿９”および“３”が対応付けられているレコードと、 “ＳＴＲＭ＿ＰＡＲＡＭ＿４＿５”および“４”が対応付けられているレコードとを含む。
【０１５１】
図３５は、本実施の形態におけるデバイスドライバ実行処理を示す図である。図３５に示されるように、ビットレート管理部５１９は、手続き再構築部５０１からパラメータリストを受け取り、受け取ったパラメータリストを解析して、パラメータリストに登録されているビットレート情報をビットレート管理テーブル（例えば、図３７参照。）に登録する（Ｓ５１１）。
【０１５２】
このとき、図３６に示されるように、ビットレート管理部５１９は、手続き再構築部５０１から受け取ったパラメータリストを走査し、順次、基本リスト構造を取り出す（Ｓ５２１）。取り出した基本リスト構造のパラメータ識別子を参照し（Ｓ５２２）、取り出した基本リスト構造のパラメータ識別子が“ＳＴＲＭ＿ＢＩＴＲＡＴＥ＿ＩＮＦＯ”であるか否かを判定する（Ｓ５２３）。
【０１５３】
判定した結果、ビットレート管理部５１９は、“ＳＴＲＭ＿ＢＩＴＲＡＴＥ＿ＩＮＦＯ”である場合は（Ｓ５２３：ＹＥＳ）、取り出した基本リスト構造のパラメータ情報からビットレート情報を取り出す（Ｓ５２４）。取り出したビットレート情報を取り出した基本リスト構造のストリーム識別子と対応付けてビットレート管理テーブル（例えば、図３７参照。）に登録する（Ｓ５２５）。また、パラメータ識別子に“ＳＴＲＭ＿ＢＩＴＲＡＴＥ＿ＩＮＦＯ”が登録されている基本リスト構造をパラメータリストから削除する（Ｓ５２６）。以上の処理を、パラメータリストの終端の基本リスト構造まで繰り返す（Ｓ５２７）。
【０１５４】
図３７は、本実施の形態におけるビットレート管理テーブルの一例を示す図である。図３７に示されるように、ビットレート管理テーブル５５４は、ストリーム識別子およびビットレートが対応付けられているレコードから構成される。ここでは、一例として、ビットレート管理テーブル５５４は、“ＳＴＲＭ＿ＩＤ＿１”および“９（ＳＴＲＭ＿ＰＡＲＡＭ＿９）”が対応付けられているレコードと、“ＳＴＲＭ＿ＩＤ＿２”および“４．５（ＳＴＲＭ＿ＰＡＲＡＭ＿４＿５）”が対応付けられているレコードとを含む。
【０１５５】
なお、図３８に示されるように、手続き再構築部５０１は、優先度管理テーブル５５３（例えば、図３４参照。）から優先度を取り出すにあたって、まず、基本リスト構造のパラメータ識別子が“ＳＴＲＭ＿ＰＡＲＡＭ”であるか否かを判定する（Ｓ５３１）。
【０１５６】
判定した結果、手続き再構築部５０１は、“ＳＴＲＭ＿ＰＡＲＡＭ”でない場合は（Ｓ５３１：ＮＯ）、優先度管理テーブル５５３（例えば、図３４参照。）から優先度を取得する（Ｓ５３２）。一方、“ＳＴＲＭ＿ＰＡＲＡＭ”である場合は（Ｓ５３１：ＹＥＳ）、その基本リスト構造のストリーム識別子を取得する（Ｓ５３３）。取得したストリーム識別子に対応付けられているビットレートをビットレート管理テーブル５５４（例えば、図３７参照。）から取得する。取得したビットレートに基づいて、パラメータ識別子を特定する（Ｓ５３４）。特定したパラメータ識別子を用いて、優先度管理テーブル５５３（例えば、図３４参照。）から優先度を取得する（Ｓ５３５）。
【０１５７】
以上、本実施の形態におけるストリーム制御装置５０によれば、マルチストリームの処理を取り扱うことが可能となる。また、ＳＴＲＭ＿ＰＡＲＡＭの優先度をストリームごとに定義し、使用することが可能となるため、異なるビットレートのストリームを処理する場合においても、アプリケーションプログラム実行部５００は各ストリームに対する処理順序を意識する必要がなくなる。
【０１５８】
さらに、ストリーム識別子ごとに優先度管理テーブルを定義することで、ＳＴＲＭ＿ＰＡＲＡＭを判定する必要がなくなり、ビットレートに依存して設定周期が異なるようなパラメータを複数扱うことができる。
【０１５９】
すなわち、２画面同時再生装置等のように、複数のストリームを、ストリーム識別子を用いて処理するマルチストリーム処理への対応を考えた場合、同時に異なるビットレートのストリームを処理することが要求される。
【０１６０】
これに対して、本実施の形態におけるストリーム制御装置５０では、ビットレート管理部５１９を備え、マルチストリームやマルチビットレートに対応することができる。
【０１６１】
（その他）
なお、本発明に係わるストリーム制御装置は、ＣＰＵ（Central Processing Unit）、システムＬＳＩ（Large Scale Integration）、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）、ＨＤＤ（Hard Disk Drive）、ネットワークインターフェースなどを備えるとしてもよい。さらに、ＤＶＤ−ＲＡＭ、Ｂｌｕ−ｒａｙディスク、ＳＤ（Secure Digital）メモリカードのような可搬性の記録媒体に対して読み書き可能なドライブ装置を備えるとしてもよい。
【０１６２】
さらに、ＨＤＤまたはＲＯＭなどに、ストリーム制御装置を制御するプログラム（以下、ストリーム制御プログラムと呼称する。）がインストールされており、ストリーム制御プログラムが実行されることによって、ストリーム制御装置の各機能が実現されるとしてもよい。
【０１６３】
なお、ストリーム制御プログラムは、コンピュータシステム、組み込みシステムなどのようなハードウェアシステムに読み取り可能な記録媒体に記録されているとしてもよい。さらに、記録媒体を介して他のハードウェアシステムに読み出されて実行されるとしてもよい。これによって、ストリーム制御装置の各機能を他のハードウェアシステムに実現することができる。ここで、コンピュータシステム読み取り可能な記録媒体として、光学記録媒体（例えば、ＣＤ−ＲＯＭなど。）、磁気記録媒体（例えば、ハードディスクなど。）、光磁気記録媒体（例えば、ＭＯなど。）、半導体メモリ（例えば、メモリカードなど。）などがある。
【０１６４】
また、ストリーム制御プログラムは、ネットワークに接続されているハードウェアシステムに保持されているとしてもよい。さらに、ネットワークを介して他のハードウェアシステムにダウンロードされて実行されるとしてもよい。これによって、ストリーム制御装置の各機能を他のハードウェアシステムに実現することができる。ここで、ネットワークとして、インターネット、ローカルエリアネットワーク、地上放送網、衛星放送網、ＰＬＣ（Power Line Communication）、移動電話網、有線通信網（例えば、ＩＥＥＥ８０２．３など。）、無線通信網（例えば、ＩＥＥＥ８０２．１１など。）などがある。
【０１６５】
なお、ストリーム制御装置は、デジタルテレビ、デジタルレコーダ、デジタルカムコーダ、ゲーム機、ＩＰ電話機、携帯電話機などのような組み込みシステムとしてもよい。
【産業上の利用可能性】
【０１６６】
本発明は、ストリーム制御装置などとして、特に、種々の民生ＡＶ機器において、ソフトウェア共通化を向上するものであり、ＳＤ−ＭｏｖｉｅやＤＶＤ−Ｍｏｖｉｅなどのソフトウェアを実行するストリーム制御装置などとして、利用することができる。
【図面の簡単な説明】
【０１６７】
【図１】本発明に係わる実施の形態１におけるストリーム制御装置の構成を示す図
【図２】本発明に係わる実施の形態１における基本リスト構造のデータ構造を示す図
【図３】本発明に係わる実施の形態１におけるパラメータ情報管理テーブルの一例を示す図
【図４】本発明に係わる実施の形態１におけるパラメータリストのデータ構造を示す図
【図５】本発明に係わる実施の形態１における優先度管理テーブルの一例を示す図
【図６】本発明に係わる実施の形態１における再構築パラメータリストのデータ構造を示す図
【図７】本発明に係わる実施の形態１におけるストリーム制御処理部管理テーブルの一例を示す図
【図８】本発明に係わる実施の形態１における周期管理テーブルの一例を示す図
【図９】本発明に係わる実施の形態１におけるアプリケーションプログラム実行処理を示す図
【図１０】本発明に係わる実施の形態１におけるデバイスドライバ実行処理を示す図
【図１１】本発明に係わる実施の形態１における手続き再構築処理を示す図
【図１２】本発明に係わる実施の形態２におけるストリーム制御装置の構成を示す図
【図１３】本発明に係わる実施の形態２におけるパラメータ処理タイプ管理テーブルの一例を示す図
【図１４】本発明に係わる実施の形態２における割込イベント管理テーブルの一例を示す図
【図１５】本発明に係わる実施の形態２におけるデバイスドライバ実行処理を示す図
【図１６】本発明に係わる実施の形態２における手続き再構築処理を示す図
【図１７】本発明に係わる実施の形態２におけるパラメータリストのデータ構造を示す図
【図１８】本発明に係わる実施の形態３におけるストリーム制御装置の構成を示す図
【図１９】本発明に係わる実施の形態３におけるパラメータ情報管理テーブルの一例を示す図
【図２０】本発明に係わる実施の形態３におけるＲＤＩ情報のデータ構造を示す図
【図２１】本発明に係わる実施の形態３におけるＲＤＩパラメータ生成処理を示す図
【図２２】本発明に係わる実施の形態３における周期管理テーブルの一例を示す図
【図２３】本発明に係わる実施の形態３における優先度管理テーブルの一例を示す図
【図２４】本発明に係わる実施の形態３におけるストリーム制御処理部管理テーブルの一例を示す図
【図２５】本発明に係わる実施の形態４におけるストリーム制御装置の構成を示す図
【図２６】本発明に係わる実施の形態４におけるパラメータ情報管理テーブルの一例を示す図
【図２７】本発明に係わる実施の形態４におけるデバイスドライバ実行処理を示す図
【図２８】本発明に係わる実施の形態４における手続き再構築処理を示す図
【図２９】本発明に係わる実施の形態４における周期管理テーブルの一例を示す図
【図３０】本発明に係わる実施の形態５におけるストリーム制御装置の構成を示す図
【図３１】本発明に係わる実施の形態５における基本リスト構造のデータ構造を示す図
【図３２】本発明に係わる実施の形態５におけるアプリケーションプログラム実行処理を示す図
【図３３】本発明に係わる実施の形態５における周期管理テーブルの一例を示す図
【図３４】本発明に係わる実施の形態５における優先度管理テーブルの一例を示す図
【図３５】本発明に係わる実施の形態５におけるデバイスドライバ実行処理を示す図
【図３６】本発明に係わる実施の形態５におけるビットレート管理処理を示す図
【図３７】本発明に係わる実施の形態５におけるビットレート管理テーブルの一例を示す図
【図３８】本発明に係わる実施の形態５における優先度取得処理を示す図
【符号の説明】
【０１６８】
１００  アプリケーションプログラム実行部
１０１  手続き再構築部
１０２  優先度管理テーブル保持部
１０３  ストリーム制御処理起動部
１０４  ストリーム制御処理部管理テーブル保持部
１０５  ストリーム制御処理部
１０６  ストリーム供給処理部
１０７  蓄積部
１０８  記憶部
１０９  多重分離部
１１０  オーディオデコーダ
１１１  ビデオデコーダ
１１２  ＡＶ出力装置
１１３  パラメータリスト生成部
１１４  パラメータ情報管理テーブル保持部
【図１】
0004828927.tif 000002
【図２】
0004828927.tif 000003
【図３】
0004828927.tif 000004
【図４】
0004828927.tif 000005
【図５】
0004828927.tif 000006
【図６】
0004828927.tif 000007
【図７】
0004828927.tif 000008
【図８】
0004828927.tif 000009
【図９】
0004828927.tif 000010
【図１０】
0004828927.tif 000011
【図１１】
0004828927.tif 000012
【図１２】
0004828927.tif 000013
【図１３】
0004828927.tif 000014
【図１４】
0004828927.tif 000015
【図１５】
0004828927.tif 000016
【図１６】
0004828927.tif 000017
【図１７】
0004828927.tif 000018
【図１８】
0004828927.tif 000019
【図１９】
0004828927.tif 000020
【図２０】
0004828927.tif 000021
【図２１】
0004828927.tif 000022
【図２２】
0004828927.tif 000023
【図２３】
0004828927.tif 000024
【図２４】
0004828927.tif 000025
【図２５】
0004828927.tif 000026
【図２６】
0004828927.tif 000027
【図２７】
0004828927.tif 000028
【図２８】
0004828927.tif 000029
【図２９】
0004828927.tif 000030
【図３０】
0004828927.tif 000031
【図３１】
0004828927.tif 000032
【図３２】
0004828927.tif 000033
【図３３】
0004828927.tif 000034
【図３４】
0004828927.tif 000035
【図３５】
0004828927.tif 000036
【図３６】
0004828927.tif 000037
【図３７】
0004828927.tif 000038
【図３８】
0004828927.tif 000039