(57)【要約】【課題】  不連続なアドレスに記憶された画像データに対して、画像データの各画素に連続的に付与されたパラメータを用いてアクセスすることができる画像処理装置を提供する。【解決手段】  スタート画素の一次元座標、及びそのスタート画素がメモリ５に格納されているアドレスとそのスタート画素の一次元座標との差分を表すオフセット１２１を対応させた領域変換情報を、複数の記憶領域それぞれについて記憶する変換テーブル記憶部１０２と、変換テーブル記憶部１０２に記憶されている各記憶領域におけるスタート画素一次元座標１２０と目的画素の一次元座標とに基づいて当該目的画素が属する記憶領域についての領域変換情報を検索し、当該検索された領域変換情報におけるオフセット１２１と目的画素の一次元座標とを加算することにより当該目的画素のアドレスを取得するアドレス取得部を備えた。【選択図】      図５
2005250996.tif 000002
【特許請求の範囲】
【請求項１】
画像データを記憶するためのメモリを備え、当該メモリ上における複数の記憶領域に記憶された画像データにアクセスするための画像処理装置であって、
前記複数の記憶領域の少なくとも一部のそれぞれにおける先頭アドレスに格納されている画素であるスタート画素の、前記画像データにおける先頭画素からスキャンライン方向に画素数を数えた番号である一次元座標と、前記スタート画素が前記メモリに格納されているアドレスを示すための情報とを対応させた領域変換情報を、前記複数の領域それぞれについて記憶する変換テーブル記憶部と、
前記画像データにおける目的画素の一次元座標の入力を受け付けて、当該受け付けられた目的画素の一次元座標と、前記変換テーブル記憶部に記憶されている前記各領域におけるスタート画素の一次元座標とに基づいて当該目的画素が属する前記領域についての領域変換情報を検索し、当該検索された領域変換情報における前記アドレスを示すための情報に基づいて、前記メモリにおける当該目的画素にアクセスするためのアドレスを取得するアドレス取得部を備えたことを特徴とする画像処理装置。
【請求項２】
前記検索された領域変換情報におけるアドレスを示すための情報は、前記スタート画素が前記メモリに格納されているアドレスとそのスタート画素の一次元座標との差分を表すオフセット値であり、
前記アドレス取得部は、前記検索された領域変換情報におけるオフセット値と前記目的画素の一次元座標との加算値を、前記メモリにおける当該目的画素にアクセスするためのアドレスとして算出することを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記複数の領域それぞれについて、各領域の前記メモリ上における先頭アドレスとその領域に格納される画素数とを対応させたディスクリプタ情報を生成するディスクリプタ生成部と、
前記ディスクリプタ生成部により生成されたディスクリプタ情報を記憶するディスクリプタ記憶部と、
前記ディスクリプタ記憶部に記憶されている各領域のディスクリプタ情報を順次読み出し、当該読み出したディスクリプタ情報における前記格納される画素数を順次加算して得られた値を、前記各領域変換情報におけるスタート画素の一次元座標として、前記変換テーブル記憶部に順次記憶させ、前記読み出したディスクリプタ情報における各領域のメモリ上における先頭アドレスと前記加算して得られた各スタート画素の一次元座標との差分を、前記各領域の領域変換情報におけるオフセット値として、順次前記変換テーブル記憶部に記憶させることにより前記各領域変換情報を生成する変換テーブル生成部とを、さらに備えたことを特徴とする請求項２記載の画像処理装置。
【請求項４】
前記アドレス取得部は、当該受け付けた目的画素の一次元座標が、前記変換テーブル記憶部に記憶されている領域変換情報におけるスタート画素の一次元座標のうち最後尾の座標位置を示す一次元座標よりも後の座標位置を示す場合、当該最後尾の一次元座標を有する領域変換情報に対応する領域に続く領域についてのディスクリプタ情報に基づいて、新たに前記続く領域についての領域変換情報を前記変換テーブル生成部に生成させ、前記変換テーブル記憶部に記憶させることを特徴とする請求項３記載の画像処理装置。
【請求項５】
前記スタート画素の一次元座標と前記ディスクリプタ記憶部におけるアドレスであるディスクリプタアドレスとを対応づけて記憶するブックマーク記憶部をさらに備え、
前記変換テーブル生成部は、それぞれ対応する領域のディスクリプタ情報が記憶されている前記ディスクリプタアドレスを、前記各領域の領域変換情報における前記スタート画素の一次元座標と前記スタート画素のメモリ上のアドレスとに対応付けてさらに前記変換テーブル記憶部に記憶させ、前記変換テーブル記憶部により記憶されている前記領域変換情報の数が、前記変換テーブル記憶部が記憶可能な数に達しているときに前記続く領域についての領域変換情報を記憶させる場合に、前記変換テーブル記憶部に記憶されている領域変換情報のスタート画素における一次元座標のうち最前位置の一次元座標を有する領域変換情報と、前記続く領域についての領域変換情報とを置き換えて記憶させると共に、間欠的に、当該最前位置の領域変換情報に含まれる、前記スタート画素の一次元座標と前記ディスクリプタアドレスとをブックマーク情報として前記ブックマーク記憶部に記憶させるものであり、
前記アドレス取得部は、前記受け付けた目的画素の一次元座標が、前記最前位置の一次元座標よりも前の座標位置を示す場合、前記ブックマーク記憶部に記憶されているブックマーク情報のうち、前記受け付けた目的画素の一次元座標よりも前の座標位置を示す一次元座標であって、かつ当該目的画素の一次元座標と最も差異が小さい一次元座標を有するブックマーク情報に含まれるディスクリプタアドレスから、前記変換テーブル生成部によって、前記ディスクリプタ記憶部から順次読み出させた各領域のディスクリプタ情報に基づいて新たに前記各領域の領域変換情報を生成させ、前記変換テーブル記憶部に記憶させ、
前記アドレス取得部は、前記受け付けた目的画素の一次元座標と、前記変換テーブル記憶部に新たに記憶された前記各領域におけるスタート画素の一次元座標とに基づいて、前記メモリにおける当該目的画素にアクセスするためのアドレスを算出するものであることを特徴とする請求項４記載の画像処理装置。
【請求項６】
前記変換テーブル生成部に前記間欠的にブックマーク情報をブックマーク記憶部に記憶させるための一次元座標であるブックマーク対象座標の設定を受け付ける設定受付部をさらに備え、
前記変換テーブル生成部は、前記変換テーブル記憶部により記憶されている前記領域変換情報の数が、前記変換テーブル記憶部が記憶可能な数に達しているときに前記続く領域についての領域変換情報を記憶させる際、前記変換テーブル記憶部に記憶されている最初の領域変換情報が、前記設定受付部により受け付けられたブックマーク対象座標を含む領域に対応する情報であった場合に、当該最初の領域変換情報に含まれる、前記スタート画素の一次元座標と前記ディスクリプタアドレスとをブックマーク情報として前記ブックマーク記憶部に記憶させるものであることを特徴とする請求項５記載の画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリの不連続なアドレスに記憶された画像データに対して画像処理を行う画像処理装置に関する。
【背景技術】
【０００２】
画像を表す画像データの処理を行う画像処理装置、例えば画像処理装置の一例であるデジタル複写機やスキャナー装置等においては、原稿読み取り部に載置された原稿の向きが縦置きの場合と横置きの場合とに応じて、原稿から読み取った画像データを９０度回転させる画像処理を行うものが知られている。また、例えば画像データをＪＰＥＧ（Joint Photographic Experts Group）等の画像フォーマットに変換する画像処理装置や、画像の一部を切り取ったり貼り付けたりする画像編集機能を備えた画像処理装置が知られている。このような画像処理装置は、画像の回転やフォーマット変換等の画像処理を行う際に、予め処理対象の画像データをメモリ上に展開する。
【０００３】
この場合、画像データは、画像を構成する各画素を表す画素データの集合であり、各画素データがメモリ上のアドレス空間に順に、例えばＣＲＴ（Cathode Ray Tube）に画像を表示する場合における走査線の方向であるスキャンライン方向の順にメモリ上のアドレス空間に記憶されることにより、画像が表されている。すなわち、画像データを構成する各画素が記憶されているメモリのアドレスは、各画素の画像における位置を表すパラメータとして用いられている。
【０００４】
そして、メモリ上の画像データにアクセスして所定の数値演算、例えば行列演算や三角関数演算等の数値演算を施したり、画像データをメモリ上の他のアドレスにコピーしたりすることにより、画像処理が実行される。特に、画像を回転させる場合のように画像を変化させる画像処理、すなわち画像における各画素の位置関係を変化させる画像処理においては、メモリ上に配置されている画像データにおける各画素のアドレスをパラメータとして例えば行列演算を施すことにより、画像処理後における各画素の新たなメモリ上のアドレスを算出し、そのアドレスに各画素データをコピーすることにより、画像処理が施された新たな画像データが生成されるようになっている（例えば、特許文献１，２，３，４参照。）。
【特許文献１】特開２０００−２０７５４１号公報
【特許文献２】特開２００３−２７４１６０号公報
【特許文献３】特開平９−３１１９３５号公報
【特許文献４】特開平８−２７２９２７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところで、上述のような画像処理装置において、メモリの利用効率向上を図るためには、オペレーティングシステムを用いて、アプリケーションプログラムや画像データのために動的にメモリ領域を割り当てることが望ましい。しかし、オペレーティングシステムを用いてメモリ領域の割り当てを行うと、必ずしも連続したメモリ領域が割り当てられるとは限らない。図８は、オペレーティングシステムを用いて画像データ２０１にメモリ領域を割り当てた場合のメモリマップ２０２の例を示す図である。図８における画像データ２０１において、矢印はスキャンライン方向を示している。また、メモリマップ２０２に示すように、メモリ上にはオペレーティングシステムや、アプリケーションプログラムが使用する領域が既に割り当てられている。
【０００６】
この状態で、画像データ２０１をメモリに記憶させるために、オペレーティングシステムは、画像データ２０１のデータ量に相当するメモリ領域をメモリマップ２０２上に割り当てる。この場合、画像データ２０１のデータ量に相当するアドレスが連続した空き領域がメモリ上にないと、オペレーティングシステムは、例えば図８に示すように、画像データ２０１のために、メモリ上のアドレスが連続しない複数の領域２０３，２０４，２０５，２０６を割り当てる。そして、画像データ２０１は、複数の領域２０３，２０４，２０５，２０６に分割されて記憶される。特に、画像データの場合にはデータ量が大きくなる傾向があるため、オペレーティングシステムによって、アドレスが連続しない複数の領域に分割して記憶されることが通例である。
【０００７】
しかし、画像データ２０１が複数の領域に分割されて記憶されると、各画素の画像における位置と、各画素が記憶されているアドレスとの間の線形性が失われてしまうため、例えば画像を回転させる場合、メモリに記憶された画像データ２０１の各画素のアドレスをパラメータとして行列演算を施したとしても、画像処理後における各画素の新たなメモリ上のアドレスは得られない。従って、行列演算等の数値演算を用いて画像データ２０１における各画素の位置関係を変化させるような画像処理を行うことができないという不都合があった。
【０００８】
また、例えば、画像データ２０１をメモリ上の他のアドレスにコピーする場合、ＤＭＡ（Direct Memory  Access）コントローラを用いて高速にＤＭＡ転送することが考えられるが、ＤＭＡコントローラを用いた場合には、転送開始アドレスと転送終了アドレス（あるいは転送データ量）とをＤＭＡコントローラに設定することにより転送開始アドレスからの連続したアドレスのデータが転送されるため、画像データ２０１がアドレスが不連続な複数の領域に分割して記憶されている場合、ＤＭＡコントローラによりＤＭＡ転送を行うことができないという不都合があった。
【０００９】
本発明は、このような問題に鑑みて為された発明であり、不連続なアドレスに記憶された画像データに対して、画像データの各画素に連続的に付与されたパラメータを用いてアクセスすることができる画像処理装置を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上述の目的を達成するために、本発明に係る画像処理装置は、画像データを記憶するためのメモリを備え、当該メモリ上における複数の領域に記憶された画像データにアクセスするための画像処理装置であって、前記複数の領域の少なくとも一部のそれぞれにおける先頭アドレスに格納されている画素であるスタート画素の、前記画像データにおける先頭画素からスキャンライン方向に画素数を数えた番号である一次元座標と、前記スタート画素が前記メモリに格納されているアドレスを示すための情報とを対応させた領域変換情報を、前記複数の領域それぞれについて記憶する変換テーブル記憶部と、前記画像データにおける目的画素の一次元座標の入力を受け付けて、当該受け付けられた目的画素の一次元座標と、前記変換テーブル記憶部に記憶されている前記各領域におけるスタート画素の一次元座標とに基づいて当該目的画素が属する前記領域についての領域変換情報を検索し、当該検索された領域変換情報における前記アドレスを示すための情報に基づいて、前記メモリにおける当該目的画素にアクセスするためのアドレスを取得するアドレス取得部を備えたことを特徴としている。
【００１１】
また、上述の画像処理装置において、前記検索された領域変換情報におけるアドレスを示すための情報は、前記スタート画素が前記メモリに格納されているアドレスとそのスタート画素の一次元座標との差分を表すオフセット値であり、前記アドレス取得部は、前記検索された領域変換情報におけるオフセット値と前記目的画素の一次元座標との加算値を、前記メモリにおける当該目的画素にアクセスするためのアドレスとして算出することを特徴としている。
【００１２】
そして、上述の画像処理装置において、前記複数の領域それぞれについて、各領域の前記メモリ上における先頭アドレスとその領域に格納される画素数とを対応させたディスクリプタ情報を生成するディスクリプタ生成部と、前記ディスクリプタ生成部により生成されたディスクリプタ情報を記憶するディスクリプタ記憶部と、前記ディスクリプタ記憶部に記憶されている各領域のディスクリプタ情報を順次読み出し、当該読み出したディスクリプタ情報における前記格納される画素数を順次加算して得られた値を、前記各領域変換情報におけるスタート画素の一次元座標として、前記変換テーブル記憶部に順次記憶させ、前記読み出したディスクリプタ情報における各領域のメモリ上における先頭アドレスと前記加算して得られた各スタート画素の一次元座標との差分を、前記各領域の領域変換情報におけるオフセット値として、順次前記変換テーブル記憶部に記憶させることにより前記各領域変換情報を生成する変換テーブル生成部とを、さらに備えたことを特徴としている。
【００１３】
さらに、上述の画像処理装置において、前記アドレス取得部は、当該受け付けた目的画素の一次元座標が、前記変換テーブル記憶部に記憶されている領域変換情報におけるスタート画素の一次元座標のうち最後尾の座標位置を示す一次元座標よりも後の座標位置を示す場合、当該最後尾の一次元座標を有する領域変換情報に対応する領域に続く領域についてのディスクリプタ情報に基づいて、新たに前記続く領域についての領域変換情報を前記変換テーブル生成部に生成させ、前記変換テーブル記憶部に記憶させることを特徴としている。
【００１４】
また、上述の画像処理装置において、前記スタート画素の一次元座標と前記ディスクリプタ記憶部におけるアドレスであるディスクリプタアドレスとを対応づけて記憶するブックマーク記憶部をさらに備え、前記変換テーブル生成部は、それぞれ対応する領域のディスクリプタ情報が記憶されている前記ディスクリプタアドレスを、前記各領域の領域変換情報における前記スタート画素の一次元座標と前記スタート画素のメモリ上のアドレスとに対応付けてさらに前記変換テーブル記憶部に記憶させ、前記変換テーブル記憶部により記憶されている前記領域変換情報の数が、前記変換テーブル記憶部が記憶可能な数に達しているときに前記続く領域についての領域変換情報を記憶させる場合に、前記変換テーブル記憶部に記憶されている領域変換情報のスタート画素における一次元座標のうち最前位置の一次元座標を有する領域変換情報と、前記続く領域についての領域変換情報とを置き換えて記憶させると共に、間欠的に、当該最前位置の領域変換情報に含まれる、前記スタート画素の一次元座標と前記ディスクリプタアドレスとをブックマーク情報として前記ブックマーク記憶部に記憶させるものであり、前記アドレス取得部は、前記受け付けた目的画素の一次元座標が、前記最前位置の一次元座標よりも前の座標位置を示す場合、前記ブックマーク記憶部に記憶されているブックマーク情報のうち、前記受け付けた目的画素の一次元座標よりも前の座標位置を示す一次元座標であって、かつ当該目的画素の一次元座標と最も差異が小さい一次元座標を有するブックマーク情報に含まれるディスクリプタアドレスから、前記変換テーブル生成部によって、前記ディスクリプタ記憶部から順次読み出させた各領域のディスクリプタ情報に基づいて新たに前記各領域の領域変換情報を生成させ、前記変換テーブル記憶部に記憶させ、前記アドレス取得部は、前記受け付けた目的画素の一次元座標と、前記変換テーブル記憶部に新たに記憶された前記各領域におけるスタート画素の一次元座標とに基づいて、前記メモリにおける当該目的画素にアクセスするためのアドレスを算出するものであることを特徴としている。
【００１５】
そして、上述の画像処理装置において、前記変換テーブル生成部に前記間欠的にブックマーク情報をブックマーク記憶部に記憶させるための一次元座標であるブックマーク対象座標の設定を受け付ける設定受付部をさらに備え、前記変換テーブル生成部は、前記変換テーブル記憶部により記憶されている前記領域変換情報の数が、前記変換テーブル記憶部が記憶可能な数に達しているときに前記続く領域についての領域変換情報を記憶させる際、前記変換テーブル記憶部に記憶されている最初の領域変換情報が、前記設定受付部により受け付けられたブックマーク対象座標を含む領域に対応する情報であった場合に、当該最初の領域変換情報に含まれる、前記スタート画素の一次元座標と前記ディスクリプタアドレスとをブックマーク情報として前記ブックマーク記憶部に記憶させるものであることを特徴としている。
【発明の効果】
【００１６】
この発明によれば、変換テーブル記憶部によって、スタート画素の一次元座標と、スタート画素がメモリに格納されているアドレスを示すための情報とを対応させた領域変換情報が、複数の領域それぞれについて記憶され、アドレス取得部によって、目的画素の一次元座標と、変換テーブル記憶部に記憶されている各領域におけるスタート画素の一次元座標とに基づいて当該目的画素が属する領域についての領域変換情報が検索され、当該検索された領域変換情報における前記アドレスを示すための情報に基づいて、メモリにおける当該目的画素にアクセスするためのアドレスが取得される。これにより、目的画素の一次元座標を用いてメモリにおける当該目的画素にアクセスすることができるので、不連続なアドレスに記憶された画像データに対して、画像データの各画素に連続的に付与されたパラメータを用いてアクセスすることができる。
【００１７】
この発明によれば、領域変換情報は、スタート画素の一次元座標とオフセット値とが対応したものであるので、領域変換情報におけるオフセット値と目的画素の一次元座標とを加算することにより、メモリにおける当該目的画素にアクセスするためのアドレスを算出することができるので、アドレスの算出が容易である。
【００１８】
この発明によれば、複数の領域それぞれについて、各領域のメモリ上における先頭アドレスとその領域に格納される画素数とを対応させたディスクリプタ情報がディスクリプタ記憶部により記憶され、ディスクリプタ記憶部から順次読み出された各領域のディスクリプタ情報におけるその領域に格納される画素数が順次加算されることにより、各領域変換情報におけるスタート画素の一次元座標が算出され、ディスクリプタ情報における各領域のメモリ上における先頭アドレスと、順次加算して得られた各スタート画素の一次元座標との差分が、各領域の領域変換情報におけるオフセット値として算出されるので、各領域の領域変換情報を生成することができる。
【００１９】
この発明によれば、目的画素の一次元座標が、変換テーブル記憶部に記憶されている領域変換情報におけるスタート画素の一次元座標のうち最後尾の座標位置を示す一次元座標よりも後の座標位置を示す場合、当該最後尾の一次元座標を有する領域変換情報に対応する領域に続く領域についてのディスクリプタ情報に基づいて、新たに続く領域についての領域変換情報が、変換テーブル生成部によって生成されるので、変換テーブル記憶部に記憶されている領域変換情報よりも後方に位置する目的画素の一次元座標が、アドレス取得部により受け付けられた場合であっても、目的画素の一次元座標を用いてメモリにおける当該目的画素にアクセスすることができる。
【００２０】
この発明によれば、それぞれ対応する領域のディスクリプタ情報が記憶されているディスクリプタアドレスが、各領域の領域変換情報としてさらに変換テーブル記憶部に記憶される。また、変換テーブル記憶部が前記変換テーブル記憶部により記憶されている前記領域変換情報の数が、前記変換テーブル記憶部が記憶可能な数に達しているときに前記続く領域についての領域変換情報を記憶させる場合に、変換テーブル記憶部に記憶されている領域変換情報のスタート画素における一次元座標のうち最前位置の一次元座標を有する領域変換情報と、前記続く領域についての領域変換情報とが置き換えられて記憶される。そして、間欠的に、当該最前位置の領域変換情報に含まれる、スタート画素の一次元座標とディスクリプタアドレスとがブックマーク情報としてブックマーク記憶部に記憶される。さらに、目的画素の一次元座標が最前位置の一次元座標よりも前の座標位置を示す場合、ブックマーク記憶部に記憶されているブックマーク情報のうち、目的画素の一次元座標よりも前の座標位置を示す一次元座標であって、かつ当該目的画素の一次元座標と最も差異が小さい一次元座標を有するブックマーク情報に含まれるディスクリプタアドレスから、ディスクリプタ記憶部から順次読み出させた各領域のディスクリプタ情報に基づいて新たに各領域の領域変換情報が生成され、変換テーブル記憶部に記憶される。そして、アドレス取得部により、目的画素の一次元座標と、変換テーブル記憶部に新たに記憶された各領域におけるスタート画素の一次元座標とに基づいて、メモリにおける当該目的画素にアクセスするためのアドレスが算出される。これにより、目的画素の一次元座標が最前位置の一次元座標よりも前の座標位置を示す場合、ブックマーク情報に含まれるディスクリプタアドレスから、ディスクリプタ情報を順次読み出すことにより、新たに各領域の領域変換情報を生成することができるので、各領域の領域変換情報を最初から生成し直す必要がなく、領域変換情報の生成処理を高速化することができる。
【００２１】
この発明によれば、変換テーブル生成部によって、前記変換テーブル記憶部により記憶されている前記領域変換情報の数が、前記変換テーブル記憶部が記憶可能な数に達しているときに前記続く領域についての領域変換情報を記憶させる際、変換テーブル記憶部に記憶されている最初の領域変換情報が、設定部に設定されたブックマーク対象座標を含む領域に対応する情報であった場合に、当該最初の領域変換情報に含まれるスタート画素の一次元座標とディスクリプタアドレスとがブックマーク情報としてブックマーク記憶部に記憶されるので、ブックマーク対象座標として設定された一次元座標を含む領域設定情報のブックマーク情報をブックマーク記憶部に記憶させることができる。
【発明を実施するための最良の形態】
【００２２】
以下、本発明に係る実施形態を図面に基づいて説明する。なお、各図において同一の符号を付した構成は、同一の構成であることを示し、その説明を省略する。
【００２３】
図１は、本発明の一実施形態に係る画像処理装置１の構成の一例を示す図である。図１に示す画像処理装置１は、例えば画像形成装置やファクシミリ等の原稿読み取りに用いられるスキャナ装置であり、装置全体の動作を制御するＣＰＵ（Central Processing Unit）２と、オペレーティングシステムや画像処理用プログラム等のアプリケーションプログラムを記憶したＲＯＭ（Read Only Memory）３と、例えば原稿から画像読み取って画像データを取得するスキャナ４と、オペレーティングシステムやアプリケーションプログラム等のプログラムを実行するための一時記憶領域やスキャナ４によって取得された画像データを記憶する画像記憶領域等として用いられるメモリ５と、メモリ５に記憶されている画像データにアクセスして所定の画像処理を実行するＡＳＩＣ（Application Specific Integrated Circuit）６とを備える。
【００２４】
ＣＰＵ２は、ＲＯＭ３に記憶されたオペレーティングシステムを実行することにより、メモリ５における記憶領域を、アプリケーションプログラムや画像データに割り当てたり、画像処理用プログラムを実行することにより、オペレーティングシステムによって割り当てられた記憶領域の配置に基づいて、各領域のメモリ５上における先頭アドレスとその領域に格納される画素数とを対応させたディスクリプタ情報を生成するディスクリプタ生成部として機能したりする。
【００２５】
図２は、ＣＰＵ２がオペレーティングシステムを実行することによりメモリ５上に割り当てられたメモリマップ５０の一例を説明するための図である。図２に示すメモリマップ５０においては、オペレーティングシステムが使用する記憶領域５２と、アプリケーションプログラムが使用する記憶領域５３，５５と、スキャナ４に割り当てられた領域５４と、例えばスキャナ４によって取得された画像データ５１に割り当てられた記憶領域５７，５８，５９，６０と、記憶領域５７，５８，５９，６０の各先頭アドレスとその領域に格納される画素数とを対応させたディスクリプタ情報５６とが不連続なアドレスに配置されている。例えば、記憶領域５７，５８，５９，６０の各先頭アドレスは、それぞれアドレスＡｄｄ１、アドレスＡｄｄ２、アドレスＡｄｄ３、アドレスＡｄｄ４になっている。また、ディスクリプタ情報５６の先頭アドレスは、アドレスＡｄｄ５になっている。
【００２６】
図３は、ディスクリプタ情報５６の一例を示す図である。図３に示すディスクリプタ情報５６は、記憶領域５７，５８，５９，６０の各記憶領域毎に、それぞれ各記憶領域の先頭アドレスである領域先頭アドレスと、その記憶領域に格納される画素数であるサイズ情報と、次の記憶領域についてのディスクリプタ情報が記憶されている次ディスクリプタアドレスとが対応付けられている。
【００２７】
図１に戻って、ＡＳＩＣ６は、回転マトリクス７と、二組のアドレス変換モジュール８，９とを備えている。また、アドレス変換モジュール８は、動作指示受付部１０ａと、ＤＭＡコントローラ１１ａと、アドレス変換部１２ａとを備え、アドレス変換モジュール９は、動作指示受付部１０ｂと、ＤＭＡコントローラ１１ｂと、アドレス変換部１２ｂとを備えている。
【００２８】
回転マトリクス７は、ＣＰＵ２から画像回転方向や回転角度を指示するための回転条件設定レジスタ７１を備えている。また、回転マトリクス７は、例えば、画像データを画素単位で一次元座標と対応して記憶する複数の座標変換用レジスタがマトリクス状に配列されて構成されており、ＣＰＵ２及びＤＭＡコントローラ１１ａ，１１ｂのうちいずれかによって処理対象の画像データがマトリクス状のレジスタに記憶され、その座標変換用レジスタに記憶された画像データの各画素が、回転条件設定レジスタ７１に設定された回転方向や回転角度に従って並び替えられて出力されることにより、画像の回転処理が実行される。
【００２９】
アドレス変換モジュール８とアドレス変換モジュール９とは、ほぼ同様に構成されており、例えば、アドレス変換モジュール８によって、メモリ５に記憶されている画像データが回転マトリクス７へ出力されると共に、回転マトリクス７により回転処理が施された画像データがアドレス変換モジュール９によってメモリ５へ転送されるようになっている。
【００３０】
動作指示受付部１０ａ，１０ｂは、ＣＰＵ２からの動作指示を受け付けるためのものである。動作指示受付部１０ａは、例えば、ＤＭＡコントローラ１１ａに動作指示を与えるためのＤＭＡ制御レジスタ８１、画像データにおける先頭画素からスキャンライン方向に画素数を数えた番号である一次元座標によって画像処理の対象となる画像データの範囲を設定する処理範囲設定レジスタ８２、画像処理をブロック単位で実行する場合に、ブックマーク対象座標の具体例であるブロックの境界となる画素の一次元座標を設定する境界値設定レジスタ８３、及びアドレス変換モジュール８に画像処理動作を開始させたり停止させたりするための動作制御フラグ８４等を備えている。また、動作指示受付部１０ｂも同様に、ＤＭＡ制御レジスタ９１、処理範囲設定レジスタ９２、境界値設定レジスタ９３、及び動作制御フラグ９４等を備えている。
【００３１】
図４は、アドレス変換部１２ａ，１２ｂの構成の一例を説明するためのブロック図である。図４に示すアドレス変換部１２ａ，１２ｂは、それぞれ変換テーブル処理部１３と、ディスクリプタ読出部１４と、ステートマシン１５とを備える。ステートマシン１５は、変換テーブル処理部１３、及びディスクリプタ読出部１４の動作を制御する順序回路である。ディスクリプタ読出部１４は、ステートマシン１５からの制御信号に応じて、ＤＭＡ制御レジスタ８１又は制御レジスタ９１に設定されているディスクリプタの先頭アドレスに基づき、メモリ５から順次読み出したディスクリプタ情報を変換テーブル処理部１３へ出力する。
【００３２】
図５は、変換テーブル処理部１３の構成の一例を示すブロック図である。図５に示す変換テーブル処理部１３は、変換テーブル生成部１０１と、変換テーブル記憶部１０２と、ブックマーク記憶部１０３と、アドレス算出部１０４とを備えている。変換テーブル生成部１０１は、ディスクリプタ前処理レジスタ１０５、加算器１０６、次スタート画素一次元座標レジスタ１０７、減算器１０８、次アドレスレジスタ１０９、及びリンクレジスタ１１０を備えている。
【００３３】
変換テーブル記憶部１０２は、画像データの各画素の一次元座標を、メモリ５のアドレスに変換するための変換テーブルを記憶するもので、各記憶領域の領域変換情報を記憶する領域変換情報レジスタ１１１を複数備え、各領域変換情報レジスタ１１１により記憶された領域変換情報の集合によって、変換テーブルが構成されるようになっている。
【００３４】
ブックマーク記憶部１０３は、スタート画素一次元座標１２０と自ディスクリプタアドレス１１５とを対応づけたブックマーク情報を記憶するブックマークレジスタ１２４を、例えば２つ備えている。
【００３５】
そして、変換テーブル生成部１０１は、ディスクリプタ読出部１４から順次出力されたディスクリプタ情報をディスクリプタ前処理レジスタ１０５に、領域先頭アドレス１１２、サイズ１１３、次ディスクリプタアドレス１１４として記憶させ、さらに各ディスクリプタ情報のアドレスを自ディスクリプタアドレス１１５として記憶させ、次ディスクリプタアドレス１１４が「０」でなければ後続するディスクリプタ情報が存在していることを示すべくリンク有無フラグ１１６を「１」にする。
【００３６】
さらに、変換テーブル生成部１０１は、ディスクリプタ前処理レジスタ１０５に順次記憶されたサイズ１１３を加算器１０６により順次加算して得られた値を、記憶領域のそれぞれにおける先頭アドレスに格納されている画素であるスタート画素の一次元座標であるスタート画素一次元座標１２０として、順次、複数の領域変換情報レジスタ１１１に記憶させ、減算器１０８により領域先頭アドレス１１２からスタート画素一次元座標１２０を減算した値を、各領域の領域変換情報におけるオフセット１２１として、順次複数の領域変換情報レジスタ１１１に記憶させ、ディスクリプタ前処理レジスタ１０５に順次記憶された自ディスクリプタアドレス１１５をそれぞれ複数の領域変換情報レジスタ１１１に記憶させる。そして、スタート画素一次元座標１２０、オフセット１２１、及び自ディスクリプタアドレス１１５が記憶された領域変換情報レジスタ１１１における有効フラグ１２２を「１」とする。
【００３７】
また、変換テーブル生成部１０１は、変換テーブル記憶部１０２が備える全ての領域変換情報レジスタ１１１の有効フラグ１２２が「１」となっているときに、さらに後続する記憶領域についての領域変換情報を変換テーブル記憶部１０２に記憶させる場合に、変換テーブル記憶部１０２に記憶されているスタート画素一次元座標１２０のうち最前位置の一次元座標を記憶している領域変換情報レジスタ１１１のスタート画素一次元座標１２０と、自ディスクリプタアドレス１１５とをブックマーク情報としてブックマーク記憶部１０３に、間欠的に記憶させる一方、当該最前位置の一次元座標を記憶している領域変換情報レジスタ１１１に、当該後続する記憶領域についての領域変換情報を記憶させる。
【００３８】
アドレス算出部１０４は、ＣＰＵ２及びＤＭＡコントローラ１１ａ，１１ｂのいずれかから出力された、画像処理の対象となる目的画素の一次元座標を受け付けて、その目的画素の一次元座標と、変換テーブル記憶部１０２の各領域変換情報レジスタ１１１に記憶されている各領域におけるスタート画素一次元座標１２０とに基づいて当該目的画素が属するメモリ５の記憶領域についての領域変換情報を検索し、当該検索された領域変換情報におけるオフセット１２１と、当該目的画素の一次元座標との加算値を、メモリ５における当該目的画素にアクセスするためのアドレスとして、ＣＰＵ２及びＤＭＡコントローラ１１ａ，１１ｂのいずれかへ出力する。
【００３９】
また、アドレス算出部１０４は、ＣＰＵ２及びＤＭＡコントローラ１１ａ，１１ｂのいずれかから受け付けた目的画素の一次元座標が、変換テーブル記憶部１０２の各領域変換情報レジスタ１１１に記憶されているスタート画素一次元座標１２０のうち最後尾の一次元座標よりも後の座標位置を示す場合、ディスクリプタ読出部１４に、メモリ５から当該最後尾の一次元座標を有する領域変換情報に対応する記憶領域に続く記憶領域についてのディスクリプタ情報を読み出させ、当該読み出されたディスクリプタ情報に基づいて、変換テーブル生成部１０１に新たな領域変換情報を生成させ、変換テーブル記憶部に記憶させる。
【００４０】
そして、アドレス算出部１０４は、ＣＰＵ２及びＤＭＡコントローラ１１ａ，１１ｂのいずれかから受け付けた目的画素の一次元座標が、変換テーブル記憶部１０２の各領域変換情報レジスタ１１１に記憶されているスタート画素一次元座標１２０のうち最前位置の一次元座標よりも前の座標位置を示す場合、ブックマーク記憶部１０３の各ブックマークレジスタ１２４に記憶されているブックマーク情報のうち、目的画素の一次元座標よりも前の座標位置を示す一次元座標であって、かつ当該目的画素の一次元座標と最も差異が小さい一次元座標を有するブックマーク情報に含まれる自ディスクリプタアドレス１１５から、変換テーブル生成部１０１によって、メモリ５から順次読み出させた各記憶領域のディスクリプタ情報に基づいて新たに各記憶領域の領域変換情報を生成させ、変換テーブル記憶部１０２に記憶させる。
【００４１】
さらに、アドレス算出部１０４は、ＣＰＵ２及びＤＭＡコントローラ１１ａ，１１ｂのいずれかから受け付けた目的画素の一次元座標と、変換テーブル記憶部１０２に新たに記憶された各記憶領域におけるスタート画素一次元座標１２０とに基づいて、メモリ５における当該目的画素にアクセスするためのアドレスとして、ＣＰＵ２及びＤＭＡコントローラ１１ａ，１１ｂのいずれかへ出力する。
【００４２】
次に、上述のように構成された画像処理装置１の動作について説明する。まず、図１に示す画像処理装置１において、ＣＰＵ２によってオペレーティングシステムが実行されることにより、メモリ５の記憶領域には、図２に示すメモリマップ５０のように、予め、記憶領域５２，５３，５５、及び領域５４が割り当てられている。
【００４３】
そして、スキャナ４による画像の読み取りが実行される場合、ＣＰＵ２によってオペレーティングシステムが実行されることにより、予め、画像から取得される画像データ５１のデータ量に相当する記憶領域が、記憶領域５７，５８，５９，６０等として割り当てられる。
【００４４】
次に、画像データ５１に対する記憶領域の割り当てに基づいて、ディスクリプタ情報を生成する動作について説明する。まず、ＣＰＵ２によって画像処理用プログラムが実行されることにより、図３に示すように、ディスクリプタ情報５６の先頭アドレスであるアドレスＡｄｄ５に、領域先頭アドレスとして記憶領域５７の先頭アドレスであるアドレスＡｄｄ１が、サイズとして記憶領域５７に格納される画素数Ｓｉｚｅ１が、次ディスクリプタアドレスとして次の記憶領域５８に対応するディスクリプタ情報が記憶されているアドレスＡｄｄ６が、対応して記憶される。同様に、画像データ５１に割り当てられた各記憶領域についてのディスクリプタ情報が、メモリ５のアドレスＡｄｄ６，Ａｄｄ７，Ａｄｄ８等に記憶される。そして、例えばアドレスＡｄｄ８に記憶される最後尾の記憶領域６０についてのディスクリプタ情報は、次の記憶領域が存在しないことを示すべく、次ディスクリプタアドレスが「０」にされる。
【００４５】
次に、図１を参照して、ＣＰＵ２によって、ＤＭＡ制御レジスタ８１にディスクリプタ情報５６の先頭アドレスであるアドレスＡｄｄ５が設定され、動作制御フラグ８４におけるアドレス変換部１２ａに変換テーブルの生成を開始させる旨のフラグがオンされる。そうすると、アドレス変換部１２ａによって、変換テーブルの生成が実行される。
【００４６】
以下、アドレス変換部１２ａによる変換テーブルの生成動作を説明する。図３、図４を参照して、ＤＭＡ制御レジスタ８１に設定されているアドレスＡｄｄ５に記憶されているディスクリプタ情報、すなわち領域先頭アドレス「Ａｄｄ１」、サイズ「Ｓｉｚｅ１」、及び次ディスクリプタアドレス「Ａｄｄ６」が、ディスクリプタ読出部１４によってメモリ５から変換テーブル処理部１３へ転送される。
【００４７】
そして、図５を参照して、変換テーブル処理部１３における変換テーブル生成部１０１によって、ディスクリプタ前処理レジスタ１０５に、領域先頭アドレス１１２としてアドレス「Ａｄｄ１」が記憶され、サイズ１１３としてサイズ「Ｓｉｚｅ１」が記憶され、次ディスクリプタアドレス１１４としてアドレス「Ａｄｄ６」が記憶され、自ディスクリプタアドレス１１５としてアドレス「Ａｄｄ５」が記憶され、次ディスクリプタアドレス１１４が「０」ではないのでリンク有無フラグ１１６は「１」にされる。
【００４８】
次に、変換テーブル生成部１０１によって、次スタート画素一次元座標レジスタ１０７に記憶されている値が、スタート画素一次元座標１２０として領域変換情報レジスタ１１１に記憶される。次スタート画素一次元座標レジスタ１０７には、初期状態では「０」が記憶されているので、まず初めにスタート画素一次元座標１２０として「０」が記憶される。これにより、画像データ５１の先頭部分が記憶される記憶領域５７の先頭アドレスに格納されるスタート画素、すなわち画像データ５１の先頭画素の一次元座標が「０」として領域変換情報レジスタ１１１に記憶される。
【００４９】
次に、減算器１０８によって、領域先頭アドレス１１２、すなわちアドレス「Ａｄｄ１」から、スタート画素一次元座標１２０の値、すなわち「０」が減算された値「Ａｄｄ１」−「０」がオフセット１２１として領域変換情報レジスタ１１１に記憶される。さらに、ディスクリプタ前処理レジスタ１０５の自ディスクリプタアドレス１１５が領域変換情報レジスタ１１１によって記憶され、当該領域変換情報レジスタ１１１に記憶された値が有効であることを示すべく、有効フラグ１２２が「１」にされる。これにより、記憶領域５７に対応する領域変換情報が、領域変換情報レジスタ１１１に記憶される。
【００５０】
次に、加算器１０６によって、スタート画素一次元座標１２０の値、すなわち「０」と、サイズ１１３の値、すなわち「Ｓｉｚｅ１」とが加算され、次の記憶領域のスタート画素一次元座標１２０である「０＋Ｓｉｚｅ１」が次スタート画素一次元座標レジスタ１０７に記憶される。この場合、一次元座標「０＋Ｓｉｚｅ１」は、次の記憶領域である記憶領域５８における先頭アドレスに格納されるスタート画素である画素６３の一次元座標である。同様に、一次元座標「０＋Ｓｉｚｅ１＋Ｓｉｚｅ２」は、さらにその次の記憶領域における先頭アドレスに格納されるスタート画素の一次元座標となる。
【００５１】
そして、変換テーブル生成部１０１によって、次ディスクリプタアドレス１１４、すなわちアドレス「Ａｄｄ６」が次アドレスレジスタ１０９に記憶され、リンク有無フラグ１１６の状態、すなわち「１」がリンクレジスタ１１０に記憶される。
【００５２】
そして、リンクレジスタ１１０の値が「１」である場合、さらに次の記憶領域に対応する領域変換情報を生成するべく、ディスクリプタ読出部１４によって次アドレスレジスタ１０９に記憶されているアドレス「Ａｄｄ６」が参照され、アドレスＡｄｄ６に記憶されているディスクリプタ情報、すなわち領域先頭アドレス「Ａｄｄ２」、サイズ「Ｓｉｚｅ２」、及び次ディスクリプタアドレス「＊」が、ディスクリプタ読出部１４によってメモリ５から変換テーブル処理部１３へ転送される。
【００５３】
以降、上述の動作と同様にして、次の記憶領域５８に対応する領域変換情報が生成され、まだ領域変換情報が記憶されていない領域変換情報レジスタ１１１、すなわち有効フラグ１２２が「１」にされていない領域変換情報レジスタ１１１に記憶される。このようにして、リンクレジスタ１１０の値が「０」となるか、変換テーブル記憶部１０２が備えるすべての領域変換情報レジスタ１１１において有効フラグ１２２が「１」となるか、いずれかの条件が成立するまで、上述の領域変換情報の生成動作が繰り返されることにより、変換テーブル記憶部１０２に変換テーブルが記憶される。
【００５４】
次に、スキャナ４により生成された画像データ５１をメモリ５に記憶させる動作を説明する。図６は、スキャナ４により生成された画像データ５１をメモリ５に記憶させる動作を説明するためのブロック図である。まず、スキャナ４による画像の読み取りが実行され、図２に示す画像データ５１が生成される。そして、ＣＰＵ２によって、一次元座標で表した画像データ５１の範囲、すなわち画像データ５１における先頭画素６１の一次元座標「０」と、最終画素６２の一次元座標「ＥＮＤ」とが処理範囲設定レジスタ８２に設定され、ＤＭＡコントローラ１１ａにスキャナ４からメモリ５へ画像データ５１を転送する旨の動作指示が設定される。
【００５５】
そうすると、ＤＭＡコントローラ１１ａによって、処理範囲設定レジスタ８２に設定された先頭画素６１の一次元座標「０」から最終画素６２の一次元座標「ＥＮＤ」までの一次元座標が、１づつ加算され、目的画素の一次元座標として順次アドレス変換部１２ａへ出力される。
【００５６】
次に、アドレス変換部１２ａによって、ＤＭＡコントローラ１１ａから出力された一次元座標がメモリアドレスに変換され、ＤＭＡコントローラ１１ａを介してメモリ５へ出力される。具体的には、図５を参照して、ＤＭＡコントローラ１１ａから出力された目的画素の一次元座標は、アドレス算出部１０４によって受け付けられる。
【００５７】
そして、例えば、各領域変換情報レジスタ１１１のうちのいずれかを第１の領域変換情報レジスタとし、第１の領域変換情報レジスタにおけるスタート画素一次元座標１２０の次に値が大きいスタート画素一次元座標１２０を有するレジスタを第２の領域変換情報レジスタとした場合に、アドレス算出部１０４によって、各領域変換情報レジスタ１１１が順次第１の領域変換情報レジスタとされると共に、第１及び第２の領域変換情報レジスタにおけるスタート画素一次元座標１２０と、目的画素の一次元座標とが順次比較され、目的画素の一次元座標が第１の領域変換情報レジスタにおけるスタート画素一次元座標１２０以上、かつ第２の領域変換情報レジスタにおけるスタート画素一次元座標１２０未満の値であった場合に、第１の領域変換情報レジスタとされた領域変換情報レジスタ１１１に記憶されている領域変換情報が、目的画素に対応する記憶領域の領域変換情報として取得される。
【００５８】
次に、アドレス算出部１０４によって、当該取得された領域変換情報におけるオフセット１２１と、当該目的画素の一次元座標とが加算され、メモリアドレスとしてＤＭＡコントローラ１１ａを介してメモリ５へ出力される。この場合、メモリ５における目的画素を含む記憶領域の先頭アドレスである領域先頭アドレス１１２から、当該記憶領域のスタート画素の一次元座標であるスタート画素一次元座標１２０を減算した値が、オフセット１２１とされているので、オフセット１２１と目的画素の一次元座標とを加算することにより目的画素が記憶されているメモリ５のアドレスを取得することができ、領域変換情報から目的画素のメモリアドレスを取得することが容易である。
【００５９】
また、その一方、ＤＭＡコントローラ１１ａによって、スキャナ４からメモリ５へ、目的画素の画像データが転送される。以上の動作が先頭画素６１の一次元座標「０」から最終画素６２の一次元座標「ＥＮＤ」まで繰り返されることにより、画像データ５１が、不連続な記憶領域５７，５８，５９，６０に記憶される。
【００６０】
これにより、画像データ５１における先頭画素６１からスキャンライン方向に画素数を数えた番号である一次元座標、すなわち画像データ５１の各画素に連続的に付与されたパラメータである一次元座標を用いて処理対象となる画像データ５１の範囲を処理範囲設定レジスタ８２に設定することにより、画像データ５１を、オペレーティングシステムによってメモリ５に割り当てられた不連続な記憶領域へ、ＤＭＡコントローラ１１ａを用いてＤＭＡ転送することができる。この場合、ＣＰＵ２が、ソフトウェア処理によりデータ転送する必要がないので、スキャナ４からメモリ５への画像データ５１の転送が高速化される。
【００６１】
次に、上述のようにしてメモリ５の不連続な記憶領域５７，５８，５９，６０に記憶された画像データ５１に対して画像処理、例えば回転処理を施す場合の画像処理装置１の動作を説明する。図２を参照して、ＣＰＵ２によってオペレーティングシステムが実行されることにより、メモリ５の記憶領域には、予め、画像データ５１を回転させた画像データ６４のデータ量に相当する記憶領域が、不連続な記憶領域６５，６６，６７として割り当てられる。そして、ＣＰＵ２によって画像処理用プログラムが実行されることにより、上述の画像データ５１に対する記憶領域の割り当てに基づいてディスクリプタ情報を生成する動作と同様にして、画像データ６４に対するディスクリプタ情報６８が生成され、アドレスＡｄｄ１０に記憶される。
【００６２】
次に、図１を参照して、ＣＰＵ２によって、ＤＭＡ制御レジスタ９１にディスクリプタ情報６８の先頭アドレスであるアドレスＡｄｄ１０が設定され、動作制御フラグ９４におけるアドレス変換部１２ｂに変換テーブルの生成を開始させる旨のフラグがオンされる。そうすると、上述のアドレス変換部１２ａによる変換テーブルの生成動作と同様にして、記憶領域６５，６６，６７に対応する領域変換情報がアドレス変換部１２ｂにおける変換テーブル記憶部１０２の各領域変換情報レジスタ１１１に記憶され、変換テーブルが生成される。
【００６３】
図７は、画像データ５１に回転処理を施した画像データ６４をメモリ５に記憶させる動作を説明するためのブロック図である。
【００６４】
まず、ＣＰＵ２によって、一次元座標で表した画像データ５１の範囲、すなわち画像データ５１における先頭画素６１の一次元座標「０」と、最終画素６２の一次元座標「ＥＮＤ」とが処理範囲設定レジスタ８２に設定され、ＤＭＡコントローラ１１ａにメモリ５から回転マトリクス７へ画像データ５１を転送する旨の動作指示が設定される。同様に、ＣＰＵ２によって、一次元座標で表した画像データ６４の範囲、すなわち画像データ６４における先頭画素の一次元座標「０」と、最終画素の一次元座標「ＥＮＤ」とが処理範囲設定レジスタ９２に設定され、ＤＭＡコントローラ１１ｂに回転マトリクス７からメモリ５へ画像データ６４を転送する旨の動作指示が設定される。
【００６５】
そうすると、ＤＭＡコントローラ１１ａによって、メモリ５から回転マトリクス７へ画像データ５１を転送するべく、処理範囲設定レジスタ８２に設定された先頭画素６１の一次元座標「０」から最終画素６２の一次元座標「ＥＮＤ」までの一次元座標が、１づつ加算され、目的画素の一次元座標として順次、アドレス変換部１２ａ及び回転マトリクス７へ出力される。
【００６６】
次に、アドレス変換部１２ａによって、ＤＭＡコントローラ１１ａから出力された一次元座標がメモリアドレスに変換され、ＤＭＡコントローラ１１ａを介してメモリ５へ出力される。そして、メモリ５から、アドレス変換部１２ａから出力されたメモリアドレスに記憶されている画素データが回転マトリクス７へ出力される結果、回転マトリクス７によって、ＤＭＡコントローラ１１ａから出力された一次元座標と、その一次元座標に対応する画素データが、回転マトリクス７によって取得される。そして、回転マトリクス７によって、画像データ５１における各画素データとその一次元座標とに基づいて、画像データ５１に回転処理が施された画像データ６４が生成される。
【００６７】
この場合、ＤＭＡコントローラ１１ａによって回転マトリクス７に出力される一次元座標と、メモリ５から回転マトリクス７に出力される画素データの画像データ５１における位置との間には、線形性が保たれているので、例えば、各画素の一次元座標により指定された座標変換用レジスタに各画素を記憶させ、その座標変換用レジスタに記憶された画像データの各画素が、回転条件設定レジスタ７１に設定された回転方向や回転角度に従って並び替えられて画像データ６４として出力されることにより、画像データ５１に対して回転処理を施すことができる。
【００６８】
次に、ＤＭＡコントローラ１１ｂによって、回転マトリクス７からメモリ５へ画像データ６４を転送するべく、処理範囲設定レジスタ９２に設定された画像データ６４における先頭画素の一次元座標「０」から最終画素６２の一次元座標「ＥＮＤ」までの一次元座標が、１づつ加算され、目的画素の一次元座標として順次アドレス変換部１２ｂ及び回転マトリクス７へ出力される。
【００６９】
次に、アドレス変換部１２ｂによって、ＤＭＡコントローラ１１ｂから出力された一次元座標がメモリアドレスに変換され、ＤＭＡコントローラ１１ｂを介してメモリ５へ出力される一方、回転マトリクス７によって、ＤＭＡコントローラ１１ｂから出力された一次元座標に対応する画素データ６４が、メモリ５へ出力される結果、メモリ５によって、ＤＭＡコントローラ１１ｂから出力された一次元座標に対応するメモリアドレスに、その一次元座標に対応する画像データ６４の各画素が記憶される。
【００７０】
これにより、画像データ５１，６４における各画素に連続的に付与されたパラメータである一次元座標を用いて処理対象となる画像データ５１，６４の範囲を処理範囲設定レジスタ８２，９２に設定することにより、オペレーティングシステムによってメモリ５に割り当てられた不連続な記憶領域５７，５８，５９，６０等に記憶された画像データ５１を、ＤＭＡコントローラ１１ａを用いて回転マトリクス７へＤＭＡ転送し、さらに回転マトリクス７によって例えば画像の回転処理を施した画像データ６４を、オペレーティングシステムによってメモリ５に割り当てられた不連続な記憶領域６５，６６，６７へ、ＤＭＡコントローラ１１ｂを用いてＤＭＡ転送することができる。この場合、ＣＰＵ２が、ソフトウェア処理によりメモリ５と回転マトリクス７との間でデータ転送する必要がないので、回転マトリクス７による画像処理を高速化することができる。
【００７１】
なお、画像処理を回転マトリクス７によって実行する例を示したが、例えばＣＰＵ２が、アドレス変換部１２ａに処理対象の画像データ５１における各画素の一次元座標をメモリアドレスに変換させることによって、各画素のデータにアクセスする構成としてもよい。この場合、画像データ５１がメモリ５の不連続なアドレスに分割されて記憶されている場合であっても、ＣＰＵ２は、画像データ５１の各画素に連続的に付与された一次元座標を用いてメモリ５にアクセスすることができるので、画像データ５１の各画素の一次元座標をパラメータとして例えば行列演算等の数値演算を施すことにより、演算処理後における各画素の新たな一次元座標を取得し、この新たな一次元座標に基づき各画素のデータをメモリ５に書き込むことにより、各画素の位置関係を変化させるような例えば回転処理等の画像処理を容易に行うことができる。
【００７２】
次に、目的画素に対応する記憶領域の領域変換情報が、変換テーブル記憶部１０２に記憶されていない場合におけるアドレス算出部１０４の動作を説明する。変換テーブル記憶部１０２が備える領域変換情報レジスタ１１１の数は、例えばＡＳＩＣ６のゲート数等によって制約され、有限である。従って、オペレーティングシステムによって画像データ５１に割り当てられた記憶領域の数が、領域変換情報レジスタ１１１の数を超えると、変換テーブル記憶部１０２は、画像データ５１の全記憶領域についての領域変換情報を予め記憶しておくことができない。
【００７３】
そこで、目的画素の一次元座標に対応する領域変換情報が変換テーブル記憶部１０２に記憶されていない場合、画像処理装置１は、例えば以下のように動作する。まず、画像データ５１に対する画像処理が、図２に示すように画像データ５１の例えば４つのブロック毎に実行される場合、例えば、画像データ５１がブロックＢＬＫ１、ブロックＢＬＫ２、ブロックＢＬＫ３、ブロックＢＬＫ４の４ブロックに分割されて、各ブロック毎に画像処理が行われる場合、各ブロック間の境界となる位置の画素、例えば画素６９の一次元座標が、ＣＰＵ２によって、予め境界値設定レジスタ８３に設定される。
【００７４】
まず、目的画素の一次元座標が、変換テーブル記憶部１０２に記憶されている領域変換情報に対応する画素位置よりも後方位置のものであった場合におけるアドレス算出部１０４の動作を説明する。
【００７５】
アドレス算出部１０４によって、各領域変換情報レジスタ１１１におけるスタート画素一次元座標１２０と、受け付けられた目的画素の一次元座標とが比較され、目的画素の一次元座標が、各スタート画素一次元座標１２０のうち最後尾の一次元座標よりも後の座標位置を示す場合、すなわち各スタート画素一次元座標１２０のうち最も値の大きいスタート画素一次元座標１２０よりも値が大きい場合、目的画素に対応する領域変換情報は変換テーブル記憶部１０２に記憶されていないので、ディスクリプタ読出部１４によって、メモリ５から当該最も値の大きいスタート画素一次元座標１２０を有する領域変換情報に対応する記憶領域に続く記憶領域についてのディスクリプタ情報が読み出され、当該読み出されたディスクリプタ情報に基づいて、変換テーブル生成部１０１により新たな領域変換情報が生成される。
【００７６】
一方、各スタート画素一次元座標１２０のうち最も値の小さいスタート画素一次元座標１２０を有する領域変換情報レジスタ１１１に記憶されている領域変換情報をブックマーク候補情報とした場合に、アドレス算出部１０４によって、ブックマーク候補情報が境界値設定レジスタ８３に設定されている画素６９に対応する領域変換情報であるか否かが判断され、画素６９に対応する領域変換情報であった場合にブックマーク記憶部１０３によって、ブックマーク候補情報におけるスタート画素一次元座標１２０と自ディスクリプタアドレス１１５とがブックマーク情報として、ブックマークレジスタ１２４に記憶される。そして、変換テーブル生成部１０１により生成された新たな領域変換情報が、そのブックマーク候補情報を記憶していた領域変換情報レジスタ１１１に記憶される。これにより、変換テーブル記憶部１０２に記憶されている領域変換情報のスタート画素一次元座標１２０のうち最前位置の一次元座標を有する領域変換情報に基づくブックマーク情報が、間欠的に、ブックマークレジスタ１２４に記憶される。
【００７７】
なお、ブックマーク候補情報が境界値設定レジスタ８３に設定されている画素６９に対応する領域変換情報であった場合に、ブックマーク候補情報に基づくブックマーク情報がブックマークレジスタ１２４に記憶されることにより、ブックマーク候補情報が間欠的にブックマーク記憶部１０３に記憶される例を示したが、例えば、３回に１回等、一定の頻度に応じてブックマーク候補情報がブックマーク記憶部１０３に記憶される構成としてもよい。これにより、ブックマーク記憶部１０３に記憶されるブックマーク情報に対応する記憶領域が、メモリ５において配置されているアドレス範囲を、広げることができる。
【００７８】
さらに、アドレス算出部１０４により、目的画素の一次元座標と、変換テーブル記憶部１０２に新たに記憶された領域変換情報とに基づき算出されたアドレスが、メモリ５における目的画素のアドレスとして出力される。
【００７９】
次に、目的画素の一次元座標が、変換テーブル記憶部１０２に記憶されている領域変換情報に対応する画素位置よりも前方位置のものであった場合におけるアドレス算出部１０４の動作を説明する。
【００８０】
アドレス算出部１０４によって、各領域変換情報レジスタ１１１におけるスタート画素一次元座標１２０と、受け付けられた目的画素の一次元座標とが比較され、目的画素の一次元座標が、各スタート画素一次元座標１２０のうち最前位置の一次元座標よりも前の座標位置を示す場合、すなわち各スタート画素一次元座標１２０のうち最も値の小さいスタート画素一次元座標１２０よりも値が小さい場合、目的画素に対応する領域変換情報は変換テーブル記憶部１０２に記憶されていないので、アドレスが小さい方向のディスクリプタ情報を改めて読み出すと共に領域変換情報を生成する必要がある。
【００８１】
この場合、ＤＭＡ制御レジスタ８１に設定されているディスクリプタ情報５６の先頭アドレス「Ａｄｄ５」に基づいて、上述のアドレス変換部１２ａによる変換テーブルの生成動作を再び繰り返すことにより領域変換情報を最初から生成し直してもよいが、処理量が増大する。そこで、以下のようにしてもよい。
【００８２】
すなわち、目的画素の一次元座標が、各スタート画素一次元座標１２０のうち最も値の小さいスタート画素一次元座標１２０よりも値が小さい場合、アドレス算出部１０４によって、ブックマーク記憶部１０３における各ブックマークレジスタ１２４のスタート画素一次元座標１２０と、目的画素の一次元座標とが比較され、目的画素の一次元座標よりも値が小さく、かつ直近のスタート画素一次元座標１２０を有するブックマークレジスタ１２４における自ディスクリプタアドレス１１５が、次アドレスレジスタ１０９に設定される。
【００８３】
次に、変換テーブル生成部１０１により、変換テーブル記憶部１０２の各領域変換情報レジスタにおける有効フラグ１２２がすべて「０」にされ、変換テーブル記憶部１０２に記憶されている領域変換情報が全クリアされる。これにより、すでに記憶されている領域変換情報と新たに記憶される領域変換情報とが混在し、領域変換情報の連続性が損なわれることが防止される。
【００８４】
そして、次アドレスレジスタ１０９に設定されたディスクリプタアドレスから、上述のアドレス変換部１２ａによる変換テーブルの生成動作が再び繰り返されることにより前方位置の領域変換情報が生成され、変換テーブル記憶部１０２に記憶される。さらに、アドレス算出部１０４により、目的画素の一次元座標と、変換テーブル記憶部１０２に新たに記憶された前方位置の領域変換情報とに基づき算出されたアドレスが、メモリ５における目的画素のアドレスとして出力される。
【００８５】
このように、目的画素の一次元座標が、変換テーブル記憶部１０２に記憶されている領域変換情報に対応する画素位置よりも前方位置のものであった場合、最初から上述のアドレス変換部１２ａによる変換テーブルの生成動作を再び繰り返すことなく、ブックマーク記憶部１０３に記憶されたディスクリプタアドレスから変換テーブルの生成動作を行うことができるので、変換テーブルの生成処理を減少させることができる。
【００８６】
また、画像処理がブロック単位で実行される場合、各ブロック間の境界となる位置の画素に対応する記憶領域のディスクリプタアドレスが、ブックマーク記憶部１０３に記憶されているので、ブックマーク記憶部１０３に記憶されたディスクリプタアドレスから変換テーブルの生成動作を行うことにより、画像処理のブロックに対応した領域変換情報を生成することができ、画像処理の処理単位に適した記憶領域の領域変換情報を生成することが容易である。
【図面の簡単な説明】
【００８７】
【図１】本発明の一実施形態に係る画像処理装置の構成の一例を示す図である。
【図２】メモリ上に割り当てられたメモリマップの一例を説明するための図である。
【図３】ディスクリプタ情報の一例を示す図である。
【図４】アドレス変換部の構成の一例を説明するためのブロック図である。
【図５】変換テーブル処理部の構成の一例を示すブロック図である。
【図６】スキャナにより生成された画像データをメモリに記憶させる動作を説明するためのブロック図である。
【図７】画像データに回転処理を施した画像データをメモリに記憶させる動作を説明するためのブロック図である。
【図８】背景技術による画像データにメモリ領域を割り当てた場合のメモリマップの例を示す図である。
【符号の説明】
【００８８】
１    画像処理装置
２    ＣＰＵ
３    ＲＯＭ
４    スキャナ
５    メモリ（ディスクリプタ記憶部）
６    ＡＳＩＣ
７    回転マトリクス
８，９  アドレス変換モジュール
１０ａ，１０ｂ  動作指示受付部
１１ａ，１１ｂ  ＤＭＡコントローラ
１２ａ，１２ｂ  アドレス変換部
１３  変換テーブル処理部
１４  ディスクリプタ読出部
１５  ステートマシン
５０  メモリマップ
５１  画像データ
５２，５３，５５，５７，５８，５９，６０  記憶領域（領域）
５６，６８  ディスクリプタ情報
６１  先頭画素
６２  最終画素
６４  画像データ
７１  回転条件設定レジスタ
８１，９１  制御レジスタ
８２，９２  処理範囲設定レジスタ
８３，９３  境界値設定レジスタ（設定受付部）
８４，９４  動作制御フラグ
１０１      変換テーブル生成部
１０２      変換テーブル記憶部
１０３      ブックマーク記憶部
１０４      アドレス算出部（アドレス取得部）
１０５      ディスクリプタ前処理レジスタ
１０６      加算器
１０７      次スタート画素一次元座標レジスタ
１０８      減算器
１０９      次アドレスレジスタ
１１０      リンクレジスタ
１１１      領域変換情報レジスタ
１１２      領域先頭アドレス
１１３      サイズ
１１４      次ディスクリプタアドレス
１１５      自ディスクリプタアドレス
１１６      リンク有無フラグ
１２０      スタート画素一次元座標
１２１      オフセット
１２２      有効フラグ
１２４      ブックマークレジスタ
【図１】
2005250996.tif 000003
【図２】
2005250996.tif 000004
【図３】
2005250996.tif 000005
【図４】
2005250996.tif 000006
【図５】
2005250996.tif 000007
【図６】
2005250996.tif 000008
【図７】
2005250996.tif 000009
【図８】
2005250996.tif 000010