JP2010245682A - 画像処理装置、画像処理方法およびコンピュータープログラム - Google Patents

画像処理装置、画像処理方法およびコンピュータープログラム Download PDF

Info

Publication number
JP2010245682A
JP2010245682A JP2009090097A JP2009090097A JP2010245682A JP 2010245682 A JP2010245682 A JP 2010245682A JP 2009090097 A JP2009090097 A JP 2009090097A JP 2009090097 A JP2009090097 A JP 2009090097A JP 2010245682 A JP2010245682 A JP 2010245682A
Authority
JP
Japan
Prior art keywords
data
image processing
image
pixel
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2009090097A
Other languages
English (en)
Inventor
Kenji Mori
賢次 森
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2009090097A priority Critical patent/JP2010245682A/ja
Publication of JP2010245682A publication Critical patent/JP2010245682A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Transforming Electric Information Into Light Information (AREA)
  • Control Of Indicators Other Than Cathode Ray Tubes (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Image Processing (AREA)
  • Liquid Crystal Display Device Control (AREA)

Abstract

【課題】画像処理に関する技術を提供する。
【解決手段】縦横に画素を配列して構成された画像を処理する画像処理装置であって、画像を表わす画像データを入力し、画像データの少なくとも一部を、表示用のフレームデータとして記憶する記憶部と、フレームデータを、縦の画素列であるカラムデータを横方向に複数配列したものとして扱うと共に、所定の列数のカラムデータをフレームデータから取得し、第1の部分カラムデータとして一時的に記憶する列メモリーと、記憶部から、第1の部分カラムデータに連続した位置に対応した所定列数のカラムデータを第2の部分カラムデータとして読み出すと共に、第1,第2の部分カラムデータを用いて、所定の画像処理を行なう画像処理部とを備える。
【選択図】図3

Description

本発明は画像処理の技術に関する。
近年の映像機器では表示解像度の高解像度化が進んでいる。一方、入力画像データは、従来のアナログデータをデジタルデータに変換した比較的低解像度のデータや、高解像度デジタルカメラによる高解像度データなど、画像の解像度は様々である。従って、それら様々な解像度の画像データを表示する映像機器側における機能としては、入力画像のサイズを出力映像機器の表示解像度に変換するだけでなく、さらに拡大表示や2画面・多画面表示など、スケーリング技術の重要度は以前にも増して高くなっており、さらに、映像機器による表示画像の高画質への要求も強い。
スケーリングで高画質を実現するために、例えば、以下の様な処理が行われている。画像を拡大して表示するための処理としては、文字や物体輪郭を2次元的に検出後、画像に含まれるエッジ部分を検出し、画像データのエッジ部分に最適な画素を補間することによって拡大した画像の高解像再現をする処理が行われている。また画像を縮小して表示するための処理としては、画像の折り返し歪みを防ぐために、タップ数の多いフィルターを用いる処理が行われている。画像データのエッジ検出やフィルター処理に関する技術としては、例えば以下の特許文献の技術が知られている。
特開平10−155128 特開2006−352798
しかしながら、こうした画像処理は、通常、表示装置の水平方向の走査線(ラスター)に沿って行われるため、表示装置のアスペクト比が16対10、あるいは16対9のように横長になってくると、1ラインの画像データを記憶するラインバッファーとして、大容量のラインメモリーを用意しなければならないという問題があった。垂直方向のエッジ検出などを行うためには、少なくとも一つ前のラインの画像データ(ラインデータ)を記憶していなければいけないからである。また、元々インターレース画像で表示されていた画像をプログレッシブ表示に変換した後の画像の場合には、フィールド別に比較を行った方が正確なエッジ検出を行えるが、この場合には、複数本のラインデータを記憶しなければならず、記憶容量が、ますます増大してしまう。
これに対して、画像を複数のブロックに分割し、ブロックごとにエッジ検出やフィルター処理などの画像処理を行うもの(特許文献2)も提案されているが、この場合には、ブロック内の処理は小さなメモリーにより容易に実現できるものの、ブロックをまたがる処理を行なおうとすると、異なるブロックのデータの読み出しが必要となり、複雑な処理を余儀なくされてしまう。
本発明は、上述の課題の少なくとも一部を解決するために、以下の形態または適用例を取ることが可能である。
[適用例1]
縦横に画素を配列して構成された画像を処理する画像処理装置であって、前記画像を表わす画像データを入力し、前記画像データの少なくとも一部を、表示用のフレームデータとして記憶する記憶部と、前記フレームデータを、縦の画素列であるカラムデータを横方向に複数配列したものとして扱うと共に、所定の列数の前記カラムデータを前記フレームデータから取得し、第1の部分カラムデータとして一時的に記憶する列メモリーと、前記記憶部から、前記第1の部分カラムデータに連続した位置に対応した所定列数のカラムデータを第2の部分カラムデータとして読み出すと共に、前記第1,第2の部分カラムデータを用いて、所定の画像処理を行なう画像処理部とを備えた画像処理装置。
この画像処理装置によると、所定の列数のカラムデータを第1の部分カラムデータとして列メモリーに記憶し、第1の部分カラムデータに連続した位置に対応した所定列数の第2の部分カラムデータと共に、所定の画像処理を行なっているので、横の画素列であるラインデータを複数格納し、画像処理を行う場合と比較して、一時的に格納するデータの容量を少なくする事ができる。また、第1のカラムデータと第2のカラムデータとは連続した位置関係にあるので、多くの画素列の処理を少ない容量の列メモリーを用いて行う事ができる。
[適用例2]
適用例1記載の画像処理装置であって、前記列メモリーは、前記第1の部分カラムデータを、横方向に複数画素からなる画素列を縦方向に複数積層されたものとして記憶しており、前記画像処理部は、前記所定の画像処理を実行する処理演算部と、前記列メモリーから、前記画素列の画像データを第1の画素データとして順次読み出して、前記処理演算部に出力する第1の読出部と、前記第2の部分カラムデータから、前記第1の画素データの画素列に連続する位置に対応した画素列の画像データを第2の画素データとして取り出し、前記処理演算部に出力する第2の読出部と、前記第2の画素データを、前記第1の画素データの読み出しに伴って、前記列メモリーへの前記一時的な記憶に供する転送部とを備え、前記処理演算部は、前記第1,第2の画素データに基づいて、前記画像処理を行なう画像処理装置。
この画像処理装置によると、第2の画素データは第2の部分カラムデータから読み出され演算処理部に出力され、また、第2の画素データは、第1の画素データの読み出しに伴って、列メモリーへの一時的な記憶に供しているので、同じ第2の画素データを第2の部分カラムデータから重複して読み出すことを回避できる。
[適用例3]
適用例2記載の画像処理装置であって、前記処理演算部は、前記第1,第2の画素データを縦方向に複数積層して記憶する積層記憶部と、前記第1,第2の読出部から出力された前記第1,第2の画素データを受け取る度に、該第1,第2の画素データを前記積層方向に順次更新する記憶更新部とを備える画像処理装置。
この画像処理装置によれば、処理演算部は第1,第2の画素データを縦方向に複数積層して記憶することができるので、積層した画素データに対して画像処理を行うことができる。
[適用例4]
前記処理演算部は、複数画素に対応した演算フィルターを、前記積層記憶部に記憶された画素データに適用することにより、前記所定の画像処理を行なう適用例3記載の画像処理装置。
この画像処理装置によれば、複数画素に対応した演算フィルターを、積層した画素データに対して適用できるので、2次元の画像処理を行うことができる。
[適用例5]
適用例4記載の画像処理装置であって、前記処理演算部は、画像処理用のフィルターを前記積層記憶部に記憶された画素データに適用し、該適用した結果を出力する出力部を前記画像処理用のフィルターの数だけ設け、前記複数の出力部から出力された結果を組み合わせて、前記画像処理結果を出力する結果出力部とを備えた画像処理装置。
この画像処理装置によれば、複数の出力部から出力された結果を組み合わせて、画像処理結果を出力するので、精度の高い画像処理を行うことができる。
[適用例6]
前記画像処理用のフィルターは、エッジを検出しようとする方向に対応したエッジ抽出フィルターである適用例5記載の画像処理装置。
この画像処理装置によると、フレームデータに対してエッジ検出を行う事ができる。
[適用例7]
適用例1ないし適用例6のいずれか記載の画像処理装置であって、さらに、前記画像を表す画像データの少なくとも一部の横の画素列であるラインデータ毎に、画像処理を行う水平画像処理部を備える画像処理装置。
この画像処理装置によると、水平画像処理部を備えるので、ラインデータ毎の画像処理が可能である。
[適用例8]
適用例1ないし適用例7のいずれか記載の画像処理装置であって、さらに、前記画像を表す画像データの少なくとも一部のカラムデータ毎に画像処理を行う垂直画像処理部を備える画像処理装置。
この画像処理装置によれば、垂直画像処理部を備えるので、カラムデータ毎の画像処理を行うことができる。
[適用例9]
縦横に画素を配列して構成された画像を処理する画像処理方法であって、前記画像を表わす画像データを入力し、前記画像データの少なくとも一部を、表示用のフレームデータとして記憶し、前記フレームデータを、縦の画素列であるカラムデータを横方向に複数配列したものとして扱うと共に、所定の列数の前記カラムデータを前記フレームデータから取得し、第1の部分カラムデータとして一時的に記憶し、前記記憶した前記第1の部分カラムデータに連続した位置対応した所定列数のカラムデータを第2の部分カラムデータとして読み出すと共に、前記第1,第2の部分カラムデータを用いて、所定の画像処理を行なう画像処理方法。
この画像処理方法によると、所定の列数のカラムデータを第1の部分カラムデータとして記憶し、第1の部分カラムデータに連続した位置に対応した所定列数の第2の部分カラムデータと共に、所定の画像処理を行なっているので、横の画素列であるラインデータを複数格納し、画像処理を行う場合と比較して、一時的に格納するデータの容量を少なくする事ができる。また、第1のカラムデータと第2のカラムデータとは連続した位置関係にあるので、多くの画素列の処理を少ない容量の記憶によって行う事ができる。
[適用例10]
縦横に画素を配列して構成された画像を処理する画像処理をコンピューターに実行させるコンピュータープログラムであって、前記画像を表わす画像データを入力し、前記画像データの少なくとも一部を、表示用のフレームデータとして記憶する機能と、前記フレームデータを、縦の画素列であるカラムデータを横方向に複数配列したものとして扱うと共に、所定の列数の前記カラムデータを前記フレームデータから取得し、第1の部分カラムデータとして一時的に記憶する機能と、前記記憶部から、前記第1の部分カラムデータに連続した位置対応した所定列数のカラムデータを第2の部分カラムデータとして読み出すと共に、前記第1,第2の部分カラムデータを用いて、所定の画像処理を行なう機能とを前記コンピューターに実現させるコンピュータープログラム。
このコンピュータープログラムによると、所定の列数のカラムデータを第1の部分カラムデータとして記憶し、第1の部分カラムデータに連続した位置に対応した所定列数の第2の部分カラムデータと共に、所定の画像処理を行なっているので、横の画素列であるラインデータを複数格納し、画像処理を行う場合と比較して、一時的に格納するデータの容量を少なくする事ができる。また、第1のカラムデータと第2のカラムデータとは連続した位置関係にあるので、多くの画素列の処理を少ない容量の記憶によって行う事ができる。
なお、本発明は、種々の態様で実現することが可能である。例えば、画像処理方法および装置、画像処理システム、それらの方法または装置の機能を実現するための集積回路、コンピュータープログラム、そのコンピュータープログラムを記録した記録媒体等の形態で実現することができる。
液晶プロジェクター100の全体の構成を示すブロック図である。 画像処理部120およびフレームメモリー130の構成を示したブロック図である。 画像処理部120が行う画像処理を概念的に説明したブロック図である。 エッジ検出部34が行うエッジ検出処理を概念的に説明した説明図である。 解像度変換部30が行うエッジ検出処理のタイミングを示したタイミングチャートである。 エッジ検出ウインドウのサイズについて説明する説明図である。 解像度変換部30が行う8画素単位のエッジ検出を説明する説明図である。 エッジ検出の方法を説明する説明図である。 5画素×5画素のエッジ検出参照パターンを用いた拡大補間処理を説明をする説明図である。 エッジ検出結果に基づくフィルター処理を説明する説明図である。 液晶プロジェクター200の画像処理部220が行う画像処理を概念的に説明した説明図である。 4タップのキュービック補間を行う際の1次元フィルター処理を説明する説明図である。
次に、本発明の実施の形態を実施例に基づいて以下の順序で説明する。
A.第1実施例:
(A1)液晶プロジェクターの概略構成
(A2)画像処理
B.第2実施例:
C.変形例:
A.第1実施例:
(A1)液晶プロジェクターの概略構成:
図1は、本発明の一実施例としての液晶プロジェクター100の全体の構成を示すブロック図である。この液晶プロジェクター100は、アナログデジタル変換部110(以下、A/D110とも呼ぶ)、画像処理部120、フレームメモリー130、CPU140、ROM150、RAM160、入出力インターフェイス170(以下、I/O170とも呼ぶ)、表示ドライバー180、画像表示部190を備える。液晶プロジェクター100は、A/D110に入力されてくる映像データに基づいて、図示しないスクリーンに動画を表示する。また各機能部は互いに、内部バス105によって接続されており、さらに画像処理部120とCPU140とは専用バス115により接続されている。なお、映像データは、図示しないビデオカメラやスキャナーやパーソナルコンピューター等の入力装置によってリアルタイムにA/D110に入力されてくる場合と、読み取り可能なメモリーカード等の記録媒体から、A/D110に読み出されてくる場合とのいずれでもよい。ここで、読取可能な記憶媒体としては、ROM、RAM等の記憶デバイスや、MD、CD−ROM、DVD、ブルーレイディスク等の光学記録媒体、およびメモリーカード等の記憶媒体のいずれでもよい。
A/D110は、入力されたアナログ画像データをデジタル画像データに変換する(以下、デジタル画像データを単に、画像データとも呼ぶ)。画像処理部120は、入力された画像データに対して、エッジ検出や、フィルター処理や、台形補正等の画像処理を行い、最適な画像データとして出力する。画像処理部120は、画像データをフレームメモリー130に記憶し、このフレームメモリー130とデータのやり取りを行いながら処理を行う。本実施例においては、画像処理部120にはASIC(Application Specific Integrated Circuit)を用いた。またフレームメモリー130には、DRAM(Dynamic Random Access Memory)を用いた。画像処理部120及びフレームメモリー130については後で詳しく説明する。画像処理部120は画像処理を終了すると、処理済みの画像データを表示ドライバー180に出力する。
表示ドライバー180は、画像処理部120から出力された画像データを、画像表示部190が備える図示しない液晶パネル駆動部が扱えるデータに変換し出力する。画像表示部190は、上述した液晶パネル駆動部や、液晶パネル、映像を投写するための光源であるランプ、このランプから発せられる光を平行光とするレンズ、平行光を投写光に変えてスクリーンに画像として拡大表示させる投写レンズ等の投写光学系の機能部を備えるが、これらの構成は周知のものなので説明は省略する。
(A2)画像処理:
図2は、画像処理部120およびフレームメモリー130の構成を示したブロック図である。フレームメモリー130は、画像処理部120に入力された画像データのうち、1画面を構成する画像データ(以下、フレームデータとも呼ぶ)を記憶可能な記憶容量を備えたメモリーである。画像処理部120は、メモリー制御部10、インターレース・プログレッシブ変換部20(以下、I/P変換部20とも呼ぶ)、解像度変換部30、オンスクリーンディスプレイ制御部40(以下、OSD40とも呼ぶ)、台形補正部50を備える。
メモリー制御部10は、I/P変換部20、解像度変換部30、OSD40および台形補正部50の各機能部と、フレームメモリー130との間で画像データの授受の制御を行う。I/P変換部20は、インターレース画像データとして入力された画像データを、プログレッシブ画像データに変換する。解像度変換部30は、入力された画像データの解像度を出力側の解像度に変換する。この際、画像に含まれるエッジに該当する部分を検出し、最適なフィルターによって画素の補間等の画像処理を施し、液晶プロジェクター100で投写表示するのに最適な解像度に変換する。OSD40は、メニュー画像をスクリーン上に表示する処理を行う回路である。液晶プロジェクター100ではユーザーにより種々の設定が可能となっているが、こうした設定を行うメニュー画面を、投写画像に重畳して投写画像として表示するために、画像データとメニュー画面データとの合成処理を行い、表示画像データとして出力するのである。台形補正部50は、液晶プロジェクター100の投写レンズから投写された投写光と、スクリーン面とがなす角(投写投影角)が垂直でない場合に生じる投写画像の台形歪みに対して、表示画像データの補正処理を行い画像データを出力する。
次に画像処理部120が、フレームメモリー130と、メモリー制御部10と、解像度変換部30とによって行っている画像処理について詳しく説明する。図3は、画像処理部120が行う画像処理を概念的に説明したブロック図である。解像度変換部30は、バッファー31、バッファー32、SRAM(Static Random Access Memory)33、エッジ検出部34、2次元フィルター35を備えている。
I/P変換部20によってプログレッシブ化された画像データが、水平方向のラインデータ(以下、単にラインデータとも呼ぶ)としてライン単位でスキャンされ、解像度変換部30に入力される。例えば、垂直同期信号や水平同期信号に同期して、60fpsの速度で画像データが入力される。入力された画像データは、数十画素から1ラインの比較的長い単位でバッファー31に記憶される。所定容量の画像データがバッファー31に記憶されると、バッファー31はメモリー制御部10に対して、フレームメモリー130への画像データの書き込み(以下、DRAMライトとも呼ぶ)のリクエストを出す。メモリー制御部10は、DRAMライトのリクエストを受け付けると、バッファー31に記憶された画像データを、フレームメモリー130にバーストライトする。解像度変換部30は、この処理を繰り返し、1画面分の画像データ、つまりフレームデータをフレームメモリー130に記憶する。換言すると、フレームメモリー130には、ラインデータが垂直方向に積層して1画面を構成する態様で、フレームデータとして記憶される。なおフレームメモリー130が、特許請求の範囲に記載の記憶部に相当する。
フレームデータがフレームメモリー130に記憶されると、メモリー制御部10は、そのフレームデータを、垂直方向のカラムデータが水平方向に配列された画像データとみなし、カラムデータ4列分を1つの単位としたブロックデータの集合としてフレームデータを扱う。
メモリー制御部10は、フレームメモリー130に記憶されたフレームデータをブロックデータ毎に読み出し(以下、DRAMリードとも呼ぶ)、バッファー32を介して、エッジ検出部34、SRAM33に出力する。この時、メモリー制御部10が1つのブロックデータをフレームメモリー130から読み出す際には、ブロックデータに含まれる画素データを、水平方向を主走査方向として4画素ずつバーストリードし、垂直方向を副走査方向として順に下にバーストリードをシフトさせながら、データの読み出しを行う。本実施例においては、メモリー制御部10は、フレームデータの左端に位置するブロックデータから順に右に向かって、ブロックデータの読み出しを行う。
次にエッジ検出部34と、SRAM33とによって行われるエッジ検出処理について説明する。図4は、エッジ検出部34が行うエッジ検出処理を概念的に説明した説明図である。上述したように、メモリー制御部10は、フレームメモリー130内のフレームデータに対して、ブロックデータ単位毎に、水平方向に4画素ずつのバーストリード、つまりDRAMリードを行い、次に、ブロックデータ内で1ライン下に移り、再び水平方向に4画素のバーストリードを行う。このバーストリードをブロックデータ内で垂直方向に繰り返し行い、最後のラインまで続ける。
DRAMリードの結果は、バッファー32に記憶される。バッファー32―が記憶した、水平方向4画素ずつの画素データは、エッジ検出部34によるエッジ検出処理のタイミングに合わせてバッファー32からエッジ検出部34に出力される。それと同時に、後述する、SRAM33に記憶されている部分カラムデータからエッジ検出部34に4画素分の画素データが出力され、エッジ検出と2次元フィルター処理のためのフリップフロップ(以下、F/Fとも呼ぶ)ウインドウを形成する画素データとして用いられる。以下、バッファー32から出力され、エッジ検出ウインドウの形成に直接用いられる画素データを直接画素データと呼ぶ。また、SRAM33から出力され、エッジ検出ウインドウの形成に用いられる画素データを間接画素データと呼ぶ。加えて、間接画素データがSRAM33から出力される処理をSRAMリードと呼ぶ。
エッジ検出部34は、バッファー32から読み出した直接画素データを、エッジ検出ウインドウ形成用の画素データとして用いるとともに、SRAM33にも出力し、先ほど出力された間接画素データが記憶されていたSRAM33の記憶領域に、その直接画素データを新たな間接画素データとして記憶する(以下、SRAMライトとも呼ぶ)。
SRAM33は、上述したように、バッファー32がエッジ検出部34に出力した水平方向4画素ずつの直接画素データを、新たに、SRAM33内に、積層した態様で記憶する。ここで、SRAM33内に積層した態様で記憶した画素データを部分カラムデータと呼ぶ。この部分カラムデータは、一見、フレームメモリー130内のブロックデータが複製されたデータのようであるが、部分カラムデータからエッジ検出部34に向けて水平方向4画素の画素データが間接画素データとして出力されると、出力された間接画素データが記憶されていたSRAM33の記憶領域には、新たにバッファー32からエッジ検出部34に出力された直接画素データが新たな間接画素データとして記憶されるので、フレームメモリー130内のブロックデータが複製されたデータとは異なる。具体的には、図4に示すように、フレームメモリー130内の、所定のブロックデータのi行目の水平方向4画素分の画素データが、バッファー32を介してエッジ検出ウインドウに直接画素データとして出力された際、SRAM33からは、部分カラムデータのi行目のデータが間接画素データとしてエッジ検出ウインドウに出力され、その後、部分カラムデータのi行目の記憶領域に、新たに、今、直接画素データとして出力された画素データが記憶される。
エッジ検出ウインドウは、水平方向8画素、垂直方向5画素からなる画素データで形成されている。図4に示すエッジ検出ウインドウの画素データのうち、右側の、水平方向4画素、垂直方向5画素からなる画素データは、直接画素データとして、バッファー32から出力されたデータによって形成されている。エッジ検出ウインドウの画素データのうち、左側の、水平方向4画素、垂直方向5画素からなる画素データは、SRAMリードによってSRAM33から出力された間接画素データによって形成されている。エッジ検出ウインドウ内の、ハッチングを施した画素は、このエッジ検出ウインドウで、エッジ検出が行われる画素(以下、注目画素と呼ぶ)である。本実施例では、5画素×5画素の参照画素(以下、エッジ検出参照パターンとも呼ぶ)に基づいて、その中心に位置する注目画素がエッジ上の画素であるか否かを判断する。つまり、水平方向8画素、垂直方向5画素からなるエッジ検出ウインドウから、ハッチングを施した注目画素4画素分のエッジ検出が可能である。そしてエッジ検出の結果に基づいて2次元フィルター処理を行う。
次に、DRAMリード、SRAMリード、エッジ検出ウインドウの形成およびエッジ検出処理のタイミングについて説明する。図5は、解像度変換部30が行うエッジ検出処理のタイミングを示したタイミングチャートである。今、図4に示すように、フレームメモリー130に記憶したフレームデータ内の、左からL番目のブロックデータのうち、上からi番目のデータが水平方向j番目からj+3番目までメモリー制御部10によってDRAMリードされた場合を考える。以下、フレームデータの、例えば、上からi番目、水平方向j番目の画素を[i,j]と表記し、フレームデータ上の各画素の位置を座標で表記する。
DRAMリードにより、フレームデータ上の左からL番目のブロックデータの[i,j]〜[i,j+3]の4画素がエッジ検出ウインドウに直接画素データとして読み出された時、同時に、SRAM33に記憶されていた部分カラムデータのうち、[i,j−4]〜[i,j―1]の4画素のデータがエッジ検出ウインドウに間接画素データとして読み出される。DRAMリード、SRAMリードによって読み出された、[i,j−4]〜[i,j―1]と[i,j]〜[i,j+3]の画素データは、次のクロックで、エッジ検出ウインドウの参照データとして用いられる。そして、直接画素データである[i,j]〜[i,j+3]の4画素のデータは、エッジ検出ウインドウの右側の参照データを構成し、SRAMリードによって読み出された間接画素データである[i,j−4]〜[i,j―1]の4画素のデータはエッジ検出ウインドウの左側の参照データを構成する。なお、間接画素データである[i,j−4]〜[i,j―1]の4画素のデータは、もともとはフレームデータ上の左からL−1番目のブロックデータ内の上からi行目の水平方向4画素のデータであり、L−1番目のブロックデータが水平方向4画素ずつDRAMリードにより直接データとして読み出された時に、SRAM33に間接画素データとして記憶されたデータである。
SRAM33の部分カラムデータから[i,j−4]〜[i,j―1]の4画素のデータが読み出されると、SRAM33の記憶領域の内、[i,j−4]〜[i,j―1]の4画素のデータを記憶していた領域に、DRAMリードによってフレームメモリー130から読み出されたL番目のブロックデータの[i,j]〜[i,j+3]の4画素のデータを記憶する。このように、DRAMリードにより読み出されたL−1番目のブロックデータの4画素のデータは、エッジ検出ウインドウで直接、エッジ検出ウインドウの右側を形成する画素データとして用いられると同時に、SRAM33に記憶される。そして、L番目のブロックデータからDRAMリードにより4画素のデータが読み出され、直接、エッジ検出ウインドウで右側の参照データとして用いられる時に、SRAM33から読み出され、エッジ検出ウインドウの左側を形成するデータとして用いられる。
図5に示すように、エッジ検出ウインドウでは、水平方向8画素、垂直方向5画素の画素データのうち、5画素×5画素のエッジ検出参照パターンの中心に位置する画素のエッジ検出を、1クロックに1画素ずつ行う。つまり、図4における、ハッチングを施した注目画素において、左から右に順にエッジ検出を行う。注目画素の右端まで処理が終わると、エッジ検出ウインドウを構成する画素データ全体を、上にシフトさせ、DRAMリードした画素データとSRAMリードした画素データとを、ウインドウ内の最下段に書き込む。このように画素データを順次送っていくことにより、DRAMを重複リードすることがない。
本実施例においては、DRAMリードによって読み出す画素データは、水平方向4画素のデータである。この時、エッジ検出参照パターンのサイズを5画素×5画素とすると、エッジ検出ウインドウのサイズは水平方向8画素、垂直方向5画素となる。以下、その説明をする。エッジ検出参照パターンのサイズを5画素×5画素とすると、エッジ検出参照パターンの中心画素(注目画素)のエッジ検出のための周辺画素として、水平、垂直方向それぞれ2画素ずつ必要である。またDRAMからの画像データの読み出しは4画素単位のバーストリード(DRAMリード)のため、エッジ検出処理も1度に4画素の注目画素において行うと効率的である。よって、1回のエッジ検出ウインドウの形成につき、4画素(注目画素4画素分)のエッジ検出を行う。すなわちエッジ検出ウインドウの水平方向の画素サイズは2+4+2=8画素となる。
上記説明を一般化すると、図6に示すように、エッジ検出参照パターンのサイズを(2T+1)×(2T+1)とすると、DRAMリードによる水平方向バースト単位がN画素のとき、エッジ検出ウインドウの水平画素数は2T+Nとなる。このエッジ検出ウインドウの2T+Nの水平画素数を、DRAMリードによって読み出すN画素と、SRAMリードによって読み出す画素数とで満たす必要がある。よって、SRAMリードによって読み出す画素数は、エッジ検出ウインドウの水平画素数である2T+NからDRAMリードによって読み出す画素数Nを引いた(2T+N)−N=2Tとなる。つまり1回のSRAMリードによって読み出す画素数は2T画素である。1回のSRAMリードが2T画素であるので、エッジ検出処理における必要なSRAM列数=2Tとなる。このとき、バッファー32から送られた画素データのうちの右側から2T画素(2T列)をSRAMに間接画素データとして保存することになる。本実施例では間接画素データをSRAMライトするので、SRAMのバス幅は2T列分まとめてのバス幅でよいことになる。例えばバースト単位が8画素の場合は、図7のように8画素単位のエッジ検出を行うが、SRAMのサイズは4画素バーストの場合と変わらないことが理解できる。また、DRAMリードで読み出したN画素のうち2T画素が間接画素データとしてSRAMライトされるのでN≧2Tとなる。エッジ検出参照パターンは2次元を構成する画素数が必要なのでT≧1となる。つまり、このときN≧2となり、DRAMからのバーストリードは2画素以上である。
本実施例では、このようにして形成した水平方向8画素、垂直方向5画素のエッジ検出ウインドウに対して、エッジ検出参照パターンを用いてエッジを検出する。エッジ検出はエッジ検出参照パターンの中央の注目画素について、その画素がエッジ部分の画素であるか否かを検出し、さらにその画素がエッジ部分である場合には、そのエッジの方向を検出する。具体的なエッジ検出方法としては、図8に示すように、Prewittオペレーター処理により各画素に重みをつけた有方向エッジパターンを、エッジ方向に応じて複数用意し、画像との積和演算の結果が最大の値を持つ角度をエッジ方向と判断したり、いわゆるパターンマッチング法により、演算結果をさらに重み付け加算して中間角度をエッジ方向と判断することでエッジ検出を行うことができる。エッジパターンは、例えば電源投入時に、ROM150から画像処理部120に接続された図示しないエッジパターン保持用SRAMにCPU140を介してロードされ、エッジ検出時に参照されるようにしてもよい。
本実施例においては、エッジ検出で用いた5画素×5画素のエッジ検出参照パターンを使って2次元フィルター処理を行う。図9は、5画素×5画素のエッジ検出参照パターンを用いた拡大補間処理を説明する説明図である。図10は、エッジ検出結果に基づくフィルター処理を説明する説明図である。図9において、元の画素データに対して拡大補間を行う場合、補間画素の出力画素位置に対して、例えば図9の補間画素の左上に位置する元画像画素のエッジ検出結果を用いて、2次元フィルターの係数を定める。図10に示すように、フィルター係数は、エッジ方向に応じてあらかじめ用意したフィルター係数テーブルを読み出すことによって得られる。2次元フィルター処理を行う参照領域をm行n列で表し、フィルター係数をAmn(左上をA00、右下がA44)、5画素×5画素のエッジ検出参照パターン内の画素値をPmnとすると、2次元フィルター処理後の画素値PAは式(1)となる。
PA=ΣAmnPmn・・・(1)
なお、上記に示した方法でフィルター処理を行うと、DRAMリードの際のデータ入力の順序とは異なる順序でデータが出力されるため、その後の処理として、必要に応じてDRAMを介してデータの順序を整理する。以上、このようにして2次元フィルター処理を行う。
以上、説明したように液晶プロジェクター100は、入力された1画面分のフレームデータをフレームメモリー130に記憶し、カラムデータとして読み出し、エッジ検出を行っている。またその際、SRAM33を部分カラムデータを記憶する記憶領域として用いている。よって、SRAMが水平方向のラインデータの記憶領域として用いられるのに比べて、記憶容量を小さくすることができる。また、SRAM33が記憶する部分カラムデータは、SRAMリードで読み出すと、その読み出した記憶領域に、新たに次の部分カラムデータを書き込んでいる。よって、この処理によっても、SRAMの記憶領域を削減しており、さらに、DRAMリードによるデータと、SRAMリードによるデータとの両データを用いてエッジ検出ウインドウを形成しているので、エッジ検出ウインドウとして用いることができる水平方向のデータ量に対して、SRAMの記憶領域を小さくすることができる。また、エッジ検出ウインドウの垂直方向の画素数を増やすことが可能なので、縦方向のフィルターサイズを大きくすることが可能であり、インターレースの画像に対しても、精度の高いエッジ検出が可能である。
B.第2実施例:
第2実施例は、第1実施例における液晶プロジェクター100に加え、画像データの水平画像処理及び、垂直画像処理の機能を備えたものである。図11は、第2実施例における液晶プロジェクター200の画像処理部220が行う画像処理を概念的に説明した説明図である。画像処理部220は液晶プロジェクター100と比較して、更に、水平画像処理部81、垂直画像処理部82を備える。
水平画像処理部81は、画像データの水平方向のライン単位で入力された画素データを、フィルター処理用のウインドウF/Fに格納し、1次元フィルター処理を行う。図11には、一例として9タップのウインドウF/Fを示した。また、4タップのキュービック補間を行う際には、図12に示したような構成の1次元フィルターで処理を行うことができる。
次に垂直画像処理部82について説明する。図11に示すように、垂直画像処理部82は、第1実施例と同様に、DRAM内のフレームデータを、水平方向に数画素の小さなバーストリードを行い、次に1ライン下に移り、それを垂直方向に繰り返して最後のラインまで続ける。DRAMリード結果は、一担、バッファーに記憶した後、垂直画像処理のタイミングに合わせて出力され、1次元画像処理のためのF/Fウインドウを形成する。
第1実施例と異なる点は、垂直画像処理部82が行うのは垂直方向の画像処理のみである点であり、この場合、画像処理の対象である画素に対して左右方向の画素値を保存しておく必要はない。したがってSRAMは不要であり、バーストリード単位の幅のウインドウがあればよい。具体的な処理は、図11に示した垂直画像処理F/F内の左端のハッチングを施した注目画素について垂直方向9画素によるフィルター処理を行い、次に左から2番目の注目画素について同様の処理を行う。そして、右端の処理まで処理が達したら、垂直画像処理F/Fのウインドウを構成する画素データ全体を上にシフトさせ、DRAMリードした画素をウインドウ内の最下段に書き込む。このように画素データを順次送っていくことにより、DRAMを重複リードすることがない。このようにすると、SRAMを用いることなく限られたF/F数だけで大きなタップ数のフィルター処理が可能になる。
分離型の2次元フィルター処理を式で表すと以下のようになる。水平方向フィルター係数をBXh、垂直方向フィルター係数をBYgとする。例えば4×4の場合は、BX=[BX0 BX1 BX2 BX3]、BY=[BY0 BY1 BY2 BY3]Tである。この時、対応する画素値をPghとすると(g行h列)、2次元フィルター処理後の画素値PBは下記の式(2)のようになる。
Figure 2010245682
以上、このようにして、水平画像処理部81及び垂直画像処理部82による分離型の2次元フィルター処理を終了する。
水平画像処理部81及び垂直画像処理部82によって、分離型の2次元フィルター処理を終了すると、次に、第1実施例の非分離2次元フィルター処理の結果と、第2実施例の分離フィルター処理の結果とを選択出力またはブレンド処理出力する。この場合、両フィルター処理のタイミングが異なるので、図示しないバッファーによりDRAMリードのタイミングや、フィルター処理後においてタイミング調整を行う。そして、テキスト画像なら非分離2次元フィルター処理の結果を、自然画像なら2次元分離フィルター処理の結果を選択して出力、または、下記の式(3)のように両処理結果をブレンドして出力する等の、所定の基準を設けて、両処理結果を選択およびブレンドする処理を行う。ブレンド比率をwとし、第1実施例による非分離2次元フィルター処理の結果による画素値をPA、第2実施例による分離2次元フィルター処理の結果による画素値をPBとすると、ブレンド処理後の画素値Poは、
Po=w×PA+(1−w)×PB・・・(3)
となる。以上、このようにして、非分離2次元フィルター処理の結果と、分離フィルター処理の結果とを選択出力またはブレンド処理出力する。
以上説明したように、液晶プロジェクター200は、水平画像処理部81と、垂直画像処理部82により、個別に画像データの水平画像処理および垂直画像処理を行うので、SRAMを増やすことなくタップ数の大きなフィルター処理が可能となる。また、式(3)に示した方法で第1実施例による非分離2次元フィルター処理の結果と、第2実施例による分離2次元フィルターの結果をブレンドする。例えば第1実施例に示したエッジ検出の結果に応じて、エッジ度が高さに比例して2次元フィルター処理結果の比率を高めることで、エッジのシャープさを保ったままでの拡大縮小処理が可能となる。結果として、SRAMを増やすことなく、階調の滑らかさと、シャープなエッジとを両立した拡大が可能である。また、同様にSRAMを増やすことなく、折り返し歪みのない縮小と、シャープなエッジの拡大が可能となる。
上述した第1実施例および第2実施例における各処理部及び各機能部と、特許請求の範囲との対応関係について説明すると、フレームメモリー130内のブロックデータが特許請求の範囲に記載の第2の部分カラムデータに相当し、SRAM33が特許請求の範囲に記載の列メモリーに相当し、SRAM33に記憶されている部分カラムデータが特許請求の範囲に記載の第1の部分カラムデータに相当し、エッジ検出部34が特許請求の範囲に記載の画像処理部に相当し、エッジ検出ウインドウが特許請求の範囲に記載の処理演算部と積層記憶部と記憶更新部に相当し、エッジ検出参照パターンが特許請求の範囲に記載の演算フィルターに相当する。さらに、SRAMリードが特許請求の範囲に記載の第1の読出部に相当する機能であり、SRAMライトが特許請求の範囲に記載の転送部に相当する機能であり、DRAMリードが特許請求の範囲に記載の第2の読出部に相当する機能であり、間接画素データが特許請求の範囲に記載の第1の画素データに相当し、直接画素データが特許請求の範囲に記載の第2の画素データに相当し、Prewittオペレーター処理やパターンマッチング法が特許請求の範囲に記載の結果出力部に相当する。
C.変形例:
なお、この発明は上記の実施例や実施形態に限られるものではなく、その要旨を逸脱しない範囲において種々の態様において実施することが可能であり、例えば次のような変形も可能である。
(C1)変形例1:
第1実施例では、DRAMリードによって読み出す画素数を水平方向4画素としたが、それに限ることなく、DRAMリードの画素数Nを、2以上の数でコンピューターが処理可能な範囲で任意に設定してもよい。例えば、Nが3、5、8などの数でもよい。また、エッジ検出参照パターンのサイズに基づくTについても、1以上の数でコンピューターが処理可能な範囲で任意に定めることができる。例えば、Tが4、8、10などの数でもよい。また、上述したように、Nを任意に設定しても、SRAM33の記憶する部分カラムデータの列数2Tは変化せず、上記実施例と同様の効果が得られる。
(C2)変形例2:
第2実施例では、第1実施例の非分離2次元フィルターに加え、水平画像処理部81と垂直画像処理部82との両方を備えていたが、非分離2次元フィルターに加え、水平画像処理部81だけ備えることや、垂直画像処理部82だけ備えるとしてもよい。水平画像処理部81と垂直画像処理部82との両方を用いる場合や、或いはどちらか一方のみ用いる場合、もしくは両方とも用いず第1実施例の非分離2次元フィルターのみを用いる場合などを、入力画像データの性質に合わせて設定が可能としてもよいし、入力画像データのサイズを映像表示機器が自動で認識し、自動で設定するとしてもよい。
(C3)変形例3:
上記実施例では、液晶プロジェクターを用いて本発明を実現したが、液晶テレビ、CRT等の、入力画像データに基づいて映像を表示する機器等であれば、上記実施例と同様の効果が得られる。
10…メモリー制御部
20…プログレッシブ変換部
30…解像度変換部
31…バッファー
32…バッファー
33…SRAM
34…エッジ検出部
40…オンスクリーンディスプレイ制御部
50…台形補正部
81…水平補間処理部
82…垂直補間処理部
100…液晶プロジェクター
105…内部バス
110…アナログデジタル変換部
120…画像処理部
130…フレームメモリー
140…CPU
170…入出力インターフェイス
180…表示ドライバー
190…画像表示部
200…液晶プロジェクター
220…画像処理部

Claims (10)

  1. 縦横に画素を配列して構成された画像を処理する画像処理装置であって、
    前記画像を表わす画像データを入力し、前記画像データの少なくとも一部を、表示用のフレームデータとして記憶する記憶部と、
    前記フレームデータを、縦の画素列であるカラムデータを横方向に複数配列したものとして扱うと共に、所定の列数の前記カラムデータを前記フレームデータから取得し、第1の部分カラムデータとして一時的に記憶する列メモリーと、
    前記記憶部から、前記第1の部分カラムデータに連続した位置に対応した所定列数のカラムデータを第2の部分カラムデータとして読み出すと共に、前記第1,第2の部分カラムデータを用いて、所定の画像処理を行なう画像処理部と
    を備えた画像処理装置。
  2. 請求項1記載の画像処理装置であって、
    前記列メモリーは、前記第1の部分カラムデータを、横方向に複数画素からなる画素列を縦方向に複数積層されたものとして記憶しており、
    前記画像処理部は、
    前記所定の画像処理を実行する処理演算部と、
    前記列メモリーから、前記画素列の画像データを第1の画素データとして順次読み出して、前記処理演算部に出力する第1の読出部と、
    前記第2の部分カラムデータから、前記第1の画素データの画素列に連続する位置に対応した画素列の画像データを第2の画素データとして取り出し、前記処理演算部に出力する第2の読出部と、
    前記第2の画素データを、前記第1の画素データの読み出しに伴って、前記列メモリーへの前記一時的な記憶に供する転送部と
    を備え、
    前記処理演算部は、前記第1,第2の画素データに基づいて、前記画像処理を行なう
    画像処理装置。
  3. 請求項2記載の画像処理装置であって、
    前記処理演算部は、
    前記第1,第2の画素データを縦方向に複数積層して記憶する積層記憶部と、
    前記第1,第2の読出部から出力された前記第1,第2の画素データを受け取る度に、該第1,第2の画素データを前記積層方向に順次更新する記憶更新部と
    を備える画像処理装置。
  4. 前記処理演算部は、複数画素に対応した演算フィルターを、前記積層記憶部に記憶された画素データに適用することにより、前記所定の画像処理を行なう請求項3記載の画像処理装置。
  5. 請求項4記載の画像処理装置であって、
    前記処理演算部は、
    画像処理用のフィルターを前記積層記憶部に記憶された画素データに適用し、該適用した結果を出力する出力部を前記画像処理用のフィルターの数だけ設け、
    前記複数の出力部から出力された結果を組み合わせて、前記画像処理結果を出力する結果出力部と
    を備えた画像処理装置。
  6. 前記画像処理用のフィルターは、エッジを検出しようとする方向に対応したエッジ抽出フィルターである請求項5記載の画像処理装置。
  7. 請求項1ないし請求項6のいずれか記載の画像処理装置であって、さらに、
    前記画像を表す画像データの少なくとも一部の横の画素列であるラインデータ毎に、画像処理を行う水平画像処理部を備える画像処理装置。
  8. 請求項1ないし請求項7のいずれか記載の画像処理装置であって、さらに、
    前記画像を表す画像データの少なくとも一部のカラムデータ毎に画像処理を行う垂直画像処理部を備える画像処理装置。
  9. 縦横に画素を配列して構成された画像を処理する画像処理方法であって、
    前記画像を表わす画像データを入力し、前記画像データの少なくとも一部を、表示用のフレームデータとして記憶し、
    前記フレームデータを、縦の画素列であるカラムデータを横方向に複数配列したものとして扱うと共に、所定の列数の前記カラムデータを前記フレームデータから取得し、第1の部分カラムデータとして一時的に記憶し、
    前記記憶した前記第1の部分カラムデータに連続した位置対応した所定列数のカラムデータを第2の部分カラムデータとして読み出すと共に、前記第1,第2の部分カラムデータを用いて、所定の画像処理を行なう
    画像処理方法。
  10. 縦横に画素を配列して構成された画像を処理する画像処理をコンピューターに実行させるコンピュータープログラムであって、
    前記画像を表わす画像データを入力し、前記画像データの少なくとも一部を、表示用のフレームデータとして記憶する機能と、
    前記フレームデータを、縦の画素列であるカラムデータを横方向に複数配列したものとして扱うと共に、所定の列数の前記カラムデータを前記フレームデータから取得し、第1の部分カラムデータとして一時的に記憶する機能と、
    前記記憶部から、前記第1の部分カラムデータに連続した位置対応した所定列数のカラムデータを第2の部分カラムデータとして読み出すと共に、前記第1,第2の部分カラムデータを用いて、所定の画像処理を行なう機能と
    を前記コンピューターに実現させるコンピュータープログラム。
JP2009090097A 2009-04-02 2009-04-02 画像処理装置、画像処理方法およびコンピュータープログラム Pending JP2010245682A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009090097A JP2010245682A (ja) 2009-04-02 2009-04-02 画像処理装置、画像処理方法およびコンピュータープログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009090097A JP2010245682A (ja) 2009-04-02 2009-04-02 画像処理装置、画像処理方法およびコンピュータープログラム

Publications (1)

Publication Number Publication Date
JP2010245682A true JP2010245682A (ja) 2010-10-28

Family

ID=43098247

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009090097A Pending JP2010245682A (ja) 2009-04-02 2009-04-02 画像処理装置、画像処理方法およびコンピュータープログラム

Country Status (1)

Country Link
JP (1) JP2010245682A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015228588A (ja) * 2014-05-30 2015-12-17 キヤノン株式会社 映像処理装置、その制御方法、およびプログラム
WO2015194019A1 (ja) * 2014-06-19 2015-12-23 三菱電機株式会社 表示制御装置及び表示制御装置の復元方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015228588A (ja) * 2014-05-30 2015-12-17 キヤノン株式会社 映像処理装置、その制御方法、およびプログラム
WO2015194019A1 (ja) * 2014-06-19 2015-12-23 三菱電機株式会社 表示制御装置及び表示制御装置の復元方法

Similar Documents

Publication Publication Date Title
JP5744418B2 (ja) 投影装置及び投影方法
JP5217537B2 (ja) プロジェクタ、電子機器、および、プロジェクタの制御方法
WO2015032185A1 (zh) 图像超分辨率重构系统及方法
CN101490708B (zh) 图像处理设备、图像处理方法和程序
JP2008079026A (ja) 画像処理装置、画像処理方法、及び、プログラム
JP4871820B2 (ja) 映像表示システム及び該システムのパラメータ生成方法
JP2009177651A (ja) 歪補正装置
US6853354B2 (en) Multi display projector
JP2011182078A (ja) 補正情報算出装置、画像補正装置、画像表示システム、補正情報算出方法
JP6948810B2 (ja) 画像処理システム
JP2005135096A (ja) 画像処理方法および画像処理装置、並びにプログラム
JP5537048B2 (ja) 画像表示装置、画像表示方法、撮像装置、及び撮像装置の制御方法
KR20040074938A (ko) 프로젝터의 화상 보정 방법 및 프로젝터
JP4606218B2 (ja) 歪補正装置
JP2010245682A (ja) 画像処理装置、画像処理方法およびコンピュータープログラム
JP2009237650A (ja) 画像処理装置及び撮像装置
JP5171287B2 (ja) データ処理装置
JP4746912B2 (ja) 画像信号処理回路および画像表示装置
JP5676924B2 (ja) 投影装置及び投影方法
US7061497B2 (en) Memory access control apparatus
JP2008228251A (ja) 画像処理装置、画像処理方法、及び画像処理プログラム
JP5521641B2 (ja) 画像処理用データの圧縮方法および圧縮装置とこれを備えた撮像装置
JP2015138417A (ja) 画像処理装置および画像処理方法
JP5087845B2 (ja) 画像ディスプレイ回路および画像表示処理方法
JP5407928B2 (ja) 投写型表示装置および表示方法