JP2010176547A - 画像処理装置に含まれる制御装置、制御方法、及び制御処理プログラム - Google Patents

画像処理装置に含まれる制御装置、制御方法、及び制御処理プログラム Download PDF

Info

Publication number
JP2010176547A
JP2010176547A JP2009020487A JP2009020487A JP2010176547A JP 2010176547 A JP2010176547 A JP 2010176547A JP 2009020487 A JP2009020487 A JP 2009020487A JP 2009020487 A JP2009020487 A JP 2009020487A JP 2010176547 A JP2010176547 A JP 2010176547A
Authority
JP
Japan
Prior art keywords
data
pixel
input image
block
output image
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
JP2009020487A
Other languages
English (en)
Inventor
Yoshitaka Tsuji
佳孝 辻
Koji Inagaki
孝次 稲垣
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.)
Dai Nippon Printing Co Ltd
Original Assignee
Dai Nippon Printing 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 Dai Nippon Printing Co Ltd filed Critical Dai Nippon Printing Co Ltd
Priority to JP2009020487A priority Critical patent/JP2010176547A/ja
Publication of JP2010176547A publication Critical patent/JP2010176547A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Image Processing (AREA)
  • Studio Devices (AREA)

Abstract

【課題】メモリアクセスに要する時間を短縮し、魚眼画像等を平面画像に迅速に変換することが可能な画像処理装置に含まれる制御装置、制御方法、及び制御処理プログラムを提供する。
【解決手段】広角レンズを用いて撮像された入力画像のデータを格納する入力画像フレームメモリと、入力画像を所定の大きさに分割した複数のブロックのうち、全ブロック数よりも少ない数のブロックのデータを格納するキャッシュメモリと、対象物を面に投影した出力画像のデータを格納する出力画像フレームメモリとを備える画像処理装置に含まれる制御装置であり、出力画像における画素に対応する入力画像における特定された画素が含まれるブロックのデータがキャッシュメモリに格納されていない場合、入力画像フレームメモリから当該ブロックのデータを取得し、キャッシュメモリに格納させ、対応するキャッシュメモリから取得し出力画像における画素データに変換する。
【選択図】図1

Description

