説明

画像処理装置

【課題】複数の画像処理部を直結して接続した場合の画像処理効率を向上させることが可能な画像処理装置を提供すること。
【解決手段】複数段の画像処理部1061a〜106naのそれぞれに対応するように糊代保存バッファ1061b〜106nbを設ける。画像処理部1061a〜106naへの画像データの入力時に、この入力された画像データにおいて次のブロックラインの画像データの処理にも使用される糊代部分の画像データを糊代保存バッファ1061b〜106nbに格納する。次のブロックラインの画像データの処理時には、入力された画像データと糊代保存バッファ1061b〜106nbに格納された画像データに対して画像処理を施す。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数の画像処理を直結して行うことが可能な画像処理装置に関する。
【背景技術】
【0002】
近年、デジタルカメラ等に代表される撮像装置の画素数の向上及び連写性能の向上に伴い、膨大な画素数の画像データを短時間で処理することが可能な画像処理装置が必要とされている。
【0003】
このような画像データの処理の高速化技術に関し、例えば特許文献1においては複数の画像処理をパイプライン処理化する技術が提案されている。この特許文献1においては、ローパスフィルタ処理等の複数の空間フィルタ処理を行う複数段の画像処理部と画像圧縮処理部とを直結して接続している。そして、この特許文献1においては、画像圧縮処理部における圧縮処理に必要な圧縮単位(一般にMCU(Minimum Coded Unit)と呼ばれる)毎に画像処理部の最終段から画像圧縮処理部に画像データを入力できるように、列方向に圧縮単位の列方向の画素数と等しい画素数を有し且つ行方向に1ライン分の画素数を有するブロック単位でフレームメモリから画像データを読み出すようにしている。
【0004】
ここで、空間フィルタ処理を画像データに対して施す場合、一般には処理前の画像データのサイズに比べて処理後の画像データのサイズが小さくなる。これは、空間フィルタ処理等の画像処理では、画像処理部に入力された画像データにおける周辺部分が処理できないためである。特許文献1のような画像処理部と画像圧縮処理部とを直結して接続する構成の場合、画像処理部の最終段から画像圧縮処理部に入力する画像データの列方向の画素数を圧縮単位の列方向の画素数(若しくはその整数倍)と等しくする必要がある。このため、特許文献1においては、各ブロックの周辺部分を重複して処理するようにしている。しかしながら、各ブロックの周辺部分を重複して処理する場合、画像処理の効率の低下は避けられない。
【0005】
空間フィルタ処理における画像データの重複処理をなくすための提案としては、例えば特許文献2の技術が提案されている。この特許文献2においては、フィルタ処理手段で処理中の中間データのうちで、次の分割画像の処理に対しても用いる重複部分の中間データをフレームメモリ(画像メモリ)に格納するようにしている。そして、この特許文献2においては、次の分割画像の処理の際に、次の分割画像とフレームメモリ(画像メモリ)に格納しておいた中間データとを用いて処理を行うことで重複部分の複数回の処理の必要をなくしている。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2000−312327号公報
【特許文献2】特開2002−304624号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
ここで、特許文献2の手法を特許文献1のような複数の画像処理部を直結して接続した画像処理装置に対して適用する場合、各画像処理部における処理によって逐次発生する中間データを画像メモリに逐次格納していく必要がある。このため、画像メモリに接続されたバスの帯域を圧迫して処理速度の低下を招き易い。また画像メモリの容量も圧迫し易い。
【0008】
本発明は、上記の事情に鑑みてなされたもので、複数の画像処理部を直結して接続した場合の画像処理効率を向上させることが可能な画像処理装置を提供することを目的とする。
【課題を解決するための手段】
【0009】
上記の目的を達成するために、本発明の第1の態様の画像処理装置は、撮像されてフレームメモリに格納された画像データを、各々が列方向に第1の画素数を有し且つ行方向に第2の画素数を有する複数のブロックラインの画像データに分割し、該ブロックラインの画像データ毎に複数の画像処理を施す画像処理装置であって、前記ブロックラインの画像データに対して画像処理を順次施す複数段の画像処理部と、前記複数段の画像処理部の各々に入力される現在のブロックラインの画像データのうちで、前記現在のブロックラインの次のブロックラインの画像データに対する画像処理においても使用される糊代部分の画像データを格納する糊代保存バッファとを具備し、前記複数段の画像処理部の各々は、前記次のブロックラインの画像データに対する画像処理においては、前記現在のブロックラインの画像データと前記糊代部分の画像データとを合わせた画像データに対して画像処理を施すことを特徴とする。
【発明の効果】
【0010】
本発明によれば、複数の画像処理部を直結して接続した場合の画像処理効率を向上させることが可能な画像処理装置を提供することができる。
【図面の簡単な説明】
【0011】
【図1】本発明の一実施形態に係る画像処理装置を備えた撮像装置の構成を示す図である。
【図2】本発明の一実施形態におけるブロックラインについて説明するための図である。
【図3】MCUについて説明するための図である。
【図4】圧縮単位について説明するための図である。
【図5】画像処理部106内の1つの画像処理部及び糊代保存バッファの詳細な構成を示す図である。
【図6】画像処理部106の動作の概念について示す図である。
【図7】画像処理部及び糊代保存バッファの変形例の構成を示す図である。
【図8】画像処理部106の動作について示すタイミングチャートである。
【図9】糊代保存バッファを1つのみ設ける場合の変形例の構成を示す図である。
【図10】歪補正処理の場合の糊代について説明するための図である。
【発明を実施するための形態】
【0012】
以下、図面を参照して本発明の実施形態を説明する。
図1は、本発明の一実施形態に係る画像処理装置を備えた撮像装置の構成を示す図である。図1に示す撮像装置は、レンズ101と、イメージセンサ102と、前処理部103と、バス104と、フレームメモリ105と、画像処理部106と、JPEGインターフェース(I/F)107と、JPEG処理部108と、JPEG並替部109と、メディアインターフェース(I/F)110と、記録媒体111と、CPU112とを有している。
【0013】
レンズ101は、被写体の光学像をイメージセンサ102に集光させる。イメージセンサ102は、フォトダイオード等の光電変換素子が2次元に配されて構成される受光面を有し、レンズ101により集光された光を電気信号(画像信号)に変換して前処理部103へ出力する。なお、イメージセンサ102はCMOS方式のイメージセンサでもCCD方式のイメージセンサでも良い。
【0014】
前処理部103は、イメージセンサ102からの画像信号に対して相関二重サンプリング(CDS)処理、ゲイン制御(AGC)処理等のアナログ処理を施し、さらにアナログ処理した画像信号をA/D変換してデジタル信号の画像データを生成する。
【0015】
バス104は、撮像装置の内部で発生した各種データを撮像装置内の各ブロックに転送するための転送路である。このバス104は、前処理部103と、フレームメモリ105と、画像処理部106と、JPEG処理部108と、JPEG並替部109と、メディアI/F110と、CPU112とに接続されている。
【0016】
フレームメモリ105は、前処理部103において得られた画像データや、JPEG処理部108において処理された画像データ等の各種データを格納する。このフレームメモリ105は、少なくとも1フレーム分の画像データを格納できるだけの容量を有している。
【0017】
画像処理部106は、複数の画像処理部1061a、1062a、…、106naが直結して接続されて構成され、フレームメモリ105から読み出した画像データに対して複数の画像処理を順次施す。なお、本実施形態における画像処理部106は、フレームメモリ105に格納された画像データをブロックライン単位で読み出すものである。図2は、ブロックラインの概念を示す。本実施形態における1つのブロックラインは、列方向に圧縮単位の整数倍に等しい画素数(第1の画素数)を有し、行方向に1フレームの1行分の画素数(第2の画素数)を有して構成されている。ここで、圧縮単位とは、JPEG処理部108が圧縮処理する単位画像データのことを言うものとし、本実施形態において、1つの圧縮単位は、1つ以上のMCUを行方向に配置して構成されているものとする。
【0018】
JPEG規格においては、8×8画素を1つの単位として離散コサイン変換(DCT)を行う。この8×8画素の画像データが複数個集まったものが一般的にMCUと呼ばれている。例えば、YC422フォーマットの画像データ(画像処理後に得られる輝度と色差のデータ数比がY:Cb:Cr=4:2:2の画像データ)の場合、図3(a)に示す、Yが16×8画素、Cbが8×8画素、Crが8×8画素の合計が1MCUとなる。また、YC420フォーマットの画像データ(画像処理後に得られる輝度と色差のデータ数比がY:Cb:Cr=4:1:1でCb=Crの画像データ)の場合、図3(b)に示す、Yが16×16画素、Cbが8×8画素、Crが8×8画素の合計が1MCUとなる。
【0019】
JPEG規格においては、MCUを単位として圧縮処理を行い、また圧縮処理の終了時にリスタートマーカと呼ばれるマーカを挿入する。画像データの伸張時においては、リスタートマーカを検出することにより圧縮された画像データを正しく伸張することが可能となる。本実施形態においては、リスタートマーカを挿入する間隔を適宜設定することで1つの圧縮単位が決定される。
【0020】
図4(a)〜図4(c)は圧縮単位の例を示している。図4(a)は1MCUで1圧縮単位を構成する例を示している。この場合、図4(a)に示す1MCU分の画像データの圧縮が終了した時点でリスタートマーカを挿入する。また、図4(b)は2MCUで1圧縮単位を構成する例を示しており、この場合には2MCU分の画像データの圧縮が終了した時点でリスタートマーカを挿入する。図4(c)は4MCUで1圧縮単位を構成する例を示しており、この場合には4MCU分の画像データの圧縮が終了した時点でリスタートマーカを挿入する。図4(a)〜図4(c)に示したものに限らず、1圧縮単位はMCUの整数倍であれば良い。
【0021】
本実施形態における画像処理部106は、図2の矢印で示すような列順で画像データを読み出すことによってブロックライン毎の画像データの読み出しを行う。このような読み出しを行うことによって、画像処理部106から圧縮単位に相当する画像データを出力させることが可能となる。
【0022】
また、本実施形態においては、複数の画像処理部1061a、1062a、…、106naのそれぞれに対応して糊代保存バッファ1061b、1062b、…、106nbが設けられている。この糊代保存バッファ1061b、1062b、…、106nbの動作を含む画像処理部106の動作の詳細については後述する。
【0023】
JPEGI/F107は、画像処理部106を構成する最終段の画像処理部に接続されており、各ブロックラインに含まれる列方向の圧縮単位の数と同数のバッファメモリを有して構成されている。それぞれのバッファメモリは、圧縮単位分の画像データを1個格納できるだけの容量を少なくとも有している。このような構成のバッファメモリを用いることによって、画像処理部106で処理されたブロックラインの画像データを圧縮単位毎に分割する。
【0024】
JPEG処理部108は、画像データの記録時には、画像処理部106において処理され、JPEGI/F107から読み出された画像データを圧縮単位毎に圧縮処理し、圧縮されたブロック毎の画像データをフレームメモリ105に書き込む。また、JPEG処理部108は、画像データの再生時には、記録媒体111に記録された圧縮済みの画像データを読み出し、読み出した圧縮済みの画像データを伸張した後でフレームメモリ105に書き込むことも行う。
【0025】
JPEG並替部109は、JPEG処理部108で処理され、フレームメモリ105に格納された画像データが再生時に正しく再生されるように並び替えを行う。本実施形態においては、図2に示すような列順でブロックラインの画像データを読み出すことにより、画像処理部106から圧縮単位に相当する画像データを出力させることができ、これによりJPEG処理部108において正しく圧縮処理を行うことができる。しかしながら、JPEG処理部108による圧縮後の画像データの並び順も図2で示した順序に従ってフレームメモリ105に書き込まれることになる。通常、画像データの再生は行順で行われるため、図2で示した順序のままで画像データを記録媒体111に記録してしまうと、画像データの再生時に適正な画像の再生はなされない。このため、JPEG並替部109により、画像データの並び替えを行う。この並び替えの手法としては、例えば特開2007−36596号公報において提案されている手法を用いることができる。この手法は、圧縮後の圧縮単位の画像データの末尾に挿入されるリスタートマーカを複数の符号カウンタを用いて行毎にカウントし、それぞれのカウント結果に従って各圧縮後の圧縮単位の画像データの書き込み先アドレスを制御する手法である。他の手法を用いて並び替えを行うようにしても良い。
【0026】
メディアI/F110は記録媒体111への画像データの書き込み及び読み出しの制御を行う。記録媒体111は、例えば撮像装置に着脱可能なメモリカードからなる記録媒体であり、JPEG処理部108において圧縮された画像データ等が記録される。
【0027】
CPU112は、イメージセンサ102、前処理部103、画像処理部106の動作制御等の、本撮像装置の各種シーケンスを統括的に制御する。
【0028】
次に、画像処理部106についてさらに説明する。図5は、画像処理部106内の1つの画像処理部及び糊代保存バッファの詳細な構成を示す図である。なお、図5は、画像処理として3×3のフィルタ処理を行う画像処理部の構成を例示している。
【0029】
図5に示すように、画像処理部は、入力バッファ201と、画像データシリパラ変換部202と、糊代データシリパラ変換部203と、積和演算部204とを有している。また、糊代保存バッファは糊代保存メモリ205を有している。
【0030】
入力バッファ201はフレームメモリ105又は1段前の画像処理部から図2で示した順序に従ったシリアルデータとして入力されてくる1ブロックライン分の画像データを保持する。
【0031】
画像データシリパラ変換部202は、入力バッファ201から出力されるシリアルデータの画像データをパラレルデータに変換し、これによってフィルタ処理に必要な3×3画素の画像データを生成する。この画像データシリパラ変換部202は、2個のラインバッファ301a、301bと、9個のフリップフロップ(FF)302a〜302iと、6つのセレクタ303a〜303fと、データ切替コントロール部304とを有している。ここで、9個のFFのうち、FF302aは入力バッファ201に接続され、このFF302aの後段にはFF302d、302gがそれぞれセレクタ303a、303dを介して直列に接続されている。また、入力バッファ201にはラインバッファ301aが接続されている。そして、FF302bはラインバッファ301aに接続され、このFF302bの後段にはFF302e、302hがそれぞれセレクタ303b、303eを介して直列に接続されている。また、ラインバッファ301aにはラインバッファ301bが接続されている。そして、FF302cはラインバッファ301bに接続され、このFF302cの後段にはFF302f、302iがそれぞれセレクタ303c、303fを介して直列に接続されている。さらに、FF302a〜302iは積和演算部204にも接続されている。
【0032】
ラインバッファ301a、301bはそれぞれ1ブロックラインの列方向画素数分(1ライン分)の画像データを保持できる容量を有している。ラインバッファ301aは、入力バッファ301からの画像データを1ライン分保持した後、この保持した画像データをラインバッファ301bとFF302bとに順次出力することにより、入力画像データをディレイさせる。また、ラインバッファ301bは、ラインバッファ301aからの画像データを1ライン分保持した後、この保持した画像データをFF302cに順次出力することにより、入力画像データをさらにディレイさせる。また、FF302a〜302iは、画像データが入力される毎にそれまで保持していた1画素分の画像データを順次出力する。このようなラインバッファ301a、301b、及びFF302a〜302iによって3×3画素の画像データが生成される。
【0033】
ここで、フィルタのサイズが3×3でなければ、それに応じてラインバッファ及びFFの数を変更する必要がある。一般に、フィルタのサイズがm×nであれば、画像データシリパラ変換部202には(n−1)個のラインバッファと(m×n)個のFFが必要となる。
【0034】
セレクタ303a〜303fは、それぞれ、画像データシリパラ変換部202内のFF302a〜302iから出力される画像データと糊代データシリパラ変換部203内のFF304a〜304gから出力される糊代部分の画像データとの何れかを、データ切替コントロール信号に従って選択する。データ切替コントロール部304は、データ切替コントロール信号の切り替え制御を行う。ここで、データ切替コントロール部304によるデータ切替コントロール信号の切り替え制御の詳細については後述する。
【0035】
糊代データシリパラ変換部203は、糊代保存バッファの糊代保存メモリ205からシリアルデータとして出力される糊代部分の画像データをパラレルデータに変換する。この糊代データシリパラ変換部203は、6個のFF304a〜304gから構成されている。FF304a〜304gは、画像データが入力される毎にそれまで保持していた1画素分の画像データを順次シフトさせる。これらのFF304a〜304gによって糊代保存メモリ205から入力されてくる糊代部分の画像データから2×3画素の画像データが生成される。
【0036】
ここで、糊代データシリパラ変換部203のFFの数は後述する糊代部分の画像データの画素数によって変更されるものである。
【0037】
積和演算部204は、FF302a〜FF302iから出力される3×3画素の画像データに対してフィルタ演算のための積和演算を実行する。FF302a〜FF302iのそれぞれから出力される画像データに乗じる係数は画像処理に対して適用するフィルタの種類によって変更されるものである。
【0038】
糊代保存バッファの糊代保存メモリ205は、例えばSRAM(Static RAM)から構成され、入力バッファ201から出力される画像データのうちの一部の画像データを糊代部分の画像データとして格納する。
【0039】
ここで、糊代の概念について説明する。一般に、ローパスフィルタ処理等の空間フィルタ処理を含む画像処理を行う場合、画像処理部に入力された画像データのサイズに対して画像処理後の画像データのデータサイズが小さくなることが知られている。これは、空間フィルタ処理においては、画像処理部に入力された画像データの周辺部(上端部、下端部、右端部、左端部)においてフィルタ処理を行うことができない部分が発生するためである。したがって、イメージセンサ102を介して得られる画像データのある所定領域に対して画像処理を施すためには、イメージセンサ102において所定領域よりも広い領域の画像信号を取得しておき、この所定領域よりも広い領域分の画像データに対して画像処理を行う必要がある。本実施形態では、この余分な領域に対応した画像データのことを糊代と定義する。
【0040】
さらに、本実施形態のように、画像処理部106とJPEG処理部108とを直結する構成の場合には、図2に示すようなブロックライン単位でフレームメモリ105から画像データを読み出している。この場合には、ブロックラインの画像データに対する画像処理毎に処理できない領域が発生するため、ブロックラインの画像データに対する画像処理毎に糊代部分の画像データについても処理を行う必要がある。このような処理を行う場合、あるブロックラインnの下端とブロックラインnの次のブロックラインn+1の上端とで糊代が重複することになる。
【0041】
ここで、糊代部分の画像データの列方向画素数は、空間フィルタ処理に用いるフィルタのタップ数や空間フィルタ処理の回数によって決定される。一般に、m×mの中央補間フィルタ(タップ数m)を用いる画像処理に必要な糊代の列方向画素数は(m−1)画素となる。例えば、上述した3×3フィルタの場合、糊代部分の画像データの列方向画素数は2画素である。また、5×5フィルタを用いる画像処理に必要な糊代部分の画像データの列方向画素数は4となる。さらに、複数の空間フィルタ処理を直結して行う場合の糊代部分の画像データの列方向画素数は、各々の空間フィルタの糊代の総和となる。例えば、5×5フィルタと3×3フィルタと直結して行う場合の糊代部分の画像データの列方向画素数は6となる。
【0042】
本実施形態においては、あるブロックラインnの画像データに対する画像処理の際に、ブロックラインnの次のブロックラインn+1における画像処理においても用いられる糊代部分の画像データを糊代保存メモリ205に格納するとともに、ブロックラインnの画像処理においては、ブロックラインnの前のブロックラインn−1における画像処理の際に糊代保存メモリ205に格納しておいた糊代部分の画像データも含めて画像処理を行うようにする。
【0043】
以下、本実施形態における画像処理部106の動作の詳細について説明する。図6は、画像処理部106の動作の概念について示す図である。なお、図6の例は、ブロックラインn+1の画像データに対して3×3フィルタ(上述のように糊代部分の列方向画素数は2となる)を用いた画像処理を行う場合を例示している。
【0044】
ブロックラインnの画像データに対する画像処理の際に、入力バッファ201に格納されたブロックラインnの画像データが図2で示した順序に従ったシリアルデータとして読み出されて画像処理が施される。この際、ブロックラインnの下端の2行に相当する画像データ(図6のハッチング部で示す画像データ)が入力バッファ201から読み出されたときには、この下端の2行に相当する画像データが糊代部分の画像データとして糊代保存メモリ205に格納される。
【0045】
ここで、ブロックラインnの画像データの画像処理の際にはブロックラインn−1の画像処理の際に糊代保存メモリ205に格納された画像データも含めて画像処理を行う。このブロックラインnに対する画像処理に関する説明は次のブロックラインn+1に対する画像処理に関する説明と同様である。したがって、ここでは説明を省略する。
【0046】
次に、ブロックラインn+1の画像データに対する画像処理について説明する。上述したように、入力バッファ201からは図2に示した順序に従って1ラインずつ画像データが入力される。入力バッファ201からブロックラインn+1の各ラインにおける1画素目(上端)に相当する画像データが読み出されるのに先だって、入力バッファ201から読み出されるラインと同一のラインに対応した糊代画像データ(列方向2画素分)が糊代保存メモリ205からシリアルデータとして読み出され、FF304aに順次入力される。また、FF304a〜304gに保持されていた糊代画像データは、後段に順次シフトされる。これにより、糊代保存メモリ205から入力された糊代画像データがパラレルデータに変換される。
【0047】
その後、入力バッファ201からブロックラインn+1の各ラインにおける1画素目(上端)に相当する画像データが読み出される前に、データ切替コントロール部304は、FF304a〜304gから入力されてきた糊代画像データを選択するようにデータ切替コントロール信号の切り替えを行う。そして、入力バッファ201からブロックラインn+1の各ラインにおける2画素目に相当する画像データが読み出されるときに、データ切替コントロール部304は、FF302a〜302fから入力される画像データを選択するようにデータ切替コントロール信号の切り替えを行う。
【0048】
FF302a〜302iに画像データが入力される毎に、それまでFF302a〜302iに保持されていた画像データが後段にシフトされる。積和演算部204に3×3画素分の画像データが入力されると、入力された3×3画素分の画像データに対する積和演算(フィルタ処理)が行われる。
【0049】
以後は、上述した糊代保存メモリ205からの糊代画像データの読み出し、データ切替コントロール部304による糊代画像データの選択、入力バッファ201から読み出される画像データの選択、の動作がブロックラインを構成するライン毎に繰り返される。このようにして、図6のようにして、ブロックラインn+1における3×3画素毎のフィルタ処理が行われる。
【0050】
さらに、ブロックラインn+1の下端の2行に相当する画像データ(図6のハッチング部で示す画像データ)が入力バッファ201から読み出されたときには、この下端の2行に相当する画像データが糊代部分の画像データとして糊代保存メモリ205に格納される。この糊代保存メモリ205に格納された糊代部分の画像データは次のn+2のブロックラインの画像データの処理時に用いられる。
【0051】
ここで、図5に示した構成は画像処理部及び糊代保存バッファの構成は一例であって適宜変更可能である。図7は、画像処理部及び糊代保存バッファの変形例の構成を示す図である。この図7の例は、ラインバッファの前に糊代部分の画像データを補充する例である。なお、図7は、図5と同様に、画像処理として3×3画素のフィルタ処理を行う画像処理部の構成を例示している。
【0052】
図7に示すように、変形例の画像処理部は、画像データ切替部206と、画像データシリパラ変換部202と、積和演算部204とを有している。また、糊代保存バッファは糊代保存メモリ205を有している。
【0053】
画像データ切替部206は、4つのセレクタ401a〜401dと、データ切替コントロール部402とを有している。セレクタ401aは、フレームメモリ105又は1段前の画像処理部から入力されてくる1ブロックライン分の入力画像データと、糊代保存バッファの糊代保存メモリ205において保持された糊代部分の画像データとの何れかをデータ切替コントロール信号に従って選択し、選択した画像データを画像データシリパラ変換部202のラインバッファ403aに出力する。セレクタ401bは、入力画像データと糊代部分の画像データとの何れかをデータ切替コントロール信号に従って選択し、選択した画像データを画像データシリパラ変換部202のラインバッファ403bに出力する。セレクタ401cは、入力画像データと糊代部分の画像データとの何れかをデータ切替コントロール信号に従って選択し、選択した画像データを画像データシリパラ変換部202のラインバッファ403cに出力する。セレクタ401dは、入力画像データと糊代部分の画像データとの何れかをデータ切替コントロール信号に従って選択し、選択した画像データを画像データシリパラ変換部202のラインバッファ403dに出力する。また、データ切替コントロール部402は、データ切替コントロール信号の切り替え制御を行う。
【0054】
画像データシリパラ変換部202は、4個のラインバッファ403a〜403dと、3個のセレクタ404a〜404cと、9個のフリップフロップ(FF)405a〜405iとを有している。ここで、4個のラインバッファ403a〜403dはセレクタ404a〜404cにそれぞれ接続されている。さらに、セレクタ404aはFF405aに、セレクタ404bはFF405bに、セレクタ404cはFF405cに接続されている。さらに、FF405a、405d、405gは直列に接続されているとともに、これらFF405a、405d、405gは積和演算部204にも接続されている。また、FF405b、405e、405hは直列に接続されているとともに、これらFF405b、405g、405hは積和演算部204にも接続されている。また、FF405c、405f、405iは直列に接続されているとともに、これらFF405c、405f、405iは積和演算部204にも接続されている。ラインバッファ403a〜403dは1ブロックラインの列方向画素数分(1ライン分)の画像データを保持する。また、FF405a〜405iは、画像データが入力される毎にそれまで保持していた1画素分の画像データを順次出力する。
【0055】
積和演算部204は、図5と同様に、FF405a〜FF405iから出力される3×3画素の画像データに対してフィルタ演算のための積和演算を実行する。
【0056】
図7の構成においてもデータ切替コントロール信号を適切に切り替えることによって図6で示したのと同様の動作が実現される。図7において、図6と同様の動作を実現するためには、例えば、ブロックラインにおける最初のラインの開始タイミングで、糊代部分の画像データをラインバッファ403aに書き込むように制御し、その後、入力画像データをラインバッファ403aに書き込むように制御する。次のラインでも同様に、ライン開始タイミングで、糊代部分の画像データをラインバッファ403bに書き込んだ後、入力画像データをラインバッファ403bに書き込むように制御する。次のライン以降も同様に、ラインバッファ403c、ラインバッファ403d、ラインバッファ403a、ラインバッファ403b、…、のように糊代部分の画像データと入力画像データとを順次書き込みように制御する。
【0057】
ここで、上述のような、糊代部分の画像データと入力画像データとを交互に書き込む手法の場合、糊代部分の画像データの量が大きい場合には時間的ロスが発生する。このような場合は、例えば糊代部分の画像データをラインバッファ403bに書き込んでいる最中に、入力画像データをラインバッファ403aに書き込むというようにすることで、時間的なロスなく画像データを書き込むことが可能となる。
【0058】
以上のような構成の画像処理部106によって画像処理を行うことにより、各ブロックラインの画像データの読み出しの際に糊代部分の画像データを読み出す必要がなく、また糊代部分の画像データに対する重複処理も必要ない。
【0059】
さらに、糊代部分の画像データを糊代保存バッファ1061b〜106nbに格納することにより、直結する画像処理部の数が増加したとしても、バス104の帯域が圧迫されることもない。
【0060】
図8は、本実施形態における画像処理部106の動作について示すタイミングチャートである。なお、図8の例は画像処理部1061aにおいて3×3のフィルタ処理を行い、画像処理部1062aにおいて5×5のフィルタ処理を行う例を示している。
【0061】
図8に示すように、本実施形態においては、1段目の画像処理部1061aに入力され、処理された画像データのほぼ全ての部分を有効なデータとして取り扱うことが可能である。このため、後段の画像処理部1062aにおいても有効な部分の画像データが入力されるまで待機する必要はなく、結果として、画像処理の効率を向上することが可能となる。
【0062】
ここで、図1の例では、画像処理部106内の複数の画像処理部のそれぞれに対応して糊代保存バッファを設けている。これに対し、図9に示すようにして、少なくとも糊代保存バッファ1061b、1062b、…、106nbの合計の容量を有する糊代保存バッファ106bを1つのみ設け、この糊代保存バッファ106bと各画像処理部との間のデータ転送を、バス1063を介して行うようにしても良い。一般的に、メモリ等は、小容量のものを複数配置するよりも、大容量のものを1つ配置した方が面積効率が良いことが知られている。したがって、変形例のようにすることで、糊代保存バッファの面積を小さくすることが可能となる。
【0063】
ここで、糊代保存バッファ106bとして用いることができるメモリは、集積度が高いメモリであれば特に限定されるものではない。この糊代保存バッファ106bに用いることができるメモリとしては、例えばeDRAM(Embedded DRAM)、MRAM(Magnetoresistive RAM)、FeRAM(Ferroelectric RAM)、ReRAM(Resistance RAM)、PRAM(Phase change RAM)、1T−SRAM(One Transistor SRAM)、Z−RAM(Zero Capacitor RAM)、TTRAM(Twin Transistor RAM)等が考えられる。
【0064】
また、上述の実施形態においては、画像処理部106が行う画像処理の例として空間フィルタ処理を挙げているが、この他に歪補正処理を行う場合に対しても上述した実施形態の手法を適用可能である。歪補正処理とは、図10(a)のように、樽型等の歪みのある画像データを、歪みのない画像データに補正する処理である。このような歪み補正処理を行う場合にも上述したような糊代部分の画像データが必要となる。
【0065】
以下、図10(a)に示すブロックライン1〜3に対して歪補正処理を行う場合に必要な入力画像データについて説明する。
【0066】
ブロックライン1に対して歪補正処理を行う場合、最低限、歪んだ状態のブロックライン1を読み出して処理すれば良い。しかしながら、ハードウェア構成としては、矩形のデータに対して処理を行うように構成した方が簡易な構成とすることができる。このため、通常は、図10(b)の参照符号501で示すような歪んだ状態のブロックライン1を包含する矩形データを読み出して処理する。同様に、ブロックライン2の処理時には、図10(c)の参照符号502で示すような歪んだ状態のブロックライン2を包含する矩形データを読み出して処理する。また、ブロックライン3の処理時には、図10(d)の参照符号503で示すような歪んだ状態のブロックライン3を包含する矩形データを読み出して処理する。
【0067】
このような矩形のブロックライン毎に画像データを読み出すようにする場合、ブロックライン1、2、3では入力画像データに対して図10(c)、図10(d)で示すような重複処理が必要な部分が発生することになる。上述した実施形態で説明したのと同様にして、重複部分に対応した画像データを糊代部分の画像データとして糊代保存バッファに格納することにより重複処理が不要となる。
【0068】
なお、図10で示した歪補正処理は画像データが樽型に歪んでいる場合の歪補正処理を示している。しかしながら、本実施形態は、画像データが糸巻型に歪んでいる場合であっても適用でき、また、色収差補正(色毎に歪の状況が異なる)でも適用可能である。
【0069】
以上実施形態に基づいて本発明を説明したが、本発明は上述した実施形態に限定されるものではなく、本発明の要旨の範囲内で種々の変形や応用が可能なことは勿論である。
【0070】
さらに、上記した実施形態には種々の段階の発明が含まれており、開示される複数の構成要件の適当な組合せにより種々の発明が抽出され得る。例えば、実施形態に示される全構成要件からいくつかの構成要件が削除されても、上述したような課題を解決でき、上述したような効果が得られる場合には、この構成要件が削除された構成も発明として抽出され得る。
【符号の説明】
【0071】
101…レンズ、102…イメージセンサ、103…前処理部、104,1063…バス、105…フレームメモリ、106…画像処理部、107…JPEGインターフェース(I/F)、108…JPEG処理部、109…JPEG並替部、110…メディアインターフェース(I/F)、111…記録媒体、112…CPU、201…入力バッファ、202…画像データシリパラ変換部、203…糊代データシリパラ変換部、203…糊代保存データシリパラ変換部、204…積和演算部、205…糊代保存メモリ、206…画像データ切替部、1061a,1062a,106na…画像処理部、1061b,1062b,106nb…糊代保存バッファ

