(57)【要約】【課題】複数の画像処理部を直結して接続した場合の画像処理効率を向上させることが可能な画像処理装置を提供すること。【解決手段】複数段の画像処理部１０６１ａ〜１０６ｎａのそれぞれに対応するように糊代保存バッファ１０６１ｂ〜１０６ｎｂを設ける。画像処理部１０６１ａ〜１０６ｎａへの画像データの入力時に、この入力された画像データにおいて次のブロックラインの画像データの処理にも使用される糊代部分の画像データを糊代保存バッファ１０６１ｂ〜１０６ｎｂに格納する。次のブロックラインの画像データの処理時には、入力された画像データと糊代保存バッファ１０６１ｂ〜１０６ｎｂに格納された画像データに対して画像処理を施す。【選択図】図１
2010245961.tif 000002
【特許請求の範囲】
【請求項１】
撮像されてフレームメモリに格納された画像データを、各々が列方向に第１の画素数を有し且つ行方向に第２の画素数を有する複数のブロックラインの画像データに分割し、該ブロックラインの画像データ毎に複数の画像処理を施す画像処理装置であって、
前記ブロックラインの画像データに対して画像処理を順次施す複数段の画像処理部と、
前記複数段の画像処理部の各々に入力される現在のブロックラインの画像データのうちで、前記現在のブロックラインの次のブロックラインの画像データに対する画像処理においても使用される糊代部分の画像データを格納する糊代保存バッファと、
を具備し、
前記複数段の画像処理部の各々は、前記次のブロックラインの画像データに対する画像処理においては、前記現在のブロックラインの画像データと前記糊代部分の画像データとを合わせた画像データに対して画像処理を施すことを特徴とする画像処理装置。
【請求項２】
前記複数段の画像処理部における最終段の画像処理部に接続され、前記最終段の画像処理部から入力されるブロックライン毎の画像データを圧縮単位毎に圧縮処理する画像圧縮処理部をさらに具備することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記糊代保存バッファは、前記複数段の画像処理部の各々に対応して１つずつ設けられていることを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
前記糊代保存バッファは、前記複数段の画像処理部の各々に対応して共通に１つだけ設けられていることを特徴とする請求項１又は２に記載の画像処理装置。
【請求項５】
前記糊代保存バッファは前記複数段の画像処理部の各々において使用される糊代部分の画像データの合計の容量を少なくとも有していることを特徴とする請求項４に記載の画像処理装置。
【請求項６】
前記第１の画素数は前記圧縮単位の列方向の画素数と等しいことを特徴とする請求項２に記載の画像処理装置。
【請求項７】
前記第１の画素数は前記圧縮単位の列方向の画素数の整数倍の画素数と等しく、
前記複数段の画像処理部における最初段の画像処理部は、前記圧縮単位が列順で入力されるように前記ブロックラインの画像データを前記フレームメモリから読み出すことを特徴とする請求項２に記載の画像処理装置。
【請求項８】
前記画像圧縮処理部で前記圧縮単位毎に圧縮処理されて得られた圧縮単位毎の圧縮画像データが行順で前記フレームメモリに書き込まれるように並び替える並び替え部をさらに具備することを特徴とする請求項７に記載の画像処理装置。
【請求項９】
前記画像圧縮処理部はＪＰＥＧ方式の圧縮処理を行うことを特徴とする請求項２に記載の画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の画像処理を直結して行うことが可能な画像処理装置に関する。
【背景技術】
【０００２】
近年、デジタルカメラ等に代表される撮像装置の画素数の向上及び連写性能の向上に伴い、膨大な画素数の画像データを短時間で処理することが可能な画像処理装置が必要とされている。
【０００３】
このような画像データの処理の高速化技術に関し、例えば特許文献１においては複数の画像処理をパイプライン処理化する技術が提案されている。この特許文献１においては、ローパスフィルタ処理等の複数の空間フィルタ処理を行う複数段の画像処理部と画像圧縮処理部とを直結して接続している。そして、この特許文献１においては、画像圧縮処理部における圧縮処理に必要な圧縮単位（一般にＭＣＵ（Minimum Coded Unit）と呼ばれる）毎に画像処理部の最終段から画像圧縮処理部に画像データを入力できるように、列方向に圧縮単位の列方向の画素数と等しい画素数を有し且つ行方向に１ライン分の画素数を有するブロック単位でフレームメモリから画像データを読み出すようにしている。
【０００４】
ここで、空間フィルタ処理を画像データに対して施す場合、一般には処理前の画像データのサイズに比べて処理後の画像データのサイズが小さくなる。これは、空間フィルタ処理等の画像処理では、画像処理部に入力された画像データにおける周辺部分が処理できないためである。特許文献１のような画像処理部と画像圧縮処理部とを直結して接続する構成の場合、画像処理部の最終段から画像圧縮処理部に入力する画像データの列方向の画素数を圧縮単位の列方向の画素数（若しくはその整数倍）と等しくする必要がある。このため、特許文献１においては、各ブロックの周辺部分を重複して処理するようにしている。しかしながら、各ブロックの周辺部分を重複して処理する場合、画像処理の効率の低下は避けられない。
【０００５】
空間フィルタ処理における画像データの重複処理をなくすための提案としては、例えば特許文献２の技術が提案されている。この特許文献２においては、フィルタ処理手段で処理中の中間データのうちで、次の分割画像の処理に対しても用いる重複部分の中間データをフレームメモリ（画像メモリ）に格納するようにしている。そして、この特許文献２においては、次の分割画像の処理の際に、次の分割画像とフレームメモリ（画像メモリ）に格納しておいた中間データとを用いて処理を行うことで重複部分の複数回の処理の必要をなくしている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０００−３１２３２７号公報
【特許文献２】特開２００２−３０４６２４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ここで、特許文献２の手法を特許文献１のような複数の画像処理部を直結して接続した画像処理装置に対して適用する場合、各画像処理部における処理によって逐次発生する中間データを画像メモリに逐次格納していく必要がある。このため、画像メモリに接続されたバスの帯域を圧迫して処理速度の低下を招き易い。また画像メモリの容量も圧迫し易い。
【０００８】
本発明は、上記の事情に鑑みてなされたもので、複数の画像処理部を直結して接続した場合の画像処理効率を向上させることが可能な画像処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記の目的を達成するために、本発明の第１の態様の画像処理装置は、撮像されてフレームメモリに格納された画像データを、各々が列方向に第１の画素数を有し且つ行方向に第２の画素数を有する複数のブロックラインの画像データに分割し、該ブロックラインの画像データ毎に複数の画像処理を施す画像処理装置であって、前記ブロックラインの画像データに対して画像処理を順次施す複数段の画像処理部と、前記複数段の画像処理部の各々に入力される現在のブロックラインの画像データのうちで、前記現在のブロックラインの次のブロックラインの画像データに対する画像処理においても使用される糊代部分の画像データを格納する糊代保存バッファとを具備し、前記複数段の画像処理部の各々は、前記次のブロックラインの画像データに対する画像処理においては、前記現在のブロックラインの画像データと前記糊代部分の画像データとを合わせた画像データに対して画像処理を施すことを特徴とする。
【発明の効果】
【００１０】
本発明によれば、複数の画像処理部を直結して接続した場合の画像処理効率を向上させることが可能な画像処理装置を提供することができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の一実施形態に係る画像処理装置を備えた撮像装置の構成を示す図である。
【図２】本発明の一実施形態におけるブロックラインについて説明するための図である。
【図３】ＭＣＵについて説明するための図である。
【図４】圧縮単位について説明するための図である。
【図５】画像処理部１０６内の１つの画像処理部及び糊代保存バッファの詳細な構成を示す図である。
【図６】画像処理部１０６の動作の概念について示す図である。
【図７】画像処理部及び糊代保存バッファの変形例の構成を示す図である。
【図８】画像処理部１０６の動作について示すタイミングチャートである。
【図９】糊代保存バッファを１つのみ設ける場合の変形例の構成を示す図である。
【図１０】歪補正処理の場合の糊代について説明するための図である。
【発明を実施するための形態】
【００１２】
以下、図面を参照して本発明の実施形態を説明する。  
図１は、本発明の一実施形態に係る画像処理装置を備えた撮像装置の構成を示す図である。図１に示す撮像装置は、レンズ１０１と、イメージセンサ１０２と、前処理部１０３と、バス１０４と、フレームメモリ１０５と、画像処理部１０６と、ＪＰＥＧインターフェース（Ｉ/Ｆ）１０７と、ＪＰＥＧ処理部１０８と、ＪＰＥＧ並替部１０９と、メディアインターフェース（Ｉ/Ｆ）１１０と、記録媒体１１１と、ＣＰＵ１１２とを有している。
【００１３】
レンズ１０１は、被写体の光学像をイメージセンサ１０２に集光させる。イメージセンサ１０２は、フォトダイオード等の光電変換素子が２次元に配されて構成される受光面を有し、レンズ１０１により集光された光を電気信号（画像信号）に変換して前処理部１０３へ出力する。なお、イメージセンサ１０２はＣＭＯＳ方式のイメージセンサでもＣＣＤ方式のイメージセンサでも良い。
【００１４】
前処理部１０３は、イメージセンサ１０２からの画像信号に対して相関二重サンプリング（ＣＤＳ）処理、ゲイン制御（ＡＧＣ）処理等のアナログ処理を施し、さらにアナログ処理した画像信号をＡ/Ｄ変換してデジタル信号の画像データを生成する。
【００１５】
バス１０４は、撮像装置の内部で発生した各種データを撮像装置内の各ブロックに転送するための転送路である。このバス１０４は、前処理部１０３と、フレームメモリ１０５と、画像処理部１０６と、ＪＰＥＧ処理部１０８と、ＪＰＥＧ並替部１０９と、メディアＩ/Ｆ１１０と、ＣＰＵ１１２とに接続されている。
【００１６】
フレームメモリ１０５は、前処理部１０３において得られた画像データや、ＪＰＥＧ処理部１０８において処理された画像データ等の各種データを格納する。このフレームメモリ１０５は、少なくとも１フレーム分の画像データを格納できるだけの容量を有している。
【００１７】
画像処理部１０６は、複数の画像処理部１０６１ａ、１０６２ａ、…、１０６ｎａが直結して接続されて構成され、フレームメモリ１０５から読み出した画像データに対して複数の画像処理を順次施す。なお、本実施形態における画像処理部１０６は、フレームメモリ１０５に格納された画像データをブロックライン単位で読み出すものである。図２は、ブロックラインの概念を示す。本実施形態における１つのブロックラインは、列方向に圧縮単位の整数倍に等しい画素数（第１の画素数）を有し、行方向に１フレームの１行分の画素数（第２の画素数）を有して構成されている。ここで、圧縮単位とは、ＪＰＥＧ処理部１０８が圧縮処理する単位画像データのことを言うものとし、本実施形態において、１つの圧縮単位は、１つ以上のＭＣＵを行方向に配置して構成されているものとする。
【００１８】
ＪＰＥＧ規格においては、８×８画素を１つの単位として離散コサイン変換（ＤＣＴ）を行う。この８×８画素の画像データが複数個集まったものが一般的にＭＣＵと呼ばれている。例えば、ＹＣ４２２フォーマットの画像データ（画像処理後に得られる輝度と色差のデータ数比がＹ：Ｃｂ：Ｃｒ＝４：２：２の画像データ）の場合、図３（ａ）に示す、Ｙが１６×８画素、Ｃｂが８×８画素、Ｃｒが８×８画素の合計が１ＭＣＵとなる。また、ＹＣ４２０フォーマットの画像データ（画像処理後に得られる輝度と色差のデータ数比がＹ：Ｃｂ：Ｃｒ＝４：１：１でＣｂ＝Ｃｒの画像データ）の場合、図３（ｂ）に示す、Ｙが１６×１６画素、Ｃｂが８×８画素、Ｃｒが８×８画素の合計が１ＭＣＵとなる。
【００１９】
ＪＰＥＧ規格においては、ＭＣＵを単位として圧縮処理を行い、また圧縮処理の終了時にリスタートマーカと呼ばれるマーカを挿入する。画像データの伸張時においては、リスタートマーカを検出することにより圧縮された画像データを正しく伸張することが可能となる。本実施形態においては、リスタートマーカを挿入する間隔を適宜設定することで１つの圧縮単位が決定される。
【００２０】
図４（ａ）〜図４（ｃ）は圧縮単位の例を示している。図４（ａ）は１ＭＣＵで１圧縮単位を構成する例を示している。この場合、図４（ａ）に示す１ＭＣＵ分の画像データの圧縮が終了した時点でリスタートマーカを挿入する。また、図４（ｂ）は２ＭＣＵで１圧縮単位を構成する例を示しており、この場合には２ＭＣＵ分の画像データの圧縮が終了した時点でリスタートマーカを挿入する。図４（ｃ）は４ＭＣＵで１圧縮単位を構成する例を示しており、この場合には４ＭＣＵ分の画像データの圧縮が終了した時点でリスタートマーカを挿入する。図４（ａ）〜図４（ｃ）に示したものに限らず、１圧縮単位はＭＣＵの整数倍であれば良い。
【００２１】
本実施形態における画像処理部１０６は、図２の矢印で示すような列順で画像データを読み出すことによってブロックライン毎の画像データの読み出しを行う。このような読み出しを行うことによって、画像処理部１０６から圧縮単位に相当する画像データを出力させることが可能となる。
【００２２】
また、本実施形態においては、複数の画像処理部１０６１ａ、１０６２ａ、…、１０６ｎａのそれぞれに対応して糊代保存バッファ１０６１ｂ、１０６２ｂ、…、１０６ｎｂが設けられている。この糊代保存バッファ１０６１ｂ、１０６２ｂ、…、１０６ｎｂの動作を含む画像処理部１０６の動作の詳細については後述する。
【００２３】
ＪＰＥＧＩ/Ｆ１０７は、画像処理部１０６を構成する最終段の画像処理部に接続されており、各ブロックラインに含まれる列方向の圧縮単位の数と同数のバッファメモリを有して構成されている。それぞれのバッファメモリは、圧縮単位分の画像データを１個格納できるだけの容量を少なくとも有している。このような構成のバッファメモリを用いることによって、画像処理部１０６で処理されたブロックラインの画像データを圧縮単位毎に分割する。
【００２４】
ＪＰＥＧ処理部１０８は、画像データの記録時には、画像処理部１０６において処理され、ＪＰＥＧＩ/Ｆ１０７から読み出された画像データを圧縮単位毎に圧縮処理し、圧縮されたブロック毎の画像データをフレームメモリ１０５に書き込む。また、ＪＰＥＧ処理部１０８は、画像データの再生時には、記録媒体１１１に記録された圧縮済みの画像データを読み出し、読み出した圧縮済みの画像データを伸張した後でフレームメモリ１０５に書き込むことも行う。
【００２５】
ＪＰＥＧ並替部１０９は、ＪＰＥＧ処理部１０８で処理され、フレームメモリ１０５に格納された画像データが再生時に正しく再生されるように並び替えを行う。本実施形態においては、図２に示すような列順でブロックラインの画像データを読み出すことにより、画像処理部１０６から圧縮単位に相当する画像データを出力させることができ、これによりＪＰＥＧ処理部１０８において正しく圧縮処理を行うことができる。しかしながら、ＪＰＥＧ処理部１０８による圧縮後の画像データの並び順も図２で示した順序に従ってフレームメモリ１０５に書き込まれることになる。通常、画像データの再生は行順で行われるため、図２で示した順序のままで画像データを記録媒体１１１に記録してしまうと、画像データの再生時に適正な画像の再生はなされない。このため、ＪＰＥＧ並替部１０９により、画像データの並び替えを行う。この並び替えの手法としては、例えば特開２００７−３６５９６号公報において提案されている手法を用いることができる。この手法は、圧縮後の圧縮単位の画像データの末尾に挿入されるリスタートマーカを複数の符号カウンタを用いて行毎にカウントし、それぞれのカウント結果に従って各圧縮後の圧縮単位の画像データの書き込み先アドレスを制御する手法である。他の手法を用いて並び替えを行うようにしても良い。
【００２６】
メディアＩ/Ｆ１１０は記録媒体１１１への画像データの書き込み及び読み出しの制御を行う。記録媒体１１１は、例えば撮像装置に着脱可能なメモリカードからなる記録媒体であり、ＪＰＥＧ処理部１０８において圧縮された画像データ等が記録される。
【００２７】
ＣＰＵ１１２は、イメージセンサ１０２、前処理部１０３、画像処理部１０６の動作制御等の、本撮像装置の各種シーケンスを統括的に制御する。
【００２８】
次に、画像処理部１０６についてさらに説明する。図５は、画像処理部１０６内の１つの画像処理部及び糊代保存バッファの詳細な構成を示す図である。なお、図５は、画像処理として３×３のフィルタ処理を行う画像処理部の構成を例示している。
【００２９】
図５に示すように、画像処理部は、入力バッファ２０１と、画像データシリパラ変換部２０２と、糊代データシリパラ変換部２０３と、積和演算部２０４とを有している。また、糊代保存バッファは糊代保存メモリ２０５を有している。
【００３０】
入力バッファ２０１はフレームメモリ１０５又は１段前の画像処理部から図２で示した順序に従ったシリアルデータとして入力されてくる１ブロックライン分の画像データを保持する。
【００３１】
画像データシリパラ変換部２０２は、入力バッファ２０１から出力されるシリアルデータの画像データをパラレルデータに変換し、これによってフィルタ処理に必要な３×３画素の画像データを生成する。この画像データシリパラ変換部２０２は、２個のラインバッファ３０１ａ、３０１ｂと、９個のフリップフロップ（ＦＦ）３０２ａ〜３０２ｉと、６つのセレクタ３０３ａ〜３０３ｆと、データ切替コントロール部３０４とを有している。ここで、９個のＦＦのうち、ＦＦ３０２ａは入力バッファ２０１に接続され、このＦＦ３０２ａの後段にはＦＦ３０２ｄ、３０２ｇがそれぞれセレクタ３０３ａ、３０３ｄを介して直列に接続されている。また、入力バッファ２０１にはラインバッファ３０１ａが接続されている。そして、ＦＦ３０２ｂはラインバッファ３０１ａに接続され、このＦＦ３０２ｂの後段にはＦＦ３０２ｅ、３０２ｈがそれぞれセレクタ３０３ｂ、３０３ｅを介して直列に接続されている。また、ラインバッファ３０１ａにはラインバッファ３０１ｂが接続されている。そして、ＦＦ３０２ｃはラインバッファ３０１ｂに接続され、このＦＦ３０２ｃの後段にはＦＦ３０２ｆ、３０２ｉがそれぞれセレクタ３０３ｃ、３０３ｆを介して直列に接続されている。さらに、ＦＦ３０２ａ〜３０２ｉは積和演算部２０４にも接続されている。
【００３２】
ラインバッファ３０１ａ、３０１ｂはそれぞれ１ブロックラインの列方向画素数分（１ライン分）の画像データを保持できる容量を有している。ラインバッファ３０１ａは、入力バッファ３０１からの画像データを１ライン分保持した後、この保持した画像データをラインバッファ３０１ｂとＦＦ３０２ｂとに順次出力することにより、入力画像データをディレイさせる。また、ラインバッファ３０１ｂは、ラインバッファ３０１ａからの画像データを１ライン分保持した後、この保持した画像データをＦＦ３０２ｃに順次出力することにより、入力画像データをさらにディレイさせる。また、ＦＦ３０２ａ〜３０２ｉは、画像データが入力される毎にそれまで保持していた１画素分の画像データを順次出力する。このようなラインバッファ３０１ａ、３０１ｂ、及びＦＦ３０２ａ〜３０２ｉによって３×３画素の画像データが生成される。
【００３３】
ここで、フィルタのサイズが３×３でなければ、それに応じてラインバッファ及びＦＦの数を変更する必要がある。一般に、フィルタのサイズがｍ×ｎであれば、画像データシリパラ変換部２０２には（ｎ−１）個のラインバッファと（ｍ×ｎ）個のＦＦが必要となる。
【００３４】
セレクタ３０３ａ〜３０３ｆは、それぞれ、画像データシリパラ変換部２０２内のＦＦ３０２ａ〜３０２ｉから出力される画像データと糊代データシリパラ変換部２０３内のＦＦ３０４ａ〜３０４ｇから出力される糊代部分の画像データとの何れかを、データ切替コントロール信号に従って選択する。データ切替コントロール部３０４は、データ切替コントロール信号の切り替え制御を行う。ここで、データ切替コントロール部３０４によるデータ切替コントロール信号の切り替え制御の詳細については後述する。
【００３５】
糊代データシリパラ変換部２０３は、糊代保存バッファの糊代保存メモリ２０５からシリアルデータとして出力される糊代部分の画像データをパラレルデータに変換する。この糊代データシリパラ変換部２０３は、６個のＦＦ３０４ａ〜３０４ｇから構成されている。ＦＦ３０４ａ〜３０４ｇは、画像データが入力される毎にそれまで保持していた１画素分の画像データを順次シフトさせる。これらのＦＦ３０４ａ〜３０４ｇによって糊代保存メモリ２０５から入力されてくる糊代部分の画像データから２×３画素の画像データが生成される。
【００３６】
ここで、糊代データシリパラ変換部２０３のＦＦの数は後述する糊代部分の画像データの画素数によって変更されるものである。
【００３７】
積和演算部２０４は、ＦＦ３０２ａ〜ＦＦ３０２ｉから出力される３×３画素の画像データに対してフィルタ演算のための積和演算を実行する。ＦＦ３０２ａ〜ＦＦ３０２ｉのそれぞれから出力される画像データに乗じる係数は画像処理に対して適用するフィルタの種類によって変更されるものである。
【００３８】
糊代保存バッファの糊代保存メモリ２０５は、例えばＳＲＡＭ（Static RAM）から構成され、入力バッファ２０１から出力される画像データのうちの一部の画像データを糊代部分の画像データとして格納する。
【００３９】
ここで、糊代の概念について説明する。一般に、ローパスフィルタ処理等の空間フィルタ処理を含む画像処理を行う場合、画像処理部に入力された画像データのサイズに対して画像処理後の画像データのデータサイズが小さくなることが知られている。これは、空間フィルタ処理においては、画像処理部に入力された画像データの周辺部（上端部、下端部、右端部、左端部）においてフィルタ処理を行うことができない部分が発生するためである。したがって、イメージセンサ１０２を介して得られる画像データのある所定領域に対して画像処理を施すためには、イメージセンサ１０２において所定領域よりも広い領域の画像信号を取得しておき、この所定領域よりも広い領域分の画像データに対して画像処理を行う必要がある。本実施形態では、この余分な領域に対応した画像データのことを糊代と定義する。
【００４０】
さらに、本実施形態のように、画像処理部１０６とＪＰＥＧ処理部１０８とを直結する構成の場合には、図２に示すようなブロックライン単位でフレームメモリ１０５から画像データを読み出している。この場合には、ブロックラインの画像データに対する画像処理毎に処理できない領域が発生するため、ブロックラインの画像データに対する画像処理毎に糊代部分の画像データについても処理を行う必要がある。このような処理を行う場合、あるブロックラインｎの下端とブロックラインｎの次のブロックラインｎ＋１の上端とで糊代が重複することになる。
【００４１】
ここで、糊代部分の画像データの列方向画素数は、空間フィルタ処理に用いるフィルタのタップ数や空間フィルタ処理の回数によって決定される。一般に、ｍ×ｍの中央補間フィルタ（タップ数ｍ）を用いる画像処理に必要な糊代の列方向画素数は（ｍ−１）画素となる。例えば、上述した３×３フィルタの場合、糊代部分の画像データの列方向画素数は２画素である。また、５×５フィルタを用いる画像処理に必要な糊代部分の画像データの列方向画素数は４となる。さらに、複数の空間フィルタ処理を直結して行う場合の糊代部分の画像データの列方向画素数は、各々の空間フィルタの糊代の総和となる。例えば、５×５フィルタと３×３フィルタと直結して行う場合の糊代部分の画像データの列方向画素数は６となる。
【００４２】
本実施形態においては、あるブロックラインｎの画像データに対する画像処理の際に、ブロックラインｎの次のブロックラインｎ＋１における画像処理においても用いられる糊代部分の画像データを糊代保存メモリ２０５に格納するとともに、ブロックラインｎの画像処理においては、ブロックラインｎの前のブロックラインｎ−１における画像処理の際に糊代保存メモリ２０５に格納しておいた糊代部分の画像データも含めて画像処理を行うようにする。
【００４３】
以下、本実施形態における画像処理部１０６の動作の詳細について説明する。図６は、画像処理部１０６の動作の概念について示す図である。なお、図６の例は、ブロックラインｎ＋１の画像データに対して３×３フィルタ（上述のように糊代部分の列方向画素数は２となる）を用いた画像処理を行う場合を例示している。
【００４４】
ブロックラインｎの画像データに対する画像処理の際に、入力バッファ２０１に格納されたブロックラインｎの画像データが図２で示した順序に従ったシリアルデータとして読み出されて画像処理が施される。この際、ブロックラインｎの下端の２行に相当する画像データ（図６のハッチング部で示す画像データ）が入力バッファ２０１から読み出されたときには、この下端の２行に相当する画像データが糊代部分の画像データとして糊代保存メモリ２０５に格納される。
【００４５】
ここで、ブロックラインｎの画像データの画像処理の際にはブロックラインｎ−１の画像処理の際に糊代保存メモリ２０５に格納された画像データも含めて画像処理を行う。このブロックラインｎに対する画像処理に関する説明は次のブロックラインｎ＋１に対する画像処理に関する説明と同様である。したがって、ここでは説明を省略する。
【００４６】
次に、ブロックラインｎ＋１の画像データに対する画像処理について説明する。上述したように、入力バッファ２０１からは図２に示した順序に従って１ラインずつ画像データが入力される。入力バッファ２０１からブロックラインｎ＋１の各ラインにおける１画素目（上端）に相当する画像データが読み出されるのに先だって、入力バッファ２０１から読み出されるラインと同一のラインに対応した糊代画像データ（列方向２画素分）が糊代保存メモリ２０５からシリアルデータとして読み出され、ＦＦ３０４ａに順次入力される。また、ＦＦ３０４ａ〜３０４ｇに保持されていた糊代画像データは、後段に順次シフトされる。これにより、糊代保存メモリ２０５から入力された糊代画像データがパラレルデータに変換される。
【００４７】
その後、入力バッファ２０１からブロックラインｎ＋１の各ラインにおける１画素目（上端）に相当する画像データが読み出される前に、データ切替コントロール部３０４は、ＦＦ３０４ａ〜３０４ｇから入力されてきた糊代画像データを選択するようにデータ切替コントロール信号の切り替えを行う。そして、入力バッファ２０１からブロックラインｎ＋１の各ラインにおける２画素目に相当する画像データが読み出されるときに、データ切替コントロール部３０４は、ＦＦ３０２ａ〜３０２ｆから入力される画像データを選択するようにデータ切替コントロール信号の切り替えを行う。
【００４８】
ＦＦ３０２ａ〜３０２ｉに画像データが入力される毎に、それまでＦＦ３０２ａ〜３０２ｉに保持されていた画像データが後段にシフトされる。積和演算部２０４に３×３画素分の画像データが入力されると、入力された３×３画素分の画像データに対する積和演算（フィルタ処理）が行われる。
【００４９】
以後は、上述した糊代保存メモリ２０５からの糊代画像データの読み出し、データ切替コントロール部３０４による糊代画像データの選択、入力バッファ２０１から読み出される画像データの選択、の動作がブロックラインを構成するライン毎に繰り返される。このようにして、図６のようにして、ブロックラインｎ＋１における３×３画素毎のフィルタ処理が行われる。
【００５０】
さらに、ブロックラインｎ＋１の下端の２行に相当する画像データ（図６のハッチング部で示す画像データ）が入力バッファ２０１から読み出されたときには、この下端の２行に相当する画像データが糊代部分の画像データとして糊代保存メモリ２０５に格納される。この糊代保存メモリ２０５に格納された糊代部分の画像データは次のｎ＋２のブロックラインの画像データの処理時に用いられる。
【００５１】
ここで、図５に示した構成は画像処理部及び糊代保存バッファの構成は一例であって適宜変更可能である。図７は、画像処理部及び糊代保存バッファの変形例の構成を示す図である。この図７の例は、ラインバッファの前に糊代部分の画像データを補充する例である。なお、図７は、図５と同様に、画像処理として３×３画素のフィルタ処理を行う画像処理部の構成を例示している。
【００５２】
図７に示すように、変形例の画像処理部は、画像データ切替部２０６と、画像データシリパラ変換部２０２と、積和演算部２０４とを有している。また、糊代保存バッファは糊代保存メモリ２０５を有している。
【００５３】
画像データ切替部２０６は、４つのセレクタ４０１ａ〜４０１ｄと、データ切替コントロール部４０２とを有している。セレクタ４０１ａは、フレームメモリ１０５又は１段前の画像処理部から入力されてくる１ブロックライン分の入力画像データと、糊代保存バッファの糊代保存メモリ２０５において保持された糊代部分の画像データとの何れかをデータ切替コントロール信号に従って選択し、選択した画像データを画像データシリパラ変換部２０２のラインバッファ４０３ａに出力する。セレクタ４０１ｂは、入力画像データと糊代部分の画像データとの何れかをデータ切替コントロール信号に従って選択し、選択した画像データを画像データシリパラ変換部２０２のラインバッファ４０３ｂに出力する。セレクタ４０１ｃは、入力画像データと糊代部分の画像データとの何れかをデータ切替コントロール信号に従って選択し、選択した画像データを画像データシリパラ変換部２０２のラインバッファ４０３ｃに出力する。セレクタ４０１ｄは、入力画像データと糊代部分の画像データとの何れかをデータ切替コントロール信号に従って選択し、選択した画像データを画像データシリパラ変換部２０２のラインバッファ４０３ｄに出力する。また、データ切替コントロール部４０２は、データ切替コントロール信号の切り替え制御を行う。
【００５４】
画像データシリパラ変換部２０２は、４個のラインバッファ４０３ａ〜４０３ｄと、３個のセレクタ４０４ａ〜４０４ｃと、９個のフリップフロップ（ＦＦ）４０５ａ〜４０５ｉとを有している。ここで、４個のラインバッファ４０３ａ〜４０３ｄはセレクタ４０４ａ〜４０４ｃにそれぞれ接続されている。さらに、セレクタ４０４ａはＦＦ４０５ａに、セレクタ４０４ｂはＦＦ４０５ｂに、セレクタ４０４ｃはＦＦ４０５ｃに接続されている。さらに、ＦＦ４０５ａ、４０５ｄ、４０５ｇは直列に接続されているとともに、これらＦＦ４０５ａ、４０５ｄ、４０５ｇは積和演算部２０４にも接続されている。また、ＦＦ４０５ｂ、４０５ｅ、４０５ｈは直列に接続されているとともに、これらＦＦ４０５ｂ、４０５ｇ、４０５ｈは積和演算部２０４にも接続されている。また、ＦＦ４０５ｃ、４０５ｆ、４０５ｉは直列に接続されているとともに、これらＦＦ４０５ｃ、４０５ｆ、４０５ｉは積和演算部２０４にも接続されている。ラインバッファ４０３ａ〜４０３ｄは１ブロックラインの列方向画素数分（１ライン分）の画像データを保持する。また、ＦＦ４０５ａ〜４０５ｉは、画像データが入力される毎にそれまで保持していた１画素分の画像データを順次出力する。
【００５５】
積和演算部２０４は、図５と同様に、ＦＦ４０５ａ〜ＦＦ４０５ｉから出力される３×３画素の画像データに対してフィルタ演算のための積和演算を実行する。
【００５６】
図７の構成においてもデータ切替コントロール信号を適切に切り替えることによって図６で示したのと同様の動作が実現される。図７において、図６と同様の動作を実現するためには、例えば、ブロックラインにおける最初のラインの開始タイミングで、糊代部分の画像データをラインバッファ４０３ａに書き込むように制御し、その後、入力画像データをラインバッファ４０３ａに書き込むように制御する。次のラインでも同様に、ライン開始タイミングで、糊代部分の画像データをラインバッファ４０３ｂに書き込んだ後、入力画像データをラインバッファ４０３ｂに書き込むように制御する。次のライン以降も同様に、ラインバッファ４０３ｃ、ラインバッファ４０３ｄ、ラインバッファ４０３ａ、ラインバッファ４０３ｂ、…、のように糊代部分の画像データと入力画像データとを順次書き込みように制御する。
【００５７】
ここで、上述のような、糊代部分の画像データと入力画像データとを交互に書き込む手法の場合、糊代部分の画像データの量が大きい場合には時間的ロスが発生する。このような場合は、例えば糊代部分の画像データをラインバッファ４０３ｂに書き込んでいる最中に、入力画像データをラインバッファ４０３ａに書き込むというようにすることで、時間的なロスなく画像データを書き込むことが可能となる。
【００５８】
以上のような構成の画像処理部１０６によって画像処理を行うことにより、各ブロックラインの画像データの読み出しの際に糊代部分の画像データを読み出す必要がなく、また糊代部分の画像データに対する重複処理も必要ない。
【００５９】
さらに、糊代部分の画像データを糊代保存バッファ１０６１ｂ〜１０６ｎｂに格納することにより、直結する画像処理部の数が増加したとしても、バス１０４の帯域が圧迫されることもない。
【００６０】
図８は、本実施形態における画像処理部１０６の動作について示すタイミングチャートである。なお、図８の例は画像処理部１０６１ａにおいて３×３のフィルタ処理を行い、画像処理部１０６２ａにおいて５×５のフィルタ処理を行う例を示している。
【００６１】
図８に示すように、本実施形態においては、１段目の画像処理部１０６１ａに入力され、処理された画像データのほぼ全ての部分を有効なデータとして取り扱うことが可能である。このため、後段の画像処理部１０６２ａにおいても有効な部分の画像データが入力されるまで待機する必要はなく、結果として、画像処理の効率を向上することが可能となる。
【００６２】
ここで、図１の例では、画像処理部１０６内の複数の画像処理部のそれぞれに対応して糊代保存バッファを設けている。これに対し、図９に示すようにして、少なくとも糊代保存バッファ１０６１ｂ、１０６２ｂ、…、１０６ｎｂの合計の容量を有する糊代保存バッファ１０６ｂを１つのみ設け、この糊代保存バッファ１０６ｂと各画像処理部との間のデータ転送を、バス１０６３を介して行うようにしても良い。一般的に、メモリ等は、小容量のものを複数配置するよりも、大容量のものを１つ配置した方が面積効率が良いことが知られている。したがって、変形例のようにすることで、糊代保存バッファの面積を小さくすることが可能となる。
【００６３】
ここで、糊代保存バッファ１０６ｂとして用いることができるメモリは、集積度が高いメモリであれば特に限定されるものではない。この糊代保存バッファ１０６ｂに用いることができるメモリとしては、例えばｅＤＲＡＭ（Embedded DRAM）、ＭＲＡＭ（Magnetoresistive RAM）、ＦｅＲＡＭ（Ferroelectric RAM）、ＲｅＲＡＭ（Resistance RAM）、ＰＲＡＭ（Phase change RAM）、１Ｔ−ＳＲＡＭ（One Transistor SRAM）、Ｚ−ＲＡＭ（Zero Capacitor RAM）、ＴＴＲＡＭ（Twin Transistor RAM）等が考えられる。
【００６４】
また、上述の実施形態においては、画像処理部１０６が行う画像処理の例として空間フィルタ処理を挙げているが、この他に歪補正処理を行う場合に対しても上述した実施形態の手法を適用可能である。歪補正処理とは、図１０（ａ）のように、樽型等の歪みのある画像データを、歪みのない画像データに補正する処理である。このような歪み補正処理を行う場合にも上述したような糊代部分の画像データが必要となる。
【００６５】
以下、図１０（ａ）に示すブロックライン１〜３に対して歪補正処理を行う場合に必要な入力画像データについて説明する。
【００６６】
ブロックライン１に対して歪補正処理を行う場合、最低限、歪んだ状態のブロックライン１を読み出して処理すれば良い。しかしながら、ハードウェア構成としては、矩形のデータに対して処理を行うように構成した方が簡易な構成とすることができる。このため、通常は、図１０（ｂ）の参照符号５０１で示すような歪んだ状態のブロックライン１を包含する矩形データを読み出して処理する。同様に、ブロックライン２の処理時には、図１０（ｃ）の参照符号５０２で示すような歪んだ状態のブロックライン２を包含する矩形データを読み出して処理する。また、ブロックライン３の処理時には、図１０（ｄ）の参照符号５０３で示すような歪んだ状態のブロックライン３を包含する矩形データを読み出して処理する。
【００６７】
このような矩形のブロックライン毎に画像データを読み出すようにする場合、ブロックライン１、２、３では入力画像データに対して図１０（ｃ）、図１０（ｄ）で示すような重複処理が必要な部分が発生することになる。上述した実施形態で説明したのと同様にして、重複部分に対応した画像データを糊代部分の画像データとして糊代保存バッファに格納することにより重複処理が不要となる。
【００６８】
なお、図１０で示した歪補正処理は画像データが樽型に歪んでいる場合の歪補正処理を示している。しかしながら、本実施形態は、画像データが糸巻型に歪んでいる場合であっても適用でき、また、色収差補正（色毎に歪の状況が異なる）でも適用可能である。
【００６９】
以上実施形態に基づいて本発明を説明したが、本発明は上述した実施形態に限定されるものではなく、本発明の要旨の範囲内で種々の変形や応用が可能なことは勿論である。
【００７０】
さらに、上記した実施形態には種々の段階の発明が含まれており、開示される複数の構成要件の適当な組合せにより種々の発明が抽出され得る。例えば、実施形態に示される全構成要件からいくつかの構成要件が削除されても、上述したような課題を解決でき、上述したような効果が得られる場合には、この構成要件が削除された構成も発明として抽出され得る。
【符号の説明】
【００７１】
１０１…レンズ、１０２…イメージセンサ、１０３…前処理部、１０４，１０６３…バス、１０５…フレームメモリ、１０６…画像処理部、１０７…ＪＰＥＧインターフェース（Ｉ/Ｆ）、１０８…ＪＰＥＧ処理部、１０９…ＪＰＥＧ並替部、１１０…メディアインターフェース（Ｉ/Ｆ）、１１１…記録媒体、１１２…ＣＰＵ、２０１…入力バッファ、２０２…画像データシリパラ変換部、２０３…糊代データシリパラ変換部、２０３…糊代保存データシリパラ変換部、２０４…積和演算部、２０５…糊代保存メモリ、２０６…画像データ切替部、１０６１ａ，１０６２ａ，１０６ｎａ…画像処理部、１０６１ｂ，１０６２ｂ，１０６ｎｂ…糊代保存バッファ
【図１】
2010245961.tif 000003
【図２】
2010245961.tif 000004
【図３】
2010245961.tif 000005
【図４】
2010245961.tif 000006
【図５】
2010245961.tif 000007
【図６】
2010245961.tif 000008
【図７】
2010245961.tif 000009
【図８】
2010245961.tif 000010
【図９】
2010245961.tif 000011
【図１０】
2010245961.tif 000012