(57)【要約】【課題】面積の増加の抑制及び処理時間の短縮化を図るとともに、画像サイズが変更になった際も対応可能な画像処理装置を提供する。【解決手段】ソースメモリ１０の記憶容量に合わせて、３ラインの画像データ１００を分割した画像データ１０１をソースメモリ１０へ転送する。転送された画像データ１００から複数の画素データを順次読み出して、フィルタ処理を実行する。以上の処理を繰り返して、フィルタ処理を施した１ラインの画像データ１０５を得る。【選択図】　図２
2004147165.tif 000002
【特許請求の範囲】
【請求項１】
複数ラインの画像データを分割した画像データであって、複数の画素データからなる画像データを、記憶手段へ転送するステップと、
前記記憶手段へ転送された前記複数の画素データを順次読み出すステップと、
読み出した所定数の前記画素データを用いて、フィルタ対象画素データに対して、フィルタ処理を実行するステップと、を含む、ことを特徴とする画像処理方法。
【請求項２】
複数のフィルタ対象画素データに対するフィルタ処理に使用する複数の画素データを順次入力するステップと、
順次入力される前記画素データをシフトするステップと、
シフトした所定数の前記画素データを並列に出力するステップと、
並列に出力された前記所定数の前記画素データを用いて、前記フィルタ対象画素データに対して、フィルタ処理を実行するステップと、を含む、ことを特徴とする画像処理方法。
【請求項３】
複数ラインの画像データを分割した画像データであって、複数の画素データからなる画像データ、を格納する第１の記憶手段と、
前記第１の記憶手段が格納した前記複数の画素データを順次読み出すデータ読み出し手段と、
前記データ読み出し手段が読み出した所定数の前記画素データを用いて、フィルタ対象画素データに対して、フィルタ処理を実行するフィルタ処理手段と、
フィルタ処理が施された前記フィルタ対象画素データを格納する第２の記憶手段と、
フィルタ処理が施された前記フィルタ対象画素データを、前記第２の記憶手段に書き込むデータ書き込み手段と、を備える、ことを特徴とする画像処理装置。
【請求項４】
前記フィルタ処理手段は、
フィルタ処理が施された前記フィルタ対象画素データを出力するデータ出力制御手段、を含み、
前記データ出力制御手段は、モード情報に従って、フィルタ処理が施されていない所定の画素データを出力しない、ことを特徴とする請求項３記載の画像処理装置。
【請求項５】
前記フィルタ処理手段は、
画素データを出力する度に、処理する画素数を基に定められた初期値からのカウントダウンを実行し、その実行結果に基づいて、フィルタ処理が施された前記フィルタ対象画素データ及びフィルタ処理が施されていない所定の画素データだけを出力するデータ出力制御手段、を含む、ことを特徴とする請求項３記載の画像処理装置。
【請求項６】
前記フィルタ処理手段は、
前記データ読み出し手段が前記第１の記憶手段から読み出した前記複数の画素データのうち、次回のフィルタ処理に使用する複数の画素データを保持する画素データ保持手段を含む、ことを特徴とする請求項３から５記載の画像処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、符号化の際に発生したノイズを有効に除去するフィルタ処理を実行する画像処理方法及び画像処理装置に関する。
【０００２】
【従来の技術】
従来より、テレビ電話やテレビ会議などでは、画像の情報量を削減して効率よく伝送するため、画像の符号化および復号化を行っている。
【０００３】
近年の画像の符号化方法および復号化方法は、離散コサイン変換を利用したものが大半を占めている。
【０００４】
離散コサイン変換は、画像の情報量を大幅に削減することが可能である。しかし、その反面、離散コサイン変換の実行により、モスキートノイズと呼ばれる独特のガウス性雑音が復号画像に現われ、主観画質を損なう問題がある。
【０００５】
このモスキートノイズに代表されるガウス性雑音は、高周波成分を除去する空間フィルタを適用することで除去可能である。
【０００６】
以下、フィルタ処理について、具体的に説明する。この場合、ＱＣＩＦ（ｑｕａｔｅｒ　ｃｏｍｍｏｎ　ｉｎｔｅｒｍｅｄｉａｔｅ　ｆｏｒｍａｔ）サイズ（１４４ライン×１７６画素）の画像データに対して、フィルタ処理を行う場合を例に挙げる。また、フィルタ処理の単位は、３画素×３画素の画像データとし、その中心の画素データがフィルタ対象画素データである。
【０００７】
図２５は、フィルタ処理を実行する従来の画像処理装置のブロック図である。図２５に示すように、従来の画像処理装置は、プロセッサ５００、画像メモリ５０１、ラインバッファ５０２、フィルタ処理回路５０３、及び、ラインバッファ５０４、を具備する。
【０００８】
プロセッサ５００は、ソースメモリ５０５、及び、デスティネーションメモリ５０６、を含む。
【０００９】
プロセッサ５００は、画像メモリ５０１に格納された、符号化された画像データをソースメモリ５０５に読み込む。
【００１０】
プロセッサ５００は、ソースメモリ５０５に読み込んだ画像データに対して、復号化処理を施す。
【００１１】
プロセッサ５００は、復号化処理後の画像データを、デスティネーションメモリ５０６に格納し、その後、画像メモリ５０１に転送する。
【００１２】
画像メモリ５０１に転送された復号化処理後の画像データに対して、フィルタ処理が施される。
【００１３】
フィルタ処理を実行する際には、３ライン×１７６画素の画像データが、画像メモリ５０１からラインバッファ５０２に転送される。
【００１４】
ラインバッファ５０２は、転送された３ライン×１７６画素の画像データを格納する。
【００１５】
フィルタ処理回路５０３は、ラインバッファ５０２から、３画素×３画素の画像データを読み出して、１個のフィルタ対象画素データに対するフィルタ処理を実行する。
【００１６】
フィルタ処理回路５０３は、このような処理を繰り返して、ラインバッファ５０２に格納された１７４個のフィルタ対象画素データに対するフィルタ処理を実行する。
【００１７】
なお、ラインバッファ５０２に格納された３ライン×１７６画素の画像データのうち、中央のラインの画素データが（両端の画素データを除く。）、フィルタ対象画素データである。
【００１８】
フィルタ処理回路５０３は、フィルタ処理後の１７４個の画素データを、ラインバッファ５０４に出力する。
【００１９】
また、フィルタ処理回路５０３は、ラインバッファ５０２に格納された３ライン×１７６画素の画像データのうち、中央のラインの両端の画素データについては、フィルタ処理をすることなく、ラインバッファ５０４に出力する。
【００２０】
以上の結果、ラインバッファ５０４は、フィルタ処理後の１ライン（１７６個）の画素データを格納する。
【００２１】
以上のように、従来では、ラインバッファ５０２に、３ライン×１７６画素単位で、画像データを転送して、ＱＣＩＦサイズの画像データに対するフィルタ処理を実行する。
【００２２】
次に、フィルタ処理の詳細を説明する。
図２６は、図２５に示した従来の画像処理装置のフィルタ処理回路５０３のブロック図である。なお、図２６において、図２５と同様の部分については、同一の符号を付している。
【００２３】
図２６に示すように、このフィルタ処理回路５０３は、データ読み出し部５０５、フィルタ処理部５０６、及び、データ書き込み部５０７、を含む。
【００２４】
図２６に示すように、ラインバッファ５０２には、最大で、３ライン×１７６画素の画像データが格納可能であるとする。
【００２５】
データ読み出し部５０５は、ラインバッファ５０２に格納された画素データを読み出す。
【００２６】
フィルタ処理部５０６は、読み出された画素データに対してフィルタ処理を施す。
【００２７】
データ書き込み部５０７は、フィルタ処理された画素データを、ラインバッファ５０４に書き込む。
【００２８】
ラインバッファ５０４は、最大で、１ライン分（１７６画素）の画素データを格納することができる。
【００２９】
従来の画像処理装置では、データ読み出し部５０５が、ラインバッファ５０２から、３×３画素分の画素データを読み出し、フィルタ処理部５０６でフィルタ処理を行い、データ書き込み部５０７により、ラインバッファ５０４に１画素書き込み、これを繰り返す。
以下、具体例を挙げながら、フィルタ処理を説明する。
【００３０】
図２７は、ＱＣＩＦ画像の第Ｎのラインの画素データに対する従来のフィルタ処理の説明図である。
【００３１】
図２８は、ＱＣＩＦ画像の第Ｎ＋１のラインの画素データに対する従来のフィルタ処理の説明図である。
【００３２】
図２７に示すように、データ読み出し部５０５は、１回目のフィルタ処理を実行すべく、３画素×３画素の画像データ６００を読み出す。
【００３３】
そして、フィルタ処理部５０６は、画素データ（Ｎ，２）に対して、周辺の画素データ（Ｎ−１，１）、（Ｎ，１）、（Ｎ＋１，１）、（Ｎ−１，２）、（Ｎ＋１，２）、（Ｎ−１，３）、（Ｎ，３）、（Ｎ＋１，３）を用いて、フィルタ処理を実行する。
【００３４】
そして、データ書き込み部５０７は、フィルタ処理後の画素データ（ＦＮ，２）をラインバッファ５０４に書き込む。
【００３５】
次に、データ読み出し部５０５は、２回目のフィルタ処理を実行すべく、３画素×３画素の画像データ６０１を読み出す。
【００３６】
そして、フィルタ処理部５０６は、画素データ（Ｎ，３）に対して、周辺の画素データ（Ｎ−１，２）、（Ｎ，２）、（Ｎ＋１，２）、（Ｎ−１，３）、（Ｎ＋１，３）、（Ｎ−１，４）、（Ｎ，４）、（Ｎ＋１，４）を用いて、フィルタ処理を実行する。
【００３７】
そして、データ書き込み部５０７は、フィルタ処理後の画素データ（ＦＮ，３）をラインバッファ５０４に書き込む。
【００３８】
以上のような処理を１７４回行って、ラインバッファ５０４に、第Ｎのラインの画素データ（Ｎ，１）、（ＦＮ，２）、…、（ＦＮ，１７５）、（Ｎ，１７６）が格納される。
【００３９】
第Ｎのラインのフィルタ処理が終了したら、次に、図２７に示すように、Ｎ＋１のラインの画素データに対してフィルタ処理を実行する。
【００４０】
そして、新たに、第Ｎ＋２のラインが、第Ｎのラインの代わりに追加される。このように、順番にフィルタ処理対象のラインを変更して処理を繰り返す。
【００４１】
一般に、周辺画素が存在しない両端の画素と、１ライン目及び１４４ライン目と、にはフィルタ処理を行わない。
【００４２】
このため、１４２ライン×１７４画素に対しフィルタ処理を行うことになる。それゆえ、ＱＣＩＦの画像を復元するには別途処理が必要である。
【００４３】
【特許文献１】
特開平７−１１１５８６号公報
【特許文献２】
特開２０００−２５１０６５号公報
【００４４】
【発明が解決しようとする課題】
以上のように、従来の画像処理装置におけるフィルタ処理では、フィルタ処理の単位（上記例では、３画素×３画素）に応じて、複数ライン分（上記例では、３ライン分）のラインバッファ（上記例では、ラインバッファ５０２）と、フィルタ処理後の１ライン分の画素データを格納するラインバッファ（上記例では、ラインバッファ５０４）と、が必要である（特許文献２参照）。
このため、面積が増加するという問題があった。
【００４５】
また、フィルタ処理の単位である３画素×３画素の画像データを、ラインバッファ５０２から読み出し、処理を繰り返すため、処理時間がかかるという問題があった（特許文献１参照）。
【００４６】
さらに、端画素処理を行うために、処理が決まった画素数に対してのみ行われる。
【００４７】
このため、画像サイズが変更になった場合に対応することができないという問題があった。
【００４８】
そこで、本発明は、面積の増加の抑制、及び、処理時間の短縮化、を図るとともに、画像サイズが変更になった際も対応可能な画像処理装置及び画像処理方法を提供することを目的とする。
【００４９】
【課題を解決するための手段】
請求項１記載の画像処理方法では、複数ラインの画像データを分割した画像データであって、複数の画素データからなる画像データを、記憶手段へ転送するステップと、記憶手段へ転送された複数の画素データを順次読み出すステップと、読み出した所定数の画素データを用いて、フィルタ対象画素データに対して、フィルタ処理を実行するステップと、を含む。
【００５０】
この構成によれば、複数ラインの画像データを、転送先の記憶手段の記憶容量に合わせて任意に分割して転送できるので、複数ラインの画像データを格納可能な大きな記憶容量を有する記憶手段を用意する必要がない。その結果、面積の増大の抑制を図ることができる。
【００５１】
また、転送先として既存の記憶手段を利用できるので、転送先となるフィルタ処理専用の記憶手段を設けることが不要となる。その結果、さらに面積の増大の抑制を図ることができる。
【００５２】
さらに、複数の画素データを記憶手段から順次読み出していくため、同じ画素データを複数回読み出すことなく、複数のフィルタ対象画素データに対して、フィルタ処理を実行でき、処理時間の短縮化を図ることができる。
【００５３】
さらに、１ラインにおける画素数を固定せずにフィルタ処理が可能であるため、画像サイズに依存せずフィルタ処理が可能である。
【００５４】
請求項２記載の画像処理方法では、複数のフィルタ対象画素データに対するフィルタ処理に使用する複数の画素データを順次入力するステップと、順次入力される画素データをシフトするステップと、シフトした所定数の画素データを並列に出力するステップと、並列に出力された所定数の画素データを用いて、フィルタ対象画素データに対して、フィルタ処理を実行するステップと、を含む。
【００５５】
この構成によれば、複数のフィルタ対象画素データに対するフィルタ処理に使用する複数の画素データを、記憶手段から順次読み出していくため、同じ画素データを複数回読み出すことなく、複数のフィルタ対象画素データに対するフィルタ処理を実行でき、処理時間の短縮化を図ることができる。
【００５６】
請求項３記載の画像処理装置では、複数ラインの画像データを分割した画像データであって、複数の画素データからなる画像データ、を格納する第１の記憶手段と、第１の記憶手段が格納した複数の画素データを順次読み出すデータ読み出し手段と、データ読み出し手段が読み出した所定数の画素データを用いて、フィルタ対象画素データに対して、フィルタ処理を実行するフィルタ処理手段と、フィルタ処理が施されたフィルタ対象画素データを格納する第２の記憶手段と、フィルタ処理が施されたフィルタ対象画素データを、第２の記憶手段に書き込むデータ書き込み手段と、を備える。
【００５７】
この構成によれば、複数ラインの画像データを、転送先の第１の記憶手段の記憶容量に合わせて任意に分割して転送できるので、複数ラインの画像データを格納可能な大きな記憶容量を有する第１の記憶手段を用意する必要がない。
【００５８】
また、転送先の第１の記憶手段として既存の記憶手段を利用できるので、転送先となるフィルタ処理専用の第１の記憶手段を別途設けることが不要となる。
【００５９】
さらに、複数ラインの画像データを分割した画像データに含まれる複数のフィルタ対象画素データに対して、フィルタ処理が実行されるので、１ラインの画像データを格納可能な大きな記憶容量を有する第２の記憶手段を用意する必要がない。
【００６０】
さらに、書き込み先の第２の記憶手段として既存の記憶手段を利用できるので、書き込み先となるフィルタ処理専用の第２の記憶手段を別途設けることが不要となる。
【００６１】
以上の結果、面積の増大の抑制を図ることができる。
【００６２】
また、複数の画素データを第１の記憶手段から順次読み出していくため、同じ画素データを複数回読み出すことなく、複数のフィルタ対象画素データに対するフィルタ処理を実行でき、処理時間の短縮化を図ることができる。
【００６３】
また、１ラインにおける画素数を固定せずにフィルタ処理が可能であるため、画像サイズに依存せずフィルタ処理が可能である。
【００６４】
請求項４記載の画像処理装置では、フィルタ処理手段は、フィルタ処理が施されたフィルタ対象画素データを出力するデータ出力制御手段、を含み、データ出力制御手段は、モード情報に従って、フィルタ処理が施されていない所定の画素データを出力しない。
【００６５】
この構成によれば、中間の処理で出力される不必要な画素データを、データ出力制御手段により取り除き、必要な画素データだけを出力できる。その結果、ラインデータを作成する処理時間を削減可能である。
【００６６】
請求項５記載の画像処理装置では、フィルタ処理手段は、画素データを出力する度に、処理する画素数を基に定められた初期値からのカウントダウンを実行し、その実行結果に基づいて、フィルタ処理が施されたフィルタ対象画素データ及びフィルタ処理が施されていない所定の画素データだけを出力するデータ出力制御手段、を含む。
【００６７】
この構成によれば、中間の処理で出力される不必要な画素データを、データ出力制御手段により取り除き、必要な画素データだけを出力できる。その結果、ラインデータを作成する処理時間を削減可能である。
【００６８】
また、処理する画素数を、最初に設定するのみで、後の端画素処理を実行できるため、端画素処理のための情報を設定する回数を削減可能である。
【００６９】
請求項６記載の画像処理装置では、フィルタ処理手段は、データ読み出し手段が第１の記憶手段から読み出した複数の画素データのうち、次回のフィルタ処理に使用する複数の画素データを保持する画素データ保持手段を含む。
【００７０】
この構成によれば、今回のフィルタ処理の終了時点で、次回のフィルタ処理に必要な画素データを保持し、次回のフィルタ処理時に流用できる。その結果、データの転送数を削減可能である。
【００７１】
【発明の実施の形態】
実施の形態では、フィルタ処理の対象となる画像データが、１４４ライン×１７６画素からなるＱＣＩＦ（ｑｕａｔｅｒ　ｃｏｍｍｏｎ　ｉｎｔｅｒｍｅｄｉａｔｅ　ｆｏｒｍａｔ）サイズの場合を例に挙げる。
【００７２】
この場合は、直線状に配置された１７６画素により、１ラインが形成され、１４４ラインを並設することで、１画面が構成されることになる。
（実施の形態１）
【００７３】
図１は、本発明の実施の形態１における画像処理装置のブロック図である。
図１に示すように、この画像処理装置は、プロセッサ１、画像メモリ２、及び、フィルタ処理回路３、を具備する。
【００７４】
プロセッサ１は、ソースメモリ１０、デスティネーションメモリ１１、及び、制御ユニット１２、を含む。
【００７５】
次に、全体的な動作を簡単に説明する。
プロセッサ１は、画像メモリ２に格納された、符号化された画像データをソースメモリ１０に読み込む。
【００７６】
プロセッサ１は、ソースメモリ１０に読み込んだ画像データに対して、復号化処理を施す。
【００７７】
プロセッサ１は、復号化処理後の画像データを、デスティネーションメモリ１１に格納し、その後、画像メモリ２に転送する。
【００７８】
このようにして、画像メモリ２に転送された復号化処理後の画像データに対して、フィルタ処理が実行される。
【００７９】
フィルタ処理を実行する際には、３ライン×１７６画素の画像データを、ソースメモリ１０の記憶容量に合わせて分割し、分割した画像データをソースメモリ１０に転送する。
【００８０】
制御ユニット１２は、この分割した画像データを、ソースメモリ１０から読み出して、フィルタ処理回路３に与える。
【００８１】
そして、フィルタ処理回路３は、この分割した画像データに対して、フィルタ処理を施して、ノイズを除去する。
【００８２】
ノイズが除去された分割した画像データは、制御ユニット１２により、デスティネーションメモリ１１に書き込まれ、さらに、画像メモリ２に書き込まれる。
【００８３】
以上の処理を繰り返して、ＱＣＩＦサイズの画像データのノイズを除去する。
【００８４】
ノイズが除去された画像データは、画像出力回路（図示せず）により、画像メモリ２から、表示デバイス（図示せず）に出力され、表示デバイスに表示される。表示デバイスは、例えば、ＬＣＤ（ｌｉｑｕｉｄ　ｃｒｙｓｔａｌ　ｄｉｓｐｌａｙ）等である。
【００８５】
次に、フィルタ処理を簡単に説明する。
図２は、実施の形態１の画像処理装置によるフィルタ処理の概念図である。
【００８６】
図１の画像メモリ２には、復号化処理後のＱＣＩＦサイズの画像データが格納されているとする。
【００８７】
図２では、説明の便宜のため、画像メモリ２に格納されているＱＣＩＦサイズの画像データのうち、３ライン×１７６画素の画像データ１００を示している。
【００８８】
また、図２では、１個の画素データを、円形で表している。そして、破線を付した円は、フィルタ処理の対象となる画素データ（以下、「フィルタ対象画素データ」と呼ぶ。）を示している。黒く塗りつぶした円は、フィルタ処理後のフィルタ対象画素データ（以下、「フィルタ処理画素データ」と呼ぶ。）を示している。
【００８９】
また、図２の例では、図１のソースメモリ１０は、最大で、３画素×６画素の画像データを格納可能な記憶容量を有しているとする。
【００９０】
また、フィルタ処理の単位は、３画素×３画素の画像データとし、３画素×３画素の中心に位置する画素に対応する画素データが、フィルタ対象画素データである。
【００９１】
さて、図２に示すように、最初に、３ライン×１７６画素の画像データ１００を分割した３画素×５画素の画像データ１０１が、図１の画像メモリ２からソースメモリ１０へ転送される。
【００９２】
そして、ソースメモリ１０から、フィルタ処理回路３へ、画像データ１０１が、画素データ単位で順次与えられる。
【００９３】
フィルタ処理回路３は、与えられた３画素×３画素の画素データを用いて、１個のフィルタ対象画素データに対して、フィルタ処理を施す。
【００９４】
このようにして、画像データ１０１に含まれる３個全てのフィルタ対象画素データに対して、フィルタ処理を実行する。
【００９５】
さて、次に、３ライン×１７６画素の画像データ１００を分割した３画素×６画素の画像データ１０２が、画像メモリ２からソースメモリ１０へ転送される。
【００９６】
そして、ソースメモリ１０から、フィルタ処理回路３へ、画像データ１０２が、画素データ単位で順次与えられる。
【００９７】
フィルタ処理回路３は、与えられた３画素×３画素の画素データを用いて、１個のフィルタ対象画素データに対して、フィルタ処理を施す。
【００９８】
このようにして、画像データ１０２に含まれる４個全てのフィルタ対象画素データに対して、フィルタ処理を実行する。
【００９９】
以上のような処理を繰り返して、３ライン×１７６画素の画像データ１００に含まれる全てのフィルタ対象画素データに対して、フィルタ処理が施される。
【０１００】
その結果、フィルタ処理後の１ラインの画像データ１０５を得ることができる。
【０１０１】
なお、画像データ１００のうち、２ライン目の両端の画素データに対しては、フィルタ処理は施されない。
【０１０２】
次に、図１、図３〜図７を用いて、フィルタ処理を詳細に説明する。この場合、図１のソースメモリ１０が、最大で３ライン×６４画素の画像データを格納可能である場合を例に挙げる。
【０１０３】
また、フィルタ処理の単位は、３画素×３画素の画像データとし、３画素×３画素の中心に位置する画素に対応する画素データが、フィルタ対象画素データである。
【０１０４】
図３（ａ）〜図３（ｃ）は、フィルタ処理を行う際の処理の流れを示す図である。図３（ａ）は、第１回目のフィルタ処理を行う際の処理の流れを示す図、図３（ｂ）は、第２回目のフィルタ処理を行う際の処理の流れを示す図、図３（ｃ）は、第３回目のフィルタ処理を行う際の処理の流れを示す図、である。なお、図３において、図１と同様の部分については、同一の符号を付している。
【０１０５】
図４は、図１のフィルタ処理回路３のブロック図である。図４に示すように、図１のフィルタ処理回路３は、シフトレジスタ３０、及び、フィルタ演算器３１、を含む。シフトレジスタ３０は、９個のフリップフロップＦＦ１〜ＦＦ９を含む。
【０１０６】
ここで、フィルタ演算器３１が出力する画素データには、「＃」なる符号を付することもある。なお、フィルタ演算器３１が出力する画素データには、フィルタ処理画素データだけでなく、後述のように、フィルタ処理されてない画素データもある。
【０１０７】
図５（ａ）〜図５（ｃ）は、第１回目のフィルタ処理のタイムチャートである。図５（ａ）は、図４のフィルタ演算器３１に与えられる画素データを各サイクル毎に示す図、図５（ｂ）は、図４のフィルタ演算器３１が出力するフィルタ処理画素データを示す図、図５（ｃ）は、図４のフィルタ演算器３１が出力する有効データ指示信号を示す図、である。
【０１０８】
図６（ａ）〜図６（ｃ）は、第２回目のフィルタ処理のタイムチャートである。図６（ａ）は、図４のフィルタ演算器３１に与えられる画素データを各サイクル毎に示す図、図６（ｂ）は、図４のフィルタ演算器３１が出力するフィルタ処理画素データを示す図、図６（ｃ）は、図４のフィルタ演算器３１が出力する有効データ指示信号を示す図、である。
【０１０９】
図７（ａ）〜図７（ｃ）は、第３回目のフィルタ処理のタイムチャートである。図７（ａ）は、図４のフィルタ演算器３１に与えられる画素データを各サイクル毎に示す図、図７（ｂ）は、図４のフィルタ演算器３１が出力するフィルタ処理画素データを示す図、図７（ｃ）は、図４のフィルタ演算器３１が出力する有効データ指示信号を示す図、である。
【０１１０】
まず、図３（ａ）、図４、及び、図５、を用いて、第１回目のフィルタ処理（ＱＣＩＦサイズの画像データのうちの３ライン×１７６画素の画像データから分割した１画素目から６４画素までの画像データを使用したフィルタ処理）の詳細を説明する。
【０１１１】
図３（ａ）に示すように、ソースメモリ１０には、図１の画像メモリ２から、３画素×６４画素の画像データが転送されて、格納される。
【０１１２】
この画像データは、画像メモリ２に格納されているＱＣＩＦサイズの画像データのうちの３ライン×１７６画素の画像データを、ソースメモリ１０の記憶容量に合わせて分割して得た画像データである。
【０１１３】
また、この画像データは、１９２個の画素データ（Ｎ−１，１）〜（Ｎ−１，６４）、（Ｎ，１）〜（Ｎ，６４）、（Ｎ＋１，１）〜（Ｎ＋１，６４）からなる。
【０１１４】
また、この画像データのうち、フィルタ対象画素データは、画素データ（Ｎ，２）〜（Ｎ，６３）である。
【０１１５】
なお、ソースメモリ１０に格納された個々の画素データ（Ｎ−１，１）〜（Ｎ＋１，６４）を、説明の便宜上、画素データＤと表記することもある。
【０１１６】
さて、データ読み出し部１２０は、ソースメモリ１０に格納された画素データを、（Ｎ−１，１）、（Ｎ，１）、（Ｎ＋１，１）、（Ｎ−１，２）、（Ｎ，２）、（Ｎ＋１，２）、（Ｎ−１，３）、（Ｎ，３）、（Ｎ＋１，３）、（Ｎ−１，４）、（Ｎ，４）、（Ｎ＋１，４）、…という順番で、（Ｎ−１，６４）、（Ｎ，６４）、（Ｎ＋１，６４）まで、３画素×６４画素分を読み出す。
【０１１７】
データ読み出し部１２０は、このようにして読み出した画素データＤを順次、フィルタ処理回路３へ出力する。
【０１１８】
なお、本実施の形態では、図１の制御ユニット１２が、データ読み出し部１２０として機能する。
【０１１９】
フィルタ処理回路３は、データ読み出し部１２０から、フィルタ処理を開始することを指示するフィルタ処理開始信号Ｓｓを受けて、ソースメモリ１０から読み出された画素データＤを順次取り込む。
【０１２０】
そして、図４に示すように、シフトレジスタ３０は、画素データＤを順次取り込み、クロックＣＬＫによってシフト動作を行う。
【０１２１】
そして、フリップフロップＦＦ１〜ＦＦ９は、フィルタ演算器３１へ、保持した画素データＤ１〜Ｄ９を並列に出力する。
【０１２２】
フィルタ演算器３１は、この９個の画素データＤ１〜Ｄ９を用いて、フィルタ処理を実行し、フィルタ処理の結果である１個のフィルタ処理画素データＤ＃を出力する。
【０１２３】
シフトレジスタ３０には、ソースメモリ１０から読み出された画素データＤが順次入力されるので、ソースメモリ１０に格納された画像データに含まれる全てのフィルタ対象画素データに対して、フィルタ処理が施され、フィルタ処理画素データＤ＃として出力されることになる。
【０１２４】
そして、図３（ａ）のデータ書き込み部１２１は、フィルタ演算器３１から与えられた有効データ指示信号ＳＥに従って、図１のデスティネーションメモリ１１に、フィルタ処理画素データＤ＃を順次書き込んでいく。
【０１２５】
なお、本実施の形態では、図１の制御ユニット１２が、データ書き込み部１２１として機能する。
【０１２６】
フィルタ処理回路３による、より具体的な処理は、次の通りである。
図５（ａ）に示すように、シフトレジスタ３０は、直列に取り込んだ９個の画素データ（Ｎ−１，１）〜（Ｎ＋１，３）を、サイクルＣＹ１において、フィルタ演算器３１に並列に出力する。
【０１２７】
そして、フィルタ演算器３１は、９個の画素データ（Ｎ−１，１）〜（Ｎ＋１，３）を用いて、フィルタ対象画素データ（Ｎ，２）に対してフィルタ処理を実行し、図５（ｂ）に示すように、フィルタ処理画素データ（ＦＮ，２）を出力する。
【０１２８】
そして、図５（ｃ）に示すように、データ書き込み部１２１は、フィルタ演算器３１から与えられた有効データ指示信号ＳＥに従って、デスティネーションメモリ１１に、フィルタ処理画素データ（ＦＮ，２）を書き込む。
【０１２９】
なお、データ書き込み部１２１は、有効データ指示信号ＳＥが「Ｈ（ハイ）」レベルの場合に、書き込みを実行する。
【０１３０】
さて、図５（ａ）に示すように、次のサイクルＣＹ２では、シフトレジスタ３０は、９個の画素データ（Ｎ，１）〜（Ｎ−１，４）を並列に出力する。
【０１３１】
次のサイクルＣＹ３では、シフトレジスタ３０は、９個の画素データ（Ｎ＋１，１）〜（Ｎ，４）を並列に出力する。
【０１３２】
次のサイクルＣＹ４では、シフトレジスタ３０は、９個の画素データ（Ｎ−１，２）〜（Ｎ＋１，４）を並列に出力する。
【０１３３】
そして、フィルタ演算器３１は、９個の画素データ（Ｎ−１，２）〜（Ｎ＋１，４）を用いて、フィルタ対象画素データ（Ｎ，３）に対してフィルタ処理を実行し、図５（ｂ）に示すように、フィルタ処理画素データ（ＦＮ，３）を出力する。
【０１３４】
そして、図５（ｃ）に示すように、データ書き込み部１２１は、フィルタ演算器３１から与えられた有効データ指示信号ＳＥに従って、デスティネーションメモリ１１に、フィルタ処理画素データ（ＦＮ，３）を書き込む。
【０１３５】
データ読み出し部１２０から、フィルタ処理回路３へ、フィルタ処理終了信号Ｓｅが入力されるまで、以上のような処理が繰り返される。
【０１３６】
つまり、図５（ａ）に示すように、フィルタ処理回路３によるフィルタ処理は、３サイクル単位で６２回繰り返されて、６２個のフィルタ処理画素データ（ＦＮ，２）〜（ＦＮ，６３）が出力され、デスティネーションメモリ１１に格納される。
【０１３７】
なお、フィルタ演算器３１は、図３（ａ）のソースメモリ１０に格納された画像データのうち、中段の両端の画素データ（Ｎ，１）、（Ｎ，６４）については、図５（ｂ）に示すように、フィルタ処理せずに出力する。
【０１３８】
この両端の画素データ（Ｎ，１）、（Ｎ，６４）は、図５（ｃ）に示すように、有効データ指示信号ＳＥに従って、データ書き込み部１２１により、デスティネーションメモリ１１に書き込まれる。
【０１３９】
以上の結果、図３（ａ）に示すように、デスティネーションメモリ１１には、フィルタ処理画素データ（ＦＮ，２）〜（ＦＮ，６３）及びフィルタ処理されていない画素データ（Ｎ，１）、（Ｎ，６４）が格納される。
【０１４０】
そして、この画素データ（ＦＮ，２）〜（ＦＮ，６３）、（Ｎ，１）、（Ｎ，６４）は、画像メモリ２に転送される。
【０１４１】
次に、図３（ｂ）、図４、及び、図６、を用いて、第２回目のフィルタ処理（ＱＣＩＦサイズの画像データのうちの３ライン×１７６画素の画像データから分割した６３画素目から１２６画素までの画像データを使用したフィルタ処理）の詳細を説明する。
【０１４２】
図３（ｂ）に示すように、ソースメモリ１０には、図１の画像メモリ２から、３画素×６４画素の画像データが転送されて、格納される。
【０１４３】
この画像データは、画像メモリ２に格納されているＱＣＩＦサイズの画像データのうちの３ライン×１７６画素の画像データを、ソースメモリ１０の記憶容量に合わせて分割して得た画像データである。
【０１４４】
また、この画像データは、１９２個の画素データ（Ｎ−１，６３）〜（Ｎ−１，１２６）、（Ｎ，６３）〜（Ｎ，１２６）、（Ｎ＋１，６３）〜（Ｎ＋１，１２６）からなる。
【０１４５】
また、この画像データのうち、フィルタ対象画素データは、画素データ（Ｎ，６４）〜（Ｎ，１２５）である。
【０１４６】
なお、ソースメモリ１０に格納された個々の画素データ（Ｎ−１，６３）〜（Ｎ＋１，１２６）を、説明の便宜上、画素データＤと表記することもある。
【０１４７】
さて、データ読み出し部１２０は、ソースメモリ１０に格納された画素データを、（Ｎ−１，６３）、（Ｎ，６３）、（Ｎ＋１，６３）、（Ｎ−１，６４）、（Ｎ，６４）、（Ｎ＋１，６４）、（Ｎ−１，６５）、（Ｎ，６５）、（Ｎ＋１，６５）、（Ｎ−１，６６）、（Ｎ，６６）、（Ｎ＋１，６６）、…という順番で、（Ｎ−１，１２６）、（Ｎ，１２６）、（Ｎ＋１，１２６）まで、３画素×６４画素分を読み出す。
【０１４８】
データ読み出し部１２０は、このようにして読み出した画素データ（Ｎ−１，６３）…を次々にフィルタ処理回路３へ出力する。
【０１４９】
そうすると、図６（ａ）に示すように、サイクルＣＹ１において、図４のシフトレジスタ３０は、直列に取り込んだ９個の画素データ（Ｎ−１，６３）〜（Ｎ＋１，６５）を、フィルタ演算器３１に並列に出力する。
【０１５０】
そして、フィルタ演算器３１は、９個の画素データ（Ｎ−１，６３）〜（Ｎ＋１，６５）を用いて、フィルタ対象画素データ（Ｎ，６４）に対してフィルタ処理を実行し、図６（ｂ）に示すように、フィルタ処理画素データ（ＦＮ，６４）を出力する。
【０１５１】
そして、図６（ｃ）に示すように、データ書き込み部１２１は、フィルタ演算器３１から与えられた有効データ指示信号ＳＥに従って、デスティネーションメモリ１１に、フィルタ処理画素データ（ＦＮ，６４）を書き込む。
【０１５２】
図６（ａ）に示すように、次のサイクルＣＹ２では、シフトレジスタ３０は、９個の画素データ（Ｎ，６３）〜（Ｎ−１，６６）を、並列に出力する。
【０１５３】
次のサイクルＣＹ３では、シフトレジスタ３０は、９個の画素データ（Ｎ＋１，６３）〜（Ｎ，６６）を、並列に出力する。
【０１５４】
次のサイクルＣＹ４では、シフトレジスタ３０は、９個の画素データ（Ｎ−１，６４）〜（Ｎ＋１，６６）を、並列に出力する。
【０１５５】
そして、フィルタ演算器３１は、９個の画素データ（Ｎ−１，６４）〜（Ｎ＋１，６６）を用いて、フィルタ対象画素データ（Ｎ，６５）に対してフィルタ処理を実行し、図６（ｂ）に示すように、フィルタ処理画素データ（ＦＮ，６５）を出力する。
【０１５６】
そして、図６（ｃ）に示すように、データ書き込み部１２１は、フィルタ演算器３１から与えられた有効データ指示信号ＳＥに従って、デスティネーションメモリ１１に、フィルタ処理画素データ（ＦＮ，６５）を書き込む。
【０１５７】
データ読み出し部１２０から、フィルタ処理回路３へ、フィルタ処理終了信号Ｓｅが入力されるまで、以上のような処理が繰り返される。
【０１５８】
つまり、図６（ａ）に示すように、フィルタ処理回路３によるフィルタ処理は、３サイクル単位で６２回繰り返されて、６２個のフィルタ処理画素データ（ＦＮ，６４）〜（ＦＮ，１２５）が出力され、デスティネーションメモリ１１に格納される。
【０１５９】
なお、フィルタ演算器３１は、図３（ｂ）のソースメモリ１０に格納された画像データのうち、中段の両端の画素データ（Ｎ，６３）、（Ｎ，１２６）については、図６（ｂ）に示すように、フィルタ処理せずに出力する。
【０１６０】
この両端の画素データ（Ｎ，６３）、（Ｎ，１２６）は、図６（ｃ）に示すように、有効データ指示信号ＳＥに従って、データ書き込み部１２１により、デスティネーションメモリ１１に書き込まれる。
【０１６１】
以上の結果、図３（ｂ）に示すように、デスティネーションメモリ１１には、フィルタ処理画素データ（ＦＮ，６４）〜（ＦＮ，１２５）及びフィルタ処理されていない画素データ（Ｎ，６３）、（Ｎ，１２６）が格納される。
【０１６２】
そして、この画素データ（ＦＮ，６４）〜（ＦＮ，１２５）、（Ｎ，６３）、（Ｎ，１２６）は、画像メモリ２に転送される。
【０１６３】
次に、図３（ｃ）、図４、及び、図７、を用いて、第３回目のフィルタ処理（ＱＣＩＦサイズの画像データのうちの３ライン×１７６画素の画像データから分割した１２５画素目から１７６画素までの画像データを使用したフィルタ処理）の詳細を説明する。
【０１６４】
図３（ｃ）に示すように、ソースメモリ１０には、図１の画像メモリ２から、３画素×５２画素の画像データが転送されて、格納される。
【０１６５】
この画像データは、画像メモリ２に格納されているＱＣＩＦサイズの画像データのうちの３ライン×１７６画素の画像データを、ソースメモリ１０の記憶容量に合わせて分割して得た画像データである。
【０１６６】
また、この画像データは、１５６個の画素データ（Ｎ−１，１２５）〜（Ｎ−１，１７６）、（Ｎ，１２５）〜（Ｎ，１７６）、（Ｎ＋１，１２５）〜（Ｎ＋１，１７６）からなる。
【０１６７】
また、この画像データのうち、フィルタ対象画素データは、画素データ（Ｎ，１２６）〜（Ｎ，１７５）である。
【０１６８】
なお、ソースメモリ１０に格納された個々の画素データ（Ｎ−１，１２５）〜（Ｎ＋１，１７６）を、説明の便宜上、画素データＤと表記することもある。
【０１６９】
さて、データ読み出し部１２０は、ソースメモリ１０に格納された画素データを、（Ｎ−１，１２５）、（Ｎ，１２５）、（Ｎ＋１，１２５）、（Ｎ−１，１２６）、（Ｎ，１２６）、（Ｎ＋１，１２６）、（Ｎ−１，１２７）、（Ｎ，１２７）、（Ｎ＋１，１２７）、（Ｎ−１，１２８）、（Ｎ，１２８）、（Ｎ＋１，１２８）、…という順番で、（Ｎ−１，１７６）、（Ｎ，１７６）、（Ｎ＋１，１７６）まで、３画素×５２画素分を読み出す。
【０１７０】
データ読み出し部１２０は、このようにして読み出した画素データ（Ｎ−１，１２５）…を次々にフィルタ処理回路３へ出力する。
【０１７１】
そうすると、図７（ａ）に示すように、サイクルＣＹ１において、図４のシフトレジスタ３０は、直列に取り込んだ９個の画素データ（Ｎ−１，１２５）〜（Ｎ＋１，１２７）を、フィルタ演算器３１に並列に出力する。
【０１７２】
そして、フィルタ演算器３１は、９個の画素データ（Ｎ−１，１２５）〜（Ｎ＋１，１２７）を用いて、フィルタ対象画素データ（Ｎ，１２６）に対してフィルタ処理を実行し、図７（ｂ）に示すように、フィルタ処理画素データ（ＦＮ，１２６）を出力する。
【０１７３】
そして、図７（ｃ）に示すように、データ書き込み部１２１は、フィルタ演算器３１から与えられた有効データ指示信号ＳＥに従って、デスティネーションメモリ１１に、フィルタ処理画素データ（ＦＮ，１２６）を書き込む。
【０１７４】
図７（ａ）に示すように、次のサイクルＣＹ２では、シフトレジスタ３０は、９個の画素データ（Ｎ，１２５）〜（Ｎ−１，１２８）を、並列に出力する。
【０１７５】
次のサイクルＣＹ３では、シフトレジスタ３０は、９個の画素データ（Ｎ＋１，１２５）〜（Ｎ，１２８）を、並列に出力する。
【０１７６】
次のサイクルＣＹ４では、シフトレジスタ３０は、９個の画素データ（Ｎ−１，１２６）〜（Ｎ＋１，１２８）を、並列に出力する。
【０１７７】
そして、フィルタ演算器３１は、９個の画素データ（Ｎ−１，１２６）〜（Ｎ＋１，１２８）を用いて、フィルタ対象画素データ（Ｎ，１２７）に対してフィルタ処理を実行し、図７（ｂ）に示すように、フィルタ処理画素データ（ＦＮ，１２７）を出力する。
【０１７８】
そして、図７（ｃ）に示すように、データ書き込み部１２１は、フィルタ演算器３１から与えられた有効データ指示信号ＳＥに従って、デスティネーションメモリ１１に、フィルタ処理画素データ（ＦＮ，１２７）を書き込む。
【０１７９】
データ読み出し部１２０から、フィルタ処理回路３へ、フィルタ処理終了信号Ｓｅが入力されるまで、以上のような処理が繰り返される。
【０１８０】
つまり、図７（ａ）に示すように、フィルタ処理回路３によるフィルタ処理は、３サイクル単位で５０回繰り返されて、５０個のフィルタ処理画素データ（ＦＮ，１２６）〜（ＦＮ，１７５）が出力され、デスティネーションメモリ１１に格納される。
【０１８１】
なお、フィルタ演算器３１は、図３（ｃ）のソースメモリ１０に格納された画像データのうち、中段の両端の画素データ（Ｎ，１２５）、（Ｎ，１７６）については、図７（ｂ）に示すように、フィルタ処理せずに出力する。
【０１８２】
この両端の画素データ（Ｎ，１２５）、（Ｎ，１７６）は、図７（ｃ）に示すように、有効データ指示信号ＳＥに従って、データ書き込み部１２１により、デスティネーションメモリ１１に書き込まれる。
【０１８３】
以上の結果、図３（ｃ）に示すように、デスティネーションメモリ１１には、フィルタ処理画素データ（ＦＮ，１２６）〜（ＦＮ，１７５）及びフィルタ処理されていない画素データ（Ｎ，１２５）、（Ｎ，１７６）が格納される。
【０１８４】
そして、この画素データ（ＦＮ，１２６）〜（ＦＮ，１７５）、（Ｎ，１２５）、（Ｎ，１７６）は、画像メモリ２に転送される。
【０１８５】
さて、以上により、図１の画像メモリ２には、フィルタ処理画素データ（ＦＮ，２）〜（ＦＮ，６３）及びフィルタ処理されていない画素データ（Ｎ，１）、（Ｎ，６４）、フィルタ処理画素データ（ＦＮ，６４）〜（ＦＮ，１２５）及びフィルタ処理されていない画素データ（Ｎ，６３）、（Ｎ，１２６）、並びに、フィルタ処理画素データ（ＦＮ，１２６）〜（ＦＮ，１７５）及びフィルタ処理されていない画素データ（Ｎ，１２５）、（Ｎ，１７６）、が格納される。
【０１８６】
このため、プロセッサ１は、不要な画素データ（Ｎ，６４）、（Ｎ，６３）、（Ｎ，１２６）、（Ｎ，１２５）を取り除いて、画素データ（Ｎ，１）、（ＦＮ，２）、…、（ＦＮ，１７５）、（Ｎ，１７６）からなるラインデータを作成する。
【０１８７】
このようにして、次々に作成されるラインデータが、画像出力回路（図示せず）により、画像メモリ２から、表示デバイス（図示せず）に出力され、表示デバイスに表示される。
【０１８８】
さて、以上のように、実施の形態１による画像処理装置によれば、３ラインの画像データを、ソースメモリ１０の記憶容量に合わせて任意に分割してソースメモリ１０に格納し、フィルタ演算を行っている。
【０１８９】
このため、フィルタ処理を行うための画像メモリ２からの転送先としての３ライン分のバッファ（図２５のラインバッファ５０２）と、フィルタ処理画素データを格納するための１ライン分のバッファ（図２５のラインバッファ５０４）と、が必要でなく、面積削減が可能である。
【０１９０】
また、３画素×３画素というフィルタ処理の単位毎に画像データを読み出すのではなく（図２７，図２８参照）、ソースメモリ１０に格納された複数の画素データを順次読み出していくため、同じ画素データを複数回読み出すことなく、複数のフィルタ対象画素データに対して、フィルタ処理を実行でき、処理時間の短縮化を図ることができる。
【０１９１】
また、１ラインにおける画素数を固定せずにフィルタ処理が可能であるため、画像サイズに依存せずフィルタ処理が可能である。
【０１９２】
なお、上記では、フィルタ処理の対象として、ＱＣＩＦサイズの画像を例に挙げたが、これに限定されるものではない。
【０１９３】
また、フィルタ処理の対象が、ｐライン×ｑ画素の画像データであり、フィルタ処理の単位が、Ｐ画素×Ｑ画素である場合において、Ｐライン×ｑ画素の画像データをソースメモリ１０の記憶容量に合わせて分割して、Ｐ画素×Ｙ画素の画像データをソースメモリ１０に転送し、フィルタ演算を実行できる。
【０１９４】
（実施の形態２）
本発明の実施の形態２における画像処理装置は、図１のフィルタ処理回路３に代えて、以下に説明するフィルタ処理回路４を設けたものである。実施の形態２における画像処理装置のその他の構成は、図１の画像処理装置と同様である。
【０１９５】
図８（ａ）〜図８（ｃ）は、フィルタ処理を行う際の処理の流れを示す図である。図８（ａ）は、第１回目のフィルタ処理を行う際の処理の流れを示す図、図９（ｂ）は、第２回目のフィルタ処理を行う際の処理の流れを示す図、図９（ｃ）は、第３回目のフィルタ処理を行う際の処理の流れを示す図、である。なお、図８において、図１と同様の部分については、同一の符号を付している。
【０１９６】
図９は、フィルタ処理回路４のブロック図である。図９に示すように、このフィルタ処理回路４は、図４のフィルタ処理回路３の構成に加えて、データ出力制御ユニット８０を設けたものである。
【０１９７】
このデータ出力制御ユニット８０は、レジスタ３３、及び、端画素処理を実行する端画素処理器３２、を含む。
【０１９８】
ここで、端画素処理器３２が出力する画素データには、「＄」なる符号を付すこともある。なお、端画素処理器３２が出力する画素データには、フィルタ処理画素データだけでなく、後述のように、フィルタ処理されていない画素データもある。
【０１９９】
図１０（ａ）〜図１０（ｅ）は、第１回目のフィルタ処理のタイムチャートである。図１０（ａ）は、図９のフィルタ演算器３１に与えられる画素データを各サイクル毎に示す図、図１０（ｂ）は、図９のフィルタ演算器３１が出力する画素データを示す図、図１０（ｃ）は、図９のフィルタ演算器３１が出力する有効データ指示信号を示す図、図１０（ｄ）は、データ書き込み部１２１がデスティネーションメモリ１１に書き込む画素データを示す図、図１０（ｅ）は、図９の端画素処理器３２が出力する書込指示信号を示す図、である。
【０２００】
図１１（ａ）〜図１１（ｃ）は、第２回目のフィルタ処理のタイムチャートである。図１１（ａ）は、図９のフィルタ演算器３１に与えられる画素データを各サイクル毎に示す図、図１１（ｂ）は、図９のフィルタ演算器３１が出力する画素データを示す図、図１１（ｃ）は、図９のフィルタ演算器３１が出力する有効データ指示信号を示す図、図１１（ｄ）は、データ書き込み部１２１がデスティネーションメモリ１１に書き込む画素データを示す図、図１１（ｅ）は、図９の端画素処理器３２が出力する書込指示信号を示す図、である。
【０２０１】
図１２（ａ）〜図１２（ｃ）は、第３回目のフィルタ処理のタイムチャートである。図１２（ａ）は、図９のフィルタ演算器３１に与えられる画素データを各サイクル毎に示す図、図１２（ｂ）は、図９のフィルタ演算器３１が出力する画素データを示す図、図１２（ｃ）は、図９のフィルタ演算器３１が出力する有効データ指示信号を示す図、図１２（ｄ）は、データ書き込み部１２１がデスティネーションメモリ１１に書き込む画素データを示す図、図１２（ｅ）は、図９の端画素処理器３２が出力する書込指示信号を示す図、である。
【０２０２】
次に、フィルタ処理について、第１回目、第２回目、第３回目の順に説明する。この場合、図１のソースメモリ１０が、最大で３ライン×６４画素の画像データを格納可能である場合を例に挙げる。
【０２０３】
また、フィルタ処理の単位は、３画素×３画素の画像データとし、３画素×３画素の中心に位置する画素に対応する画素データが、フィルタ対象画素データとする。
【０２０４】
まず、図１、図８（ａ）、図９、及び、図１０（ａ）〜（ｅ）を用いて、第１回目のフィルタ処理について説明する。
【０２０５】
図９のフィルタ演算器３１が、フィルタ処理画素データＤ＃及び有効データ指示信号ＳＥを出力するまでの処理は、実施の形態１の図４のフィルタ演算器３１が、フィルタ処理画素データＤ＃及び有効データ指示信号ＳＥを出力するまでの処理（図５（ａ）〜（ｃ）参照）と同様であり、説明を省略する。
【０２０６】
ただし、第１回目のフィルタ処理を開始する前に、図９のレジスタ３３に、モード信号ＳＭにより、右端の画素データを出力しないモード情報Ｍを設定する。この点は、後で詳しく説明する。
【０２０７】
さて、図１０（ｂ）に示すように、端画素処理器３２は、有効データ指示信号ＳＥに従って、フィルタ演算器３１から出力される画素データ（Ｎ，１）、（ＦＮ，２）、…、（ＦＮ，６３）、（Ｎ、６４）、を取り込んでいく。
【０２０８】
そして、端画素処理器３２は、レジスタ３３から入力されるモード情報Ｍに従って、入力される画素データ（Ｎ，１）、（ＦＮ，２）、…、（ＦＮ，６３）、（Ｎ、６４）のうち、必要な画素データ（Ｎ，１）、（ＦＮ，２）、…、（ＦＮ，６３）を出力していく（図１０（ｄ）参照）。
【０２０９】
この場合、端画素処理器３２は、モード情報Ｍに従って、不要な画素データ（Ｎ、６４）は出力しない（図１０（ｄ）参照）。
【０２１０】
なお、必要な画素データ（Ｎ，１）、（ＦＮ，２）、…、（ＦＮ，６３）のうち、画素データ（ＦＮ，２）、…、（ＦＮ，６３）は、フィルタ処理画素データである。
【０２１１】
また、端画素処理器３２は、画素データ（Ｎ，１）、（ＦＮ，２）、…、（ＦＮ，６３）の出力と同時に、図１０（ｅ）に示すように、データ書き込み部１２１へ書込指示信号ＳＷを出力する。
【０２１２】
そして、データ書き込み部１２１は、端画素処理器３２から与えられた書込指示信号ＳＷに従って、必要な画素データ（Ｎ，１）、（ＦＮ，２）、…、（ＦＮ，６３）を順次、デスティネーションメモリ１１に書き込んでいく。
【０２１３】
なお、データ書き込み部１２１は、書込指示信号ＳＷが「Ｈ（ハイ）」レベルの場合に、書き込みを実行する。
【０２１４】
以上のような端画素処理の結果、図８（ａ）に示すように、デスティネーションメモリ１１には、必要な画素データ（Ｎ，１）、（ＦＮ，２）、…、（ＦＮ，６３）だけが書き込まれ、不要な画素データ（Ｎ，６４）は、書き込まれない。
【０２１５】
そして、デスティネーションメモリ１１に書き込まれた画素データ（Ｎ，１）、（ＦＮ，２）、…、（ＦＮ，６３）は、画像メモリ２に転送される。
【０２１６】
次に、図１、図８（ｂ）、図９、及び、図１１（ａ）〜（ｅ）を用いて、第２回目のフィルタ処理について説明する。
【０２１７】
図９のフィルタ演算器３１が、フィルタ処理画素データＤ＃及び有効データ指示信号ＳＥを出力するまでの処理は、実施の形態１の図４のフィルタ演算器３１が、フィルタ処理画素データＤ＃及び有効データ指示信号ＳＥを出力するまでの処理（図６（ａ）〜（ｃ）参照）と同様であり、説明を省略する。
【０２１８】
ただし、第２回目のフィルタ処理を開始する前に、図９のレジスタ３３に、モード信号ＳＭにより、両端の画素データを出力しないモード情報Ｍを設定する。この点は、後で詳しく説明する。
【０２１９】
さて、図１１（ｂ）に示すように、端画素処理器３２は、有効データ指示信号ＳＥに従って、フィルタ演算器３１から出力される画素データ（Ｎ，６３）、（ＦＮ，６４）、…、（ＦＮ，１２５）、（Ｎ、１２６）、を取り込んでいく。
【０２２０】
そして、端画素処理器３２は、レジスタ３３から入力されるモード情報Ｍ（第１回目のフィルタ処理の場合と内容が異なる。）に従って、入力される画素データ（Ｎ，６３）、（ＦＮ，６４）、…、（ＦＮ，１２５）、（Ｎ、１２６）のうち、必要な画素データ（ＦＮ，６４）、…、（ＦＮ，１２５）を出力していく（図１１（ｄ）参照）。
【０２２１】
この場合、端画素処理器３２は、モード情報Ｍに従って、不要な画素データ（Ｎ、６３）、（Ｎ，１２６）は出力しない（図１１（ｄ）参照）。
【０２２２】
なお、必要な画素データ（ＦＮ，６４）、…、（ＦＮ，１２５）は、フィルタ処理画素データである。
【０２２３】
また、端画素処理器３２は、画素データ（ＦＮ，６４）、…、（ＦＮ，１２５）の出力と同時に、図１１（ｅ）に示すように、データ書き込み部１２１へ書込指示信号ＳＷを出力する。
【０２２４】
そして、データ書き込み部１２１は、端画素処理器３２から与えられた書込指示信号ＳＷに従って、必要な画素データ（ＦＮ，６４）、…、（ＦＮ，１２５）を順次、デスティネーションメモリ１１に書き込んでいく。
【０２２５】
以上のような端画素処理の結果、図８（ｂ）に示すように、デスティネーションメモリ１１には、必要な画素データ（ＦＮ，６４）、…、（ＦＮ，１２５）だけが書き込まれ、不要な画素データ（Ｎ、６３）、（Ｎ，１２６）は、書き込まれない。
【０２２６】
そして、デスティネーションメモリ１１に書き込まれた画素データ（ＦＮ，６４）、…、（ＦＮ，１２５）は、画像メモリ２に転送される。
【０２２７】
次に、図１、図８（ｃ）、図９、及び、図１２（ａ）〜（ｅ）を用いて、第３回目のフィルタ処理について説明する。
【０２２８】
図９のフィルタ演算器３１が、フィルタ処理画素データＤ＃及び有効データ指示信号ＳＥを出力するまでの処理は、実施の形態１の図４のフィルタ演算器３１が、フィルタ処理画素データＤ＃及び有効データ指示信号ＳＥを出力するまでの処理（図７（ａ）〜（ｃ）参照）と同様であり、説明を省略する。
【０２２９】
ただし、第３回目のフィルタ処理を開始する前に、図９のレジスタ３３に、モード信号ＳＭにより、左端の画素データを出力しないモード情報Ｍを設定する。この点は、後で詳しく説明する。
【０２３０】
さて、図１２（ｂ）に示すように、端画素処理器３２は、有効データ指示信号ＳＥに従って、フィルタ演算器３１から出力される画素データ（Ｎ，１２５）、（ＦＮ，１２６）、…、（ＦＮ，１７５）、（Ｎ、１７６）、を取り込んでいく。
【０２３１】
そして、端画素処理器３２は、レジスタ３３から入力されるモード情報Ｍ（第２回目のフィルタ処理の場合と内容が異なる。）に従って、入力される画素データ（Ｎ，１２５）、（ＦＮ，１２６）、…、（ＦＮ，１７５）、（Ｎ、１７６）のうち、必要な画素データ（ＦＮ，１２６）、…、（ＦＮ，１７５）、（Ｎ、１７６）を出力していく（図１２（ｄ）参照）。
【０２３２】
この場合、端画素処理器３２は、モード情報Ｍに従って、不要な画素データ（Ｎ、１２５）は出力しない（図１２（ｄ）参照）。
【０２３３】
なお、必要な画素データ（ＦＮ，１２６）、…、（ＦＮ，１７５）、（Ｎ、１７６）のうち、画素データ（ＦＮ，１２６）、…、（ＦＮ，１７５）は、フィルタ処理画素データである。
【０２３４】
また、端画素処理器３２は、画素データ（ＦＮ，１２６）、…、（ＦＮ，１７５）、（Ｎ、１７６）の出力と同時に、図１２（ｅ）に示すように、データ書き込み部１２１へ書込指示信号ＳＷを出力する。
【０２３５】
そして、データ書き込み部１２１は、端画素処理器３２から与えられた書込指示信号ＳＷに従って、必要な画素データ（ＦＮ，１２６）、…、（ＦＮ，１７５）、（Ｎ、１７６）を順次、デスティネーションメモリ１１に書き込んでいく。
【０２３６】
以上のような端画素処理の結果、図８（ｃ）に示すように、デスティネーションメモリ１１には、必要な画素データ（ＦＮ，１２６）、…、（ＦＮ，１７５）、（Ｎ、１７６）だけが書き込まれ、不要な画素データ（Ｎ、１２５）は、書き込まれない。
【０２３７】
そして、デスティネーションメモリ１１に書き込まれた画素データ（ＦＮ，１２６）、…、（ＦＮ，１７５）、（Ｎ、１７６）は、画像メモリ２に転送される。
【０２３８】
さて、以上により、図１の画像メモリ２には、画素データ（Ｎ，１）、（ＦＮ，２）、…、（ＦＮ，１７５）、（Ｎ，１７６）からなるラインデータが格納される。
【０２３９】
このようにして、次々に作成されるラインデータが、画像出力回路（図示せず）により、画像メモリ２から、表示デバイス（図示せず）に出力され、表示デバイスに表示される。
【０２４０】
さて、次に、図９のモード情報Ｍについて説明する。
図９に示すように、レジスタ３３は、入力されるモード信号ＳＭに応じたモード情報Ｍを保持する。
このモード情報Ｍは、モード信号ＳＭにより、任意に変更することができる。
【０２４１】
上記では、第１回目のフィルタ処理前に、第１回目のフィルタ処理の端画素処理のためのモード情報Ｍが設定される。
【０２４２】
また、第１回目のフィルタ処理後に、第２回目のフィルタ処理の端画素処理のためのモード情報Ｍが設定される。
【０２４３】
また、第２回目のフィルタ処理後に、第３回目のフィルタ処理の端画素処理のためのモード情報Ｍが設定される。
なお、モード信号ＳＭは、例えば、プロセッサ１の命令で出力される。
【０２４４】
次に、図９のモード情報Ｍについて詳細に説明する。
図１３（ａ）〜（ｄ）は、図９のレジスタＭに設定することができるモード情報Ｍの説明図である。図１３（ａ）は、モード２’ｂ００を内容とするモード情報Ｍの説明図、図１３（ａ）は、モード２’ｂ０１を内容とするモード情報Ｍの説明図、図１３（ｂ）は、モード２’ｂ１０を内容とするモード情報Ｍの説明図、図１３（ａ）は、モード２’ｂ１１を内容とするモード情報Ｍの説明図、である。
【０２４５】
ここで、図１３（ａ）〜（ｄ）の説明では、図１のソースメモリ１０に、３画素×６画素の画素データ１〜１８が格納され、これらを使用してフィルタ処理を実行する場合を例に挙げる。
【０２４６】
従って、図９のフィルタ演算器３１は、端画素処理器３２に対して、画素データ２、５、８、１１、１４、１７を出力することになる。
【０２４７】
まず、図１３（ａ）を用いて、モード２’ｂ００について説明する。モード２’ｂ００は、フィルタ演算器３１が出力した画素データ２、５、８、１１、１４、１７のうち、両端の画素データ２、１７は、フィルタ未処理の画素データであるが、表示に必要な画素データであり、画素データ５、８、１１、１４は、フィルタ処理画素データである、ことを示す。
【０２４８】
従って、モード信号ＳＭにより、図９のレジスタ３３に設定されたモード情報Ｍが、モード２’ｂ００の場合は、端画素処理器３２は、入力された全ての画素データ２、５、８、１１、１４、１７を出力し、かつ、これら全てが、デスティネーションメモリ１１に書き込まれるような書込指示信号ＳＷを出力する。
【０２４９】
なお、図１３（ａ）〜（ｃ）では、フィルタ未処理の画素データであるが、表示に必要な画素データを、「スルーデータ」と表記している。
【０２５０】
モード２’ｂ００は、例えば、処理する画像がＱＣＩＦ画像であり、フィルタ処理の単位が、３画素×３画素の場合において、ソースメモリ１０に、３ライン×１７６画素の画像データを転送してフィルタ処理を実行する場合に設定される。
【０２５１】
次に、図１３（ｂ）を用いて、モード２’ｂ０１について説明する。モード２’ｂ０１は、フィルタ演算器３１が出力した画素データ２、５、８、１１、１４、１７のうち、画素データ２は、フィルタ未処理の画素データであるが、表示に必要な画素データであり、画素データ５、８、１１、１４は、フィルタ処理画素データでり、画素データ１７は、不要な画素データである、ことを示す。
【０２５２】
従って、モード信号ＳＭにより、図９のレジスタ３３に設定されたモード情報Ｍが、モード２’ｂ０１の場合は、端画素処理器３２は、入力された画素データ２、５、８、１１、１４、１７のうち、画素データ２、５、８、１１、１４を出力し、画素データ１７は出力しない。
【０２５３】
そして、端画素処理器３２は、画素データ２、５、８、１１、１４だけが、デスティネーションメモリ１１に書き込まれるような書込指示信号ＳＷを、データ書き込み部１２１に対して出力する。
【０２５４】
モード２’ｂ０１は、例えば、図１０（ｄ）に示すように、右端の画素データ（Ｎ，６４）を出力しない場合に設定される。
【０２５５】
従って、上記した第１回目のフィルタ処理では、レジスタ３３に、モード２’ｂ０１が設定されている。
【０２５６】
次に、図１３（ｃ）を用いて、モード２’ｂ１０について説明する。モード２’ｂ１０は、フィルタ演算器３１が出力した画素データ２、５、８、１１、１４、１７のうち、画素データ２は、不要な画素データであり、画素データ５、８、１１、１４は、フィルタ処理画素データでり、画素データ１７は、フィルタ未処理の画素データであるが、表示に必要な画素データである、ことを示す。
【０２５７】
従って、モード信号ＳＭにより、図９のレジスタ３３に設定されたモード情報Ｍが、モード２’ｂ１０の場合は、端画素処理器３２は、入力された画素データ２、５、８、１１、１４、１７のうち、画素データ５、８、１１、１４、１７を出力し、画素データ２は出力しない。
【０２５８】
そして、端画素処理器３２は、画素データ５、８、１１、１４、１７だけが、デスティネーションメモリ１１に書き込まれるような書込指示信号ＳＷを、データ書き込み部１２１に対して出力する。
【０２５９】
モード２’ｂ１０は、例えば、図１２（ｄ）に示すように、左端の画素データ（Ｎ，１２５）を出力しない場合に設定される。
【０２６０】
従って、上記した第３回目のフィルタ処理では、レジスタ３３に、モード２’ｂ１０が設定されている。
【０２６１】
次に、図１３（ｄ）を用いて、モード２’ｂ１１について説明する。モード２’ｂ１１は、フィルタ演算器３１が出力した画素データ２、５、８、１１、１４、１７のうち、画素データ２、１７は、不要な画素データであり、画素データ５、８、１１、１４は、フィルタ処理画素データである、ことを示す。
【０２６２】
従って、モード信号ＳＭにより、図９のレジスタ３３に設定されたモード情報Ｍが、モード２’ｂ１１の場合は、端画素処理器３２は、入力された画素データ２、５、８、１１、１４、１７のうち、画素データ５、８、１１、１４を出力し、画素データ２、１７は出力しない。
【０２６３】
そして、端画素処理器３２は、画素データ５、８、１１、１４だけが、デスティネーションメモリ１１に書き込まれるような書込指示信号ＳＷを、データ書き込み部１２１に対して出力する。
【０２６４】
モード２’ｂ１１は、例えば、図１１（ｄ）に示すように、両端の画素データ（Ｎ，６３）、（Ｎ，１２６）を出力しない場合に設定される。
【０２６５】
従って、上記した第２回目のフィルタ処理では、レジスタ３３に、モード２’ｂ１１が設定されている。
【０２６６】
さて、次に、モード情報Ｍについて、具体例を挙げながら説明する。
図１４（ａ）〜（ｃ）は、モード情報Ｍの利用方法の例示図である。図１４（ａ）は、モード２’ｂ０１を利用する場合の例示図、図１４（ｂ）は、モード２’ｂ１１を利用する場合の例示図、図１４（ｃ）は、モード２’ｂ１０を利用する場合の例示図、である。
【０２６７】
図１４（ａ）〜（ｃ）の説明では、３画素×６画素からなる画像データに対してフィルタ処理を実行する場合を例を挙げる。
【０２６８】
従って、図１の画像メモリ２には、図１４（ａ）〜（ｃ）に示すように、画素データ１〜１８が格納されているとする。
【０２６９】
さて、図１４（ａ）に示すように、図１のソースメモリ１０に画素データ１〜９を転送するとする。
【０２７０】
この場合は、図９のレジスタ３３には、モード２’ｂ０１を設定する。そうすれば、端画素処理器３２は、フィルタ演算器３１から入力された画素データ２、５、８のうち、画素データ２、５だけを出力する。
【０２７１】
次に、図１４（ｂ）に示すように、図１のソースメモリ１０に画素データ４〜１５を転送するとする。
【０２７２】
この場合は、図９のレジスタ３３には、モード２’ｂ１１を設定する。そうすれば、端画素処理器３２は、フィルタ演算器３１から入力された画素データ５、８、１１、１４のうち、画素データ８、１１だけを出力する。
【０２７３】
次に、図１４（ｃ）に示すように、図１のソースメモリ１０に画素データ１０〜１８を転送するとする。
【０２７４】
この場合は、図９のレジスタ３３には、モード２’ｂ１０を設定する。そうすれば、端画素処理器３２は、フィルタ演算器３１から入力された画素データ１１、１４、１７のうち、画素データ１４、１７だけを出力する。
【０２７５】
さて、以上のように、実施の形態２による画像処理装置によれば、フィルタ処理が終了した画素データは、中間の処理で出力される不必要な画素データ（図８の例では、画素データ（Ｎ，６４）、（Ｎ，６３）、（Ｎ，１２６）、（Ｎ，１２５））を取り除いてあるため、ラインデータを作成する処理時間を削減可能である。
【０２７６】
また、実施の形態２による画像処理装置は、実施の形態１による画像処理装置の構成を包含しているので、実施の形態１と同様の効果を奏する。
【０２７７】
（実施の形態３）
本発明の実施の形態３における画像処理装置は、図１のフィルタ処理回路３に代えて、以下に説明するフィルタ処理回路５を設けたものである。実施の形態３における画像処理装置のその他の構成は、図１の画像処理装置と同様である。
【０２７８】
図１５は、実施の形態３におけるフィルタ処理回路５のブロック図である。図１５に示すように、このフィルタ処理回路５は、図９のフィルタ処理回路４の構成に加えて、画素保持バッファ器５０、セレクタ５２、５３、及び、セレクタ制御器５１、を設けたものである。
【０２７９】
次に、フィルタ処理を簡単に説明する。
図１６は、実施の形態３の画像処理装置によるフィルタ処理の概念図である。なお、図１６での表記は、図２での表記と同様である。
【０２８０】
図１６に示すように、最初に、３ライン×１７６画素の画像データ１００を分割した３画素×５画素の画像データ１０１が、図１の画像メモリ２からソースメモリ１０へ転送される。
【０２８１】
そして、ソースメモリ１０から、フィルタ処理回路５へ、画像データ１０１が、画素データ単位で順次与えられる。
【０２８２】
フィルタ処理回路５は、与えられた３画素×３画素の画素データを用いて、１個のフィルタ対象画素データに対して、フィルタ処理を施す。
【０２８３】
このようにして、画像データ１０１に含まれる３個全てのフィルタ対象画素データに対して、フィルタ処理を実行する。
【０２８４】
そして、今回のフィルタ処理の終了時に、次回のフィルタ処理に使用する画像データ１０９を、フィルタ処理回路５の画素保持バッファ器５０に格納する。
【０２８５】
次に、３ライン×１７６画素の画像データ１００を分割した３画素×４画素の画像データ１０６が、画像メモリ２からソースメモリ１０へ転送される。
【０２８６】
そして、フィルタ処理回路５は、ソースメモリ１０に格納された画像データ１０６とフィルタ処理回路５の内部の画素保持バッファ器５０に保持された画像データ１０９とを用いて、フィルタ処理を実行する。
【０２８７】
以上のような処理を繰り返して、３ライン×１７６画素の画像データ１００に含まれる全てのフィルタ対象画素データに対して、フィルタ処理が施される。その結果、フィルタ処理後の１ラインの画像データ１０５を得ることができる。
【０２８８】
以上のように、本実施の形態では、今回のフィルタ処理で使用した画像データ１０１のうち、次回のフィルタ処理で使用する画像データ１０９を、今回のフィルタ処理の終了時に、フィルタ処理回路５の内部の画素保持バッファ器５０に格納する。
【０２８９】
このようにして、画像メモリ２からソースメモリ１０への画素データの転送数およびソースメモリ１０からフィルタ処理回路５への画素データの転送数を削減する。
【０２９０】
次に、図１、図１５、図１７及び図１８を用いて、フィルタ処理を詳細に説明する。この場合、図１のソースメモリ１０が、最大で３ライン×６４画素の画像データを格納可能である場合を例に挙げる。
【０２９１】
また、フィルタ処理の単位は、３画素×３画素の画像データとし、３画素×３画素の中心に位置する画素に対応する画素データが、フィルタ対象画素データである。
【０２９２】
図１７（ａ）〜図１７（ｃ）は、フィルタ処理を行う際の処理の流れを示す図である。図１７（ａ）は、第１回目のフィルタ処理を行う際の処理の流れを示す図、図１７（ｂ）は、第２回目のフィルタ処理を行う際の処理の流れを示す図、図１７（ｃ）は、第３回目のフィルタ処理を行う際の処理の流れを示す図、である。なお、図１７において、図１と同様の部分については、同一の符号を付している。
【０２９３】
図１８（ａ）〜図１８（ｃ）は、実施の形態３のフィルタ処理の特徴を説明するためのタイムチャートである。図１８（ａ）は、第１回目のフィルタ処理の終了時に、シフトレジスタ３０から画素保持バッファ器５０へ画像データが転送される様子を示す図、図１８（ｂ）は、第２回目のフィルタ処理の開始時の様子を示す図、図１８（ｃ）は、データ書き込み部１２１がデスティネーションメモリ１１に書き込む画素データを示す図、である。
【０２９４】
さて、第１回目のフィルタ処理は、実施の形態２の第１回目のフィルタ処理（図１０（ａ）〜図１０（ｅ）参照）と同様であり、説明を省略する。
ただし、フィルタ処理終了時において、さらに、以下の処理が実行される。
【０２９５】
図１８（ａ）に示すように、第１回目のフィルタ処理の最後のサイクルＣＹ１８４では、シフトレジスタ３０のフリップフロップＦＦ１〜ＦＦ９は、それぞれ、画素データ（Ｎ−１，６２）〜（Ｎ＋１，６４）を出力する。
【０２９６】
そして、最後のサイクルＣＹ１８４でシフトレジスタ３０が出力する画素データ（Ｎ−１，６２）〜（Ｎ＋１，６４）のうち、第２回目のフィルタ処理に使用する画素データ（Ｎ−１，６３）、（Ｎ，６３）、（Ｎ＋１，６３）、（Ｎ−１，６４）、（Ｎ，６４）、（Ｎ＋１，６４）を、図１５の画素保持バッファ器５０に保持する。
【０２９７】
つまり、最後のサイクルＣＹ１８４でフリップフロップＦＦ４、ＦＦ５、ＦＦ６、ＦＦ７、ＦＦ８、ＦＦ９が出力する画素データ（Ｎ−１，６３）、（Ｎ，６３）、（Ｎ＋１，６３）、（Ｎ−１，６４）、（Ｎ，６４）、（Ｎ＋１，６４）を、図１５の画素保持バッファ器５０に保持する。
【０２９８】
次に、第２回目のフィルタ処理について説明する。第１回目のフィルタ処理終了後に、モード信号ＳＭにより、両端の画素データを出力しないモード情報Ｍ（図１３（ｄ）のモード２’ｂ１１）を設定する。
【０２９９】
また、図１７（ｂ）に示すように、図１の画像メモリ２からソースメモリ１０へ、画素データ（Ｎ−１，６５）、（Ｎ，６５）、（Ｎ＋１，６５）、…、（Ｎ−１，１２６）、（Ｎ，１２６）、（Ｎ＋１，１２６）を転送する。
【０３００】
この場合、画素データ（Ｎ−１，６３）、（Ｎ，６３）、（Ｎ＋１，６３）、（Ｎ−１，６４）、（Ｎ，６４）、（Ｎ＋１，６４）は、ソースメモリ１０へ転送されず、第２回目のフィルタ処理では、フィルタ処理回路５の画素保持バッファ器５０が保持している画素データ（Ｎ−１，６３）、（Ｎ，６３）、（Ｎ＋１，６３）、（Ｎ−１，６４）、（Ｎ，６４）、（Ｎ＋１，６４）を使用する。
【０３０１】
さて、図１８（ｂ）に示すように、第２回目のフィルタ処理の最初のサイクルＣＹ＃１では、フリップフロップＦＦ９は、ソースメモリ１０から入力された画素データ（Ｎ−１，６５）を出力する。
【０３０２】
また、サイクルＣＹ＃１では、フリップフロップＦＦ３、ＦＦ６は、それぞれ、図１５の画素保持バッファ器５０から入力された画素データ（Ｎ−１，６３）、（Ｎ−１，６４）を出力する。
【０３０３】
次のサイクルＣＹ＃２では、フリップフロップＦＦ９は、ソースメモリ１０から入力された画素データ（Ｎ，６５）を出力し、フリップフロップＦＦ８は、フリップフロップＦＦ９からシフトされた画素データ（Ｎ−１，６５）を出力する。
【０３０４】
また、サイクルＣＹ＃２では、フリップフロップＦＦ３、ＦＦ６は、それぞれ、図１５の画素保持バッファ器５０から入力された画素データ（Ｎ，６３）、（Ｎ，６４）を出力し、フリップフロップＦＦ２、ＦＦ５は、それぞれ、フリップフロップＦＦ３、ＦＦ６からシフトされた画素データ（Ｎ−１，６３）、（Ｎ−１，６４）を出力する。
【０３０５】
次のサイクルＣＹ＃３では、フリップフロップＦＦ９は、ソースメモリ１０から入力された画素データ（Ｎ＋１，６５）を出力し、フリップフロップＦＦ７、ＦＦ８は、それぞれ、フリップフロップＦＦ８、ＦＦ９からシフトされた画素データ（Ｎ−１，６５）、（Ｎ，６５）を出力する。
【０３０６】
また、サイクルＣＹ＃３では、フリップフロップＦＦ３、ＦＦ６は、それぞれ、図１５の画素保持バッファ器５０から入力された画素データ（Ｎ＋１，６３）、（Ｎ＋１，６４）を出力し、フリップフロップＦＦ１、ＦＦ２、ＦＦ４、ＦＦ５は、それぞれ、フリップフロップＦＦ２、ＦＦ３、ＦＦ５、ＦＦ６からシフトされた画素データ（Ｎ−１，６３）、（Ｎ，６３）（Ｎ−１，６４）、（Ｎ，６４）を出力する。
【０３０７】
この時点で、図１８（ｃ）に示すように、最初のフィルタ処理画素データ（ＦＮ，６４）が出力され、以降は実施の形態２と同様に通常のシフト動作を行ってフィルタ処理を行う。
【０３０８】
そして、第１回目のフィルタ処理の場合と同様に、第２回目のフィルタ処理の終了時に、第３回目のフィルタ処理に使用する画素データを、図１５の画素保持バッファ器５０に保持する。
【０３０９】
つまり、第２回目のフィルタ処理の終了時にフリップフロップＦＦ４、ＦＦ５、ＦＦ６、ＦＦ７、ＦＦ８、ＦＦ９が出力する画素データ（Ｎ−１，１２５）、（Ｎ，１２５）、（Ｎ＋１，１２５）、（Ｎ−１，１２６）、（Ｎ，１２６）、（Ｎ＋１，１２６）を、画素保持バッファ器５０に保持する。
【０３１０】
次に、第３回目のフィルタ処理について説明する。第２回目のフィルタ処理終了後に、モード信号ＳＭにより、左端の画素データを出力しないモード情報Ｍ（図１３（ｃ）のモード２’ｂ１０）を設定する。
【０３１１】
また、図１７（ｃ）に示すように、図１の画像メモリ２からソースメモリ１０へ、画素データ（Ｎ−１，１２７）、（Ｎ，１２７）、（Ｎ＋１，１２７）、…、（Ｎ−１，１７６）、（Ｎ，１７６）、（Ｎ＋１，１７６）を転送する。
【０３１２】
この場合、画素データ（Ｎ−１，１２５）、（Ｎ，１２５）、（Ｎ＋１，１２５）、（Ｎ−１，１２６）、（Ｎ，１２６）、（Ｎ＋１，１２６）は、ソースメモリ１０へ転送されず、第３回目のフィルタ処理では、フィルタ処理回路５の画素保持バッファ器５０が保持している画素データ（Ｎ−１，１２５）、（Ｎ，１２５）、（Ｎ＋１，１２５）、（Ｎ−１，１２６）、（Ｎ，１２６）、（Ｎ＋１，１２６）を使用する。
【０３１３】
第３回目のフィルタ処理の３サイクル目までは、第２回目のフィルタ処理の３サイクル目までの処理と同様に、シフトレジスタ３０は、ソースメモリ１０と画素保持バッファ器５０とから入力された画素データを出力し、フィルタ処理が実行される。４サイクル目からの処理は、実施の形態２と同様である。
【０３１４】
さて、次に、画素保持バッファ器５０への画素データの転送と、画素保持バッファ器５０からシフトレジスタ３０への画素データの転送と、を図１５を用いて詳しく説明する。
【０３１５】
セレクタ制御器５１には、レジスタ３３に保持されているモード情報Ｍが与えられる。
【０３１６】
セレクタ制御器５１は、モード情報Ｍを基に、選択信号ＳＣを生成する。この選択信号ＳＣは、セレクタ５２、５３に与えられる。
【０３１７】
セレクタ５２には、画素保持バッファ器５０が出力する画素データと、フリップフロップＦＦ４が出力する画素データと、が入力される。
【０３１８】
そして、セレクタ５２は、入力される選択信号ＳＣに従って、画素保持バッファ器５０が出力する画素データ、あるいは、フリップフロップＦＦ４が出力する画素データ、のいずれか一方を選択して、選択した画素データを、フリップフロップＦＦ３へ出力する。
【０３１９】
一方、セレクタ５３には、画素保持バッファ器５０が出力する画素データと、フリップフロップＦＦ７が出力する画素データと、が入力される。
【０３２０】
そして、セレクタ５３は、入力される選択信号ＳＣに従って、画素保持バッファ器５０が出力する画素データ、あるいは、フリップフロップＦＦ７が出力する画素データ、のいずれか一方を選択して、選択した画素データを、フリップフロップＦＦ６へ出力する。
【０３２１】
以上のことを、図１８（ａ）（ｂ）の例を用いて説明する。図１８（ａ）に示すように、第１回目のフィルタ処理のサイクルＣＹ１８４では、図１５のフリップフロップＦＦ４〜ＦＦ９が出力した画素データ（Ｎ−１，６３）、（Ｎ，６３）、（Ｎ＋１，６３）、（Ｎ−１，６４）、（Ｎ，６４）、（Ｎ＋１，６４）は、画素保持バッファ器５０に保持される。
【０３２２】
そして、図１８（ｂ）に示すように、第２回目のフィルタ処理のサイクルＣＹ＃１では、フリップフロップＦＦ３、ＦＦ６は、それぞれ、画素データ（Ｎ−１，６３）、（Ｎ−１，６４）を出力する。
【０３２３】
従って、サイクルＣＹ＃１の前で、図１５のセレクタ５２は、選択信号ＳＣに従って、画素保持バッファ器５０が出力する画素データ（Ｎ−１，６３）を選択して、フリップフロップＦＦ３へ入力する。
【０３２４】
また、サイクルＣＹ＃１の前で、選択信号ＳＣに従って、セレクタ５３は、画素保持バッファ器５０が出力する画素データ（Ｎ−１，６４）を選択して、フリップフロップＦＦ６へ入力する。
【０３２５】
図１８（ｂ）に示すように、サイクルＣＹ＃２では、フリップフロップＦＦ３、ＦＦ６は、それぞれ、画素データ（Ｎ，６３）、（Ｎ，６４）を出力する。
【０３２６】
従って、サイクルＣＹ＃２の前で、選択信号ＳＣに従って、セレクタ５２は、画素保持バッファ器５０が出力する画素データ（Ｎ，６３）を選択して、フリップフロップＦＦ３へ入力する。
【０３２７】
また、サイクルＣＹ＃２の前で、選択信号ＳＣに従って、セレクタ５３は、画素保持バッファ器５０が出力する画素データ（Ｎ，６４）を選択して、フリップフロップＦＦ６へ入力する。
【０３２８】
図１８（ｂ）に示すように、サイクルＣＹ＃３では、フリップフロップＦＦ３、ＦＦ６は、それぞれ、画素データ（Ｎ＋１，６３）、（Ｎ＋１，６４）を出力する。
【０３２９】
従って、サイクルＣＹ＃３の前で、選択信号ＳＣに従って、セレクタ５２は、画素保持バッファ器５０が出力する画素データ（Ｎ＋１，６３）を選択して、フリップフロップＦＦ３へ入力する。
【０３３０】
また、サイクルＣＹ＃３の前で、選択信号ＳＣに従って、セレクタ５３は、画素保持バッファ器５０が出力する画素データ（Ｎ＋１，６４）を選択して、フリップフロップＦＦ６へ入力する。
【０３３１】
以降では、選択信号ＳＣに従って、セレクタ５２、５３は、それぞれ、フリップフロップＦＦ４、ＦＦ７が出力する画素データを選択する。
【０３３２】
以上のように、実施の形態３による画像処理装置によれば、今回のフィルタ処理の終了時点で、次回のフィルタ処理に必要な画素データを保持し、次回のフィルタ処理時に流用できる。その結果、データの転送数を削減可能である。
【０３３３】
また、実施の形態３による画像処理装置は、実施の形態２による画像処理装置の構成を包含しているので、実施の形態２と同様の効果を奏する。
【０３３４】
（実施の形態４）
本発明の実施の形態４における画像処理装置は、図１のフィルタ処理回路３に代えて、以下に説明するフィルタ処理回路６を設けたものである。実施の形態４における画像処理装置のその他の構成は、図１の画像処理装置と同様である。
【０３３５】
図１９は、実施の形態４におけるフィルタ処理回路６のブロック図である。なお、図１９において、図９と同様の部分については、同一の符号を付している。
【０３３６】
図１９に示すように、このフィルタ処理回路６は、図９のデータ出力制御ユニット８０に代えて、データ出力制御ユニット８１を設けたものである。
【０３３７】
このデータ出力制御ユニット８１は、ダウンカウンタ６２、一致検出器６１、及び、端画素処理器３２、を含む。
【０３３８】
フィルタ処理の開始前に、画素数設定信号ＳＮにより、ダウンカウンタ６２及び一致検出器６１に、１ライン分の画素数を初期値として設定する。画素数設定信号ＳＮは、例えば、プロセッサ１の命令で入力される。
【０３３９】
ダウンカウンタ６２は、端画素処理器３２から画素データＤ＄が出力される度に、カウントダウンを実行する。
【０３４０】
具体的には、ダウンカウンタ６２は、端画素処理器３２から「Ｈ」レベルの書込指示信号ＳＷが入力される度に、カウントダウンを実行する。
【０３４１】
そして、ダウンカウンタ６２は、カウント数を表すカウントダウン信号ＳＤを、一致検出器６１に出力する。
【０３４２】
一致検出器６１は、画素数設定信号ＳＮにより設定された画素数と、カウントダウン信号ＳＤが表すカウント数と、を比較し、一致している場合は、「Ｈ」レベルの一致信号ＳＡを、端画素処理器３２に出力する。
【０３４３】
また、一致検出器６１は、カウントダウン信号ＳＤが表すカウント数が「１」の場合に、「Ｈ」レベルの一致信号ＳＡを、端画素処理器３２に出力する。
【０３４４】
従って、「Ｈ」レベルの一致信号ＳＡが出力されるのは、一番最初の画素データＤ＄が出力される前及び一番最後の画素データＤ＄が出力される前だけである。
【０３４５】
端画素処理器３２は、「Ｈ」レベルの一致信号ＳＡが入力された場合と、フィルタ処理開始信号Ｓｓが入力されず、かつ、「Ｌ」レベルの一致信号ＳＡが入力された場合と、フィルタ処理終了信号Ｓｅが入力されず、かつ、「Ｌ」レベルの一致信号ＳＡが入力された場合と、において、入力された画素データを出力する。
【０３４６】
従って、フィルタ処理開始信号Ｓｓ及び「Ｌ」レベルの一致信号ＳＡが入力された場合と、フィルタ処理終了信号Ｓｅ及び「Ｌ」レベルの一致信号ＳＡが入力された場合と、においては、入力された画素データを出力しない。この点は、後で具体例を挙げながら説明する。
【０３４７】
また、端画素処理器３２は、「Ｈ」レベルの一致信号ＳＡが入力された場合と、フィルタ処理開始信号Ｓｓが入力されず、かつ、「Ｌ」レベルの一致信号ＳＡが入力された場合と、フィルタ処理終了信号Ｓｅが入力されず、かつ、「Ｌ」レベルの一致信号ＳＡが入力された場合と、において、「Ｈ」レベルの書込指示信号を出力する。
【０３４８】
従って、フィルタ処理開始信号Ｓｓ及び「Ｌ」レベルの一致信号ＳＡが入力された場合と、フィルタ処理終了信号Ｓｅ及び「Ｌ」レベルの一致信号ＳＡが入力された場合と、においては、「Ｈ」レベルの書込指示信号を出力しない。この点は、後で具体例を挙げながら説明する。
【０３４９】
次に、実施の形態４のフィルタ処理の特徴を簡単に説明する。
図２０は、実施の形態４の画像処理装置によるフィルタ処理の概念図である。なお、図２０での表記は、図２での表記と同様である。
【０３５０】
図２０に示すように、本実施の形態では、図１９のダウンカウンタ６２に、１ラインの画素数１７６を設定する。
【０３５１】
そして、図１９の端画素処理器３２が、画素データＤ＄を出力する度に、ダカウンタ６２は、「１」づつカウントダウンしていく。
【０３５２】
データ出力制御ユニット８１は、ダウンカウンタ６２の情報に基づいて、入力される画素データのうち、必要な画素データ＄だけを出力する。
【０３５３】
このように、最初に１ライン分の画素数をダウンカウンタ６２に設定するだけで、３ライン×１７６画素の画像データのための端画素処理を実行できる。
【０３５４】
なお、実施の形態２では、３ライン×１７６画素の画像データのための端画素処理を実行するには、モード情報Ｍを、３回設定した。
【０３５５】
次に、フィルタ処理を詳細に説明する。
この場合、図１のソースメモリ１０が、最大で３ライン×６４画素の画像データを格納可能である場合を例に挙げる。
【０３５６】
また、フィルタ処理の単位は、３画素×３画素の画像データとし、３画素×３画素の中心に位置する画素に対応する画素データが、フィルタ対象画素データである。
【０３５７】
図２１（ａ）〜図２１（ｃ）は、フィルタ処理を行う際の処理の流れを示す図である。図２１（ａ）は、第１回目のフィルタ処理を行う際の処理の流れを示す図、図２１（ｂ）は、第２回目のフィルタ処理を行う際の処理の流れを示す図、図２２（ｃ）は、第３回目のフィルタ処理を行う際の処理の流れを示す図、である。
【０３５８】
なお、図２１（ａ）〜図２１（ｃ）において、図１と同様の部分については、同一の符号を付している。
【０３５９】
図２２（ａ）〜図２２（ｆ）は、第１回目のフィルタ処理のタイムチャートである。図２２（ａ）は、図１９のフィルタ演算器３１に与えられる画素データを各サイクル毎に示す図、図２２（ｂ）は、図１９のダウンカウンタ６２のカウント数を示す図、図２２（ｃ）は、図１９のフィルタ演算器３１が出力する画素データを示す図、図２２（ｄ）は、図９のフィルタ演算器３１が出力する有効データ指示信号を示す図、図２２（ｅ）は、データ書き込み部１２１がデスティネーションメモリ１１に書き込む画素データを示す図、図２２（ｆ）は、図１９の端画素処理器３２が出力する書込指示信号を示す図、である。
【０３６０】
図２３（ａ）〜図２３（ｆ）は、第２回目のフィルタ処理のタイムチャートである。図２３（ａ）は、図１９のフィルタ演算器３１に与えられる画素データを各サイクル毎に示す図、図２３（ｂ）は、図１９のダウンカウンタ６２のカウント数を示す図、図２３（ｃ）は、図１９のフィルタ演算器３１が出力する画素データを示す図、図２３（ｄ）は、図９のフィルタ演算器３１が出力する有効データ指示信号を示す図、図２３（ｅ）は、データ書き込み部１２１がデスティネーションメモリ１１に書き込む画素データを示す図、図２３（ｆ）は、図１９の端画素処理器３２が出力する書込指示信号を示す図、である。
【０３６１】
図２４（ａ）〜図２４（ｆ）は、第３回目のフィルタ処理のタイムチャートである。図２４（ａ）は、図１９のフィルタ演算器３１に与えられる画素データを各サイクル毎に示す図、図２４（ｂ）は、図１９のダウンカウンタ６２のカウント数を示す図、図２４（ｃ）は、図１９のフィルタ演算器３１が出力する画素データを示す図、図２４（ｄ）は、図９のフィルタ演算器３１が出力する有効データ指示信号を示す図、図２２（ｅ）は、データ書き込み部１２１がデスティネーションメモリ１１に書き込む画素データを示す図、図２４（ｆ）は、図１９の端画素処理器３２が出力する書込指示信号を示す図、である。
【０３６２】
まず、図１、図１９、図２１（ａ）及び、図２２（ａ）〜（ｆ）を用いて、第１回目のフィルタ処理について説明する。
【０３６３】
図１９のフィルタ演算器３１が、フィルタ処理画素データＤ＃及び有効データ指示信号ＳＥを出力するまでの処理は、実施の形態１の図４のフィルタ演算器３１が、フィルタ処理画素データＤ＃及び有効データ指示信号ＳＥを出力するまでの処理（図５（ａ）〜（ｃ）参照）と同様であり、説明を省略する。
【０３６４】
ただし、図１９に示すように、第１回目のフィルタ処理の開始前に、画素数設定信号ＳＮにより、ダウンカウンタ６２及び一致検出器６１に、１ライン分の画素数「１７６」を設定する。
【０３６５】
従って、図２２（ｂ）に示すように、ダウンカウンタ６２は、一番最初は、カウント数「１７６」を表すカウントダウン信号ＳＤを一致検出器６１に出力する。
【０３６６】
この場合、画素数設定信号ＳＮにより設定された画素数「１７６」と、カウントダウン信号ＳＤが表すカウント数「１７６」と、が一致しているため、一致検出器６１は、「Ｈ」レベルの一致信号ＳＡを、端画素処理器３２に出力する。
【０３６７】
すると、この一致信号ＳＡを受けて、端画素処理器３２は、図２２（ｅ）（ｆ）に示すように、フィルタ演算器３１が出力した画素データ（Ｎ，１）と、「Ｈ」レベルの書込指示信号ＳＷと、を出力する。
【０３６８】
また、端画素処理器３２は、「Ｈ」レベルの書込指示信号ＳＷをダウンカウンタ６２へも出力する。
【０３６９】
すると、ダウンカウンタ６２は、初期値「１７６」から１つカウントダウンして、図２２（ｂ）に示すように、カウント数「１７５」を表すカウントダウン信号ＳＤを一致検出器６１に出力する。
【０３７０】
この場合、画素数設定信号ＳＮにより設定された画素数「１７６」と、カウントダウン信号ＳＤが表すカウント数「１７５」と、が一致していないため、一致検出器６１は、「Ｌ」レベルの一致信号ＳＡを出力する。
【０３７１】
従って、端画素処理器３２は、図２２（ｅ）（ｆ）に示すように、フィルタ演算器３１が出力したフィルタ処理画素データ（ＦＮ，２）と、「Ｈ」レベルの書込指示信号ＳＷと、を出力する。
【０３７２】
また、端画素処理器３２は、図２２（ｆ）に示すように、「Ｈ」レベルの書込指示信号ＳＷをダウンカウンタ６２へも出力する。
【０３７３】
以降においても、「Ｌ」レベルの一致信号ＳＡは出力されるので、端画素処理器３２は、図２２（ｅ）に示すように、フィルタ演算器３１が出力したフィルタ処理画素データ（ＦＮ，３）、…、（ＦＮ，６３）を、データ書き込み部１２１に出力していく。
【０３７４】
また、端画素処理器３２は、図２２（ｆ）に示すように、フィルタ処理画素データ（ＦＮ，３）、…、（ＦＮ，６３）の出力に合わせて、データ書き込み部１２１に、「Ｈ」レベルの書込指示信号ＳＷを出力していく。
【０３７５】
そして、端画素処理器３２がフィルタ処理画素データ（ＦＮ，６３）を出力した後に、データ読み出し部１２０が、フィルタ処理終了信号Ｓｅを、端画素処理器３２に入力する。
【０３７６】
すると、フィルタ処理終了信号Ｓｅ及び「Ｌ」レベルの一致信号ＳＡを受けて、端画素処理器３２は、図２２（ｅ）に示すように、フィルタ演算器３１が最後に出力した画素データ（Ｎ，６４）を出力しない。
【０３７７】
また、フィルタ処理終了信号Ｓｅ及び「Ｌ」レベルの一致信号ＳＡを受けて、端画素処理器３２は、図２２（ｆ）に示すように、「Ｈ」レベルの書込指示信号ＳＷを出力しない。
【０３７８】
従って、ダウンカウンタ６２は、カウントダウンを実行しないため、第１回目のフィルタ処理が終了した時点では、カウント数は「１１３」である。
【０３７９】
以上の結果、図２１（ａ）に示すように、デスティネーションメモリ１１には、必要な画素データ（Ｎ，１）、（ＦＮ，２）、…、（ＦＮ，６３）だけが書き込まれ、不要な画素データ（Ｎ，６４）は、書き込まれない。
【０３８０】
そして、デスティネーションメモリ１１に書き込まれた画素データ（Ｎ，１）、（ＦＮ，２）、…、（ＦＮ，６３）は、画像メモリ２に転送される。
【０３８１】
次に、図１、図１９、図２１（ｂ）及び、図２３（ａ）〜（ｆ）を用いて、第２回目のフィルタ処理について説明する。
【０３８２】
図１９のフィルタ演算器３１が、フィルタ処理画素データＤ＃及び有効データ指示信号ＳＥを出力するまでの処理は、実施の形態１の図４のフィルタ演算器３１が、フィルタ処理画素データＤ＃及び有効データ指示信号ＳＥを出力するまでの処理（図６（ａ）〜（ｃ）参照）と同様であり、説明を省略する。
【０３８３】
さて、図２３（ｃ）（ｄ）に示すように、端画素処理器３２は、有効データ指示信号ＳＥに従って、フィルタ演算器３１から出力される画素データ（Ｎ，６３）、（ＦＮ，６４）、…、（ＦＮ，１２５）、（Ｎ、１２６）、を取り込む。
【０３８４】
このケースでは、図２３（ｂ）に示すように、画素数設定信号ＳＮにより設定された画素数「１７６」と、カウントダウン信号ＳＤが表すカウント数と、が一致していないため、一致検出器６１は、「Ｌ」レベルの一致信号ＳＡを出力する。
【０３８５】
一方、第２回目のフィルタ処理を開始する際には、データ読み出し部１２０が、図１９の端画素処理器３２に対して、フィルタ処理開始信号Ｓｓを出力する。
【０３８６】
従って、端画素処理器３２は、このフィルタ処理開始信号Ｓｓ及び「Ｌ」レベルの一致信号ＳＡを受けて、図２３（ｅ）に示すように、フィルタ演算器３１が最初に入力する画素データ（Ｎ、６３）を出力しない。
【０３８７】
また、端画素処理器３２は、このフィルタ処理開始信号Ｓｓ及び「Ｌ」レベルの一致信号ＳＡを受けて、図２３（ｆ）に示すように、「Ｈ」レベルの書込指示信号ＳＷを出力しない。
【０３８８】
従って、ダウンカウンタ６２は、カウントダウンを実行しないため、図２３（ｂ）に示すように、この時点では、カウント数は「１１３」のままである。
【０３８９】
以降においては、端画素処理器３２へ、フィルタ処理開始信号Ｓｓが入力されず、かつ、「Ｌ」レベルの一致信号ＳＡ入力されるため、端画素処理器３２は、フィルタ演算器３１が出力したフィルタ処理画素データ（ＦＮ，６４）、…、（ＦＮ，１２５）を、図２３（ｅ）に示すように、出力していく。
【０３９０】
また、端画素処理器３２は、図２３（ｆ）に示すように、フィルタ処理画素データ（ＦＮ，６４）、…、（ＦＮ，１２５）の出力に合わせて、データ書き込み部１２１に、「Ｈ」レベルの書込指示信号ＳＷを出力していく。
【０３９１】
そして、図２３（ｅ）に示すように、端画素処理器３２がフィルタ処理画素データ（ＦＮ，１２５）を出力した後に、データ読み出し部１２０が、フィルタ処理終了信号Ｓｅを、端画素処理器３２に入力する。
【０３９２】
すると、フィルタ処理終了信号Ｓｅ及び「Ｌ」レベルの一致信号ＳＡを受けて、端画素処理器３２は、図２３（ｅ）に示すように、フィルタ演算器３１が最後に出力した画素データ（Ｎ，１２６）を出力しない。
【０３９３】
また、フィルタ処理終了信号Ｓｅ及び「Ｌ」レベルの一致信号ＳＡを受けて、端画素処理器３２は、図２３（ｆ）に示すように、「Ｈ」レベルの書込指示信号ＳＷを出力しない。
【０３９４】
従って、ダウンカウンタ６２は、カウントダウンを実行しないため、第２回目のフィルタ処理が終了した時点では、カウント数は「５１」である。
【０３９５】
以上の結果、図２１（ｂ）に示すように、デスティネーションメモリ１１には、必要な画素データ（ＦＮ，６４）、…、（ＦＮ，１２５）だけが書き込まれ、不要な画素データ（Ｎ，６３）、（Ｎ，１２６）は、書き込まれない。
【０３９６】
そして、デスティネーションメモリ１１に書き込まれた画素データ（ＦＮ，６４）、…、（ＦＮ，１２５）は、画像メモリ２に転送される。
【０３９７】
次に、図１、図１９、図２１（ｃ）及び、図２４（ａ）〜（ｆ）を用いて、第３回目のフィルタ処理について説明する。
【０３９８】
図１９のフィルタ演算器３１が、フィルタ処理画素データＤ＃及び有効データ指示信号ＳＥを出力するまでの処理は、実施の形態１の図４のフィルタ演算器３１が、フィルタ処理画素データＤ＃及び有効データ指示信号ＳＥを出力するまでの処理（図７（ａ）〜（ｃ）参照）と同様であり、説明を省略する。
【０３９９】
さて、図２４（ｃ）（ｄ）に示すように、端画素処理器３２は、有効データ指示信号ＳＥに従って、フィルタ演算器３１から出力される画素データ（Ｎ，１２５）、（ＦＮ，１２６）、…、（ＦＮ，１７５）、（Ｎ、１７６）、を取り込む。
【０４００】
このケースでは、図２４（ｂ）に示すように、画素数設定信号ＳＮにより設定された画素数「１７６」と、カウントダウン信号ＳＤが表すカウント数と、が一致していないため、一致検出器６１は、「Ｌ」レベルの一致信号ＳＡを出力する。
【０４０１】
一方、第３回目のフィルタ処理を開始する際には、データ読み出し部１２０が、図１９の端画素処理器３２に対して、フィルタ処理開始信号Ｓｓを出力する。
【０４０２】
従って、端画素処理器３２は、このフィルタ処理開始信号Ｓｓ及び「Ｌ」レベルの一致信号ＳＡを受けて、図２４（ｅ）に示すように、フィルタ演算器３１が最初に入力する画素データ（Ｎ、１２５）を出力しない。
【０４０３】
また、端画素処理器３２は、このフィルタ処理開始信号Ｓｓ及び「Ｌ」レベルの一致信号ＳＡを受けて、図２４（ｆ）に示すように、「Ｈ」レベルの書込指示信号ＳＷを出力しない。
【０４０４】
従って、ダウンカウンタ６２は、カウントダウンを実行しないため、図２４（ｂ）に示すように、この時点では、カウント数は「５１」のままである。
【０４０５】
以降においては、端画素処理器３２へ、フィルタ処理開始信号Ｓｓが入力されず、かつ、「Ｌ」レベルの一致信号ＳＡが入力されるため、端画素処理器３２は、フィルタ演算器３１が出力したフィルタ処理画素データ（ＦＮ，１２６）、…、（ＦＮ，１７５）を、図２４（ｅ）に示すように、出力していく。
【０４０６】
また、端画素処理器３２は、図２４（ｆ）に示すように、フィルタ処理画素データ（ＦＮ，１２６）、…、（ＦＮ，１７５）の出力に合わせて、データ書き込み部１２１に、「Ｈ」レベルの書込指示信号ＳＷを出力していく。
【０４０７】
図２４（ｂ）に示すように、端画素処理器３２が、フィルタ処理画素データ（ＦＮ，１７５）を出力した後は、ダウンカウンタ６２のカウント数は「１」となる。
【０４０８】
従って、一致検出器６１には、カウント数「１」を表すカウントダウン信号ＳＤが入力されるため、一致検出器６１は、端画素処理器３２へ、「Ｈ」レベルの一致信号ＳＡを出力する。
【０４０９】
すると、この「Ｈ」レベルの一致信号ＳＡを受けて、端画素処理器３２は、図２４（ｅ）に示すように、フィルタ演算器３１が最後に出力した画素データ（Ｎ，１７６）を出力する。
【０４１０】
また、「Ｈ」レベルの一致信号ＳＡを受けて、端画素処理器３２は、図２４（ｆ）に示すように、「Ｈ」レベルの書込指示信号ＳＷを出力する。
【０４１１】
以上の結果、図２１（ｃ）に示すように、デスティネーションメモリ１１には、必要な画素データ（ＦＮ，１２６）、…、（ＦＮ，１７５）、（Ｎ，１７６）だけが書き込まれ、不要な画素データ（Ｎ，１２５）は、書き込まれない。
【０４１２】
そして、デスティネーションメモリ１１に書き込まれた画素データ（ＦＮ，１２６）、…、（ＦＮ，１７５）、（Ｎ，１７６）は、画像メモリ２に転送される。
【０４１３】
さて、以上ように、実施の形態４による画像処理装置によれば、フィルタ処理が終了した画素データは、中間の処理で出力される不必要な画素データ（Ｎ，６４）、（Ｎ，６３）、（Ｎ，１２６）、（Ｎ，１２５）を取り除いてあるため、ラインデータを作成する処理時間を削減可能である。
【０４１４】
また、処理する画素数を、最初に設定するのみで、後の端画素処理を実行できるため、端画素処理のための情報を設定する回数を削減可能である。
【０４１５】
また、実施の形態４による画像処理装置は、実施の形態１による画像処理装置の構成を包含しているので、実施の形態１と同様の効果を奏する。
【０４１６】
【発明の効果】
請求項１記載の画像処理方法では、複数ラインの画像データを、転送先の記憶手段の記憶容量に合わせて任意に分割して転送できるので、複数ラインの画像データを格納可能な大きな記憶容量を有する記憶手段を用意する必要がない。その結果、面積の増大の抑制を図ることができる。
【０４１７】
また、転送先として既存の記憶手段を利用できるので、転送先となるフィルタ処理専用の記憶手段を設けることが不要となる。その結果、さらに面積の増大の抑制を図ることができる。
【０４１８】
さらに、複数の画素データを記憶手段から順次読み出していくため、同じ画素データを複数回読み出すことなく、複数のフィルタ対象画素データに対して、フィルタ処理を実行でき、処理時間の短縮化を図ることができる。
【０４１９】
さらに、１ラインにおける画素数を固定せずにフィルタ処理が可能であるため、画像サイズに依存せずフィルタ処理が可能である。
【０４２０】
請求項２記載の画像処理方法では、複数のフィルタ対象画素データに対するフィルタ処理に使用する複数の画素データを、記憶手段から順次読み出していくため、同じ画素データを複数回読み出すことなく、複数のフィルタ対象画素データに対するフィルタ処理を実行でき、処理時間の短縮化を図ることができる。
【０４２１】
請求項３記載の画像処理装置では、複数ラインの画像データを、転送先の第１の記憶手段の記憶容量に合わせて任意に分割して転送できるので、複数ラインの画像データを格納可能な大きな記憶容量を有する第１の記憶手段を用意する必要がない。
【０４２２】
また、転送先の第１の記憶手段として既存の記憶手段を利用できるので、転送先となるフィルタ処理専用の第１の記憶手段を別途設けることが不要となる。
【０４２３】
さらに、複数ラインの画像データを分割した画像データに含まれる複数のフィルタ対象画素データに対して、フィルタ処理が実行されるので、１ラインの画像データを格納可能な大きな記憶容量を有する第２の記憶手段を用意する必要がない。
【０４２４】
さらに、書き込み先の第２の記憶手段として既存の記憶手段を利用できるので、書き込み先となるフィルタ処理専用の第２の記憶手段を別途設けることが不要となる。
【０４２５】
以上の結果、面積の増大の抑制を図ることができる。
【０４２６】
また、複数の画素データを第１の記憶手段から順次読み出していくため、同じ画素データを複数回読み出すことなく、複数のフィルタ対象画素データに対するフィルタ処理を実行でき、処理時間の短縮化を図ることができる。
【０４２７】
また、１ラインにおける画素数を固定せずにフィルタ処理が可能であるため、画像サイズに依存せずフィルタ処理が可能である。
【０４２８】
請求項４記載の画像処理装置では、中間の処理で出力される不必要な画素データを、データ出力制御手段により取り除き、必要な画素データだけを出力できる。その結果、ラインデータを作成する処理時間を削減可能である。
【０４２９】
請求項５記載の画像処理装置では、中間の処理で出力される不必要な画素データを、データ出力制御手段により取り除き、必要な画素データだけを出力できる。その結果、ラインデータを作成する処理時間を削減可能である。
【０４３０】
また、処理する画素数を、最初に設定するのみで、後の端画素処理を実行できるため、端画素処理のための情報を設定する回数を削減可能である。
【０４３１】
請求項６記載の画像処理装置では、今回のフィルタ処理の終了時点で、次回のフィルタ処理に必要な画素データを保持し、次回のフィルタ処理時に流用できる。その結果、データの転送数を削減可能である。
【図面の簡単な説明】
【図１】本発明の実施の形態１における画像処理装置のブロック図
【図２】同画像処理装置によるフィルタ処理の概念図
【図３】（ａ）同画像処理装置による第１回目のフィルタ処理の流れを示す図
（ｂ）同画像処理装置による第２回目のフィルタ処理の流れを示す図
（ｃ）同画像処理装置による第３回目のフィルタ処理の流れを示す図
【図４】同画像処理装置のフィルタ処理回路のブロック図
【図５】（ａ）同画像処理装置による第１回目のフィルタ処理の説明図
（ｂ）同画像処理装置による第１回目のフィルタ処理の説明図
（ｃ）同画像処理装置による第１回目のフィルタ処理の説明図
【図６】（ａ）同画像処理装置による第２回目のフィルタ処理の説明図
（ｂ）同画像処理装置による第２回目のフィルタ処理の説明図
（ｃ）同画像処理装置による第２回目のフィルタ処理の説明図
【図７】（ａ）同画像処理装置による第３回目のフィルタ処理の説明図
（ｂ）同画像処理装置による第３回目のフィルタ処理の説明図
（ｃ）同画像処理装置による第３回目のフィルタ処理の説明図
【図８】（ａ）本発明の実施の形態２における画像処理装置による第１回目のフィルタ処理の流れを示す図
（ｂ）同画像処理装置による第２回目のフィルタ処理の流れを示す図
（ｃ）同画像処理装置による第３回目のフィルタ処理の流れを示す図
【図９】同画像処理装置のフィルタ処理回路のブロック図
【図１０】（ａ）同画像処理装置による第１回目のフィルタ処理の説明図
（ｂ）同画像処理装置による第１回目のフィルタ処理の説明図
（ｃ）同画像処理装置による第１回目のフィルタ処理の説明図
（ｄ）同画像処理装置による第１回目のフィルタ処理の説明図
（ｅ）同画像処理装置による第１回目のフィルタ処理の説明図
【図１１】（ａ）同画像処理装置による第２回目のフィルタ処理の説明図
（ｂ）同画像処理装置による第２回目のフィルタ処理の説明図
（ｃ）同画像処理装置による第２回目のフィルタ処理の説明図
（ｄ）同画像処理装置による第２回目のフィルタ処理の説明図
（ｅ）同画像処理装置による第２回目のフィルタ処理の説明図
【図１２】（ａ）同画像処理装置による第３回目のフィルタ処理の説明図
（ｂ）同画像処理装置による第３回目のフィルタ処理の説明図
（ｃ）同画像処理装置による第３回目のフィルタ処理の説明図
（ｄ）同画像処理装置による第３回目のフィルタ処理の説明図
（ｅ）同画像処理装置による第３回目のフィルタ処理の説明図
【図１３】（ａ）同画像処理装置おけるモード情報２’ｂ００の説明図
（ｂ）同画像処理装置おけるモード情報２’ｂ０１の説明図
（ｃ）同画像処理装置おけるモード情報２’ｂ１０の説明図
（ｄ）同画像処理装置おけるモード情報２’ｂ１１の説明図
【図１４】（ａ）同画像処理装置おけるモード情報２’ｂ０１の使用例の説明図
（ｂ）同画像処理装置おけるモード情報２’ｂ１１の使用例の説明図
（ｃ）同画像処理装置おけるモード情報２’ｂ１０の使用例の説明図
【図１５】本発明の実施の形態３における画像処理装置のフィルタ処理回路のブロック図
【図１６】同画像処理装置におけるフィルタ処理の概念図
【図１７】（ａ）同画像処理装置による第１回目のフィルタ処理の流れを示す図
（ｂ）同画像処理装置による第２回目のフィルタ処理の流れを示す図
（ｃ）同画像処理装置による第３回目のフィルタ処理の流れを示す図
【図１８】（ａ）同画像処理装置によるフィルタ処理の特徴の説明図
（ｂ）同画像処理装置によるフィルタ処理の特徴の説明図
（ｃ）同画像処理装置によるフィルタ処理の特徴の説明図
【図１９】本発明の実施の形態４における画像処理装置のフィルタ処理回路のブロック図
【図２０】同画像処理装置におけるフィルタ処理の概念図
【図２１】（ａ）同画像処理装置による第１回目のフィルタ処理の流れを示す図
（ｂ）同画像処理装置による第２回目のフィルタ処理の流れを示す図
（ｃ）同画像処理装置による第３回目のフィルタ処理の流れを示す図
【図２２】（ａ）同画像処理装置による第１回目のフィルタ処理の説明図
（ｂ）同画像処理装置による第１回目のフィルタ処理の説明図
（ｃ）同画像処理装置による第１回目のフィルタ処理の説明図
（ｄ）同画像処理装置による第１回目のフィルタ処理の説明図
（ｅ）同画像処理装置による第１回目のフィルタ処理の説明図
（ｆ）同画像処理装置による第１回目のフィルタ処理の説明図
【図２３】（ａ）同画像処理装置による第２回目のフィルタ処理の説明図
（ｂ）同画像処理装置による第２回目のフィルタ処理の説明図
（ｃ）同画像処理装置による第２回目のフィルタ処理の説明図
（ｄ）同画像処理装置による第２回目のフィルタ処理の説明図
（ｅ）同画像処理装置による第２回目のフィルタ処理の説明図
（ｆ）同画像処理装置による第２回目のフィルタ処理の説明図
【図２４】（ａ）同画像処理装置による第３回目のフィルタ処理の説明図
（ｂ）同画像処理装置による第３回目のフィルタ処理の説明図
（ｃ）同画像処理装置による第３回目のフィルタ処理の説明図
（ｄ）同画像処理装置による第３回目のフィルタ処理の説明図
（ｅ）同画像処理装置による第３回目のフィルタ処理の説明図
（ｆ）同画像処理装置による第３回目のフィルタ処理の説明図
【図２５】従来の画像処理装置のブロック図
【図２６】従来の画像処理装置のフィルタ処理回路のブロック図
【図２７】従来の画像処理装置によるＮライン目のフィルタ対象画素に対するフィルタ処理の説明図
【図２８】従来の画像処理装置によるＮ＋１ライン目のフィルタ対象画素に対するフィルタ処理の説明図
【符号の説明】
１、５００　プロセッサ
２、５０１　画像メモリ
３、４、５、６、５０３　フィルタ処理回路
１０、５０５　ソースメモリ
１１、５０６　デスティネーションメモリ
１２　制御ユニット
３０　シフトレジスタ
３１　フィルタ演算器
３２　端画素処理器
３３　レジスタ
５０　画素保持バッファ器
５１　セレクタ制御器
５２、５３　セレクタ
６１　一致検出器
６２　ダウンカウンタ
８０、８１　データ出力制御ユニット
１２０、５０５　データ読み出し部
１２１、５０７　データ書き込み部
５０２、５０４　ラインバッファ
５０６　フィルタ処理部
ＦＦ１〜ＦＦ９　フリップフロップ
【図１】
2004147165.tif 000003
【図２】
2004147165.tif 000004
【図３】
2004147165.tif 000005
【図４】
2004147165.tif 000006
【図５】
2004147165.tif 000007
【図６】
2004147165.tif 000008
【図７】
2004147165.tif 000009
【図８】
2004147165.tif 000010
【図９】
2004147165.tif 000011
【図１０】
2004147165.tif 000012
【図１１】
2004147165.tif 000013
【図１２】
2004147165.tif 000014
【図１３】
2004147165.tif 000015
【図１４】
2004147165.tif 000016
【図１５】
2004147165.tif 000017
【図１６】
2004147165.tif 000018
【図１７】
2004147165.tif 000019
【図１８】
2004147165.tif 000020
【図１９】
2004147165.tif 000021
【図２０】
2004147165.tif 000022
【図２１】
2004147165.tif 000023
【図２２】
2004147165.tif 000024
【図２３】
2004147165.tif 000025
【図２４】
2004147165.tif 000026
【図２５】
2004147165.tif 000027
【図２６】
2004147165.tif 000028
【図２７】
2004147165.tif 000029
【図２８】
2004147165.tif 000030