(57)【特許請求の範囲】
【請求項１】
原稿を照らす照明と、原稿を読み取るカメラと、カメラによって撮像された画像をスクリーンに投影する投射型ディスプレイ装置とを備えたオーバーヘッドプロジェクターにおいて、照明むらによって生じるシェーディングを補正するシェーディング補正回路であって、
前記カメラからのｐ画素×ｑラインからなる画像を予め決められたｉ画素×ｉライン（ｉ＜ｐ、ｉ＜ｑ）からなるｍ×ｎのブロックに分割し、ｍ×ｎからなる画像データに縮小する縮小部と、
この縮小部で縮小されたｍ×ｎからなる画像データからｍ×ｎからなるシェーディング補正データを生成するシェーディング補正データ生成部と、
前記ｍ×ｎのブロックのまとまりの外周に各ブロック毎に隣接するブロックのシェーディング補正データを仮想シェーディング補正データとすることで１のシェーディング補正データを加え、全体として（ｍ＋１）×（ｎ＋１）からなるシェーディング補正データを生成すること；  この（ｍ＋１）×（ｎ＋１）からなるシェーディング補正データからｍ×ｎの各ブロックにおけるシェーディング補正データを座標変換して各ブロックの左上隅のシェーディング補正データとすること；  隣接する４ブロックの左上隅のシェーディング補正データから線形補間によりブロック当たりｉ×ｉ画素のシェーディング補正データを算出することによりｍ×ｎブロックについてそれぞれｉ×ｉ画素のシェーディング補正データを求め、最終的にはｐ画素×ｑラインからなるシェーディング補正データに拡大する拡大部と、
このｐ画素×ｑラインからなるシェーディング補正データとカメラからのｐ画素×ｑラインからなる画像データで対応する位置の画素の画像データを乗算する演算部と、
を有することを特徴とするシェーディング補正回路。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、不透明な原稿をそのまま拡大投影することができるオーバーヘッドプロジェクターに係り、特に照明むらにより生じるシェーディングを自動的に補正することができるシェーディング補正方法に関するものである。
【０００２】
【従来の技術】
最近、不透明な原稿を従来のＯＨＰシートによらずにそのまま拡大投影することができるオーバーヘッドプロジェクター（以下、ＯＨＰとする。）が提案されている。これは、原稿をＴＶカメラによって撮像し、撮像した内容を投射型ディスプレイ装置によってスクリーンに投射するものである。このＯＨＰは、原稿載置用のガラス上に裏向きにセットされた原稿の資料面を照らして撮像を行うようになっている。
【０００３】
ところが、このようなＯＨＰでは透明のフィルムに原稿をコピーする必要はなくなるが、原稿に当たる光量にむらがあるため、カメラから出力される画像信号のレベルが不均一となり（以下、シェーディングという。）、投影された原稿の明瞭度が原稿内で異なるという問題があった。
【０００４】
この問題に対しては、次のような解決策が提案されている。
原稿を照らす照明と、原稿を読み取るカメラと、カメラによって撮像された画像をスクリーンに投影する投射型ディスプレイ装置とを備えたオーバーヘッドプロジェクターにおいて、白紙をカメラで読み取ることにより得られた画像データ中の最大値と最小値から中間値ＳＨＤ（Ｍｉｄ）を求め、この中間値ＳＨＤ（Ｍｉｄ）と画像データの画素ＳＨＤとの比率ＳＨＤ（Ｍｉｄ）／ＳＨＤを各画素について計算して、これをシェーディング補正データとし、原稿をカメラで読み取ることにより得られた画像データとシェーディング補正データとを対応する画素ごとに乗算し、乗算結果を補正画像データとして投射型ディスプレイ装置に与えるようにしたものである。
【０００５】
このように白紙をカメラで読み取って、画像データの中間値を求め、この中間値と画像データの画素との比率を各画素について計算してシェーディング補正データを求め、原稿の画像データとシェーディング補正データを乗算することにより、シェーディングを補正することができる。
【０００６】
【発明が解決しようとする課題】
上述のようなシェーディング補正方法では、シェーディング補正データ作成時にはシェーディング補正データをＣＰＵ等で算出し、その結果を不揮発性のメモリに格納し、通常投影時には、この格納したシェーディング補正データを読み出し、シェーディング補正メモリに転送し、入力データにこのシェーディング補正データを演算してシェーディング補正をしている。
【０００７】
したがって、最近のように取扱い画素数が多くなってくると入力データの取り込みからシェーディング補正データの算出、シェーディング補正データ転送までの一連の処理に時間がかかるようになってしまう。このため、▲１▼オーバーヘッドプロジェクター等の装置の調整時の待ち時間が増え調整効率が低下し、製造コストが増大する、▲２▼必要とするメモリ容量が大きい、などの欠点があった。
本発明は、上記課題を解決するためになされたもので、画像を区画分けしてその区画単位でシェーディング補正データを得るようにして短時間でメモリ容量の小さいシェーディング補正方法を提供することを目的とする。
【０００８】
【課題を解決するための手段】
本発明になるシェーディング補正回路は、原稿を照らす照明と、原稿を読み取るカメラと、カメラによって撮像された画像をスクリーンに投影する投射型ディスプレイ装置とを備えたオーバーヘッドプロジェクターにおいて、照明むらによって生じるシェーディングを補正するシェーディング補正回路であって、前記カメラからのｐ画素×ｑラインからなる画像を予め決められたｉ画素×ｉライン（ｉ＜ｐ、ｉ＜ｑ）からなるｍ×ｎのブロックに分割し、ｍ×ｎからなる画像データに縮小する縮小部と、この縮小部で縮小されたｍ×ｎからなる画像データからｍ×ｎからなるシェーディング補正データを生成するシェーディング補正データ生成部と、前記ｍ×ｎのブロックのまとまりの外周に各ブロック毎に隣接するブロックのシェーディング補正データを仮想シェーディング補正データとすることで１のシェーディング補正データを加え、全体として（ｍ＋１）×（ｎ＋１）からなるシェーディング補正データを生成すること；  この（ｍ＋１）×（ｎ＋１）からなるシェーディング補正データからｍ×ｎの各ブロックにおけるシェーディング補正データを座標変換して各ブロックの左上隅のシェーディング補正データとすること；  隣接する４ブロックの左上隅のシェーディング補正データから線形補間によりブロック当たりｉ×ｉ画素のシェーディング補正データを算出することによりｍ×ｎブロックについてそれぞれｉ×ｉ画素のシェーディング補正データを求め、最終的にはｐ画素×ｑラインからなるシェーディング補正データに拡大する拡大部と、このｐ画素×ｑラインからなるシェーディング補正データとカメラからのｐ画素×ｑラインからなる画像データで対応する位置の画素の画像データを乗算する演算部と、を有することを特徴とするものである。
【００１１】
【作用】
本発明によれば、縮小部で取扱う画素数を減らしたのでシェーディング補正データを生成する場合にも生成部の負担が軽くなる。また、画素数を減らしたのでシェーディング補正データの転送に費やす時間も少なくなる。
【００１２】
【発明の実施の形態】
以下、本発明について図面を用いて詳細に説明する。
図１は本発明の１実施形態を示すシェーディング補正部の主要ブロック図、図２は図１の画像縮小部分の詳細ブロック図、図３、図４および図５は画像縮小時の主要タイミングチャート図、図６は図１の画像拡大部分の詳細ブロック図である。
【００１３】
図１において、１は縮小部であって、原稿を撮像するＣＣＤカメラからの画像をシェーディング補正に影響が出ない程度のブロックに区切り、それぞれのブロックごとに加算平均値を求めるＳＨＤ縮小部、２はシェーディング補正データ作成時にはＳＨＤ縮小部１からの加算平均値を格納し、シェーディング補正実行時には縮小されたシェーディング補正データを格納するＳＨＤＲＡＭ、３は拡大部であって、シェーディング補正時にＳＨＤＲＡＭ２からの縮小されたシェーディング補正データを受けて、線形補間によりもとの画素数のシェーディング補正データを生成するＳＨＤ拡大部、４は演算部であって、ＳＨＤ拡大部３からのシェーディング補正データとＣＣＤカメラからの入力データ間で演算を行いシェーディング補正を行うＳＨＤ演算部である。
【００１４】
５はＳＨＤ縮小部１、ＳＨＤ拡大部３およびＳＨＤＲＡＭ２を制御する制御信号を生成するＳＨＤタイミングコントロール部、６はオーバーヘッドプロジェクタ全体のシステム動作を制御するものであって、本発明ではシェーディング補正関係の動作を制御するとともに縮小されたシェーディング補正データを生成するＣＰＵ、７はＣＰＵ６とＳＨＤタイミングコントロール部５やＳＨＤＲＡＭ２などからなるシェーディング補正ブロックとのインターフェースをとるＣＰＵインターフェース部、８はＣＰＵ６で生成した縮小されたシェーディング補正データを格納する記憶部である不揮発性メモリである。
【００１５】
図２はＳＨＤ縮小部１の詳細ブロック図であり、１１はＳＨＤタイミングコントロール部５からの制御のもとに、加算部１２の一方の入力を決定する選択部、１２は選択部１１からのデータとＣＣＤカメラからの画像データを加算する加算部、１３はＳＨＤタイミングコントロール部５からの制御のもとに加算部１２の加算結果を保持し、または出力する加算結果保持部、１４はＳＨＤタイミングコントロール部５からの制御のもとに加算平均値を算出する除算部、２は図１のＳＨＤＲＡＭ２と同じものである。
【００１６】
図３〜図５はＳＨＤ縮小動作を説明するタイミングチャート図であり、これらの信号はＳＨＤタイミングコントロール部５で生成される。ここで、図３は水平方向の予め決められた画素数（本実施の形態では５０画素）の加算を実行するのに必要なタイミング信号のタイミングチャート図、図４は垂直方向の予め決められたライン数（本実施の形態では５０ライン）の加算を実行するのに必要なタイミング信号のタイミングチャート図、図５は水平垂直の決められた画素数×ライン数に基づいて画像を縮小するのに必要なタイミング信号のタイミングチャート図である。
【００１７】
水平方向のタイミング信号は水平同期信号をもとに生成される。図３において、（ａ）は水平同期信号ＨＳＹＮＣ、（ｂ）は５０画素の加算平均値を算出する際の水平方向の画素をカウントするＨ５０画素カウント信号ＨＣＮＴ（以下、ＨＣＮＴという。）、（ｃ）はＨ５０画素カウント信号の終了であるＨ５０画素カウントクリア信号ＨＣＮＴＣＬＲ（以下、ＨＣＮＴＣＬＲという。）、（ｄ）は５０画素ごとのブロックに水平画像期間（本実施例では１６００画素×１２００ラインのＣＣＤカメラを使用しているので１６００画素）を分割するＨ３２ブロックカウント信号ＨＢＣＮＴ（以下、ＨＢＣＮＴという。）、（ｅ）はＨ３２ブロックカウント信号が３２ブロックをカウントするたびにカウントアップする垂直方向のラインをカウントするＶ５０ラインカウント信号ＶＣＮＴ（以下、ＶＣＮＴという。）である。
【００１８】
垂直方向のタイミング信号は垂直同期信号をもとに生成される。図４において、（ａ）は垂直同期信号ＶＳＹＮＣ、（ｂ）はＨ３２ブロックカウント信号が３２ブロックをカウントするたびにカウントアップする垂直方向のラインをカウントするものであり、５０ラインの加算平均値を算出する際の垂直方向のラインをカウントするＶ５０ラインカウント信号ＶＣＮＴ（以下、ＶＣＮＴという。）、（ｃ）はＶ５０ラインカウント信号の終了であるＶ５０ラインカウントクリア信号ＶＣＮＴＣＬＲ（以下ＶＣＮＴＣＬＲという。）、（ｄ）は５０ラインごとのブロックに垂直画像期間（本実施例では１６００画素×１２００ラインのＣＣＤカメラを使用しているので１２００ライン）を分割するＶ２４ブロックカウント信号ＶＢＣＮＴ（以下ＶＢＣＮＴという。）である。
【００１９】
画像を縮小するのに必要なタイミング信号は水平方向のタイミング信号と垂直方向のタイミング信号をもとに生成される。すなわち、５０画素×５０ラインのブロックごとに加算平均値を算出し、その結果をＳＨＤＲＡＭ２に格納することによって画像を縮小する。図５において、（ａ）はＨＢＣＮＴ、（ｂ）はＶＣＮＴ、（ｃ）は５０画素からなるブロックを３２ブロック分５０ライン加算終了後加算結果保持部１３からの出力信号１１９を除算部１４へ取り込み、除算を実行する除算実行信号ＤＩＶＥ＿ＡＣＴ（以下、ＤＩＶＥ＿ＡＣＴという。）、（ｄ）は加算結果保持部１３のレジスタの読み出しアドレスＲＥＧ＿ＲＡＤＲ（以下、ＲＥＧ＿ＲＡＤＲという。）、（ｅ）は除算部１４からの加算平均値１２０をＳＨＤＲＡＭ２へ書き込む書き込み信号ＳＨＤ＿ＷＲ（以下、ＳＨＤ＿ＷＲという。）、（ｆ）はＳＨＤＲＡＭ２への書き込みアドレスＳＨＤ＿ＷＡＤＲ（以下、ＳＨＤ＿ＷＡＤＲという。）である。
【００２０】
図６はＳＨＤ拡大部３の詳細ブロックであり、３１、３２、３３および３４は不揮発性ＲＡＭ８に格納されている縮小されたシェーディング補正データをＣＰＵ６で読み出し、ＣＰＵインターフェイス７を介してＳＨＤＲＡＭ２に格納した同データを読み出し、５０画素×５０ラインのブロックごとに隣接した４つのブロックの左上隅のデータに座標変換したシェーディング補正データを保持するフリップフロップで、３１はブロックｉの左上隅のシェーディング補正データＡを保持する第１フリップフロップ、３２はブロックｉの右隣のブロックの左上隅のシェーディング補正データＢを保持する第２フリップフロップ、３３はブロックｉの下隣のブロックの左上隅のシェーディング補正データＣを保持する第３フリップフロップ、３４はブロックｉの右下隣のブロックの左上隅のシェーディング補正データＤを保持する第４フリップフロップである。
【００２１】
３５は第１フリップフロップ３１の出力と第１の所定の値（２５６−５×ＶＣＮＴ）を乗算する第１乗算部、３６は第２フリップフロップ３２の出力と第１の所定の値を乗算する第２乗算部、３７は第３フリップフロップ３３の出力と第２の所定の値（５×ＶＣＮＴ）を乗算する第３乗算部、３８は第４フリップフロップ３４の出力と第２の所定の値を乗算する第４乗算部である。
【００２２】
３９は第１乗算部３５の乗算結果と第３乗算部３７の乗算結果を加算する第１加算部、４０は第２乗算部３６の乗算結果と第４乗算部３８の乗算結果を加算する第２加算部、４１は第１加算部３９の加算結果と第３の所定の値（２５６−５×ＨＣＮＴ）を乗算する第５乗算部、４２は第２加算部４２の加算結果と第４の所定の値（５×ＨＣＮＴ）を乗算する第６乗算部、４３は第５乗算部４１の乗算結果と第６乗算部４２の乗算結果を加算する第３加算部である。この第３加算部４３の加算結果は縮小前と同じ画素数からなるシェーディング補正データとなり、ＳＨＤ演算部４に出力される。
【００２３】
次にこのようなシェーディング補正部の動作について説明する。
まず、個別の動作を説明する前に図１を参照しながら全体の動作概要から説明する。
本発明の実施において原稿を撮像するために使用するＣＣＤカメラ（図示せず。）の画素数は１６００画素×１２００ラインで各画素データは８ビット構成とする。この１画面の画素データを区画分けする。この区画分けはメモリの節約、演算の容易さ等から少ない方がよいが、シェーディング補正に影響が出ない程度の大きさに区分けすることが重要であり、その観点から区分けする。本実施の形態では前述したように５０画素×５０ラインのブロックを１区画として区分けする。
【００２４】
シェーディング補正データの生成について説明する。シェーディング補正データ生成時には、開始要求信号１０５がＣＰＵ６からＣＰＵインターフェース７を介してＳＨＤタイミングコントロール部５に出力される。この信号と水平同期信号１０３と垂直同期信号１０４とをもとにＳＨＤタイミングコントロール部５において前述の種々のタイミング信号が生成される。
ＣＣＤカメラで白一色の原稿を撮像し、この画像データ１０１をＳＨＤ縮小部１に入力する。ＳＨＤ縮小部１では５０画素×５０ラインのブロックごとに加算平均値を算出する。この加算平均値は５０画素×５０ラインで区分されているので３２×２４のデータとして得られ、これがＳＨＤＲＡＭ２に格納される。この時点でＳＨＤタイミングコントロール部５で終了信号１０６が生成され、ＣＰＵインターフェース７を介してＣＰＵ６に入力される。ＣＰＵ６はこの終了信号１０６を読み込むと、この格納データをＣＰＵ６がＣＰＵインターフェース７を介して読み込み、ＣＰＵ６内部の演算部で公知の方法で縮小されたシェーディング補正データを生成し、不揮発性メモリ８に格納する。これで縮小されたシェーディング補正データの生成が終了する。
【００２５】
次にシェーディング補正について説明する。ＣＰＵ６は不揮発性メモリ８から３２×２４のシェーディング補正データを読み出し、３３×２５のシェーディング補正データに加工し、ＣＰＵインターフェース７を介してＳＨＤＲＡＭ２に書込む。３３×２５のシェーディング補正データに加工するのは、後述する座標変換のときに３２×２４のブロックのまとまりの四辺のブロックのシェーディング補正データを算出する場合、仮想のデータが必要であり、そのデータを隣接するシェーディング補正データを用いるためである。
【００２６】
ＳＨＤＲＡＭ２から読み出された縮小されたシェーディング補正データはＳＨＤ拡大部３に送られる。送られてきた３３×２５の縮小されたシェーディング補正データは３２×２４のブロックの重心位置のシェーディング補正データと四辺の仮想シェーディング補正データである。ＳＨＤ拡大部３では３３×２５のシェーディング補正データからもとの画素数、画素ラインである１６００×１２００のシェーディング補正データを作成する。このためには３３×２５のシェーディング補正データの間の画素を線形補間により計算により算出する必要がある。
【００２７】
前述したように、３２×２４のシェーディング補正データは各ブロックの重心位置のシェーディング補正データであるから、このシェーディング補正データをもとに隣接する４ブロックの左上隅のシェーディング補正データを算出する。この時四辺の場合は演算対象となるシェーディング補正データが存在しないので、隣接のシェーディング補正データを使用する。この重心位置のシェーディング補正データからの各ブロックの左上隅のシェーディング補正データの算出にも線形補間演算を用いる。こうして求められた四個のシェーディング補正データのうちブロックｉの左上隅のシェーディング補正データをＡ、ブロックｉの右隣のブロックの左上隅のシェーディング補正データをＢ、ブロックｉの下隣のブロックの左上隅のシェーディング補正データをＣ、ブロックｉの右下隣の左上隅のシェーディング補正データをＤとすると、線形補間で求められる５０画素のデータは次の式の通りである。
【００２８】
ブロックｉの左上隅からブロックｉの下隣のブロックの左上隅間の各画素のシェーディング補正画素データｄAC
ｄAC＝(256−5×VCNT)×A＋5×VCNT×C……（式１）
ブロックｉの右隣のブロックの左上隅からブロックｉの右下隣のブロックの左上隅間の各画素のシェーディング補正画素データｄBD
ｄBD＝(256−5×VCNT)×B＋5×VCNT×D……（式２）
ここで、ＶＣＮＴは０から４９で表わされるＶ５０ラインカウント信号である。
したがって、ブロックｉの全画素のシェーディング補正データＤＡＴＡは次のようにして求められる。
DATA＝(256−5×HCNT)×ｄAC＋5×HCNT×ｄBD……（式３）
ここで、ＨＣＮＴは０から４９で表わされるＨ５０画素カウント信号である。
【００２９】
以上のようにして、１ブロックの各画素のシェーディング補正データが算出できるので、これを３２×２４のブロック全てに実行すると、１６００画素×１２００ラインのシェーディング補正データ１０２が算出できる。このシェーディング補正データ１０２とＣＣＤカメラからの画像データ１０１をＳＨＤ演算部４に入力し、ここで対応する画素同志間の乗算であるシェーディング補正演算を行うことでシェーディング補正が完成する。
【００３０】
次にＳＨＤ縮小部１およびＳＨＤ拡大部３の動作をそれぞれ詳しく説明する。
ＳＨＤ縮小部１の動作から説明する。ＳＨＤ縮小動作はシェーディング補正データ作成時にのみ動作させる。
選択部１１には選択信号としてＶＣＮＴＣＬＲ１１２、ＨＣＮＴＣＬＲ１１３、垂直画像期間信号ＶＵＮＢＬＫ１１４（以下、ＶＵＮＢＬＫ１１４という。）および水平画像期間信号ＨＵＮＢＬＫ１１５（以下、ＨＵＮＢＬＫ１１５という。）が、被選択信号として、数値０、加算部１２の出力信号１１６、加算結果保持部１３の出力信号１１９が入力される。
【００３１】
選択部１１では選択信号により次のような出力が得られる。ＶＣＮＴＣＬＲ１１２＝０、ＨＣＮＴＣＬＲ１１３＝０、ＶＵＮＢＬＫ１１４＝１、かつＨＵＮＢＬＫ１１５＝１のとき０が、ＶＵＮＢＬＫ＝１かつＨＵＮＢＬＫ＝１のとき加算部１２の出力信号１１６が、ＶＵＮＢＬＫ１１２＝１、ＨＵＮＢＬＫ＝１、かつＨＣＮＴＣＬＲ１１５＝０のとき加算結果保持部１３の出力信号１１９が、それ以外のとき０が出力される。
【００３２】
ＣＣＤカメラからの画像データ１１１が加算部１２の一方の入力端から入力される。他の入力端からは選択部１１からの出力信号が入力される。前述したように画像期間外は選択部１１からは０が出力されるので加算部には０が入力され、ＣＣＤカメラからの画像データ１１１も０である。したがって加算結果も０である。
【００３３】
最初の水平画像期間が始まると、ＨＣＮＴおよびＨＢＣＮＴのカウントが始まり、ＣＣＤカメラからの画像データ１１１の１番目の画素データが加算部１２に入力されるとき、前述のように選択部１１の出力は０であるから、加算結果は画像データの１番目の画素データのままである。加算部１２の一方の入力端へはＣＣＤカメラからの画像データ１１１が次々に入力され、他の一端には選択部１１からの出力信号は前述したように続いて５０画素の間は加算部１２からの加算結果１１６が選択されて入力される。この間ＨＣＮＴは５０カウントを実行し、５０カウント目にＨＣＮＴＣＬＲ１１７が出力される。
【００３４】
したがって、最初の５０画素の間は各画素の加算が実行される。この５０画素の加算が終了すると加算結果１１６はＨＣＮＴＣＬＲ１１７の制御のもとにＨＢＣＮＴ１１８を書き込みアドレスとして加算結果保持部１３に保持される。この時の書き込みアドレスは０である。この保持動作が終了するとＨＢＣＮＴ１１８は１カウントアップされて１になる。最初の水平画像期間は前述のようにして次々と合計３２個の５０画素の加算結果１１６が加算結果保持部１３に保持される。このときＨＣＮＴは５０カウントを順次計３２回繰り返すことになり、ＨＢＣＮＴ１１８は０から３１の値をとる。したがって保持動作時の書き込みアドレスは最初のときを含めて順に０から３１である。また、ＨＢＣＮＴ１１８が３２カウントしたときＶＣＮＴ信号が１だけカウントアップする。こうして次の水平画像期間になるのを待つ訳である。この様子は図３の（ｂ）ＨＣＮＴ、（ｃ）ＨＣＮＴＣＬＲ、（ｄ）ＨＢＣＮＴ、（ｅ）ＶＣＮＴに詳しく図示してある。
【００３５】
次の水平画像期間のときについて説明する。
このときもＣＣＤカメラからの画像データ１１１は加算部の一方の入力端に入力される。選択部１１からの選択出力は前述のように５０画素の先頭のアドレスごとに対応する加算結果保持部１３の出力信号１１９となり、それ以外のときは加算部１２の出力信号１１６となる。こうして５０画素ごとに加算が行われ、前回の５０画素の加算結果と合わせて１００画素の加算結果が０から３１の各ＨＢＣＮＴごとに保持される。このときのＨＣＮＴ、ＨＢＣＮＴの動作も最初の水平画像期間のときと同様である。
【００３６】
この動作と同様の動作が水平画像期間が５０カウント（すなわち、ＶＣＮＴが５０カウント）されるまで継続される。ＶＣＮＴが５０カウントされるとＶＣＮＴＣＬＲ１１２が出力され、ＶＢＣＮＴが１カウントアップされる。その結果、加算結果保持部１３の各レジスタには水平方向５０画素、垂直方向５０ライン合計２５００画素からなるブロックの加算結果が３２ブロック分保持される。このように２５００画素の加算結果が３２ブロック分求められると、これら値は次の水平画像期間が始まるまでに、次々に除算部１４に送られ、ここで２５００で除算され、その結果そのブロックの加算平均値１２０が算出され、このそれぞれの加算平均値の１２０が３２ブロック分ＳＨＤＲＡＭ２に格納される。
【００３７】
この加算平均値の算出とＳＨＤＲＡＭ２への格納は次のようにして行う。
５０画素×５０ラインからなるブロックの加算結果が３２ブロック分揃った時、すなわちＨＢＣＮＴが３１になり、かつＶＣＮＴが４９になった時ＤＩＶＥ＿ＡＣＴ１２１が除算部１４に入力される。このときＲＥＧ＿ＲＡＤＲ１２４は０であるから加算結果保持部１３からの加算結果信号１１６は３２個のレジスタのうち最初のレジスタであるレジスタ０に格納してある加算結果を読み出す。この加算結果が出力信号１１９として除算部１４に入力されているから、ＤＩＶＥ＿ＡＣＴ１２１が入力された時点で２５００で除算が実行され、加算平均値が算出される。
【００３８】
この加算平均値が算出された時点（例えば、ＤＩＶＥ＿ＡＣＴ１２１から２画素クロック後）でＳＨＤ＿ＷＲ１２２がＳＨＤＲＡＭ２に入力され、加算平均値１２０がＳＨＤＲＡＭ２に格納される。このときＳＨＤＲＡＭ２へのＳＨＤ＿ＷＡＤＲ１２３は０であるのでアドレス０に格納される。なお、ＲＥＧ＿ＲＡＤＲ１２４はＤＩＶＥ＿ＡＣＴ１２１の後縁でカウントアップされ１となり、ＳＨＤ＿ＷＡＤＲ１２３はＳＨＤ＿ＷＲ１２２の後縁でカウントアップされ１となる。
【００３９】
また、ＤＩＶＥ＿ＡＣＴ１２１は除算結果１２０がＳＨＤＲＡＭ２に格納された後（例えば、前のＤＩＶＥ＿ＡＣＴ１２１が出力された後３画素クロック後）再度出力され、除算部１４に入力される。このとき前述のようにＲＥＧ＿ＲＡＤＲ１２４は１であるから２番目のレジスタであるレジスタ１に格納してある加算結果を読み出し、除算部１４に送出される。除算部１４では前述と同様に２５００で除算され、加算平均値である除算結果が算出され、ＳＨＤＲＡＭ２に送出される。ここで、ＳＨＤ＿ＷＲ１２２がＳＨＤＲＡＭ２に入力されるのでこの加算平均値がＳＨＤＲＡＭ２に格納される。このときのアドレスは前述のように１である。このようにして、３２個のレジスタ全てについて加算平均値が算出され、ＳＨＤＲＡＭ２に順に格納される。こうして３２ブロック全ての加算平均値がＳＨＤＲＡＭ２に格納されるのである。
【００４０】
なお、ＤＩＶＥ＿ＡＣＴ１２１が３２個出力された後のＲＥＧ＿ＲＡＤＲ１２４は０となり、ＳＨＤ＿ＷＲ１２２が３２個出力された後のＳＨＤ＿ＷＡＤＲ１２３は３３となる。ここで、３２としないのはＳＨＤＲＡＭ２の構成が３３×２５であり、ブロックの構成は３２×２４であるからであり、前述したようにＳＨＤ拡大時にアドレス３２に相当するエリアを使用するからである。この様子は、図５の（ａ）ＨＢＣＮＴ、（ｂ）ＶＣＮＴ、（ｃ）ＤＩＶＥ＿ＡＣＴ、（ｄ）ＲＥＧ＿ＲＡＤＲ、（ｅ）ＳＨＤ＿ＷＲ、および（ｆ）ＳＨＤ＿ＷＡＤＲに詳しく図示してある。
【００４１】
５０画素×５０ラインごとに上述の動作が繰り返され、ＶＢＣＮＴは２４カウントされ、結局３２×２４ブロックの加算平均値が算出され、この加算平均値１２０がＳＨＤＲＡＭ２に格納される。こうしてＳＨＤ縮小動作が完了する。この様子は、図４の（ｂ）ＶＣＮＴ、（ｃ）ＶＣＮＴＣＬＲ、（ｄ）ＶＢＣＮＴに詳しく図示してある。
【００４２】
次に、拡大動作について詳しく説明する。この拡大動作はシェーディング補正データを３２×２４に縮小されたシェーディング補正データをもとのサイズである１６００×１２００からなるシェーディング補正データに拡大するものである。
図６はＳＨＤ拡大部３の詳細ブロック図である。拡大動作は前述の式（３）の動作を実行させることによって実現できる。ここで、第１の所定値（２５６−５×ＶＣＮＴ）、第２の所定値（５×ＶＣＮＴ）、第３の所定値（２５６−５×ＨＣＮＴ）、および第４の所定値（５×ＨＣＮＴ）はＳＨＤタイミングコントロール部５で生成される。これらの所定値は次のようにして生成する。Ｖ５０ラインカウント信号で０〜４９の値からなるＶＣＮＴと数値５を乗算器に入力し、乗算を行い、その乗算結果として第２の所定値を生成し、この乗算結果と数値２５６を減算器に入力し、数値２５６からこの乗算結果を減算することによって第１の所定値を生成する。同様に、Ｈ５０画素カウント信号で０〜４９の値からなるＨＣＮＴと数値５を別の乗算器に入力し、乗算を行い、その乗算結果として第４の所定値を生成し、この乗算結果と数値２５６を別の減算器に入力し、数値２５６からこの乗算結果を減算することによって第３の所定値を生成する。
【００４３】
不揮発性メモリ８に格納されていた３２×２４のシェーディング補正データは、ＣＰＵ６で読み出され、ＣＰＵインターフェイス７を介してＳＨＤＲＡＭ２に格納される。このときのシェーディング補正データは３２×２４の各ブロックの重心位置のデータである。後述する拡大動作は線形補間により実行するため、重心位置のデータから各ブロックの左上隅のデータとして線形補間により求めるために、外周のデータとして新たに隣接したデータを用いて生成し、ＳＨＤＲＡＭ２には３３×２５のシェーディング補正データを格納する。
【００４４】
この３３×２５のシェーディング補正データを読み出し、線形補間により、まず各ブロックの左上隅のシェーディング補正データを算出する。ここで、ブロックｉの左上隅のシェーディング補正データをＡ、ブロックｉの右隣のブロックの左上隅のシェーディング補正データをＢ、ブロックｉの下隣のブロックの左上隅のシェーディング補正データをＣ、ブロックｉの右下隣の左上隅のシェーディング補正データをＤとする。
【００４５】
このシェーディング補正データが順に、第１〜第４フリップフロップ３１〜３４に格納される。そして、第１〜第４フリップフロップ３１〜３４の出力データが順に第１乗算部３５、第２乗算部３６、第３乗算部３７および第４乗算部３８に入力される。第１乗算部３５と第２乗算部３６のもう一方の入力には第１の所定値（２５６−５×ＶＣＮＴ）が、第３乗算部３７と第４乗算部３８のもう一方の入力には第２の所定値（５×ＶＣＮＴ）が入力されている。ここまでの乗算において、式１および式２の第１項と第２項の乗算が実行されることとなる。次に、第１乗算部３５の乗算結果と第３乗算部３７の乗算結果が第１加算部３９に、第２乗算部３６の乗算結果と第４乗算部３８の乗算結果が第２加算部４０に送られ、ここでそれぞれ加算される。こうして、式１および式２が実行される。
【００４６】
第１加算部３９の加算結果は第５乗算部４１に送られ、第２加算部４０の加算結果は第６乗算部４２に送られる。一方、第５乗算部４１のもう一方の入力端には第３の所定値（２５６−５×ＨＣＮＴ）が入力され、第６乗算部４２のもう一方の入力端には第４の所定値（５×ＨＣＮＴ）が入力される。この第５、第６乗算部により式３の第１項および第３項の乗算が実行される。この２つの乗算結果は第３加算部４３に送られて加算され、式３の結果が得られる。ここで、前述したようにＨＣＮＴ、ＶＣＮＴはそれぞれ５０画素、５０ラインのカウント出力であるから、以上のような演算を行うことにより、各ブロック１個の重心位置のシェーディング補正データから隣接４ブロックの左上隅のシェーディング補正データを求め、その上で５０画素×５０ラインのシェーディング補正データを算出する。ブロックは前述のように３２×２４であるから結局１６００画素×１２００ラインのシェーディング補正データを算出することができる。以上が拡大動作である。
【００４７】
以上実施の形態をあげて本発明について説明したが、本発明が、この実施の形態に制限されるものでないことは言うまでもないことであり、本発明の趣旨を逸脱しない範囲で自由に形態を変えて実施できるものである。例えば、本実施の形態では加算保持部１３をレジスタにより構成しているが、これに代えてＲＡＭで構成するようなものである。
【００４８】
【発明の効果】
本発明によれば、以上説明したように、シェーディング補正回路をＣＣＤカメラからの１６００画素×１２００ラインからなる画像を予め決められた５０画素×５０ラインからなる３２×２４のブロックに分割し、３２×２４からなる画像データに縮小するＳＨＤ縮小部と、この縮小部で縮小された３２×２４からなる画像データから３２×２４からなるシェーディング補正データを生成するシェーディング補正データ生成部であるＣＰＵと、この３２×２４からなるシェーディング補正データを１６００画素×１２００からなるシェーディング補正データに拡大する拡大部と、この１６００画素×１２００ラインからなるシェーディング補正データとカメラからの１６００画素×１２００ラインからなる画像データで対応する位置の画素の画像データを乗算するＳＨＤ演算部とで構成したのでＣＣＤカメラの画素数が増大しても、シェーディング補正に要する一連の処理を短時間で実行でき必要とするメモリ容量を少なくできる。したがって、シェーディング補正の調整時の待ち時間が低減されるから調整効率が向上するので工数が低減され、低コストのオーバーヘッドプロジェクタを提供できる。
【図面の簡単な説明】
【図１】本発明の１実施形態を示すシェーディング補正部の主要ブロック図である。
【図２】図１の画像縮小部分の詳細ブロック図である。
【図３】画像縮小時の主要タイミングチャート図の一部である水平方向の予め決められた画素数の加算を実行するのに必要なタイミング信号のタイミングチャート図である。
【図４】画像縮小時の主要タイミングチャート図の一部である垂直方向の予め決められたライン数の加算を実行するのに必要なタイミング信号のタイミングチャート図である。
【図５】画像縮小時の主要タイミングチャート図の一部である水平垂直の決められた画素数×ライン数に縮小するのに必要なタイミング信号のタイミングチャート図である。
【図６】図１の画像拡大部分の詳細ブロック図である。
【符号の説明】
１  ＳＨＤ縮小部
２  ＳＨＤＲＡＭ
３  ＳＨＤ拡大部
４  ＳＨＤ演算部
５  ＳＨＤタイミングコントロール部
６  ＣＰＵインターフェイス
７  不揮発性メモリ
【図１】
0003701895.tif 000002
【図２】
0003701895.tif 000003
【図３】
0003701895.tif 000004
【図４】
0003701895.tif 000005
【図５】
0003701895.tif 000006
【図６】
0003701895.tif 000007