JP5316811B2 - 画像処理方法及び装置、並びに画像撮像装置 - Google Patents

画像処理方法及び装置、並びに画像撮像装置 Download PDF

Info

Publication number
JP5316811B2
JP5316811B2 JP2010008185A JP2010008185A JP5316811B2 JP 5316811 B2 JP5316811 B2 JP 5316811B2 JP 2010008185 A JP2010008185 A JP 2010008185A JP 2010008185 A JP2010008185 A JP 2010008185A JP 5316811 B2 JP5316811 B2 JP 5316811B2
Authority
JP
Japan
Prior art keywords
vertex
vertex data
address
image
block
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
JP2010008185A
Other languages
English (en)
Other versions
JP2011147072A (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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2010008185A priority Critical patent/JP5316811B2/ja
Priority to US12/976,547 priority patent/US8462222B2/en
Priority to EP10197353.5A priority patent/EP2346240B1/en
Priority to CN2011100235003A priority patent/CN102164236B/zh
Publication of JP2011147072A publication Critical patent/JP2011147072A/ja
Application granted granted Critical
Publication of JP5316811B2 publication Critical patent/JP5316811B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformation in the plane of the image
    • G06T3/40Scaling the whole image or part thereof
    • G06T3/4015Demosaicing, e.g. colour filter array [CFA], Bayer pattern
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/80Camera processing pipelines; Components thereof
    • H04N23/84Camera processing pipelines; Components thereof for processing colour signals
    • H04N23/843Demosaicing, e.g. interpolating colour pixel values

Description

本発明は、撮影された画像について、利用状況に応じて多種多様の画像変形処理を行うのに好適な画像処理方法及び装置、並びにそれを適用した画像撮像装置に関する。
従来から、車載カメラなどのカメラシステムにおいて、撮影された画像について、歪補正や回転補正や見下ろし補正やその他、必要な画像変形処理を行う場合、処理の高速化のために、あらかじめ入出力画素の座標値の対応を記憶したルックアップテーブルを用いることが行われている。しかしながら、最近の撮像素子は、画素数が非常に多くなっており、それに対応してルックアップテーブルの必要記憶容量も増加の傾向にある。しかも、ルックアップテーブルは、各画像変形処理毎に用意する必要があるが、最近は多種多様の画像変形処理が要求されており、ルックアップテーブルの規模増大、コスト高は免れなかった。
一方、例えば特許文献1には、出力画像を複数のブロックに区切り、各ブロックの頂点画素ごとに、該頂点画素に対応する入力画像上の座標値を記憶したルックアップテーブルを用い、出力画像の注目する画素に対応する入力画像の座標値がルックアップテーブルに存在しない場合には線形補間処理により該座標値を算出することで、ルックアップテーブルの必要記憶容量を軽減し、種々の画像変形処理を、簡単な構成で安価に、高速に行えるようにした画像処理方法が記載されている。
例えば、撮像画像(入力画像)のある部分を拡大(デジタルズーム)して表示する場合、図13に示すように、出力画像をX方向に画素数a毎、Y方向に画素数b毎の複数のブロック(図13では、6×4ブロック)に区切り、各ブロックの頂点画素(図13では、7×5画素)ごとに、該頂点画素に対する撮像画像上の座標値を記憶するルックアップテーブルを用意する。図13中、1〜35は各ブロックの頂点画素に割り当てた番号(頂点画素番号)を示している。ルックアップテーブルは、各頂点画素番号ごとに、その頂点画素に対応する撮像画像上の座標値を記憶している。
出力画像の注目する画素が頂点画素と一致する場合、ルックアップテーブルの当該頂点番号のアドレスから対応する撮像画像上の座標値(座標変換の座標値)を取得する。一方、出力画像の注目する画素が頂点画素と一致しない場合には、ルックアップテーブルから当該画素が含まれるブロックの4つの頂点画素(参照画素)に対応する撮像画像上の4つの座標値を取得し、該4つの座標値を基に線形補間処理により、出力画像の注目する画素に対応する撮像画像上の座標値を算出する。そして、出力画像の注目する画素の画素値として、撮像画像の上記座標値に対応する画素の画素値を出力する。ここで、撮像画像の上記座標値に対応する画素が存在しない場合には、撮像画像の該座標値の周囲の4つの画素(参照画素)の画素値を基に線形補間処理(第2の線形補間処理)により、該画素の画素値を算出する。
特許文献1に記載の画像処理方法によれば、図14に示すようなデジタルズームに代表される、複雑な画像変形処理を小規模なルックアップテーブルを用いて実現できる。しかしながら、撮像画像の両側などを切り出して表示するPicture by Picture(P by P)を出力画像としたい場合には、画像の中央部に出力画像が不連続になる部分が存在するため、特許文献1に記載の画像処理方法では簡単には実現できない。また、画素面の中に子画面を表示する。Picture in Picture(P in P)を実現する場合にも、子画面と元画面の境界が不連続となり、同様に特許文献1に記載の画像処理方法では簡単には実現できない。
図14はPicture by Pictureを模式的に表現したものである。(a)は撮像素子により得られる撮像画像を示している。(b)は該撮像画像を使ってPicture by Pictureを実現した出力画像で、撮像画像の左側のA領域の画像と右側のB領域の画像とを切り出し拡大(デジタルズーム)して表示することを示している。出力画像のブロック分割数は図13と同じとする。図13と図14を比較した場合、図14では不連続点において参照する頂点データの数が増加するので、図13よりも図14の方がルックアップテーブルに記憶しておくべき頂点数が多い。すなわち、図13の出力画像を得るためのルックアップテーブルに保持すべき頂点数は、7×5=35であるに対し、図14の出力画像を得るためのルックアップテーブルに保持すべき頂点数は4×5+4×5=40となる。このようなルックアップテーブルを用いて、線形補間により出力画素に対応する撮像画像の座標値を算出する場合、不連続点において煩雑な処理が必要であり、簡単には実現できない。
本発明は、出力画像を複数のブロックに区切り、各ブロックの頂点画素ごとに、入力画像上の座標値を記憶したルックアップテーブルを予め用意し、線形補完などにより任意の出力画素に対応する入力画像の座標値を算出することで、入力画像に対して所望の画像変形された出力画像を得るようにした画像処理方法及び装置において、出力画像に不連続点が存在する場合にも、容易に所望の出力画像を取得できるようにすることを主要な目的とする。
また、本発明は、このような画像処理装置を内蔵して、PbyPやPinPの出力画像を簡単に出力できる画像撮像装置を提供することを目的とする。
請求項1の発明は、出力画像を複数のブロックに区切り、各ブロックの頂点ごとに、該頂点に対応する入力画像上の座標値を記憶した頂点データメモリを予め用意し、該頂点データメモリを参照して、任意の出力画素に対応する入力画像上の座標値を補間演算することで、入力画像に対して所望の画像変形された出力画像を取得する画像処理方法であって、前記頂点データメモリは、少なくとも一部のブロックの少なくとも一部の頂点について、入力画像上の複数の座標値を記憶し、該複数の座標値から一つの座標値を選択して補間演算に利用することを特徴とする。
請求項2の発明は、請求項1に記載の画像処理方法において、前記複数の座標値は、前記頂点データメモリ内のそれぞれ別のアドレスに記憶されていることを特徴とする。
請求項3の発明は、請求項2に記載の画像処理方法において、前記頂点データメモリの各アドレスは、入力画像上の一つの座標値、別の座標値への参照アドレス、該参照アドレスの無効・有効を示すフラグを含むデータを記憶していることを特徴とする。
請求項4の発明は、請求項3に記載の画像処理方法において、前記頂点データメモリの当該頂点に対応するアドレスのデータを読出し、そのフラグが参照アドレスの無効を示している場合には、当該アドレスの座標値を選択し、有効を示している場合には、その参照アドレスで示されるアドレスのデータを読出して、その座標値を選択することを特徴とする。
請求項5の発明は、請求項4に記載の画像処理方法において、前記参照アドレスで示されるアドレスのデータを読み出して、そのフラグが参照アドレスの有効を示している場合には、さらに、該読み出したデータの参照アドレスで示されるアドレスのデータを読出し、以降、そのフラグが参照アドレスの無効を示しているまで繰り返すことを特徴とする。
請求項6の発明は、請求項3乃至5のいずれか1項に記載の画像処理方法において、前記フラグは、ブロックの左上頂点、右上頂点、左下頂点、右下頂点に対応した4つのフラグからなることを特徴とする。
請求項7の発明は、請求項4乃至6のいずれか1項に記載の画像処理方法において、取得する出力画像によっては、読み出したデータのフラグを無視し、当該データの座標値を選択することを特徴とする。
請求項8の発明は、請求項1乃至7のいずれか1項に記載の画像処理方法において、少なくとも1ブロックの4頂点に対応する入力画像上の4つの座標値を一時的に記憶するための補間演算用頂点データメモリを予め用意し、前記頂点データメモリを参照して、順次、処理対象ブロックの4頂点に対応する入力画像上の4つの座標値を選択して前記補間演算用頂点データメモリに記憶し、該補間演算用頂点データメモリに記憶された4つの座標値を用いて、順次当該ブロック内の各出力画像に対応する入力画像上の座標値を補間演算することを特徴とする。
請求項9の発明は、請求項8に記載の画像処理方法において、前記頂点データメモリを参照して、処理対象ブロックの4頂点に対応する入力画像上の4つの座標値を選択して前記補間演算用頂点データメモリに記憶する処理と、該補間演算用頂点データメモリに記憶された4つの座標値を用いて、当該ブロック内の各出力画像に対応する入力画像上の座標値を補間演算する処理は、並列的に実行されることを特徴とする。
請求項10の発明は、請求項1乃至9のいずれか1項に記載の画像処理方法を実施する画像処理装置を特徴とする。
請求項11の発明は、光学系と、該光学系を通して撮像された光学像を電気信号に変換する撮像素子と、該撮像素子で変換された電気信号の入力画像を処理する請求項10に記載の画像処理装置とを有する画像撮像装置を特徴とする。
本発明によれば、ルックアップテーブルとしての頂点データメモリに、少なくとも一部のブロックの少なくとも一部の頂点については、入力画像上の複数の座標値を記憶して、該複数の座標値から一つの座標値を選択し、補完演算に利用するようにすることで、PbyPやPinP等、出力画像に不連続点が存在する場合にも、容易に所望の出力画像を得ることができる。
本発明の画像処理装置を適用した画像撮像装置の一実施形態の機能ブロック図である。 図1の画像変形部の詳細構成図である。 垂直同期信号、水平同期信号、ブロックスタート信号などのタイミング図である。 出力画像のブロック分割の一例を示す図である。 入力画像とPbyP出力画像の一例を示す図である。 図5の出力画像を得るようにした図2の頂点データメモリ内のテーブル例を示す図である。 ブロックの4頂点データ生成とブロックの各座標の補間演算の処理タイミングを示す図である。 ブロックの4頂点データ生成とブロックの各座標の補間演算の別の処理タイミングを示す図である。 図2の頂点データアドレス決定部の処理フロー例を示す図である。 図2の頂点データ読出し部の処理フロー例を示す図である。 入力画像とPinPの出力画像の例を示す図である。 図11の出力画像得るようにした図2の頂点データメモリ内のテーブル例を示す図である。 入力画像と拡大表示の出力画像との対応関係を示す図である。 従来のPbyPの出力画像を表示する場合の不具合を説明する図である。
以下、本発明の一実施の形態について図面を参照して詳しく説明する。
図1は、本発明の画像処理方法を実施する画像処理装置を適用した画像撮像装置の一実施形態の機能ブロック図
示す。画像撮像装置は、他に操作部、画像表示部、各部の動作を制御する制御部などを備えているが、図1では省略してある。
図1において、同期信号生成部10は、装置各部を動作させる基となる水平同期信号及び垂直同期信号の同期信号、クロック信号を生成する。これら同期信号、クロック信号は撮像素子20及び画像変形部70に送出される。
撮像素子20は、光学系(不図)を通して撮像された光学像を電気信号(画像信号)に変換するもので、例えばCCDやCMOSセンサ等で構成される。該撮像素子20にはベイヤー配列の色フィルタが設けられており、ベイヤー配列のRGB画像信号が、同期信号生成部10から与えられる水平/垂直同期信号、クロック信号に基づいて順次出力される。
A/D変換部30は、撮像素子20から出力されたアナログ信号としてのベイヤー配列のRGB画像信号をデジタル信号としての画像データに変換してベイヤー補間部40に送出する。1画素の画像データ(画素データ)は、例えばRGBそれぞれ8ビットで構成される。一般にA/D変換部30の前段には、撮像素子20から出力された画像信号を所定の値に増幅するAGC回路が設けられるが、ここでは省略する。
ベイヤー補間部40は、デジタル信号に変換されたベイヤー配列のRGB画像データを入力して、RGB各色独立に、全座標位置の画像データを線形補間によって生成し、画像バッファ部50に送出する。
画像バッファ部50は、ベイヤー補間部40から送られてきた画像データを一時的に保持する。該画像バッファ部50は、DRAMなどのフレームバッファメモリからなり、1画面(フレーム)あるいはそれ以上の画像データ(オリジナルの撮像画像)が格納される。
画像読出し部60は、水平/垂直同期信号、クロック信号に同期して画像バッファ部(フレームバッファメモリ)50をラスタースキャンし、該画像バッファ部50から画像データ(画素データ)を順次読み出す。詳しくは、該画像読出し部60は、後述の画像変形部80から、水平/垂直同期信号、クロック信号と同期して、座標変換元のX座標値およびY座標値を順次受け取り、該X座標値およびY座標値に基づいて画像バッファ部50のアドレス(座標変換元アドレス)を順次算出し、水平/垂直同期信号、クロック信号のカウント値で示されるアドレス(座標変換先アドレス)として、画像バッファ50内の上記算出されたアドレスの画像データ(画素データ)を読み出す。この結果、画像読出し部60からは、画像バッファ50に格納されたオリジナルの撮像画像について、所定の画像変形の施された画像が出力される。
D/A変換部70は、画像読出し部60から出力されるデジタル信号としての画像データを、使用する表示装置の表示形式に適したアナログ信号の映像信号に変換する。例えば、NTSC方式の映像信号に変換する。D/A変換部70は外部の表示装置(不図)とケーブルなどで接続されており、D/A変換部70からの映像信号が表示装置に表示される。
画像変形部80は、同期信号生成部10から送出される水平/垂直同期信号、クロック信号を入力し、画像読出し部60が画像バッファ50から画像変形された画像データを読み出す際のアドレス(座標変換元アドレス)の基となる座標変換元のX座標値及びY座標値を算出して、水平/垂直同期信号およびクロック信号と同期させて順次出力する。本発明は、該画像変形部80に係る。なお、該画像変形部80については後で詳しく説明する。
ここで、画像バッファ部50が少なくとも2画面分の画像データを格納することができる場合、該画像バッファ部50の書込み読出し動作をダブルバッファ方式とすることが可能である。ダブルバッファ方式とは、一方のメモリ領域に現フレームの画像データを書込み、これと並行してもう一方のメモリ領域から前フレームの画像データを読み出し、これをフレーム単位で交互に繰り返す方式である。ダブルバッファ方式を採用することにより、処理の高速化が可能となる。
以下では、本発明の主要構成である画像変形部80について詳しく説明する。
図2は画像変形部80の詳細構成例を示すブロック図である。ここで、画像変形部80は頂点データアドレス決定部801、頂点データ読出し部802、補間演算用頂点データメモリとしての双線形補間用頂点データ記憶部803、双線形補間演算部804及びルックアップテーブルとしての頂点データメモリ805からなる。
画像変形部80は、VSYNC_IN,HSYNC_IN,クロックを入力し、VSYNC_OUT,HSYNC_OUT,クロック,X_OUT,Y_OUTを出力する。ここで、VSYNC_INは、本撮像装置で用いる垂直方向のタイミングを計るための信号(垂直同期信号)、HSYNC_INは、同水平方向のタイミングを計るための信号(水平同期信号)であり、クロックと一緒に図1の同期信号生成部10から与えられる。VSYNC_OUT及びHSYNC_OUTは、VSYNC_IN及びHSYNC_INを所定量遅延した信号である。X_OUT及びY_OUTは、図1の画像読出し部60が画像バッファ部50から画像変形された画像データを読み出す際のアドレスを算出するためのX座標値及びY座標値で、X_OUTが座標変換元X座標、Y_OUTが座標変換元Y座標を表わす。X_OUTおよびY_OUTはVSYNC_OUT及びHSYNC_OUTに同期して出力される。
図3(a)にVSYNC_IN、YSYNC_INのタイミングチャートを示す。図3はインターレース方式の例であるが、プログレッシブ方式でも同様である。YSYNC_INの信号のエッジアップ/エッジダウンと、HSYNC_INの立上がり及びクロック数をカウントすることにより、出力画像上の座標を一意に特定することができる。そのため、VSYNC_IN,YSYNC_INと、VSYNC_OUT、YSYNC_OUT及びX_OUT,Y_OUTとの遅延量を予め計算しておくことにより、X_OUT及びY_OUTから、出力画像上の座標に対応する画像バッファ上の入力画像(撮像画像)上の座標(変換元座標)を特定することができる。
ここでは、画像バッファ部50に蓄えられる入力画像のサイズを640×480とし、出力画像は、水平走査方向(X方向)にa=160、垂直走査方向(Y方向)にb=120サイズの複数ブロックに分割するとする。図4に出力画像のブロックと頂点番号の関係を示す。図4全体が640×480の出力画像を示し、ここでは16個のブロックに分割される。各ブロックの頂点には、頂点番号1〜25が割り振られている。
図2において、頂点データメモリ805には、出力画像の各ブロックの各頂点に対応する入力画像のX座標値,Y座標値が、Picture by PictureやPicture in Pictureなどの場合の不連続点についても別アドレスに全て記憶されている。
ここでは、一実施例として、図5(a)の入力画像について、図5(b)のような4画面からなるPicture by Pictureの出力画像を得るとした場合の、頂点データメモリ805に格納されているデータの例を図6に示す。図6において、アドレス1〜25は、図4の頂点番号1〜25に対応する。アドレス26〜36は、重複する頂点について不連続点のデータを格納するのに割り当てられたアドレスを示す。X座標、Y座標は当該頂点に対応する入力画像のX座標値、Y座標値で、Xi,Yjは図5(a)の入力画像の対応する頂点に記した番号iに対応している。ここでは、画像サイズは640×480としているので、1≦X座標値≦640、1≦Y座標値≦480である。なお、頂点データメモリの容量に余裕がある場合は、X座標値、Y座標値は整数でなくてもよい。左上フラグ、右上フラグ、左下フラグ、右下フラグ、次アドレスについては後述する。本発明の一つの特徴は頂点データメモリ805のデータ構成にある。
頂点データアドレス決定部801は、同期信号生成部10から送られるVSYNC_INとHSYNC_IN、クロック、頂点データ読み取り部802から送られる切替アドレスを入力として、出力画像の現在着目しているブロックの4頂点の各データを呼び出すための頂点データメモリ805のアドレスを決定し、該アドレスを頂点位置情報と共に頂点データ読み出し部802に送る。例えば、現在着目しているブロックがブロック1の場合、頂点番号1,2,6,7に対応してアドレス1,2,6,7を決定する。頂点位置情報はブロックの左上、右上、左下、右下の順に1,2,3,4とする。
頂点データ読出し部802は、頂点データアドレス決定部801から送られたアドレスに基づいて、頂点データ記憶部805の当該アドレスのデータを読み出す。そして、読み出したデータのうち、X座標値とY座標値(頂点データ)を頂点位置情報と共に双線形補間用頂点データ記憶部803に送る。また、読み出したデータのうち、左上フラグ、右上フラグ、左下フラグ、右下フラグについて、頂点位置情報の番号に対応するフラグが0か1か調べ、当該フラグが0の場合には切替アドレスを0とし、1の場合には、切替アドレスを次アドレス(参照アドレス)のアドレス値として、頂点データアドレス決定部801に送る。
頂点データアドレス決定部801では、切替アドレスが0の場合には、当該頂点について前回と同じアドレスを、また、切替アドレスが次アドレスのアドレス値の場合には該アドレス値を、頂点データ読み出し部802に送る。頂点データ読み出し部802では、頂点アドレス決定部801から送られたアドレスに基づいて、再び頂点データ記憶部805の当該アドレスのデータを読み出して、そのX座標値とY座標値を双線形補間用頂点データ記憶部803に送り、また、当該頂点に対応するフラグが0か1か調べる。
頂点データアドレス決定部801と頂点データ読出し部802の間での上記処理は、現在着目しているブロックの4頂点について、それぞれ4回繰り返される。この結果、図5(b)の例で、例えば、現在着目しているブロックがブロック3の場合、その頂点番号3,8については、図6より最初は頂点データメモリ805のアドレス3,8のデータが読み出されて、そのX座標値とY座標値が双線形補間用頂点データ記憶部803に送られるが、次には、頂点データメモリ803のアドレス26,27のデータが読み出されて、そのX座標値とY座標値が双線形補間用頂点データ記憶部803に送られ、最終的に該X座標値とY座標値が頂点番号3,8の頂点データとして確定する。これにより、不連続点が解消される。
なお、現在着目しているブロックの4頂点について、それぞれ4回、頂点データアドレス決定部801と頂点データ読出し部802の間で処理を繰り返す理由は、図5(b)の例において、現在着目しているブロックがブロック11で、頂点番号13のケースを考慮したためである。すなわち、このケースでは、図6より、4回目で初めて頂点番号13の頂点データが確定する。図6のテーブルの具体的処理例については後で詳述する。
双線形補間用頂点データ記憶部803は、出力画像の現在着目しているブロックの4頂点の入力画像のX座標値とY座標値を一時的に記憶する。具体的には、双線形補間用頂点データ記憶部803は、一つのブロックの4頂点に対応した4つのレジスタからなり、頂点データ読出し部802から送られてくるX座標値とY座標値を、同じく頂点データ読出し部802から送られてくる頂点位置情報に従って、当該頂点に対応するレジスタに上書きする。該双線形補間用頂点データ記憶部803の4つのレジスタの内容は、着目するブロックが次のブロックに移行すると、それに対応して入れ替わる。
双線形補間演算部804は、VSYNC_IN、HSYNC_IN、クロックを入力として、双線形補間用頂点データ記憶部803の4つの頂点データを用いて双線形補間演算により、出力画像の現在着目しているブロック内の現走査ラインの各座標に対する入力画像上のX座標値とY座標値を順次求めて、VSYNC_OUT、YSNC_OUTに同期してX_OUT,Y_OUTとして出力する。なお、VSYNC_IN、HSYNC_IN、クロックは、一定時間遅らせて双線形補間演算部804に入力するようにする。
図3(a)に示したように、VSYNC_INのエッジアップ/エッジダウンと、HSYNC_INの立上がり及びクロック数をカウントすることにより、出力画像上の座標が一意に特定される。すなわち、出力画像の現在着目しているブロック内の現走査ラインの各座標が得られる。一方、双線形補間用頂点データ記憶部803は、出力画像の現在着目しているブロックの4頂点の入力画像上のX座標値とY座標値(頂点データ)を記憶している。双線形補間演算部804では、出力画像の現在着目しているブロック内の現走査ラインの各座標について、双線形補間用頂点データ記憶部803内の4つの頂点データを用いて双線形補間演算により、入力画像上の対応するX座標値とY座標値を順次求めていく。双線形補間演算のやり方は、特許文献1などに記載のやり方と基本的に同じであるので、詳しい説明は省略する。
図7に、頂点データアドレス決定部801と頂点データ読出し部802での4頂点データ生成処理と、双線形補間演算部804での双線形補間処理の時間関係を示す。図7において、αは1ブロックのラスタースキャン期間、αは4頂点データ生成処理期間、bは双線形補間処理期間を表わしている。なお、図7では、現走査ラインはブロック1〜4上にあるとしている。
まず、頂点データアドリス決定部801と頂点データ読出し部802は、各ブロック1,2,3,4の初めにおいて、a1,a2,a3,a4の期間で、当該ブロックの4頂点データを生成し、双線形補間用頂点データ記憶部803の4つのレジスタに設定する。次に、双線形補間演算部804は、b1,b2,b3,b4の期間で、双線形補間用頂点データ記憶部803に設定された4頂点データを用いて、当該ブロック内の現走査ラインの各座標(160座標点)について、入力画像上の対応するX座標値とY座標値を補間演算していく。ブロック1〜4上の各走査ライン毎、これらの処理が繰り返されることになる。ブロック5〜8,9〜12,13〜16についても同様である。
ここで、頂点データアドレス決定部801と頂点データ読出し部802をFPGAなどで構成して、4頂点データ生成処理を高速に実施することで、bの期間に対して、aの期間を実質的に無視する(ゼロに近づける)ことが可能である。
なお、頂点データ読出し部802内に、双線形補間用頂点データ記憶部803のレジスタと同様のワークレジスタを設けて、頂点データメモリ805から読み出されたX/Y座標値を該ワークレジスタに一時的に設定し、必要に応じて上書きし、最終的に確定したX/Y座標値を双線形補間用頂点データ記憶部803に設定するようにしてもよい。これにより、4頂点データ生成処理と双線形補間処理とを並列に実施することが可能になり、頂点データアドレス決定部801と頂点データ読出し部802の負担(高速処理)を軽減することができる。
図8に、この場合の頂点データアドレス決定部801と頂点データ読出し部802での4頂点データ生成処理と、双線形補間演算部804での双線形補間処理の時間関係を示す。図8(a)は頂点データアドレス決定部801と頂点データ読出し部802の処理期間、図8(b)は双線形補間演算部804の処理期間を示す。ここでも、現走査ラインはブロック1〜4上にあるとし、αは1ブロックのラスタースキャン期間を表わしている。頂点データアドレス決定部801と頂点データ読出し部802では、α1,α2,・・・,α4の期間で、順次、ブロック1,ブロック2,…,ブロック4の4頂点の頂点データを生成し、最終的に双線形補間用頂点データ記憶部803の4つのレジスタに設定する。一方、双線形補間演算部804の処理は、頂点データアドレス決定部801と頂点データ読出し部802の処理からα期間遅れて開始し、同様に、α1,α2,α3,α4の期間で、並列的に順次、その時の双線形補間用頂点データ記憶部803の4頂点データを用いて、ブロック1,ブロック2,…,ブロック4内の現走査ラインの各座標(160座標点)について、入力画像上の対応するX座標値とY座標値を補間演算していく。各走査ライン毎、これらの処理が繰り返されることになる。
次に、図4、図5及び図6を参照して、頂点データアドレス決定部801と頂点データ読出し部802の動作を更に詳しく説明する。
頂点データアドレス決定部801では、VSYNC_IN、HSYNC_INから、BLOCK_START信号を生成する(図3(b)参照)。BLOCK_START信号では、双線形補間用頂点データ記憶部803に設定される頂点データを書き換えるタイミングを決定する。このBLOCK_START信号は、HSYNC_INの立ち上がりと同時に立ち上がり、1クロックハイレベル、159クロックローレベル(X方向 a=160から1引いたもの)を繰り返す信号である。
図9に、頂点データアドレス決定部801の処理フローチャートを示す。
頂点データアドレス決定部801では、まず、BLOCK_START信号の立ち上がりを検出して、ブロック番号を算出する(ステップ1001)。ブロック番号の算出は、HSYNC_INの立ち上がりをカウントすることで得られるY座標と、Y座標ごとに初期化されるBLOCK_START信号の立ち上がりのカウント値を利用することで可能である。図4より、例えば、HSYNC_INの立ち上がりからY座標=1ならば、得られるブロック番号は1となる。また、HCYNC_INから得られるY座標=200のとき、BLOCK_START信号のカウント値が1ならば、ブロック番号は5となる。
次に、ブロック番号に対応する4頂点の頂点番号(V,V,V,V)を取得する(ステップ1002)。図4より、ブロック番号が得られれば、対応する4頂点の頂点番号は一義的に求まる。例えば、ブロック番号が1のときは、ブロックの左上、右上、左下、右下の頂点の順に、頂点番号はV=1,V=2,V=6,V=7となる。
次に、m=1,n=1と初期設定する(ステップ1003)。ここで、mは1つの頂点番号に対する頂点データ読出し部802へのアドレス、頂点位置情報の送信回数を表わし、nは頂点番号の添え字(すなわち、頂点位置情報)を表わす。
次に、アドレスA=Vとし(ステップ1004)、頂点データ読出し部802からの切替アドレスを待ち(ステップ1005)、該切替アドレスが0であるか判定する(ステップ1006)。そして、切替アドレスが0の場合には、アドレスAとしてV、頂点位置情報としてnを頂点データ読出し部802に送信する(ステップ1008)。一方、切替アドレスが0でない場合は、頂点データ読出し部802から送られたアドレス値をアドレスAとして(ステップ1007)、該アドレスA、頂点位置情報nを頂点データ読出し部802に送信する(ステップ1008)。なお、n=1の場合(最初の送信の場合)には、ステップ1005,1006をスキップし、すなわち、頂点データ読出し部802からの切替アドレスを待たずに、A=V,nを頂点データ読出し部802に送信するものとする。
次に、m+1→mとして(ステップ1009)、m>4であるか判定する(ステップ1010)。そして、m≦4の場合には、ステップ1005に戻り、ステップ1005〜ステップ1008の処理を繰り返す。
一方、m>4の場合には、すわなち、1つの頂点に対して、アドレスA、頂点位置情報nの送信が4回繰り返された場合、m=1,n+1←nとする(ステップ1011)。そして、n>4であるか判定し(ステップ1012)、n≦4ならば、ステップ1004に戻る。すなわち、次の頂点について、上記と同様の処理を繰り返す。また、n>4のは場合、処理を終了とする。すなわち、データアドレス決定部801での1つのブロックの4頂点に対する処理が終了となる。
図10に、頂点データ読出し部802の処理フローチャートを示す。なお、これは図7の場合に対応する。
頂点データ読出し部802では、頂点データアドレス決定部801からアドレスA、頂点位置情報nを受信すると(ステップ2001)、頂点データ記憶部805から当該アドレスAのデータ(XY座標値、4つのフラグ、次アドレス)を読み出す(ステップ2002)。そして、読み出したデータの中のX座標値とY座標値、及び、受信した頂点位置情報nを双線形補間用頂点データ記憶部803に送信する(ステップ2003)。
次に、読み出したデータ中の左上フラグ、右上フラグ、左下フラグ、右下フラグについて、頂点位置情報nに対応するフラグが0か1か調べる(ステップ2004)。例えば、n=1の場合、左上フラグを調べる。そして、当該フラグが0の場合には切替アドレスを0とし(ステップ2005)、1の場合には、読み出したデータ中の次アドレスのアドレス値を切替アドレスとする(ステップ2006)。そして、該切替アドレスを頂点アドレス決定部801に送信する(ステップ2007)。
以下、頂点データ読出し部802では、頂点データアドレス決定部801からアドレスA、頂点位置情報nを受信する都度(ステップ2001)、ステップ2002〜ステップ2007の処理を繰り返す。その結果、双線形補間用頂点データ記憶部803には、最終的に、出力画像の現在着目しているブロックの4頂点の入力画像のX座標値とY座標値(頂点データ)が記憶されることになる。
なお、同じ頂点位置情報nについて、頂点データアドレス決定部801から4回目のアドレス値を受信した場合には、ステップ2004〜2007の処理を行わず、頂点データアドレス決定部801からの次の受信を待つことになる。
図10は図7の場合を想定したものであるが、図8の場合には、ステップ2003の双曲線補間頂点データ記憶部は頂点データ読出し部802に内蔵のワークレジスタとし、かわりにステップ2007以降に、該ワークレジスタに最終的に確定された4頂点のX座標値,Y座標値を双曲線補間用頂点データ記憶部803に転送するステップが追加されることとなる。
以下に、図4、図5及び図6を参照して、二、三の具体的処理例について説明する。ここでも、頂点データ読出し部802は図10の処理を実施するものとするが、上述のように、処理途中の4頂点データをワークレジスタに一時記憶し、最終的に、確定した4頂点データを双線形補間用頂点データ記憶部803に転送するようにすることも、容易に類推できる。
<処理例1>
ここでは、図5(b)の出力画像において現在着目しているブロックがブロック1の場合について説明する。図4より、ブロック1の頂点番号は、V=1,V=2,V=6,V=7である。
(1) 頂点番号1の処理
頂点データアドレス決定部801は、アドレスA=V=1、頂点位置情報n=1を頂点データ読出し部802に送る。頂点データ読出し部802は、頂点データメモリ805(図6)からアドレス1のデータを読出し、そのX1及びY1を双線形補間用頂点データ記憶部803に送る。また、頂点データ読出し部802は、頂点位置情報n=1に対応する左上フラグを調べ、該左上フラグ=0のため、切替アドレス=0を頂点データアドレス決定部801に送る。
これを受けて頂点データアドレス決定部801は、再度、アドレスA=V=1、頂点位置情報n=1を頂点データ読出し部802に送る。頂点データ読出し部802は、再度、頂点データメモリ805のアドレス1のデータを読み出す。
以後の処理は省略するが、結局、頂点データアドレス決定部801と頂点データ読出し部802では、同じ処理を4回繰り返し、ブロック1の頂点番号1に対応する頂点データは,X,Y1に確定する。
(2) 頂点番号2の処理
頂点データアドレス決定部801は、アドレスA=V=2、頂点位置情報n=2を頂点データ読出し部802に送る。頂点データ読出し部802は、頂点データメモリ805からアドレス2のデータを読出し、そのX2及びY2を双線形補間用頂点データ記憶部803に送る。また、頂点データ読出し部802は、頂点位置情報n=2に対応する右上フラグを調べ、該右上フラグ=0のため、切替アドレス=0を頂点データアドレス決定部801に送る。
これを受けて頂点データアドレス決定部801は、再度、アドレスA=V=2、頂点位置情報n=2を頂点データ読出し部802に送る。頂点データ読出し部802は、再度、頂点データメモリ805のアドレス2のデータを読み出す。
ここでも、以後の処理は省略するが、結局、頂点データアドレス決定部801と頂点データ読出し部802では、同じ処理を4回繰り返し、ブロック1の頂点番号2に対応する頂点データはX2,Y2に確定する。
(3) 頂点番号6の処理
頂点データアドレス決定部801は、アドレスA=V=6、頂点位置情報n=3を頂点データ読出し部802に送る。頂点データ読出し部802は、頂点データメモリ805からアドレス6のデータを読出す。この場合も、頂点位置情報n=3に対応する左下フラグが0のため、結局、頂点データアドレス決定部801と頂点データ読出し部802では、同じ処理を4回繰り返し、ブロック1の頂点番号6に対応する頂点データはX4,Y4に確定する。
(4) 頂点番号7の処理
頂点データアドレス決定部801は、アドレスA=V=7、頂点位置情報n=4を頂点データ読出し部802に送る。頂点データ読出し部802は、頂点データメモリ805からアドレス7のデータを読出す。この場合も、頂点位置情報n=4に対応する右下フラグが0のため、結局、頂点データアドレス決定部801と頂点データ読出し部802では、同じ処理を4回繰り返し、ブロック1の頂点番号7に対応する頂点データはX5,Y5に確定する。
<処理例2>
こごては、図5(b)の出力画像において現在着目しているブロックがブロック3の場合について説明する。図4より、ブロック3の頂点番号は、V=3,V=4,V=8,V=9である。
(1) 頂点番号3の処理
頂点データアドレス決定部801は、アドレスA=V=3、頂点位置情報n=1を頂点データ読出し部802に送る。頂点データ読出し部802は、頂点データメモリ805からアドレス3のデータを読出し、そのX3及びY3を双線形補間用頂点データ記憶部803に送る。また、頂点データ読出し部802は、頂点位置情報n=1に対応する左上フラグを調べる。ここで、左上フラグ=1であるため、頂点データ読出し部802は、次アドレスのアドレス値=26を切替アドレスとして頂点データアドレス決定部801に送る。
これを受けて、頂点データアドレス決定部801は、2回目は、アドレスA=26、頂点位置情報n=1を頂点データ読出し部802に送る。頂点データ読出し部802は、頂点データメモリ805のアドレス26のデータを読出し、そのX10及びY10を双線形補間用頂点データ記憶部803に送る。また、頂点データ読出し部802は、頂点位置情報n=1に対応する左上フラグを調べ、ここでは左上フラグ=0のため、切替アドレス=0を頂点データアドレス決定部801に送る。
これを受けて、頂点データアドレス決定部801は、3回目は、前回と同じアドレスA=26、頂点位置情報n=1を頂点データ読出し部802に送る。頂点データ読出し部802は、再度、頂点データメモリ805のアドレス26のデータを読出し、2回目と同じ処理を実行する。
頂点データアドレス決定部801は、最後の4回目も、前回と同じアドレスA=26、頂点位置情報n=1を頂点データ読出し802に送る。頂点データ読出し部802は、再度、頂点データメモリ805のアドレス26のデータを読出し、3回目と同じ処理を実行する。
結局、頂点データアドレス決定部801と頂点データ読出し部802で4回処理を繰り返す過程で、ブロック3の頂点番号3に対応する頂点データは、最初のX3,Y3からX10,Y10に変わり、最終的にX10,Y10に確定する。これにより、図5の不連続点が解消される。
(2) 頂点番号4の処理
頂点データアドレス決定部801は、アドレスA=V=4、頂点位置情報n=2を頂点データ読出し部802に送る。頂点データ読出し部802は、頂点データメモリ805からアドレス4のデータを読出す。以後の処理は省略するが、頂点位置情報n=2に対応する右上フラグは0のため、結局、頂点データアドレス決定部801と頂点データ読出し部802では、4回同じ処理を繰り返し、ブロック3の頂点番号4に対応する頂点データはX11,Y11に確定する。
(3) 頂点番号8の処理
頂点データアドレス決定部801は、アドレスA=V=8、頂点位置情報n=3を頂点データ読出し部802に送る。頂点データ読出し部802は頂点データメモリ805からアドレス8のデータを読出し、そのX6及びY6を双線形補間用頂点データ記憶部803に送る。また、頂点データ読出し部802は、頂点位置情報n=3に対応する左下フラグを調べる。ここで、左下フラグ=1であるため、頂点データ読出し部802は、次アドレスのアドレス値=27を切替アドレスとして頂点データアドレス決定部801に送る。
これを受けて、頂点データアドレス決定部801は、2回目は、アドレスA=27、頂点位置情報n=3を頂点データ読出し部802に送る。頂点データ読出し部802は、頂点データメモリ805のアドレス27のデータを読出し、そのX13及びY13を双線形補間用頂点データ記憶部803に送る。また、頂点データ読出し部802は、頂点位置情報n=3に対応する左下フラグを調べ、ここでは左下フラグ=0のため、切替アドレス=0を頂点データアドレス決定部801に送る。
これを受けて、頂点データアドレス決定部801は、3回目は、前回と同じアドレスA=27、頂点位置情報n=3を頂点データ読出し部802に送る。頂点データ読出し部802は、再度、頂点データメモリ805のアドレス27のデータを読出し、2回目と同じ処理を実行する。
頂点データアドレス決定部801は、最後の4回目も、前回と同じアドレスA=27、頂点位置情報n=3を頂点データ読出し部802に送る。頂点データ読出し部802は、再度、頂点データメモリ805のアドレス27のデータを読出し、3回目と同じ処理を実行する。
結局、頂点データアドレス決定部801と頂点データ読出し部802で4回処理を繰り返す過程で、ブロック3の頂点番号8に対応する頂点データは、最初のX6,Y6からX13,Y13に変わり、最終的にX13,Y13に確定する。この場合も、図5の不連続点が解消される。
(4) 頂点番号9の処理
頂点データアドレス決定部801は、アドレスA=V=9、頂点位置情報n=4を頂点データ読出し部802に送る。頂点データ読出し部802は、頂点データメモリ805からアドレス9のデータを読出す。以後の処理は省略するが、頂点位置情報n=4に対応する右下フラグは0のため、結局、頂点データアドレス決定部801と頂点データ読出し部802では、4回同じ処理を繰り返し、ブロック3の頂点番号9に対応する頂点データはX14,Y14に確定する。
<処理例3>
ここでは、図5(b)の出力画像において現在着目しているブロックがブロック11の場合について説明する。図4より、ブロック11の頂点番号は、V=13,V=14,V=18,V=19である。
(1) 頂点番号13の処理
頂点データアドレス決定部801は、アドレスA=V=13、頂点位置情報n=1を頂点データ読出し部802に送る。頂点データ読出し部802は、頂点データメモリ805からアドレス13のデータを読出し、そのX9及びY9を双線形補間用頂点データ記憶部803に送る。また、頂点データ読出し部802は、頂点位置情報n=1に対応する左上フラグを調べる。ここで、左上フラグ=1であるため、頂点データ読出し部802は、次アドレスのアドレス値=28を切替アドレスとして頂点データアドレス決定部801に送る。
これを受けて、頂点データアドレス決定部801は、2回目は、アドレスA=28、頂点位置情報n=1を頂点データ読出し部802に送る。頂点データ読出し部802は、頂点データメモリ805のアドレス28のデータを読出し、そのX16及びY16を双線形補間用頂点データ記憶部803に送る。また、頂点データ読出し部802は、頂点位置情報n=1に対応する左上フラグを調べ、ここでも、左上フラグ=1のため、次アドレスのアドレス値=31を切替アドレスとして頂点データアドレス決定部801に送る。
これを受けて、頂点データアドレス決定部801は、3回目は、アドレスA=31、頂点位置情報n=1を頂点データ読出し部802に送る。頂点データ読出し部802は、頂点データメモリ805のアドレス31のデータを読出し、そのX21及びY21を双線形補間用頂点データ記憶部803に送る。また、頂点データ読出し部802は、頂点位置情報n=1に対応する左上フラグを調べ、ここでも左上フラグ=1であるため、次アドレスのアドレス値=32を切替アドレスとして頂点データアドレス決定部801に送る。
これを受けて、頂点データアドレス決定部801は、4回目は、アドレスA=32、頂点位置情報n=1を頂点データ読出し部802に送る。頂点データ読出し部802は、頂点データメモリ805のアドレス32のデータを読出し、そのX28及びY28を双線形補間用頂点データ記憶部803に送る。ここで、n=1の処理は終了となる。
結局、頂点データアドレス決定部801と頂点データ読出し部802で4回処理を繰り返す過程で、ブロック11の頂点番号13に対応する頂点データは、X9及びY9→X16及びY16→X21及びY21→X28とY28と遷移し、最終的にX28及びY28に確定する。これにより、図5の不連続点が解消される。
(2) 頂点番号14の処理
頂点データアドレス決定部801は、アドレスA=V=14、頂点位置情報n=2を頂点データ読出し部802に送る。頂点データ読出し部802は、頂点データメモリ805からアドレス14のデータを読出し、そのX17及びY17を双線形補間用頂点データ記憶部803に送る。また、頂点データ読出し部802は、頂点位置情報n=2に対応する右上フラグを調べ、ここでは右上フラグ=1であるため、次アドレスのアドレス値=33を切替アドレスとして頂点データアドレス決定部801に送る。
これを受けて、頂点データアドレス決定部801は、2回目は、アドレスA=33、頂点位置情報n=2を頂点データ読出し部802に送る。頂点データ読出し部802は、頂点データメモリ805のアドレス33のデータを読出し、そのX29及びY29を双線形補間用頂点データ記憶部803に送る。また、頂点データ読出し部802は、頂点位置情報n=2に対応する右上フラグを調べ、ここでは右上フラグ=0のため、切替アドレス=0を頂点データアドレス決定部801に送る。
これを受けて、頂点データアドレス決定部801は、3回目は、前回と同じアドレスA=33、頂点位置情報n=2を頂点データ読出し部802に送る。頂点データ読出し部802は、再度、頂点データメモリ805のアドレス33のデータを読出し、2回目と同じ処理を実行する。
頂点データアドレス決定部801は、4回目も、前回と同じアドレスA=33、頂点位置情報n=2を頂点データ読出し部802に送る。頂点データ読出し部802は、頂点データメモリ805のアドレス33のデータを読出し、3回目と同じ処理を実行する。
結局、頂点データアドレス決定部801と頂点データ読出し部802で4回繰り返す過程で、ブロック11の頂点番号14に対応する頂点データは、最初のX17,Y17からX29,Y29に変わり、最終的にX29,Y29に確定する。これにより、図5の不連続点が解消される。
(3) 頂点番号18の処理
頂点データアドレス決定部801は、アドレスA=V=18、頂点位置情報n=3を頂点データ読出し部802に送る。頂点データ読出し部802は、頂点データメモリ805からアドレス18のデータを読出し、そのX24及びY24を双線形補間用頂点データ記憶部803に送る。また、頂点データ読出し部802は、頂点位置情報n=3に対応する左下フラグを調べ、ここでは左下フラグ=1であるため、次アドレスのアドレス値=35を切替アドレスとして頂点データアドレス決定部801に送る。
これを受けて、頂点データアドレス決定部801は、2回目は、アドレスA=35、頂点位置情報n=3を頂点データ読出し部802に送る。頂点データ読出し部802は、頂点データメモリ805のアドレス35のデータを読出し、そのX31及びY31を双線形補間用頂点データ記憶部803に送る。また、頂点データ読出し部802は、頂点位置情報n=3に対応する左下フラグを調べ、ここでは左下フラグ=0のため、切替アドレス=0を頂点データアドレス決定部801に送る。
これを受けて、頂点データアドレス決定部801は、3回目は、前回と同じアドレスA=35、頂点位置情報n=3を頂点データ読出し部802に送る。頂点データ読出し部802は、頂点データメモリ805のアドレス35のデータを読出し、2回目と同じ処理を実行する。
頂点データアドレス決定部801は、4回目も、前回と同じアドレスA=35、頂点位置情報n=3を頂点データ読出し部802に送る。頂点データ読出し部802は、頂点データメモリ805のアドレス35のデータを読出し、3回目と同じ処理を実行する。
結局、頂点データアドレス決定部801と頂点データ読出し部802で4回処理を繰り返す過程で、ブロック11の頂点番号18に対応する頂点データは、最初のX24,Y24からX31,Y31に変わり、最終的にX31,Y31に確定する。これにより、図5の不連続点が解消される。
(4) 頂点番号19の処理
頂点データアドレス決定部801は、アドレスA=V=19、頂点位置情報n=4を頂点データ読出し部802に送る。頂点データ読出し部802は、頂点データメモリ805からアドレス19のデータを読出す。以後の処理は省略するが、頂点位置情報n=4に対応する右下フラグは0のため、結局、頂点データアドレス決定部801と頂点データ読出し部802では4回同じ処理を繰り返し、ブロック11の頂点番号19に対応する頂点データはX32,Y32に確定する。
以上、図5(a)の入力画像に対する図5(b)の出力画像(PbyP画像)において、一例としてブロック1、ブロック3及びブロック13の頂点データ確定処理について説明したが、他のブロックの頂点データの確定処理も容易に類推可能である。
なお、頂点データメモリ805は、図6のようなデータ構成に限らないことは云うまでもない。
ここでは、別の実施例として、図11(a)の入力画像について、図11(b)のようなPicture in Pictureの出力画像を得るとした場合の、頂点データメモリ805に格納されるデータの例を図12に示す。図12において、アドレス1〜25は、図6と同様に図4の頂点番号に対応する。また、アドレス26〜29は、重複する頂点について不連続点のデータを格納するのに割り当てられたアドレスを示す。X,Yは、図11(a)の入力画像の対応する頂点に記した番号iに対応している。ここでも、画像サイズは640×480としているので、1≦X座標値≦640、1≦Y座標値≦480である。左上フラグ、右上フラグ、左下フラグ、右下フラグ、次アドレスは、図6の場合と同じ意味を表わす。
頂点データアドレス決定部801及び頂点データ読出し部802の処理は、上記と同様であるが、図11(b)の例では、1つの頂点について、最大2回、処理を繰り返すだけでよい。
ここで、図12において、左上フラグ、右上フラグ、左下フラグ、右下フラグを全て無視すれば(すなわち、0と見立てる)、図11(c)の出力画像を得ることができる。すなわち、図12の一つのテーブルで2役をこなすことができ、テーブルの節約になる。
通常、頂点データメモリ805には、種々の画像変形に対応した種々のテーブル(ルックアップテーブル)が格納されており、外部からの指示により必要なテーブルが選択されることになる。
なお、図2において、頂点データアドレス決定部801は、着目しているブロックの各頂点について、最初に決定されたアドレスを頂点位置情報と共に1度だけ頂点データ読出し部802に送信し、以後は、頂点データ読出し部802が、フラグと次アドレスを基に必要な回数だけ頂点データメモリ805からのデータ読出しを繰り返して、当該ブロックの各頂点の頂点データを決定することでもよい。これにより、頂点データアドレス決定部801と頂点データ読出し部802との間で必要な情報の送受信は1回ですむ。
10 同期信号生成部
20 撮像素子
30 A/D変換部
40 ベイヤー補間部
50 画像バッファ部
60 画像読出し部
70 D/A変換部
80 画像変形部
801 頂点データアドレス決定部
802 頂点データ読出し部
803 双線形補間用頂点データ記憶部
804 双線形補間演算部
805 頂点データ記憶部
特開2009−010730号公報

Claims (11)

  1. 出力画像を複数のブロックに区切り、各ブロックの頂点ごとに、該頂点に対応する入力画像上の座標値を記憶した頂点データメモリを予め用意し、該頂点データメモリを参照して、任意の出力画素に対応する入力画像上の座標値を補間演算することで、入力画像に対して所望の画像変形された出力画像を取得する画像処理方法であって、
    前記頂点データメモリは、少なくとも一部のブロックの少なくとも一部の頂点について、入力画像上の複数の座標値を記憶し、該複数の座標値から一つの座標値を選択して補間演算に利用することを特徴とする画像処理方法。
  2. 前記複数の座標値は、前記頂点データメモリ内のそれぞれ別のアドレスに記憶されていることを特徴とする請求項1に記載の画像処理方法。
  3. 前記頂点データメモリの各アドレスは、入力画像上の一つの座標値、別の座標値への参照アドレス、該参照アドレスの無効・有効を示すフラグを含むデータを記憶していることを特徴とする請求項2に記載の画像処理方法。
  4. 前記頂点データメモリの当該頂点に対応するアドレスのデータを読出し、そのフラグが参照アドレスの無効を示している場合には、当該アドレスの座標値を選択し、有効を示している場合には、その参照アドレスで示されるアドレスのデータを読出して、その座標値を選択することを特徴とする請求項3に記載の画像処理方法。
  5. 前記参照アドレスで示されるアドレスのデータを読み出して、そのフラグが参照アドレスの有効を示している場合には、さらに、該読み出したデータの参照アドレスで示されるアドレスのデータを読出し、以降、そのフラグが参照アドレスの無効を示しているまで繰り返すことを特徴とする請求項4に記載の画像処理方法。
  6. 前記フラグは、ブロックの左上頂点、右上頂点、左下頂点、右下頂点に対応した4つのフラグからなることを特徴とする請求項3乃至5のいずれか1項に記載の画像処理方法。
  7. 取得する出力画像によっては、読み出したデータのフラグを無視し、当該データの座標値を選択することを特徴とする請求項4乃至6のいずれか1項に記載の画像処理方法。
  8. 少なくとも1ブロックの4頂点に対応する入力画像上の4つの座標値を一時的に記憶するための補間演算用頂点データメモリを予め用意し、
    前記頂点データメモリを参照して、順次、処理対象ブロックの4頂点に対応する入力画像上の4つの座標値を選択して前記補間演算用頂点データメモリに記憶し、該補間演算用頂点データメモリに記憶された4つの座標値を用いて、順次、当該ブロック内の各出力画像に対応する入力画像上の座標値を補間演算することを特徴とする請求項1乃至7のいずれか1項に記載の画像処理方法。
  9. 前記頂点データメモリを参照して、処理対象ブロックの4頂点に対応する入力画像上の4つの座標値を選択して前記補間演算用頂点データメモリに記憶する処理と、該補間演算用頂点データメモリに記憶された4つの座標値を用いて、当該ブロック内の各出力画像に対応する入力画像上の座標値を補間演算する処理は、並列的に実行されることを特徴とする請求項8に記載の画像処理方法。
  10. 請求項1乃至9のいずれか1項に記載の画像処理方法を実施する画像処理装置。
  11. 光学系と、該光学系を通して撮像された光学像を電気信号に変換する撮像素子と、該撮像素子で変換された電気信号の入力画像を処理する請求項10に記載の画像処理装置とを有することを特徴とする画像撮像装置。
JP2010008185A 2010-01-18 2010-01-18 画像処理方法及び装置、並びに画像撮像装置 Expired - Fee Related JP5316811B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2010008185A JP5316811B2 (ja) 2010-01-18 2010-01-18 画像処理方法及び装置、並びに画像撮像装置
US12/976,547 US8462222B2 (en) 2010-01-18 2010-12-22 Image processing method and device, and imaging apparatus using the image processing device
EP10197353.5A EP2346240B1 (en) 2010-01-18 2010-12-30 Image processing method and device, and imaging apparatus using the image processing device
CN2011100235003A CN102164236B (zh) 2010-01-18 2011-01-17 图像处理方法、图像处理装置、以及摄像装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010008185A JP5316811B2 (ja) 2010-01-18 2010-01-18 画像処理方法及び装置、並びに画像撮像装置

Publications (2)

Publication Number Publication Date
JP2011147072A JP2011147072A (ja) 2011-07-28
JP5316811B2 true JP5316811B2 (ja) 2013-10-16

Family

ID=43970992

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010008185A Expired - Fee Related JP5316811B2 (ja) 2010-01-18 2010-01-18 画像処理方法及び装置、並びに画像撮像装置

Country Status (4)

Country Link
US (1) US8462222B2 (ja)
EP (1) EP2346240B1 (ja)
JP (1) JP5316811B2 (ja)
CN (1) CN102164236B (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101288378B1 (ko) * 2011-12-26 2013-07-22 주식회사 이미지넥스트 영상 변환 장치
KR102061233B1 (ko) * 2014-01-20 2020-01-02 삼성디스플레이 주식회사 표시 장치 및 집적 회로 칩
TWI573464B (zh) 2014-04-17 2017-03-01 Morpho Inc An image processing apparatus, an image processing method, an image processing program, and a recording medium
JP2017049742A (ja) * 2015-09-01 2017-03-09 キヤノン株式会社 画像処理方法、画像処理装置、ロボット装置、プログラム、及び記録媒体
CN105279732B (zh) * 2015-10-16 2018-08-31 福建天晴数码有限公司 一种运用于平面图像快速形变的方法及系统
CN111427501B (zh) * 2020-03-23 2021-07-23 广州视源电子科技股份有限公司 触控实现方法及交互智能设备

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7015954B1 (en) * 1999-08-09 2006-03-21 Fuji Xerox Co., Ltd. Automatic video system using multiple cameras
JP4772281B2 (ja) 2003-07-28 2011-09-14 オリンパス株式会社 画像処理装置及び画像処理方法
US7813585B2 (en) * 2003-07-28 2010-10-12 Olympus Corporation Image processing apparatus, image processing method, and distortion correcting method
WO2007023715A1 (en) 2005-08-25 2007-03-01 Ricoh Company, Ltd. Image processing method and apparatus, digital camera, and recording medium recording image processing program
WO2007061632A2 (en) * 2005-11-09 2007-05-31 Geometric Informatics, Inc. Method and apparatus for absolute-coordinate three-dimensional surface imaging
US7881563B2 (en) * 2006-02-15 2011-02-01 Nokia Corporation Distortion correction of images using hybrid interpolation technique
JP4657367B2 (ja) * 2007-05-09 2011-03-23 富士通セミコンダクター株式会社 画像処理装置、撮像装置、および画像歪み補正方法
JP2009010730A (ja) * 2007-06-28 2009-01-15 Kyocera Corp 画像処理方法と該画像処理方法を用いた撮像装置
WO2009013845A1 (ja) * 2007-07-20 2009-01-29 Techwell Japan K.K. 画像処理装置及びカメラシステム
JP5135953B2 (ja) * 2007-08-28 2013-02-06 コニカミノルタアドバンストレイヤー株式会社 画像処理装置、画像処理方法、及び撮像装置
JP5128207B2 (ja) * 2007-08-31 2013-01-23 シリコン ヒフェ ベー.フェー. 画像処理装置及び画像処理方法、画像処理プログラム
JP5277751B2 (ja) 2008-06-26 2013-08-28 パナソニック株式会社 電池電圧低下検出装置
JP5593060B2 (ja) * 2009-11-26 2014-09-17 株式会社メガチップス 画像処理装置、および画像処理装置の動作方法

Also Published As

Publication number Publication date
CN102164236B (zh) 2013-10-30
EP2346240A3 (en) 2014-01-29
CN102164236A (zh) 2011-08-24
US8462222B2 (en) 2013-06-11
EP2346240A2 (en) 2011-07-20
US20110176732A1 (en) 2011-07-21
JP2011147072A (ja) 2011-07-28
EP2346240B1 (en) 2018-06-06

Similar Documents

Publication Publication Date Title
JP5376313B2 (ja) 画像処理装置及び画像撮像装置
JP5316811B2 (ja) 画像処理方法及び装置、並びに画像撮像装置
KR100873880B1 (ko) 화상 처리 장치 및 화상 처리 방법
TW200839734A (en) Video compositing device and video output device
KR20090050080A (ko) 화상 처리 장치, 화상 처리 방법 및 프로그램
JP2007293457A (ja) 画像処理装置
JP3962928B2 (ja) 画像データの変換方法および変換回路と、撮像装置
JP6750847B2 (ja) 画像処理装置およびその制御方法並びにプログラム
JP3178665B2 (ja) 画像サイズ変換方法とそのための装置
JP5521641B2 (ja) 画像処理用データの圧縮方法および圧縮装置とこれを備えた撮像装置
JP2011066498A (ja) 画像処理装置及び車載用撮像システム
JP2004199350A (ja) 画像歪み補正装置及び画像歪み補正方法
JP2002278507A (ja) 画像処理装置および画像表示装置
JP2007020112A (ja) 映像信号処理装置、映像信号処理方法および撮像装置
CN111768341B (zh) 一种图像处理方法及图像处理装置
JP2011061588A (ja) 画像処理装置、画像処理方法及び車載カメラ装置
JP2001155673A (ja) 走査型電子顕微鏡
JP2011004019A (ja) 動画像処理装置、動画像処理装置の制御方法、プログラム及び記録媒体
JP4677799B2 (ja) 画像処理装置及び画像処理方法
JP2005242675A (ja) 画像サイズ縮小処理方法及び画像サイズ拡大処理方法
JP2005012346A (ja) ビデオカメラ装置及びそれに用いられる走査変換回路
JPH05292393A (ja) 動画編集処理方式
WO2012077544A1 (ja) 画像処理方法及び撮像装置
JP2601138B2 (ja) ビデオ表示装置
JP2013187630A (ja) 画像処理装置及び方法、並びに撮像装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20121009

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130516

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: 20130612

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130625

R151 Written notification of patent or utility model registration

Ref document number: 5316811

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20130801

LAPS Cancellation because of no payment of annual fees