【特許請求の範囲】
【請求項1】
撮像されてフレームメモリに格納された画像データを、各々が列方向に第1の画素数を有し且つ行方向に第2の画素数を有する複数のブロックラインの画像データに分割し、該ブロックラインの画像データ毎に複数の画像処理を施す画像処理装置であって、
前記ブロックラインの画像データに対して画像処理を順次施す複数段の画像処理部と、
前記複数段の画像処理部の各々に入力される現在のブロックラインの画像データのうちで、前記現在のブロックラインの次のブロックラインの画像データに対する画像処理においても使用される糊代部分の画像データを格納する糊代保存バッファと、
を具備し、
前記複数段の画像処理部の各々は、前記次のブロックラインの画像データに対する画像処理においては、前記現在のブロックラインの画像データと前記糊代部分の画像データとを合わせた画像データに対して画像処理を施すことを特徴とする画像処理装置。
【請求項2】
前記複数段の画像処理部における最終段の画像処理部に接続され、前記最終段の画像処理部から入力されるブロックライン毎の画像データを圧縮単位毎に圧縮処理する画像圧縮処理部をさらに具備することを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記糊代保存バッファは、前記複数段の画像処理部の各々に対応して1つずつ設けられていることを特徴とする請求項1又は2に記載の画像処理装置。
【請求項4】
前記糊代保存バッファは、前記複数段の画像処理部の各々に対応して共通に1つだけ設けられていることを特徴とする請求項1又は2に記載の画像処理装置。
【請求項5】
前記糊代保存バッファは前記複数段の画像処理部の各々において使用される糊代部分の画像データの合計の容量を少なくとも有していることを特徴とする請求項4に記載の画像処理装置。
【請求項6】
前記第1の画素数は前記圧縮単位の列方向の画素数と等しいことを特徴とする請求項2に記載の画像処理装置。
【請求項7】
前記第1の画素数は前記圧縮単位の列方向の画素数の整数倍の画素数と等しく、
前記複数段の画像処理部における最初段の画像処理部は、前記圧縮単位が列順で入力されるように前記ブロックラインの画像データを前記フレームメモリから読み出すことを特徴とする請求項2に記載の画像処理装置。
【請求項8】
前記画像圧縮処理部で前記圧縮単位毎に圧縮処理されて得られた圧縮単位毎の圧縮画像データが行順で前記フレームメモリに書き込まれるように並び替える並び替え部をさらに具備することを特徴とする請求項7に記載の画像処理装置。
【請求項9】
前記画像圧縮処理部はJPEG方式の圧縮処理を行うことを特徴とする請求項2に記載の画像処理装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate


【公開番号】特開2010−245961(P2010−245961A)
【公開日】平成22年10月28日(2010.10.28)
【国際特許分類】
【出願番号】特願2009−94179(P2009−94179)
【出願日】平成21年4月8日(2009.4.8)
【出願人】(504371974)オリンパスイメージング株式会社 (2,647)
【Fターム(参考)】