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