[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP5746556B2 - 画像処理装置、画像処理方法、及びプログラム - Google Patents

画像処理装置、画像処理方法、及びプログラム Download PDF

Info

Publication number
JP5746556B2
JP5746556B2 JP2011106619A JP2011106619A JP5746556B2 JP 5746556 B2 JP5746556 B2 JP 5746556B2 JP 2011106619 A JP2011106619 A JP 2011106619A JP 2011106619 A JP2011106619 A JP 2011106619A JP 5746556 B2 JP5746556 B2 JP 5746556B2
Authority
JP
Japan
Prior art keywords
image
coordinates
input
filter
pixel
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.)
Expired - Fee Related
Application number
JP2011106619A
Other languages
English (en)
Other versions
JP2012238171A5 (ja
JP2012238171A (ja
Inventor
哲郎 北荘
哲郎 北荘
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2011106619A priority Critical patent/JP5746556B2/ja
Priority to US13/459,395 priority patent/US8830344B2/en
Publication of JP2012238171A publication Critical patent/JP2012238171A/ja
Publication of JP2012238171A5 publication Critical patent/JP2012238171A5/ja
Application granted granted Critical
Publication of JP5746556B2 publication Critical patent/JP5746556B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/12Picture reproducers
    • H04N9/31Projection devices for colour picture display, e.g. using electronic spatial light modulators [ESLM]
    • H04N9/3179Video signal processing therefor
    • H04N9/3185Geometric adjustment, e.g. keystone or convergence
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N25/00Circuitry of solid-state image sensors [SSIS]; Control thereof
    • H04N25/60Noise processing, e.g. detecting, correcting, reducing or removing noise
    • H04N25/61Noise processing, e.g. detecting, correcting, reducing or removing noise the noise originating only from the lens unit, e.g. flare, shading, vignetting or "cos4"

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Geometry (AREA)
  • Image Processing (AREA)
  • Transforming Electric Information Into Light Information (AREA)
  • Video Image Reproduction Devices For Color Tv Systems (AREA)
  • Picture Signal Circuits (AREA)

Description

本発明は画像処理技術に関する。
従来より、画像を変形する技術と、画像に対してフィルタ処理を行う技術とが、それぞれ独立に知られている。例えば画像変形技術の一例として、歪み補正処理、キーストーン補正処理、又は幾何補正処理等と呼ばれる技術(以降、まとめて歪み補正処理と呼ぶ)がある。歪み補正技術は例えば、プロジェクタにおいて用いられる。図1はプロジェクタ100がスクリーン101上に画像を表示する様子を示す。プロジェクタ100の投射光学系の光学軸とスクリーン101とのなす角度が90度の場合には、投射画像102はスクリーン101上に正規の形状(例えば長方形)に表示される。一方、この角度が90度以外の場合には、投射画像103は歪んだ形状(例えば台形)で表示される。この歪みを補正するために、歪み補正処理が行われる。図2は、歪み補正処理の例を示す。歪み補正処理によって、入力画像200は歪み補正画像201に変換される。ここで歪み補正画像201には、台形形状の有効領域205と、有効領域外のブランキング領域204とが含まれる。歪み補正画像201がスクリーン101に投影されると、有効領域はスクリーン上で長方形に表示される(203)。
また、画像に対してフィルタ処理を行う様々な技術が知られている。フィルタ処理の一例として、空間フィルタ処理を用いた視認性向上処理が挙げられる。この視認性向上処理には、動画を表示する際のフレームレートを向上させることが含まれる(例えば、図2の202)。このような処理の例としては、例えば特許文献1に記載の技術が挙げられる。
特開2009−44460号公報
歪み補正処理と、フィルタ処理とを組み合わせる場合に、以下のような課題が生じることを発明者は発見した。まず第1の課題について、図3(A)を参照して説明する。図3(A)においてスクリーンに投射されている投射画像304は、歪み補正画像303に対してフィルタ処理を行ってからスクリーンに投影することによって得られる。歪み補正画像303における領域301は、投射画像304における領域305に対応する。また、歪み補正画像303における領域302は、投射画像304における領域306に対応する。ここで、領域301と領域302とは同じ大きさであるが、領域305と領域306との大きさは異なる。すなわち、歪み補正画像303に対して領域301を参照領域とするフィルタ処理を行った場合、投射画像304の観察者にとっては、領域305を参照領域とするフィルタ処理が行われたかのように見える。同様に、歪み補正画像303に対して領域302を参照領域とするフィルタ処理を行った場合、投射画像304の観察者にとっては、領域306を参照領域とするフィルタ処理が行われたかのように見える。このように、観察者には投射画像304において一様でないフィルタ処理が行われているように見え、このことは画質の低下として認識されることがある。例えばフィルタ処理によって平滑化を行う場合、領域306と比べて、領域305においては画像の鮮鋭度がより大きく低下する。
次に第2の課題について、図3(B)を参照して説明する。歪み補正画像303において、ブランキング領域307と有効領域308の境界にある領域300を参照してフィルタ処理を行うと、境界付近の鮮鋭度が低下することがある。通常、ブランキング領域307内の画素値は所定の値、例えば(R,G,B)=(0,0,0)(黒色)を持つ。ところで、領域310の中心画素は、ブランキング領域307内に位置するが、この画素の画素値は領域310を参照したフィルタ処理によって得られる。ところが領域310内には有効領域308が含まれるため、フィルタ処理によって得られる画素値は、上記の所定の値とは異なるものとなる。
一方で領域309の中心画素は、有効領域308内に位置するが、この画素の画素値は領域309を参照したフィルタ処理によって得られる。ところが領域309内にはブランキング領域307が含まれるため、フィルタ処理によって得られる画素値は、ブランキング領域の画素値の影響を受けてしまう。すなわち、上述のようにブランキング領域の画素が黒色であれば、ブランキング領域307と有効領域308との境界において、ブランキング領域307の画素値は大きくなり、有効領域308の画素値は小さくなってしまう。
本発明は、画像変形処理とフィルタ処理とを連続して行う際に、画質の低下を防ぐことを目的とする。
本発明の目的を達成するために、例えば、本発明の画像処理装置は以下の構成を備える。すなわち、
入力画像に対して変形処理を行い、該変形された変形画像に対してフィルタ処理を行うことによって出力画像を生成する画像処理装置であって、
前記変形画像内の座標のうち前記入力画像内の座標に対応する有効座標が、前記入力画像内と前記入力画像外との境界領域の座標であるか否かを判定する判定手段と、
前記変形画像内の前記有効座標が前記境界領域の座標であると前記判定手段により判定された場合よりも、前記変形画像内の前記有効座標が前記境界領域の座標でないと前記判定手段により判定された場合のほうが、前記変形画像内の広い範囲の座標に対応する画像データで前記有効座標の画像データに対するフィルタ処理が行われるように、前記変形画像に対する前記フィルタ処理のためのフィルタ係数を決定する決定手段と、
前記決定手段により決定されたフィルタ係数を用いて前記変形画像に対するフィルタ処理を実行する処理手段とを有することを特徴とする。
本発明によれば、画像変形処理とフィルタ処理とを連続して行う際に、画質の低下を防ぐことができる。
プロジェクタ100を用いてスクリーン101上に画像を表示する例。 歪み補正処理について説明するための説明図。 歪み補正処理とフィルタ処理とを組み合わせた際の問題を説明する図。 実施例1に係るコンピュータの物理的構成例。 実施例1の係る画像処理装置の機能的構成例。 領域判定部505が行う処理を説明するための図。 入力画像データ542のデータ構造の一例。 フィルタ選択情報548とフィルタ556との対応の一例を示す図。 カウンタ506が行う処理のフローチャートの一例。 領域判定部505が行う処理のフローチャートの一例。 参照画素取得部510が行う処理のフローチャートの一例。 入力画素取得部504が行う処理のフローチャートの一例。 画像蓄積部502が行う処理のフローチャートの一例。 実施例1に係る画像処理装置が行う処理のフローチャートの一例。
以下、添付の図面を参照して、本発明をその好適な実施例に基づいて詳細に説明する。なお、以下の実施例において示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。
[実施例1]
図5は実施例1に係る画像処理装置の機能的構成の一例を表す。以下、図5を参照して、本実施例に係る画像処理装置が備える各部について詳しく説明する。図5に示されるように、本実施例に係る画像処理装置は、歪み補正部500とフィルタ部501とを備える。
まず、歪み補正部500について説明する。本実施例において歪み補正部500は、入力画像に対して変形処理(歪み補正処理)を行う。そして歪み補正部500は、歪み補正された画像を画像領域内に含む歪み補正画像(変形画像)を出力する。しかしながら歪み補正部500が行う処理は歪み補正処理に限られず、歪み補正部500は任意の画像変形処理を行うことができる。例えば、水平垂直補正、レンズ歪み補正、幾何変形、全方位画像変形などであってもよい。全方位画像変形とは、魚眼レンズ等の光学系によって取得した360度画像を長方形画像に展開する変形処理を指す。
歪み補正部500は処理部として、画像蓄積部502、入力画素取得部504、領域判定部505、及びカウンタ506を備える。さらに歪み補正部500は記憶部として、フレームメモリ503、バッファ507、及び座標変換テーブル515を備える。フレームメモリ503及びバッファ507は、例えば後述のRAM400によって実現されうる。また座標変換テーブル515は、後述のROM401によって実現されうる。本実施例においてバッファ507は、FIFOバッファとして動作するものとする。
歪み補正部500には、入力画像及び画像サイズ情報540が入力される。歪み補正部500には動画が入力されてもよく、この場合歪み補正部500には複数の入力画像(フレーム画像)が入力される。入力画像は、複数の画素で構成されている。具体的には歪み補正部500には、入力画像のそれぞれの画素についてのデータが入力される。以下で、入力画像のそれぞれの画素についてのデータを入力画像データ542と呼ぶ。入力画像データ542のデータ構造の一例を図7に示す。入力画像データ542は、図7に示されるように、Vsyncフラグ、Hsyncフラグ、Rコンポーネント、Gコンポーネント、及びBコンポーネントを含む。
Vsyncフラグは垂直同期信号である。1つのフレーム画像を構成する入力画像データ542のうち、最初に入力される入力画像データ542のVsyncフラグは1となる。また、その他の入力画像データ542のVsyncフラグは0となる。通常、最初に入力される入力画像データ542は、フレーム画像の先頭画素についての情報を示す。
Hsyncフラグは水平同期信号である。フレーム画像内の1つのラインを構成する入力画像データ542のうち、最初に入力される入力画像データ542のHsyncフラグは1となる。また、その他の入力画像データ542のHsyncフラグは0となる。通常、最初に入力される入力画像データ542は、ライン先頭画素についての情報を示す。
Rコンポーネント、Gコンポーネント、及びBコンポーネントは、それぞれの画素についてのR画素値、G画素値、及びB画素値を示す。もっとも、本実施例に係る入力画像データ542の構造は図7に示されるものには限られない。例えば、入力画像データ542はRGBとは異なる色空間に基づく画素値を有してもよい。また入力画像データ542は、Hsyncフラグ及びVsyncフラグを有さなくてもよく、例えば座標情報を有していてもよい。
画像サイズ情報540は、入力画像のサイズを示す情報である。例えば画像サイズ情報540は、X方向のピクセル数を示すxPixelNumと、Y方向のピクセル数を示すyPixelNumとを含んでいてもよい。
画像蓄積部502は、入力画像データ542と画像サイズ情報540とを取得する(入力手段)。そして画像蓄積部502は、入力画像データ542をフレームメモリ503に書き込む。ここで、画像蓄積部502が行う処理について、図13のフローチャートを参照して説明する。
ステップS1302で画像蓄積部502は、新しいフレーム画像の入力が開始するのを待つ。例えば画像蓄積部502は入力画像データ542を取得し、入力画像データ542のVsyncフラグが0であるか1であるかを判定する。Vsyncフラグが1である場合、処理はステップS1304に進む。Vsyncフラグが0である場合、Vsyncフラグが1である入力画像データ542を取得するまで、画像蓄積部502は入力画像データ542の取得とVsyncフラグの判定を繰り返す。
ステップS1304で画像蓄積部502は、取得した入力画像データ542をフレームメモリ503に書き込む。具体的には画像蓄積部502は、フレームメモリ503の指定アドレスに、入力画像データ542を書き込む。この指定アドレスは、画像サイズ情報540に従って、画像蓄積部502が計算することができる。具体的には画像蓄積部502は、Vsyncフラグが1である入力画像データ542の後に入力された入力画像データ542の数をカウントする。そして画像蓄積部502は、入力画像のサイズとカウントとに従って、フレームメモリ503における対応アドレスを計算することができる。
ステップS1306で画像蓄積部502は、1フレーム分の入力画像データ542を処理したか否かを判定する。この判定は例えば、画像サイズ情報540が示す入力画像のサイズと、上述のカウントとに従って、画像蓄積部502が行うことができる。別の実施形態において画像蓄積部502は、入力画像データのVsyncフラグに従って、1フレーム分の入力画像データ542を処理したか否かを判定してもよい。1フレーム分の入力画像データ542の処理が終わっていない場合、処理はステップS1302に戻る。1フレーム分の入力画像データ542の処理が終了した場合、処理はステップS1308に進む。
ステップS1308において画像蓄積部502は、画像入力処理を終了するか否かを判定する。この判定は例えばユーザ指示に従って行われてもよいし、入力画像データ542と共に歪み補正部500(例えば画像蓄積部502)に入力される制御信号に従って行われてもよい。画像入力処理を終了しない場合、処理はステップS1302に戻る。画像入力処理を終了する場合、図13の処理は終了する。
カウンタ506は、歪み補正画像601中(変形画像中)のそれぞれの画素についての座標値を順次出力する。例えばカウンタ506は、歪み補正画像601のそれぞれの画素を走査し、走査されている画素の座標を出力画素位置544として出力する。カウンタ506が行う処理について、図6を参照して説明する。図6において入力画像600は、歪み補正部500に入力される画像データの有効領域を示す。また歪み補正画像601は、歪み補正部500から出力される画像データを示す。歪み補正画像601のうち、ハッチングされていない部分が有効領域である。具体的にはハッチングされていない部分は、入力画像600に対応する。カウンタ506は歪み補正画像601における走査線604上のそれぞれの画素の画素位置、例えば画素Daを示す出力画素位置605を、出力画素位置544として出力する。
ここで、カウンタ506が行う処理について、図9のフローチャートを参照して説明する。以下の説明においては、X方向にXPixelNum画素、Y方向にYPixelNum画素の大きさを有する歪み補正画像601において、各画素の座標値は(1,1)から(XPixelNum,YPixelNum)までの値をとるものとする。もっとも、座標値の設定方法は当業者が任意に選択可能であり、選択された座標値の設定方法に従って以下の処理を修正することは当業者には容易だろう。
ステップS901でカウンタ506は、画像サイズ情報540を取得する。この画像サイズ情報540が示すサイズの歪み補正画像601が、歪み補正部500からは出力される。またカウンタ506は、X座標を0に、Y座標を0にセットする。ステップS902においてカウンタ506は、次のY座標を決定する。例えばカウンタ506は、Yに1を加えればよい。ステップS903においてカウンタ506は、次のX座標を決定する。例えばカウンタ506は、Xに1を加えればよい。
ステップS904においてカウンタ506は、X座標とY座標との組を、出力画素位置544として出力する。ステップS905においてカウンタ506は、出力画素位置544が走査線の末端に位置するか否かを判定する。例えばカウンタ506は、XがXPixelNumに一致する場合に、出力画素位置544が走査線の末端に位置するものと判定することができる。XがXPixelNumに一致しない場合(または、XがXPixelNumよりも小さい場合)、処理はステップS903に戻る。XがXPixelNumに一致する場合(または、XがXPixelNum以上である場合)、処理はステップS906に進む。
ステップS906においてカウンタ506は、出力画素位置544が歪み補正画像601の末端に位置するか否かを判定する。例えばカウンタ506は、YがYPixelNumに一致する場合に、出力画素位置544が歪み補正画像601の末端に位置するものと判定することができる。YがYPixelNumに一致しない場合(または、YがYPixelNumよりも小さい場合)、カウンタ506はXに0をセットし、そして処理はステップS902に戻る。YがYPixelNumに一致する場合(または、YがYPixelNum以上である場合)、処理はステップS907に進む。
ステップS907においてカウンタ506は、出力画素位置の出力処理を終了するか否かを判定する。この判定は例えばユーザ指示に従って行われてもよいし、まだ歪み補正画像へと変換されていない入力画像が存在するか否かに従って行われてもよい。出力処理を終了しない場合、カウンタ506はX及びYに0をセットし、そして処理はステップS901に戻る。画像入力処理を終了する場合、図9の処理は終了する。
領域判定部505は、出力画素位置544のそれぞれについて、出力画素位置544に対応する入力画素位置558を取得する。また領域判定部505は、出力画素位置544が示す画素に隣接する画素の位置に対応する入力画素位置559を取得する。これらの処理は、領域判定部505が備える座標変換部(不図示)が行うことができる。さらに領域判定部505は、入力画素位置558と入力画素位置559とに従って、出力画素位置544に適用するフィルタを選択する。具体的には領域判定部505は、フィルタを特定するフィルタ選択情報548を出力する。このフィルタ選択情報548は、フィルタ部501がフィルタ処理を行う際に用いられる。これらの処理は、領域判定部505が備える係数選択部(不図示)が行うことができる。
ここで、出力画素位置544と、入力画素位置558と、入力画素位置559との関係を図6を参照して説明する。出力画素位置544は、図6の出力画素位置605に相当する。ここで、出力画素位置605に位置する画素をDaとする。また、入力画素位置558は、図6の入力画素位置602に対応する。さらに、入力画素位置602に位置する画素をSaとする。
ここで、入力画像600を歪み補正画像601へと補正すると、画素Saは画素Daへと移動するものとする。出力画素位置と入力画素位置との関係は、座標変換テーブル515に規定されている。すなわち、出力画素位置605(画素Daの位置)と入力画素位置602(画素Saの位置)との関係は、座標変換テーブル515に規定されている。言い換えれば座標変換テーブル515は、歪み補正画像601中の着目画素位置に写像される、入力画像600中の画素位置を規定している。したがって領域判定部505は、出力画素位置544(出力画素位置605)から、入力画素位置558(入力画素位置602)を求めることができる。
また出力画素位置606は、画素Daに隣接する画素の画素位置である。この出力位置606が、ここで、出力画素位置606に位置する画素をDbとする。本実施例において出力画素位置606(近隣画素位置)は、出力画素位置605のX座標に1を加えることによって得られる座標とする。すなわち、画素Dbは画素DaのX軸正方向に隣接する画素である。Daの座標を(Xda,Yda)とし、Dbの座標を(Xdb,Ydb)とすると、Xdb=Xda+1、Ydb=Ydaとなる。
入力画素位置559は、図6の入力画素位置603に対応する。ここで、入力画素位置603に対応する画素をSbとする。ここで、入力画像600を歪み補正画像601へと補正すると、画素Sbは画素Dbへと移動するものとする。すなわち、座標変換テーブル515を参照することにより、領域判定部505は、出力画素位置544(出力画素位置605)から、入力画素位置559(入力画素位置603)を求めることができる。
次に、領域判定部505が行う処理の詳細について、図10のフローチャートを参照して説明する。ステップS1001において領域判定部505は、カウンタ506から出力画素位置544を取得する。ステップS1002において領域判定部505は、上述のように出力画素位置544の画素に隣接する画素の画素位置545を算出する。ステップS1003において領域判定部505は上述のように、座標変換テーブル515を参照して、出力画素位置544に対応する入力画素位置558と、出力画素位置545に対応する入力画素位置559とを取得する。ステップS1004において領域判定部505は、出力画素位置544と入力画素位置558との組を入力画素取得部504へと出力する。
ステップS1005において領域判定部505は、入力画素位置558が示す画素が、入力画像の有効領域内にあるか否かを判定する(判定手段)。入力画像の有効領域は、画像サイズ情報540によって示される。上述のように本実施例においては、X方向にXPixelNum画素、Y方向にYPixelNum画素の大きさを有する歪み補正画像601において、各画素の座標値は(1,1)から(XPixelNum,YPixelNum)までの値をとる。また、入力画素位置558が示す画素Saの座標を(Xsa,Ysa)とする。この場合、Xsaが1より小さいか又はXPixelNumより大きい場合、入力画素位置558が示す画素は入力画像の有効領域内にないものと判定することができる。また、Ysaが1より小さいか又はYPixelNumより大きい場合、入力画素位置558が示す画素は入力画像の有効領域内にないものと判定することができる。
入力画素位置558が示す画素が入力画像の有効領域内にない場合、処理はステップS1010に進む。ステップS1010において領域判定部505は、出力画素位置544に関連付けられたフィルタ選択情報548として0を出力し、その後処理はステップS1010に進む。一方で入力画素位置558が示す画素が入力画像の有効領域内にある場合、処理はステップS1006に進む。
ステップS1006で領域判定部505は、入力画素位置558が示す画素が、入力画像の有効領域の境界に位置するか否かを判定する。具体的には、Xsaが1又はXPixelNumに等しい場合、入力画素位置558が示す画素が入力画像の有効領域の境界に位置すると判定することができる。また、Ysaが1又はYPixelNumに等しい場合も、入力画素位置558が示す画素が入力画像の有効領域の境界に位置すると判定することができる。入力画素位置558が示す画素が入力画像の有効領域の境界に位置する場合、処理はステップS1011に進む。ステップS1011において領域判定部505は、出力画素位置544に関連付けられたフィルタ選択情報548として1を出力し、その後処理はステップS1010に進む。入力画素位置558が示す画素が入力画像の有効領域の境界に位置しない場合、処理はステップS1007に進む。
ステップS1007,S1008,及び1012で領域判定部505は、入力画素位置558と入力画素位置559とに従ってフィルタ選択情報548を決定する。例えば領域判定部505は、入力画素位置558にある画素Saと、入力画素位置559にある画素Sbとの間の距離に従って、フィルタ選択情報548を決定することができる。
本実施例においては、ステップS1007において領域判定部505は、入力画素位置558と入力画素位置559とに従って画素Saと画素Sbとの間の距離を算出する。画素Sbの座標を(Xsb,Ysb)とすると、画素Saと画素Sbとの間の距離は√((Xsa−Xsb)+(Ysa−Ysb))となる。そして領域判定部505は、算出された距離が所定の閾値以下であるか否かを判定する。算出された距離が所定の閾値以上である場合、処理はステップS1012に進む。算出された距離が所定の閾値以上ではない場合、処理はステップS1008に進む。
ステップS1012において領域判定部505は、出力画素位置544に関連付けられたフィルタ選択情報548として2を出力し、その後処理はステップS1010に進む。ステップS1008において領域判定部505は、出力画素位置544に関連付けられたフィルタ選択情報として3を出力し、その後処理はステップS1010に進む。
ステップS1010において領域判定部505は、入力画素位置の出力処理及びフィルタ選択情報の出力処理を終了するか否かを判定する。例えば、カウンタ506から次の出力画素位置544が入力されている場合には、領域判定部505は処理を終了しないことを決定することができる。処理を終了しない場合、処理はステップS1001に戻る。処理を終了する場合、図10の処理は終了する。
領域判定部505が出力したフィルタ選択情報548は、上述のように、フィルタ部501がフィルタ処理を行う際に用いられる。具体的にはフィルタ部501は、フィルタ選択情報548に従ってフィルタを選択する。ここで、フィルタ選択情報548と、フィルタ部501が選択するフィルタとの関係について、図8に示されるフィルタの例を参照して説明する。上述のように本実施例において、フィルタ選択情報548は0,1,2,3のいずれかの値を持つ。図8には、それぞれの値に対応するフィルタが示されている。すなわち、フィルタ選択情報548が0である場合にはフィルタ800が用いられる。フィルタ選択情報548が1である場合にはフィルタ801が用いられる。フィルタ選択情報548が2である場合にはフィルタ802が用いられる。また、フィルタ選択情報548が3である場合にはフィルタ803が用いられる。図8においては、ハッチングされている係数がフィルタの中心に相当する。
フィルタ処理部512は、画像内の着目画素に対してフィルタ800を用いた空間フィルタ処理を行うことができる。例えばフィルタ処理部512は、空間フィルタ処理によって加重平均値を求めることができる。すなわちフィルタ処理部512は、歪み補正画像における出力画素位置554近傍(処理画素位置近傍)の画素群の画素値と、フィルタ係数群との畳み込み演算によって、出力画像における出力画素位置554の画素値を算出することができる。
フィルタ800の係数は全て0である。したがって、画像内の着目画素に対してフィルタ800を用いた空間フィルタ処理を行うと、出力値は0となる。もっとも、ブランキング領域と有効領域との間の滲みを防止するという観点からは、フィルタ800における中心のフィルタ係数は1であってもよい。この場合、フィルタ800を用いたフィルタ処理を行うと、着目画素の画素値と出力値とは一致する。すなわちフィルタ800を用いる場合、歪み補正画像における処理画素位置の画素の画素値又は予め定められた画素値が、出力画像における処理画素位置における画素の画素値として設定される。
一方でフィルタ801においては、フィルタ中心の係数が1で残りの係数は0である。したがってフィルタ801を用いたフィルタ処理を行うと、着目画素の画素値と出力値とは一致する。フィルタ802を用いたフィルタ処理を行う場合には、着目画素に隣接する画素値を考慮して出力値が算出される。さらに、フィルタ803を用いたフィルタ処理を行う場合には、フィルタ802を用いる場合よりも広い範囲の画素値を考慮して出力値が算出される。すなわち、フィルタ801、802、803の順に、フィルタ処理における参照領域は広くなる。
ところで、入力画像600を歪み補正画像601へと補正した場合に、画素Da周辺における縮小率は、(SaとSbとの間の距離)/(DaとDbとの間の距離)として近似的に表すことができる。本実施例においては歪み補正画像601内の画素Daと画素Dbとの間の距離は一定(1画素)である。したがって、画素Saと画素Sbとの間の距離は、縮小率に相関する値となる。本実施例においては画素Saと画素Sbとの間の距離が所定の閾値以上である場合にフィルタ802が選択される。言い換えれば、歪み補正画像601の出力画素位置605(Da)における縮小率がより大きい場合に、より狭い範囲の画素を参照するフィルタが選択される。
次に、入力画素取得部504について詳しく説明する。入力画素取得部504は、歪み補正画像を生成する。入力画素取得部504が行う処理について、図12のフローチャートを参照して説明する。ステップS1201において入力画素取得部504は、領域判定部505から、入力画素位置558、出力画素位置544、及びフィルタ選択情報548を取得する。
ステップS1202において入力画素取得部504は、入力画素位置558に対応する入力画像データ543をフレームメモリ503から取得する(変形手段)。この際入力画素取得部504は、画像サイズ情報540を参照して、入力画素位置558に対応する入力画像データ543が格納されているアドレスを計算することができる。ところで、入力画素位置558に対応する入力画像データ543が存在しないことがある。例えば、入力画素位置558が入力画像領域外に位置する場合である。この場合、すなわち出力画素位置544に写像される入力画素位置558が存在しないと判定した場合には、入力画素取得部504は、所定の画素値(所定値)を示す入力画像データを、入力画素位置558に対応する入力画像データとする。この所定の画素値は通常は黒画素(R,G,B=0,0,0)である。しかしながら、この所定の画素値は任意の画素値でありうる。
ステップS1203において入力画素取得部504は、ステップS1202で取得した入力画像データ543と、ステップS1201で取得した出力画素位置544と、ステップS1201で取得したフィルタ選択情報548とをバッファ507に出力する。出力画素位置544と入力画像データ543との組によって、歪み補正画像は表される。
ステップS1205において入力画素取得部504は、出力処理を終了するか否かを判定する。例えば、領域判定部505から次の出力画素位置544が入力されている場合には、入力画素取得部504は処理を終了しないことを決定することができる。処理を終了しない場合、処理はステップS1201に戻る。処理を終了する場合、図12の処理は終了する。
上述のように、出力画素位置544、入力画像データ543、及びフィルタ選択情報548の組が、バッファ507に出力される。これらの情報は一旦バッファ507に格納された後、歪み補正部500から出力される。このようにバッファ507に格納され、歪み補正部500から出力される入力画像データ543を、以降で補正画像データ549と呼ぶ。本実施例においてはバッファ507に出力画素位置544が格納されるものとした。しかしながら出力画素位置544は通常ラスタ順に順次選択され、この場合それぞれの入力画像データ543に対応する出力画素位置544は、出力画素位置544を用いずに知ることができる。また入力画素取得部504は、補正画像データ549を出力する際に、Vsyncフラグ及びHSyncフラグを、歪み補正画像内における補正画像データ549が示す画素の位置に従って書き換えてもよい。このように、バッファ507に出力画素位置544を格納することは必須ではない。
次にフィルタ部501について詳しく説明する。フィルタ部501は、歪み補正部500から入力された歪み補正画像に対してフィルタ処理を行う。具体的にはフィルタ部501は、補正画像データ549とフィルタ選択情報548とを用いて、出力画像データ553を生成する。フィルタ部501は処理部として、画像蓄積部508、参照画素取得部510、カウンタ511、及びフィルタ処理部512を備える。さらにフィルタ部501は記憶部として、フレームメモリ509、バッファ514、及びフィルタ保持テーブル513を備える。フレームメモリ509及びバッファ514は、歪み補正部500が備えるフレームメモリ503及びバッファ507と同様のものでありうる。またフィルタ保持テーブル513は、後述のROM401によって実現されうる。
以下に、フィルタ部501が備える各部について説明する。画像蓄積部508の動作は画像蓄積部502と同様であるが、画像蓄積部508は補正画像データ549に加えてフィルタ選択情報548を歪み補正部500から取得する。そして画像蓄積部508は、補正画像データ549及びフィルタ選択情報548をフレームメモリ509に格納する。画像蓄積部508は、画像蓄積部502と同様の方法で補正画像データ549及びフィルタ選択情報548をフレームメモリ509に格納することができる。カウンタ511は、カウンタ506と同様に、画像サイズ情報540を参照して出力画素位置554を順次出力する。
フィルタ処理部512は、カウンタ511から入力された出力画素位置554の画素値を算出する(演算手段)。フィルタ処理部512が行う具体的な処理の一例について、図11のフローチャートを参照して説明する。ステップS1101においてフィルタ処理部512は、出力画素位置554を取得する。ステップS1102においてフィルタ処理部512は、出力画素位置554に対応するフィルタ選択情報548をフレームメモリ509から取得する。具体的にはフィルタ処理部512は、出力画素位置554を参照画素取得部510に送る。参照画素取得部510は、送られた画素位置についてのフィルタ選択情報548をフレームメモリ509から取得し、フィルタ処理部512に返す。
ステップS1103においてフィルタ処理部512は、ステップS1102で取得したフィルタ選択情報548に対応するフィルタ556を、フィルタ保持テーブル513から取得する。より正確にはフィルタ処理部512は、各フィルタ係数と、各フィルタ係数を用いた演算の対象となる画素の相対位置と、をフィルタ保持テーブル513から取得する。フィルタ保持テーブル513は、フィルタ選択情報548とフィルタ556とを関連付けて保持している。フィルタ選択情報548と選択されるフィルタ556との関係は、前に説明した通りである。
ステップS1104においてフィルタ処理部512は、出力画素位置554の画素値を算出するために用いられる画素(以降で参照画素と呼ぶ)についての補正画像データ549を取得する。参照画素は、ステップS1102で取得されたフィルタ556によって特定される。すなわちフィルタ処理部512は、フィルタ係数を用いた演算の対象となる画素についての補正画像データ549を取得する。具体的にはフィルタ処理部512は、参照画素のそれぞれについて、参照画素位置555を参照画素取得部510に送る。参照画素取得部510は、送られた画素位置についての補正画像データ549をフレームメモリ509から取得し、フィルタ処理部512に返す。参照画素取得部510は、画素位置と画像サイズ情報540とを参照して、送られた画素位置についての補正画像データ549が格納されているフレームメモリ509内のアドレスを計算する。こうして参照画素取得部510は、出力画素位置554の近傍についての補正画像データ549をフレームメモリ509から取得できる。もっともフィルタ処理部512は、ステップS1102において、出力画素位置554の近傍についての補正画像データ549及びフィルタ選択情報548をフレームメモリ509から取得してもよい。
ステップS1105においてフィルタ処理部512は、ステップS1103で取得したフィルタ556と、参照画素についてステップS1104で取得した補正画像データ549と、を用いて出力画素位置554の画素値を算出する。例えばフィルタ処理部512は、参照画素に対してフィルタ556に基づく空間フィルタ処理を適用し、出力画像データ553を生成することができる。ここで空間フィルタ処理としては、例えばフィルタ556に基づく加重平均処理が例として挙げられる。フィルタ処理部512は、このようにして得られた出力画像データ553を、一旦バッファ514に格納する。バッファ514に格納された出力画像データは、その後フィルタ部501から出力される。
ステップS1106においてフィルタ処理部512は、フィルタ処理を終了するか否かを判定する。例えば、カウンタ511から次の出力画素位置554が入力されている場合には、フィルタ処理部512は処理を終了しないことを決定することができる。処理を終了しない場合、処理はステップS1101に戻る。処理を終了する場合、図11の処理は終了する。
ここまで、本実施例に係る画像処理装置が備える各部の動作について、それぞれ説明した。次に、本実施例に係る画像処理装置が行う動作の流れを、図14のフローチャートを参照して説明する。ステップS1405において画像蓄積部502は、複数の入力画像データ542によって表される入力画像を取得する。この処理は、図13のフローチャートに従って行うことができる。
ステップS1410において入力画素取得部504は、カウンタ506及び座標変換テーブル515を用いて、歪み補正画像を構成する画素のそれぞれについて対応する入力画像データ542を取得する。こうして入力画素取得部504は歪み補正画像を生成し、この歪み補正画像内には変形された入力画像が含まれている。この処理は、図9及び図12のフローチャートに従って行うことができる。
ステップS1415において領域判定部505は、歪み補正画像を構成する画素のそれぞれについて、適用するフィルタを特定するフィルタ選択情報548を生成する。この処理は、図10のフローチャートに従って行うことができる。
ステップS1420においてフィルタ処理部512は、歪み補正画像を構成する画素のそれぞれについて、フィルタ選択情報548によって特定されたフィルタを用いたフィルタ処理を行う。こうしてフィルタ処理部512は、歪み補正画像に対してフィルタ処理を行い、出力画像を生成する。この処理は、図11のフローチャートに従って行うことができる。ステップS1425においてフィルタ処理部512は、生成された出力画像を出力する。
最後に、本実施例に係る画像処理装置の物理的構成について説明する。本実施例に係る画像処理装置は、ソフトウェアによって、ハードウェアによって、又はソフトウェアとハードウェアとの組み合わせによって実現されうる。例えば、図5に示されている各部のうち1以上の機能を実現するハードウェアの組み合わせによって、本実施例に係る画像処理装置を実現することができる。
また、本実施例に係る画像処理装置はパーソナルコンピュータのようなコンピュータによっても実現されうる。図4は、本実施例に係る画像処理装置を実現するコンピュータの物理的構成の一例を示す。このコンピュータにおいて本実施例に係る画像処理装置の機能を実行するためには、各機能構成をプログラムにより表現し、このコンピュータに読み込まればよい。こうして、このコンピュータで本実施例に係る全ての機能を実現することができる。この場合、図5をはじめとする構成要素の各々は関数、若しくはCPUが実行するサブルーチンで機能させればよい。
また、コンピュータプログラムは通常、CD−ROM等のコンピュータが読み取り可能な記憶媒体に格納されている。この記憶媒体を、コンピュータが有する読み取り装置(CD−ROMドライブ等)にセットし、システムにコピー若しくはインストールすることで実行可能になる。従って、係るコンピュータが読み取り可能な記憶媒体も本発明の範疇にあることは明らかである。
図4においてCPU402は、コンピュータ全体の動作をコントロールする。例えばCPU402は、RAM400に格納されたプログラムの実行等を行う。RAM400は、ハードディスク405等の記憶媒体に記憶されたプログラム等を読み込んで格納する。このコンピュータにおいては、図5に示す各部の処理手順を実現するプログラムをハードディスク405が格納する。プログラム実行時にはプログラムはRAM400に読み込まれ、CPU402によって実行される。RAM400、ROM401、CPU402、及びディスクコントローラ403は、バス407を介して互いに通信できるように接続されている。また、ハードディスク405には、ディスクコントローラ403を介してアクセスすることができる。バス407には、マウス及びキーボードなどのコンピュータに情報を入力するデバイスをさらに接続することができる。さらにバス407には、モニタ及びプリンタなど、コンピュータが情報を出力するために用いられるデバイスを接続することもできる。
特に、画像蓄積部502、カウンタ506、領域判定部505、入力画素取得部504、画像蓄積部508、カウンタ511、参照画素取得部510、及びフィルタ処理部512は、CPU402によって実行されるソフトウェアとして実現されうる。また、フレームメモリ503、バッファ507、フレームメモリ509、及びバッファ514は、RAM400によって実現されうる。さらに、座標変換テーブル515及びフィルタ保持テーブル513は、ROM401によって実現されうる。
[実施例2]
実施例1においては、フィルタ部501は歪み補正画像に対してフィルタ処理を行って出力画像を生成し、この出力画像を出力した。実施例2に係る画像処理装置は、動画像に対して画像変形を行い、さらに動画像のフレームレートを向上させる。すなわち実施例2に係る画像処理装置は、それぞれのフレーム画像から複数のフレーム画像を生成する。動画像のフレームレートを増加させる場合に、フレーム画像に対してフィルタ処理を行うことにより画質を向上させる技術が知られている。実施例2に係る画像処理装置もまた、1つのフレーム画像から複数のフレーム画像を生成する際に、フィルタ処理を行う。
本実施例において、歪み補正部500には連続するフレーム画像で構成される動画像が入力される。歪み補正部500は、それぞれのフレーム画像に対して変形処理を行うことにより、連続する歪み補正画像で構成される動画像を生成する。フィルタ部501は、それぞれの歪み補正画像に対してフィルタ処理を行うことにより、複数の出力画像を生成する。そしてフィルタ部501は、それぞれの出力画像で構成される動画像を出力する。すなわち、フィルタ部501が出力する動画像のフレームレートは、フィルタ部501に入力された動画像のフレームレートよりも高い。フィルタ部501がフレームレート向上処理を行ってから歪み補正部500が変形処理を行う構成も考えられるが、この場合歪み補正部500が処理する画像の数が増えてしまうため、処理負荷が増大する。従って、歪み補正部500が変形処理を行ってからフィルタ部501がフレームレート向上処理を行うことは有利である。
本実施例に係る画像処理装置の具体的な構成について以下に説明する。本実施例に係る画像処理装置は、図5に示す実施例1に係る画像処理装置と同様の構成を有する。本実施例の構成を実現するためには、カウンタ511はステップS901〜ステップS906の処理を繰り返せばよい。具体的には、フレームレートをN倍にする場合、カウンタ511はステップS901〜ステップS906の処理を、フィルタ部501に1枚の歪み補正画像が入力される毎にN回行えばよい。
本実施例に係る画像処理装置によれば、1枚の歪み補正画像からN枚の出力画像(サブフレーム画像)が生成される。ここで、それぞれのサブフレーム画像を生成するために用いられるフィルタはそれぞれ異なっていてもよい。具体的には、1番目のサブフレーム画像を生成するために低周波強調フィルタを用いるフィルタ演算が行われ、2番目のサブフレーム画像を生成するために高周波強調フィルタを用いるフィルタ演算が行われてもよい。本実施例に係る画像処理装置は、複数のフィルタ保持テーブル513を備えていてもよい。すなわちそれぞれのサブフレーム画像を生成する際に、異なるフィルタ保持テーブル513が参照されてもよい。
[その他の実施例]
上述の実施例においては、フィルタ800,801,802,803のうちから、1つのフィルタが選択された。しかしながらフィルタの選択方法は上述の方法に限られるわけではない。例えば上述の実施例においては、入力画素位置558(Sa)と入力画素位置559(Sb)との間の距離に応じてフィルタ802又はフィルタ803が選択された。しかしながら、入力画素位置558(Sa)と入力画素位置559(Sb)との間の距離と、複数の閾値とを比較することにより、3つ以上のフィルタから1つが選択されてもよい。
また、入力画素位置558が入力画像の領域外にある場合にはフィルタ800を選択し、入力画素位置558が入力画像の領域内にある場合にはフィルタ802を選択するという構成によっても、画質の改善は達成されうる。すなわち、変形後の画像にブランキング領域を有する変形処理において、ブランキング領域と有効領域の境界部分において空間フィルタ処理を適切に行うことができる。このように、入力画素位置558(Sa)と入力画素位置559(Sb)との間の距離に基づいてフィルタを選択することは必須ではない。
一方で、入力画素位置558が入力画像の領域外にあるか否かを判定せずに、入力画素位置558が入力画像領域の境界上に位置するか否か、又は境界付近に位置するか否かのみに従ってフィルタを選択することのみによっても、画質の改善は達成されうる。すなわち、入力画素位置558が入力画像領域の境界部付近に位置する場合に、より参照範囲の狭いフィルタを用いればよい。
一方で、入力画素位置558が入力画像の領域外にあるか否かを判定せずに、入力画素位置558(Sa)と入力画素位置559(Sb)との間の距離に基づいてフィルタを選択することのみによっても、画質の改善は達成されうる。すなわち、領域毎に拡大・縮小率が異なる変形処理において、均一な効果の空間フィルタ処理を行うことができる。このような修正は、ステップS1005〜S1007を修正することにより達成されうる。
1つの実施例において、歪み補正画像中の着目画素位置に写像される入力画像中の画素位置が存在し、かつ入力画素位置558(Sa)が入力画像における一辺から所定距離内に位置する場合に、第1のフィルタ係数群が選択されうる。第1のフィルタ係数群とは、例えばフィルタ801でありうる。一方で歪み補正画像中の着目画素位置に写像される入力画像中の画素位置が存在し、かつ入力画素位置558(Sa)が入力画像における一辺から所定距離内に位置する場合に、第2のフィルタ係数群が選択されうる。第2のフィルタ係数群とは、例えばフィルタ803でありうる。ここで、第2のフィルタ係数群に含まれる係数の数は、第1のフィルタ係数群に含まれる係数の数よりも多い。すなわち、第2のフィルタ係数群を用いてフィルタ処理を行う際に参照される第2の画素群の画素数は、第1のフィルタ係数群を用いてフィルタ処理を行う際に参照される第1の画素群の画素数よりも多い。
他の実施例において、歪み補正画像中の着目画素位置に写像される入力画像中の画素位置が存在し、かつ入力画素位置558(Sa)と入力画素位置559(Sb)との間の距離が閾値以上である場合に、第1のフィルタ係数群が選択されうる。第1のフィルタ係数群とは、例えばフィルタ802でありうる。一方で歪み補正画像中の着目画素位置に写像される入力画像中の画素位置が存在し、かつ入力画素位置558(Sa)と入力画素位置559(Sb)との間の距離が閾値以上ではない場合に、第2のフィルタ係数群が選択されうる。第2のフィルタ係数群とは、例えばフィルタ803でありうる。ここで、第2のフィルタ係数群に含まれる係数の数は、第1のフィルタ係数群に含まれる係数の数よりも多い。すなわち、第2のフィルタ係数群を用いてフィルタ処理を行う際に参照される第2の画素群の画素数は、第1のフィルタ係数群を用いてフィルタ処理を行う際に参照される第1の画素群の画素数よりも多い。
上述の実施例においては、出力画素位置544に基づきフィルタ選択情報548が決定され、その後フィルタ保持テーブル513を参照してフィルタ選択情報548に対応するフィルタ556が取得された。しかしながらフィルタ保持テーブル513は、出力画素位置544とフィルタ556との組を格納していてもよい。この場合フィルタ処理部512は、フィルタ選択情報548を用いずに、出力画素位置544に対応するフィルタ556を取得することができる。また、フィルタ保持テーブル513の代わりに、任意の変換式に基づいて、出力画素位置544からフィルタ556を算出してもよい。
フィルタ処理で用いられるフィルタ556の決定は、領域判定部505以外の構成要素が行ってもよい。例えばフィルタ処理部512が、入力画素位置558に基づいてフィルタ処理で用いられるフィルタ556を決定してもよい。さらにフィルタ処理部512は、入力画素位置558(Sa)及び入力画素位置559(Sb)に基づいてフィルタ556を算出してもよい。例えばフィルタ処理部512は、入力画素位置558が入力画像領域外にある場合、フィルタ800を用いる。一方でフィルタ処理部512、入力画素位置558が入力画像領域内にある場合、入力画素位置558(Sa)と入力画素位置559(Sb)とを用いて、所定の計算式に従ってフィルタ係数を算出する。具体的には、入力画素位置558(Sa)と入力画素位置559(Sb)との間の距離が小さいほど、フィルタ中心の係数がより大きくかつ周辺部の係数がより小さくなるような計算式を用いて、フィルタ係数を算出すればよい。
上述の実施例においては、座標変換テーブル515に従って、出力画素位置544(Da)が入力画素位置558(Sa)へと変換された。同様に、出力画素位置545(Db)は入力画素位置559(Sb)へと変換された。しかしながらこの変換は、変換式に従って行われてもよい。この場合にも上述の実施例と同様、入力画素位置559が入力画像領域内にあるか否かは判定されうる。また、入力画素位置558と入力画素位置559との距離も算出されうる。
上述の実施例において領域判定部505は、画素Daに隣接する画素として、画素DaのX軸正方向に隣接する画素Dbを選択した。しかしながら、画素Dbは任意の方法で選択できる。そもそも画素Dbは、画素Daに隣接していなくてもよい。すなわち領域判定部505は、画素Daの近傍にある画素、例えば画素Daに対して所定の相対位置にある画素を、画素Dbとして選択してもよい。
さらに領域判定部505は、画素Daの近傍にある複数の画素を選択してもよい。例えば領域判定部505は、画素Daに対してX軸正方向に隣接する画素Db1と、X軸負方向に隣接する画素Db2と、Y軸正方向に隣接する画素Db3と、Y軸負方向に隣接する画素Db4とを選択してもよい。この場合領域判定部505は、画素Daに対応する入力画像中の画素Saと、画素Db1〜4に対応する入力画像中の画素Sb1〜4と間の距離に従って、フィルタ選択情報548を決定できる。例えば、画素Saと画素Sb1との間の距離、画素Saと画素Sb2との間の距離、画素Saと画素Sb3との間の距離、及び画素Saと画素Sb4との間の距離の合計(又は平均)を求めてもよい。そして領域判定部505は、求められた合計と所定の閾値とを上述の実施例のように比較することにより、フィルタ選択情報548を決定してもよい。
別の実施例において領域判定部505は、画素Daに対応する入力画像中の画素Saが入力画像の境界に位置するか否かを判定するのに加えて、又はこの代わりに、画素Saが入力画像の境界付近に位置するか否かを判定してもよい。例えば領域判定部505は、上述のように画素Daの近傍にある複数の画素Dbを選択し、それぞれの画素Dbに対応する入力画像中の画素Sbが、入力画像領域内にあるか否かを判定してもよい。1つ以上の画素Sbが入力画像領域内にない場合、領域判定部505は、画素Daが有効領域の境界付近にあると判定することができる。この場合領域判定部は、画素Daに対しては参照範囲の狭いフィルタが用いられるように、例えばフィルタ801が用いられるように、フィルタ選択情報548を決定してもよい。
さらには、画素Daに対応する入力画像中の画素Saの位置(すなわち入力画素位置558)と、入力画像の境界との間の距離に応じて、領域判定部505はフィルタ選択情報548を決定してもよい。例えば、用いられるフィルタ556の参照範囲が、画素Saと入力画像の境界との間の距離を半径とする円よりも狭くなるように、フィルタ選択情報548が決定されてもよい。
(他の実施形態)
本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)をネットワーク又は各種記憶媒体を介してシステム或いは装置に供給する。そして、そのシステム或いは装置のコンピュータ(又はCPUやMPU等)がプログラムコードを読み出して実行する。この場合、そのプログラム、及び該プログラムを記憶した記憶媒体は本発明を構成することになる。

Claims (13)

  1. 入力画像に対して変形処理を行い、該変形された変形画像に対してフィルタ処理を行うことによって出力画像を生成する画像処理装置であって、
    前記変形画像内の座標のうち前記入力画像内の座標に対応する有効座標が、前記入力画像内と前記入力画像外との境界領域の座標であるか否かを判定する判定手段と、
    前記変形画像内の前記有効座標が前記境界領域の座標であると前記判定手段により判定された場合よりも、前記変形画像内の前記有効座標が前記境界領域の座標でないと前記判定手段により判定された場合のほうが、前記変形画像内の広い範囲の座標に対応する画像データで前記有効座標の画像データに対するフィルタ処理が行われるように、前記変形画像に対する前記フィルタ処理のためのフィルタ係数を決定する決定手段と、
    前記決定手段により決定されたフィルタ係数を用いて前記変形画像に対するフィルタ処理を実行する処理手段とを有することを特徴とする画像処理装置。
  2. 前記決定手段は、前記変形画像の座標である第1変形座標に対応する前記入力画像の座標である第1入力座標と、前記第1変形座標に隣接する第2変形座標に対応する前記入力画像の座標である第2入力座標との距離に応じて前記第1変形座標の画像データに対するフィルタ処理のためのフィルタ係数を決定することを特徴とする請求項1に記載の画像処理装置。
  3. 前記決定手段は、前記第1及び第2入力座標の距離が所定距離未満の場合、前記所定距離以上の場合よりも、広い範囲の座標に対応する画像データで前記第1変形座標の画像データに対するフィルタ処理が行われるようにフィルタ係数を決定することを特徴とする請求項2に記載の画像処理装置。
  4. 前記入力画像のサイズ情報を取得する取得手段をさらに有し、
    前記判定手段は、前記変形画像の座標の変形前に対応する座標を、前記変形処理のパラメータに基づいて特定、前記特定された前記変形前に対応する座標が前記入力画像内の座標であるか否か、及び、前記変形前に対応する座標が前記境界領域の座標であるか否かを前記サイズ情報に基づいて判定することを特徴とする請求項1乃至3のうち何れか1項に記載の画像処理装置。
  5. 前記変形前に対応する座標が前記入力画像内の座標でないと前記判定手段により判定された場合、前記決定手段は、前記変形前に対応する座標に対するフィルタ処理後の画像データ黒画像に対応する画像データとなるように前記フィルタ係数を決定することを特徴とする請求項4に記載の画像処理装置。
  6. 前記判定手段は、前記有効座標が前記境界領域から所定範囲内に位置する座標であるか否かに基づいて、当該有効座標が前記境界領域の座標であるか否かを判定し、
    前記決定手段は、前記変形画像内の前記有効座標前記境界領域の座標であると前記判定手段により判定された場合、前記有効座標の画像データに対するフィルタ処理によって画像データが変化しないように前記有効座標の画像データに対するフィルタ処理のためのフィルタ係数を決定することを特徴とする請求項に記載の画像処理装置。
  7. 前記フィルタ処理は、前記有効座標の画像データを、当該有効座標の周囲の座標の画像データを用いて平滑化する処理であることを特徴とする請求項1乃至6のうち何れか1項に記載の画像処理装置。
  8. 前記入力画像は動画であり、
    入力動画フレームに対して複数の変形処理済みの出力動画フレームを生成する手段を有し、
    前記処理手段は、前記生成された複数の出力動画フレームのうち第1出力動画フレームの低周波成分を強調するためのフィルタ処理と、第2出力動画フレームの高周波成分を強調するためのフィルタ処理とのうち、少なくとも一方のフィルタ処理を実行することを特徴とする請求項1乃至7のうちいずれか1項に記載の画像処理装置。
  9. 前記変形処理は、台形補正であることを特徴とする請求項1乃至8のうち何れか1項に記載の画像処理装置。
  10. 入力画像に対して変形処理を行い、該変形された変形画像に対してフィルタ処理を行うことによって出力画像を生成する画像処理方法であって、
    前記変形画像内の座標のうち前記入力画像内の座標に対応する有効座標が、前記入力画像内と前記入力画像外との境界領域の座標であるか否かを判定する判定工程と、
    前記変形画像内の前記有効座標が前記境界領域の座標であると前記判定工程により判定された場合よりも、前記変形画像内の前記有効座標が前記境界領域の座標でないと前記判定工程により判定された場合のほうが、前記変形画像内の広い範囲の座標に対応する画像データで前記有効座標の画像データに対するフィルタ処理が行われるように、前記変形画像に対する前記フィルタ処理のためのフィルタ係数を決定する決定工程と、
    前記決定工程により決定されたフィルタ係数を用いて前記変形画像に対するフィルタ処理を実行する処理工程とを有することを特徴とする画像処理方法。
  11. 前記決定工程は、前記変形画像の座標である第1変形座標に対応する前記入力画像の座標である第1入力座標と、前記第1変形座標に隣接する第2変形座標に対応する前記入力画像の座標である第2入力座標との距離に応じて前記第1変形座標の画像データに対するフィルタ処理のためのフィルタ係数を決定することを特徴とする請求項10に記載の画像処理方法。
  12. 前記決定工程は、前記第1及び第2入力座標の距離が所定距離未満の場合、前記所定距離以上の場合よりも、広い範囲の座標に対応する画像データで前記第1変形座標の画像データに対するフィルタ処理が行われるようにフィルタ係数を決定することを特徴とする請求項11に記載の画像処理方法。
  13. コンピュータを請求項1乃至9のうちいずれか1項に記載の画像処理装置として動作させるためのプログラム。
JP2011106619A 2011-05-11 2011-05-11 画像処理装置、画像処理方法、及びプログラム Expired - Fee Related JP5746556B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2011106619A JP5746556B2 (ja) 2011-05-11 2011-05-11 画像処理装置、画像処理方法、及びプログラム
US13/459,395 US8830344B2 (en) 2011-05-11 2012-04-30 Distortion correction processing apparatus, distortion correction processing method and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011106619A JP5746556B2 (ja) 2011-05-11 2011-05-11 画像処理装置、画像処理方法、及びプログラム

Publications (3)

Publication Number Publication Date
JP2012238171A JP2012238171A (ja) 2012-12-06
JP2012238171A5 JP2012238171A5 (ja) 2014-06-26
JP5746556B2 true JP5746556B2 (ja) 2015-07-08

Family

ID=47141642

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011106619A Expired - Fee Related JP5746556B2 (ja) 2011-05-11 2011-05-11 画像処理装置、画像処理方法、及びプログラム

Country Status (2)

Country Link
US (1) US8830344B2 (ja)
JP (1) JP5746556B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013257665A (ja) 2012-06-11 2013-12-26 Canon Inc 映像処理装置、映像処理装置の制御方法
CN104104891B (zh) * 2013-04-10 2018-08-10 中强光电股份有限公司 投影装置及其投影自动校正方法
JP6486069B2 (ja) * 2014-10-31 2019-03-20 株式会社東芝 画像処理装置、検査装置、検査方法及び画像処理プログラム
CN106780480A (zh) * 2017-01-06 2017-05-31 惠州Tcl移动通信有限公司 基于移动终端的自动识别图片异常像素处理方法及系统
CN109104596B (zh) 2017-06-21 2021-02-26 中强光电股份有限公司 投影系统以及显示影像的校正方法
CN112639867A (zh) * 2020-05-07 2021-04-09 深圳市大疆创新科技有限公司 图像处理方法和装置

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3677188B2 (ja) * 2000-02-17 2005-07-27 セイコーエプソン株式会社 画像表示装置および方法、並びに、画像処理装置および方法
US6879733B2 (en) * 2001-01-18 2005-04-12 Seiko Epson Corporation Image artifact removal technique for LCP
JP2005012561A (ja) * 2003-06-19 2005-01-13 Sony Corp 画像処理装置、画像処理方法および画像投射装置
JP2007148500A (ja) * 2005-11-24 2007-06-14 Olympus Corp 画像処理装置および画像処理方法
JP5080899B2 (ja) 2007-08-08 2012-11-21 キヤノン株式会社 映像処理装置及びその制御方法
JP5012590B2 (ja) * 2008-03-10 2012-08-29 セイコーエプソン株式会社 画像処理装置、プロジェクタおよび画像処理方法
US8396322B1 (en) * 2008-06-11 2013-03-12 Pixelworks, Inc. Optical distortion correction in digital video processing applications
JP5098869B2 (ja) * 2008-07-22 2012-12-12 セイコーエプソン株式会社 画像処理装置、画像表示装置および画像データ生成方法
JP2012060517A (ja) * 2010-09-10 2012-03-22 Canon Inc 画像処理装置、画像処理方法

Also Published As

Publication number Publication date
JP2012238171A (ja) 2012-12-06
US20120287298A1 (en) 2012-11-15
US8830344B2 (en) 2014-09-09

Similar Documents

Publication Publication Date Title
JP5746556B2 (ja) 画像処理装置、画像処理方法、及びプログラム
US9224321B2 (en) Projector for performing trapezoidal distortion correction and method of controlling projector
JP5744586B2 (ja) 液晶表示装置およびそれに用いるプログラム
US9245313B2 (en) Semiconductor device, electronic apparatus, and image processing method
JP4958499B2 (ja) 画像表示制御装置、画像表示方法及びプログラム
JP6485068B2 (ja) 画像処理方法および画像処理装置
US20150281662A1 (en) Image processing apparatus and image processing method
JP5968088B2 (ja) 画像処理装置、画像処理方法、および、プログラム
JP2011193332A (ja) プロジェクターおよび映像の投写方法
JP5348035B2 (ja) プロジェクター
JP2019033339A (ja) 情報処理装置、投影装置、情報処理方法、及び、プログラム
JP2016163189A (ja) 画像処理装置、画像処理方法及び表示装置
JP6135937B2 (ja) 画像処理方法および画像処理装置
US9454801B2 (en) Image processing apparatus, method for processing image, and program
US9218649B2 (en) Image projection apparatus, control method, and program
JP2011211274A (ja) 画像表示装置、プロジェクター、および、画像表示装置におけるデータの取得方法
JP2010263441A (ja) 画像処理装置、画像処理方法及びプログラム
JP2013257665A (ja) 映像処理装置、映像処理装置の制御方法
JP6320022B2 (ja) 映像表示装置、映像表示装置の制御方法及びプログラム
JP6575742B2 (ja) 画像処理方法および画像処理装置
JP5407928B2 (ja) 投写型表示装置および表示方法
CN108770374B (zh) 图像处理装置及图像处理方法
JP5531701B2 (ja) プロジェクター
JP5721410B2 (ja) 画像処理装置、画像処理方法及びプログラム
JP2011176389A (ja) 投写型表示装置および表示方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140509

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140509

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150108

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150113

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150316

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20150410

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150508

R151 Written notification of patent or utility model registration

Ref document number: 5746556

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees