(57)【要約】リアルタイム処理領域において、例えばビデオフレーム又は音声の処理は、複数のタスクに分割されることができる。タスクは、該タスクが処理中に使用することができる資源についてバジェットを受信する（Ｓ１０２）。タスクによって実行される処理は時間的な制約を有するので、タスクは自身の進行を決定する（Ｓ１０８）ことが可能でなければならない。タスクが自身の進行を決定することを可能にするために、該タスクは自身がバーチャル基準クロックから使用する基準クロックサイクルの量を参照して、この量をタスクが実行したサブプロセシングステップの数と比較する。バーチャル基準クロックは複数の基準クロックサイクルを提供し、該複数の基準クロックサイクルの内の基準クロックサイクルは、前記複数のリアルタイムクロックサイクルと複数のリアルタイムバジェットに含まれるクロックサイクルとの間の比に比例している。【特許請求の範囲】
【請求項１】
複数のリアルタイムクロックサイクルを提供するリアルタイムプロセッサにおいて実行されるタスクの進行を評価する方法であって、
前記複数のリアルタイムクロックサイクルの少なくとも一部と等しい複数のクロックサイクルを有するリアルタイムバジェットを前記タスクのために予約する第１のステップと、
前記タスクによって使用される前記複数のリアルタイムクロックサイクルの実際の量を管理することによって前記タスクの前記進行を評価する第２のステップと、
を有する方法において、
前記タスクは更に、複数の基準クロックサイクルを提供するバーチャル基準クロックを参照し、前記複数の基準クロックサイクルの内の基準クロックサイクルは、前記複数のリアルタイムクロックサイクルと前記リアルタイムバジェットに含まれる前記複数のクロックサイクルとの間の比に比例し、
リアルタイムバジェットが前記タスクに提供されるとき、前記バーチャル基準クロックを少なくとも１つの基準クロックサイクル分だけ進行させる第３のステップを更に有し、
前記第２のステップは、前記タスクによって使用される前記複数の基準クロックサイクルの基準量を管理することを更に含む
ことを特徴とする方法。
【請求項２】
請求項１に記載のタスクの進行を評価する方法であって、基準量によって表される基準時間が前記実際の量を上回るときには前記タスクの前記進行は先行しており、前記基準量によって表される前記基準時間が前記実際の量より小さいときには前記タスクの前記進行は遅れている方法。
【請求項３】
請求項１に記載のタスクの進行を評価する方法であって、前記リアルタイムバジェットは、複数の増分として前記タスクに提供される方法。
【請求項４】
請求項３に記載のタスクの進行を評価する方法であって、前記基準クロックは前記複数の増分の内の増分が前記タスクに提供されるときに進行する方法。
【請求項５】
請求項１に記載のタスクの進行を評価する方法であって、前記基準クロックは追加のリアルタイムバジェットが前記タスクに提供されるときに進行しない方法。
【請求項６】
請求項１に記載のタスクの進行を評価する方法であって、前記基準クロックは前記リアルタイムバジェットが前記タスクから取り消されるときに進行する方法。
【請求項７】
請求項４に記載のタスクの進行を評価する方法であって、前記複数の基準クロックサイクルの内のクロックサイクルｔｒは、前記複数のリアルタイムクロックサイクルにおいて以下のように表され：
【数１】
2004521427.tif 000005
ここで、ｂｓｙｓは前記リアルタイムバジェットであり、△ｋは前記複数の増分の内の増分であり、ｔ０は前記複数の基準クロックサイクルの内の第１のクロックサイクルであり、ｔ１は前記複数のリアルタイムクロックサイクルの最後である方法。
【請求項８】
タスクの進行を評価するシステムであって、
複数のリアルタイムクロックサイクルを提供するリアルタイムプロセッサ手段と、
前記複数のリアルタイムクロックサイクルの少なくとも一部と等しい複数のクロックサイクルを有するリアルタイムバジェットを前記タスクのために予約する予約手段と、
前記タスクによって使用される前記複数のリアルタイムクロックサイクルの実際の量を管理して、前記タスクの前記進行を評価する管理手段と、
を有するシステムにおいて、
複数の基準クロックサイクルを提供するバーチャル基準クロックをシミュレーションする基準クロック手段であって、
前記複数の基準クロックサイクルの内の基準クロックサイクルが、前記複数のリアルタイムクロックサイクルと前記リアルタイムバジェットに含まれる前記複数のクロックサイクルとの間の比に比例する基準クロック手段と、
リアルタイムバジェットが前記タスクに提供されるとき、前記バーチャル基準クロックを少なくとも１つの基準クロックサイクル分だけ進行させる進行手段と、
を更に有し、
前記管理手段は更に、前記複数の基準クロックサイクルの基準量を管理する
ことを特徴とするシステム。
【請求項９】
請求項８に記載のシステムであって、前記進行手段は更に、前記リアルタイムバジェットの複数の増分の内の増分が前記タスクに提供されるときに、前記バーチャル基準クロックを少なくとも１つのクロックサイクル分進行させるシステム。
【請求項１０】
請求項１乃至７の何れか１項に記載の方法を実行するように構成されるコンピュータプログラム。
【請求項１１】
請求項１０に記載のコンピュータプログラムを有する記憶装置。
【請求項１２】
ビデオ信号を受信する受信器、前記ビデオ信号を処理するタスクを動作するプログラム可能な部品、当該処理されたビデオ信号を表示するためのディスプレイスクリーン及び請求項８又は９によるシステムを有するテレビジョンセット。
【請求項１３】
ビデオ及び／又は音声ストリームを受信し当該ビデオ及び／又は音声ストリームをデコ―ドする受信器と請求項８又は９によるシステムとを有するセットトップボックス。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、複数のリアルタイムクロックサイクルを提供するリアルタイムプロセッサにおいて実行されるタスクの進行を評価する方法であって、
前記複数のリアルタイムクロックサイクルの少なくとも一部と等しい複数のクロックサイクルを有するリアルタイムバジェット（割当量）を前記タスクのために予約する第１のステップと、
前記タスクによって使用される前記複数のリアルタイムクロックサイクルの実際の量を管理することによって前記タスクの前記進行を評価する第２のステップと、
を有する方法に関する。
【０００２】
更に本発明は、タスクの進行を評価するシステムであって、
複数のリアルタイムクロックサイクルを提供するリアルタイムプロセッサ手段と、
前記複数のリアルタイムクロックサイクルの少なくとも一部と等しい複数のクロックサイクルを有するリアルタイムバジェットを前記タスクのために予約する予約手段と、
前記タスクによって使用される前記複数のリアルタイムクロックサイクルの実際の量を管理する管理手段と、
を有するシステムに関する。
【０００３】
【従来の技術】
上記の種類の方法及びシステムの実施例はヨーロッパ特許第ＥＰ−Ｂ−０ ５３４ ８８４号から知られている。ここでは、タスクの実行をマルチメディアコンピュータ及びディスプレイシステムの類のハードなリアルタイム環境において提供しなければならないマルチタスクコンピュータシステムが開示されている。このコンピュータシステムにおいては、各タスクは該タスクが完了するために必要とされる自身の最大実行サイクルカウントの制限を示さなければならず、前記コンピュータシステムは各個々のタスクによって使用される前記プロセッササイクルをカウントするためにサイクルカウントレジスタを提供する。更に、前記コンピュータシステムは、前記タスクがより高い優先順位のタスクによって優先された場合に備えて、個々のタスクあたりに残っているサイクルを特に常時監視し、いかなる個々のタスクも該タスクの実行中に該タスクの示されて特定された最大実行サイクルカウントを上回るのを防止する。前記システムプロセッサの使用の程度は、各タスクに対して使用されたサイクルを常時監視することによって算出されることができる。タスクが所与の時間に自身がプロセッササイクルを幾つ残しているかを判断するには、該タスクは自身がまだ使用することができるサイクルの数を前記システムに問い合わせなければならず、前記タスクは解釈のための特別なロジックを実行しなければならない。
【０００４】
【発明が解決しようとする課題】
本発明の目的は、改良された態様でタスクの進行を評価する前文による方法を提供することである。
【０００５】
本発明の他の目的は、改良された態様でタスクの進行を評価する前文によるシステムを提供することである。
【０００６】
【課題を解決するための手段】
前記目的を達成するために、本発明の方法は、
前記タスクが更に、複数の基準クロックサイクルを提供するバーチャル基準クロックを参照し、前記複数の基準クロックサイクルの内の基準クロックサイクルは、前記複数のリアルタイムクロックサイクルと前記リアルタイムバジェットに含まれる前記複数のクロックサイクルとの間の比に比例し、
リアルタイムバジェットが前記タスクに提供されるとき、前記バーチャルクロックを少なくとも１つの基準クロックサイクル分だけ進行させる第３のステップを更に有し、
本方法の前記第２のステップは、前記タスクによって使用される前記複数の基準クロックサイクルの基準量を管理することを更に含む
ことを特徴とする。
【０００７】
前記タスクに、前記複数のリアルタイムクロックサイクルとリアルタイムバジェットとの間の比に比例するクロックサイクルと共に進行するバーチャル基準クロックを提供することによって、前記タスクのロジックはより単純になる。ここでタスクは、前記バーチャルクロックによって提供された時間を知ってこの時間を該タスクがすでに実行したサブプロセスステップの数と比較することを必要とするだけである。このとき、基準時間の進行は前記タスクが経験する時間の概念でありえるため、この比較は前記タスクの性能の基準になる。前記複数のクロックサイクルは、前記タスクがある量の仕事を実行することができる期間を意味してよい。このとき、前記リアルタイムクロックサイクルは、前記リアルタイム期間の開始時から進行する時間を意味することができ、前記基準クロックサイクルは、前記基準期間の開始時から進行する基準時間を意味することができる。基準期間及びリアルタイム期間の開始及び終了は同じでありえるが、異なった時間の進行は異なってもよい。リアルタイム時間はリアルタイムプロセッサのための通常のクロック周波数と共に進行することができるのに対し、基準時間はリアルタイムバジェットがタスクに提供される速度と共に進行する。基準時間の進行はタスクが経験する時間の概念でありえる。進行の測定又は評価は、例えば、ビデオフレームを処理するビデオアルゴリズム又は音声ストリームをデコ―ドする音声アルゴリズムの様に、先に動作するタスクによって使用されてもよい。
【０００８】
本発明による方法の１つの実施例が請求項２において説明される。タスクが、自身が実行した複数のサブプロセスステップに関して先行しているか遅れているかを知っており、期間内にまだ実行しなければならないときに、タスクは処理要求を変化させるように先手を打って反応してもよい。例えばビデオアルゴリズム等のタスクが遅れているときにフレームの残りを処理することは、次のフレームの残りに遅れを引き起こす可能性があるので、該フレームの残りを処理しないと決定してもよい。あるいは、タスクは次のフレームをスキップして、次の期間中に現在のフレームの処理を終わらせると決定してもよい。例えば処理されるべき画素の解像度が変化することができる近似処理において処理品質を決定することができるタスクは、該タスクが遅れているときはより低い品質で、先行しているときはより高い品質で、処理すると決定することができる。
【０００９】
本発明による方法の１つの実施例が請求項３において説明される。リアルタイムバジェットを複数の増分によって提供することにより、システム上で動作することができる他のタスクもプロセッサ時間を使用することができる。このとき、システムは平行して複数のタスクを動作することができる。
【００１０】
本発明による方法の１つの実施例が請求項４において説明される。前記複数の増分の内の増分がタスクに提供されるペースで基準クロックを進行させることにより、該タスクは、リアルタイムプロセッサとは異なる周波数で動作することのできるクロックを有する基準プロセッサにおいて動作する。
【００１１】
本発明による方法の１つの実施例が請求項５において説明される。追加のリアルタイムバジェットがタスクに提供されたときに基準クロックを進行させないことにより、該タスクは自身が完了したサブプロセスステップの数に対する自身の進行を依然評価することができる。リアルタイムバジェットは、タスクが所定の期間の間受信することを保証されるバジェットである。例えばタスクがフレームを処理する時、リアルタイムバジェットは、該フレームが処理しなければならない各フレームに対して該タスクが受信するバジェットであってよい。
【００１２】
本発明による方法の１つの実施例が請求項６において説明される。リアルタイムバジェットがタスクから取り下げられたときに基準クロックを進行させることにより、該タスクは自身が完了したサブプロセスステップの数に対する自身の進行を依然評価することができる。リアルタイムバジェットが取り消されるとき、該タスクは基準クロックに関して完了へ前進した。
【００１３】
本発明による方法の１つの実施例が請求項７において説明される。期間中に自身の処理を適応させることができるタスクは、基準クロックサイクルをリアルタイムクロックサイクルで表現することによって、それらが先行しているか又は遅れているかをより正確に決定し、これに対応して反応することができる。
【００１４】
前記他の目的を達成するために、本発明によるシステムは、
複数の基準クロックサイクルを提供するバーチャル基準クロックをシミュレーションする基準クロック手段であって、
前記複数の基準クロックサイクルの内の基準クロックサイクルは、前記複数のリアルタイムクロックサイクルと前記リアルタイムバジェットに含まれる前記複数のクロックサイクルとの間の比に比例する基準クロック手段と、
リアルタイムバジェットが前記タスクに提供されるとき、前記バーチャルクロックを少なくとも１つの基準クロックサイクルだけ進行させる進行手段と、
を更に有し、
前記管理手段は更に、前記複数の基準クロックサイクルの基準量を管理するようにされる
ことを特徴とする。
【００１５】
本発明によるタスクの進行を評価するシステムの実施例は、請求項９及び１０において説明される。
【００１６】
本発明は以下の図面により示される実施例によって説明される。
【００１７】
【発明の実施の形態】
今日では、連続的なメディアデータの処理は、専用の単一機能の部品よりもプログラム可能な部品によってますます実行されるようになっている。例えば、音声及びビデオのために必要であるような、連続的なメディアデータの処理の特徴の内の１つは、デッドラインとも呼ばれている時間的制約の存在である。このようなデータを適切に取り扱うためには、システムは時間的制約を監視していなければならず、処理のために充分なシステム資源を保証しなければならない。ＣＰＵ及びメモリ等のリアルタイム資源は有限であるので、充分なシステム資源が特定の処理セッションに予約されないかもしれない。これは、タスクがデッドラインに間に合わないことにつながりかねず、そうなると、システムの性能の劣化及び利用可能な資源の最適でない利用を生じさせかねない。
【００１８】
連続的なメディアデータの処理はタスクに再分割されることができ、各タスクが処理ステップを実行する。例えば、ＭＰＥＧビデオデコーダにおいてビデオストリームをデコ―ドすることは、デコ―ドを必要とするフレームごとに以下のタスクに全体的に再分割されることができる。即ち、ヘッダ検出、逆離散コサイン変換、動き補償、そして、デコードされたフレームの表示である。これらタスクの各々は複数のサブプロセスステップに更に再分割されることができ、これらタスクの各々は、該タスクが例えばビデオフレームを実行及び処理することができる所定の数の期間を有することができる。更に、タスクの全期間は同等の長さであってよく、また、連続的であってよい。タスクが自身の期間の各々の間に消費することができる資源のバジェットは、期間的バジェットと呼ばれている。タスクの期間的バジェットは各期間に対して同等であるか又は期間によって異なることができる。タスクは、該タスクがある期間内にある量の仕事、例えばヘッダの検出、をいつまでに実行しなければならないかというタイムスタンプを示すデッドラインを有することができる。ここで、デッドラインは期間の最後に等しい。タスクが期間内にデッドラインを満たさないときに、該タスクは、その処理ステップを終えず、これは次の処理ステップに否定的に影響して、システムの全体的な性能を低下させかねない。このように、タスクは、例えばフレーム速度と対応するような期間内にある量の仕事を実行することができる。又はタスクは、期間がフレーム速度とは無関係であり、且つ、バジェットが各期間に対して同じであるような期間内にある量の仕事を実行することができる。特にタスクが先行して実行しているとき、これらタスクは、処理されるべきユニットごとの進行に応じて自身の処理を適応させると決定することができる。
【００１９】
図１は本発明による方法の実施例の主要なステップを示す。これらステップは、ｐＳＯＳと呼ばれている市販のリアルタイムオペレーティングシステムによって実行される方法のステップに追加して実行され、これらは合わせてシステムソフトウェアと呼ばれる。これらステップはまた、ＶｘＷｏｒｋｓのような他のリアルタイムオペレーティングシステムによって実行される方法に追加して実行されることもできる。システムソフトウェアは、タスクをスケジューリングして、タスクに対してリアルタイム資源のバジェットを予約する。ＣＰＵ又はそれによってもタスクを実行することが可能なコプロセッサによって実行されることになっているＴの期間を有する期間的タスクを考える。
３つの状況を考える：
１．  タスクが自身に割り当てられたバジェットを完全に消費する。
２．  タスクが自身のバジェットに加えて追加の時間を消費する。
３．  タスクが自身のバジェットより少ない時間を消費する。
下で、これらの３つの状況は、図１を基準して更に詳細に説明される。第１の状況を考慮する。このときシステムソフトウェアはＳ１０２において、タスクが現在の期間中に使用することができるＣＰＵのクロックサイクルのリアルタイムバジェットを予約する。バジェットが複数の連続的な期間に対して変化しないとき、バジェットが変化しなければならないときごとに、このステップは一度だけ実行されることができる。このリアルタイムバジェットは、タスクが自身の処理のために使用することができるＣＰＵのクロックサイクルの量を表す。図２を参照されたい。図２において２０２はタスクの期間を示し、２０４は該タスクが該期間の間使用又は消費することができるリアルタイムバジェットを示す。期間２０２ごとに、システムソフトウェアは、タスクがある量のリアルタイムバジェット２０４を利用することができることを保証する。タスクは随意に余裕時間（ｓｌａｃｋ ｔｉｍｅ）と呼ばれる追加のクロックサイクル２０６を受信する。この余裕時間は、スケジューリングの際の本来的な不完全性のために残される時間若しくはクロックサイクル又は他のタスクによって残される時間である。更に、タスクは随意に自身のリアルタイムバジェット２０４より少ない時間（２０８によって示される）を受信することができる。例えば、タスクが当該期間中にこれ以上動作することができない場合である。従って、時間の３つの異なる概念を考えることができる：
リアルタイム：実際のプロセッサによって提供される時間；
割当時間：２つの連続した期間の間の自身のバジェットからのタスクが利用できるリアルタイム；
消費時間：消費された余裕時間によって増大し、生成された余裕時間によって低減する割当時間に等しい、タスクによって消費されるリアルタイムの量。
【００２０】
タスクがタスクのための特別な機能及びインターフェースを必要とせずに容易に自身の進行を決定するために、バーチャル基準クロックが導入され、タスクはリアルタイムプロセッサを参照する代わりにこのバーチャル基準クロックを参照することができる。バーチャル基準クロックは、タスクにとってはリアルタイムクロックとして機能するが、リアルタイムプロセッサとは異なる周波数によって進行する。このバーチャル基準クロックにおけるクロックサイクルの数は、期間２０２に含まれる複数のリアルタイムクロックサイクルと前記タスクの保証されたバジェットに含まれるクロックサイクルとの間の比率によって決定される。図３も参照されたい。図３は、リアルタイムｔｒ及び基準時間ｔｖの概念を示す。ここで、期間２０２はｔ０からｔ１までの時間間隔として示される。システムソフトウェアは、この時間間隔に対応するタスクに対して、リアルタイムバジェット２０４と呼ばれるリアルタイムプロセッサ時間の所定の量を保証する。この項の残りにおいて、リアルタイムバジェット２０４はｂ２０４によって表わされ、期間２０２はＴ２０２によって表わされる。リアルタイムプロセッサ時間のこの量は複数の増分△ｊとしてタスクに提供される。ここで、
【数２】
2004521427.tif 000002
であり、よって、
【数３】
2004521427.tif 000003
である。
【００２１】
タスクに増分が提供されるたびにバーチャル基準クロックは進行する：△ｊ×Ｔ／Ｂ。従って、バーチャル基準クロックは、リアルタイムプロセッサとは異なる周波数で動作する。リアルタイム資源をタスクのために予約する以外に、基準クロックの基準時間は、このステップにおいてリアルタイムプロセッサによって提供されるリアルタイムに等しく設定される。
【００２２】
ステップＳ１０４において、タスクは自身のバジェットの使用を開始する。タスクが自身のバジェットの使用を開始する時は３０２によって示される。図３を参照されたい。次のステップ（ステップＳ１０６）の間、タスクは自身のバジェットを消費し、タスクは自身のサブプロセスステップを実行する。システムソフトウェアは、タスクを再開及び停止することによって、タスクがいつバジェットの使用を開始することができるか、そして、タスクがいつ自身のバジェットの使用を停止しなければならないかを決定する。
【００２３】
このステップＳ１０６において、タスクは、システムソフトウェアから時間を要求するサブステップＳ１０８を随意に実行することができる。この時間は、ｔｖによって示される。次にＳ１１０においてシステムソフトウェアは基準クロックｔｖ上の時間を次式に従って算出する：
【数４】
2004521427.tif 000004
この式は、タスクが間隔の開始時に自身の全てのバジェットｂ２０４を受信するときに、基準時間がリアルタイムより先行していることを表す：ｔｖ ＞ ｔｒ。タスクが間隔の終わりに自身の全てのバジェットを受信するときには、基準時間はリアルタイムよりも遅れている：ｔｖ ＜ ｔｒ。換言すれば、バジェットがタスクが利用できるようになる時に応じて、基準時間は、期間２０２の間先行して又は遅れていることができる。いかなる場合においてもｊ ＝ ｎのときｔｖ ＝ ｔ１である。基準クロックの時間を決定する他の式又は方法もまた用いられることができる。
【００２４】
Ｓ１１２において、システムソフトウェアはタスクにバーチャル基準時間を返す。次に、任意のステップＳ１１４において、タスクはこの時間を自身が実行したサブプロセス演算の数と比較する。タスクがすでに消費した時間と比較して処理動作の数があまりに小さいとき、タスクは遅れている。例えば、タスクが１００の演算から成り、基準時間が期間の最後とほとんど一致するが、タスクが１０の演算しか実行していないというときは、期間の最後までにタスクが残りの９０以上の処理ステップを終える可能性は非常に小さい。
【００２５】
このプロセスを評価する他の方法は、残り時間に注目することによる。例えばタスクが最悪な場合のバジェットを受信する状況を考えよう。このバジェットは、極端な処理要求が要求される、又は過負荷状況の間にのみ使用される。通常の処理の間、タスクは自身の完全なバジェットを通常使用しない。換言すれば、通常の実行の最中に、タスクはバーチャル基準クロックに残り時間がまだあるときに処理を終了させる。残り時間の量は、このときタスクによって自身の進行を評価するのに用いられることができる。予想されるより量が大きいときはタスクは先行しており、予想されるより量が少ないときはタスクは遅れている。すべての状況に対してタスクは仕事を省略するか、残りのバジェットを拒否するか又は可能な場合より少ない労力で仕事を実行することによって適当な手段をとることができる。例えば複数の繰返しにおいて画像の解像度を改良することができ、各繰返しの後、遅れているときには解像度を増加させないと決定することができるタスクを考えよう。タスクは、仕事を省略することによって遅れているときに追いつくことができる。ＭＰＥＧコンテキストにおいて、仕事を省略するとは、Ｂ−ｆｒａｍｅ全体又は後続するＢ−ｆｒａｍｅが存在しないときにはＧｒｏｕｐ ｏｆ Ｐｉｃｔｕｒｅｓ（ＧＯＰ）からの最後のＰ−ｆｒａｍｅを省略することを意味する。仕事が省略されるとき、同じ仕事を処理する次のタスクも影響を受ける。
【００２６】
タスクの進行を決定した後に、ステップＳ１１６が実行される。ステップＳ１１６は、任意のステップＳ１０８、Ｓ１１０、Ｓ１１２及びＳ１１４が実行されないときはＳ１０６から到達されることができる。ステップＳ１１６において、タスクは自身のバジェットを使用するのを止める。タスクが自身のバジェットを使用するのを止める時は３０４によって示される。図３を参照されたい。タスクが自身のバジェットの増分を使用するたびに、Ｓ１０４からＳ１１６のステップは実行される。完了に際して本方法はＳ１１８に到達した。
【００２７】
第２の状況を考える。図３の３０６によって示される最後の増加を使用した後、バーチャル基準クロックの時間はリアルタイムに等しくなる。従って、システムソフトウェアは、タスクが自身の割り当てられたバジェットを消費した後の時間の要求の各々に対し、Ｓ１１２においてこの最後の基準クロックタイムをタスクに返す。
【００２８】
タスクが増分を消費しないか、又は、システムソフトウェアに資源の要求を返さないときに発生する第３の状況を考える。このときＳ１１６において、基準クロックの時間は、期間の最後を表示するリアルタイムと同等にされる。このときタスクは現在の期間について終了する。
【００２９】
このように、消費及び余裕時間の生産は、参照時間への影響を有しない。
【００３０】
本発明の本方法の説明された実施例の順序は義務的でなく、当業者は、本発明により意図される概念から逸脱することなく、ステップの順序を変化させるか、又は、スレッディングモデル、マルチプロセッサシステム又は複数のプロセスを並行して使用してステップを実行することができる。
【００３１】
図４は、本発明によるシステムの実施例の最も重要な部分を模式的に示す。システム４００はＣＰＵ ４０２を有する。該システムは、複数のプロセッサ及びコプロセッサも有することができる。更に、該システムはメモリ４１２においてリアルタイムシステムソフトウェアを有する。サブシステム４２０はタスクを有し、メモリ４０４は、前述したようにタスクが自身の期間の間使用することができるリアルタイムプロセッササイクルのバジェットを有する。メモリ４０４の内容は、システムによって動作されるすべてのタスクのためのバジェットを決定するリアルタイムシステムソフトウェアによって決定される。実際にタスクによって使用されるリアルタイムプロセッササイクルの数は、メモリ４０６において管理される。システムソフトウェアは、このメモリに対するアクセスを有する。メモリ４０８は、自身の進行を含む基準クロックをシミュレーションするソフトウェアを有し、メモリ４１０は、基準クロックがタスクの１つの期間の間に進行する基準クロックサイクルの量を有する。リアルタイムバジェットの増分がタスクに提供されるとき、基準クロックは前述した速度で進行する。メモリ４１０はタスクによって少なくともアクセス可能であり、タスクは自身の内容を自身の進行を導くのに用いられることができる。システム４００は、コンピュータ又はソフトウェアを動作することが可能な他の全ての標準的なアーキテクチャによって動作されるアプリケーションとして動作されることを意図されるソフトウェアで実現される。システムは、デジタルテレビジョンセット４１４を動作するのに用いられることができる。ソフトウェアはまた、本発明による方法を実行するように構成されるコンピュータープログラム製品を有する記憶装置４１８によりアップデートされることができる。記憶装置は、例えばシステム４００に接続しているＣＤ読取り装置４１６等の適切な読み取り装置によって読み取られる。
【００３２】
図５は、本発明によるシステムの実施例を有するテレビジョンセット５１０を模式的に示す。ここで、アンテナ５００はテレビジョン信号を受信する。例えば、サテライトディッシュ、ケーブル、記憶装置、インターネット又はイーサネット（Ｒ）等のテレビジョン信号を受信又は再生することが可能ないかなる装置も、また、アンテナ５００を交換することができる。受信器５０２は、信号を受信する。信号は、例えばデジタル、アナログ、ＲＧＢ又はＹＵＶであってよい。受信器５０２の他に、テレビジョンセットは、例えばプログラム可能な集積回路等のプログラム可能な部品、５０４を含む。このプログラム可能な部品は、本発明５０６によるシステムを含む。テレビジョンスクリーン５０８は、受信器５０２によって受信され、プログラム可能な部品５０４によって処理される画像を示す。ユーザが例えば映画等の受信信号を録画したいとき、本発明によるシステム５０６はＤＶＤ＋ＲＷ、コンパクトディスク又はハードディスク等の記録装置に受信信号を記録する。ユーザが録画された映画を再生したいとき、本発明によるシステム５０６は記録装置から適当なデータを読み出す。
【００３３】
図６は、本発明によるシステムの実施例を有するセットトップボックスの最も重要な部分を模式的に示す。ここで、アンテナ６００はテレビジョン信号を受信する。アンテナは、また、例えばサテライトディッシュ、ケーブル、記憶装置、インターネット、イーサネット（Ｒ）又はテレビジョン信号を受信することが可能な他のいかなる装置でもあってよい。セットトップボックス６０２は、信号を受信する。信号は、例えばデジタル、アナログ、ＲＧＢ又はＹＵＶであってよい。セットトップボックスは、セットトップボックスに含まれるがここでは示されない通常の部品の他に、本発明６０４によるシステムを含む。ユーザが例えば映画等の受信信号を記録したいとき、本発明によるシステム６０４はＤＶＤ＋ＲＷ、コンパクトディスク又はハードディスク等の記録装置に受信信号を記録する。ユーザが録画された映画を再生したいとき、本発明によるシステム６０４は記録装置から適当なデータを読み出す。テレビジョンセット６０６は、セットトップボックス６０２によって、受信信号から生成される出力信号を示すことができる。
【図面の簡単な説明】
【図１】図１は、本発明による方法の主要なステップを示す。
【図２】図２は、バジェット及び期間の概念を示す。
【図３】図３は、リアルタイム及び基準時間の概念を示す。
【図４】図４は、本発明によるシステムの実施例の最重要部を模式的に示す。
【図５】図５は、本発明によるシステムの実施例を有するテレビジョンセットを模式的に示す。
【図６】図６は、本発明によるシステムの実施例を有するセットトップボックスの最重要部を模式的に示す。
【図２】
2004521427.tif 000006
【図３】
2004521427.tif 000007
【国際公開パンフレット】
2004521427.tif 000008
2004521427.tif 000009
2004521427.tif 000010
2004521427.tif 000011
2004521427.tif 000012
2004521427.tif 000013
2004521427.tif 000014
2004521427.tif 000015
2004521427.tif 000016
2004521427.tif 000017
2004521427.tif 000018
2004521427.tif 000019
2004521427.tif 000020
2004521427.tif 000021
2004521427.tif 000022
2004521427.tif 000023
2004521427.tif 000024
2004521427.tif 000025
【国際公開パンフレット（コレクトバージョン）】
2004521427.tif 000026
【国際調査報告】
2004521427.tif 000027
2004521427.tif 000028
2004521427.tif 000029