広角レンズ(例えば、魚眼レンズ)又は全方位ミラーを用いて撮像された入力画像を例えば平面に投影した出力画像に変換する画像処理装置及び方法等の技術分野に関する。
従来から、例えば魚眼カメラにより撮像された魚眼画像を、表示用の平面画像に変換し出力する魚眼補正処理を行う装置が知られている(例えば、特許文献1)。
この魚眼補正処理においては、例えば魚眼カメラから入力された魚眼画像が入力画像フレームメモリに格納され、次に、出力結果として得たい画像(サイズ:m×n)の各画素が入力画像のどの位置に対応しているかが演算され、当該演算により求められた入力画像座標上に位置している画素が入力画像フレームメモリから取得され、これが出力画像フレームメモリに格納されるようになっている。この処理が出力画像の全画素に対してラスター順に繰り返し行われることで、最終的に所望の補正画像が得られる。
特開2000-235645号公報
しかしながら、従来の魚眼補正処理では、入力画像における画素を取得する際に行うメモリアクセスに要する時間は長く、システム全体のボトルネックになるという問題があった。
そこで、本発明は、このような問題等に鑑みてなされたものであり、メモリアクセスに要する時間を短縮し、魚眼画像等を平面画像等に迅速に変換することが可能な画像処理装置に含まれる制御装置、制御方法、及び制御処理プログラムを提供することを課題の一つとする。
上記課題を解決するために、請求項1に記載の発明は、広角レンズ(例えば、魚眼レンズ)又は全方位ミラーを用いて撮像された入力画像のデータを格納するための入力画像フレームメモリと、前記入力画像を所定の大きさに分割した複数のブロックのうち、全ブロック数よりも少ない数のブロックのデータを格納するためのキャッシュメモリと、前記入力画像に基づき対象物を面(平面又は曲面)に投影した出力画像のデータを格納するための出力画像フレームメモリと、を備える画像処理装置に含まれる制御装置であって、前記出力画像における一の画素に対応する、前記入力画像における画素を特定する特定処理、前記特定された画素が含まれる前記ブロックのデータが前記キャッシュメモリに格納されていない場合に、前記入力画像フレームメモリから当該ブロックのデータを取得し当該ブロックのデータを前記キャッシュメモリに格納させる第一格納処理、前記特定された画素のデータを前記キャッシュメモリから取得し前記出力画像における画素のデータに変換する変換処理、及び、前記変換された画素のデータを前記出力画像フレームメモリに格納させる第二格納処理、を前記出力画像における全ての画素に対して順次実行することを特徴とする。
請求項2に記載の発明は、請求項1に記載の制御装置において、前記特定処理は、前記出力画像における一の画素の座標に対応する、前記入力画像における画素の座標を算出することにより、前記入力画像における画素を特定するものであって、当該入力画像における画素の座標が整数値でない場合、前記変換処理においては、当該座標の近傍に位置する複数の画素のデータを前記キャッシュメモリから取得し、当該データを用いて補間演算を行うことにより、前記出力画像における画素のデータに変換することを特徴とする。
請求項3に記載の発明は、請求項1又は2に記載の制御装置において、前記入力画像を構成する前記ブロック毎に、当該ブロックに含まれる各画素のデータが前記入力画像フレームメモリ上において1ラインに収まるように格納されることを特徴とする。
請求項4に記載の発明は、請求項1乃至3の何れか一項に記載の制御装置において、前記特定処理においては、前記出力画像を所定の大きさに分割した各ブロックをブロック単位のラスター順に着目すると共に、当該着目したブロックに含まれる各画素を画素単位のラスター順に着目し、当該着目した画素毎に前記入力画像における画素を特定することを特徴とする。
請求項5に記載の発明は、請求項1乃至4の何れか一項に記載の制御装置において、前記入力画像は、魚眼画像であることを特徴とする。
請求項6に記載の発明は、広角レンズ(例えば、魚眼レンズ)又は全方位ミラーを用いて撮像された入力画像のデータを格納するための入力画像フレームメモリと、前記入力画像を所定の大きさに分割した複数のブロックのうち、全ブロック数よりも少ない数のブロックのデータを格納するためのキャッシュメモリと、前記入力画像に基づき対象物を面に投影した出力画像のデータを格納するための出力画像フレームメモリと、を備える画像処理装置に含まれる制御方法であって、前記出力画像における一の画素に対応する、前記入力画像における画素を特定する特定ステップ、前記特定された画素が含まれる前記ブロックのデータが前記キャッシュメモリに格納されていない場合に、前記入力画像フレームメモリから当該ブロックのデータを取得し当該ブロックのデータを前記キャッシュメモリに格納させる第一格納ステップ、前記特定された画素のデータを前記キャッシュメモリから取得し前記出力画像における画素のデータに変換する変換ステップ、及び、前記変換された画素のデータを前記出力画像フレームメモリに格納させる第二格納ステップ、を前記出力画像における全ての画素に対して順次実行することを特徴とする。
請求項7に記載の制御処理プログラムの発明は、コンピュータを、請求項1乃至5の何れか一項に記載の制御装置として機能させることを特徴とする。
本発明によれば、入力画像を所定の大きさのブロック単位に分割し、ブロック単位でのデータアクセスを行い、読み込んだブロックのデータをキャッシュメモリに格納しておき、当該キャッシュメモリから画素のデータを取得して出力画像を生成するように構成したので、メモリアクセスに要する時間を短縮し、魚眼画像等の入力画像を平面画像等に迅速に変換することができる。
本実施形態に係る画像処理装置の構成例を示す図である。 出力画像における一画素に対応する、入力画像における一画素を示す図である。 ブロック単位に分割された入力画像の一例を示す概念図である。 出力画像のあるラインを生成するために、入力画像フレームメモリ13上に存在する入力画像における画素の取得の様子を示す図である。 入力画像が入力画像フレームメモリ13に格納される際の様子を示す図である。 従来例において、出力画像における各画素に対応する、入力画像における各画素のデータの取得順序を示す図である。 本実施例において、出力画像における各画素に対応する、入力画像における各画素のデータの取得順序を示す図である。 LSI回路12により実行される魚眼補正処理の一例を示すフローチャートである。
以下、図面を参照して本発明の実施形態について詳細に説明する。以下に説明する実施形態は、画像処理装置に対して本発明を適用した場合の実施の形態である。
[1.画像処理装置の構成及び機能概要]
先ず、本実施形態に係る画像処理装置の構成及び機能概要について、図1等を用いて説明する。
図1は、本実施形態に係る画像処理装置の構成例を示す図である。
図1に示すように、画像処理装置1は、ホストコントローラ11と、制御装置の一例としてのLSI(Large Scale Integration)回路12と、魚眼レンズ(広角レンズの一例)を用いて撮像された入力画像のデータを格納するための入力画像フレームメモリ(フレームバッファ)13と、当該入力画像に基づき対象物を平面(曲面であってもよいが、本実施形態においては、平面を例にとる)に投影した出力画像のデータを格納するための出力画像フレームメモリ14等を備えて構成されている。
ホストコントローラ11は、入力画像としての魚眼画像に対する補正処理(魚眼補正処理)の切り出し位置、切り出し画像サイズ、倍率に応じた魚眼補正演算に必要な各パラメータの算出及び設定を行う。
LSI回路12は、魚眼補正演算回路121、入力画像フレームメモリコントローラ122、キャッシュメモリ123、画像補間回路124、及び出力画像フレームメモリコントローラ125を備えている。
魚眼補正演算回路121は、ホストコントローラ11により設定されたパラメータを基に、出力画像(つまり、結果として得られるべき平面画像領域)における各画素に対応する、入力画像(魚眼画像)における各画素を特定するために、当該出力画像の各画素の入力画像における対応座標(X,Y)を算出する。図2は、出力画像における一画素に対応する、入力画像における一画素を示す図である。
例えば、魚眼画像を撮像するための魚眼レンズの仮想球面上の任意点で接する平面が定義され、当該平面上における各座標が公知の座標変換により、魚眼画像における各座標に変換されて上記対応座標(X,Y)が算出される。
入力画像フレームメモリコントローラ122は、魚眼レンズを装着したカメラモジュール等からの入力画像のデータを入力画像フレームメモリ13に格納する。また、入力画像フレームメモリコントローラ122は、魚眼補正演算回路121により算出された対応座標(X,Y)における画素のデータ(ここでは、R(赤),G(緑),B(青)の夫々の輝度を示すデータ)を、入力画像フレームメモリ13に格納されたフレーム画像から、キャッシュメモリ123を介して取得し、画像補間回路124に送る。
画像補間回路124は、キャッシュメモリ123からの画素のデータを出力画像における画素のデータに変換し、出力画像フレームメモリコントローラ125に送る。
ここで、魚眼補正演算回路121により算出された対応座標が整数値である場合、キャッシュメモリ123からの画素のデータは、そのまま、出力画像における画素のデータとされ、出力画像フレームメモリコントローラ125に送られる。一方、魚眼補正演算回路121により算出された対応座標は必ずしも整数値となるわけでは無いため、当該対応座標が整数値でない場合、画像補間回路124は、入力画像フレームメモリコントローラ122を通じて、当該対応座標の近傍に位置する複数の画素のデータをキャッシュメモリ123から取得し、当該データを用いて補間演算(例えば、バイリニア法やバイキュービック法などの公知の補間演算)を行うことにより、出力画像における画素のデータに変換し、当該変換したデータを出力画像フレームメモリコントローラ125に送る。
出力画像フレームメモリコントローラ125は、画像補間回路124からの画素のデータを出力画像フレームメモリ14に格納させる。
以上の処理が、出力画像における全ての画素に対して順次実行、例えばラスター順に繰り返し行われることで、出力画像フレームメモリ14上に出力画像が構築され、外部デバイス(モニター、レコーダ等)に合わせフレームデータが出力される。例えばモニター等へ出力される場合、出力画像フレームメモリコントローラ125は、フレームデータを2枚持ち、既に補間済みのフレームデータを垂直、水平同期信号とともに出力しながら、次フレーム画像を構築することになる。
[2.LSI回路12の機能詳細]
次に、LSI回路12の機能詳細について説明する。
(2−1. キャッシュメモリの利用方法)
先ず、キャッシュメモリ123の利用方法について、図3等を用いて説明する。
図3は、ブロック単位に分割された入力画像の一例を示す概念図である。
前述のように、メモリアクセスは長い時間を必要とするため、システムの高速化のためにはメモリアクセスの回数を極力減らす必要がある。メモリアクセスを効率的に行うための手段の一つに、一度のアクセスで複数のデータのやり取りを行うバースト転送機能が知られているが、魚眼補正処理の際のデータ取得においては、出力画像(平面画像)における1ライン(1行)上に並ぶ各画素に対応する、入力画像(魚眼画像)における各画素は1ライン上に並ばない(言い換えれば、連続したアドレスにはならない)ことが多く、入力画像フレームメモリ13へのアクセス時のロウアドレス(Row Address)は頻繁に変わるため、そのままでは効果的に利用することはできない。
このため、本発明では、図3に示すように、入力画像を所定の大きさのブロック単位に分割し、ブロック単位(この例では、1ブロックが8×8の画素により構成)でのデータアクセスを行い、また一度読み込んだブロックのデータをキャッシュメモリ123に格納(登録)することでメモリアクセスに要する時間の短縮を実現する。なお、キャッシュメモリ123には、記憶容量の関係上、分割された入力画像の全ブロックが格納されるのではなく、当該全ブロック数よりも少ない数のブロックのデータが格納される。
ここで、ブロック単位でのデータアクセスに関する実施例を、図4を用いて説明する。
図4は、出力画像のあるラインを生成するために、入力画像フレームメモリ13上に存在する入力画像における画素の取得の様子を示す図であり、図4(a)内の矢印の始点から終点までに位置する画素のデータが取得されるものとする。
先ず、入力画像フレームメモリコントローラ122は、魚眼補正演算回路121により算出された対応座標(X,Y)における最初の画素として、例えば図4(b)内の“1”と記されている画素を特定し当該画素の取得を試みる。この際、特定された目的の画素が含まれる1-2ブロック(図4(a)参照)のデータがキャッシュメモリ123に格納されている場合、入力画像フレームメモリコントローラ122は、当該キャッシュメモリ123から当該画素のデータを取得する。この場合、入力画像フレームメモリコントローラ122から入力画像フレームメモリ13へのメモリアクセスを行わずに済むため、画素のデータ取得に要する時間を大幅に短縮できる。
一方、上記特定された画素が含まれる1-2ブロックのデータがキャッシュメモリ123に格納されていない場合、入力画像フレームメモリコントローラ122は、入力画像フレームメモリ13から当該1-2ブロックのデータを取得し(読み込み)、当該ブロックのデータをキャッシュメモリ123に格納させた後、当該キャッシュメモリ123から上記特定された画素のデータを取得する。
最初の画素のデータが取得された後、引き続き、例えば図4(b)内に記された番号の順(2→3→4→5・・・の順に)に画素のデータを取得する必要があるが、これらの画素が含まれる1-2ブロックのデータは既にキャッシュメモリ123に格納されているため、メモリアクセスをせずに、キャッシュメモリ123からこれらの画素のデータを取得することができる。
取得対象となる目的の画素が1-2ブロックから2-2ブロックに、またその他のブロックに移っても、同様に対象ブロックのデータがキャッシュメモリ123に格納されていれば、入力画像フレームメモリコントローラ122は、当該キャッシュメモリ123から目的の画素のデータを取得し、キャッシュメモリ123に格納されていなければ、対象ブロック毎に、そのデータを入力画像フレームメモリ13から読み込みキャッシュメモリ123に格納するという動作を繰り返す。この際、上述したように、魚眼補正演算回路121による演算により求められた対応座標(取得画素座標)が必ずしも整数値ではないため、必要に応じて、複数の画素のデータがキャッシュメモリ123から取得され、補間演算処理が行われる。また、キャッシュメモリ123に所定数以上のブロック(キャッシュ)が格納される場合には、現在格納されているブロックの中で一番古いブロックのデータが上書きされる。なお、格納されるブロックの個数としては、画像補間回路124による補間演算処理を考慮すると、4個以上が望ましい。
このようにブロック単位のキャッシュを利用することで、個々の画素のデータを入力画像フレームメモリ13から取得する場合に比べ、大きくメモリアクセスの回数を減らすことができる。
(2−2. 入力画像フレームメモリへのデータ格納方法)
次に、入力画像フレームメモリ13へのデータ格納方法について、図5を用いて説明する。
図5は、入力画像が入力画像フレームメモリ13に格納される際の様子を示す図である。
上述したように、本発明では、入力画像フレームメモリ13からブロック単位で画素のデータの読み込みを行うが、入力画像における各画素のデータをラスター順にそのまま入力画像フレームメモリ13に格納した場合、ブロック単位のデータを入力画像フレームメモリ13から読み込む際に、複数回のメモリアクセスが必要となってしまう。
そこで、本発明では、入力画像を構成するブロック毎に、当該ブロックに含まれる各画素のデータが入力画像フレームメモリ13上において1ラインに収まるように格納されるように構成した。
入力画像フレームメモリコントローラ122は、カメラモジュール等からの入力画像を入力画像フレームメモリ13に格納する際に、図5(a),(b)に示すように、同じブロック(例えば、0-0ブロック)に含まれる画素(例えば、(0,0), (1,0),・・・(7,0),(0,1)・・・)のデータが、図5(c),(d)に示すように、1ラインに収まるように格納する。これにより、入力画像フレームメモリコントローラ122は、バースト転送を利用した一度のメモリアクセスで1ブロックのデータを入力画像フレームメモリ13から読み込みキャッシュメモリ123に格納することができる。
(2−3.入力画像フレームメモリからのデータ取得順序)
次に、入力画像フレームメモリ13からのデータ取得順序について、図6及び図7等を用いて説明する。
図6及び図7は、出力画像における各画素に対応する、入力画像における各画素のデータの取得順序を示す図であり、図6は従来例、図7は本実施例を示している。
魚眼補正等の画像変形・変換を行う場合、図6(a)に示すように、出力画像のラスター順(矢印順)に、当該画像における各画素に対応する画素のデータを、入力画像を格納している入力画像フレームメモリ13から読み出すことで、出力画像を得る方法が一般的である。
この際、図6に示すように、出力画像のあるラインとそのラインの前後に位置する数ラインに対応する入力画像上の画素は近い場所に位置することが多い。つまり、上述したように、入力画像から画素のデータを取得する際にブロック単位のキャッシュを利用する場合、あるラインとその前後数ラインに対応する画素のデータを取得する際には、同じブロックを必要とする可能性が高い(図6(b))。
しかし、キャッシュとして格納(保持)できるブロック数は有限であるため、出力画像のラスター順に入力画像から画素のデータを取得する場合、あるラインで一度読み込んだブロックのデータは、そのラインの処理中に別ブロックのデータに上書きされてしまうという問題がある。
例えば、キャッシュメモリ123が格納できる最大ブロック数が3とし、図6の場合を考えると、出力画像上の(1)ラインに対応する画素のデータを取得するために、入力画像上の(1)ラインの始点から終点に沿って画素のデータを取得する時、キャッシュメモリ123には、入力画像におけるブロックA,B,Cという順番に画素のデータが格納されていく。そして、ブロックDのデータが必要となった場合、ブロックAのデータが上書きされ、ブロックDのデータが格納される。次に、ブロックEのデータが必要となった場合にはブロックBのデータが上書きされ、ブロックEのデータが格納される。
そして、(1)ライン上の画素のデータが全て取得され、(2)ライン上の画素のデータの取得に移った場合、再びブロックAのデータが必要となるが、既にブロックAのデータは上書きされており、再び入力画像フレームメモリ13から読み込む必要があり、一度入力画像フレームメモリ13から読み出したデータを再度読み出すという無駄が生じる。なお、本実施例では、キャッシュの更新は、その時点で一番古いキャッシュを対象としていたが、キャッシュの更新方法はこの限りではない。
そこで、本発明では、出力画像(つまり、結果として得られるべき出力画像領域)を所定の大きさに分割し、分割した各ブロックをブロック単位のラスター順に着目すると共に、当該着目したブロックに含まれる各画素をラスター順に着目して、当該着目した画素に対応する、入力画像における画素を特定、そのデータを取得するように構成した。
例えば、図7(a)に示すように、先ず、出力画像におけるブロックaが着目され、当該ブロックaに含まれる各画素がラスター順(図7(a)の矢印順)に着目されつつ、当該画素に対応する、入力画像における画素が入力画像フレームメモリ13から取得されキャッシュメモリ123に格納される。
そして、ブロックa内の全画素に対応する画素が入力画像から取得されブロックaが終了したら、図7(a)に示すブロックb,c,d,e,・・・,lという順番で、これらのブロック内の画素に対応する画素のデータが入力画像から取得されていく。これにより、取得される画素が連続して同じブロック上に位置する確率が高まるため、結果的に、出力画像を生成するのに要するブロックのデータを読みだす回数が減少し、メモリアクセスに要する時間を短縮することができる。
例えば、入力画像フレームメモリコントローラ122は、先ず、出力画像におけるブロックaに含まれる画素に対応する画素のデータを、図7(b)に示す入力画像におけるブロックA及びBから取得し、当該ブロックaに含まれる画素のデータを全て取得し終えたら、次に、出力画像におけるブロックbに含まれる画素に対応する画素のデータを入力画像におけるブロックB及びCから取得する。同様にして、出力画像におけるブロックc,dに含まれる画素に対応する画素のデータが入力画像におけるブロックC,D,Eから取得される。
ここで、キャッシュメモリ123が格納できる最大ブロック数を3とすると、上述したようにブロック単位で入力画像から画素のデータを取得する方法では、同一のブロックに含まれる画素のデータを複数回読みだすことなく、出力画像の3ライン分の画素のデータを取得することができる。
[3.LSI回路12における魚眼補正処理]
次に、LSI回路12により実行される魚眼補正処理について、図8を用いて説明する。
図8は、LSI回路12により実行される魚眼補正処理の一例を示すフローチャートである。なお、以下の説明において、出力画像をブロック分割する際の1ブロックのサイズを(i×j)、ブロック分割した結果の横方向、縦方向のブロック数をそれぞれm+1,n+1とする。
図8に示す処理は、例えばホストコントローラ11からの開始指令により開始される。
先ず、入力画像フレームメモリコントローラ122は、カメラモジュール等から入力画像のデータを取り込み、入力画像フレームメモリ13に格納する(ステップS1)。この際、ブロック単位のデータが1ライン上に配置されるように、入力画像フレームメモリ13に格納される。
次いで、入力画像フレームメモリコントローラ122は、出力画像における縦方向ブロック位置Y(Y=1〜n+1までの何れかの値)を決定し(ステップS2)、当該出力画像における横方向ブロック位置X(X=1〜m+1までの何れかの値)を決定する(ステップS3)。これにより、着目するブロックが決定される。かかるステップS2,S3の処理が繰り返されることで、「2−3.入力画像フレームメモリからのデータ取得順序」で述べたように、出力画像における各ブロックがブロック単位のラスター順に着目される(つまり、左端から右端方向へブロックを順次着目し右端のブロックまで到達したら、一段下の、且つ、左端のブロックに移行し、これを繰り返す)ことになる。
次いで、入力画像フレームメモリコントローラ122は、上記ステップS2及びS3の処理により着目したブロック内における縦方向座標y(y=1〜jまでの何れかの値)を決定し(ステップS4)、当該ブロック内における横方向座標x(x=1〜iまでの何れかの値)を決定する(ステップS5)。これにより、上記着目されたブロック内に含まれる1画素が着目される。かかるステップS4,S5の処理が繰り返されることで、「2−3.入力画像フレームメモリからのデータ取得順序」で述べたように、上記着目されたブロックに含まれる各画素が画素単位のラスター順に着目されることになる。
こうして、着目された画素の座標(x,y)等の情報は魚眼補正演算回路121に送られ、当該魚眼補正演算回路121は、当該着目された画素の座標(x,y)に対応する、入力画像における画素の対応座標(X,Y)を上述したように算出する(ステップS6)。これにより、上記着目された画素に対応する、入力画像における画素が特定される。
次いで、入力画像フレームメモリコントローラ122は、上記特定された、入力画像における画素が含まれるブロック(入力画像におけるブロック)のデータがキャッシュメモリ123に格納されているか否かを判別し(ステップS7)、当該ブロックのデータがキャッシュメモリ123に格納されていない場合には(ステップS7:NO)、ステップS8に進み、当該ブロックのデータがキャッシュメモリ123に格納されている場合には(ステップS7:YES)、ステップS10に進む。
ステップS8では、入力画像フレームメモリコントローラ122は、上記特定された、入力画像における画素が含まれるブロックのデータを、入力画像フレームメモリ13から取得して(読み込む)キャッシュメモリ123に格納し(ステップS9)、ステップS10に進む。
ステップS10では、入力画像フレームメモリコントローラ122は、上記特定された、入力画像における画素のデータを、キャッシュメモリ123から取得し、画像補間回路124に送る。
次いで、画像補間回路124は、上記特定された、入力画像における画素のデータを、出力画像における画素のデータに変換(ステップS11)、つまり、魚眼補正演算回路121により算出された対応座標が整数値である場合、キャッシュメモリ123から取得された画素のデータは、そのまま、出力画像における画素のデータとされ、当該対応座標が整数値でない場合、上述したように補間演算処理を行い、出力画像における画素のデータを得て、出力画像フレームメモリコントローラ125に送る。
次いで、出力画像フレームメモリコントローラ125は、上記画素のデータを出力画像フレームメモリ14に格納する(ステップS12)。
以上のステップS2〜S12までの処理が、図8に示すように繰り返し行われることで、最終結果としての出力画像が出力画像フレームメモリ14上に構築される。
そして、出力画像フレームメモリコントローラ125は、出力画像フレームメモリ14上に構築された出力画像に基づきフレームデータを作成し、これをモニター等の外部デバイスへ出力する(ステップS13)。こうして、上記魚眼補正処理により得られた出力画像が例えばモニター上に表示される。
なお、上記図8に示す魚眼補正処理は、LSI回路12内に実装されるハードウェア回路により行われるものであっても良いし、LSI回路12内に実装されるマイクロコンピュータが所定のプログラム(ソフトウェア)を実行することにより行われるものであっても良い。
以上説明したように、上記実施形態によれば、入力画像を所定の大きさのブロック単位に分割し、ブロック単位でのデータアクセスを行い、読み込んだブロックのデータをキャッシュメモリ123に格納しておき、当該キャッシュメモリ123から画素のデータを取得して出力画像を生成するように構成したので、メモリアクセスに要する時間を短縮し、魚眼画像等の入力画像を平面画像に迅速に変換することができる。
また、出力画像を所定の大きさに分割し、分割した各ブロックをブロック単位のラスター順に着目すると共に、当該着目したブロックに含まれる各画素をラスター順に着目して、当該着目した画素に対応する、入力画像における画素のデータをキャッシュメモリ123から取得するように構成したので、上述した態様において、一度入力画像フレームメモリ13から読み出したデータを再度読み出すという無駄を防止することができる。
なお、上記実施形態においては、魚眼レンズを用いて撮像された魚眼画像を例にとって説明したが、この他にも、例えば、全方位ミラーを用いて撮像された画像(対象物を湾曲した面に投影した画像)に対しても、本発明を適用することができる。
1 画像処理装置
11 ホストコントローラ
12 LSI回路
13 入力画像フレームメモリ
14 出力画像フレームメモリ
121 魚眼補正演算回路
122 入力画像フレームメモリコントローラ
123 キャッシュメモリ
124 画像補間回路
125 出力画像フレームメモリコントローラ

