(57)【要約】  マルチパイプラインシステム（３００）は、選択されたパイプラインに対して必要に応じて設けられる補助機能ブロック（Ａ−Ｅ３３５）のプール（３３０）を有している。マルチパイプラインシステム（３００）の各パイプライン（３２０）は、コア機能（Ｆ１〜Ｆ６）の同種の組を含むように構成されている。補助機能（Ａ−Ｅ３３５）のプール（３３０）は、選択されたパイプラインのコア機能（Ｆ１〜Ｆ６）間に補助機能（Ａ−Ｅ３３５）を選択的に挿入するために設けられている。各補助機能は、補助機能を各パイプライン内に選択的に結合させることができるマルチプレクサを有している。
2007527559.tif 000002
【特許請求の範囲】
【請求項１】
複数のパイプラインであって、前記複数のパイプラインのうちの各パイプラインが複数のコアパイプライン要素を有し、前記複数のコアパイプライン要素は、前記パイプラインの横断の際に順次にデータを処理するように構成された、複数のパイプラインと、
複数の補助要素であって、前記複数の補助要素のうちの各補助要素は、前記複数のコアパイプライン要素のうちの一対のコアパイプライン要素間に選択的に結合されて、前記一対のコアパイプライン要素間の横断の際にデータを処理する、複数の補助要素と、
を備えた処理システム。
【請求項２】
前記データは、ビデオデータおよびグラフィックデータのうちの少なくとも一方を含んでいる、請求項１に記載の処理システム。
【請求項３】
２つ以上の前記パイプラインに対して供給されるデータは、共通の画像に対応している、請求項２に記載の処理システム。
【請求項４】
２つ以上の前記パイプラインに対して供給されるデータは、異なる画像に対応している、請求項２に記載の処理システム。
【請求項５】
前記複数のコアパイプライン要素は、ピクセル取得要素、ピクセルフォーマッタ、クロマキーイング要素、アンディザラ、クロマアップサンプラ、リニアインタポレータ、コントラストバランサ、色空間変換器のうちの少なくとも１つを含んでいる、請求項２に記載の処理システム。
【請求項６】
前記複数の補助要素は、カラールックアップテーブル、カラー移行インプルーバ、サンプルレートアップコンバータ、ヒストグラムモディファイア、輝度シャープナ、カラー特性モジュールのうちの少なくとも１つを含んでいる、請求項５に記載の処理システム。
【請求項７】
前記複数の補助要素は、カラールックアップテーブル、カラー移行インプルーバ、サンプルレートアップコンバータ、ヒストグラムモディファイア、輝度シャープナ、カラー特性モジュールのうちの少なくとも１つを含んでいる、請求項２に記載の処理システム。
【請求項８】
前記各補助要素は、前記複数のコアパイプライン要素のうちの所定の対のコアパイプライン要素間に選択的に結合されるように構成されている、請求項１に記載の処理システム。
【請求項９】
前記各補助要素は機能モジュールおよびスイッチを有し、前記スイッチは、選択パイプラインに対して前記補助要素を選択的に結合するために前記複数のパイプライン間を選択するように構成されている、請求項１に記載の処理システム。
【請求項１０】
前記複数のパイプラインに対する前記補助要素の選択的な結合を制御するように構成されたレジスタを更に有している、請求項１に記載の処理システム。
【請求項１１】
前記各パイプラインに対して動作可能に結合され且つデータの取得を容易にするように構成されたデータフェッチモジュールと、
前記各パイプラインに対して動作可能に結合され且つ前記複数のパイプラインのうちの２つ以上のパイプラインからのデータを１つにまとめるように構成されたミキサと、
を更に備えた、請求項１に記載の処理システム。
【請求項１２】
前記複数の補助要素は機能要素の複数の複製を含み、前記機能要素の複製の数は、前記複数のパイプラインにおけるパイプライン数よりも少ない、請求項１に記載の処理システム。
【請求項１３】
前記複数のパイプラインに対する前記補助要素の選択的な結合を容易にするコントローラを更に備えた、請求項１に記載の処理システム。
【請求項１４】
前記コントローラは、処理システムによって実行されるアプリケーションの開始時に前記選択的な結合を行なうように構成されている、請求項１３に記載の処理システム。
【請求項１５】
複数の同種パイプラインと、
前記複数の同種パイプラインのうちの１または複数のパイプラインを修正して複数の異種パイプラインを形成できるように構成されたコントローラと、
を備えた、集積回路。
【請求項１６】
前記複数の異種パイプラインを形成するために前記コントローラによって１または複数の前記パイプライン内に選択的に挿入されるように構成された１または複数の補助要素を更に有している、請求項１５に記載の集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、コンピュータ処理の分野に関し、特に、ビデオ処理パイプラインシステム等のマルチパイプパイプラインシステムを動的に構成するための方法およびシステムに関する。
【背景技術】
【０００２】
パイプラインシステムは、データを連続的に処理するために広く使用されている。データは、１つの機能ユニットから次の機能ユニットへと順次に連続的に送られ、それにより、機能ユニットを通じたその進行中に１または複数の変換を受ける。例えば、ビデオデータが連続的に処理されることにより、ディスプレイ画像がスケーリングされ、コントラストがはっきりとさせられ、色合いの違いが補正されるといった具合である。
【０００３】
マルチパイプシステムは、様々なソースからの画像の組み合わせおよび／または同じ画像に対する様々な作用の組み合わせである合成画像を形成するために、高性能ビデオ処理システムにおいて広く使用されている。例えばピクチャ・イン・ピクチャ（ＰＩＰ）を含む合成画像は、ＰＩＰ画像を形成するべく組み合わされる２つの画像のそれぞれの独立した処理によって形成される。
【０００４】
図１および図２は、ソース１１０とミキサ１５０との間でデータストリームを処理するパイプライン１２０，２２０〜２２２を備える従来のマルチパイプシステムの実施例を示している。ミキサ１５０は、各パイプラインを通じたデータストリームの処理に基づいて合成出力を生成する。面積、コスト、電力等の様々な量のリソースを各ブロックが費やすことを明らかにするため、様々なサイズの機能ブロックＦ１〜Ｆ５が示されている。
【０００５】
図１は、各パイプ１２０が同じ組み合わせの機能ブロックＦ１−Ｆ２−Ｆ３−Ｆ４−Ｆ５−Ｆ６を備える汎用同種マルチパイプシステム１００を示している。データフェッチモジュール１１０は、一般にメモリまたは他のパイプラインからくる入力データストリームを形成するデータを、各パイプラインに対して供給する。各データストリームは、同じ一連の機能ブロックを通じて送られ、各ブロックに対して供給される様々なパラメータに基づいて様々な変換を潜在的に受ける。例えば、機能ブロックのうちの１つがスケーリングブロックであっても良く、また、ＰＩＰの例においては、各画像ストリームが異なるスケーリングを受ける。各パイプライン１２０が同一であるため、自由度が最大に与えられる。これは、任意の所望の機能Ｆ１〜Ｆ６を与えるために任意のパイプライン１２０を使用できるからである。
【０００６】
一方、図２は、パイプ２２０〜２２２の利用可能な機能が異なる異種マルチパイプシステム２００を示している。各パイプラインが利用可能な機能ブロックＦ１〜Ｆ６の全てを必ずしも含んでいないため、費やされるリソースは僅かである。そのようなシステム２００は、特定のデータストリームが特定の機能を必要としないことが分かっている場合或いはそのことを前提とする場合に使用される。例えば、ＰＩＰシステムでは、小さい挿入画像だけをスケーリングする必要があり、したがって、フルスケール画像を処理するパイプラインがスケーリング機能を含む必要がないことを前提としても良い。同様に、スケーリングされた画像を処理するパイプラインは、コントラスト向上ブロックを含んでいなくても良い。想定される用途に対して各パイプライン２２０〜２２２がカスタマイズされるため、他の用途での使用におけるシステム２００の自由度が制限される。
【０００７】
システム１００の同質性は、自由度を与える他、各機能ブロックＦ１〜Ｆ６のパラメータを適切に設定することにより所定の組の変換を行なうためのシステム１００のプログラミングまたは制御のタスクを軽減する。一方、異種システム２００は、一般に、異なるそれぞれのパイプライン２２０〜２２２に対してカスタマイズされる制御方式を必要とする。
【発明の開示】
【発明が解決しようとする課題】
【０００８】
この発明の目的は、同種システムの自由度と異種システムの効率とを組み入れるマルチパイプラインシステムを提供することである。この発明の更なる目的は、各パイプライン毎に様々な機能の組み合わせを行なえように動的に構成可能なマルチパイプラインシステムを提供することである。
【課題を解決するための手段】
【０００９】
これらの目的および他の目的は、選択されたパイプラインに対して必要に応じて設けられる補助機能ブロックのプールを有するマルチパイプラインシステムによって達成される。マルチパイプラインシステムの各パイプラインは、コア機能の同種の組を含むように構成されている。補助機能のプールは、選択されたパイプラインのコア機能間に補助機能を選択的に挿入するために設けられている。各補助機能は、補助機能を各パイプライン内に選択的に結合させることができるマルチプレクサを有している。
【発明を実施するための最良の形態】
【００１０】
図面の全体にわたって、同じ参照符号は、同じ要素、または、同じ機能を実質的に果たす要素を示している。
【００１１】
図３は、この発明に係る構成可能マルチパイプラインシステム３００のブロック図の一例を示している。この発明は、マルチパイプラインシステムにおいては、全ての機能がパイプラインの全てにおいて必要とされることがあるとしても、そのようなことは滅多に無いといった所見を前提としている。しかしながら、この同じ前提に基づく従来の異種システムとは対照的に、この発明は、各パイプラインにおける機能の一部を予め規定することが必ずしも実用的あるいは実現可能であるとは限らないといった所見も前提としている。
【００１２】
この発明の好適な実施形態において、実施例の各パイプライン３２０は、例えば図１にブロックＦ１〜Ｆ６で示される同種構成の機能ブロックを有している。参照を容易にするため、これらの機能ブロックＦ１〜Ｆ６を「コア」機能ブロックと称する。これは、これらの機能ブロックが各パイプライン中に含まれているからである。また、図３には、補助機能ブロックＡ〜Ｅ３３５のプール３３０も示されている。この発明において、コア機能ブロックＦ１〜Ｆ６間のカップリング（結合）はスイッチ３２５を有しており、このスイッチ３２５は、コア機能ブロックＦ１〜Ｆ６の出力から選択された補助ブロックＡ〜Ｅへとデータを選択的にルーティング（経路指定）するとともに、このデータを元のシーケンス内の次のコア機能ブロックへと戻す。このようにすることで、パイプライン３２０が構成される時に必要とされる補助機能だけを含むように各パイプライン３２０を構成することができる。制御ブロック３５０は、スイッチ３２５の制御を行なって、各パイプライン内の機能の所望の構成を行なう。
【００１３】
補助ブロックＡ〜Ｅ３３５は、一般に、かなりのリソースを費やす「特定目的」機能を有しているが、必ずしも必要とは限らない。これに対し、コア機能ブロックＦ１〜Ｆ６は、一般に任意のパイプライン内で必要とされる機能、および／または、リソースを殆ど費やさない機能である。ビデオ処理における好適な実施形態において、例えば、コア機能ブロックＦ１は、その後の処理のためのピクセル情報を受けてフォーマットするために、フェッチモジュール１１０に接続するためのインタフェースを有している。一方、補助機能Ａ３３５は、カラー指標付けを使用してエンコードされるピクセル情報を変換／拡張するために使用されるカラールックアップテーブルを有している。全てのパイプライン３２０がおそらくフェッチモジュール１１０へのインタフェースを必要とするが、データがカラー指標付きでエンコードされる場合およびカラー情報がその後の処理のために必要とされる場合には、１つのパイプラインだけがカラールックアップテーブルへのアクセスを必要とする。図示のシステム３００においては、補助機能Ａの２つのコピーが与えられることにより、任意の２つのパイプラインを構成することができ、それにより、この実施形態では、カラー指標付きのデータを処理することができる。同様に、好適な実施形態の他の補助機能ブロックＢ〜Ｆは、カラー移行インプルーバ（ｃｏｌｏｒ−ｔｒａｎｓｉｅｎｔ−ｉｍｐｒｏｖｅｒ）と、サンプルレートアップコンバータと、ヒストグラムモディファイア（ｈｉｓｔｏｇｒａｍ−ｍｏｄｉｆｉｅｒ）と、輝度シャープナ（ｌｕｍｉｎａｎｃｅ−ｓｈａｒｐｅｎｅｒ）と、カラー特性（フレッシュトーン、ブルーストレッチ）モジュールとを有している。この好適な実施形態におけるコア機能Ｆ２〜Ｆ６は、ビデオおよび／またはグラフィック層をオーバレイするためのクロマキーイング（ｃｈｒｏｍａ−ｋｅｙｉｎｇ）、アンディザラ（ｕｎ−ｄｉｔｈｅｒｅｒ）、クロマアップサンプラ（ｃｈｒｏｍａ−ｕｐｓａｍｐｌｅｒ）、リニアインタポレータ（ｌｉｎｅａｒ  ｉｎｔｅｒｐｏｌａｔｏｒ）、コントラストバランサ（ｃｏｎｔｒａｓｔ  ｂａｌａｎｃｅｒ）、色空間変換器（カラースペースコンバータ）を有している。
【００１４】
好適な実施形態においては、ルーティングおよび切り換えのタスクを容易にするため、また、効率的なデータ処理を容易にするため、補助ブロックＡ〜Ｆがパイプライン３２０内の特定の場所に対して割り当てられる。すなわち、例えば、補助ブロックＡは、コア機能ブロックＦ１とコア機能ブロックＦ２との間に配置されるように構成され、補助ブロックＢおよびＣは、コア機能ブロックＦ２とコア機能ブロックＦ３との間に配置されるように構成されるといった具合である。特定のコア機能ブロック間に配置されるように割り当てられる補助ブロックが無い場合には、この予め構成された配置を使用することにより、スイッチ３２５の一部が除去されても良い。当業者であれば分かるように、この発明の原理は、予め構成された配置を必要とせず、また、各パイプライン３２０内に補助ブロック３３５を制約無く配置できるように適用可能である。
【００１５】
図４は、この発明に係る構成可能マルチパイプラインシステム３００における補助機能ブロックＡ３３５のブロック図の一例を示している。ブロックＡ３３５は、入力スイッチ／セレクタ／ルータ４１０および機能モジュール４２０を有している。図示のように、スイッチ４１０は、各パイプライン内のコア機能ブロックＦ１からの出力があるとすれば、それらの出力のうちのどれが機能モジュール４２０に加えられるべきかを選択する。選択されたパイプラインのための機能モジュール４２０の出力と同様に、選択されなかったパイプラインのそれぞれの機能ブロックＦ１からの出力は、そのパイプラインの機能ブロックＦ２の入力に対して透過的に（ユーザが気付くことなく）送られる。この好適な実施形態において、制御レジスタＲａ４３０は、一般に図３の制御モジュール３５０の構成要素であり、補助ブロックＡ３３５の各コピーを通じたパイプラインデータの選択的なルーティングを制御する。
【００１６】
図５は、制御レジスタマトリクス５３０使用する、この発明にしたがって構成されたマルチパイプラインシステムのデータ流れ図の一例を示している。マトリクス５３０の各横列Ｓ１，Ｓ２，．．．．，Ｓ５はそれぞれパイプライン３２０ａ，３２０ｂ，．．．，３２０ｅに対応している。各縦列Ａ，Ｂ，．．．．，Ｅは、対応する補助ブロックＡ〜Ｅと一致している。すなわち、特定の横列における縦列中の「１」は、対応するパイプライン内でのブロックの使用を示している。例えば、第１の横列Ｓ１に示される「１１０００」は、第１のパイプライン３２０ａ内へのブロックＡ，Ｂの挿入を行ない、また、第２の横列Ｓ２に示される「０１１０１」は、第２のパイプライン３２０ｂ内へのブロックＢ，Ｃ，Ｅの挿入を行なう等といった具合である。なお、補助ブロックＡ〜Ｅは、特定のコアブロックＦ１〜Ｆ６間に挿入されるように予め構成されているため、選択された補助ブロックが挿入されるべき場所を示す必要はない。また、図３の補助ブロック３３５のプール３３０は、ブロックＢの２つのコピーだけを利用でき、したがって、ブロックＢを含むように他の横列／パイプラインを構成することができないことを示している。これは、利用できるブロックＢの２つのコピーがパイプライン３２０ａ，３２０ｂに対して割り当てられてしまっているからである。
【００１７】
当業者であれば分かるように、選択された補助機能ブロックを通じたパイプラインデータの選択的なルーティングを本発明にしたがって制御するために、他の方式を考え出すことができる。また、当業者であれば分かるように、この制御は、各アプリケーション（用途）の初めに行なうことができ、あるいは、アプリケーション（用途）内で動的に行なうことができ、または、特定目的の装置を形成するための製造時に所望通りに行なうことができる。
【００１８】
以上は、本発明の原理を単に例示しているにすぎない。当業者であれば、ここに明示的に説明されて図示されてはいないが、本発明の原理を具現化する様々な構成、したがって、本発明の思想および範囲内にある様々な構成を想起できることは言うまでもない。例えば、図示の好適な実施形態は複数の同種パイプラインを含んでいるが、当業者であれば分かるように、この同種は、この発明において必須条件ではない。例えば、殆どのビデオ処理パイプラインに含まれる可能性が高い全ての機能要素を含むように１または複数のパイプラインが構成されても良い。一方、他のパイプラインは、殆どのグラフィック処理パイプラインに含まれる可能性が高いコア要素、あるいは、ＰＩＰパイプライン等の広く使用される低能力のパイプラインに含まれる可能性が高いコア要素を含んでいても良い。同様に、一部の補助要素は、パイプラインの一部だけに挿入されるように構成されても良い。また、補助ブロックＡ〜Ｅが「機能ブロック」として示されているが、当業者であれば分かるように、１または複数のブロックＡ〜Ｅは、必要に応じて特定のパイプラインに対して割り当てられるメモリブロック等の「受動的なブロック」を含んでいても良い。これらのシステム構成および他のシステム構成並びに最適化特徴は、この開示内容を考慮すれば当業者であれば明らかであり、以下の請求項の範囲内に含まれる。
【図面の簡単な説明】
【００１９】
【図１】従来の同種マルチパイプラインシステムのブロック図の一例を示している。
【図２】従来の異種マルチパイプラインシステムのブロック図の一例を示している。
【図３】この発明に係る構成可能マルチパイプラインシステムのブロック図の一例を示している。
【図４】この発明に係る構成可能マルチパイプラインシステムにおける補助機能ブロックのブロック図の一例を示している。
【図５】この発明に係る構成可能マルチパイプラインシステムのデータフロー図の一例を示している。
【図１】
2007527559.tif 000003
【図２】
2007527559.tif 000004
【図３】
2007527559.tif 000005
【図４】
2007527559.tif 000006
【図５】
2007527559.tif 000007
【国際調査報告】
2007527559.tif 000008
2007527559.tif 000009
2007527559.tif 000010