説明

ランタイム構成可能仮想ビデオパイプライン

マルチパイプラインシステム(300)は、選択されたパイプラインに対して必要に応じて設けられる補助機能ブロック(A−E335)のプール(330)を有している。マルチパイプラインシステム(300)の各パイプライン(320)は、コア機能(F1〜F6)の同種の組を含むように構成されている。補助機能(A−E335)のプール(330)は、選択されたパイプラインのコア機能(F1〜F6)間に補助機能(A−E335)を選択的に挿入するために設けられている。各補助機能は、補助機能を各パイプライン内に選択的に結合させることができるマルチプレクサを有している。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は、コンピュータ処理の分野に関し、特に、ビデオ処理パイプラインシステム等のマルチパイプパイプラインシステムを動的に構成するための方法およびシステムに関する。
【背景技術】
【0002】
パイプラインシステムは、データを連続的に処理するために広く使用されている。データは、1つの機能ユニットから次の機能ユニットへと順次に連続的に送られ、それにより、機能ユニットを通じたその進行中に1または複数の変換を受ける。例えば、ビデオデータが連続的に処理されることにより、ディスプレイ画像がスケーリングされ、コントラストがはっきりとさせられ、色合いの違いが補正されるといった具合である。
【0003】
マルチパイプシステムは、様々なソースからの画像の組み合わせおよび/または同じ画像に対する様々な作用の組み合わせである合成画像を形成するために、高性能ビデオ処理システムにおいて広く使用されている。例えばピクチャ・イン・ピクチャ(PIP)を含む合成画像は、PIP画像を形成するべく組み合わされる2つの画像のそれぞれの独立した処理によって形成される。
【0004】
図1および図2は、ソース110とミキサ150との間でデータストリームを処理するパイプライン120,220〜222を備える従来のマルチパイプシステムの実施例を示している。ミキサ150は、各パイプラインを通じたデータストリームの処理に基づいて合成出力を生成する。面積、コスト、電力等の様々な量のリソースを各ブロックが費やすことを明らかにするため、様々なサイズの機能ブロックF1〜F5が示されている。
【0005】
図1は、各パイプ120が同じ組み合わせの機能ブロックF1−F2−F3−F4−F5−F6を備える汎用同種マルチパイプシステム100を示している。データフェッチモジュール110は、一般にメモリまたは他のパイプラインからくる入力データストリームを形成するデータを、各パイプラインに対して供給する。各データストリームは、同じ一連の機能ブロックを通じて送られ、各ブロックに対して供給される様々なパラメータに基づいて様々な変換を潜在的に受ける。例えば、機能ブロックのうちの1つがスケーリングブロックであっても良く、また、PIPの例においては、各画像ストリームが異なるスケーリングを受ける。各パイプライン120が同一であるため、自由度が最大に与えられる。これは、任意の所望の機能F1〜F6を与えるために任意のパイプライン120を使用できるからである。
【0006】
一方、図2は、パイプ220〜222の利用可能な機能が異なる異種マルチパイプシステム200を示している。各パイプラインが利用可能な機能ブロックF1〜F6の全てを必ずしも含んでいないため、費やされるリソースは僅かである。そのようなシステム200は、特定のデータストリームが特定の機能を必要としないことが分かっている場合或いはそのことを前提とする場合に使用される。例えば、PIPシステムでは、小さい挿入画像だけをスケーリングする必要があり、したがって、フルスケール画像を処理するパイプラインがスケーリング機能を含む必要がないことを前提としても良い。同様に、スケーリングされた画像を処理するパイプラインは、コントラスト向上ブロックを含んでいなくても良い。想定される用途に対して各パイプライン220〜222がカスタマイズされるため、他の用途での使用におけるシステム200の自由度が制限される。
【0007】
システム100の同質性は、自由度を与える他、各機能ブロックF1〜F6のパラメータを適切に設定することにより所定の組の変換を行なうためのシステム100のプログラミングまたは制御のタスクを軽減する。一方、異種システム200は、一般に、異なるそれぞれのパイプライン220〜222に対してカスタマイズされる制御方式を必要とする。
【発明の開示】
【発明が解決しようとする課題】
【0008】
この発明の目的は、同種システムの自由度と異種システムの効率とを組み入れるマルチパイプラインシステムを提供することである。この発明の更なる目的は、各パイプライン毎に様々な機能の組み合わせを行なえように動的に構成可能なマルチパイプラインシステムを提供することである。
【課題を解決するための手段】
【0009】
これらの目的および他の目的は、選択されたパイプラインに対して必要に応じて設けられる補助機能ブロックのプールを有するマルチパイプラインシステムによって達成される。マルチパイプラインシステムの各パイプラインは、コア機能の同種の組を含むように構成されている。補助機能のプールは、選択されたパイプラインのコア機能間に補助機能を選択的に挿入するために設けられている。各補助機能は、補助機能を各パイプライン内に選択的に結合させることができるマルチプレクサを有している。
【発明を実施するための最良の形態】
【0010】
図面の全体にわたって、同じ参照符号は、同じ要素、または、同じ機能を実質的に果たす要素を示している。
【0011】
図3は、この発明に係る構成可能マルチパイプラインシステム300のブロック図の一例を示している。この発明は、マルチパイプラインシステムにおいては、全ての機能がパイプラインの全てにおいて必要とされることがあるとしても、そのようなことは滅多に無いといった所見を前提としている。しかしながら、この同じ前提に基づく従来の異種システムとは対照的に、この発明は、各パイプラインにおける機能の一部を予め規定することが必ずしも実用的あるいは実現可能であるとは限らないといった所見も前提としている。
【0012】
この発明の好適な実施形態において、実施例の各パイプライン320は、例えば図1にブロックF1〜F6で示される同種構成の機能ブロックを有している。参照を容易にするため、これらの機能ブロックF1〜F6を「コア」機能ブロックと称する。これは、これらの機能ブロックが各パイプライン中に含まれているからである。また、図3には、補助機能ブロックA〜E335のプール330も示されている。この発明において、コア機能ブロックF1〜F6間のカップリング(結合)はスイッチ325を有しており、このスイッチ325は、コア機能ブロックF1〜F6の出力から選択された補助ブロックA〜Eへとデータを選択的にルーティング(経路指定)するとともに、このデータを元のシーケンス内の次のコア機能ブロックへと戻す。このようにすることで、パイプライン320が構成される時に必要とされる補助機能だけを含むように各パイプライン320を構成することができる。制御ブロック350は、スイッチ325の制御を行なって、各パイプライン内の機能の所望の構成を行なう。
【0013】
補助ブロックA〜E335は、一般に、かなりのリソースを費やす「特定目的」機能を有しているが、必ずしも必要とは限らない。これに対し、コア機能ブロックF1〜F6は、一般に任意のパイプライン内で必要とされる機能、および/または、リソースを殆ど費やさない機能である。ビデオ処理における好適な実施形態において、例えば、コア機能ブロックF1は、その後の処理のためのピクセル情報を受けてフォーマットするために、フェッチモジュール110に接続するためのインタフェースを有している。一方、補助機能A335は、カラー指標付けを使用してエンコードされるピクセル情報を変換/拡張するために使用されるカラールックアップテーブルを有している。全てのパイプライン320がおそらくフェッチモジュール110へのインタフェースを必要とするが、データがカラー指標付きでエンコードされる場合およびカラー情報がその後の処理のために必要とされる場合には、1つのパイプラインだけがカラールックアップテーブルへのアクセスを必要とする。図示のシステム300においては、補助機能Aの2つのコピーが与えられることにより、任意の2つのパイプラインを構成することができ、それにより、この実施形態では、カラー指標付きのデータを処理することができる。同様に、好適な実施形態の他の補助機能ブロックB〜Fは、カラー移行インプルーバ(color−transient−improver)と、サンプルレートアップコンバータと、ヒストグラムモディファイア(histogram−modifier)と、輝度シャープナ(luminance−sharpener)と、カラー特性(フレッシュトーン、ブルーストレッチ)モジュールとを有している。この好適な実施形態におけるコア機能F2〜F6は、ビデオおよび/またはグラフィック層をオーバレイするためのクロマキーイング(chroma−keying)、アンディザラ(un−ditherer)、クロマアップサンプラ(chroma−upsampler)、リニアインタポレータ(linear interpolator)、コントラストバランサ(contrast balancer)、色空間変換器(カラースペースコンバータ)を有している。
【0014】
好適な実施形態においては、ルーティングおよび切り換えのタスクを容易にするため、また、効率的なデータ処理を容易にするため、補助ブロックA〜Fがパイプライン320内の特定の場所に対して割り当てられる。すなわち、例えば、補助ブロックAは、コア機能ブロックF1とコア機能ブロックF2との間に配置されるように構成され、補助ブロックBおよびCは、コア機能ブロックF2とコア機能ブロックF3との間に配置されるように構成されるといった具合である。特定のコア機能ブロック間に配置されるように割り当てられる補助ブロックが無い場合には、この予め構成された配置を使用することにより、スイッチ325の一部が除去されても良い。当業者であれば分かるように、この発明の原理は、予め構成された配置を必要とせず、また、各パイプライン320内に補助ブロック335を制約無く配置できるように適用可能である。
【0015】
図4は、この発明に係る構成可能マルチパイプラインシステム300における補助機能ブロックA335のブロック図の一例を示している。ブロックA335は、入力スイッチ/セレクタ/ルータ410および機能モジュール420を有している。図示のように、スイッチ410は、各パイプライン内のコア機能ブロックF1からの出力があるとすれば、それらの出力のうちのどれが機能モジュール420に加えられるべきかを選択する。選択されたパイプラインのための機能モジュール420の出力と同様に、選択されなかったパイプラインのそれぞれの機能ブロックF1からの出力は、そのパイプラインの機能ブロックF2の入力に対して透過的に(ユーザが気付くことなく)送られる。この好適な実施形態において、制御レジスタRa430は、一般に図3の制御モジュール350の構成要素であり、補助ブロックA335の各コピーを通じたパイプラインデータの選択的なルーティングを制御する。
【0016】
図5は、制御レジスタマトリクス530使用する、この発明にしたがって構成されたマルチパイプラインシステムのデータ流れ図の一例を示している。マトリクス530の各横列S1,S2,....,S5はそれぞれパイプライン320a,320b,...,320eに対応している。各縦列A,B,....,Eは、対応する補助ブロックA〜Eと一致している。すなわち、特定の横列における縦列中の「1」は、対応するパイプライン内でのブロックの使用を示している。例えば、第1の横列S1に示される「11000」は、第1のパイプライン320a内へのブロックA,Bの挿入を行ない、また、第2の横列S2に示される「01101」は、第2のパイプライン320b内へのブロックB,C,Eの挿入を行なう等といった具合である。なお、補助ブロックA〜Eは、特定のコアブロックF1〜F6間に挿入されるように予め構成されているため、選択された補助ブロックが挿入されるべき場所を示す必要はない。また、図3の補助ブロック335のプール330は、ブロックBの2つのコピーだけを利用でき、したがって、ブロックBを含むように他の横列/パイプラインを構成することができないことを示している。これは、利用できるブロックBの2つのコピーがパイプライン320a,320bに対して割り当てられてしまっているからである。
【0017】
当業者であれば分かるように、選択された補助機能ブロックを通じたパイプラインデータの選択的なルーティングを本発明にしたがって制御するために、他の方式を考え出すことができる。また、当業者であれば分かるように、この制御は、各アプリケーション(用途)の初めに行なうことができ、あるいは、アプリケーション(用途)内で動的に行なうことができ、または、特定目的の装置を形成するための製造時に所望通りに行なうことができる。
【0018】
以上は、本発明の原理を単に例示しているにすぎない。当業者であれば、ここに明示的に説明されて図示されてはいないが、本発明の原理を具現化する様々な構成、したがって、本発明の思想および範囲内にある様々な構成を想起できることは言うまでもない。例えば、図示の好適な実施形態は複数の同種パイプラインを含んでいるが、当業者であれば分かるように、この同種は、この発明において必須条件ではない。例えば、殆どのビデオ処理パイプラインに含まれる可能性が高い全ての機能要素を含むように1または複数のパイプラインが構成されても良い。一方、他のパイプラインは、殆どのグラフィック処理パイプラインに含まれる可能性が高いコア要素、あるいは、PIPパイプライン等の広く使用される低能力のパイプラインに含まれる可能性が高いコア要素を含んでいても良い。同様に、一部の補助要素は、パイプラインの一部だけに挿入されるように構成されても良い。また、補助ブロックA〜Eが「機能ブロック」として示されているが、当業者であれば分かるように、1または複数のブロックA〜Eは、必要に応じて特定のパイプラインに対して割り当てられるメモリブロック等の「受動的なブロック」を含んでいても良い。これらのシステム構成および他のシステム構成並びに最適化特徴は、この開示内容を考慮すれば当業者であれば明らかであり、以下の請求項の範囲内に含まれる。
【図面の簡単な説明】
【0019】
【図1】従来の同種マルチパイプラインシステムのブロック図の一例を示している。
【図2】従来の異種マルチパイプラインシステムのブロック図の一例を示している。
【図3】この発明に係る構成可能マルチパイプラインシステムのブロック図の一例を示している。
【図4】この発明に係る構成可能マルチパイプラインシステムにおける補助機能ブロックのブロック図の一例を示している。
【図5】この発明に係る構成可能マルチパイプラインシステムのデータフロー図の一例を示している。