Claims (7)

  1. 広角レンズ又は全方位ミラーを用いて撮像された入力画像のデータを格納するための入力画像フレームメモリと、
    前記入力画像を所定の大きさに分割した複数のブロックのうち、全ブロック数よりも少ない数のブロックのデータを格納するためのキャッシュメモリと、
    前記入力画像に基づき対象物を面に投影した出力画像のデータを格納するための出力画像フレームメモリと、
    を備える画像処理装置に含まれる制御装置であって、
    前記出力画像における一の画素に対応する、前記入力画像における画素を特定する特定処理、
    前記特定された画素が含まれる前記ブロックのデータが前記キャッシュメモリに格納されていない場合に、前記入力画像フレームメモリから当該ブロックのデータを取得し当該ブロックのデータを前記キャッシュメモリに格納させる第一格納処理、
    前記特定された画素のデータを前記キャッシュメモリから取得し前記出力画像における画素のデータに変換する変換処理、及び、
    前記変換された画素のデータを前記出力画像フレームメモリに格納させる第二格納処理、
    を前記出力画像における全ての画素に対して順次実行することを特徴とする制御装置。
  2. 請求項1に記載の制御装置において、
    前記特定処理は、前記出力画像における一の画素の座標に対応する、前記入力画像における画素の座標を算出することにより、前記入力画像における画素を特定するものであって、
    当該入力画像における画素の座標が整数値でない場合、前記変換処理においては、当該座標の近傍に位置する複数の画素のデータを前記キャッシュメモリから取得し、当該データを用いて補間演算を行うことにより、前記出力画像における画素のデータに変換することを特徴とする制御装置。
  3. 請求項1又は2に記載の制御装置において、
    前記入力画像を構成する前記ブロック毎に、当該ブロックに含まれる各画素のデータが前記入力画像フレームメモリ上において1ラインに収まるように格納されることを特徴とする制御装置。
  4. 請求項1乃至3の何れか一項に記載の制御装置において、
    前記特定処理においては、前記出力画像を所定の大きさに分割した各ブロックをブロック単位のラスター順に着目すると共に、当該着目したブロックに含まれる各画素を画素単位のラスター順に着目し、当該着目した画素毎に前記入力画像における画素を特定することを特徴とする制御装置。
  5. 請求項1乃至4の何れか一項に記載の制御装置において、
    前記入力画像は、魚眼画像であることを特徴とする制御装置。
  6. 広角レンズ又は全方位ミラーを用いて撮像された入力画像のデータを格納するための入力画像フレームメモリと、
    前記入力画像を所定の大きさに分割した複数のブロックのうち、全ブロック数よりも少ない数のブロックのデータを格納するためのキャッシュメモリと、
    前記入力画像に基づき対象物を面に投影した出力画像のデータを格納するための出力画像フレームメモリと、
    を備える画像処理装置に含まれる制御方法であって、
    前記出力画像における一の画素に対応する、前記入力画像における画素を特定する特定ステップ、
    前記特定された画素が含まれる前記ブロックのデータが前記キャッシュメモリに格納されていない場合に、前記入力画像フレームメモリから当該ブロックのデータを取得し当該ブロックのデータを前記キャッシュメモリに格納させる第一格納ステップ、
    前記特定された画素のデータを前記キャッシュメモリから取得し前記出力画像における画素のデータに変換する変換ステップ、及び、
    前記変換された画素のデータを前記出力画像フレームメモリに格納させる第二格納ステップ、
    を前記出力画像における全ての画素に対して順次実行することを特徴とする制御方法。
  7. コンピュータを、請求項1乃至5の何れか一項に記載の制御装置として機能させることを特徴とする制御処理プログラム。
