(57)【特許請求の範囲】
【請求項１】
複数ラインの入力画像データを一時的に記憶する入力側バッファと、メモリへの読み書きを調停するアービタと、該アービタから入力された複数ラインの画像データを一時的に記憶して出力する出力側バッファと、前記アービタにより調停された前記画像データを保存するフレームメモリと、前記出力側バッファ内に記憶された画像データの読み出しアドレスを生成する読出しアドレス生成回路と、を備えた共振型光スキャナを用いたレーザープロジェクター装置のフレームメモリ制御装置であって、
前記入力側バッファに記憶され、且つＸ座標が共通する前記複数ラインの画像データを前記フレームメモリの同一ラインに組み込むパッキング回路と、
前記パッキング回路によりパッキングされた画像データを前記フレームメモリより読み出して現在ラインを含む複数ラインの画像データに復元するアンパッキング回路と、
該アンパッキング回路により復元された画像データを前記読出しアドレス生成回路から受け取った画像補整の係数と、前記現在ラインの画像データおよび前記現在ラインに前後する画像データと、に基づいて補整する画像補整回路と、
を備えたことを特徴とするフレームメモリ制御装置。
【請求項２】
前記複数ラインは、前記現在ラインをＮラインとした場合、該Ｎライン、Ｎ−１ライン、及びＮ＋１ラインの少なくとも３ラインであることを特徴とする請求項１に記載のフレームメモリ制御装置。
【請求項３】
前記パッキング回路を前記入力側バッファ内に備え、前記アンパッキング回路を前記出力側バッファ内に備えたことを特徴とする請求項１に記載のフレームメモリ制御装置。
【請求項４】
前記画像補整の係数は、前記アドレス生成回路により生成するアドレス値の演算結果から得られる小数点以下の値であることを特徴とする請求項１に記載のフレームメモリ制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、フレームメモリ制御装置に関して、特に、プロジェクターの画像歪を補正するためのフレームメモリ制御装置に関するものである。
【背景技術】
【０００２】
近年、レーザーを光源に用いた映像投影装置（以下、プロジェクターと呼ぶ）の開発が活発化している。レーザーを光源に用いることにより、非常に彩度が高く、なおかつ色再現性が高いプロジェクターの実現が可能になった。レーザー光をスクリーンに投射するための偏向光学素子としては、ＤＬＰ（Digital Light Processing）やＬＣＯＳ（Liquid crystal on silicon）及びＭＥＭＳ（micro electro mechanical system）ミラーを利用する方法が知られている。
また、投影時の歪み補正について、ＭＥＭＳミラーを用いたレーザー照射型の小型プロジェクターによる歪み補正方式が提案されている。また、共振型ＭＥＭＳミラーを用いたレーザープロジェクターにおける歪み補正方式において、フリースキャン方式でも安価なメモリをフレームバッファとして使用する技術が提案されている。
【０００３】
図６（ａ）は通常のラスタスキャンの説明図である。複写機やＴＶシステムはこのスキャン動作で行われる。Ｘ（横）方向は一直線にアクセスし、フレームメモリにＤＲＡＭを使用する場合には、バーストアクセスができるので、ＤＲＡＭアクセスはそれほど気にする必要はない。Ｙ（縦）方向は上から下への一方方向である。
図６（ｂ）は特許文献１の説明図である。共振型光スキャナを使うため、Ｘ（横）方向の走査が若干斜めになり、Ｙ（縦）方向のスキャン動作を遅くすることによって複数ラインを跨がない構成としている。しかし、次のような問題が有る。
１）Ｙ（縦）方向のスキャンを遅くすることは共振型光スキャナでは不可能で、電磁型等構造的に大きな光スキャナを選ばなければならないため、共振型の小型という特徴が失われる。
２）画角を大きく取るために拡大光学系を導入すると、走査線が湾曲することになり、１方向の走査では対応出来ない。
【０００４】
図６（ｃ）は拡大光学系（レンズ）を入れた場合の走査線の説明図である。Ｘ（横）方向への走査中にもＹ（縦）方向の変化が発生する。
図６（ｄ）はフリースキャンの場合の走査線の説明図である。Ｘ・Ｙ両方とも共振型の光スキャナではＹ（縦）方向の走査周波数を物理的に小さくできないため、Ｘ（横）方向への走査中にもＹ（縦）方向の変化が発生する。
この状態をフリースキャンと言う。拡大光学系を用いた歪みが大きい場合や、主走査／副走査共に共振型光スキャナを用いたなフリースキャンの様なアドレス変化の激しいメモリアクセスの場合、単純なバーストアクセスではパフォーマンスが出ない。これを解決する技術として同一出願人より、メモリアクセスで単純なバーストアクセスではなく、入力画像、出力画像の状況に合わせた効率的なメモリアクセスについて提案している。
【０００５】
図７は同一出願人より提案されている一般的な複数ラインの画像補整を行うメモリコントローラの説明図である。各構成については後述するので説明を省略する。
このメモリコントローラは、１ラインの数画素ずつを連続アクセスすることを想定しており、複数ラインの同時読出しはできない。複数ライン分を読み出す場合、相応の読出し時間が必要になる。例えば３ライン分なら、３倍であるが、この読出し時間はプロジェクターシステムとしては致命的に遅い時間である。複数ラインを使用する画像補整の場合、画像補整で参照するためのデータを複数ライン分どこかに持つ必要がある。
図８は複数ラインの画像補整回路４４へ３ラインのデータを渡す出力側バッファの例を示す図である。各構成については後述するので説明を省略する。
【０００６】
図９は通常のラスタスキャンではラインバッファをカスケード接続することで実現する様子を示す図である。通常のラスタスキャンでは、フレームメモリから読み出したデータを順送りにして前（図９のＮ−１やＮ）ラインデータ用に利用することで、フレームメモリのアクセスを軽減している。
しかし、光学系の歪みが大きい場合や、共振型光スキャナがフリースキャンである場合には、画像データをライン順次で読み出さないため、図９のラインバッファをカスケード結合する方法では実現できない。その理由は、Ｘ（横）方向のスキャンはＹ（縦）方向に移動しながら行われるため、直前のライン（Ｎ−１ライン目）のデータが読み出されていない場合が多く、順送りに保存しても意味をなさないためである。
また、従来技術として特許文献１には、走査線の間隔偏りによる解像度低下を抑止する目的で、共振型光スキャナを用いたレーザープロジェクター装置について開示されている。この発明によると、往復走査による描画において、共振型光スキャナの特性である斜めの描画による画像劣化に対応するために、奇数フレームと偶数フレームの走査開始位置を逆位相とする構成と、前後のラインデータから実際に描画する位置のデータを係数テーブルで計算して描画することにより、画像を補整する構成について開示されている。
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかし、今までの共振型ＭＥＭＳミラーを用いたレーザープロジェクターにおける歪み補正方式では、画像出力側はフリースキャンになるため、フレームメモリ読出しデータにおいて複数ラインでの画像補正処理をしたい場合に、ラスタスキャンで一般に用いられる直前の数ラインをラインメモリに保持する方法が使用出来ず、複数ラインでの画像補整処理ができないという問題があった。
また、特許文献１に開示されている従来技術は、複数ラインのデータを用いて画像補整する点では本発明と類似しているが、共振型光スキャナのフリースキャン動作における複数ラインのデータを保持できないという問題は解消できていない。
本発明は、かかる課題に鑑みてなされたものであり、共振型ＭＥＭＳミラーを用いたレーザープロジェクターにおける歪み補正方式において、フレームバッファ読出しデータに対して複数ラインの画像補整処理を実現することが可能なフレームメモリ制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明はかかる課題を解決するために、請求項１は、複数ラインの入力画像データを一時的に記憶する入力側バッファと、メモリへの読み書きを調停するアービタと、該アービタから入力された複数ラインの画像データを一時的に記憶して出力する出力側バッファと、前記アービタにより調停された前記画像データを保存するフレームメモリと、前記出力側バッファ内に記憶された画像データの読み出しアドレスを生成する読出しアドレス生成回路と、を備えた共振型光スキャナを用いたレーザープロジェクター装置のフレームメモリ制御装置であって、前記入力側バッファに記憶され、且つＸ座標が共通する前記複数ラインの画像データを前記フレームメモリの同一ラインに組み込むパッキング回路と、前記パッキング回路によりパッキングされた画像データを前記フレームメモリより読み出して現在ラインを含む複数ラインの画像データに復元するアンパッキング回路と、該アンパッキング回路により復元された画像データを前記読出しアドレス生成回路から受け取った画像補整の係数と、前記現在ラインの画像データおよび前記現在ラインに前後する画像データと、に基づいて補整する画像補整回路と、を備えたことを特徴とする。
本発明のフレームメモリ制御装置は、従来の回路に入力側バッファに記憶され、且つＸ座標が共通する複数ラインの画像データをフレームメモリの同一ラインに組み込むパッキング回路と、アンパッキング回路により復元された画像データを読出しアドレス生成回路から受け取った画像補整の係数に基づいて補整する画像補整回路とを更に備えている。これにより、フレームメモリへ画像を書き込む際に、現在ラインを含む複数ラインを同時に書き込むことによって、フレームメモリから画像を読み出す際に少ないアクセスで現在ラインを含む複数ラインを同時に読み出すことができる。
【０００９】
請求項２は、前記複数ラインは、前記現在ラインをＮラインとした場合、該Ｎライン、Ｎ−１ライン、及びＮ＋１ラインの少なくとも３ラインであることを特徴とする。
現在ラインに対して前後のラインが最も現在ラインに影響を与えるラインといえる。従って、現在ラインとその前後のラインを同時に書き込むことによって、フレームメモリから画像を読み出す際に少ないアクセスで処理することができる。
請求項３は、前記パッキング回路を前記入力側バッファ内に備え、前記アンパッキング回路を前記出力側バッファ内に備えたことを特徴とする。
入力側バッファには、現在ラインを含む複数ラインのバッファがあり、それらのバッファから、同時に読み出してデータを１ラインにパッキングしてアービタに出力する。また、出力側バッファには、アービタからパッキングされたデータを入力するので、そのデータを複数のラインデータに復元する必要がある。これにより、従来の構成を大きく変更することなしに、フレームメモリ制御装置を構成することができる。
【００１０】
請求項４は、前記画像補整の係数は、前記アドレス生成回路により生成するアドレス値の演算結果から得られる小数点以下の値であることを特徴とする。
アドレス演算は、入力として、Ｘ、Ｙそれぞれのクロックカウント値、ＭＥＭＳ振動周期でラップする。現在の実装では１００ＭＨｚでカウントしている。中間値としては、出力するべき入力画像内の画素位置であり、出力としては、ＤＤＲメモリアドレスとなる。演算式は下記のような４次の多項式を用いて計算する。
入力座標（ｘ，ｙ）→出力座標（ｘ’，ｙ’）
ｘ’＝（ｄｘ１＊ｙ＾２＋ｄｘ２＊ｙ＋ｄｘ３）＊ｘ＋（ｄｘ４＊ｙ＾２＋ｄｘ５＊ｙ＋ｄｘ６）
ｙ’＝（ｄｙ１＊ｘ＾２＋ｄｙ２＊ｘ＋ｄｙ３）＊ｙ＾２＋（ｄｙ４＊ｘ＾２＋ｄｙ５＊ｘ＋ｄｙ６）＊ｙ＋（ｄｙ７＊ｘ＾２＋ｄｙ８＊ｘ＋ｄｙ９）
入力パラメータｄｘ１〜ｄｘ６、ｄｙ１〜ｄｙ６として、６４ｂｉｔ値（整数１２ｂｉｔ／小数４８ｂｉｔ）を用いて演算するが、演算結果となる（ｘ’，ｙ’）も整数値になるわけではなく、小数点以下を含んだ値になる。
【発明の効果】
【００１１】
本発明によれば、フレームメモリへ画像を書き込む際に、現在ラインを含む複数ラインを同時に書き込むことによって、フレームメモリから画像を読み出す際に少ないアクセスで現在ラインを含む複数ラインを同時に読み出すことができるので、共振型光スキャナのフリースキャン動作において複数ラインのデータを使用した画像補整を行うことができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の入力側バッファの構成を示す図である。
【図２】アービタへ渡すデータが３２ｂｉｔ単位だった場合の本発明のパッキング回路のパッキング動作を説明する図である。
【図３】アービタへ渡すデータが６４ｂｉｔ単位だった場合の本発明のパッキング回路のパッキング動作を説明する図である。
【図４】本発明の出力側バッファの構成を示す図である。
【図５】本発明のフレームメモリ制御装置の構成を示すブロック図である。
【図６】（ａ）は通常のラスタスキャンの説明図、（ｂ）は特許文献１の説明図、（ｃ）は拡大光学系（レンズ）を入れた場合の走査線の説明図、（ｄ）はフリースキャンの場合の走査線の説明図である。
【図７】同一出願人より提案されている一般的な複数ラインの画像補整を行うメモリコントローラの説明図である。
【図８】複数ラインの画像補整フィルタへ３ラインのデータを渡す出力側バッファの例を示す図である。
【図９】通常のラスタスキャンではラインバッファをカスケード接続することで実現する様子を示す図である。
【発明を実施するための形態】
【００１３】
以下、本発明を図に示した実施形態を用いて詳細に説明する。但し、この実施形態に記載される構成要素、種類、組み合わせ、形状、その相対配置などは特定的な記載がない限り、この発明の範囲をそれのみに限定する主旨ではなく単なる説明例に過ぎない。
本発明では、手段１として、フレームメモリ１２にデータを書き込む際に必要な複数ラインを一緒に書き込む。手段２として、フレームメモリ１２からデータを読み出す際に必要な複数ラインを一緒に読み出すことで解決する。以下、手段１について説明する。
【００１４】
図１は本発明の入力側バッファの構成を示す図である。本発明の入力側バッファ４は、Ｎ＋１ライン目データを記憶するバッファ１５と、Ｎライン目データを記憶するバッファ１６と、Ｎ−１ライン目データを記憶するバッファ１７と、入力側バッファ１５〜１７に記憶された複数ラインの画像データを同一ラインに組み込むパッキング回路１８と、を備えている。
１）Ｖｉｄｅｏ入力２から入力されたデータは、“Ｎ＋１ライン目のデータ“がラインバッファ１５に保存される。
２）ライン同期信号が入力されると、Ｖｉｄｅｏ入力２から入力されたデータは、“Ｎ＋１ライン目のデータ“がラインバッファ１５に保存される。“Ｎ＋１ライン目のデータ”のラインバッファ１５から読み出されたデータは“Ｎライン目のデータ”のラインバッファ１６へ保存される。
３）次のライン同期信号が入力されると、Ｖｉｄｅｏ入力２から入力されたデータは”Ｎ＋１ライン目のデータ”のラインバッファ１５へ保存される。“Ｎ＋１ライン目のデータ”のラインバッファ１５から読み出されたデータは“Ｎライン目のデータ”のラインバッファ１６へ保存され、“Ｎライン目のデータ”のラインバッファ１６から読み出されたデータは“Ｎ−１ライン目のデータ”のラインバッファ１７へ保存される。
【００１５】
図２はアービタへ渡すデータが３２ｂｉｔ単位だった場合の本発明のパッキング回路のパッキング動作を説明する図である。図３はアービタへ渡すデータが６４ｂｉｔ単位だった場合の本発明のパッキング回路のパッキング動作を説明する図である。
このパッキングを用いると保存するデータ量２倍から２．７倍程度に増えるが、現在主流のＤＲＡＭである、ＤＤＲ２、ＤＤＲ３メモリを使用する場合には容量単価が十分に安く、問題にならない。
尚、ＳＶＧＡ表示に必要なメモリ容量：８００ｘ６００ｘ２４ｂｉｔ＝１１．５２Ｍｂｉｔ、ＸＧＡ表示に必要なメモリ容量：１０２４ｘ７６８ｘ２４ｂｉｔ＝１８．８８Ｍｂｉｔとなり、書込みにともなうデータ転送量も２倍（３２ｂｉｔ時の例）から２．７倍（６４ｂｉｔ時の例）程度に増えるが、連続アドレスであるためバーストアクセスが可能であり、書込みライン変更によるＤＲＡＭアクセスオーバーヘッドが無いため問題にはならない。
ここで、ＭはＸ座標、ＮはＹ座標になり、これを一般化して表記している。例えば、１００ライン目でライン開始点から１５０画素目であれば（１５０、１００）であるので、Ｍ＝１５０、Ｎ＝１００となる。
つまり、図２、３は、Ｘ座標値が同じ（Ｍ）で、Ｙ座標値が現在ライン（Ｎ）と、現在ラインから±１（Ｎ±１）のデータを１ワードにパッキングして保存することを示している。
【００１６】
次に手段２について説明する。こちらはパッキングされたデータを読み出して出力側バッファに入れる動作である。図４は本発明の出力側バッファの構成を示す図である。本発明の出力側バッファ７は、パッキング回路１８によりパッキングされた画像データをフレームメモリ１２より読み出して複数ラインの画像データに復元するアンパッキング回路１９と、Ｎ＋１ライン目データを記憶するバッファ２２と、Ｎライン目データを記憶するバッファ２１と、Ｎ−１ライン目データを記憶するバッファ２０と、アンパッキング回路１９により復元された画像データを読出しアドレス生成回路８から受け取った画像補整の係数に基づいて補整する画像補整回路９と、を備えて構成されている。出力側バッファ７はラインバッファである必要は無く、Ｖｉｄｅｏ出力１０に対して十分間に合うだけの容量が有れば良い。
アービタ５からの入力データ１４は手段１で説明した書込み時のパッキングデータであるので、前後のラインのデータと合わせて読み出される。これを数画素以上蓄積した上で、画像補整回路９に入力する。
【００１７】
画像補整回路９は読出しアドレス生成回路８から画像補整の係数（アドレス値演算結果の小数点以下など）を受け取り、画像補整を実行する。画像補整の内容は特許文献１の先行技術と同じで構わない。即ち、アドレス演算は、入力として、Ｘ、Ｙそれぞれのクロックカウント値、ＭＥＭＳ振動周期でラップする。
現在の実装では１００ＭＨｚでカウントしている。中間値としては、出力するべき入力画像内の画素位置であり、出力としては、ＤＤＲメモリアドレスとなる。
演算式は下記のような４次の多項式を用いて計算する。
入力座標（ｘ，ｙ）→出力座標（ｘ’，ｙ’）
ｘ’＝（ｄｘ１＊ｙ＾２＋ｄｘ２＊ｙ＋ｄｘ３）＊ｘ＋（ｄｘ４＊ｙ＾２＋ｄｘ５＊ｙ＋ｄｘ６）
ｙ’＝（ｄｙ１＊ｘ＾２＋ｄｙ２＊ｘ＋ｄｙ３）＊ｙ＾２＋（ｄｙ４＊ｘ＾２＋ｄｙ５＊ｘ＋ｄｙ６）＊ｙ＋（ｄｙ７＊ｘ＾２＋ｄｙ８＊ｘ＋ｄｙ９）
入力パラメータｄｘ１〜ｄｘ６、ｄｙ１〜ｄｙ６として、６４ｂｉｔ値（整数１２ｂｉｔ／小数４８ｂｉｔ）を用いて演算するが、演算結果となる（ｘ’，ｙ’）も整数値になるわけではなく、小数点以下を含んだ値になる。
【００１８】
図５は本発明のフレームメモリ制御装置の構成を示すブロック図である。本発明のフレームメモリ制御装置１は、複数ラインの入力画像データを一時的に記憶する入力側バッファ４と、外部メモリ１２への読み書きを調停するアービタ５と、アービタ５から入力された複数ラインの画像データを一時的に記憶して出力する出力側バッファ７と、アービタ５により調停された画像データを保存する外部メモリ（フレームメモリ）１２と、アービタ５と外部メモリ１２の間にあって、外部メモリ１２の動作を制御するメモリコントローラ６と、出力側バッファ７内に記憶された画像データの読み出しアドレスを生成する読出しアドレス生成回路８と、出力側バッファ７により復元された画像データを読出しアドレス生成回路８から受け取った画像補整の係数に基づいて補整する画像補整回路９と、を備えて構成されている。
尚、Ｖｉｄｅｏ入力２は入力側バッファ４に入力され、画像補整回路９により補整された画像データはＶｉｄｅｏ出力１０から出力される。また、本発明では、入力側バッファ４、出力側バッファ７、アービタ５、及びメモリコントローラ６をメモリ制御ブロック３と呼び、その他に、読出しアドレス生成回路８、及び画像補整回路９を１チップのＡＳＩＣ１として構成している。
【００１９】
即ち、本実施形態のフレームメモリ制御装置１は、従来の回路に入力側バッファ４に記憶された複数ラインの画像データを同一ラインに組み込むパッキング回路１８と、アンパッキング回路１９により復元された画像データを読出しアドレス生成回路８から受け取った画像補整の係数に基づいて補整する画像補整回路９とを更に備えている。これにより、フレームメモリ１２へ画像を書き込む際に、注目ラインと前後複数ラインを同時に書き込むことによって、フレームメモリ１２から画像を読み出す際に少ないアクセスで注目画素と前後複数ラインを同時に読み出すことができる。
【符号の説明】
【００２０】
１  ＡＳＩＣ、２  Ｖｉｄｅｏ入力、３  メモリ制御ブロック、４  入力側バッファ、５  アービタ、６  メモリコントローラ、７  出力側バッファ、８  読出しアドレス生成回路、９  画像補整回路、１０  Ｖｉｄｅｏ出力、１１  信号線、１２  外部メモリ（フレームメモリ）、１３、１４  信号線、１５  Ｎ＋１ライン目のデータ、１６  Ｎライン目のデータ、１７  Ｎ−１ライン目のデータ、１８  パッキング回路、１９  アンパッキング回路、３１  ＡＳＩＣ、３２  Ｖｉｄｅｏ入力、３３  メモリ制御ブロック、３４  入力側バッファ、３５  アービタ、３６  メモリコントローラ、３７  出力側バッファ、３８  読出しアドレス生成回路、３９  Ｖｉｄｅｏ出力、４０  外部メモリ（フレームメモリ）、４１  Ｎ−１ライン目のデータ、４２  Ｎライン目のデータ、４３  Ｎ＋１ライン目のデータ、４４  画像補整回路、４５  Ｖｉｄｅｏ出力
【先行技術文献】
【特許文献】
【００２１】
【特許文献１】特開２００８−００９０７４公報
【図１】
0005732887.tif 000002
【図２】
0005732887.tif 000003
【図３】
0005732887.tif 000004
【図４】
0005732887.tif 000005
【図５】
0005732887.tif 000006
【図６】
0005732887.tif 000007
【図７】
0005732887.tif 000008
【図８】
0005732887.tif 000009
【図９】
0005732887.tif 000010