(57)【要約】【課題】画像処理に関する技術を提供する。【解決手段】縦横に画素を配列して構成された画像を処理する画像処理装置であって、画像を表わす画像データを入力し、画像データの少なくとも一部を、表示用のフレームデータとして記憶する記憶部と、フレームデータを、縦の画素列であるカラムデータを横方向に複数配列したものとして扱うと共に、所定の列数のカラムデータをフレームデータから取得し、第１の部分カラムデータとして一時的に記憶する列メモリーと、記憶部から、第１の部分カラムデータに連続した位置に対応した所定列数のカラムデータを第２の部分カラムデータとして読み出すと共に、第１，第２の部分カラムデータを用いて、所定の画像処理を行なう画像処理部とを備える。【選択図】図３
2010245682.tif 000002
【特許請求の範囲】
【請求項１】
縦横に画素を配列して構成された画像を処理する画像処理装置であって、
前記画像を表わす画像データを入力し、前記画像データの少なくとも一部を、表示用のフレームデータとして記憶する記憶部と、
前記フレームデータを、縦の画素列であるカラムデータを横方向に複数配列したものとして扱うと共に、所定の列数の前記カラムデータを前記フレームデータから取得し、第１の部分カラムデータとして一時的に記憶する列メモリーと、
前記記憶部から、前記第１の部分カラムデータに連続した位置に対応した所定列数のカラムデータを第２の部分カラムデータとして読み出すと共に、前記第１，第２の部分カラムデータを用いて、所定の画像処理を行なう画像処理部と
を備えた画像処理装置。
【請求項２】
請求項１記載の画像処理装置であって、
前記列メモリーは、前記第１の部分カラムデータを、横方向に複数画素からなる画素列を縦方向に複数積層されたものとして記憶しており、
前記画像処理部は、
前記所定の画像処理を実行する処理演算部と、
前記列メモリーから、前記画素列の画像データを第１の画素データとして順次読み出して、前記処理演算部に出力する第１の読出部と、
前記第２の部分カラムデータから、前記第１の画素データの画素列に連続する位置に対応した画素列の画像データを第２の画素データとして取り出し、前記処理演算部に出力する第２の読出部と、
前記第２の画素データを、前記第１の画素データの読み出しに伴って、前記列メモリーへの前記一時的な記憶に供する転送部と
を備え、
前記処理演算部は、前記第１，第２の画素データに基づいて、前記画像処理を行なう
画像処理装置。
【請求項３】
請求項２記載の画像処理装置であって、
前記処理演算部は、
前記第１，第２の画素データを縦方向に複数積層して記憶する積層記憶部と、
前記第１，第２の読出部から出力された前記第１，第２の画素データを受け取る度に、該第１，第２の画素データを前記積層方向に順次更新する記憶更新部と
を備える画像処理装置。
【請求項４】
前記処理演算部は、複数画素に対応した演算フィルターを、前記積層記憶部に記憶された画素データに適用することにより、前記所定の画像処理を行なう請求項３記載の画像処理装置。
【請求項５】
請求項４記載の画像処理装置であって、
前記処理演算部は、
画像処理用のフィルターを前記積層記憶部に記憶された画素データに適用し、該適用した結果を出力する出力部を前記画像処理用のフィルターの数だけ設け、
前記複数の出力部から出力された結果を組み合わせて、前記画像処理結果を出力する結果出力部と
を備えた画像処理装置。
【請求項６】
前記画像処理用のフィルターは、エッジを検出しようとする方向に対応したエッジ抽出フィルターである請求項５記載の画像処理装置。
【請求項７】
請求項１ないし請求項６のいずれか記載の画像処理装置であって、さらに、
前記画像を表す画像データの少なくとも一部の横の画素列であるラインデータ毎に、画像処理を行う水平画像処理部を備える画像処理装置。
【請求項８】
請求項１ないし請求項７のいずれか記載の画像処理装置であって、さらに、
前記画像を表す画像データの少なくとも一部のカラムデータ毎に画像処理を行う垂直画像処理部を備える画像処理装置。
【請求項９】
縦横に画素を配列して構成された画像を処理する画像処理方法であって、
前記画像を表わす画像データを入力し、前記画像データの少なくとも一部を、表示用のフレームデータとして記憶し、
前記フレームデータを、縦の画素列であるカラムデータを横方向に複数配列したものとして扱うと共に、所定の列数の前記カラムデータを前記フレームデータから取得し、第１の部分カラムデータとして一時的に記憶し、
前記記憶した前記第１の部分カラムデータに連続した位置対応した所定列数のカラムデータを第２の部分カラムデータとして読み出すと共に、前記第１，第２の部分カラムデータを用いて、所定の画像処理を行なう
画像処理方法。
【請求項１０】
縦横に画素を配列して構成された画像を処理する画像処理をコンピューターに実行させるコンピュータープログラムであって、
前記画像を表わす画像データを入力し、前記画像データの少なくとも一部を、表示用のフレームデータとして記憶する機能と、
前記フレームデータを、縦の画素列であるカラムデータを横方向に複数配列したものとして扱うと共に、所定の列数の前記カラムデータを前記フレームデータから取得し、第１の部分カラムデータとして一時的に記憶する機能と、
前記記憶部から、前記第１の部分カラムデータに連続した位置対応した所定列数のカラムデータを第２の部分カラムデータとして読み出すと共に、前記第１，第２の部分カラムデータを用いて、所定の画像処理を行なう機能と
を前記コンピューターに実現させるコンピュータープログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像処理の技術に関する。
【背景技術】
【０００２】
近年の映像機器では表示解像度の高解像度化が進んでいる。一方、入力画像データは、従来のアナログデータをデジタルデータに変換した比較的低解像度のデータや、高解像度デジタルカメラによる高解像度データなど、画像の解像度は様々である。従って、それら様々な解像度の画像データを表示する映像機器側における機能としては、入力画像のサイズを出力映像機器の表示解像度に変換するだけでなく、さらに拡大表示や２画面・多画面表示など、スケーリング技術の重要度は以前にも増して高くなっており、さらに、映像機器による表示画像の高画質への要求も強い。
【０００３】
スケーリングで高画質を実現するために、例えば、以下の様な処理が行われている。画像を拡大して表示するための処理としては、文字や物体輪郭を２次元的に検出後、画像に含まれるエッジ部分を検出し、画像データのエッジ部分に最適な画素を補間することによって拡大した画像の高解像再現をする処理が行われている。また画像を縮小して表示するための処理としては、画像の折り返し歪みを防ぐために、タップ数の多いフィルターを用いる処理が行われている。画像データのエッジ検出やフィルター処理に関する技術としては、例えば以下の特許文献の技術が知られている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平１０−１５５１２８
【特許文献２】特開２００６−３５２７９８
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、こうした画像処理は、通常、表示装置の水平方向の走査線（ラスター）に沿って行われるため、表示装置のアスペクト比が１６対１０、あるいは１６対９のように横長になってくると、１ラインの画像データを記憶するラインバッファーとして、大容量のラインメモリーを用意しなければならないという問題があった。垂直方向のエッジ検出などを行うためには、少なくとも一つ前のラインの画像データ（ラインデータ）を記憶していなければいけないからである。また、元々インターレース画像で表示されていた画像をプログレッシブ表示に変換した後の画像の場合には、フィールド別に比較を行った方が正確なエッジ検出を行えるが、この場合には、複数本のラインデータを記憶しなければならず、記憶容量が、ますます増大してしまう。
【０００６】
これに対して、画像を複数のブロックに分割し、ブロックごとにエッジ検出やフィルター処理などの画像処理を行うもの（特許文献２）も提案されているが、この場合には、ブロック内の処理は小さなメモリーにより容易に実現できるものの、ブロックをまたがる処理を行なおうとすると、異なるブロックのデータの読み出しが必要となり、複雑な処理を余儀なくされてしまう。
【課題を解決するための手段】
【０００７】
本発明は、上述の課題の少なくとも一部を解決するために、以下の形態または適用例を取ることが可能である。
【０００８】
[適用例１]
縦横に画素を配列して構成された画像を処理する画像処理装置であって、前記画像を表わす画像データを入力し、前記画像データの少なくとも一部を、表示用のフレームデータとして記憶する記憶部と、前記フレームデータを、縦の画素列であるカラムデータを横方向に複数配列したものとして扱うと共に、所定の列数の前記カラムデータを前記フレームデータから取得し、第１の部分カラムデータとして一時的に記憶する列メモリーと、前記記憶部から、前記第１の部分カラムデータに連続した位置に対応した所定列数のカラムデータを第２の部分カラムデータとして読み出すと共に、前記第１，第２の部分カラムデータを用いて、所定の画像処理を行なう画像処理部とを備えた画像処理装置。
【０００９】
この画像処理装置によると、所定の列数のカラムデータを第１の部分カラムデータとして列メモリーに記憶し、第１の部分カラムデータに連続した位置に対応した所定列数の第２の部分カラムデータと共に、所定の画像処理を行なっているので、横の画素列であるラインデータを複数格納し、画像処理を行う場合と比較して、一時的に格納するデータの容量を少なくする事ができる。また、第１のカラムデータと第２のカラムデータとは連続した位置関係にあるので、多くの画素列の処理を少ない容量の列メモリーを用いて行う事ができる。
【００１０】
[適用例２]
適用例１記載の画像処理装置であって、前記列メモリーは、前記第１の部分カラムデータを、横方向に複数画素からなる画素列を縦方向に複数積層されたものとして記憶しており、前記画像処理部は、前記所定の画像処理を実行する処理演算部と、前記列メモリーから、前記画素列の画像データを第１の画素データとして順次読み出して、前記処理演算部に出力する第１の読出部と、前記第２の部分カラムデータから、前記第１の画素データの画素列に連続する位置に対応した画素列の画像データを第２の画素データとして取り出し、前記処理演算部に出力する第２の読出部と、前記第２の画素データを、前記第１の画素データの読み出しに伴って、前記列メモリーへの前記一時的な記憶に供する転送部とを備え、前記処理演算部は、前記第１，第２の画素データに基づいて、前記画像処理を行なう画像処理装置。
【００１１】
この画像処理装置によると、第２の画素データは第２の部分カラムデータから読み出され演算処理部に出力され、また、第２の画素データは、第１の画素データの読み出しに伴って、列メモリーへの一時的な記憶に供しているので、同じ第２の画素データを第２の部分カラムデータから重複して読み出すことを回避できる。
【００１２】
[適用例３]
適用例２記載の画像処理装置であって、前記処理演算部は、前記第１，第２の画素データを縦方向に複数積層して記憶する積層記憶部と、前記第１，第２の読出部から出力された前記第１，第２の画素データを受け取る度に、該第１，第２の画素データを前記積層方向に順次更新する記憶更新部とを備える画像処理装置。
【００１３】
この画像処理装置によれば、処理演算部は第１，第２の画素データを縦方向に複数積層して記憶することができるので、積層した画素データに対して画像処理を行うことができる。
【００１４】
[適用例４]
前記処理演算部は、複数画素に対応した演算フィルターを、前記積層記憶部に記憶された画素データに適用することにより、前記所定の画像処理を行なう適用例３記載の画像処理装置。
【００１５】
この画像処理装置によれば、複数画素に対応した演算フィルターを、積層した画素データに対して適用できるので、２次元の画像処理を行うことができる。
【００１６】
[適用例５]
適用例４記載の画像処理装置であって、前記処理演算部は、画像処理用のフィルターを前記積層記憶部に記憶された画素データに適用し、該適用した結果を出力する出力部を前記画像処理用のフィルターの数だけ設け、前記複数の出力部から出力された結果を組み合わせて、前記画像処理結果を出力する結果出力部とを備えた画像処理装置。
【００１７】
この画像処理装置によれば、複数の出力部から出力された結果を組み合わせて、画像処理結果を出力するので、精度の高い画像処理を行うことができる。
【００１８】
[適用例６]
前記画像処理用のフィルターは、エッジを検出しようとする方向に対応したエッジ抽出フィルターである適用例５記載の画像処理装置。
【００１９】
この画像処理装置によると、フレームデータに対してエッジ検出を行う事ができる。
【００２０】
[適用例７]
適用例１ないし適用例６のいずれか記載の画像処理装置であって、さらに、前記画像を表す画像データの少なくとも一部の横の画素列であるラインデータ毎に、画像処理を行う水平画像処理部を備える画像処理装置。
【００２１】
この画像処理装置によると、水平画像処理部を備えるので、ラインデータ毎の画像処理が可能である。
【００２２】
[適用例８]
適用例１ないし適用例７のいずれか記載の画像処理装置であって、さらに、前記画像を表す画像データの少なくとも一部のカラムデータ毎に画像処理を行う垂直画像処理部を備える画像処理装置。
【００２３】
この画像処理装置によれば、垂直画像処理部を備えるので、カラムデータ毎の画像処理を行うことができる。
【００２４】
[適用例９]
縦横に画素を配列して構成された画像を処理する画像処理方法であって、前記画像を表わす画像データを入力し、前記画像データの少なくとも一部を、表示用のフレームデータとして記憶し、前記フレームデータを、縦の画素列であるカラムデータを横方向に複数配列したものとして扱うと共に、所定の列数の前記カラムデータを前記フレームデータから取得し、第１の部分カラムデータとして一時的に記憶し、前記記憶した前記第１の部分カラムデータに連続した位置対応した所定列数のカラムデータを第２の部分カラムデータとして読み出すと共に、前記第１，第２の部分カラムデータを用いて、所定の画像処理を行なう画像処理方法。
【００２５】
この画像処理方法によると、所定の列数のカラムデータを第１の部分カラムデータとして記憶し、第１の部分カラムデータに連続した位置に対応した所定列数の第２の部分カラムデータと共に、所定の画像処理を行なっているので、横の画素列であるラインデータを複数格納し、画像処理を行う場合と比較して、一時的に格納するデータの容量を少なくする事ができる。また、第１のカラムデータと第２のカラムデータとは連続した位置関係にあるので、多くの画素列の処理を少ない容量の記憶によって行う事ができる。
【００２６】
[適用例１０]
縦横に画素を配列して構成された画像を処理する画像処理をコンピューターに実行させるコンピュータープログラムであって、前記画像を表わす画像データを入力し、前記画像データの少なくとも一部を、表示用のフレームデータとして記憶する機能と、前記フレームデータを、縦の画素列であるカラムデータを横方向に複数配列したものとして扱うと共に、所定の列数の前記カラムデータを前記フレームデータから取得し、第１の部分カラムデータとして一時的に記憶する機能と、前記記憶部から、前記第１の部分カラムデータに連続した位置対応した所定列数のカラムデータを第２の部分カラムデータとして読み出すと共に、前記第１，第２の部分カラムデータを用いて、所定の画像処理を行なう機能とを前記コンピューターに実現させるコンピュータープログラム。
【００２７】
このコンピュータープログラムによると、所定の列数のカラムデータを第１の部分カラムデータとして記憶し、第１の部分カラムデータに連続した位置に対応した所定列数の第２の部分カラムデータと共に、所定の画像処理を行なっているので、横の画素列であるラインデータを複数格納し、画像処理を行う場合と比較して、一時的に格納するデータの容量を少なくする事ができる。また、第１のカラムデータと第２のカラムデータとは連続した位置関係にあるので、多くの画素列の処理を少ない容量の記憶によって行う事ができる。
【００２８】
なお、本発明は、種々の態様で実現することが可能である。例えば、画像処理方法および装置、画像処理システム、それらの方法または装置の機能を実現するための集積回路、コンピュータープログラム、そのコンピュータープログラムを記録した記録媒体等の形態で実現することができる。
【図面の簡単な説明】
【００２９】
【図１】液晶プロジェクター１００の全体の構成を示すブロック図である。
【図２】画像処理部１２０およびフレームメモリー１３０の構成を示したブロック図である。
【図３】画像処理部１２０が行う画像処理を概念的に説明したブロック図である。
【図４】エッジ検出部３４が行うエッジ検出処理を概念的に説明した説明図である。
【図５】解像度変換部３０が行うエッジ検出処理のタイミングを示したタイミングチャートである。
【図６】エッジ検出ウインドウのサイズについて説明する説明図である。
【図７】解像度変換部３０が行う８画素単位のエッジ検出を説明する説明図である。
【図８】エッジ検出の方法を説明する説明図である。
【図９】５画素×５画素のエッジ検出参照パターンを用いた拡大補間処理を説明をする説明図である。
【図１０】エッジ検出結果に基づくフィルター処理を説明する説明図である。
【図１１】液晶プロジェクター２００の画像処理部２２０が行う画像処理を概念的に説明した説明図である。
【図１２】４タップのキュービック補間を行う際の１次元フィルター処理を説明する説明図である。
【発明を実施するための形態】
【００３０】
次に、本発明の実施の形態を実施例に基づいて以下の順序で説明する。
Ａ．第１実施例：
（Ａ１）液晶プロジェクターの概略構成
（Ａ２）画像処理
Ｂ．第２実施例：
Ｃ．変形例：
【００３１】
Ａ．第１実施例：
（Ａ１）液晶プロジェクターの概略構成：
図１は、本発明の一実施例としての液晶プロジェクター１００の全体の構成を示すブロック図である。この液晶プロジェクター１００は、アナログデジタル変換部１１０（以下、Ａ／Ｄ１１０とも呼ぶ）、画像処理部１２０、フレームメモリー１３０、ＣＰＵ１４０、ＲＯＭ１５０、ＲＡＭ１６０、入出力インターフェイス１７０（以下、Ｉ／Ｏ１７０とも呼ぶ）、表示ドライバー１８０、画像表示部１９０を備える。液晶プロジェクター１００は、Ａ／Ｄ１１０に入力されてくる映像データに基づいて、図示しないスクリーンに動画を表示する。また各機能部は互いに、内部バス１０５によって接続されており、さらに画像処理部１２０とＣＰＵ１４０とは専用バス１１５により接続されている。なお、映像データは、図示しないビデオカメラやスキャナーやパーソナルコンピューター等の入力装置によってリアルタイムにＡ／Ｄ１１０に入力されてくる場合と、読み取り可能なメモリーカード等の記録媒体から、Ａ／Ｄ１１０に読み出されてくる場合とのいずれでもよい。ここで、読取可能な記憶媒体としては、ＲＯＭ、ＲＡＭ等の記憶デバイスや、ＭＤ、ＣＤ−ＲＯＭ、ＤＶＤ、ブルーレイディスク等の光学記録媒体、およびメモリーカード等の記憶媒体のいずれでもよい。
【００３２】
Ａ／Ｄ１１０は、入力されたアナログ画像データをデジタル画像データに変換する（以下、デジタル画像データを単に、画像データとも呼ぶ）。画像処理部１２０は、入力された画像データに対して、エッジ検出や、フィルター処理や、台形補正等の画像処理を行い、最適な画像データとして出力する。画像処理部１２０は、画像データをフレームメモリー１３０に記憶し、このフレームメモリー１３０とデータのやり取りを行いながら処理を行う。本実施例においては、画像処理部１２０にはＡＳＩＣ（Application Specific Integrated Circuit）を用いた。またフレームメモリー１３０には、ＤＲＡＭ（Dynamic Random Access Memory）を用いた。画像処理部１２０及びフレームメモリー１３０については後で詳しく説明する。画像処理部１２０は画像処理を終了すると、処理済みの画像データを表示ドライバー１８０に出力する。
【００３３】
表示ドライバー１８０は、画像処理部１２０から出力された画像データを、画像表示部１９０が備える図示しない液晶パネル駆動部が扱えるデータに変換し出力する。画像表示部１９０は、上述した液晶パネル駆動部や、液晶パネル、映像を投写するための光源であるランプ、このランプから発せられる光を平行光とするレンズ、平行光を投写光に変えてスクリーンに画像として拡大表示させる投写レンズ等の投写光学系の機能部を備えるが、これらの構成は周知のものなので説明は省略する。
【００３４】
（Ａ２）画像処理：
図２は、画像処理部１２０およびフレームメモリー１３０の構成を示したブロック図である。フレームメモリー１３０は、画像処理部１２０に入力された画像データのうち、１画面を構成する画像データ（以下、フレームデータとも呼ぶ）を記憶可能な記憶容量を備えたメモリーである。画像処理部１２０は、メモリー制御部１０、インターレース・プログレッシブ変換部２０（以下、Ｉ／Ｐ変換部２０とも呼ぶ）、解像度変換部３０、オンスクリーンディスプレイ制御部４０（以下、ＯＳＤ４０とも呼ぶ）、台形補正部５０を備える。
【００３５】
メモリー制御部１０は、I／Ｐ変換部２０、解像度変換部３０、ＯＳＤ４０および台形補正部５０の各機能部と、フレームメモリー１３０との間で画像データの授受の制御を行う。Ｉ／Ｐ変換部２０は、インターレース画像データとして入力された画像データを、プログレッシブ画像データに変換する。解像度変換部３０は、入力された画像データの解像度を出力側の解像度に変換する。この際、画像に含まれるエッジに該当する部分を検出し、最適なフィルターによって画素の補間等の画像処理を施し、液晶プロジェクター１００で投写表示するのに最適な解像度に変換する。ＯＳＤ４０は、メニュー画像をスクリーン上に表示する処理を行う回路である。液晶プロジェクター１００ではユーザーにより種々の設定が可能となっているが、こうした設定を行うメニュー画面を、投写画像に重畳して投写画像として表示するために、画像データとメニュー画面データとの合成処理を行い、表示画像データとして出力するのである。台形補正部５０は、液晶プロジェクター１００の投写レンズから投写された投写光と、スクリーン面とがなす角（投写投影角）が垂直でない場合に生じる投写画像の台形歪みに対して、表示画像データの補正処理を行い画像データを出力する。
【００３６】
次に画像処理部１２０が、フレームメモリー１３０と、メモリー制御部１０と、解像度変換部３０とによって行っている画像処理について詳しく説明する。図３は、画像処理部１２０が行う画像処理を概念的に説明したブロック図である。解像度変換部３０は、バッファー３１、バッファー３２、ＳＲＡＭ（Static Random Access Memory）３３、エッジ検出部３４、２次元フィルター３５を備えている。
【００３７】
Ｉ／Ｐ変換部２０によってプログレッシブ化された画像データが、水平方向のラインデータ（以下、単にラインデータとも呼ぶ）としてライン単位でスキャンされ、解像度変換部３０に入力される。例えば、垂直同期信号や水平同期信号に同期して、６０ｆｐｓの速度で画像データが入力される。入力された画像データは、数十画素から１ラインの比較的長い単位でバッファー３１に記憶される。所定容量の画像データがバッファー３１に記憶されると、バッファー３１はメモリー制御部１０に対して、フレームメモリー１３０への画像データの書き込み（以下、ＤＲＡＭライトとも呼ぶ）のリクエストを出す。メモリー制御部１０は、ＤＲＡＭライトのリクエストを受け付けると、バッファー３１に記憶された画像データを、フレームメモリー１３０にバーストライトする。解像度変換部３０は、この処理を繰り返し、１画面分の画像データ、つまりフレームデータをフレームメモリー１３０に記憶する。換言すると、フレームメモリー１３０には、ラインデータが垂直方向に積層して１画面を構成する態様で、フレームデータとして記憶される。なおフレームメモリー１３０が、特許請求の範囲に記載の記憶部に相当する。
【００３８】
フレームデータがフレームメモリー１３０に記憶されると、メモリー制御部１０は、そのフレームデータを、垂直方向のカラムデータが水平方向に配列された画像データとみなし、カラムデータ４列分を１つの単位としたブロックデータの集合としてフレームデータを扱う。
【００３９】
メモリー制御部１０は、フレームメモリー１３０に記憶されたフレームデータをブロックデータ毎に読み出し（以下、ＤＲＡＭリードとも呼ぶ）、バッファー３２を介して、エッジ検出部３４、ＳＲＡＭ３３に出力する。この時、メモリー制御部１０が１つのブロックデータをフレームメモリー１３０から読み出す際には、ブロックデータに含まれる画素データを、水平方向を主走査方向として４画素ずつバーストリードし、垂直方向を副走査方向として順に下にバーストリードをシフトさせながら、データの読み出しを行う。本実施例においては、メモリー制御部１０は、フレームデータの左端に位置するブロックデータから順に右に向かって、ブロックデータの読み出しを行う。
【００４０】
次にエッジ検出部３４と、ＳＲＡＭ３３とによって行われるエッジ検出処理について説明する。図４は、エッジ検出部３４が行うエッジ検出処理を概念的に説明した説明図である。上述したように、メモリー制御部１０は、フレームメモリー１３０内のフレームデータに対して、ブロックデータ単位毎に、水平方向に４画素ずつのバーストリード、つまりＤＲＡＭリードを行い、次に、ブロックデータ内で１ライン下に移り、再び水平方向に４画素のバーストリードを行う。このバーストリードをブロックデータ内で垂直方向に繰り返し行い、最後のラインまで続ける。
【００４１】
ＤＲＡＭリードの結果は、バッファー３２に記憶される。バッファー３２―が記憶した、水平方向４画素ずつの画素データは、エッジ検出部３４によるエッジ検出処理のタイミングに合わせてバッファー３２からエッジ検出部３４に出力される。それと同時に、後述する、ＳＲＡＭ３３に記憶されている部分カラムデータからエッジ検出部３４に４画素分の画素データが出力され、エッジ検出と２次元フィルター処理のためのフリップフロップ（以下、Ｆ／Ｆとも呼ぶ）ウインドウを形成する画素データとして用いられる。以下、バッファー３２から出力され、エッジ検出ウインドウの形成に直接用いられる画素データを直接画素データと呼ぶ。また、ＳＲＡＭ３３から出力され、エッジ検出ウインドウの形成に用いられる画素データを間接画素データと呼ぶ。加えて、間接画素データがＳＲＡＭ３３から出力される処理をＳＲＡＭリードと呼ぶ。
【００４２】
エッジ検出部３４は、バッファー３２から読み出した直接画素データを、エッジ検出ウインドウ形成用の画素データとして用いるとともに、ＳＲＡＭ３３にも出力し、先ほど出力された間接画素データが記憶されていたＳＲＡＭ３３の記憶領域に、その直接画素データを新たな間接画素データとして記憶する（以下、ＳＲＡＭライトとも呼ぶ）。
【００４３】
ＳＲＡＭ３３は、上述したように、バッファー３２がエッジ検出部３４に出力した水平方向４画素ずつの直接画素データを、新たに、ＳＲＡＭ３３内に、積層した態様で記憶する。ここで、ＳＲＡＭ３３内に積層した態様で記憶した画素データを部分カラムデータと呼ぶ。この部分カラムデータは、一見、フレームメモリー１３０内のブロックデータが複製されたデータのようであるが、部分カラムデータからエッジ検出部３４に向けて水平方向４画素の画素データが間接画素データとして出力されると、出力された間接画素データが記憶されていたＳＲＡＭ３３の記憶領域には、新たにバッファー３２からエッジ検出部３４に出力された直接画素データが新たな間接画素データとして記憶されるので、フレームメモリー１３０内のブロックデータが複製されたデータとは異なる。具体的には、図４に示すように、フレームメモリー１３０内の、所定のブロックデータのｉ行目の水平方向４画素分の画素データが、バッファー３２を介してエッジ検出ウインドウに直接画素データとして出力された際、ＳＲＡＭ３３からは、部分カラムデータのｉ行目のデータが間接画素データとしてエッジ検出ウインドウに出力され、その後、部分カラムデータのｉ行目の記憶領域に、新たに、今、直接画素データとして出力された画素データが記憶される。
【００４４】
エッジ検出ウインドウは、水平方向８画素、垂直方向５画素からなる画素データで形成されている。図４に示すエッジ検出ウインドウの画素データのうち、右側の、水平方向４画素、垂直方向５画素からなる画素データは、直接画素データとして、バッファー３２から出力されたデータによって形成されている。エッジ検出ウインドウの画素データのうち、左側の、水平方向４画素、垂直方向５画素からなる画素データは、ＳＲＡＭリードによってＳＲＡＭ３３から出力された間接画素データによって形成されている。エッジ検出ウインドウ内の、ハッチングを施した画素は、このエッジ検出ウインドウで、エッジ検出が行われる画素（以下、注目画素と呼ぶ）である。本実施例では、５画素×５画素の参照画素（以下、エッジ検出参照パターンとも呼ぶ）に基づいて、その中心に位置する注目画素がエッジ上の画素であるか否かを判断する。つまり、水平方向８画素、垂直方向５画素からなるエッジ検出ウインドウから、ハッチングを施した注目画素４画素分のエッジ検出が可能である。そしてエッジ検出の結果に基づいて２次元フィルター処理を行う。
【００４５】
次に、ＤＲＡＭリード、ＳＲＡＭリード、エッジ検出ウインドウの形成およびエッジ検出処理のタイミングについて説明する。図５は、解像度変換部３０が行うエッジ検出処理のタイミングを示したタイミングチャートである。今、図４に示すように、フレームメモリー１３０に記憶したフレームデータ内の、左からＬ番目のブロックデータのうち、上からｉ番目のデータが水平方向ｊ番目からｊ＋３番目までメモリー制御部１０によってＤＲＡＭリードされた場合を考える。以下、フレームデータの、例えば、上からｉ番目、水平方向ｊ番目の画素を［ｉ，ｊ］と表記し、フレームデータ上の各画素の位置を座標で表記する。
【００４６】
ＤＲＡＭリードにより、フレームデータ上の左からＬ番目のブロックデータの［ｉ，ｊ］〜［ｉ，ｊ＋３］の４画素がエッジ検出ウインドウに直接画素データとして読み出された時、同時に、ＳＲＡＭ３３に記憶されていた部分カラムデータのうち、［ｉ，ｊ−４］〜［ｉ，ｊ―１］の４画素のデータがエッジ検出ウインドウに間接画素データとして読み出される。ＤＲＡＭリード、ＳＲＡＭリードによって読み出された、［ｉ，ｊ−４］〜［ｉ，ｊ―１］と［ｉ，ｊ］〜［ｉ，ｊ＋３］の画素データは、次のクロックで、エッジ検出ウインドウの参照データとして用いられる。そして、直接画素データである［ｉ，ｊ］〜［ｉ，ｊ＋３］の４画素のデータは、エッジ検出ウインドウの右側の参照データを構成し、ＳＲＡＭリードによって読み出された間接画素データである［ｉ，ｊ−４］〜［ｉ，ｊ―１］の４画素のデータはエッジ検出ウインドウの左側の参照データを構成する。なお、間接画素データである［ｉ，ｊ−４］〜［ｉ，ｊ―１］の４画素のデータは、もともとはフレームデータ上の左からＬ−１番目のブロックデータ内の上からｉ行目の水平方向４画素のデータであり、Ｌ−１番目のブロックデータが水平方向４画素ずつＤＲＡＭリードにより直接データとして読み出された時に、ＳＲＡＭ３３に間接画素データとして記憶されたデータである。
【００４７】
ＳＲＡＭ３３の部分カラムデータから［ｉ，ｊ−４］〜［ｉ，ｊ―１］の４画素のデータが読み出されると、ＳＲＡＭ３３の記憶領域の内、［ｉ，ｊ−４］〜［ｉ，ｊ―１］の４画素のデータを記憶していた領域に、ＤＲＡＭリードによってフレームメモリー１３０から読み出されたＬ番目のブロックデータの［ｉ，ｊ］〜［ｉ，ｊ＋３］の４画素のデータを記憶する。このように、ＤＲＡＭリードにより読み出されたＬ−１番目のブロックデータの４画素のデータは、エッジ検出ウインドウで直接、エッジ検出ウインドウの右側を形成する画素データとして用いられると同時に、ＳＲＡＭ３３に記憶される。そして、Ｌ番目のブロックデータからＤＲＡＭリードにより４画素のデータが読み出され、直接、エッジ検出ウインドウで右側の参照データとして用いられる時に、ＳＲＡＭ３３から読み出され、エッジ検出ウインドウの左側を形成するデータとして用いられる。
【００４８】
図５に示すように、エッジ検出ウインドウでは、水平方向８画素、垂直方向５画素の画素データのうち、５画素×５画素のエッジ検出参照パターンの中心に位置する画素のエッジ検出を、１クロックに１画素ずつ行う。つまり、図４における、ハッチングを施した注目画素において、左から右に順にエッジ検出を行う。注目画素の右端まで処理が終わると、エッジ検出ウインドウを構成する画素データ全体を、上にシフトさせ、ＤＲＡＭリードした画素データとＳＲＡＭリードした画素データとを、ウインドウ内の最下段に書き込む。このように画素データを順次送っていくことにより、ＤＲＡＭを重複リードすることがない。
【００４９】
本実施例においては、ＤＲＡＭリードによって読み出す画素データは、水平方向４画素のデータである。この時、エッジ検出参照パターンのサイズを５画素×５画素とすると、エッジ検出ウインドウのサイズは水平方向８画素、垂直方向５画素となる。以下、その説明をする。エッジ検出参照パターンのサイズを５画素×５画素とすると、エッジ検出参照パターンの中心画素（注目画素）のエッジ検出のための周辺画素として、水平、垂直方向それぞれ２画素ずつ必要である。またＤＲＡＭからの画像データの読み出しは４画素単位のバーストリード（ＤＲＡＭリード）のため、エッジ検出処理も１度に４画素の注目画素において行うと効率的である。よって、1回のエッジ検出ウインドウの形成につき、４画素（注目画素４画素分）のエッジ検出を行う。すなわちエッジ検出ウインドウの水平方向の画素サイズは２＋４＋２＝８画素となる。
【００５０】
上記説明を一般化すると、図６に示すように、エッジ検出参照パターンのサイズを（２Ｔ＋１）×（２Ｔ＋１）とすると、ＤＲＡＭリードによる水平方向バースト単位がＮ画素のとき、エッジ検出ウインドウの水平画素数は２Ｔ＋Ｎとなる。このエッジ検出ウインドウの２Ｔ＋Ｎの水平画素数を、ＤＲＡＭリードによって読み出すＮ画素と、ＳＲＡＭリードによって読み出す画素数とで満たす必要がある。よって、ＳＲＡＭリードによって読み出す画素数は、エッジ検出ウインドウの水平画素数である２Ｔ＋ＮからＤＲＡＭリードによって読み出す画素数Ｎを引いた（２Ｔ＋Ｎ）−Ｎ＝２Ｔとなる。つまり１回のＳＲＡＭリードによって読み出す画素数は２Ｔ画素である。１回のＳＲＡＭリードが２Ｔ画素であるので、エッジ検出処理における必要なＳＲＡＭ列数＝２Ｔとなる。このとき、バッファー３２から送られた画素データのうちの右側から２Ｔ画素（２Ｔ列）をＳＲＡＭに間接画素データとして保存することになる。本実施例では間接画素データをＳＲＡＭライトするので、ＳＲＡＭのバス幅は２Ｔ列分まとめてのバス幅でよいことになる。例えばバースト単位が８画素の場合は、図７のように８画素単位のエッジ検出を行うが、ＳＲＡＭのサイズは４画素バーストの場合と変わらないことが理解できる。また、ＤＲＡＭリードで読み出したＮ画素のうち２Ｔ画素が間接画素データとしてＳＲＡＭライトされるのでＮ≧２Ｔとなる。エッジ検出参照パターンは２次元を構成する画素数が必要なのでＴ≧１となる。つまり、このときＮ≧２となり、ＤＲＡＭからのバーストリードは２画素以上である。
【００５１】
本実施例では、このようにして形成した水平方向８画素、垂直方向５画素のエッジ検出ウインドウに対して、エッジ検出参照パターンを用いてエッジを検出する。エッジ検出はエッジ検出参照パターンの中央の注目画素について、その画素がエッジ部分の画素であるか否かを検出し、さらにその画素がエッジ部分である場合には、そのエッジの方向を検出する。具体的なエッジ検出方法としては、図８に示すように、Prewittオペレーター処理により各画素に重みをつけた有方向エッジパターンを、エッジ方向に応じて複数用意し、画像との積和演算の結果が最大の値を持つ角度をエッジ方向と判断したり、いわゆるパターンマッチング法により、演算結果をさらに重み付け加算して中間角度をエッジ方向と判断することでエッジ検出を行うことができる。エッジパターンは、例えば電源投入時に、ＲＯＭ１５０から画像処理部１２０に接続された図示しないエッジパターン保持用ＳＲＡＭにＣＰＵ１４０を介してロードされ、エッジ検出時に参照されるようにしてもよい。
【００５２】
本実施例においては、エッジ検出で用いた５画素×５画素のエッジ検出参照パターンを使って２次元フィルター処理を行う。図９は、５画素×５画素のエッジ検出参照パターンを用いた拡大補間処理を説明する説明図である。図１０は、エッジ検出結果に基づくフィルター処理を説明する説明図である。図９において、元の画素データに対して拡大補間を行う場合、補間画素の出力画素位置に対して、例えば図９の補間画素の左上に位置する元画像画素のエッジ検出結果を用いて、２次元フィルターの係数を定める。図１０に示すように、フィルター係数は、エッジ方向に応じてあらかじめ用意したフィルター係数テーブルを読み出すことによって得られる。２次元フィルター処理を行う参照領域をｍ行ｎ列で表し、フィルター係数をＡｍｎ（左上をＡ００、右下がＡ４４）、５画素×５画素のエッジ検出参照パターン内の画素値をＰｍｎとすると、２次元フィルター処理後の画素値ＰＡは式（１）となる。
ＰＡ＝ΣＡｍｎＰｍｎ・・・（１）
なお、上記に示した方法でフィルター処理を行うと、ＤＲＡＭリードの際のデータ入力の順序とは異なる順序でデータが出力されるため、その後の処理として、必要に応じてＤＲＡＭを介してデータの順序を整理する。以上、このようにして２次元フィルター処理を行う。
【００５３】
以上、説明したように液晶プロジェクター１００は、入力された１画面分のフレームデータをフレームメモリー１３０に記憶し、カラムデータとして読み出し、エッジ検出を行っている。またその際、ＳＲＡＭ３３を部分カラムデータを記憶する記憶領域として用いている。よって、ＳＲＡＭが水平方向のラインデータの記憶領域として用いられるのに比べて、記憶容量を小さくすることができる。また、ＳＲＡＭ３３が記憶する部分カラムデータは、ＳＲＡＭリードで読み出すと、その読み出した記憶領域に、新たに次の部分カラムデータを書き込んでいる。よって、この処理によっても、ＳＲＡＭの記憶領域を削減しており、さらに、ＤＲＡＭリードによるデータと、ＳＲＡＭリードによるデータとの両データを用いてエッジ検出ウインドウを形成しているので、エッジ検出ウインドウとして用いることができる水平方向のデータ量に対して、ＳＲＡＭの記憶領域を小さくすることができる。また、エッジ検出ウインドウの垂直方向の画素数を増やすことが可能なので、縦方向のフィルターサイズを大きくすることが可能であり、インターレースの画像に対しても、精度の高いエッジ検出が可能である。
【００５４】
Ｂ．第２実施例：
第２実施例は、第１実施例における液晶プロジェクター１００に加え、画像データの水平画像処理及び、垂直画像処理の機能を備えたものである。図１１は、第２実施例における液晶プロジェクター２００の画像処理部２２０が行う画像処理を概念的に説明した説明図である。画像処理部２２０は液晶プロジェクター１００と比較して、更に、水平画像処理部８１、垂直画像処理部８２を備える。
【００５５】
水平画像処理部８１は、画像データの水平方向のライン単位で入力された画素データを、フィルター処理用のウインドウＦ／Ｆに格納し、１次元フィルター処理を行う。図１１には、一例として９タップのウインドウＦ／Ｆを示した。また、４タップのキュービック補間を行う際には、図１２に示したような構成の１次元フィルターで処理を行うことができる。
【００５６】
次に垂直画像処理部８２について説明する。図１１に示すように、垂直画像処理部８２は、第１実施例と同様に、ＤＲＡＭ内のフレームデータを、水平方向に数画素の小さなバーストリードを行い、次に1ライン下に移り、それを垂直方向に繰り返して最後のラインまで続ける。ＤＲＡＭリード結果は、一担、バッファーに記憶した後、垂直画像処理のタイミングに合わせて出力され、1次元画像処理のためのＦ／Ｆウインドウを形成する。
【００５７】
第１実施例と異なる点は、垂直画像処理部８２が行うのは垂直方向の画像処理のみである点であり、この場合、画像処理の対象である画素に対して左右方向の画素値を保存しておく必要はない。したがってＳＲＡＭは不要であり、バーストリード単位の幅のウインドウがあればよい。具体的な処理は、図１１に示した垂直画像処理Ｆ／Ｆ内の左端のハッチングを施した注目画素について垂直方向９画素によるフィルター処理を行い、次に左から２番目の注目画素について同様の処理を行う。そして、右端の処理まで処理が達したら、垂直画像処理Ｆ／Ｆのウインドウを構成する画素データ全体を上にシフトさせ、ＤＲＡＭリードした画素をウインドウ内の最下段に書き込む。このように画素データを順次送っていくことにより、ＤＲＡＭを重複リードすることがない。このようにすると、ＳＲＡＭを用いることなく限られたＦ／Ｆ数だけで大きなタップ数のフィルター処理が可能になる。
【００５８】
分離型の２次元フィルター処理を式で表すと以下のようになる。水平方向フィルター係数をＢＸｈ、垂直方向フィルター係数をＢＹｇとする。例えば４×４の場合は、ＢＸ＝［ＢＸ０  ＢＸ１  ＢＸ２  ＢＸ３］、ＢＹ＝［ＢＹ０  ＢＹ１  ＢＹ２  ＢＹ３］Tである。この時、対応する画素値をＰｇｈとすると（ｇ行ｈ列）、２次元フィルター処理後の画素値ＰＢは下記の式（２）のようになる。
2010245682.tif 000003
以上、このようにして、水平画像処理部８１及び垂直画像処理部８２による分離型の２次元フィルター処理を終了する。
【００５９】
水平画像処理部８１及び垂直画像処理部８２によって、分離型の２次元フィルター処理を終了すると、次に、第１実施例の非分離２次元フィルター処理の結果と、第２実施例の分離フィルター処理の結果とを選択出力またはブレンド処理出力する。この場合、両フィルター処理のタイミングが異なるので、図示しないバッファーによりＤＲＡＭリードのタイミングや、フィルター処理後においてタイミング調整を行う。そして、テキスト画像なら非分離２次元フィルター処理の結果を、自然画像なら２次元分離フィルター処理の結果を選択して出力、または、下記の式（３）のように両処理結果をブレンドして出力する等の、所定の基準を設けて、両処理結果を選択およびブレンドする処理を行う。ブレンド比率をｗとし、第１実施例による非分離２次元フィルター処理の結果による画素値をＰＡ、第２実施例による分離２次元フィルター処理の結果による画素値をＰＢとすると、ブレンド処理後の画素値Ｐｏは、
Ｐｏ＝ｗ×ＰＡ＋（１−ｗ）×ＰＢ・・・（３）
となる。以上、このようにして、非分離２次元フィルター処理の結果と、分離フィルター処理の結果とを選択出力またはブレンド処理出力する。
【００６０】
以上説明したように、液晶プロジェクター２００は、水平画像処理部８１と、垂直画像処理部８２により、個別に画像データの水平画像処理および垂直画像処理を行うので、ＳＲＡＭを増やすことなくタップ数の大きなフィルター処理が可能となる。また、式（３）に示した方法で第１実施例による非分離２次元フィルター処理の結果と、第２実施例による分離２次元フィルターの結果をブレンドする。例えば第１実施例に示したエッジ検出の結果に応じて、エッジ度が高さに比例して２次元フィルター処理結果の比率を高めることで、エッジのシャープさを保ったままでの拡大縮小処理が可能となる。結果として、ＳＲＡＭを増やすことなく、階調の滑らかさと、シャープなエッジとを両立した拡大が可能である。また、同様にＳＲＡＭを増やすことなく、折り返し歪みのない縮小と、シャープなエッジの拡大が可能となる。
【００６１】
上述した第１実施例および第２実施例における各処理部及び各機能部と、特許請求の範囲との対応関係について説明すると、フレームメモリー１３０内のブロックデータが特許請求の範囲に記載の第２の部分カラムデータに相当し、ＳＲＡＭ３３が特許請求の範囲に記載の列メモリーに相当し、ＳＲＡＭ３３に記憶されている部分カラムデータが特許請求の範囲に記載の第１の部分カラムデータに相当し、エッジ検出部３４が特許請求の範囲に記載の画像処理部に相当し、エッジ検出ウインドウが特許請求の範囲に記載の処理演算部と積層記憶部と記憶更新部に相当し、エッジ検出参照パターンが特許請求の範囲に記載の演算フィルターに相当する。さらに、ＳＲＡＭリードが特許請求の範囲に記載の第１の読出部に相当する機能であり、ＳＲＡＭライトが特許請求の範囲に記載の転送部に相当する機能であり、ＤＲＡＭリードが特許請求の範囲に記載の第２の読出部に相当する機能であり、間接画素データが特許請求の範囲に記載の第１の画素データに相当し、直接画素データが特許請求の範囲に記載の第２の画素データに相当し、Prewittオペレーター処理やパターンマッチング法が特許請求の範囲に記載の結果出力部に相当する。
【００６２】
Ｃ．変形例：
なお、この発明は上記の実施例や実施形態に限られるものではなく、その要旨を逸脱しない範囲において種々の態様において実施することが可能であり、例えば次のような変形も可能である。
【００６３】
（Ｃ１）変形例１：
第１実施例では、ＤＲＡＭリードによって読み出す画素数を水平方向４画素としたが、それに限ることなく、ＤＲＡＭリードの画素数Ｎを、２以上の数でコンピューターが処理可能な範囲で任意に設定してもよい。例えば、Ｎが３、５、８などの数でもよい。また、エッジ検出参照パターンのサイズに基づくＴについても、１以上の数でコンピューターが処理可能な範囲で任意に定めることができる。例えば、Ｔが４、８、１０などの数でもよい。また、上述したように、Ｎを任意に設定しても、ＳＲＡＭ３３の記憶する部分カラムデータの列数２Ｔは変化せず、上記実施例と同様の効果が得られる。
【００６４】
（Ｃ２）変形例２：
第２実施例では、第１実施例の非分離２次元フィルターに加え、水平画像処理部８１と垂直画像処理部８２との両方を備えていたが、非分離２次元フィルターに加え、水平画像処理部８１だけ備えることや、垂直画像処理部８２だけ備えるとしてもよい。水平画像処理部８１と垂直画像処理部８２との両方を用いる場合や、或いはどちらか一方のみ用いる場合、もしくは両方とも用いず第１実施例の非分離２次元フィルターのみを用いる場合などを、入力画像データの性質に合わせて設定が可能としてもよいし、入力画像データのサイズを映像表示機器が自動で認識し、自動で設定するとしてもよい。
【００６５】
（Ｃ３）変形例３：
上記実施例では、液晶プロジェクターを用いて本発明を実現したが、液晶テレビ、ＣＲＴ等の、入力画像データに基づいて映像を表示する機器等であれば、上記実施例と同様の効果が得られる。
【符号の説明】
【００６６】
１０…メモリー制御部
２０…プログレッシブ変換部
３０…解像度変換部
３１…バッファー
３２…バッファー
３３…ＳＲＡＭ
３４…エッジ検出部
４０…オンスクリーンディスプレイ制御部
５０…台形補正部
８１…水平補間処理部
８２…垂直補間処理部
１００…液晶プロジェクター
１０５…内部バス
１１０…アナログデジタル変換部
１２０…画像処理部
１３０…フレームメモリー
１４０…ＣＰＵ
１７０…入出力インターフェイス
１８０…表示ドライバー
１９０…画像表示部
２００…液晶プロジェクター
２２０…画像処理部
【図１】
2010245682.tif 000004
【図２】
2010245682.tif 000005
【図３】
2010245682.tif 000006
【図４】
2010245682.tif 000007
【図５】
2010245682.tif 000008
【図６】
2010245682.tif 000009
【図７】
2010245682.tif 000010
【図８】
2010245682.tif 000011
【図９】
2010245682.tif 000012
【図１０】
2010245682.tif 000013
【図１１】
2010245682.tif 000014
【図１２】
2010245682.tif 000015