(57)【特許請求の範囲】
【請求項１】
ソリッド関数信号ジェネレータにおいて、
ランプ関数信号ジェネレータを備えており、該ランプ関数信号ジェネレータはランプ関数信号の信号値Ｒを、
Ｒ＝Ａｈ＋Ｂｖ＋Ｃ、
という式に従って発生させるようにしてあり、
上式において、係数Ａ、係数Ｂ、及び係数Ｃは正負値であり、
前記ランプ関数信号の信号値Ｒは、所定の複数本の走査線ｖ（ｖ＝０〜ｍ）から成る走査線集合の、その各々の走査線上に存在する所定の複数個のピクセルｈ（ｈ＝０〜ｎ）から成るピクセル集合の、その各々のピクセルごとに発生させるようにしてあり、
前記係数Ａ、前記係数Ｂ、及び前記Ｃの値を発生させる係数ジェネレータを備えており、更に、
制御手段を備えており、該制御手段は、１つの画面の互いに密接した複数の部分領域の各々において夫々にランプ関数信号を発生させ、しかも、それらランプ関数信号を、それらの間で前記係数Ａの値を同一とし、且つ、前記係数Ｂの値を同一として発生させるように制御を行うものである、
ことを特徴とするソリッド関数信号ジェネレータ。
【請求項２】
ソリッド関数信号ジェネレータにおいて、
複数個（Ｐ個）のランプ関数信号ジェネレータを備えており、それらランプ関数信号ジェネレータの各々がランプ関数信号の信号値Ｒｐを、
Ｒｐ＝Ａｐｈ＋Ｂｐｖ＋Ｃｐ、
という式に従って発生させるようにしてあり、
上式において、ｐ＝１〜Ｐであり、
上式において、係数Ａｐ、係数Ｂｐ、及び係数Ｃｐは正負値であり、
前記ランプ関数信号の信号値Ｒｐは、所定の複数本の走査線ｖ（ｖ＝０〜ｍ）から成る走査線集合の、その各々の走査線上に存在する所定の複数個のピクセルｈ（ｈ＝０〜ｎ）から成るピクセル集合の、その各々のピクセルｈごとに発生させるようにしてあり、
前記ランプ関数信号ジェネレータにおいて使用される前記係数Ａｐの値、前記係数Ｂｐの値、及び前記係数Ｃｐの値を発生させる係数発生手段を備えており、
制御手段を備えており、該制御手段は、１つの画面の互いに密接した複数の部分領域の各々において夫々にランプ関数信号Ｒｐを発生させ、しかも、それらランプ関数信号Ｒｐを、それらの間で前記係数Ａｐの値を同一とし、且つ、前記係数Ｂｐの値を同一として発生させるように制御を行うものであり、更に、
複数のランプ関数信号を結合するランプ関数信号結合手段を備えている、
ことを特徴とするソリッド関数信号ジェネレータ。
【請求項３】
前記制御手段が、前記複数の部分領域の境界を表示する境界表示信号を発生させる手段を含んでいることを特徴とする請求項２記載のソリッド関数信号ジェネレータ。
【請求項４】
前記境界表示信号の位置を、前記画面の少なくとも１つの縁部に対して相対的にオフセットさせると共に、前記少なくとも１つの縁部に隣接した部分領域におけるランプ関数信号の前記係数Ｃｐの値を、前記境界表示信号の位置のオフセット量に対応させてオフセットさせる手段を備えていることを特徴とする請求項３記載のソリッド関数信号ジェネレータ。
【請求項５】
１つおきのタイル列を選択するタイル列選択手段を備えており、
前記オフセット手段が、前記タイル列選択手段に応答して、前記１つおきのタイル列をそれら１つおきのタイル列の間に存在するタイル列に対して相対的にオフセットさせるようにしてある、
ことを特徴とする請求項４記載のソリッド関数信号ジェネレータ。
【請求項６】
前記境界表示信号の位置を、前記画面の少なくとも１つの縁部に対して相対的に移動させる共に、前記少なくとも１つの縁部に隣接した部分領域におけるランプ関数信号の前記係数Ｃｐの値を、前記境界表示信号の位置の移動量に対応させて変化させる手段を備えていることを特徴とする請求項３記載のソリッド関数信号ジェネレータ。
【請求項７】
各々の前記ランプ関数信号ジェネレータが、
前記係数Ａｐの値、前記係数Ｂｐの値、前記係数Ｃｐの値、第１積算値、及び第２積算値を格納するための格納手段と、
前記第１積算値を前記係数Ａｐの値でインクリメントし、前記第２積算値を前記係数Ｂｐの値でインクリメントする加算手段と、
制御手段であって、前記複数本の走査線ｖのうちの各走査線に対応させて、前記加算手段に前記第２積算値を前記係数Ｂｐの値でインクリメントさせてＣｐ＋Ｂｐｖで表される値を発生させ、この値Ｃｐ＋Ｂｐｖを前記第１積算値及び前記第２積算値の両方の値として格納させ、また、前記複数本の走査線のうちの各走査線上の、前記複数個のピクセルのうちの各ピクセルに対応させて、前記加算手段に前記第１積算値を前記係数Ａｐの値でインクリメントさせてＣｐ＋Ｂｐｖ＋Ａｐｈで表される値を発生させ、この値Ｃｐ＋Ｂｐｖ＋Ａｐｈを前記第１積算値として格納させると共に前記信号値Ｒｐとして出力させるようにする前記制御手段とを備えている、
ことを特徴とする請求項１乃至６の何れか１項記載のソリッド関数信号ジェネレータ。
【請求項８】
各々の前記ランプ関数信号ジェネレータの前記格納手段が、前記係数Ａ、Ｂ、及びＣの夫々の値を夫々に格納するための複数の係数レジスタと、前記第１積算値及び前記第２積算値を夫々に格納するための複数のフィードバック・レジスタと、それらレジスタを前記加算手段に選択的に結合すると共に前記加算手段の出力を前記複数のフィードバック・レジスタのうちの少なくとも１つに格納させる選択手段とを含んでいることを特徴とする請求項７記載のソリッド関数信号ジェネレータ。
【請求項９】
各々の前記ランプ関数信号ジェネレータの前記加算手段の出力が前記複数のフィードバック・レジスタに結合されており、前記制御手段が前記複数のフィードバック・レジスタを選択的にイネーブルして前記積算値を格納させることを特徴とする請求項８記載のソリッド関数信号ジェネレータ。
【請求項１０】
各々の前記ランプ関数信号ジェネレータが、前記選択手段に結合された、更に別の積算値を格納するための更に別のフィードバック・レジスタを備えていることを特徴とする請求項８または９記載のソリッド関数信号ジェネレータ。
【請求項１１】
各々の前記ランプ関数信号ジェネレータが、前記選択手段に結合された、更に別の係数の値を格納するための更に別の少なくとも１つの係数レジスタを備えていることを特徴とする請求項８、９、または１０記載のソリッド関数信号ジェネレータ。
【請求項１２】
各々の前記ランプ関数信号ジェネレータの前記選択手段が、前記複数の係数レジスタを選択的に前記加算手段に結合する第１セレクタと、前記複数のフィードバック・レジスタを選択的に前記加算手段に結合する第２セレクタとを含んでいることを特徴とする請求項８、９、１０、または１１記載のソリッド関数信号ジェネレータ。
【請求項１３】
各々の前記ランプ関数信号ジェネレータの前記複数のフィードバック・レジスタのうちの１つまたは幾つかが、所定値をプリロード可能に構成されていることを特徴とする請求項８、９、１０、１１、または１２記載のソリッド関数信号ジェネレータ。
【請求項１４】
各々の前記ランプ関数信号ジェネレータが、前記係数の値が前記加算手段へ供給される前に、前記係数の値に対して選択的に正負逆転処理を施す手段を備えていることを特徴とする請求項２乃至８の何れか１項記載のソリッド関数信号ジェネレータ。
【請求項１５】
前記ランプ関数信号の信号値Ｒｐに対して選択的にリミット処理を施す手段を備えていることを特徴とする請求項１乃至１４の何れか１項記載のソリッド関数信号ジェネレータ。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、複数のランプ関数信号を発生させる信号ジェネレータに関する。この信号ジェネレータは、ビジョン・ミキサのビデオ・ワイプ・ジェネレータに用いられる「ソリッド関数信号」を発生させるのに適したものである。
【０００２】
ソリッド関数信号とは、所望の形状の３次元表面を表す電気的な信号である。ソリッド関数信号は、少なくとも１つのランプ関数信号で構成され、通常は２つ以上のランプ関数信号の組合せにより構成される。ソリッド関数信号を構成する個々のランプ関数信号には、予め修飾処理を施しておくこともある。また、ソリッド関数信号は、極座標系で規定された信号の形を取ることもあり、その場合には、そのソリッド関数信号は曲面を表す信号となる。
【０００３】
【従来の技術】
これより、添付図面のうち、本発明の背景技術を示した図１〜図３を参照して説明をして行く。
【０００４】
図１は、画面上において、ビデオ・ソースＸの画像とビデオ・ソースＹの画像とを切換えるために実行する、周知の単純なワイプによる画面切換処理を示した図である。
【０００５】
ワイプによる画面切換処理が矢印Ｗで示したように進行して行くにつれて、ビデオ・ソースＸの画像部分がビデオ・ソースＹの画像部分に置き換えられて行く（逆に、ビデオ・ソースＹの画像部分がビデオ・ソースＸの画像部分に置き換えられて行くようにすることもできる）。このワイプによる画面切換処理は、ビデオ・ソースＸのビデオ信号とビデオ・ソースＹのビデオ信号とを、次の式に従ってミキシングすることによって達成されている。
ＫＸ＋（１−Ｋ）Ｙ
この式において、Ｋはキーイング信号である。このキーイング信号Ｋは「ソリッド関数信号」から導出されるものである。それについて、以下に図２及び図３を参照して説明する。ソリッド関数信号は、画面のｈｖ座標に対応した値を持つ関数信号であり、ここで、ｖは走査線番号であり、ｈは走査線上のピクセル位置である。
【０００６】
図２は、「ソリッド関数信号」の周知の具体例を示したものであり、この図のソリッド関数信号は、１つのランプ関数信号だけで構成されている。図２に示したように、クリップ・レベルＣＰが設定されている。このクリップ・レベルＣＰによって、フィールドないしフレームの全域に亘って延在する平面が規定されており、この平面を、ここではクリップ平面と呼ぶことにする。このクリップ平面については、後に図４を参照して更に詳細に説明する。ソリッド関数信号からキーイング信号Ｋを導出する方法は、周知のものであり、即ち、ソリッド関数信号を高ゲインで増幅して得られた信号に対して、図２のＢに示すようにリミット処理を施せばよい。これによってキーイング信号は、「０」と「１」のいずれかのレベルを取る２レベル信号になる。このキーイング信号は、ソリッド関数信号がクリップ平面ＣＰを横切る位置において、一方のレベルから他方のレベルへ遷移する。ソリッド関数信号にオフセットを与えることによって、その横切る位置を変化させることができ、それによってワイプを発生させることができる。
【０００７】
図３に示したのは、ビジョン・ミキサのワイプ・ジェネレータのブロック回路図であり、このワイプ・ジェネレータは、ソリッド関数信号ジェネレータ、クリップ要素、ゲイン要素、リミッタ、それにミキサを含んでおり、ミキサは、ビデオ・ソースＸとビデオ・ソースＹを、キーイング信号Ｋに応じてミキシングするものである。
【０００８】
ソリッド関数信号ジェネレータは、ソリッド関数信号を発生させるものであって、発生させるソリッド関数信号は、例えば、図２のＡに示したようなランプ関数信号であることもある。クリップ要素は、そのランプ関数信号にオフセットを付与することによって、そのランプ関数信号がクリップ平面ＣＰと交わる交線の位置を、図２のＡ〜Ｃに示したように変化させる。オフセットが付与されたランプ関数信号に対して、ゲイン要素においてゲインが付与され、それによって得られた信号に対して、リミッタにおいてリミット処理が施されることで、キーイング信号Ｋが得られる。付与するゲインの大きさを変化させると、図２のＢに示したように、キーイング信号Ｋの、上限値と下限値との間で遷移する部分の勾配を変化させることができる。
【０００９】
ミキサは、ビデオ・ソースＸとビデオ・ソースＹを、次の式に従ってミキシングする。
ＫＸ＋（１−Ｋ）Ｙ
このミキシング方式によれば、Ｋ＝１のときには、出力信号はビデオ・ソースＸそのものになり、また、Ｋ＝０のときには、出力信号はビデオ・ソースＹそのものになる。
【００１０】
また、ソリッド関数信号に付与するゲインを「１」とし、クリップ平面のオフセット量を「０」とした場合には、ソリッド関数信号とキーイング信号とは同一信号となる。
【００１１】
本発明は更に、ソリッド関数信号ジェネレータにも関係したものである。
【００１２】
【発明が解決しようとする課題】
複数のランプ関数信号を並行的に発生させることが望まれている。複数のランプ関数信号を並行的に発生させることによって、１つのビデオ・フレーム内に複数の互いに同一のソリッド関数信号が存在する状態を作り出すことができ、それによって、マルチ・ワイプによるフレームの画像切換が可能になる。
【００１３】
【課題を解決するための手段】
本発明の１つの局面によれば、次のようなソリッド関数信号ジェネレータが提供され、このソリッド関数信号ジェネレータは、
ランプ関数信号ジェネレータを備えており、該ランプ関数信号ジェネレータはランプ関数信号の信号値Ｒを、
Ｒ＝Ａｈ＋Ｂｖ＋Ｃ、
という式に従って発生させるようにしてあり、
上式において、係数Ａ、係数Ｂ、及び係数Ｃは正負値であり、
前記ランプ関数信号の信号値Ｒは、所定の複数本の走査線ｖ（ｖ＝０〜ｍ）から成る走査線集合の、その各々の走査線上に存在する所定の複数個のピクセルｈ（ｈ＝０〜ｎ）から成るピクセル集合の、その各々のピクセルごとに発生させるようにしてあり、
前記係数Ａ、前記係数Ｂ、及び前記Ｃの値を発生させる係数ジェネレータを備えており、更に、
制御手段を備えており、該制御手段は、１つの画面の互いに密接した複数の部分領域の各々において夫々にランプ関数信号を発生させ、しかも、それらランプ関数信号を、それらの間で前記係数Ａの値を同一とし、且つ、前記係数Ｂの値を同一として発生させるように制御を行うものである、
ことを特徴とするソリッド関数信号ジェネレータである。
【００１４】
尚、発明の詳細な説明、並びに請求項において使用している「画面」という用語は、「フィールド」と「フレーム」とを共に包含する、それらの上位概念に相当する用語である。
【００１５】
以上のように、ランプ関数信号ジェネレータを備え、そのランプ関数信号ジェネレータを制御して、互いに密接した複数の部分領域（それら部分領域を、以下の詳細な説明では「タイル」という）の各々においてランプ関数信号を反復して発生させることによって、それら複数の部分領域内に、互いに同一の複数のソリッド関数（それらソリッド関数は、例えば、各々が１つのランプ関数で構成されることもある）を作り出すことができる。
【００１６】
本発明の別の局面によれば、次のようなソリッド関数信号ジェネレータが提供され、このソリッド関数信号ジェネレータは、
複数個（Ｐ個）のランプ関数信号ジェネレータを備えており、それらランプ関数信号ジェネレータの各々がランプ関数信号の信号値Ｒｐを、
Ｒｐ＝Ａｐｈ＋Ｂｐｖ＋Ｃｐ、
という式に従って発生させるようにしてあり、
上式において、ｐ＝１〜Ｐであり、
上式において、係数Ａｐ、係数Ｂｐ、及び係数Ｃｐは正負値であり、
前記ランプ関数信号の信号値Ｒｐは、所定の複数本の走査線ｖ（ｖ＝０〜ｍ）から成る走査線集合の、その各々の走査線上に存在する所定の複数個のピクセルｈ（ｈ＝０〜ｎ）から成るピクセル集合の、その各々のピクセルｈごとに発生させるようにしてあり、
前記ランプ関数信号ジェネレータにおいて使用される前記係数Ａｐの値、前記係数Ｂｐの値、及び前記係数Ｃｐの値を発生させる係数発生手段を備えており、
制御手段を備えており、該制御手段は、１つの画面の互いに密接した複数の部分領域の各々において夫々にランプ関数信号Ｒｐを発生させ、しかも、それらランプ関数信号Ｒｐを、それらの間で前記係数Ａｐの値を同一とし、且つ、前記係数Ｂｐの値を同一として発生させるように制御を行うものであり、更に、
複数のランプ関数信号を結合するランプ関数信号結合手段を備えている、
ことを特徴とするソリッド関数信号ジェネレータである。
【００１７】
以上のように、複数のランプ関数信号ジェネレータを備え、それらランプ関数信号ジェネレータを制御して、互いに密接した複数のタイルの各々において夫々に異なったランプ関数信号を反復して発生させることによって、それら複数のタイル内に、互いに同一の複数の複合ソリッド関数を作り出すことができる。
【００１８】
本発明の１つの実施の形態においては、タイルの境界を表示する境界表示信号を発生させている。境界表示信号の位置を画面に対してオフセットさせると、画面の水平な縁部、及び／または、垂直な縁部に沿った位置に発生するタイル（縁部タイル）が、その一部分が欠けた「部分」タイルになることがある。そのような「部分」タイルとなる縁部タイルでは、そのタイルのランプ関数に、そのタイルの欠け方に対応したオフセットを加えることによって、その部分タイルに現れるソリッド関数を、隣接する欠けのないタイルのソリッド関数のうちの、それに対応した部分と同一にすることができる。
【００１９】
また、境界表示信号を画面に対してオフセットさせると共に、それに合わせてランプ関数にオフセットを加えることによって、あるタイル列を、それに隣接するタイル列に対して相対的にオフセットさせることができる。
【００２０】
また、境界表示信号の画面に対するオフセットと、ランプ関数に加えるオフセットとを、連続的に変化させることによって、タイルを画面の水平方向または上下方向に連続的に移動させることができる。
【００２１】
かかるランプ関数信号ジェネレータの１つの好適な実施の形態は、
前記係数Ａｐの値、前記係数Ｂｐの値、前記係数Ｃｐの値、第１積算値、及び第２積算値を格納するための格納手段と、
前記第１積算値を前記係数Ａｐの値でインクリメントし、前記第２積算値を前記係数Ｂｐの値でインクリメントする加算手段と、
制御手段であって、前記複数本の走査線ｖのうちの各走査線に対応させて、前記加算手段に前記第２積算値を前記係数Ｂｐの値でインクリメントさせてＣｐ＋Ｂｐｖで表される値を発生させ、この値Ｃｐ＋Ｂｐｖを前記第１積算値及び前記第２積算値の両方の値として格納させ、また、前記複数本の走査線のうちの各走査線上の、前記複数個のピクセルのうちの各ピクセルに対応させて、前記加算手段に前記第１積算値を前記係数Ａｐの値でインクリメントさせてＣｐ＋Ｂｐｖ＋Ａｐｈで表される値を発生させ、この値Ｃｐ＋Ｂｐｖ＋Ａｐｈを前記第１積算値として格納させると共に前記信号値Ｒｐとして出力させるようにする前記制御手段とを備えるようにしたものである。
【００２２】
前記格納手段の好ましい形態は、異なったランプ関数信号を発生させるために前記係数Ａ、Ｂ、及びＣの夫々の値を容易に変更することのできる、複数のレジスタとして構成したものである。
【００２３】
係数Ｃｐの値を格納するためのレジスタの格納値を変更することによって、上で説明したランプ関数にオフセットを加える操作を容易に行うことができる。
【００２４】
また、このランプ関数信号ジェネレータは、乗算器を使用せずに構成することができるものである。
【００２５】
【発明の実施の形態】
以下に添付図面を参照しつつ、本発明について、その好適な実施の形態に即して更に詳細に説明して行く。
図５に示したランプ関数信号ジェネレータは、次の式に従ってランプ関数信号を発生させる。
Ｒ＝Ａｈ＋Ｂｖ＋Ｃ
この式において、Ａ、Ｂ、及びＣは、その値を任意に設定可能な係数であり、ｖは走査線番号であり、ｈは走査線上におけるピクセル位置である。この式によって規定されるランプ関数Ｒは、例えば図４に示したような、３次元空間に存在する３次元ランプ関数Ｒである。各走査線ｖ上の各ピクセル位置ｈごとに、そのピクセル位置に対応したランプ関数Ｒの信号値を、係数Ａ、Ｂ、及びＣの値に基づいて算出する。この算出値は、正負値（正数とも負数ともなり得る数値）で表すようにしており、また特に、２の補数の形で表すことが好ましい。以下に更に詳細に説明するように、ｈの値域は０〜ｎであり、ｖの値域は０〜ｍである。
【００２６】
１つのフィールドないしフレームのうちの、どの複数本の走査線ｖ上においてランプ関数信号を発生させるか、また、それら複数本の走査線ｖ上の、どの複数個のピクセルｈにおいてランプ関数信号を発生させるかについて、特定の複数本の走査線ｖや、特定の複数個のピクセルｈを選択することができるが、ただし、その場合に、それら複数本の走査線ｖは、連続して並んだ、即ち、間を置かずに密接して並んだ複数本の走査線から成る走査線集合に含まれるものとし、また、それら複数個のピクセルも、連続して並んだ、即ち、間を置かずに密接して並んだ複数個のピクセルから成るピクセル集合に含まれるものとする。フィールドにおいてランプ関数信号を発生させることも、また、フレームにおいてランプ関数信号を発生させることも、いずれも可能である。ただし以下の説明では、説明を簡明にするために、順次走査方式のフレームにおいてランプ関数信号を発生させる場合について説明して行く。
【００２７】
ランプ関数信号の信号値Ｒの値域は、負の限度値−Ｍから０を通過して正の限度値＋Ｍまでである。ランプ関数信号のダイナミック・レンジＤＲは、そのランプ関数信号の信号値Ｒを発生させる領域が、ビデオ信号のアクティブ・フレーム領域より十分に広い領域になるように設定する。
【００２８】
図４には、順次走査方式のＴＶフレームを示してあり、このフレームの全体を構成している走査線ｖに、第０番から、第１番、第２番、…、第ｍ番まで、順次番号を付してある。また、各走査線の全長を構成しているピクセル位置ｈに、第０番から、第ｎ番まで、順次番号を付してある。この図４に示した具体例のランプ関数Ｒは、−Ｍの高さに位置している基準平面ＲＰからのオフセット量がＣとなっている。
【００２９】
ここで簡単に説明しておくと、図４に平面ＣＰで示したクリップ平面は、図示の如く、交線Ｌにおいてランプ関数Ｒと交わっている。ランプ関数Ｒがクリップ平面ＣＰと交わる位置は、オフセット量Ｃに応じて変化する。走査線ｖ＝０に沿ったランプ関数Ｒの傾きは係数Ａの値に等しい。全ての走査線ｖ上のピクセル位置ｈ＝０に沿ったランプ関数Ｒの傾きは係数Ｂの値に等しい。キーイング信号Ｋの遷移領域は、直線Ｌに沿って延在している。キーイング信号Ｋのレベルがクリップ平面ＣＰのレベルを超えている領域では、その領域に対応した画面部分に一方のビデオ・ソースＹの画像が表示され、キーイング信号Ｋのレベルがクリップ平面ＣＰのレベルと同じ高さかまたはそれより低い領域では、その領域に対応した画面部分に他方のビデオ・ソースＸの画像が表示される。これについては、先に図１及び図３を参照して説明したとおりである。
【００３０】
図５に示したランプ関数信号ジェネレータは、レジスタＲ１（ＩＮＣ  Ａ）、レジスタＲ２（ＩＮＣ  Ｂ）、及びレジスタＲ３（Ｓｔａｒｔ  Ｃ）を含んでおり、これらレジスタは、係数Ａ、Ｂ、及びＣの値として選定された夫々の値を格納しておくための係数レジスタである。係数レジスタＲ１、Ｒ２、及びＲ３は、インクリメント・セレクタＳＥＬ１に接続されており、このインクリメント・セレクタＳＥＬ１は、係数レジスタＲ１〜Ｒ３のうちの１つを選択的に、レジスタＲＥＧ１を介して加算器１に結合する。レジスタＲＥＧ１は、ピクセル・レートを定めているクロック信号ＨＦＣＫ＿ＳＹＳによってクロックされている。２つのフィードバック・レジスタＦＢ１及びＦＢ２が、もう１つのセレクタであるフィードバック・セレクタＳＥＬ２に接続されている。フィードバック・セレクタＳＥＬ２は、フィードバック・レジスタＦＢ１と、フィードバック・レジスタＦＢ２と、０入力とのうちのいずれか１つを選択的に加算器１に結合する。加算器１の出力は、出力レジスタＲＥＧ２に接続されており、この出力レジスタＲＥＧ２もレジスタＲＥＧ１と同様に、クロック信号ＨＦＣＫ＿ＳＹＳによってクロックされている。以上に列挙したレジスタＲ１、Ｒ２、Ｒ３、ＦＢ１、ＦＢ２、及びセレクタＳＥＬ１、ＳＥＬ２は、リアルタイム・コントローラ２によって制御されている。リアルタイム・コントローラ２は、各走査線の始点を表示する信号パルスＩＰ＿Ｈと、フレームの始点を表示する信号パルスＩＰ＿Ｖと、クロック信号ＨＦＣＫ＿ＳＹＳとを受取っており、セレクタＳＥＬ１を制御するための制御信号ＩｎｃＳｅｌと、セレクタＳＥＬ２を制御するための制御信号ＡｃｃＳｅｌとを送出している。コントローラ２は更に、係数Ａ、Ｂ、及びＣの夫々の値をレジスタＲ１〜Ｒ３にロードするロード動作も制御している。
【００３１】
コンピュータ６が、各フレームの開始に先立って、そのフレームに対応した係数Ａ、Ｂ、及びＣの夫々の値と制御データとを生成し、生成したそれら係数の値及び制御データをリアルタイム・コントローラ２へ供給する。リアルタイム・コントローラ２は、それら係数の値をレジスタＲ１、Ｒ２、Ｒ３へ供給する。コンピュータ６は、オペレータが行う制御操作とリアルタイム・コントローラ２との間をつなぐインターフェースとしての機能を果たしている。コンピュータ６は、オペレータが行う制御操作の設定値に従って、係数Ａ、Ｂ、及びＣの夫々の値を生成する。
【００３２】
これより、以上に説明したランプ関数信号ジェネレータの動作について、図４を参照して説明して行く。その基本動作原理は、加算器１が、フィードバック・レジスタＦＢ１に格納されている積算値とフィードバック・レジスタＦＢ２に格納されている積算値のいずれか一方に、レジスタＲ１〜Ｒ３に格納されている夫々の値のうちの１つをインクリメント値として加算し、それによって得られた合計値を、２つのフィードバック・レジスタＦＢ１とＦＢ２の一方または両方にフィードバックすることによって、反復してインクリメントを行うようにするというものである。
【００３３】
説明を簡明にするために、ここでは、ランプ関数信号の信号値Ｒを発生させるための手順を、図４に示した走査線ｖ＝０上のピクセル位置ｈ＝０から開始するものとする。また、係数Ａ、Ｂ、及びＣの夫々の値を、同じ文字Ａ、Ｂ、及びＣで表すものとする。従って、オフセット量はＣである。また、係数Ａ、Ｂ、及びＣの夫々の値は、各フレームごとに、レジスタＲ１〜Ｒ３にロードされるものとする。コントローラ２は、フレームのアクティブ走査線の始点を表すフレーム始点信号パルスＩＰ＿Ｖを受取ったならば、セレクタＳＥＬ１に、レジスタＲ３の格納値Ｃを選択させ、その値Ｃを、レジスタＲＥＧ１を介して加算器１へ供給させる。この、レジスタＲＥＧ１から加算器１への値Ｃの供給は、レジスタＲＥＧ１にクロック信号ＨＦＣＫ＿ＳＹＳの最初のパルスが入力するタイミングで行われる。また、それと同時に、コントローラ２は、セレクタＳＥＬ２に０値を選択させて、それを加算器１へ供給させる。これらの結果として、加算器１から出力される合計値Ｃ＋０が、２つのフィードバック・レジスタＦＢ１及びＦＢ２の両方へフィードバックされる。これによって、値Ｃ＋０が両方のフィードバック・レジスタＦＢ１及びＦＢ２に格納されることになる。この合計値Ｃ＋０は更に、出力レジスタＲＥＧ２へも供給され、クロック信号ＨＦＣＫ＿ＳＹＳの次のパルスが発生するタイミングで出力レジスタＲＥＧ２から出力される。これ以後は、クロック信号ＨＦＣＫ＿ＳＹＳのパルスが送出される度に、セレクタＳＥＬ１はレジスタＲ１の格納値（係数Ａ）を選択し、セレクタＳＥＬ２はフィードバック・レジスタＦＢ１の格納値を選択する。それによって、フィードバック・レジスタＦＢ１の格納値が、連続的にインクリメントされて、走査線ｖ＝０上の複数のピクセル位置ｈ＝０〜ｎの各々に対応した積算値Ｃ＋ｈＡを次々と表して行くことになる。走査線ｖ＝０の終端に至ったときに、このフィードバック・レジスタＦＢ１に格納されている積算値は、Ｃ＋ｎＡとなっている。この時点で、信号パルスＩＰ＿Ｈが送出されて、次の走査線の開始が表示される。このとき、セレクタＳＥＬ１は、レジスタＲ２に格納されているインクリメント値Ｂを選択し、セレクタＳＥＬ２は、フィードバック・レジスタＦＢ２の格納値（この時点では、値Ｃに等しい）を選択する。レジスタＲ２の格納値Ｂとフィードバック・レジスタＦＢ２の格納値Ｃとは、加算器１において加算されて、新たな合計値Ｂ＋Ｃが生成され、この合計値が２つのフィードバック・レジスタＦＢ１及びＦＢ２の両方へフィードバックされる。これによって、新たな走査線ｖ＝１上の、始端のピクセル位置ｈ＝０に対応したランプ関数信号の信号値として、Ｂ＋Ｃという値がフィードバック・レジスタＦＢ１とＦＢ２の両方に格納されることになる。これ以後は、走査線ｖ＝１の終端に至るまで、セレクタＳＥＬ２がフィードバック・レジスタＦＢ１を選択し続けるため、フィードバック・レジスタＦＢ１の格納値が、連続的に次々と積算されて、走査線ｖ＝１上の複数のピクセル位置ｈ＝０〜ｎの各々に対応した積算値Ｃ＋Ｂ＋ｈＡを次々と表して行くことになる。走査線ｖ＝１の終端に至ったときには、フィードバック・レジスタＦＢ１には、積算値Ｃ＋Ｂ＋ｎＡが格納されている。次の走査線ｖ＝２の始端において、再び、セレクタＳＥＬ１はレジスタＲ２に格納されている係数Ｂを選択し、セレクタＳＥＬ２はフィードバック・レジスタＦＢ２の格納値（この時点では、Ｃ＋Ｂになっている）を選択し、その格納値をインクリメントして、２つのフィードバック・レジスタＦＢ１及びＦＢ２の両方へフィードバックすることにより、それらフィードバック・レジスタＦＢ１及びＦＢ２の格納値をＣ＋２Ｂに更新する。これ以後は、フィードバック・レジスタＦＢ１の格納値は、走査線ｖ＝２に沿って、インクリメント値Ａずつ次々と積算されて行き、信号パルスＩＰ＿Ｈが次に送出されたときには、再びフィードバック・レジスタＦＢ２の格納値が係数Ｂでインクリメントされ、そのインクリメントによって得られた新たな値が、２つのフィードバック・レジスタＦＢ１とＦＢ２の両方に格納される。以上のプロセスが、連続して並んでいる複数本の走査線の各々に対して次々と反復して実行され、そのフレームが終了して次のフレームが開始することを表す次の信号パルスＩＰ＿Ｖが発生するまで続けられる。更に、そのようなプロセスの全体が、各フレームごとに反復して実行される。
【００３４】
以上の説明から明らかなように、ここでは、クロック信号ＨＦＣＫ＿ＳＹＳのパルスに同期して、各ピクセルごとに、そのピクセルに対応したランプ関数信号の信号値を算出することによって、ビルドアップ方式でランプ関数信号を発生させている。
【００３５】
以上の説明は、１つのフレームの全域が１つのランプ関数によって占められる場合のものである。しかしながら、常に１つのフレームの全域が１つのランプ関数によって占められるとは限らず、１つのランプ関数がフレームの一部領域だけを占める場合もあり、これについては後に、例えば図３３〜図３４を参照して説明する。
【００３６】
反転ランプ関数
以上に説明したランプ関数信号を発生させる方法は、その信号値Ｒを連続してインクリメントして行くことによって、即ち、係数Ａないし係数Ｂの値を次々と加算して行くことによって、信号を発生させるようにしたものであった。この方法とは逆の方法として、図５のランプ関数信号ジェネレータでは、ランプ関数信号の信号値Ｒを連続してデクリメントして行くことによって、反転ランプ関数を発生させるということも方法を採ることもできる。これは、正負逆転処理回路３を用いて行う。正負逆転処理回路３は、ＥＸＯＲ回路とレジスタＲＥＧ１とで構成されており、セレクタＳＥＬ１が、レジスタＲ１〜Ｒ３に格納されているインクリメント値のうちの１つを選択したならば、その選択されたインクリメント値の正負を逆転させるように働く。格納されているインクリメント値は、２の補数の形で表されている。２の補数の正負を逆転させるには、その数値を表している全てのビットを反転させて１を加えればよい。ＥＸＯＲ回路は、正負逆転処理制御ビットｎｅｇＣｔｒｌに応答して、選択されたインクリメント値の全てのビットを反転させる。正負逆転処理制御ビットｎｅｇＣｔｒｌは更に、レジスタＲＥＧ１にキャリー・ビットとして供給されており、それによって、レジスタＲＥＧ１の値に１が加算される。この方法を用いる場合には、図６のＡにランプ関数信号６０の１つの次元について示したように、先ず、上に説明した方法で正ランプ関数信号６０の信号値を発生させ、その信号値が所望の最大値に至ったならば、続いて図６のＢに示すように、そこから連続的にデクリメントして行き、このデクリメントは、正負を逆転させたインクリメント値を用いて行う。これ以外の点では、このランプ関数信号ジェネレータの動作は、上に説明した方法を採る場合と何ら変わるところはない。正負逆転処理制御ビットｎｅｇＣｔｒｌは、コントローラ２から供給される。係数Ａの値と係数Ｂの値のいずれか一方もしくは両方の正負を逆転させることによって、フレームの全域を占める反転ランプ関数を発生させることができる。
【００３７】
ランプ関数に対するリミット処理
オーバー・フロー及びアンダー・フローを防止するために、加算器１からフィードバック・レジスタＦＢ１及びＦＢ２までの経路中にリミッタ４を挿入してある。更に、このランプ関数信号ジェネレータの出力に、もう１つの別のリミッタ５を出力リミッタとして挿入してある。図７は、出力リミッタ５が出力をどのように制限するかを示した図であり、ランプ関数信号の信号値が正の限度値を超えたときには、図７のａに示したように、その値を正の限度値にすることもでき、或いは、図７のｂに示したように、その値を負の限度値にすることもできる。また、ランプ関数信号の信号値が負の最大値を超えたときには、図７のｃに示したように、その値を負の限度値にすることもでき、或いは、図７のｄに示したように、その値を正の限度値にすることもできる。リミッタ５は、コントローラ２によって制御されており、その制御によって、所望のリミット処理特性が選択される。
【００３８】
係数Ａ、Ｂ、及びＣの値を変化させることによる効果
インクリメント値Ａは、走査線方向におけるランプ関数の傾きを規定するものである。インクリメント値Ｂは、走査線方向に対して垂直なフレーム方向におけるランプ関数の傾きを規定するものである。ＡとＢの両方を個別の倍率で適当に変化させることによって、空間内でランプ関数を回転させるという効果を得ることができる。係数Ｃの値は、ライン方向及びフレーム方向に対して垂直な方向にランプ関数をオフセットさせる値である。このオフセット値Ｃを変化させることで、ランプ関数とクリップ平面との交線をシフトさせるという効果を得ることができる。即ち、オフセット値Ｃを変化させることによって、ランプ関数の位置をフレーム内で移動させることができる。
【００３９】
ソリッド関数信号ジェネレータ・システムの具体例
ランプ関数の結合
図８及び図９に示したのは、ソリッド関数信号ジェネレータ・システムの簡単なブロック図である。このソリッド関数信号ジェネレータ・システムは、複数のランプ関数信号ジェネレータ８０を含んでおり、それらランプ関数信号ジェネレータ８０の各々は、例えば図５〜図７を参照して先に説明したランプ関数信号ジェネレータと同様の構成のものである。図８及び図９のソリッド関数信号ジェネレータ・システムは、ランプ関数信号ジェネレータを２つしか含んでいない（更に、図８にはそれらのうちの１つしか図示していない）が、一般的に、ソリッド関数信号ジェネレータ・システムは更に多くのランプ関数信号ジェネレータを含む構成とすることができ、例えば８つのランプ関数信号ジェネレータを備えたものとしてもよい。コンバイナ８６は、ランプ関数どうしを結合するものである。コンバイナ８６において、どのような結合方式でランプ関数の結合がなされるかは、このコンバイナ８６へ供給されている制御信号によって決定される。
【００４０】
個々のランプ関数信号ジェネレータから送出されるランプ関数信号に対して、ブロック８１においてエッジ修飾処理を施すことができ、このエッジ修飾処理については、後に図１３〜図１７を参照して詳述する。ランプ関数信号に対しては更に、絶対値処理、正負逆転処理、オフセット処理、それにリミット処理を施すことができ、それら処理を施す処理部をブロック８２〜８５で示した。２つの絶対値ランプ関数を結合することによって「ボックス形ソリッド関数」を形成することができ、それについては、図１０、図１１、及び図１２を参照して説明する。ランプ関数の結合はコンバイナ８６において行われ、それについては後に図１０を参照して説明する。アジャスタ８９は、クリップ平面に対する相対的なソリッド関数のレベル及びスケールを調整するためのものである。ソリッド関数セレクタ８７は、コンバイナ８６から出力されるソリッド関数信号と、外部で生成されたソリッド関数信号との一方を選択するためのものである。
【００４１】
図８及び図９に示したソリッド関数信号ジェネレータ・システムは、説明のための具体例として提示したものである。図８及び図９のソリッド関数信号ジェネレータ・システムに利用されているランプ関数信号発生方法、エッジ修飾処理方法、及びソリッド関数修飾処理方法は、その他のソリッド関数ジェネレータ・システムにおいても利用可能なものであり、それについても後に説明する。
【００４２】
図８及び図９のソリッド関数信号ジェネレータ・システムは、コントローラ８０２によって制御されている。コントローラ８０２には、様々なワイプ・パターンを規定している夫々のアルゴリズムが格納されており、制御パネル８０３によってそれらアルゴリズムの選択がなされ、コントローラ８０２は、その選択されたアルゴリズムを実行する。
【００４３】
図１０のＡに示した単純ランプ関数は、そのダイナミック・レンジが、−Ｍから０を通って＋Ｍまでの範囲に規定されたランプ関数である。このランプ関数の信号値は、２の補数の形の数値（正負値）で表されている。絶対値関数による処理（８２）は、公知の方式に従って、このランプ関数の信号値のうち負数であるものを全て正数に変換し、それによって、図１０のＢに示したようなランプ関数を発生させるものである。図１０のＢのランプ関数は、その正負を逆転することもでき（８３）、それによって図１０のＣに示したような、負数で表されるランプ関数が得られる。絶対値ランプ関数の値に一定値を加算することによって、オフセット処理（上下移動処理）を施す（８４）ことができる。図１０のＤは、絶対値ランプ関数（図１０のＢ）の正負を逆転させたランプ関数（図１０のＣ）に更にオフセット処理を施したランプ関数を示したものである。同様にして、図１０Ｂのランプ関数にオフセット処理を施したランプ関数を生成することもできる。
【００４４】
一般的に、ランプ関数に対しては、絶対値処理、正負逆転処理、オフセット処理のうちの１つまたは幾つかの処理が施される。図１０のＥに示したのは、ソリッド関数の１つの具体例であり、これは「スクウェア形」ソリッド関数である。このスクウェア形ソリッド関数は、四角錐の形状であり、図１０のＤに示したランプ関数を２つ、互いに直交する方向にして組合せることによって形成したものである。
【００４５】
図１１は、コンバイナの好適な具体例を示した図である。２つのランプ関数信号Ａ及びＢの信号値（これら信号値には、処理回路８１〜８５によって処理が施されていることもある）が、第０入力〜第３入力の４つの入力を備えたセレクタ９６へ供給されている。第０入力へはランプ関数信号値Ａが入力しており、第１入力へはランプ関数信号値Ｂが入力している。第２入力へは、第１ランプ関数結合回路（９７、９８）から出力される２つのランプ関数信号値Ａ及びＢの第１結合が入力している。第３入力へは、第２ランプ関数結合回路９９から出力されるランプ関数信号値Ａ及びＢの第２結合が入力している。第０入力〜第３入力のうちの１つが、２ビットの選択信号ＳＥＬによって選択されて、セレクタ９６の出力として送出される。セレクタ９６の出力は更に別のセレクタ１００を介して、このコンバイナ９３の出力部に接続されている。セレクタ１００は、０選択信号に応答して、セレクタ９６の出力と「０」との一方を選択するものである。２ビットの選択信号ＳＥＬが「０」または「１」を表しているときには、夫々、ランプ関数信号値ＡまたはＢが、入力してきたそのままの形で、セレクタ９６を通過して出力される。従って、そのような場合には、このコンバイナ９３は、スイッチ要素ないし信号ルータとして機能することになる。
【００４６】
第１ランプ関数結合回路（９７、９８）は、加算器９７と、１／２回路９８とで構成されている。１／２回路９８は制御入力を有し、この制御入力へ１／２制御信号が入力している。１／２制御信号は、１／２回路９８を選択的に動作させる。従ってセレクタ９６の第２入力へは、１／２制御信号に応じて、（Ａ＋Ｂ）が入力する場合と、（Ａ＋Ｂ）／２が入力する場合とがある。
【００４７】
一方、第２ランプ関数結合回路９９は、非加算式ミキサ（Ｎｏｎ−Ａｄｄｉｔｉｖｅ  Ｍｉｘｅｒ：ＮＡＭ）で構成されており、図１２にこのＮＡＭの具体例を示した。図１２のＮＡＭは、第１セレクタＳＥＬ１、第２セレクタＳＥＬ２、第３セレクタＳＥＬ３、及び比較器１０４で構成されている。比較器１０４は、一方のランプ関数の現在信号値Ａと他方のランプ関数の現在信号値Ｂとを比較する。そして、Ａ＞Ｂであれば、比較器１０４は論理値「０」を出力し、そうでなければ論理値「１」を出力する。第１セレクタＳＥＬ１及び第２セレクタＳＥＬ２は、比較器１０４の出力に応じて、第０入力への入力値と第１入力への入力値とのいずれか一方を出力として送出する。第３セレクタＳＥＬ３は、信号ＰＯＳ／ＮＥＧの値に応じて、第１セレクタＳＥＬ１の出力と第２セレクタＳＥＬ２の出力とのいずれか一方を選択する。このＮＡＭの全体としての真理表は次のようになる。
【００４８】
ランプ関数信号値の比較結果 ＰＯＳ／ＮＥＧ ＮＡＭの出力
Ａ＞Ｂ                          ＰＯＳ                Ａ
Ｂ＞Ａ                          ＰＯＳ                Ｂ
Ａ＞Ｂ                          ＮＥＧ                Ｂ
Ｂ＞Ａ                          ＮＥＧ                Ａ
【００４９】
信号ＰＯＳ／ＮＥＧの値がＰＯＳを表示しているときには、このＮＡＭは、常に、即ち、どの走査線上のどのピクセル位置にある場合でも、信号値ＡとＢのうち大きい方の値を出力する。一方、信号ＰＯＳ／ＮＥＧの値がＮＥＧを表示しているときには、このＮＡＭは、信号値ＡとＢのうち小さい方の値を出力する。
【００５０】
以上を総合すると、コンバイナ９３は、５通りの出力のうちの１つを選択的に出力するものであり、それら５通りの出力とは、ランプ関数Ａの信号値、ランプ関数Ｂの信号値、それらランプ関数信号値の加算的結合、それらランプ関数信号値の非加算的混合、それに「０」である。
【００５１】
ボックス形ソリッド関数
「ボックス形ソリッド関数」は、よく知られたソリッド関数である。ボックス形ソリッド関数を生成するためには、図１０、図１１、及び図１２において、互いに方向が直交している２つのランプ関数に夫々に絶対値処理を施した上で、それらを負ＮＡＭ関数を用いて結合すればよい。また、正ＮＡＭ関数を用いれば、これとは別の形態のボックス形ソリッド関数を生成することができる。加算関数を用いれば、更に別の形態のソリッド関数を生成することができる。
【００５２】
エッジ修飾処理
図１６のＢに、エッジ修飾信号の１つの具体例を示した。このエッジ修飾信号は、走査線方向（走査線の延在方向）に正弦波状に変化しており、フレームの全ての走査線においてその変化の仕方が揃っている。図１６のＣに示したエッジ修飾信号は、フレーム方向（走査線の延在方向に直交する方向）に正弦波状に変化しており、走査線方向にはその変化の仕方が揃っている。図１７のＤに示したエッジ修飾信号は、走査線方向に正弦波状に変化していると共に、隣り合った走査線どうしで相対的に位相がシフトしている。そのため、正弦波の集合によって波面ＷＦが形成されており、この波面の方向は、走査線方向に対して角度θで傾いている。図１７のＥは、ソリッド関数の１つの具体例を示したものである。この具体例のソリッド関数は、ただ１つの単純ランプ関数から成り、フレームの全域に亘って存在する図１６のＣに示した形態の正弦波状のエッジ修飾信号と結合することで、その単純ランプ関数の全体が修飾されており、その結果、クリップ平面ＣＰとの交線に、エッジ修飾効果が発生している。
【００５３】
このエッジ修飾機能は、図１３に示したランプ関数信号ジェネレータによって実現されており、即ち、図１３のランプ関数信号ジェネレータからランプ関数信号出力を送出させ、その出力に対して、図１４の回路によって変換を施すことにより、所望のエッジ修飾波形を得るようにしている。説明を容易にするために、ここでは先ず、図１３及び図１４を参照して、図１６のＡに示した形態の正弦波状のエッジ修飾信号を生成する方法について説明する。
【００５４】
図１３に示したランプ関数信号ジェネレータは、出力レジスタＲＥＧを含んでおり、この出力レジスタＲＥＧは、クロック信号ＨＦＣＫ＿ＳＹＳによってピクセル・レートでクロックされている。レジスタＲＥＧの出力は、加算器１２１の一方の入力へ供給されている。加算器１２１の他方の入力には、セレクタＳＥＬ１を介して、係数Ｌの値を格納している係数レジスタ１２２と、係数Ｍの値を格納している係数レジスタ１２３とが結合されている。加算器１２１の出力は、セレクタＳＥＬ３を介してレジスタＲＥＧに結合されている。ここで、２つのセレクタＳＥＬ１及びＳＥＬ３の機能を無視して考えれば、レジスタＲＥＧと加算器１２１とで、選択された係数をレジスタＲＥＧの内容に連続的に加算して行く積算器が形成されているといえる。レジスタＲＥＧは、その積算動作がリセットされることなく循環するようにしてあり、即ち、このレジスタＲＥＧの格納値が増大して、このレジスタの最大値である全てのビットが「１」の状態へ至ったならば、このレジスタＲＥＧの最小値である全てのビットが「０」の状態を通過してそこから更に積算が続行されるようにしてある。そのためレジスタＲＥＧは、数値を次々と出力する動作を反復して実行する。
【００５５】
セレクタＳＥＬ３は、出力レジスタＲＥＧに、セレクタＳＥＬ２が選択した値をプリロードするために備えられており、セレクタＳＥＬ２は、レジスタ１２４に格納されている値Ｎと、フィードバック・レジスタ１２５に格納されている値との、いずれか一方を選択する。出力レジスタＲＥＧの格納値は、計数Ｌと係数Ｍのうち、セレクタＳＥＬ１が選択した方の係数の値をもって、インクリメントされる。
【００５６】
以上に説明したランプ関数信号ジェネレータの動作は以下に説明するとおりであり、その動作を行うことにより、次の式に従ってランプ関数信号の信号値を発生させる。
Ｒ＝Ｌｈ＋Ｍｖ＋Ｎ
この式において、ｈは走査線上のピクセル位置であり、ｖは走査線番号である。これらｈ及びｖは順番を表す数であり、ｈ＝０〜ｎ、ｖ＝０〜ｍである。
【００５７】
走査線ｖ＝０上のピクセル位置ｈ＝０では、セレクタＳＥＬ２及びＳＥＬ３によって、係数レジスタ１２４に格納されている係数Ｎの値が選択されて、それが出力レジスタＲＥＧにプリロードされる。そのため、出力レジスタＲＥＧは係数Ｎの値を出力し、この出力された値は加算器１２１へフィードバックされると共に、このときイネーブルされているフィードバック・レジスタ１２５へもフィードバックされて、このフィードバック・レジスタ１２５に格納される。ピクセル位置ｈ＝１では、セレクタＳＥＬ１が、係数レジスタ１２２に格納されている係数Ｌの値を選択し、出力レジスタＲＥＧに格納されていた値Ｎが、この値Ｌでインクリメントされ、それによって出力レジスタＲＥＧの格納値はＮ＋Ｌになる。この値Ｎ＋Ｌは、加算器１２１へはフィードバックされるが、フィードバック・レジスタ１２５にはフィードバックされず、それは、このときフィードバック・レジスタ１２５はディスエーブルされているからである。これ以後は、同様にして、出力レジスタＲＥＧと加算器１２１とによって積算が反復され、従ってその積算値はＮ＋ｈＬで表される。この積算値Ｎ＋ｈＬが出力レジスタＲＥＧの最大値に達したならば、出力レジスタＲＥＧがロール・オーバーするため、その格納値は「０」を通過して、そこから再び最大値へ向かってｈＬが積算されて行く。この積算は、走査線ｖ＝０の終端に至るまで続けられる。また、このｈＬを積算する動作の反復周期は係数Ｌの値によって決まる。積算の開始時の位相は係数Ｎの値によって決まる。
【００５８】
走査線ｖ＝０の終端に至ったならば、再びセレクタＳＥＬ２及びＳＥＬ３が係数Ｎを選択し、その係数Ｎの値が出力レジスタＲＥＧにプリロードされ、更にそれが加算器１２１へフィードバックされる。また、必要に応じて、セレクタＳＥＬ１が係数Ｍを選択し、その係数Ｍの値が加算器１２１において係数Ｎの値に加算されたものが出力レジスタＲＥＧに格納され、それが出力されて加算器１２１へフィードバックされると共に、このときイネーブルされているフィードバック・レジスタ１２５へもフィードバックされ、それによってフィードバック・レジスタ１２５に値Ｎ＋Ｍが格納される。これ以後、セレクタＳＥＬ１は、再び係数Ｌを選択するようになり、積算が反復され、その積算値はＮ＋Ｍ＋ｈＬで表される。走査線ｖ＝１上で積算を行っているうちに、この積算値Ｎ＋Ｍ＋ｈＬが出力レジスタＲＥＧの最大値に達したならば、出力レジスタＲＥＧがロール・オーバーし、その格納値が「０」を通過して、再び最大値へ向かってｈＬの積算が続行され、これは先に説明した走査線ｖ＝０上における積算と同様にして行われる。走査線ｖ＝１の終端に至ったならば、セレクタＳＥＬ２が、このときイネーブルされているフィードバック・レジスタ１２５から値Ｎ＋Ｍを選択し、この値Ｎ＋ＭがセレクタＳＥＬ３によって出力レジスタＲＥＧにプリロードされる。この値Ｎ＋Ｍは、レジスタＲＥＧから出力されて、加算器１２１へフィードバックされる。続いて、セレクタＳＥＬ１が、レジスタ１２３に格納されている計数Ｍの値を選択するため、加算器１２１から値Ｎ＋２Ｍが出力される。この値Ｎ＋２Ｍが出力レジスタＲＥＧに格納され、そしてそこから出力されて、加算器１２１へフィードバックされると共に、このときイネーブルされているフィードバック・レジスタ１２５へもフィードバックされ、このフィードバック・レジスタ１２５に格納される。これ以後、先に説明した走査線ｖ＝０や、走査線ｖ＝１の場合と同様に、積算が反復され、その積算値はＮ＋２Ｍ＋ｈＬで表される。以上のプロセスが、連続して並んでいる走査線の各々において反復され、その際に、次の走査線へ移行するたびに、出力レジスタＲＥＧにプリロードされる値が係数Ｍの値ずつインクリメントされる。この係数Ｍによるインクリメントが行われることによって、各走査線ごとに、その積算の位相が係数Ｍの値に応じた大きさずつシフトするという効果が発生する。
【００５９】
こうして出力レジスタＲＥＧから出力されるランプ関数信号の信号値Ｒに基づいて、図１４のＲＯＭ１３０に格納してあるルックアップ・テーブルにアドレスし、それによって、正弦波状の修飾信号を発生させている。ＲＯＭ１３０には、正弦波の１周期分の値を全て格納しておくようにしてもよいが、図示例では、正弦波のうちの１つの四半象限に相当する部分の値だけを格納することによって、格納データ量を低減させている。また図示例では、ランプ関数信号の信号値Ｒを１１ビットの２の補数の形で表しており、その１１ビットのうちの下位９ビットを、ＲＯＭ１３０にアドレスするためのビットに割り当てている。１１ビットのうちの上位２ビットは、どの四半象限の値を発生させるかを指定するために使用している。図１６のＡに、正弦関数の４つの四半象限を、象限ａ〜象限ｄで表した。上位２ビットが「００」であれば、象限ａにおける値が選択されるようにしている。上位２ビットが「０１」であれば、象限ｂにおける値が発生されるようにしてあり、この場合には、下位９ビットをアドレス反転処理部１３３で反転させたものをアドレスとして使用する。また、上位２ビットが「１０」であれば、象限ｃにおける値が発生されるようにしてあり、この場合には、正負逆転処理部１３４において、正弦関数データの値に正負逆転処理を施すようにしている。また、上位２ビットが「１１」であれば、象限ｄにおける値が発生されるようにしてあり、この場合には、アドレスの反転と正弦関数データの正負逆転との両方を行うようにしている。
【００６０】
再び説明を図１４に戻して、ランプ関数信号の１１ビットの信号値Ｒのうちの上位２ビットは、どの四半象限の部分の値を発生させるかを指定するために、ロジック１３２へ供給されている。この２ビットを受取ったロジック１３２は、正負逆転イネーブル信号Ｓと、１ビットのアドレス反転イネーブル信号Ｉと、２ビットの切換制御信号とを送出する。２ビットの切換制御信号は、どの四半象限が指定されたかに応じてセレクタ１３６を制御するための信号である。ランプ関数信号の信号値Ｒのうちの下位９ビットは、アドレス反転処理部１３３を介してＲＯＭ１３０へ供給されている。アドレス反転処理部１３３は、ロジック１３２から受取る反転イネーブル信号Ｉに従って、そのアドレスを反転した上で、或いは反転しないままで、ＲＯＭ１３０へ供給する。アドレス反転処理部１３３から供給されるアドレスによって、ＲＯＭ１３０がアドレスされ、その四半象限の所望の位置に相当する値を表すデータが出力される。ＲＯＭ１３０から出力されたデータは正負逆転処理部１３４へ供給され、この正負逆転処理部１３４は、ロジック１３２から受取る正負逆転イネーブル信号Ｓに従って、そのデータの正負を逆転させるか、或いは逆転しないままで通過させる。正負逆転処理部１３４の後段にはゲイン調整部１３５が接続されており、このゲイン調整部１３５は修飾信号の振幅を制御する。続いてその修飾信号が、ソリッド関数信号の信号値に加算され、これは例えば、図８のランプ関数ジェネレータ８０で生成されたソリッド関数信号に、加算器８１において修飾信号を加算することによって行われる。
【００６１】
図１６のＢは、正弦波状の修飾信号の１つの具体例を示したものである。この具体例は、Ｎ＝０、Ｍ＝０の場合に発生される修飾信号である。この修飾信号の周波数は係数Ｌの値によって決まる。正弦波状の変化が走査線方向に反復して発生しており、各走査線の始点に対するその走査線上の正弦波状変化の位相シフト量は係数Ｎの値によって決まり、先行走査線上の正弦波状変化に対する後続走査線上の正弦波変化の位相シフト量は係数Ｍの値によって決まる。図１６のＣに示したのは、Ｎ＝０、Ｌ＝０の場合の具体例であり、修飾信号が正弦波状に変化している方向はフレーム方向である。図１７のＤに示したのは、Ｎ＝０であって、Ｌ及びＭの値は０でない場合の具体例であり、修飾信号が正弦波状に変化している方向は、Ｌ及びＭの値によって決まる斜めの方向となっている。この具体例では、Ｍの値が０でないため、先行走査線と後続走査線との間の位相シフト量が累積しているのである。
【００６２】
図１６のＣの修飾信号を、ソリッド関数信号に加算することによって、例えば図１７のＥに示したような信号が得られ、この図に示した具体例では、ソリッド関数はただ１つの単純ランプ関数で構成されている。こうして修飾処理が施された単純ランプ関数とクリップ平面とが交線ＣＬにおいて交わっており、この交線ＣＬは、修飾信号のクリップ平面上への投影となっている。修飾処理は、１つのエッジにだけ施されるものである。１つのソリッド関数の複数のエッジに対して修飾処理を施したい場合には、そのソリッド関数を構成している複数のランプ関数の各々に個別にエッジ修飾処理を施した後に、それらランプ関数を結合してソリッド関数を構成する必要がある。
【００６３】
図１４及び図１５に示したように、正弦関数以外の様々な形状のエッジ修飾パターンを発生させることも可能である。図１５のｅ〜ｈは、三角波状の修飾信号を発生させる場合を示したものであり、この修飾信号は、ランプ関数信号の信号値Ｒに、反転処理、及び／または、正負逆転処理を施すだけで発生させることができ、その他の処理は一切不要である。また、図１５のｉ〜ｌは、矩形波状の修飾信号を発生させる場合を示したものであり、この修飾信号は、ランプ関数信号の信号値Ｒの上位２ビットに対して、選択的に正負逆転処理、及び／または、反転処理を施すことによって発生させることができる。
【００６４】
ここで再び図１４を参照して、正弦波状ではないそれら修飾パターンが、ロジック１３２の制御によって、どのように発生するかについて説明する。ロジック１３２は、象限選択信号をデコードして、１０進数の「０」〜「１５」に相当する数値を表す４ビットの２進数を生成し、この２進数によって、図１５に示したような、正負逆転処理と反転処理の組合せ方と、パターン種別とを選択する。この４ビットの２進数のうちのパターン選択信号の部分が、セレクタ１３６へ供給される。セレクタ１３６へは、ＲＯＭ１３０から正弦波データが入力している他に、ランプ関数信号の信号値がそのままの形でこのセレクタ１３６の入力１３７へ入力しており、更に、ランプ関数信号の信号値の上位２ビットに基づいてロジック１３８が生成する矩形波パターンも入力している。これに加えて、図１４に示したエッジ修飾部の具体例では、セレクタ１３６の入力１３９へ疑似乱数も入力している。セレクタ１３６は、パターン選択信号に従って、それら入力のうちの１つを選択する。セレクタ１３６を制御して、その入力１３９を選択させた場合には、エッジがランダムな「ノイズ」によって修飾されるという効果が得られる。ロジック１３２は、４×４ビットのルックアップ・テーブルとして機能する１６ビットのレジスタで構成することができる。そのレジスタに格納する１６ビットの入力値を書換えることによって、様々なエッジ修飾パターンを設定することができる。
【００６５】
ソリッド関数修飾処理
図１８に、ソリッド関数修飾処理の具体例を、簡単な図で示した。図示の具体例は、ボックス形ソリッド関数１６１（これは、既述の如く、絶対値処理を施した２つのランプ関数を結合して構成したものである）に、互いに直交する２つの正弦波形１６２、１６３を加算的結合して形成した複合波形を結合したものである。このようにソリッド関数修飾処理を施したソリッド関数では、クリップ平面との交線が、図中に１６４で示したような概略形状を呈するものとなる。
【００６６】
ソリッド関数修飾処理がエッジ修飾処理と異なる点は、ソリッド関数修飾処理は、複数のランプ関数を結合してソリッド関数を構成した後に実行する処理であること、及び／または、２つの修飾波形を結合して形成した複合修飾波形を用いて実行する処理であることにある。
【００６７】
従ってソリッド関数修飾処理は、（１つのエッジだけではなく）ソリッド関数の全体に対して、修飾波形を用いて修飾を施すものであり、ここで使用する修飾波形は、２種類の波形を結合して形成したものとすることが特に好ましい。
【００６８】
図１９の具体例では、ソリッド関数修飾信号を生成するために、図１４及び図１５を参照して説明した波形ジェネレータを２つ（参照符号１７０及び１７１で示した）使用し、それら波形ジェネレータにおいて夫々に生成した２つの波形を結合している。それら２つの波形の結合は、図１１及び図１２を参照して説明したコンバイナ（参照符号１７２で示した）において行われる。尚、結合する２つの波形は、図１４の波形ジェネレータで生成可能な様々な種類の波形のうちの任意のものとすることができる。例えば、正弦波と矩形波とを結合することも可能である。また、同じ種類の波形であっても、係数Ｌ、Ｍ、及びＮの値を異ならせることによって、その形状を異なったものにすることができる。更に、コンバイナ１７２は、加算的結合を行う機能と、非加算的結合を行う機能との両方を備えている。そのため、非常に多くの、異なった形状の修飾信号を生成することが可能となっている。
【００６９】
尚、図１９の具体例では、２つの波形を結合するようにしているが、３つ以上の波形を結合するようにしてもよい。また、ソリッド関数修飾処理部を、エッジ修飾処理部と共に装備するようにしてもよく、或いは、エッジ修飾処理部の代わりにソリッド関数修飾処理部を装備するようにしてもよい。また、ソリッド関数修飾処理は、エッジ修飾処理を施していないソリッド関数に施してもよく、エッジ修飾処理を施したソリッド関数に施してもよい。
【００７０】
ペアリング
図２０のＡ〜Ｃに具体例として示した２つのソリッド関数は、その各々が、図２０のＡに示したように、ただ１つの単純ランプ関数から成るものであり、その単純ランプ関数に「縞模様」が形成されている。図中において、ハッチングを施して示した縞部分は、一方のビデオ・ソースＹの画像が表示される部分を表しており、ハッチングを施していない縞と縞の間の空白部分は、他方のビデオ・ソースＸの画像が表示される部分を表している。そして、これら２つのソリッド関数によって、ビデオ・ソースＸの画像がビデオ・ソースＹの画像に置き換えられて行く。図２０のＢに示したように、一方のソリッド関数の縞部分と他方のソリッド関数の縞部分とは相補的な位置関係にある。このような２つの縞模様形ソリッド関数を「ペア・ソリッド関数」という。これら２つのソリッド関数は、図２０のＣに示したように融合させて行くことができ、即ち、クリップ平面の高さを下げるにつれて、相補的な位置関係にある双方の縞部分どうしが互いに融合して行く。尚、図２０に示した、各々がただ１つの単純ランプ関数から成るソリッド関数は、あくまでも具体例として提示したものであり、複数の縞模様形ランプ関数を結合して、より複雑なソリッド関数を構成することも可能である。
【００７１】
図２０Ａに示したように、先ず一対のランプ関数を生成する。この図２０のＡに示した具体例では、各々のランプ関数が、他方のランプ関数を反転させたものに相当しているが、ただし一般的には、２つのランプ関数の間に特定の関係が存在する必要はない。続いて、図２０のＢの左側に示した縞部分選択波形に基づいて、一方のランプ関数において複数本の縞部分を選択すると共に、他方のランプ関数においてそれら縞部分の中間に相当する部分に複数本の縞部分を選択する。図２０の具体例では、縞模様の延在方向を、画面の水平方向に取っている。ただし縞模様の延在方向は、図２１に示したように、画面の垂直方向と水平方向のどちらに取ることも可能である。
【００７２】
図２２は、ペア・ランプ関数を発生させる回路のブロック図を示したものである。この回路は、第１ランプ関数発生ユニットと第２ランプ関数発生ユニットとを含んでいる。第１ランプ関数発生ユニットは、第１ランプ関数信号ジェネレータ２０１と第２ランプ関数信号ジェネレータ２０２とを含んでいる。同様に、第２ランプ関数発生ユニットも、第１ランプ関数信号ジェネレータ２０３と第２ランプ関数信号ジェネレータ２０４とを含んでいる。ランプ関数信号ジェネレータ２０１〜２０４の各々は、例えば、図５を参照して説明したランプ関数信号ジェネレータと同様のものである。また、第１ランプ関数発生ユニットと第２ランプ関数発生ユニットとは同一構成であるため、ここでは、第１ランプ関数発生ユニットについてだけ詳細に説明する。第１ランプ関数発生ユニットは、セレクタ２０５を含んでおり、このセレクタ２０５は、縞部分選択波形によって制御され、第１ランプ関数信号ジェネレータ２０１の出力と第２ランプ関数信号ジェネレータ２０２の出力とを交互に選択する。これらランプ関数信号ジェネレータ２０１及び２０２が夫々に発生させる２つのランプ関数は、例えば、図２０のＡに示したように、一方のランプ関数が他方のランプ関数の反転に相当するものであることもあるが、一般的には、これらランプ関数信号ジェネレータが夫々に発生させる２つのランプ関数は、互いに独立したものであって構わない。しかしながら、それら２つのランプ関数の間には何らかの関係が存在するのが普通であり、上の例のように、一方のランプ関数が他方のランプ関数の反転即ち鏡映像であるようにすることが多い。ただし一般的には、それらランプ関数どうしの間に特定の関係が存在する必要はない。ランプ関数信号ジェネレータ２０１及び２０２において発生されるそれらランプ関数は、係数Ａ、Ｂ、及びＣの値によって規定される関数であり、それら係数の値は、コントローラ２０７によって制御されている状態機械／デコーダ２０６から、ランプ関数ジェネレータ２０１及び２０２へ供給されるようにしてある。尚、発生したランプ関数信号に、リミッタ２０８によってリミット処理を施すようにしてもよい。
【００７３】
縞部分選択信号は、コントローラ２０７の一部である図２３に示した信号発生部２１０から送出される。信号発生部２１０は矩形波を発生させるものであり、この矩形波によって縞部分の幅が決定され、また、フレーム内における個々の縞部分の位置が決定される。この矩形波を利用して、画面の水平方向の縞模様（横縞）の縞部分を選択することもでき、また、垂直方向の縞模様（縦縞）の縞部分を選択することもできるが、ここでは説明の理解を容易にするために、先ず、垂直方向の縞模様の縞部分を選択する場合について説明する。この場合には、矩形波を発生させるために、カウンタ２１１に、ピクセル・レートで送出されているクロック信号ＨＦＣＫ＿ＳＹＳのパルスをカウントさせる。このカウンタ２１１の出力カウント値は、比較器２１２において、コントローラ２０７によって設定された基準幅を表すカウント値と比較されている。それらカウント値が等しくなったならば、カウンタ２１１がリセットされて、そのカウント値が「０」に戻される。このカウンタ２１１のリセットが行われるたびに、双安定フリップフロップ（トグル・レジスタ）２１３の状態が「０」と「１」の間で入れ換わるようにしてあり、これによって上述の矩形波が発生される。更に、カウンタ２１１にロード・イネーブル・パルスｌｏａｄＥｎを供給することによって、このカウンタ２１１にカウント値ＰＡＩＲ＿ＰＨＡＳＥがプリロードされるようにしてあり、このプリロードによって、カウンタ２１１のカウント値の、初期位相を設定することができる。従って、そのプリロードによって、最初の縞部分の前縁の、各走査線の始点に対する相対的な位置を設定することができる。また、ロード・イネーブル・パルスｌｏａｄＥｎが送出されたならば双安定フリップフロップ２１３の状態がリセットされるようにしてあり、それによって、各走査線の始点において矩形波の正負方向が正しく設定されるようにしてある。また、ＥＸＯＲゲート２１４において、矩形波とＰＡＩＲ＿ＳＥＮＳＥ信号とを結合することにより、矩形波の正負方向を逆転できるようにしてある。
【００７４】
一方、画面の水平方向に延在する縞模様を作り出す場合には、カウンタ２１１に、走査線の始点を表示する信号パルスＩＰ＿Ｈをカウントさせるようにする。その他の点では、上で説明した画面の垂直方向に延在する縞模様を作り出す場合と同様の動作が行われる。尚、縞部分の始点の位相の設定は、カウント値ＰＡＩＲ＿ＰＨＡＳＥのプリロードによって行う。このプリロードを利用することで、例えば６２５／５０と、５２５／６０のように、異なった映像信号方式の間で、縞部分の中心を揃えることができる。
【００７５】
ここでは、複数のランプ関数発生ユニットを装備して、それらの全てに同一の縞部選択信号を供給しており、そして、それらランプ関数発生ユニットの夫々が発生させる第１ランプ関数どうしを結合することで第１複合ソリッド関数を構成し、また、それらランプ関数発生ユニットの夫々が発生させる第２ランプ関数どうしを結合することで第２複合ソリッド関数を構成するようにしている。ランプ関数どうしを結合するには、例えば、図１０、図１１、及び図１２に示したランプ関数コンバイナ２０９と同様の構成のランプ関数コンバイナを使用すればよい。こうすることによって、１つのランプ関数コンバイナが第１ランプ関数どうしを結合して構成したソリッド関数と、別のランプ関数コンバイナが第２ランプ関数どうしを結合して構成したソリッド関数とが、ペア・ソリッド関数になるようにしているのである。
【００７６】
マスク・ジェネレータ
図２４は、本発明の実施の形態にかかるマスキング処理を説明するための図である。フレーム内の任意の領域Ｘにマスキング処理を施すことが望まれることがあり、図２４に示した実施の形態においては、マスク領域Ｘはその周囲を領域Ｙによって囲まれている。非加算的ミキシング処理（ＮＡＭ）によって複数のランプ関数を結合することによって、このような任意の形状のマスク領域Ｘを画成することができる。尚、マスク領域Ｘの境界を成している直線の交点の内角は、いずれも１８０°以下である。
【００７７】
マスク領域Ｘとして画成するのは、例えば、最終的に画面に表示される画像からは消去しておきたいものが映っている領域などである。具体例としては、例えば、マイクロホン等の制作機器の一部が映ってしまった領域を、マスク領域Ｘとして画成したりする。ビデオ信号のうちのその領域Ｘの部分を、別のビデオ・ソースからのビデオ信号に置き換えることで、映し出したくないものを消去することができる。更に、このような任意形状の領域に対するマスキング処理を利用して、他の方法では発生させることのできないワイプ・パターンを発生させることも可能である。
【００７８】
図２５は、マスク・ジェネレータを示した図であり、このマスク・ジェネレータは、複数のランプ関数信号ジェネレータ３４１〜３４ｎを含んでおり、それらは１つのランプ関数コンバイナ３４２に接続されている。この具体例ではランプ関数信号ジェネレータの個数は８個であるが、これより少なくすることもでき、多くすることもできる。それらランプ関数信号ジェネレータは、図５を参照して説明したランプ関数信号ジェネレータや、後に図４５に示して説明するランプ関数信号ジェネレータ同様の構成のものである。複数のランプ関数信号ジェネレータ３４１〜３４ｎは、コントローラ３４３によって制御されており、夫々にランプ関数を発生させ、それら複数のランプ関数を利用してマスク領域Ｘが画成される。図２６に、ランプ関数コンバイナ３４２を更に詳細に示した。このランプ関数コンバイナ３４２も、コントローラ３４３によって制御されている。ランプ関数コンバイナ３４２は、複数の結合段ＣＳＢ１〜ＣＳＢ７を含んでいる。各々の結合段は、図１１及び図１２を参照して説明した結合段と同様の構成のものである。図１１において、セレクタ９６へは、２つのランプ関数の信号値Ａ及びＢを非加算的ミキサ（ＮＡＭ）９９によって結合した信号、それら信号値Ａ及びＢを加算器９７で加算的結合した信号、単に一方のランプ関数の信号値Ａから成る信号、それに、単に他方のランプ関数の信号値Ｂから成る信号が入力している。セレクタ９６は、それら４つの入力信号のうちの１つの選択し、選択された信号は入力してきたままの形でセレクタ９６から出力される。このセレクタ９６の制御によって、複数の結合段ＣＳＢの各々へ供給される２つずつのランプ関数信号を選択することができ、それらランプ関数信号を所望の結合方式で結合することができる。このようにして、ランプ関数コンバイナ３４２において選択された複数のランプ関数に対して非加算的ミキシング処理が施されて、所望のマスク領域Ｘが画成される。
【００７９】
先に説明したように、ランプ関数は次の式で表される。
Ｒ＝Ａｈ＋Ｂｖ＋Ｃ
そして、この式の係数Ａ、Ｂ、及びＣの値によって、ランプ関数の傾きの大きさと、傾斜方向と、位置とが規定される。
【００８０】
コントローラ３４３は、ディスプレイ・デバイス３４３１と、コンピュータ等から成るプロセッサ３４３２と、入力デバイス３４３３とを含んでいる。この具体例では、入力デバイス３４３３は、マウス、トラック・ボール、ないしはタブレット等のポインティング・デバイスで構成されているが、ポインティング・デバイスに加えて更にキーボードを装備してもよく、或いは、ポインティング・デバイスの代わりにキーボードを装備して入力デバイスとしてもよい。
【００８１】
コントローラ３４３には、幾種類かの正多角形の領域を画成するための設定が予め用意されており、ランプ関数信号ジェネレータを８個装備している場合であれば、正三角形から正八角形までの正多角形の領域を画成するための設定が用意されている。より一般的に、装備するランプ関数信号ジェネレータの個数をｎ個とする場合には、コントローラ３４３には、正三角形から正ｎ角形までの正多角形の領域を規定するための設定を用意しておくようにすればよい。オペレータは入力デバイス３４２２を操作して多角形の角数を選択することで、予め用意されている正多角形のうちから所望の１つを選択する。
【００８２】
更に、その正多角形の角の位置を個別に設定できるようにしてある。この具体例では、オペレータはポインティング・デバイスを操作して、その多角形の角を選択して所望の位置へドラッグする。オペレータは、移動させたい全ての角をこの操作によって夫々の所望の位置へ移動させることによって、マスク領域Ｘの形状を所望の形状にすることができる。このような操作は、グラフィックス・プログラムの分野では周知のものである。
【００８３】
これを実現するためには、例えば次のようにすればよい。先ず、複数のランプ関数信号ジェネレータ３４１〜３４ｎに、傾きの大きさが互いに同一のランプ関数を発生させるようにし、また、クリップ平面のレベル（高さ）を所定の高さに固定する。そして、プロセッサ３４３２に、所望のマスク領域Ｘを画成している多角形の角の座標に基づいて、各々のランプ関数の係数Ａ、Ｂ、及びＣの値を算出させることによって、対応する座標位置においてクリップ平面と交わるようなランプ関数を発生させるようにする。
【００８４】
所望のマスク領域Ｘを画成するために、７個以下のランプ関数しか使用しない場合には、プロセッサ３４３２が、制御信号ＳＥＬ２によってランプ関数コンバイナ３４２を制御して、そのマスク領域Ｘを画成するために使用するランプ関数を選択する。このときどのランプ関数を選択するかは、予め用意する正多角形の各々について予め定めておけばよい。
【００８５】
更に、発生される各々のランプ関数に対して、夫々のエッジ修飾処理部３４４においてエッジ修飾処理を施すようにしてもよく、それらエッジ修飾処理部３４４は、図１３〜図１７を参照して説明したエッジ修飾処理部と同様の構成のものである。
【００８６】
また、以上のようにしてランプ関数コンバイナ３４２から送出されるソリッド関数に対して、ソリッド関数修飾処理部３４５においてソリッド関数修飾処理を施すようにしてもよく、このソリッド関数修飾処理部は、図１８及び図１９を参照して説明したソリッド関数修飾処理部と同様の構成のものである。
【００８７】
クロック・ワイプ
図２７に示したような、回転するワイプ・パターンを発生させることが望まれることがあり、このようなワイプ・パターンは、時計のように回転することから「クロック・ワイプ」と呼ばれている。クロック・ワイプのための様々なパターンを発生させることができ、それらパターンのうちの幾つかについて、以下に説明する。説明するパターンはいずれも、傾きの大きさが互いに等しい２個または３個以上のランプ関数を使用するものである。また、それらランプ関数が交わるクリップ平面のレベルは、一定の高さに固定しておくようにしている。
【００８８】
説明の理解を容易にするために、先ず最初に、１個の固定ランプ関数Ａと１個の回転ランプ関数Ｂとを使用した、単純クロック・ワイプについて説明する。図２７において、傾きの大きさは互いに同一であるが、傾斜方向が互いに逆向きの２個のランプ関数Ａ及びＢを発生させる。そして、一方のランプ関数Ａは固定しておき、他方のランプ関数Ｂを回転させる。これによって、図２７に黒色で示したビデオ・ソースＸの画像を表示しているフレームが、白色の扇形部分で示したビデオ・ソースＹの画像部分によって次第に置き換えられて行くという効果が発生し、このとき、扇形部分の前縁Ｌが回転するにつれて、この扇形部分の中心角が連続的に増大して行く。この効果を発生させるには、ランプ関数Ａ及びＢの信号値（それら信号値もＡ及びＢで表す）に対して、非加算的ミキシング処理を施すようにすればよく、これについて、図２７及び図２８のＡ〜Ｄを参照して更に詳細に説明する。既述の如く、ＮＡＭは次の真理表に従うものである。
【００８９】
ランプ関数信号値の比較結果 ＰＯＳ／ＮＥＧ ＮＡＭの出力
Ａ＞Ｂ                          ＰＯＳ                Ａ
Ｂ＞Ａ                          ＰＯＳ                Ｂ
Ａ＞Ｂ                          ＮＥＧ                Ｂ
Ｂ＞Ａ                          ＮＥＧ                Ａ
【００９０】
信号ＰＯＳ／ＮＥＧの値がＰＯＳを表示しているときには、ＮＡＭは、常に、即ち、どの走査線上のどのピクセル位置にある場合でも、信号値ＡとＢのうち大きい方の値を出力する。一方、信号ＰＯＳ／ＮＥＧの値がＮＥＧを表示しているときには、ＮＡＭは、信号値ＡとＢのうち小さい方の値を出力する。
【００９１】
図２８のＡに示した２つのランプ関数Ａ及びＢは、傾斜方向が互いに逆向きのランプ関数である。図示のランプ関数Ａ及びＢは、一定の高さＣＬに固定したクリップ平面において互いに交叉している。それらランプ関数Ａ及びＢを、非加算的ミキシング処理により結合することで、１つのソリッド関数を発生させることができる。このソリッド関数が、クリップ平面の高さＣＬより上方にある領域では、ビデオＹを選択するようにし、一方、クリップ平面の高さＣＬより下方にある領域では、ビデオＸを選択するようにする。図２８のＢは、１つのフレームを示した図であり、この図２８のＢに示した状態は、上述の２つのランプ関数Ａ及びＢの傾斜方向がフレームの上下辺に平行な方向となっているときに、それらランプ関数Ａ及びＢを、ＮＡＭによって負結合（ＮＥＧ結合）した場合のものである。この場合、負結合によって発生させたソリッド関数は、ランプ関数Ａ及びＢの、夫々の、クリップ平面の高さＣＬより下方にある部分が結合されて構成されたものとなっており、その結果として、フレームの全域がビデオＸの画像で占められている。図２８のＤは、２つのランプ関数Ａ及びＢを正結合（ＰＯＳ結合）した場合を示しており、この場合には、それらランプ関数Ａ及びＢの、夫々の、クリップ平面の高さＣＬより上方にある部分が選択されるため、フレームの全域がビデオ・ソースＹの画像で占められるという結果となっている。ここで、最初の状態が、図２８のＢに示した状態であるものとし、そこからランプ関数Ｂを時計回りに回転させて行き、その際に、発生する画像境界線の前縁Ｌがフレームの右半分にある間はＮＡＭによる結合を負結合にしておくならば、扇形の部分が、ビデオＹの画像を表示すべき部分として選択されることになる。そして、ランプ関数Ｂを回転させているうちに、このランプ関数Ｂの平面が、ランプ関数Ａの平面に対して平行になったならば、その時点で、ＮＡＭによる結合を負結合から正結合に切換える。そうすれば、ビデオＹの画像を表示している扇形が、フレームの左半分でも拡大し続けて、引き続き、ビデオＸの画像がビデオＹの画像に置き換えられて行く。
【００９２】
図２９に示したのは、以上に説明したワイプ・パターンを発生させるためのワイプ・ジェネレータのブロック回路図である。この図２９のワイプ・ジェネレータは、図２５に示したマスク・ジェネレータを使用して構成することができ、また、そうすることが好ましい。図２９のワイプ・ジェネレータは、複数の（ｎ個の）ランプ関数信号ジェネレータＲＧ１〜ＲＧｎを含んでおり、好ましい個数は８個である。それらランプ関数信号ジェネレータの各々は、図５を参照して上で説明したランプ関数信号ジェネレータ、ないしは、後に図４５を参照して説明するランプ関数信号ジェネレータと同様の構成のものである。図２９のワイプ・ジェネレータは更に、コンバイナ３８１を備えており、このコンバイナ３８１は、図２６、図１１、及び図１２を参照して説明したコンバイナと同様の構成のものである。様々なクロック・ワイプのワイプ・パターンが予め用意されており、それら所定のワイプ・パターンは、コントローラ３８２によって規定されている。
【００９３】
更に詳しくは、それら所定のワイプ・パターンは、そのワイプ・パターンを発生させるために使用する各々のランプ関数の係数Ａ、Ｂ、及びＣの夫々の値、コンバイナ３８１へ供給する選択信号ＳＥ２に従って行われるランプ関数の選択、それに、コンバイナ３８１に組込まれているＮＡＭへ供給するＰＯＳ／ＮＥＧ信号に従って行われるＮＡＭの制御によって、規定されるものである。ワイプ・パターンの回転角度は、回転コントローラ３８３を操作することで制御され、この回転コントローラ３８３は、例えば直線形ポテンショメータ等である。
【００９４】
図２７及び図２８に示したワイプ・パターンを発生させるには、２つのランプ関数信号ジェネレータを選択して、ランプ関数Ａ及びＢを発生させる。このときコントローラ３８２は、ランプ関数Ａに関してはその係数Ａ、Ｂ、及びＣの夫々の値を変化させずに固定しておき、また、コンバイナ３８１を制御して、ランプ関数Ａ及びＢをコンバイナ３８１を通過させ、このコンバイナ３８１においてそれらをＮＡＭ結合させる。
【００９５】
コントローラ３８２は、コンバイナ３８１内の複数の結合段へ、夫々にＰＯＳ／ＮＥＧ制御信号を供給することによって、それら結合段を制御して、それら結合段を個別に正ＮＡＭ段または負ＮＡＭ段に設定する。また、コントローラ３８２は更に、結合段選択信号を送出することによって、選択した夫々の結合段に、ＮＡＭ段として機能するか、或いは、入力信号をそのまま通過させるように機能するかの、一方を行わせる。コントローラ３８２が、少なくとも結合段選択信号を、フレーム内におけるワイプの位置に応じた信号として送出するという方法もあるが、ただしここで説明している場合に関しては、これは好ましい方法ではない。
【００９６】
ランプ関数Ｂを規定する係数Ａ、Ｂ、及びＣのうち、係数Ａ及びＢは、変化させる係数である。係数Ｃは、変化させることもあり、変化させないこともある。回転コントローラ３８３は、ワイプの回転角度を制御するものである。この回転コントローラ３８３の操作子の位置が、ワイプの回転角度を直接的に表すようにしてある。回転コントローラ３８３の操作子の位置とワイプの回転角度との間の具体的な関係は、ワイプ・パターンによって異なっており、この関係はコントローラ３８２によって予め設定される。コントローラ３８２は、ランプ関数Ｂの回転角度位置を所望の角度位置にするために必要な、ランプ関数Ｂの係数Ａ、Ｂ、及びＣの夫々の値を算出する。また、ワイプの回転角度位置が１８０°になったならば、それは、ＮＡＭの結合機能を、負結合から正結合へ切換えるべき角度位置に達したことを意味している。
【００９７】
様々な種類の回転ワイプ・パターンを予め設定して用意しておくことができ、図３０〜図３２のＡ〜Ｅに、そのようなワイプ・パターンの幾つかの具体例を示した。また、これらの図には、それらワイプ・パターンを発生させるために必要となる、図３９のコンバイナの設定状態（コンフィギュレーション）と、それらワイプ・パターンの発生開始時点におけるランプ関数の状態とを併せて示した。これらの図において、参照符号Ｆは、固定ランプ関数（回転させずに固定しておくランプ関数）を表しており、参照符号Ｒは、回転ランプ関数（回転させるランプ関数）を表しており、参照符号ＣＬは、一定の高さに固定しておくクリップ平面の高さを表している。
【００９８】
図３０のＡに示したワイプ・パターンは、回転方向が互いに逆方向の２つの回転ランプ関数Ｒ１及びＲ２を使用して、フレームの左右半分ずつを上から下へワイプするようにしたものである。
【００９９】
このワイプ・パターンを発生させるためには、コントローラ３８２は、結合段ＣＳＢ１、ＣＳＢ２、及びＣＳＢ５を選択して、それら結合段を、各々がＮＡＭ段として機能するように設定する。コントローラ３８２は更に、結合段ＣＳＢ７（不図示）を選択して、この結合段を、結合段ＣＳＢ５の出力を単に通過させるように設定する。
【０１００】
更に、結合段ＣＳＢ１及びＣＳＢ２については、それらを、各々が負ＮＡＭ段として機能するように設定し、結合段ＣＳＢ５については、それを、正ＮＡＭ段として機能するように設定する。
【０１０１】
結合段ＣＳＢ１の２つの入力へは、固定ランプ関数Ｆ１と回転ランプ関数Ｒ１とが供給されるようにし、それら２つのランプ関数の開始位置は図示したとおりである。結合段ＣＳＢ２の２つの入力へは、固定ランプ関数Ｆ２と回転ランプ関数Ｒ２とが供給されるようにし、それら２つのランプ関数の開始位置も図示したとおりである。
【０１０２】
図３０のＡに示したワイプ・パターンを発生させるための別の方法として、図３１のＢに示したように、２つの回転ランプ関数Ｒ１及びＲ２を使用し、それら回転ランプ関数を互いに逆方向に回転させ、そして、それら回転ランプ関数を負ＮＡＭ結合するという方法もある。
【０１０３】
図３０のＣに示したワイプ・パターンは、フレームの中心から正反対の方向に延出した２本の直線が、同一回転方向（図中において時計回り）に回転するようにしたものである。コントローラ３８２は、結合段ＣＳＢ１、ＣＳＢ２、ＣＳＢ５、及びＣＳＢ７が用いられるように、コンバイナ３８１を設定する。また、結合段ＣＳＢ１については、それが負ＮＡＭ段として機能するように設定し、結合段ＣＳＢ２については、それが正ＮＡＭ段として機能するように設定する。結合段ＣＳＢ５については、フレームの左半分ではＣＳＢ２の出力を選択し、フレームの右半分ではＣＳＢ１の出力を選択するように設定する。
【０１０４】
また、結合段ＣＳＢ７（不図示）については、結合段ＣＳＢ５の出力をそのまま通過させるように設定する。
【０１０５】
結合段ＣＳＢ１は、フレームの右半分のワイプ・パターンを発生させるものであり、この結合段ＣＳＢ１へは、固定ランプ関数Ｆ１Ａと回転ランプ関数Ｒ１とが供給されるようにし、それらランプ関数の開始位置は図示のとおりである。また、それらランプ関数は、例えばランプ関数信号ジェネレータＲＧ１及びＲＧ２から夫々に供給されるものである。結合段ＣＳＢ２は、フレームの左半分のワイプ・パターンを発生させるものであり、この結合段ＣＳＢ２へは、固定ランプ関数Ｆ１Ｂと回転ランプ関数Ｒ２とが供給されるようにし、それらランプ関数は、例えばランプ関数信号ジェネレータＲＧ３及びＲＧ４から夫々に供給されるものである。また、それらランプ関数Ｒ２及びＦ１Ｂの開始位置は図示のとおりである。
【０１０６】
コントローラ３８２は、セレクタとして機能させる結合段ＣＳＢ５へ選択信号ＳＥＬを供給している。セレクタＣＳＢ５は、各走査線のうちの、フレームの左半分に位置している部分では結合段ＣＳＢ２の出力を選択し、フレームの右半分に位置している部分では結合段ＣＳＢ１の出力を選択する。従ってこの場合、選択信号ＳＥＬは、画面の水平方向の位置に応じた選択を行う水平選択信号であるといえる。一方、垂直選択信号を使用すれば、フレームの上半分と下半分との一方を選択することによって、また別のワイプ・パターンを発生させることができる。更に、水平選択信号と垂直選択信号との両方を使用することによって、フレームの４つの四半象限のうちからの選択を行うことも可能である。ただし、フレームの半分ないし四半象限の選択を行うことが特に好ましい訳ではない。図３１のＤは、図３０のＣに示したワイプ・パターンを発生させるための好適な別の方法を示したものであり、これは、四半象限の選択を行わずともよいようにした方法である。この方法では、四半象限の選択を行う代わりに、各々のランプ関数が異なった開始位置から回転を開始して特定の回転範囲だけ回転するような、複数の回転ランプ関数を発生させるようにしており、また、それらランプ関数の係数Ａ、Ｂ、及びＣの値を制御することによって、それを可能にしている。
【０１０７】
より詳しくは、図３１のＤに示した方法では、フレームの中心から正反対の方向に延出した２本の直線が同一回転方向に回転するようなワイプ・パターンを発生させるために、２つの負ＮＡＭ段を使用して、一方の負ＮＡＭ段へは、固定ランプ関数Ｆ１と回転ランプ関数Ｒ１とが供給されるようにし、他方の負ＮＡＭ段へは、固定ランプ関数Ｆ２と回転ランプ関数Ｒ２が供給されるようにしている。そして、回転ランプ関数Ｒ１とＲ２との間には、Ｒ２（θ）＝Ｒ１（θ＋π）の関係が存在するようにし、固定ランプ関数Ｆ１とＦ２との間には、Ｆ２（φ）＝Ｆ１（φ＋π）の関係が存在するようにしており、これらの式において、θはランプ関数Ｒ１の回転角度であり、φはランプＦ１が固定されている角度位置である。また、各々のランプ関数の開始位置は図３１のＤに模式的に示したとおりである。そして、それら２つの負ＮＡＭ段の出力を、１つの正ＮＡＭ段において非加算的ミキシング処理（ＮＡＭ）によって結合することによって、上述のワイプ・パターンを発生させている。
【０１０８】
図３２のＥに示したワイプ・パターンは、４つの回転ランプ関数Ｒ１〜Ｒ４を使用し、それらランプ関数の各々によって、１つのフレームの４つの四半象限の１つずつをワイプするようにしたものである。コントローラ３８２は、コンバイナ３８１を、その全ての結合段ＣＳＢ１〜ＣＳＢ７を使用するように設定する。即ち、結合段ＣＳＢ１及びＣＳＢ３については、その各々が負ＮＡＭ結合段として機能するように設定し、結合段ＣＳＢ２及びＣＳＢ４については、その各々が正ＮＡＭ結合段として機能するように設定する。また、結合段ＣＳＢ５及びＣＳＢ６については、その各々が水平方向セレクタとして機能するように設定し、結合段ＣＳＢ７は、垂直方向セレクタとして機能するように設定する。以上の結合段の夫々の機能について、以下に更に詳細に説明する。
【０１０９】
結合段ＣＳＢ１へは、回転ランプ関数Ｒ１と固定ランプ関数Ｆ１Ａとが供給されるようにしてあり、これら２つのランプ関数は、図３０及び図３１のＡ及びＢに示したランプ関数Ｒ１及びＦ１と同じものである。結合段ＣＳＢ３へは、回転ランプ関数Ｒ２と固定ランプ関数Ｆ１Ｂとが供給されるようにしてあり、これらのうち、回転ランプ関数Ｒ２は、回転ランプ関数Ｒ１と同じ形状であるが、ただし回転ランプ関数Ｒ１に対して９０°の位相差を有するランプ関数であり、固定ランプ関数Ｆ１Ｂは、固定ランプ関数Ｆ１Ａと全く同じものである。
【０１１０】
結合段ＣＳＢ４へは、回転ランプ関数Ｒ３と固定ランプ関数Ｆ２Ｂとが供給されるようにしてあり、これら２つのランプは、図３１のＢに示したランプＲ２及びＦ１Ｂと同じものである。結合段ＣＳＢ２へは、回転ランプ関数Ｒ４と固定ランプ関数Ｆ２Ａとが供給されるようにしてあり、これらのうち、回転ランプ関数Ｒ４は、回転ランプ関数Ｒ３と同じ形状であるが、ただし回転ランプ関数Ｒ３に対して９０°の位相差を有するランプ関数であり、固定ランプ関数Ｆ２Ａは、固定ランプ関数Ｆ２Ｂと全く同じものである。
【０１１１】
以上に言及したランプ関数Ｒ１〜Ｒ４、Ｆ１Ａ、Ｆ１Ｂ、Ｆ２Ａ、及びＦ２Ｂは、個別のランプ関数信号ジェネレータにおいて、夫々に発生させるようにしている。
【０１１２】
それらランプ関数の各々に対して、エッジ修飾処理を施すようにしてもよく、また、それらランプ関数を組合せたものに対してソリッド関数修飾処理を施すようにしてもよい。
【０１１３】
マルチ・ジェネレータ
図３３〜図３７、図４０、図４１、図４２、図４３及び図４５は、１つのフレーム内に、複数の同一のソリッド関数を、アレイ状に並べた具体例を説明するための図である。複数のソリッド関数の各々は、夫々に小さな正方形を占有しており、その正方形を以下、タイルと呼ぶことにする。フレーム内の全てのタイルにおいて、一斉にワイプが行われることによって、フレームの全域におけるワイプが行われるようにしている。説明を理解し易くするために、先ず最初に、アレイ内の各タイルを構成しているソリッド関数が、ただ１つの単純ランプ関数から成る場合について説明することとし、その単純ランプ関数が次の式で表されるものとする。
Ｒ＝Ａｈ＋Ｂｖ＋Ｃ
この式において、ｖは走査線番号（ｖ＝０〜ｍ）であり、ｈはピクセル番号（ｈ＝０〜ｎ）であり、これらについては図４及び図５を参照して先に説明したとおりである。また、係数Ｂの値は、全てのタイルにおいて同一の値が使用され、この値は予め決められているものとする。係数Ｃの値は、後に詳述するように、アレイ内の個々のタイルの位置に応じて、また従ってフレーム内の個々のタイルの位置に応じて異なった値が使用される。係数Ａ及びＢの値は、例えば、１つでフレーム全域を占有する単純ランプ関数に使用する係数Ａ及びＢの値と等しい値とすることができる。また、各々のランプ関数のダイナミック・レンジのレンジ幅は、１つでフレーム全域を占有する対応する形状の単純ランプ関数信号のダイナミック・レンジのレンジ幅を、フレーム内のタイルの個数で除したレンジ幅になる。
【０１１４】
主要な２通りの動作モードがあり、それらを夫々「ノン・マスキング」モードと、「マスキング」モードと呼ぶことにする。「ノン・マスキング」モードにおいては、矩形タイルの規則的アレイによってフレームの全域が覆われる。また、そのアレイは、フレームの縁部に対して相対的に移動可能である。「マスキング・モード」では、タイルのアレイによってフレームの全域が覆われることは同じであるが、そのアレイをフレームに対して相対的に移動させると、フレームの縁部に沿って存在するタイルが伸縮する点が異なる。
【０１１５】
ノン・マスキング・モード
図３３に、タイルのアレイの１つの具体例を示した。この具体例は、フレームにぴったりと収まる４×４アレイであり、どのタイルにも同一のランプ関数が存在しており、そのランプ関数を、ここでは、Ｒ＝Ａｈ＋Ｂｖ＋Ｃで表すものとする。左上隅のタイルのランプ関数は、信号パルスＩＰ＿Ｖと、信号パルスＩＰ＿Ｈとが共に送出されることによって表示される第１番目のアクティブ走査線ｖ＝０の始点をもって、このランプ関数の始点としており、そこから画面の水平方向にＡｈを積算して行き、この水平方向の積算を、水平方向エンド・オブ・タイル表示パルスＨＴＥが送出されるまで反復する。この信号パルスＨＴＥが送出されたならば、ランプ関数はリセットされ、続いて水平方法スタート・オブ・タイル表示パルスＨＴＳが送出されると同時に、次のタイルのランプ関数のための積算を開始する。第２番目の走査線ｖ＝１においては、その走査線の始点におけるランプ関数の開始値をＢｖ（この時点では、ｖ＝１である）だけインクリメントした上で、以上のプロセスを反復して実行する。こうして、最上段のタイル横列の残りの走査線についても同じプロセスを反復し、最上段のタイル横列の最後の走査線の終端に達したときに、垂直方向エンド・オブ・タイル表示パルスＶＴＥが送出され、この信号パルスＶＴＥが送出されたならば、その時点で格納されている開始値Ｃ＋Ｂｖをリセットして、開始値Ｃ＝０に戻す。信号パルスＶＴＥは、エンド・オブ・タイル値を走査線の全長に亘って維持している。続いて垂直方向スタート・オブ・タイル表示パルスＶＴＳが送出されたならば、最上段のタイル横列に関して実行した以上のプロセスの全体を、次のタイル横列に関して再び反復して実行する。
【０１１６】
図３４に示したタイルのアレイは、１つの相違点を除いて、図３３に示したタイルのアレイと同一であり、その相違点とは、水平方向に並んでいるタイルのランプ関数が、タイルの１つごとに反転していることにある。この場合、第１番目の走査線ｖ＝０に関しては、左上隅のタイルのランプ関数を積算することによって、そのランプ関数の信号値は、Ｃ＝０から始まって値ＦＢ１に達する。これに続いて、次の（その右側の）タイルのランプ関数を積算する際には、そのランプ関数の信号値を、値ＦＢ１から始めてデクリメントするようにし、これによってその信号値は、値ＦＢ１から減少してＣ＝０に至る。この積算方向の反転は、タイル縦列選択波形ＨＳＱによって制御されている。この波形ＨＳＱは、矩形波であり、その半サイクルの値が「０」であって、それによって偶数番号のタイル縦列（第０縦列、第２縦列、…）が選択され、また残りの半サイクルの値が「１」であって、それによって奇数番号のタイル縦列（第１縦列、第３縦列、…）が選択される。図３４に示した具体例では、水平方向にだけ反転を行っているが、垂直方向に反転を行うことも可能であり、その場合には、タイル縦列選択波形ＨＳＱと同様の、タイル横列選択波形ＶＳＱによって反転を制御するようにすればよい。
【０１１７】
図３５に示したタイルのアレイは、図３３に示したタイルのアレイと同様のものであるが、ただし、奇数番号のタイル横列が、偶数番号のタイル横列に対して相対的に水平方向にシフトしている点が異なっている。この水平方向のシフトを発生させるためには、タイル横列選択波形ＶＳＱを利用して、奇数番号のタイル横列を選択する。そして、奇数番号のタイル横列に含まれる走査線の始点では、奇数番号タイル横列用の開始値Ｃｓｈｉｆｔを使用して、その走査線の始点におけるランプ関数の開始値を、Ｒ＝Ａｈ＋Ｂｖ＋Ｃｓｈｉｆｔに設定すればよい。現時点で好適と考えられる実施の形態では、この方法によって、奇数番目のタイル横列だけをシフトさせるようにしている。
【０１１８】
図３６に示したタイルのアレイは、図３３に示したタイルのアレイと同様のものであるが、ただし、アレイの全体が、フレームに対して相対的にオフセットしている（シフトしている）点が異なっており、フレームに対するオフセットとしては、水平方向位相オフセット（Ｈｐｈａｓｅ）と垂直方向位相オフセット（Ｖｐｈａｓｅ）との両方が可能である。無論、水平方向位相オフセットと垂直方向位相オフセットとの一方のみを行うことも可能である。水平方向位相オフセットは、全てのタイル横列の全ての走査線の始点において、ランプ関数の信号値の積算を、初期位相オフセット値ＣＨｐｈａｓｅから開始させることによって発生させている。従って、垂直方向位相オフセットを発生させずに水平方向位相オフセットだけを発生させる場合には、フレームの左縁に沿って存在しているタイルのランプ関数の信号値は、積算によって、Ａｈ＋Ｂｖ＋ＣＨｐｈａｓｅで表される値を取ることになる。この場合、ランプ関数の信号値の積算を、初期位相オフセット値ＣＨｐｈａｓｅから開始させるのは、各タイル横列の先頭（左端）のタイルのランプ関数を積算するときだけである。垂直方向位相オフセットは、最上段のタイル横列の先頭の走査線においてランプ関数の信号値の積算を行う際に、ランプ関数の信号値の積算を、初期位相オフセット値ＣＶｐｈａｓｅから開始させることによって発生させており、そのため、水平方向位相オフセットを発生させずに垂直方向位相オフセットだけを発生させる場合には、そのランプ関数の信号値は、積算によって、Ａｈ＋Ｂｖ＋ＣＶｐｈａｓｅで表される値を取ることになる。尚、ランプ関数の信号値を算出するための水平方向の積算動作は、水平方向エンド・オブ・タイル表示パルスＨＴＥが送出された時点で停止され、また、垂直方向の積算動作は、垂直方向エンド・オブ・タイル表示パルスＶＴＥが送出された時点で停止される。
【０１１９】
水平方向位相オフセットが先に説明した水平方向シフトと異なる点は、水平方向シフトでは、選択したタイル横列（例えば、奇数番号のタイル横列）だけがフレームの縁部に対して相対的にシフトするのに対して、水平方向位相オフセットでは、それらの中間に存在するタイル横列（例えば、偶数番号のタイル横列）もフレームの縁部に対してシフトすることにある。この好適な実施の形態では、タイル横列のシフト量（移動量）を、フレームの縁部に対して全てのタイル横列が全体としてシフトする位相オフセットと、偶数番目のタイル横列に対して奇数番号のタイル横列が移動するシフトとの、和（または差）によって表すようにしている。
【０１２０】
原理的には、以上に説明した、シフトと位相オフセットとの組合せを、垂直方向のタイル列（タイル縦列）に対しても適用することが可能であるが、ただし、ここに説明している本発明の実施の形態では、この組合せを、水平方向のタイル列（タイル横列）に対してだけ適用するようにしている。尚、全てのタイル縦列に対して適用する均一な垂直方向位相オフセットは、この実施の形態においても適用可能となっている。
【０１２１】
図３７に示した様々なタイルのアレイは、シフト、位相オフセット、及び反転を様々に組合せて施したアレイであり、シフトないし位相オフセットを施したアレイには、そのシフト及び位相オフセットの大きさを表す値を付記してある。どのアレイも、４×４のタイルで構成されている。また、図３７中に付記したシフト及び位相オフセットの値は、以下のルールに従ったものである。
ａ）シフトないし位相オフセットは、左方へ移動させる場合を正の値で表す。
ｂ）位相オフセットは、全てのタイル横列に対して同じ大きさで施す。
ｃ）位相オフセットに加えて更にシフトを施す場合には、奇数番号のタイル横列に対して施す。
図３７のＡに示したアレイは、シフト無し、位相オフセット無し、反転無しのアレイである。図３７のＢ〜Ｄに示したアレイはいずれも、シフト無し、位相オフセット無しのアレイである。それらのうち、図３７のＢのアレイでは、奇数番号のタイル縦列の各タイルのランプ関数を、偶数番号のタイル縦列の各タイルのランプ関数対して反転させている。図３７のＣのアレイでは、奇数番号のタイル横列の各タイルのランプ関数を、偶数番号のタイル横列の各タイルのランプ関数に対して反転させている。図３７のＤのアレイでは、奇数番号のタイル縦列の各タイルのランプ関数を反転させた上で、更に、奇数番号のタイル横列の各タイルのランプ関数を反転させている。図３７のＥに示したアレイは、反転無しであり、偶数番号のタイル横列をタイル幅の１／２だけ位相オフセットさせた上で、そこから更に、奇数番号のタイル横列をタイル幅の１／２だけシフトさせたものである。図３７のＦに示したアレイは、反転無しであり、偶数番号のタイル横列の位相オフセットを０とし、更に、奇数番号のタイル横列をタイル幅の−１／３だけシフトさせたものである。図３７のＧに示したアレイは、反転無しであり、偶数番号のタイル横列の位相オフセットを０とし、更に、奇数番号のタイル横列をタイル幅の１／３だけシフトさせたものである。図３７のＨに示したアレイは、反転無しであり、偶数番号のタイル横列をタイル幅の１／３だけ位相オフセットさせた上で、そこから更に、奇数番号のタイル横列をタイル幅の−１／３だけシフトさせたアレイである。
【０１２２】
図３８及び図３９は、図３３〜図３６に記入されている信号ＨＴＳ、ＨＴＥ、ＨＳＱ、ＶＴＳ、ＶＴＥ、及びＶＳＱを発生させるための、水平方向制御信号発生回路及び垂直方向制御信号発生回路のブロック回路図である。先ず最初に、図３３及び図３４を併せて参照して、ノン・マスキング・モードの場合について説明する。図３８に示したように、水平方向制御信号発生回路は、セレクタ２７１を含んでいる。セレクタ２７１は縦列選択信号ＶＳＱによって制御されており、信号ＶＳＱ＝１のときには、奇数番号のタイル横列のために、位相オフセット値＋シフト値を選択し、一方、信号ＶＳＱ＝０のときには、偶数番号のタイル横列のために、位相オフセット値だけを選択する（これらの値は、例えば、図４６及び図４７においてコンピュータ・インターフェース６からコントローラ２へダウンロードされる値である）。こうして選択された値は、アップ／ダウン・カウンタ２７２にプリロード値としてロードされる。このプリロードは、各走査線の始点において信号パルスＩＰ＿Ｈが送出されるタイミングで行われる。アップ／ダウン・カウンタ２７２が、カウント・アップとカウントダウンのいずれを行うかは、アップ／ダウン制御信号ｎｅｇＰｈａｓｅによって制御されている。アップ／ダウン・カウンタ２７２は、クロック信号ＨＦＣＫ＿ＳＹＳのパルスをカウントするものであり、従って、走査線上のピクセルをカウントしている。アップ／ダウン・カウンタ２７２のカウント値は、比較器２７３において、予め設定されているカウント値ＨｔｉｌｅＷｉｄｔｈと比較されている。カウント値ＨｔｉｌｅＷｉｄｔｈは、タイル幅（タイルの水平方向寸法）の目標値を表している。カウンタ２７２のカウント値がこの目標カウント値ＨｔｉｌｅＷｉｄｔｈに等しくなったならば、比較器２７３は、信号パルスＨＴＥを送出してエンド・オブ・タイル（タイル終端）を表示する。送出された信号パルスＨＴＥは、トグル・レジスタ２７８へ、信号ｃｎｔＲｅｓｅｔとして入力し、このトグル・レジスタ２７８の状態を切換えて、信号ＨＳＱを送出させる。トグル・レジスタ２７８へは更に、信号パルスＩＰ＿Ｈも入力するようにしてあり、各走査線の始点において、信号パルスＩＰ＿Ｈがトグル・レジスタ２７８をリセットすることによって、信号ＨＳＱがリセットされるようにしてある。信号パルスＨＴＥは更に、アップ／ダウン・カウンタ２７２へも、信号ｃｎｔＲｅｓｅｔとして入力し、このカウンタ２７２をリセットしてそのカウント値を０に戻す。図３３及び図３４に示したこの信号パルスＨＴＳは、レジスタ２８６から送出される。図３３及び図３４に示したように、フレームの左縁におけるスタート・オブ・タイル（タイル始端）は、信号パルスＩＰ＿Ｈの送出によって表示される。これに対して、信号パルスＨＴＳは、走査線の中間に存在するスタート・オブ・タイルを表示するものである。上述のレジスタ２８６は、直列に接続されたセレクタ２８７及びセレクタ２８８によって制御されている。これらのうち、セレクタ２８７は、信号パルスＩＰ＿Ｈに応答して、走査線の始点ではレジスタ２８６が信号パルスＨＴＳを送出しないようにその送出を阻止するためのセレクタである。一方、セレクタ２８８は、信号パルスＨＴＥに応答して、走査線の中間点において、レジスタ２８６に信号パルスＨＴＳを送出させるためのセレクタである。
【０１２３】
図３９は、垂直方向制御信号発生回路を示した図である。この垂直方向制御信号発生回路は、垂直方向アップ／ダウン・カウンタ２８１を含んでおり、このカウンタ２８１には、垂直方向位相オフセット値がプリロードされる。この垂直方向位相オフセット値は、例えば、図４６及び図４７においてコンピュータ・インターフェース６からコントローラ２へダウンロードされる値である（尚、図示の具体例は、垂直方向シフト機能を備えていないため、垂直方向シフト値のプリロードは行わない）。アップ／ダウン・カウンタ２８１が、カウント・アップとカウントダウンのいずれを行うかは、アップ／ダウン制御信号ｎｅｇＰｈａｓｅによって制御されている。アップ／ダウン・カウンタ２８１は、信号パルスＩＰ＿Ｈをカウントするものであり、従って、信号パルスＩＰ＿Ｈによって表される走査線をカウントしている。アップ／ダウン・カウンタ２８１のカウント値は、比較器２８２において、レジスタ２９４に格納されている垂直方向タイル幅の値と比較されており、この垂直方向タイル幅の値は、例えばコンピュータ・インターフェース６からコントローラ２へダウンロードされる値である。カウンタ２８１のカウント値が、この垂直方向タイル幅の値に等しくなったならば、比較器２８２は、エンド・オブ・タイルを表示するための信号パルスＶＴＥを送出する。送出された信号パルスＶＴＥは、垂直方向アップ／ダウン・カウンタ２８１へ、信号ｃｎｔＲｅｓｅｔとして入力し、このカウンタ２８１をリセットしてそのカウント値を０に戻す。信号パルスＶＴＥは更に、トグル・レジスタ２９３へも入力し、このトグル・レジスタ２９３に信号ＶＳＱを送出させる。この信号ＶＳＱは、タイル横列が奇数番号のものかそれとも偶数番号のものかを表示する信号である。尚、トグル・レジスタ２９３は、各フレームの始点において、信号パルスＩＰ＿Ｖによってリセットされる。信号パルスＶＴＥは更に、他の信号と組合わされて、トグル・レジスタ２９３のＥｎ入力へも供給されており、このＥｎ入力へ供給されている信号を論理式で示すと［ｃｎｔＲｅｓｅｔ  Ａｎｄ  ｎｏｔ・ＩＰ＿Ｈ  ＡＮＤ  ｎｏｔ・ｐｈａｓｅＲｅｓｅｔ］となる。
【０１２４】
信号パルスＶＴＳは、レジスタ２８５から送出される。レジスタ２８５は、直列に接続したセレクタ２８６及びセレクタ２８７によって制御されるタイミングで、クロック信号ＨＦＣＫ＿ＳＹＳのパルスを通過させて出力する。フレームの上縁における垂直方向スタート・オブ・タイルは、信号パルスＩＰ＿Ｖが送出されることによって表示される。これに対して、信号パルスＶＴＳは、フレームの中間位置に存在する垂直方向スタート・オブ・タイルを表示するものである。セレクタ２８６は、フレームの始点ではパルスＶＴＳが送出されないようにその送出を阻止するためのセレクタである。フレームの中間位置においては、セレクタ２８７へ信号パルスＶＴＥが入力するたびに、それに応答して、その直後に信号パルスＶＴＳが送出される。
【０１２５】
図３８及び図３９において、水平方向アップ／ダウン・カウンタ２７２にプリロードする位相オフセット値及びシフト値の合計値が正の値であるならば、タイルは左方へシフトする。プリロードする位相オフセット値ないしシフト値の最大値は、水平方向タイル幅の値までに制限しており、さもないと比較器を正しく機能させることができない。位相オフセット値及びシフト値の合計値を０から最大値まで変化させることによって、タイルを左方へ連続的に移動させることができる。そして、位相オフセット値及びシフト値の合計値を０から最大値まで変化させるということを反復して行うならば、複数のタイルが、あたかも、左方へ連続的に流れているかのように見せることができる。また逆に、位相オフセット値及びシフト値の合計値を最大値から０まで変化させるということを反復して行うならば、複数のタイルが、あたかも、右方へ連続的に流れているかのように見せることができる。同様に、図３８の垂直方向アップ／ダウン・カウンタ２８１にプリロードする垂直方向位相オフセット値を操作することで、タイルを上下に移動させることができる。図４６及び図４７のコンピュータ・インターフェース６及びコントローラ２は、各フレームごとに、位相オフセット値及びシフト値のプリロードを実行する。
【０１２６】
尚、以上のようにしてタイルを移動させる場合には、ランプ関数の係数Ｃに適当なオフセット値を加えることによって、タイルと共にランプ関数も移動させるようにする必要がある。
【０１２７】
マスキング・モード
図４０に示したタイルのアレイは、その全体が、フレームの縁部に対して相対的に右方下方へシフトされている。同図において、タイルのアレイは、その境界を点線で示したように、元々は、例えば図３３に示したアレイと同じものである。図４１では、これも点線で境界を示した同じタイルのアレイが、左方下方へシフトされている。これらの図に示した動作モードを、本明細書では「マスキング」モードと呼んでいる。マスキング・モードにおいては、複数のタイルの全てにおいて夫々にワイプが行われ、縁部タイル（フレームの縁部に沿って位置しているタイル）では、フレームの縁部へ向かってワイプが進行する。図４０に示したようにアレイを右方へシフトさせた場合でも、縁部タイルの水平方向の始端位置は、走査線の始端において送出される信号パルスＩＰ＿Ｈによって位置決めされ、フレームの中間に位置するタイルの水平方向の始端位置は、信号パルスＨＴＳによって位置決めされる。この場合、タイルの水平方向の始端位置は、信号パルスＩＰ＿Ｈの送出時に水平方向アップ／ダウン・カウンタ２７２にプリロードされる値によって決まる。その値をプリロードされたカウンタ２７２は、アップ／ダウン制御信号ｎｅｇＰｈａｓｅに制御されてカウント・ダウンを行い、そのカウント値は、プリロード値から０を目指して減少して行く。アップ／ダウン・カウンタ２７２は、カウント・ダウン・モードにあるときに（即ち、信号ｎｅｇＰｈａｓｅの論理状態が真であるときに）、そのカウント値Ｈｃｏｕｎｔが０になった（即ち、Ｈｃｏｕｎｔ＝０）ならば、信号ｐｈａｓｅＲｅｓｅｔによってリセットされるようにしてある（従って、この信号ｐｈａｓｅＲｅｓｅｔを表す論理式は［ｎｅｇＰｈａｓｅ  ＡＮＤ  （Ｈｃｏｕｎｔ＝０）］である）。そして、この信号ｐｈａｓｅＲｅｓｅｔが送出されたならば、セレクタ２８８及び２８７とレジスタ２８６とによって、水平方向スタート・オブ・タイル表示パルスＨＴＳの送出が阻止される。また、こうしてアップ／ダウン・カウンタ２７２のカウント値Ｈｃｏｕｎｔが０になったならば、アップ／ダウン制御信号ｎｅｇＰｈａｓｅの論理状態が切換わるため、アップ／ダウン・カウンタ２７２はカウント・アップを開始する。そして、既述の如く、そのカウント値Ｈｃｏｕｎｔが比較器２７３においてタイル幅の目標値と比較され、その比較結果に基づいて、水平方向エンド・オブ・タイル表示パルスＨＴＥが送出される。これ以後、そのタイル横列中の後続のタイルに関しては、タイルの終端及び始端を表す水平方向エンド・オブ・タイル表示パルスＨＴＥ及び水平方向スタート・オブ・タイル表示パルスＨＴＳが、ノン・マスキング・モードのときと同様にして発生される。
【０１２８】
図４１に示したように、タイルのアレイを左方へシフトさせることも可能であり（この場合には、あたかも、フレームの左縁より更に左側にアレイの始端が位置しているような印象を与える）、それには、水平方向アップ／ダウン・カウンタ２７２に最初に正のカウント値をプリロードして、そこからカウント・アップして行くようにすればよい。ただし、その他に、水平方向に何個のタイルを生成するかを予め把握しておき、各走査線に沿ってそれらタイルを生成して行く際に、それらタイルの幅を合計したカウント値を保持することも必要である。水平方向に並んだタイルには、第０番から第ＮＵＭ番までの番号を付すようにしており、それらタイルの個数が４個であればＮＵＭ＝３である。各走査線に沿ってタイルを生成しているうちに、この数ＮＵＭに、タイル幅に相当するカウント値を乗じた積から、１を減じたカウント値に達したならば、それ以後、その走査線に関しては、水平方向アップ／ダウン・カウンタ２７２のリセットを禁止する。これによって、信号ｃｎｔＲｅｓｅｔの送出が禁止される（これは、ｍａｓｋＥｒｒｏｒ＝０となるからである）ため、水平方向に並んでいるうちの右端のタイルの右端（終端）を表示するはずであった最後のパルス信号ＨＴＥがマスクされて、送出されなくなる。
【０１２９】
これについて、図３８及び図４１を参照して更に詳しく説明する。信号パルスＩＰ＿Ｈが送出されたときに、セレクタ２７１から水平方向アップ／ダウン・カウンタ２７２へ、プリロード値がロードされる。アップ／ダウン・カウンタ２７２は、そこからカウント・アップを開始する。このカウント値は、比較器２７３において、水平方向タイル幅を表す値ＨｔｉｌｅＷｉｄｔｈと比較されている。そして、その比較結果に基づいて、エンド・オブ・タイルを表示するパルス信号ＨＴＥが送出される。ここで、水平方向に並んだタイルの個数が、ＮＵＭ個であるとするならば、第０番から第（ＮＵＭ−１）番までのタイルに関しては、パルス信号ＨＴＳとパルス信号ＨＴＥは、いずれも、ノン・マスキング・モードの場合と同様にして送出される。
【０１３０】
マスク・カウンタ２７９は、論理式［ｃｎｔＲｅｓｅｔ  ＯＲ  ｐｈａｓｅＲｅｓｅｔ］の論理状態が真になったときに送出される信号パルスをカウントしている。マスク・カウンタ２７９のカウント値は、比較器２８０において、レジスタ２９０に格納されている値（ＮＵＭ−１）と比較されている。カウンタ２７９のカウント値が、この値（ＮＵＭ−１）より小さい間は、比較器２８０の出力信号ｍａｓｋＥｒｒｏｒの論理状態は「１」になっている。カウンタ２７９のカウント値が、上述の値（ＮＵＭ−１）に等しくなったならば、比較器２８０の出力信号ｍａｓｋＥｒｒｏｒの論理状態が「０」になり、それによって、水平方向アップ／ダウン・カウンタ２７２のリセットが禁止される。従って、第（ＮＵＭ−１）番のタイルに対応したパルス信号ＨＴＥは送出されるが、このタイルの右端より右側では、もはやパルス信号ＨＴＥは送出されない。更に、ｍａｓｋＥｒｒｏｒ＝０であるため、回路要素２８６、２８７、２８８からパルス信号ＨＴＳが送出されることもない。
【０１３１】
以上の説明は、タイルのシフトの仕方が、図４０及び図４１に示した単純な状況にあるときの説明である。
【０１３２】
図４２及び図４３に示したように、マスキング・モードでも、タイルのアレイの全体をフレームに対してシフトさせる位相オフセットと、タイル列どうしを相対的にシフトさせるシフトとの両方が可能である。フレームに対するアレイ全体のシフトとタイル列どうしの相対的なシフトとの組合せ方によっては、タイル列の１列あたりのタイル個数が変化することがある。ここでは、タイル列どうしの相対的なシフトが行えるのは、水平方向のタイル列（タイル横列）に関してだけであるものとする。また、アレイ全体を垂直方向にシフトすることも可能であるが、説明を容易にするために、図４２及び図４３に示した様々な具体例はいずれも、アレイ全体のシフトとタイル列どうしの相対的シフトのいずれも、水平方向に関するものだけを行う場合を示してる。
【０１３３】
図４２のＡに示したアレイは、マスキング・モードにおいて、そのアレイ内の偶数番号のタイル横列と奇数番号のタイル横列とを、同一の位相シフト量をもって右方へシフトさせたものであり、そのシフト量は、−ＰｈａｓｅAである。図３８において、セレクタ２８３は、タイル横列選択信号ＶＳＱに制御されて、制御信号ＭａｓｋＣｔｒｌを送出し、この制御信号ＭａｓｋＣｔｒｌは、セレクタ２８９へ入力している。セレクタ２８９は、各アクティブ走査線の始点において信号パルスＩＰ＿Ｈが送出されたときに、マスク・カウンタ２７９に、１６進数値の「３ＦＦＦ」（これは、１０進数値の「−１」に相当する）をプリロードする。一方、水平方向アップ／ダウン・カウンタ２７２がカウント・ダウンを開始したならば、図４２のＡの左側の縦の点線で示された位置において、このアップ／ダウンカウンタ２７２のカウント値が始めて「０」になり、そのとき、信号パルスｐｈａｓｅＲｅｓｅｔが送出される。マスク・カウンタ２７９は、この信号パルスｐｈａｓｅＲｅｓｅｔをカウントすることによって、そのカウント値であるマスク・カウント値が「０」になる。これ以後、マスク・カウンタ２７９は、後続の信号パルスｃｎｔＲｅｓｅｔをカウントし続け、そのカウント値が、ＮＵＭ−１＝２になるまでカウントを行う。カウント値が「２」になったならば、信号ｍａｓｋＥｒｒｏｒが「０」になることによって、信号パルスＨＴＳの送出が禁止される。
【０１３４】
図４２のＢでは、アレイ内の全てのタイル横列を、同一のシフト量をもって左方へシフトさせており、そのシフト量は、＋ＰｈａｓｅAである。
【０１３５】
この場合にも、信号パルスＩＰ＿Ｈが送出されたときに、セレクタ２８３及びセレクタ２８９によって、マスク・カウンタ２７９にマスク・カウント値がプリロードされるが、ただしこの場合には、プリロードされるマスク・カウント値は０である（これは、１６進数値の「００００」に、最下位ビット「０」を加算した値である）。マスク・カウンタ２７９は、これ以後、信号パルスｃｎｔＲｅｓｅｔをカウントし続け、そのカウント値が、ＮＵＭ−１＝２になったならば、信号ｍａｓｋＥｒｒｏｒが「０」になることによって、信号パルスＨＴＳの送出が禁止される。
【０１３６】
図４２のＣには、偶数番号（第０番、第２番、…）のタイル横列は図４２のＡに示したタイル横列と同様にシフトさせ、奇数番号（第１番、第３番、…）のタイル横列は図４２のＢに示したタイル横列と同様にシフトさせた場合を示した。
【０１３７】
図４３のＤには、これとは逆に、奇数番号のタイル横列は図４２のＡに示したタイル横列と同様にシフトさせ、偶数番号のタイル横列は図４２のＢに示したタイル横列と同様にシフトさせた場合を示した。
【０１３８】
図４２のＡ〜Ｃ及び図４３のＤに示したものでは、マスク・カウンタ２７９がカウントする、論理式［ｃｎｔＲｅｓｅｔ  ＯＲ  ｐｈａｓｅＲｅｓｅｔ］が真になったときに送出される信号パルスの、その上限カウント値は、奇数番号のタイル横列と偶数番号のタイル横列とで同数となっている。
【０１３９】
図４３のＥには、偶数番号のタイル横列を＋ＰｈａｓｅAだけ左方へシフトさせた上に、更に、そのシフトさせた偶数番号のタイル横列に対して相対的に奇数番号のタイル横列を＋Ｓｈｉｆｔ0だけ左方へシフトさせた場合を示した。その結果、偶数番号のタイル横列が、４個ずつのタイル（第０番タイル〜第３番タイル）を含んでいるのに対して、奇数番号のタイル横列は、第０番タイルがフレームの左縁の更に左側に外れてしまっているため、３個ずつのタイル（第１番タイル〜第３番タイル）しか含んでいない。偶数番号のタイル横列に関しては、例えば図４２のＢを参照して上で説明した方法に従って制御を行えばよく、従って、マスク・カウンタ２７９にプリロードする値は、１６進数値の「００００」に、最下位ビット「０」を加算した値（即ち、１０進数値の「０」）とすればよい。一方、奇数番号のタイル横列に関しては、セレクタ２８３及び２８９がマスク・カウンタ２７９にプリロードするマスク・カウント値を、１６進数値の「００００」に、最下位ビット「１」を加算した数値（即ち、１０進数値の「＋１」）とする。そして、そのプリロードしたマスク・カウント値がカウント・アップされて、ＮＵＭ−１＝２になったならば、上で説明したように、信号ｍａｓｋＥｒｒｏｒが「０」になることによって、それ以後の信号パルスＨＴＳの送出が禁止される。一般的に、マスク・カウンタ２７９にプリロードするマスク・カウント値に、最下位ビット「１」を加算するのは、全てのタイルの移動方向が左方であって、偶数番号の（全ての）タイル横列の移動量が、奇数番号のタイル横列の移動量と比べてタイル境界１つ分小さく、偶数番号の（全ての）タイル横列の位相シフト量がタイル幅より小さく、そして、偶数番号のタイル横列に対する奇数番号のタイル横列の更なる相対的シフト量がタイル境界１つ分大きい場合である。
【０１４０】
図４３のＦには、偶数番号のタイル横列を＋ＰｈａｓｅAだけ左方へシフトさせた上に、更に、そのシフトさせた偶数番号のタイル横列に対して相対的に奇数番号のタイル横列を−Ｓｈｉｆｔ0だけ右方へシフトさせた場合を示した。これらシフト量は、図示した大きさとなっているため、偶数番号のタイル横列は３個ずつのタイルしか含まず、それに対して、奇数番号のタイル横列は４個ずつのタイルを含むものとなっている。従って、偶数番号のタイル横列に関しては、信号パルスｃｎｔＲｅｓｅｔを２回送出させ、奇数番号のタイル横列に関しては、信号パルスｃｎｔＲｅｓｅｔを３回送出させればよい。この具体例では、マスク・カウンタ２７９にプリロードするマスク・カウント値は、どのタイル横列についても「０」としている。そして、その代わりに、奇数番号のタイル横列については、加算器２９９を使用して、比較器２８０へ供給する基準カウント値に「１」を加算するようにしている。一般的に、加算器２９９を使用して、基準カウント値に「１」を加算するのは、全てのタイルの移動方向が左方であって、偶数番号の（全ての）タイル横列の移動量が、奇数番号のタイル横列の移動量と比べてタイル境界１つ分大きく、偶数番号の（全ての）タイル横列の位相シフト量がタイル幅より大きく、そして、偶数番号のタイル横列に対する奇数番号のタイル横列の更なる相対的シフト量がタイル幅より小さい場合である。
【０１４１】
図４２及び図４３に示した具体例では、アレイに含まれるタイル横列の数は僅か３列でしかないが、４列以上のタイル横列を含むアレイにも同様にして対応することができる。更に、図４２及び図４３に示した具体例では、タイル列の移動方向は全て水平方向であったが、タイル列の移動方向を垂直方向とすることも可能である。これに関して、図３９の垂直方向制御信号生成回路は、垂直方向マスク・カウンタ２９５、比較器２９６、それにプリロード・セレクタ２９７を含んでおり、それらは夫々に、図３８の、水平方向マスク・カウンタ２７９、比較器２８０、それにセレクタ２８９に対応している。また、垂直方向制御信号発生回路の動作は、水平方向制御信号発生回路の動作に対応しているため、それについての詳細な説明は省略する。
【０１４２】
図３９の垂直方向制御信号発生回路がタイルのアレイの垂直方向位置を制御する際の制御方法は、図３８の水平方向制御信号発生回路が水平方向位置を制御する際の制御方法と同じである。図３８と図３９とを比較すれば、それら制御信号発生回路が原理的に同一であることは明らかであり、それゆえ、図３９の垂直方向制御信号発生回路の動作原理についての詳細な説明は省略する。
【０１４３】
図４６及び図４７は、図３３〜図３７、図４０、図４１、図４２、図４３及び図４５に示したタイルのアレイを発生させるのに好都合なように、図５のランプ関数信号ジェネレータに多少の変更を加えた、別の実施の形態にかかるランプ関数信号ジェネレータを示した図である。この図４６及び図４７に示したランプ関数信号ジェネレータが、図５のランプ関数信号ジェネレータと相違する点は、開始値Ｃ２を格納しておくためのレジスタＲ４と、開始値Ｃ４を格納しておくためのレジスタＲ５と、フィードバック・レジスタＦＢ３とが追加されていることにある。図４５は、タイルのアレイの全体をシフトさせる位相オフセットを行った上に、更に、偶数番号のタイル横列に対して相対的に奇数番号のタイル横列をシフトさせた具体例を示した図である。この具体例のアレイにおいては、フレームの左縁と上縁のいずれからも離れている全てのタイル（図４５において、ハッチングを施したタイル）は、互いに同一のランプ関数で構成されているものとし、それらタイルのランプ関数は、次の式で表されるものとする。
Ｒ＝Ａｈ＋Ｂｖ＋Ｃ１
また、それらタイルのランプ関数は、図５を参照して説明したランプ関数の発生方法と、同じ方法で発生させているものとする。従って、水平方向の積算はフィードバック・レジスタＦＢ１において行われる。また、係数Ａ、Ｂ、及びＣ１の夫々の値は、図５に示したレジスタＲ１、Ｒ２、及びＲ３に格納されている。
【０１４４】
ハッチングを施していない、フレームの左縁または上縁に沿って位置しているタイルは、フレームの縁部に対してオフセットしているため、それらタイルに対応したランプ関数信号を発生させるための積算の開始値としては、ハッチングを施したタイルとは異なった開始値を使用する必要がある。左上隅のタイルＴ００の開始値は、レジスタＲ４の格納値Ｃ２に垂直方向オフセット値Ｖｏｆｆを加えた値（Ｃ２＋Ｖｏｆｆ）であり、この値はまた、係数Ｃ１の値に、水平方向位相オフセット値と、垂直方向オフセット値とを加えた値に等しい。この値（Ｃ２＋Ｖｏｆｆ）は、タイルのアレイの始点において、ただ一度必要とされるだけであり、しかもこの値は、フィードバック・レジスタＦＢ２において行う垂直方向の積算の開始値であるため、この値（Ｃ２＋Ｖｏｆｆ）は、最初にフィードバック・レジスタＦＢ２に格納しておくようにする。フィードバック・レジスタＦＢ２の出力は、開始値セレクタＳＥＬ１にも接続されている。上から２段目のタイル横列の左端のタイルＴ１０の開始値Ｃ４は、係数Ｃ１の値に、水平方向位相オフセット値と、水平方向シフト値とを加えた値に等しく、この値Ｃ４は、レジスタＲ５に格納しておくようにする。更にその１段下のタイル横列の左端のタイルＴ２０の開始値は、レジスタＲ４の格納値Ｃ２であり、これは、偶数番号の全てのタイル横列において必要とされる開始値である。最上段のタイル横列のタイルＴ０１〜Ｔ０４の開始値はＣ３であり、この値Ｃ３は、係数Ｃ１の値に、垂直方向オフセット値Ｖｏｆｆを加えた値（Ｃ１＋Ｖｏｆｆ）に等しい。この開始値Ｃ３は、最上段のタイル横列のタイルＴ０１〜Ｔ０４の最初の走査線上において積算を行う際に必要とされるだけであり、しかもこの値Ｃ３は、フィードバック・レジスタＦＢ３において行う垂直方向の積算の開始値であるため、最初にフィードバック・レジスタＦＢ３に格納しておくようにする。フィードバック・レジスタＦＢ３の出力は、セレクタＳＥＬ２に接続されている。ハッチングを施していないタイルＴ００、Ｔ０１、Ｔ０２、Ｔ０３、Ｔ０４、Ｔ１０、Ｔ２０、Ｔ３０、Ｔ４０の夫々のランプ関数信号の信号値を算出するための水平方向の積算は、フィードバック・レジスタＦＢ１において行われる。フレームの左縁に沿って位置しているタイルＴ００、Ｔ１０、Ｔ２０、Ｔ３０、Ｔ４０の夫々のランプ関数信号の信号値を算出するための垂直方向の積算は、フィードバック・レジスタＦＢ２において行われる。その他全てのタイルのランプ関数の信号値を算出するための垂直方向の積算は、フィードバック・レジスタＦＢ３において行われる。
【０１４５】
図示のタイルに対して、例えば図２５に示したような、水平方向におけるランプ関数の反転を利用する場合には、タイルＴ０１、Ｔ０２、Ｔ０３、Ｔ０４の開始値として、上で説明した開始値Ｃ３の代わりに、それらタイルに先行するタイルの終端に達したときにフィードバック・レジスタＦＢ１内に格納されている格納値を用いる。従って、最上段のタイル横列では、タイルＴ００の終端に達したときのフィードバック・レジスタＦＢ１の格納値を、後続のタイルＴ０１、Ｔ０２、Ｔ０３、Ｔ０４において、交互にデクリメント及びインクリメントする。上から２段目、及びそれ以降のタイル横列においても、同様にすればよい。垂直方向におけるランプ関数の反転を利用する場合も、同様にして行えばよく、先行するタイルの終端に達したときにフィードバック・レジスタＦＢ２またはＦＢ３に格納されている格納値を、各タイルのランプ関数信号の信号値を算出するための開始値として使用し、それをインクリメントないしデクリメントするようにすればよい。
【０１４６】
以上の説明は、各々のタイルがただ１つの単純ランプ関数から成る場合の説明であった。実際に、各々のタイルがただ１つの単純ランプ関数から成る場合もないではないが、多くの場合、タイルは、複数のランプ関数を結合して構成したソリッド関数から成るものであったり、リミット処理、修飾処理、及び／または、絶対値処理を施して変形したランプ関数から成るものであったりする。そのような場合に、例えば図４４に示したような本発明の好適な実施の形態では、複数個の（ｎ＋１個の）ランプ関数信号ジェネレータ３３０〜３３ｎを、マルチ・コントローラ３３３で、同一方式で制御するようにしている。マルチ・コントローラ３３３は、図３８に示した水平方向制御信号発生回路と図３９に示した垂直方向制御信号発生回路とを含んでおり、また、ランプ関数信号ジェネレータ３３０〜３３ｎの他に、コンピュータ・インターフェース６（図４６及び図４７参照）も制御している。所望の様々なソリッド関数を規定する係数Ａ、Ｂ、及びＣの様々な値をコンピュータ・インターフェース６が算出し、算出されたそれら係数の値に従って、ランプ関数信号ジェネレータ３３０〜３３ｎが様々なランプ関数信号を発生させる。そして、それによって同時に発生する複数のランプ関数信号に対して、結合／修飾処理部３３２において、結合処理、及び／または、修飾処理を施し、これらの処理は、例えば図１０〜図１２を参照して説明した方法によって行う。
【０１４７】
コンピュータ・インターフェース６は、発生させたい所望のソリッド関数の形状に応じて、また、そのソリッド関数に加えたい制御（例えば回転等）の種類に応じて、係数Ａ、Ｂ、及びＣの夫々の適切な値を算出する。そして、それら係数Ａ、Ｂ、及びＣの夫々の値を、また、水平方向オフセットや垂直方向オフセットを施す場合には、それらのためのオフセット値も含めて、各フレームごとに、そのフレームの開始に先立って算出し、そして算出したそれら値に基づいて夫々のランプ関数を発生させる。
【０１４８】
図４６及び図４７に示したランプ関数信号ジェネレータは、各タイル内に存在するランプ関数を発生させるように制御されている。図４６及び図４７のランプ関数信号ジェネレータを制御しているコントローラ３３３は、非常に多くの信号に応答して動作しているが、それら信号のうちでも、特に重要な信号は、信号パルスＩＰ＿Ｈ、ＩＰ＿Ｖ、ＨＴＳ、それにＶＴＳである。これら４種類の信号パルスは、夫々、走査線の始点、フレームのアクティブ領域の始点、水平方向タイル始端、それに垂直方向タイル始端を表示する信号パルスである。信号パルスＩＰ＿Ｈが送出されたならば、ないしは、信号パルスＩＰ＿Ｖが送出されたならば、そのことによって、縁部タイル（フレームの縁部に沿って位置しているタイル）の始端であることが識別できるため、それら信号パルスに応答して、縁部タイルに使用すべき係数Ｃの値を選択するようにしている。また、信号パルスＨＴＳが送出されたならば、ないしは、信号パルスＶＴＳが送出されたならば、そのことによって、例えば図４５においてハッチングを施していない、非縁部タイルの始端であることが識別できるため、それら信号パルスに応答して、非縁部タイルに使用すべき係数Ｃの値を選択するようにしている。係数Ａ及びＢの値は、ランプ関数の形状が同一である限り、どのタイルにおいても同じ値が用いられる。これは、逆に言えば、ランプ関数の形状が異なれば、係数Ａ及びＢの値として、異なった値が用いられるということでもある。水平方向の積算は、信号パルスＩＰ＿Ｈの送出によって開始され、例えば、フィードバック・レジスタＦＢ１において行われる。その後、信号パルスＨＴＳが送出されるたびに、フィードバック・レジスタＦＢ１の格納値が、後続のタイルに適した開始値に設定される。各々のタイルの垂直方向の積算は、そのタイルが縁部タイルであれば信号パルスＩＰ＿Ｖの送出に応答して開始され、また、そのタイルが非縁部タイルであれば信号パルスＶＴＳの送出に応答して開始される。
【０１４９】
マスキング・モードでタイルを左方や上方へ移動させる場合には、フレームの右縁や下縁まで積算を続行するようにすれば、ワイプがフレームの縁部に至るまで行われるようにすることができる。
【０１５０】
尚、以上の説明は、本発明を順次走査方式のフレームに適用した場合の説明であったが、本発明はインターレース方式におけるフィールドに対しても適用可能である。
【図面の簡単な説明】
【図１】ワイプによる画面切換処理を説明するための図である。
【図２】ソリッド関数をキーイング信号と共に示した図である。
【図３】公知のワイプ・ジェネレータのブロック回路図である。
【図４】ソリッド関数をクリップ平面と共に示した模式図である。
【図５】具体例のランプ関数信号ジェネレータのブロック回路図である。
【図６】ランプ係数の正負逆転処理を説明するための図である。
【図７】ランプ関数信号に対するリミット処理の具体例を説明するための図である。
【図８】ソリッド関数信号ジェネレータ・システムの具体例のブロック回路図（その１）である。
【図９】ソリッド関数信号ジェネレータ・システムの具体例のブロック回路図（その２）である。
【図１０】Ａ〜Ｅは、絶対値処理、正負逆転処理、上下移動処理、及び結合処理を説明するための図である。
【図１１】ランプ関数コンバイナのブロック回路図である。
【図１２】図１１のランプ関数コンバイナの非加算的ミキサのブロック回路図である。
【図１３】エッジ修飾処理部に用いる別のランプ関数信号ジェネレータのブロック回路図である。
【図１４】エッジ修飾処理部のブロック回路図である。
【図１５】エッジ修飾パターンを示した模式図である。
【図１６】Ａ〜Ｃは、エッジ修飾処理部の動作を説明するための図である。
【図１７】Ｄ及びＥはエッジ修飾処理部の動作を説明するための図である。
【図１８】ソリッド関数修飾処理の具体例を示した簡単な図である。
【図１９】ソリッド関数修飾処理波形を生成するための回路のブロック回路図である。
【図２０】Ａ〜Ｃは、ペアリングを説明するための模式図である。
【図２１】画面の垂直方向に延在する縞模様と水平方向に延在する縞模様とを示した図である。
【図２２】ペアリング・ジェネレータのブロック回路図である。
【図２３】図２２のペアリング・ジェネレータの制御信号発生部のブロック回路図である。
【図２４】図２５のマスクジェネレータを使用したときの効果を説明するための図である。
【図２５】本発明の実施の形態にかかるマスク・ジェネレータのブロック回路図である。
【図２６】図２５のマスク・ジェネレータのコンバイナのブロック回路図である。
【図２７】図２９のワイプ・ジェネレータを使用したときの効果を説明するための図である。
【図２８】回転するワイプ・パターンを説明するための図である。
【図２９】回転するワイプ・パターンを発生させるワイプ・ジェネレータのブロック図である。
【図３０】Ａ及びＣは、回転するワイプ・パターンの具体例を説明するための図である。
【図３１】Ｂ及びＤは、回転するワイプ・パターンの具体例を説明するための図である。
【図３２】Ｅは、回転するワイプ・パターンの具体例を説明するための図である。
【図３３】１つのフレームに互いに同一の複数のワイプ・パターンを発生させるようにした、ワイプ・パターンの具体例を示した図である。
【図３４】１つのフレームに複数のワイプ・パターンを発生させるようにした、ワイプ・パターンの別の具体例を示した図である。
【図３５】１つのフレームに複数のワイプ・パターンを発生させ、奇数番号のタイル横列を偶数番号のタイル横列に対してシフトさせるようにした、ワイプ・パターンの具体例を示した図である。
【図３６】１つのフレームに複数のワイプ・パターンを発生させ、それらを水平方向及び垂直方向に位相シフトさせるようにした、ワイプ・パターンの具体例を示した図である。
【図３７】ワイプ・パターンのシフト、位相シフト、及び反対の、その他の組合せを示した図である。
【図３８】図３３〜図３７のワイプ・パターンを発生させる処理動作を制御するための水平方向制御信号発生回路のブロック回路図である。
【図３９】図３３〜図３７のワイプ・パターンを発生させる処理動作を制御するための垂直方向制御信号発生回路のブロック回路図である。
【図４０】１つのフレームに複数のワイプ・パターン発生させ、それらをフレームに対してシフトさせるようにした、更に別のワイプ・パターンの具体例を示した図（その１）である。
【図４１】１つのフレームに複数のワイプ・パターン発生させ、それらをフレームに対してシフトさせるようにした、更に別のワイプ・パターンの具体例を示した図（その２）である。
【図４２】Ａ〜Ｃは、様々なマスキング・モードを説明するための図である。
【図４３】Ｄ〜Ｆは、様々なマスキング・モードを説明するための図である。
【図４４】図３３〜図３７、及び図４２のワイプ・パターンを発生させるためのランプ関数信号ジェネレータ・システムのブロック回路図である。
【図４５】図４４のシステムのランプ関数信号ジェネレータのレジスタの使用の仕方を、複数のワイプ・パターンの集合と関連付けて示した図である。
【図４６】図４４のシステムのランプ関数信号ジェネレータのブロック回路図（その１）である。
【図４７】図４４のシステムのランプ関数信号ジェネレータのブロック回路図（その２）である。
【符号の説明】
１‥‥加算器、２‥‥コントローラ、３‥‥正負逆転処理回路、４‥‥リミッタ、５‥‥リミッタ、６‥‥コンピュータ、ＦＢ１、ＦＢ２‥‥フィードバック・レジスタ、Ｒ１、Ｒ２、Ｒ３‥‥係数レジスタ、ＲＥＧ１、ＲＥＧ２‥‥レジスタ、ＳＥＬ１、ＳＥＬ２‥‥セレクタ
【図１】
0004315569.tif 000002
【図２】
0004315569.tif 000003
【図３】
0004315569.tif 000004
【図４】
0004315569.tif 000005
【図５】
0004315569.tif 000006
【図６】
0004315569.tif 000007
【図７】
0004315569.tif 000008
【図８】
0004315569.tif 000009
【図９】
0004315569.tif 000010
【図１０】
0004315569.tif 000011
【図１１】
0004315569.tif 000012
【図１２】
0004315569.tif 000013
【図１３】
0004315569.tif 000014
【図１４】
0004315569.tif 000015
【図１５】
0004315569.tif 000016
【図１６】
0004315569.tif 000017
【図１７】
0004315569.tif 000018
【図１８】
0004315569.tif 000019
【図１９】
0004315569.tif 000020
【図２０】
0004315569.tif 000021
【図２１】
0004315569.tif 000022
【図２２】
0004315569.tif 000023
【図２３】
0004315569.tif 000024
【図２４】
0004315569.tif 000025
【図２５】
0004315569.tif 000026
【図２６】
0004315569.tif 000027
【図２７】
0004315569.tif 000028
【図２８】
0004315569.tif 000029
【図２９】
0004315569.tif 000030
【図３０】
0004315569.tif 000031
【図３１】
0004315569.tif 000032
【図３２】
0004315569.tif 000033
【図３３】
0004315569.tif 000034
【図３４】
0004315569.tif 000035
【図３５】
0004315569.tif 000036
【図３６】
0004315569.tif 000037
【図３７】
0004315569.tif 000038
【図３８】
0004315569.tif 000039
【図３９】
0004315569.tif 000040
【図４０】
0004315569.tif 000041
【図４１】
0004315569.tif 000042
【図４２】
0004315569.tif 000043
【図４３】
0004315569.tif 000044
【図４４】
0004315569.tif 000045
【図４５】
0004315569.tif 000046
【図４６】
0004315569.tif 000047
【図４７】
0004315569.tif 000048