(57)【要約】  ソフトウェアにおけるメディア処理は、デジタルテレビジョンセット又はセットトップボックス等のコンシューマ端末において用いられることができる。費用効果の理由で、平均のプロセッサ利用は高くなければならない。これは、主に、ワーストケースよりも下のプロセッサ予算を、メディア処理操作を実行するタスクに割り当てることによって達成される。安定な出力品質が主たる要件である場合にのみ、タスクには、ワーストケースのプロセッサ予算が割り当てられる。このような状況において費用効果を向上するために、ワーストケース予算を有する第1のタスク(τm)からワーストケース予算よりも下の第2のタスク(τp)に予算の使っていない部分(212)を再割当するための方法及び装置が提供される。第2のタスク(τp)は、このとき、生じた予算剰余(216)を用いて自身の出力の品質を改善してもよい。メディア処理を実行するタスクのスケジューリングにおいて、当該方法及びシステムは非常に低いレベルで動作する。事実上起こることは、第2のタスク(τp)が、第1のタスク(τm)の期間及び優先度等のスケジューリング特性を有する第1のタスク(τm)であるかのように第1のタスク(τm)の代わりに実行されるということである。
2005509976.tif 000002
【特許請求の範囲】
【請求項１】
第1のタスク及び第2のタスクをスケジューリングする方法であって、
第1の予算を前記第1のタスクに割り当てる第1のステップと、
第2の予算を前記第2のタスクに割り当てる第2のステップと、
前記第1のタスクが前記第1の予算の一部しか使用せず、前記第1の予算の残りの部分は予算剰余を生じさせることを決定する第3のステップと、
前記第2の予算に加えて、前記予算剰余を前記第2のタスクに再割当する第4のステップと、
を有する方法において、前記第4のステップは、
前記予算剰余を前記第1のタスクのスケジューリング特性と共に前記第2のタスクに割り当てるサブステップ
を有する、ことを特徴とする方法。
【請求項２】
請求項1に記載の方法において、固定優先度に基づいたスケジューリングアルゴリズムが適用され、前記スケジューリング特性は前記第1のタスクの期間及び優先度に対応する、方法。
【請求項３】
請求項1に記載の方法において、デッドライン駆動に基づいたスケジューリングアルゴリズムが適用され、前記スケジューリング特性は前記第1のタスクの期間及びデッドラインに対応する、方法。
【請求項４】
第1のタスク及び第2のタスクをスケジューリングするシステムであって、
第1の予算を前記第1のタスクに割り当てる第1の割当て手段と、
第2の予算を前記第2のタスクに割り当てる第2の割当て手段と、
前記第1のタスクが前記第1の予算の一部しか使用せず、前記第1の予算の残りの部分は予算剰余を生じさせることを決定する決定手段と、
前記第2の予算に加えて、前記予算剰余を前記第2のタスクに再割当する再割当手段と、
を有するシステムにおいて、前記再割当手段は、
前記予算剰余を前記第1のタスクのスケジューリング特性と共に前記第2のタスクに割り当てる第3の割当て手段
を有する、ことを特徴とするシステム。
【請求項５】
請求項4に記載のシステムを有するテレビジョンセット。
【請求項６】
請求項4に記載のシステムを有するセットトップボックス。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、第1のタスク及び第2のタスクをスケジューリングする方法であって、
第1の予算を前記第1のタスクに割り当てる第1のステップと、
第2の予算を前記第2のタスクに割り当てる第2のステップと、
前記第1のタスクが前記第1の予算の一部しか使用せず、前記第1の予算の残りの部分は予算剰余を生じさせることを決定する第3のステップと、
前記第2の予算に加えて、前記予算剰余を前記第2のタスクに再割当する第4のステップと、
を有する方法に関する。
【０００２】
本発明は、第1のタスク及び第2のタスクをスケジューリングするシステムであって、
第1の予算を前記第1のタスクに割り当てる第1の割当て手段と、
第2の予算を前記第2のタスクに割り当てる第2の割当て手段と、
前記第1のタスクが前記第1の予算の一部のみしか使用せず、前記第1の予算の残りの部分は予算剰余を生じさせることを決定する決定手段と、
前記第2の予算に加えて、前記予算剰余を前記第2のタスクに再割当する再割当手段と、
を有するシステムにも関する。
【背景技術】
【０００３】
ソフトウェアにおけるメディア処理は、コンシューマ端末がオープンでフレキシブルになることを可能にする。同時に、コンシューマ端末は、コストへの高いプレッシャーのため、資源について厳しく制限されている。専用のハードウェアソリューションと競争することが可能であるには、ソフトウェアにおけるメディア処理は、利用可能な資源を、高い平均資源利用で非常に費用効果的に用いると同時に、堅牢性等のコンシューマ端末の典型的な品質を保存して、高品質のデジタルオーディオ及びビデオ処理によって課される厳しいタイミング要件を満たさなければならない。この点に関して重要な資源は、メディア処理操作を実行するのに用いられるメディアプロセッサである。
【０００４】
ソフトウェアにおけるメディア処理は、資源を品質と交換して動的にスケーラブルなアプリケーションを用いることを可能にする。サービス品質(QoS)リソースマネージャは、利用可能な資源を与えられれば、実行時に、組み合わせられたアプリケーション出力の知覚品質を最大にするように、アプリケーションが動作する品質レベルを適応させることができる。QoS資源管理の中心的な概念は、アプリケーションに割り当てられる資源予算の概念である。異なったタイムスケールにおける動的な挙動に対処するために、QoSリソースマネージャは、多重レベル構造として理解される。より高いレベルは、品質水準及び資源予算を、知覚される出力品質を最大化するように決定して調整する。最も低いレベルでは、予算スケジューラは、割り当てられた資源予算を提供して、保証して、実施する。これは、プロセッサの場合、一般的に、アプリケーションタスクに対するプロセッサ容量の割当てを必要とする。従って、より高いレベルのQoSリソースマネージャは、より低いレベルによって提供される機構上で自身のポリシーを構築する。品質水準及び資源予算の調整は、測定に、及び、QoSリソースマネージャと全ての関係するアプリケーションとの間のフィードバック制御に、基づく。しかし、このような調整は、これらの対話のため、遅延無しに行われることができない。
【０００５】
安定な品質水準がアプリケーションにとっての主たるQoS要件である状況において、当該アプリケーションに割り当てられる資源予算は、予期される負荷増加に対応するのに十分大きくなければならない。このようにして、この負荷増加が発生するときはいつでも、この負荷増加は、遅延無しに対応可能である。しかし、完全にロードされた端末では、より高い資源予算は、より小さい予算を他のアプリケーションに与えることによってしか得られることができない。更に、負荷増加が発生しない限り、より高い資源予算は予算剰余を生じさせ、費用効果を低下させる。費用効果を向上させるために、予算剰余を他のアプリケーションに条件付きで再割当するための機構が必要である。これは、予算スケジューラのレベルでの修正を伴う。
【０００６】
予算スケジューラは、プロセッサ容量のタスクへの割当てのために、スケジューリングアルゴリズムを用いる。これは、特定の瞬間でプロセッサによって動作されるべきタスクを決定する規則の組である。予算スケジューラは、タスクに割り当てられるプロセッサ容量予算の概念を提供するスケジューリングアルゴリズムを用いる。予算は周期的であり、予算期間は各タスクについて異なっていてもよい。予算スケジューラは、周期的予算の概念を与えるために、より基本的なスケジューリングアルゴリズム上に構築される。例えばここで考えられる環境のための基本的なスケジューリングアルゴリズムは、例えば、Liu及びLaylandによる「Scheduling Algorithms for Multiprogramming in a Hard Real-Time Environment」(Journal of the Association for Computing Machinery, Volume 20, Number 1、ページ46〜61)において説明される。これらのスケジューリングアルゴリズムは、プリエンプティブであり、優先度により駆動される。これは、現在実行されているよりも高い優先度のタスクを実行するリクエストがあるときはいつでも、実行中のタスクは直ちに中断されて、新しくリクエストされたタスクが開始されるということを意味する。従って、このようなアルゴリズムの仕様は、優先度をタスクに割り当てる方法の仕様を意味することとなる。スケジューリングアルゴリズムは、優先度が一度だけタスクに割り当てられる場合、静的であると呼ばれる。静的なスケジューリングアルゴリズムは、固定優先度スケジューリングアルゴリズムとも呼ばれる。達成可能なプロセッサ利用に関して、固定優先度割当て規則については、レートモノトニック優先度割当てが最適であることが示されることができる。スケジューリングアルゴリズムは、タスクの優先度がリクエストごとに変化してもよい場合、動的であると呼ばれる。周知の動的なスケジューリングアルゴリズムは、デッドラインにより駆動されるスケジューリングアルゴリズムである。このアルゴリズムにおいては、優先度は、タスクに、これらタスクのその時点のリクエストのデッドラインによって割り当てられる。スケジューリングアルゴリズムは、一部のタスクの優先度が固定され、残りのタスクの優先度がリクエストごとに変化する場合には、混合スケジューリングアルゴリズムと呼ばれる。使っていないプロセッサ容量は、多くの場合スラック時間と呼ばれる。スラック時間は、自身の予算を完全に消費しないタスクから、用いられるスケジューリングの不完全性から、又は使われないプロセッサ容量から、生じる。費用効果を改善することは、スラック時間が最小化されなければならないことを意味する。実際には、いくらかのスラック時間の存在は避けられない。低い優先度では、タスクは潜在的にいくらかのスラック時間を受け取ることができる。これは、バックグラウンドにおける実行と呼ばれる。タスクに割り当てられる予算は、一般に、費用効果が高くなるためにはワーストケースより下であるため、タスクは、非常に瞬間的な予算過負荷の場合に問題を有しうる。このとき、限られた量のスラック時間は、これらの過負荷状況のほとんどを解決するのに有用にすらなりうる。
【０００７】
上述の種類の、請求項1のプリアンブルに規定した方法及びシステムの実施例は、Bril及びSteffensによる「User Focus in Consumer Terminals and Conditionally Guaranteed Budgets」(Proceedings 9-th International Workshop on Quality of Service, Lecture Notes in Computer Science 2092、ページ107〜120)から知られている。ここで、予算スケジューラは、プリエンプティブな優先度に基づいたスケジューリングを提供するリアルタイムオペレーティングシステム上に実現される。予算スケジューラは、プロセッサ容量をスケジューリングして、保証された周期的予算をタスクに提供する。この保証は、予算の組をスケジューリングすることの実現可能性をチェックする許可試験及びタスクが他のタスクの予算と干渉するのを防止する実施機構に基づく。予算は、優先度操作によって実現される。予算内実行は高い優先度で実行され、予算外実行は低い優先度で行われる。予算は周期的であり、予算期間は各タスクについて異なっていてもよい。予算内実行については、タスクは、より小さい予算期間を有するタスクがより高い優先度を得るように、レートモノトニックな優先順序でスケジューリングされる。これは、予算内実行のために高い優先度のバンドを生じさせる。タスクの優先度は、高い優先度のバンドにおいて関連しない。それぞれの新しい期間の開始時に、タスクの優先度は、優先度の高いバンド内のレートモノトニック優先度まで向上される。タスクの予算が消費されると、又はタスクがプロセッサを解放すると、タスクの優先度は低い優先度に低下する。低い優先度では、タスクは、バックグラウンドにおける実行のためにいくらかのスラック時間を潜在的に受け取ることができる。予算スケジューラの許可試験は、レートモノトニック分析に基づく。
【０００８】
既知の方法及びシステムにおいては、1つのタスクから他のタスクへの予算剰余の再割当は、高い優先度のバンドよりも低く、低い優先度よりも高い追加の中程度の優先度バンドによって行われる。他のタスクから予算剰余を受け取るタスクは、自身の予算を消費した後に予算剰余を受け取る。その瞬間、受取りタスクの優先度を低い優先度に直ちに低下させる代わりに、受取りタスクの優先度は、まず、中程度の優先度バンドの優先度に低下させられる。このとき予算剰余は、この中間優先度で提供される。予算剰余が消費されると、又はタスクがプロセッサを解放すると、タスクの優先度は低い優先度に低下する。この、追加の中程度の優先度バンドの使用の欠点は、それが容易に非レートモノトニックな割当てを生じうるということである。一般に、このような優先度割当ては、目指される高い平均資源利用と対立する非最適解を与える。これは、予算剰余の効果的な再割当を全体として除外する可能性すらある。
【発明の開示】
【発明が解決しようとする課題】
【０００９】
本発明の目的は、予算剰余を改善された方法で再割当する前述の方法を提供することである。
【課題を解決するための手段】
【００１０】
この目的を達成するために、本発明による方法は、前記第4のステップが、
前記予算剰余を前記第1のタスクのスケジューリング特性と共に前記第2のタスクに割り当てるサブステップ
を有することを特徴とする。
【００１１】
このサブステップで実質上起こることは、第2のタスクが、第1のタスクの期間及び優先度等のスケジューリング特性を有する第1のタスクであるかのように、第1のタスクの代わりに実行されるということである。予算剰余は、第1のタスクによって必要とされず、現在第2のタスクによって利用可能になったであろうプロセッサ容量を表す。タスクのスケジューリング特性は、用いられるスケジューリングアルゴリズムに関するタスクの特性を表す。
【００１２】
既知の方法及びシステムについては、予算スケジューラは、基本的なスケジューリングアルゴリズムとして、タスクがレートモノトニックな優先順序でスケジューリングされる固定優先度スケジューリングを用いる。この場合、タスクのスケジューリング特性は、高い優先度のバンドの予算期間及び固定優先度になる。予算剰余及びスケジューリング特性の再割当は、このとき、予算剰余を受けるのに適格なタスクが、剰余を生じさせたタスクの期間及び優先度を伴う予算剰余を受け取ることを意味する。既知の再割当方法とは違い、この新しい再割当方法は、用いられたレートモノトニック優先度割当てに影響を及ぼさず、目指される高い平均資源利用と一致するより適切な解決策を可能にする。新しい再割当方法の追加の利点は、それがスラック時間の利用可能性に影響を及ぼさないということである。既知の再割当方法は、利用可能な全てのスラック時間を潜在的に消費することができるので、バックグラウンドで実行するタスクのためにはスラック時間を残さない。これは、既知の再割当方法が用いられると、以前は問題なく動作していたタスクが問題を示すという点で、このようなタスクの挙動に影響を及ぼしうる。これは、新しい再割当方法においては起こらない。他の追加の利点は、新しい再割当方法においては、中程度の優先度バンドの必要性のための追加の優先レベルが必要でないということである。オペレーティングシステムは、一般的に、比較的限られた数の優先レベルしか提供しないということを考えると、優先レベルは倹約して用いられるべきである。
【００１３】
基本的なスケジューリングアルゴリズムとして、最も早いデッドラインが最初になる動的な優先度スケジューリングを用いる予算スケジューラについては、タスクのスケジューリング特性は、予算期間及びデッドラインになる。このとき、予算剰余をスケジューリング特性と共に再割当することは、予算剰余を受けるのに適格なタスクが、剰余を生じさせたタスクの期間及びデッドラインと共に予算剰余を受け取ることを意味する。
【００１４】
本発明によるシステムは、再割当手段が、
予算剰余を第1のタスクのスケジューリング特性と共に第2のタスクに割り当てる第3の割当て手段
を有することを特徴とする。
【発明を実施するための最良の形態】
【００１５】
本発明は、以下の図面に示される実施例によってより詳細に説明される。
【００１６】
図1は、第1のタスクから第2のタスクに予算剰余を再割当する本発明による方法の主要なステップの実施例を示す。QoSリソースマネージャは、高品質のビデオシステムのために、オーディオ及びビデオ処理を実行するタスクにプロセッサ容量予算を割り当てる。予算は周期的であり、予算期間は各タスクについて異なっていてもよい。QoSリソースマネージャは、予算を、多くの期間を包含する、より長い時間間隔に割り当てる。費用効果の理由で、予算は、高い平均プロセッサ利用を生じさせると同時に、組み合わせられたタスク出力の知覚品質を最大化しなければならない。安定な出力品質レベルが要求される状況においては、タスクには、予期される負荷増加を許可する予算が割り当てられる。このようにして、このような負荷増加は、このような負荷増加が発生するときはいつでも、遅延無しで取り扱われることができる。このようなタスク(例えばτm)は、例えば、テレビジョンセットの主要な画像についてビデオ処理操作を実行する。この場合、安定な出力品質レベルとは、安定な画質を意味する。第2のタスク(例えばτp)は、例えば、このテレビジョンセットのピクチャインピクチャ画像についてビデオ処理操作を実行する。タスクτmと違って、このタスクは、安定な画質のためにより厳しくない要件を有する。それでも、このタスクは、知覚品質を最大にするために、利用可能なときはいつでも、タスクτmから予算剰余を受け取る。このようにして、タスクτpは、タスクτmが自身の完全な予算を要求しないときはいつでも、ピクチャインピクチャ画像の質を改善することが可能でありうる。他の処理操作を実行する、より多くのタスクがあってもよい。第3のタスク(例えばτa)は、例えば、オーディオ処理操作を実行してもよい。これらのタスクは、予期される負荷増加を許可する予算を必要としなくてもよく、また、他の何らかのタスクからの予算剰余から利益を得なくてもよい。
【００１７】
タスクのスケジューリングは、以下で説明される主要なステップによって実行されることができる。プロセスステップ102は、スケジューリングされるべきタスクが周期的予算を与えられて、予算スケジューラに知らされる、初期化ステップである。予算スケジューラは、QoSリソースマネージャの一部であり、実際のスケジューリング操作を周期的予算に基づいて制御する。これは、プリエンプティブな固定優先度に基づいたスケジューリングを提供する市販のリアルタイムオペレーティングシステム上で実現される。予算スケジューラは、予算を実現するために優先度操作を用いる。予算内実行は高い優先度で実行され、予算外実行は、低い背景優先度pbで実行される。予算内実行については、タスクは、より小さい予算期間を有するタスクがより高い優先度を得るように、レートモノトニック優先度順序でスケジューリングされる。タスクの優先度は、予算内実行において関連しない。背景優先度pbでは、タスクは、この優先度で実行する他のタスクとこの時間について競合して、いくらかのスラック時間を背景における実行のために潜在的に受け取ることができる。予算スケジューラは、プロセスステップ102の一部として、タスクの予算期間に基づいて、スケジューリングされるべきタスクの各々に予算内優先度を関連させる。例えば、上記で導入したタスクτm、τa及びτpの場合には、これは、それぞれ、優先度p1、p2及びp3であってよい。ここで、p1 > p2 > p3である。従って、主要な画像処理操作を実行するタスクτmは最も高い優先度p1を有し、ピクチャインピクチャ処理操作を実行するタスクτpは最も低い優先度p3を有し、オーディオ処理操作を実行するタスクτaは中間の優先度p2を有する。これらの優先度の全ては、背景優先度pbより高い。
【００１８】
プロセスステップ104において、予算スケジューラは、全てのタスクの予算を実施する。このステップは、リスケジューリング操作が必要なときはいつでも繰り返し入力される。リスケジューリング操作のための1つの理由は、次の新しい予算期間を入力するタスクであってもよい。このタスクは、当該期間について自身の予算の補充を得て、その優先度は、そのレートモノトニックな優先度まで向上される。リスケジューリング操作のための他の理由は、実行中に自身の予算を使い果たすタスクであってもよい。このようなタスクについては、予算スケジューラは、優先度を背景優先度まで低下させる。リスケジューリング操作のための更に他の理由は、自身の予算内で自身の処理を完了してプロセッサを解放するタスクであってもよい。このときも、予算スケジューラは、このタスクの優先度を背景優先度まで低下させる。一旦入力されると、プロセスステップ104は、複数のタスクのために複数のリスケジューリング操作を実行することを必要としうる。次に、全ての必要なリスケジューリング操作が実行された後、最も高い優先度を有するタスクがプロセスステップ106において選択されて、プロセッサにおける処理のためスケジューリングされる。
【００１９】
決定ステップ108において、予算スケジューラは、リスケジューリング事象によってリスケジューリング操作の必要性を検出する。リスケジューリング事象は、リスケジューリング操作が必要とされる可能性があることを合図する。ある種類のリスケジューリング事象は、その処理を終わらせてプロセッサを解放するタスクに関する。他の種類のリスケジューリング事象は、予算補充及び予算消耗に関する。これらの予算に関連した事象は、プロセスステップ104の一部として実行された、以前のリスケジューリング操作から起こる。本実施例において、これらの予算に関連したリスケジューリング事象は、用いられるリアルタイムカーネルから利用可能な低レベルのタイマーサービスによって実現される。これは、ここでは更には示されない。
【００２０】
決定ステップ110において、予算スケジューラは、予算剰余が再割当されることができるかどうか決定する。このステップでは、最後に実行されたタスクが、その処理を予算内で終わらせて予算剰余を生じさせたかどうかチェックし、このような予算が他のタスクに再割当させられる必要があるかどうかチェックする。例えば、上記で導入されたタスクτm及びτpについてタスクτmが自身の予算の範囲内で自身の処理を完了する場合、決定ブロック108は、タスクτmからタスクτpに残りの予算を再割当することを決定してもよい。
【００２１】
予算剰余が再割当されることができる場合、この再割当はプロセスステップ112で開始する。ここで、予算スケジューラは、予算剰余を受け取るべきタスクのために、その時点で残っている予算の値を保存する。予算スケジューラは、更に、受取りタスクの優先度も保存する。タスクτpの場合、これは優先度p3である。次に、実際の再割当は、プロセスステップ114において行われる。ここで、予算剰余を受け取るべきタスクは、この予算を、予算剰余を提供するタスクの優先度と共に、実際に割り当てられる。タスクτm及びτpの場合、ここでは、タスクτpの優先度は、p1(タスクτmの優先度である)にセットされる。処理は、プロセスステップ104を続ける。予算剰余が利用可能でない、又は、再割当が必要でない場合、決定ステップ116は、最後に実行されたタスクが、再割当が終えられるべき予算剰余を用いて再割当を行ったかチェックする。予算剰余が消費されたか、又は、タスクがその処理を完了した場合、最後に実行されたタスクに対する予算剰余の再割当は終了する。実際に、再割当が終了するのであれば、プロセスステップ118において、プロセスステップ112でこのタスクのために以前保存された予算及び優先度は、回復される。従って、タスクτpの場合、優先度はここで優先度p3に回復される。処理は、プロセスステップ104を続ける。これは、決定ステップ116において、最後に実行されたタスクが、再割当が終えられるべき予算剰余を用いて再割当を行わなかった場合にも同様である。
【００２２】
本実施例のステップの順序は、義務的でない。当業者は、例えば、スレッディングモデル、マルチプロセッサシステム又はマルチプルプロセスを用いることにより、本発明によって意図される概念から逸脱することなく、ステップの順序を変えてもよく、又は、並行してステップを実行してもよい。
【００２３】
本実施例において、1つのタスクから他のタスクへの単一の予算剰余について再割当が実行される。他の実施例では、再割当は、複数のタスクから生じると共に複数のタスクに再割当される複数の予算剰余について、実行されることができる。例えば、1つのタスクからの予算剰余は複数の他のタスクに再割当されることができ、又は、1つのタスクは複数の他のタスクから予算剰余を受け取ることができる。また、予算剰余のあらゆる使っていない部分がもう一度再割当される実施例が考えられる。当業者は、このような可能性を認識するであろう。
【００２４】
本実施例において、タスクは、予算、予算期間及び優先度を有する単一のエンティティとして説明される。他の実施例では、このようなタスクは、実際にはタスクのクラスタを表すことができ、単一の予算及び単一の予算期間を共有するが、クラスタ内の個々のタスクが優先順位をつけられることができるように、優先度のバンドを占める。当業者は、このような可能性を認識するであろう。
【００２５】
本実施例において、予算スケジューラは、基本的なスケジューリングアルゴリズムとして固定優先度スケジューリングを用いる。他の実施例では、動的優先度スケジューリング又は混合優先度スケジューリングが用いられることができる。当業者は、このような可能性を認識するであろう。
【００２６】
図2及び図3は、合わせて予算剰余の再割当を示す。図2はタスク対話図を示し、図3は関連する優先レベル図を示す。基本的には、タスク対話図は、時間に対するタスクの実行を示す。関係するタスクは垂直軸に示され、時間は水平軸に伸びる。図は、各タスクについて、当該タスクの状態又は状態変化の表示を有するタイムラインを含む。また、タスク間の対話も示されることができる。通常の場合については、表示は、予算剰余の再割当無しに、実線の上向き矢印で示される予算イネーブル(補充とも呼ばれる)、実線の下向き矢印で示される予算ディスエーブル、及び、実線又は斜線の長方形により示される実行(即ち予算の消費)を含む。予算剰余再割当を特に示すために、以下の表示が用いられる：上向き開矢印によって示される剰余イネーブル、下向き開矢印によって示される剰余ディスエーブル、及び、点線の長方形によって示される再割当される予算残り。図2は、3つのタスクτm、τa及びτpの実行を示す。これらのタスクは、それぞれ、5、3及び1の時間ユニットの予算を持っており、10、11及び12の時間ユニットの予算期間を持っている。更に、タスクτpは、タスクτmからあらゆる予算剰余を受け取ることになっている。
【００２７】
スケジューリングは、プリエンプティブな固定優先度に基づいたスケジューリングアルゴリズム及び予算期間に基づいたレートモノトニックな優先度割当てによって行われる。これは、タスクτm、τa及びτpについては、予算内実行のために優先度p1、p2及びp3を生じる。ここで、p1 > p2 > p3である。これらの優先度は、図3の優先レベル図の垂直軸に示される。この図は、各タスクについて異なった線によって、各タスクの優先度が時間に対していかに変化するかを示す。線302、304及び306は、それぞれタスクτm、τa及びτpの優先度を表す。図3の最上部は、タスクτm、τa及びτpの何れがある時間において最も高い優先度を有しており従ってそのときに動作しているかを示す。3つのタスクの全てについて、低い背景優先度pbで予算外実行が可能である(これも図3に示される)。
【００２８】
時間t = 0で、3つのタスクの全ては、新しい予算期間に入り、実線の上向き矢印202、204及び206によって示されるように該タスクの予算の補充を受け取る。この結果、タスクτm、τa及びτpはそれぞれ、それらの予算内優先度p1、p2及びp3を割り当てられる。τmが最も高い優先度p1を有するので、τmがプロセッサ上の実行のためにスケジューリングされる。
【００２９】
時間t = 3で、タスクτmは、長方形208によって示される5つの利用可能な予算ユニットのうちの3つだけを消費してこの予算期間の処理を完了する。その結果、実線の下矢印210によって示されるように当該タスクの予算はディスエーブルされ、その優先度は、優先度p1から背景優先度pbに低下する。これにより、長方形212によって示される2ユニットの予算残りが残る。タスクτmの予算残りはタスクτpに再割当されることになっているので、再割当は、時間t = 3で上向き開矢印214によって示されるようにタスクτpについてイネーブルされる。従って、タスクτpは、2ユニットの予算剰余を受け取る。この予算と共に、余剰タスクτpは、タスクτmの予算内優先度p1を受け取る。依然として時間t = 3において、このことは、図3に示すように、タスクτpについて、優先度p3から優先度p1への優先度増加を生じる。ここで、タスクτpは最も高い優先度p1を有しており、長方形216によって示される予算剰余を消費して実行を開始する。
【００３０】
時間t = 5で、タスクτpは、2つの予算ユニットを消費して長方形216によって示される予算剰余を消費する。その結果、下向き開矢印218によって示されるように、再割当はディスエーブルされる。このディスエーブルのため、タスクτpは、再割当が起こる前に持っていた予算及び優先度に戻る。従って、図3に示すように、タスクτpの優先度は、時間t = 5で優先度p1から優先度p3に低下する。このとき、最も高い優先度を有するタスクは優先度p2を有するタスクτaであるため、タスクτpはもはや最も高い優先度を有するタスクでない。従って、タスクτaは、スケジューリングされて、長方形220によって示される自身の予算を消費することを開始する。
【００３１】
時間t = 8で、タスクτaが長方形220によって示される自身の3ユニットの予算を消費すると、その予算は、実線の下向き矢印222で示されるようにディスエーブルされ、その優先度は優先度p2から優先度pbに低下する。このとき、タスクτpは、再び最も高い優先度を有するタスクである。従って、時間t = 8で、タスクτpは再びスケジューリングされて、長方形224によって示される自身の予算を消費することを初めて開始する。
【００３２】
時間t = 9でタスクτpが長方形224によって示される1ユニットの自身の予算を消費すると、その予算は、実線の下矢印226で示されるようにディスエーブルされ、その優先度は優先度p1から優先度pbに低下する。このとき、3つのタスクの全ては背景優先度pbでスケジューリングされ、場合によっては長方形228によって示されるいくらかのスラック時間を消費する。
【００３３】
時間t = 10で、タスクτmは新しい予算期間に入って、実線の上矢印230によって示される自身の予算の補充を受け取る。この結果、タスクτmは、自身の予算内優先度p1をまた割り当てられ、新しい予算によって実行を開始する。後で、時間t = 11及び時間t = 12で、タスクτa及びτpの新しい予算期間は、実線の上矢印232及び234によって示される対応する補充で開始する。
【００３４】
図4は、本発明によるシステムの実施例の最も重要な部分を模式的な方法で示す。システム400は、第1の予算を第1のタスクに割り当てるようにプログラムされた第1の割当てユニット402を有する。第2の割当てユニット404は、第2の予算を第2のタスクに割り当てるようにプログラムされる。予算を他のタスクに割り当てるようにプログラムされる、他の割当てユニットがあってもよい。スケジューリングユニット406は、全てのタスクの予算を実施する。スケジューリングユニット406の一部は、第1のタスクが第1の予算の一部しか用いていないことを検出するようプログラムされる検出ユニット408である。この場合、予算剰余メモリ410は、第1の予算の残りの部分を含む。再割当ユニット412は、第2のタスクに予算剰余を再割当するために用いられる。再割当ユニット412の一部は、予算剰余メモリ410において保持される予算剰余を第1のタスクのスケジューリング特性と共に第2のタスクに割り当てるようにプログラムされる第3の割当てユニット414である。このシステムは、コンピュータ又はソフトウェアを動作することが可能な他のあらゆる標準のアーキテクチャによってアプリケーションとして動作されることを意図されるソフトウェアで実現されることができる。このシステムは、デジタルテレビジョンセット416を動作するために用いられることができる。
【００３５】
図5は、本発明によるシステムの実施例を有するテレビジョンセット500の最も重要な部分を模式的な方法で示す。ここで、アンテナ502はテレビジョン信号を受信する。アンテナは、更に、例えば、サテライトディッシュ、ケーブル又はテレビジョン信号を受け取ることが可能な他のいかなるデバイスであってもよい。受信器504が、該信号を受け取る。受信器504の他に、テレビジョンセット500は、プログラマブル部品506(例えばプログラマブル集積回路)を有する。このプログラマブル部品506は、図4を参照して説明されるシステム等の本発明によるシステム508を有する。テレビジョンスクリーン510は、受信器504によって受信されて、プログラマブル部品506、本発明によるシステム508及び通常テレビジョンセットに含まれるがここでは示されないその他の部分によって処理される画像を示す。
【００３６】
図6は、本発明によるシステムの実施例を有するセットトップボックス600の最も重要な一部を模式的な方法で示す。ここで、アンテナ602はテレビジョン信号を受け取る。アンテナは、例えば、サテライトディッシュ、ケーブル又はテレビジョン信号を受け取ることが可能な他のいかなるデバイスでもあってもよい。セットトップボックス600は、当該信号を受信する。セットトップボックス600は、セットトップボックスに含まれるがここでは示されない通常の部分の他に、図4を参照して説明されるシステム等の本発明によるシステム604を有する。テレビジョンセット606は、本発明によるシステム604と共にセットトップボックス602によって受信された信号から生成される出力信号を示すことができる。
【００３７】
本発明は、次のように要約することができる。
【００３８】
ソフトウェアにおけるメディア処理は、デジタルテレビジョンセット又はセットトップボックス等のコンシューマ端末において用いられることができる。費用効果の理由で、平均のプロセッサ利用は高くなければならない。これは、主に、ワーストケースよりも下のプロセッサ予算を、メディア処理操作を実行するタスクに割り当てることによって達成される。安定な出力品質が主たる要件である場合にのみ、タスクには、ワーストケースのプロセッサ予算が割り当てられる。このような状況において費用効果を向上するために、ワーストケース予算を有する第1のタスク(τm)からワーストケース予算よりも下の第2のタスク(τp)に予算の使っていない部分(212)を再割当するための方法及び装置が提供される。第2のタスク(τp)は、このとき、生じた予算剰余(216)を用いて自身の出力の品質を改善してもよい。メディア処理を実行するタスクのスケジューリングにおいて、当該方法及びシステムは非常に低いレベルで動作する。事実上起こることは、第2のタスク(τp)が、第1のタスク(τm)の期間及び優先度等のスケジューリング特性を有する第1のタスク(τm)であるかのように第1のタスク(τm)の代わりに実行されるということである。
【図面の簡単な説明】
【００３９】
【図１】第1のタスクから第2のタスクに予算剰余を再割当する本発明による方法の主要なステップの実施例を示す。
【図２】予算剰余の再割当をタスク対話図で示す。
【図３】予算剰余の再割当を優先レベル図で示す。
【図４】本発明によるシステムの実施例の最も重要な部分を模式的に示す。
【図５】本発明によるシステムの実施例を有するテレビジョンセットの最も重要な部分を模式的に示す。
【図６】本発明によるシステムの実施例を有するセットトップボックスの最も重要な部分を模式的に示す。
【図１】
2005509976.tif 000003
【図２】
2005509976.tif 000004
【図３】
2005509976.tif 000005
【図４】
2005509976.tif 000006
【図５】
2005509976.tif 000007
【図６】
2005509976.tif 000008
【国際調査報告】
2005509976.tif 000009
2005509976.tif 000010
2005509976.tif 000011