JP2009020487A 2009-01-30 2009-01-30 画像処理装置に含まれる制御装置、制御方法、及び制御処理プログラム Pending JP2010176547A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009020487A JP2010176547A (ja) 2009-01-30 2009-01-30 画像処理装置に含まれる制御装置、制御方法、及び制御処理プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009020487A JP2010176547A (ja) 2009-01-30 2009-01-30 画像処理装置に含まれる制御装置、制御方法、及び制御処理プログラム

Publications (1)

Publication Number Publication Date
JP2010176547A true JP2010176547A (ja) 2010-08-12

Family

ID=42707430

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009020487A Pending JP2010176547A (ja) 2009-01-30 2009-01-30 画像処理装置に含まれる制御装置、制御方法、及び制御処理プログラム

Country Status (1)

Country Link
JP (1) JP2010176547A (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012238118A (ja) * 2011-05-10 2012-12-06 Canon Inc 画像処理装置、画像処理方法、及びプログラム
JP2013186705A (ja) * 2012-03-08 2013-09-19 Mega Chips Corp データ転送装置およびデータ転送方法
JP2014035589A (ja) * 2012-08-07 2014-02-24 Hitachi Information & Telecommunication Engineering Ltd 魚眼画像の補正装置及び補正方法
JP2014186458A (ja) * 2013-03-22 2014-10-02 Toshiba Corp マイクロレンズアレイ認識処理装置
WO2015098721A1 (ja) * 2013-12-27 2015-07-02 大日本印刷株式会社 画像処理装置、画像処理方法、画像処理用プログラム、および、撮像装置
JP2017175498A (ja) * 2016-03-25 2017-09-28 日立オートモティブシステムズ株式会社 画像処理装置及び画像処理方法

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0737079A (ja) * 1993-06-25 1995-02-07 Matsushita Electric Works Ltd 画像歪み補正方法及び装置
JPH09245153A (ja) * 1996-03-06 1997-09-19 Dainippon Printing Co Ltd 画像処理装置
JPH11250238A (ja) * 1998-02-27 1999-09-17 Kyocera Corp ブロック単位でディストーション補正を行うディジタル撮像装置
JP2000339441A (ja) * 1999-05-28 2000-12-08 Kanda Tsushin Kogyo Co Ltd 座標変換装置
JP2001101396A (ja) * 1999-09-30 2001-04-13 Toshiba Corp 画像歪み補正処理装置および方法、並びに画像歪み補正処理を行うプログラムを格納した媒体
JP2002268624A (ja) * 2001-03-12 2002-09-20 Mega Chips Corp 画像補正装置および画像補正方法
JP2004064710A (ja) * 2002-07-31 2004-02-26 Fuji Photo Film Co Ltd 撮像装置及びディストーション補正方法
JP2005044098A (ja) * 2003-07-28 2005-02-17 Olympus Corp 画像処理装置及び画像処理方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0737079A (ja) * 1993-06-25 1995-02-07 Matsushita Electric Works Ltd 画像歪み補正方法及び装置
JPH09245153A (ja) * 1996-03-06 1997-09-19 Dainippon Printing Co Ltd 画像処理装置
JPH11250238A (ja) * 1998-02-27 1999-09-17 Kyocera Corp ブロック単位でディストーション補正を行うディジタル撮像装置
JP2000339441A (ja) * 1999-05-28 2000-12-08 Kanda Tsushin Kogyo Co Ltd 座標変換装置
JP2001101396A (ja) * 1999-09-30 2001-04-13 Toshiba Corp 画像歪み補正処理装置および方法、並びに画像歪み補正処理を行うプログラムを格納した媒体
JP2002268624A (ja) * 2001-03-12 2002-09-20 Mega Chips Corp 画像補正装置および画像補正方法
JP2004064710A (ja) * 2002-07-31 2004-02-26 Fuji Photo Film Co Ltd 撮像装置及びディストーション補正方法
JP2005044098A (ja) * 2003-07-28 2005-02-17 Olympus Corp 画像処理装置及び画像処理方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012238118A (ja) * 2011-05-10 2012-12-06 Canon Inc 画像処理装置、画像処理方法、及びプログラム
JP2013186705A (ja) * 2012-03-08 2013-09-19 Mega Chips Corp データ転送装置およびデータ転送方法
JP2014035589A (ja) * 2012-08-07 2014-02-24 Hitachi Information & Telecommunication Engineering Ltd 魚眼画像の補正装置及び補正方法
JP2014186458A (ja) * 2013-03-22 2014-10-02 Toshiba Corp マイクロレンズアレイ認識処理装置
WO2015098721A1 (ja) * 2013-12-27 2015-07-02 大日本印刷株式会社 画像処理装置、画像処理方法、画像処理用プログラム、および、撮像装置
JP2015128263A (ja) * 2013-12-27 2015-07-09 大日本印刷株式会社 画像処理装置、画像処理方法、画像処理用プログラム、および、撮像装置
JP2017175498A (ja) * 2016-03-25 2017-09-28 日立オートモティブシステムズ株式会社 画像処理装置及び画像処理方法

Similar Documents

Publication Publication Date Title
JP5593060B2 (ja) 画像処理装置、および画像処理装置の動作方法
JP5178961B2 (ja) 画像合成装置
JP2010176547A (ja) 画像処理装置に含まれる制御装置、制御方法、及び制御処理プログラム
JP5679763B2 (ja) 半導体集積回路及び全周囲映像システム
JP5602532B2 (ja) 画像処理装置および画像処理方法
JP5893445B2 (ja) 画像処理装置、および画像処理装置の動作方法
JP5735227B2 (ja) 画像変換装置及び画像変換システム
JP2010239596A (ja) 映像処理装置
JP2010108084A (ja) 画像処理装置
US10713757B2 (en) Image processing apparatus, control method thereof, and storage medium
JP2010081024A (ja) 画像補間処理装置
JP4432786B2 (ja) カメラ装置、画像処理方法
JP2014035589A (ja) 魚眼画像の補正装置及び補正方法
JP6295619B2 (ja) 画像処理装置及び方法、並びに電子機器
JP2018191154A (ja) 画像処理装置、画像処理方法及びプログラム
JP2010033507A (ja) メモリコントローラおよび画像処理装置
JP2012134626A (ja) 画像処理装置、画像処理方法、及び撮像装置
JP5959684B2 (ja) 画像変換システム
JP5387276B2 (ja) 画像処理装置及び画像処理方法
JP6273881B2 (ja) 画像処理装置、画像処理方法、及びプログラム
JP6440465B2 (ja) 画像処理装置、画像処理方法及びプログラム
JP2018005389A (ja) 画像変形回路、画像処理装置、及び画像変形方法
JP6467940B2 (ja) 画像処理装置、画像処理方法及びプログラム
JP2017228849A (ja) 画像処理装置、撮像装置、制御方法及びプログラム
JP2015154455A (ja) 画像処理装置、画像処理方法及び画像処理プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20111107

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120731

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120807

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130416

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20131008