【特許請求の範囲】
【請求項1】
複数のパイプラインであって、前記複数のパイプラインのうちの各パイプラインが複数のコアパイプライン要素を有し、前記複数のコアパイプライン要素は、前記パイプラインの横断の際に順次にデータを処理するように構成された、複数のパイプラインと、
複数の補助要素であって、前記複数の補助要素のうちの各補助要素は、前記複数のコアパイプライン要素のうちの一対のコアパイプライン要素間に選択的に結合されて、前記一対のコアパイプライン要素間の横断の際にデータを処理する、複数の補助要素と、
を備えた処理システム。
【請求項2】
前記データは、ビデオデータおよびグラフィックデータのうちの少なくとも一方を含んでいる、請求項1に記載の処理システム。
【請求項3】
2つ以上の前記パイプラインに対して供給されるデータは、共通の画像に対応している、請求項2に記載の処理システム。
【請求項4】
2つ以上の前記パイプラインに対して供給されるデータは、異なる画像に対応している、請求項2に記載の処理システム。
【請求項5】
前記複数のコアパイプライン要素は、ピクセル取得要素、ピクセルフォーマッタ、クロマキーイング要素、アンディザラ、クロマアップサンプラ、リニアインタポレータ、コントラストバランサ、色空間変換器のうちの少なくとも1つを含んでいる、請求項2に記載の処理システム。
【請求項6】
前記複数の補助要素は、カラールックアップテーブル、カラー移行インプルーバ、サンプルレートアップコンバータ、ヒストグラムモディファイア、輝度シャープナ、カラー特性モジュールのうちの少なくとも1つを含んでいる、請求項5に記載の処理システム。
【請求項7】
前記複数の補助要素は、カラールックアップテーブル、カラー移行インプルーバ、サンプルレートアップコンバータ、ヒストグラムモディファイア、輝度シャープナ、カラー特性モジュールのうちの少なくとも1つを含んでいる、請求項2に記載の処理システム。
【請求項8】
前記各補助要素は、前記複数のコアパイプライン要素のうちの所定の対のコアパイプライン要素間に選択的に結合されるように構成されている、請求項1に記載の処理システム。
【請求項9】
前記各補助要素は機能モジュールおよびスイッチを有し、前記スイッチは、選択パイプラインに対して前記補助要素を選択的に結合するために前記複数のパイプライン間を選択するように構成されている、請求項1に記載の処理システム。
【請求項10】
前記複数のパイプラインに対する前記補助要素の選択的な結合を制御するように構成されたレジスタを更に有している、請求項1に記載の処理システム。
【請求項11】
前記各パイプラインに対して動作可能に結合され且つデータの取得を容易にするように構成されたデータフェッチモジュールと、
前記各パイプラインに対して動作可能に結合され且つ前記複数のパイプラインのうちの2つ以上のパイプラインからのデータを1つにまとめるように構成されたミキサと、
を更に備えた、請求項1に記載の処理システム。
【請求項12】
前記複数の補助要素は機能要素の複数の複製を含み、前記機能要素の複製の数は、前記複数のパイプラインにおけるパイプライン数よりも少ない、請求項1に記載の処理システム。
【請求項13】
前記複数のパイプラインに対する前記補助要素の選択的な結合を容易にするコントローラを更に備えた、請求項1に記載の処理システム。
【請求項14】
前記コントローラは、処理システムによって実行されるアプリケーションの開始時に前記選択的な結合を行なうように構成されている、請求項13に記載の処理システム。
【請求項15】
複数の同種パイプラインと、
前記複数の同種パイプラインのうちの1または複数のパイプラインを修正して複数の異種パイプラインを形成できるように構成されたコントローラと、
を備えた、集積回路。
【請求項16】
前記複数の異種パイプラインを形成するために前記コントローラによって1または複数の前記パイプライン内に選択的に挿入されるように構成された1または複数の補助要素を更に有している、請求項15に記載の集積回路。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate


【公表番号】特表2007−527559(P2007−527559A)
【公表日】平成19年9月27日(2007.9.27)
【国際特許分類】
【出願番号】特願2006−506425(P2006−506425)
【出願日】平成16年4月2日(2004.4.2)
【国際出願番号】PCT/IB2004/000994
【国際公開番号】WO2004/088527
【国際公開日】平成16年10月14日(2004.10.14)
【出願人】(590000248)コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ (12,071)
【Fターム(参考)】