(57)【要約】【課題】画像処理装置において画像処理用のラインバッファとして使用されるメモリモジュールの消費電力を低減する技術を提供する。【解決手段】画像伸長部１３１０は、画像処理の対象となる画像データをラインごとに生成する。白ライン検出部１３１１は、生成された各ラインの画像データから、白画素で構成された白ラインを検出する。ＳＲＡＭ制御部１３２４は、ＳＲＡＭ１３２１にライン単位でバッファリングされた画像データを、フィルタ処理部１３２５による画像処理に使用するためにＳＲＡＭ１３２１から読み出す。ＳＲＡＭ制御部１３２４は、検出された白ラインについては、ＳＲＡＭ１３２１からの画像データの読み出しを行わず、ＳＲＡＭをＲＳ状態にして、代替データを画像処理に使用する。【選択図】図２
2019213124.tif 000002
【特許請求の範囲】
【請求項１】
第１電力状態と、前記第１電力状態より省電力の第２電力状態とを有し、画像処理の対象となる画像データがライン単位でバッファリングされるメモリモジュールと、
前記画像処理の対象となる画像データをラインごとに生成する生成手段と、
前記生成手段によって生成された各ラインの画像データから、所定の繰り返しパターンの複数の画素で構成されたラインを検出する検出手段と、
前記生成手段によって生成されて前記メモリモジュールにライン単位でバッファリングされた画像データを、前記画像処理に使用するために前記メモリモジュールから読み出す制御手段と、を備え、
前記制御手段は、前記検出手段によって検出されたラインについては、前記メモリモジュールからの画像データの読み出しを行わず、前記メモリモジュールを前記第２電力状態にして、前記所定の繰り返しパターンに対応する代替データを前記画像処理に使用する
ことを特徴とする画像処理装置。
【請求項２】
前記制御手段は、
前記検出手段によって検出されなかったラインについては、前記メモリモジュールを前記第１電力状態にして、前記生成手段によって生成された画像データを前記バッファリングのために前記メモリモジュールに書き込み、
前記検出手段によって検出されたラインについては、前記メモリモジュールを前記第２電力状態にして、前記生成手段によって生成された画像データを前記メモリモジュールに書き込まない
ことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記生成手段は、圧縮された入力画像データに対して伸長処理を行って、伸長された画像データをライン単位で生成し、
前記検出手段は、前記生成手段によって生成された各ラインの画像データに対して、前記所定の繰り返しパターンの複数の画素で構成されたラインを識別するための識別データを生成し、
前記制御手段は、前記検出手段によって生成された前記識別データに従って、前記メモリモジュールへのアクセス及び前記メモリモジュールの電力状態を制御する
ことを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
前記代替データを保持する保持手段を更に備え、
前記制御手段は、
前記検出手段によって検出されなかったラインについては、前記メモリモジュールから画像データを読み出し、
前記検出手段によって検出されたラインについては、前記保持手段から前記代替データを読み出す
ことを特徴とする請求項１から３のいずれか１項に記載の画像処理装置。
【請求項５】
前記検出手段は、全ての画素が白画素で構成されたラインを検出する
ことを特徴とする請求項１から４のいずれか１項に記載の画像処理装置。
【請求項６】
前記検出手段は、ランレングス圧縮による繰り返しパターンを有するラインを検出する
ことを特徴とする請求項１から４のいずれか１項に記載の画像処理装置。
【請求項７】
前記検出手段は、ハーフトーン処理による繰り返しパターンを有するラインを検出する
ことを特徴とする請求項１から４のいずれか１項に記載の画像処理装置。
【請求項８】
前記第２電力状態は、前記メモリモジュールへの電力供給を遮断した状態である
ことを特徴とする請求項１から７のいずれか１項に記載の画像処理装置。
【請求項９】
第１電力状態と、前記第１電力状態より省電力の第２電力状態とを有し、画像処理の対象となる画像データがライン単位でバッファリングされるメモリモジュールを備える画像処理装置の制御方法であって、
前記画像処理の対象となる画像データをラインごとに生成する生成工程と、
前記生成工程で生成された各ラインの画像データから、所定の繰り返しパターンの複数の画素で構成されたラインを検出する検出工程と、
前記生成工程で生成されて前記メモリモジュールにライン単位でバッファリングされた画像データを、前記画像処理に使用するために前記メモリモジュールから読み出す制御工程と、を含み、
前記制御工程では、前記検出工程で検出されたラインについては、前記メモリモジュールからの画像データの読み出しを行わず、前記メモリモジュールを前記第２電力状態にして、前記所定の繰り返しパターンに対応する代替データを前記画像処理に使用する
ことを特徴とする画像処理装置の制御方法。
【請求項１０】
請求項９に記載の画像処理装置の制御方法の各工程をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、省電力モードを有するＳＲＡＭ等のメモリモジュールをラインバッファとして用いる画像処理装置及びその制御方法、並びにプログラムに関するものである。
【背景技術】
【０００２】
デジタル複合機（画像形成装置）等の画像処理装置には、一般に、スキャンやプリント等のための画像処理回路を備えたチップが搭載されている。画像処理回路による画像処理では種々の効率化が行われている。特許文献１には、画像データを圧縮する際に、所定単位のうち、出力する必要がない画素（白画素）で構成される出力不要単位を記憶しておき、復号時に出力不要単位を検出して当該出力不要単位の伸長を行わない画像形成装置が開示されている。これにより、画像データの圧縮及び伸長処理の効率を向上させている。
【０００３】
上述のような画像処理回路では、中間画像の保持用のラインバッファとしてＳＲＡＭ等の半導体メモリ（メモリモジュール）が使用される。ＳＲＡＭと画像処理回路とが搭載されたチップでは、動作中のチップ全体の消費電力における、ＳＲＡＭによる消費電力の占める割合が増加している。このため、ＳＲＡＭの消費電力を可能な限り低減することが求められている。
【０００４】
特許文献２には、ＳＲＡＭの消費電力を低減しながら、ＳＲＡＭのデータを保持した状態でＳＲＡＭのリーク電流を低減する技術が開示されている。この技術では、メモリアレイ部に対して、データを保持することが可能な最小限の電圧を与える一方、他の回路への電源を遮断している。このように、ＳＲＡＭ内に格納されたデータを最小限の電圧の印加により保持する動作モードは「レジュームスタンバイ（ＲＳ）モード」と称されうる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０００−８３１７４号公報
【特許文献２】特開２０１２−９４２２８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上述のように、ＳＲＡＭ（メモリモジュール）を画像処理用のラインバッファとして使用する画像処理装置において、ＳＲＡＭの消費電力の低減のためには、ＳＲＡＭを可能な限りＲＳモードで動作させる必要がある。そこで、画像処理に伴うＳＲＡＭへの無駄なアクセスを減らし、ＳＲＡＭへのアクセスを行わないタイミングにＳＲＡＭをＲＳモードで省電力状態にすることで、ＳＲＡＭの消費電力を低減することが期待される。
【０００７】
本発明は、上述の問題に鑑みてなされたものである。本発明は、画像処理装置において画像処理用のラインバッファとして使用されるメモリモジュールの消費電力を低減する技術を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の一態様に係る画像処理装置は、第１電力状態と、前記第１電力状態より省電力の第２電力状態とを有し、画像処理の対象となる画像データがライン単位でバッファリングされるメモリモジュールと、前記画像処理の対象となる画像データをラインごとに生成する生成手段と、前記生成手段によって生成された各ラインの画像データから、所定の繰り返しパターンの複数の画素で構成されたラインを検出する検出手段と、前記生成手段によって生成されて前記メモリモジュールにライン単位でバッファリングされた画像データを、前記画像処理に使用するために前記メモリモジュールから読み出す制御手段と、を備え、前記制御手段は、前記検出手段によって検出されたラインについては、前記メモリモジュールからの画像データの読み出しを行わず、前記メモリモジュールを前記第２電力状態にして、前記所定の繰り返しパターンに対応する代替データを前記画像処理に使用することを特徴とする。
【発明の効果】
【０００９】
本発明によれば、画像処理装置において画像処理用のラインバッファとして使用されるメモリモジュールの消費電力を低減することが可能になる。
【図面の簡単な説明】
【００１０】
【図１】画像処理装置の構成例を示すブロック図。
【図２】画像処理部の構成例を示すブロック図。
【図３】第２処理部の具体的な構成例を示すブロック図。
【図４Ａ】第２処理部において実行される処理の手順を示すフローチャート。
【図４Ｂ】第２処理部において実行される処理の手順を示すフローチャート。
【図５】第２処理部における画像データの転送及び省電力制御の例を示す図。
【図６】第２処理部における画像データの転送及び省電力制御の例を示す図。
【図７Ａ】第２処理部における各種動作のタイミングを示すタイミングチャート。
【図７Ｂ】第２処理部における各種動作のタイミングを示すタイミングチャート。
【図８】第２及び第３実施形態に係る画像処理部の構成例を示すブロック図。
【発明を実施するための形態】
【００１１】
以下、本発明を実施するための形態について図面を用いて説明する。なお、以下の実施形態は特許請求の範囲に係る発明を限定するものでなく、また実施形態で説明されている特徴の組み合わせの全てが発明の解決手段に必須のものとは限らない。
【００１２】
［第１実施形態］
まず、図１乃至図７Ｂを参照して、本発明の第１実施形態について説明する。本実施形態に係る画像処理装置として、プリント機能を有するレーザプリンタを例に説明する。なお、本実施形態は、原稿の画像をスキャンして画像データを生成するスキャン機能を有し、スキャン画像処理を行う画像処理装置（スキャナ等）に対しても同様に適用できる。
【００１３】
＜画像処理装置１００の構成＞
図１は、本実施形態に係る画像処理装置１００の構成例を示すブロック図である。画像処理装置１００は、画像処理プロセッサ１とＤＲＡＭ２とを備える。画像処理プロセッサ１は、レーザプリンタのプリント機能を実現するための画像処理を行うＡＳＩＣ（Application Specific Integrated Circuit）である。画像処理プロセッサ１は、ＣＰＵ１０、ＤＲＡＭ  Ｉ／Ｆ１１、ＤＭＡＣ（ＤＭＡコントローラ）１２、画像処理部１３、及びＤＭＡＣ１４を備える。ＣＰＵ１０、ＤＲＡＭ  Ｉ／Ｆ１１、及びＤＭＡＣ１２，１４は、内部バス１５に接続されており、内部バス１５を介して互いに通信可能である。
【００１４】
ＣＰＵ１０は、ＤＲＡＭ２に展開されたＯＳ又は制御プログラムに従って、プリント機能に関連する処理を統括的に制御する。ＤＲＡＭ Ｉ／Ｆ１１は、画像処理プロセッサ１の外部に配置されたＤＲＡＭ２と内部バス１５とを接続するメモリインタフェースである。ＤＭＡＣ１２は、ＤＲＡＭ２から画像処理部１３に入力画像データを供給するためのＤＭＡ転送を制御するコントローラである。ＤＭＡＣ１４は、画像処理部１３からの出力画像データをＤＲＡＭ２に書き戻すためのＤＭＡ転送を制御する。
【００１５】
画像処理部１３は、第１処理部１３１及び第２処理部１３２で構成される。第１処理部１３１は、ＤＲＡＭ２内に保持された圧縮済の画像データの伸長処理を行う。第２処理部１３２は、第１処理部１３１による伸長処理後の画像データに対して画像処理（例えば、フィルタ処理）を行う。
【００１６】
画像処理部１３では、例えば、１ページ分の画像データに対してプリント画像処理が順次行われる。本実施形態では、主走査方向に１ライン分（ｎ画素）の画像処理が行われ、当該１ライン分の画像処理が副走査方向にｍライン分繰り返されることで、１ページ分の画像処理が行われる。したがって、画像処理部１３内では、第１処理部１３１から第２処理部１３２へ１ライン分の画像データが順次出力されることになる。
【００１７】
＜画像処理部１３の構成＞
図２は、本実施形態に係る、第１処理部１３１及び第２処理部１３２で構成される画像処理部１３の構成例を示すブロック図である。
【００１８】
第１処理部１３１は、画像伸長部１３１０を備える。第１処理部１３１には、ＤＲＡＭ２に保持されているＣＭＹＫ画像データが、ＤＭＡＣ１２を介して入力される。このＣＭＹＫ画像データは、所定の画像圧縮方式（例えば、ＪＢＩＧ圧縮）で圧縮された状態で、ＤＲＡＭ２に保持されている。画像伸長部１３１０は、入力されたＣＭＹＫ画像データに対して画像伸長処理（例えば、ＪＢＩＧ伸長）を実行する。これにより、入力されたＣＭＹＫ画像データは、各色８ビットで構成される、伸長済みの画像データ１３１３（ＣＭＹＫ画像データ）へ変換される。このように、画像伸長部１３１０は、圧縮された入力画像データに対して伸長処理を行って、伸長された画像データをライン単位で生成する。
【００１９】
画像伸長部１３１０には白ライン検出部１３１１が含まれる。白ライン検出部１３１１は、画像伸長処理の実行時に、１ラインの画像データから白画素を検出することで、１ラインの全画素が白画素で構成された白ラインを検出し、検出結果を示す識別データ１３１２を出力する。識別データ１３１２は、画像データ１３１３に含まれる白ラインを識別するためのデータであり、画像データ１３１３とともに第１処理部１３１から第２処理部１３２へ出力される。
【００２０】
第１処理部１３１は、画像データ１３１３と識別データ１３１２とをラインごとに生成し、生成したラインごとのデータを順に第２処理部１３２へ転送する。各ラインのデータの先頭部に識別データ１３１２が配置され、即ち、識別データ１３１２に続けて画像データ１３１３が転送される。
【００２１】
第２処理部１３２は、データ処理部１３２０、ＳＲＡＭ１３２１、ＳＲＡＭ制御部１３２４、フィルタ処理部１３２５、代替データ保持部１３２６、フラグ保持部１３２７、及びセレクタ１３２８を備える。第２処理部１３２は、入力された各色８ビットのＣＭＹＫ画像データに対して、エッジ強調等のためのフィルタ処理を実行し、処理結果を出力する。
【００２２】
上述のフィルタ処理を行うために、入力された画像データにおける、主走査方向に複数画素（例えば、３画素）、副走査方向に複数ライン（例えば、３ライン）の範囲の画素（例えば、３×３画素）を参照する必要がある。そのため、第２処理部１３２は、このような画素の参照用のラインバッファとして、ＳＲＡＭ１３２１（メモリモジュール）を利用する。ＳＲＡＭ１３２１に保持されたデータは、フィルタ処理の実行時に、ＳＲＡＭ  Ｉ／Ｆ１３２２を介してＳＲＡＭ制御部１３２４から参照される。
【００２３】
ＳＲＡＭ制御部１３２４は、ＲＳ制御信号１３２３を介して、ＳＲＡＭ１３２１の省電力状態を制御する。ＳＲＡＭ１３２１は、ＲＳ制御信号１３２３を用いて、ＲＳ（レジュームスタンバイ）モードに基づく省電力制御が行われるように構成されている。本実施形態のＳＲＡＭ１３２１は、第１電力状態（通常状態）と、当該第１電力状態より省電力の第２電力状態（省電力状態）とを有し、画像処理の対象となる画像データがライン単位でバッファリングされるメモリモジュールの一例である。ＳＲＡＭ制御部１３２４は、第１処理部１３１で生成された識別データ１３１２に従って、ＳＲＡＭ１３２１へのアクセス及びＳＲＡＭ１３２１の電力状態を制御する。
【００２４】
フラグ保持部１３２７は、ラインバッファ（ＳＲＡＭ１３２１）の状態を示す状態フラグを保持している。ＳＲＡＭ制御部１３２４は、フラグ保持部１３２７が保持している状態フラグに基づいて、ＳＲＡＭ１３２１からデータを読み出して使用するか、代替データ保持部１３２６から代替データを読み出して使用するかを制御する。なお、代替データは、所定の繰り返しパターンに対応する代替データに相当する。本実施形態では、代替データとして白画素の画素データが用いられる。以下で説明するように、ＳＲＡＭ制御部１３２４は、白ライン検出部１３１１によって白ラインとして検出されなかったラインについては、ＳＲＡＭ１３２１から画像データを読み出す。また、ＳＲＡＭ制御部１３２４は、白ラインとして検出されたラインについては代替データ保持部１３２６から代替データを読み出す。
【００２５】
以下では、本実施形態に係る第２処理部１３２内で行われる、白ラインの検出結果に基づくＳＲＡＭ１３２１の省電力制御について説明する。なお、後述する第２及び第３実施形態に係る第２処理部１３２内では、圧縮データにおける特定のパターンを有する圧縮ラインの検出結果に基づくＳＲＡＭ１３２１の省電力制御が行われる。
【００２６】
＜第２処理部１３２の具体的構成＞
図３は、第２処理部１３２の具体的な構成例を示すブロック図であり、ラインバッファの制御とｎ×ｎ画素（本実施形態では、ｎ＝３）ウィンドウの制御とを実現するための構成例を示している。
【００２７】
上述のように、第１処理部１３１は、画像データ１３１３と識別データ１３１２とをラインごとに生成し、生成したラインごとのデータを順に第２処理部１３２へ転送する。各ラインのデータの先頭部に識別データ１３１２が配置され、即ち、識別データ１３１２に続けて画像データ１３１３が転送される。
【００２８】
図３に示すように、第２処理部１３２は、データ処理部１３２０、ＳＲＡＭ１３２１（１３２１＿１，１３２１＿２（以下、１３２１＿１，２と記載した場合、１３２１＿１及び１３２１＿２を示す。他の参照符号も同様。）、ＳＲＡＭ制御部１３２４、フィルタ処理部１３２５、代替データ保持部１３２６（１３２６＿１，２）、フラグ保持部１３２７（１３２７＿１０，１１，２０，２１）、セレクタ１３２８（１３２８＿１，２）、及びクロック生成部１３２９で構成されている。
【００２９】
データ処理部１３２０は、データ転送制御部１３２０＿０、及び画像処理用ウィンドウ１３２０＿２を有する。画像処理用ウィンドウ１３２０＿２は、フィルタ処理部１３２５によって用いられる画素データを一時的に保持する。具体的には、画像処理用ウィンドウ１３２０＿２は、図３において（行，列）座標で表現された要素（０，０）〜（２，２）に対応する、３行×３列の画素のデータで構成された画像データを保持する。なお、本実施形態では、主走査方向を列、副走査方向を行としている。
【００３０】
データ転送制御部１３２０＿０は、第１処理部１３１からの画像データ（伸長済みの画像データ１３１３）の転送、及び画像処理用ウィンドウ１３２０＿２への画像データの転送等の、画像データの転送を制御する。
【００３１】
データ処理部１３２０による処理に必要な画像データ１３１３については、一例として、第１処理部１３１からＦＩＦＯインタフェース等のインタフェースを介して、１サイクルごとに１画素のデータ（８ビット×ＣＭＹＫ４色）が送られてくるものとする。また、識別データ１３１２については、別のＦＩＦＯインタフェース等のインタフェースを介して、１ラインの先頭で１サイクル分だけ送られてくるものとする。
【００３２】
データ転送制御部１３２０＿０は、（主走査方向（画素数）及び副走査方向（ライン数）用の）データ転送カウンタを有する。データ転送制御部１３２０＿０は、当該データ転送カウンタを用いて、処理対象がラインの先頭であるか否か、処理対象がラインの最後であるか否か、及び処理対象が１ページの最後であるか否か、といった判定を行う。
【００３３】
データ転送制御部１３２０＿０は、第２処理部１３２内のデータの転送制御を行う。例えば、データ転送制御部１３２０＿０は、伸長処理部１３１のＦＩＦＯインタフェースに対して画像データ１３１３を要求し、取得した画像データ１３１３を、ＳＲＡＭ１３２１＿２又は画像処理用ウィンドウ１３２０＿２の要素（２，２）に転送する。また、データ転送制御部１３２０＿０は、伸長処理部１３１のＦＩＦＯインタフェースに識別データ１３１２を要求し、取得した識別データ１３１２を、フラグ保持部１３２７＿２に転送する。更に、データ転送制御部１３２０＿０は、ＳＲＡＭ１３２１のアドレス制御を行う。
【００３４】
ＳＲＡＭ１３２１は、２つのＳＲＡＭ１３２１＿１，２から成り、ラインバッファとして用いられるメモリモジュールである。ＳＲＡＭ１３２１＿１，２は、それぞれ、８ビット×４色（ＣＭＹＫ）のビット幅と、主走査方向の１ライン分（ここでは、１ライン分を６４００画素とする）のワード数とを備える。
【００３５】
ＳＲＡＭ１３２１＿１は、画像処理用ウィンドウ１３２０＿２における要素（０，２）、（０，１）及び（０，０）用のラインバッファ（第ｎ番目のラインのラインバッファ）である。ＳＲＡＭ１３２１＿１に格納されたデータは、セレクタ１３２８＿１を介して、画像処理用ウィンドウ１３２０＿２に読み出される。
【００３６】
ＳＲＡＭ１３２１＿２は、画像処理用ウィンドウ１３２０＿２における要素（１，２）、（１，１）及び（１，０）用のラインバッファ（第ｎ＋１番目のラインのラインバッファ）である。ＳＲＡＭ１３２１＿２に格納されたデータは、セレクタ１３２８＿２を介して、画像処理用ウィンドウ１３２０＿２に読み出される。
【００３７】
ＳＲＡＭ  Ｉ／Ｆ１３２２は、ＳＲＡＭ１３２１に対する一般的なＳＲＡＭアクセス用のインタフェース信号線である。ＳＲＡＭ  Ｉ／Ｆ１３２２＿１はＳＲＡＭ１３２１＿１に対応し、ＳＲＡＭ  Ｉ／Ｆ１３２２＿２はＳＲＡＭ１３２１＿２に対応する。ＳＲＡＭ  Ｉ／Ｆ１３２２＿１，２は、以下の信号用の信号線で構成される。
‐クロック（クロック信号）
‐チップセレクト（ＣＳ信号）
‐書き込みアドレス（ＷＡＤＤＲ信号）
‐書き込みデータ（ＷＤＡＴＡ信号）
‐書き込みイネーブル（ＷＥ信号）
‐読み出しアドレス（ＲＡＤＤＲ信号）
‐読み出しデータ（ＲＤＡＴＡ信号）
【００３８】
ＲＳ制御信号１３２３（１３２３＿１，２）は、ＳＲＡＭ１３２１（１３２１＿１，２）の省電力状態を制御するための制御信号である。ＲＳ制御信号１３２３がＬ（ロー）レベルである場合には、ＳＲＡＭ１３２１は、通常状態に対応する通常モードに設定される。ＲＳ制御信号１３２３がＨ（ハイ）レベルである場合には、ＳＲＡＭ１３２１は、通常モードより省電力の（消費電力が少ない）ＲＳモード（省電力モード）に設定される。
【００３９】
ＳＲＡＭ制御部１３２４は、データ転送制御部１３２０＿０による制御に従って、第１処理部１３１から出力された識別データ１３１２をフラグ保持部１３２７に書き込む制御を行う。また、ＳＲＡＭ制御部１３２４は、データ転送制御部１３２０＿０による制御に従って、第１処理部１３１から出力された画像データ１３１３を、ＳＲＡＭ１３２１＿２又は画像処理用ウィンドウ１３２０＿２の要素（２，２）に書き込む制御を行う。
【００４０】
代替データ保持部１３２６（１３２６＿１，２）は、ＳＲＡＭ１３２１に格納されたデータの代わりに用いられる代替データを保持している。代替データ保持部１３２６＿１には、第ｎ番目のラインが白ライン（全画素が白画素で構成されたライン）である場合に読み出される代替データが格納されている。代替データ保持部１３２６＿２には、第ｎ＋１番目のラインが白ラインである場合に読み出される代替データが格納されている。
【００４１】
フラグ保持部１３２７＿１０，１１は、第ｎ番目のラインが白ライン（全画素が白画素で構成されたライン）であるか否かを示す状態フラグを保持している。フラグ保持部１３２７＿２０，２１は、第ｎ＋１番目のラインが白ラインであるか否かを示す状態フラグを保持している。状態フラグは、更に、各ＳＲＡＭ１３２１＿１，２（ラインバッファ）がＲＳモードであるか否かを示す。
【００４２】
ここで、フラグ保持部１３２７＿１０は、ＳＲＡＭ１３２１＿１の書き込み側の状態フラグを保持し、当該状態フラグは、ＳＲＡＭ１３２１＿１への書き込みに関連する制御信号（ＷＥ信号）とともに書き込み制御に用いられる。フラグ保持部１３２７＿１１は、ＳＲＡＭ１３２１＿１の読み出し側の状態フラグを保持する。
【００４３】
同様に、フラグ保持部１３２７＿２０は、ＳＲＡＭ１３２１＿２の書き込み側の状態フラグを保持し、当該状態フラグは、ＳＲＡＭ１３２１＿２への書き込みに関連する制御信号（ＷＥ信号）とともに書き込み制御に用いられる。フラグ保持部１３２７＿２１は、ＳＲＡＭ１３２１＿２の読み出し側の状態フラグを保持する。
【００４４】
セレクタ１３２８（１３２８＿１，２）は、フラグ保持部１３２７の値（白ラインを示す「１」又は非白ラインを示す「０」）に応じて、代替データ保持部１３２６からデータを読み出すか、ＳＲＡＭ１３２１（ラインバッファ）からデータを読み出すかを選択する。
【００４５】
フィルタ処理部１３２５は、画像処理用ウィンドウ１３２０＿２を参照してフィルタ処理を実行するとともに、次段のＤＭＡＣ１４へのデータの出力制御を行う。本実施形態のフィルタ処理部１３２５は、一例として３×３画素を参照して、フィルタ処理を行う。具体的には、フィルタ処理部１３２５は、主走査方向に３画素、副走査方向に３画素の単位（３×３画素の単位）で、複数の画素を同時に参照し、参照した画素の画素データ（画素値）を用いてフィルタ処理を行う。
【００４６】
クロック生成部１３２９は、ＳＲＡＭ１３２１＿１，２（及び他のモジュール）に対して供給する、同期用のクロックを生成する。なお、図３では、ＳＲＡＭ１３２１＿１，２へ供給されるクロック信号のみを図示しているが、第２処理部１３２内の全モジュールが、クロック生成部１３２９によって生成されたクロック信号を使用している。
【００４７】
＜画像データの転送制御及びＳＲＡＭの省電力制御＞
次に、図３に加えて図４Ａ及び図４Ｂを参照して、画像データの転送制御及びＳＲＡＭ１３２１の省電力制御の手順について説明する。ここでは、図３に示す、３×３画素ウィンドウ及びラインバッファ（ＳＲＡＭ１３２１）を用いて実現される、フィルタ処理部１３２５への画像データの転送及びＳＲＡＭ１３２１の省電力制御について説明する。図４Ａ及び図４Ｂのフローチャートの各ステップの処理は、第２処理部１３２によって実現される。各ステップの処理は、１つ以上のプロセッサ（ＣＰＵ等）が制御プログラムを記憶装置（ＲＯＭ等）から読み出して実行する処理によって実現されてもよいし、少なくとも一部の処理がＡＳＩＣ等のハードウェアを用いて実現されてもよい。
【００４８】
まずＳ０１で、データ転送制御部１３２０＿０は、ＳＲＡＭ１３２１に対する初期設定をＳＲＡＭ制御部１３２４に行わせる。ＳＲＡＭ制御部１３２４は、ラインバッファとして用いられるＳＲＡＭ１３２１（１３２１＿１，２）に対するＲＳ制御信号（１３２３＿１，２）の初期値をいずれも１（ＲＳモード）に設定する。これにより、ＳＲＡＭ１３２１（１３２１＿１，２）は、いずれもＲＳモードで省電力状態（ＲＳ状態）となり、ラインバッファ内部に格納されているデータは不定値となる。また、ＳＲＡＭ制御部１３２４は、フラグ保持部１３２７（１３２７＿１０，１１，２０，２１）の初期値をいずれも１（白ライン）とする。
【００４９】
その後Ｓ０２で、データ転送制御部１３２０＿０は、第１処理部１３１（画像伸長部１３１０）から第２処理部１３２への画像データの転送、及び第２処理部１３２内における画像データの転送を開始し、Ｓ０３へ処理を進める。
【００５０】
Ｓ０３で、データ転送制御部１３２０＿０は、転送対象（処理対象）がページの最後であるか否かを判定し、ページの最後でない場合にはＳ０４へ、ページの最後である場合にはＳ２５へ処理を進める。Ｓ２５で、データ転送制御部１３２０＿０は、ＳＲＡＭ１３２１（１３２１＿１，２）に対するＲＳ制御信号（１３２３＿１，２）をそれぞれ１（ＲＳモード）に設定する。また、データ転送制御部１３２０＿０は、フラグ保持部１３２７（１３２７＿１０，１１，２０，２１）にそれぞれ１（白ライン）を設定し、処理を終了する。一方、Ｓ０４で、データ転送制御部１３２０＿０は、処理対象がラインの先頭であるか否かを判定し、ラインの先頭である場合にはＳ０５ａへ、ラインの先頭でない場合にはＳ１２ａへ処理を進める。
【００５１】
Ｓ０５ａで、データ転送制御部１３２０＿０は、フラグ保持部１３２７＿１０の値をフラグ保持部１３２７＿１１に、フラグ保持部１３２７＿２０の値をフラグ保持部１３２７＿１０，２１にそれぞれ同時に書き込む。また、Ｓ０５ｂで、データ転送制御部１３２０＿０は、第１処理部１３１から識別データ１３１２を読み出してフラグ保持部１３２７＿２０に書き込むことで、フラグ保持部１３２７を更新し、Ｓ０６へ処理を進める。Ｓ０６で、データ転送制御部１３２０＿０は、ＳＲＡＭ１３２１の読み出しアドレス（ＲＡＤＤＲ）及び書き込みアドレス（ＷＡＤＤＲ）を各ラインバッファの先頭アドレスに設定し、Ｓ０７ａへ処理を進める。
【００５２】
Ｓ０７ａで、ＳＲＡＭ制御部１３２４は、フラグ保持部１３２７＿１０，１１に格納された状態フラグの両方の値が１（白ライン）であるか否かを判定する。ＳＲＡＭ制御部１３２４は、両方とも１（白ライン）の場合にはＳ０８ａへ、少なくともいずれかが０（非白ライン）の場合にはＳ１０ａへ、処理を進める。
【００５３】
Ｓ０８ａで、ＳＲＡＭ制御部１３２４は、ＳＲＡＭ１３２１＿１に対するＲＳ制御信号１３２３＿１＝１（ＲＳモード）に設定し、Ｓ０９ａへ処理を進める。Ｓ０９ａで、ＳＲＡＭ制御部１３２４は、ＳＲＡＭ１３２１＿１がＲＳモードになるまで待機し、ＳＲＡＭ１３２１＿１がＲＳモードになるとＳ０７ｂへ処理を進める。一方、Ｓ１０ａで、ＳＲＡＭ制御部１３２４は、ＳＲＡＭ１３２１＿１に対するＲＳ制御信号１３２３＿１＝０（通常モード）に設定し、Ｓ１１ａへ処理を進める。Ｓ１１ａで、ＳＲＡＭ制御部１３２４は、ＳＲＡＭ１３２１＿１が通常モードになるまで待機し、ＳＲＡＭ１３２１＿１が通常モードになるとＳ０７ｂへ処理を進める。
【００５４】
Ｓ０７ｂで、ＳＲＡＭ制御部１３２４は、フラグ保持部１３２７＿２０，２１に格納された状態フラグの両方の値が１（白ライン）であるか否かを判定する。ＳＲＡＭ制御部１３２４は、両方とも１（白ライン）の場合にはＳ０８ｂへ、少なくともいずれかが０（非白ライン）の場合にはＳ１０ｂへ、処理を進める。
【００５５】
Ｓ０８ｂで、ＳＲＡＭ制御部１３２４は、ＳＲＡＭ１３２１＿２に対するＲＳ制御信号１３２３＿２＝１（ＲＳモード）に設定し、Ｓ０９ｂへ処理を進める。Ｓ０９ｂで、ＳＲＡＭ制御部１３２４は、ＳＲＡＭ１３２１＿２がＲＳモードになるまで待機し、ＳＲＡＭ１３２１＿２がＲＳモードになるとＳ１２ａへ処理を進める。一方、Ｓ１０ｂで、ＳＲＡＭ制御部１３２４は、ＳＲＡＭ１３２１＿２に対するＲＳ制御信号１３２３＿２＝０（通常モード）に設定し、Ｓ１１ｂへ処理を進める。Ｓ１１ｂで、ＳＲＡＭ制御部１３２４は、ＳＲＡＭ１３２１＿２が通常モードになるまで待機し、ＳＲＡＭ１３２１＿２が通常モードになるとＳ１２ａへ処理を進める。
【００５６】
Ｓ１２ａで、ＳＲＡＭ制御部１３２４は、フラグ保持部１３２７＿１１に格納された状態フラグの値が１（白ライン）であるか否かを判定し、値が１（白ライン）である場合にはＳ１３ａへ、値が０（非白ライン）である場合にはＳ１４ａへ、処理を進める。
【００５７】
Ｓ１３ａで、セレクタ１３２８＿１は、代替データ保持部１３２６＿１から画素データを読み出し、Ｓ１５ａへ処理を進める。一方、Ｓ１４ａで、セレクタ１３２８＿１は、ＳＲＡＭ１３２１＿１から画素データを読み出し、Ｓ１５ａへ処理を進める。Ｓ１５ａで、セレクタ１３２８＿１は、処理対象が１又は２ライン目である場合には何も行わず、処理対象が３ライン目以降である場合には、読み出した画素データを画像処理用ウィンドウ１３２０＿２の要素（０，２）に書き込み、処理をＳ１２ｂへ進める。
【００５８】
Ｓ１２ｂで、ＳＲＡＭ制御部１３２４は、フラグ保持部１３２７＿２１に格納された状態フラグの値が１（白ライン）であるか否かを判定し、値が１（白ライン）である場合にはＳ１３ｂへ、値が０（非白ライン）である場合にはＳ１４ｂへ、処理を進める。
【００５９】
Ｓ１３ｂで、セレクタ１３２８＿２は、代替データ保持部１３２６＿２から画素データを読み出し、Ｓ１５ｂへ処理を進める。一方、Ｓ１４ｂで、セレクタ１３２８＿２は、ＳＲＡＭ１３２１＿２から画素データを読み出し、Ｓ１５ｂへ処理を進める。Ｓ１５ｂで、セレクタ１３２８＿２は、処理対象が１又は２ライン目である場合には何も行わず、処理対象が３ライン目以降である場合には、読み出した画素データを画像処理用ウィンドウ１３２０＿２の要素（１，２）に書き込み、処理をＳ１６へ進める。
【００６０】
Ｓ１６で、ＳＲＡＭ制御部１３２４は、処理対象が１又は２ライン目である場合には何も行わず、処理対象が３ライン目以降である場合には、第１処理部１３１から画素データを読み出す。ＳＲＡＭ制御部１３２４は、読み出した画素データを画像処理用ウィンドウ１３２０＿２の要素（２，２）に書き込み、Ｓ１７へ処理を進める。Ｓ１７で、ＳＲＡＭ制御部１３２４は、ＳＲＡＭ１３２１（ＳＲＡＭ１３２１＿１，２）の読み出しアドレス（ＲＡＤＤＲ）をインクリメントし、Ｓ１８へ処理を進める。
【００６１】
Ｓ１８で、フィルタ処理部１３２５は、処理対象が１又は２ライン目である場合には何も行わず、処理対象が３ライン目以降である場合には、画像処理用ウィンドウ１３２０＿２に格納された画像データを用いて画像処理（フィルタ処理）を行う。その後Ｓ１９で、データ転送制御部１３２０＿０は、画像処理用ウィンドウ１３２０＿２内に格納されている各ラインの画素データを、ラインごとに、当該ウィンドウ内の隣の要素へそれぞれ移動させ、Ｓ２０ａへ処理を進める。
【００６２】
Ｓ２０ａで、ＳＲＡＭ制御部１３２４は、フラグ保持部１３２７＿１０に格納された状態フラグの値が１（白ライン）であるか否かを判定し、値が１（白ライン）である場合にはＳ２０ｂへ、値が０（非白ライン）である場合にはＳ２１ａへ、処理を進める。Ｓ２１ａで、ＳＲＡＭ制御部１３２４は、セレクタ１３２８＿２から読み出した画素データをＳＲＡＭ１３２１＿１に書き込み、Ｓ２０ｂへ処理を進める。
【００６３】
Ｓ２０ｂで、ＳＲＡＭ制御部１３２４は、フラグ保持部１３２７＿２０に格納された状態フラグの値が１（白ライン）であるか否かを判定し、値が１（白ライン）である場合にはＳ２１へ、値が０（非白ライン）である場合にはＳ２１ｂへ、処理を進める。Ｓ２１ｂで、ＳＲＡＭ制御部１３２４は、第１処理部１３１から読み出した画素データをＳＲＡＭ１３２１＿２に書き込み、Ｓ２２へ処理を進める。
【００６４】
Ｓ２２で、データ転送制御部１３２０＿０は、ＳＲＡＭ制御部１３２４を介してＳＲＡＭ１３２１（ＳＲＡＭ１３２１＿１，２）の書き込みアドレス（ＷＡＤＤＲ）をインクリメントし、Ｓ２３へ処理を進める。Ｓ２３で、データ転送制御部１３２０＿０は、処理対象がラインの最後であるか否かを判定し、ラインの最後である場合にはＳ２４へ、ラインの最後ではない場合にはＳ１２ａへ処理を戻す。Ｓ２４で、データ転送制御部１３２０＿０は、処理対象を次のラインの先頭に変更し、Ｓ０３へ処理を戻す。
【００６５】
＜処理例＞
次に、図５乃至図７Ｂを参照して、図２に示す識別データ１３１２及び画像データ１３１３が第１処理部１３１から第２処理部１３２へラインごとに転送される場合を例に、図４Ａ及び図４Ｂのフローチャートに従った処理の具体例について説明する。図５及び図６は、それぞれ、１ライン目（全て白画素で構成される白ライン）のデータ及び４ライン目（非白画素を含む非白ライン）のデータを第１処理部１３１から第２処理部へ転送する際の、第２処理部１３２内部の制御状態を示す図である。また、図７Ａ及び図７Ｂは、図４Ａ乃至図６に対応する処理に関連する制御信号及び画像データの変化を示すタイミングチャートである。
【００６６】
図５に示すように、画像データ１３１３は、全ての画素が白画素で構成される１〜３、７及び８番目のライン（白ライン）のデータと、非白画素を含む４〜６番目のライン（非白ライン）のデータとで構成される。各ラインに対応する識別データ１３１２は、白ラインに対しては「１」、非白ラインに対しては「０」が設定されている。
【００６７】
まず、図４Ａ、図４Ｂ、図５、図７Ａを参照して、１〜３ライン目の画像データ（白ラインの画像データ）を転送する際の転送制御及びＳＲＡＭ１３２１の省電力制御について説明する。
【００６８】
●１ライン目（白ライン）処理
処理対象が１ライン目の画像データである場合、図４Ａ及び図４ＢのＳ０３以降において以下のように処理が行われる。
【００６９】
Ｓ０３で、データ転送制御部１３２０＿０は、処理対象がページの最後でないため、Ｓ０４へ処理を進める。Ｓ０４で、データ転送制御部１３２０＿０は、処理対象が１ライン目の先頭であるので、Ｓ０５へ処理を進める。
【００７０】
Ｓ０５ａで、データ転送制御部１３２０＿０は、フラグ保持部１３２７＿１０の値（初期値１）をフラグ保持部１３２７＿１１に、フラグ保持部１３２７＿２０の値（初期値１）をフラグ保持部１３２７＿１０，２１にそれぞれ同時に書き込む。また、Ｓ０５ｂで、データ転送制御部１３２０＿０は、第１処理部１３１から、１ライン目に対応する識別データ１３１２（＝１）を読み出してフラグ保持部１３２７＿２０に書き込むことで、フラグ保持部１３２７を更新し、Ｓ０６へ処理を進める。Ｓ０６で、データ転送制御部１３２０＿０は、ＳＲＡＭ１３２１の読み出しアドレス（ＲＡＤＤＲ）及び書き込みアドレス（ＷＡＤＤＲ）を各ラインバッファの先頭アドレス（＝０）に設定し、Ｓ０７ａへ処理を進める。
【００７１】
Ｓ０７ａで、ＳＲＡＭ制御部１３２４は、フラグ保持部１３２７＿１０，１１に格納された状態フラグの両方の値が１（白ライン）であるため、Ｓ０８ａへ処理を進める。Ｓ０８ａで、ＳＲＡＭ制御部１３２４は、ＳＲＡＭ１３２１＿１に対するＲＳ制御信号１３２３＿１＝１（ＲＳモード、初期状態と同じ）に設定し、Ｓ０９ａへ処理を進める。Ｓ０９ａで、ＳＲＡＭ制御部１３２４は、ＳＲＡＭ１３２１＿１がＲＳモードになるまで待機し、ＳＲＡＭ１３２１＿１がＲＳモードになるとＳ０７ｂへ処理を進める。
【００７２】
Ｓ０７ｂで、ＳＲＡＭ制御部１３２４は、フラグ保持部１３２７＿２０，２１に格納された状態フラグの両方の値が１（白ライン）であるため、Ｓ０８ｂへ処理を進める。Ｓ０８ｂで、ＳＲＡＭ制御部１３２４は、ＳＲＡＭ１３２１＿２に対するＲＳ制御信号１３２３＿２＝１（ＲＳモード、初期状態と同じ）に設定し、Ｓ０９ｂへ処理を進める。Ｓ０９ｂで、ＳＲＡＭ制御部１３２４は、ＳＲＡＭ１３２１＿２がＲＳモードになるまで待機し、ＳＲＡＭ１３２１＿２がＲＳモードになるとＳ１２ａへ処理を進める。
【００７３】
Ｓ１２ａで、ＳＲＡＭ制御部１３２４は、フラグ保持部１３２７＿１１に格納された状態フラグの値が１（白ライン）であるため、Ｓ１３ａへ処理を進める。Ｓ１３ａで、セレクタ１３２８＿１は、代替データ保持部１３２６＿１から画素データを読み出し、Ｓ１５ａへ処理を進める。Ｓ１５ａで、セレクタ１３２８＿１は、処理対象が１ライン目であるため、何も行わずに処理をＳ１２ｂへ進める。
【００７４】
Ｓ１２ｂで、ＳＲＡＭ制御部１３２４は、フラグ保持部１３２７＿２１に格納された状態フラグの値が１（白ライン）であるため、Ｓ１３ｂへ処理を進める。Ｓ１３ｂで、セレクタ１３２８＿２は、代替データ保持部１３２６＿２から画素データを読み出し、Ｓ１５ｂへ処理を進める。Ｓ１５ｂで、セレクタ１３２８＿２は、処理対象が１ライン目であるため、何も行わずに処理をＳ１６へ進める。
【００７５】
Ｓ１６で、ＳＲＡＭ制御部１３２４は、処理対象が１ライン目であるため、何も行わずにＳ１７へ処理を進める。Ｓ１７で、ＳＲＡＭ制御部１３２４は、ＳＲＡＭ１３２１（ＳＲＡＭ１３２１＿１，２）の読み出しアドレス（ＲＡＤＤＲ）をインクリメントし、Ｓ１８へ処理を進める。
【００７６】
Ｓ１８で、フィルタ処理部１３２５は、処理対象が１ライン目であるため、何も行わずにＳ１９へ処理を進める。Ｓ１９で、データ転送制御部１３２０＿０は、画像処理用ウィンドウ１３２０＿２内に未だ画素データが格納されていないため、そのままＳ２０ａへ処理を進める。
【００７７】
Ｓ２０ａで、ＳＲＡＭ制御部１３２４は、フラグ保持部１３２７＿１０に格納された状態フラグの値が１（白ライン）であるため、Ｓ２０ｂへ処理を進める。Ｓ２０ｂで、ＳＲＡＭ制御部１３２４は、フラグ保持部１３２７＿２０に格納された状態フラグの値が１（白ライン）であるため、Ｓ２２へ処理を進める。
【００７８】
Ｓ２２で、データ転送制御部１３２０＿０は、ＳＲＡＭ制御部１３２４を介してＳＲＡＭ１３２１（ＳＲＡＭ１３２１＿１，２）の書き込みアドレス（ＷＡＤＤＲ）をインクリメントし、Ｓ２３へ処理を進める。Ｓ２３で、データ転送制御部１３２０＿０は、処理対象がラインの最後ではないため、Ｓ１２ａへ処理を戻す。
【００７９】
ここで、１ライン目は白ラインであり（全て白画素で構成される）、１ライン目の最後の画素まで、各画素について上述のＳ１２ａ〜Ｓ２３の処理が繰り返される。Ｓ２３で、データ転送制御部１３２０＿０は、処理対象がラインの最後に達すると、Ｓ２４へ処理を進め、処理対象を次のラインの先頭に変更し、Ｓ０３へ処理を戻す。
【００８０】
●２ライン目（白ライン）処理
１ライン目と同様、２ライン目は白ラインである。このため、図４Ａ及び図４Ｂの手順に従って、１ライン目と同様の処理が実行される。
【００８１】
●３ライン目（白ライン）処理
１及び２ライン目と同様、３ライン目は白ラインである。このため、Ｓ０３〜Ｓ１３ａでは、１及び２ライン目と同様の処理が行われる。その後、Ｓ１５ａで、セレクタ１３２８＿１は、処理対象が３ライン目であるため、読み出した画素データを画像処理用ウィンドウ１３２０＿２の要素（０，２）に書き込み、処理をＳ１２ｂへ進める。Ｓ１２ｂ及びＳ１３ｂでは、１及び２ライン目と同様の処理が行われる。その後、Ｓ１５ｂで、Ｓ１５ｂで、セレクタ１３２８＿２は、処理対象が３ライン目であるため、読み出した画素データを画像処理用ウィンドウ１３２０＿２の要素（１，２）に書き込み、処理をＳ１６へ進める。
【００８２】
Ｓ１６で、ＳＲＡＭ制御部１３２４は、処理対象が３ライン目であるため、第１処理部１３１から画素データを読み出す。ＳＲＡＭ制御部１３２４は、読み出した画素データを画像処理用ウィンドウ１３２０＿２の要素（２，２）に書き込み、Ｓ１７へ処理を進める。Ｓ１７で、ＳＲＡＭ制御部１３２４は、ＳＲＡＭ１３２１（ＳＲＡＭ１３２１＿１，２）の読み出しアドレス（ＲＡＤＤＲ）をインクリメントし、Ｓ１８へ処理を進める。
【００８３】
Ｓ１８で、フィルタ処理部１３２５は、処理対象が３ライン目であるため、画像処理用ウィンドウ１３２０＿２に格納された画像データを用いて画像処理（フィルタ処理）を行う。なお、処理対象のラインの１及び２画素目（画素＃１，＃２）が画像処理用ウィンドウ１３２０＿２に書き込まれた際には、当該ウィンドウ（３×３画素ウィンドウ）内の画素データが足りない。このため、３画素目（画素＃３）以降においてフィルタ処理が行われることになる。その後Ｓ１９で、データ転送制御部１３２０＿０は、画像処理用ウィンドウ１３２０＿２内に格納されている各ラインの画素データを、ラインごとに、当該ウィンドウ内の隣の要素へそれぞれ移動させ、Ｓ２０ａへ処理を進める。
【００８４】
Ｓ２０ａ〜Ｓ２３では、１及び２ライン目と同様の処理が行われる。ここで、３ライン目は白ラインであるため、３ライン目の最後の画素まで、各画素について上述のＳ１２ａ〜Ｓ２３の処理が繰り返される。Ｓ２３で、データ転送制御部１３２０＿０は、処理対象がラインの最後に達すると、Ｓ２４へ処理を進め、処理対象を次のラインの先頭に変更し、Ｓ０３へ処理を戻す。
【００８５】
●４ライン目（非白ライン）処理
図５に示されるように、４ライン目は、非白画素を含むライン（非白ライン）である。図４Ａ及び図４Ｂの手順に従って、Ｓ０３〜Ｓ０４では、１〜３ライン目と同様の処理が行われる。
【００８６】
Ｓ０５ａ及びＳ０５ｂでは、１〜３ライン目とは異なる、非白ラインに対応した処理が発生する。Ｓ０５ａで、データ転送制御部１３２０＿０は、フラグ保持部１３２７＿１０の値（＝１）をフラグ保持部１３２７＿１１に、フラグ保持部１３２７＿２０の値（＝１）をフラグ保持部１３２７＿１０，２１にそれぞれ同時に書き込む。また、Ｓ０５ｂで、データ転送制御部１３２０＿０は、第１処理部１３１から、４ライン目に対応する識別データ１３１２（＝０（非白ライン））を読み出してフラグ保持部１３２７＿２０に書き込むことで、フラグ保持部１３２７を更新し、Ｓ０６へ処理を進める。Ｓ０６〜Ｓ０９ａでは、１〜３ライン目と同様の処理が行われる。
【００８７】
Ｓ０７ｂで、ＳＲＡＭ制御部１３２４は、フラグ保持部１３２７＿２０に格納された状態フラグの値が０（非白ライン）、フラグ保持部１３２７＿２１に格納された状態フラグの値が１（白ライン）であるため、Ｓ１０へ処理を進める。Ｓ１０ｂで、ＳＲＡＭ制御部１３２４は、ＳＲＡＭ１３２１＿２に対するＲＳ制御信号１３２３＿２＝０（通常モード）に設定し、Ｓ１１ｂへ処理を進める。Ｓ１１ｂで、ＳＲＡＭ制御部１３２４は、ＳＲＡＭ１３２１＿２が通常モードになるまで待機し、ＳＲＡＭ１３２１＿２が通常モードになるとＳ１２ａへ処理を進める。
【００８８】
Ｓ１２ａで、ＳＲＡＭ制御部１３２４は、フラグ保持部１３２７＿１１に格納された状態フラグの値が１（白ライン）であるため、Ｓ１３ａへ処理を進める。Ｓ１３ａで、セレクタ１３２８＿１は、代替データ保持部１３２６＿１から画素データを読み出し、Ｓ１５ａへ処理を進める。Ｓ１５ａで、セレクタ１３２８＿１は、処理対象が３ライン目以降であるため、読み出した画素データを画像処理用ウィンドウ１３２０＿２の要素（０，２）に書き込み、処理をＳ１２ｂへ進める。
【００８９】
Ｓ１２ｂで、ＳＲＡＭ制御部１３２４は、フラグ保持部１３２７＿２１に格納された状態フラグの値が１（白ライン）であるため、Ｓ１３ｂへ処理を進める。Ｓ１３ｂで、セレクタ１３２８＿２は、代替データ保持部１３２６＿２から画素データを読み出し、Ｓ１５ｂへ処理を進める。Ｓ１５ｂで、セレクタ１３２８＿２は、処理対象が３ライン目以降であるため、読み出した画素データを画像処理用ウィンドウ１３２０＿２の要素（１，２）に書き込み、処理をＳ１６へ進める。
【００９０】
Ｓ１６で、ＳＲＡＭ制御部１３２４は、処理対象が３ライン目以降であるため、第１処理部１３１から画素データを読み出す。ＳＲＡＭ制御部１３２４は、読み出した画素データを画像処理用ウィンドウ１３２０＿２の要素（２，２）に書き込み、Ｓ１７へ処理を進める。Ｓ１７で、ＳＲＡＭ制御部１３２４は、ＳＲＡＭ１３２１（ＳＲＡＭ１３２１＿１，２）の読み出しアドレス（ＲＡＤＤＲ）をインクリメントし、Ｓ１８へ処理を進める。
【００９１】
Ｓ１８で、フィルタ処理部１３２５は、処理対象が３ライン目以降であるため、画像処理用ウィンドウ１３２０＿２に格納された画像データを用いて画像処理（フィルタ処理）を行う。その後Ｓ１９で、データ転送制御部１３２０＿０は、画像処理用ウィンドウ１３２０＿２内に格納されている各ラインの画素データを、ラインごとに、当該ウィンドウ内の隣の要素へそれぞれ移動させ、Ｓ２０ａへ処理を進める。
【００９２】
Ｓ２０ａで、ＳＲＡＭ制御部１３２４は、フラグ保持部１３２７＿１０に格納された状態フラグの値が１（白ライン）であるため、Ｓ２０ｂへ処理を進める。Ｓ２０ｂで、ＳＲＡＭ制御部１３２４は、フラグ保持部１３２７＿２０に格納された状態フラグの値が０（非白ライン）であるため、Ｓ２１ｂへ処理を進める。Ｓ２１ｂで、ＳＲＡＭ制御部１３２４は、第１処理部１３１から読み出した画素データをＳＲＡＭ１３２１＿２に書き込み、Ｓ２２へ処理を進める。
【００９３】
Ｓ２２で、データ転送制御部１３２０＿０は、ＳＲＡＭ制御部１３２４を介してＳＲＡＭ１３２１（ＳＲＡＭ１３２１＿１，２）の書き込みアドレス（ＷＡＤＤＲ）をインクリメントし、Ｓ２３へ処理を進める。Ｓ２３で、データ転送制御部１３２０＿０は、処理対象がラインの最後ではないため、Ｓ１２ａへ処理を戻す。
【００９４】
ここで、４ライン目は非白ラインであり、４ライン目の最後の画素まで、各画素について上述のＳ１２ａ〜Ｓ２３の処理が繰り返される。Ｓ２３で、データ転送制御部１３２０＿０は、処理対象がラインの最後に達すると、Ｓ２４へ処理を進め、処理対象を次のラインの先頭に変更し、Ｓ０３へ処理を戻す。
【００９５】
●５ライン目（非白ライン）処理
図５に示されるように、５ライン目は、非白画素を含むライン（非白ライン）である。図４Ａ及び図４Ｂの手順に従って、Ｓ０３〜Ｓ０４では、１〜４ライン目と同様の処理が行われる。
【００９６】
Ｓ０５ａ及びＳ０５ｂでは、４ライン目と同様、非白ラインに対応した処理が発生する。Ｓ０５ａで、データ転送制御部１３２０＿０は、フラグ保持部１３２７＿１０の値（＝１）をフラグ保持部１３２７＿１１に、フラグ保持部１３２７＿２０の値（＝０）をフラグ保持部１３２７＿１０，２１にそれぞれ同時に書き込む。また、Ｓ０５ｂで、データ転送制御部１３２０＿０は、第１処理部１３１から、５ライン目に対応する識別データ１３１２（＝０（非白ライン））を読み出してフラグ保持部１３２７＿２０に書き込むことで、フラグ保持部１３２７を更新し、Ｓ０６へ処理を進める。Ｓ０６で、データ転送制御部１３２０＿０は、ＳＲＡＭ１３２１の読み出しアドレス（ＲＡＤＤＲ）及び書き込みアドレス（ＷＡＤＤＲ）を各ラインバッファの先頭アドレスに設定し、Ｓ０７ａへ処理を進める。
【００９７】
Ｓ０７ａで、ＳＲＡＭ制御部１３２４は、フラグ保持部１３２７＿１０に格納された状態フラグの値が０（非白ライン）、フラグ保持部１３２７＿１１に格納された状態フラグの値が１（白ライン）であるため、Ｓ１０ａへ処理を進める。Ｓ１０ａで、ＳＲＡＭ制御部１３２４は、ＳＲＡＭ１３２１＿１に対するＲＳ制御信号１３２３＿１＝０（通常モード）に設定し、Ｓ１１ａへ処理を進める。Ｓ１１ａで、ＳＲＡＭ制御部１３２４は、ＳＲＡＭ１３２１＿１が通常モードになるまで待機し、ＳＲＡＭ１３２１＿１が通常モードになるとＳ０７ｂへ処理を進める。
【００９８】
Ｓ０７ｂで、ＳＲＡＭ制御部１３２４は、フラグ保持部１３２７＿２０に格納された状態フラグの値が０（非白ライン）、フラグ保持部１３２７＿２１に格納された状態フラグの値が０（非白ライン）であるため、Ｓ１０ｂへ処理を進める。Ｓ１０ｂで、ＳＲＡＭ制御部１３２４は、ＳＲＡＭ１３２１＿２に対するＲＳ制御信号１３２３＿２＝０（通常モード）に設定し、Ｓ１１ｂへ処理を進める。Ｓ１１ｂで、ＳＲＡＭ制御部１３２４は、４ライン目の処理によりＳＲＡＭ１３２１＿２は既に通常モードになっているため、Ｓ１２ａへ処理を進める。
【００９９】
Ｓ１２ａで、ＳＲＡＭ制御部１３２４は、フラグ保持部１３２７＿１１に格納された状態フラグの値が１（白ライン）であるため、Ｓ１３ａへ処理を進める。Ｓ１３ａで、セレクタ１３２８＿１は、代替データ保持部１３２６＿１から画素データを読み出し、Ｓ１５ａへ処理を進める。Ｓ１５ａで、セレクタ１３２８＿１は、処理対象が３ライン目以降であるため、読み出した画素データを画像処理用ウィンドウ１３２０＿２の要素（０，２）に書き込み、処理をＳ１２ｂへ進める。
【０１００】
Ｓ１２ｂで、ＳＲＡＭ制御部１３２４は、フラグ保持部１３２７＿２１に格納された状態フラグの値が０（非白ライン）であるため、Ｓ１４ｂへ処理を進める。Ｓ１４ｂで、セレクタ１３２８＿２は、ＳＲＡＭ１３２１＿２から画素データを読み出し、Ｓ１５ｂへ処理を進める。Ｓ１５ｂで、セレクタ１３２８＿２は、処理対象が３ライン目以降であるため、読み出した画素データを画像処理用ウィンドウ１３２０＿２の要素（１，２）に書き込み、処理をＳ１６へ進める。
【０１０１】
Ｓ１６〜Ｓ１９では、４ライン目と同様の処理が行われる。
【０１０２】
Ｓ２０ａで、ＳＲＡＭ制御部１３２４は、フラグ保持部１３２７＿１０に格納された状態フラグの値が０（非白ライン）であるため、Ｓ２１ａへ処理を進める。Ｓ２１ａで、ＳＲＡＭ制御部１３２４は、セレクタ１３２８＿２から読み出した画素データをＳＲＡＭ１３２１＿１に書き込み、Ｓ２０ｂへ処理を進める。Ｓ２０ｂで、ＳＲＡＭ制御部１３２４は、フラグ保持部１３２７＿２０に格納された状態フラグの値が０（非白ライン）であるため、Ｓ２１ｂへ処理を進める。Ｓ２１ｂで、ＳＲＡＭ制御部１３２４は、第１処理部１３１から読み出した画素データをＳＲＡＭ１３２１＿２に書き込み、Ｓ２２へ処理を進める。
【０１０３】
Ｓ２２で、データ転送制御部１３２０＿０は、ＳＲＡＭ制御部１３２４を介してＳＲＡＭ１３２１（ＳＲＡＭ１３２１＿１，２）の書き込みアドレス（ＷＡＤＤＲ）をインクリメントし、Ｓ２３へ処理を進める。Ｓ２３で、データ転送制御部１３２０＿０は、処理対象がラインの最後ではないため、Ｓ１２ａへ処理を戻す。
【０１０４】
ここで、５ライン目は非白ラインであり、５ライン目の最後の画素まで、各画素について上述のＳ１２ａ〜Ｓ２３の処理が繰り返される。Ｓ２３で、データ転送制御部１３２０＿０は、処理対象がラインの最後に達すると、Ｓ２４へ処理を進め、処理対象を次のラインの先頭に変更し、Ｓ０３へ処理を戻す。
【０１０５】
●６ライン目（非白ライン）処理
図５に示されるように、６ライン目は、非白画素を含むライン（非白ライン）である。図４Ａ及び図４Ｂの手順に従って、Ｓ０３〜Ｓ０４では、１〜５ライン目と同様の処理が行われる。
【０１０６】
Ｓ０５ａ及びＳ０５ｂでは、４及び５ライン目と同様、非白ラインに対応した処理が発生する。Ｓ０５ａで、データ転送制御部１３２０＿０は、フラグ保持部１３２７＿１０の値（＝０）をフラグ保持部１３２７＿１１に、フラグ保持部１３２７＿２０の値（＝０）をフラグ保持部１３２７＿１０，２１にそれぞれ同時に書き込む。また、Ｓ０５ｂで、データ転送制御部１３２０＿０は、第１処理部１３１から、５ライン目に対応する識別データ１３１２（＝０（非白ライン））を読み出してフラグ保持部１３２７＿２０に書き込むことで、フラグ保持部１３２７を更新し、Ｓ０６へ処理を進める。Ｓ０６で、データ転送制御部１３２０＿０は、ＳＲＡＭ１３２１の読み出しアドレス（ＲＡＤＤＲ）及び書き込みアドレス（ＷＡＤＤＲ）を各ラインバッファの先頭アドレスに設定し、Ｓ０７ａへ処理を進める。
【０１０７】
Ｓ０７ａで、ＳＲＡＭ制御部１３２４は、フラグ保持部１３２７＿１０に格納された状態フラグの値が０（非白ライン）、フラグ保持部１３２７＿１１に格納された状態フラグの値が０（非白ライン）であるため、Ｓ１０ａへ処理を進める。Ｓ１０ａで、ＳＲＡＭ制御部１３２４は、ＳＲＡＭ１３２１＿１に対するＲＳ制御信号１３２３＿１＝０（通常モード）に設定し、Ｓ１１ａへ処理を進める。Ｓ１１ａで、ＳＲＡＭ制御部１３２４は、５ライン目の処理によりＳＲＡＭ１３２１＿１は既に通常モードになっているため、Ｓ０７ｂへ処理を進める。
【０１０８】
Ｓ０７ｂで、ＳＲＡＭ制御部１３２４は、フラグ保持部１３２７＿２０に格納された状態フラグの値が０（非白ライン）、フラグ保持部１３２７＿２１に格納された状態フラグの値が０（非白ライン）であるため、Ｓ１０ｂへ処理を進める。Ｓ１０ｂで、ＳＲＡＭ制御部１３２４は、ＳＲＡＭ１３２１＿２に対するＲＳ制御信号１３２３＿２＝０（通常モード）に設定し、Ｓ１１ｂへ処理を進める。Ｓ１１ｂで、ＳＲＡＭ制御部１３２４は、ＳＲＡＭ１３２１＿２は既に通常モードになっているため、Ｓ１２ａへ処理を進める。
【０１０９】
Ｓ１２ａで、ＳＲＡＭ制御部１３２４は、フラグ保持部１３２７＿１１に格納された状態フラグの値が０（非白ライン）であるため、Ｓ１４ａへ処理を進める。Ｓ１４ａで、セレクタ１３２８＿１は、ＳＲＡＭ１３２１＿１から画素データを読み出し、Ｓ１５ａへ処理を進める。Ｓ１５ａで、セレクタ１３２８＿１は、処理対象が３ライン目以降であるため、読み出した画素データを画像処理用ウィンドウ１３２０＿２の要素（０，２）に書き込み、処理をＳ１２ｂへ進める。
【０１１０】
Ｓ１２ｂで、ＳＲＡＭ制御部１３２４は、フラグ保持部１３２７＿２１に格納された状態フラグの値が０（非白ライン）であるため、Ｓ１４ｂへ処理を進める。Ｓ１４ｂで、セレクタ１３２８＿２は、ＳＲＡＭ１３２１＿２から画素データを読み出し、Ｓ１５ｂへ処理を進める。Ｓ１５ｂで、セレクタ１３２８＿２は、処理対象が３ライン目以降であるため、読み出した画素データを画像処理用ウィンドウ１３２０＿２の要素（１，２）に書き込み、処理をＳ１６へ進める。
【０１１１】
Ｓ１６〜Ｓ１９では、４ライン目と同様の処理が行われる。
【０１１２】
Ｓ２０ａで、ＳＲＡＭ制御部１３２４は、フラグ保持部１３２７＿１０に格納された状態フラグの値が０（非白ライン）であるため、Ｓ２１ａへ処理を進める。Ｓ２１ａで、ＳＲＡＭ制御部１３２４は、セレクタ１３２８＿２から読み出した画素データをＳＲＡＭ１３２１＿１に書き込み、Ｓ２０ｂへ処理を進める。Ｓ２０ｂで、ＳＲＡＭ制御部１３２４は、フラグ保持部１３２７＿２０に格納された状態フラグの値が０（非白ライン）であるため、Ｓ２１ｂへ処理を進める。Ｓ２１ｂで、ＳＲＡＭ制御部１３２４は、第１処理部１３１から読み出した画素データをＳＲＡＭ１３２１＿２に書き込み、Ｓ２２へ処理を進める。
【０１１３】
Ｓ２２で、データ転送制御部１３２０＿０は、ＳＲＡＭ制御部１３２４を介してＳＲＡＭ１３２１（ＳＲＡＭ１３２１＿１，２）の書き込みアドレス（ＷＡＤＤＲ）をインクリメントし、Ｓ２３へ処理を進める。Ｓ２３で、データ転送制御部１３２０＿０は、処理対象がラインの最後ではないため、Ｓ１２ａへ処理を戻す。
【０１１４】
ここで、６ライン目は非白ラインであり、６ライン目の最後の画素まで、各画素について上述のＳ１２ａ〜Ｓ２３の処理が繰り返される。Ｓ２３で、データ転送制御部１３２０＿０は、処理対象がラインの最後に達すると、Ｓ２４へ処理を進め、処理対象を次のラインの先頭に変更し、Ｓ０３へ処理を戻す。
【０１１５】
●７ライン目（白ライン）処理
図５に示されるように、７ライン目は白ラインである。図４Ａ及び図４Ｂの手順に従って、Ｓ０３〜Ｓ０４では、１〜６ライン目と同様の処理が行われる。
【０１１６】
Ｓ０５ａ及びＳ０５ｂでは、白ラインに対応した処理が発生する。Ｓ０５ａで、データ転送制御部１３２０＿０は、フラグ保持部１３２７＿１０の値（＝０）をフラグ保持部１３２７＿１１に、フラグ保持部１３２７＿２０の値（＝０）をフラグ保持部１３２７＿１０，２１にそれぞれ同時に書き込む。また、Ｓ０５ｂで、データ転送制御部１３２０＿０は、第１処理部１３１から、７ライン目に対応する識別データ１３１２（＝１（白ライン））を読み出してフラグ保持部１３２７＿２０に書き込むことで、フラグ保持部１３２７を更新し、Ｓ０６へ処理を進める。Ｓ０６で、データ転送制御部１３２０＿０は、ＳＲＡＭ１３２１の読み出しアドレス（ＲＡＤＤＲ）及び書き込みアドレス（ＷＡＤＤＲ）を各ラインバッファの先頭アドレス（＝０）に設定し、Ｓ０７ａへ処理を進める。
【０１１７】
Ｓ０７ａで、ＳＲＡＭ制御部１３２４は、フラグ保持部１３２７＿１０に格納された状態フラグの値が０（非白ライン）、フラグ保持部１３２７＿１１に格納された状態フラグの値が０（非白ライン）であるため、Ｓ１０ａへ処理を進める。Ｓ１０ａで、ＳＲＡＭ制御部１３２４は、ＳＲＡＭ１３２１＿１に対するＲＳ制御信号１３２３＿１＝０（通常モード）に設定し、Ｓ１１ａへ処理を進める。Ｓ１１ａで、ＳＲＡＭ制御部１３２４は、ＳＲＡＭ１３２１＿１は既に通常モードになっているため、Ｓ０７ｂへ処理を進める。
【０１１８】
Ｓ０７ｂで、ＳＲＡＭ制御部１３２４は、フラグ保持部１３２７＿２０に格納された状態フラグの値が０（非白ライン）、フラグ保持部１３２７＿２１に格納された状態フラグの値が（白ライン）であるため、Ｓ１０ｂへ処理を進める。Ｓ１０ｂで、ＳＲＡＭ制御部１３２４は、ＳＲＡＭ１３２１＿２に対するＲＳ制御信号１３２３＿２＝０（通常モード）に設定し、Ｓ１１ｂへ処理を進める。Ｓ１１ｂで、ＳＲＡＭ制御部１３２４は、４ライン目の処理によりＳＲＡＭ１３２１＿２が既に通常モードになっているため、Ｓ１２ａへ処理を進める。
【０１１９】
Ｓ１２ａで、ＳＲＡＭ制御部１３２４は、フラグ保持部１３２７＿１１に格納された状態フラグの値が１（白ライン）であるため、Ｓ１３ａへ処理を進める。Ｓ１３ａで、セレクタ１３２８＿１は、代替データ保持部１３２６＿１から画素データを読み出し、Ｓ１５ａへ処理を進める。Ｓ１５ａで、セレクタ１３２８＿１は、処理対象が３ライン目以降であるため、読み出した画素データを画像処理用ウィンドウ１３２０＿２の要素（０，２）に書き込み、処理をＳ１２ｂへ進める。
【０１２０】
Ｓ１２ｂで、ＳＲＡＭ制御部１３２４は、フラグ保持部１３２７＿２１に格納された状態フラグの値が０（非白ライン）であるため、Ｓ１４ｂへ処理を進める。Ｓ１４ｂで、セレクタ１３２８＿２は、ＳＲＡＭ１３２１＿２から画素データを読み出し、Ｓ１５ｂへ処理を進める。Ｓ１５ｂで、セレクタ１３２８＿２は、処理対象が３ライン目以降であるため、読み出した画素データを画像処理用ウィンドウ１３２０＿２の要素（１，２）に書き込み、処理をＳ１６へ進める。
【０１２１】
Ｓ１６〜Ｓ１９では、４ライン目と同様の処理が行われる。
【０１２２】
Ｓ２０ａで、ＳＲＡＭ制御部１３２４は、フラグ保持部１３２７＿１０に格納された状態フラグの値が０（非白ライン）であるため、Ｓ２１ａへ処理を進める。Ｓ２１ａで、ＳＲＡＭ制御部１３２４は、セレクタ１３２８＿２から読み出した画素データをＳＲＡＭ１３２１＿１に書き込み、Ｓ２０ｂへ処理を進める。Ｓ２０ｂで、ＳＲＡＭ制御部１３２４は、フラグ保持部１３２７＿２０に格納された状態フラグの値が１（白ライン）であるため、Ｓ２２へ処理を進める。
【０１２３】
Ｓ２２で、データ転送制御部１３２０＿０は、ＳＲＡＭ制御部１３２４を介してＳＲＡＭ１３２１（ＳＲＡＭ１３２１＿１，２）の書き込みアドレス（ＷＡＤＤＲ）をインクリメントし、Ｓ２３へ処理を進める。Ｓ２３で、データ転送制御部１３２０＿０は、処理対象がラインの最後ではないため、Ｓ１２ａへ処理を戻す。
【０１２４】
ここで、７ライン目は白ラインであり、７ライン目の最後の画素まで、各画素について上述のＳ１２ａ〜Ｓ２３の処理が繰り返される。Ｓ２３で、データ転送制御部１３２０＿０は、処理対象がラインの最後に達すると、Ｓ２４へ処理を進め、処理対象を次のラインの先頭に変更し、Ｓ０３へ処理を戻す。
【０１２５】
●８ライン目（白ライン、最終ライン）処理
図５に示されるように、８ライン目は白ラインである。図４Ａ及び図４Ｂの手順に従って、Ｓ０３〜Ｓ０４では、１〜７ライン目と同様の処理が行われる。
【０１２６】
Ｓ０５ａ及びＳ０５ｂでは、白ラインに対応した処理が発生する。Ｓ０５ａで、データ転送制御部１３２０＿０は、フラグ保持部１３２７＿１０の値（＝０）をフラグ保持部１３２７＿１１に、フラグ保持部１３２７＿２０の値（＝１）をフラグ保持部１３２７＿１０，２１にそれぞれ同時に書き込む。また、Ｓ０５ｂで、データ転送制御部１３２０＿０は、第１処理部１３１から、８ライン目に対応する識別データ１３１２（＝１（白ライン））を読み出してフラグ保持部１３２７＿２０に書き込むことで、フラグ保持部１３２７を更新し、Ｓ０６へ処理を進める。Ｓ０６で、データ転送制御部１３２０＿０は、ＳＲＡＭ１３２１の読み出しアドレス（ＲＡＤＤＲ）及び書き込みアドレス（ＷＡＤＤＲ）を各ラインバッファの先頭アドレス（＝０）に設定し、Ｓ０７ａへ処理を進める。
【０１２７】
Ｓ０７ａで、ＳＲＡＭ制御部１３２４は、フラグ保持部１３２７＿１０に格納された状態フラグの値が１（白ライン）、フラグ保持部１３２７＿１１に格納された状態フラグの値が０（非白ライン）であるため、Ｓ１０ａへ処理を進める。Ｓ１０ａで、ＳＲＡＭ制御部１３２４は、ＳＲＡＭ１３２１＿１に対するＲＳ制御信号１３２３＿１＝０（通常モード）に設定し、Ｓ１１ａへ処理を進める。Ｓ１１ａで、ＳＲＡＭ制御部１３２４は、ＳＲＡＭ１３２１＿１は既に通常モードになっているため、Ｓ０７ｂへ処理を進める。
【０１２８】
Ｓ０７ｂで、ＳＲＡＭ制御部１３２４は、フラグ保持部１３２７＿２０，２１に格納された状態フラグの両方の値が１（白ライン）であるため、Ｓ０８ｂへ処理を進める。Ｓ０８ｂで、ＳＲＡＭ制御部１３２４は、ＳＲＡＭ１３２１＿２に対するＲＳ制御信号１３２３＿２＝１（ＲＳモード）に設定し、Ｓ０９ｂへ処理を進める。Ｓ０９ｂで、ＳＲＡＭ制御部１３２４は、ＳＲＡＭ１３２１＿２がＲＳモードになるまで待機し、ＳＲＡＭ１３２１＿２がＲＳモードになるとＳ１２ａへ処理を進める。
【０１２９】
Ｓ１２ａで、ＳＲＡＭ制御部１３２４は、フラグ保持部１３２７＿１１に格納された状態フラグの値が０（非白ライン）であるため、Ｓ１４ａへ処理を進める。Ｓ１４ａで、セレクタ１３２８＿１は、ＳＲＡＭ１３２１＿１から画素データを読み出し、Ｓ１５ａへ処理を進める。Ｓ１５ａで、セレクタ１３２８＿１は、処理対象が３ライン目以降であるため、読み出した画素データを画像処理用ウィンドウ１３２０＿２の要素（０，２）に書き込み、処理をＳ１２ｂへ進める。
【０１３０】
Ｓ１２ｂで、ＳＲＡＭ制御部１３２４は、フラグ保持部１３２７＿２１に格納された状態フラグの値が１（白ライン）であるため、Ｓ１３ｂへ処理を進める。Ｓ１３ｂで、セレクタ１３２８＿２は、代替データ保持部１３２６＿２から画素データを読み出し、Ｓ１５ｂへ処理を進める。Ｓ１５ｂで、セレクタ１３２８＿２は、処理対象が３ライン目以降であるため、読み出した画素データを画像処理用ウィンドウ１３２０＿２の要素（１，２）に書き込み、処理をＳ１６へ進める。
【０１３１】
Ｓ１６で、ＳＲＡＭ制御部１３２４は、処理対象が３ライン目以降であるため、第１処理部１３１から画素データを読み出す。ＳＲＡＭ制御部１３２４は、読み出した画素データを画像処理用ウィンドウ１３２０＿２の要素（２，２）に書き込み、Ｓ１７へ処理を進める。Ｓ１７で、ＳＲＡＭ制御部１３２４は、ＳＲＡＭ１３２１（ＳＲＡＭ１３２１＿１，２）の読み出しアドレス（ＲＡＤＤＲ）をインクリメントし、Ｓ１８へ処理を進める。
【０１３２】
Ｓ１８で、フィルタ処理部１３２５は、処理対象が３ライン目以降であるため、画像処理用ウィンドウ１３２０＿２に格納された画像データを用いて画像処理（フィルタ処理）を行う。その後Ｓ１９で、データ転送制御部１３２０＿０は、画像処理用ウィンドウ１３２０＿２内に格納されている各ラインの画素データを、ラインごとに、当該ウィンドウ内の隣の要素へそれぞれ移動させ、Ｓ２０ａへ処理を進める。
【０１３３】
Ｓ２０ａで、ＳＲＡＭ制御部１３２４は、フラグ保持部１３２７＿１０に格納された状態フラグの値が１（白ライン）であるため、Ｓ２０ｂへ処理を進める。Ｓ２０ｂで、ＳＲＡＭ制御部１３２４は、フラグ保持部１３２７＿２０に格納された状態フラグの値が１（白ライン）であるため、Ｓ２２へ処理を進める。
【０１３４】
Ｓ２２で、データ転送制御部１３２０＿０は、ＳＲＡＭ制御部１３２４を介してＳＲＡＭ１３２１（ＳＲＡＭ１３２１＿１，２）の書き込みアドレス（ＷＡＤＤＲ）をインクリメントし、Ｓ２３へ処理を進める。Ｓ２３で、データ転送制御部１３２０＿０は、処理対象がラインの最後ではないため、Ｓ１２ａへ処理を戻す。
【０１３５】
ここで、８ライン目は白ラインであり、８ライン目の最後の画素まで、各画素について上述のＳ１２ａ〜Ｓ２３の処理が繰り返される。Ｓ２３で、データ転送制御部１３２０＿０は、処理対象がラインの最後に達すると、Ｓ２４へ処理を進め、処理対象を次のラインの先頭に変更し、Ｓ０３へ処理を戻す。
【０１３６】
Ｓ０３で、データ転送制御部１３２０＿０は、処理対象がページの最後であるため、Ｓ２５へ処理を進める。Ｓ２５で、データ転送制御部１３２０＿０は、ＳＲＡＭ１３２１（１３２１＿１，２）に対するＲＳ制御信号（１３２３＿１，２）をそれぞれ１（ＲＳモード）に設定する。また、データ転送制御部１３２０＿０は、フラグ保持部１３２７（１３２７＿１０，１１，２０，２１）にそれぞれ１（白ライン）を設定し、処理を終了する。
【０１３７】
以上説明したように、本実施形態では、画像処理装置１００は、通常状態（第１電力状態）と、当該通常状態より省電力のＲＳ状態（第２電力状態）とを有し、画像処理の対象となる画像データがライン単位でバッファリングされるＳＲＡＭ１３２１を備える。画像伸長部１３１０は、画像処理の対象となる画像データをラインごとに生成する。白ライン検出部１３１１は、画像伸長部１３１０によって生成された各ラインの画像データから、所定の繰り返しパターンの複数の画素で構成されたライン（本実施形態では、全ての画素が白画素で構成された白ライン）を検出する。ＳＲＡＭ制御部１３２４は、画像伸長部１３１０によって生成されてＳＲＡＭ１３２１にライン単位でバッファリングされた画像データを、フィルタ処理部１３２５による画像処理に使用するためにＳＲＡＭ１３２１から読み出す。その際、ＳＲＡＭ制御部１３２４は、白ライン検出部１３１１によって検出されたラインについては、ＳＲＡＭ１３２１からの画像データの読み出しを行わず、ＳＲＡＭをＲＳ状態にして、代替データを画像処理に使用する。
【０１３８】
このように、所定の繰り返しパターン（本実施形態では白画素の繰り返し）を有するラインについては、ＳＲＡＭ１３２１から画像データの読み出しを行わずに、代替データを使用して画像処理を行う。即ち、１ラインの画像データが既知の繰り返しパターンを有する場合には、ＳＲＡＭ１３２１へのアクセスを行わずに、同様の繰り返しパターンを有するデータを代替データとして使用して画像処理を行う。ＳＲＡＭ１３２１へのアクセスを行わない間、ＳＲＡＭを省電力状態（ＲＳ状態）にすることで、ＳＲＡＭの消費電力を低減できる。本実施形態によれば、画像処理装置における画像処理に用いられる各ラインの画像データに応じて、画像処理用のラインバッファとして使用するＳＲＡＭ１３２１の電力状態をＲＳ状態にすることで、ＳＲＡＭの消費電力の低減が可能になる。
【０１３９】
一般的に、ＲＳモードは通常モードの４０％程度の消費電力とされている。また、近年の画像形成装置の高画質化に伴い、当該装置の内部に画像処理用に実装されるＳＲＡＭの容量は増加傾向にある。このため、本実施形態のように、ＲＳモードを有するＳＲＡＭの省電力制御を促進することで、装置全体の消費電力に占めるＳＲＡＭの消費電力の割合を、大幅に低減することが可能となる。
【０１４０】
なお、本実施形態では、ＲＳモードを有するＳＲＡＭ（メモリモジュール）の省電力制御について示してきたが、ＲＳモードを有しないＳＲＡＭにも同様の処理を適用可能である。例えば、ＳＲＡＭへの電力供給を遮断した状態にする電力遮断モードによる省電力制御を用いて、同様の処理を実現することが可能であり、同様の効果を得ることが可能である。このように電源遮断モードを用いる場合、一般的に通常モードと電源遮断モードとの間の遷移に、通常モードとＲＳモードとの間の遷移よりも時間を要し、これは性能の低下につながりうる。しかし、電源遮断モードでは、ＳＲＡＭのメモリアレイ部以外の周辺回路部のみでなく、メモリアレイ部自体についても省電力化が可能であるため、より高い省電力効果が得ることが可能である。
【０１４１】
また、本実施形態では、所定の繰り返しパターンを有するラインの検出として、白画素の繰り返しを有する白ラインの検出を行う例を示している。この点について、繰り返しパターンは、例えば、黒画素の繰り返しであってもよいし、予め定められた画素値が１ライン分繰り返されるパターンであってもよい。
【０１４２】
［第２実施形態］
第２実施形態では、第２処理部１３２内において、圧縮データにおける特定のパターンを有する圧縮ラインの検出結果に基づくＳＲＡＭ１３２１の省電力制御を行う例について説明する。なお、以下では、第１実施形態と共通する部分の説明については省略する。
【０１４３】
図８は、本実施形態に係る、第１処理部１３１及び第２処理部１３２で構成される画像処理部１３の構成例を示すブロック図である。
【０１４４】
本実施形態の画像伸長部１３１０は、第１実施形態の白ライン検出部１３１１に代えて、圧縮ライン検出部１３１５を備える。圧縮ライン検出部１３１５は、画像データ１３１３から、ランレングス圧縮による繰り返しパターンを有するラインを検出し、検出結果を示す識別データ１３１４を生成する。識別データ１３１４は、画像データ１３１３に含まれる、ランレングス圧縮による繰り返しパターンを有する（ランレングス圧縮されている）ラインを識別するためのデータである。識別データ１３１４は、第１実施形態の識別データ１３１２の代わりに用いられ、画像データ１３１３とともに第１処理部１３１から第２処理部１３２へ出力される。
【０１４５】
ランレングス圧縮は、ある値と、その値の繰り返し回数とに基づいて、データ量の圧縮を図る技術である。例えば、１ラインがすべてある画素値（例えば、１２８）である場合、圧縮後の画像データは、［画素値１２８＋繰り返し画素数（＝１ラインの画素数）］という形式で表現されうる。
【０１４６】
第２処理部１３２は、第１実施形態とほぼ同様の構成を有するが、第１実施形態の代替データ保持部１３２６に代えて、データ保持部１３３０を備えている。本実施形態では、圧縮ライン検出部１３１５は、白画素の検出に代えて、ランレングス圧縮による繰り返しパターンを有するラインの検出を行う。第２処理部１３２は、識別データ１３１４を用いて、このような繰り返しパターンを有するラインを識別した場合、そのラインの先頭の画素値をラインバッファに書き込むタイミング（第１実施形態のＳ２０ａ，Ｓ２０ｂに相当。）に、当該画素値をラインバッファではなくデータ保持部１３３０に書き込む。更に、第２処理部１３２は、データの読み出し時（第１実施形態のＳ１３ａ，Ｓ１３ｂに相当。）に、データ保持部１３３０からデータを代替データとして読み出す。
【０１４７】
上述の処理により、例えば、画素値１２８の画素の繰り返し、又は画素値２５５の画素の繰り返しで構成されたライン（白画素以外の画素値のベタ画像）について、第１実施形態と同様に、ＳＲＡＭ１３２１の省電力制御を行うことが可能である。
【０１４８】
以上説明したように、本実施形態では、識別データ１３１４を用いて、ランレングス圧縮が行われたラインに対しては、ランレングス圧縮による画素値をラインバッファに書き込む代わりに、ラインの先頭においてデータ保持部１３３０に書き込む。更に、データの読み出し時に、データ保持部１３３０から当該データを読み出すことで、ＳＲＡＭ１３２１へのアクセスを行わない間、ＳＲＡＭ１３２１をＲＳモードによる省電力状態にすることができる。これにより、ＳＲＡＭ１３２１の消費電力の低減が可能である。
【０１４９】
［第３実施形態］
第３実施形態では、第２実施形態の変形例について説明する。なお、以下では、第１及び第２実施形態と共通する部分の説明については省略する。
【０１５０】
本実施形態では、圧縮ライン検出部１３１５は、複数の画素の繰り返しパターンを有するラインを検出する。例えば、１ラインが４つの画素値（１２８，６４，１３５，６４）の繰り返しで構成される場合、ランレングス圧縮後の画像データは、［画素値１２８，６４，１３５，６４＋繰り返し画素数（＝１ラインの画素数）］という形式で表現されうる。このような繰り返しパターンは、例えば、ハーフトーン処理を行った中間調の画像データ等に使用される。
【０１５１】
本実施形態では、第２処理部１３２は、第２実施形態と同様の構成（図８）を有する。圧縮ライン検出部１３１５は、白画素の検出に代えて、ランレングス圧縮による繰り返しパターンを有するラインの検出を行う。第２処理部１３２は、識別データ１３１４を用いて、このような繰り返しパターンを有するラインを識別した場合、以下の処理を行う。具体的には、第２処理部１３２は、そのラインの先頭から繰り返しパターン数の画素値を、ラインの先頭画素パターンとして、ラインバッファに書き込むタイミング（第１実施形態のＳ２０ａ，Ｓ２０ｂに相当。）に、データ保持部１３３０に書き込む。更に、第２処理部１３２は、データの読み出し時（第１実施形態のＳ１３ａ，Ｓ１３ｂに相当。）に、データ保持部１３３０から各画素位置に応じてデータを代替データとして読み出す。
【０１５２】
上述の処理により、例えば、１ラインがハーフトーン処理による繰り返しパターンを有するラインについて、第１及び第２実施形態と同様に、ＳＲＡＭ１３２１の省電力制御を行うことが可能である。なお、ハーフトーン処理の場合、ディザパターンの幅によって繰り返しパターンの画素数が規定される。このため、本実施形態のデータ保持部１３３０の記憶領域を、繰り返しパターンの画素数に対応する容量の領域とすることで、ハードウェア資源を有効に利用できる。
【０１５３】
以上説明したように、本実施形態では、識別データ１３１４を用いて、ランレングス圧縮が行われたラインに対しては、圧縮による画素値をラインバッファに書き込む代わりに、ラインの先頭において繰り返しパターンをデータ保持部１３３０に書き込む。更に、データの読み出し時に、各画素位置に応じてデータ保持部１３３０から繰り返しパターンを読み出すことで、ＳＲＡＭ１３２１へのアクセスを行わない間、ＳＲＡＭ１３２１をＲＳモードによる省電力状態にすることができる。これにより、ＳＲＡＭ１３２１の消費電力の低減が可能である。
【０１５４】
［その他の実施形態］
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【０１５５】
１００：画像処理装置、１：画像処理プロセッサ、１３：画像処理部、１３１：第１処理部、１３２：第２処理部、１３２０：データ処理部、１３２１：ＳＲＡＭ（ラインバッファ）、１３２４：ＳＲＡＭ制御部、１３２５：フィルタ処理部、１３２６：代替データ保持部、１３２７：フラグ保持部、１３２８：セレクタ
【図１】
2019213124.tif 000003
【図２】
2019213124.tif 000004
【図３】
2019213124.tif 000005
【図４Ａ】
2019213124.tif 000006
【図４Ｂ】
2019213124.tif 000007
【図５】
2019213124.tif 000008
【図６】
2019213124.tif 000009
【図７Ａ】
2019213124.tif 000010
【図７Ｂ】
2019213124.tif 000011
【図８】
2019213124.tif 000012