(57)【要約】【課題】ページモードアクセス可能なメモリに格納された２次元画像に対する、２次元走査を高速化する技術を提供する。【解決手段】本出願の画像処理ＡＳＩＣ１２０は、２次元画像の画像処理を行う画像処理ＡＳＩＣであって、スキャナ装置１１０から入力された２次元画像に含まれる各画素の配列を並び替える並び替え処理部１２１と、並び替えた２次元画像を記憶するメインメモリ１３０と、メインメモリ１３０に記憶した２次元画像に対して画像処理を施す画像処理部１２２と、を備え、並び替え処理部１２１は、２次元画像を複数のブロックに区分けした場合に、同一ブロックに含まれる画素を、メインメモリ１３０の同一行アドレスで指定する領域に格納するように、配列を並び替える。【選択図】図１
2009199496.tif 000002
【特許請求の範囲】
【請求項１】
２次元画像の画像処理を行う画像処理回路であって、
入力された２次元画像に含まれる各画素の配列を並び替える並び替え処理手段と、
並び替えた２次元画像を記憶する主記憶手段と、
前記主記憶手段に記憶した２次元画像に対して、前記画像処理を施す画像処理手段と、を備え、
前記並び替え処理手段は、
前記２次元画像を複数のブロックに区分けした場合に、同一ブロックに含まれる画素を、前記主記憶手段の同一行アドレスで指定する領域に格納するように、前記配列を並び替える、
ことを特徴とする画像処理回路。
【請求項２】
請求項１に記載の画像処理回路であって、
前記画像処理が施された２次元画像に対して、前記並び替え処理手段により並び替えられた配列を、元の配列に並べ戻す並べ戻し処理手段、
を備えることを特徴とする画像処理回路。
【請求項３】
請求項１又は２に記載の画像処理回路であって、
前記並び替え処理手段は、
並び替え制御手段と、一時記憶手段と、を備え、
前記並び替え制御手段は、
入力された前記２次元画像を、前記配列に並び替えて前記一時記憶手段に格納し、前記ブロックごとに前記主記憶手段に出力する、
ことを特徴とする画像処理回路。
【請求項４】
請求項１乃至３のいずれか１項に記載の画像処理回路であって、
前記２次元画像は、文字画像であり、
前記並び替え処理手段は、
前記文字画像を複数のブロックに区分けした場合に、近傍に位置する複数のブロックに含まれる画素を、当該ブロックごとに、前記主記憶手段の同一行アドレスで指定する領域に格納するように、前記配列を並び替え、
前記画像処理手段は、
前記主記憶手段の前記同一行アドレスを指定して、前記文字画像における文字の特徴抽出を行う、
ことを特徴とする画像処理回路。
【請求項５】
請求項１乃至３のいずれか１項に記載の画像処理回路であって、
前記２次元画像は、ＪＰＥＧ画像であり、
前記並び替え処理手段は、
前記ＪＰＥＧ画像に含まれる画素であって、復号処理時にジグザクスキャンする順序で連続する所定数の画素を、前記主記憶手段の同一行アドレスで指定する領域に格納するように、前記配列を並び替え、
前記画像処理手段は、
前記主記憶手段の前記同一Ｒｏｗアドレスを指定して、前記ＪＰＥＧ画像の復号処理を行う、
ことを特徴とする画像処理回路。
【請求項６】
請求項１乃至５のいずれか１項に記載の画像処理回路であって、
前記主記憶手段は、ＤＲＡＭである、
ことを特徴とする画像処理回路。
【請求項７】
スキャナ装置と、当該スキャナ装置で読み取った２次元スキャン画像の画像処理を行う画像処理回路と、を備える複合機であって、
前記スキャナ装置から入力された２次元スキャン画像に含まれる各画素の配列を並び替える並び替え処理手段と、
並び替えた２次元スキャン画像を記憶する主記憶手段と、
前記主記憶手段に記憶した２次元スキャン画像に対して、前記画像処理を施す画像処理手段と、を備え、
前記並び替え処理手段は、
前記２次元スキャン画像を複数のブロックに区分けした場合に、同一ブロックに含まれる画素を、前記主記憶手段の同一行アドレスで指定する領域に格納するように、前記配列を並び替える、
ことを特徴とする複合機。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、および、その画像処理回路を備える複合機に関する。
【背景技術】
【０００２】
複合機におけるスキャナ入力の画像処理は、フレーム単位で行われることが多い。この画像処理は、メモリに記憶したフレーム画像を走査して行われる。
【０００３】
このようなフレーム画像を記憶するメモリには、一般的に、ＤＲＡＭ（Dynamic Random Access Memory）が用いられる。ＤＲＡＭからデータを読み出す場合、行アドレス（Ｒｏｗアドレス）が指定されると、ＤＲＡＭ内部では、その行に対応するメモリセル（１ページ）の内容がすべてバッファにロードされる。ＤＲＡＭは、メモリセルからのデータの読み出しに時間がかかるが、いったんバッファに記憶したデータを読み出すのは高速である。この性質を利用したＤＲＡＭへのアクセスを、ページモードアクセスとよぶ。ページモードアクセスでは、１度だけ行アドレスを指定した後、列アドレスを変えながら複数のデータをバッファから高速に読み出すことができる。
【０００４】
特許文献１には、メモリに記憶したフレーム画像内において、近傍に位置している画素を、次々と連続して走査（以下では、「２次元走査」とよぶ）する画像処理について記載されている。
【０００５】
【特許文献１】特開２００２−９９８７６号
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかし、一般的に、メモリに格納するフレーム画像は、各画素の２次元配列がメモリ上の２次元アドレスに対応するように格納される。そのため、ＤＲＡＭに記憶されたフレーム画像を２次元走査する場合には、ページ境界をまたがるような順序で走査することが多くあり、ページモードアクセスしにくい。その結果、フレーム画像の２次元走査に時間がかかる。
【０００７】
本発明は、ページモードアクセス可能なメモリに格納された２次元画像に対する、２次元走査を高速化する技術を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記課題を解決するための本願発明の画像処理回路は、２次元画像の画像処理を行う画像処理回路であって、入力された２次元画像に含まれる各画素の配列を並び替える並び替え処理手段と、並び替えた２次元画像を記憶する主記憶手段と、前記主記憶手段に記憶した２次元画像に対して、前記画像処理を施す画像処理手段と、を備え、前記並び替え処理手段は、前記２次元画像を複数のブロックに区分けした場合に、同一ブロックに含まれる画素を、前記主記憶手段の同一行アドレスで指定する領域に格納するように、前記配列を並び替える。
【発明の効果】
【０００９】
本発明の画像処理回路によれば、ページモードアクセス可能なメモリに格納された２次元画像に対する、２次元走査を高速化することができる。
【発明を実施するための最良の形態】
【００１０】
以下、本発明の実施形態の一例を図面を参照して説明する。
【００１１】
図１は、本発明の実施形態が適用された複合機１００のハードウェア構成の概要を説明するためのブロック図である。
【００１２】
図示するように、複合機１００は、スキャナ装置１１０と、画像処理ＡＳＩＣ（Application Specific Integrated Circuit）１２０と、メインメモリ１３０と、を有する。なお、複合機１００は、一般的な複合機と同様の機能を有し、例えば、印刷機能、ＦＡＸ機能、ローカルプリント機能、ネットワークプリント機能、コピー機能、などを有する。また、これらの機能を実現するために、複合機１００は、図示していないが、複合機１００の全体の動作を制御するＣＰＵ（Central Processing Unit）、各種プログラムなどを格納するメモリ、印刷の制御を行う印刷エンジン、ネットワークインタフェース、ＦＡＸ通信機、などを備えている。
【００１３】
スキャナ装置１１０は、写真やイラスト等の原稿を、光学的にデジタルデータに変換して画像データを生成する。具体的には、スキャナ装置１１０は、複数のＣＣＤセンサが１列に配置されたスキャンヘッドを備え、ＣＣＤセンサが並んだ方向（ラスタ方向）に走査することにより、１列分（１ラスタ分）の原稿を読み取る。そして、スキャナ装置１１０は、読み取った１列分（１ラスタ分）の画像データを、画像処理ＡＳＩＣ１２０に供給する。また、スキャナ装置１１０は、１列分（１ラスタ分）の画像データを読み取ると、スキャンヘッドを、副走査方向に走査させて、次の列の画像データを読み取る。このように、スキャナ装置１１０は、スキャンヘッドの主走査、副走査を繰り返して、１ラスタごとに、画像データを画像処理ＡＳＩＣ１２０に供給する。なお、以下では、スキャナ装置１１０が生成する画像データを構成する各画素は、１バイトとして説明する。
【００１４】
画像処理ＡＳＩＣ１２０は、並び替え処理部１２１と、画像処理部１２２と、並べ戻し処理部１２３と、を有する。なお、それぞれの機能部は、独立した回路でなくてもよく、適宜、回路を共用して、各機能を達成させてもよい。また、画像処理ＡＳＩＣ１２０で行われる一部の処理を、ソフトウェアによって行ってもよい。
【００１５】
並び替え処理部１２１は、スキャナ装置１１０から１ラスタごとに供給された画像データの各画素の配列を並び替える。
【００１６】
図２（Ａ）は、並び替え処理部１２１の機能構成を説明するためのブロック図である。図示するように、並び替え処理部１２１は、並び替え制御部２０１と、第１の記憶部２０２と、を有する。
【００１７】
並び替え制御部２０１は、スキャナ装置１１０から１ラスタ分の画像データを受け付けると、各画素の配列を並び替え、第１の記憶部２０２に記憶する。例えば、並び替え制御部２０１は、回路又は回路群から構成される。
【００１８】
図２（Ｂ）は、並び替え制御部２０１が行う並び替えの手順を説明するための説明図である。図示するように、並び替え制御部２０１は、スキャナ装置１１０から１ラスタ分（太枠）の画像データを受け付けると、受け付けた１ラスタ分の画像データを、複数のブロック（Ａ〜Ｄ）に等分割する。なお、分割するブロック数は、予め定められている。そして、図示する例では、１ラスタ分の画像データを１６画素とし、４つのブロックに等分割しているが、本発明は、これに限定するものではない。
【００１９】
また、並び替え制御部２０１は、等分割したブロックに含まれる各画素を、ブロックごとに、それぞれ、第１の記憶部２０２の別領域に記憶する。具体的には、並び替え制御部２０１は、図示するように、画像データ（例えば、１ラスタ目）を４つに等分割したブロックのうち、第１のブロックＡに含まれる画素（数字「１」〜「４」の画素）を、第１の記憶部２０２の１行目に記憶する。また、第２のブロックＢに含まれる画素（数字「５」〜「８」の画素）を、第１の記憶部２０２の２行目に記憶する。また、第３のブロックＣに含まれる画素（数字「９」〜「１２」の画素）を、第１の記憶部２０２の３行目に記憶する。また、第４のブロックＤに含まれる画素（数字「１３」〜「１６」の画素）を、第１の記憶部２０２の４行目に記憶する。
【００２０】
さらに、並び替え制御部２０１は、スキャナ装置１１０から２ラスタ目の画像データを受け付けると、１ラスタ目の画像データと同様の手順により、受け付けた画像データを、第１の記憶部２０２に記憶する。例えば、２ラスタ目の画像データを４つのブロックに等分割し、第１のブロックＡに含まれる画素（数字「１７」〜「２０」の画素）を、第１の記憶部２０２の１行目に記憶する。このとき、１ラスタ目の画像データが記憶されている位置に連続して、２ラスタ目の画像データを記憶する（数字「４」の画素の位置に連続して、数字「１７」の画素を記憶する）。また、第２から第４のブロック（Ｂ〜Ｄ）に含まれる画素についても、同様に、第２の記憶部２０２の２行目から４行目に、それぞれ、記憶する。
【００２１】
さらに、並び替え制御部２０１は、３ラスタ目、４ラスタ目の画像データについても、同様の手順で、第１の記憶部２０２に記憶する。
【００２２】
以上の手順により、並び替え制御部２０１は、スキャナ装置１１０から１ラスタごとに供給された画像データの各画素の配列を並び替える。例えば、図２（Ｂ）に示す例では、並び替え制御部２０１は、分割されたそれぞれのブロック（Ａ〜Ｄ）に含まれる画素（図２（Ｂ）上段に示す点線枠で囲まれている画素）を、第１の記憶部２０２の同一行（図２（Ｂ）下段に示す点線枠で囲まれている領域）にまとめて記憶するための配列に並び替える。
【００２３】
また、並び替え制御部２０１は、メインメモリ１３０に書き込みが可能な状態になった場合に、第１の記憶部２０２の別領域（例えば、１行目から４行目）に記憶した画像データを、メインメモリ１３０に書き込む。ここで、メインメモリ１３０に書き込みが可能な状態か否かの判別は、１ラスタ分の画像データを分割したブロック数に対応するラスタ数を、第１の記憶部２０２に記憶し終えたか否かによる。例えば、１ラスタ分の画像データを４つのブロックに分割した場合、４ラスタ目の画像データを第１の記憶部２０２に記憶し終えたときに、メインメモリ１３０に書き込みが可能な状態になる。
【００２４】
図２（Ａ）に戻り、第１の記憶部２０２は、例えば、１または複数のバッファから構成され、１ラスタ分の画像データのブロック分割数に対応する分だけ、別領域を備えている。例えば、並び替え制御部２０１が１ラスタ分の画像データを４分割する場合には、第１の記憶部２０２は、４つの別領域（或いは、４つのバッファ）を備えている。
【００２５】
第１の記憶部２０２において同一の領域に記憶された画像データ（各画素）は、後述するメインメモリ１３０への書き込み時に、まとめて出力される。具体的には、図２（Ｂ）に示すように、第１の記憶部２０２の１行目の領域に格納されている画素は、１回目のメインメモリ１３０への書き込み（書込１）時に、まとめて出力される。同様に、第１の記憶部２０２の２行目から４行目の領域に格納されている画素は、それぞれ、２回目から４回目のメインメモリ１３０への書き込み（書込２、書込３、書込４）時に、まとめて出力される。
【００２６】
図１に戻り、メインメモリ１３０は、並び替え処理部１２１が配列を並び替えた２次元画像データを記憶する。メインメモリ１３０は、一般的な多くのメモリの仕様と同様に、２次元アドレス（Ｒｏｗ（行）アドレス、Ｃｏｌｕｍ（縦）アドレス）を指定して、データの読み書きが可能な構成となっている。また、メインメモリ１３０は、上述したページモードアクセスによるページ（同一行アドレスで指定される領域）単位のデータの読み出しが可能なメモリであり、例えば、ＤＲＡＭである。
【００２７】
メインメモリ１３０に記憶される画像データは、第１の記憶部２０２に並び替えて記憶された画像データのデータ構造（図２（Ｂ）下段）と同様のデータ構造を有する。具体的には、第１の記憶部２０２の１行目（図２（Ｂ）に示す書込１）に記憶された画像データは、メインメモリ１３０の１行目の領域に記憶される。同様に、第１の記憶部２０２の２行目、３行目といった行に記憶された画像データは、それぞれ、メインメモリ１３０の２行目、３行目といった領域に記憶される。
【００２８】
また、メインメモリ１３０は、４バイト単位でデータの読み書きが可能に構成されており、例えば、並び替え処理部１２１からのデータの書き込み処理や、後述する画像処理部１２２とのデータの読み書き処理などを、４バイト単位で行う。なお、本発明は、これに限らず、例えば、１バイト単位でデータの読み書きを行うようにしてもよい。
【００２９】
画像処理ＡＳＩＣ１２０の画像処理部１２２は、メインメモリ１３０に書き込まれた２次元画像データに対して、各種画像処理を施す。ここで、各種画像処理は、上述した「２次元走査」を必要とする処理であり、例えば、文字抽出処理や、圧縮画像の復号処理などを含む。
【００３０】
図３は、画像処理部１２２の機能構成を説明するためのブロック図である。図示するように、画像処理部１２２は、画像処理制御部３０１と、第２の記憶部３０２と、を有する。
【００３１】
画像処理制御部３０１は、メインメモリ１３０に記憶されている２次元画像データを、上述したブロック単位で第２の記憶部３０２に読み出し、画像処理を実行する。このような画像処理制御部３０１は、例えば、回路又は回路群から構成される。
【００３２】
図４（Ａ）〜（Ｃ）は、画像処理制御部３０１が行う画像処理（主に、文字抽出処理）の概要を説明するための説明図である。
【００３３】
図４（Ａ）は、並び替え処理部１２１が画像データの配列を並び替えていない場合における、メインメモリ１３０に記憶される画像データのイメージ図である。
【００３４】
メインメモリ１３０に記憶される画像データは、文字抽出処理時において、例えば、図示するような４×４単位のブロックに等分割されて処理される。また、図４（Ａ）〜（Ｃ）では、文字が書かれた画素を、黒く塗りつぶした画素で示す。
【００３５】
図４（Ａ）に示すような画像データから文字抽出を行う場合、画像処理制御部３０１は、文字が書かれた画素の連結性を調べることで、文字や線を認識する。なお、文字抽出の詳細な処理については、特許文献１に記載されているため、本実施形態では簡単に説明する。
【００３６】
図４（Ｂ）は、配列を並び替えていない画像データから文字抽出を行う場合の処理について簡単に説明するための説明図である。図示するように、画像処理制御部３０１は、文字抽出を行う場合、文字が書かれた画素が連結している方向（点線で示す走査方向）に、次々と走査していく。図示する例では、画像処理制御部３０１は、メインメメモリ１３０において、（３，２）の位置の画素から、（３，３）の位置の画素、（３，４）の位置の画素の順に走査する。このような文字抽出時の走査は、上述した「２次元走査」に該当する。
【００３７】
また、画像処理制御部３０１は、画像データの２次元走査時に、メインメモリ１３０から、ページモードアクセスによる１回のアクセスで、４行分の画像データを、第２の記憶部３０２に読み出す。従って、図４（Ｂ）に示す画像データをメインメモリ１３０から第２の記憶部３０２に読み出す場合には、画像処理制御部３０１は、１回のページモードアクセスで、１つのブロック（例えば、ブロックＡやブロックＢ）の画像データを全て第２の記憶部３０２に読み出すことができる。ただし、１回のページモードアクセスでは、図示するＲｏｗアドレス（１〜４）を同時に指定する。
【００３８】
しかし、以上のような読み出し方法では、図４（Ｂ）の点線で示す走査方向に走査する場合には、画像処理制御部３０１は、ブロックＡ、ブロックＣ、ブロックＤ、ブロックＢの順に、画像データを第２の記憶部３０２に読み出さなければならない。この順で、各ブロック（Ａ〜Ｄ）の画像データを第２の記憶部３０２に読み出すには、少なくとも３回のページモードアクセスが必要になる。具体的には、Ｒｏｗアドレス（１〜４）を指定して、ブロックＡの画像データを読み出す１回のページモードアクセスと、Ｒｏｗアドレス（５〜８）を指定して、ブロックＣ及びブロックＤの画像データを読み出す１回のページモードアクセスと、Ｒｏｗアドレス（１〜４）を再指定して、ブロックＢの画像データを読み出す１回のページモードアクセスと、が必要になる。
【００３９】
一方、図４（Ｃ）は、並び替え処理部１２１によって配列を並び替えた画像データから、文字抽出を行う場合の処理について説明するための説明図である。図示するように、太線で囲んだ各ブロック（Ａ〜Ｄ）は、図４（Ｂ）に示すブロックＡ〜Ｄに対応している。各ブロック（Ａ〜Ｄ）は、それぞれ、並び替え処理部１２１によって、同一行アドレスで指定できる領域にまとめて記憶されている。図示する例では、図４（Ｂ）に示すブロックＡに含まれる画素は、図４（Ｃ）に示すＲｏｗアドレス「１」で指定できる領域に全て記憶されている。同様に、図４（Ｂ）に示す他のブロックＢ〜Ｄに含まれる画素は、図４（Ｃ）に示す例では、ブロックごとに同一のＲｏｗアドレス「２」〜「４」で指定できる領域に記憶されている。
【００４０】
従って、画像処理制御部３０１は、ブロックＡ、ブロックＣ、ブロックＤ、ブロックＢの順に、画像データを第２の記憶部３０２に読み出す場合、メインメモリ１３０への１回のページモードアクセスだけで、ブロック（Ａ〜Ｄ）の４行分の画像データを、第２の記憶部３０２に読み出す。ただし、このとき、画像処理制御部３０１は、図４（Ｃ）に示すＲｏｗアドレス（１〜４）を同時に指定している。
【００４１】
図１に戻り、並べ戻し処理部１２３は、並び替え処理部１２１によって並び替えられた画像データの配列を、並び替え処理部１２１が並び替える前（スキャナ装置１１０が生成した画像データ）の配列に並べ戻す。
【００４２】
図５（Ａ）は、並べ戻し処理部１２３の機能構成を説明するためのブロック図である。図示するように、並べ戻し処理部１２３は、並べ戻し制御部４０１と、第３の記憶部４０２と、を有する。
【００４３】
並べ戻し制御部４０１は、画像処理部１２２が画像処理した画像データを、メインメモリ１３０から読み出し、各画素の配列を並べ戻し、第３の記憶部４０２に記憶する。このような並べ戻し制御部４０１は、例えば、回路又は回路群から構成される。
【００４４】
図５（Ｂ）は、並べ戻し制御部４０１が行う並べ戻しの手順を説明するための説明図である。図示するように、並べ戻し制御部４０１は、メインメモリ１３０に記憶されている画像データを、複数のブロック（Ａ〜Ｄ）に等分割する。ただし、等分割するブロック（Ａ〜Ｄ）は、並び替え処理部２０１が並び替えを行う際に分割したブロックに対応している。
【００４５】
また、並べ戻し制御部４０１は、等分割したブロックに含まれる各画素を、ブロックごとに、それぞれ、第３の記憶部４０２の別領域に記憶する。具体的には、並べ戻し制御部４０１は、図示するように、画像データを４つに等分割したブロックのうち、第１のブロックＡに含まれる画素（数字「１」〜「１６」の画素）を、１ラスタ目の画像データとして、第３の記憶部４０２の１行目に記憶する。また、第２のブロックＢに含まれる画素（数字「１７」〜「３２」の画素）を、２ラスタ目の画像データとして、第３の記憶部４０２の２行目に記憶する。また、第３のブロックＣに含まれる画素（数字「３３」〜「４８」の画素）を、３ラスタ目の画像データとして、第３の記憶部４０２の３行目に記憶する。また、第４のブロックＤに含まれる画素（数字「４９」〜「６４」の画素）を、４ラスタ目の画像データとして、第３の記憶部４０２の４行目に記憶する。
【００４６】
また、並べ戻し制御部４０１は、第３の記憶部２０２の別領域（例えば、１行目から４行目）に記憶した画像データを、メインメモリ１３０に書き込む。
【００４７】
図５（Ａ）に戻り、第３の記憶部４０２は、例えば、１または複数のバッファから構成され、上述した所定のブロック分割数に対応する分だけ、別領域を備えている。例えば、並べ戻し制御部４０１がメインメモリ１３０の画像データを４分割する場合には、第３の記憶部４０２は、４つの別領域（或いは、４つのバッファ）を備えている。
【００４８】
第３の記憶部４０２において同一の領域に記憶された画像データ（各画素）は、メインメモリ１３０にまとめて出力される。具体的には、図５（Ｂ）に示すように、第３の記憶部４０２の１行目の領域に格納されている１ラスタ目の画素は、１回目のメインメモリ１３０への書き込み（書込１）時に、まとめて出力される。同様に、第３の記憶部４０２の２行目から４行目の領域に格納されている２ラスタ目から４ラスタ目の画素は、それぞれ、２回目から４回目のメインメモリ１３０への書き込み（書込２、書込３、書込４）時に、まとめて出力される。
【００４９】
次に、上記構成からなる複合機１００における画像処理ＡＳＩＣ１２０の特徴的な動作について説明する。図６は、画像処理ＡＳＩＣ１２０が行う画像処理を示すフローチャートである。
【００５０】
画像処理ＡＳＩＣ１２０は、スキャン装置１１０から画像データが供給されたときに、画像処理を開始する。
【００５１】
まず、画像処理ＡＳＩＣ１２０の並び替え処理部１２１は、スキャナ装置１１０から１ラスタごとに画像データを受け付けて、受け付けた画像データの配列を並び替える処理を行う（ステップＳ１０１）。具体的には、並び替え制御部２０１は、受け付けた画像データを複数のブロックに区分けし、同一ブロックに含まれる画素を、第１の記憶部２０２の同一行アドレスで指定する領域に格納するように、配列を並び替える。例えば、並び替え制御部２０１は、図２（Ｂ）に示すように、スキャナ装置１１０から受け付けた画像データの配列を並び替えて、第１の記憶部２０２に画像データを記憶する。
【００５２】
続いて、並び替え処理部１２１は、第１の記憶部２０２に記憶した画像データを、メインメモリ１３０に書込可能であるか否か判別する（ステップＳ１０２）。具体的には、並び替え制御部２０１は、第１の記憶部２０２に記憶し終えた画像データのラスタ数をカウントする。そして、カウントしたラスタ数が、１ラスタ分の画像データを区分けしたブロック数（例えば、「４」）と一致するか判別する。一致すると判定した場合（ステップＳ１０２；Ｙｅｓ）、並び替え制御部２０１は、処理をステップＳ１０３に移行する。一方、一致しないと判定した場合（ステップＳ１０２；Ｎｏ）、並び替え制御部２０１は、処理をステップＳ１０１に戻して、次の行（１ラスタ分）の画像データを、スキャナ装置１１０から受け付ける。
【００５３】
画像データをメインメモリ１３０に書込可能な状態になると、並び替え処理部１２１は、配列を並び替えた画像データを、メインメモリ１３０に書き込む処理を行う（ステップＳ１０３）。具体的には、並び替え制御部２０１は、第１の記憶部２０２の同一行アドレスで指定する領域に記憶した画像データを、まとめて、メインメモリ１３０の同一行アドレスで指定する領域に書き込む。これにより、並び替え制御部２０１は、第１の記憶部２０２に記憶した画像データを、データ構造を保持したままメインメモリ１３０に複製することができる。
【００５４】
次に、並び替え処理部１２１は、１フレーム分の画像データを、メインメモリ１３０に書き込み終えたか否か判別する（ステップＳ１０４）。書き込み終えたと判定した場合（ステップＳ１０４；Ｙｅｓ）、並び替え処理部１２１は、処理をステップＳ１０５に移行する。一方、書き込み終えていないと判定した場合（ステップＳ１０４；Ｎｏ）、処理をステップＳ１０１に戻して、次の行（１ラスタ分）の画像データを、スキャナ装置１１０から受け付ける。
【００５５】
画像処理部１２２は、メインメモリ１３０に１フレーム分の画像データが記憶されると、記憶された画像データに対して画像処理を行う（ステップ１０５）。具体的には、画像処理制御部３０１は、画像データを、ブロック単位で、メインメモリ１３０から第２の記憶部３０２に読み出し、読み出した画像データに対して、「２次元走査」を伴う画像処理を施す。例えば、画像処理部１２２が行う「２次元走査」を伴う画像処理は、上述した文字抽出の処理である。
【００５６】
並べ戻し処理部１２３は、画像処理部１２２が画像処理した画像データを、メインメモリ１３０から読み出して、各画素の配列を、元の配列に並べ戻す（ステップＳ１０６）。具体的には、並べ戻し制御部４０１は、メインメモリ１３０に記憶されている画像処理済みの画像データを、複数のブロックに区分けし、同一ブロックに含まれる画素を、第３の記憶部４０２の同一行アドレスで指定する領域に格納するように、配列を並び替える。例えば、並べ戻し制御部４０１は、図５（Ｂ）に示すように、メインメモリ１３０の画像処理済みの画像データの配列を並び替えて、第３の記憶部４０２に画像データを記憶する。
【００５７】
続いて、並べ戻し処理部１２３は、ステップＳ１０５で第３の記憶部４０２に並べ戻して記憶した画像データを、メインメモリ１３０に格納する（ステップＳ１０７）。具体的には、並べ戻し制御部４０１は、第３の記憶部４０２の同一行アドレスで指定する領域に記憶した画像データを、まとめて、メインメモリ１３０の同一行アドレスで指定する領域に書き込む。これにより、並べ戻し制御部４０１は、第３の記憶部４０２に記憶した画像データを、データ構造を保持したままメインメモリ１３０に複製することができる。
【００５８】
その後、画像処理ＡＳＩＣ２０は、画像処理を終了する。ここで、例えば、印刷機能を有する複合機１００は、ステップＳ１０７でメインメモリ１３０に格納された画像データの印刷やコピーができる。
【００５９】
以上の画像処理を画像処理ＡＳＩＣ１２０が行うことによって、２次元走査時におけるページモードアクセスに適したデータ構造の画像データを、メインメモリ１３０に生成することができる。その結果、メインメモリ１３０に生成した画像データの２次元走査を、高速化することができる。
【００６０】
なお、本発明は、上記実施形態に限定されず、種々の変形、応用が可能である。
【００６１】
例えば、上記実施形態では、並び替え制御部２０１は、スキャナ装置１１０から１ラスタ分の画像データを受け付けると、受け付けた画像データを、第１の記憶部２０２に、配列を並び替えて記憶する。そして、第１の記憶部２０２に所定ブロック数分の画像データを蓄積すると、蓄積した所定ブロック数分の画像データを、メインメモリ１３０に、順次、書き込むようにしている。しかし、本発明は、これに限定しない。
【００６２】
例えば、図７は、上記実施形態の並び替え処理部１２１に、並び替え記憶部２０３を追加した場合のブロック図である。図示するように、並び替え処理部１２１は、並び替え制御部２０１と、第１の記憶部２０２と、並び替え記憶部２０３と、を有する。
【００６３】
並び替え記憶部２０３は、並び替え制御部２０１によって、配列が並び替えられた画像データを、１フレーム分、蓄積する。
【００６４】
上記構成からなる並び替え処理部１２１の並び替え制御部２０１は、スキャナ装置１１０から１ラスタ分の画像データを受け付けると、受け付けた画像データを、第１の記憶部２０２に、配列を並び替えずに記憶する。そして、並び替え制御部２０１、第１の記憶部２０２に記憶した画像データを、第３の記憶部２０３に、配列を並び替えて記憶する。ここで、配列を並び替える方法には、上記実施形態における並び替え方法と同様の方法を用いる。従って、並び替え記憶部２０３に記憶される画像データのデータ構造は、図２（Ｂ）下段に示すデータ構造と同様のデータ構造となる。そして、並び替え制御部２０１は、並び替え記憶部２０３に、１フレーム分の画像データを蓄積すると、蓄積した１フレーム分の画像データを、データ構造を保持したままメインメモリ１３０に書き込む。
【００６５】
このように、配列を並び替えた１フレーム分の画像データを、一旦、並び替え記憶部２０３に蓄積してから、メインメモリ１３０に書き込むことで、スキャナ装置１１０から並び替え処理部１２１への画像データの供給速度が、メインメモリ１３０に書き込む速度を上回る場合でも、正常に画像データをメインメモリ１３０に書き込むことができる。
【００６６】
また、並び替え記憶部２０３を、並べ戻し処理部２１３の第３の記憶部４０２として使用（共用）することで、メモリを有効利用でき、また、メモリにかかるコストを削減することもできる。
【００６７】
また、並び替え記憶部２０３を、並び替え処理部１２１に設けず、メインメモリ１３０の一部を並び替え記憶部２０３として使用するようにしてもよい。これにより、メモリを有効利用でき、また、メモリにかかるコストを削減することもできる。
【００６８】
また、上記実施形態では、画像処理部２１２が行う画像処理を、文字抽出処理として説明している。しかし、本発明はこれに限定されない。例えば、画像処理部２１２が行う画像処理は、ＪＰＥＧ画像の復号処理でもよい。
【００６９】
ＪＰＥＧ画像を復号する場合、画像処理制御部３０１は、８×８サイズのブロックごとに、ＪＰＥＧ画像をメインメモリ１３０から第２の記憶部３０２に読み出し、読み出したブロック内の画素をジグザグスキャンして復号する。
【００７０】
図８（Ａ）は、メインメモリ１３０に記憶されたＪＰＥＧ画像をジグザグスキャンする場合における、一般的な走査方向を示す図である。図示するように、ジグザグスキャンの走査は、近傍に位置している画素を、次々と連続して走査する「２次元走査」に該当する。
【００７１】
画像処理制御部３０１は、ＪＰＥＧ画像の２次元走査時に、メインメモリ１３０から、ページモードアクセスによる１回のアクセスで、４行分（ブロック単位）のＪＰＥＧ画像を、第２の記憶部３０２に読み出す。
【００７２】
従って、図８（Ａ）の点線で示す走査方向にジグザグスキャンする場合には、画像処理制御部３０１は、太枠で囲んだブロックＡ、ブロックＣ、ブロックＡ、ブロックＢ、ブロックＡ、ブロックＣ、・・・といった順に、画像データを第２の記憶部３０２に読み出さなければならない。この順で、各ブロック（Ａ〜Ｄ）のＪＰＥＧ画像を第２の記憶部３０２に読み出すには、少なくとも１０回のページモードアクセスが必要になる。具体的には、Ｒｏｗアドレス（１〜４）を指定して、ブロックＡ又はＢの画像データを読み出す５回のページモードアクセスと、Ｒｏｗアドレス（５〜８）を指定して、ブロックＣ又はＤの画像データを読み出す５回のページモードアクセスと、が必要になる。
【００７３】
一方、図８（Ｂ）は、並び替え処理部１２１によって配列を並び替えたＪＰＥＧ画像の、メインメモリ１３０におけるデータ構造を示す図である。図示するように、太線で囲んだ各ブロック（Ｅ〜Ｈ）には、ジグザクスキャンする順序で連続する所定数（例えば、１６個）の画素が、まとめて記憶されている。すなわち、並び替え処理部１２１は、スキャン装置１１０からＪＰＥＧ画像が供給された場合に、ジグザクスキャンする順序で連続する１６個の画素が、メインメモリ１３０の同一行アドレスで指定する領域に格納するように、配列を並び替えている。これにより、画像処理制御部３０１は、復号処理時に、ブロックＡ、ブロックＣ、ブロックＡ、ブロックＢ、ブロックＡ、ブロックＣ、・・・といった順で、ＪＰＥＧ画像を第２の記憶部３０２に読み出す場合、メインメモリ１３０への１回のページモードアクセスだけで、ブロック（Ｅ〜Ｈ）の４行分の画像データを、第２の記憶部３０２に読み出すことができるようになる。
【図面の簡単な説明】
【００７４】
【図１】本発明の実施形態に係る複合機のハードウェア構成図である。
【図２】（Ａ）並び替え処理部の機能構成図である。（Ｂ）並び替え制御部が行う並び替え手順の説明図である。
【図３】画像処理部の機能構成図である。
【図４】（Ａ）画像データ（配列が並び替えられていない場合）のイメージ図である。（Ｂ）配列を並び替えていない画像データに対して行う文字抽出処理の説明図である。（Ｃ）配列を並び替えた画像データに対して行う文字抽出処理の説明図である。
【図５】（Ａ）並べ戻し処理部の機能構成図である。（Ｂ）並べ戻し制御部が行う並べ戻し手順の説明図である。
【図６】画像処理ＡＳＩＣが行う画像処理を説明するためのフローチャートである。
【図７】並び替え記憶部を追加した場合の並び替え処理部の機能構成図である。
【図８】（Ａ）ジグザグスキャンの走査方向を示す図である。（Ｂ）配列を並び替えたＪＰＥＧ画像のデータ構造を示す図である。
【符号の説明】
【００７５】
１００・・・複合機、１１０・・・スキャナ装置、１２０・・・画像処理ＡＳＩＣ、１２１・・・並び替え処理部、１２２・・・画像処理部、１２３・・・並べ戻し処理部、１３０・・・メインメモリ、２０１・・・並び替え制御部、２０２・・・第１の記憶部、２０３・・・並び替え記憶部、３０１・・・画像処理制御部、３０２・・・第２の記憶部、４０１・・・並べ戻し制御部、４０２・・・第３の記憶部。
【図１】
2009199496.tif 000003
【図２】
2009199496.tif 000004
【図３】
2009199496.tif 000005
【図４】
2009199496.tif 000006
【図５】
2009199496.tif 000007
【図６】
2009199496.tif 000008
【図７】
2009199496.tif 000009
【図８】
2009199496.tif 000010